ZSSC3241 데이터시트에서 제공하는 보정 공식은 센서 신호 보정을 위한 Sensor Signal Conditioning (SSC) 공식으로, 센서 신호(S)와 온도 신호(T)를 보정하여 정확한 출력을 제공합니다. 이 공식은 비선형성과 온도 영향을 보상하며, 두 가지 SOT_curve 설정(Parabolic 또는 S-shaped)에 따라 다른 계산 방식을 사용합니다.
1. 보정 공식 개요
ZSSC3241은 센서의 원시 데이터(S_Raw)와 온도 데이터(T_Raw)를 사용하여 보정된 센서 출력(S)와 온도 출력(T)을 계산합니다. 보정 공식은 다음 요소를 포함합니다:
- 선형 보정: Gain(이득)과 Offset(오프셋) 계수를 사용하여 선형 보정을 수행.
- 2차 비선형 보정: SOT(S second-Order Term) 계수를 사용하여 센서 및 온도 신호의 비선형성을 보상.
- 온도 보상: 온도 계수(Tcg, Tco)를 사용하여 온도에 따른 센서 신호 변화를 보정.
- 포스트 보정 오프셋: SENS_shift와 T_shift를 사용하여 최종 출력에 추가적인 오프셋 조정을 적용.
보정 공식은 데이터시트의 6.6.3.2절(Digital Sensor-Signal-Conditioning Mathematics)에 정의되어 있으며, Equation 6~22에 상세히 설명됩니다. 공식은 SOT_curve 설정에 따라 Parabolic(SOT_curve = 0) 또는 S-shaped(SOT_curve = 1)로 나뉩니다.
2. 보정 공식의 주요 변수
데이터시트의 Table 36과 Table 37은 보정 공식에 사용되는 계수와 결과의 데이터 형식을 정의합니다. 주요 변수는 다음과 같습니다:
입력 데이터
- S_Raw: ADC에서 얻은 원시 센서 신호(24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- T_Raw: ADC에서 얻은 원시 온도 신호(24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- 둘 다 Auto-Zero(AZ) 보정이 적용될 수 있음: \( S_{\text{Raw}} = 0.5 \cdot (SM - AZS) \), \( T_{\text{Raw}} = 0.5 \cdot (TM - AZT) \).
보정 계수
- Gain_S: 센서 이득 계수(24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- Offset_S: 센서 오프셋 계수(24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- Tcg: 온도 계수 이득(Temperature Coefficient Gain, 24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- Tco: 온도 계수 오프셋(Temperature Coefficient Offset, 24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- SOT_tcg: Tcg의 2차 비선형 보정 계수(24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- SOT_tco: Tco의 2차 비선형 보정 계수(24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- SOT_sens: 센서 신호의 2차 비선형 보정 계수(24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- SENS_shift: 포스트 보정 센서 오프셋 조정(24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- Gain_T: 온도 이득 계수(24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- Offset_T: 온도 오프셋 계수(24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- SOT_T: 온도 신호의 2차 비선형 보정 계수(24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
- T_shift: 포스트 보정 온도 오프셋 조정(24비트, 범위: -7FFFFFHEX ~ 7FFFFFHEX).
출력 데이터
- S: 보정된 센서 출력(24비트, 범위: 0HEX ~ FFFFFFHEX).
- T: 보정된 온도 출력(24비트, 범위: 0HEX ~ FFFFFFHEX).
데이터 형식
Table 36 (24-bit SSC Coefficients): 계수는 24비트로 표현되며, 비트 23은 부호 비트, 비트 22~0은 절대값을 나타냄.
Bit-Number: 23 | 22 | 21 | 20 | ... | 2 | 1 | 0
Meaning: Sign | 2^22 | 2^21 | 2^20 | ... | 2^2 | 2^1 | 2^0
Table 37 (Corrected SSC Results): 출력 S와 T는 24비트 양수로, 범위는 0HEX ~ FFFFFFHEX.
Bit-Number: 23 | 22 | 21 | 20 | ... | 2 | 1 | 0
Meaning: 2^23 | 2^22 | 2^21 | 2^20 | ... | 2^2 | 2^1 | 2^0
3. 보정 공식 상세 설명
3.1 온도 보정 공식 (T 계산)
온도 출력 T는 원시 온도 데이터 T_Raw를 사용하여 다음과 같이 계산됩니다. 이 공식은 모든 SOT_curve 설정에서 동일합니다.
Equation 21:
\[ Z_T = \left[ \left[ \frac{\text{Gain_T}}{2^{21}} \cdot \left( T_{\text{Raw}} + 4 \cdot \text{Offset_T} \right) \right]_{2^{25}}^{2^{25}-1} \right]_0^{2^{25}-1} \]
Equation 22:
\[ T = \left[ \left[ \frac{Z_T}{2^{23}} \cdot \left[ \left[ \frac{\text{SOT_T}}{2^{24}} \cdot Z_T \right]_{2^{25}}^{2^{25}-1} + 2^{23} \right]_{2^{24}}^{2^{25}-1} \right]_{2^{24}}^{2^{25}-1} + \text{T_shift} \right]_0^{2^{24}-1} \]
단계 설명
- 선형 보정: T_Raw에 4배의 Offset_T를 더한 후, Gain_T를 221로 나눠 곱하여 선형 보정을 수행. 결과는 Z_T로, 0 ~ 225-1 범위로 제한.
- 2차 비선형 보정: Z_T에 SOT_T를 적용하여 2차 항을 추가. SOT_T는 224로 나누어 스케일링.
- 최종 조정: Z_T를 223으로 나누고, 2차 항 결과를 더한 후 T_shift를 적용. 결과는 0 ~ 224-1 범위로 제한.
용도: 이 공식은 내부 또는 외부 온도 센서 데이터를 보정하여 정확한 온도 값 T를 출력.
3.2 센서 보정 공식 (S 계산)
센서 출력 S는 SOT_curve 설정에 따라 두 가지 방식으로 계산됩니다.
3.2.1 Parabolic Curve (SOT_curve = 0)
Equation 6:
\[ K_1 = \left[ 4 \cdot \text{Gain_S} + \left[ \frac{\text{S_Raw}}{2^{23}} \cdot \left[ \frac{\text{SOT_tcg}}{2^{21}} \cdot T_{\text{Raw}} \right]_{2^{25}}^{2^{25}-1} \cdot \text{Tcg} \right]_{2^{25}}^{2^{25}-1} \right]_{2^{25}}^{2^{25}-1} \]
Equation 7:
\[ K_2 = \left[ 4 \cdot \text{Offset_S} + \left[ S_{\text{Raw}} + \left[ \frac{T_{\text{Raw}}}{2^{23}} \cdot \left[ \frac{\text{SOT_tco}}{2^{21}} \cdot T_{\text{Raw}} \right]_{2^{25}}^{2^{25}-1} \cdot \text{Tco} \right]_{2^{25}}^{2^{25}-1} \right]_{2^{25}}^{2^{25}-1} \right]_{2^{25}}^{2^{25}-1} \]
Equation 8:
\[ Z_{SP} = \left[ \left[ \frac{\text{Gain_S}}{2^{21}} \cdot \left[ \frac{K_1}{2^{23}} \cdot K_2 \right]_{2^{25}}^{2^{25}-1} \right]_{2^{25}}^{2^{25}-1} \right]_{2^{25}}^{2^{25}-1} \]
Equation 9:
\[ S = \left[ \left[ \frac{Z_{SP}}{2^{23}} \cdot \left[ \frac{\text{SOT_sens}}{2^{21}} \cdot Z_{SP} \right]_{2^{25}}^{2^{25}-1} + 2^{23} \right]_{2^{25}}^{2^{25}-1} + \text{SENS_shift} \right]_0^{2^{24}-1} \]
단계 설명
- K_1 계산 (이득 보정): Gain_S를 4배로 스케일링. T_Raw를 사용하여 SOT_tcg와 Tcg로 온도 의존적 이득 변화를 보정. 결과는 225-1로 제한.
- K_2 계산 (오프셋 보정): Offset_S를 4배로 스케일링. S_Raw와 T_Raw를 사용하여 SOT_tco와 Tco로 온도 의존적 오프셋 변화를 보정. 결과는 225-1로 제한.
- Z_SP 계산: K_1과 K_2를 곱하고, Gain_S를 221로 나눠 추가 이득을 적용. 결과는 225-1로 제한.
- S 계산: Z_SP에 SOT_sens를 적용하여 2차 비선형 보정을 수행. SENS_shift를 더해 최종 오프셋 조정. 결과는 0 ~ 224-1로 제한.
3.2.2 S-shaped Curve (SOT_curve = 1)
Equation 15 (간소화):
\[ Z_{SS} = \frac{4 \cdot \text{Gain_S}}{2^{21}} \cdot \frac{K_1}{2^{23}} \cdot K_2 \]
(K_1과 K_2는 Equation 6, 7과 동일)
Equation 16:
\[ S = \frac{Z_{SS}}{2^{23}} \cdot \left( \frac{4 \cdot \text{SOT_sens}}{2^{23}} \cdot |Z_{SS}| + 2^{23} \right) + 2^{23} + \text{SENS_shift} \]
(결과는 양수 범위로 제한)
Equation 17~20 (완전 공식):
\[ K_1 = \left[ 4 \cdot \text{Gain_S} + \left[ \frac{S_{\text{Raw}}}{2^{23}} \cdot \left[ \frac{\text{SOT_tcg}}{2^{21}} \cdot T_{\text{Raw}} \right]_{2^{25}}^{2^{25}-1} \cdot \text{Tcg} \right]_{2^{25}}^{2^{25}-1} \right]_{2^{25}}^{2^{25}-1} \] \[ K_2 = \left[ 4 \cdot \text{Offset_S} + \left[ S_{\text{Raw}} + \left[ \frac{T_{\text{Raw}}}{2^{23}} \cdot \left[ \frac{\text{SOT_tco}}{2^{21}} \cdot T_{\text{Raw}} \right]_{2^{25}}^{2^{25}-1} \cdot \text{Tco} \right]_{2^{25}}^{2^{25}-1} \right]_{2^{25}}^{2^{25}-1} \right]_{2^{25}}^{2^{25}-1} \] \[ Z_{SS} = \left[ \left[ \frac{4 \cdot \text{Gain_S}}{2^{21}} \cdot \left[ \frac{K_1}{2^{23}} \cdot K_2 \right]_{2^{25}}^{2^{25}-1} \right]_{2^{25}}^{2^{25}-1} \right]_{2^{25}}^{2^{25}-1} \] \[ S = \left[ \left[ \frac{Z_{SS}}{2^{23}} \cdot \left[ \frac{4 \cdot \text{SOT_sens}}{2^{23}} \cdot |Z_{SS}| + 2^{23} \right]_{2^{25}}^{2^{25}-1} + 2^{23} \right]_{2^{25}}^{2^{25}-1} + \text{SENS_shift} \right]_0^{2^{24}-1} \]
단계 설명
- K_1, K_2 계산: Parabolic과 동일.
- Z_SS 계산: K_1과 K_2를 곱하고, 4배의 Gain_S를 221로 나눠 적용.
- S 계산: Z_SS의 절대값에 SOT_sens를 적용하여 S-shaped 비선형 보정을 수행. SENS_shift를 더하고, 결과를 양수 범위로 제한.
Parabolic vs S-shaped 차이점
- Parabolic: 2차 항이 포물선 형태로 보정(SOT_sens가 Z_SP의 제곱에 비례).
- S-shaped: 2차 항이 S자 형태로 보정(SOT_sens가 Z_SS의 절대값에 비례).
4. DAC 보정 공식
ZSSC3241은 아날로그 출력(DAC)을 위한 별도의 보정 공식을 제공합니다. 이는 6.6.3.3절(Separate Correction of the Digital-to-Analog Converter Characteristic)에 설명되어 있습니다.
Equation 25:
\[ \text{DAC_IN} = \left[ \text{S} \text{ or } \text{T} \right]_0^{2^{16}-1} \]
Equation 26:
\[ \text{DAC_OUT} = \left[ \left[ \frac{\text{Gain_DAC}}{2^{16}} \cdot \text{DAC_IN} \right] + 2 \cdot \text{Offset_DAC} + 2^{18} \right]_0^{2^{18}-1} \]
변수
- DAC_IN: 입력값(S 또는 T, 16비트로 제한).
- Gain_DAC: DAC 이득 보정 계수(NVM 주소 2AHEX).
- Offset_DAC: DAC 오프셋 보정 계수(NVM 주소 2BHEX).
- DAC_OUT: 보정된 DAC 출력(18비트, 0 ~ 218-1).
설명
- DAC_IN은 S 또는 T를 16비트로 클리핑한 값.
- Gain_DAC를 216으로 나눠 이득을 조정하고, 2배의 Offset_DAC와 218을 더해 오프셋을 보정.
- 결과는 0 ~ 218-1로 제한.
- 이 보정은 제조 공정 변동으로 인한 DAC의 오프셋 및 이득 편차를 보상.
예외
- DAC 진단 명령(B3HEX) 사용 시 보정 적용 안 됨.
- 진단 이벤트(diagouten 활성화 및 센서 연결 오류 등) 발생 시 보정 적용 안 됨.
- DAC 클리핑 활성화 시 보정 적용 안 됨.
5. 보정 공식 적용 시 고려사항
- NVM 설정:
- 보정 계수는 NVM에 저장(NVM 주소 05HEX ~ 2BHEX, Table 35 참조).
- 예: Gain_S는 05HEX, 06HEX에, SOT_sens는 0EHEX, 0FHEX에 저장.
- SOT_curve는 SSF2 레지스터(04HEX, 비트 15)에 설정.
- 오토 제로(AZ):
- AZ 활성화 시(S_Raw = 0.5 * (SM - AZS), T_Raw = 0.5 * (TM - AZT)) 신호-노이즈 비율이 개선되지만, 업데이트 속도가 약 50% 느려짐.
- AZ 설정은 SSF2 레지스터(AZMs_on, AZMt_on 비트)에서 제어.
- 오버플로우/언더플로우:
- 계산 중간 결과는 지정된 비트 범위(225-1 등)로 제한.
- 최종 출력 S, T는 0 ~ 224-1로 제한되며, 오버플로우/언더플로우는 상태 바이트에 포화(Saturation)로 보고됨.
- 캘리브레이션:
- 캘리브레이션은 다양한 센서 값과 온도에서 원시 데이터를 수집하고, 이를 기반으로 계수를 계산하여 NVM에 저장(7절, Calibration).
- 고유 ID를 NVM에 작성하여 각 ZSSC3241을 식별.
6. 결론
ZSSC3241의 보정 공식은 센서 및 온도 신호의 선형 및 비선형 보정, 온도 보상을 통해 고정밀 출력을 제공합니다. Parabolic 또는 S-shaped SOT_curve 설정을 선택하여 센서 특성에 맞는 보정을 수행할 수 있으며, DAC 보정을 통해 아날로그 출력도 최적화되며 모든 계수는 NVM에 저장되며, Auto-Zero 및 기타 설정을 통해 신호 품질과 업데이트 속도를 조정할 수 있습니다.