Wednesday, November 20, 2013

Logarithmic Frequency Increase

Set up a program to logarithmically increase the frequency of the AD5932. It operates in 3 decades, 10kHz - 100kHz, 100kHz - 1MHz, and 1MHz to 10 Mhz. It does 9 frequencies in each decade, spaced evenly across the decade.

The video below has a couple errors, it repeats 100 kHz twice and doesn't reach 10MHz, instead stopping at 9MHz. That has since been fixed.


Tuesday, November 19, 2013

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.


Tuesday, November 12, 2013

AD5932 Control

I've somewhat successfully programmed the Arduino to control the AD5932. For some reason every other frequency is a jumbled mess. Not entirely sure why. I'm going to try continuous increments rather than CTRL pin-based increments tomorrow.