summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomasz Michalec <tm@semihalf.com>2021-04-21 20:46:28 +0200
committerCommit Bot <commit-bot@chromium.org>2021-05-20 10:12:31 +0000
commit7b271975c0b6f0f4263e85d5142cf0baed2e3414 (patch)
tree865ecd604e009d522e8b4247eb09ee5accad5e8c
parent4dad2896a34b42c446ca8e6ad0cce10f98cf2b82 (diff)
downloadchrome-ec-7b271975c0b6f0f4263e85d5142cf0baed2e3414.tar.gz
thermistor: update Steinhart-Hart equations
Fix data table for: - 3v3 51.1K pull-up resistor divider with the 47K thermistor - 3v3 13.7K pull-up resistor divider with the 47K thermistor - 3v0 22.6K pull-up resistor divider with the 47K thermistor Now they are using table based on manufacturer resistance table instead of constant B parameter Steinhart-Hart equation. BRANCH=none BUG=b:184857072 TEST=makeall Signed-off-by: Tomasz Michalec <tm@semihalf.com> Change-Id: Ib1998c5e528731e4c2f00e0eb76a568eb4acba6e Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2886887 Reviewed-by: Jett Rink <jettrink@chromium.org>
-rw-r--r--driver/temp_sensor/thermistor.c74
1 files changed, 37 insertions, 37 deletions
diff --git a/driver/temp_sensor/thermistor.c b/driver/temp_sensor/thermistor.c
index 550b2447c2..d895aa58f0 100644
--- a/driver/temp_sensor/thermistor.c
+++ b/driver/temp_sensor/thermistor.c
@@ -102,19 +102,19 @@ static int thermistor_get_temperature(int idx_adc, int *temp_ptr,
*/
#define THERMISTOR_SCALING_FACTOR_51_47 11
static const struct thermistor_data_pair thermistor_data_51_47[] = {
- { 2512 / THERMISTOR_SCALING_FACTOR_51_47, 0 },
- { 2158 / THERMISTOR_SCALING_FACTOR_51_47, 10 },
- { 1772 / THERMISTOR_SCALING_FACTOR_51_47, 20 },
- { 1398 / THERMISTOR_SCALING_FACTOR_51_47, 30 },
- { 1070 / THERMISTOR_SCALING_FACTOR_51_47, 40 },
- { 803 / THERMISTOR_SCALING_FACTOR_51_47, 50 },
- { 597 / THERMISTOR_SCALING_FACTOR_51_47, 60 },
- { 443 / THERMISTOR_SCALING_FACTOR_51_47, 70 },
- { 329 / THERMISTOR_SCALING_FACTOR_51_47, 80 },
- { 285 / THERMISTOR_SCALING_FACTOR_51_47, 85 },
- { 247 / THERMISTOR_SCALING_FACTOR_51_47, 90 },
- { 214 / THERMISTOR_SCALING_FACTOR_51_47, 95 },
- { 187 / THERMISTOR_SCALING_FACTOR_51_47, 100 },
+ { 2484 / THERMISTOR_SCALING_FACTOR_51_47, 0 },
+ { 2142 / THERMISTOR_SCALING_FACTOR_51_47, 10 },
+ { 1767 / THERMISTOR_SCALING_FACTOR_51_47, 20 },
+ { 1400 / THERMISTOR_SCALING_FACTOR_51_47, 30 },
+ { 1072 / THERMISTOR_SCALING_FACTOR_51_47, 40 },
+ { 802 / THERMISTOR_SCALING_FACTOR_51_47, 50 },
+ { 593 / THERMISTOR_SCALING_FACTOR_51_47, 60 },
+ { 436 / THERMISTOR_SCALING_FACTOR_51_47, 70 },
+ { 321 / THERMISTOR_SCALING_FACTOR_51_47, 80 },
+ { 276 / THERMISTOR_SCALING_FACTOR_51_47, 85 },
+ { 237 / THERMISTOR_SCALING_FACTOR_51_47, 90 },
+ { 204 / THERMISTOR_SCALING_FACTOR_51_47, 95 },
+ { 177 / THERMISTOR_SCALING_FACTOR_51_47, 100 },
};
static const struct thermistor_info thermistor_info_51_47 = {
@@ -138,19 +138,19 @@ int get_temp_3v3_51k1_47k_4050b(int idx_adc, int *temp_ptr)
*/
#define THERMISTOR_SCALING_FACTOR_13_47 13
static const struct thermistor_data_pair thermistor_data_13_47[] = {
- { 3044 / THERMISTOR_SCALING_FACTOR_13_47, 0 },
- { 2890 / THERMISTOR_SCALING_FACTOR_13_47, 10 },
- { 2680 / THERMISTOR_SCALING_FACTOR_13_47, 20 },
- { 2418 / THERMISTOR_SCALING_FACTOR_13_47, 30 },
- { 2117 / THERMISTOR_SCALING_FACTOR_13_47, 40 },
- { 1800 / THERMISTOR_SCALING_FACTOR_13_47, 50 },
- { 1490 / THERMISTOR_SCALING_FACTOR_13_47, 60 },
- { 1208 / THERMISTOR_SCALING_FACTOR_13_47, 70 },
- { 966 / THERMISTOR_SCALING_FACTOR_13_47, 80 },
- { 860 / THERMISTOR_SCALING_FACTOR_13_47, 85 },
- { 766 / THERMISTOR_SCALING_FACTOR_13_47, 90 },
- { 679 / THERMISTOR_SCALING_FACTOR_13_47, 95 },
- { 603 / THERMISTOR_SCALING_FACTOR_13_47, 100 },
+ { 3033 / THERMISTOR_SCALING_FACTOR_13_47, 0 },
+ { 2882 / THERMISTOR_SCALING_FACTOR_13_47, 10 },
+ { 2677 / THERMISTOR_SCALING_FACTOR_13_47, 20 },
+ { 2420 / THERMISTOR_SCALING_FACTOR_13_47, 30 },
+ { 2119 / THERMISTOR_SCALING_FACTOR_13_47, 40 },
+ { 1799 / THERMISTOR_SCALING_FACTOR_13_47, 50 },
+ { 1485 / THERMISTOR_SCALING_FACTOR_13_47, 60 },
+ { 1197 / THERMISTOR_SCALING_FACTOR_13_47, 70 },
+ { 947 / THERMISTOR_SCALING_FACTOR_13_47, 80 },
+ { 839 / THERMISTOR_SCALING_FACTOR_13_47, 85 },
+ { 741 / THERMISTOR_SCALING_FACTOR_13_47, 90 },
+ { 653 / THERMISTOR_SCALING_FACTOR_13_47, 95 },
+ { 576 / THERMISTOR_SCALING_FACTOR_13_47, 100 },
};
static const struct thermistor_info thermistor_info_13_47 = {
@@ -210,19 +210,19 @@ int get_temp_6v0_51k1_47k_4050b(int idx_adc, int *temp_ptr)
*/
#define THERMISTOR_SCALING_FACTOR_22_47 11
static const struct thermistor_data_pair thermistor_data_22_47[] = {
- { 2625 / THERMISTOR_SCALING_FACTOR_22_47, 0 },
- { 2425 / THERMISTOR_SCALING_FACTOR_22_47, 10 },
- { 2170 / THERMISTOR_SCALING_FACTOR_22_47, 20 },
+ { 2619 / THERMISTOR_SCALING_FACTOR_22_47, 0 },
+ { 2421 / THERMISTOR_SCALING_FACTOR_22_47, 10 },
+ { 2168 / THERMISTOR_SCALING_FACTOR_22_47, 20 },
{ 1875 / THERMISTOR_SCALING_FACTOR_22_47, 30 },
{ 1563 / THERMISTOR_SCALING_FACTOR_22_47, 40 },
- { 1263 / THERMISTOR_SCALING_FACTOR_22_47, 50 },
- { 995 / THERMISTOR_SCALING_FACTOR_22_47, 60 },
- { 770 / THERMISTOR_SCALING_FACTOR_22_47, 70 },
- { 589 / THERMISTOR_SCALING_FACTOR_22_47, 80 },
- { 514 / THERMISTOR_SCALING_FACTOR_22_47, 85 },
+ { 1262 / THERMISTOR_SCALING_FACTOR_22_47, 50 },
+ { 994 / THERMISTOR_SCALING_FACTOR_22_47, 60 },
+ { 769 / THERMISTOR_SCALING_FACTOR_22_47, 70 },
+ { 588 / THERMISTOR_SCALING_FACTOR_22_47, 80 },
+ { 513 / THERMISTOR_SCALING_FACTOR_22_47, 85 },
{ 448 / THERMISTOR_SCALING_FACTOR_22_47, 90 },
- { 391 / THERMISTOR_SCALING_FACTOR_22_47, 95 },
- { 341 / THERMISTOR_SCALING_FACTOR_22_47, 100 },
+ { 390 / THERMISTOR_SCALING_FACTOR_22_47, 95 },
+ { 340 / THERMISTOR_SCALING_FACTOR_22_47, 100 },
};
static const struct thermistor_info thermistor_info_22_47 = {
@@ -241,7 +241,7 @@ int get_temp_3v0_22k6_47k_4050b(int idx_adc, int *temp_ptr)
#ifdef CONFIG_STEINHART_HART_3V3_30K9_47K_4050B
/*
* Data derived from Steinhart-Hart equation in a resistor divider circuit with
- * Vdd=3000mV, R = 30.9Kohm, and thermistor (B = 4050, T0 = 298.15 K, nominal
+ * Vdd=3300mV, R = 30.9Kohm, and thermistor (B = 4050, T0 = 298.15 K, nominal
* resistance (R0) = 47Kohm).
*/
#define THERMISTOR_SCALING_FACTOR_31_47 11