某手机在-20度环境下,只能读到电池温度为-18℃

作者:AirCity 2020.3.1
[email protected] 本文所有权归作者Aircity所有

问题回顾

测试部发现,手机在-20度温度箱里,从log读出来,温度只有-18℃。
问题分析
电池温度检测原理图如下,PM8952提供偏执电压(2.7V),选择上拉电阻阻值要与NTC电阻25℃时的电阻一致。
某手机在-20度环境下,只能读到电池温度为-18℃
NTC电阻参数如下,我们选择的[email protected]℃,是没有问题的,除此之外,还有个参数很重要,就是B(25/50),称之为NTC的beta参数,它决定了NTC的R-T曲线,也决定了输入给ADC的最大电压(即NTC阻值最高能到多少,导致ADC饱和,此时对应了最低的温度)。如果温度在-20℃时,NTC电阻很大,导致进入ADC的电压接近或超过了高通的范围,就会出问题。
R25 10 Kohm ±1%
B(25/50) 3380 K ±1%
TEMP. R-low R-center R-high
(deg.C) Kohm Kohm Kohm
-40 188.0202 195.652 203.5731
-39 177.8044 184.9171 192.2951
-38 168.2141 174.8452 181.7195
-37 159.2069 165.391 171.7981
-36 150.7435 156.5125 162.486
-35 142.7877 148.171 153.7418
-34 135.3055 140.3304 145.5274
-33 128.2659 132.9576 137.8071
-32 121.6397 126.0215 130.5481
-31 115.4001 119.4936 123.7198
-30 109.5221 113.3471 117.294
-29 103.9894 107.5649 111.2522
-28 98.7725 102.1155 105.5611
-27 93.8512 96.9776 100.1981
-26 89.2071 92.1315 95.1423
-25 84.8227 87.5588 90.3741
-24 80.6819 83.2424 85.8755
-23 76.7698 79.1663 81.6295
-22 73.0722 75.3157 77.6204
-21 69.5761 71.6768 73.8336
-20 66.2694 68.2367 70.2554
-19 63.1477 64.9907 66.8807
-18 60.1923 61.919 63.6889
-17 57.3933 59.0113 60.6689
-16 54.7415 56.2579 57.8105
-15 52.2283 53.6496 55.104
-14 49.8456 51.1779 52.5406
-13 47.5859 48.8349 50.1117
-12 45.4422 46.6132 47.8097
-11 43.4078 44.5058 45.6271
-10 41.4765 42.5062 43.557
-9 39.6345 40.5997 41.5843
-8 37.8855 38.7905 39.7131
-7 36.2244 37.0729 37.9374
-6 34.6461 35.4417 36.2519
-5 33.1462 33.8922 34.6515
-4 31.7202 32.4197 33.1313
-3 30.3641 31.02 31.6869
-2 29.074 29.689 30.314
-1 27.8465 28.4231 29.0088
0 26.678 27.2186 27.7675
1 25.569 26.076 26.5904
2 24.5123 24.9877 25.4698
3 23.5052 23.9509 24.4026
4 22.545 22.9629 23.3861
5 21.6294 22.0211 22.4175
6 20.756 21.123 21.4944
7 19.9227 20.2666 20.6143
8 19.1273 19.4495 19.7751
9 18.368 18.6698 18.9745
10 17.643 17.9255 18.2107
11 16.9494 17.2139 17.4807
12 16.287 16.5344 16.784
13 15.6541 15.8856 16.1189
14 15.0493 15.2658 15.4838
15 14.4712 14.6735 14.8772
16 13.9184 14.1075 14.2977
17 13.3898 13.5664 13.7439
18 12.8841 13.0489 13.2145
19 12.4002 12.554 12.7084
20 11.9371 12.0805 12.2244
21 11.4945 11.6281 11.7621
22 11.0703 11.1947 11.3195
23 10.6637 10.7795 10.8955
24 10.2738 10.3815 10.4892
25 9.9 10 10.1
26 9.5343 9.6342 9.7342
27 9.1838 9.2835 9.3833
28 8.8477 8.947 9.0465
29 8.5254 8.6242 8.7234
30 8.2162 8.3145 8.4132
31 7.9204 8.0181 8.1162
32 7.6367 7.7337 7.8312
33 7.3647 7.4609 7.5576
34 7.1038 7.1991 7.2951
35 6.8534 6.9479 7.043
36 6.6131 6.7067 6.8009
37 6.3825 6.4751 6.5683
38 6.1611 6.2526 6.3449
39 5.9485 6.039 6.1302
40 5.7443 5.8336 5.9238
41 5.5474 5.6357 5.7248
42 5.3582 5.4454 5.5333
43 5.1764 5.2623 5.3492
44 5.0015 5.0863 5.172
45 4.8333 4.9169 5.0015
46 4.6715 4.7539 4.8373
47 4.5159 4.5971 4.6793
48 4.3661 4.4461 4.5271
49 4.222 4.3008 4.3806
50 4.0833 4.1609 4.2395
51 3.9498 4.0262 4.1036
52 3.8213 3.8964 3.9727
53 3.6975 3.7714 3.8465
54 3.5783 3.651 3.7249
55 3.4634 3.535 3.6076
56 3.3527 3.4231 3.4946
57 3.2461 3.3152 3.3856
58 3.1432 3.2113 3.2804
59 3.0441 3.111 3.179
60 2.9486 3.0143 3.0812
61 2.8578 2.9224 2.9881
62 2.7703 2.8337 2.8984
63 2.6858 2.7482 2.8118
64 2.6044 2.6657 2.7282
65 2.5259 2.5861 2.6476
66 2.4501 2.5093 2.5697
67 2.377 2.4351 2.4945
68 2.3064 2.3635 2.4218
69 2.2382 2.2943 2.3517
70 2.1724 2.2275 2.2839
71 2.1086 2.1627 2.2181
72 2.0469 2.1001 2.1545
73 1.9873 2.0396 2.093
74 1.9298 1.9811 2.0335
75 1.8741 1.9245 1.9761
76 1.8204 1.8698 1.9205
77 1.7684 1.817 1.8667
78 1.7181 1.7658 1.8147
79 1.6695 1.7164 1.7644
80 1.6225 1.6685 1.7157
81 1.5772 1.6224 1.6687
82 1.5334 1.5777 1.6232
83 1.4909 1.5345 1.5792
84 1.4499 1.4927 1.5365
85 1.4101 1.4521 1.4952
86 1.3717 1.4129 1.4552
87 1.3344 1.3749 1.4165
88 1.2984 1.3381 1.379
89 1.2635 1.3025 1.3426
90 1.2296 1.268 1.3074
91 1.1966 1.2343 1.273
92 1.1647 1.2016 1.2396
93 1.1337 1.17 1.2073
94 1.1037 1.1393 1.176
95 1.0746 1.1096 1.1456
96 1.0464 1.0807 1.1161
97 1.019 1.0528 1.0875
98 0.9925 1.0256 1.0598
99 0.9668 0.9993 1.0328
100 0.9419 0.9738 1.0067
101 0.9179 0.9492 0.9816
102 0.8946 0.9254 0.9571
103 0.872 0.9022 0.9334
104 0.8501 0.8798 0.9104
105 0.8288 0.858 0.8881
106 0.8081 0.8368 0.8664
107 0.7881 0.8162 0.8453
108 0.7686 0.7963 0.8248
109 0.7497 0.7769 0.8049
110 0.7313 0.758 0.7856
111 0.7135 0.7397 0.7668
112 0.6962 0.7219 0.7485
113 0.6793 0.7046 0.7308
114 0.663 0.6878 0.7135
115 0.6471 0.6715 0.6968
116 0.6316 0.6556 0.6805
117 0.6166 0.6402 0.6646
118 0.602 0.6252 0.6492
119 0.5878 0.6106 0.6342
120 0.574 0.5964 0.6196
121 0.5606 0.5826 0.6054
122 0.5476 0.5692 0.5916
123 0.5349 0.5562 0.5782
124 0.5226 0.5435 0.5651
125 0.5106 0.5311 0.5524
-20℃时,阻值为70.3K,上拉电阻10K,上拉电压为2.8V,分压后Vbat_therm=2.36V;ADC的输入范围是0-2.8x91.2%=2.55V,这个与2.36V已经非常接近。
某手机在-20度环境下,只能读到电池温度为-18℃
这个时候,我们还应该考虑一个问题,电压和电阻的计算关系,是通过一个叫Steinhart-Hart equation的公式计算出来的,针对不同的Beta值,参数不同,如果软件配置错误,肯定也会出错。

某手机在-20度环境下,只能读到电池温度为-18℃
在选择Beta时,我们要选择规格书中要求的Beta值范围中,最小的那个,但也要考虑到需要检测的温度范围。
上面似乎没有分析出什么结果,因为电压范围没有超,后来看到PM8994的一个ECN,上面已经说明Beta值与最低检测温度有对应关系,怀疑高通的ADC在低温下性能不好,又不好意思承认,只给了使用注意事项,但没告诉为什么。
从下面高通提供的曲线可以看出beta为3380的NTC,最低能检测约-18℃。
某手机在-20度环境下,只能读到电池温度为-18℃