D.D.S. using AD9833

Front Panel of the DDS

Back portion of the PCB of the DDS

The size of the AD9833


We have been publishing a lot about D.D.S. in our Blog homepage, so we decided that we dedicate a page/tab just for D.D.S. where all the information is available. First, lets know what D.D.S. abbreviation stands for. 


Q.) What is Direct Digital Synthesizer (D.D.S.) ?
A.) D.D.S. is used to create waveforms using a single fixed-frequency clock. Basically, a type of frequency synthesizer. 


Q.) Where is the D.D.S. used?
A.) To name a few applications where D.D.S. is applicable:

  • Signal Generators
  • Local Oscillators in communication field
  • Mixers
  • Modulators etc.



Q.) Is AD9833 used as D.D.S. ?
A.) Yes. Manufactured by Analog Devices. It is a low power, programmable waveform generator capable of producing sine, triangular and square wave outputs.


To know more on the specific details on the AD9833, the datasheet can be downloaded from here: Click Here




Our previous posts:


Complete study on D.D.S. :  DDS using AD9833
Video and updated D.D.S.     : AD9833 DDS: Update

Now we shall see the circuit for the D.D.S. which will replace the V.F.O in the GR-40 Rx.


PDF file of the circuit: Click Here

The above is the complete circuit for D.D.S., which consists of AD9833, PIC16F628A which is used to give the appropriate signals and control the D.D.S. Chip. The reference clock used in the circuit is 20MHz in co-ordination with 74HC00 to generate local oscillations(MCLK). One most important feature of this DDS is that, we can vary the frequency UP and DOWN in FAST MODE and SLOW MODE and the speciality is that we dont use interrupts. More interested to check out the code: ASM and HEX

Let us see the individual sections of the above circuit:

Regulator Section:


+12 volts is supplied to LM7805 IC and we get a regulated 5V for Vdd which is supplied to the AD9833, PIC16F628A and the 74HC00. The +12v branch at the 33 ohms is is used for the amplifier circuit.


AD9833 and  PIC16F628A:




20Mhz XTAL is used for the reference clock frequency (MCLK) to the AD9833. The signals for the AD9833 is loaded using the PIC16F628A using Pin 10, Pin 11 and Pin 12 which are PORT B I/O pins (RB4, RB5 and RB6).

Pin configurations used:
RB4 - SDATA
RB5 - SCLK
RB6 - FSYNC

The output is taken from PIN 10 of the AD9833.

Low Pass Filter: 




This is a Low Pass filter using the LC combination. The calculations for the LC values were calculated in accordance to Butter-worth Low Pass Filter. The signal generated by the AD9833 is fed to the 18 ohms of the Low Pass filter circuit.

The values are:
L1 = L2 = 1.84 uH
C1 = C3 = 270 pF
C2 = 910 pF

Amplifier Circuit: 

Next, the signal from the Low Pass Filter is fed to the Amplifier circuit to give a good boost of the signal and then three pins are provided to take the signal. The transistors used are BC547 and BC368. Input voltage is +12V which is taken from the Regulator Circuit.

Valuable feedback and suggestions will be most welcome and any help required will be our pleasure.

Downloads:

PDF file of the circuit: Click Here  
Datasheet : Click Here
PIC16F628A:   Click Here(ASM) and Click Here(HEX)

We are working on the DDS and have updated the new program for the fine tuning (Slow bit tuning). The program is written for the PIC16F628A with the following features:

  • The slow/fine tuning is adjusted to 54 Hz frequency up and down.
  • The range of the slow/fine tuning is no more limited and can be adjusted to any range of frequency.
  • The delay between the frequency switching is reduced to 0.5sec. Hence faster band scan.

We have incorporated the DDS board to out JOTA TRx. 40 and have tested it on the air. Smooth transitions between the frequency and on-spot frequency setting.

Dr. Manoj, VU3KER will the first one to take our TRx. equipped with DDS for testing and feedback.

You can find the ASM, HEX and the complete project below for download:

DDS program Version 2.0 : Click Here (ASM) and Click Here (HEX)

Complete project file: Click here

DDS Update: EEPROM Memory - 8th June 2012
Greeting Everyone.....

We have just updated the DDS yet again to keep it alive and not forgotten.

What is change log?

Previously, we had fine tuned the DDS to change with 54Hz frequency and changed the time delay to 0.5 seconds. Now the new DDS update has a new feature where the previously set frequency can be loaded back.

To explain in simple terms, you have set a particular frequency and would like to retain the same frequency when you switch off and back on, well now its possible. Earlier when you switch off the DDS, an initially programmed frequency would be loaded in the AD9833. But now you can have previously set frequency once you switch on the DDS. 

So how did we do it. We used the EEPROM available in the PIC16F628A to write the present frequency and again read the EEPROM to load the frequency. Hence even when the DDS is cut-off from the supply, the frequency will remain in the EEPROM Memory and will be loaded once the power is wupplied back to the DDS.

The program as the subroutines for the EEPROM read and write separately andmore details are provided in the datasheet of the PIC16F628A. The DDS program is available for download in the below links as well as the DOWNLOAD tab.


The DDS program is provide below for use:

Version 3.0 Click Here (ASM) and Click Here (HEX) .

Complete project file Click Here 



17 comments:

  1. CAN U PROVIDE PCB ARTWORK FILE
    THANKS N 73
    DE VU2KYZ

    ReplyDelete
  2. @VU2KYZ: Sure we shall upload it soon. Thanks for the suggestion.

    ReplyDelete
  3. Are you selling this as a build one?

    ReplyDelete
    Replies
    1. @meow: Yes this is a completely built and tested DDS that will be sold.

      Delete
  4. Now what is the maximum output fraquency available from this DDS.

    ReplyDelete
    Replies
    1. Please refer to the AD9833 datasheet for the frequency range.

      Delete
  5. I am trying to contact you sir, but not getting any response from vu2dev's mail or any other contact of your website. I want to buy a DDS, please send me ordering details at: gurudattabam@gmail.com

    ReplyDelete
  6. Successfully made 2 X AD9833 DDS back before 8 months or so, thanks to VU2DEV.

    But as to use it for 40M had to change 20Mhz Xtl with 12Mhz (MCLK) Xtal, with same firmware. Again it won't cover uptill new allotted 7.1 to 7.3Mhz using 10 Mhz ladder IF filter. (7 to 7.1 is working fine).

    (also didn't worked while overclocked with 30Mhz box type CXO)

    Am not much expert in writing codes what to do as to use another spare DDS with 20M? Will I need to change MCLK or just HEX? Any further help appreciated.

    Is it possible to use this same design with 10Mhz IF ladder filter, & 20Mhz (MCLK) DDS Xtal, which will give output from:
    1) 3Mhz to 2.7Mhz for 40 Meter.
    2) 4 to 4.35 = 20 Meter.

    3 vip) Or continuous 2.6 Mhz to 4.45Mhz, using slow 50Hz fine tuning & fast scan to 1000 resolution. Which will also remember last dialed frequency even if DDS powered off.
    ░7░3░ ░d░e░ ░V░U░3░S░X░T░

    ReplyDelete
  7. Thank you very much sir for making this ckt for the Indian Hams........ de vu3inj

    ReplyDelete
  8. How I can order one DDS? i need assembled one.
    Let me know the price.
    my email rpc.college@gmail.com

    ReplyDelete
  9. Is it possible to arrange a programmed PIC for purchase? as i do not have a programmer yet.I received the PCB as a gift and hope to complete it.
    -Surya,MYS

    ReplyDelete
  10. Links to asm or hex is fail. Where can download it?

    ReplyDelete
  11. olá , alguém poderia me ajudar a construir um vfo para meu transceptor yaesu ft101zd , eu tenho um dds ad9833 e um Arduíno nano pra poder usar no projeto, lembrando que eu preciso de somente (5mhz a 5.5mhz) ... fote 73 de PU2PWJ

    ReplyDelete
  12. the exact question would be, could anyone help me with information to build a vfo for my yaesu ft101zd radio using the ad9833 dds and the arduino nano next to a 12 digit display.
      My imail is, (jdirceuleite@gmail.com)

    ReplyDelete
  13. hello thanks for your project. where to download the file? all the links is not working, thnaks :)

    ReplyDelete
  14. Hello Everyone, please can someone from here send the hex file, @ wj6c at arrl net. Thank you in advance.

    ReplyDelete