国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于嵌入式Windows CE5.0的無線監(jiān)控系統(tǒng)研究

2009-05-12 03:14許雪梅郭遠(yuǎn)威吳愛軍徐蔚欽
現(xiàn)代電子技術(shù) 2009年2期
關(guān)鍵詞:PC機(jī)串口嵌入式

許雪梅 郭遠(yuǎn)威 吳愛軍 黃 帥 徐蔚欽 周 文

摘 要:以ARM9微處理器作為核心板的控制器,搭建無線視頻監(jiān)控系統(tǒng)硬件平臺,擴(kuò)展基于OV9650芯片的攝像頭接口和GPRS無線傳輸模塊的串口接口。利用Platform Builder5.0定制了合適的WinCE5.0的操作系統(tǒng)平臺,開發(fā)了OV9650芯片和GPRS傳輸模塊的串口驅(qū)動,設(shè)計了PC機(jī)端的監(jiān)控系統(tǒng)的軟件,研究開源的XVID MPEG-4視頻編解碼軟件以及GPRS傳輸流程。通過有機(jī)結(jié)合事件編程和消息機(jī)制編程,調(diào)用底層VFW接口中的WIN32 API函數(shù)實(shí)現(xiàn)了監(jiān)控軟件的編譯。該監(jiān)控系統(tǒng)具有實(shí)時抓拍、定時監(jiān)控、錄像、安裝方便等特點(diǎn)。

關(guān)鍵詞:視頻監(jiān)控;嵌入式系統(tǒng);WinCE5.0;ARM9;GPRS

中圖分類號:TP277文獻(xiàn)標(biāo)識碼:A

文章編號:1004 373X(2009)02 025 05

Research of Wireless Monitoring System Based on Embedded Windows CE5.0

XU Xuemei,GUO Yuanwei,WU Aijun,HUANG Shuai,XU Weiqin,ZHOU Wen

(School of Physics Science and Technology,Central South University,Changsha,410083,China)

Abstract:ARM9 microprocessors as a core to the controller boards,a wireless video monitoring system′s hardware platform is built up,the camera interface based on the chip OV9650 and serial interface of GPRS wireless transmission are expanded.The appropriate WinCE5.0 operating system platform is customized,using platform Builder 5.0,the serial drive module of OV9650 chip and GPRS transmission is developed.A PC-monitoring system software is designed to study the revenue XVID MPEG-4 video decoding software,and GPRS transmission process.Through organic combination of events programming and news programming mechanism,the bottom of VFW interface WIN32 API function to achieve the monitoring software compiler.The monitoring system has performances of real-time capture,regular monitoring,video,installation,and other convenient features.

Keywords:video surveillance;embedded system;WinCE5.0;ARM9;GPRS

0 引 言

傳統(tǒng)的視頻監(jiān)控系統(tǒng)主要以模擬信號監(jiān)控系統(tǒng)和基于插卡的數(shù)字監(jiān)控系統(tǒng)為主。其中模擬信號監(jiān)控系統(tǒng)布線工程量大,要耗費(fèi)大量的存儲介質(zhì),查詢?nèi)∽C也十分繁瑣;基于插卡的數(shù)字監(jiān)控系統(tǒng)是由1臺PC機(jī)加圖像采集卡完成的,系統(tǒng)的成本高,而且PC機(jī)需要有人值守,無法在惡劣環(huán)境下使用。在視頻監(jiān)控領(lǐng)域中,如何使信息傳輸?shù)酶?,更穩(wěn)定,距離更遠(yuǎn),系統(tǒng)的成本、體積、功耗更低等問題是擺在當(dāng)前技術(shù)研發(fā)人員面前的首要問題。

在此提出一種基于嵌入式Windows CE5.0的無線視頻監(jiān)控系統(tǒng)。解決了傳統(tǒng)視頻監(jiān)控系統(tǒng)成本高、體積大、傳輸距離有限、功耗大、安裝不方便等問題。該系統(tǒng)的設(shè)計將為無線視頻監(jiān)控提供一種新的思路、方法和技術(shù)路線;在安防、遠(yuǎn)程教育、遠(yuǎn)程視頻會議、醫(yī)療系統(tǒng)等無線視頻領(lǐng)域具有廣闊的應(yīng)用前景。

1 系統(tǒng)的整體硬件框圖介紹

基于嵌入式WinCE5.0的無線監(jiān)控系統(tǒng)[1]的硬件系統(tǒng)主要由嵌入式終端和服務(wù)器端的PC機(jī)組成。嵌入式終端平臺的微處理器選擇的是基于ARM9T20內(nèi)核[2]的S3C2440,S3C2440有豐富的接口,其中攝像頭接口與CMOS的攝像頭相連,串口與GPRS發(fā)射模塊相連;服務(wù)器端主要是1臺PC機(jī)和GPRS接收模塊。整個框圖如1所示。

系統(tǒng)首先通過S3C2440微處理器[3]控制CMOS 攝像頭采集圖像數(shù)據(jù),經(jīng)過壓縮編碼后,再通過GPRS無線發(fā)射模塊將壓縮后的數(shù)據(jù)發(fā)射出去,在服務(wù)器端的PC機(jī)通過GPRS接收模塊接收數(shù)據(jù),并通過相應(yīng)的應(yīng)用程序,對視頻數(shù)據(jù)進(jìn)行解碼,并通過屏幕顯示出來。其中包含有S3C2440微處理器的嵌入式終端平臺的核心控制板如圖2所示。

2 系統(tǒng)的擴(kuò)展接口設(shè)計

2.1 攝像頭接口設(shè)計

攝像頭中用的圖像采集芯片為OV9650圖像傳感器[4],該圖像傳感器具有10位的數(shù)據(jù)接口和標(biāo)準(zhǔn)的SCCB接口,采用CSP-28封裝,體積小。

該芯片支持RGB(4∶2∶2),YUV(4∶2∶2),YCrCb(4∶2∶2)三種數(shù)據(jù)輸出格式,內(nèi)置138個設(shè)備控制寄存器,地址分別從0x00~0x8A,通過SCCB接口可以方便地設(shè)置傳感器視窗大小、增益、白平衡校正、曝光控制、飽和度、色調(diào)等參數(shù)。包含有圖像傳感器OV9650攝像頭模塊如圖3所示。

圖2 嵌入式終端平臺

的核心控制板

圖3 攝像頭模塊

S3C2440有一個專用的攝像頭接口,CPU可以直接和CMOS圖像傳感器連接,當(dāng)OV9650輸出數(shù)據(jù)格式為 8位的YUV時,要用到數(shù)據(jù)線 D2~D9(D9為MSB位,D2為LSB位);當(dāng)輸出的數(shù)據(jù)格式為10位RGB,用數(shù)據(jù)線D0~D9(D9為MSB位,D0為LSB位),該系統(tǒng)用YUV格式。該攝像頭模塊與S3C2440的Camera接口連接,其電路圖分別如圖4~圖6所示。

圖4 數(shù)據(jù)線連接圖

其中用到了TI公司的電平轉(zhuǎn)換芯片74LVC4245,是一種雙電源的電平移位器,電平移位在其內(nèi)部進(jìn)行。5 V端用5 V電源作為V璂D_CAM,而3.3 V端則用3.3 V作為V瑿C33。雙電源能保證兩邊端口的輸出擺幅都能達(dá)到滿電源幅值。

2.2 GPRS模塊的接口設(shè)計

S3C2440有3個UART通道,利用其中一個通道設(shè)計串口,使其與GPRS模塊[5]連接,由于S3C2440自帶的UART控制器,使得硬件開發(fā)和軟件設(shè)計都比較簡單。但RS 232標(biāo)準(zhǔn)所定義的高、低電平信號,與一般的微控制器系統(tǒng)的電路所定義的高、低電平信號完全不同,如S3C2440系統(tǒng)的標(biāo)準(zhǔn)邏輯“1”對應(yīng)電平2~3 V,標(biāo)準(zhǔn)邏輯“0”對應(yīng)0~4 V電平。顯然,與RS 232標(biāo)準(zhǔn)所述的電平信號完全不同。兩者之間要進(jìn)行通信,必須經(jīng)過信號電平的轉(zhuǎn)換,目前常使用的電平轉(zhuǎn)換芯片有MAX232,MAX3221和MAX3243,具體設(shè)計電路如圖7和圖8所示。

圖5 像素時鐘、同步信號連接圖

圖6 攝像頭時鐘、復(fù)位信號連接圖

圖7 串口設(shè)計電路圖

圖8 電平轉(zhuǎn)換芯片MAX3232C與S3C2440連接電路圖

3 操作系統(tǒng)平臺的定制

Windows CE是高度模塊化[6]的嵌入式操作系統(tǒng),正因?yàn)槿绱耍脩魹榱藵M足特定的要求而對操作系統(tǒng)進(jìn)行定制,如果為自己的嵌入式設(shè)備定制Windows CE操作系統(tǒng),則須進(jìn)行創(chuàng)建、構(gòu)建、運(yùn)行和發(fā)布 OS等一系列操作。在無線視頻監(jiān)控系統(tǒng)中,根據(jù)功能要求,利用Platform Builder5.0定制系統(tǒng)[7]的流程如下:

(1) 導(dǎo)入BSP開發(fā)包。由于用的是三星公司的基于ARM920T核的S3C2440,所以在BSP包中找到SMDK2440文件下的SMDK2440.CEC文件將其導(dǎo)入。打開“Platform Builder5.0”,選擇“File”菜單下的“Manage Catalog Features”,如圖9所示。在彈出的對話框中單擊“Import”,瀏覽到SMDK2440文件下的smdk2440.cec文件,將其導(dǎo)入。

圖9 打開組件目錄管理窗口

(2) 創(chuàng)建項目。根據(jù)WinCE無線監(jiān)控系統(tǒng)的要求,在定制系統(tǒng)的過程中選擇合適的組件來實(shí)現(xiàn)。其中包括的組件有:支持應(yīng)用程序開發(fā)的MFC組件和支持網(wǎng)絡(luò)的相關(guān)組件等。

(3) 編譯項目:點(diǎn)擊菜單“Build OS”→“Sysgen”開始編譯項目。

(4) 下載運(yùn)行時映像,調(diào)試成功后啟動。編譯成功后會在目WinCE500\PBWorkspaces\test1\RelDir\smdk2440_ ARMV4I_Release下生成nk.bin和nk.nb0等文件,將nk.nb0下載到硬件平臺上運(yùn)行。

4 驅(qū)動程序的開發(fā)

4.1 攝像頭驅(qū)動的開發(fā)

攝像頭驅(qū)動開發(fā)[8-10]是設(shè)計中的一個難點(diǎn),也是一個關(guān)鍵部分。由于攝像頭采集的視頻數(shù)據(jù)可以當(dāng)作數(shù)據(jù)流來處理,所以對于攝像頭的驅(qū)動將采用流式接口的方法來開發(fā)。

(1) 在Platform Builder中打開前面定制的操作系統(tǒng)工程,然后在新建一個WIN32 DLL項目,添加2個C++的源文件,即:camera.cpp和IIc.cpp,其中camera.cpp包含驅(qū)動的入口函數(shù)DLLMain();驅(qū)動的前綴為“CIS”,IIc.cpp包含通過ICC接口對攝像頭相關(guān)寄存器進(jìn)行配置的函數(shù)。

(2) 根據(jù)前面的硬件電路和OV9650芯片的工作時序,通過編寫流接口的CIS_Init函數(shù)實(shí)現(xiàn)OV9650初始化。主要包括以下3步:調(diào)用InterruptInitialize(SYSINTR_CAM,CameraEvent,NULL,0)函數(shù)通知系統(tǒng)注冊中斷;調(diào)用CreateEvent()函數(shù)創(chuàng)建一個 CameraEvent 事件;調(diào)用CreateThread ()函數(shù)創(chuàng)建CameraThread 線程。在Camera Capture Thread服務(wù)函數(shù)中調(diào)用WaitForSingleObject (CameraEvent,Display Time)函數(shù)等待Camera Event事件的發(fā)生。此事件由與其關(guān)聯(lián)的 SYSINTR_CAM中斷來觸發(fā)。此外還有其它流接口函數(shù)(CIS_IOControl等)也可以以類似的方法實(shí)現(xiàn)。

(3) 編寫DLL的導(dǎo)出函數(shù)定義文件.DEF。.DEF文件定義了DLL的導(dǎo)出函數(shù)類表。.DEF文件可以就用一般的記事本編輯,保存時后綴名改為.DEF即可,關(guān)于本攝像頭驅(qū)動的.DEF文件內(nèi)容如下:

LIBRARYCAMERA

EXPORTS

CIS_Close

CIS_Deinit

CIS_Init

CIS_IOControl

CIS_Open

CIS_PowerDown

CIS_PowerUp

CIS_Read

CIS_Seek

CIS_Write

(4) 為驅(qū)動程序配置注冊表。在 platform.reg 中添加以下注冊項即可:

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Camera]

"Prefix"="CIS"

"Dll"="camera.dll"

"Index"=dword:1

"Order"=dword:1

在攝像頭驅(qū)動開發(fā)完成后,通過編寫應(yīng)用程序在嵌入式終端的觸摸屏上顯示出來,如圖10所示。首先通過CreateWindow這個API函數(shù)創(chuàng)建一個用來顯示圖像的窗體,然后創(chuàng)建回調(diào)函數(shù)CaptureThreadProc的線程,在回調(diào)函數(shù)中根據(jù)不同的操作向操作系統(tǒng)發(fā)送不同的消息值,處理圖像的讀取、顯示等。測試結(jié)果如圖11所示。

圖10 定制的WinCE系統(tǒng)在硬件平臺上運(yùn)行

圖11 攝像頭驅(qū)動測試(圖像的采集和顯示)

4.2 串口驅(qū)動開發(fā)

在Windows CE中串口的驅(qū)動實(shí)現(xiàn)是有固定模型的,基于流驅(qū)動模型,采用分層結(jié)構(gòu)。串口驅(qū)動的開發(fā)的步驟和上面攝像頭驅(qū)動開發(fā)的步驟一樣,關(guān)鍵是實(shí)現(xiàn)流接口函數(shù),由于這里采用了分層的結(jié)構(gòu),MDD層的代碼可以參考微軟提供的源代碼在%_WINCEROOT%\PUBLIC\COMMON\OAK\DRIVERS\SERIAL\COM_MDD2目錄下,PDD層中的代碼是與硬件相關(guān)的代碼,需要針對不同的設(shè)備來編寫。MDD層中的代碼調(diào)用PDD層中的代碼來實(shí)現(xiàn)具體的硬件操作。串口驅(qū)動的結(jié)構(gòu)如圖12所示。

圖12 串口的驅(qū)動結(jié)構(gòu)

5 PC機(jī)端監(jiān)控中心程序的開發(fā)

監(jiān)控中心是無線視頻監(jiān)控系統(tǒng)的核心部分,它負(fù)責(zé)管理整個系統(tǒng)并顯示監(jiān)控的圖像。在該論

文中,監(jiān)控中心的應(yīng)用程序[11-13]實(shí)現(xiàn)了實(shí)時監(jiān)控、定時錄像、抓拍等功能。在系統(tǒng)中監(jiān)控程序的開發(fā),同時使用了C#語言和WIN32 API,利用C#語言基于事件的編程方法,設(shè)計了程序圖形界面,利用VFW接口中的API函數(shù)基于消息機(jī)制設(shè)計了底層圖像數(shù)據(jù)的讀取和顯示。該系統(tǒng)中API函數(shù)主要來自于VFW軟件工具包。VFW(Video for Windows)提供了一系列應(yīng)用程序編程接口(API),用戶可以通過它們很方便地實(shí)現(xiàn)視頻捕獲、視頻編輯及視頻播放等通用功能,還可利用回調(diào)函數(shù)開發(fā)更復(fù)雜的視頻應(yīng)用程序。其特點(diǎn)是播放視頻時,不需要專用的硬件設(shè)備,而且應(yīng)用靈活,可以滿足視頻應(yīng)用程序開發(fā)的需要。監(jiān)控中心的程序調(diào)試運(yùn)行效果如圖13所示。

圖13 PC機(jī)端監(jiān)控中心的程序運(yùn)行效果

6 視頻壓縮編碼和傳輸理論研究

6.1 視頻壓縮編碼研究

圖像和視頻包含巨大數(shù)量的信息,其傳輸和存儲需要很寬的帶寬,多媒體視頻數(shù)據(jù)在無線傳輸之前,必須進(jìn)行壓縮。常用的數(shù)字壓縮技術(shù)[14]主要包括用于會議電視系統(tǒng)的H.261壓縮編碼,用于計算機(jī)靜止圖像壓縮的JPEG和用于活動圖像壓縮的MPEG數(shù)字壓縮技術(shù)和近年來比較熱點(diǎn)的H.263和H.264壓縮編碼技術(shù)。MPEG-4[15]采用新一代視頻編碼技術(shù),它在視頻編碼發(fā)展史上第一次把編碼對象從圖像幀拓展到具有實(shí)際意義的任意形狀視頻對象,從而實(shí)現(xiàn)了從基于像素的傳統(tǒng)編碼向基于對象和內(nèi)容的現(xiàn)代編碼的轉(zhuǎn)變,因而引領(lǐng)著新一代智能圖像編碼的發(fā)展潮流。

由于MPEG-4壓縮編碼系統(tǒng)比較復(fù)雜,在論文中將重點(diǎn)對MPEG-4壓縮編碼技術(shù)進(jìn)行研究,分析其在PC機(jī)上的壓縮編碼的源碼,為以后在ARM等嵌入式設(shè)備上的移植奠定基礎(chǔ)。對一幀圖像進(jìn)行MPEG-4編碼的流程如圖14所示。

圖14 一幀圖像進(jìn)行MPEG-4編碼的流程

編譯開源的MPEG-4 XVID模型的源代碼,將生成一個xvidcore.dll文件,在應(yīng)用程序開發(fā)中調(diào)用庫中的相關(guān)函數(shù),程序執(zhí)行過程如圖15所示。其中程序在PC機(jī)上測試,先從攝像頭中讀取視頻數(shù)據(jù),再進(jìn)行MPEG-4編碼。

6.2 無線傳輸研究

GPRS采用基于分組傳輸模式的無線IP技術(shù)[16-18],以一種有效的方式高速傳送數(shù)據(jù),支持Internet上應(yīng)用最廣泛的IP協(xié)議[19]和X.25協(xié)議,傳輸速率最高達(dá)117 KB/s,所以視頻數(shù)據(jù)通過MPEG-4壓縮后,完全可以通過GPRS模塊進(jìn)行傳輸。在此傳輸過程中通信的連接建立、數(shù)據(jù)傳輸?shù)炔僮鞫际峭ㄟ^TCP/IP網(wǎng)絡(luò)的API,Socket接口實(shí)現(xiàn)。整個無線傳輸效果如圖16所示。

圖15 圖像的MPEG-4編碼過程

圖16 PC機(jī)上圖像的MPEG-4編碼

7 結(jié) 語

基于Windows CE5.0的無線監(jiān)控系統(tǒng)涉及到了計算機(jī)編程技術(shù)、嵌入式技術(shù)、視頻編碼、無線傳輸?shù)榷喾矫娴闹R,在此課題中完成了大量的工作,測試結(jié)果達(dá)到了該論文預(yù)期的目的。嵌入式終端平臺具有體積小、功耗低、運(yùn)行速度快、采集的圖像清晰等特點(diǎn),在監(jiān)控中心程序的設(shè)計也具有友好的人機(jī)交互界面,實(shí)現(xiàn)了定時監(jiān)控、錄像、拍照等功能。視頻壓縮與無線傳輸方面從理論上研究方法的可行性,提出具體的解決方法,這為以后進(jìn)一步完善系統(tǒng)奠定了堅實(shí)的基礎(chǔ)。

參考文獻(xiàn)

[1]傅曦,陳黎.Windows CE嵌入式開發(fā)入門基于Xscal架構(gòu)[M].北京:人民郵電出版社,2006.

[2]Dagger D,Seal D.ARM Architecture Reference Manual[M].USA:Addison-Wesley Pub Co.,2002.

[3]怯肇乾.嵌入式系統(tǒng)硬件體系設(shè)計[M].北京:北京航空航天大學(xué)出版社,2007.

[4]蘭勇,馮寶祥.嵌入式ARM實(shí)戰(zhàn)手冊[Z].廣州:廣東省嵌入式軟件公共技術(shù)中心,2006.

[5]Saurabh Jain,Dharma P Agrawal.Wireless Community Networks[J].IEEE Computer,2003,8:90-92.

[6]Microsoft.Platform Builder for Windows CE5.0 Help[J].America:Microsoft Corporation,2004,9:110-150.

[7]Wang An-Hsiang,Lai Yueh-Yuan,Sun Cheng-Tung.Effects of Palm and WinCE Menu-design for PDA on Users′ Operating Performance and Subjective Preference[J].Displays,2005,26:97-102.

[8]齊曉靜.Windows CE OAL層的結(jié)構(gòu)與開發(fā)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2005(2):30-33.

[9]Jay Loney.Windows CE.ENT Device Driver Architecture[J].IEEE Computer,2003,10:70-80.

[10]Wilson Y James.Windows CE Device Driver Development[J].Part I.MA:Dr.Dobb′s Journal of Software Tools for Professional Programmer,1998.

[11]Sridhar T.Designing Embeddded Communications Software[M].USA:CMP Books,2003.

[12]姜波.Windows CE.Net程序設(shè)計[M].北京:機(jī)械工業(yè)出版社,2006.

[13]田東風(fēng).Windows CE應(yīng)用程序設(shè)計[M].北京:機(jī)械工業(yè)出版社,2003.

[14]劉豐.視頻圖像編碼技術(shù)及國際標(biāo)準(zhǔn)[M].北京:北京郵電大學(xué)出版社,2005.

[15]Talluri.Video coding in the ISO MPEG-4 Standard[J].IEEE Communication Magazine,1998,36(6):112-119.

[16]宋健,王直杰.基于Windows CE.NET下的GPRS模塊的研究與開發(fā)[J].微計算機(jī)信息,2006(11):131-134.

[17] 拉帕波特.無線通信原理與應(yīng)用[M].北京:電子工業(yè)出版社,2006.

[18]Dunlop I,Gozalvez J.Performance of Link Adaptation in GPRS[J].Electronics Letters,2003,1:50-55.

[19]都沁萍.解析TCP與UDP協(xié)議及其異同[J].電腦知識與技術(shù),2004(5):79-81.

作者簡介

許雪梅 1971年出生,博士,副教授,碩士研究生導(dǎo)師。主要研究方向?yàn)榍度胧较到y(tǒng)在無線通信中的應(yīng)用。

郭遠(yuǎn)威 1985年出生,碩士研究生。研究方向?yàn)闊o線監(jiān)控系統(tǒng)的研究。

吳愛軍 1986年出生,碩士研究生。研究方向?yàn)閁SB驅(qū)動的開發(fā)。

黃 帥 1986年出生,碩士研究生。研究方向?yàn)镈SP的開發(fā)與研究。

猜你喜歡
PC機(jī)串口嵌入式
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
搭建基于Qt的嵌入式開發(fā)平臺
基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
排除OLT設(shè)備登錄故障
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時無線通信
Altera加入嵌入式視覺聯(lián)盟
雷州市| 洛扎县| 长春市| 湘西| 新绛县| 武威市| 吴江市| 巧家县| 鄂伦春自治旗| 远安县| 米易县| 四子王旗| 九江市| 贵定县| 敦煌市| 石家庄市| 开化县| 竹山县| 文山县| 裕民县| 库车县| 金坛市| 探索| 甘洛县| 湛江市| 淮阳县| 宜兴市| 海兴县| 鄯善县| 辽宁省| 临清市| 洱源县| 北京市| 邹城市| 刚察县| 永清县| 营口市| 沧州市| 银川市| 大关县| 驻马店市|