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.

ADS1220EVM: Internal temperature sensor data

Guru 11170 points
Part Number: ADS1220EVM
Other Parts Discussed in Thread: ADS1220, ADS1120EVM, ADS1120, , ADCPRO

Hi,

Our customer going to use the ADS1220 for new equipment. They purchased the EVM.
there is enable button of Internal Temperature sensor in GUI. However, they asserting that can not to check output data for sensor.

Please let me know that how to check output data for sensor.

(We have not EVM.)

Regards,
ACGUY

  • ACGUY,

    Unfortunately, I don't have an ADS1220 EVM available, but I do have an ADS1120EVM and the two devices use the same temperature sensor (and data output format with 14 bits of information). The ADS1120 is a 16 bit device while the ADS1220 is a 24 bit device.

    To read the temperature data from the ADS1220 use the ADCPro software and select the ADS1220EVM plug in under the EVM menu. This will bring up the software where you can select Internal Temperature Sensor in the I/O Config Tab. Then under the Test menu, select Multiscope to collect data. Use Codes as the unit.

    Once ready, Click on Acquire to collect the data. This will give a run of data. Note that I've used 600 SPS as a data rate. Here's a screen shot of the ADCPro window to show how it is set up:

    I needed to check the data coming out of the device directly, so I used a logic analyzer to check the data stream:

    Here is one with a single output data read:

    The problem that I had was that this temperature sensor data is 14 bit left justified, but ADCPro does not seem to correctly account for the format. As an example, My average code is 3333 (0D05h) output. However the last two bits are truncated, which means that the real output would be 833 (0341h). I show this with a diagram below.

    For 24 bit data, as in the ADS1220, you'll need to remove the last 10 bits of data like this:

    Once you have the temperature output code, multiply that number by 0.03125°C. That should give the temperature from the internal temperature sensor. For the ADS1120 data that I collected, the resulting temperature was 0341h, or 833d. 833*0.3125 gives 26°C

    Of course, for the ADS1220, the customer will need to truncate the last 10 bits of data. A quick way of getting the value (without having to truncate the last 10 bits of the data) would be to divide the number by 1024. That should give the approximate value (within one bit of temperature data).

    I think this is the problem your customer is seeing. You should check to with them to find out what values they are getting from their EVM and verify that my comments are correct. If they have further problems, I'll see if I can find an ADS1220EVM to verify the output code.

    Joseph Wu