![]() |
An
AmQRP Project ...
Combine
the DDS Daughtercard + Serial CW Sender PCB |
About the AmQRP
Club |
|
|
|
|
|
SERIAL DDS CONTROLLER Combine two existing projects (Serial CW Sender and the DDS Daughtercard), add some new PIC software, and what do you get? Why it's the SerialDDS project! The Serial DDS Controller communicates with your PC over its serial port and uses a dumb terminal program like HyperTerm to allow you to control a DDS Daughtercard. The PIC software presents a menu of commands on the PC screen to allow setting frequency, scan limits, step sizes, calibration and more! |
Check
Order Status
(Order status files are being updated. Link to
be activated shortly ... thanks for your patience.)
| Schematic | Parts List | SerDDS Software: asm, hex | Commands | Availability |
DESCRIPTION
Someone
recently asked a perfectly obvious question that should've had a solution before
now -- "Why doesn't someone create a PIC driver that will take serial port
commands from a PC and in turn drive a DDS Daughtercard?"
I had been thinking on this in the background all week and came up with a
scathingly brilliant idea ... why not take two PIC projects we had done over the
last year or two and combine the relevant portions of each to produce this
solution?
So, being a natural project manager type of guy, I activated
the AmQRP Designer Network once again and found some perfect help. Dave Ek,
NK0E had previously designed the Serial CW Sender project that uses serial port driver
software in a PIC to talk to a Palm PDA while in turn
reading Morse from some paddles and driving Morse to a rig.
I also once again tapped Craig Johnson, AA0ZZ, the now-legendary
designer of the PIC-EL board and the author of that wonderful "PEgen"
VFO software that drives the AD9850 DDS chip on the PIC-EL board. Craig would be
able to help us modify the DDS programming software in the PIC.
Well, it was a "duh" kind of moment for the three of us as we
determined that the two programs (Sender.asm and PEgen.asm) would be relatively
easy to combine into a single program, wherein we strip off all the Morse stuff
from the Sender program and added it to a bare-essentials PEgen program without all the LCD, calibration, rotary encoder control, pushbuttons and
eeprom code.
We call the combined program "SerialDDS" wherein the
user enters an 'F' followed by 8 digits on a dumb terminal program (like
HyperTerm or TeraTerm) running on the PC. Those eight frequency digits get
turned into the DDS programming word and loaded into the DDS Daughtercard riding
piggy-back on the Serial Sender. So all the user would need to do is plug
the serial cable into the PC, bring up a terminal program, and the little "CLI"
(command line interpretter) running in the PIC allows him to output specific
frequencies via the daughtercard.
This hardware arrangement was also a stroke of serendipidy in that we have extra
Sender pc boards available and the DDS card fits real nice on it. (See photos at
the top of the page.) The Sender project is just *ideal* for this in that
it already has the MAX232 RS232 driver IC and capacitors, the DB9M
connector and a PIC .. rather general purpose indeed!
So these two original designers have come up with an inexpensive solution that
allows one to use a PC to control the DDS Daughtercard, without using a special
PC program! The PIC merely "talks" over the serial port to
the generic terminal program running on the PC, and you see the menu of commands
listing the various functions you can give to the Serial DDS Controller
COMMANDS
The PIC16F628 microcontroller is programmed to use the PC screen as its terminal,
displaying a list of commands available to the user. You can then enter commands and
data via the PC keyboard to instruct the Serial DDS Controller to output a given
frequency, set the start and end points of a range, set the step size, and scan the
range. All entered settings are automatically saved in the PIC's EEPROM memory, so
those values are available even after power cycling.
The menu that gets displayed is shown below. We'll continue to enhance the features and later versions of the SerDDS program will be posted on the project website for you to download and reprogram your PIC to get the newer features. If you cannot burn your own PIC, contact the AmQRP and we can reprogram your device and mail it back to you for a modest price.
A: Set Freq (Direct frequency entry from 1 Hz to 30000000 Hz)
B: Start Freq (Entry of a start frequency)
C: End Freq (Entry of end frequency)
D: Step Size (Entry of a step size)
E: Scan (from Start to Stop, using step size)
F: Show (show settings for start, stop, step)
G: Jog Up (or >) (using step size)
H: Jog Down (or <) (using step size)
I: Help (display this single-word menu, without parentheticals)
For entering frequency (menu items A through D) the program will accept any number of digits up to eight and allows use of the backspace key to edit. You must hit a carriage return to finish the entry. If fewer than eight digits are entered, they are padded with leading zeros to make eight digits.

How
Can You Make A Serial DDS Controller?
Construction of the project is very simple ... and you have at least two ways
you can go.
You can build up the two ICs and the RS232 connector on a piece of perf board in several hours. Wire in the the DDS Daughtercard and your hardware will be all set.
Or you can purchase one of the left-over prototype pc boards from our Serial Sender kitting days and tack solder the three control wires of the DDS Daughtercard to the pads of the PIC, just like I did in the photos on this page.
Or, if you already have an NK0E Serial Sender project such as the one in the photos here, you can tack solder the three control lines of the DDS Daughtercard to the pads of the PIC.
We would urge you to just wire up a simple board, burn the SerDDS software into a PIC using your favorite PIC programmer (use your PICEL board!), get the components from your junk box or using the Parts List here, place a small order to Mouser, Digi-Key and Jameco, and you'll be in business.
So, no matter how you accomplish it, connect the three control lines between your DDS Daughtercard and the Serial CW Sender pcb, plug in the PIC containing the SerDDS software, type in any frequecy from 00000001 Hz to 30000000 Hz, and see the sweet result on your scope, receiver, speaker ... whatever!
We're sold out of all the pc boards and the programmed PICs, but the circuit is real simple ... just grab yourself a MAX232 chip, a blank PIC16F628 and a connector and wire it all up using the schematic . The download the software and get a friend to program your PIC for you.
![]()
Material and concepts presented
on
These pages are designed and maintained by
George Heron, N2APB
Page last updated: May 15,
2005