Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1241: SELF0CAL nullifying the effect of ODAC

Part Number: ADS1241

I am using ADS1241 to convert Thermocouple millivolts to digital data .I disabled the ODAC by writing zero to it and then issued the SELFCAL command. After that I enabled the ODAC with value of 0x83 which is around 16 millivolts. I have 1.235 volt as reference. PGA is 1, bufer is disabled, RANGE bit is zero.

The SELFCAL command is nullifying the effect of ODAC.

The source code is:

offset = 0x00;
ADS1241WriteRegister(ADS1241_ODAC_REGISTER, 1, &offset);
for(j = 0;j < 200;j++);
for(j = 0;j < 200;j++);
for(j = 0;j < 200;j++);

// //self calibration
ADS1241AssertCS(1);
for(j = 20;j > 0;j--);


buf_ads[0] = (ADS1241_SELFCAL);
HAL_SPI_Transmit(&hspi1,buf_ads,1,100);
for(j = 0;j < 20;j++);
//HAL_Delay(100);
ADS1241AssertCS(0);


for (i=0; i<1000; i++);
for (i=0; i<1000; i++);
for (i=0; i<1000; i++);

offset = 0x83;
ADS1241WriteRegister(ADS1241_ODAC_REGISTER, 1, &offset);
for(j = 0;j < 200;j++);
for(j = 0;j < 200;j++);

  • Hi Akash,

    It is not clear what you are saying is the issue and you haven't given us any data as an example.  What are your expectations? What is your input voltage?

    The SELFCAL of the ADS1241 will remove device offset and gain error.  It is important to set the ODAC to zero or the SELFCAL will also remove the offset created from the ODAC setting.  This appears to be the correct order in your code, but you need to verify that your delay loops are working as expected by measuring the time between commands with an oscilloscope.  Most likely a total count to 3 thousand is not nearly enough time for the calibration to complete before the ODAC is written.

    The best approach would be to monitor DRDY to make sure that it has transitioned from high to low signalling that the SELFCAL has completed before writing to the ODAC.

    Also, please review the following document if you have not done so already.

    http://www.ti.com/lit/an/sbaa077a/sbaa077a.pdf

    Best regards,

    Bob B