CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to CCS Technical Support

Software SPI
Goto page Previous  1, 2, 3
 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
asmboy



Joined: 20 Nov 2007
Posts: 2128
Location: albany ny

View user's profile Send private message AIM Address

PostPosted: Wed Apr 13, 2016 7:51 am     Reply with quote

Quote:
an issue with my DDS model,


OVERKILL for making sine waves.

The part was created to be a quasi-arbitrary waveform generator. The DDS is just a component. Its real application i suspect was the ATE ( Automated Test Equipment) market. It's like having to set up a CNC milling machine just to drill one hole. It can do the job you want but it costs 4x the price of parts that make very nice DDS sine waves with excellent spectral purity.
issues: unit price, complexity and power consumption.

the 9102 draws as much as 10x the current of other DDS only chips.
temtronic



Joined: 01 Jul 2010
Posts: 9246
Location: Greensville,Ontario

View user's profile Send private message

PostPosted: Wed Apr 13, 2016 8:25 am     Reply with quote

Ok I have a basic question after reading 3 pages of this thread.

The 18F4455 PIC is a 5 volt device, and the AD9102 is a 3 volt device. Unless you have 'logic level translators' betweeen them, that may be a big part of your problem.
I have never been a fan of 'mixed marriages of power'. These days just use an 'L' speced PIC, no extra parts or delays !!

The AD9102 datasheet looks OK to me (I used a lot of AD stuff back when parallel was king), lots of registers to setup though so the driver will be rather long but taken in steps it shouldn't take more than a day to get 'up and running'.

Jay
SvenBraun



Joined: 19 Mar 2016
Posts: 29

View user's profile Send private message

PostPosted: Wed Apr 13, 2016 2:17 pm     Reply with quote

asmboy: I believe the reason we chose this chip was due to the size of the DAC, specifically its resolution.

temtronic: I have my system set up between two boards. The first board has my PIC and supplementary peripherals that are currently disabled, as well as 5V power source coming from USB. The second board has the 9102 chip on it, with a power supply currently set up as 2.6-2.7V for now. (It was originally 3.3V, but we've changed it a bit.) The power sources do not mix at all.


To either: Does it appear that I'm missing an operation that is typical for a DDS to function?


Today has been about troubleshooting connections, to see if the pin values make sense for what the datasheet says.
asmboy



Joined: 20 Nov 2007
Posts: 2128
Location: albany ny

View user's profile Send private message AIM Address

PostPosted: Wed Apr 13, 2016 2:25 pm     Reply with quote

Without seeing the actual circuit connections to the 9102 and the pic pins - and the code being executed in that regard - simply no way to know.
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Wed Apr 13, 2016 2:47 pm     Reply with quote

To post your schematic (or a link to it), you can do the following:

How to post an image on the CCS forum:
Go to this website: http://postimage.org/
Upload your image. Select family safe. Then click the first button for
"Hotlink to Forum" to get a link to the image.
Then go to the CCS forum and type Ctrl-V to paste the link into a post.

If postimage.org doesn't work in your country, then use Google to find
another free image hosting site for forums.
asmboy



Joined: 20 Nov 2007
Posts: 2128
Location: albany ny

View user's profile Send private message AIM Address

PostPosted: Wed Apr 13, 2016 3:26 pm     Reply with quote

and as Temtronic pointed out 18LF4x5x is going to be your friend - but unless you NEED the USB feature of the PIC you started with -
a part like the 18f46k22 can operate with full specs at 3.3 or 5v
and is F A R more powerful a chip - to say nothing of cheaper and NEWER .. with pin outs that are friendly to what you have done already. if using a DIP version - its a pretty simple drop in.......
SvenBraun



Joined: 19 Mar 2016
Posts: 29

View user's profile Send private message

PostPosted: Wed Apr 13, 2016 5:59 pm     Reply with quote

I do not have a readily-available schematic, since I've been building it on the board piece-by-piece.

I did take your suggestion, asmboy, and after double-checking the datasheet, I removed the USB adapter, so the whole system is running on 3.3V power from my power supply.

We decided to dis-assemble the board with the DDS on it, and reassemble, double-checking each connection.

We noticed a mis-configuration with the clock input to the DDS, and replaced our single-ended oscillator with a 20 MHz crystal, AC-coupled with 39pF capacitors.

We're still re-assembling it and going over each pin, to verify function and voltage reading.

The only issue I still need to double check is REFIO and FSADJ pins, since I'm not 100% sure if they need to be connected at all to generate an output. As of right now, they're disconnected (same with CAL_SENSE). The LDOs I need to re-read up on.
asmboy



Joined: 20 Nov 2007
Posts: 2128
Location: albany ny

View user's profile Send private message AIM Address

PostPosted: Wed Apr 13, 2016 6:44 pm     Reply with quote

REFIO: you can override the internal 1V reference by feeding this pin with
the OUTPUT of an opamp which is referred to some other Vref of your choosing.

OR
put a tantalum capacitor ( observing proper polarity) from the
pin to ground to HF de-noise the reference source. Important if in a very high RF field.

OR
float the pin.
if you start by floating you are still likely safe.
-----------------------------
FSADJ allows you to trim the output amplitude when using the DAC waveform generator.
on page 19 of my data sheet

with no connection (floated) - you get the specified output levels NOMINALLY

Quote:

RSET Resistors
RSET in the where statement for Equation 3 can be an internal
resistor or a board level resistor of the user’s choosing
connected to the FSADJ terminal.
To make use of the on-chip RSET resistor, set Bit 15 of the FSADJ
register to Logic 1. Bits[4:0] of the FSADJ register are used to
program values for the on-chip RSET manually
SvenBraun



Joined: 19 Mar 2016
Posts: 29

View user's profile Send private message

PostPosted: Thu Apr 14, 2016 10:11 pm     Reply with quote

I have a (most likely final) update for this thread.

So, we went back through the code and the set-up and found what we believe to be the issues:


WAV_CONFIG (0x27) was configured wrong for a sine wave. My original code had it correctly configured, but it somehow changed during revisions:

What it was:
Code:
fullWrite[7] = 0x00270001

What it should've been:
Code:
fullWrite[7] = 0x00270031



Additionally, we did not have a Rset register configured, either internally or externally. We applied a 1k resistor from FSADJ to GND and began seeing a waveform.

Thank you for all the help from everyone who contributed.
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Goto page Previous  1, 2, 3
Page 3 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group