User Tools

Site Tools

Translations of this page:

local time: :: ()

heure officielle (en France) : ::(TZ:)

Heure UTC client: :: Offset client: s - delai: ms - - timeZone: Heure UTC: ::


  • NCO
  • Correlators
  • Digital noises :
    • phase noise
    • jitter
    • time stabitlity
  • Time to Digital Converters
  • Synchronous Detection
  • ADC/DAC choice for Time and Frequency
  • Measures of Sphi(f) & sigma_y(tau)
  • Timing in networks
  • Servo controls (fiber links, …)
  • Experimentations for fréquency generation
    • cold atoms
    • spectral hole burning
    • ions
  • « Officials » datations
  • Counters, with or without dead time.
  • Softwares
  • Drivers
  • IP cores (FPGA)
  • Chipscope

I will introduce an electronic development based on a DDS, the AD9959 .

The latter has been used as part of the electronics of the repeater stations developed for REFIMEVE + project.

to the laboratory LPL for a research team working on a condensed atoms we developed an electronic -based multiple DDS ( AD9959 ) , see below :

Dress Project RF trap quadrupole based DDS

The objective of the developed electronics was to send the circular polarization RF with two antennas at a magnetic trap .

From an external clock signal , both channels must be in phase quadrature and then changed later manipulation of the PC . The outputs are programmable numerically (frequency, amplitude, phase ..) with a program written in LabWindows CVI .

The DDS is part of a series of specific components of Analog Device , this program only in serial (SPI) knowing that others DDS accept two modes: SPI and Parallel. The clock frequency is 500MHz and it can provide four output RF : DC- 200MHz . I will introduce the basic elements for the DDS program knowing that it can be applied to other DDS from the same family . Below doc of the AD9959 . ad9959.pdf

The DDS was programmed via a 16-bit microcontroller from TI MSP430F169 to the 8MHz clock : .

The MSP430 programming environment IAR Workbench Embdedded downloaded from the Texas Instruments website .

I recommend buying the MSP430USB debugging kit that allows MSP- FET430UIF a step by step debugging if you want to use this microcontroller family .

Of course many other microcontroller can beings used from the time that we have at least a SPI port. In this case a development with The AD9959 has been realized with Atmel microcontroller Arduino due, Microcontroller 32-bit ARM core @ 84MHz SPI clock and son loading 4wires .

The latest developments in electronic service have made summers with an ARM Cortex 4 @ 80MHz Tiva IT TM4C123GH6PM series. with the AD9852, AD9911 to the AD9959 and AD9858 from Analog Device.

I will present the latest developments with DDS as a programming interface ARM Cortex microcontroller 4 @ 80MHz Tiva IT TM4C123GH6PM series.

How to read the datasheet of a DDS!

The different registers of DDS: the AD9959

The first register to be programmed is the CSR register: Table 28 datasheet

  CSR register (channel select register)
  One byte is assigned to When this register: number of register bytes
  CSR serial address = 0x00;
  CSR default value = 0xF0;

This activates the register output channels and SPI modes: By default all channels are activated, and the SPI mode Single-bit serial 2-wire is selected. It is obviously possible to redefine the register after application.

The second register is the register FR1: Table 28 datasheet

  register FR1 (function register 1)
  three bytes is assigned to When this register: number of register bytes
  FR1 serial address = 0x01;
  FR1 default value = 0x00;

This registry allows others to define the internal PLL and the multiplier x4 to x20. For example, the value to be provided to enable EN1 = x20 ⇒ 0xD00000 PLL; In this case it is sufficient to provide a quartz 25MHz PLL with activated PIN x20 clock was 500MHz 22 and 23 of the DDS.

The third register is the register table CFR 29 datasheet

  register CFR (Channel Function Register)
  three bytes is assigned to When this register: number of register bytes
  CFR serial address = 0x03;
  CFR default value = 0x302;

This register defines the different register DDS.Ce operating mode is important if you use certain modes of operation: frequency sweep, phase or amplitude. Important default output are DAC full-scale current mode.

The fourth register is the register CFTW0: Table 29 datasheet

  CFTW0 register (Channel Frequency Tuning Word 01)
  oven bytes is assigned to When this register: number of register bytes
  CFTW0 serial address = 0x04;
  CFTW0 default value = 0x00;

This register to return the desired frequency according to the relation below:

  FTW0 = output frequency x 2 ^ 32 / frequency clock

The registry is the fifth CPOW0 table 29 of the datasheet register

  CPOW0 register (Channel Phase Offset Word 01)
  two bytes is assigned to When this register: number of register bytes
  CPOW0 serial address = 0x05;
  CPOW0 default value = 0x00;

This register defines the phase of the output signal coded on 14 bits with the following relationship:

  CPOW0 Delta phi = x ^ 2 14/360 °

The sixth register is the ACR register: Table 29 datasheet

  ACR register (Amplitude Control Register)
  two bytes is assigned to When this register: number of register bytes
  CAB serial address = 0x06;
  ACR default value = 0x00;

This register sets the amplitude. By default amplitude is programmable full scale mode, but if you change the CFR register.

The other registers are useful to program the DDS for scans frequencies, phases and amplitudes in others.

  FR2 register (Function Register 2)
  LSRR register (Linear Sweep Ramp Rate1)
  FDW register (LSR Falling delta word1)
  RDW register (LSR Risingdelta word1)
  CW1 register (Channel Word 1)
en/example_of_development_around_the_ad9959_dds.txt · Last modified: 2016/03/14 08:44 by fwiotte