I2C總線是大家比較熟悉的同步串行總線技術,是飛利浦公司于1981年發明的。它是一種2線(SDA、SCL)同步串行接口,廣泛用于連接外設與處理器和MCU,實現設備之間的短距離通信。后來許多公司都推出了使用I2C總線規范的產品,其中包括Texas Instruments、NEC、Nordic Semiconductor、STMicroelectronics、Siemens、Intersil等科技公司。
I2C 接口主要特性:
(1)支持雙向數據傳輸。
(2)兩線接口通信(SDA(串行數據)和 SCL(串行時鐘)。
(3)從設備使用7位、10位進行尋址。
(4)傳輸速率低,HS模式下僅3.4 Mbps。
(5)無固定傳輸長度。
I2C具有能夠在控制器和外圍設備之間進行快速、可靠的數據傳輸,同時可支持互連多個設備,實現多種數據的傳輸的優點。但隨著應用場景需求的變化,其局限性也被凸顯出來,如有限的速率、傳輸距離較短、功耗偏大等。為擺脫新需求下I2C的性能缺失,I3C應運而生。
什么是I3C接口?
I3C:Improved Inter Integrated Circuit。MIPI聯盟于2016年正式發布了第一個I3C規范v1.0。I3C是改進型內部集成電路的縮寫形式,是類似于I2C的2線數字接口。它對之前發布的I2C和SPI接口進行了改進和優化,解決了I2C通信速度慢的問題,優化了SPI通過四線連接的缺點。I3C同時解決I2C功耗較高的問題,I3C成為低功耗、低成本和快速數字接口,它支持主機MCU和傳感器等外圍設備之間的多點連接以及多主控設備。
相關閱讀:《超全面!SPI通信協議詳解,一篇就夠》
I3C 接口主要特性:
(1)2線串行接口(使用SDA和SCL),時鐘頻率高達12.5 MHz。
(2)向下兼容I2C。
(3)I3C采用動態尋址。
(4)支持靜態I2C尋址。
(5)支持I2C單數據速率消息傳送 (SDR)。
(6)支持可選的高數據速率消息傳送模式 (HDR)。
(7)支持多點、帶內中斷和熱插拔。
I2C 與 I3C 的區別
以下是I2C 和 I3C 在主要功能和參數上的差異:
與I2C相比,I3C存在許多優勢和差異,MIPI聯盟雖盡量使I3C向后兼容I2C,但也并非完全向后兼容。如以下方面還存在顯著區別:
1. 時鐘延展
當設備間進行通信,出現設備要讀/寫數據但傳輸的數據尚未準備好的情況時,一些I2C設備會通過時鐘延展來暫停時鐘,從而允許更多的時間來滿足某些時序要求。而I3C通信所支持的設備完全獨立于SCL時鐘,是禁止使用時鐘停滯的。因此,支持時鐘延展的I2C設備為能與I3C兼容,必須在無延展的時鐘頻率上工作。
2. 速率模式
I2C具有時序和最大通信速率各不相同的幾種速率模式。但I3C并不支持I2C提供的所有速率模式,僅支持其中的兩種速率模式,即快速模式和快速模式+。當I3C控制器與I2C目標設備通信時,控制器會降低總線速率。
3. Glitch濾波器
Glitch濾波器用于濾除通信總線上的各種無用噪聲。許多I2C設備在串行線上內置50ns的Glitch濾波器,可以防止對數據和時鐘的干擾。由于I3C支持更高的通信速率,因此沒有在I3C中內置此類濾波器。
兼容I3C的設備需要哪些條件?
(1)使用適合此類I3C目標的ENTDAA、SETDASA和SETAASA CCC的任意組合,為I3C(2)總線上的任何I3C目標分配唯一的動態地址。
(3)特定的CCC和已知的靜態地址(如果有的話)必須是預先配置的,即系統設計者已知的。
(4)管理其上拉結構,包括SDA和SCL的開漏類上拉和High-Keeper上拉。
(5)在漏極開路模式下管理START請求和地址標頭仲裁。
(6)使用錯誤恢復升級模型恢復 I3C 目標設備。
(7)支持控制器強制執行的所有CCC命令,包括ENEC、DISEC、ENTDAA、SETDASA、RSTDAA、GETCAPS、RSTACT、GETPID、GETBCR、GETDCR 和 GETSTATUS。
上述要求適用于作為其I3C總線主控的I3C設備。在總線初始化期間作為輔助控制器的 I3C 設備(或在總線初始化后隨后加入的設備)不需要滿足所有這些要求。
I3C最初的設計初衷是作為用于所有數字接口傳感器的單一接口用于移動應用。但它現在適用于MCU、傳感器、控制器、電源調節器、FPGA等所有中速嵌入式和深度嵌入式應用。由于I3C的低功耗特性,允許多點連接,適用于所有嵌入式系統。I3C和I2C兩種協議混用的情況將變得更加常見。
-
接口
+關注
關注
33文章
8575瀏覽量
151015 -
通信
+關注
關注
18文章
6024瀏覽量
135950 -
I2C
+關注
關注
28文章
1484瀏覽量
123620 -
i3c
+關注
關注
0文章
30瀏覽量
4819
發布評論請先 登錄
相關推薦
評論