local time: :: ()
heure officielle (en France) : ::(TZ:)
Heure UTC client: :: Offset client: s - delai: ms - - timeZone: Heure UTC: ::This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
en:example_of_development_around_the_ad9959_dds [2016/03/14 08:32] fwiotte created |
en:example_of_development_around_the_ad9959_dds [2016/03/14 08:44] (current) fwiotte |
||
---|---|---|---|
Line 10: | Line 10: | ||
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 . | 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 . | ||
+ | {{:en:ad9959.pdf|}} | ||
+ | |||
+ | The DDS was programmed via a 16-bit microcontroller from TI MSP430F169 to the 8MHz clock : http://www.ti.com/lit/ds/symlink/msp430f1611.pdf . | ||
+ | |||
+ | The MSP430 programming environment IAR Workbench Embdedded downloaded from the Texas Instruments website . http://www.iar.com/Products/IAR-Embedded-Workbench/TI-MSP430 | ||
+ | |||
+ | 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. http://www.ti.com/tool/EK-TM4C123GXL 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) | ||
+ | ... |