PDA

View Full Version : Reading a LTC1865 ADC



JTCullins
- 2nd December 2011, 04:32
I am trying to read both channels form a LTC1865 16 bit ADC. It is a pin for pin replacement for the LTC1298 chip but the commands are different .

Dave
- 2nd December 2011, 13:35
JTCullins, It sound pretty straight forward to me...

The LTC1864 conversion cycle begins with the rising edgeof CONV. After a period equal to tCONV, the conversion isfi nished. If CONV is left high after this time, the LTC1864goes into sleep mode drawing only leakage current. On thefalling edge of CONV, the LTC1864 goes into sample modeand SDO is enabled. SCK synchronizes the data transferwith each bit being transmitted from SDO on the fallingSCK edge. The receiving system should capture the datafrom SDO on the rising edge of SCK. After completing thedata transfer, if further SCK clocks are applied with CONVlow, SDO will output zeros indefi nitely.

It does oparate differently from the LTC1298 but I don't see the problem.. Just take the CONV line high for a period of time then take it low, after which you shift in the data... It's just that easy.....

JTCullins
- 2nd December 2011, 14:09
Thank you for your response.
Actually I am using the LTC1865 . It is full duplex which means it accepts commands and sends data at the same time. I can get stuff out' I would not call it data but bits coming out reading CH1 but never CH0. I am sure it is something simple that I am not seeing. I have used the LTC1298 and it works great and is very rugged chip, however it is only 12 bit and I need 16 bits.

Dave
- 3rd December 2011, 14:57
JT, You MUST send the channel information as soon as you drop the CONV line low. acording to the spec. Are you doing this? Like you said, this is a full duplex device and as such it will require you to send the channel information along with the first 2 clock pulses as well as receive the first 2 bits of the result which are the bits 15 and 14.

JTCullins
- 4th December 2011, 14:09
Thanks Dave, I was busy yesterday build boards for an on going project. I will give it a shot today.
I would like to have used the shiftout and Shiftin as I did on the 1298 but I guess I need to bit bang it myself.
I hope it will be fast enough.
Thank you for your help
JT

Dave
- 5th December 2011, 00:05
JT, Personally I would use a SPI interface if your chip of choice has one...

JTCullins
- 5th December 2011, 02:27
I would like to but how do I do a full duplex with the SPI interface? I have never used it. I use Pic Basic Pro
Any help would be great.
Thanks

JTCullins
- 5th December 2011, 02:57
Dave, I just looked at the data sheet on the PIC16F818 chip that I use and I don't see anything where you can transmit and recieve at the same time on the SPI bus.
The only way I can see, and granted I am not what you would call a good programmer, is to send the first two config bits and read the first two bits in ( 15 and 14 )
then use shiftin to read the last 14 bits in. Not sure if that would work or not but I plan to try it tomorrow.
Thanks
Jt

Dave
- 5th December 2011, 13:05
JT, That is the purpose of SPI. You would load the SSPSR register with the first 8 data bits to send and, as they were being sent the same register is being loaded with the firts 8 bits of data from the A/D. You just have to do it 1 byte at a time but it should be Much Much faster than bitbanging it. Read about it in the spec sheet for the 16F818. It's under SSP port....

JTCullins
- 8th December 2011, 14:54
I can't use the SPI in the chip. This is for a board that is already designed and built and the pins are wrong for it.
Thanks
JT