improve your AD9739's SNR

Discussion created by keithb on Nov 12, 2015

Do you find the signal integrity of data transfer to your AD9739 DAC isn't quite as perfect as you expect? Odd small temperature ranges in which SNR or BER is worse than expected? Then consider increasing “fine_del_skew” in register 0x13.


I'm using the DACs in radios with a circuit close to that in figure 52 of the revC data sheet, and I notice that BER performance is reduced over a narrow temperature range. The actual BER isn't awful, but it goes up several orders of magnitude and then drops back down over about a 5 degree temperature range - unusual behaviour. After some investigation, it appears the DACs are not always acquiring correct data from the FPGA that drives them.


The figure below shows measurements of the internal mu-delay value read back from a radio's AD9739 chip while it was exercised in an environmental chamber. The relationship between mu-delay and temperature is fairly linear, but shows some missing codes – eg 3 missing codes near 48 degrees C in this plot. It's near this temperature that the radio misbehaves. (Note the mu-tracking loop doesn't always come up exactly the same from one boot to another, so the temperature that causes the missing codes varies from one boot to another too.)


I'm guessing that near the missing-code temperature the mu tracking loop is jumping back-and forth across the wider 4-code gap so there is an extra 36psec timing jitter on DCO. This is in turn reflected back on the DCI from the FPGA. The data receiver controller's tracking loop may fail occasionally to cope with the extra jitter on the DCI and not correctly acquire the data lanes from the FPGA. Hence the odd bad constellation point from the radio.


The key to working around this problem appears to be increasing the fine_del_skew value in register 0x13. The data sheet doesn't say much about this parameter, but with it set to 6 rather than the recommended value of 2, my radios work as they should.