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

[ZSC31014] Command Set 과 I2C로 EEPROM 및 센서 데이타 읽기 절차

by linuxgo 2025. 8. 2.
반응형

ZSC31014의 **명령 세트(Command Set)**와 **EEPROM 맵(EEPROM Map)**은 디바이스의 설정, 캘리브레이션, 동작 모드를 제어하는 데 핵심적인 역할을 합니다. 아래는 데이터시트(REN_ZSC31014_DST_20160120_1.pdf)를 기반으로 한 상세한 설명입니다. 각 섹션은 페이지 번호와 함께 참조되며, 필요한 경우 테이블과 그림을 포함합니다.


1. ZSC31014 명령 세트 (Command Set)

ZSC31014는 I²C 및 SPI 인터페이스를 통해 동작을 제어하기 위한 명령어를 제공합니다. 명령은 주로 데이터 가져오기(Data Fetch, DF), 측정 요청(Measurement Request, MR), **캘리브레이션 명령(Calibration Commands)**으로 나뉘며, 동작 모드(Update Mode, Sleep Mode, Command Mode)에 따라 사용됩니다. 아래는 명령 세트에 대한 상세 설명입니다(페이지 26, 33~37 참조).

1.1. 명령 유형 (페이지 26, Table 3.1)

명령 /유형설명지원 /통신참조/ 섹션

Data Fetch (DF) 모든 모드에서 데이터를 읽는 데 사용 I²C, SPI 3.2.2, 3.3.2
Measurement Request (MR) Sleep Mode에서 측정을 시작하는 데 사용 I²C, SPI 3.1.2, 3.3.1, 3.4.1
Calibration Commands Command Mode에서 캘리브레이션 및 EEPROM 프로그래밍에 사용 I²C 전용 3.5

 

1.2. I²C 명령 세부사항

I²C 명령은 주로 Sleep Mode에서의 측정 시작, 데이터 읽기, 캘리브레이션에 사용됩니다(페이지 33~36).

1.2.1. I²C Read_MR (Measurement Request, 페이지 34)

  • 기능: Sleep Mode에서 디바이스를 깨우고 완전한 측정 사이클(브리지, 온도, Auto-Zero 포함)을 시작.
  • 형식:
    • 마스터는 7비트 슬레이브 주소 + READ 비트(1)를 전송.
    • ZSC31014는 ACK를 응답한 후, 마스터는 Stop 조건을 생성.
  • 참고:
    • Read_DF2 또는 Read_DF3 명령으로도 동일한 기능 수행 가능(데이터는 "stale"로 반환됨).
    • 응답 시간: 1MHz 클럭에서 4.5ms, 4MHz 클럭에서 1.5ms (Normal Integration Mode, 페이지 31, Table 3.4).

1.2.2. I²C Read_DF (Data Fetch, 페이지 34)

  • 기능: 측정된 데이터를 읽음. 2바이트, 3바이트, 4바이트 패킷으로 제공.
    • Read_DF2: 2바이트(브리지 데이터 14비트).
    • Read_DF3: 3바이트(브리지 데이터 + 온도 데이터 8비트).
    • Read_DF4: 4바이트(브리지 데이터 + 온도 데이터 11비트).
  • 형식 (페이지 33, Figure 3.6):
    • 마스터: 슬레이브 주소 + READ 비트(1).
    • 슬레이브: ACK 후 데이터 패킷 전송.
    • 데이터 패킷 구조:
      • 첫 번째 바이트: 상태 비트(S[1:0]) + 브리지 데이터 상위 6비트(B[13:8]).
      • 두 번째 바이트: 브리지 데이터 하위 8비트(B[7:0]).
      • 세 번째 바이트: 온도 데이터 상위 8비트(T[10:3]).
      • 네 번째 바이트: 온도 데이터 하위 3비트(T[2:0]) + 5비트 무시.
  • 상태 비트 (페이지 24, Table 2.9):
    • 00: 정상 데이터.
    • 01: Command Mode.
    • 10: Stale 데이터(이미 읽은 데이터).
    • 11: 진단 상태(예: EEPROM 오류, 브리지 단락).

1.2.3. I²C Write_MR (Measurement Request, 페이지 36)

  • 기능: Sleep Mode에서 브리지 값만 측정(특별 측정 제외) 후 DSP 계산 수행.
  • 형식 (페이지 36, Figure 3.9):
    • 마스터: 슬레이브 주소 + WRITE 비트(0).
    • 슬레이브: ACK 후 디바이스 깨어남, 측정 후 다시 Sleep Mode로 전환.
  • 참고:
    • Write_MR 후 Read_DF로 데이터 읽기 필요.
    • 응답 시간: 1MHz 클럭에서 1.5ms, 4MHz 클럭에서 0.5ms (페이지 31, Table 3.4).
    • 첫 번째 Write_MR은 초기화되지 않은 온도/AZ 값으로 인해 유효하지 않은 데이터 반환 가능(페이지 31).

1.2.4. Command Mode I²C Write (페이지 37)

  • 기능: Command Mode에서 캘리브레이션 및 EEPROM 프로그래밍.
  • 형식 (페이지 36, Figure 3.9):
    • 마스터: 슬레이브 주소 + WRITE 비트(0) + 명령 바이트 + 2바이트 데이터.
    • 슬레이브: ACK 후 명령 실행.
  • 명령 목록 (페이지 37, Table 3.6):

명령/ 코드/데이터/설명/실행 시간

A0HEX 0000HEX Start_CM: Command Mode 진입, 전원 켜짐 후 6ms 이내 유효. 10μs
80HEX 0000HEX Start_NOM: Normal Operation Mode 시작, EEPROM 서명 업데이트 시 15ms. 10μs / 15ms
00HEX~13HEX EEPROM 데이터 EEPROM 쓰기: 지정된 EEPROM 워드에 데이터 쓰기. 응답 바이트 5AHEX 반환. 10us
40HEX~53HEX 0000HEX EEPROM 읽기: 지정된 EEPROM 워드 읽기, 15ms
  • 참고:
    • Command Mode에서 INT/SS 핀은 명령 완료 시 상승(인터럽트 역할, 페이지 37).
    • EEPROM 쓰기 후 Start_NOM 명령으로 서명 업데이트 필수(페이지 37).
  •  

2. ZSC31014 EEPROM 맵 (EEPROM Map)

EEPROM은 ZSC31014의 설정, 캘리브레이션 계수, 동작 모드를 저장합니다. 각 워드는 16비트로 구성되며, 주요 설정과 계수는 아래 표에 정리되어 있습니다(페이지 38~43, Table 3.7).

2.1. EEPROM 워드 및 비트 할당

EEPROM 워드비트/ 범위/기본값/설명참고

2.2. 주요 EEPROM 설정 세부사항

  • 캘리브레이션 계수:
    • Gain_B, Gain_T: 게인 값, 단위는 2000HEX, 최대 32배(Gain8x 사용 시, 페이지 48, Table 3.9).
    • Offset_B, Offset_T: 16비트 2의 보수 형식, ±32768 범위(페이지 48, Table 3.10).
    • Tcg, Tco: 온도 보정 계수, 부호는 TC_Sign 비트로 결정.
    • SOT_tco, SOT_tcg, SOT_bridge, SOT_T: 2차 비선형성 보정, 부호는 SOT_Sign 비트로 결정.
  • 제한사항 (페이지 47, Table 3.8):
    • Gain_B, Gain_T: 0~4 (Gain8x로 최대 32).
    • Offset_B, Offset_T: ±8192 (14비트 범위).
    • SOT 계수: 양수 0~7FFF, 음수 0~3FF.

3. 사용 예시

3.1. I²C로 Sleep Mode에서 데이터 읽기

  1. EEPROM 설정:
    •   01HEX: Output_Mode = 0 (I²C), ClkSpeed = 0 (1MHz), Update_Rate = 10 (25ms).
    •   02HEX: Slave_Addr = 28HEX, Comm_lock = 011.
    •   0FHEX (B_Config): PreAmp_Gain, A2D_Offset 를 원하는 값으로 설정.
  2. 명령:
    •   Sleep Mode에서 Read_MR 전송(슬레이브 주소 + READ 비트).
    •   4.5ms 후 Read_DF4로 4바이트 데이터 읽기.
  3. 결과: 브리지 데이터(14비트)와 온도 데이터(11비트) 반환, 상태 비트 확인.

4. 추가 참고사항

  • 캘리브레이션 소프트웨어: IDT 제공 DLL로 계수 계산(페이지 45).
  • 진단 상태 확인: 데이터 패킷의 상태 비트(S[1:0])로 EEPROM 오류, 센서 단락 등 확인(페이지 24).
  • 문서 참조: ZSC31014 Technical Note-Detailed Equations for Calibration Math 요청(페이지 56).
반응형