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.

ADS112C04: Enabling BCS causes no change in reading

Part Number: ADS112C04


Hello, 

I have a project where multiple ADS112C04 ADCs are used to measure thermocouples at 1 Hz. Due to the resistance in the thermocouple leads, my circuit is not setup like the example in figure 71, rather with the 1M bias resistors setting one analog input to midscale. All functionality of the circuit is working as expected, except when the BCS is enabled. As per the datasheet, this should cause the voltage to read fullscale, however when I enable the sources, nothing changes to the reading if the thermocouple is open circuited.

For example, with the BCS disabled, if I short the thermocouple leads together to discharge the C_diff capacitor the temperature reading is initially identical to the junction temperature, but then starts to slowly drift. If I enable the BCS, the reading continues to drift.

The amplifier is configured in single shot mode, 45 sps, 32 gain, internal reference, and either p0+/p1- or p3+/P2- as the analog inputs. Each ADC has two thermocouples connected to it and samples both at 1 Hz. Immediately before measurement of the thermocouple, the ADC is placed in temperature sensor mode to calculate the internal temperature for cold junction compensation

I also do not notice a difference in the ADC power consumption when the BCS is enabled. I have confirmed that the correct settings are being written into config register 2 after enabling/disabling the BCS by reading back the value stored in the ADC after issuing the I2C write command

Can someone please explain why the BCS is not causing a change in the input measurement or what needs to be adjusted to detect an open circuited thermocouple?

Thanks!

  • Hi Ansel,

    The burnout current sources (BCS) essentially use 2 current sources with one connected via AVDD to AINP as a source current  and the other with AINN connected via to AVSS as a sink current.  So if we exclude your pullup/pulldown on AINN, for an open thermocouple (TC) you would normally see the AINP pulled high and the AINN pulled low.  For additional detail see Figure 42 in the ADS112C04 datasheet.

    If you add a pullup on the AINP pin and a pulldown on the AINN pin you do not need to use the BCS as the configuration will do the same as using the BCS as the open TC will have the AINP pulled high and the AINN pulled low.

    There is an additional advantage using the pullup/pulldown configuration as the input range is centered around mid-analog supply.  The disadvantage to this approach is current will be flowing through the TC which may add error due to self-heating of the sensor.

    Another approach to set the input range to the correct voltage is to use the approach you are using. This would set the AINN pin at mid-analog supply, however when the BSC are turned on there will be a slightly different operation as now the BCS will attempt to pull current through the pullup resistor.  In the end, the results should be similar as to the other methods, even though the voltages at the input pins would be slightly different.  Without the thermocouple connected you should still see the AINP pulled toward the AVDD supply and the AINN pulled toward AVSS.  At a PGA gain of 32 the difference should still appear full-scale.

    I would suggest checking the voltages at the AINP and AINN pins to verify that the BCS is truly enabled.  Send me all the register settings for the ADS112C04 configured for device at the time you are running the BCS test.  Also if you have scope or logic analyzer shots of the communication it would be helpful for me to see.  I would double check that the device you are using for the BCS test is the device being addressed in your code.  With multiple devices and testing it is easy to be communicating to the wrong device than is actually being tested.

    Best regards,

    Bob B

  • Hello Bob,

    Thank you for your support in helping me understand the functioning of the BCS. After reading all of the ADS registers before and after conversion, I realized that the BCS enable bit was indeed low. I found out that my software was issuing an I2C general call reset before configuring the conversion time and input settings, but after updating the BCS setting.

    The BCS now works as expected and causes a full scale reading if no thermocouple is connected.

    Thanks,

    Ansel