요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
Kernel driver lm73
==================
Supported chips:
* Texas Instruments LM73
Prefix: 'lm73'
Addresses scanned: I2C 0x48, 0x49, 0x4a, 0x4c, 0x4d, and 0x4e
Datasheet: Publicly available at the Texas Instruments website
https://www.ti.com/product/lm73
Author: Guillaume Ligneul <[email protected]>
Documentation: Chris Verges <[email protected]>
Description
-----------
The LM73 is a digital temperature sensor. All temperature values are
given in degrees Celsius.
Measurement Resolution Support
------------------------------
The LM73 supports four resolutions, defined in terms of degrees C per
LSB: 0.25, 0.125, 0.0625, and 0.3125. Changing the resolution mode
affects the conversion time of the LM73's analog-to-digital converter.
From userspace, the desired resolution can be specified as a function of
conversion time via the 'update_interval' sysfs attribute for the
device. This attribute will normalize ranges of input values to the
maximum times defined for the resolution in the datasheet.
============= ============= ============
Resolution Conv. Time Input Range
(C/LSB) (msec) (msec)
============= ============= ============
0.25 14 0..14
0.125 28 15..28
0.0625 56 29..56
0.03125 112 57..infinity
============= ============= ============
The following examples show how the 'update_interval' attribute can be
used to change the conversion time::
$ echo 0 > update_interval
$ cat update_interval
14
$ cat temp1_input
24250
$ echo 22 > update_interval
$ cat update_interval
28
$ cat temp1_input
24125
$ echo 56 > update_interval
$ cat update_interval
56
$ cat temp1_input
24062
$ echo 85 > update_interval
$ cat update_interval
112
$ cat temp1_input
24031
As shown here, the lm73 driver automatically adjusts any user input for
'update_interval' via a step function. Reading back the
'update_interval' value after a write operation will confirm the
conversion time actively in use.
Mathematically, the resolution can be derived from the conversion time
via the following function:
g(x) = 0.250 * [log(x/14) / log(2)]
where 'x' is the output from 'update_interval' and 'g(x)' is the
resolution in degrees C per LSB.
Alarm Support
-------------
The LM73 features a simple over-temperature alarm mechanism. This
feature is exposed via the sysfs attributes.
The attributes 'temp1_max_alarm' and 'temp1_min_alarm' are flags
provided by the LM73 that indicate whether the measured temperature has
passed the 'temp1_max' and 'temp1_min' thresholds, respectively. These
values _must_ be read to clear the registers on the LM73.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
LM73 장치와 I2C 주소
1-21TI LM73은 `lm73` 접두사를 사용하며 I2C 주소 `0x48`, `0x49`, `0x4a`, `0x4c`, `0x4d`, `0x4e`에서 검색됩니다. 데이터시트는 TI 제품 페이지에 공개되어 있습니다.
작성자는 Guillaume Ligneul이고 문서화는 Chris Verges가 맡았습니다. LM73은 모든 온도 값을 섭씨로 제공하는 디지털 온도 센서입니다.
드라이버 연결에 필요한 기본 정보입니다.
지원 주소에서 센서를 찾아 온도 채널을 등록합니다.
Kernel driver lm73
==================
Supported chips:
* Texas Instruments LM73
Prefix: 'lm73'
Addresses scanned: I2C 0x48, 0x49, 0x4a, 0x4c, 0x4d, and 0x4e
Datasheet: Publicly available at the Texas Instruments website
https://www.ti.com/product/lm73
Author: Guillaume Ligneul <[email protected]>
Documentation: Chris Verges <[email protected]>
분해능과 변환 시간 단계 함수
22-88LM73은 LSB당 섭씨 단위로 네 가지 분해능을 지원합니다. 설명 문장에는 마지막 값이 `0.3125`로 적혀 있지만 바로 아래 표와 예시는 `0.03125`를 사용합니다. 이 번역은 원문의 불일치를 보존하며 실제 단계 표의 값은 0.25, 0.125, 0.0625, 0.03125 C/LSB입니다.
분해능을 높이면 ADC 변환 시간이 길어집니다. 사용자 공간에서는 `update_interval`에 원하는 변환 시간을 쓰며, 드라이버가 데이터시트의 네 최대 시간으로 입력 범위를 정규화합니다. 0~14ms는 14ms와 0.25 C/LSB, 15~28ms는 28ms와 0.125 C/LSB, 29~56ms는 56ms와 0.0625 C/LSB, 57ms 이상은 112ms와 0.03125 C/LSB로 대응합니다.
예시에서 0을 쓰면 14ms와 `temp1_input` 24250, 22를 쓰면 28ms와 24125, 56을 쓰면 56ms와 24062, 85를 쓰면 112ms와 24031이 반환됩니다. 쓰기 뒤 `update_interval`을 다시 읽으면 실제 적용 중인 변환 시간을 확인할 수 있습니다.
원문이 제시하는 관계식은 `g(x) = 0.250 * [log(x/14) / log(2)]`이며, `x`는 `update_interval` 출력이고 `g(x)`는 C/LSB 단위 분해능입니다.
입력 범위가 실제 변환 시간과 분해능으로 정규화됩니다.
임의 입력을 센서가 지원하는 네 단계로 맞춥니다.
Description
-----------
The LM73 is a digital temperature sensor. All temperature values are
given in degrees Celsius.
Measurement Resolution Support
------------------------------
The LM73 supports four resolutions, defined in terms of degrees C per
LSB: 0.25, 0.125, 0.0625, and 0.3125. Changing the resolution mode
affects the conversion time of the LM73's analog-to-digital converter.
From userspace, the desired resolution can be specified as a function of
conversion time via the 'update_interval' sysfs attribute for the
device. This attribute will normalize ranges of input values to the
maximum times defined for the resolution in the datasheet.
============= ============= ============
Resolution Conv. Time Input Range
(C/LSB) (msec) (msec)
============= ============= ============
0.25 14 0..14
0.125 28 15..28
0.0625 56 29..56
0.03125 112 57..infinity
============= ============= ============
The following examples show how the 'update_interval' attribute can be
used to change the conversion time::
$ echo 0 > update_interval
$ cat update_interval
14
$ cat temp1_input
24250
$ echo 22 > update_interval
$ cat update_interval
28
$ cat temp1_input
24125
$ echo 56 > update_interval
$ cat update_interval
56
$ cat temp1_input
24062
$ echo 85 > update_interval
$ cat update_interval
112
$ cat temp1_input
24031
As shown here, the lm73 driver automatically adjusts any user input for
'update_interval' via a step function. Reading back the
'update_interval' value after a write operation will confirm the
conversion time actively in use.
Mathematically, the resolution can be derived from the conversion time
via the following function:
g(x) = 0.250 * [log(x/14) / log(2)]
where 'x' is the output from 'update_interval' and 'g(x)' is the
resolution in degrees C per LSB.
최대·최소 온도 경보와 읽기 시 해제
89-98LM73은 간단한 과온 경보 메커니즘을 제공하고 이를 sysfs 속성으로 노출합니다.
`temp1_max_alarm`과 `temp1_min_alarm`은 측정 온도가 각각 `temp1_max`와 `temp1_min` 임계값을 넘었는지 나타내는 플래그입니다. 이 값은 반드시 읽어야 LM73의 해당 레지스터가 지워집니다.
임계값과 래치된 경보 플래그의 관계입니다.
경보 확인 동작 자체가 하드웨어 플래그를 지웁니다.
Alarm Support
-------------
The LM73 features a simple over-temperature alarm mechanism. This
feature is exposed via the sysfs attributes.
The attributes 'temp1_max_alarm' and 'temp1_min_alarm' are flags
provided by the LM73 that indicate whether the measured temperature has
passed the 'temp1_max' and 'temp1_min' thresholds, respectively. These
values _must_ be read to clear the registers on the LM73.
요약·해설
lm73.rst:1-98update_interval 입력을 14·28·56·112ms 단계로 정규화하고 분해능을 조절하며 최대·최소 온도 경보를 읽어 해제합니다.
원문 분량과 핵심 인터페이스입니다.
장치 연결부터 hwmon 사용까지의 핵심 순서입니다.