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: 关于内部温度传感器采集

Part Number: TMS320F28388D

问题1.请问28388内部温度传感器采集函数的计算是什么原理呢?如注释所说,产品测试是以2.5V为基准的,但是我从这个公式里无法理解算法是如何将其对应到3.0V基准的,因为调用这个函数的时候vref参数是3.0

同样的调用在28379内部温度传感器例程里也有:

这个计算公式原理就很清楚,

(float32_t)tempResult * (vref / 2.5F))这个处理对应vref设定为3.0,所以采集结果需要做一个倍率的调整;之后减去偏置值(float32_t)tsOffset;最后乘以当量(float32_t)tsSlope

问题2. 在数据手册和TRM中没有找到以下参数的定义或者介绍

  • 您好,我们已收到您的问题并升级到英文论坛寻求帮助。因这一周为感恩节假期,英文论坛的答复会相对慢一些,给您带来的不便敬请谅解!

  • 您好,

    问题1.请问28388内部温度传感器采集函数的计算是什么原理呢?如注释所说,产品测试是以2.5V为基准的,但是我从这个公式里无法理解算法是如何将其对应到3.0V基准的,因为调用这个函数的时候vref参数是3.0

    内部温度传感器斜率和失调电压在出厂时的 VREF 为2.5V。 为了使温度读数正确缩放,在用户的最终 VREF 处,必须在函数 ADC_getTemperatureC()中输入正确的 VREF。 例如在客户端,电路板设置为3.0VREF,比例因子将为3.0V/2.5V 或1.2。 每摄氏度的典型温度传感器阶跃约为3.6mv,当温度从30C 变为125c 时,温度传感器输出将增加约0.342v。 对于2.5V ADC 基准,大约是560个代码([0.342/2.5]*4095);但对于3.0V ADC 基准,大约是467个代码([0.342/3.0]*4095)。 因此,为了使3.0V VREF 的等效阶跃与出厂2.5V 测试所做的测量值相等,就必须使用比例因子。 您可以使用工程师的示例进行检查:使用比例因子为1.2除以560个代码(2.5V),将可以获得467个用于3.0V VREF 的代码。 

    问题2. 在数据手册和TRM中没有找到以下参数的定义或者介绍

    在出厂测试中,记录了两个温度传感器参数:1)温度传感器的 ADC输出,2)进行测量的实际温度。 以(x、y)或(ADC、temp)的形式分配这些对。 温度传感器也在 a)低温和 b)高温下测量,因此数据对将为:(ADC、temp) a (针对低温)和(ADC、temp) b (针对高温)。 温度传感器响应在整个温度范围内呈线性,因此借助此特性,我们可以将这2个点绘制为直角线,从而形成线性方程 y=mx + b; 其中 y 是温度、m 是斜率、x 是 ADC 读数(来自 tempsensor)、m 是偏移。 温度传感器读数也采用相同的原理。 TSSLOPE 是使用工厂测试中记录的2个温度传感器读数上的线性方程得出的斜率,TSOFFSET 是偏移。 

  • 您好 感谢帮我 您讲解的两段文字我已经理解了

    不过对于388例程中的计算公式 还是不太明白 您可以解释下吗

    第一 这个公式里怎么体现1.2倍这个系数呢?

    第二 我理解的斜率 是ºC / LSB,388的斜率是如何呢?

    第三 这个计算里,为什么要除以ADC_EXT_REF_TSSLOPE而不是乘以ADC_EXT_REF_TSSLOPE呢?

  • 您好,

    F28388的斜率,该浮点值存储在0x701C8中,是以伏/ºC 为单位。 偏移也以伏特为单位。 公式中的第一个术语是将 LSB 中的 ADC 代码转换为伏特,因此基准电压和换算系数会输入公式中。 

  • 好的 感谢帮助 也在另外一个帖子中帮我分析了这个问题