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:
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.