8.3.7.1.6 NCO Phase Synchronization
The NCOs must be synchronized after setting or changing the value of FREQAx or FREQBx. NCO synchronization is performed when the JESD204B link is initialized or by SYSREF, based on the settings of NCO_SYNC_ILA and NCO_SYNC_NEXT. The procedures are as follows for the JESD204B initialization procedure and the SYSREF procedure for both DC-coupled and AC-coupled SYSREF signals.
NCO synchronization using the JESD204B SYNC signal (SYNCSE or TMSTP±):
- The device must be programmed for normal operation
- Set NCO_SYNC_ILA to 1 to enable NCO synchronization using the SYNC signal
- Set JESD_EN to 0
- Program FREQAx, FREQBx, PHASEAx, and PHASEBx to the desired settings
- In the JESD204B receiver (logic device), deassert the SYNC signal by setting SYNC high
- Set JESD_EN to 1
- Assert the SYNC signal by setting SYNC low in the JESD204B receiver to start the code group synchronization (CGS) process
- After achieving CGS, deassert the SYNC signal by setting SYNC high at the same time for all ADCs to be synchronized and verify that the SYNC setup and hold times are met (as specified in the Timing Requirements table)
NCO synchronization using SYSREF (DC-coupled):
- The device must be programmed for normal operation
- Set JESD_EN to 1 to start the JESD204B link (the SYNC signal can respond as normal during the CGS process)
- Program NCO_SYNC_ILA=0 on all devices.
- Issue one or more SYSREF pulses to all ADCs to synchronize the local multiframe clock. Verify that SYSREF is disabled (held low) before continuing.
- Program FREQAx, FREQBx, PHASEAx, and PHASEBx to the desired settings
- Write NCO_SYNC_NEXT to 0.
- Arm NCO synchronization by setting NCO_SYNC_NEXT to 1
- Issue a single SYSREF pulse to all ADCs to synchronize NCOs within all devices. The SYSREF pulse must have the same phase relationship to the LMFC as the SYSREF pulse(s) from step 4 above.
NCO synchronization using SYSREF (AC-coupled):
- The device must be programmed for normal operation
- Set JESD_EN to 1 to start the JESD204B link (the SYNC signal can respond as normal during the CGS process)
- Program NCO_SYNC_ILA=0 on all devices.
- Enable the SYSREF generator for all ADCs to synchronize the local multiframe clock. Leave SYSREF running contniuously.
- Program FREQAx, FREQBx, PHASEAx, and PHASEBx to the desired settings
- Write NCO_SYNC_NEXT to 0.
- Arm NCO synchronization by setting NCO_SYNC_NEXT to 1 at the same time at all ADCs by timing the rising edge of SCLK for the last data bit (LSB) at the end of the SPI write so that the SCLK rising edge occurs after a SYSREF rising edge and early enough before the next SYSREF rising edge so that the trigger is armed before the next SYSREF rising edge (a long SYSREF period is recommended)
- NCOs in all ADCs are synchronized by the next SYSREF rising edge