반응형
ZSSC3123 데이터시트의 Table 25 "Command List and Encodings"는 Command Mode에서 사용되는 명령어 목록과 그 인코딩을 정의합니다. 이 테이블은 데이터시트 섹션 11.2 "Command Encodings"와 연계되어 있으며, I2C 프로토콜로만 지원됩니다 (SPI에서는 Command Mode가 지원되지 않음). Command Mode는 파워온 직후 Command Window(빠른 스타트업 비트에 따라 3ms 또는 10ms) 동안 Start_CM 명령으로 진입하며, 여기서 EEPROM 읽기/쓰기, 리셋, 모드 전환 등의 작업을 수행할 수 있습니다.
테이블의 구조는 다음과 같습니다:
- Command Byte (8 Command Bits, HEX): 명령어의 첫 번째 바이트. 8비트 HEX 값으로, 주소나 명령 유형을 포함.
- Third and Fourth Bytes (16 Data Bits, HEX): 세 번째와 네 번째 바이트. 데이터나 플레이스홀더(필요 없을 시 0000 HEX). 전체 명령 패킷은 4바이트(명령 바이트 + 데이터 3바이트)지만, 데이터가 적을 시 0으로 패딩.
- Description: 명령의 기능 설명. 추가로 데이터 페치(DF) 필요 여부, 참조 섹션 언급.
- Response Time [a]: 명령 실행 시간(typical 값). 최악 케이스: 1.1배 곱함 (시스템 주파수 변동 ±10% 고려).
테이블에 나열된 명령은 총 5개 그룹으로, EEPROM 접근과 시스템 제어에 초점. 각 명령을 상세히 분석하겠습니다. 분석 기준:
- 인코딩 방식: 명령 바이트의 비트 구조 (예: 주소 포함 시 6 LSBs 사용).
- 사용 방법: I2C 전송 형식, 후속 작업(DF, 대기 시간).
- 주의사항: 실행 시간, 모드 제한, 오류 가능성 (섹션 11.3의 응답 비트 참조: Busy, Valid 등).
- 연계 섹션: 데이터시트 참조.
1. EEPROM Read (주소 00 HEX ~ 1F HEX)
- Command Byte: 00 HEX ~ 1F HEX (직접 주소 지정. 예: 02 HEX는 주소 0x02 읽기).
- Third and Fourth Bytes: 0000 HEX (데이터 불필요, 플레이스홀더).
- Description: EEPROM 주소 00 HEX ~ 1F HEX 읽기. 명령 실행 후 Data Fetch (DF, 섹션 10.6.4) 수행 필수. DF로 상태 바이트 + 16비트 데이터 수신.
- Response Time: 100 μs (typical, worst: 110 μs).
- 분석:
- 인코딩: 명령 바이트가 직접 EEPROM 워드 주소 (0x00 ~ 0x1F). 5비트 주소 범위 (32 워드).
- 사용: I2C로 명령 바이트 전송 → 100μs 대기 → DF로 읽기. 상태 확인 (Table 26: Valid 비트 1, Busy 0).
- 주의: 0x1D ~ 0x1F는 Reserved (Table 28), 읽기 가능하나 무의미. EEPROM ECC로 오류 보정 (섹션 10.4.1).
- 예시: 주소 0x02 (ZMDI_Config) 읽기 → 명령 0x02 전송 → DF로 데이터 페치.
2. Write to EEPROM (주소 00 HEX ~ 1F HEX)
- Command Byte: 40 HEX ~ 5F HEX (0x40 | 주소. 예: 42 HEX = 주소 0x02 쓰기).
- Third and Fourth Bytes: YYYY HEX (Y = 16비트 데이터. MSB 먼저).
- Description: EEPROM 주소 00 HEX ~ 1F HEX 쓰기. 명령 바이트의 6 LSBs가 주소 지정. 데이터 2바이트 쓰기.
- Response Time: 12ms (typical, worst: 13.2ms).
- 분석:
- 인코딩: 명령 바이트 상위 2비트 '01' (0x40 기반), 하위 6비트 주소 (최대 0x3F지만 0x1F까지 사용).
- 사용: I2C로 명령 바이트 + 데이터 2바이트 전송 (총 3바이트). 12ms 대기 후 DF로 확인 (옵션, 상태만).
- 주의: 쓰기 사이클 100k회 제한 (섹션 5). Reserved 영역(0x1D~0x1F) 쓰기 피함. 쓰기 후 검증 추천 (읽기 호출).
- 예시: 주소 0x02에 0xABCD 쓰기 → 명령 0x42 + 0xAB + 0xCD 전송.
3. Start_NOM
- Command Byte: 80 HEX.
- Third and Fourth Bytes: 0000 HEX.
- Description: Command Mode 종료, Normal Operation Mode 전환. 초기 변환 길이는 온도/용량 해상도, Mult 설정에 의존 (섹션 10 참조).
- Response Time: - (즉시 전환, 초기 측정 시간 별도: 4.25~173ms, 섹션 10.1).
- 분석:
- 인코딩: 고정 0x80.
- 사용: Command Mode에서만 유효. 전환 후 I2C/SPI로 측정 데이터 페치 가능.
- 주의: 전환 후 Command Mode 재진입하려면 리셋 또는 Power-Off/On 필요. 알람/PDM 등 Normal Mode 기능 활성화.
- 예시: 캘리브레이션 후 Normal Mode로 전환.
4. Start_CM
- Command Byte: A0 HEX.
- Third and Fourth Bytes: 0000 HEX.
- Description: Command Mode 시작. Power-On Command Window(섹션 10.1) 동안만 유효.
- Response Time: 100 μs (typical, worst: 110 μs).
- 분석:
- 인코딩: 고정 0xA0.
- 사용: Power-On 직후(빠른 스타트업 시 3ms 이내) 전송. DF 불필요, 상태 확인 옵션.
- 주의: Window 초과 시 무시됨. Fast_Startup 비트(EEPROM)로 Window 길이 조절.
- 예시: POR 후 즉시 A0 00 00 전송 → Command Mode 진입.
5. Get Revision
- Command Byte: B0 HEX.
- Third and Fourth Bytes: 0000 HEX.
- Description: 파트 리비전 정보 획득. 명령 실행 후 Data Fetch (DF, 섹션 10.6.4) 수행 필수.
- Response Time: 100 μs (typical, worst: 110 μs).
- 분석:
- 인코딩: 고정 0xB0.
- 사용: DF로 상태 + 16비트 리비전 데이터 수신 (예: 칩 버전 확인).
- 주의: 디버깅/버전 체크 용도. DF 필수.
- 예시: 리비전 확인 → B0 전송 → DF로 데이터 페치.
전체 테이블 분석 요약
- 공통 특성: 모든 명령은 4바이트 패킷 (명령 1바이트 + 데이터 3바이트, 불필요 시 0 패딩). I2C만 지원 (그림 25 참조: 시작 + 주소 + 명령 + 데이터 + 정지).
- 범위 및 제한: EEPROM 주소 0x00
0x1F (32 워드), 하지만 사용자 영역 0x000x1C (Table 28). Reserved 영역 접근 시 동작 불확실. - 응답 및 DF: 읽기/Get 명령은 DF 필수 (그림 26: 상태 바이트 + 데이터). 쓰기/모드 명령은 DF 옵션 (Table 26 응답 비트: Busy, Valid, Diagnostic 등 확인, Table 27 진단 비트).
- 실행 시간: 100μs (읽기/간단 명령) ~ 12ms (쓰기). 최악 케이스 1.1배 (주파수 변동).
- 오류 처리: 명령 후 DF로 Diagnostic 비트 확인 (Table 27: EEPROM 오류 등). 명령 중복 전송 금지 (실행 시간 대기 필수).
- 활용 팁: 캘리브레이션 시 Start_CM → EEPROM 쓰기 (보정 계수) → Start_NOM 순. Get Revision으로 호환성 확인.
- 데이터시트 연계: 섹션 11.3 (응답/DF), Table 26~27 (비트 정의), 섹션 12 (EEPROM 맵).
이 분석은 Renesas 공식 ZSSC3123 데이터시트(Nov 19, 2021 버전) Table 25를 기반으로 정리했습니다.
반응형
'아날로그회로(Analog Circuit) > ADC관련' 카테고리의 다른 글
[ZSSC3230] 전체 측정 전 NVM 설정 절차 (0) | 2025.08.15 |
---|---|
[ZSSC3230]정전용량 센서 신호 컨디셔너 요약 (1) | 2025.08.14 |
[AD2S1210] Resolver-to-Digital Converter with STM32G474 SPI Driver (0) | 2025.08.14 |
[AD7747]정전용량-디지털 변환기 디바이스 드라이버 코드를 STM32용으로 구현 (Guide to implementing AD7747 Capacitance-to-Digital Converter driver for STM32 microcontroller) (0) | 2025.08.14 |
[ZSSC3123] Analog Front End 설정 방법 (0) | 2025.08.13 |
[ZSC31014] 아두이노 I2C로 센서 데이터 읽기 및 EEPROM 설정 코드 구현 (0) | 2025.08.12 |
[ZSSC3241] OWI 통신에서 사용할 수 있는 명령 모드 설명 (0) | 2025.08.12 |
[ZSSC3241] OWI 통신 사용 방법 및 사용 전 절차 (0) | 2025.08.12 |