Q: What to do if I have questions about the FMC DEL 1ns 4cha board?
A: First, try to read the different wiki pages and manuals and browse
through this FAQ to see if your question is already answered. Then, if
you have not found it there, really do not hesitate to send your
question to the mailing list firstname.lastname@example.org. You can find
more information about this mailing list and register yourself to it at
the Mailing List
Q: The FMC DEL card runs quite hot when used in a PC on a SPEC carrier. Is that normal?
A: Indeed, due to high precision 1.5GHz LVPECL Programmable Delay chips
used on the board, indeed the FMC DEL board heats up.
The power consumption of the FMC DEL board is 7 Watt (200 mA from 12V,
1.5 A from 3V3). This, combined with the fact that plug-in cards in a PC
are usually not well cooled makes the card run quite hot. Note that the
FMC TDC board does not have these LVPECL components and does not run
One user (AW) has seen a temperature reading of the sensor on the FMC
DEL board of 1393 = 87.06 degrees C. When the number of fans in the PC
were increased the temperature reading lowered to 1142 = 71 degrees C.
On an industrial PC used at CERN we've seen even typical temperatures of
80-84 degrees. But on other PCs we have seen temperatures between 65 and
70 degrees C, without any specific cooling added.
For comparison, the FMC DEL board on a SVEC carrier in an VME crate runs
typically at 65-68 degrees C as is shown in the Long Term test
report. This was in a crate were no
other cards were nearby and the front was completely left open. We've
seen with another VME crate with a lot of fdelays in it (six SVECs in
contiguous slots 7-12) temperatures between 39 and 68 degrees C.
We believe that temperature readings around 70 degrees are acceptable
and will not have an impact to the lifetime of the card. Only when you
switch on an off the card every day there may be an impact due to the
thermal cycling effects.
Regarding the 70 degrees - it's a safe temperature for this card,
measured in the hottest spot (LVPECL delay lines, rated to +85 degrees).
More temperature sensitive components such as decoupling capacitors are
at least 15 degrees cooler (tested with a thermal vision camera). The
TDC and output stages are continuously temperature-calibrated, so it has
little effect on jitter and delay stability. (update
Q: Did you take the high temperature into account when designing this card?
A: The most sensitive component, where lifetime may be affected by the
temperature are the tantalium capacitors. We have designed the board
with high temperature tantalium capacitors (SANYO/Panasonic OSCON
16TQC10M, rated at 105 degrees). They have a lifetime of 63245
hours=2635 days when used at 75 degrees. This was in an early
datasheet. Normal aluminium capacitors would have a lifetime four times
as short. Likely the capacitors anyway have a temperature lower than the
reading of the internal sensor.
The latest datasheet (May. 2014) Conductive Polymer Tantalum Solid
Capacitors Poscap, Product catalog, pdf
specifies 200,000h at 65 degrees and 20,000h at 85 degrees. Then
again, it reads "Please contact Sanyo for TQC series". To be checked
Update 11 February
Received by mail the following info from Sanyo Panasonic regarding the life time of the 16TQC10M. Life time of 16TQC10M is as below;105℃ x 2,00080℃＝11,313 hours (1.3 yr)75℃＝16,000 hours (1.8 yr)70℃＝22,627 hours (2.6 yr)65℃＝32,000 hours (3.7 yr)
These numbers are worse than expected and we may have a look into this
(understand better what is the failure type, possibilities of replacing
by other types).
Q: I'd like to change the card's VCXO DAC value to fine-tune output pulse rate/frequency when not using White Rabbit. How can I do it?
A: We are sorry, but accessing the VCXO tune is not supported by the
software. We will consider adding this feature in future
Q: I'm using the card in the pulse generator mode and I'm setting the output pulse period to 99 ns. Measuring the output frequency shows no difference than when the output is set to 100 ns (10 MHz) period.
A: If output pulse width or spacing is less than 200 ns, the resolution
is limited to 4 ns due to hardware constraints. For more info, look at
section 3.4 of the Design
Q: I'm using lower period than in the previous question and adjusting it by 2 picoseconds. I see no difference in output frequency.
A: The output stage resolution is 10 ps.
Q: How can I get and synthesise myself the gateware?
A: To download and compile all required modules, please run the
on bootup "spec" is loaded, I see this without manually doing any
[ 8.088795] spec 0000:01:00.0: probe for device 0001:0000
[ 8.537652] spec 0000:01:00.0: got file "fmc/spec-init.bin", 1484404
[ 8.728894] spec 0000:01:00.0: FPGA programming successful
[ 9.074281] spec 0000:01:00.0: mezzanine 0
[ 9.074292] EEPROM has no FRU information
This is the way to solve it:
(put fdelay-eeprom.bin into /lib/firmware/fmc/fdelay-eeprom.bin)
77 % BRAMs (90 x RAMB16BWER, most of it used by the LM32 CPU in the
Q: What is the maximum impulse pulse rate that I can read out by software?
A: If you want to read out all the timestamps, with the current code
(January 2014), people have been reading out signals with a repitition
rate in the range of 30 kHz to 50 kHz, depending on the computer type.
Possibly with optimisations in software this number could be made
The hardware will continue to work and delay pulses up to a maximum
input pulse rate of 1 MHz. It's just that the software to read out the
timestamps is not able to follow.
You may find some more information in the mailing list archive.
(you may need to click on "I'm not a spammer" and then retry the link).
Note that this is on the mailing list of White Rabbit and not of the
Fine Delay card.
Update 7/2/14: new software has been developed that can pull up to 150 k
samples/second. Please check the fmc-delay-1ns-8cha mail
Q: How to select between timer and interrupt mode?
A: This is done using the module parameter timer_ms
This parameter set up the time to wait between each read of the hardware
buffer. If you set timer_ms=0 you are enabling the interrupt mode
because you are asking to the driver to read from the hardware buffer as
soon as time-stamps are available. For any other value of timer_ms you
are using the timer mode.
Q: What is the difference between timer and interrupt mode?
A: In interrupt mode the driver read from the hardware buffer as soon
as time-stamps are available. This is what you want if your application
needs to analyze data as soon as possible. On the other side the timer
mode periodically reads the entire hardware buffer. You can configure
the timer period using the kernel parameter timer_ms. So, the
throughput rapidly converge to the same value for both modes.
Q: Interrupt or timer mode can affect the time-stamp precision?
No. The measurements are done by the hardware and then stored in its
buffer. So, the accuracy of the measurements stays as precise,
independent of the fact that the interrupts are enabled or not.
Q: The software does not detect any FMC DEL mezzanine, what to do?
A: There is not a specific answer to this question. What you can do is
trying to diagnostic the problem; here a simple procedure.
If you are using a SPEC carrier, run lspci and verify that you
card is properly detected
after driver loading, check if the driver recognized the SPEC+FD by
looking in /sys/bus/zio/devices/. If you can see only the device
with prefix hw-, then the driver didn't load the device
look for driver's errors by using the command dmesg
If you can find/solve the problem by yourself you can us ask for
support. Dump the output of points 2,3,4 in separate files and write to
Q: The driver fails initialization with "Error in GPIO communication (got 0x0, expected 0xaa)" message
A: Check the 3.3V and 12 V fuses on the SPEC/SVEC
Q: Installation of the driver fails with "fmc_fine_delay: Unknown symbol fmc_scan_sdb_tree (err -22)"
A: A diagnostic like "Unknown symbol fmc_*" indicates absence of the
prerequisite module fmc.ko. Somehow, the build process for the modules
has failed to produce fmc.ko, or fmc.ko has not been installed before
the fine delay driver.