Max1270

Thread Starter

Jim_2.0

Joined May 14, 2006
51
Anyone here used the MAX1270 ADC? Having problems getting it to respond properly, wondering if anyone has used one..
 

Thread Starter

Jim_2.0

Joined May 14, 2006
51
the control byte does not seem to correspond to what im expecting at the output. If I give it 8 bytes, '10000000' I would expect it to be in internal clock mode, and using a 0-5V input range, and using CH0 according to the control byte configuration on the data sheet.
However with an input of 2.2V on CH0, it gives an output reading of 36.41V. I am decoding the data from the ADC as (data/8.19), Because the counts per volt is 819.2 ( 5V/4096) it is a 12 bit ADC. I can only get the correct output if i make the control byte 00001000. This makes no sense...

I've tried running it in a very simple configuration. ie CS is pulled low all the time. i send my control byte with a 100khz clock, then drop the clock signal. I then run the clock for another 16 cycles and look at the data out.
 

Thread Starter

Jim_2.0

Joined May 14, 2006
51
also, the output data seems to vary if i change the SSI baud rate (still using internal clock for the conversion ). ie even though the control byte remains the same, an increased baud rate results in a multiplication of the output data??
 

Thread Starter

Jim_2.0

Joined May 14, 2006
51
i dont have a schematic to post, but here is the part datasheet

http://datasheets.maxim-ic.com/en/ds/MAX1270-MAX1271B.pdf

my circuit is wired exactly as the typical operating circuit on the first page, except that I have CS tied low, and SSTRB is not used. CH0 is my 0-5V input, which at the moment is not buffered because I am just testing the ADC. it is just a 0-5V from a variable bench supply. The microcontroller i am using is an infineon C161CS
 

n9352527

Joined Oct 14, 2005
1,198
It sounds like a timing/signal problem. Changing data with different baudrate is usually indicative of incorrect clock/data timing on the serial link. I have never used C16 before, does it have SPI link? Or are you using soft SPI?
 

Distort10n

Joined Dec 25, 2006
429
the control byte does not seem to correspond to what im expecting at the output. If I give it 8 bytes, '10000000' I would expect it to be in internal clock mode, and using a 0-5V input range, and using CH0 according to the control byte configuration on the data sheet.
However with an input of 2.2V on CH0, it gives an output reading of 36.41V. I am decoding the data from the ADC as (data/8.19), Because the counts per volt is 819.2 ( 5V/4096) it is a 12 bit ADC. I can only get the correct output if i make the control byte 00001000. This makes no sense...

I've tried running it in a very simple configuration. ie CS is pulled low all the time. i send my control byte with a 100khz clock, then drop the clock signal. I then run the clock for another 16 cycles and look at the data out.
The control byte should start with a '1', and the datasheet says that this defines the control byte after CS is pulled low. If you always have CS pulled low then it appears to me that you are violating t(css).
You may need a change of state on the CS line. It must start high, then you must pull it low, and wait a minimum of 100 ns before the rising edge of SCLK. Your control byte would follow.
It also looks like you can keep CS low for repeated conversions, but I still think you need to start CS high then bring it low.
 
Top