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.

[参考译文] TMS320F28379D:有关温度传感器的查询

Guru**** 2587345 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1174026/tms320f28379d-query-about-tempture-sensor

器件型号:TMS320F28379D

大家好、

 

上图显示了28035数据表中偏移和内部温度传感器等效参数的说明。

下图显示了 TRM 中的内部温度传感器说明。

问题1. 在28379D 和28388D 数据表和 TRMS 中、我没有找到与上图中的描述类似的任何描述。 请告诉我、在哪里可以找到28379和28388内部温度传感器的介绍、即 TSLOPE 和 TOFFSET?

我对28379的“adc_ex3_temp_sensor”例程中的函数“adc_getTemperatureC”有以下问题:

我在​​​​调试过程中使用了28379D 的 LaunchPad 来查看上述两个地址的值

问题2. ​​0x7036E 和0x70372的值都是0x28A9。 请告诉我0x28A9代表什么?

问题3. 这个问题与问题1类似。 我在28379数据表或 TRM 中找不到有关 TOFFET 和 TSLOPE 的任何说明。 请告诉我原因。

如果我没有阅读035的 TRM,我就不知道 TSLOPE 是 Q15格式。 ℃调试期间观察到的斜率值0x14A5 (5285)、28379D 的内部温度传感器等效值为5285÷32768=0.16 μ A/LSB、这与035相似。

问题4. 我不太理解以下代码中突出显示部分的原理、但该代码的目的应该是从调试的角度将浮点型温度转换为整数1、对吧? 但我仍然想理解这一原则。

问题5. 关于内部温度传感器参数的说明、我在28388数据表或 TRM 中找不到它。  请告诉我在哪里可以找到它吗?

此致、

凯瑟琳

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题4似乎涉及从摄氏温度转换为绝对温度。

    “temp”代表 Q15格式的摄氏度,后跟0x4000 (16384),相当于增加0.5摄氏度。

    这部分代码显示0摄氏度对应于绝对温度273K。 上面的“temp”是 Q15格式的摄氏度。 要将结果转换为绝对温度、还应将此273转换为 Q15格式、即乘以0x8000 (32768)。

    将上述两个部分相加、我们得到 Q15格式的绝对温度。 然后、我们将此 Q15格式的绝对温度值转换为 Q0格式的绝对温度值、即0x8000 (32768)。

    最后、采用 Q0格式的绝对温度减去摄氏度与绝对温度273之间的差值、以获得摄氏度的结果。

    我们为什么需要执行上述步骤?

    我们是否可以将“temp”(Q15格式的摄氏温度值)除以32768,将类型转换为整数,然后将其作为结果发回?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Katherine、

    我将介绍 F2837x 的温度传感器功能。  这是在 F2838x 和我之前开发的、需要查看过去的日志和代码来了解函数调用发生的情况。  我需要一段时间来提出计算背后的解释。  请注意、上述例程与在 F2838x 上执行的操作有很大不同。

    此致、

    Joseph   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Joseph、

    正如您所说的、28388例程的计算方法与29379的计算方法完全不同。 除了这篇文章、我 还有一篇关于28388温度传感器例程的文章、得到 了周樱桃的支持。

    (+) TMS320F28388D:内部温度传感器采集- C2000微控制器论坛- C2000 ︎ 微控制器- TI E2E 支持论坛

    我理解答案的第一段。 对于28388、在2.5V 基准电压下测量温度传感器。 从答复中可以看到、560代码值的变化表示温度变化为95摄氏度(95 x 0.0036V = 0.342V、0.342VH÷2.5V x 4096 = 560)。

     在3V 基准下、0.342V ÷3V x 4096 = 467、在本例中、代码值 变化467代表 95摄氏度的温度变化。

    为了统一代码值转换560表示温度变化95摄氏度、转换结果应乘以 3V 基准下的系数1.2。

    我现在了解这个过程。

    不过,我仍然不太理解 周樱桃的第二个问题的答案。 我需要更多的时间来考虑它。

    但是、在28379例程中、温度的计算原理仍然非常清晰。 乘以系数1.2后、减去偏置并乘以斜率。 相比之下,我仍然不理解28388例程的计算公式。

    此致、

    凯瑟琳

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Katherine、

    很抱歉造成混淆。  我将尝试解决有关 F2837x 的第一个问题、该问题涉及您在线程开头指出的存储器位置中的内容:

      0x7036E 和0x70372:包含用于计算温度传感器斜率和偏移的函数的指针。  我仍在尝试找到该函数、以便更好地了解斜率和偏移的表示方式。

       0x7036F:包含斜率(如果单位是 lsb、电压和数字表示形式、我仍然需要验证该单位是多少)  

      0x70373:包含偏移量  

    对于 F2838x 温度传感器、我在 Cherry 的帖子中发布了另一条回复。   ºC 而言、斜率是以 V/μ s 为单位。  以伏为单位。  温度传感器的结果是以 ADC 代码为单位的,因此温度传感器计算 tempResult*Vref/4096.0F 中的第一项将传感器读数从 LSB 转换为 V。 计算的其余部分是直接的,应用斜率和偏移值后得到的单位将是  ºC μ A。  

    此致、

    Joseph