MIPI Alliance 에서 개발한 MIPI I3C 프로토콜을 줄여서 I3C 라고 합니다.
I2C 와 I3C의 차이
I2C (Inter-Integrated Circuit)와 I3C (Improved Inter-Integrated Circuit)는 둘 다 마스터-슬레이브 구조를 사용하는 직렬 통신 프로토콜로, 주로 센서와 같은 저속 주변 장치를 연결하기 위해 사용됩니다. 그러나 I3C는 I2C의 개선된 버전으로 더 많은 기능과 성능을 제공합니다. 주요 차이점은 다음과 같습니다:
- 속도
- I2C: 일반적으로 최대 5 Mbps까지 지원하지만, 일반적으로 100 kbps (표준 모드), 400 kbps (패스트 모드), 1 Mbps (패스트 모드 플러스)로 사용됩니다.
- I3C: 최대 33 Mbps의 속도까지 지원할 수 있어, 더 높은 속도로 데이터 전송이 가능합니다.
- 전력 효율성
- I2C: 슬레이브 장치가 항상 버스를 모니터링해야 하므로 전력 소비가 더 높습니다.
- I3C: 슬레이브가 저전력 모드에서 작동할 수 있도록 하는 기능을 제공하여 전력 효율성을 높였습니다.
- 멀티 슬레이브 및 동적 주소 할당
- I2C: 각 슬레이브 장치에 고정된 주소를 수동으로 할당해야 하며, 주소 충돌 가능성이 있습니다.
- I3C: 동적 주소 할당을 통해 자동으로 슬레이브 주소를 지정하며, 장치 간 주소 충돌을 방지합니다.
- 호환성
- I2C: 단순하고 널리 사용되는 표준으로, 기존 I2C 기반 장치들과의 호환성이 뛰어납니다.
- I3C: I2C 장치와 하위 호환성을 제공하므로, 기존 I2C 장치도 연결할 수 있습니다. 그러나 I3C의 고급 기능을 사용하려면 I3C 호환 장치가 필요합니다.
- 추가 기능
- I2C: 기본적인 데이터 전송 기능만을 제공합니다.
- I3C: 고속 전송, 핫 조인(핫스왑) 기능, 오류 감지 및 교정 기능 등 여러 고급 기능을 추가하여 더 신뢰성 높은 통신을 가능하게 했습니다.
자세한 소개
2.1 MIPI I3C 소개
Q1.1 MIPI I3C와 I3C Basic이란 무엇인가요?
MIPI I3C는 I²C의 기능, 성능 및 전력 사용을 개선하면서 대부분의 장치에 대한 하위 호환성을 유지하는 직렬 통신 인터페이스 사양입니다.
MIPI I3C Basic은 기능 집합이 줄어들고 RAND-Z 라이선싱이 적용된 것을 제외하면 기술적으로 MIPI I3C와 동일합니다 (Section 2.11 참조).
Q1.2 I3C 약어의 의미는 무엇인가요?
공식 명칭은 MIPI Alliance Improved Inter Integrated Circuit입니다.
Q1.3 MIPI I3C가 도입되는 이유는 무엇인가요?
MIPI I3C의 주요 목적은 세 가지입니다:
- 센서 통신 표준화,
- 센서 시스템 통합에 사용되는 물리적 핀 수를 줄이기 위해,
- I²C 및 SPI에서 현재 지원되는 저전력, 고속 및 기타 중요한 기능을 지원하기 위해.
MIPI I3C의 목적은 현재 I²C/SMBus, SPI 및 UART를 사용하는 다양한 장치로 확대되고 있습니다.
Q1.4 MIPI I3C의 주요 기능은 무엇인가요?
MIPI I3C는 I²C의 단순성, 저 핀 수, 쉬운 보드 설계 및 멀티 드롭(대 포인트-투-포인트)과 같은 장점을 가지며, SPI보다 더 높은 데이터 속도, 더 단순한 패드, 더 낮은 전력 소비를 제공합니다. 또한, 주어진 주파수에서 더 높은 처리량, 타겟에서 컨트롤러로의 인-밴드 인터럽트, 동적 주소 지정, 고급 전력 관리 및 핫 조인 기능을 추가로 지원합니다.
Q1.5 I3C는 어떤 애플리케이션 또는 사용 사례에 사용되도록 설계되었나요?
I3C는 원래 모든 디지털 인터페이스 센서에서 사용할 수 있는 단일 인터페이스로 모바일 애플리케이션을 위해 설계되었습니다. 그러나 이제는 센서, 액추에이터, 전원 조절기, MCU, FPGA 등 중속 임베디드 및 깊이 임베디드 애플리케이션을 포함한 모든 분야에 사용할 수 있도록 설계되었습니다. 이 인터페이스는 매우 낮은 전력 수준에서 고속 데이터 전송을 제공하며, 멀티 드롭을 허용하여 임베디드 시스템에 매우 유용합니다.
Q1.6 MIPI I3C 사양은 어떻게 얻을 수 있나요?
- MIPI I3C 사양: MIPI Alliance 회원은 MIPI 회원 자격과 회원 웹사이트를 통해 MIPI I3C 사양에 대한 접근과 권리를 가집니다. 최신 버전은 MIPI I3C v1.1.1 [MIPI13]입니다.
- MIPI I3C Basic 사양: MIPI Alliance는 MIPI I3C Basic v1.0 사양 [MIPI09]을 2018년 12월에 공개 다운로드가 가능하도록 만들었습니다. 최신 버전은 MIPI I3C Basic v1.1.1 [MIPI14]입니다. MIPI Alliance 회원은 회원 자격과 회원 웹사이트를 통해 I3C Basic 사양에 접근할 수 있습니다.
- 비회원은 MIPI Alliance 웹사이트의 MIPI I3C Basic 페이지를 방문하여 I3C Basic 사양의 저작권 전용 버전을 다운로드할 수 있습니다:
https://www.mipi.org/specifications/i3c-sensor-specification
- 비회원은 MIPI Alliance 웹사이트의 MIPI I3C Basic 페이지를 방문하여 I3C Basic 사양의 저작권 전용 버전을 다운로드할 수 있습니다:
2.2 레거시 I²C 또는 기타 버스에서의 전환
Q2.1 왜 I²C를 I3C로 교체해야 하나요?
I²C는 오랜 기간 널리 채택되어 왔으나, 일부 중요한 기능이 부족합니다. 특히 모바일 및 모바일 기반 시스템에서 센서 및 기타 구성 요소가 계속 통합됨에 따라 이런 기능 부족이 더욱 문제가 됩니다. I²C의 제한 사항으로는 7비트 고정 주소(가상 주소 지정 불가), 인-밴드 인터럽트 기능 없음(추가적인 와이어/핀 필요), 제한된 데이터 전송 속도, 타겟 장치가 클럭을 늘려 시스템이 중단될 수 있는 문제 등이 있습니다. I3C는 이러한 제한 사항을 해결하고 추가적인 기능 향상을 목표로 합니다.
Q2.2 I3C가 I²C보다 전력을 적게 소비하나요?
모든 I3C 모드에서 비트 전송당 전력 소비는 I²C보다 효율적입니다. 이는 푸시-풀 방식(대신 오픈 드레인 방식)과 강력한 풀업 신호 사용 덕분입니다.
또한, I3C는 더 높은 데이터 전송 속도(장치를 더 빨리 절전 모드로 전환 가능), 내장된 구성 및 제어 기능(주 통신 프로토콜을 방해하지 않음), 저비용 웨이크 메커니즘인 인-밴드 인터럽트(IBI), 타겟 장치가 모든 내부 클럭을 종료한 상태에서도 I3C 버스에서 정상 작동하는 기능을 통해 장치의 전력을 상당히 절약할 수 있습니다.
Q2.3 I3C는 I²C와 어떻게 다른가요?
I3C는 동적 주소 할당, 타겟이 시작하는 통신, 그리고 I²C보다 훨씬 높은 통신 속도를 제공합니다.
Q2.4 왜 SPI(Serial Peripheral Interface)를 I3C로 교체해야 하나요?
SPI는 네 개의 와이어가 필요하며, 명확하게 정의된 표준이 없기 때문에 다양한 구현 방식이 존재합니다. 또한 SPI는 버스에 추가되는 각 장치마다 하나의 추가 칩 셀렉트(또는 활성화) 와이어가 필요하므로, 핀과 와이어, 전력 측면에서 비용이 빠르게 증가하게 됩니다. I3C는 두 개의 와이어만 사용하며 잘 정의되어 있어 이러한 문제를 해결하는 것을 목표로 합니다.
I3C는 SPI의 대부분의 속도 범위를 커버하지만, SPI Flash와 같이 포인트 투 포인트 인터페이스에서만 잘 작동하는 최고 속도 등급을 위한 것은 아닙니다.
2.3 I3C 버전 및 릴리즈
Q3.1 I3C v1.1에서 새로 추가된 내용은 무엇인가요?
MIPI I3C v1.1은 MIPI I3C 사양의 발전된 버전으로, 인터페이스를 더 쉽게 구현할 수 있도록 명확하게 편집된 내용뿐만 아니라 I3C를 더 많은 사용 사례 및 산업에 매력적으로 만드는 새로운 선택적 기능도 포함하고 있습니다.
새로운 기능은 다음과 같습니다:
- HDR-BT (대용량 전송) 모드
- 장치 간 터널링
- 그룹 주소 지정
- 속도 향상을 위한 다중 레인
- 타겟 리셋
또한, 사양에 대한 여러 명확화 편집이 이루어졌으며, GETHDRCAPS CCC는 GETCAPS CCC로 대체되었습니다 (I3C v1.1 장치에 필요함).
Q3.2 I3C v1.1과 I3C 1.0의 필수 기능 차이점은 무엇인가요?
I3C v1.1의 거의 모든 새로운 기능은 선택 사항입니다.
그러나 다음 사항을 주목해야 합니다:
- 이전에 선택 사항이었던 CCC GETHDRCAPS가 GETCAPS로 변경되었으며, I3C v1.1 장치에서는 이를 지원해야 하므로 해당 장치가 v1.1(또는 이후 버전)임을 나타냅니다.
- 또한, 새로운 RSTACT CCC를 지원해야 하므로 최소한의 타겟 리셋 지원이 필요합니다.
MIPI는 타겟 장치가 HDR의 흐름 제어와 그룹 주소 지정과 같은 개선 기능과 애플리케이션에 사용할 수 있는 기능 지원을 고려할 것을 권장합니다.
Q3.3 I3C v1.0의 기능 중 I3C v1.1 및 이후 버전에서 지원되지 않는 기능이 있나요?
RSTDAA CCC의 지시적 형태는 I3C v1.1 및 이후 버전에서 지원되지 않습니다.
Q3.4 MIPI I3C v1.1.1의 새로운 내용은 무엇인가요?
MIPI I3C v1.1.1은 MIPI I3C v1.1의 편집 업데이트로, 새로운 기능이나 능력은 포함하지 않지만, 문제를 해결하고, 명확성을 높이며, I3C v1.1 사양을 개선합니다.
MIPI I3C v1.1.1에는 다음이 포함됩니다:
- MIPI I3C v1.1의 기술 오류로 인한 불일치 및 기타 문제 해결(모든 문제는 Errata 01에서 해결됨)
- 동적 주소 할당, 핫 조인 요청, 인-밴드 인터럽트에 사용되는 요구 사항 및 절차에 대한 명확화
- 타겟 오류 유형 TE0, TE5, TE6에 대한 명확화
- HDR 모드에서 CCC 흐름을 정의하는 섹션의 문제 수정 및 개선 (일반 모드와 HDR 모드 특정)
- I3C v1.1에서 도입된 새로운 기능과 능력을 완전히 설명하지 않은 일부 섹션에 대한 추가 명확화와 설명
- 고급 기능을 지원하는 I3C 장치에 대한 더 나은 설명, 예를 들어 여러 I3C 타겟 역할을 수행하는 복합 I3C 장치(예: 가상 타겟)
- 이러한 새로운 기능과 능력을 함께 구현할 때 교차점에 관한 추가 명확화 (즉, 동일한 I3C 버스에서 여러 기능을 동시에 지원하는 I3C 장치와 함께 사용될 때)
- 특정 새로운 기능과 능력이 필수, 선택 사항 또는 조건부로 요구되는지를 유연하게 적용할 수 있는 제한된 허용 사항
- 멀티 레인 장치 구성에 대한 개선된 설명, 여러 동적 주소를 제공하거나 그룹 주소 지정을 지원하는 I3C 장치에 대한 명확한 요구 사항 포함
- HDR-BT 모드에 대한 추가 다이어그램, HDR-BT 전송에 사용되는 구조화된 프로토콜 요소(예: 블록)의 1 레인 형식 및 HDR-BT 전송 예시
- TE0와 DBR(Dead Bus Recovery)와 같은 오류 감지 및 복구 방법에 대한 개선된 설명
- SDR 모드에서 헤더 바이트의 멀티 레인 신호 변경
Q3.5 I3C v1.1.1은 I3C v1.1과 호환되거나 상호 운용 가능한가요?
네. I3C v1.1.1은 I3C v1.1과 비교하여 불일치를 해결하고 명확성을 높이기 위한 편집 업데이트일 뿐입니다. 새로운 기능이나 능력이 추가되지 않았습니다. I3C v1.1.1은 Errata 01에서 해결된 I3C v1.1의 모든 문제를 다룹니다. 구현자들은 I3C v1.1 준수 장치가 Errata 01에서 발표된 수정 사항을 준수하는지 확인할 것을 강력히 권장합니다.
특히, Q4.4를 참조하여 HDR-DDR 모드에서 허용되지 않는 zero-HDR-DDR-Data-Word 흐름과 관련된 문제 수정 사항을 확인하세요. 이 수정은 CCC 흐름을 포함한 모든 HDR-DDR 트랜잭션에 영향을 미칩니다.
Q3.6 I3C Basic v1.1.1의 새로운 기능은 무엇인가요?
I3C Basic v1.1.1은 I3C Basic v1.0의 근본적인 업데이트로, I3C v1.1의 많은 새로운 선택적 기능을 추가했습니다. I3C Basic v1.1.1에는 I3C v1.1.1에서 해결된 문제에 대한 명확화와 수정 사항도 포함됩니다 (Q3.4 참조). I3C Basic v1.1.1을 준수하는 장치는 I3C v1.1.1과 상호 운용이 가능해야 하며 그 반대도 마찬가지입니다.
I3C Basic v1.1.1은 I3C v1.1.1의 하위 집합이며 다음 기능과 능력을 추가합니다:
- HDR-DDR 모드
- HDR-BT (대용량 전송) 모드
- 그룹 주소 지정
- 속도 향상을 위한 멀티 레인 (HDR-BT 모드에서만 사용)
- RSTACT CCC를 통한 타겟 리셋 (이전에는 I3C Basic v1.0의 별도 부록에 정의됨)
- 타이밍 제어 (비동기 모드 0만 해당)
- HDR 모드에서의 CCCs
- GETCAPS CCC
- SETBUSCON CCC
- SETROUTE CCC
- 가상 타겟 지원
I3C Basic v1.1.1에는 보조 컨트롤러, 핫 조인, 동적 주소 할당, 타겟 오류 유형 및 FSM 다이어그램을 포함한 많은 명확화와 향상된 정의도 포함되어 있습니다.
2.5 명칭과 용어
Q5.1 I3C "컨트롤러" 장치란 무엇이며, 왜 I3C "마스터" 장치의 이름이 변경되었나요?
MIPI Alliance 전반의 용어 교체 노력의 일환으로, I3C v1.1.1 및 I3C Basic v1.1.1부터 Master와 Slave라는 용어가 폐기되었습니다. I3C v1.0/v1.1의 Master 장치는 이제 Controller로 불립니다. 이러한 I3C 장치나 I3C 버스에서의 역할에 대한 기술적 정의는 변경되지 않았습니다. "Controller"라는 용어가 I3C 버스에서의 장치 역할을 더 잘 설명하고, 더 정확한 표현이기 때문입니다.
이 변경으로 인해, 다양한 CCC와 기타 관련 용어의 명칭도 v1.1.1부터 변경되었습니다.
Q5.2 I3C "타겟" 장치란 무엇이며, 왜 I3C "슬레이브" 장치의 이름이 변경되었나요?
MIPI Alliance 전반의 용어 교체 노력의 일환으로, I3C v1.1.1 및 I3C Basic v1.1.1부터 Master와 Slave라는 용어가 폐기되었습니다. I3C v1.0/v1.1의 Slave 장치는 이제 Target으로 불립니다. 이러한 I3C 장치나 I3C 버스에서의 역할에 대한 기술적 정의는 변경되지 않았습니다.
"Target"이라는 용어는 I3C 버스에서의 장치 역할을 더 잘 설명하며, 특히 이전 용어는 I3C 전송을 제대로 설명하지 못했습니다. I3C 전송은 일반적으로 I3C Controller가 개별 I3C 장치 또는 모든 I3C 장치에 보내는 방식입니다. 새로운 용어인 "Target"은 개별 전송이 특정 I3C 장치에 어떻게 주소 지정되는지를 더 잘 설명합니다 (즉, 특정 장치가 "대상"이 됨).
이 변경으로 인해, 다양한 CCC와 기타 관련 용어의 명칭도 v1.1.1부터 변경되었습니다.
2.6 구현: 생태계
Q6.1 MIPI I3C 사양은 누가 정의하고 있나요?
I3C 사양은 2013년에 설립된 MIPI Alliance I3C 워킹 그룹(원래는 센서 워킹 그룹이라고 불림)에 의해 정의됩니다. I3C Basic은 2018년에 설립된 MIPI Alliance I3C Basic Ad-Hoc 워킹 그룹에 의해 정의됩니다.
Q6.2 현재 I3C를 사용하는 곳이 있나요?
네, 여러 회사에서 I3C 컨트롤러와 I3C 타겟 지원이 통합된 제품을 출시했습니다. 다른 회사들은 다양한 집적 회로 설계에 I3C 버스 지원을 추가하기 위한 IP 블록 및 관련 검증 소프트웨어를 제공합니다. 일부 회사는 테스트 및 개발을 위한 I3C 버스 트래픽 분석을 돕기 위해 프로토콜 분석기와 검증 하드웨어도 제공합니다.
이 문서에서는 이러한 제품의 포괄적인 목록을 제공할 수 없으므로, I3C를 지원하거나 사용할 수 있는 제품에 대해 더 알고 싶은 사람은 MIPI Alliance에 문의해야 합니다.
Q6.3 I3C 프로토타이핑을 위한 FPGA 등 개발 하드웨어의 가용성은 어떤가요?
여러 벤더에서 FPGA 기반 디자인 키트를 제공하며, 소규모 생산에 적합할 수 있는 저비용 FPGA도 포함되어 있습니다.
Q6.4 시장에서 I3C IP 코어의 가용성은 어떤가요?
일부 벤더들은 ASIC 장치 및 FPGA에 통합할 수 있는 타겟 및/또는 컨트롤러 IP 코어를 제공하기 시작했습니다. 일부는 프로토타이핑 및 통합을 위한 무료 타겟 IP도 제공합니다.
2.7 시스템 설계자로서의 구현
Q7.1 I3C 버스에서 허용되는 최대 정전 용량 부하는 얼마인가요?
I3C 사양에는 SCL 및 SDA에서 장치당 최대 정전 용량이 나와 있지만, 대부분 또는 모든 장치가 이보다 훨씬 낮은 수준에 있는 것이 목표입니다. 다른 버스와 마찬가지로, 정전 용량만으로 I3C 버스에서의 최대 주파수를 결정하기에는 충분하지 않습니다. 최대 전파 거리, 스텁의 효과, 타겟의 내부 클럭-데이터 지연(tsco) 및 정전 용량 부하를 고려하는 것이 중요합니다.
Q7.2 I3C 통신을 위한 최대 케이블 길이는 얼마인가요?
최대 케이블 길이는 속도의 함수가 됩니다. 모든 반사와 버스 반전이 한 사이클 내에 완료되어야 하기 때문입니다. 더 낮은 속도에서 더 긴 거리를 달성할 수 있습니다. 예를 들어, 컨트롤러와 타겟 간의 거리가 1미터일 때 읽기 작업의 최대 유효 속도는 약 6MHz입니다. 이는 타겟으로의 클럭 전파 시간과 컨트롤러로 돌아오는 SDA 반환 시간을 고려한 것입니다.
Q7.3 I2C 리피터를 I3C에 사용할 수 있나요?
직접적으로는 사용할 수 없습니다. 그 이유는 다음과 같습니다:
- I3C 버스는 일부 전송을 위한 오픈 드레인 외에도 푸시-풀 모드로 작동합니다.
- I3C는 훨씬 높은 속도를 가집니다. 이러한 장치는 대부분 속도가 제한되며, SCL 및 SDA의 상태 변경에 따른 직렬 저항 및 오픈 드레인 가정으로 인해 지연 효과가 발생하기 때문입니다.
I3C 사양의 향후 버전에서는 긴 케이블에 대한 접근 방법이 검토되고 있습니다.
Q7.4 I2C 장치가 I3C 명령에 응답할까요?
아니요. I3C의 CCC는 I3C 브로드캐스트 주소 7’h7E를 사용하여 수행됩니다. I2C 사양에서 예약된 주소인 7’h7E는 I3C 브로드캐스트 주소와 일치하지 않으므로, 레거시 I2C 타겟은 I3C 명령에 응답하지 않습니다. 마찬가지로 I3C 장치에 할당된 동적 주소는 I2C 정적 주소와 겹치지 않으므로, 어떤 I2C 장치도 I3C 주소에 응답하지 않습니다.
Q7.5 I3C 버스에서 통신 충돌은 어떻게 해결되나요?
I3C 타겟은 특정 상황에서만 버스를 구동할 수 있습니다. 읽기 중 또는 자신의 주소를 ACK하는 동안 외에도, I3C 타겟은 START 이후에 (반복 START는 아님) 버스를 구동할 수 있습니다. START 이후에는 I3C 버스가 오픈 드레인 풀업 저항 모드로 돌아가므로, 낮은 값을 구동하는 타겟(즉, 논리 0)이 우선합니다.
Q7.6 I3C 장치가 통신 버스를 중단시킬 수 있나요?
I2C와 달리 I3C 버스를 중단시키는 자연스러운 방법은 없습니다. I2C에서는 타겟이 클럭을 낮게 유지하여(클럭 스트레칭) 작동을 멈추게 하는 경우 심각한 문제가 발생할 수 있으며, 이 경우 버스를 중단시킨 타겟에 주의를 기울일 방법이 없습니다. 반면, I3C에서는 컨트롤러만이 클럭을 구동하므로 타겟은 클럭에 상대적으로 SDA에서 모든 작업을 수행하여 일반적인 중단 원인을 제거합니다.
또한, I3C는 타겟이 SCL 클럭 외부에서 백엔드 I3C 주변 장치를 작동할 수 있도록 설계되었기 때문에(오버샘플링 대신), 타겟 내의 문제는 버스 중단으로 이어지지 않습니다.
시스템 구현자가 타겟이 잠길 가능성에 대해 매우 우려하는 경우 별도의 하드 리셋 라인을 사용할 수 있습니다. 대안으로, I3C v1.1.1 및 I3C Basic v1.1.1 사양에서는 응답하지 않는 I3C 타겟을 재설정하는 새로운 기능인 타겟 리셋을 추가했습니다. I3C 컨트롤러가 타겟 리셋 패턴(일반 통신 중 발생하지 않는 정의된 고유 버스 패턴)을 전송하면, 버스의 장치는 이를 하드와이어드 리셋 라인처럼 인식하게 됩니다.
이 질문은 I3C v1.1.1 및 I3C Basic v1.1.1을 위해 업데이트되었습니다.
2.8 소프트웨어 개발자로서의 구현
Q8.1 소프트웨어 개발을 지원하는 동반 MIPI I3C 사양이 있나요?
네. 다음의 MIPI 사양이 소프트웨어 개발에 도움이 될 것으로 예상됩니다:
- MIPI Specification for I3C Host Controller Interface (I3C HCI), v1.0 [MIPI02] 및 MIPI Specification for I3C Host Controller Interface (I3C HCI), v1.1 [MIPI12]
여러 벤더의 I3C 하드웨어를 지원하기 위해 단일 OS 드라이버(‘인박스 드라이버’라고도 함)가 사용할 수 있는 표준 정의를 제공합니다. 또한 벤더별 확장 또는 개선 사항도 허용합니다. HCI 사양의 주요 대상은 애플리케이션 프로세서 호스트 컨트롤러입니다. 특히, 호스트 컨트롤러(즉, I3C 기본 컨트롤러) 하드웨어 개발자 및 I3C 호스트 컨트롤러 소프트웨어 개발자를 대상으로 합니다. - MIPI Specification for Discovery and Configuration (DisCo), v1.0 [MIPI03]
MIPI 사양을 기반으로 한 인터페이스에 대해 표준화된 장치 검색 및 구성 메커니즘을 설명합니다. 이는 구성 요소 설계 및 시스템 통합을 단순화할 수 있으며, 애플리케이션 프로세서를 대상으로 합니다. - MIPI DisCo Specification for I3C, v1.0 [MIPI04]
운영 체제 소프트웨어가 ACPI(Advanced Configuration and Power Interface) 구조를 사용하여 I3C 호스트 컨트롤러와 연결된 I3C 장치를 ACPI 호환 시스템에서 검색하고 구성할 수 있도록 허용합니다. 애플리케이션 프로세서에도 적용됩니다.
이러한 MIPI 사양 외에도 지원 문서가 제공됩니다. **I3C Application Note: General Topics, App Note v1.1 [MIPI05]**는 ASIC 하드웨어 개발자, 시스템 설계자 및 더 깊이 임베디드된 I3C 장치에서 작업하는 사람들을 돕기 위해 개발되었습니다. I3C WG는 I3C v1.1.1 및 I3C Basic v1.1.1에 포함된 새로운 기능과 능력을 다루는 추가적인 응용 노트를 개발할 계획입니다.
Q8.2 I3C를 위한 소프트웨어 라이브러리가 있나요?
네. 핵심 I3C 인프라가 I3C 서브시스템의 일부로 Linux 커널에 추가되었습니다. I3C 서브시스템에는 여러 I3C 컨트롤러 장치와 IP 코어 구현을 위한 드라이버도 포함되어 있으며, 여기에는 MIPI I3C HCI 준수 호스트 컨트롤러도 포함됩니다 (참조: [MIPI12]).
현재 I3C 서브시스템을 위한 Linux 커널 패치 목록은 [LINX01]을 통해 접근할 수 있습니다.
'Other Protocols' 카테고리의 다른 글
Common Command Codes (CCC) (0) | 2024.11.26 |
---|---|
(3) I3C - Bus Initialization Sequence with Dynamic Address Assignment (1) | 2024.11.21 |
Open drain 방식과 Push pull 방식 (0) | 2024.11.12 |
(2) MIPI I3C Basic Specification - I3C Protocol (1) | 2024.11.12 |
(1) MIPI I3C Basic Specification - Overview (1) | 2024.11.11 |