摘要:介紹了一種基于嵌入式圖像采集與傳輸的方案,完成了基本的硬件設計和軟件開發。硬件方面采用了USB攝像頭與S3C2440處理器組成嵌入式圖像采集裝置,并通過以太網連接宿主機;軟件方面分為系統軟件的移植和應用軟件的開發。系統軟件包含ARM平臺的BOOTLOADER和嵌入式WinCE系統的定制和移植,以及攝像球驅動的開發;應用軟件包括圖像采集模塊設計和圖像傳輸模塊設計。經測試,該系統具有體積小,穩定性高和快速開發的優點。
關鍵詞:圖像采集;嵌入式系統;圖像傳輸;WinCE
隨著我國科技進步和社會的發展,數字視頻圖像的采集、存儲、處理及傳輸技術在最近幾年得到了廣泛的應用和發展,各類圖像采集及處理系統已經逐漸深入到人們生活的各個方面。與視頻采集卡等傳統圖像采集系統相比,嵌入式圖像采集系統具有體積小、成本低、可靠性高等優點,在智能交通、遠距離監控、計算機視覺等領域應用廣泛。本文介紹了一種應用ARM微處理芯片和WinCE操作系統的圖像采集解決方案。
1 系統總體設計
該設計主要由3大部分組成,USB攝像頭通過USB接口與AMR開發板(下位機)相連,PC機(上位機)通過網絡接口(網卡)和以太網線與ARM開發板相連。攝像頭負責對圖像數據的采集,然后將數據傳送到運行在WinCE上的服務端程序,服務端程序負責將采集到的圖像數據進行處理,然后再將其傳送到運行在PC機上客戶端程序并顯示出來。系統總體框圖如圖1所示。
2 系統硬件組成
利用ARM9S3C2440A開發板以及一只中星微芯片ZC030x系列的USB攝像頭作為硬件環境,在開發板上燒寫一個WinCE 5.0的操作系統,并編寫一個服務端程序。這個服務端程序運行在WinCE 5.0上,主要完成調用攝像頭進行圖像采集功能,然后將采集到的圖像數據通過以太網傳送到PC機上。這就實現了一個基于嵌入式平臺的圖像采集與傳輸系統的簡單架構。日后可根據實際需要,在這個架構的基礎上進行改進以及增加需要的功能。
目前用于攝像頭的DSP主要有中國中星微公司的DSP芯片(ZC030X)和美國OV公司的OV511+芯片。在國內市場上,USB攝像頭基本上采用中星微公司的DSP芯片,而OVS11+芯片的攝像頭則比較難找到。考慮到中星微的市場普及率,本系統采用了ZC030x的DSP芯片。
3 系統軟件的開發
3.1 WinCE驅動架構
在WinCE下的驅動開發,需要面向上下2個界面,即:WinCE的驅動結構和具體硬件的Datasheet,所以必須首先深入了解一下WinCE整個系統驅動架構。在WinCE下驅動模型分為本機驅動模型和流接口驅動模型。本機驅動程序用于低級、內置設備,提供一組微軟定制的接口,可以通過移植和定制微軟提供的驅動樣例來實現。
3.2 圖像采集模塊
圖像數據是通過攝像頭來采集的,服務端如何調用攝像頭已成為問題的關鍵。硬件與軟件之間的聯系,必須通過驅動程序來實現。攝像頭的驅動已經封裝成動態鏈接庫DLL文件了,而且還提供了所有的功能接口函數。因此,只要直接調用其接口函數就能夠實現相應的功能。具體的步驟是打開攝像頭設備,初始化攝像頭設備,初始化視頻信息,獲取視頻幀與JPEG圖像,關閉視頻設備。其中,獲取視頻幀與JPEG圖像最關鍵,獲取視頻幀與JPEG圖像的主要代碼如下:
3.3 建立與PC操作系統與WinCE系統文件同步
要建立ARM板上的WinCE與PC機上的操作系統同步,必須安裝微軟提供的同步軟件ActiveSync。安裝該軟件的主要作用是通過USB接口把PC機上編譯的應用程序或者驅動文件下載到WinCE上,其界面如圖2所示。
4 系統測試
聯機總體調試,也就是將應用程序下載到實際ARM開發板中進行測試。通過上文所述步驟,基本上已將測試環境部署好了,接下來還有一些部署工作需要完成。具體步驟如下:
(1)用交叉網線將ARM板的網絡接口與PC機的網絡接口連接起來。
(2)利用同步軟件ActiveSync將驅動文件ZC030x.dll和應用服務端程序下載到WinCE系統。將ZC030x.dll放到Windows文件夾下。
(3)插入USB攝像頭,此時操作系統會提示輸入檢測到的設備驅動名稱,然后輸入“ZC030x”。
(4)在WinCE上運行服務端程序,運行界面如圖3所示。
(5)在PC機上運行客戶端程序,成功接收到JPEG圖像,運行界面如圖4所示。
5 結語
設計了采用USB攝像頭與S3C2440處理器組成的嵌入式圖像采集系統,經在PC機上運行客戶端程序,成功地接收到了JPEG圖像。試驗表明,該系統具有體積小,穩定性高和快速開發的優點。