《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于3G手機的視頻監(jiān)控系統(tǒng)的設計
基于3G手機的視頻監(jiān)控系統(tǒng)的設計
摘要: 3G網(wǎng)絡的發(fā)展,,手機將成為信息社會的核心樞紐,隨時,、隨地地進行遠程檢測實時監(jiān)控已成為需求。本文介紹了基于Micro2440開發(fā)板的手機視頻監(jiān)控系統(tǒng)設計方案,,前端視頻采集以ARM920t內(nèi)核的嵌入式微處理器S3C2440為硬件核心,以WinCE為嵌入式實時操作系統(tǒng)。傳輸系統(tǒng)采用中國聯(lián)通的WCDMA無線網(wǎng)絡,應用萬維網(wǎng)作為服務器,,后端監(jiān)控系統(tǒng)驅(qū)動程序開發(fā)在PlatformBuilder中完成,應用程序在EVC可視化開發(fā)環(huán)境中完成,。通過實驗
Abstract:
Key words :

隨著3G 網(wǎng)絡技術的快速發(fā)展以及3G 手機各項功能的增強, 使得利用3G 手機實現(xiàn)隨時隨地的視頻監(jiān)控已成為可能,。而嵌入式技術作為當今IT 業(yè)的熱門技術,, 各種嵌入式芯片如DSP, A RM, SOC 等被廣泛應用于數(shù)碼、安防,、交通信號采集,、遠程醫(yī)療等領域[ 1] , 可以預見未來便攜式多功能的個人醫(yī)療數(shù)字服務終端會像手機一樣普及[ 2] , 用戶可以隨時隨地地將自己重要的生理信息實時、準確,、快速地傳送到遠程醫(yī)療中心或家庭護理專家處,, 從而得到醫(yī)生的專業(yè)建議和指導, 實現(xiàn)遠程醫(yī)療監(jiān)護的應用,。文獻[ 3] 中的無線監(jiān)控系統(tǒng)也用到ARM9 芯片和WinCE 操作系統(tǒng),, 但對軟件設計部分論述不清晰, 文獻[ 4] 論述的基于ARM 的無線視頻監(jiān)控系統(tǒng)只介紹了簡單的硬件結構和程序流程圖,, 沒有給出實驗結果,, 文獻[ 5] 只給出了仿真圖, 文獻[ 6] 論述的基于3G 的手機遠程監(jiān)控系統(tǒng)也只介紹了簡單的系統(tǒng)框圖和應用實例,,并沒有實驗結果,, 文獻[ 7] 和文獻[ 8] 均采用ARM9 內(nèi)核嵌入式芯片, 且采用Linux 操作系統(tǒng),,但是都沒有實驗驗證,, 且主要論述的是Linux 內(nèi)核編譯。本文設計一種基于ARM9 芯片的3G 手機嵌入式視頻采集系統(tǒng),, 該系統(tǒng)與參考文獻[ 3-8] 所論述的視頻采集系統(tǒng)相比,, 具有體積小、能耗低,、更新維護方便,、開發(fā)難度低等特點。

1  系統(tǒng)硬件結構

本系統(tǒng)的硬件平臺實物如圖1, 鑒于系統(tǒng)的可靠性,、可擴展性,、可維護性,, 本系統(tǒng)采用模塊化的設計原則, 整個系統(tǒng)的視頻采集系統(tǒng)硬件由3 個部分構成,。

圖1 硬件平臺實物

圖1  硬件平臺實物

1. 1  微系統(tǒng)核心模塊

該模塊是由嵌入式微處理器S3C2440A, NANDFALSH 接口電路,、SDRAM 接口電路和總線接口電路組成。S3C2440 是三星公司基于ARM920T 內(nèi)核的32 位RISC 微處理器芯片,, 為手持設備及一般類型的應用提供低價格,、低功耗、高性能小型微控制器的解決方案,。采用了新的總線架構AMBA, 其內(nèi)核還實現(xiàn)了MMU, Har vard 高速緩沖體系結構,。另外其加強的ARM 體系結構MMU 支持WinCE, Linux 和EPOC32等操作系統(tǒng)[ 9] , 支持ARM 調(diào)制體系結構, 支持從NAND FLA SH 存儲器啟動,。而且,, 它還集成了豐富的片上功能, 如LCD 控制器,、UART 接口,、USB 主從接口、I2C 接口,、CAM IF 單元等,。

SDRAM 雖掉電不能保存數(shù)據(jù), 但它有非常高的讀寫速度,, 故適合主程序的運行,。本系統(tǒng)采用2 片32 MB型號為HY57V561620 的芯片級聯(lián)構成64 MB 的SDRAM 存儲器, 該芯片的內(nèi)部存儲結構是4 Banks×4M×16 b, 共4 個Bank,。NAND FLASH 存儲系統(tǒng)采用三星公司的K9F1208U0M 芯片,, 存儲容量為64M× 8 b。核心模塊與外設控制模塊的接口連接由總線接口實現(xiàn),。

1. 2  視頻采集模塊

該模塊采用Micro2440 開發(fā)板自帶的CMOS 攝像頭接口,, 直接使用友善之臂提供的CAM130 攝像頭模塊, 該模塊由一個130 萬像素的CMOS 圖像傳感器OV9650 及其接口電路,、電源電路組成,。選擇CMOS傳感器是因為它有集成度高、體積小,、功耗低,、編程方便、易于控制,、成本低等優(yōu)點,, 并且該類型的傳感器正向低噪聲和高靈敏度等方向發(fā)展, 故CMOS 傳感器是目前低像素圖像采集系統(tǒng)的最佳選擇,。接口電路將圖像信號進行A/ D 轉(zhuǎn)換和處理,, 傳送到處理器的CAM IF,。

微系統(tǒng)核心模塊通過I2C 串行總線實現(xiàn)對傳感器的控制。電源電路由電源轉(zhuǎn)換芯片A S1117 為攝像頭提供1. 8 V 和2. 8 V 電壓,, 其中2. 8 V 電壓是通過可調(diào)壓芯片分壓得到( 即為圖2 中的VDD_CAM) ,。該模塊的供電電壓為3. 3 V, 與微系統(tǒng)核心模塊的供電電壓是一致的, 無需另外單獨提供,。

1. 3  外設控制模塊

該模塊由LCD 與觸摸屏接口電路,、JTA G 調(diào)試接口電路、U SB 主從口電路,、復位電路,、電源電路、RS 232串口電路等構成,。LCD 與觸摸屏接口電路用于顯示應用程序編寫完成后采集的視頻數(shù)據(jù),、接受用戶的外部控制命令等, 起到人機接口的作用,。JAT G 調(diào)試接口提供硬件調(diào)試的功能, 它遵循IEEE 11491 標準,, 利用邊界掃描技術,, 通過邊界掃描鏈實現(xiàn)對芯片輸入輸出信號的觀察控制。JATG 在本系統(tǒng)中的一個重要功能就是將引導加載程序Boot loader 燒寫進開發(fā)板,, 用于進一步的內(nèi)核加載,。USB 主口用于外接U 盤、移動硬盤和鼠標等支持U SB 總線接口的設備,, 可以擴展存儲空間,。

USB 從口則用于向系統(tǒng)燒寫WinCE 內(nèi)核文件以及系統(tǒng)與PC 機之間的通信。復位電路采用既有電源監(jiān)控和數(shù)據(jù)保護又有看門狗作用的專門復位芯片MAX811來保證系統(tǒng)出現(xiàn)異常時能可靠復位,。RS 232 用于通過超級終端或DNW 工具查看Bo ot loader 程序啟動的情況以及擴展串口通信功能,。該處的電源電路提供5 V( 為整個系統(tǒng)提供外部電源) 、3. 3 V( 核心模塊,、外設控制,、圖像采集模塊供電) 和1. 3 V( 核心模塊供電) 。

2  圖像傳感器接口電路與工作原理

攝像頭使用的是CAM130 模塊,, 其中的圖像傳感器為OV9650, 該部分原理圖及接口電路如圖2 所示,。

圖2 CAM130 模塊原理圖及OV9650 接口電路

圖2 CAM130 模塊原理圖及OV9650 接口電路

OV9650 與處理器的接口包括SCCB( 串行攝像機控制總線) 接口、數(shù)據(jù)輸出接口和控制接口等3 部分,。

SCCB 接口起到傳遞處理器提供的初始化OV9650內(nèi)部寄存器參數(shù)的作用,, 其數(shù)據(jù)線SIOD 和時鐘線SI-OC, 相當于I2C 總線中的SDA 與SCL。也就是說,, SC-CB 起到I2C 總線的作用,。OV9650 是I2C 總線的從器件,, S3C2440 是對應的主器件。I2 C 總線采用串行方式從高位到低位傳輸字節(jié)數(shù)據(jù),, 每個字節(jié)傳輸完后,, 主控制器將SDA 置為高電平并釋放, 等待從設備發(fā)送確認信號,。OV9650 內(nèi)嵌了一個10 位A/ D 轉(zhuǎn)換器,, 對應有10 個數(shù)據(jù)輸出口D[ 0: 9] 。輸出圖像數(shù)據(jù)的格式可以為10 位原始RAW, RGB 或經(jīng)過內(nèi)部DSP 轉(zhuǎn)換的8 位RGB/ YCbCr,。本系統(tǒng)選擇的微處理器芯片S3C2440的CAM IF 單元支持8 位的YU V/ YCbCr 格式,, 故需將OV9650 的數(shù)據(jù)接口D[ 9: 2] 與CAM IF 的數(shù)據(jù)口CAMDAT A[ 7: 0] 相連接。OV9650 的XVCLK 用于接收CPU 輸出的24 MHz 的工作時鐘,。OV9650 內(nèi)部產(chǎn)生的幀同步信號VSYNC,、行同步信號HREF、像素時鐘信號PCLK 等3 個時鐘信號傳入ARM 芯片中,, 用于控制圖像采集,。每一個VSYN C 脈沖表示一幀圖像數(shù)據(jù)采集的開始, HREF 的高電平則表示采集一行圖像數(shù)據(jù),, 圖像傳感器按從左到右的順序在每個PCLK脈沖過程中依次采集一個字節(jié)的數(shù)據(jù),, 直到一幀圖像數(shù)據(jù)全部采集完成。



3  3G圖片傳輸流程

圖片傳輸流程圖如圖3 所示,, 3G 手機向MINI2440開發(fā)板發(fā)送短信請求發(fā)照片,, ARM9 控制中心接收到信息,發(fā)送出文件名與文件大小,, TCP 服務器收到信息接收完圖片并關閉窗口,, 同時向3G 手機回饋圖片已接收完畢的信息, 接著3G 手機向服務器發(fā)送請求接收照片,, T CP 服務器向3G 手機發(fā)送圖片數(shù)據(jù),, 直到圖片接收完畢, 當接收完畢,, 3G 手機向服務器反饋圖片接收完畢,。

圖3 3G 圖片傳輸方案

圖3 3G 圖片傳輸方案

有關Micro2440 開發(fā)板發(fā)送圖片及3G 手機接收圖片的部分程序如下所示:

/ / TCP 監(jiān)聽

UINT ListenT hread( vo id * p)

{

/ / 準備接收請求

CGSMW_CameraDlg * pDlg = ( CGSMW_CameraDlg* ) p;

SOCKET s= pDlg??> m_hSo cket;

CStr ing strFileName = temp; / / 得到文件名

st rcpy( temp, buffer + i+ 1) ;

lo ng lFileSize = ato l( temp) ; / / 得到文件大小,;

st rFilePath= " 123ARM "+ strFileName; / / 進度條操作,,接收并保存文件

CFile file( strFilePath, CFile: : modeCreate | CFile: : mode??Write) ;

long iTemp = 0;

while ( 1)

{

rcv = r ecv ( s, buffer, 1024, 0) ;

if ( rcv = = 0)

{

break;

}

file. Wr ite( buffer, rcv) ;

iTemp + = rcv ;

}

file. Close( ) ;

send( s, " [ ! %] " , 4, 0) ; / / 發(fā)送接收文件結束請求

int ret1= send( pDlg> m_hSo cket, buffer, iSize, 0) ;

/ / 發(fā)送文件的名稱和大小

/ / 發(fā)送文件

if ( iEnd= = SOCKET_Error)

{

strError. Format( _T( " Send File: %d") , er ro r= WSAGetLast Error( ) ) ;

AfxM essag eBox ( strErr or) ;

break;

}

iT mp + = iEnd;

pDlg> m_pro gr ess. Set Pos( iTmp) ;

Sleep( 10) ;

/ / 判斷發(fā)送是否成功、結束處理

if ( iTmp = = lFileSize)

{

}

CSt ring st rTemp= "發(fā)送文件結束" ;

/ / 回復對方接收完畢

pDlg> SendMessag e( NULL, NULL) ;

pDlg> m_cState. SetWindowTex t( st rTemp) ;

/ / shutdow n( ) ;

ExitThread( 0) ;

return 0;


4  應用軟件設計及實驗結果

操作系統(tǒng)與硬件平臺間采用虛擬串口進行通信,,EVC 在實現(xiàn)串口數(shù)據(jù)通信中存在2 個局限性: 一是EVC 不支持串口通信控件MScomm, 另一個是WinCE不支持重疊I/ O 操作,。因此, 要采用WinCE 的API 函數(shù)和多線程技術進行數(shù)據(jù)串口通信的底層開發(fā)[ 10] ,。

Window s API 函數(shù)將串口視為文件,, 對于串口的操作類似于對于普通文件的操作,。在EVC 環(huán)境中, 通過調(diào)用CreateFile 函數(shù)來打開串口,, 設置串口讀寫模式:

H ANDLE m _ hComm = Cr eateFile ( szPor t, GENERIC _READ| GENERIC _WRIT E, 0, NULL, OPEN _ EXISTING, 0,NULL) ;因為WinCE 不支持重疊I/ O, 所以CreateFile 的第6 個參數(shù)不能設置為: FILE _ FLAG _ OVER _LAPPED, 這里設置成通用常數(shù)“ 0”, 否則串行通信處理將被系統(tǒng)信息阻塞,。

打開串口以后, 可以使用串口初始化函數(shù)SetCommState( ) 來獲取串口當前的配置,, 如串口號,、波特率、奇偶校驗,、數(shù)據(jù)位,、停止位等:

BOOL CGSM W_CameraDlg: : OpenPo rt ( UINT port No , / * 串口號* /

UINT baud, / * 波特率* /

UINT parity, / * 奇偶校驗* /

UINT databits,  / * 數(shù)據(jù)位* /

UINT sto pbits / * 停止位* / )

初始化緩沖區(qū)的信息:

Purg eComm( m _ hComm, PURGE _ TXCLEAR | PURGE _RXCLEAR) ;

m _ hReadCloseEv ent = CreateEvent ( NULL, T RUE,FALSE, NU LL) ;

m_ hReadT hread = Cr eateThread ( NU LL, 0, ReadT hr ead Func, this, 0, & m_dw ReadT hreadID) ;

應用程序開發(fā)是在EVC 集成開發(fā)環(huán)境中進行的。

用EVC 的AppWizard 向?qū)Ы⒒贛FC 的對話框程序架構,, 在進行頁面布局“圖像顯示區(qū)域”,、“初始化”、“接聽”,、“撥號”,、“掛機”等按鈕后, 為各種按鈕添加各種消息響應時間以及完成對各按鈕進行的設置,, 以響應用戶期待的命令,。“初始化”按鈕是進行3G 網(wǎng)絡的初始化。“接聽”按鈕就是響應3G 手機發(fā)送給開發(fā)板的命令,,“撥號”按鈕所需進行的設置有對方號碼,、撥號時發(fā)送的消息以及服務器IP 和端口號,, 設置完這些就可進行撥號等待響應了,;“掛機”按鈕實現(xiàn)退出應用程序和關閉攝像頭驅(qū)動的功能。實現(xiàn)這些按鈕的單擊事件響應函數(shù)的添加是比較容易的,, 在EVC 環(huán)境中直接雙擊按鈕,, 進入代碼編輯區(qū)就可進行編程調(diào)試。這里給出"初始化"和"撥號"按鈕的部分代碼,, ……后面為省略的部分,。

OpenPor t( 7, 115200) ; / / AT Com

if ( m_hComm ! = INVALID_H ANDLE_VALU E) / / 如果初始化按鈕被按下

{

/ / 3G 初始化

UpdateData( TRUE) ;

SendCommand( "ATE0 r n" ) ;   / * 取消回顯命令* /

…}

else

{

st r = "WCDMA 沒有連接上";

Messag eBox ( st r) ;

return;

}



CStr ing str ( "AT D") ;

UpdateData( TRUE) ;

m_hut. EnableWindow( TRUE) ;

st r+ = m_RecvTele;

st r+ = " ; r n";

UpdateData( ) ;

SendCommand( str ) ;   / * 讀取SIM 中的第一條短信* /



系統(tǒng)應用軟件開發(fā)完成之后, 在3G 手機應用程序中打開手機主控端軟件,, 單擊 初始化按鈕完成 撥號前的設置,, 將信息發(fā)送給Micro2440 開發(fā)板, 等待響應,,順利地采集圖片并最終顯示到3G 手機上,, 圖4 為3G手機主控終端軟件界面及圖片顯示結果。

5  結 語

該系統(tǒng)實現(xiàn)基于ARM9 平臺和WinCE 操作系統(tǒng),,通過CMOS 攝像頭采集現(xiàn)場照片信息,, 然后通過WCDMA 無線網(wǎng)絡連接到萬維網(wǎng)服務器,, 手機端設計出滿足條件的軟件, 最終在3G 手機上實現(xiàn)圖片監(jiān)控的功能,。該系統(tǒng)具有實時性較好,、成本較低、便于攜帶等優(yōu)點,, 非常適合在安保,、交通、手持設備,、家電,、學校巡防等方面的應用, 它是實現(xiàn)視頻監(jiān)控部分的重要組成部分,。

目前只實現(xiàn)了圖像的傳輸及在3G 手機上的顯示,, 視頻部分的傳輸顯示, 由于時間原因,, 還暫時沒有完成,。下一步將采用合適的視頻壓縮編碼算法如H. 264,MPEG4 編解碼技術, 實現(xiàn)視頻監(jiān)控功能,。

圖4 3G 手機主控終端軟件界面及圖片顯示結果

圖4  3G 手機主控終端軟件界面及圖片顯示結果

 

 

參考文獻

[ 1] 喻亮,。嵌入式系統(tǒng)的結構特征與研究概況[ J] . 企業(yè)科技與發(fā)展, 2010( 8) : 55-57.

[ 2] 謝園園,,孫發(fā)勤,。 基于嵌入式系統(tǒng)的遠程醫(yī)療監(jiān)護終端的設計與模擬實現(xiàn)[ J] . 金陵科技學院學報, 2006, 22( 3) : 34-36.

[ 3] 許雪梅,,郭遠威,, 吳愛軍, 等,。 基于嵌入式Window s CE50 的無線監(jiān)控系統(tǒng)研究[ J] . 現(xiàn)代電子技術,, 2009, 32( 2) : 25-29.

[ 4] 趙曉軍,任明偉,, 蘇海霞,, 等。 基于ARM 的嵌入式無線視頻監(jiān)控系統(tǒng)[ J] . 微型機與應用,, 2010, 29( 16) : 54-56.

[ 5] 查婧,,劉波, 曹劍中,。 嵌入式視頻采集與網(wǎng)絡傳輸系統(tǒng)[ J] .電子器件,, 2009, 32( 3) : 646-648.

[ 6] 李伶,李太君。 基于3G 的手機遠程監(jiān)控系統(tǒng)[ J] . 通信技術,,2010, 43( 9) : 130-132.

[ 7] 焦鉻,,易小波, 李仁發(fā),。 基于嵌入式Inter net 的遠程視頻監(jiān)控系統(tǒng)設計[ J] . 計算機技術與發(fā)展,, 2009, 19( 5) : 176-179.

[ 8] 錢華明,劉英明,, 張振旅,。 基于S3C2410 嵌入式無線視頻監(jiān)控系統(tǒng)的設計[ J] . 計算機測量與控制, 2009, 17( 6) : 1132-1134.

[ 9] 王靜,?;赟3C2440 和TCP/ IP 網(wǎng)絡的紅外線圖像采集和處理系統(tǒng)[ D] . 南京: 南京理工大學, 2008.

[ 10] 劉慶亮,,劉建成,。 WinCE 下多線程串口通信在導航系統(tǒng)中的應用[ J] . 軟件導刊, 2010, 9( 3) : 77-79.

[ 11] 李文新,,王廣龍,, 陳建輝, 等,。 基于WinCE 的數(shù)字羅盤集成電路I2 C 驅(qū)動程序開發(fā)[ J] . 電子測量技術,, 2009, 32( 10) :73-76.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載,。