嵌入式視頻監控系統設計方案
引言
相比傳統視頻監控系統,嵌入式視頻監控系統具有體積小、實(shí)時(shí)性強、性?xún)r(jià)比高、可靠性高、組網(wǎng)方便、可遠程監控等優(yōu)點(diǎn),因而更適用于工業(yè)控制、銀行、政府部門(mén)的安防系統中。本文提供的這套系統,采用的s3C2440具有更高的性?xún)r(jià)比,并且基于B/S架構來(lái)構建網(wǎng)絡(luò )進(jìn)行數據傳輸,用戶(hù)可直接通過(guò)瀏覽器訪(fǎng)問(wèn),相比C/S架構,本系統更符合客戶(hù)對網(wǎng)絡(luò )化的要求。
1 嵌入式視頻監控系統方案
采用模塊化設計方法,將系統分為3個(gè)功能模塊,分別是:前端視頻采集及警報模塊、嵌入式Web服務(wù)器模塊、后端用戶(hù)監視模塊。前端視頻采集及警報模塊負責視頻的采集、存儲、處理及傳輸,并實(shí)時(shí)監控現場(chǎng)環(huán)境溫度,提供火險預警。嵌入式Web服務(wù)器模塊則負責處理監控端發(fā)來(lái)的請求并為用戶(hù)提供實(shí)時(shí)監控數據;后端用戶(hù)監視模塊實(shí)現對遠程的實(shí)時(shí)監控,并與web服務(wù)器交互。整個(gè)系統結構框圖如圖1所示。
2 系統前端部分的實(shí)現
2.1 前端軟件平臺的搭建
首先,在PC上建立交叉開(kāi)發(fā)環(huán)境。然后進(jìn)行Boot—loader的移植,本系統使用U-Boot一1.16,它支持10種處理器,214種開(kāi)發(fā)板Ⅲ。然而對于本系統所選用的S3C2440開(kāi)發(fā)板,它并沒(méi)有直接支持,但由于其支持s3c24lo開(kāi)發(fā)板,因而只需對代碼修進(jìn)行少量的修改,即可實(shí)現對本系統的支持。主要工作包括修改SDRAM的配置;分頻比(FCLK、HCLK、PcLK);系統時(shí)鐘獲取函數(get’PCLK()、get_HCLK()、get一PLLCLK()等);實(shí)現對NAND Flash、yaffs文件系統燒寫(xiě)的支持等。完成Boot—loader的移植后,即可進(jìn)行Linux內核的移植,其主要任務(wù)是添加本系統相關(guān)硬件的驅動(dòng)程序,如USB、網(wǎng)卡等,并對其進(jìn)行相應的修改,使其支持S3C2440平臺,然后靜態(tài)編譯入內核。針對本系統攝像頭驅動(dòng)采用動(dòng)態(tài)加載的方式,在進(jìn)行內核配置的時(shí)候需要選中“L0adable modulesupport”選項。最后利用Busybox來(lái)構建根文件系統。
現場(chǎng)報警功能部分的實(shí)現,采用溫度傳感器Dsl8820實(shí)時(shí)采集現場(chǎng)溫度,溫度預警值設為50℃,當溫度超過(guò)該預警值,立即驅動(dòng)前端機上的蜂鳴器,提醒現場(chǎng)人員環(huán)境出現異常,可能有火情。
2.2 前端視頻采集的實(shí)現
Vide04“nux(簡(jiǎn)稱(chēng)V4L)是Ljnux中關(guān)于視頻設備的內核驅動(dòng),它為針對視頻設備的應用程序編程提供了一系列接口函數印]。本系統使用UsB口攝像頭采集視頻數據,首先要開(kāi)發(fā)相應的驅動(dòng)程序,即針對usB攝像頭設備/dev/videoo,進(jìn)行視頻圖像采集方面的程序設計。要完成針對基于V4L的USB視頻數據采集,首先要獲取視頻設備的設備信息,初始化采集窗口、色度模式、幀狀態(tài),然后才能進(jìn)行視頻圖像的采集。視頻采集流程如圖2所示。
在獲取到設備信息并設置完攝像頭參數后,即可進(jìn)行數據采集,本系統使用mmap()把設備文件映射到內存中,從而繞過(guò)內核緩沖區,加速I(mǎi)/O訪(fǎng)問(wèn)速度。具體操作如下:
首先,使用ioctl(vide伊>fd,VIDIocGMBuF,(vide擴>videombuf)函數獲得攝像頭存儲緩沖區的幀信息(其中、,id∞為struct vdIn*),之后修改、,ideo—map中的設置。然后將攝像頭對應的設備文件映射到內存區,使用video->pFramebuffer一((unsigned char*)mmap(0,、,ide0->、,ideombu£si距,PROT—READ I PROT—WRITE,MAP-SHARED,、rideo->fd,o)。該映射內容區可讀可寫(xiě),并且不同進(jìn)程間可共享。接著(zhù)就可進(jìn)行視頻的截取了,使用函數ioctl(video->fd,VIDIOCMCAPTURE,(video->mmap)),若成功,便開(kāi)始截取一幀視頻數據,最后調用VDlOcsYNC等待一幀截取結束。
蜂鳴器相關(guān)文章:蜂鳴器原理相關(guān)推薦
技術(shù)專(zhuān)區
- FPGA
- DSP
- MCU
- 示波器
- 步進(jìn)電機
- Zigbee
- LabVIEW
- Arduino
- RFID
- NFC
- STM32
- Protel
- GPS
- MSP430
- Multisim
- 濾波器
- CAN總線(xiàn)
- 開(kāi)關(guān)電源
- 單片機
- PCB
- USB
- ARM
- CPLD
- 連接器
- MEMS
- CMOS
- MIPS
- EMC
- EDA
- ROM
- 陀螺儀
- VHDL
- 比較器
- Verilog
- 穩壓電源
- RAM
- AVR
- 傳感器
- 可控硅
- IGBT
- 嵌入式開(kāi)發(fā)
- 逆變器
- Quartus
- RS-232
- Cyclone
- 電位器
- 電機控制
- 藍牙
- PLC
- PWM
- 汽車(chē)電子
- 轉換器
- 電源管理
- 信號放大器
評論