Pages:
Author

Topic: Modular FPGA Miner Hardware Design Development - page 6. (Read 119320 times)

member
Activity: 70
Merit: 10
[...]
I currently placed two MCU supply voltages on the DIMM connector: +5V which is connected to the USB 5V, and +3V3, which is connected to the output of the LDO inside the MSP430 (this LDO is fed by the +5V). I wanted to have the backplane supply 5V only if it used the USB connection and supply 3.3V otherwise. But there should be a different way to detect the presence of the USB host. So any concerns about removing the +3V3 signal from the DIMM?

Can any of the MSP430 guys give their opinion here?
member
Activity: 70
Merit: 10
  • Changed USB connector to one that's available on Digikey.
  • Added LEDs. These aren't connected to anything yet, but they are placed in the schematic and the BOM database. I added options for red, yellow, and green, all in 0603 and 0805 packages. Later, we can delete the ones we don't want. We should use the same LEDs for all other parts of the design.

Looks good. I didn't pay attention when looking at / changing the USB connector. How many LEDs do people envision we need? We have 11 free pins on the MCU, but that seems excessive. Maybe 3? How many each for the FPGAs: five each?
member
Activity: 70
Merit: 10
I uploaded a new version of the BOM to github and dropbox. Commit log:

Finished updateavail script:
  • updateavail.sh now works correctly with avnet
  • Merged in new version of the database from fizzisist
  • Changed the package for the FPGAs to what is being used
  • Added second supplier for the FPGAs and big switchers
  • Updated extended database: runtime = 45s

Back to the boards. I will now look at fizzisist's new MCU.
hero member
Activity: 720
Merit: 528
Thanks for merging my old database into the new project.tsv. I added a few more items to it, including the MCU and 25MHz oscillator.

I made some minor changes to the MCU schematic and saved it into a new folder under my name, to make sure I didn't overwrite your work. If you're ok with it, feel free to copy it back into your folder. Changes:
  • Changed USB connector to one that's available on Digikey.
  • Added LEDs. These aren't connected to anything yet, but they are placed in the schematic and the BOM database. I added options for red, yellow, and green, all in 0603 and 0805 packages. Later, we can delete the ones we don't want. We should use the same LEDs for all other parts of the design.

li_gangyi, are you ok with 0603 LEDs or should we use the 0805s?
hero member
Activity: 720
Merit: 528
Wow, that is an awesome script! I ran it (on Ubuntu) and it worked perfectly. I don't think there's reason to convert this to a ULP, because this script won't need to be run very often. As long as there's someone around with a POSIX system, we can update the prices. Great work!
member
Activity: 70
Merit: 10
Actually, concerning the update-script: this does not (easily) work for Windows-users. This should be convertible to Eagle ULP if you try. Does anyone think that effort is justified?
member
Activity: 70
Merit: 10
I uploaded new versions of the PSU design and a BOM script to github and dropbox. Commit logs:

  • Fixed LMZ22010 <-> LMZ12010 mixup:
    • Renamed GND back to AGND and PGND in LMZ22010
    • Changed description and default device name for LMZ22010
    • Added an explicit LMZ12010 device and symbol to the library (the symbols have the same pin lications for easier exhanges)
    • Used the new LMZ12010 in the PSU design
  • Added script to update BOM database: The script updateavail.sh (POSIX systems only) queries the distributors webpage for each part in the *.tsv file and adds columns for number of on-stock parts and prices for different price-breaks. The project.tsv file has been reformatted to match the expected input of this script. TODO: Currently supports only DigiKey as a supplier. Need to add Avnet support.

I haven't used fizzisist newest database as the basis for my reformated one. Will do so by the next upload.
full member
Activity: 210
Merit: 100
Quote
Generally, larger capacitors have lower ESR.

Yeah I guess that makes sense. Either way, if L or R change, it's going to throw off their careful system.
hero member
Activity: 720
Merit: 528
Quote
the Xilinx PCB design guide calls for 0402 imperial size caps. Does anyone have a good feel what happens if that size is changed?

Yes... the most important effect of bigger physical size is higher ESR. That will change the specific frequency that the capacitor filters.

Obviously Xilinx went through very carefully and chose those capacitors to filter specific frequencies. I would follow their recommendations.

Actually, I think your confusing ESR with ESL. Generally, larger capacitors have lower ESR. The ESL will go up, though, because of the increased size of the current loop, because the cap will be further away from the pin. At least that's my understanding.
full member
Activity: 210
Merit: 100
Quote
the Xilinx PCB design guide calls for 0402 imperial size caps. Does anyone have a good feel what happens if that size is changed?

Yes... the most important effect of bigger physical size is higher ESR. That will change the specific frequency that the capacitor filters.

Obviously Xilinx went through very carefully and chose those capacitors to filter specific frequencies. I would follow their recommendations.
hero member
Activity: 720
Merit: 528
That is a bit problematic: the Xilinx PCB design guide calls for 0402 imperial size caps. Does anyone have a good feel what happens if that size is changed? If the caps should stay 0402, then my second question is: does it make sense to keep the 0402 caps for the FPGAs but make all other 0402 size devices larger (for the MCU for example) or is there no extra difficulty on using more 0402 packages than absolutely necessary?

In general, a smaller capacitor will be able to get closer to the pin and therefore do a better job decoupling. I think it would make sense to just use as few 0402s as possible: the probability of making a mistake soldering is just going to be increased for each additional capacitor. I don't think we have to think about it like reducing trace width or such (therefore raising the cost of the whole board). When these boards are eventually loaded by a professional shop, they won't even blink when we ask them to load 0402s.

Anyway, we need li_gangyi's input on this, because he's the one who'll be doing the actual soldering on this prototype.
member
Activity: 70
Merit: 10
[...]
I added most parts from the FPGA, PSU, and MCU schematics to the BOM database. I also created BOMs for each. A few questions that came up while doing this:

1) Surface mount power connectors? These would really be much better as through-hole, for strength.

There are currently only SMD connectors, but as li_gangyi already pointed out these should be changed (in some cases: changed back) to through-hole. I just haven't done it, yet.

2) I think I remember li_gangyi asking us to keep components above 0402 (1005 metric). Can these little guys be switched to 0603 or larger? For prototyping and debugging, it's also better to keep things larger (easier to probe and rework if needed).

That is a bit problematic: the Xilinx PCB design guide calls for 0402 imperial size caps. Does anyone have a good feel what happens if that size is changed? If the caps should stay 0402, then my second question is: does it make sense to keep the 0402 caps for the FPGAs but make all other 0402 size devices larger (for the MCU for example) or is there no extra difficulty on using more 0402 packages than absolutely necessary?

3) Are we using the LMZ22010 or the LMZ12010? I'm seeing some confusion in the various schematics here. The difference between the two seems to be the SYNC pin, which we aren't using, so I don't see why we shouldn't use the cheaper one.
[...]

Didn't even notice that. The thing had different names in the library: the symbol was called LMZ22... and the device LMZ12... I just selected the symbol name to open the datasheet and then renamed the device. As far as I can see the current design is fit for both devices, though: pin 3 (the only difference between the devices) is grounded, which it needs to be in both cases. For the LMZ22..., it also needs to be grounded because we do not connect a frequency source.
hero member
Activity: 720
Merit: 528
For the caps in the FPGA section, these are based on the recommendations in the XIlinx PCB design guide. I would opt not to change those. The resistors in the FPGA section were chosen by me: no particular reason for this size, I just wanted something small that should still be able to stand the dissipated power. For the PSU section, li_gangyi chose the component sizes. I replaced all packages with something found in the rcl library (I prefer to have a common look of the symbols and I try not to have several non-standard libraries in the project). If any of the parts there strike you as odd, I either made a mistake when doing the conversion or you should get li_gangyi's input as to his package choices (I am really bad at analogue stuff, so I wouldn't want to comment). As for the MCU section: I replaced most of the choices in O_Shovah's original design with something else. The idea was to minimise the number of different components: for example in several places where 100nF would have been sufficient I wrote 470nF instead so as to use the same parts as for the FPGA.

You've done a great job keeping these various schematics clean and uniform, and reducing the number of different components. The only strange ones to me are the PSU ones, so we need li_gangyi to answer about these.

I added most parts from the FPGA, PSU, and MCU schematics to the BOM database. I also created BOMs for each. A few questions that came up while doing this:

1) Surface mount power connectors? These would really be much better as through-hole, for strength.

2) I think I remember li_gangyi asking us to keep components above 0402 (1005 metric). Can these little guys be switched to 0603 or larger? For prototyping and debugging, it's also better to keep things larger (easier to probe and rework if needed).

3) Are we using the LMZ22010 or the LMZ12010? I'm seeing some confusion in the various schematics here. The difference between the two seems to be the SYNC pin, which we aren't using, so I don't see why we shouldn't use the cheaper one.

4) Speaking of the LMZx2010, the datasheet is calling for slightly different resistor values on R_FBT and _FBB. Am I just reading this wrong or was this a mistake?
member
Activity: 70
Merit: 10
I uploaded new versions of the FPGA, MCU and PSU designs to github and dropbox. Commit logs:

  • Updated LMU22010 in library and in PSU:
    • Changed pin SMD pad sizes and count to match datasheet
    • Changed schematic symbol to have correct number of pins
    • Updated PSU schematic and board to use new device
    • Set SYNC pins to GND as per li_gangyi's instruction (and datasheet)
  • Renamed SPI bus to FPGAs and synced designs:
    • Renamed the SPI bus to the FPGAs in the MCU section from *_D to *_F (F standing for FPGA)
    • Changed the names in the FPGA design to match these
  • Finished MCU connection:
    • Connected SPI clocks to multiplexed pins (CHECK THAT THIS IS USABLE!!!)
    • Connected all other signals to some GPIO
member
Activity: 70
Merit: 10
[...]
Is everyone ok with Digikey as the preferred supplier?

I am happy with that choice. But please consider avnet for the actual FPGAs and switchers, as they are significantly cheaper. I just had a look at the switchers: there is not much stock (64 and 90, respectively) for the LMZ12010.

I'm wondering about all of these package sizes for the passive components. Were these all chosen intentionally? Particularly strange is the 2220 package. Is there any reason to not reduce this to a more standard 1206? The others are at least standard sizes, but we could probably reduce the number of different sizes to one or two.

For the 390uF electrolytics, we have ones rated for 2.5V on the 1.2V rail and rated for 4V on the 2.5V rail. It would make sense to make them all 4V, right? Maybe even higher...

For the caps in the FPGA section, these are based on the recommendations in the XIlinx PCB design guide. I would opt not to change those. The resistors in the FPGA section were chosen by me: no particular reason for this size, I just wanted something small that should still be able to stand the dissipated power. For the PSU section, li_gangyi chose the component sizes. I replaced all packages with something found in the rcl library (I prefer to have a common look of the symbols and I try not to have several non-standard libraries in the project). If any of the parts there strike you as odd, I either made a mistake when doing the conversion or you should get li_gangyi's input as to his package choices (I am really bad at analogue stuff, so I wouldn't want to comment). As for the MCU section: I replaced most of the choices in O_Shovah's original design with something else. The idea was to minimise the number of different components: for example in several places where 100nF would have been sufficient I wrote 470nF instead so as to use the same parts as for the FPGA.
hero member
Activity: 720
Merit: 528
I started creating a BOM database for Eagle's bom.ulp program. This is new to me, but it's easy enough to figure out. The database is in Layout/BOM/bom_eagle_database.tsv. I also exported the first BOM for "Parts_Combined" to the same folder.

Is everyone ok with Digikey as the preferred supplier?

I'm wondering about all of these package sizes for the passive components. Were these all chosen intentionally? Particularly strange is the 2220 package. Is there any reason to not reduce this to a more standard 1206? The others are at least standard sizes, but we could probably reduce the number of different sizes to one or two.

For the 390uF electrolytics, we have ones rated for 2.5V on the 1.2V rail and rated for 4V on the 2.5V rail. It would make sense to make them all 4V, right? Maybe even higher...
member
Activity: 70
Merit: 10
[...]
1) When did we settle on the MSP430F5507? At one point, li_gangyi recommended that we stay away from the QFN package, but that part is available only in QFN. Also, the 32 kB flash memory could end up being a limit, although probably not. I still don't understand how the USCI ports work exactly, but would it be helpful to get one of the chips that has 2x2 USCI? Forgive me if I'm missing something, I just want to make sure this important decision is being made carefully.

Didn't pay attention to that. On the other hand: the schematic symbol is identical, so changing that is easy.

2) Is anyone checking for the availability and prices of these components? I've been in trouble before because I designed a board using Eagle's libraries, then looked for the parts on Digikey and many of them weren't available. It's good practice to build a BOM with supplier part numbers and prices as you go. If this still needs to be done, I'll gladly work on this.

Availability: yes. And li_gangyi has an XLS BOM on dropbox. But I would prefer an Eagle database for the bom.ulp program. If you could get started, that would be cool!
hero member
Activity: 720
Merit: 528
I just returned from vacation and it's wonderful to see that you guys have made so much progress. Two questions:

1) When did we settle on the MSP430F5507? At one point, li_gangyi recommended that we stay away from the QFN package, but that part is available only in QFN. Also, the 32 kB flash memory could end up being a limit, although probably not. I still don't understand how the USCI ports work exactly, but would it be helpful to get one of the chips that has 2x2 USCI? Forgive me if I'm missing something, I just want to make sure this important decision is being made carefully.

2) Is anyone checking for the availability and prices of these components? I've been in trouble before because I designed a board using Eagle's libraries, then looked for the parts on Digikey and many of them weren't available. It's good practice to build a BOM with supplier part numbers and prices as you go. If this still needs to be done, I'll gladly work on this.
sr. member
Activity: 410
Merit: 252
Watercooling the world of mining
Just to give information.
I will be on an buisness trip untill next monday so i'll be with you again monday evening.
full member
Activity: 157
Merit: 100
Been busy with another related project recently. I've looked at the PSU section, everything looks ok except for 1 thing that I missed earlier, pin 3 (1 and 2 are for Vin) needs to be grounded, that mistake was probably there when I created the LMZ library.

Can't comment on the current discussion about how to hook up the respective busses with the MSP430, really no experience in this area.
Pages:
Jump to: