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

Linux 6.18.37 · Hardware Monitoring

Kernel driver da9052

DA9052/53 PMIC의 10-channel ADC와 battery·junction voltage·temperature 환산식입니다.

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

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

1. 요약·해설

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

요약·해설

da9052.rst:1-78

10-bit ADC의 10개 입력을 system·battery·touch·temperature 물리량으로 변환합니다.

문서 개요
항목
SourceDocumentation/hwmon/da9052.rst
분량78 source lines
ADC10-bit
Channels10

원문 분량과 핵심 지원 범위입니다.

핵심 흐름
Channel 선택Track-and-holdADC 변환전압·온도식 적용

측정과 변환의 기본 순서입니다.

2. 영어 원문 전체

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

원문 전체 펼치기
1 Kernel driver da9052
2 ====================
3
4 Supported chips:
5
6 * Dialog Semiconductors DA9052-BC and DA9053-AA/Bx PMICs
7
8 Prefix: 'da9052'
9
10 Datasheet: Datasheet is not publicly available.
11
12 Authors: David Dajun Chen <[email protected]>
13
14 Description
15 -----------
16
17 The DA9052/53 provides an Analogue to Digital Converter (ADC) with 10 bits
18 resolution and track and hold circuitry combined with an analogue input
19 multiplexer. The analogue input multiplexer will allow conversion of up to 10
20 different inputs. The track and hold circuit ensures stable input voltages at
21 the input of the ADC during the conversion.
22
23 The ADC is used to measure the following inputs:
24
25 ========= ===================================================================
26 Channel 0 VDDOUT - measurement of the system voltage
27 Channel 1 ICH - internal battery charger current measurement
28 Channel 2 TBAT - output from the battery NTC
29 Channel 3 VBAT - measurement of the battery voltage
30 Channel 4 ADC_IN4 - high impedance input (0 - 2.5V)
31 Channel 5 ADC_IN5 - high impedance input (0 - 2.5V)
32 Channel 6 ADC_IN6 - high impedance input (0 - 2.5V)
33 Channel 7 XY - TSI interface to measure the X and Y voltage of the touch
34 screen resistive potentiometers
35 Channel 8 Internal Tjunc. - sense (internal temp. sensor)
36 Channel 9 VBBAT - measurement of the backup battery voltage
37 ========= ===================================================================
38
39 By using sysfs attributes we can measure the system voltage VDDOUT, the battery
40 charging current ICH, battery temperature TBAT, battery junction temperature
41 TJUNC, battery voltage VBAT and the back up battery voltage VBBAT.
42
43 Voltage Monitoring
44 ------------------
45
46 Voltages are sampled by a 10 bit ADC.
47
48 The battery voltage is calculated as:
49
50 Milli volt = ((ADC value * 1000) / 512) + 2500
51
52 The backup battery voltage is calculated as:
53
54 Milli volt = (ADC value * 2500) / 512;
55
56 The voltages on ADC channels 4, 5 and 6 are calculated as:
57
58 Milli volt = (ADC value * 2500) / 1023
59
60 Temperature Monitoring
61 ----------------------
62
63 Temperatures are sampled by a 10 bit ADC. Junction and battery temperatures
64 are monitored by the ADC channels.
65
66 The junction temperature is calculated:
67
68 Degrees celsius = 1.708 * (TJUNC_RES - T_OFFSET) - 108.8
69
70 The junction temperature attribute is supported by the driver.
71
72 The battery temperature is calculated:
73
74 Degree Celsius = 1 / (t1 + 1/298) - 273
75
76 where t1 = (1/B)* ln(( ADCval * 2.5)/(R25*ITBAT*255))
77
78 Default values of R25, B, ITBAT are 10e3, 3380 and 50e-6 respectively.
79

3. 한국어 전문 번역

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

DA9052/53 ADC와 10개 입력 채널

1-42

이 드라이버는 Dialog Semiconductors `DA9052-BC`와 `DA9053-AA/Bx` PMIC를 prefix `da9052`로 지원합니다. Datasheet는 공개되어 있지 않으며 저자는 David Dajun Chen입니다.

DA9052/53은 10-bit 해상도의 ADC, track-and-hold 회로, analogue input multiplexer를 제공합니다. Multiplexer는 최대 10개 입력을 변환할 수 있고, track-and-hold 회로는 변환 중 ADC 입력 전압을 안정적으로 유지합니다.

채널 0은 system voltage `VDDOUT`, 1은 내부 battery charger current `ICH`, 2는 battery NTC 출력 `TBAT`, 3은 battery voltage `VBAT`입니다. 채널 4~6은 0~2.5V high-impedance 입력 `ADC_IN4`~`ADC_IN6`, 7은 resistive touch-screen potentiometer의 X·Y 전압을 재는 TSI interface `XY`, 8은 내부 junction temperature `Tjunc`, 9는 backup battery voltage `VBBAT`입니다.

Sysfs attribute를 통해 `VDDOUT`, `ICH`, `TBAT`, `TJUNC`, `VBAT`, `VBBAT`를 측정할 수 있습니다.

DA9052/53 ADC 채널
ChannelSignal용도
0VDDOUTSystem voltage
1ICHInternal battery charger current
2TBATBattery NTC output
3VBATBattery voltage
4-6ADC_IN4-6High impedance input, 0~2.5V
7XYTouch-screen X·Y voltage
8Internal TjuncInternal temperature sensor
9VBBATBackup battery voltage

10개 analogue multiplexer 입력과 용도입니다.

DA9052/53 ADC 변환
측정 channel 선택Analogue multiplexer 연결Track-and-hold로 입력 고정10-bit ADC 변환Sysfs 물리량으로 게시

Multiplexer와 track-and-hold가 채널별 값을 안정적으로 변환합니다.

Kernel driver da9052
====================

Supported chips:

  * Dialog Semiconductors DA9052-BC and DA9053-AA/Bx PMICs

    Prefix: 'da9052'

    Datasheet: Datasheet is not publicly available.

Authors: David Dajun Chen <[email protected]>

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

The DA9052/53 provides an Analogue to Digital Converter (ADC) with 10 bits
resolution and track and hold circuitry combined with an analogue input
multiplexer. The analogue input multiplexer will allow conversion of up to 10
different inputs. The track and hold circuit ensures stable input voltages at
the input of the ADC during the conversion.

The ADC is used to measure the following inputs:

========= ===================================================================
Channel 0 VDDOUT - measurement of the system voltage
Channel 1 ICH - internal battery charger current measurement
Channel 2 TBAT - output from the battery NTC
Channel 3 VBAT - measurement of the battery voltage
Channel 4 ADC_IN4 - high impedance input (0 - 2.5V)
Channel 5 ADC_IN5 - high impedance input (0 - 2.5V)
Channel 6 ADC_IN6 - high impedance input (0 - 2.5V)
Channel 7 XY - TSI interface to measure the X and Y voltage of the touch
          screen resistive potentiometers
Channel 8 Internal Tjunc. - sense (internal temp. sensor)
Channel 9 VBBAT - measurement of the backup battery voltage
========= ===================================================================

By using sysfs attributes we can measure the system voltage VDDOUT, the battery
charging current ICH, battery temperature TBAT, battery junction temperature
TJUNC, battery voltage VBAT and the back up battery voltage VBBAT.

DA9052/53 전압 환산식

43-59

전압은 10-bit ADC로 sampling합니다. Battery voltage는 `Milli volt = ((ADC value * 1000) / 512) + 2500`으로 계산합니다.

Backup battery voltage는 `Milli volt = (ADC value * 2500) / 512;`로 계산합니다. ADC channel 4, 5, 6의 전압은 `Milli volt = (ADC value * 2500) / 1023`으로 계산합니다.

DA9052/53 전압식
입력계산식단위
Battery voltage((ADC value * 1000) / 512) + 2500mV
Backup battery voltage(ADC value * 2500) / 512mV
ADC channels 4-6(ADC value * 2500) / 1023mV

ADC raw value를 millivolt로 바꾸는 채널별 공식입니다.

전압 값 생성
10-bit ADC value 읽기Battery·backup·auxiliary 채널 구분해당 divisor·scale 적용Battery channel에는 offset 적용Millivolt 값 게시

채널별 scale과 offset을 적용합니다.

Voltage Monitoring
------------------

Voltages are sampled by a 10 bit ADC.

The battery voltage is calculated as:

        Milli volt = ((ADC value * 1000) / 512) + 2500

The backup battery voltage is calculated as:

        Milli volt = (ADC value * 2500) / 512;

The voltages on ADC channels 4, 5 and 6 are calculated as:

        Milli volt = (ADC value * 2500) / 1023

DA9052/53 junction·battery 온도식

60-78

온도도 10-bit ADC로 sampling합니다. Junction temperature와 battery temperature는 각각 ADC 채널을 통해 감시합니다.

Junction temperature는 `Degrees celsius = 1.708 * (TJUNC_RES - T_OFFSET) - 108.8`로 계산하며, driver는 junction temperature attribute를 지원합니다.

Battery temperature는 `Degree Celsius = 1 / (t1 + 1/298) - 273`으로 계산합니다. 여기서 `t1 = (1/B)* ln(( ADCval * 2.5)/(R25*ITBAT*255))`입니다. `R25`, `B`, `ITBAT`의 기본값은 각각 `10e3`, `3380`, `50e-6`입니다.

DA9052/53 온도 계산
대상공식·상수지원
Junction1.708 * (TJUNC_RES - T_OFFSET) - 108.8Driver attribute 지원
Battery1 / (t1 + 1/298) - 273NTC 계산
t1(1/B) * ln((ADCval * 2.5)/(R25*ITBAT*255))중간값
기본 상수R25=10e3, B=3380, ITBAT=50e-6NTC 기본값

Junction sensor와 battery NTC의 계산 요소입니다.

Battery NTC 온도 계산
TBAT ADC value 읽기R25·B·ITBAT 기본값 적용자연로그로 t1 계산Kelvin 관계식 적용273을 빼 Celsius 변환

ADC 값과 thermistor 상수로 Celsius 값을 구합니다.

Temperature Monitoring
----------------------

Temperatures are sampled by a 10 bit ADC.  Junction and battery temperatures
are monitored by the ADC channels.

The junction temperature is calculated:

        Degrees celsius = 1.708 * (TJUNC_RES - T_OFFSET) - 108.8

The junction temperature attribute is supported by the driver.

The battery temperature is calculated:

        Degree Celsius = 1 / (t1 + 1/298) - 273

where t1 = (1/B)* ln(( ADCval * 2.5)/(R25*ITBAT*255))

Default values of R25, B, ITBAT are 10e3, 3380 and 50e-6 respectively.