無線網絡技術在近一兩年開始全面普及,無論是在家庭用戶還是企業用戶中,我們都能看到無線技術的影子。 認識無線監控,相信大家對有線監控系統比較了解,有線監控系統主要由網絡攝像機、云臺、視頻服務器、監控終端等設備組成。而無線監控系統所需要的設備則比較簡單,它只需要無線網絡攝像機、無線AP、監控終端等設備組成,如果需要遠距離無線監控,還要增加戶外無線網橋等設備。 在此提出一種基于嵌入式Windows CE5.O的無線視頻監控系統。解決了傳統視頻監控系統成本高、體積大、傳輸距離有限、功耗大、安裝不方便等問題。該系統的設計將為無線視頻監控提供一種新的思路、方法和技術路線;在安防、遠程教育、遠程視頻會議、醫療系統等無線視頻領域具有廣闊的應用前景。 Windows CE作業系統是Windows家族中最新的成員,專門設計給掌上型電腦(HPCs)所使用的電腦環境。這樣的作業系統可使完整的可攜式技術與現有的Windows桌面技術整合工作。 Windows CE 被設計成針對小型設備(它是典型的擁有有限內存的無磁盤系統)的通用操作系統, Windows CE 可以通過設計一層位于內核和硬件之間代碼來用設定硬件平臺,這即是眾所周知的硬件抽象層(HAL)(在以前解釋時,這被稱為 OEMC (原始設備制造)適應層,即 OAL; 內核壓縮層,即 KAL. 以免與微軟的 Windows NT 操作系統 HAL 混淆)。 1 系統的整體硬件框圖介紹 基于嵌入式WinCE5.0的無線監控系統的硬件系統主要由嵌入式終端和服務器端的PC機組成。嵌入式終端平臺的微處理器選擇的是基于ARM9T20內核的S3C2440,S3C2440有豐富的接口,其中攝像頭接口與CMOS的攝像頭相連,串口與GPRS發射模塊相連;服務器端主要是1臺PC機和GPRS接收模塊。整個框圖如1所示。 系統首先通過S3C2440微處理器控制CMOS攝像頭采集圖像數據,經過壓縮編碼后,再通過GPRS無線發射模塊將壓縮后的數據發射出去,在服務器端的PC機通過GPRS接收模塊接收數據,并通過相應的應用程序,對視頻數據進行解碼,并通過屏幕顯示出來。其中包含有S3C2440微處理器的嵌入式終端平臺的核心控制板如圖2所示。 2 系統的擴展接口設計 2.1 攝像頭接口設計 攝像頭(CAMERA)又稱為電腦相機,電腦眼等,是一種視頻輸入設備,被廣泛的運用于視頻會議,遠程醫療及實時監控等方面。普通的人也可以彼此通過攝像頭在網絡進行有影像、有聲音的交談和溝通。另外,人們還可以將其用于當前各種流行的數碼影像,影音處理。 攝像頭中用的圖像采集芯片為OV9650圖像傳感器,該圖像傳感器具有10位的數據接口和標準的SCCB接口,采用CSP一28封裝,體積小。 該芯片支持RGB(4:2:2),YUV(4:2:2),YCrCb(4:2:2)三種數據輸出格式,內置138個設備控制寄存器,地址分別從Ox00~Ox8A,通過SCCB接口可以方便地設置傳感器視窗大小、增益、白平衡校正、曝光控制、飽和度、色調等參數。包含有圖像傳感器OV9650攝像頭模塊如圖3所示。 S3C2440有一個專用的攝像頭接口,CPU可以直接和CMOS圖像傳感器連接,當0V9650輸出數據格式為8位的YUV時,要用到數據線D2~D9(D9為MSB位,D2為LSB位);當輸出的數據格式為10位RGB,用數據線D0~D9(D9為MSB位,D0為LSB位),該系統用YUV格式。該攝像頭模塊與S3C2440的Camera接口連接,其電路圖分別如圖4~圖6所示。 其中用到了TI公司的電平轉換芯片74LVC4245,是一種雙電源的電平移位器,電平移位在其內部進行。5 V端用5 V電源作為VDD_CAM,而3.3 V端則用3.3 V作為VCC33。雙電源能保證兩邊端口的輸出擺幅都能達到滿電源幅值。 2.2 GPRS模塊的接口設計 通用分組無線服務技術(General Packet Radio Service)的簡稱,它是GSM移動電話用戶可用的一種移動數據業務。GPRS可說是GSM的延續。GPRS和以往連續在頻道傳輸的方式不同,是以封包(Packet)式來傳輸,因此使用者所負擔的費用是以其傳輸資料單位計算,并非使用其整個頻道,理論上較為便宜。GPRS的傳輸速率可提升至56甚至114Kbps. S3C2440有3個UART通道,利用其中一個通道設計串口,使其與GPRS模塊連接,由于S3C2440自帶的UART控制器,使得硬件開發和軟件設計都比較簡單。但RS 232標準所定義的高、低電平信號,與一般的微控制器系統的電路所定義的高、低電平信號完全不同,如S3C2440系統的標準邏輯“1”對應電平2~3 V,標準邏輯“O”對應0~4 V電平。顯然,與RS 232標準所述的電平信號完全不同。兩者之間要進行通信,必須經過信號電平的轉換,目前常使用的電平轉換芯片有MAX232,MAX3221和MAX324.3,具體設計電路如圖7和圖8所示。 3 操作系統平臺的定制 Windows CE是高度模塊化的嵌入式操作系統,正因為如此,用戶為了滿足特定的要求而對操作系統進行定制,如果為自己的嵌入式設備定制Windows CE操作系統,則須進行創建、構建、運行和發布OS等一系列操作。在無線視頻監控系統中,根據功能要求,利用Platform Builder5.0定制系統的流程如下: (1)導入BSP開發包。由于用的是三星公司的基于ARM920T核的S3C2440,所以在BSP包中找到SMDK2440文件下的SMDK2440.CEC文件將其導入。打開“Platform Builder5.0”,選擇“File”菜單下的 “Manage Catalog Features”,如圖9所示。在彈出的對 話框中單擊“Import”,瀏覽到SMDK2440文件下的 smdk2440.cec文件,將其導入。 (2)創建項目。根據WinCE無線監控系統的要求,在定制系統的過程中選擇合適的組件來實現。其中包括的組件有:支持應用程序開發的MFC組件和支持網絡的相關組件等。 (3)編譯項目:點擊菜單“Build OS”→“Sysgen”開始編譯項目。 (4)下載運行時映像,調試成功后啟動。編譯成功后會在目WinCES00PBWorkspacestestlRelDirsmdk2 440_ARMV4I_Release下生成nk.bin和nk.nb0等文件,將nk.nb0下載到硬件平臺上運行。 4 驅動程序的開發 4.1 攝像頭驅動的開發 攝像頭驅動開發是設計中的一個難點,也是一個關鍵部分。由于攝像頭采集的視頻數據可以當作數據流來處理,所以對于攝像頭的驅動將采用流式接口的方法來開發。 (1)在Platform Builder中打開前面定制的操作系統工程,然后在新建一個WIN32 DLL項目,添加2個C++的源文件,即:camera.cpp和IIc.cpp,其中camer—a.cpp包含驅動的入口函數DLLMain();驅動的前綴為“CIS”,IIc.cpp包含通過ICC接口對攝像頭相關寄存器進行配置的函數。 (2)根據前面的硬件電路和OV9650芯片的工作時序,通過編寫流接口的CIS_Init函數實現OV9650初始化。主要包括以下3步:調用InterruptInitialize(SYSINTR_CAM,CameraEvent,NULL,0)函數通知系統注冊中斷;調用CreateEvent()函數創建一個CameraEvent事件;調用CreateThread()函數創建CameraThread線程。在Camera Capture Thread服務函數中調用WaitForSingleObject(CameraEvent,Dis—play Time)函數等待Camera Event事件的發生。此事件由與其關聯的SYSINTR_CAM中斷來觸發。此外還有其它流接口函數(CIS_IOControl等)也可以以類似的方法實現。 |