Hi,
I would like toreplacethe converter AD7730 (24 bits) with AD7195 (24 bit). But I haveaproblemwithreading theconverterAD7195.
When I readthe conversion fromad7730witha load cellfrom + /+10mv, I reading the values of vacuum are worth about 7FFFFF hex (between AIN+ and AIN- 0mV). This values goes then from 000000 hex to ffffff hex.
While when I read with the same load cell from ad7195 the initial values is low, it’s about 000020 hex and not 7FFFFF HEX as the value of mid-scale (between AIN1 and AIN2 0mV)
.In this way, the reading is only in one way hike.
This is the programming and the read by microcontroller of ad7195 (NO ACX)
1) reset the ad7195
SPI=FF HEX //SPI=SERIAL PORT OF MICROCONTROLLER
SPI=FF HEX
SPI=FF HEX
SPI=FF HEX
SPI=FF HEX //reset ad7195
2) programmer filter register
SPI=10 HEX //communications register=> filter register
SPI=00 HEX //chop disable, ACX disable
SPI=01 HEX // select channel AN1 and AIN2(-)
SPI=0F HEX //burnout disable, No ref Externa,disable buffer,
//Bipolar operation, Gain=128, adc input +/-39,06mV
3) programmer mode register
SPI=08 HEX //communications register=>mode register
SPI=08 HEX // continuos conversion mode, no tx status register
// internal clock and MCLK2 in tristate
SPI=00 HEX
SPI=60 HEX //output data range=50Hz
4) continuos read
SPI=5C HEX
this is the read from microcontroller (it with the "ad7730" read correctly)
1) read first byte
SPI=00 HEX //write SPI BUFFER for reset it
//wait buffer input is empty
VarDATA=SPI //load first byte
//wait buffer is full
VarDATA<<8
2) read second byte
SPI=00 HEX //write SPI BUFFER for reset it
//wait buffer input is empty
VarDATA|=SPI //load second byte
//wait buffer is full
VarDATA<<8
3) read third byte
SPI=00 HEX //write SPI BUFFER for reset it
//wait buffer input is empty
VarDATA|=SPI //load third byte
//wait buffer is full
VarDATA<<8
Can anyone help me?
Best Regards
Renato