SBASAO8 June 2025 DAC39RF20
ADVANCE INFORMATION
DDS Stream mode allows to user to send a continuous stream of frequency/phase/amplitude values to the DDS using the JESD204C Interface. This mode is useful for frequency/phase/amplitude modulation/keying. Frequency streaming can also be used to generate complex chirp signals over a wide frequency range while using less JESD204C bandwidth compared to DUC mode.
To put a DSP channel into DDS Stream mode, program DSP_MODEn to DDS Stream mode. DDS Stream mode supports input sample rates of FDACCLK/16, FDACCLK/32, or FDACCLK/64. This is configured by programming the DSP_L register to set the DDS Upsampling factor to 16, 32, or 64. The user must select a JMODE that supports 16-bit samples and supports an LT value that matches the DDS Upsampling factor (16, 32, or 64).
Table 7-14 summarizes some key features of DDS Stream mode.
| Property/Feature | Details |
|---|---|
| Supported JMODEs: | Any 16-bit JMODE that supports the desired setting for JESD_M and DSP_L |
| Number of JESD204C Converters (streams) allocated to each DDS channel: |
2 (32-bits) |
| Supported Values for JESD_M: | 2, 4, 6, 8 |
| Supported Upsampling Factor (DSP_L): | 16, 32, 64 |
| Streaming Options |
Stream frequency, phase, and amplitude (STREAM_MODE[n]=0) Stream frequency only (STREAM_MODE[n]=1) Stream phase and amplitude only (STREAM_MODE[n]=2) |
| Can trigger the DDS by streaming zero amplitude: | Yes |
| Actions that occur when DDS is triggered: | Update non-streamed parameters from FREQ/PHASE/AMP registers. Reset phase accumulator if NCO_AR is set. |
Two 16-bit JESD204C converters (streams) are allocated to each DSP channel according to Table 7-15. The user must program JESD_M to make sure that each DSP channel (that is configured in DDS Stream mode) receives two 16-bit streams. The two 16-bit streams are concatenated to produce a single 32-bit stream (referred to as sdata). The lower stream is the lower 16-bits (sdata[15:0]). The upper stream is the upper 16-bits (sdata[31:16]).
|
JESD204C Converter (Stream) |
DSP Channel Associated with the converter | Contribution to the 32-bit DDS stream (sdata) |
|---|---|---|
| C0 | DSP0 | sdata[15:0] |
| C1 | DSP0 | sdata[31:16] |
| C2 | DSP1 | sdata[15:0] |
| C3 | DSP1 | sdata[31:16] |
| C4 | DSP2 | sdata[15:0] |
| C5 | DSP2 | sdata[31:16] |
| C6 | DSP3 | sdata[15:0] |
| C7 | DSP3 | sdata[31:16] |
If FPA-Stream mode is enabled (STREAM_MODE[n]=0), the DDS interprets sdata[31:1] as frequency or phase+amplitude depending the value of sdata[0]. This is shown in Table 7-16 and Table 7-17. This allows the stream to control all parameters (frequency, phase, amplitude). The phase/amplitude samples are internally delayed by one input sample period (compared to frequency samples). This allows the user to simultaneously change all parameters by sending a phase+amplitude sample immediately followed by a frequency sample.
| sdata[31:1] | sdata[0] |
|---|---|
|
31-bit frequency value (LSB weight is 2-31 * FDAC) |
1’b0 |
| sdata[31:16] | sdata[15:1] | sdata[0] |
|---|---|---|
|
16-bit phase value (LSB weight is 2-16 * 2π radians) |
15-bit amplitude value (unsigned) (LSB weight is 2-15 * full scale) |
1’b1 |
When frequency data is received, the previous phase and amplitude are held. When phase/amplitude data is received, the previous frequency is held. The initial frequency, phase, and amplitude are all zero when the DDS is first enabled (by SYS_EN).
The user can also trigger the DDS by streaming a zero-value amplitude and setting thephase LSB bit PHASE[0] = 1. If NCO_AR[n] is set, this resets the phase accumulator (it resumes accumulation once the signal amplitude is non-zero). This provides a convenient way to generate frequency chirps with a consistent initial phase.
In Frequency/Phase/Amplitude or Phase/Amplitude stream modes (STREAM_MODE[n] = 2), the frequency is determined by the FREQ registers.
In Frequency/Phase/Amplitude or Phase/Amplitude stream modes (STREAM_MODE[n] = 0 or 2), streaming a zero-value amplitude causes the DDS to start using any new value in the FREQ[n] register. This trigger is decoded internally by the DDS and operates independently from the trigger sources defined in DSP Triggering.
Since the JESD204C link can experience bit errors, this can corrupt the sdata[0] bit causing the frequency, phase, or amplitude to be corrupted. The user can periodically toggle sdata[0] to stream all parameters and make sure that any corruption is overwritten periodically. If the user prefers to always send frequency data or always send phase/amplitude data, use the STREAM_MODE register to instruct the DDS to ignore the sdata[0] bit entirely. The options are listed in Table 7-18.
| STREAM_MODEn | Description |
|---|---|
| 0 | FPA-Stream: Dynamically stream frequency/phase/amplitude using the sdata[0] bit. |
| 1 | F-Stream: Only stream frequency samples. The sdata[0] bit is the LSB of the frequency value, allowing 32-bit frequencies. Phase and amplitude are set by the PHASE[n] and AMP[n] registers. |
| 2 | PA-Stream: Only stream phase/amplitude samples (sdata[0] is ignored). Frequency is set by the FREQ[n] register. |
| sdata[31:0] |
|---|
|
32-bit frequency value (LSB weight is 2-32 * FDAC) |
| sdata[31:16] | sdata[15:1] | sdata[0] |
|---|---|---|
|
16-bit phase value (LSB weight is 2-16 * 2π radians) |
15-bit amplitude value (unsigned) (LSB weight is 2-15 * full scale) |
don't care |