요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
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.
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)
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.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
지원 서미스터와 온도 계산
1-38이 드라이버는 Murata NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, NCP15WL333, NCP03WF104, NCP15XH103과 EPCOS B57330V2103 NTC 서미스터를 지원합니다. 각 부품은 표에 나온 모듈 접두사로 식별됩니다.
그 밖의 서미스터도 온도-저항 보상표를 추가하면 지원할 수 있습니다. 예를 들어 `ncpXXwl333`처럼 같은 특성표를 공유하는 부품군은 해당 표를 사용해 온도를 구합니다.
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 회로를 동일한 연결 의미로 구조화한 것입니다. 병렬 표기는 두 소자의 양 끝이 같은 두 노드에 연결된다는 뜻입니다.
전원, 측정 노드, 접지 사이의 실제 연결을 보존한 구조화 도식입니다.
플랫폼 배선에 맞춰 저항 계산식을 결정합니다.
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`만 존재합니다.
회로 기반 입력과 직접 저항 입력을 구분합니다.
두 입력 방식 가운데 정확히 하나를 사용합니다.
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.
요약·해설
ntc_thermistor.rst:1-111네 가지 배선 토폴로지 또는 직접 저항 입력에서 서미스터 저항을 얻고 보상표를 선형 근사해 단일 온도 채널을 제공합니다.
원문 분량과 핵심 장치 구성을 정리합니다.
장치 인식부터 측정·제어까지의 핵심 순서입니다.