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

[ZSSC3241] OWI 통신에서 사용할 수 있는 명령 모드 설명

by linuxgo 2025. 8. 12.
반응형

ZSSC3241 센서 신호 컨디셔너 IC의 OWI(One-Wire Interface)는 디지털 인터페이스 중 하나로, AOUT 핀을 통해 아날로그 출력과 공유됩니다. OWI에서 "명령 모드"는 두 가지 측면을 가리킬 수 있습니다: 1) 운영 모드(Operating Modes) 중 Command Mode, 그리고 2) 이 모드에서 사용할 수 있는 디지털 명령어(Command List). 데이터시트에 따르면, OWI는 SPI/I²C와 동일한 명령어를 사용하나, OWI 특성(1선 통신, 듀티 사이클 기반 비트 구분)으로 인해 타이밍과 모드 제한이 있습니다. OWI는 Command Mode에서 모든 명령어를 지원하며, Cyclic Mode와 Sleep Mode에서 제한적으로 사용됩니다. 아래에서 운영 모드별 가용 명령어와 OWI 특성을 상세히 설명합니다.

1. ZSSC3241 운영 모드 개요

ZSSC3241은 세 가지 운영 모드를 지원하며, 이는 NVM(Non-Volatile Memory) SSF1(03HEX)의 default_mode 비트로 파워온 시 기본 설정됩니다. 모드 전환은 START_CM(A9HEX), START_CYC(ABHEX), START_SLEEP(A8HEX) 명령어로 수행합니다. OWI 통신은 모든 모드에서 가능하나, 모드에 따라 가용 명령어가 다릅니다. 상태 바이트(표 19)의 비트[4:3]로 모드 확인(00=Command, 01=Sleep, 10=Cyclic).

  • Command Mode (START_CM, A9HEX):
    • 특징: 평가, 테스트, 캘리브레이션에 최적. 모든 명령어 지원. 디지털/아날로그 출력 모두 가능. 최소 지연 응답.
    • OWI 가용성: 모든 명령어(표 34) 사용 가능. OWI에서 가장 유연.
    • 사용 시나리오: NVM 읽기/쓰기, 캘리브레이션, 진단.
    • 전환 방법: Sleep 또는 Cyclic에서 A9HEX 명령으로 진입.
  • Cyclic Mode (START_CYC, ABHEX):
    • 특징: 자동 반복 측정(센서/온도) 및 출력 업데이트. 에너지 소비, 업데이트율, 안전 균형 최적화(SSF2 scheduler 비트).
    • OWI 가용성: 제한적 명령어만 지원(NOP FFHEX, START_CM A9HEX, START_SLEEP A8HEX, OWI_INIT D2HEX). 데이터 폴링은 NOP로 상태 바이트 + 최신 데이터 읽기.
    • 사용 시나리오: 연속 센싱(예: 압력/온도 모니터링). OWI로 데이터 폴링 시 AOUT 핀 사용.
    • 전환 방법: Command Mode에서 ABHEX 명령으로 진입. 종료: A9HEX 또는 A8HEX.
  • Sleep Mode (START_SLEEP, A8HEX):
    • 특징: 저전력(Idle 전류 ~1.5μA). 인터페이스 listening 상태로 명령 대기. 아날로그 출력 미지원.
    • OWI 가용성: 대부분 명령어 지원하나, OWI와 결합 시 owi_off=0 필수. NVM 읽기/쓰기 가능하지만, Sleep Mode에서 OWI는 기본 인터페이스와 호환성 제한(데이터시트 노트: OWI와 Sleep Mode 결합 시 owi_off=1로 비활성화 추천).
    • 사용 시나리오: 에너지 절감 스마트 센서.
    • 전환 방법: Command 또는 Cyclic에서 A8HEX 명령으로 진입.

2. OWI에서 사용할 수 있는 명령어 목록 (표 34 기반)

OWI는 SPI/I²C와 동일한 명령어를 사용하나, 모드별 가용성에 따라 제한됩니다. 전체 명령어는 표 34(Command List)에 나열되며, OWI에서 지원되는 주요 명령어는 다음과 같습니다. (Command Mode에서 모든 명령어 가능, Cyclic Mode에서 제한적.) 반환값은 상태 바이트 + 데이터(16/24비트).

  • 메모리 읽기/쓰기 (Command/Sleep Mode):
    • 00HEX ~ 3FHEX: NVM 주소 00~3F 읽기 (반환: 16비트 데이터).
    • 40HEX ~ 75HEX: NVM 주소 00~35 쓰기 (고객 영역, 반환: 없음).
    • 90HEX: NVM CRC 계산 (반환: 없음).
  • 원시 측정 (Raw Measurements, Command/Sleep Mode):
    • A2HEX: 원시 센서 데이터 (반환: 24비트 raw 센서).
    • A4HEX: 원시 온도 데이터 (반환: 24비트 raw 온도).
  • SSC 보정 측정 (Command/Sleep Mode):
    • AAHEX: 전체 측정 + SSC 보정 (반환: 24비트 센서 + 24비트 온도).
    • AC~AFHEX: Oversample-2/4/8/16 + SSC (노이즈 감소, 반환: 평균 24비트 센서 + 온도).
  • 모드 전환 (모든 모드에서 일부 가능):
    • A8HEX: Sleep Mode 진입.
    • A9HEX: Command Mode 진입.
    • ABHEX: Cyclic Mode 진입 (Command Mode에서만).
  • 진단 (Command/Sleep Mode):
    • B0HEX: 상세 오류 상태 (반환: 16비트 diagnosticreg).
    • B1HEX: 진단 리셋.
    • B2HEX: 전체 진단 체크.
    • B3HEX: DAC 진단 (I2C/SPI만, OWI 미지원).
    • B4HEX: 자가 진단 측정 (반환: 24비트 raw 데이터).
  • 기타 (모든 모드):
    • D2HEX: OWI 초기화.
    • FFHEX: NOP (상태 + 마지막 데이터, Cyclic Mode에서 폴링에 유용).
  • Cyclic Mode 제한 명령어:
    • FFHEX (NOP): 상태 바이트 + 최신 데이터 폴링.
    • A9HEX (START_CM): Command Mode로 전환.
    • A8HEX (START_SLEEP): Sleep Mode로 전환.
    • D2HEX (OWI_INIT): OWI 초기화.

3. OWI 특성 및 제한

  • 프로토콜: 1선(그림 14), 듀티 사이클 비트 구분(그림 15). 시작 조건(저 펄스 ≥10μs), 정지 조건(비트 기간 변화).
  • 타이밍: tOWI,BIT=203000μs (표 23), 데이터 레이트 0.3310kBit/s (표 24).
  • 모드별 OWI 사용: Command Mode에서 모든 명령어. Cyclic Mode에서 NOP로 데이터 폴링(최신 SSC 데이터). Sleep Mode에서 OWI 제한(owi_off=1 추천).
  • 인터페이스 고정: 파워온 후 첫 OWI 활동으로 고정. 다른 인터페이스(SPI/I²C) 활동 시 재시작 필요.
반응형