axiom-micro-mainboard icon indicating copy to clipboard operation
axiom-micro-mainboard copied to clipboard

r3 todo

Open rroohhh opened this issue 4 years ago • 0 comments

  • [ ] try to reduce bom size and find appropriate packages for each part (guided by jlc)

  • [ ] add testpoints for all the stuff

  • [ ] figure out if we want to rely on internal termination, or add external one (id vote for external for the important stuff; we can still decide to not populate it)

  • [x] connect all the i2c stuff, add their addresses to the schematic, add the pullups, AN262_2 has some guidance on the pullup values Using 2k for the pullups should work over the whole voltage and capacitance range for normal mode and below 175pF for fast mode.

    • [x] figure out which pins we want to use for the mux, I think BANK 8 should be better, because Vih = 0.7 VDD = 1.75V for the mux, which could be a bit close if the sensor gpio bank is at 1.8V yes we will use BANK 8
    • [ ] figure out if / what we want to use the last channel for (-> sensor pcb?, but that one already has two...)
  • [x] connect the ecp oscillator

    • [ ] figure out if enable is active high or low (or open????) (or keep the two resistor footprints)
    • [x] decide if it should go to the RAM bank (or BANK 0), or BANK 8 probably BANK 0, BANK 0 is a top/bottom bank, which means it has 3V3 ⇒ it goes to BANK0 inputs powered by VCCAUX, which should work independently of VCCIO0. BANK 8 would also be fine, but we have no pins left on it.
  • [x] connect the current / voltage sense ic's

    • [x] figure out which resistors we want to use probably 0805W8F100MT5E or CS05W8F100MT5E
    • [x] figure out if we want to measure the ldo's doesn't seem worth it
    • [x] figure out how to use the last channel (maybe monitor 5V for the z-turn lite?) just add one more and monitor all the 5V things :)
  • [x] add moar leds!!!

    • [x] leds connected to ecp
      • [x] find leds with Vf > 2.1, for the RAM bank (lol) possible choices: (all basic parts) 0603 C2290 white 2.7 - 3V 0805 C2297 green 2.7 - 3V 0805 C2293 blue 2.9 - 3V 0603 C72041 blue 2.5 - 3.1V
    • [x] do we want leds connected to all the power rails? (noo; annoying)
  • [x] figure out switcher frequency I think 500kHz should be fine, thats what the reference board is using. (This means ~300kΩ resistor)

    • [x] consider making the switching frequency greater for more flexibility, as the buck converter has internal dividers
  • [x] add external programming headers

    • [x] what kind of headers, 100mil? which pinout order
    • [x] switchers (100 mil pinout doesnt matter)
    • [x] ecp jtag (100 mil standart jtag pinout?)
    • [x] spi flash (not too important)
  • [x] should we have a button to reset the ecp (yes)?

  • [x] reconsider pullup resistors how big do they actually need to be? with 10k we get for 3V3 330μA... (i would chose higher values; 2k2 or 2k7?) 10k seems fine for now. Can always swap the out after the fact.

  • [x] can we get away with the jtag level shifter and just doing open drain io + external pullup on the zynq side? (i dont think that a level shifter would be to bad there. this would likely be slower (dependent on the pullup value). Ok lets use a level shifter.

  • [x] do we want to use resistor networks for the ddr termination resistors? maybe 4D02WGJ0510TCE? (jaro: seems smart if these are jlcpcb basic) doesn't seem worth it, if they are not available on jlcpcb basic

  • [x] do we want some random buttons or so for the left over pins? (possible but i dont think that this is to helpful) -> no

  • [x] figure out if we want bulk decoupling for the sensor board on the mainboard (O(100uF)) yeah why not, lets to 4x100uF maybe?

  • [x] figure out if we want to connect RAM_S3 and RAM_S5 doesn't hurt to connect them

  • [x] figure out what PWRGD on the plugin modules means <Bertl> correct, we didn't agree on whether it should be a power good or reset or both or something else :)

  • [x] should the ecp be able to reset itself? I would say yes. However it is unclear if it actually works, lets add a 0Ω series resistor.

  • [x] figure out usb series termination situation usb is 90Ω, unclear what we need from the ecp side, i would say lets put a footprint there and populate whatever we need (by testing it out experimentally).

  • [x] figure out the usb pullup situation 1k5 on D+ to 3V3 for high-speed (then a "special chirp sequence")

  • [x] decide if we need a i2c gpio expander (we probably do atleast for the usb pullups)

    • [x] what should go to the gpio expander, all the power supply enables, or ignore them, as we can set them via i2c I don't think a i2c gpio expander is worth it, the power supply enables are fine on high for the fixed supplies and low on the ones we can set via i2c.
  • [x] figure out how to connect the 2 VBUS together resolution: use FPF1048

  • [x] figure out switcher soft start capacitor 10nF / 5uA * 0.8V = 1.6ms which should be fine? (ecp has 10V/ms max) also the soft start rate is programmable

  • [x] figure out if we want to connect the i2c mux reset
    Connected to BANK 7, the reset is active low, so pulling it low should always be possible. If the voltage on the reset is higher than VCC (2V5) current flows from the reset pin to VCC. To avoid this, put the fpga pin in Hi-Z if we are not resetting the device.

rroohhh avatar May 01 '20 00:05 rroohhh