← Documents Documentation/hwmon/ntc_thermistor.rst GitHub 원문 ↗

Linux 6.18.37 · Hardware Monitoring

NTC thermistor driver

Murata·EPCOS NTC 서미스터의 네 전압 분배 회로와 저항-온도 보상표를 설명합니다.

Source pathDocumentation/hwmon/ntc_thermistor.rst
Source versionLinux v6.18.37
TranslationDUJINLABS 전문 번역 + 해설

요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.

1. 요약·해설

원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.

요약·해설

ntc_thermistor.rst:1-111

네 가지 배선 토폴로지 또는 직접 저항 입력에서 서미스터 저항을 얻고 보상표를 선형 근사해 단일 온도 채널을 제공합니다.

문서 개요
항목
SourceDocumentation/hwmon/ntc_thermistor.rst
분량111 source lines
회로 모델4
온도 채널temp1

원문 분량과 핵심 장치 구성을 정리합니다.

운영 흐름
모델 선택회로 입력 확인저항 계산보상표 근사temp1 공개

장치 인식부터 측정·제어까지의 핵심 순서입니다.

2. 영어 원문 전체

번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.

원문 전체 펼치기
1 Kernel driver ntc_thermistor
2 ============================
3
4 Supported thermistors from Murata:
5
6 * Murata NTC Thermistors NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473,
7 NCP15WL333, NCP03WF104, NCP15XH103
8
9 Prefixes: 'ncp15wb473', 'ncp18wb473', 'ncp21wb473', 'ncp03wb473',
10 'ncp15wl333', 'ncp03wf104', 'ncp15xh103'
11
12 Datasheet: Publicly available at Murata
13
14 Supported thermistors from EPCOS:
15
16 * EPCOS NTC Thermistors B57330V2103
17
18 Prefixes: b57330v2103
19
20 Datasheet: Publicly available at EPCOS
21
22 Other NTC thermistors can be supported simply by adding compensation
23 tables; e.g., NCP15WL333 support is added by the table ncpXXwl333.
24
25 Authors:
26
27 MyungJoo Ham <[email protected]>
28
29 Description
30 -----------
31
32 The NTC (Negative Temperature Coefficient) thermistor is a simple thermistor
33 that requires users to provide the resistance and lookup the corresponding
34 compensation table to get the temperature input.
35
36 The NTC driver provides lookup tables with a linear approximation function
37 and four circuit models with an option not to use any of the four models.
38
39 Using the following convention::
40
41 $ resistor
42 [TH] the thermistor
43
44 The four circuit models provided are:
45
46 1. connect = NTC_CONNECTED_POSITIVE, pullup_ohm > 0::
47
48 [pullup_uV]
49 | |
50 [TH] $ (pullup_ohm)
51 | |
52 +----+-----------------------[read_uV]
53 |
54 $ (pulldown_ohm)
55 |
56 -+- (ground)
57
58 2. connect = NTC_CONNECTED_POSITIVE, pullup_ohm = 0 (not-connected)::
59
60 [pullup_uV]
61 |
62 [TH]
63 |
64 +----------------------------[read_uV]
65 |
66 $ (pulldown_ohm)
67 |
68 -+- (ground)
69
70 3. connect = NTC_CONNECTED_GROUND, pulldown_ohm > 0::
71
72 [pullup_uV]
73 |
74 $ (pullup_ohm)
75 |
76 +----+-----------------------[read_uV]
77 | |
78 [TH] $ (pulldown_ohm)
79 | |
80 -+----+- (ground)
81
82 4. connect = NTC_CONNECTED_GROUND, pulldown_ohm = 0 (not-connected)::
83
84 [pullup_uV]
85 |
86 $ (pullup_ohm)
87 |
88 +----------------------------[read_uV]
89 |
90 [TH]
91 |
92 -+- (ground)
93
94 When one of the four circuit models is used, read_uV, pullup_uV, pullup_ohm,
95 pulldown_ohm, and connect should be provided. When none of the four models
96 are suitable or the user can get the resistance directly, the user should
97 provide read_ohm and _not_ provide the others.
98
99 Sysfs Interface
100 ---------------
101
102 =============== == =============================================================
103 name the mandatory global attribute, the thermistor name.
104 =============== == =============================================================
105 temp1_type RO always 4 (thermistor)
106
107 temp1_input RO measure the temperature and provide the measured value.
108 (reading this file initiates the reading procedure.)
109 =============== == =============================================================
110
111 Note that each NTC thermistor has only _one_ thermistor; thus, only temp1 exists.
112

3. 한국어 전문 번역

영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.

지원 서미스터와 온도 계산

1-38

이 드라이버는 Murata NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, NCP15WL333, NCP03WF104, NCP15XH103과 EPCOS B57330V2103 NTC 서미스터를 지원합니다. 각 부품은 표에 나온 모듈 접두사로 식별됩니다.

그 밖의 서미스터도 온도-저항 보상표를 추가하면 지원할 수 있습니다. 예를 들어 `ncpXXwl333`처럼 같은 특성표를 공유하는 부품군은 해당 표를 사용해 온도를 구합니다.

NTC 서미스터는 온도가 오를수록 저항이 낮아집니다. 따라서 온도를 얻으려면 먼저 회로에서 서미스터 저항을 계산하고, 보상표의 두 인접 지점 사이를 선형 근사해 온도로 변환해야 합니다.

드라이버에는 보상 조회표와 선형 근사 로직이 들어 있습니다. 플랫폼은 네 가지 전압 분배 회로 중 하나를 기술하거나, 이미 계산한 저항을 직접 제공할 수 있습니다.

지원 NTC 모델
제조사모델접두사
MurataNCP15WB473ncp15wb473
MurataNCP18WB473ncp18wb473
MurataNCP21WB473ncp21wb473
MurataNCP03WB473ncp03wb473
MurataNCP15WL333ncp15wl333
MurataNCP03WF104ncp03wf104
MurataNCP15XH103ncp15xh103
EPCOSB57330V2103b57330v2103

부품명과 드라이버 접두사를 대응시킵니다.

NTC 온도 환산
지원 보상표 선택전압 분배 회로 또는 직접 저항 읽기서미스터 저항 계산보상표의 인접 지점 탐색선형 근사로 온도 산출

회로 입력에서 최종 온도까지의 계산 순서입니다.

Kernel driver ntc_thermistor
============================

Supported thermistors from Murata:

* Murata NTC Thermistors NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473,
  NCP15WL333, NCP03WF104, NCP15XH103

  Prefixes: 'ncp15wb473', 'ncp18wb473', 'ncp21wb473', 'ncp03wb473',
  'ncp15wl333', 'ncp03wf104', 'ncp15xh103'

  Datasheet: Publicly available at Murata

Supported thermistors from EPCOS:

* EPCOS NTC Thermistors B57330V2103

  Prefixes: b57330v2103

  Datasheet: Publicly available at EPCOS

Other NTC thermistors can be supported simply by adding compensation
tables; e.g., NCP15WL333 support is added by the table ncpXXwl333.

Authors:

        MyungJoo Ham <[email protected]>

Description
-----------

The NTC (Negative Temperature Coefficient) thermistor is a simple thermistor
that requires users to provide the resistance and lookup the corresponding
compensation table to get the temperature input.

The NTC driver provides lookup tables with a linear approximation function
and four circuit models with an option not to use any of the four models.

네 가지 전압 분배 회로

39-93

회로 그림에서 `$`는 일반 저항, `[TH]`는 NTC 서미스터를 뜻합니다. `NTC_CONNECTED_POSITIVE`에서는 서미스터가 양의 전원 쪽에 연결되고, `NTC_CONNECTED_GROUND`에서는 접지 쪽에 연결됩니다.

양의 전원 연결형에서 `pullup_ohm`이 0보다 크면 서미스터와 풀업 저항이 `pullup_uV`와 `read_uV` 사이에 병렬로 놓이고, 풀다운 저항이 측정 노드와 접지 사이에 놓입니다. `pullup_ohm`이 0이면 풀업 저항은 연결되지 않고 서미스터만 전원과 측정 노드를 잇습니다.

접지 연결형에서 `pulldown_ohm`이 0보다 크면 서미스터와 풀다운 저항이 `read_uV`와 접지 사이에 병렬로 놓이고, 풀업 저항이 전원과 측정 노드를 잇습니다. `pulldown_ohm`이 0이면 풀다운 저항은 연결되지 않고 서미스터만 측정 노드와 접지를 잇습니다.

다음 표는 원문의 네 ASCII 회로를 동일한 연결 의미로 구조화한 것입니다. 병렬 표기는 두 소자의 양 끝이 같은 두 노드에 연결된다는 뜻입니다.

NTC 회로 토폴로지
모드전원→측정 노드측정 노드→접지병렬 관계
POSITIVE, pullup_ohm > 0[TH] 및 pullup 저항pulldown 저항[TH] ∥ pullup
POSITIVE, pullup_ohm = 0[TH]pulldown 저항없음
GROUND, pulldown_ohm > 0pullup 저항[TH] 및 pulldown 저항[TH] ∥ pulldown
GROUND, pulldown_ohm = 0pullup 저항[TH]없음

전원, 측정 노드, 접지 사이의 실제 연결을 보존한 구조화 도식입니다.

회로 모델 선택
서미스터가 positive 또는 ground 중 어디에 연결됐는지 확인해당 쪽의 보조 저항 값이 0인지 확인직렬 또는 병렬 토폴로지 선택pullup_uV와 read_uV로 서미스터 저항 계산보상표로 온도 변환

플랫폼 배선에 맞춰 저항 계산식을 결정합니다.

Using the following convention::

   $        resistor
   [TH]        the thermistor

The four circuit models provided are:

1. connect = NTC_CONNECTED_POSITIVE, pullup_ohm > 0::

     [pullup_uV]
         |    |
        [TH]  $ (pullup_ohm)
         |    |
         +----+-----------------------[read_uV]
         |
         $ (pulldown_ohm)
         |
        -+- (ground)

2. connect = NTC_CONNECTED_POSITIVE, pullup_ohm = 0 (not-connected)::

     [pullup_uV]
         |
        [TH]
         |
         +----------------------------[read_uV]
         |
         $ (pulldown_ohm)
         |
        -+- (ground)

3. connect = NTC_CONNECTED_GROUND, pulldown_ohm > 0::

     [pullup_uV]
         |
         $ (pullup_ohm)
         |
         +----+-----------------------[read_uV]
         |    |
        [TH]  $ (pulldown_ohm)
         |    |
        -+----+- (ground)

4. connect = NTC_CONNECTED_GROUND, pulldown_ohm = 0 (not-connected)::

     [pullup_uV]
         |
         $ (pullup_ohm)
         |
         +----------------------------[read_uV]
         |
        [TH]
         |
        -+- (ground)

플랫폼 데이터와 sysfs 인터페이스

94-111

회로 모델을 사용하는 플랫폼은 측정 전압 `read_uV`, 전원 전압 `pullup_uV`, 풀업 저항 `pullup_ohm`, 풀다운 저항 `pulldown_ohm`, 연결 방향 `connect`를 제공해야 합니다. 사용하지 않는 저항은 0으로 지정합니다.

회로 모델 없이 서미스터 저항을 직접 얻는 플랫폼은 `read_ohm`만 제공하고 다른 회로 매개변수는 제공하지 않아야 합니다. 두 방식의 입력을 섞지 않는 것이 플랫폼 계약의 핵심입니다.

전역 읽기 전용 `name`은 서미스터 이름을 표시합니다. `temp1_type`은 항상 값 4인 읽기 전용 속성이며, `temp1_input`을 읽으면 온도 판독 절차가 시작됩니다. 이 드라이버는 서미스터 하나만 지원하므로 `temp1`만 존재합니다.

NTC 플랫폼 입력과 sysfs
구분필드 또는 속성의미
회로 모델read_uV, pullup_uV측정 및 전원 전압
회로 모델pullup_ohm, pulldown_ohm, connect저항값과 연결 방향
직접 저항read_ohm계산된 서미스터 저항
sysfsname서미스터 이름, RO
sysfstemp1_type항상 4, RO
sysfstemp1_input온도 판독 시작, RO

회로 기반 입력과 직접 저항 입력을 구분합니다.

플랫폼 입력 검증
회로 모델 사용 여부 결정회로 모델이면 전압·저항·connect 제공직접 판독이면 read_ohm만 제공temp1_input 읽기단일 서미스터 온도 반환

두 입력 방식 가운데 정확히 하나를 사용합니다.

When one of the four circuit models is used, read_uV, pullup_uV, pullup_ohm,
pulldown_ohm, and connect should be provided. When none of the four models
are suitable or the user can get the resistance directly, the user should
provide read_ohm and _not_ provide the others.

Sysfs Interface
---------------

=============== == =============================================================
name                   the mandatory global attribute, the thermistor name.
=============== == =============================================================
temp1_type        RO always 4 (thermistor)

temp1_input        RO measure the temperature and provide the measured value.
                   (reading this file initiates the reading procedure.)
=============== == =============================================================

Note that each NTC thermistor has only _one_ thermistor; thus, only temp1 exists.