Wednesday, November 13, 2013

Fixed AD5932 Control, 100 kHz to 1 MHz

Fixed the programming of the AD5932 frequency generator. I changed the bit of the control register that defines how the frequency registers are program so that the two Fstart and two deltaf registers are programmed separately rather than sequentially. I think that since the Arduino can only transfer 8 bits over SPI at a time, the small delay between the two bytes being sent wasn't received too well.

I also measured some sort of divider constant. If I programmed, say, 100 kHz straight into the Fstart register, the sweep wouldn't actually start at 100 kHz. I measured how far off from what I wanted Fstart to be the first frequency was for various divider constants applied to the value programmed into the AD5932. Using the slope from these measurements I ended up using a divider constant of 100 to get the sweep to start at the frequency I wanted.

I also did a similar technique to get a divider constant for the frequency increment.

I'm going to read over the AD5932 datasheet again to make sure they don't provide these constants. Because I have no memory of this sort of thing being mentioned in the datasheet at all.


No comments:

Post a Comment