Pages:
Author

Topic: [CLOSED] Bitmine CoinCraft A1 28nm chip distribution / DIY support (Read 81188 times)

hero member
Activity: 686
Merit: 500
I have a very crappy photo to go on from my phone, but after some enhancement with  photoshop  Grin I think the component on the left is the following:

ARM STM32F303VC LQFP100

Datasheet: http://www.keil.com/dd/docs/datashts/st/stm32f3xx/dm00058181.pdf
legendary
Activity: 1029
Merit: 1000
It's very rare that voltage controllers have some control/monitoring over I2C, SMBUS or SPI. Those voltage controllers are propably from Linear LTCxxxx. Without extra rheostat (MCP4017 for example) in voltage loopback it's impossible to control voltage thru software.
sr. member
Activity: 271
Merit: 254
Here's my annotated image.. (the power connector at least look like mine, so I suspect we have somewhat similiar hardware, but I have not opened mine up yet)



So it seems like there are 4 voltage regulators (one for every 2 chips), and we'd need to know what part number they are. Sometimes the VRM (voltage regulator module) chips have I2c or some other direct digital interface to tell you stuff like power, set voltage, etc.

But the biggest problem is I think there's a mystery microcontroller on the board, which is likely what is in charge of setting up the VRMs. So we have to know what it is first. The best case is if we get support from the manufacturer, but unless it's Innosilicon, who might give you info because they want to sell chips, I doubt you'll get much.
hero member
Activity: 686
Merit: 500
The board:

Is connected to the control unit, which is connected to the raspberry pi:
sr. member
Activity: 271
Merit: 254
That depends on your board layout and voltage regulators. If you've got an A2 terminator I'd be quite interested in trying to reverse engineer this. Otherwise we likely need at least the schematics of the board.

So no means to change the voltage by software? I thought I read in this topic that it could be controlled by i2c?

Can you take a picture of your hash board? How's it wired to the raspberry pi? Can you identify the voltage regulator/controller chip?
hero member
Activity: 686
Merit: 500
That depends on your board layout and voltage regulators. If you've got an A2 terminator I'd be quite interested in trying to reverse engineer this. Otherwise we likely need at least the schematics of the board.

So no means to change the voltage by software? I thought I read in this topic that it could be controlled by i2c?
sr. member
Activity: 271
Merit: 254
Having some trouble with getting 0x04 responce on the 0x04 reset command.
I'm doing the HW reset as described. The signals from raspi passed through level shifters.
Chip select DI CLK are ok. I see 0x04 passing into the chip but there is nothing at the output.
The VDDcore is 0.7 volts. Maybe it is too low?

That's pretty likely too low. I had similar issues when I was running the chip that low. 0.8V seems to be pretty reliable for at least basic comms for most chips. A couple wouldn't hash at that voltage but once I brought it up to about 0.84V they were fine.

Of course, now those chips run hotter than the others Smiley

I know it is an old topic but I have a question. I am working on the firmware for the A2's, which are pretty much the same as the A1's. However, it seems to be possible to adjust the VDD_Core voltage by software. How did you guys change the VDD_CORE voltage???

Greatly appriciated,
emdje

That depends on your board layout and voltage regulators. If you've got an A2 terminator I'd be quite interested in trying to reverse engineer this. Otherwise we likely need at least the schematics of the board.
hero member
Activity: 686
Merit: 500
Having some trouble with getting 0x04 responce on the 0x04 reset command.
I'm doing the HW reset as described. The signals from raspi passed through level shifters.
Chip select DI CLK are ok. I see 0x04 passing into the chip but there is nothing at the output.
The VDDcore is 0.7 volts. Maybe it is too low?

That's pretty likely too low. I had similar issues when I was running the chip that low. 0.8V seems to be pretty reliable for at least basic comms for most chips. A couple wouldn't hash at that voltage but once I brought it up to about 0.84V they were fine.

Of course, now those chips run hotter than the others Smiley

I know it is an old topic but I have a question. I am working on the firmware for the A2's, which are pretty much the same as the A1's. However, it seems to be possible to adjust the VDD_Core voltage by software. How did you guys change the VDD_CORE voltage???

Greatly appriciated,
emdje
legendary
Activity: 868
Merit: 1000
Cryptotalk.org - Get paid for every post!


We have some level shifters we made for the ref boards. We could make a bigger batch for sale. Any interest out there?

Pardon my ignorance, but what is this board for?
newbie
Activity: 30
Merit: 0
https://i.imgur.com/a5H8z8t.jpg

We have some level shifters we made for the ref boards. We could make a bigger batch for sale. Any interest out there?
vs3
hero member
Activity: 622
Merit: 500
Driver is for RaspPi with direct communication thru SPI. I'm using microcontroller that is a brigde between chain of chips and host thru RS485 comm port. So I needed to write own "driver". Obviously I was looking at that piece of code, but it's not secret that looking at someone's code is painfull Wink It give me quite good amount of headache but it helped a little bit too. It only confirms that chip behavior is very dependent on command. exec_cmd function needs long list of parameters to be sucesfully executed...

Hm, I tried to write the driver source code as self-explanatory and readable as possible, sorry if it was not as helpful as it could have been. Anyway, for one prototype I once ported the code to an STM32 controller, and after adapting the access to the SPI interface, it worked mostly unchanged. Unless you have a very resource-limited uC working with, I won't expect any issues.

Otherwise feel free to ask for clarifications, I'm helping out as far as possible.

Zefir, your code in cgminer is some of cleanest there is in there. Please don't let anyone tell you otherwise.

I wrote my own test code for A1s using the Pi and my feedback about the datasheet is that it was well written and (mostly) easy to understand. In combination with this thread I was able to get going in no time. I mean compare this to the (missing) bitfury docs and you'll see the difference.

+1 on Zefir's work from me too!

(and it was indeed quite a task to put something together to cover for Bitfury's omission)
newbie
Activity: 30
Merit: 0
Driver is for RaspPi with direct communication thru SPI. I'm using microcontroller that is a brigde between chain of chips and host thru RS485 comm port. So I needed to write own "driver". Obviously I was looking at that piece of code, but it's not secret that looking at someone's code is painfull Wink It give me quite good amount of headache but it helped a little bit too. It only confirms that chip behavior is very dependent on command. exec_cmd function needs long list of parameters to be sucesfully executed...

Hm, I tried to write the driver source code as self-explanatory and readable as possible, sorry if it was not as helpful as it could have been. Anyway, for one prototype I once ported the code to an STM32 controller, and after adapting the access to the SPI interface, it worked mostly unchanged. Unless you have a very resource-limited uC working with, I won't expect any issues.

Otherwise feel free to ask for clarifications, I'm helping out as far as possible.

Zefir, your code in cgminer is some of cleanest there is in there. Please don't let anyone tell you otherwise.

I wrote my own test code for A1s using the Pi and my feedback about the datasheet is that it was well written and (mostly) easy to understand. In combination with this thread I was able to get going in no time. I mean compare this to the (missing) bitfury docs and you'll see the difference.
newbie
Activity: 30
Merit: 0
Got my PCB made this week. Anyone else working on a reference build? Would love to compare notes  Smiley

https://i.imgur.com/J34PiOI.jpg

I am selling 2 extra boards that I had made at cost ($25). I am in the US, quick shipping.

Does this work and do you have the BOM?   How much for all the parts except for the A1 chips?

yes and yes. Oh, I dunno $50 maybe
donator
Activity: 919
Merit: 1000
Driver is for RaspPi with direct communication thru SPI. I'm using microcontroller that is a brigde between chain of chips and host thru RS485 comm port. So I needed to write own "driver". Obviously I was looking at that piece of code, but it's not secret that looking at someone's code is painfull Wink It give me quite good amount of headache but it helped a little bit too. It only confirms that chip behavior is very dependent on command. exec_cmd function needs long list of parameters to be sucesfully executed...

Hm, I tried to write the driver source code as self-explanatory and readable as possible, sorry if it was not as helpful as it could have been. Anyway, for one prototype I once ported the code to an STM32 controller, and after adapting the access to the SPI interface, it worked mostly unchanged. Unless you have a very resource-limited uC working with, I won't expect any issues.

Otherwise feel free to ask for clarifications, I'm helping out as far as possible.
legendary
Activity: 1029
Merit: 1000
Finally!!!
Test vectors passed Wink And I can confirm now that test job returns six nonces. 744ec1ec is the 6th one.
This chip is a nightmare for software writer. Behavior of the chip depends on the command. Some commands break chain, some don't return any value back to host uC. And datasheet is the worst I ever seen. Errors (register table for example) and lack of information. Without oscilloscope I would never guess how to "talk" with this chips. Many hours spended on discovering things that should be in datasheet.

http://imgur.com/MVtOniD

I don't get it,  doesn't this driver:  https://github.com/ckolivas/cgminer/blob/master/driver-SPI-bitmine-A1.c  cover the communication with the A1 chip?

Are you saying that there is something wrong with the driver?
Driver is for RaspPi with direct communication thru SPI. I'm using microcontroller that is a brigde between chain of chips and host thru RS485 comm port. So I needed to write own "driver". Obviously I was looking at that piece of code, but it's not secret that looking at someone's code is painfull Wink It give me quite good amount of headache but it helped a little bit too. It only confirms that chip behavior is very dependent on command. exec_cmd function needs long list of parameters to be sucesfully executed...
legendary
Activity: 868
Merit: 1000
Cryptotalk.org - Get paid for every post!
Finally!!!
Test vectors passed Wink And I can confirm now that test job returns six nonces. 744ec1ec is the 6th one.
This chip is a nightmare for software writer. Behavior of the chip depends on the command. Some commands break chain, some don't return any value back to host uC. And datasheet is the worst I ever seen. Errors (register table for example) and lack of information. Without oscilloscope I would never guess how to "talk" with this chips. Many hours spended on discovering things that should be in datasheet.

http://imgur.com/MVtOniD

I don't get it,  doesn't this driver:  https://github.com/ckolivas/cgminer/blob/master/driver-SPI-bitmine-A1.c  cover the communication with the A1 chip?

Are you saying that there is something wrong with the driver?
legendary
Activity: 1029
Merit: 1000
Finally!!!
Test vectors passed Wink And I can confirm now that test job returns six nonces. 744ec1ec is the 6th one.
This chip is a nightmare for software writer. Behavior of the chip depends on the command. Some commands break chain, some don't return any value back to host uC. And datasheet is the worst I ever seen. Errors (register table for example) and lack of information. Without oscilloscope I would never guess how to "talk" with this chips. Many hours spended on discovering things that should be in datasheet.

http://imgur.com/MVtOniD
legendary
Activity: 868
Merit: 1000
Cryptotalk.org - Get paid for every post!
Got my PCB made this week. Anyone else working on a reference build? Would love to compare notes  Smiley



I am selling 2 extra boards that I had made at cost ($25). I am in the US, quick shipping.

Does this work and do you have the BOM?   How much for all the parts except for the A1 chips?
legendary
Activity: 1029
Merit: 1000
Inquiring minds want to know, what converter/driver/controller chips are you using ...

It's a secret Wink
Can I guess the LTC3880?
Nope...

So far I experienced software problems. I can write to reg and read back. But when I upload test job then register[16] stays at 1 all the time. Chip gets hotter and hotter but no results. Any idea why?
legendary
Activity: 1274
Merit: 1004
Inquiring minds want to know, what converter/driver/controller chips are you using ...

It's a secret Wink
Can I guess the LTC3880?
Pages:
Jump to: