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