新型嵌入式機器視覺(jué)系統的設計研究
機器視覺(jué)系統是一種非接觸式的光學(xué)傳感系統。它同時(shí)集成軟硬件,能夠自動(dòng)地從所采集到的圖像中獲取信息或者產(chǎn)生控制動(dòng)作。自起步發(fā)展到現在,機器視覺(jué)已有15年的歷史,主要經(jīng)歷了數字電路組成、PC機和輸出設備組成、嵌入式三個(gè)階段,其中,嵌入式機器視覺(jué)系統依托專(zhuān)業(yè)計算機技術(shù),具有實(shí)時(shí)多任務(wù)操作系統、高效壓縮芯片和功能強大的微處理器,可將視頻壓縮、傳輸與處理工作全部?jì)戎玫叫酒?,通過(guò)內部處理后可以直接連入以太網(wǎng)或廣域網(wǎng),完成網(wǎng)絡(luò )實(shí)時(shí)遠程監控,是目前的研究熱點(diǎn)之一。
本文引用地址:http://dyxdggzs.com/article/201710/368529.htm在國內外研究中,嵌入式機器視覺(jué)系統實(shí)現方式主要有三種:
?。?)基于標準總線(xiàn),采用DSP作為運算和控制處理器的系統。DSP芯片雖然能夠處理大量信息和高速運行,但其I/O接口單一,不易擴展,控制能力較弱,尚存在一定局限性。
?。?)基于DSP+FPGA的機器視覺(jué)系統。FPGA與DSP的結合,可實(shí)現寬帶信號處理,大大提高信號處理速度,但FPGA使用的是硬件描述語(yǔ)言,其算法開(kāi)發(fā)具有很大的難度,功能實(shí)現由硬件控制,系統受環(huán)境影響較大。
?。?)采用ARM微處理器或采用ARM+DSP構建方式的機器視覺(jué)系統,這種構建方式人機交互功能強大,集成度高、實(shí)時(shí)性好、支持多任務(wù),但該系統中ARM與DSP的數據交換方法仍采用外部電路連接,增加了系統的不穩定性。
綜合上述技術(shù)方案的優(yōu)點(diǎn)和缺點(diǎn),本文提出了一種新型機器視覺(jué)系統,實(shí)現圖像信息的高速采集與存儲。
其核心芯片選取TI公司最新生產(chǎn)的先進(jìn)的雙核嵌入式芯片,將ARM處理器和DSP處理器集成在一個(gè)芯片中,通過(guò)軟件編程即完成ARM與DSP的協(xié)調工作。由該芯片構建開(kāi)發(fā)的機器視覺(jué)處理系統,憑借植入Linux系統的ARM處理器的優(yōu)異的控制性能,配合DSP的強大運算處理能力將保證系統擁有良好的實(shí)時(shí)性和穩定性,可以為機器視覺(jué)的研究和應用提供很好的視頻采集與處理硬件平臺。
1、系統功能
本系統為一高速圖像數據采集存儲系統,通過(guò)軟硬件設計能夠實(shí)現:兩路分辨率640×480,幀頻60 f/s,12 b/pixel;一路分辨率1 024×1 024,幀頻60 f/s,12 b/pixel三路輸入信號實(shí)時(shí)采集。實(shí)時(shí)無(wú)壓縮存儲。
如圖1所示,系統通過(guò)串口控制圖像傳感器,使三路圖像數據信號、時(shí)鐘以及各種同步信號按要求輸入,系統依次進(jìn)行圖像信號的采集、數據處理、存儲。系統利用自帶的接口可實(shí)現顯示、上位機通信、鍵盤(pán)控制等更多的功能,能夠實(shí)現友好的人機對話(huà)。
2、硬件設計
本系統選取TI公司達芬奇系列最新的TMS320DM8168芯片。此芯片集成了1 GHz ARMCortex-A8、1 GHz TI C674x浮點(diǎn)DSP、若干二代可編程高清視頻影像協(xié)處理器、一個(gè)創(chuàng )新型高清視頻處理子系統(HDVPSS)以及綜合編解碼器,支持包括高清分辨率的 H.264、MPEG-4以及VC1.并且包含千兆以太網(wǎng)、PCI Express、SATA2、DDR2、DDR3、USB 2.0、MMC/SD、HDMI以及DVI等多種接口,可支持更多功能的擴展和復雜應用。
利用該芯片設計并實(shí)現兩路或三路不同分辨率的圖像信號的采集、處理與顯示,硬件原理圖如圖2所示。實(shí)現該系統的開(kāi)發(fā)與設計所涉及的硬件模塊有:圖像采集接口模塊、圖像采集模塊、圖像存儲模塊、外圍接口模塊。
2.1圖像采集接口模塊
作為圖像傳感器和高速采集系統的連接模塊,該模塊可對USB接口相機或Camera Link接口相機進(jìn)行圖像采集與控制。USB接口連接十分方便,由于系統具有USB外圍接口,按照USB標準協(xié)議連接即可。CameraLink接口具有開(kāi)放式的接口協(xié)議,使得不同廠(chǎng)家既能保持產(chǎn)品的差異性,又能互相兼容,因此系統中的圖像采集接口模塊采用了Camera Link接口協(xié)議。該模塊分別使用了DS90CR288A、DS90LV049、DS90LV047完成圖像傳感器的控制、圖像信息的采集及圖像傳感器與圖像采集系統的雙向通信。
2.2圖像采集模塊
TMS320DM8168的HDVPSS(HD Video ProcessingSubsystem)提供了視頻輸入接口和視頻輸出接口。視頻輸入接口提供了外部圖像設備(如圖像傳感器、視頻解碼器等)的接入。
HDVPSS可支持高達3個(gè)60 f/s的1080p通道、同時(shí)支持16個(gè)通道的CIF數據流的H.264高畫(huà)質(zhì)D1編碼與8通道D1解碼;支持2個(gè)獨立的視頻捕捉輸入端口,每個(gè)視頻輸入端口支持縮放、像素格式轉換。兩個(gè)視頻輸入捕捉端口均能以1個(gè)16 b輸入通道(帶分離的Y和Cb/Cr輸入),或2個(gè)時(shí)鐘獨立的8 b輸入通道操作(帶交織的Y/C數據輸入)。第一個(gè)視頻輸入端口能以24 b模式操作以支持RGB捕捉。所有采集模式捕捉時(shí)鐘高達165 MHz,可滿(mǎn)足高速率的圖像采集。
高清視頻處理子系統(HDVPSS)有兩個(gè)獨立視頻捕捉輸入端口VIP0與VIP1.VIP0可配置成24 b、16 b、和兩個(gè)獨立的8 b模式,VIP1可配置成16 b、和兩個(gè)獨立的8 b.從捕捉頻率和各種配置模式可看出,針對不同的流量,可以有多種實(shí)現方法。為了存儲設計簡(jiǎn)單,本方案將VIP0配置為24 b進(jìn)行采集。在此模式下,最高流量為165M×24 8 = 495 MB/s,可以滿(mǎn)足流量要求。
從最高捕捉時(shí)鐘可知,每次采集間隔在1 165M,約為6.1 ns.經(jīng)計算,也為了設計方便,擬采用三個(gè)幀頻均為200 f/s的Base配置的Camera Link相機,幀頻控制均為外部觸發(fā)方式,該Camera Link相機一次輸出兩個(gè)像素,每像素12 b,即2×12 b,剛好可以和VIP0的24 b匹配采集。以三路信號分時(shí)采集為例,如圖3所示,3路信號的采集方法為3個(gè)相機輪流采集,即一個(gè)循環(huán)內每個(gè)相機各采一幀,這就需要實(shí)現3路分時(shí)采集的時(shí)序信號。由定時(shí)器產(chǎn)生一個(gè)1/200 s的脈寬,經(jīng)延時(shí)環(huán)節使幀頻高電平分時(shí)分路送入三個(gè)相機;3路采集信號時(shí)序關(guān)系為一個(gè)相機不進(jìn)行延時(shí),一個(gè)相機延時(shí)1/200 s,最后一個(gè)延時(shí)2/200 s。
相機通過(guò)DS90LV047A收到指令后,將拍攝到的圖像數據分為4路LVDS數據信號和1路LVDS時(shí)鐘信號,通過(guò)接口連接器MDR26傳輸到DS90CR288A;DS90CR288A將串行數據轉換成28路并行信號和1路隨路時(shí)鐘信號,并傳送至TMS320DM8168視頻捕捉端口VIP0進(jìn)行采集。
2.3圖像存儲模塊
從上述設計方案,系統存儲速率約為160 MB/s,數據量較大,可選擇大容量、高速的固態(tài)硬盤(pán),通過(guò)其SATA2接口寫(xiě)入。
數據采集結束后,通過(guò)配置HDVPSS子系統將數據送入VPDMA,最后轉入DDR內存,當DDR內存的數據量達到設定的數據量時(shí)產(chǎn)生中斷,中斷發(fā)生后,根據存放地址啟動(dòng)內存和固態(tài)硬盤(pán)之間的DMA傳輸,將采集的圖像通過(guò)SATA2接口存儲在SSD上,實(shí)現數據存儲。
然后啟動(dòng)定時(shí)器產(chǎn)生下一個(gè)幀頻脈沖,開(kāi)始下一周期的數據采集。
外部擴展存儲器選取系統支持的DDR3(1 600)存儲器。按照系統存儲控制器位寬32 b來(lái)算,內存速率可達32/8×1 600M=6.4 GB/s.在該模式下,采集和存儲可并行處理。緩存所采集的數據移動(dòng)到DDR3內存,其速率遠高于端口采集的每秒數據量。因為該方案的采集方式是每幀輪流采集,并且幀內數據已按順序緊湊排列,可大幅減少數據的重排工作,僅需去除一些輔助數據。采集系統將其余相關(guān)信號全部置成一幀一行的形式,讓相機的時(shí)鐘信號與系統采集端口的時(shí)鐘信號通信,圖像信號前有少量的輔助數據,設置DMA起始地址時(shí)直接跳過(guò)輔助數據。所以在本系統幾乎不運行程序的情況下,固態(tài)硬盤(pán)可以最少有80%的時(shí)間占據DMA控制權進(jìn)行內存圖像數據的存儲。按所選取的硬盤(pán)的持續寫(xiě)入速率250 MB/s來(lái)算,250×0.8=200 MB/s大于160 MB/s,所以1 s采集的數據可以進(jìn)行實(shí)時(shí)存儲。數據上傳后,可以選擇清除原有數據,釋放硬盤(pán)空間。
2.4外圍接口模塊
基于TMS320DM8168芯片豐富的外設接口,本系統能夠靈活的進(jìn)行外部接口設計來(lái)控制外圍設備,并實(shí)現與外部處理器的通信功能。根據需求可供選取的接口有:2個(gè)具有GMII和MDIO接口的千兆位以太網(wǎng)MAC(10 Mb/s,100 Mb/s,1 000 Mb/s);2個(gè)具有集成2.0 PHY的USB端口;雙DDR2/3 SDRAM接口等,可參考圖2。
TMS320DM8168的兩個(gè)USB口可滿(mǎn)足將采集的圖像數據上傳給上位機時(shí)連接鍵盤(pán)鼠標,LCD、VGA接口可用來(lái)直接顯示圖像。串口亦可用來(lái)同上位機進(jìn)行通信,且可用來(lái)控制本設計方案用到的Camera Link相機。千兆網(wǎng)接口以其超高的速率可滿(mǎn)足圖像數據的高速傳輸。
上述技術(shù)的實(shí)現主要通過(guò)軟件編程驅動(dòng)外設接口來(lái)實(shí)現,具體方案見(jiàn)軟件設計。
3、軟件設計
本系統采用Linux操作系統,帶有友好的界面,使操作更加靈活自如,能運行多任務(wù)??梢酝ㄟ^(guò)界面進(jìn)行相機控制、圖像的采集、停止、顯示、圖像上傳等。這部分的開(kāi)發(fā)可由兩部分組成,移植和自主開(kāi)發(fā)。軟件設計如圖4所示。
3.1移植的程序
移植的程序包括Linux內核、網(wǎng)卡驅動(dòng)、USB 2.0驅動(dòng)、LCD驅動(dòng)、串口驅動(dòng)、VGA驅動(dòng)、SATA2驅動(dòng)。在這個(gè)方面,TI公司提供了很好的支持,有專(zhuān)門(mén)針對DM8168的Linux操作系統,版本為L(cháng)inux 2.6.37,可以通過(guò)TI公司提供的Linux EZ軟件開(kāi)發(fā)套件(EZ SDK)進(jìn)行開(kāi)發(fā)。
3.2自主開(kāi)發(fā)的程序
3.2.1驅動(dòng)程序
為了規范地在Linux操作系統下操作,圖像采集的電路部分需要圖像采集應用程序相關(guān)的驅動(dòng)程序進(jìn)行支持。采集電路可分為多個(gè)功能模塊分別進(jìn)行驅動(dòng)程序的編寫(xiě),其中包括相機采集驅動(dòng)(相應于VIP0進(jìn)入數據后的操作);控制驅動(dòng)(相應于對Timer進(jìn)行控制);如果要根據外界環(huán)境改變相機工作狀態(tài),還需該部分驅動(dòng)支持。采集驅動(dòng)實(shí)現open,close方法??刂撇糠謱?shí)現open,close,ioctl方法。自適應速率調整要實(shí)現open、 close、ioctl、read方法。在/DEV目錄下分別建立設備節點(diǎn),然后應用程序通過(guò)對設備節點(diǎn)進(jìn)行操作。
3.2.2應用程序
應用程序的開(kāi)發(fā)擬采用QT開(kāi)發(fā)工具。應用程序擬設計成一個(gè)多線(xiàn)程程序,一個(gè)主線(xiàn)程,一個(gè)自適應調節參數線(xiàn)程,應用程序主要實(shí)現采集程序,停止,顯示,配置,上傳程序,分別對應于相應按鈕。
采集按鈕相應程序調用設備節點(diǎn)的open方法,open方法中對相應硬件進(jìn)行配置,注冊中斷程序,啟動(dòng)Timer開(kāi)始采集。流程如圖5所示。
因為系統已經(jīng)帶有串口驅動(dòng),配置程序可以直接對串口編程。自適應環(huán)境速率調整程序由主界面程序開(kāi)啟一個(gè)新線(xiàn)程,該線(xiàn)程通過(guò)相應設備節點(diǎn)讀取數據,判斷是否調整,如需調整,通過(guò)上面所述串口設備節點(diǎn)或者控制設備節點(diǎn)進(jìn)行重設。
4、結語(yǔ)
本文所構建的機器視覺(jué)系統是一個(gè)具有操作系統的獨立、可控制的小型多功能系統,通過(guò)硬件設計和軟件設計兩部分實(shí)現,其功能模塊包括視頻圖像采集與處理、視頻圖像存儲、視頻圖像通信和視頻圖像顯示等模塊。采用先進(jìn)的雙內核嵌入式處理器,將多路圖像傳感器獲取的視頻圖像信號高速并行采集,并根據需要進(jìn)行圖像無(wú)損壓縮和圖像融合,數據可大容量實(shí)時(shí)存儲,并通過(guò)多種接口與上位機通信,具有友好的人機交互界面,可驅動(dòng)多種顯示屏幕完成高清顯示和信息回放等功能。
由于該平臺具有Linux操作系統,無(wú)需上位機即可完成系統參數設置、功能選擇等操作。該系統可為機載、彈載、車(chē)載光電系統完成高速掃描、快速探測、主動(dòng)識別、精確跟蹤任務(wù)提供所需要的高清目標信息,并有望在平安城市、安防行業(yè)、工業(yè)控制、醫療教育、物流管理、電網(wǎng)運行、智能家居、智能汽車(chē)、食品安全等多領(lǐng)域得到應用。
評論