Hello,
We are using ADS1248 for temprature measurement application. We can cofingure ADS1248 and we have checked that the register settings are correct.
Wu use 500uA current source from IEXC1 and IEXC2, we can see that the current sources work properly. Our configuration is like 2 wire RTD sense (we connect
IEXC to TSENSE_P and IEXC_RET to TSENSE_N). Since we don't use one of the 2k resistor REF_P and REF_N so for 500uA current for IEXT1 and IEXT2, the expected voltage between REF_P and REF_N is 2 V and we can see it. And the voltages at AIN_P pin is around 2.8 and at AIN_N 2V.
We have selected REFP1 and ReFN1 as references and AIN0 and AIN1 as input.
But when we read the data by sending RDATA, the converter does not produce any output (gives zero output). What can be our problem?
ADC configuration as follows:
void configureADS1248() {
//#[ operation configureADS1248()
// RREG COMMAND 2xh
// WREG COMMAND 4xh
// RDATA CMD 14h
GpioDataRegs.GPADAT.bit.GPIO19 = 0; // O =LOW, 1 = HIGH
//SendReceiveSpiA(0x06FF); // Reset ADS IC
DELAY_US(100);
//Stop sending continuous data
SendReceiveSpiA(0x16FF);
//DELAY_US(10000);
SendReceiveSpiA(0x400B); // WREG CMD and REGISTER ADDRESS // Number of Bytes to be transmitted -1
SendReceiveSpiA(0xC000); // BCS MUX0 // Bias Voltage Register
SendReceiveSpiA(0x2804); // MUX1 // SYS0
SendReceiveSpiA(0x0000); // OFC0 // OFC1
SendReceiveSpiA(0x0000); // OFC2 // FSC0
SendReceiveSpiA(0x0000); // FSC1 // FSC2
SendReceiveSpiA(0x0489); // IDAC0 // IDAC1
DELAY_US(1000);
//SendReceiveSpiA(0x14FF);
//DELAY_US(4);
}
Rdata :
ADS1 = SendReceiveSpiA(0x12FF);
DELAY_US(10); //tcssc = 10 ns
ADS2 = SendReceiveSpiA(0xFFFF); // Read Status register 2 (ID)SendReceiveSpiA(0x5A00); // Read Status register 2 (ID)