Using 2 eBay DDS modules for I-Q generation

Post Reply
VK3ZFS

Using 2 eBay DDS modules for I-Q generation

Post by VK3ZFS » Thu Oct 31, 2013 7:59 pm

I have used the eBay AD9850 DDS module with Arduino microcontroler as freq source for home brew projects.
looking at SDR projects that need a I-Q generation (in phase& 90' phase)
looking for Arduino code to drive 2 eBay DDS cards for I-Q generation. (AD9850 has a phase control word)
any ideas or suggestion??

User avatar
VK4JAM
Frequent Poster
Posts: 53
Joined: Wed Nov 02, 2005 1:32 pm
Location: QG62lr
Contact:

Re: Using 2 eBay DDS modules for I-Q generation

Post by VK4JAM » Thu Oct 31, 2013 9:27 pm

I looked into this and found a pdf detailing how it can be done (just google the dds chip with pdf). To make it work both dds chips have to be fed with the same clock, with the same length feed line to ensure the clocks arrive in sync. Not a problem, but there is the cost of the extra dds chip, and the programming to make it all work.

An alternative, and cheaper method would be to use a quadrature hybrid circuit. This is used in the "The Micro T2" project that is covered in the more recent ARRL handbooks uses this approach. The hybrid just looks like a small balun or transformer on a toroid, but is lumped element equivalent of a pair of tightly coupled quarter-wavelength transmission lines. When driven from a 50 Ω source and terminated in a 51 Ω resistor and two mixer LO
ports, the 90° phase difference is nearly perfect across a wide band.

VK2OMD
Forum Diehard
Posts: 1063
Joined: Tue Oct 10, 2006 8:34 am
Contact:

Re: Using 2 eBay DDS modules for I-Q generation

Post by VK2OMD » Fri Nov 01, 2013 9:37 am

VK3ZFS wrote:I have used the eBay AD9850 DDS module with Arduino microcontroler as freq source for home brew projects.
looking at SDR projects that need a I-Q generation (in phase& 90' phase)
looking for Arduino code to drive 2 eBay DDS cards for I-Q generation. (AD9850 has a phase control word)
any ideas or suggestion??
Have you considered using the DDS at 2f and a M/S flip flop divider.

See http://patentimages.storage.googleapis. ... 5258-1.png

Note that the clock here MUST have M/S ratio of 1. DDS chips often allow adjustment (trimming) of the output M/S ratio.

Owen

VK2JDH
Forum Diehard
Posts: 222
Joined: Thu Mar 12, 2009 10:57 am

Re: Using 2 eBay DDS modules for I-Q generation

Post by VK2JDH » Fri Nov 01, 2013 2:28 pm

VK3ZFS wrote:I have used the eBay AD9850 DDS module with Arduino microcontroler as freq source for home brew projects.
looking at SDR projects that need a I-Q generation (in phase& 90' phase)
looking for Arduino code to drive 2 eBay DDS cards for I-Q generation. (AD9850 has a phase control word)
any ideas or suggestion??
Or use a chip that has I/O built in like http://www.ebay.co.uk/itm/Analog-Device ... EL:GB:1123

VK3ZFS

Re: Using 2 eBay DDS modules for I-Q generation

Post by VK3ZFS » Sat Nov 02, 2013 9:59 am

See http://patentimages.storage.googleapis. ... 5258-1.png

Note that the clock here MUST have M/S ratio of 1. DDS chips often allow adjustment (trimming) of the output M/S ratio.

Thanks Owen,
I need to use is a fast buffer & squarer to drive FFs (TTL) form DDS module
what FF chip would be ok for 40Mhz clock ??

VK2OMD
Forum Diehard
Posts: 1063
Joined: Tue Oct 10, 2006 8:34 am
Contact:

Re: Using 2 eBay DDS modules for I-Q generation

Post by VK2OMD » Sat Nov 02, 2013 12:10 pm

VK3ZFS wrote:See http://patentimages.storage.googleapis. ... 5258-1.png

Note that the clock here MUST have M/S ratio of 1. DDS chips often allow adjustment (trimming) of the output M/S ratio.

Thanks Owen,
I need to use is a fast buffer & squarer to drive FFs (TTL) form DDS module
what FF chip would be ok for 40Mhz clock ??
I assume you are looking at the AD9850/1 modules on eBay. Get the datasheets, they can produce 1:1 square waves. Then is is just a matter of finding a high speed M/S flip flop fast enough for your requirement.

Owen

VK5TM
Frequent Poster
Posts: 179
Joined: Mon Jun 03, 2013 5:49 pm
Location: Tintinara South Australia
Contact:

Re: Using 2 eBay DDS modules for I-Q generation

Post by VK5TM » Sun Nov 03, 2013 12:20 pm

HEF4013B will run to 40MHz (requires 15v rail). Must be HEF, Philips brand, or any of the 74ACXXX series will do it.

The 74AC flipflop series will run to in excess of 100MHz.
Sent from my PC using my fingers.
Terry VK5TM
QF04AC
http://www.vk5tm.com

VK2OMD
Forum Diehard
Posts: 1063
Joined: Tue Oct 10, 2006 8:34 am
Contact:

Re: Using 2 eBay DDS modules for I-Q generation

Post by VK2OMD » Sun Nov 03, 2013 12:37 pm

VK5TM wrote:HEF4013B will run to 40MHz (requires 15v rail). Must be HEF, Philips brand, or any of the 74ACXXX series will do it.

The 74AC flipflop series will run to in excess of 100MHz.
I meant to respond earlier, yes a 74ac74 will run at that speed. There are some moto parts that go above 100MHz, and can be found on eBay from time to time.

The Ensemble RxTx SDR uses a times four divider for quad clock, see http://www.wb5rvz.org/ensemble_rxtx/04_div .

Owen

User avatar
VK4JAM
Frequent Poster
Posts: 53
Joined: Wed Nov 02, 2005 1:32 pm
Location: QG62lr
Contact:

Re: Using 2 eBay DDS modules for I-Q generation

Post by VK4JAM » Sat Nov 09, 2013 12:12 am

I have found the application note giving details on how to use two DDS modules for I-Q generation. It is Analog Devices AN-587 "Synchronizing Multiple AD9850/AD9851 DDS-Based Synthesizers".
Just Google AN-587 and you will find the PDF. You should be able to use SPI to connect both DSS boards and get them working in sync. AN-587 gives instruction on how to do this.

AD7C has put together some great information on using Arduino to control the DDS - refer : http://www.ad7c.com/projects/ad9850-dds-vfo/
He is just using this for a single DDS unit, but it should be fairly straight forward to expand the code for the extra board using SPI.

I am surprised to see how much these DDS board have dropped in price...."AD9850 DDS Signal Generator Module 0-40MHz 2 Sine Wave And 2 Square Wave Output" US $4.47
see: http://www.ebay.com.au/itm/170910337597 ... 1438.l2649
At this price I will have to try this too :-)

Good luck with this

73

Andrew

VK2OMD
Forum Diehard
Posts: 1063
Joined: Tue Oct 10, 2006 8:34 am
Contact:

Re: Using 2 eBay DDS modules for I-Q generation

Post by VK2OMD » Sat Nov 09, 2013 5:30 am

VK4JAM wrote:...
I am surprised to see how much these DDS board have dropped in price...."AD9850 DDS Signal Generator Module 0-40MHz 2 Sine Wave And 2 Square Wave Output" US $4.47
see: http://www.ebay.com.au/itm/170910337597 ... 1438.l2649
At this price I will have to try this too :-)
Look carefully at the crystal options for good stability. Depending ont he frequency range you wish to generate, an AD9851 used with a low cost TCXO (that means from eBay) in the 20+ MHz range might be more practical than the AD9851.

BTW, the Arduino SPI library is a partial implementation and lacks some flexibility. IIRC, for most of the low cost boards, it lacks the ability to handle multiple SS (W_CLK in AD9850 speak), so you will probably need to kludge something up yourself (or extend the library). The USART is not too hard to control directly, so you could ignore the SPI library. For time critical code (which synchronising two DDSs becomes) you might need to work directly with the USART anyway.

Owen

VK5TM
Frequent Poster
Posts: 179
Joined: Mon Jun 03, 2013 5:49 pm
Location: Tintinara South Australia
Contact:

Re: Using 2 eBay DDS modules for I-Q generation

Post by VK5TM » Sat Nov 09, 2013 12:30 pm

If you bit-bang the outputs, you only need 4 outputs to control 2 DDS modules (ignoring reset, which can be permanently tied to ground).

Clock 1 for 1st DDS
Clock 2 for 2nd DDS
A common data line for both DDS's
A common Update line for both DDS's.

One important point to note when you get to the programming - send a 'zero' frequency data stream twice as soon as possible after power up to the modules.
They otherwise start up with crap in the registers that can produce strange results, even preventing them from giving an output.

I have PIC related info for single DDS modules on my website http://vk5tm.com/homebrew/dds/dds.php
Sent from my PC using my fingers.
Terry VK5TM
QF04AC
http://www.vk5tm.com

Post Reply