34 Canyon View Drive Orinda, CA., 94563 p:925.253.2969 f:925.253.4894
Ext_Mod bit is set to FALSE.
void Set_Active_Profiles(UINT ProfileA, UINT ProfileB, BOOLEAN verbose_flag);
At Reset, the board is set to Internal Modulation (External_Modulation bit set to FALSE). Enabling
External Modulation is accomplished by setting the External_Modulation bit to TRUE. External
Modulation is discussed in section 8.4. A value of FALSE will disable the external modulation
capability. Note that changing the Ext_Mod bit can cause an “update event” if the external TTL bits
(profile) are set differently than the internal (software controlled) bits (profile). This (usually) unwanted
behavior can be avoided by ensuring that the TTL bits are set to the same profile selection as the
internal bits before the Ext_Mod bit is changed.
void Set_Ext_Mod(BOOLEAN Ext_Mod, BOOLEAN verbose_flag);
Each DDS has the ability to autoclear any combination of frequency and phase accumulators upon an
“update event”. By setting the corresponding frequency or phase autoclear bit, the programmer can
ensure frequency and phase accumulator zeroing upon receipt of an “update event”. Setting the
corresponding BOOLEAN to TRUE will cause an autoclear upon an “update event” for (respectively)
SynthA_Freq, SynthA_Phase, SynthB_Freq, SynthB_phase accumulators.
void Enter_Synth_AutoClear(BOOLEAN A_f_auto, BOOLEAN A_p_auto, BOOLEAN B_f_auto,
BOOLEAN B_p_auto, BOOLEAN verbose_flag);
Frequency sweeping capability involves two parts. The first part of setting up a frequency sweep is to
enter the desired sweep rate parameters to the corresponding DDS. This is done by use of the
Enter_Sweep_Rate function. The first argument identifies which DDS is targeted (FALSE = SynthA,
TRUE = SynthB).
The second and third arguments specify the sweep rate to the DDS core. Care must be taken to
design the sweep properly, as there are tradeoffs in the sweep design. The second argument specifies
the increment to the frequency accumulator. It is a signed number, allowing for negative sweeping.
The Third variable FreqRampRate specifies the number of 125MHz clock cycles between each update
to the frequency accumulator. It is an unsigned number, with a minimum value of 1. In general, one
desires to use the minimum FreqRampRate word possible while satisfying the sweep rate in order to
have the least granularity in the resulting swept waveform. Further information and guidance is
incorporated in the code SynthAPI.cpp and in the AD9858 datasheet.
Note that a separate function call to Enter_Synth_Sweeping is required to enable the frequency
sweep.
void Enter_Sweep_Rate(BOOLEAN SynthB_flag, UINT FreqStep, UINT FreqRampRate, BOOLEAN
verbose_flag);
The second part of setting up a frequency sweep is to enable the frequency sweeping capability on the
DDS. The programmer can, if desired, set up a frequency sweep using the above Enter_Sweep_Rate
function, and wait to enable it by leaving the corresponding DDS frequency sweep disabled (such an
approach is often used in conjunction with the Set_Arm_Write command for dwell_f1/sweep/dwell_f2
applications). In order to enable sweeping, the frequency sweep enable bit must be set in the
corresponding DDS core. This is accomplished through the use of the Enter-Synth_Sweeping
r1v06
Page
23
of
31
Copyright © 2008 – 2010 Furaxa Inc.