SBASAO8 June 2025 DAC39RF20
ADVANCE INFORMATION
Table 8-249 lists the memory-mapped registers for the NCO_and_Mixer registers. All register offset addresses not listed in Table 8-249 should be considered as reserved locations and the register contents should not be modified.
Complex bit access types are encoded to fit into small table cells. Table 8-250 shows the codes that are used for access types in this section.
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| R-0 | R -0 | Read Returns 0s |
| Write Type | ||
| W | W | Write |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
NCO_CNTL is shown in Table 8-251.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-3 | RESERVED | R | 0x0 | |
| 2 | NCO_SC | R/W | 0x0 | Self-Coherent NCO Mode: If this bit is set, all NCOs use the reference counter from the NCO in DDS/DUC channel 0. This is typically used along with the NCO_SS register. This only impacts phase-coherent mode (NCO_CONT=0). |
| 1 | RESERVED | R | 0x0 | |
| 0 | NCO_EN | R/W | 0x0 | When set, DUC samples are mixed with the NCO. When cleared, the mixer is bypassed. This only applies to DUC mode and has no effect on DDS modes (see DSP_MODE). |
NCO_CONT is shown in Table 8-252.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-4 | RESERVED | R | 0x0 | |
| 3-0 | NCO_CONT | R/W | 0x0 | For each bit NCO_CONT[n], if set, NCOn operates in phase-continuous mode. This means that frequency changes occur without seeding the phase accumulator. If the bit is clear, NCOn operates in phase-coherent mode. During frequency changes, the phase accumulator is seeded from a master counter. This means that if changing from frequency A to B and then back to A, the phase returns to what it would have been if the change never occurred. NCO_CONT only applies to DUC mode and DDS SPI mode (see DSP_MODE). |
NCO_AR is shown in Table 8-253.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-4 | RESERVED | R | 0x0 | |
| 3-0 | NCO_AR | R/W | 0x0 | For each bit NCO_AR[n], if set, the accumulator for NCOn will be reset on every trigger event directed to DSPn. NCO_AR only applies to DUC mode and DDS Stream Mode (see DSP_MODE). See DSP Triggering |
STREAM_MODE is shown in Table 8-254.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-6 | STREAM_MODE3 | R/W | 0x0 | STREAM_MODEn configures the streaming mode for DSPn. This applies only to DSP channels configured for DDS Stream Mode. Note: This register should only be changed when SYS_EN=0.
|
| 5-4 | STREAM_MODE2 | R/W | 0x0 | see STREAM_MODE3 |
| 3-2 | STREAM_MODE1 | R/W | 0x0 | see STREAM_MODE3 |
| 1-0 | STREAM_MODE0 | R/W | 0x0 | see STREAM_MODE3 |
NCO_SS is shown in Table 8-255.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-1 | RESERVED | R | 0x0 | |
| 0 | NCO_SS | R/W | 0x0 | If this bit is set, all NCOs will continuously self-synchronize every 256 DAC clock cycles. Most applications will not use this, but in a radiation environment, the user can set NCO_SS to continuously transfer the upset-immune AMP, FREQ and PHASE register values to the internal (non-immune) registers inside the NCOs. This is helpful for generating tones under radiation without the need for an external, periodic synchronization source (such as SYSREF). NCO_SS can be changed while the NCOs are operating (SYS_EN=1). To write a new FREQ, AMP, or PHASE value, clear NCO_SS first, and then set it again after the new values are written. All values go into effect simultaneously on all NCOs. The user should ensure that NCO_AR=0 whenever NCO_SS=1 (otherwise the NCO accumulators and/or reference counters keep getting reset). If the user also sets NCO_SC=1 and NCO_CONT=0, then all four NCOs will maintain coherency with each other under radiation (but coherence with an external component is not guaranteed). Each NCO accumulator is continuously seeded from the reference counter in DUC/DDS channel 0. This feature can be used to generate coherent harmonic tones to cancel out harmonic distortion in the DAC. This can be used for DUC mode, DDS SPI mode, and DDS Stream mode. |
NCO_SQ_MODE is shown in Table 8-256.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-4 | RESERVED | R | 0x0 | |
| 3-0 | NCO_SQ_MODE | R/W | 0x0 | For each bit NCO_SQ_MODE[n], if set, the output of NCOn will produce a square waveform instead of a sine/cosine waveform. NCO_SQ_MODE only applies to DDS modes (see DSP_MODE). In this mode, the SLEW and DUTY_CYCLE registers can be used to customize the slew rate and duty cycle of the waveform. See NCO Square Wave Mode. If a DSP channel is configured to produce a square wave, the user should bind that DSP exclusively to a DAC output (i.e. do not sum any other DSP channels into the same DAC). Note: This register should only be changed when SYS_EN=0. |
NCO_SQ_EN is shown in Table 8-257.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-4 | RESERVED | R | 0x0 | |
| 3-0 | NCO_SQ_EN | R/W | 0x0 | If NCO_SQ_SELn = 0, then NCO_SQ_EN[n] acts as the enable signal for the square wave output of NCOn. See Square Wave Enable. |
NCO_SQ_SEL is shown in Table 8-258.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15 | RESERVED | R | 0x0 | |
| 14-12 | NCO_SQ_SEL3 | R/W | 0x0 | NCO_SQ_SELn selects which pin or register will act as the waveform enable for NCOn. Applies only to NCO Square Wave Mode. See also Square Wave Enable. Note 1: These settings always uses a physical TRIG pin, even if SYNCB_PIN_FUNC is assigning SYNCB as an alternate input for a TRIG pin. Note 2: The SYNCB input is active high in this mode. When using NCO_SQ_SELn=5, ensure that JENC=1 and SYNCB_PIN_FUNC=0.
|
| 11 | RESERVED | R | 0x0 | |
| 8 | RESERVED | R | 0x0 | |
| 10-8 | NCO_SQ_SEL2 | R/W | 0x0 | See NCO_SQ_SEL3 |
| 7 | RESERVED | R | 0x0 | |
| 6-4 | NCO_SQ_SEL1 | R/W | 0x0 | See NCO_SQ_SEL3 |
| 3 | RESERVED | R | 0x0 | |
| 2-0 | NCO_SQ_SEL0 | R/W | 0x0 | See NCO_SQ_SEL3 |
FREQ_0 is shown in Table 8-259.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 63-0 | FREQ[0] | R/W | 0x0 | Specifies the frequency for NCO0. Used in DUC mode, DDS SPI mode, and DDS Stream (phase) mode. The NCO frequency (FNCO) is: FNCO = FREQ[0] * 2-64 * FDACCLK FDACCLK is the sample frequency of the DAC. FREQ[0] is the integer value of this register. This register can be interpreted as signed or unsigned (both interpretations are valid). Use this equation to determine the value to program: FREQ[0] = 264 * FNCO /FDACCLK Note: Changes to this register do not take effect until DSP0 receives a trigger (see DSP Triggering). Note: FREQ[0] should not be updated inside a window of +-320 DAC cycles around the initiation of a trigger event on DSP0. |
FREQ_1 is shown in Table 8-260.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 63-0 | FREQ[1] | R/W | 0x0 | See FREQ[0] |
FREQ_2 is shown in Table 8-261.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 63-0 | FREQ[2] | R/W | 0x0 | See FREQ[0] |
FREQ_3 is shown in Table 8-262.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 63-0 | FREQ[3] | R/W | 0x0 | See FREQ[0] |
PHASE_0 is shown in Table 8-263.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | PHASE[0] | R/W | 0x0 | Specifies the phase for NCOn. Used in DUC mode, DDS SPI Mode, and DDS Stream (frequency) mode. This value is left justified into a 64-bit field and then added to the phase accumulator. The phase (in radians) is PHASE[0] * 2-16 * 2Ï€. This register can be interpreted as signed or unsigned. Note: Changes to this register do not take effect until DSP0 receives a trigger (see DSP Triggering). Note: PHASE[0] should not be updated inside a window of +-320 DAC cycles around the initiation of a trigger event on DSP0. |
PHASE_1 is shown in Table 8-264.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | PHASE[1] | R/W | 0x1 | See PHASE[0] |
PHASE_2 is shown in Table 8-265.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | PHASE[2] | R/W | 0x2 | See PHASE[0] |
PHASE_3 is shown in Table 8-266.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | PHASE[3] | R/W | 0x3 | See PHASE[0] |
AMP_0 is shown in Table 8-267.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | AMP[0] | R/W | 0x0 | Specifies the DDS amplitude for DSP (DDS) channel 0. 16-bit signed value. This register applies to DDS SPI Mode and DDS Stream Mode (see DSP_MODE). For DDS Stream mode, this register is only used when AMP_STREAM=0. Note: Changes to this register do not take effect until DSP0 receives a trigger (see DSP Triggering). Note: AMP[0] should not be updated inside a window of +-320 DAC cycles around the initiation of a trigger event on DSP0. |
AMP_1 is shown in Table 8-268.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | AMP[1] | R/W | 0x0 | See AMP[0] |
AMP_2 is shown in Table 8-269.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | AMP[2] | R/W | 0x0 | See AMP[0] |
AMP_3 is shown in Table 8-270.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | AMP[3] | R/W | 0x0 | See AMP[0] |
SLEW0 is shown in Table 8-271.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-4 | RESERVED | R | 0x0 | |
| 3-0 | SLEW0 | R/W | 0x0 | Specifies the slew time for DDS square waves for DDS channel n. Applies only to NCO Square Wave Mode. The legal range is from 0 to 9. Higher values produce a faster slew rate (shorter slew time). The slew time in degrees is: 90*2-SLEW0 The slew time in radians is: 0.5Ï€*2-SLEW The slew time in seconds is: 0.25*2-SLEW0 / FNCONote: Changes to this register take effect when DSP0 receives a trigger (see DSP Triggering), or while the square wave output is gated low. See Square Wave Enable. |
SLEW1 is shown in Table 8-272.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-4 | RESERVED | R | 0x0 | |
| 3-0 | SLEW1 | R/W | 0x0 | See SLEW0 |
SLEW2 is shown in Table 8-273.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-4 | RESERVED | R | 0x0 | |
| 3-0 | SLEW2 | R/W | 0x0 | See SLEW0 |
SLEW3 is shown in Table 8-274.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 7-4 | RESERVED | R | 0x0 | |
| 3-0 | SLEW3 | R/W | 0x0 | See SLEW0 |
DUTY_CYCLE0 is shown in Table 8-275.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-12 | RESERVED | R | 0x0 | |
| 11-0 | DUTY_CYCLE0 | R/W | 0x800 | Specifies the duty cycle for DDS square waves for DDS channel n. Applies only to NCO Square Wave Mode. The default value (2048 decimal) provides a duty cycle of 50%.The duty cycle (in percent) is equal to 100% * DUTY_CYCLE0/4096brbr#Note: Changes to this register take effect when DSP0 receives a trigger (see DSP Triggering), or while the square wave output is gated low. See Square Wave Enable. |
DUTY_CYCLE1 is shown in Table 8-276.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-12 | RESERVED | R | 0x0 | |
| 11-0 | DUTY_CYCLE1 | R/W | 0x800 | See DUTY_CLCYE0 |
DUTY_CYCLE2 is shown in Table 8-277.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-12 | RESERVED | R | 0x0 | |
| 11-0 | DUTY_CYCLE2 | R/W | 0x800 | See DUTY_CLCYE0 |
DUTY_CYCLE3 is shown in Table 8-278.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-12 | RESERVED | R | 0x0 | |
| 11-0 | DUTY_CYCLE3 | R/W | 0x800 | See DUTY_CLCYE0 |
FREQ_R_0 is shown in Table 8-279.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 63-0 | FREQ_R[0] | R | X | This provides a readback of the frequency setting that is currently in use by DUC/DDS channel 0. The frequency could be determined by the FREQ register or another source. The value is sampled as each byte is read, so it may return incoherent data if the frequency changes during readback. |
FREQ_R_1 is shown in Table 8-280.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 63-0 | FREQ_R[1] | R | X | See FREQ_R[0] |
FREQ_R_2 is shown in Table 8-281.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 63-0 | FREQ_R[2] | R | X | See FREQ_R[0] |
FREQ_R_3 is shown in Table 8-282.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 63-0 | FREQ_R[3] | R | X | See FREQ_R[0] |
PHASE_R_0 is shown in Table 8-283.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | PHASE_R[0] | R | X | This provides a readback of the phase setting that is currently in use by DUC/DDS channel 0. The phase could be determined by the PHASE register or another source. The value is sampled as each byte is read, so it may return incoherent data if the phase changes during readback. |
PHASE_R_1 is shown in Table 8-284.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | PHASE_R[1] | R | X | See PHASE_R[0] |
PHASE_R_2 is shown in Table 8-285.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | PHASE_R[2] | R | X | See PHASE_R[0] |
PHASE_R_3 is shown in Table 8-286.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | PHASE_R[3] | R | X | See PHASE_R[0] |
AMP_R_0 is shown in Table 8-287.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | AMP_R[0] | R | X | This provides a readback of the amplitude setting that is currently in use by DDS channel 0. Format is 16-bit signed. The amplitude could be determined by the AMP register or another source. In non-DDS modes, the return value is undefined. The value is sampled as each byte is read, so it may return incoherent data if the amplitude changes during readback. |
AMP_R_1 is shown in Table 8-288.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | AMP_R[1] | R | X | See Amp_R[0] |
AMP_R_2 is shown in Table 8-289.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | AMP_R[2] | R | X | See Amp_R[0] |
AMP_R_3 is shown in Table 8-290.
Return to the Summary Table.
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 15-0 | AMP_R[3] | R | X | See Amp_R[0] |