AD5930 Gotcha's

Discussion created by bcoleman on Feb 28, 2014

Given a recent 'fight' to implement a saw sweep from 2285Hz to 3000Hz over a 150ms period with a 1.544MHz clock, I figured I would share my insights for anyone else who may encounter similar issues.  I wish I had read this two weeks ago ...


  1. If you are new to this, read AN-1044 to get a better understanding of how to compute the register contents.

  2. If you are setting B24 to '1' in the CTRL register then be certain to write the lower word of the FSTART parameter first and then the upper word.

    SPIWrite (CTRL);
    SPIWrite (FSTART_LSB);
    SPIWrite (FSTART_MSB);

  3. If you are using an eight bit micro's SPI peripheral, be sure to drop FSYNC low and then SPIWrite both eight bit portions before asserting FSYNC high.

    void SPIWrite ( uint16 spiWord) {
        SPIWriteByte (spiWord >> 8);  //bit 15 first
        SPIWriteByte (spiWord & 0xFF); //bit 0 last
    void SPIWriteByte ( uint8 spiByte) {
        // however you send a byte to the SPI peripheral

  4. If you are intending to do a SAW_SWEEP then make absolutely certain that you pulse CTRL from low to high and back to low maintaining the minimum timing requirements of the datasheet, Rev B.  Don't believe the datasheet which implies that CTRL can remain HIGH.  Doesn't work for SAW_SWEEP.  If you fail to observe this then you will pull your hair out trying to get something other than a TRI_SWEEP.  Trust me, NOTHING else works.  Pulse CTRL and go home early.

  5. If you only intend to use a single ended output, ie, you only need the voltage developed across a 200 ohm load on IOUTA then you MUST ensure that IOUTB is also terminated with a 200 ohm load.  If you forget, you will get the craziest distorted psuedo-sinusoid on your terminated IOUT channel.  It will also exhibit an exceptionally high DAC midscale point (I measured about 750mV).  It will definitely push your development cycle out by a couple of weeks at least :-) and you will increase AD's revenue for the quarter as you are constantly replacing chips thinking they are dead or counterfeit.

  6. As a positive plug, the Evaluation board was worth the purchase as it gave a point of comparison when things were going south on our board.  Also, while I always attempt to feed myself before asking someone else to help me hold the spoon, sometimes having a sounding board in the form of an apps engineer is exactly what the doctor ordered.  Thanks Joe!

Maybe this is obvious to everyone else, but I could not find this info documented anywhere ... even in the datasheet.


I think I will go home early tonight ...


Message was edited by: Billy Coleman - removed double && from spiWord && 0xFF