在過去的幾十年里,I2C的廣泛應(yīng)用可以說是有目共睹,但是其本身也有著兩個(gè)避不開的缺點(diǎn),一是速率受限,二是功耗偏大。此前也有不少SPI代替I2C的做法,但是SPI本身應(yīng)用比較寬泛,最終也沒能替代I2C。隨著移動設(shè)備上傳感器數(shù)量的增加,總線上數(shù)據(jù)量開始膨脹,I2C的瓶頸越來越明顯。為了提升I2C的性能,早在2013年,MIPI聯(lián)盟傳感器接口工作組就啟動了基于I2C的需求升級。![]() 眾所周知I2C是兩根線,但是它的中斷腳、使能腳等等都要通過GPIO連到SoC上,隨著傳感器數(shù)量的增加,使用I2C只能不斷增加GPIO。I3C將這些中斷做成了內(nèi)置,可以幫SoC省去很多GPIO。I3C也是向后兼容I2C,I2C可以平穩(wěn)地過渡到I3C。這一升級有效助力了智能手機(jī)、可穿戴設(shè)備、物聯(lián)網(wǎng)設(shè)備、增強(qiáng)現(xiàn)實(shí)/虛擬現(xiàn)實(shí)和汽車系統(tǒng)實(shí)現(xiàn)更多設(shè)計(jì)創(chuàng)新。 從上圖I2C與I3C傳感器接口框圖對比可以很明顯地看到,雖然I2C說是只有時(shí)鐘線數(shù)據(jù)線,但是還需要很多額外的從線連到SoC上,GPIO數(shù)量的增加以添加SoC包引腳和PCB層計(jì)數(shù)的形式增加了系統(tǒng)成本,相比之下I3C的布線情況就簡潔很多,只需要兩根信號線即可,可以顯著縮小SoC尺寸。 至于功耗,眾所周知I2C的兩根線SCL和SDA都是需要接上拉電阻的,上拉電阻的存在導(dǎo)致了I2C功耗會比較大,I3C的SCL全程采用推挽,SDA大部分時(shí)間也在推挽模式下工作,因此功耗會降低很大一部分。速率上I2C典型的速率有3 Mbps max at 3.4 MHz(Hs)、0.8 Mbps max at 1 MHz(Fm+)、0.35 Mbps max at 400 KHz(Fm)。I3C典型的數(shù)據(jù)模式SDR是12MHz下的10.6Mbps,最高速率是HDR模式下的三元采樣,達(dá)到12.5MHz下的30Mbps。 另外,I2C是沒有命令字的,I3C則有著一整套通用命令字的集合。可以通過這些命令字實(shí)現(xiàn)動態(tài)地址分配、檢查當(dāng)前總線狀態(tài)、時(shí)間控制、IO擴(kuò)展等等功能。整個(gè)功能比I2C有著全面的提升。 |