I’m new to AD9173 and I met some problems when using the NCO ONLY mode of main datapath. I’m using mode 8 of JESD204B, single link, the channel interpolation is 1x and the main datapath interpolation is 8x, which means the channel datapath is bypassed and only main datapath is used. The sample rate of dac is 3.2GHz, and I bypassed dac pll, used external clock.
And according to datasheet, if I want to use main datapath NCO, I only need to configure DC AMPLITUDE LEVEL, DDSM_EN_CAL_DO_INPUT register(0x1e6) to 0x02, configure ftw to main NCO, use integer NCO mode, the ftw I gave is 0x180000000000. And page DAC0 and DAC1 and enable them.
But when I configured as I said, I can’t get a simple sine wave on the DAC analogue output. The output I got is weird. From DAC0, I got nothing, no waveform at all,. And from DAC1, I got many frequencies, each 100MHz has one peak, as the following pictures.
Before configure the NCO ONLY mode, I have followed the start-up sequence to initialize the dac first. And I checked every step, BOOT LOADER status is right, DLL is locked, calibration is done properly, serdes pll also locked and the JESD204B link is on, even if not required in NCO ONLY mode.
I've tried 2 ways to use the NCO ONLY mode, use the provided ADI_API funtion or directly configure the registers I metioned before through spi. Either way the result was the same.
Are there some nco status registers that I can monitor? Would you please help me to figure out what was wrong?
And I'm confused about one more thing. As I mentioned before, I need to configure DC AMPLITUDE LEVEL to use NCO ONLY mode. But in the register map it said that these registers(0x148 and 0x149) are paged by channel datapath page. But the JESD204B mode I'm using is 8, the channel interpolation is 1x, which means all channel datapath are bypassed, so is there a conflict? How can I use NCO ONLY mode with channel datapath bypassed? Do I need to enable at least one channel datapath just in order to configure DC AMPLITUDE LEVEL?
Assumed answered offline. Let us know if there are further questions.
By the way, the API I'm using to configure NCO is ad917x_nco_set(&handle,1,0,600000000,0x00FF,1,1); , from version AD917x_API-Rel1.1.1.
I'm having the same situation described with AD9172 in NCO Only mode. Could you find the cause?