본문 바로가기
아날로그회로(Analog Circuit)/ADC관련

ZSSC3123 Sensor Signal Conditioner IC Command List and Encodings 상세 분석

by linuxgo 2025. 8. 13.
반응형

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 주소 0x000x1F (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를 기반으로 정리했습니다.

반응형