<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于嵌入式WinCE5.0的無線監(jiān)控系統(tǒng)

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

          作者: 時(shí)間:2012-08-30 來源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/148483.htm


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


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

          系統(tǒng)首先通過S3C2440微處理器控制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è)計(jì)
          2.1 攝像頭接口設(shè)計(jì)
          攝像頭中用的圖像采集芯片為OV9650圖像傳感器,該圖像傳感器具有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個(gè)設(shè)備控制寄存器,地址分別從Ox00~Ox8A,通過SCCB接口可以方便地設(shè)置傳感器視窗大小、增益、白平衡校正、曝光控制、飽和度、色調(diào)等參數(shù)。包含有圖像傳感器OV9650攝像頭模塊如圖3所示。
          S3C2440有一個(gè)專用的攝像頭接口,CPU可以直接和CMOS圖像傳感器連接,當(dāng)0V9650輸出數(shù)據(jù)格式為8位的YUV時(shí),要用到數(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所示。

          其中用到了TI公司的電平轉(zhuǎn)換芯片74LVC4245,是一種雙電源的電平移位器,電平移位在其內(nèi)部進(jìn)行。5 V端用5 V電源作為VDD_CAM,而3.3 V端則用3.3 V作為VCC33。雙電源能保證兩邊端口的輸出擺幅都能達(dá)到滿電源幅值。
          2.2 GPRS模塊的接口設(shè)計(jì)
          S3C2440有3個(gè)UART通道,利用其中一個(gè)通道設(shè)計(jì)串口,使其與GPRS模塊連接,由于S3C2440自帶的UART控制器,使得硬件開發(fā)和軟件設(shè)計(jì)都比較簡單。但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)邏輯“O”對應(yīng)0~4 V電平。顯然,與RS 232標(biāo)準(zhǔn)所述的電平信號完全不同。兩者之間要進(jìn)行通信,必須經(jīng)過信號電平的轉(zhuǎn)換,目前常使用的電平轉(zhuǎn)換芯片有MAX232,MAX3221和MAX324.3,具體設(shè)計(jì)電路如圖7和圖8所示。

          3 操作系統(tǒng)平臺的定制
          Windows CE是高度模塊化的嵌入式操作系統(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)的流程如下:
          (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)入。

          (2)創(chuàng)建項(xiàng)目。根據(jù)WinCE無線監(jiān)控系統(tǒng)的要求,在定制系統(tǒng)的過程中選擇合適的組件來實(shí)現(xiàn)。其中包括的組件有:支持應(yīng)用程序開發(fā)的MFC組件和支持網(wǎng)絡(luò)的相關(guān)組件等。
          (3)編譯項(xiàng)目:點(diǎn)擊菜單“Build OS”→“Sysgen”開始編譯項(xiàng)目。
          (4)下載運(yùn)行時(shí)映像,調(diào)試成功后啟動(dòng)。編譯成功后會(huì)在目WinCES00PBWorkspacestestlRelDirsmdk2 440_ARMV4I_Release下生成nk.bin和nk.nb0等文件,將nk.nb0下載到硬件平臺上運(yùn)行。

          4 驅(qū)動(dòng)程序的開發(fā)
          4.1 攝像頭驅(qū)動(dòng)的開發(fā)
          攝像頭驅(qū)動(dòng)開發(fā)是設(shè)計(jì)中的一個(gè)難點(diǎn),也是一個(gè)關(guān)鍵部分。由于攝像頭采集的視頻數(shù)據(jù)可以當(dāng)作數(shù)據(jù)流來處理,所以對于攝像頭的驅(qū)動(dòng)將采用流式接口的方法來開發(fā)。
          (1)在Platform Builder中打開前面定制的操作系統(tǒng)工程,然后在新建一個(gè)WIN32 DLL項(xiàng)目,添加2個(gè)C++的源文件,即:camera.cpp和IIc.cpp,其中camer—a.cpp包含驅(qū)動(dòng)的入口函數(shù)DLLMain();驅(qū)動(dòng)的前綴為“CIS”,IIc.cpp包含通過ICC接口對攝像頭相關(guān)寄存器進(jìn)行配置的函數(shù)。
          (2)根據(jù)前面的硬件電路和OV9650芯片的工作時(shí)序,通過編寫流接口的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)建一個(gè)CameraEvent事件;調(diào)用CreateThread()函數(shù)創(chuàng)建CameraThread線程。在Camera Capture Thread服務(wù)函數(shù)中調(diào)用WaitForSingleObject(CameraEvent,Dis—play 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文件可以就用一般的記事本編輯,保存時(shí)后綴名改為.DEF即可,關(guān)于本攝像頭驅(qū)動(dòng)的.DEF文件內(nèi)容如下:

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          c++相關(guān)文章:c++教程


          攝像頭相關(guān)文章:攝像頭原理

          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();