![Alpha Data XRM(2)-DAC-D4/1G Скачать руководство пользователя страница 27](http://html1.mh-extra.com/html/alpha-data/xrm-2-dac-d4-1g/xrm-2-dac-d4-1g_user-manual_2905503027.webp)
XRM(2)-DAC-D4/1G User Guide
V2.2 - Mar 8, 2018
Once the required register value Val is calculated as above, the actual increment applied to each core is 4*Val,
with the inital phase accumulator value for each core offset fromt the preceding one by Val. Thus core 0
produces the values for sample numbers 0,4,8 ..., core 1 produces the values for sample numbers 1,5,9 .., core
2 produces the values for sample numbers 2,6,10 .. and core 3 produces the values for sample numbers 3,7,11
.. etc.
In a similar fashion the starting phase of each channel (nominally 0 degrees) can be specified to produce
quadrature, anti-phase or arbitrary phase offsets between the I and Q channels. The initial phase value is scaled
in the same way as frequency increments
A value of 0x8000_0000 corresponds to a phase offset of 180 degrees. The initial phase offset is given by:
Offs = 360 degrees * RegVal/(2
32
)
where RegVal is the register setting
This offset is used to calculate and load the necessary offset into each core, with core 0 receiving an offset of
Offs, core 1 receiving an offset of 2*Offs,core 2 receiving an offset of 3*Offs and core 3 receiving an offset of 4*
Offs.
Typically this offset is written to only one channel.
3.3.2 Ramp Waveform Generator
For simple ramp generation, the increment value Inc at the DAC sample clock frequency is calculated.
The increment Inc is determined by the normalised frequency according to the value:
Inc= 2
16
* F
norm
since the DAC is a 16 bit device.
Four ramp accumulators are used in parallel, with each accumulator incremented by 4*Inc and each offset from
the preceding one by Inc in the same manner as ther sine wave generation.
Data simply rolls over, so non integer divisions of 2^16 will produce ramps with different starting points but the
same slope on each cycle until the starting value is reached again
3.3.3 Triangle Waveform Generator
For triangle generation, 3 registers are used. The 16-bit start and end values, specified in a single 32-bit register,
force the signal value at the zero-crossing points of the positive and negative ramp generation.
The 16-bit slope values ( for positive and negative slopes) are used to increment the start and end values
respectively and are specified in a single 32-bit register.
A third 32-bit register is used as a pair of 16-bit values specifying the number of increments applied for the
positive and negative edges.
This ensures that consistent triangle waveforms are produced; note that the frequencies and slopes possible are
constrained by the fact that four samples must be produced on each FABRCLK cycle and that waveforms must
be repetitive.
The slope value is calculated based on the DAC sample clock.
Four ramp accumulators are used in parallel, with each accumulator incremented by 4*the slope value with each
accumulator offset from the preceding one by the slope value in the same manner as ther sine wave generation.
Page 23
VHDL Structure
xrm-dac-d4-1g-manual_v2_2.pdf