Pages:
Author

Topic: NanoFury Project - Open Source Design - page 10. (Read 75392 times)

sr. member
Activity: 368
Merit: 250
April 04, 2014, 03:48:27 PM
Not yet but i offered o send the FRANKENSTEIN to ckolivas for research.
Post no. 262.
hero member
Activity: 658
Merit: 500
CCNA: There i fixed the internet.
April 04, 2014, 03:46:14 PM
If zadig is installed is it still seen as a HID device?
For cgminer? Negatory.

After zadiging it, run cgminer. Should auto detect.  Also I'm not sure if cgminer has support for multiple chip NFY devices...yet
sr. member
Activity: 368
Merit: 250
April 04, 2014, 03:41:50 PM
If zadig is installed is it still seen as a HID device?
hero member
Activity: 658
Merit: 500
CCNA: There i fixed the internet.
April 04, 2014, 03:38:08 PM
There is one extreme option, cut the traces on the h-card dividing the chips in banks of 4, use 4 mcp2210 and a 4 port usb hub for each card.
As i said.. extreme
And as i said earlier maybe zadig and cgminer would make a difference...

You know on second thought... That's not as bad an idea as you think. If you are comfortable redesigning the hcard a little you could turn it into a 4-up of NFY NF4 with an inbuilt 4port USB hub and a pcie 6 pin connector for power. Replace the edge connector with a micro USB port and tada...
hero member
Activity: 658
Merit: 500
CCNA: There i fixed the internet.
April 04, 2014, 03:33:27 PM
There is one extreme option, cut the traces on the h-card dividing the chips in banks of 4, use 4 mcp2210 and a 4 port usb hub for each card.
As i said.. extreme
And as i said earlier maybe zadig and cgminer would make a difference...

Or into 2 groups of 8. 6 should be entirely stable. 8 is cranking it to eleven so to speak but more than 8 is most likely going to remain unstable with the current iteration of the mcp2210
sr. member
Activity: 368
Merit: 250
April 04, 2014, 03:25:28 PM
There is one extreme option, cut the traces on the h-card dividing the chips in banks of 4, use 4 mcp2210 and a 4 port usb hub for each card.
As i said.. extreme
And as i said earlier maybe zadig and cgminer would make a difference...
hero member
Activity: 658
Merit: 500
CCNA: There i fixed the internet.
April 04, 2014, 03:20:09 PM
Linux with 500000(tried 300k and 400k) baud its doing worse than windows at the same clock bits linux-44 to get stable, windows 47- to get stable

I still belive mcp 2210 can hack it, the problem is i dont even know how spi works let alone trying to figure it out.
Mcp is rated o 60mbits/s, there are devices out there that transfer 30ghs over usb so i dont think its a bottleneck...or maybe im wrong...im not the expert.

I just like circuits Smiley)

also to rehash what vs3 has said in the past there is a limit to how many check chip txrx can happen per second. this is based on what seems like an unforseen downside to using the mcp2210. since it is recognized by the OS as an HID (Human Interface Device), it is limited to approx. 64kbytes/s bandwidth. this is an OS level limitation built into the OS HID driver since most HID devices are low data rate e.g. keyboard, mouse, etc.

Each check chip txrx is I believe 500-800 bytes. So let's round up to 1kB. This would allow only 64 checks per second which need to be spread evenly over each chip.

This is compounded by the fact that the mcp2210 imposes an artificial 40-70 microsecond delay between each SPI Tx

http://www.silabs.com/products/interface/usbtouart/pages/usb-to-spi-bridge.aspx

Would this make a difference?

what i want o acheve has actually been done with bitburner fury... but that out of my league of DIY


That chip would absolutely serve your purposes. But a lowl driver and interface code for bfgminer would need writing etc, it would function faster than the Mcp2210 since it uses bulk usb versus OS HID. Only downside is dev time.


The bitburner fury uses a microcontroller if I'm not mistaken.  Which is not only hw dev time but the pita that is embedded development
sr. member
Activity: 368
Merit: 250
April 04, 2014, 03:13:21 PM
Linux with 500000(tried 300k and 400k) baud its doing worse than windows at the same clock bits linux-44 to get stable, windows 47- to get stable

I still belive mcp 2210 can hack it, the problem is i dont even know how spi works let alone trying to figure it out.
Mcp is rated o 60mbits/s, there are devices out there that transfer 30ghs over usb so i dont think its a bottleneck...or maybe im wrong...im not the expert.

I just like circuits Smiley)

also to rehash what vs3 has said in the past there is a limit to how many check chip txrx can happen per second. this is based on what seems like an unforseen downside to using the mcp2210. since it is recognized by the OS as an HID (Human Interface Device), it is limited to approx. 64kbytes/s bandwidth. this is an OS level limitation built into the OS HID driver since most HID devices are low data rate e.g. keyboard, mouse, etc.

Each check chip txrx is I believe 500-800 bytes. So let's round up to 1kB. This would allow only 64 checks per second which need to be spread evenly over each chip.

This is compounded by the fact that the mcp2210 imposes an artificial 40-70 microsecond delay between each SPI Tx

http://www.silabs.com/products/interface/usbtouart/pages/usb-to-spi-bridge.aspx

Would this make a difference?

what i want to achieve has actually been done with bitburner fury... but thats out of my league of DIY

Maybe zadig and cgminer would make a difference...
hero member
Activity: 658
Merit: 500
CCNA: There i fixed the internet.
April 04, 2014, 03:11:22 PM
Linux with 500000(tried 300k and 400k) baud its doing worse than windows at the same clock bits linux-44 to get stable, windows 47- to get stable

I still belive mcp 2210 can hack it, the problem is i dont even know how spi works let alone trying to figure it out.
Mcp is rated o 60mbits/s, there are devices out there that transfer 30ghs over usb so i dont think its a bottleneck...or maybe im wrong...im not the expert.

I just like circuits Smiley)

also to rehash what vs3 has said in the past there is a limit to how many check chip txrx can happen per second. this is based on what seems like an unforseen downside to using the mcp2210. since it is recognized by the OS as an HID (Human Interface Device), it is limited to approx. 64kbytes/s bandwidth. this is an OS level limitation built into the OS HID driver since most HID devices are low data rate e.g. keyboard, mouse, etc.

Each check chip txrx is I believe 500-800 bytes. So let's round up to 1kB. This would allow only 64 checks per second which need to be spread evenly over each chip.

This is compounded by the fact that the mcp2210 imposes an artificial 40-70 microsecond delay between each SPI Tx
sr. member
Activity: 368
Merit: 250
April 04, 2014, 03:08:23 PM
you can skip the --set command and play with the bits after.
I belive the mcp2210 is good and 16 chiop resonable if it would be able to run them.
Given that bf chips are so picky, different from each other, iffy... and sometimes Lazarus style resurected Smiley)
Its easier to mantain a 16 chip board and unplug it letting the others hash.

Im thinking more on easy mantaining and no spi errors and oxidation problems and so on.

Thats why i want to make it work, maybe there is another more capable spi to usb converter chip....

maybe this one
http://www.silabs.com/products/interface/usbtouart/pages/usb-to-spi-bridge.aspx
member
Activity: 66
Merit: 10
April 04, 2014, 03:01:37 PM
i have finally menage to comunicate with my board over mcp , i have restarted pc  Grin

i want to have usb option on my 14 chip modules, at the moment i have only 4 chips running on module and that module is connected to spi click board, its working but i dont have accepted shares at all and i get error with bfgminer abot not recognized --set command ...

i dont know is it smarter working with mcp2210 or build new hardware based on pic32 maybe, is there anybody with some free time to write code for this ?  Grin

maybe to build controller capable to drive 16 boards with 16 chips or so ... but on one USB  Smiley

anybody ? some more ideas about this ?  Roll Eyes



sr. member
Activity: 368
Merit: 250
April 04, 2014, 02:37:31 PM
Linux with 500000(tried 300k and 400k) baud its doing worse than windows at the same clock bits linux-44 to get stable, windows 47- to get stable

I still belive mcp 2210 can hack it, the problem is i dont even know how spi works let alone trying to figure it out.
Mcp is rated o 60mbits/s, there are devices out there that transfer 30ghs over usb so i dont think its a bottleneck...or maybe im wrong...im not the expert.

I just like circuits Smiley)
sr. member
Activity: 368
Merit: 250
April 04, 2014, 12:52:00 PM
I use this BFGminer development version
luke.dashjr.org/tmp/code/webisect/webisect.php?dobuild=bfgminer

no special drivers like zadig, if you have zadig just click on update driver->manualy select from list->select USB input device

bfgminer -o stratum+tcp://............ -u ........... -p x --no-submit-stale -S nfy:all --set nfy:osc6_bits=45

this is for 12 chips, as chip count goes up, osc bits must come down to keep the 50% drop error down.

maybe ill try linux on a stick to be able to modify the baud rate.
member
Activity: 66
Merit: 10
April 04, 2014, 12:36:09 PM
Well then it is connected correctly  Roll Eyes

anyway i am using this http://www.mikroe.com/click/usb-spi/ ( i am trying for now  Grin ) how you run it on windows ? any special drivers/setup needed ?
sr. member
Activity: 368
Merit: 250
April 04, 2014, 11:25:38 AM
Just saw, the schematic(printed pcb) is actually missing the last part... exporting issue i think
https://www.dropbox.com/s/uvril5p01dzd8k5/H-card%20to%20USB.jpg

Correct schematic uploaded, you do need a jump wire on the INSCK line

UPDATE: Connecting SCK directly gives bitfury_init_oldbuf error


img upload

MORE PICURES OF WHAT SHOULD BE CALLED FRANKENSTEIN NANOFURY Smiley)
https://www.dropbox.com/s/mm3nv70c8gurtll/2014-04-04%2020.06.42.jpg
https://www.dropbox.com/s/l0i4n79hs8ey86q/2014-04-04%2020.06.50.jpg
https://www.dropbox.com/s/l0i4n79hs8ey86q/2014-04-04%2020.06.50.jpg
https://www.dropbox.com/s/ocs6e5t9am9m8fg/2014-04-04%2020.08.12.jpg
member
Activity: 66
Merit: 10
April 04, 2014, 11:17:56 AM
EDIT: just tack
Code:
--set NFY:baud=500000
on the end this will accomplish the same thing

I use the 3.99 windows version of bfgminer and it just exits.
Anyone with another version? latest 3.10 i tried but no luck, just sees the 1st chip.


"Hi Folks,

At first look on your schematics i think that B1 from level shifter need to go direct to SCK on MCP2210, GPIO5 from MCP2210 is used to toggle SCK and send reset to chips, so the connection is wrong ( please check that ).

Cheers,"

On the original schematic that 1k R seems to be part of the passive level shifting.
Ill try connecting it directly. Thanks.

UPDATE: Direct connection to SCK - no go, it fails to detect nanofury.

You must leave 1k resistor, GP5 goes trough 1K resistor to SCK, B1 goes direct to SCK
sr. member
Activity: 368
Merit: 250
April 04, 2014, 10:28:42 AM
EDIT: just tack
Code:
--set NFY:baud=500000
on the end this will accomplish the same thing

I use the 3.99 windows version of bfgminer and it just exits.
Anyone with another version? latest 3.10 i tried but no luck, just sees the 1st chip.


"Hi Folks,

At first look on your schematics i think that B1 from level shifter need to go direct to SCK on MCP2210, GPIO5 from MCP2210 is used to toggle SCK and send reset to chips, so the connection is wrong ( please check that ).

Cheers,"

On the original schematic that 1k R seems to be part of the passive level shifting.
Ill try connecting it directly. Thanks.

UPDATE: Direct connection to SCK - no go, it fails to detect nanofury.
member
Activity: 66
Merit: 10
April 04, 2014, 10:20:00 AM

picture host

https://www.dropbox.com/s/zdta1eu4ucgq7ai/H-card%20to%20USB.jpg

To be clear, the schematic is not mine, its an NF1 stripped down and active level shifting installed.
The original can be found here:
https://github.com/nanofury/NanoFury/tree/master/NF1/kicad/NF1-MCP-V06-2

The image on dropbox is 1:1 scale so you can print it and make the board.
2 layers, bottom one is groud, where you see a dot and the gnd sign, thats a hole that goes to the bottom layer(gnd) and has to be electrically connected to it.

From what i see i cand get past the 12ghs barrier, maybe because the frequency of the mcp 2210 is 12mhz or the usb bus....no clue, im no software engineer.

Hi Folks,

At first look on your schematics i think that B1 from level shifter need to go direct to SCK on MCP2210, GPIO5 from MCP2210 is used to toggle SCK and send reset to chips, so the connection is wrong ( please check that ).

Cheers,
hero member
Activity: 658
Merit: 500
CCNA: There i fixed the internet.
April 04, 2014, 09:48:46 AM
H-card to USB converter.

Letting it ride with 8 chips 50 osc bits(to stay in usb specs as i read on bfg readme)


If someone could solve the 50% frequency drops in bfg it would run great and also overclock.
Or if there was support fort multiple bf chips in cgminer...

sweeeeet :-)

btw the 50-bit stuff is meant for NF1 - from observations at around 50bits it uses 0.5Amps (hence "within USB2 specs").
In your case this doesn't really matter so - as the guys from Eagles sing - "take it to the limit"! (a.k.a. girls favorite song about credit cards Cheesy)

8 chips seems to be the limit, after that(currently at 12 chips) it gives alot of 50% drops and reinitialising, every time it reinitialises it brings a HW error with it, most of the times.
As i said, if it truly reinitialises the chip i think it breaks the chain and has to start all over again... i dont really know.
If i tweak the osc bits for all the chips to top out at 12ghs it works, no hw errors, no drops.

The H-card works good(all good chips) with an m-board, so the card is not the problem.

The mcp2210 should be able to take more but i dont know how to tweak the software, maybe someone could help.




in your driver-nanofury.c

around line 255 or so what is

port->speed = 200000;

if its still at 200K try upping it to 500k or so, recompile bfgminer, and report back




EDIT: just tack
Code:
--set NFY:baud=500000
on the end this will accomplish the same thing



this set the baud rate for your frankenstein nanofury, and effectively the data rate. if 8 manage to run on 200kHz i wanna know what 500kHz can support, b/c i had a few ideas (may or may not involve strings [beyond 6]. itll literally look like an empty board, with the part count.)
sr. member
Activity: 368
Merit: 250
April 04, 2014, 09:14:25 AM

img upload

https://www.dropbox.com/s/zdta1eu4ucgq7ai/H-card%20to%20USB.jpg

To be clear, the schematic is not mine, its an NF1 stripped down and active level shifting installed.
The original can be found here:
https://github.com/nanofury/NanoFury/tree/master/NF1/kicad/NF1-MCP-V06-2

The image on dropbox is 1:1 scale so you can print it and make the board.
2 layers, bottom one is groud, where you see a dot and the gnd sign, thats a hole that goes to the bottom layer(gnd) and has to be electrically connected to it.

From what i see i cand get past the 12ghs barrier, maybe because the frequency of the mcp 2210 is 12mhz or the usb bus....no clue, im no software engineer.
Pages:
Jump to: