uhd/mpm/python/usrp_mpm/dboard_manager
Humberto Jimenez eb4a609ec8 rh: Deterministic latency optimization in JESD204B
- Optimized JESD204B RX/TX links' latency.
- Made JESD latency constant across supported frequencies.
- Checking RX SYSREF capture in the FPGA deframer block.

The JESD204B standard can be linked in such a way to produce a
repeatable, deterministic delay from the framer to deframer. This is
accomplished by setting up a LMFC (local multiframe clock) in both
devices.

The LMFCs are reset whenever a SYSREF edge is captured by the framer
and deframer. Therefore, it is simple to control the LMFC rising edges
in each device by implementing variable delay elements on the SYSREF
pulses to the framer and deframer.

Latency across the JESD204B TX/RX links should remain constant and
deterministic across the supported sampling_clock_rate values. By
testing the roundtrip latency (i.e. FPGA -> TX -> RX -> FPGA) with
different delay values in the FPGA, one may decrease the latency and
provide enough setup and hold margin for the data to be transfered
through each JESD link.

It was found that a different set of SYSREF delay values are required
for sampling_clock_rate = 400 MSPS to match the latency of the other
supported rates.
2018-10-30 09:57:55 -07:00
..
__init__.py rh: add support for rhodium devices 2018-10-25 10:30:59 -07:00
adc_rh.py rh: add support for rhodium devices 2018-10-25 10:30:59 -07:00
base.py mpm: dboard_manager: add more args to update_ref_clock_freq 2018-10-12 10:59:02 -07:00
CMakeLists.txt rh: add support for rhodium devices 2018-10-25 10:30:59 -07:00
dac_rh.py rh: add support for rhodium devices 2018-10-25 10:30:59 -07:00
eiscat.py uio: mpm: Fixup for opening mboard-regs UIO 2018-07-23 10:33:34 -07:00
gain_rh.py rh: add support for rhodium devices 2018-10-25 10:30:59 -07:00
gaintables_rh.py rh: add support for rhodium devices 2018-10-25 10:30:59 -07:00
lmk_eiscat.py mpm: Demote some log messages 2018-03-06 15:28:33 -08:00
lmk_mg.py lmk: clean up logging statements 2018-03-07 12:40:28 -08:00
lmk_rh.py rh: add support for rhodium devices 2018-10-25 10:30:59 -07:00
magnesium.py nijesdcore: add variable configuration support 2018-10-25 10:30:59 -07:00
magnesium_update_cpld.py mpm: Rename n310 to n3xx 2018-03-05 15:56:41 -08:00
mg_init.py nijesdcore: add variable configuration support 2018-10-25 10:30:59 -07:00
mg_periphs.py mpm: identify sysfs gpios more generically 2018-10-18 18:15:25 -07:00
neon.py e320: Add all 5 temp sensors, fan sensor and rssi sensors per channel 2018-08-09 17:39:14 -07:00
rh_init.py rh: Deterministic latency optimization in JESD204B 2018-10-30 09:57:55 -07:00
rh_periphs.py rh: add support for rhodium devices 2018-10-25 10:30:59 -07:00
rhodium.py rh: add support for rhodium devices 2018-10-25 10:30:59 -07:00
test.py mpm: Update all license headers 2018-02-19 16:55:08 -08:00
unknown.py mpm: Update all license headers 2018-02-19 16:55:08 -08:00