Contents
- Introduction
- I3C Signal Driving 방법 (Open Drain & Push Pull)
- I3C Broadcast Address (Reserved Byte) - 7'h7E의 존재 이유
- Common Command Code (CCC)
- Dynamic Addressing (SETDASA, ENTDAA)
- SDR(Single Data Rate) Mode
- HDR(High Data Rate) Mode
- I3C Characteristic Registers
- In-band Interrupt (IBI)
- Mastership (Main Master & Secondary Master) - GETACCMST
1. Introduction
- I3C(Improved Inter-Integrated Circuit)는 I2C의 진화된 형태로, 더 높은 성능과 효율성을 제공합니다.
- I3C는 I2C와 하위 호환성을 유지하면서 성능을 향상시키고, 더 많은 기능을 제공하여 더욱 현대적인 통신 요구를 충족시킵니다. 이러한 특징으로 인해 I3C는 저전력 IoT 장치부터 고성능 컴퓨터 및 자동차 시스템까지 다양한 응용 분야에서 사용될 수 있습니다.
- I2C의 전송 속도는 최대 1Mbps를 지원하는데 비해 I3C의 전송 속도는 최대 33Mbps까지 지원합니다.
- I2C와 동일하게 SDA, SCL 2 wire 데이터 통신을 합니다. Push-Pull을 활용한 Clock Speed 최대 12.5Mhz까지 지원합니다.
- In-Band Interrupt (IBI)를 지원합니다.
- Dynamic Addressing이 가능합니다.
- Multi Master를 지원합니다. (Main & Secondary Master)
- Master Ownership handover 기능 지원.
- HDR(DDR, TSP, TSL)을 지원합니다.
- Group Addressing을 지원합니다.
- Target Reset을 지원합니다.
- Common Command Code (CCC) 를 지원합니다.
2. I3C Signal Driving 방법 (Open Drain & Push Pull)
- Open Drain 방식:
- Open Drain 방식은 출력 신호를 끌어내리는 데 사용됩니다. (High로 만들 때는 Pull Up 에 의존)
- 그래서 위 그림에서 보듯이, 신호가 low에서 high로 될 때는 천천히 올라가고. high에서 Low로 될 때는 바로 내려갑니다.
- 드라이버가 출력을 LOW로 만들 때, 신호 선을 저항으로 연결된 드레인에 연결하여 그라운드로 당깁니다.
- 이 방식은 외부 장치와의 통신에서 높은 호환성을 제공합니다. 왜냐하면 여러 장치가 한 신호선을 공유할 때 충돌을 방지하기 위해 드라이버가 신호를 끌어내리는 데에만 사용하기 때문입니다.
- 일반적으로 풀업 저항과 함께 사용되어, 신호를 다시 HIGH로 만들기 위해 외부적으로 필요한 전원을 제공합니다.
- Push Pull 방식:
- Push Pull 방식은 출력 신호를 끌어내리고 밀어올리는 데 사용됩니다.
- 드라이버가 출력을 LOW로 만들면 신호선을 그라운드로 당기고, 출력을 HIGH로 만들면 전원을 신호선에 인가합니다.
- 이 방식은 빠른 신호 전달을 제공하며, 외부 장치와의 통신에서 더 높은 속도를 지원합니다.
- 그러나 다른 장치들과의 호환성을 고려해야 합니다. 특히 Open Drain 방식과는 달리 신호를 확장하기 위한 풀업 저항이 필요하지 않습니다.
3. I3C Broadcast Address (Reserved Byte) - 7'h7E의 존재 이유
- I3C는 SDR/HDR/CCC 를 보낼 때, 자신이 I3C임을 밝히는 목적으로 7'h7E를 항상 보냅니다.
- All I3C Slaves shall ignore all Messages with Addresses other than 7’h7E or the I3C Master Assigned Address.
4. Common Command Code (CCC)
- Common Command Codes (CCCs) are globally supported commands that can be transmitted either directly to a specific I3C Slave Device, or to all I3C Slave Devices simultaneously.
- The CCC Command Protocol is only formatted using I3C SDR, and always starts with the I3C Broadcast Address (7’h7E). That is, after a START or Repeated START, the Address of a CCC Command shall always be a 7’h7E and the RnW bit shall always be a Write.
- All I3C Slaves shall recognize both the 7’h7E Broadcast Address, and their own Dynamic Address once it has been assigned. The I3C Master shall issue a CCC Command both before and after I3C Dynamic Addresses are assigned.
- There are two kinds of CCC. One is Direct CCC and the other one is Broadcast CCC.
- 대표적으로 많이 쓰이는 CCC
- ENEC : Enable Slave event driven interrupts
- DISEC : Disable Slave event driven interrupts
- SETMRL : Maximum read length in a single command
- ENTHDR0 : Master has entered HDR – DDR Mode
- SETDASA : Master assigns a Dynamic Address to a Slave with a known Static Address.
- ENTDAA : Entering Master initiation of Slave Dynamic Address Assignment. Slave Devices that already have a Dynamic Address assigned shall not respond to this command.
- GETACCMST : used both to verify a Master Request, and to allow the Current Master to offer Mastership to an I3C Secondary Master. The Get is used to confirm acceptance; to do so, the Secondary Master returns its 7-bit Dynamic Address
5. Dynamic Addressing (SETDASA, ENTDAA)
- 먼저 Main Master는 Static Address를 미리 알고 있는 I3C Devices(Slaves) 들 대상으로는 SETDASA CCC를 통해 Dynamic Address를 부여합니다. (The SETDASA CCC should be used before the ENTDAA CCC is used; all Slaves without assigned Dynamic Addresses will respond to the ENTDAA CCC)
- 그리고 Main Master는 Static Address를 모르는 다른 I3C Devices(Slaves) 들 대상으로는 ENTDAA CCC를 통해 임의의 Dynamic Address를 부여합니다.
6. SDR(Single Data Rate) Mode
- SDR Mode is the default Mode of the I3C Bus, and is primarily used for private messaging from the Current Master Device to Slave Devices.
7. HDR(High Data Rate) Mode
- It is important to note that the I3C Bus is always initialized and configured in SDR Mode, never in any 2301 of the HDR Modes
- HDR Double Data Rate (HDR-DDR) Mode
- Like SDR Mode, HDR-DDR Mode uses SCL as a clock; however unlike SDR, Data and Commands change SDA on both SCL edges (when High and when Low), effectively doubling the data rate.
- I3C START
- I3C CCC to Enter HDR-DDR Mode
- After entering HDR-DDR Mode, there is one HDR-DDR Command Word followed by one HDR
- DDR Data Word, and then an HDR-DDR CRC Word
- Then an HDR Restart Pattern
- then another HDR-DDR Command Word, HDR-DDR Data Word, and HDR-DDR CRC Word
- and finally HDR Mode is ended via the HDR Exit Pattern
- followed by I3C STOP
- HDR Ternary Mode
- HDR Ternary Symbol Pure-bus (HDR-TSP) Mode
- HDR Ternary Symbol Legacy-inclusive-bus (HDR-TSL) Mode
- HDR Modes HDR-TSP and HDR-TSL use Ternary signaling on the two wires.
- Ternary signaling effectively communicates 1.5 data bits per time event, which is 50% more than non-Ternary I3C signaling. This higher effective data rate is achieved by using both lines (SCL and SDA) for data.
- By contrast, I2C and non-Ternary Modes in I3C use the SCL line only as a clock and the SDA line only as data. In Ternary signaling the clock signal is implicit whenever either line (or both lines at once) changes level.
- The name ‘Ternary’ comes from the fact that at each line state change, exactly three transitions are possible.
- The transitions are then used as coefficients for base-3 (ternary) numbers.
- The three possible line transitions are:
- Only the SCL line changes
- Only the SDA line changes
- Both SCL and SDA change
- I3C START
I3C CCC to Enter HDR Ternary Mode X
After entering HDR Ternary Mode, there is one HDR Command followed by HDR Data
Then an HDR Restart Pattern
then another HDR Command and HDR Data
and finally HDR Mode is ended via the HDR Exit Pattern
followed by I3C STOP
8. I3C Characteristic Registers
- Bus Characteristics Register (BCR)
- Each I3C Device that is connected to the I3C Bus shall have an associated read-only Bus Characteristics 462 Register (BCR). This read-only register describes the I3C compliant Device’s role and capabilities for use in 463 Dynamic Address assignment and Common Command Codes.
- Device Characteristics Register (DCR)
- Each I3C Device that is connected to the I3C Bus shall have an associated read-only Device Characteristics 467 Register (DCR). This read-only register describes the I3C compliant Device type (e.g. accelerometer, 468 gyroscope, etc.) for use in Dynamic Address assignment and Common Command Codes.
9. In-band Interrupt (IBI)
- I3C Slave Interrupt Request :
- I3C Secondary Master Request to be Current Master :
- 스펙 및 아래 Contents 참고.
10. Mastership (Main Master & Secondary Master) - GETACCMST
- I2C와는 다르게 Secondary Master가 존재합니다.
- Secondary Master는 Main Master로부터 아래의 Step을 밟아서 Mastership을 가져올 수 있습니다.
- Secondary Master가 Mastership Request를 보냅니다. (IBI)
- 현재 Master가 Mastership Request를 수락합니다.
- 현재 Master가 Secondary Master에게 GETACCMST (CCC) 명령을 전송합니다.
- Secondary Master가 올바르게 자신의 7비트 dynamic address로 응답합니다.
- 현재 마스터가 STOP을 발행합니다.
'- Tech > Hardware' 카테고리의 다른 글
[핵심만] I2C 기술적 분석 (0) | 2024.05.12 |
---|---|
[핵심만] UART 기술적 분석 (0) | 2024.05.11 |
[핵심만] SPI 기술적 분석 (0) | 2024.04.28 |