摘要
對(duì)于諸多應(yīng)用,如移動(dòng)電話、汽車、工業(yè)控制、以電池為動(dòng)力的移動(dòng)設(shè)備、互聯(lián)網(wǎng)等,在傳感器連接方面采用了I2C串行通信協(xié)議,原因在于其簡(jiǎn)單的兩線接口體系結(jié)構(gòu)。雖然也存在其他傳感器接口,如串行外圍接口(SPI)以及通用異步收發(fā)器(UART),但I(xiàn)2C的使用更為常見,原因在于其實(shí)施簡(jiǎn)單,引線數(shù)低。
然而,隨著采用的傳感器變多,在很多情形下,一臺(tái)裝置中有可能含有12個(gè)或更多的傳感器,系統(tǒng)集成變得更加困難,這是因?yàn)椴婚g斷工作組件的低功耗和高性能要求。路由選擇變得日漸困難,必須要支持一些可穿戴應(yīng)用要求的最大數(shù)據(jù)率。標(biāo)準(zhǔn)I2C接口采用2線結(jié)構(gòu),可創(chuàng)建多種應(yīng)用,這類應(yīng)用需要額外的邊帶信號(hào),來(lái)滿足高優(yōu)先級(jí)中斷需求,這類信號(hào)為非標(biāo)準(zhǔn)性的且與具體實(shí)施相關(guān)。在圖1中,給出了一個(gè)I2C體系結(jié)構(gòu)示例。
?
圖1:基于I2C的傳感器系統(tǒng)示例(MIPI 聯(lián)盟)
MIPI?聯(lián)盟正致力于開發(fā)名為I3C(或SenseWire)的新標(biāo)準(zhǔn),它吸納了I2C和SPI的關(guān)鍵特性,并將其統(tǒng)一起來(lái)。使用全面的低引線數(shù)、可擴(kuò)展性、以及體系結(jié)構(gòu)的支持性,MIPI I3C增強(qiáng)了每一方式的容量和性能。它支持移動(dòng)設(shè)備、移動(dòng)影響以及嵌入系統(tǒng)應(yīng)用預(yù)計(jì)近期將需要的傳感器接口結(jié)構(gòu)。在本文中,介紹了MIPI I3C規(guī)范,以及從I2C無(wú)縫連接I3C的關(guān)鍵優(yōu)點(diǎn)。
介紹
MIPI I3C規(guī)范的一項(xiàng)關(guān)鍵目標(biāo)是,以I2C生態(tài)系統(tǒng)和概念為基礎(chǔ)建立,同時(shí)保留2線串行接口結(jié)構(gòu)。系統(tǒng)設(shè)計(jì)人能夠在單個(gè)設(shè)備中連接大量傳感器,同時(shí)將功耗最小化,并降低部件和實(shí)施成本。與此同時(shí),通過(guò)利用單條I3C總線,制造商能夠?qū)?lái)自不同供應(yīng)商的多種傳感器結(jié)合在一起,提供新的功能,同時(shí)支持更長(zhǎng)的電池壽命和更為經(jīng)濟(jì)的系統(tǒng)。在圖2中,給出了一個(gè)基于I3C的傳感器系統(tǒng)示例。
?
圖2:使用單條I3C總線的基于I3C的傳感器系統(tǒng)示例(MIPI聯(lián)盟)
MIPI I3C規(guī)范具有與I2C的反向兼容型,允許傳統(tǒng)的I2C從設(shè)備在相同接口上與支持MIPI I3C規(guī)范的新設(shè)備共存。MIPI I3C規(guī)范在2線接口上允許帶內(nèi)中斷,這樣就能大幅度降低設(shè)備的引線數(shù)和信號(hào)路徑,并能在設(shè)備中集成額外的傳感器。與I2C相比,MIPI I3C提供了更高的數(shù)據(jù)吞吐率,同時(shí)還能保持較低的邏輯復(fù)雜度,采用標(biāo)準(zhǔn)的I/O,提供更具適應(yīng)性的總線拓?fù)洌沟孟騃3C的轉(zhuǎn)移成為一項(xiàng)頗有吸引力的選擇。
I3C總線
I3C包含2線總線:串行數(shù)據(jù)(SDA)對(duì)應(yīng)與雙向串行數(shù)據(jù);串行時(shí)鐘(SCL)對(duì)應(yīng)于特定的串行時(shí)鐘,可用于時(shí)鐘引線,或是特定高數(shù)據(jù)速率(HDR)下的數(shù)據(jù)引線。I3C總線支持不同類型消息的混合,如I2C類單數(shù)據(jù)速率(SDR)消息,它采用12.5 MHz速率的SCL時(shí)鐘,以及能夠?qū)崿F(xiàn)更高數(shù)據(jù)速率的HDR消息。另外,還支持向主設(shè)備發(fā)出的帶內(nèi)從觸發(fā)中斷請(qǐng)求,其中可以包含申請(qǐng)主設(shè)備功能的請(qǐng)求。在規(guī)范中,還給出了關(guān)于I3C從設(shè)備之間對(duì)等通信的規(guī)定。
I3C數(shù)據(jù)率
I3C總線支持的數(shù)據(jù)率取決于總線模式或總線上的設(shè)備類型,以及其性能。僅連接有I3C設(shè)備的總線稱為純I3C總線。純I3C總線支持從8.8 Mbps到26.7 Mbps的速率。典型情況下,純I3C總線中的SCL時(shí)鐘頻率為12.5 MHz。對(duì)于同時(shí)連接了I2C和I3C設(shè)備的總線,I3C主設(shè)備能夠在快速模式下(FM)和快速模式+(FM+)速率下與I2C從設(shè)備進(jìn)行通信,速率分別為400 Kbps或1 Mbps。在這類混合模式總線中,I3C主設(shè)備仍能在相同總線上以高至20.5 Mbps的較高速率與I3C從設(shè)備進(jìn)行通信。換句話講,當(dāng)將I2C設(shè)備與I3C總線相連時(shí),總線的最高工作速率會(huì)降至20.5 Mbps,而不是26.7 Mbps。
正如所見到的那樣,純I3C總線支持具有較高性能的HDR和雙數(shù)據(jù)速率模式,與已有選項(xiàng)相比,能顯著改善性能和能耗效率。I3C還支持多個(gè)主設(shè)備,動(dòng)態(tài)尋址,命令碼兼容,以及高級(jí)功耗管理的統(tǒng)一方法,如睡眠模式等。在表1中,給出了I3C系統(tǒng)支持的數(shù)據(jù)速率。
表1:I3C系統(tǒng)支持的數(shù)據(jù)速率
**如果I2C從設(shè)備和I3C設(shè)備共存,則適用
數(shù)據(jù)傳輸發(fā)生在以“START”字段開始的幀內(nèi),隨后跟著的是目標(biāo)從設(shè)備地址、數(shù)據(jù),最后是“STOP”字段。要想進(jìn)入HDR模式,需向所有從設(shè)備發(fā)送專門的廣播地址數(shù)據(jù)頭,隨后跟著的是高數(shù)據(jù)速率模式讀/寫命令和數(shù)據(jù)。高數(shù)據(jù)速率模式采用退出模式協(xié)議來(lái)結(jié)束。使用“START”后的數(shù)據(jù)頭,可實(shí)現(xiàn)總線仲裁特性。命令碼稱為公用命令碼(CCC),用于管理設(shè)備,并進(jìn)入高數(shù)據(jù)速率模式。在任何時(shí)候,I3C僅允許一個(gè)主設(shè)備控制I3C總線。在規(guī)范中,給出了從一個(gè)設(shè)備切換至另一設(shè)備的主設(shè)備功能切換機(jī)制。
I3C總線配置和設(shè)備作用
I3C總線包含5種不同的設(shè)備特性:
一級(jí)主設(shè)備:用于控制I3C總線和功能;包括總線所有權(quán)控制以及切換至二級(jí)主設(shè)備。
二級(jí)主設(shè)備:獲取對(duì)I3C總線的臨時(shí)控制;需要來(lái)自一級(jí)主設(shè)備的許可;完成控制任務(wù)后,將控制交回到一級(jí)主設(shè)備。
從設(shè)備:這類設(shè)備的行為相當(dāng)于I3C主設(shè)備的從設(shè)備,與來(lái)自主設(shè)備的公用命令或單獨(dú)命令對(duì)應(yīng)。
對(duì)等從設(shè)備:能夠直接寫入到另一從設(shè)備或從另一從設(shè)備讀取數(shù)據(jù)的設(shè)備,無(wú)需與主設(shè)備的交互。
I2C從設(shè)備:I3C總線中的傳統(tǒng)I2C設(shè)備;I3C主設(shè)備能夠有條件地與這類傳統(tǒng)設(shè)備進(jìn)行通訊;對(duì)速度和容量存在限制。
?
?
圖3:I3C系統(tǒng)中的總線設(shè)備
在MIPI I3C規(guī)范中,定義了適用于每一類型設(shè)備的不同特性,如管理SDA仲裁,動(dòng)態(tài)地址分配,熱接入特性,HDR主設(shè)備和從設(shè)備性能。
管理SDA仲裁:當(dāng)多個(gè)設(shè)備同時(shí)進(jìn)行傳輸時(shí),就需要用到仲裁,來(lái)解決總線的所有權(quán)問(wèn)題。在仲裁過(guò)程中,I3C采用了SDA線,以及漏極開路方法。典型情況下,主設(shè)備負(fù)責(zé)SDA仲裁管理。
動(dòng)態(tài)地址分配:對(duì)于與I3C總線相連的每一設(shè)備,均需要用于后續(xù)事務(wù)的獨(dú)特地址。該地址由I3C一級(jí)主設(shè)備分配,在總線的初始化過(guò)程中分配,或是當(dāng)新設(shè)備連接至現(xiàn)有已配置I3C總線時(shí)分配。該過(guò)程稱為動(dòng)態(tài)地址分配。
熱接入特性:對(duì)于將在I3C首次加電時(shí)激活的所有從設(shè)備,并不需要該特性。這種特性出現(xiàn)在兩種情形:1)在隨后將部分從設(shè)備實(shí)際連接到總線中,或是這類設(shè)備已存在,但尚未激活;2)在總線處于活動(dòng)狀態(tài)后的一段時(shí)間后為這類設(shè)備加電。在總線中激活這類從設(shè)備的過(guò)程稱為熱接入。使用熱接入特性,當(dāng)從設(shè)備發(fā)出請(qǐng)求時(shí),主設(shè)備能夠?qū)?dòng)態(tài)地址賦予從設(shè)備。
HDR主設(shè)備和從設(shè)備性能:主設(shè)備和從設(shè)備均支持高數(shù)據(jù)速率,如MIPI I3C規(guī)范中定義的16.84 Mbps和更高的速率,稱為HDR主設(shè)備/從設(shè)備性能。
I3C使用案例示例
圖像傳感器
目前,很多系統(tǒng)采納了流行的MIPI攝像機(jī)串行接口(CSI-2)協(xié)議,用于連接多種圖像傳感器,基于I2C協(xié)議的旁帶控制通道用于攝像機(jī)控制接口(CCI)。按照預(yù)期,對(duì)于與SOC的連接,將采用I3C。采用這一新的配置,能夠減少引線數(shù),并簡(jiǎn)化系統(tǒng)實(shí)施,如圖4所示。
?
圖4:將I3C和MIPI CSI-2協(xié)議用于攝像機(jī)控制接口
圖像傳感器能夠利用I3C較高的性能來(lái)進(jìn)行控制信息通信,并傳輸實(shí)際圖像數(shù)據(jù)。這類使用與具體情形有關(guān),按照預(yù)期,這類使用對(duì)于始終工作的圖像感知應(yīng)用來(lái)說(shuō)十分有用,在所述應(yīng)用中,需要低帶寬像素分辨率。很可能的情況是,我們會(huì)見到支持I3C的圖像傳感器,其中,僅將其用作像素通信的數(shù)據(jù)路徑。
傳感器子系統(tǒng)
在圖5中,顯示了SOC總線子系統(tǒng)中的I3C主設(shè)備。IP子系統(tǒng)中的模型十分類似于在當(dāng)前設(shè)計(jì)中使用I2C主設(shè)備的方式,能夠以最小風(fēng)險(xiǎn)方便地遷移至I3C總線。
?
圖5:基于AMBA的I3C子系統(tǒng)
典型情況下,這類子系統(tǒng)基于ARM? AMBA?總線系統(tǒng),其中,I3C主設(shè)備與CPU相連。性能不同的多個(gè)傳感器設(shè)備與I3C總線相連,I3C總線工作在不同模式和速度下。這類傳感器的典型示例包括移動(dòng)設(shè)備中的觸摸板傳感器,陀螺儀和攝像機(jī)接口,它們?nèi)疾捎肐3C總線與SOC中的CPU進(jìn)行通信。
傳感器中樞
圖6顯示了一個(gè)使用I3C傳感器中樞的應(yīng)用示例。在該情形下,I3C總線具有二級(jí)主設(shè)備,它與一級(jí)主設(shè)備分離,一級(jí)主設(shè)備與多個(gè)傳感器相連。當(dāng)作為I3C中樞工作時(shí),二級(jí)主設(shè)備會(huì)獲得I3C總線的所有權(quán),并與傳感器直接通信。一旦二級(jí)主設(shè)備在其I3C中線中獲得相關(guān)的傳感器數(shù)據(jù),它會(huì)與一級(jí)主裝置進(jìn)行通信,一級(jí)主設(shè)備負(fù)責(zé)將數(shù)據(jù)傳送至CPU。
?
圖6:I3C傳感器中樞使用案例示例
總結(jié)
MIPI I3C規(guī)范結(jié)合了I2C和串行外圍接口(SPI)的多種特性,提供了統(tǒng)一的標(biāo)準(zhǔn)和可擴(kuò)展接口,能夠?qū)⒍鄠€(gè)傳感器與SoC相連。它提供了低的引線數(shù)和低功耗解決方案,可為集成了大量傳感器的系統(tǒng)提供所需的吞吐率,從而降低成本。對(duì)于多種應(yīng)用,如基于使用攝像記錄控制接口(CCI)的MIPI CSI-2協(xié)議的圖像傳感器,已開始采用I3C來(lái)替代早先的I2C總線。
MIPI傳感器工作小組由眾多主要的系統(tǒng)設(shè)計(jì)和ASIC供應(yīng)商組成,它們協(xié)同工作,致力于確定I3C規(guī)范,更為重要的是,從一開始,很多如Synopsys一樣的領(lǐng)先IP供應(yīng)商就參與到MIPI傳感器工作小組,負(fù)責(zé)提供輸入和規(guī)范知識(shí),簡(jiǎn)化了實(shí)施和向后兼容。
結(jié)合以生態(tài)系統(tǒng),Synopsys實(shí)現(xiàn)了多種概念驗(yàn)證設(shè)計(jì),可對(duì)規(guī)范中的多種假設(shè)進(jìn)行驗(yàn)證確認(rèn),有助于統(tǒng)一和可擴(kuò)展的接口。這樣,可確保與其他解決方案的互操作性,有助于建立健康的生態(tài)系統(tǒng)。此外,使用Synopsys的DesignWare? MIPI I3C Controller IP,設(shè)計(jì)人員還能縮短開發(fā)周期,降低總的擁有成本,并將風(fēng)險(xiǎn)從傳統(tǒng)的I2C遷移至I3C。