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.

TMS320F28388D: Internal temperature sensor acquisition

Part Number: TMS320F28388D

Hi Team,

Here're few questions from the customer may need your help:

1) How does the internal temperature sensor acquisition function be calculated? As noted, the product test was referenced to 2.5 V, but according to the formula, it's hard to understand how the algorithm corresponds to a 3.0-V reference. Because the vref parameter is 3.0 when this function is called. 

The same call is made in the 28379 internal temperature sensor routine: 

The principle of this calculation can be clearly understood:

(Float32_t)tempResult * (vref / 2.5F) corresponds to vref set to 3.0, So the acquisition result needs to be adjusted by the multiplication rate; the bias value (float32_t)tsOffset is then subtracted; and the equivalent (float32_t)tsSlope is multiplied by the last.

2) No definitions or descriptions of the following parameters were found in the manual and TRM, could you help elaborate on this?

Thanks.

Best Regards,

Cherry

  • Hi,

    Due to Thanksgiving Holiday, the subject matter expert is out of office. We will get back to you next week.

    Thanks & Regards,

    Santosh

  • Hi Cherry,

    1) How does the internal temperature sensor acquisition function be calculated? As noted, the product test was referenced to 2.5 V, but according to the formula, it's hard to understand how the algorithm corresponds to a 3.0-V reference. Because the vref parameter is 3.0 when this function is called. 

    Internal temp sensor slope and offset (more on this later) are derived at the factory with VREF of 2.5V.  In order for the temperature readings to scale correctly, at the customer's end final VREF, the correct VREF has to be entered in function ADC_getTemperatureC().  For instance, at customer's end, the board is set for 3.0VREF, the scaling factor would be 3.0V/2.5V or 1.2.  The typical temperature sensor step per degC is around 3.6mv and for a temperature change from 30C to 125C, this would be around 0.342v increase in temperature sensor output.  With 2.5V ADC reference, this is around 560 codes ([0.342/2.5]*4095) but with 3.0V ADC reference, this would be around 467 codes ([0.342/3.0]*4095).  So to have the equivalent steps for 3.0v VREF with the measurements made with the factory 2.5v testing, the scaling factor has to be used.  You can check with the example I have:  divide 560 codes (2.5v) with scaling factor of 1.2 and you will get 467 codes for 3.0v VREF.

    2) No definitions or descriptions of the following parameters were found in the manual and TRM, could you help elaborate on this?

    At factory testing, there are two parameters logged for temperature sensor: 1) ADC output of tempsensor and 2) actual temperature where measurement is made.  Let us assign these pair in the form of (x,y) or (adc,temp). Temperature sensor is also measured at a) low temperature and b) high temperature so the data pairs will be: (adc,temp)a for low temp and (adc,temp)b for high temp.  Temperature sensor response is linear across temperature so with this characteristic, we can just plot these 2 points as straignt line so it would form the linear equation y=mx + b; where y is the temperature, m is the slope, x is the adc reading (from tempsensor) and m is the offset.  Same principle is done on tempsensor readings.  TSSLOPE is the slope derived using the linear equation on the 2 temp sensor readings logged at factory testing and TSOFFSET is the offset.

    Let me know if this answers your queries.

    Regards,

    Joseph 

  • Hi Joseph,

    Thanks for your help and it dose help!

    Also one more question, regarding the calculate formula in the routine of 388:

    a. How does the factor of 1.2 in this equation?

    b. The slope should be ºC / LSB right? Why is the slope of 388 like this?

    c. Why divide ADC_EXT_REF_TSSLOPE instead of multiply ADC_EXT_REF_TSSLOPE in this calculation?

    Thanks and regards,

    Cherry

  • Hi Cherry,

    Slope for F28388 which a floating point value stored in 0x701C8 is in terms of Volts/ºC.  Offset is also in terms of Volts.  The first term in the equation is converting the ADC code in LSBs to Volts, hence the reference voltage and scaling comes into the equation.

    Regards, 

    Joseph