SBASAU8 December 2024 ADC3649
PRODMIX
Each digital down-converter (DDC) uses a 48-bit numerically controlled oscillator (NCO) to fine tune the frequency placement prior to the digital filtering. Up to four different NCO frequencies for each DDC are programmed using SPI register writes. The digital NCOs are designed to have a SFDR of at least 100dB.
There are two different NCO operating modes, phase continuous and infinite phase coherent.
During a NCO frequency change, the NCO phase gradually adjusts to the new frequency as shown in Figure 8-54 (left). The 'dashed' line shows the phase of original f1 frequency.
With a phase coherent NCO, all frequencies are synchronized to a single event using SYSREF. This enables an infinite amount of frequency hops without the need to reset the NCO as phase coherency is maintained between frequency hops. This is illustrated in Figure 8-54 (right). When returning to the original frequency f1 the NCO phase appears as if the NCO had never changed frequencies.
The oscillator generates a complex exponential sequence of:
where: frequency (ω) is specified as a signed number by the 48-bit register setting
The complex exponential sequence is multiplied with the real input from the ADC to mix the desired carrier to a frequency equal to fIN + fNCO. The NCO frequency can be tuned from –FS/2 to +FS/2 and is processed as a signed, 2s complement number.
The NCO frequency setting is set by the 48-bit register value given and calculated as:
where:
The NCO programming is illustrated with this example:
Table 8-9 shows the register writes to set frequency 0 of the NCO of DDC0 to that frequency:
ADDR | DATA | DESCRIPTION |
---|---|---|
0x200 | 0x3D |
Set the NCO0 frequency to 120MHz (67,553,994,410,557) which is 0x3D70 A3D7 0A3D starting LSB in 0x200. |
0x201 | 0x0A | |
0x202 | 0xD7 | |
0x203 | 0xA3 | |
0x204 | 0x70 | |
0x205 | 0x3D | |
0x165 | 0x00 | Load and update all NCOs with the new frequencies. |
0x165 | 0x01 | |
0x165 | 0x00 | |
0x160 | 0x00 | Issue a manual SYSREF (via pin or SPI SYSREF) to update the NCO frequencies. |
0x160 | 0x04 | |
0x160 | 0x00 |