聊聊通訊協(xié)議I2C子系統(tǒng)之I3C
I3C Introduction
I3C :Improved Inter Integrated Circuit ,是 MIPI(Mobile Industry Processor Interface)移動產(chǎn)業(yè)處理器接口聯(lián)盟推出的改進型 i2c 總線接口。
傳感器在手機等移動產(chǎn)品中的快速發(fā)展,帶來了新的設(shè)計挑戰(zhàn)。因為沒有統(tǒng)一的方法來連接物理傳感器,設(shè)計師面臨的數(shù)字接口碎片包括 I2C、SPI 和 UART 等。
除了主接口,還可能需要其他信號,例如專用中斷、芯片選擇信號(SPI),啟用和睡眠信號。這會增加所需的主機 GPIO 數(shù)量和更多 PCB 層的系統(tǒng)成本。
隨著時間的推移和傳感器數(shù)量的增加,這種情況變得越來越難以控制。
MIPI I3C 接口的開發(fā)旨在簡化移動無線傳感器系統(tǒng)的設(shè)計架構(gòu),為傳感器提供快速、低成本、低功耗的二線數(shù)字接口。
框架如下:
表 1 列出了 I3C 尋址傳感器的示例類別。
翻譯一下:
是否需要額外中斷線(通知主控來讀數(shù)據(jù))。
I2C 和 I3C 主要區(qū)別如下:
- I2C 雖然也是兩條線,但是很多時候傳感器需要一條額外的中斷線,來告訴主控數(shù)據(jù)已經(jīng)準(zhǔn)備好。I3C 允許從設(shè)備直接在總線上產(chǎn)生中斷,不再需要一條額外的中斷線。
- I2C 傳輸速度最高 3.4MHz,I3C 可以 12.5MHz +。
- I3C 向下兼容 I2C,但不兼容 10bit 的 I2C 擴展地址。
- I2C 的從設(shè)備是靜態(tài)地址,I3C 是動態(tài)地址,由主設(shè)備給從設(shè)備分配動態(tài)地址。
- 由于支持帶內(nèi)中斷,所以涉及到從設(shè)備的優(yōu)先級,一般動態(tài)設(shè)備號較低的,優(yōu)先級較高,中斷就優(yōu)先響應(yīng)。(也是靠線與的特性)
- I3C 支持使用推挽輸出的 GPIO,增強驅(qū)動能力,只不過需要特殊設(shè)置。
如果所有 sensor 器件都采用 I3C 通信接口,連接將變的很簡單,如下圖,所有的 SPI 、UART 、I2C 都變?yōu)?I3C 兩根線:
I3C 關(guān)鍵特性
Mbps 是數(shù)據(jù)流量單位,而 MHz 是頻率單位,注意區(qū)分哦。
Mbps 是 Million bits per second 的縮寫,1 Mbps代表每秒傳輸 1048576 位(1Mb=1024Kb=1024*1024bit),即每秒傳輸1,048,576 / 8 = 131,072 字節(jié) = 128 KB = 0.125MB。
I2C 和 I3C 關(guān)于功耗和傳輸速率的對比:
- I3C 使用推挽功能的雙線串行接口,速度可達 12.5 MHz。
- I3C 同一總線上共存的傳統(tǒng) I2C 設(shè)備(有一些限制)。
- I3C 動態(tài)尋址,同時支持傳統(tǒng) I2C 設(shè)備的靜態(tài)尋址。
- I3C 總線支持傳統(tǒng) I2C 通訊。
- 類似 I2C 的單數(shù)據(jù)速率消息傳輸(SDR)。
- I3C BASIC 不支持:可選的高數(shù)據(jù)速率消息模式(HDR)。
- 多點功能。
- 多主功能。
- 帶內(nèi)中斷支持。
- 熱連接支持。
- I3C BASIC 中不支持:同步計時支持和異步計時沖壓。
- secondary master support。
- 不支持 I2C master。
- 不支持從機 clock stretching。
- 每個 I2C 從機設(shè)備需要有 50ns spile filter on SCL。
- 現(xiàn)在還沒有太多的 I3C 設(shè)備出現(xiàn)在市場中,未來十年慢慢會普及。
I3C
I3C 支持許多傳統(tǒng) I2C 從設(shè)備,I3C 有兩個模式:SDR Mode、HDR Modes
Single Data Rate (SDR) Mode。
- 僅在時鐘的一個邊緣傳輸數(shù)據(jù)。
- Private/Typical messages: 使用動態(tài)地址將消息發(fā)送到從機。
- 廣播消息:發(fā)送給總線上的所有從機(例如:ENTDAA)。
- 直接消息:發(fā)往特定從屬設(shè)備的消息(例如:SETDASA)。
High Data Rate (HDR) Modes
- 雙數(shù)據(jù)速率(HDR-DDR)模式:使用與SDR模式相同的信令(即與12C協(xié)議沒有顯著區(qū)別),但運行速度約為 SDR 速度的 2 倍。
- 通過在兩個時鐘邊緣傳輸數(shù)據(jù)實現(xiàn)更高的速度。
- Ternary Symbol Legacy (HDR-TSL) Mode: 更高的數(shù)據(jù)速率加上三元編碼,用于混合I2C和I3C設(shè)備的總線。與I2C協(xié)議顯著不同。
- Ternary Symbol Pure-bus (HDR-TSP) Mode: 更高的數(shù)據(jù)速率加上三值編碼,適用于只有I3C設(shè)備的總線。與12C協(xié)議顯著不同。
- 三元符號有三種狀態(tài),SCL線改變狀態(tài),SDA線改變狀態(tài),或兩線改變狀態(tài)。
SDR Mode 作用
- SDR 模式是 I3C 總線的默認模式。
- 用于從當(dāng)前主設(shè)備到從設(shè)備的專用消息傳遞。
- 用于進入其他模式、子模式和狀態(tài)。
- 用于內(nèi)置功能,如通用命令(CCC)、帶內(nèi)中斷,以及通過分配動態(tài)地址從I2C 過渡到 I3C。
- 在程序和條件方面與 I2C 協(xié)議【NXP01】非常相似,因此 I3C 設(shè)備和許多傳統(tǒng) I2C 從設(shè)備(但不是 I2C 主設(shè)備)可以在同一 I3C 總線上共存。
- 對于 I3C 與 I2C 共享的程序和條件,SDR 模式嚴格遵循 I2C 規(guī)范中的定義。
- 所有 I3C 從機將正確忽略從 I3C 主機到 I2C 從機的 I2C 通信,因為 I3C 協(xié)議旨在允許 I2C 通信。
- 大多數(shù)傳統(tǒng) I2C 從設(shè)備無法看到從 I3C 主設(shè)備到 I3C 從設(shè)備的 I3C 通信量,因為 I2C 尖峰濾波器對 I3C 的更高時鐘速度不透明。