Post Go back to editing

how to use ad9142a Fs/4 modulation

I use NCO in fpga,generate 5M cos and sin to I and Q of AD9142A,

I use 100M for dac refclk, use 4x interpolate to set fdac=400M,

cmd_0x15=0xc9;//fREFCLK/fDIG = 16,fVCO/fDACCLK = 4,fDACCLK/fREFCLK = 4,

cmd_0x28=0x02;//4× mode; use HB1 and HB2 filters.

cmd_0x28 =0x04,(bit2 is FS4_MODULATION_ENABLE),

but can not get the 100M+5M,only get 5M signal


but when i set 0x27=0x40(use NCO in AD9142A to generate 100M carrier),  can get 100+5M signal.

cmd_0x31=0x00;//FTW[7:0],100M carrier@400M

cmd_0x32=0x00;//FTW[15:8],100M carrier@400M

cmd_0x33=0x00;//FTW[23:16],100M carrier@400M

cmd_0x34=0x40;//FTW[31:24],100M carrier@400M


so who can tell how to use Fs/4 modulation?

  • Hi tomistom,

    Thank you for your interest in AD9142A.We'll look into this and get back to you.

    Best regards,

  • Hi  ,

    Fs/4 modulation is a modulation mode to translate the input baseband frequency from the I/Q Data In channels to a fixed Fs/4 frequency, where Fs is the DAC sampling rate. To do this, set Register 0x27 = 0x44 (enable both NCO block and Fs/4 Modulation block). The output for your case should be the 100+5 MHz -- 100MHz from the NCO block and 5 MHz from the I/Q Data In channels. It seems the NCO block is disabled in the 3rd line of your code. The Fs/4 modulation block (Register 0x27 [3]) will only work if the NCO block is also enabled (Register 0x27 [7]). 

    cmd_0x28 =0x04,(bit2 is FS4_MODULATION_ENABLE

    If the NCO block is disabled, the output at I/Q DAC channels will only depend on I/Q Data In channels. If the NCO is enabled but Fs/4 modulation is disabled, the DAC operates in NCO Modulation mode, where the frequency of the NCO block will depend on the FTW input (Registers 0x34 to 0x31). This is what happened in your 2nd case. More details can be found in page 34 of the AD9142A datasheet