we are using the AD9142A on an extensionboard which will be plugged on a FPGA based System. We using a startup routine based on the example 2 in the AD9142A Datasheet, but we need to modified it a little bit:
F_DCI = 200 MHz; Interpolation = 2x; directclocking; DACCLK = 400MHz; Delayline based interface mode Delay = 0; DCI DC-Coupled; no Multichip-Synchronization.
We tested five DAC-Boards in our lab and the startup routine passed always successfully (fifo acknowledged the reset address 0x25 bit 1) and we are always able to read back the default values of the registers after reset and change register vaules.
We delivered some of the tested DAC-Boards to our customer. They started their test with their own design to bringup the DAC. They said that some (not all) of the registers does not contain their default values after reset (e.g. register 0x10 should be 0xFF but read 0x00) and other ones contains the default values. They tried to write into some RW register (write 0xFF into register 0x10) to see if the can change the value but the register ignores the writes and the regsiter content is still 0x00. Then I delivered our test (works fine during our board bringup) to exclude customers test design. And with our design the startup routine fails always (fifo did not acknowledge the reset address 0x25 bit 1). Our design read out all registers at the end of the routine it does whether it fails or not.
There is a xlsx file attached which shows the register vaules readout (I marked some register which have different values than the reset values and/or from our register reads). They are created with the same design.
We tested two DAC-Boards at different extensionboard connectors (to exclude connection issues between FPGA and DAC) but it is always the same behavior. I made some tests with a board which is still in our Lab and it works fine. I try to see if a missing clock can cause this issue (you can see it in the excellsheet), but I always read back the default values at regsiter I did not change (e.g. 0x10).
Does anyone has an idea what can cause this issue?