近年來,市面上已涌現(xiàn)出越來越多的嵌入式視覺應(yīng)用,它們是由嵌入式計(jì)算板和相機(jī)模塊組成的系統(tǒng)。與其他系統(tǒng)相比,這類系統(tǒng)能以更經(jīng)濟(jì)、更有效的方式管理視覺任務(wù)。
相機(jī)接口在上述嵌入式視覺系統(tǒng)的設(shè)置中扮演著關(guān)鍵作用,因?yàn)樗袚?dān)著將相機(jī)模塊與主機(jī)連接在一起的重任。
即插即用的USB 3.0、LVDS(Low Voltage Differential Signaling,低電壓差分信號(hào))等接口就適用于嵌入式視覺系統(tǒng)。但在很多情況中,選用MIPI CSI-2接口才是最合適的選擇。
本文將介紹在嵌入式視覺領(lǐng)域中,使用此重要接口將帶來何種優(yōu)勢(shì),并闡述了它所具備的功能。
1. MIPI是什么?
MIPI聯(lián)盟的全稱為Mobile Industry Processor Interface Alliance(移動(dòng)產(chǎn)業(yè)處理器接口聯(lián)盟),它是由移動(dòng)通訊和娛樂電子產(chǎn)品行業(yè)中的應(yīng)用或硬件制造商組建而成的行業(yè)聯(lián)盟。
其成立的目的是對(duì)移動(dòng)處理器及外設(shè)零部件(如位置芯片、相機(jī)、輸入接口、顯示等零部件)之間的所有重要接口進(jìn)行標(biāo)準(zhǔn)化。
此舉能夠讓移動(dòng)外設(shè)零部件的制造商輕松調(diào)整其硬件產(chǎn)品,以兼容不同類型的處理器,為處理器制造商創(chuàng)造更大批潛在的兼容外設(shè)零部件,讓雙方均可從中獲益,并帶來更具經(jīng)濟(jì)效益的開發(fā)及生產(chǎn)流程。
MIPI標(biāo)準(zhǔn)包含DSI(Display Serial Interface,顯示器串行接口)規(guī)范和CSI(Camera Serial Interface,相機(jī)串行接口),下面將對(duì)兩者進(jìn)行詳盡的描述。
2. 如何界定MIPI CSI-2?
? ? ? ?CSI規(guī)范在市面上投入使用已有數(shù)年之久,目前已經(jīng)研發(fā)出第三代技術(shù),即CSI-3。與歷代標(biāo)準(zhǔn)相比,雖然CSI-3具備毋庸置疑的優(yōu)勢(shì)(如其最大帶寬遠(yuǎn)高于歷代技術(shù)),但因缺乏硬件支持,CSI-3在業(yè)內(nèi)的發(fā)展大為受限。
目前獲得廣泛應(yīng)用的CSI-2標(biāo)準(zhǔn)可以完全滿足當(dāng)前的硬件要求,因此這可能也是限制CSI-3發(fā)展的另一因素。
MIPI CSI-2標(biāo)準(zhǔn)中描述了信號(hào)傳輸(D-PHY或C-PHY)的物理層以及用于圖像數(shù)據(jù)傳輸?shù)膮f(xié)議,該協(xié)議是以CSI-2為基礎(chǔ)擬定的。該標(biāo)準(zhǔn)還指定了一種基于I2C總線的相機(jī)配置接口,即CCI(Camera Control Interface,相機(jī)控制接口)。
2.1. 物理層:C-PHY與D-PHY
? ? ? ?借助MIPI CSI-2標(biāo)準(zhǔn),圖像數(shù)據(jù)可以按照順序通過單個(gè)通道,這將采用兩個(gè)或四個(gè)通道來連接成像芯片或相機(jī)模塊。其中,最大可用帶寬與通道的數(shù)量成線性比例關(guān)系,也就是說,使用四個(gè)通道時(shí)的可用帶寬是使用兩個(gè)通道時(shí)的2倍。
這個(gè)標(biāo)準(zhǔn)起源于智能手機(jī)領(lǐng)域,手機(jī)后置的高分辨率相機(jī)是與四個(gè)通道相連接的,而前置的低分辨率相機(jī)只采用兩個(gè)通道。因此,幾乎所有相應(yīng)的片上處理器都會(huì)配備一個(gè)雙通道CSI-2接口以及一個(gè)四通道CSI-2接口。
通過C-PHY進(jìn)行傳輸?shù)奈锢韴D像數(shù)據(jù):
在C-PHY中,一個(gè)通道由三個(gè)導(dǎo)體組成,可實(shí)現(xiàn)帶有嵌入式時(shí)鐘的3相編碼編號(hào)。根據(jù)最新規(guī)范的說明,在此情況下每個(gè)通道的理論傳輸速率可達(dá)5.7 GBit/s。
通過D-PHY進(jìn)行傳輸?shù)奈锢韴D像數(shù)據(jù):
與C-PHY相比,D-PHY的結(jié)構(gòu)更為簡(jiǎn)單,其數(shù)據(jù)流是通過兩個(gè)導(dǎo)體進(jìn)行差分傳輸?shù)模@點(diǎn)與LVDS相似,并且所有通道可以共享一個(gè)外部時(shí)鐘線。
由于其結(jié)構(gòu)較為簡(jiǎn)單,因此該設(shè)置中的每個(gè)通道的數(shù)據(jù)傳輸速率較低,最高僅支持2.5 GBit/s。盡管D-PHY的帶寬較低(但依舊能完全滿足絕大部分應(yīng)用的要求),依然頗受市場(chǎng)歡迎。
D-PHY和C-PHY也可以在對(duì)應(yīng)的硬件中共存,例如單個(gè)芯片可利用其中任一技術(shù)進(jìn)行運(yùn)作。
相機(jī)控制接口(CCI):
CSI-2還提供一項(xiàng)標(biāo)準(zhǔn)協(xié)議,它能以CCI(相機(jī)控制接口)的方式對(duì)芯片/相機(jī)模塊進(jìn)行配置。
就物理層面而言,CCI以I2C總線為基礎(chǔ),用戶一般可通過任意I2C接口來對(duì)相機(jī)模塊進(jìn)行配置,目前幾乎所有SoC上均會(huì)提供多個(gè)I2C接口。
但是,芯片/相機(jī)模塊領(lǐng)域以及SoC本身都缺乏一致的標(biāo)準(zhǔn)(部分SoC有用于配置操作的專用I2C/CCI接口),并且,許多芯片/相機(jī)模塊并非通過標(biāo)準(zhǔn)化的CCI進(jìn)行配置,而需采用各個(gè)制造商自己的專利技術(shù)來實(shí)現(xiàn)。
圖1:此處的C-PHY和D-PHY各自配備兩個(gè)通道與D-PHY相比,C-PHY可讓每個(gè)通道的帶寬提升至2倍以上
2.2. CSI-2協(xié)議層
? ? ? ?CSI-2是一種數(shù)據(jù)包(packet)導(dǎo)向型協(xié)議,因此,規(guī)范中特別描述了數(shù)據(jù)包格式。
圖2:CSI-2數(shù)據(jù)包格式
另外,規(guī)范中也指定了一般應(yīng)用能正常使用的像素格式(如RGB、YUV、RAW和JPEG等)。然而,移動(dòng)處理器的MIPI CSI-2驅(qū)動(dòng)程序一般僅支持少數(shù)幾種像素格式(有時(shí)相關(guān)格式往往都是工業(yè)圖像處理領(lǐng)域中不常見的像素格式)。
2.3. MIPI CSI-2與工業(yè)標(biāo)準(zhǔn)的比較(以GenICam等標(biāo)準(zhǔn)為例)
MIPI CSI-2更大程度上是對(duì)“導(dǎo)線上標(biāo)準(zhǔn)”的一種描述,因此能夠與通過千兆網(wǎng)GigE進(jìn)行圖像數(shù)據(jù)傳輸?shù)腉igEVision規(guī)范相比較。
與圖像處理市場(chǎng)常用的GenICam系列標(biāo)準(zhǔn)不同的是,MIPI CSI-2缺乏標(biāo)準(zhǔn)化的軟件堆棧和標(biāo)準(zhǔn)化的編程界面(應(yīng)用程序編程界面,即API,如GenAPI所呈現(xiàn)的那樣),以及標(biāo)準(zhǔn)化的圖像數(shù)據(jù)接口(如GenTL)。
使用MIPI CSI-2時(shí),圖像數(shù)據(jù)通常是通過Video4Linux (V4L)進(jìn)行傳輸,但是此方式既沒有進(jìn)行標(biāo)準(zhǔn)化,也尚未普遍適用。
3. MIPI CSI-2具備的優(yōu)點(diǎn)
? ? ? ?由于移動(dòng)市場(chǎng)龐大,移動(dòng)處理器產(chǎn)量極高,再加上市場(chǎng)規(guī)模和競(jìng)爭(zhēng)壓力,因此在短期內(nèi)催生了性能效率不斷優(yōu)化的處理器。
如今,即便是價(jià)格親民的低端處理器,也會(huì)在芯片上配備兩個(gè)MIPI CSI-2接口,可分別提供雙通道或四個(gè)通道。
許多過去只生產(chǎn)移動(dòng)處理器的制造商(如高通、瑞芯微、三星)都在圖像處理領(lǐng)域探索出了一片新天地,現(xiàn)在已能小規(guī)模地為工業(yè)應(yīng)用長(zhǎng)期供應(yīng)相關(guān)產(chǎn)品(有時(shí)是通過模塊合作伙伴來進(jìn)行布局)。
與此同時(shí),目前越來越多的常見工業(yè)嵌入式處理器(如NXP的i.MX系列、TI的部分Sitara SoC、NVIDIA TK1、TX1、TX2、Intel Atom SoC等)均開始配備MIPI CSI-2接口,因此在圖像處理領(lǐng)域中,這個(gè)新相機(jī)接口標(biāo)準(zhǔn)的應(yīng)用可謂是大勢(shì)所趨。
CSI-2可實(shí)現(xiàn)外觀纖薄、價(jià)格親民的機(jī)器視覺設(shè)計(jì),因而有望采用帶寬更高的芯片或相機(jī)模塊。但是價(jià)格實(shí)惠的處理器(并且其價(jià)格還在進(jìn)一步下調(diào))并不是導(dǎo)致單位成本下降的唯一因素。
由于處理器種類繁多,開發(fā)者可以根據(jù)應(yīng)用來自由選擇理想的系統(tǒng)設(shè)計(jì),比如:降低嵌入式系統(tǒng)的能源消耗。
從技術(shù)層面而言,利用MIPI CSI-2可以實(shí)現(xiàn)精巧的設(shè)計(jì)尺寸,因而可以通過扁平柔性線材進(jìn)行板對(duì)板連接。如果不采用這種方式,就只能使用基于LVDS的連接(USB 3.0插頭占據(jù)的空間過大,因此不會(huì)考慮采用USB 3.0接口)。
圖3:MIPI CSI-2接口
借助MIPI CSI-2接口,圖像數(shù)據(jù)可以直接從相機(jī)模塊或芯片傳輸至處理器,也無(wú)需安裝相應(yīng)的硬件(如微處理器等)。將這些利好因素綜合起來,即可開發(fā)出更加精巧的嵌入式系統(tǒng)。
4. MIPI CSI-2的潛在難題
? ? ? ?與高效的MIPI CSI-2相機(jī)接口同樣吸引人的是這項(xiàng)標(biāo)準(zhǔn)幾乎不會(huì)產(chǎn)生額外的成本,不過在開發(fā)過程中還需要充分考慮以下難題:
■ 線材長(zhǎng)度
物理圖像數(shù)據(jù)傳輸技術(shù)(即D-PHY)僅限使用長(zhǎng)度較短的線材,通常不能超過20 cm。對(duì)于移動(dòng)應(yīng)用而言(如智能手機(jī)),這一限制不會(huì)帶來任何問題。但在工業(yè)應(yīng)用中,這種限制可能導(dǎo)致此技術(shù)最終無(wú)法適用。
■ 插頭
另一個(gè)不足之處是MIPI聯(lián)盟并未對(duì)MIPI CSI-2的插頭進(jìn)行標(biāo)準(zhǔn)化。這意味著芯片/相機(jī)模塊必須單獨(dú)進(jìn)行連接,且需采用專利技術(shù)。
■ 驅(qū)動(dòng)程序支持
由于缺乏標(biāo)準(zhǔn)化的驅(qū)動(dòng)程序和軟件堆棧,因而需要根據(jù)特定SoC的CSI-2驅(qū)動(dòng)程序以及通過I2C專利驅(qū)動(dòng)程序來單獨(dú)對(duì)芯片或相機(jī)模塊進(jìn)行調(diào)整,以作為Video4Linux的子設(shè)備來使用。
換言之,在選擇一款設(shè)計(jì)用于SoC的芯片/相機(jī)模塊時(shí),須確保相關(guān)模塊也具備相應(yīng)的I2C驅(qū)動(dòng)程序。不過,這也會(huì)大大局限了芯片/相機(jī)模塊和SoC的選擇。
■ 像素格式
如上所述,大部分CSI-2驅(qū)動(dòng)程序支持的像素格式非常有限,并且不一定符合圖像處理領(lǐng)域要求的像素格式。
■ 相機(jī)API
在圖像處理領(lǐng)域中,GenICam系列標(biāo)準(zhǔn)備受市場(chǎng)歡迎。GenICam讓相機(jī)API得以實(shí)現(xiàn)標(biāo)準(zhǔn)化,確保用戶可以使用全部的相機(jī)功能。
規(guī)范中也對(duì)相機(jī)功能的命名進(jìn)行了標(biāo)準(zhǔn)化,無(wú)需區(qū)分不同的制造商,這讓用戶能在更改相機(jī)型號(hào)甚至接口技術(shù)(如用USB 3.0 Vision替代GigEVision)時(shí),不必對(duì)程序代碼進(jìn)行重大變更。
相反,當(dāng)一個(gè)相機(jī)模塊或SoC遷移至另一相機(jī)模塊或SoC時(shí),如果缺乏標(biāo)準(zhǔn)化的相機(jī)功能命名和標(biāo)準(zhǔn)化的API,在重復(fù)利用現(xiàn)有代碼時(shí)就會(huì)困難重重。
其實(shí)只要有充足的經(jīng)費(fèi),所有這些難題都能被攻克,但這也會(huì)增加研發(fā)和制造的成本(如運(yùn)用更長(zhǎng)的線材)。
各家工業(yè)相機(jī)制造商也正在努力為基于MIPI CSI-2的相機(jī)解決方案研發(fā)GenICam接口,這一技術(shù)不但可以提供所有的相機(jī)功能和像素格式,同時(shí)還能支持更長(zhǎng)的線材(一米以上)。
5. 總結(jié)
? ? ? ?MIPI CSI-2接口可適用于嵌入式視覺系統(tǒng),其具有成本效益的精益架構(gòu)正是嵌入式視覺系統(tǒng)的理想之選。但是在相關(guān)相機(jī)模塊的集成方面,尤其是軟件層面,還需投入更多的努力。
用戶可能需要根據(jù)應(yīng)用來調(diào)整驅(qū)動(dòng)程序和圖像數(shù)據(jù)接口,另外還需要考慮到其他方面的限制,例如硬件導(dǎo)致的問題。
為確保能可靠地估算開發(fā)的工作量,系統(tǒng)開發(fā)商必須充分考慮驅(qū)動(dòng)程序、潛在的現(xiàn)有相機(jī)軟件及其軟件接口的適用范圍和兼容性。
如果能在該方面找到可用的合適技術(shù),那就能有望開發(fā)出高效的視覺系統(tǒng),進(jìn)而獲得性能卓越的最終產(chǎn)品。
評(píng)論
查看更多