XRM(2)-DAC-D4/1G User Guide
V2.2 - Mar 8, 2018
2.4 DAC Programming
The register values following a reset of the DAC require to be modified for correct operation. Firstly the interface
must be set to operate in 4-wire mode as noted above. For the DAC 5681 this is essentially all that needs to be
done, since the clock is set up explicitly by the application, which in turn configures the DLL settings and re-starts
the DAC DLL.
The DAC5682Z and the DAC5681Z require that the PLL, FIR and CMIX blocks are disabled; the DAC5682Z also
requires that the output of the second (B channel) is disabled. This requires a read of the "device id" bits to
determine the device fitted to the board.
The operation of any of the DACs requires a hardware reset each time the clock frequency is changed in order to
achieve lock of the DAC DLL, so this reset sequence must be followed each time.
2.5 Synthesiser Serial Interface
The synthesiser (AD9510) is programmed using a 4-wire interface which is virtually identical to that for the DAC.
The maximum operating speed of the serial interface is 25 MHz. The example code has the END_CNT generic
set to a value of 2, forcing the clock rate on the interface to be 0.25 *LCLK rate (~ 8 MHz for the default LCLK of
33 MHz).
The reset state of the synthesiser/distribution circuit results in incorrect divider values for the DAC and the FPGA
clocks so the synthesiser's internal registers must be set explicitly to the required values.
The STATUS port on the serial interface can be used to provide real-time monitoring of various signals within the
synthesiser; this is normally set to the synthesiser lock signal.
The FUNC port provides a real-time control input for the synthesiser. Note that the synthesiser treats this pin as
an active-low reset by default, which must be removed in order to program the synthesiser. For this reason, this
port is normally pulled high and should default high at FPGA reset if used in an application, otherwise the default
configuration data will be ignored by the device.
2.6 Synthesiser Programming
The synthesiser (AD9510) provides three main functions:
a)
Clock synthesis
b)
Clock routeing and division
c)
Clock output type
The output type is configured to suit the requirements of the DAC and FPGA clock inputs and should not be
altered, although unused buffer outputs can be disabled to reduce power consumption. The clock dividers prior to
the buffer outputs are normally configured via the application code but can be customised if required.
In normal use, the DAC clock input, driven by the synthesiser, is programmed to run at twice the FPGA clock
input rate, although for low frequency operation this could be modified but this would probably also require
modification of the FPGA code to suit the new clock ratios. There is a 125MHz lower limit on the operating
frequency of the DLL, equivalent to a data rate of 250MSps. Lower clock rates may be used by disabling the DLL
but are currently not supported. See needs a link :type:target:description thing here- this section Low Frequency
Operationcauses a warning for more information.
Note that the output counters must be re-synchronised using the appropriate command following any
re-programming of the clock circuit; this is built in to the example code.
For clock synthesis, the 1GHz VCXO is controlled by the synthesiser using a 100MHz internal reference. The
clock distribution provides the capability for integer divisions of the VCXO frequency to be used as the DAC clock
and the related FPFGA clocks. An external reference can also be used so that the VCXO (and therefore the DAC
clock) are locked to this reference. The PLL provides only integer-N synthesis so only integer divisions of 1GHz
Page 10
Hardware
xrm-dac-d4-1g-manual_v2_2.pdf