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