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.

[参考译文] TMS320F280039C:MCU 温度传感器读数

Guru**** 2303350 points
Other Parts Discussed in Thread: TMS320F280039C, C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1521100/tms320f280039c-mcu-temperature-sensor-readings

器件型号:TMS320F280039C
主题: C2000WARE 中讨论的其他器件

工具/软件:

尊敬的团队:

我想确认 TMS320F280039C MCU 上的温度传感器是否可以读取负温度。 如果支持、支持的温度范围是多少?

根据我的理解、ADC 原始数据始终为正、因为它以数字格式表示传感器的输出。 由于是根据此 ADC 值执行温度转换、因此系统如何正确解读负温度? 您能否简要解释一下这背后的机制?

此外、您能否澄清 ADC DriverLib 中的 ADC_getTemperatureC ()函数是否正确处理负温度读数?

期待您的答复。

此致、

Manasa P

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

    尊敬的 Manasa:

    是的、温度传感器的返回值始终为正数、介于4095上的0之间、这是正确的。   但是、读取实际温度需要一个线性函数、该函数涉及读取和记录已知极端两个温度点的原始温度传感器值。  下一步涉及计算这两个点的斜率和截距、并在稍后使用它们根据原始温度传感器读数计算实际温度。

    在工厂测试期间、每个 F280039器件上已经完成了采样和截距计算、这些值存储在器件的 OTP (一次性可编程)区域中。  用户只需配置 ADC 以读取原始温度传感器读数、并应用 API 来使用存储的器件温度传感器斜率/截距、API 会为温度传感器返回一个有符号整数值。

    请参阅 C2000Ware 中的 adc_ex3_temp_sensor.c 示例。  在此示例中、您可以在 ISR (__interrupt void adcC1ISR) 中看到、原始温度传感器值在 ADC_redResult ()函数中读出、并分配给变量 sensorSample。  这将返回一个介于0和4095之间的值。 sensorSample 将作为参数传递给 ADC_getTemperatureC()。  此函数使用在工厂测试期间得出的存储斜率和截距值来计算实际温度。  本示例假设器件配置为使用内部3.3V 基准。  如果您的应用程序需要不同的基准模式、则需要在代码和 ISR 中通过更改调用 ADC_getTemperatureC ()的函数中的参数来更改此模式、否则器件将使用不同的缩放数字和斜率/偏移值、并将导致计算不稳定。

    此致、

    Joseph

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

    您好、Joseph:

    感谢您详细介绍了 TMS320F280039C 温度传感器如何使用工厂校准的斜率和偏移值来计算实际温度读数。

    我已经使用3.3V 基准测试了实现方案、并成功读取了高达35°C 的正温度。 基于此、我想确认:

    1)提供的温度传感器转换代码是否正确处理负温度?

    2)如果支持负读数、此传感器可以测量的最低温度范围是多少?

    此外、您能否确认传感器可以支持的最大正温度范围?

    期待您的答复。

    此致、

    Manasa

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

    尊敬的 Manasa:

    1)提供的温度传感器转换代码是否可以正确处理负温度?

    JC:是的、例行程序正确处理负温度。  ADC_getTemperatureC()返回有符号整数值。

    [报价 userid="635767" url="~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1521100/tms320f280039c-mcu-temperature-sensor-readings/5848531 #5848531"]

    2)如果支持负读数、此传感器可以测量的最低温度范围是多少?

    此外、您能否确认传感器可以支持的最大正温度范围?

    [/报价]

    JC:温度传感器的返回值将在接近芯片结温的情况下感测。  这大约是-40°C 到150°C

    此致、

    Joseph