基于CC1100的無(wú)線視頻監(jiān)控系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:為了對(duì)特定場(chǎng)合進(jìn)行安全監(jiān)控,采用CC1100無(wú)線傳輸模塊和PTC08串口攝像頭模塊設(shè)計(jì)并實(shí)現(xiàn)了一種無(wú)線視頻監(jiān)控系統(tǒng)。利用攝像頭模塊對(duì)視頻進(jìn)行數(shù)據(jù)采集、壓縮、串口傳輸,并利用微控制器通過(guò)無(wú)線傳輸模塊進(jìn)行拍攝控制、數(shù)據(jù)傳輸。經(jīng)測(cè)試表明,該系統(tǒng)具有操作簡(jiǎn)便、運(yùn)行穩(wěn)定的特點(diǎn),達(dá)到了設(shè)計(jì)要求。
關(guān)鍵詞:視頻監(jiān)控;CC1100;PTC08;無(wú)線;設(shè)計(jì)
隨著通信、單片機(jī)處理能力以及各種視頻處理技術(shù)的提高,視頻監(jiān)控系統(tǒng)發(fā)展的越來(lái)越快,其中視頻傳輸采用有線方式具有傳輸穩(wěn)定,畫(huà)面清晰等特點(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 系統(tǒng)結(jié)構(gòu)
無(wú)線視頻監(jiān)控系統(tǒng)由信號(hào)采集設(shè)備、采集端處理器、無(wú)線數(shù)據(jù)收發(fā)模塊、接收端處理器、信號(hào)輸出設(shè)備構(gòu)成,如圖1所示。
視頻信號(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 系統(tǒng)硬件電路設(shè)計(jì)
2.1 CC1100及PTC08簡(jiǎn)介
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。
PTC08串口攝像頭是集圖像采集、拍攝控制、數(shù)據(jù)壓縮、串口傳輸于一體的工業(yè)級(jí)圖像采集處理模塊。標(biāo)準(zhǔn)三線式RS-232通信接口、簡(jiǎn)單的圖像傳輸協(xié)議,使模塊可以方便地實(shí)現(xiàn)與電腦以及各種嵌入式系統(tǒng)的連接。
2.2 硬件電路設(shè)計(jì)
CC1100的工作狀態(tài)有IDEL(待機(jī))、RX(接收)、TX(發(fā)送),同時(shí)支持遠(yuǎn)程喚醒功能,這樣可以降低功耗。主要的引腳為VCC電源輸入(1.9~3.6V)、SI數(shù)據(jù)輸入、SO數(shù)據(jù)輸出、SCLK時(shí)鐘輸入、GD00和GD02為數(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)行。
對(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所示。
3 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)采用單片機(jī)、無(wú)線收發(fā)模塊及串口攝像頭模塊來(lái)實(shí)現(xiàn),下位機(jī)軟件采用匯編語(yǔ)言編寫,上位機(jī)軟件編程采用VC++語(yǔ)言。在實(shí)際操作過(guò)程中,可通過(guò)上位機(jī)程序?qū)㈩A(yù)先定義好的指令發(fā)送到采集端處理器,控制采集模塊動(dòng)作,獲取圖片數(shù)據(jù);采集端處理器會(huì)利用無(wú)線收發(fā)模塊將數(shù)據(jù)傳至接收端處理器,進(jìn)而在上位機(jī)上恢復(fù)出JPEG圖片。
3.1 PTC08模塊初始化配置
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ā)出7600 26 00,表示模塊復(fù)位成功。模塊其他指令數(shù)據(jù)可在其數(shù)據(jù)手冊(cè)中查詢。
3.2 上位機(jī)軟件設(shè)計(jì)
圖4為獲取圖片的上位機(jī)軟件流程圖,其狀態(tài)及函數(shù)描述如下。
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,0XOD,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 vlnitialCamera(void);
PUBLIC void vSetPKGSzie(void);如果采集模塊來(lái)發(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è)網(wǎng)片數(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所示。
4 結(jié)論
該系統(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)所。