新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式視頻監(jiān)控系統(tǒng)設(shè)計(jì)方案

嵌入式視頻監(jiān)控系統(tǒng)設(shè)計(jì)方案

作者: 時(shí)間:2013-02-19 來源:網(wǎng)絡(luò) 收藏

引言

相比傳統(tǒng),嵌入式具有體積小、實(shí)時(shí)性強(qiáng)、性價(jià)比高、可靠性高、組網(wǎng)方便、可遠(yuǎn)程監(jiān)控等優(yōu)點(diǎn),因而更適用于工業(yè)控制、銀行、政府部門的安防系統(tǒng)中。本文提供的這套系統(tǒng),采用的s3C2440具有更高的性價(jià)比,并且基于B/S架構(gòu)來構(gòu)建網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,用戶可直接通過瀏覽器訪問,相比C/S架構(gòu),本系統(tǒng)更符合客戶對(duì)網(wǎng)絡(luò)化的要求。

1 嵌入式方案

采用模塊化設(shè)計(jì)方法,將系統(tǒng)分為3個(gè)功能模塊,分別是:前端視頻采集及警報(bào)模塊、嵌入式Web服務(wù)器模塊、后端用戶監(jiān)視模塊。前端視頻采集及警報(bào)模塊負(fù)責(zé)視頻的采集、存儲(chǔ)、處理及傳輸,并實(shí)時(shí)監(jiān)控現(xiàn)場(chǎng)環(huán)境溫度,提供火險(xiǎn)預(yù)警。嵌入式Web服務(wù)器模塊則負(fù)責(zé)處理監(jiān)控端發(fā)來的請(qǐng)求并為用戶提供實(shí)時(shí)監(jiān)控?cái)?shù)據(jù);后端用戶監(jiān)視模塊實(shí)現(xiàn)對(duì)遠(yuǎn)程的實(shí)時(shí)監(jiān)控,并與web服務(wù)器交互。整個(gè)系統(tǒng)結(jié)構(gòu)框圖如圖1所示。

2 系統(tǒng)前端部分的實(shí)現(xiàn)

2.1 前端軟件平臺(tái)的搭建

首先,在PC上建立交叉開發(fā)環(huán)境。然后進(jìn)行Boot—loader的移植,本系統(tǒng)使用U-Boot一1.16,它支持10種處理器,214種開發(fā)板Ⅲ。然而對(duì)于本系統(tǒng)所選用的開發(fā)板,它并沒有直接支持,但由于其支持s3c24lo開發(fā)板,因而只需對(duì)代碼修進(jìn)行少量的修改,即可實(shí)現(xiàn)對(duì)本系統(tǒng)的支持。主要工作包括修改SDRAM的配置;分頻比(FCLK、HCLK、PcLK);系統(tǒng)時(shí)鐘獲取函數(shù)(get’PCLK()、get_HCLK()、get一PLLCLK()等);實(shí)現(xiàn)對(duì)NAND Flash、yaffs文件系統(tǒng)燒寫的支持等。完成Boot—loader的移植后,即可進(jìn)行Linux內(nèi)核的移植,其主要任務(wù)是添加本系統(tǒng)相關(guān)硬件的驅(qū)動(dòng)程序,如USB、網(wǎng)卡等,并對(duì)其進(jìn)行相應(yīng)的修改,使其支持平臺(tái),然后靜態(tài)編譯入內(nèi)核。針對(duì)本系統(tǒng)攝像頭驅(qū)動(dòng)采用動(dòng)態(tài)加載的方式,在進(jìn)行內(nèi)核配置的時(shí)候需要選中“L0adable modulesupport”選項(xiàng)。最后利用Busybox來構(gòu)建根文件系統(tǒng)。

現(xiàn)場(chǎng)報(bào)警功能部分的實(shí)現(xiàn),采用溫度傳感器Dsl8820實(shí)時(shí)采集現(xiàn)場(chǎng)溫度,溫度預(yù)警值設(shè)為50℃,當(dāng)溫度超過該預(yù)警值,立即驅(qū)動(dòng)前端機(jī)上的蜂鳴器,提醒現(xiàn)場(chǎng)人員環(huán)境出現(xiàn)異常,可能有火情。

2.2 前端視頻采集的實(shí)現(xiàn)

Vide04“nux(簡(jiǎn)稱V4L)是Ljnux中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動(dòng),它為針對(duì)視頻設(shè)備的應(yīng)用程序編程提供了一系列接口函數(shù)印]。本系統(tǒng)使用UsB口攝像頭采集視頻數(shù)據(jù),首先要開發(fā)相應(yīng)的驅(qū)動(dòng)程序,即針對(duì)usB攝像頭設(shè)備/dev/videoo,進(jìn)行視頻圖像采集方面的程序設(shè)計(jì)。要完成針對(duì)基于V4L的USB視頻數(shù)據(jù)采集,首先要獲取視頻設(shè)備的設(shè)備信息,初始化采集窗口、色度模式、幀狀態(tài),然后才能進(jìn)行視頻圖像的采集。視頻采集流程如圖2所示。

在獲取到設(shè)備信息并設(shè)置完攝像頭參數(shù)后,即可進(jìn)行數(shù)據(jù)采集,本系統(tǒng)使用mmap()把設(shè)備文件映射到內(nèi)存中,從而繞過內(nèi)核緩沖區(qū),加速I/O訪問速度。具體操作如下:

首先,使用ioctl(vide伊>fd,VIDIocGMBuF,(vide擴(kuò)>videombuf)函數(shù)獲得攝像頭存儲(chǔ)緩沖區(qū)的幀信息(其中、,id∞為struct vdIn*),之后修改、,ideo—map中的設(shè)置。然后將攝像頭對(duì)應(yīng)的設(shè)備文件映射到內(nèi)存區(qū),使用video->pFramebuffer一((unsigned char*)mmap(0,、,ide0->、,ideombu£si距,PROT—READ I PROT—WRITE,MAP-SHARED,、rideo->fd,o)。該映射內(nèi)容區(qū)可讀可寫,并且不同進(jìn)程間可共享。接著就可進(jìn)行視頻的截取了,使用函數(shù)ioctl(video->fd,VIDIOCMCAPTURE,(video->mmap)),若成功,便開始截取一幀視頻數(shù)據(jù),最后調(diào)用VDlOcsYNC等待一幀截取結(jié)束。

蜂鳴器相關(guān)文章:蜂鳴器原理

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

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

關(guān)閉