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.

[参考译文] TMS570LC4357:内部温度传感器值低于该值时读数奇怪&'s –40°C 校准值

Guru**** 2529560 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1557765/tms570lc4357-strange-readings-from-internal-temperature-sensor-value-below-it-s-calibrated-value-at--40-c

器件型号:TMS570LC4357


工具/软件:

尊敬的专家:

我们在三个内部温度传感器中的一个上遇到了奇怪的温度读数。

该器件被置于一个温度室中、然后冷却至–40°C。
启动时、软件:

  • 从 OTP 读取温度校准值并计算斜率和偏移量(1-18 行)、如应用手册 SPNA216–2016 年 1 月所述
  • 配置和测试内部 ADC 并在 IOMM 中启用内部温度传感器
  • 读取 ADC1[31](=ITMP1)、ADC2[30](=ITMP3) 和 ADC2[31](=ITMP2)

现在传感器 2 读数(第 25 行)与实际温度值–49°C 的–40°C 预期温度相差太远。
此值是使用已应用的校正值计算的。
我们的假设是、传感器读数在整个温度范围内的精度约为+/–2.5K

=> 问题 (a): 即使应用了校准校正、所有传感器的此假设是否正确?
或者、这只在手册中建议的某种“2oo3 投票“之后才有效吗?

由于 233K (–40°C)(线路 3、9、15)有校准值、因此我们还转储 ADC 读数的原始值(线路 20-22):
[2/3]233K = 1531/0x5FB RAW <=> ITMP119raw = 0x000005FE ==> DIFF:+3.
[2/3]233K = 1555/0x613 RAW <= ITMP2RAW = 0x000005DF => DIFF:–52
[2/3]233K = 1538/0x602 RAW <= ITMP3RAW = 0x0000060C =>差分:+10
传感器 1 和 3 读数略高于其校准值、这是合理的、因为该器件会自发热。
另一方面、传感器 2 比校准值低 52 位、看起来有点奇怪。

=>问题 (b): 原始温度读数如何低于校准值?
目前、我们只使用一台设备就会遇到此问题、但我们希望确保这不是任何类型的一般误解或错误。
我们测试了另外 5 个更接近校准值的器件,但由于传感器完全集成在芯片上,很难想象导致芯片故障的原因。

内部 ADC 连接了其他信号、这些信号似乎读数有效。
此外、内部 ADC 测试程序运行时不会指示任何问题。
因此、据我们所知、模数转换本身似乎运行正常。

  • ADC 基时钟为 1/93、3ns (VCLK=ADC 75MHz 且预分频器设置为 6 (+1))
  • 采样周期= 255 (+2 => 257 * 93、3ns = 24us)
  • 放电周期= 255 (* 93、3ns = 23、8us)

[2025-08-15 09:58:22.450] [001] ===== [0] =============================================
[2025-08-15 09:58:22.450] [002] [1/3]303K = 1934/0x78E raw
[2025-08-15 09:58:22.450] [003] [2/3]233K = 1531/0x5FB raw
[2025-08-15 09:58:22.450] [004] [3/3]398K = 2486/0x9B6 raw
[2025-08-15 09:58:22.450] [005] slope =0.173
[2025-08-15 09:58:22.450] [006] offset=180.701
[2025-08-15 09:58:22.450] [007] ===== [1] =============================================
[2025-08-15 09:58:22.450] [008] [1/3]303K = 1965/0x7AD raw
[2025-08-15 09:58:22.450] [009] [2/3]233K = 1555/0x613 raw
[2025-08-15 09:58:22.450] [010] [3/3]398K = 2496/0x9C0 raw
[2025-08-15 09:58:22.450] [011] slope =0.176
[2025-08-15 09:58:22.450] [012] offset=231.065
[2025-08-15 09:58:22.450] [013] ===== [2] =============================================
[2025-08-15 09:58:22.450] [014] [1/3]303K = 1945/0x799 raw
[2025-08-15 09:58:22.450] [015] [2/3]233K = 1538/0x602 raw
[2025-08-15 09:58:22.450] [016] [3/3]398K = 2492/0x9BC raw
[2025-08-15 09:58:22.450] [017] slope =0.173
[2025-08-15 09:58:22.450] [018] offset=191.383
[2025-08-15 09:58:22.450] [019] 
[2025-08-15 09:58:22.450] [020] ITMP1raw = 0x000005FE
[2025-08-15 09:58:22.450] [021] ITMP2raw = 0x000005DF
[2025-08-15 09:58:22.450] [022] ITMP3raw = 0x0000060C
[2025-08-15 09:58:22.450] [023] 
[2025-08-15 09:58:22.450] [024] ITMP1 = 234.542 K (==> -38,608°C)
[2025-08-15 09:58:22.450] [025] ITMP2 = 224.029 K (==> -49,121°C)
[2025-08-15 09:58:22.450] [026] ITMP3 = 235.472 K (==> -37,678°C)
[2025-08-15 09:58:22.450] [027] DIF13 =   0.930 K
[2025-08-15 09:58:22.450] [028] DIF23 =  11.443 K

谢谢、此致、
最大值

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    => 问题 (a): 即使应用了校准校正、所有传感器的此假设是否正确?

    是的、精度在 2.5°C 以内。

    [quote userid=“430202" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1557765/tms570lc4357-strange-readings-from-internal-temperature-sensor-value-below-it-s-calibrated-value-at-–40-c =>问题 (b): 原始温度读数如何低于校准值?

    传感器 2 在其他温度(例如 30 度或 125 度 TEC)下是否给出正确的值?

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

    尊敬的 QJ:

    感谢您的快速答复。
    以下是我们收集的一些其他读数:

    目前、我们仅收集温度高达 0°C 的数据。 此数据如附图所示。

    • 在最左侧列中、您可以看到外部温度(在某些温度下,我们打开器件几次,因此每个温度下的第一个是最有效的温度)
    • ITMP1-3 是指内部传感器。 “RAW “值是直接 ADC 读数。 已使用校准值更正缩放的值“K"和“和“°C“。
    • ITMPx-ITMPx 显示了每个传感器之间的差异、对于每个传感器、其绝对精度不应超过 5°C (+/–2、5°C)。
    • XTMP1-4 显示了电路板上的一些额外的外部 I2C 传感器以供参考(我们仅在软件正确启动后才从外部传感器读取数据)
    • 最右侧的 T/U/V 列显示了与外部温度读数的差异

    从–46°C 到–0°C、传感器 2 的温差越来越好、但仍不在 2、5°C 的预期范围内。 似乎存在线性关系。

    另外值得注意的是、只有传感器 2 会漂移至外部基准温度以下、而其他 2 个传感器往往会漂移至基准温度以上。

    谢谢、此致、
    最大值

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

    您好、Max、

    明白了、谢谢。 片上温度传感器 2 的读数超出范围。 我想知道器件在器件测试期间是否将错误的 ADC 值编程到 OTP 中。 请与供应商联系以退回该器件、以便进一步分析。  

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

    尊敬的 QJ:
    感谢您的建议。 我们会将设备发回给供应商进行进一步调查。

    仅供参考、我们昨天在+30°C(另一个校准点)再进行了一次测量、传感器 2 也低于预期值:

    传感器 1:
    30°C 的校准对:[1/3]303K = 1934/0x78E RAW
    传感器 1 的 ADC 值:ITMP119= 0x00000790 => Diff = 2

    传感器 2:
    30°C 的校准对:[1/3]303K = 1965/0x7AD RAW
    传感器 2 的 ADC 值:ITMP2r= 0x00000788 => Diff =–37!

    传感器 3:
    30°C 的校准对:[1/3]303K = 1945/0x799 RAW
    传感器 3 的 ADC 值:ITMP3r= 0x00000799 => Diff = 0

    30°C 处的实际值与校准值之间的差异仍为 37 位。
    因此、这似乎是传感器 2 有缺陷或 OTP 中的校准信息完全错误。

    谢谢、此致、
    最大值

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

    您好、Max、

    您可以为传感器 2 使用自己的校准数据而不是 OTP 值吗? 根据“室温 — ITMP2“图表(使用您的测试数据)、传感器 2 看起来正常(线性图表)。  

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

    你 (QJ) 好

    遗憾的是、我们无法通过这种方式更改软件。 根据安全法规、我们必须使用保存在 OTP 中的数据。
    因此、校准值不正确的芯片只能被识别为有缺陷。
    但是、只要是一次性发生、我们就可以更换有缺陷的芯片。

    谢谢、此致、
    最大值

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

    好的、谢谢。