主题中讨论的其他器件:MSPM0L1304、 MSPM0L1306、、 MSPM0G3507
您好!
我正在处理一个使用内部温度传感器的 MSPM0L1306/MSPM0L1304应用。 我已经修改了 ADC12_single_conversion 示例、以使用内部温度传感器和1.4V 内部基准。 有了开发板在办公桌上、我得到的值在1900和1910年左右、TEMP_SENSE_0
我的芯片的值是407。
将这些值插入到手册(SLAU847C、修订于2023年5月)第2.2.5节的公式中、我得到:
VSAMPLE =(1.4V / 4096)*(1900 - 0.5) = 649.2mV
VTRIM =(1.4V / 4096)*(407 - 0.5)= 138.9mV
TSAMPLE =(649.2mV - 138.9mV)/(-1.75mV /°C)+ 30°C =-262 °C
这个值是不现实的。 然而、当使用手册示例中的 VTRIM 时、我会得到更合理的结果:
TSAMPLE =(649.2mV - 634.5mV)/(-1.75mV /°C)+ 30°C = 22 °C
但是、这忽略了任何单芯片工厂校准、我不愿意在生产中使用此类修复。 我的另一个 LP-MSPM0L1306也得到了类似的结果。
我是否遗漏了某个东西?或者此芯片中的 TEMP_SENSE_0值是否编程错误?
下面是完整的 FACTORYREGION:
0x41C40000 00000000 1BB8202F 80C2DDD3 02180217 03020301 00001293 00040040 00000000
0x41C40020 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000197
0x41C40040 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
0x41C40060 00000000 00000000 00000000 00000000 00000000 00000000 00000000 CB6D8077
使用的软件:Ubuntu 22.04、Code Composer Studio 12.5.0.00007、ARM GCC 10.3-2021.10、MSPM0 SDK 1.20.00.05
附件中提供了修改后的示例代码以及编译后的二进制文件存档。
谢谢!
鲍林特