基於新型嵌入式機器視覺系統的設計研究

   時間:2014-03-11 10:59:10
基於新型嵌入式機器視覺系統的設計研究簡介
     0引言機器視覺系統是一種非接觸式的光學感測系統。它同時集成軟硬體,能夠自動地從所採集到的圖像中獲取信息或……
基於新型嵌入式機器視覺系統的設計研究正文

0引言

機器視覺系統是一種非接觸式的光學感測系統。它同時集成軟硬體,能夠自動地從所採集到的圖像中獲取信息或者產生控制動作。自起步發展到現在,機器視覺已有15年的歷史,主要經歷了數字電路組成、PC機和輸出設備組成、嵌入式三個階段,其中,嵌入式機器視覺系統依託專業計算機技術,具有實時多任務操作系統、高效壓縮晶元和功能強大的微處理器,可將視頻壓縮、傳輸與處理工作全部內置到晶元上,通過內部處理后可以直接連入乙太網或廣域網,完成網路實時遠程監控,是目前的研究熱點之一。

在國內外研究中,嵌入式機器視覺系統實現方式主要有三種:

(1)基於標準匯流排,採用DSP作為運算和控制處理器的系統。DSP晶元雖然能夠處理大量信息和高速運行,但其I/O介面單一,不易擴展,控制能力較弱,尚存在一定局限性。

(2)基於DSP+FPGA的機器視覺系統。FPGA與DSP的結合,可實現寬頻信號處理,大大提高信號處理速度,但FPGA使用的是硬體描述語言,其演算法開發具有很大的難度,功能實現由硬體控制,系統受環境影響較大。

(3)採用ARM微處理器或採用ARM+DSP構建方式的機器視覺系統,這種構建方式人機交互功能強大,集成度高、實時性好、支持多任務,但該系統中ARM與DSP的數據交換方法仍採用外部電路連接,增加了系統的不穩定性。

綜合上述技術方案的優點和缺點,本文提出了一種新型機器視覺系統,實現圖像信息的高速採集與存儲。

其核心晶元選取TI公司最新生產的先進的雙核嵌入式晶元,將ARM處理器和DSP處理器集成在一個晶元中,通過軟體編程即完成ARM與DSP的協調工作。由該晶元構建開發的機器視覺處理系統,憑藉植入Linux系統的ARM處理器的優異的控制性能,配合DSP的強大運算處理能力將保證系統擁有良好的實時性和穩定性,可以為機器視覺的研究和應用提供很好的視頻採集與處理硬體平台。

1系統功能

本系統為一高速圖像數據採集存儲系統,通過軟硬體設計能夠實現:兩路解析度640×480,幀頻60 f/s,12 b/pixel;一路解析度1 024×1 024,幀頻60 f/s,12 b/pixel三路輸入信號實時採集。實時無壓縮存儲。

如圖1所示,系統通過串口控制圖像感測器,使三路圖像數據信號、時鐘以及各種同步信號按要求輸入,系統依次進行圖像信號的採集、數據處理、存儲。系統利用自帶的介面可實現顯示、上位機通信、鍵盤控制等更多的功能,能夠實現友好的人機對話。

2硬體設計

本系統選取TI公司達芬奇系列最新的TMS320DM8168晶元。此晶元集成了1 GHz ARMCortex-A8、1 GHz TI C674x浮點DSP、若干二代可編程高清視頻影像協處理器、一個創新型高清視頻處理子系統(HDVPSS)以及綜合編解碼器,支持包括高清解析度的H.264、MPEG-4以及VC1.並且包含千兆乙太網、PCI Express、SATA2、DDR2、DDR3、USB 2.0、MMC/SD、HDMI以及DVI等多種介面,可支持更多功能的擴展和複雜應用。

利用該晶元設計並實現兩路或三路不同解析度的圖像信號的採集、處理與顯示,硬體原理圖如圖2所示。實現該系統的開發與設計所涉及的硬體模塊有:圖像採集介面模塊、圖像採集模塊、圖像存儲模塊、外圍介面模塊。

2.1圖像採集介面模塊

作為圖像感測器和高速採集系統的連接模塊,該模塊可對USB介面相機或Camera Link介面相機進行圖像採集與控制。USB介面連接十分方便,由於系統具有USB外圍介面,按照USB標準協議連接即可。CameraLink介面具有開放式的介面協議,使得不同廠家既能保持產品的差異性,又能互相兼容,因此系統中的圖像採集介面模塊採用了Camera Link介面協議。該模塊分別使用了DS90CR288A、DS90LV049、DS90LV047完成圖像感測器的控制、圖像信息的採集及圖像感測器與圖像採集系統的雙向通信。

2.2圖像採集模塊

TMS320DM8168的HDVPSS(HD Video ProcessingSubsystem)提供了視頻輸入介面和視頻輸出介面。視頻輸入介面提供了外部圖像設備(如圖像感測器、視頻解碼器等)的接入。

HDVPSS可支持高達3個60 f/s的1080p通道、同時支持16個通道的CIF數據流的H.264高畫質D1編碼與8通道D1解碼;支持2個獨立的視頻捕捉輸入埠,每個視頻輸入埠支持縮放、像素格式轉換。兩個視頻輸入捕捉埠均能以1個16 b輸入通道(帶分離的Y和Cb/Cr輸入),或2個時鐘獨立的8 b輸入通道操作(帶交織的Y/C數據輸入)。第一個視頻輸入埠能以24 b模式操作以支持RGB捕捉。所有採集模式捕捉時鐘高達165 MHz,可滿足高速率的圖像採集。

高清視頻處理子系統(HDVPSS)有兩個獨立視頻捕捉輸入埠VIP0與VIP1.VIP0可配置成24 b、16 b、和兩個獨立的8 b模式,VIP1可配置成16 b、和兩個獨立的8 b.從捕捉頻率和各種配置模式可看出,針對不同的流量,可以有多種實現方法。為了存儲設計簡單,本方案將VIP0配置為24 b進行採集。在此模式下,最高流量為165M×24 8 = 495 MB/s,可以滿足流量要求。

從最高捕捉時鐘可知,每次採集間隔在1 165M,約為6.1 ns.經計算,也為了設計方便,擬採用三個幀頻均為200 f/s的Base配置的Camera Link相機,幀頻控制均為外部觸發方式,該Camera Link相機一次輸出兩個像素,每像素12 b,即2×12 b,剛好可以和VIP0的24 b匹配採集。以三路信號分時採集為例,如圖3所示,3路信號的採集方法為3個相機輪流採集,即一個循環內每個相機各采一幀,這就需要實現3路分時採集的時序信號。由定時器產生一個1/200 s的脈寬,經延時環節使幀頻高電平分時分路送入三個相機;3路採集信號時序關係為一個相機不進行延時,一個相機延時1/200 s,最後一個延時2/200 s.

相機通過DS90LV047A收到指令后,將拍攝到的圖像數據分為4路LVDS數據信號和1路LVDS時鐘信號,通過介面連接器MDR26傳輸到DS90CR288A;DS90CR288A將串列數據轉換成28路并行信號和1路隨路時鐘信號,並傳送至TMS320DM8168視頻捕捉埠VIP0進行採集。

2.3圖像存儲模塊

從上述設計方案,系統存儲速率約為160 MB/s,數據量較大,可選擇大容量、高速的固態硬碟,通過其SATA2介面寫入。

數據採集結束后,通過配置HDVPSS子系統將數據送入VPDMA,最後轉入DDR內存,當DDR內存的數據量達到設定的數據量時產生中斷,中斷髮生后,根據存放地址啟動內存和固態硬碟之間的DMA傳輸,將採集的圖像通過SATA2介面存儲在SSD上,實現數據存儲。

然後啟動定時器產生下一個幀頻脈衝,開始下一周期的數據採集。

外部擴展存儲器選取系統支持的DDR3(1 600)存儲器。按照系統存儲控制器位寬32 b來算,內存速率可達32/8×1 600M=6.4 GB/s.在該模式下,採集和存儲可并行處理。緩存所採集的數據移動到DDR3內存,其速率遠高於埠採集的每秒數據量。因為該方案的採集方式是每幀輪流採集,並且幀內數據已按順序緊湊排列,可大幅減少數據的重排工作,僅需去除一些輔助數據。採集系統將其餘相關信號全部置成一幀一行的形式,讓相機的時鐘信號與系統採集埠的時鐘信號通信,圖像信號前有少量的輔助數據,設置DMA起始地址時直接跳過輔助數據。所以在本系統幾乎不運行程序的情況下,固態硬碟可以最少有80%的時間佔據DMA控制權進行內存圖像數據的存儲。按所選取的硬碟的持續寫入速率250 MB/s來算,250×0.8=200 MB/s大於160 MB/s,所以1 s採集的數據可以進行實時存儲。數據上傳后,可以選擇清除原有數據,釋放硬碟空間。

2.4外圍介面模塊

基於TMS320DM8168晶元豐富的外設介面,本系統能夠靈活的進行外部介面設計來控制外圍設備,並實現與外部處理器的通信功能。根據需求可供選取的介面有:2個具有GMII和MDIO介面的千兆位乙太網MAC(10 Mb/s,100 Mb/s,1 000 Mb/s);2個具有集成2.0 PHY的USB埠;雙DDR2/3 SDRAM介面等,可參考圖2.

TMS320DM8168的兩個USB口可滿足將採集的圖像數據上傳給上位機時連接鍵盤滑鼠,LCD、VGA介面可用來直接顯示圖像。串口亦可用來同上位機進行通信,且可用來控制本設計方案用到的Camera Link相機。千兆網介面以其超高的速率可滿足圖像數據的高速傳輸。

上述技術的實現主要通過軟體編程驅動外設介面來實現,具體方案見軟體設計。

3軟體設計

本系統採用Linux操作系統,帶有友好的界面,使操作更加靈活自如,能運行多任務。可以通過界面進行相機控制、圖像的採集、停止、顯示、圖像上傳等。這部分的開發可由兩部分組成,移植和自主開發。軟體設計如圖4所示。

3.1移植的程序

移植的程序包括Linux內核、網卡驅動、USB 2.0驅動、LCD驅動、串口驅動、VGA驅動、SATA2驅動。在這個方面,TI公司提供了很好的支持,有專門針對DM8168的Linux操作系統,版本為Linux 2.6.37,可以通過TI公司提供的Linux EZ軟體開發套件(EZ SDK)進行開發。

3.2自主開發的程序

3.2.1驅動程序

為了規範地在Linux操作系統下操作,圖像採集的電路部分需要圖像採集應用程序相關的驅動程序進行支持。採集電路可分為多個功能模塊分別進行驅動程序的編寫,其中包括相機採集驅動(相應於VIP0進入數據后的操作);控制驅動(相應於對Timer進行控制);如果要根據外界環境改變相機工作狀態,還需該部分驅動支持。採集驅動實現open,close方法。控制部分實現open,close,ioctl方法。自適應速率調整要實現open、close、ioctl、read方法。在/DEV目錄下分別建立設備節點,然後應用程序通過對設備節點進行操作。

3.2.2應用程序

應用程序的開發擬採用QT開發工具。應用程序擬設計成一個多線程程序,一個主線程,一個自適應調節參數線程,應用程序主要實現採集程序,停止,顯示,配置,上傳程序,分別對應於相應按鈕。

採集按鈕相應程序調用設備節點的open方法,open方法中對相應硬體進行配置,註冊中斷程序,啟動Timer開始採集。流程如圖5所示。

因為系統已經帶有串口驅動,配置程序可以直接對串口編程。自適應環境速率調整程序由主界面程序開啟一個新線程,該線程通過相應設備節點讀取數據,判斷是否調整,如需調整,通過上面所述串口設備節點或者控制設備節點進行重設。

4結語

本文所構建的機器視覺系統是一個具有操作系統的獨立、可控制的小型多功能系統,通過硬體設計和軟體設計兩部分實現,其功能模塊包括視頻圖像採集與處理、視頻圖像存儲、視頻圖像通信和視頻圖像顯示等模塊。採用先進的雙內核嵌入式處理器,將多路圖像感測器獲取的視頻圖像信號高速并行採集,並根據需要進行圖像無損壓縮和圖像融合,數據可大容量實時存儲,並通過多種介面與上位機通信,具有友好的人機交互界面,可驅動多種顯示屏幕完成高清顯示和信息回放等功能。

由於該平台具有Linux操作系統,無需上位機即可完成系統參數設置、功能選擇等操作。該系統可為機載、彈載、車載光電系統完成高速掃描、快速探測、主動識別、精確跟蹤任務提供所需要的高清目標信息,並有望在平安城市、安防行業、工業控制、醫療教育、物流管理、電網運行、智能家居、智能汽車、食品安全等多領域得到應用。

[基於新型嵌入式機器視覺系統的設計研究],你可能也喜歡

  • 基於裝配之設計
  • 視覺化資料繪圖方法
  • 機械視覺應用
  • 視覺設計概論
  • 視覺感測器應用
  • 視覺感測器原理
  • 嵌入式書
  • 嵌入式無線感測設計
  • 嵌入式ic設計
  • 嵌入式硬體架構設計
  • 嵌入式硬體設計
  • 新型硅酮
  • 地板漆新型材料
  • 旭登新型材料
  • 實用新型專利
  • 實用新型專利證書
Bookmark the permalink ,來源:
One thought on “基於新型嵌入式機器視覺系統的設計研究