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

STM32H503 I3C從機(jī)復(fù)位成主機(jī),無(wú)法發(fā)出波形是為什么?
I2C總線通信原理 如何設(shè)計(jì)I2C總線電路
【RA-Eco-RA4E2-64PIN開(kāi)發(fā)板試用】I2C與I3C通信協(xié)議的應(yīng)用
RA-Eco-RA4E2-64PIN開(kāi)發(fā)板試用+I2c與I3C通信協(xié)議的應(yīng)用。
優(yōu)秀實(shí)踐:I3C共享總線上的I2C器件

適用于I3C應(yīng)用的重要多路復(fù)用器特性

I3C電壓轉(zhuǎn)換器和多路復(fù)用器快速參考

具有 I2C 和 I3C接口的 TMP139 0.5°C 精度 JEDEC DDR5 B級(jí)數(shù)字溫度傳感器數(shù)據(jù)表

如何利用I3C提升嵌入式系統(tǒng)性能

使用stm32cubide的cubeMAX,沒(méi)有i3c的選項(xiàng),為什么?
STM32H563的I3C無(wú)法正常通信是為什么?
TCA39306-Q1雙路雙向I3C、I2C總線和SMBus電壓電平轉(zhuǎn)換器數(shù)據(jù)表

評(píng)論