Using 2 eBay DDS modules for I-Q generation
Using 2 eBay DDS modules for I-Q generation
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??
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??
Re: Using 2 eBay DDS modules for I-Q generation
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.
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.
Re: Using 2 eBay DDS modules for I-Q generation
Have you considered using the DDS at 2f and a M/S flip flop divider.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??
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
Re: Using 2 eBay DDS modules for I-Q generation
Or use a chip that has I/O built in like http://www.ebay.co.uk/itm/Analog-Device ... EL:GB:1123VK3ZFS 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??
Re: Using 2 eBay DDS modules for I-Q generation
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 ??
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 ??
Re: Using 2 eBay DDS modules for I-Q generation
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.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 ??
Owen
Re: Using 2 eBay DDS modules for I-Q generation
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.
The 74AC flipflop series will run to in excess of 100MHz.
Re: Using 2 eBay DDS modules for I-Q generation
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.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.
The Ensemble RxTx SDR uses a times four divider for quad clock, see http://www.wb5rvz.org/ensemble_rxtx/04_div .
Owen
Re: Using 2 eBay DDS modules for I-Q generation
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
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
Re: Using 2 eBay DDS modules for I-Q generation
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.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
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
Re: Using 2 eBay DDS modules for I-Q generation
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
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