新聞中心

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

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

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

引言

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

1 嵌入式方案

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

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

2.1 前端軟件平臺的搭建

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

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

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

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

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

首先,使用ioctl(vide伊>fd,VIDIocGMBuF,(vide擴>videombuf)函數(shù)獲得攝像頭存儲緩沖區(qū)的幀信息(其中、,id∞為struct vdIn*),之后修改、,ideo—map中的設(shè)置。然后將攝像頭對應(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ū)可讀可寫,并且不同進程間可共享。接著就可進行視頻的截取了,使用函數(shù)ioctl(video->fd,VIDIOCMCAPTURE,(video->mmap)),若成功,便開始截取一幀視頻數(shù)據(jù),最后調(diào)用VDlOcsYNC等待一幀截取結(jié)束。

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

上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉