AnsweredAssumed Answered

AD9834 SPI

Question asked by pjbres on May 15, 2012
Latest reply on May 16, 2012 by pjbres



This is my first time using SPI with the chip. I followed the AN-1070 using the AD9834's evaluation board. I'm using the FSYNC, SDATA, and SCLK lines, and tied RESET to GND. The chip does respond to this initialization sequence, but not in a controlled way. It goes from midscale output to a ~37.5MHz very unclean wave. It looks more like a sawtooth than a clean sine wave, but isn't even a perfect sawtooth.


I've tried a few different approaches: the one that gives some response is to give all 80 MOSI bits sequentially without ever idling in between (5x the 16 bit registers as listed in AN-1070). I've also tried to give 5 discrete 16 bit registers, bringing FSYNC high in between each.


I've watched the three SPI lines on a scope and believe I'm following the timing diagram as described in the AD9834 datasheet (page 6) but I'm clearly still missing something.

Could you please point me in the right direction if it sounds like I'm doing something obviously wrong (do I need to toggle the reset pin in addition to using the reset bit DB8)? Also, if anyone has done this using a LabVIEW FPGA target, could you share code?

It would be great to see some very simple code (Arduino or C, for example) that executes this command sequence without any peripheral commands, too.

Thanks in advance for anyone's help!