I implemented two 12 bit ADCs on the CY8C29466, each with its own PGA. Even though the PGAs are tied to different ports at different voltages I get the same reading from the 2nd ADC as I do from the first. The first ADC reading is correct. Any thoughts? I was planning to use one ADC and MUX between the channels but I couldn't find any code examples for switching the MUX. Thanks in advance for any help.
Probably we coud judge a bit more concerning your issue with the ADCs when you post your complete project here in the forum, so everybody can have a look at.
To do so: Build -> clean project
then zip (NOT RAW!) the project folder and upload it here with the search button when posting an answere.
Here is the project directory.
I am developing using a CY3210-PS0CEval1 Eval Kit.
I have a lot of commented out lines carried over from a different application. Basically I am trying to read two different Thermocouples using two AD595 chips as inputs to the A/Ds. As the temp gets warmer I switch a fan on/off to cool things down or set a shut down output if things get too hot. I need to play with the timers more on the A/Ds because the A/D sensitivity isn't as good as it was a few iterations ago.
Both A/Ds output the reading of the first channel. Thanks ahead of time for your help.
At (very) first sight: You are operating the ADCs out of specs. The minimum clock is 0.125 MHz (datasheet) and you are running at 6MHz / 4 / 15 = 0.100 MHz.
So the question: why not using a sysclk of 24 MHz but 6????
For delays, there are delay routines within the LCD-module
Do not use MedPower until your project runs
Avoid declaring variables in main(), they are allocated on the rather small stack, if really in need of a var, declare it in main() as static, then it will be allocated in global ram.
I would suggest:
Start a new project and get ONE ADC working.
Then get the second ADC working
A hint: put repeated code into small functions, saves ram and flash.
Thank you to all for your help. I was able to add a Mux to my project and read both channels. The article about reading the A/D three times after the MUX change was most helpful.
One last question. Does anyone have a good sourche for an LCD display like the one that comes with the PSoc Eval boards I'm looking at replacing discreet LEDs on a legacy design with the LCD.
Thanks again for your help.
www.futureelectronics.com have a number of display lines.
I recommend the white on blue background displays as having the best
contrast and excellent appreance. You can get them with led backlight. If you
have to read display in direct sunlight the transflective displays best compromise.
I use a 4 x 20 Winstar white on blue LCD and am very satisfied with it.
I was looking for displays with the Hitachi HD44780A Controller compatibility so the LCD.h file wouldn't have to be changed. Most of the LCD displays like New Haven and Lumex carried on Digikey (and Future Electronics) seem to use different controllers.... I looked for the Winstar on the Future Electronics site but couldn't find it.
Anyway, I did find what appears to be a direct match for the LCD16X2 Display included with the Eval Board at at http://www.futurlec.com/LCDDisp.shtml.
There are compatible controllers to the 44780, KS0066U is one. I have seen
some web comments that in some applications not exactly compatible. But
I have used parts with this controller, no problems so far.