Other Parts Discussed in Thread: ADS114S06, ADS124S06, INA240
Hello,
We are developing an application with your ADS124S08 ADC.
We have already developed our prototype and now we are running our firmware and testing the ADC.
We are using TI library that eases our development because it has all the functions to read, write, initialize and configure the ADC.
After initializing our MCU and internal interfaces, we start initializing the ADC and our sequence in our firmware is as follows:
ADS124S08_sendCommand(RESET_OPCODE_MASK);
ADS124S08_writeRegs(0, 18, ®isters[0]);
ADS124S08_readRegs(0, 18, ®isters[0]);
ADS124S08_reStart();
In while infinite loop, we have:
HAL_Delay(500);
liAcqDigPress = ADS124S08_dataRead(&ucAdStatus, &ucAdCRC);
We didn't do any specific configuration on configuration registers. We left it all as default.
After running the code, the function "ADS124S08_dataRead(&ucAdStatus, &ucAdCRC)" returns the raw ADC result to the variable "liAcqDigPress".
The input differential voltage comes from a Keller 10L sensor.
When we apply a fixed pressure from a high precision pressure generator and monitor the variable "liAcqDigPress", we observe that the result remains static, with a certain value for a long time and for another long piece of time, the result remains static with another value.
For example: In our latest test, for a certain pressure applied, we got 27039(dec) from variable "liAcqDigPress", that remained static for a long time (several samples, let's say 80) and 26783(dec) for a long time either.
That kind of behavior sounds strange to me. Normally, this result should be oscilating some bits between the samples, shoudn't it?
What can you tell us about that? Can you help us please?
Attached you have the TI library used in our firmware.
Thanks and best regards,
Marco Aurelio P. Coelho
Firmware Developer
Sensycal Intruments and Systems