sinara-hw / sinara

Sayma AMC/RTM issue tracker
Other
42 stars 7 forks source link

Fast Novo #206

Closed hartytp closed 7 years ago

hartytp commented 7 years ago

Upgrade Novo to work with Urukul/Kasli servo.

sbourdeauducq commented 7 years ago

Why have the basic mode? Is it just to be compatible with the existing SPI core?

hartytp commented 7 years ago

Why have the basic mode? Is it just to be compatible with the existing SPI core?

Yes. Adding basic mode is very low cost (a dip switch and some gates), and allows one to use Novo for real-time data acquisition with only the standard Kasli gateware if one doesn't need the extra speed.

In the shorter term, before the custom servo gateware is finished, it will also allow us to do intensity stabilisation on Urukul using kernels.

sbourdeauducq commented 7 years ago

I'm not sure if it makes sense to add hardware gates instead of pushing them into the FPGA - if we already have gateware that is flexible enough for switching between TTL and SPI on a IDC, it could as well support "muxed SPI".

hartytp commented 7 years ago

Agreed, doing the SPI muxing in gateware would be nicer than doing it in hardware. But:

I'm happy to go with whatever you and @jordens recommend on this.

sbourdeauducq commented 7 years ago

That would not require much FPGA resources - the 7A50T is equivalent to hundreds of thousands of 74xx chips.

hartytp commented 7 years ago

@sbourdeauducq Sounds good -- the more flexible we make the standard Kasli gateware the fewer custom builds we'll need.

Can you spell out in detail exactly how this muxed SPI should work (inc IDC pin assignments), maybe on the Wiki?

gkasprow commented 7 years ago

@hartytp @sbouhabib It would be hard to make board compatible with both simple mode where 1 or 2 IDCs are used (for high density projects) and high speed dual IDC. There must be at least one mux, but this does not complicate the design much.

sbourdeauducq commented 7 years ago

The pinout depends on whatever the ADC we end up using requires, but the basic idea of muxed SPI is to decode CS inside the FPGA and select the relevant MISO line to make it look like a single SPI bus. This is equivalent to what your gates would be doing in "basic mode".

hartytp commented 7 years ago

Initial plan for Novo II, summary of email conversation between @sbourdeauducq @jordens @gkasprow and @hartytp. @gkasprow please check below and feel free to correct/change as you see fit:

IDC0:

  1. ADC_SCK
  2. NC
  3. ADC_SDOA
  4. ADC_CNV
  5. SR_SCK
  6. SR_MOSI
  7. SR_MISO
  8. SR_CS

IDC1:

  1. ADC_CLKOUT
  2. ADC_SDOB
  3. ADC_SDOC
  4. ADC_SDOD
  5. NC
  6. NC
  7. NC
  8. NC