AnsweredAssumed Answered

Single Tone Mode of AD9959 with Teensy

Question asked by domel on Jul 27, 2018

I need help setting up and programming Teensy 3.6 to externally control AD9959 and get single frequency output. Currently, I can control the output frequency using the AD9958_59 software, but I'm having difficulty in setting it up to control AD9959 externally with the Teensy.


At first, I downloaded the Arduino library from the following GitHub page: GitHub - cjheath/AD9959: AD9959 4-channel Direct Digital Synthesis Arduino Library and set everything as follows (please also check the attached photo): 

   * The jumper pins: W1, W2, W3, and W10 are removed, and W7 is set to "MANUAL."

   * I use 25MHz reference clock (CRYSTEK, CPRO33-25.000), and the pins are connected as follows:


U2 port:

   IO_UPDATE to pin 31 on Teensy

   CSB to pin 4 on Teensy

   SCLK to pin 13 on Teensy

   RESET to pin 3 on Teensy

   PWR_DWN to pin 30 on Teensy

   SDIO_3 to Ground

   SDIO_2 (MISO) to pin 12 on Teensy

   SDIO_1 to Ground

U13 port:  SDIO_0 to pin 11 on Teensy


With this setup, I used the code based on the GitHub page (attached file: AD9959_test1.ino). But I didn't see a 50 MHz sine wave output. 


Then I wrote my own program and followed the steps 1-5 described on page 19 of AD9959 Datasheet:

   1. Power up the DUT and issue a master reset.

   2. Enable only one channel enable bit.

   3. Program the desired frequency tuning word and/or phase offset word. 

   4. Repeat step 2 and 3 for each channel. (I like to try for only channel 0, so I skipped this step.)

   5. Send an I/O update signal.

With an oscilloscope, I can see that the correct output signal is sent from Teensy to AD9959. But I still don't get the frequency output and I don't know what I am doing wrong.


I will be really thankful to you if I can get any advice on this.