賀延周,佟仕忠,付貴增,韓建坤,盧世坤
(遼寧石油化工大學(xué) 信息與控制工程學(xué)院,遼寧 撫順 113001)
隨著通信、單片機(jī)處理能力以及各種視頻處理技術(shù)的提高,視頻監(jiān)控系統(tǒng)發(fā)展的越來(lái)越快,其中視頻傳輸采用有線方式具有傳輸穩(wěn)定,畫面清晰等特點(diǎn)。但是,由于這種方式成本高、維護(hù)不方便,且在有些特殊的區(qū)域受條件所限,布線困難甚至無(wú)法布線,其使用范圍受到很大限制。而無(wú)線傳輸技術(shù)因具有使用靈活、攜帶方便、可移動(dòng)、低成本等優(yōu)點(diǎn),在視頻監(jiān)控、傳輸,緊急現(xiàn)場(chǎng)救援和軍事通信等領(lǐng)域發(fā)揮著巨大的作用。
文中基于CC1100無(wú)線傳輸模塊和PTC08串口攝像頭模塊設(shè)計(jì)并實(shí)現(xiàn)了一種無(wú)線視頻監(jiān)控系統(tǒng),在環(huán)保監(jiān)測(cè)、智能儀器儀表監(jiān)控、車輛管理監(jiān)控、圖像采集等領(lǐng)域有一定的應(yīng)用前景[1]。
無(wú)線視頻監(jiān)控系統(tǒng)由信號(hào)采集設(shè)備、采集端處理器、無(wú)線數(shù)據(jù)收發(fā)模塊、接收端處理器、信號(hào)輸出設(shè)備構(gòu)成,如圖1所示。
圖1 無(wú)線視頻監(jiān)控系統(tǒng)結(jié)構(gòu)圖Fig.1 Structure diagram of the wireless video surveillance system
視頻信號(hào)采集設(shè)備通過(guò)攝像頭模塊捕捉場(chǎng)景圖像,經(jīng)其內(nèi)部處理器轉(zhuǎn)換輸出數(shù)字視頻圖像,為視頻圖像處理提供數(shù)據(jù)。采集端處理器負(fù)責(zé)存儲(chǔ)和處理信號(hào)采集設(shè)備采集的數(shù)據(jù)和其他節(jié)點(diǎn)發(fā)送的數(shù)據(jù),同時(shí)可協(xié)調(diào)與其他節(jié)點(diǎn)之間通信。線收發(fā)模塊主要負(fù)責(zé)與其他節(jié)點(diǎn)通信,接收、發(fā)送數(shù)據(jù)和交換控制信息。接收端處理器負(fù)責(zé)存儲(chǔ)和處理其他節(jié)點(diǎn)發(fā)送的視頻、圖像數(shù)據(jù),也可協(xié)調(diào)與其他節(jié)點(diǎn)之間通信。視頻信號(hào)輸出設(shè)備即將接收端處理器發(fā)送的視頻數(shù)據(jù)還原成原場(chǎng)景圖像[2]。
CC1100是一款低成本單片UHF收發(fā)器,專為低功耗無(wú)線應(yīng)用而設(shè)計(jì)。它主要是為315、433、868和915 MHz的ISM和SRD設(shè)備所設(shè)計(jì),可以編程工作在300~1 000 MHz范圍之間的任一頻率上。具有抗干擾能力強(qiáng)、數(shù)據(jù)傳輸速率高、誤碼率低等優(yōu)點(diǎn),支持透明的數(shù)據(jù)傳輸及DL/645規(guī)約。在發(fā)射狀態(tài)下,其發(fā)射功率可編程調(diào)節(jié),其最大發(fā)射功率達(dá)到10 dBM[3]。
PTC08串口攝像頭是集圖像采集、拍攝控制、數(shù)據(jù)壓縮、串口傳輸于一體的工業(yè)級(jí)圖像采集處理模塊。標(biāo)準(zhǔn)三線式RS-232通信接口、簡(jiǎn)單的圖像傳輸協(xié)議,使模塊可以方便地實(shí)現(xiàn)與電腦以及各種嵌入式系統(tǒng)的連接。
CC1100 的工作狀態(tài)有 IDEL(待機(jī))、RX(接收)、TX(發(fā)送),同時(shí)支持遠(yuǎn)程喚醒功能,這樣可以降低功耗。主要的引腳為VCC電源輸入(1.9~3.6V)、SI數(shù)據(jù)輸入、SO數(shù)據(jù)輸出、SCLK時(shí)鐘輸入、GDO0和GDO2為數(shù)字輸出供測(cè)試系統(tǒng)使用,CSN為芯片片選信號(hào)。芯片內(nèi)置64 Byte的TX和RX緩沖器。文中設(shè)計(jì)了圖2所示的無(wú)線電路。數(shù)據(jù)操作通過(guò)STC11F32XE單片機(jī)的SPI口進(jìn)行。
圖2 無(wú)線模塊電路圖Fig.2 Circuit diagram of wireless module
對(duì)本系統(tǒng)來(lái)說(shuō),PTC08串口攝像頭模塊與微控制器采用串口通信方式。微控制器通過(guò)其RX端向PTC08發(fā)送拍照的一系列指令,攝像頭模塊采集完數(shù)據(jù),收到發(fā)送數(shù)據(jù)指令后,會(huì)通過(guò)其TX端口將圖像數(shù)據(jù)送至微控制器。CC1100-232收到數(shù)據(jù)時(shí),會(huì)自動(dòng)將數(shù)據(jù)從串口送至接收端處理器。微控制器、PTC08和CC1100模塊間的接口示意圖如圖3所示[4]。
圖3 模塊接口示意圖Fig.3 Schematic diagram of module interface
系統(tǒng)采用單片機(jī)、無(wú)線收發(fā)模塊及串口攝像頭模塊來(lái)實(shí)現(xiàn),下位機(jī)軟件采用匯編語(yǔ)言編寫,上位機(jī)軟件編程采用VC++語(yǔ)言[5]。在實(shí)際操作過(guò)程中,可通過(guò)上位機(jī)程序?qū)㈩A(yù)先定義好的指令發(fā)送到采集端處理器,控制采集模塊動(dòng)作,獲取圖片數(shù)據(jù);采集端處理器會(huì)利用無(wú)線收發(fā)模塊將數(shù)據(jù)傳至接收端處理器,進(jìn)而在上位機(jī)上恢復(fù)出JPEG圖片。
PTC08模塊上電之后,延時(shí)2.5 s,微控制器向其發(fā)送一系列控制指令,包括復(fù)位、設(shè)置圖片大小、壓縮率、拍照、讀取數(shù)據(jù),停止拍照等。根據(jù)模塊與微控制器的通信協(xié)議,微控制器將PTC08模塊復(fù)位的匯編語(yǔ)言部分代碼如下(前提是上位機(jī)已將復(fù)位指令數(shù)據(jù)56 00 26 00分別存入微控制器RAM的70H至73H單元中):
PTC08模塊在收到此復(fù)位指令后,會(huì)向微控制器發(fā)出76 00 26 00,表示模塊復(fù)位成功。模塊其他指令數(shù)據(jù)可在其數(shù)據(jù)手冊(cè)中查詢[6]。
圖4為獲取圖片的上位機(jī)軟件流程圖,其狀態(tài)及函數(shù)描述如下。
圖4 圖片獲取軟件流程圖Fig.4 Flow chart of the software of image capturing
1)空閑狀態(tài)
采集端攝像頭模塊處于待機(jī)狀態(tài)。
2)同步狀態(tài)
當(dāng)采集端攝像頭模塊接收到拍照指令時(shí),攝像頭模塊將進(jìn)行一次同步操作,以確保其可用。此狀態(tài)使用函數(shù)如下:
Public void vSynchronize(void);此函數(shù)最多可連續(xù)執(zhí)行60次。若函數(shù)在執(zhí)行期間,UART接收到0XAA,0X0D,0X0E,0X00,XX(XX為任意)數(shù)據(jù)序列,則表示攝像頭模塊同步信號(hào)已經(jīng)被確認(rèn)成功。若函數(shù)連續(xù)執(zhí)行60次后,UART仍未接收到從攝像頭模塊發(fā)出的確認(rèn)信號(hào),則需重新配置采集模塊。
3)參數(shù)設(shè)置狀態(tài)
根據(jù)生成圖片指令,需對(duì)攝像頭模塊進(jìn)行參數(shù)設(shè)置,包括圖片大小、壓縮率以及輸出圖片數(shù)據(jù)包的大小。此過(guò)程使用函數(shù)如下:
PUBLIC void vInitialCamera(void);
PUBLIC void vSetPKGSzie(void);如果采集模塊未發(fā)回確認(rèn)信息,需對(duì)其重新配置。
4)數(shù)據(jù)接收狀態(tài)
一旦參數(shù)設(shè)置完成之后,外部控制器將發(fā)出“開(kāi)始圖片獲取”指令,攝像頭模塊會(huì)自動(dòng)進(jìn)行圖片數(shù)據(jù)的獲取與轉(zhuǎn)換。根據(jù)之前設(shè)置的參數(shù),連續(xù)輸出圖片數(shù)據(jù)包。但是,每個(gè)圖片數(shù)據(jù)包從攝像頭模塊發(fā)出之后,接收端處理器均需要返回一個(gè)確認(rèn)包,之后才可以獲得下一包數(shù)據(jù)。此過(guò)程使用函數(shù)如下:
PUBLIC void vGetPKG(void);
圖片數(shù)據(jù)的還原將由上位機(jī)軟件直接完成,將確認(rèn)包返回給采集端處理器的函數(shù)為:
PUBLIC void vSetPKTACK(uint16 u16PktCounter);
其中u16PktCounter是指下一個(gè)要獲取數(shù)據(jù)包的編號(hào)。若上位機(jī)界面長(zhǎng)時(shí)間內(nèi)沒(méi)有獲得數(shù)據(jù),上位機(jī)系統(tǒng)則自動(dòng)重新配置采集模塊。
5)圖片接收完成狀態(tài)
當(dāng)外部控制器給出“開(kāi)始轉(zhuǎn)換”的指令之后,第一個(gè)輸出的數(shù)據(jù)包里已經(jīng)包含了圖片數(shù)據(jù)的確切大小。因此,在這個(gè)階段,如果成功獲取的數(shù)據(jù)大小等于第一個(gè)數(shù)據(jù)包給出的圖片數(shù)據(jù)大小,說(shuō)明圖片數(shù)據(jù)已經(jīng)完整的從攝像頭模塊傳出,攝像頭模塊重新進(jìn)入空閑狀態(tài),等待下一個(gè)拍照指令。
遠(yuǎn)程客戶端采用監(jiān)控管理軟件,通過(guò)對(duì)串口、波特率、圖片大小等參數(shù)的設(shè)置,發(fā)送遠(yuǎn)程監(jiān)控指令,接收視頻采集模塊的信息,實(shí)現(xiàn)數(shù)據(jù)處理、接收、存儲(chǔ)和顯示,將采集的圖片信息以直觀方式呈現(xiàn)給監(jiān)控人員。測(cè)試結(jié)果如圖5所示。
該系統(tǒng)采用微控制器、無(wú)線收發(fā)模塊及串口攝像頭模塊PTC08實(shí)現(xiàn)無(wú)線視頻監(jiān)控系統(tǒng),對(duì)其原理及軟硬件實(shí)現(xiàn)方法進(jìn)行了簡(jiǎn)要說(shuō)明。經(jīng)測(cè)試表明,系統(tǒng)簡(jiǎn)單可靠、功耗小、成本低,抗干擾能力強(qiáng);由于CC1100無(wú)線收發(fā)模塊傳輸數(shù)據(jù)速度低,無(wú)法實(shí)現(xiàn)真正的實(shí)時(shí)傳輸,可應(yīng)用于實(shí)時(shí)性要求不高的場(chǎng)所。
圖5 測(cè)試結(jié)果Fig.5 Chart of the test
[1]林志遠(yuǎn),羅衛(wèi)兵.數(shù)據(jù)無(wú)線傳輸方式綜述 [J].安防科技,2009(10):10-11.
LIN Zhi-yuan,LUO Wei-bing.Review of wireless transmission of data[J].Security and Safety Technology Magazine,2009(10):10-11.
[2]張?jiān)捶?無(wú)線視頻監(jiān)控傳輸技術(shù)的研究[J].現(xiàn)代電子技術(shù),2009(22):153-156.
ZHANG Yuan-feng.Research on transfer technology in wireless video monitoring system[J].Modern Electronics Technique,2009(22):153-156.
[3]孫維明,石江宏,陳岳林.可編程RF收發(fā)器CC1100的原理及開(kāi)發(fā)[J].電子設(shè)計(jì)工程,2007(9):40-42.
SUN Wei-ming,SHI Jiang-hong,CHEN Yue-lin.Principle and development of programmable RF transceiver CC1100[J].Electronic Design Engineering,2007(9):40-42.
[4]李麗軍,王代華,祖靜.基于CC1100的無(wú)線數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)[J].國(guó)外電子測(cè)量技術(shù),2007(12) :42-45.
LI Li-jun,WANG Dai-hua,ZU Jing.Design of wireless data transmission system based on CC1100[J].Foreign Electronic Measurement Technology,2007(12):42-45.
[5]Young M J.Visual C++6從入門到精通[M].邱仲潘,等譯.北京:機(jī)械工業(yè)出版社,2000.
[6]何立民.MCS-51系列-單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)系統(tǒng)配置與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,1990.