요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
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.
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
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.
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`를 측정할 수 있습니다.
10개 analogue multiplexer 입력과 용도입니다.
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`으로 계산합니다.
ADC raw value를 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`입니다.
Junction sensor와 battery NTC의 계산 요소입니다.
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.
요약·해설
da9052.rst:1-7810-bit ADC의 10개 입력을 system·battery·touch·temperature 물리량으로 변환합니다.
원문 분량과 핵심 지원 범위입니다.
측정과 변환의 기본 순서입니다.