Shop OBEX P1 Docs P2 Docs Learn Events
Any reviews of the AD9833? — Parallax Forums

Any reviews of the AD9833?

SSteveSSteve Posts: 808
edited 2010-04-28 23:22 in Propeller 1
I'm looking at using an AD9833 in a project. It looks great, but I was wondering if anyone has experience with one. It looks like a 1MHz clock will get me to 500kHz with .004Hz resolution. That would be more than ideal for what I'm working on.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
OS-X: because making Unix user-friendly was easier than debugging Windows

links:
My band's website
Our album on the iTunes Music Store

Comments

  • TubularTubular Posts: 4,717
    edited 2010-03-18 02:09
    SSteve,

    I'm familiar with some similar DDS's from Analog devices. They work great, but you need to understand the phase accumulation and jitter to really understand if it will work in your application. I am assuming you are after a sine/triangle output rather than square wave, because if you wanted square wave the prop itself can already do a similar thing with any one of its 16 cog counters, which have 32 bit phase accumulation as opposed to the AD9833's 28 bits
  • LeonLeon Posts: 7,620
    edited 2010-03-18 02:15
    I got a couple of samples when they first came out and designed a simple PCB. I controlled it from the PC printer port for testing.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Leon Heller
    Amateur radio callsign: G1HSM

    Post Edited (Leon) : 3/18/2010 2:21:10 AM GMT
  • SSteveSSteve Posts: 808
    edited 2010-03-18 02:33
    Tubular said...
    They work great, but you need to understand the phase accumulation and jitter to really understand if it will work in your application.
    Sorry to be dense, but by "phase accumulation" do you mean being able to calculate the 28-bit phase value for the desired frequency?
    Tubular said...
    I am assuming you are after a sine/triangle output rather than square wave
    Yes, I'm going for a sine wave.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    OS-X: because making Unix user-friendly was easier than debugging Windows

    links:
    My band's website
    Our album on the iTunes Music Store
  • LeonLeon Posts: 7,620
    edited 2010-03-18 02:45
    The function of the phase accumulator is described in the data sheet.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Leon Heller
    Amateur radio callsign: G1HSM
  • tdlivingstdlivings Posts: 437
    edited 2010-03-18 03:19
    A 1 MHZ clock is not really enough for 500 KHZ out. Even though Nyquist is satisfied the signal will
    be very chunky.
    Go to Analog Devices site at http://designtools.analog.com/dtDDSWeb/dtDDSMain.aspx
    and enter in some values for the AD9833 and you can see the analog wave produced.

    I also attached an article explaining DDS.

    I have a couple of chips myself and plan on playing with them in the near future.
    Assuming I can solder successfully the tiny chip Ha.

    Tom
    pdf
    591K
    dds.pdf 590.8K
  • SSteveSSteve Posts: 808
    edited 2010-03-18 04:24
    tdlivings said...
    A 1 MHZ clock is not really enough for 500 KHZ out. Even though Nyquist is satisfied the signal will be very chunky.

    Go to Analog Devices site at http://designtools.analog.com/dtDDSWeb/dtDDSMain.aspx and enter in some values for the AD9833 and you can see the analog wave produced.

    I'm probably not going much above 30kHz (possibly 45kHz), so I should be ok. But with that awesome tool I'll know for sure. Thanks so much for the link.
    tdlivings said...
    I also attached an article explaining DDS.

    Cool. I'll do some reading.
    tdlivings said...
    I have a couple of chips myself and plan on playing with them in the near future. Assuming I can solder successfully the tiny chip Ha.

    Well, there's this: www.ezprototypes.com/DipAdaptersMain.php and this: www.schmartboard.com/index.asp?page=products_so&id=60. Maybe one of those will help.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    OS-X: because making Unix user-friendly was easier than debugging Windows

    links:
    My band's website
    Our album on the iTunes Music Store
  • LeonLeon Posts: 7,620
    edited 2010-03-18 04:31
    A properly designed PCB is required if you want a clean signal. Details are in the data sheet.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Leon Heller
    Amateur radio callsign: G1HSM
  • SSteveSSteve Posts: 808
    edited 2010-04-26 21:33
    Just to follow up: We got a couple samples and a DIP adapter (www.ezprototypes.com/DipAdaptersMain.php) and I hooked one up on a Propeller Demo Board. It works great. I use a counter output as the clock source for the AD9833.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    OS-X: because making Unix user-friendly was easier than debugging Windows

    links:
    My band's website
    Our album on the iTunes Music Store
  • tdlivingstdlivings Posts: 437
    edited 2010-04-26 22:18
    Hi SSteve

    Been doing the same here. For me interfacing the AD9833·is a mule learning project.

    Long term I will turn it into a test bench signal generator but allong the way I will

    use it to learn propeller concepts and programming. Like you I used a cog counter to

    generate the refrence clock, which I did on purpose to learn cog counters and because

    I·figured it had jitter and I wanted to see what it looked like. Originally I generated 25MHZ

    and I had to use trigger·hold off and bandwidth limit to even get a stable trace. Then I changed

    to 20MHZ because that made frqa = to 2^28 and even power of 2 and the stability was·significantly

    better. All a learning experiment. For the initial tests·I am just feeding it a blizzerd of fixed values.

    That was also a learning event doing shift out and timing of the Fsync signal.

    I am testing a driver I wrote and a spin program to put up a simple menu on the Parallax Serial Terminal

    to·get away from the hand·building of data for it.

    Here are some pics, took two chips for me to get it soldered, first one I broke off a pin. All part of experimenting

    and learning.

    Tom
    450 x 300 - 90K
    900 x 600 - 243K
  • SSteveSSteve Posts: 808
    edited 2010-04-26 22:31
    tdlivings said...
    That was also a learning event doing shift out and timing of the Fsync signal.

    I used the SPI_Spin object to do my bit-banging for me. I've attached my AD9833.spin object in case you want to take a look. I was just working on getting a sine wave as a proof of concept. I didn't try to provide access to every capability of the chip.
    tdlivings said...
    Here are some pics, took two chips for me to get it soldered, first one I broke off a pin

    I'm lucky: a co-worker soldered the chip onto the carrier for me. I try to stick to software.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    OS-X: because making Unix user-friendly was easier than debugging Windows

    links:
    My band's website
    Our album on the iTunes Music Store
  • tdlivingstdlivings Posts: 437
    edited 2010-04-28 23:22
    SSteve

    Thank's for the info, when I get my code cleaned up a bit I will share it.

    Right now it is a mix of what works and debug statements.

    Are you also following the thread ultrasonic sinewaves which is a sine wave

    only DDS. You say you only want a sine wave.

    http://forums.parallax.com/showthread.php?p=895566

    http://forums.parallax.com/showthread.php?p=898765

    Tom
Sign In or Register to comment.