adc12138 problem

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
Hello there,

I have been asked to write some software for an
adc12138 that is residing on an ISA board for
an industrial computer.

Everything seems to work ok I can read and set the status
register of the part.

However when I try to read a channel successive readings
of the same channel produce large variations in the output, up
to 10% of the input value. As the input voltage is increased the
range of readings gets wider.

I do not believe that my code is the problem since I am reading
the status register correctly.

I have slowed the whole process right down to account for the
mismatch of timing between the ISA bus and the 5MHz oscillator the
chip is connected to just in case, but this still shows the same
results.

My transmit receive procedure goes like this

TX = nextcommand
RX = resultbuffer
i = 0


set SCLK LO
set CS LO

loop i < lengthofnextresult
  if MSB of TX = 1
       set DIN HI
  else
       set DOUT LO
  rotate TX one bit left
  SCLK HI
    get DOUT and but into RX
    rotate RX one bit left
  SCLK LO
  increment i
loop

set CS HI
set SCLK HI


The board has seperate Digital and analogue grounds seperated
by an LC circuit:
                       10uH
D5V____________________((((()_____ A5V
   |          |                |
   |          |                |
  === 100n   === 10n          === 10n
   |          |                |
___|__________|____/\/\/\/\____|___
                    O ohm (wire link )

I have tried to eliminate any ground bounce from the digital inputs
using series 1K5 resistors and 33pF caps to the DGND. This
suggestion I found in a thread at
http://www.embeddedrelated.com/groups/m68hc11/show/191.php
but it did not seem to make a difference.

We are using a potential divider across the inputs of the channels
R1 = 10K
R2 = 10k
To step down the input voltage, I noted the ADC12138 datasheet
mentions not using high impedance inputs, but the voltage we are
measuring is steady at the moment could this be the problem?

If any body has any knowledge of any gotchas please let me know
and I'll try to mod the board if necessary.

Cheers

Matt


Re: adc12138 problem
Problem solved...

Watch the reference voltages.
Had a ringing LM662C used as a 2.5V voltage reference.
Produced 1MHZ 1volt pk to pk oscillation when connected
as a voltage follower. Perhaps had something to do with
the capacitance of the VREF+ input affecting the phase.

Changed with a TL072C (same pinout) and all was well.

Cheers

Matt












snipped-for-privacy@zoom.co.uk wrote in message
Quoted text here. Click to load it

Site Timeline