Hello and many thanks for allowing to join your forum - this is my first post so apologies if I have started the thread in the wrong sub-forum.
I have a reasonably large project work in progress and have, for the most got all of my modules designed and ready for bread-boarding, however I have a rather stubborn module which I am hoping some of you guys can help guide me with.
The project is a multi-band radio transceiver which I have been wanting to build for many years and have jumped in with both feet on this one
I decided to use the AD9854 DDS module for the basis of my VFO for the radio, I purchased a Chinese AD9854 DDS evaluation board which unfortunately did not come with any documentation or example code.
Having searched the internet I have found only one example however this is for controlling the AD9854 using the SPI bus and my requirement is to control the DDS chip with the parallel interface which is where I am struggling.
The evaluation board has no way of enabling the SPI bus on the AD9854 as the s_select pin which allows selection between serial or parallel interfacing is tied permanently to +VCC which forces it in to parallel mode, now I have made many projects using I2C and SPI bus controlled devices successfully and now I am faced with this rather daunting task of figuring out the parallel interface.
In summary, according to the Analogue Devices datasheet for the AD9854 the parallel interface requires both address and frequency word data to be sent, not as simple as the good old AD9850 chip which was very simple to get running.
Firstly, how do I go about configuring my controller, in this case an Arduino Mega, correctly?
I have tried several attempts using both Digital outputs and Analogue Outputs without success, I am still quite new to the micro programming game so please excuse any school boy errors.
The steps from what I have reversed engineered from the example I found suggest the steps are as follows:
- Master Reset the device.
- Writes the parallel address bytes.
- Pulse WD pin high then low
- Write the frequency word bytes.
- Pulse WD pin high then low.
- Pulse SD_CLK high then low.
However I am stuck and unable to get a sine-wave out of this module, any help and guidance would be greatly appreciated and thanks for taking the time to read.
AD9854.c (3.2 KB)