Frequently Asked Questions
Hardware
I start looking a bit more in detail to the possible association of the FMCADC100M14b4cha with a SPEC carrier, and when I look at the connector used on this FMC, I see that it is a HPC (High Pin-Count connector) whereas on the SPEC there is a LPC (Low Pin-Count connector)?
The FMCADC100M14b4cha actually has a HPC connector mounted (indeed that is in the BOM). However, none of the HPC signals is used in any current applications, so actually an LPC could have been mounted instead.
The clock for the ADC is generated on the mezzanine card itself (by a programmable Si570 oscillator) and this clock is output from the mezzanine to the carrier on an LPC pin. We had foreseen that some applications may need a clock coming from the carrier going into the mezzanine. In this case one must use a HPC connector as in the FMC standard there are no dedicated clock pins in that direction on an LPC connector (we believe this is a weak point in the FMC standard). In this case one has to remove two capacitors (C22, C23) and move them to the locations C24 and C25 (see schematics V5-0, page 5). We have never used this and commercial FMCADC100M14b4cha mezzanine are all sold with the clock generated on the FMC mezzanine. Furthermore indeed the SPEC carrier cannot generate a clock to the mezzanine as it uses an LPC connector
For White Rabbit, where we actually do generate a clock on the carrier and need to sample to that very precise clock, we actually program the Si570 oscillator (see schematics V5-0, page 4) so that it follows and locks to the White Rabbit clock on the carrier. We started in October 2012 the ADC FMC board clock synchronization mechanism task that will do precisely this. There will some code running in the Xilinx that will basically implement a Phase-locked loop that controls continuously the Si570 to track the White Rabbit clock.
The above should also explain the somewhat cryptic text in the specification: "FMC to carrier interface FMC high pin count connector (HPC only used if external clock is selected)"
I supposed that the external clock was entering the FMC directly with a Lemo00 connector?
That is wrong. It is not foreseen to have an external clock input on the mezzanine card. There is only place for five Lemo00 connectors and these are used as four signal inputs and one external trigger input.
Gateware
Is there a block diagram of what's inside the FPGA?
Yes, here are block diagrams of the architecture showing the internal blocks that are all connected by Wishbone buses.
- Block diagram of the architecture on a PCIe carrier (SPEC)
- Block diagram of the architecture on a VME carrier (SVEC)
Others
The EEPROM of my fmc-adc is empty and the driver won't load, what should I do?
a): Calibrate the board using a Production Test Suite (PTS) system.
b): Base eeprom image containing dummy calibration data (offsets=0, gains=1):
Once you get your eeprom image (option a, or b), you have to write it on the ADC eeprom. To do that
cd /sys/bus/fmc/devices/<device-name>-<device-id>
cat /path/to/your/eeprom/image > eeprom
Where <device-name>-<device-id>
depends on: mezzanine, carrier and
slot.
Of course, you can dump/read the current eeprom image:
cd /sys/bus/fmc/devices/<device-name>-<device-id>
cat eeprom
hexdump eeprom
Erik van der Bij, Matthieu Cattin - 27 May 2014