基于S3C6410的無(wú)線(xiàn)視頻監控系統設計
伴隨電子信息技術(shù),網(wǎng)絡(luò )技術(shù)及多媒體技術(shù)的快速發(fā)展,嵌入式無(wú)線(xiàn)視頻監控技術(shù)也在不斷的飛速發(fā)展。視頻監控系統正在向數字化、網(wǎng)絡(luò )化和集成化方向發(fā)展,因此研究基于嵌入式的視頻監控系統是必要的?;谇度胧降臒o(wú)線(xiàn)視頻監控是以高性能處理器為核心,控制外圍部件進(jìn)行視頻采集和壓縮編碼,再將視頻流以無(wú)線(xiàn)的方式發(fā)送到中斷進(jìn)行存儲顯示。與其他監控系統相比,利用嵌入式技術(shù)的無(wú)線(xiàn)視頻監控系統易安裝,體積小,可以實(shí)現無(wú)人值守,對于各種特殊場(chǎng)合需求的視頻監控能夠滿(mǎn)足應用要求。
本文引用地址:http://dyxdggzs.com/article/201609/303776.htm錢(qián)華明等人提出了一種基于S3C2410硬件平臺和嵌入式Linux操作系統,將采集的視頻數據進(jìn)行MPEG-4編碼,再通過(guò)CDMA模塊,完成無(wú)線(xiàn)網(wǎng)絡(luò )視頻傳輸。涂繼輝等人提出了以高性能ARM9芯片作微處理器,通過(guò)嵌入式Linux采集USB攝像頭視頻數據,經(jīng)MJPEG-4壓縮,通過(guò)2.4 GHz無(wú)線(xiàn)發(fā)送/接受模塊實(shí)現無(wú)線(xiàn)視頻監控。張偉男等人提出了一種基于3G無(wú)線(xiàn)網(wǎng)絡(luò )傳輸的移動(dòng)視頻監控系統的方案,實(shí)現了實(shí)時(shí)監控的功能。
為了實(shí)現室內視頻監控系統的網(wǎng)絡(luò )傳輸,在保證傳輸穩定和多用戶(hù)的需求前提下,本文選取了主頻更高的ARM11作為處理器,以802.11g的無(wú)線(xiàn)局域網(wǎng)和Mjpg—streamer視頻服務(wù)器為傳輸媒介的無(wú)線(xiàn)視頻監控系統。
1 系統方案設計
1.1 核心控制器
微處理器是系統硬件的核心,考慮到ARM低功耗、低成本、高性能等特點(diǎn),本文采用ARM11 S3C6410微處理器為核心的飛凌OK6410開(kāi)發(fā)板,S3C6410是一款高性能32位的RISC微處理器,主頻高達667 MHz,它采用64/32位內部總線(xiàn)架構,具有視頻處理、二維圖形顯示和縮放等硬件加速器功能。該開(kāi)發(fā)板有256MB DDR和2 GB NAND FLASH,CPU內部集成SDRAM控制器、32通道DMA、4通道UART、SD接口、USB接口及以太網(wǎng)接口等,為各種應用開(kāi)發(fā)提供了強大的支持。系統硬件架構圖如圖1所示。

1.2 數字攝像頭
OK6410有1個(gè)CMOS攝像頭接口,但由于攝像頭只能固定在開(kāi)發(fā)板上,不便于安裝和放置,故本設計采用USB攝像頭??紤]到成本問(wèn)題,攝像頭選用天敏10moons,經(jīng)測試該設備可以用于OK6410開(kāi)發(fā)板上,且輸出YUV格式的視頻幀數據。
1.3 WIFI模塊
本設計使用的WIFI模塊為飛凌公司自行設計生產(chǎn)的,接口為2.0間距的雙排插孔“CN4”,主芯片型號為“WM-G-MR-09”。在連無(wú)線(xiàn)網(wǎng)絡(luò )之前,先關(guān)閉DM9000網(wǎng)卡,再啟動(dòng)SDIO WIFI,命令分別為:ifconfig ethO down和ifconfig wlanO up。
2 系統軟件平臺
軟件設計包括嵌入式操作平臺的搭建以及視頻服務(wù)器軟件的移植。為此,首先搭建嵌入式交叉編譯環(huán)境。Ubuntu是一個(gè)以桌面應用為主的Linux操作系統,且具有安裝系統簡(jiǎn)單和圖形界面人性化特點(diǎn),故選用Ubuntu 12.04為宿主機電腦操作系統。交叉編譯器選擇arm—linux —gcc 4.3.2版本。
2.1 嵌入式操作系統的選擇和移植
現階段主流的嵌入式操作系統有Linux、WinCE和μC/OS—II,其中Linux以其充分的開(kāi)源性和良好的可移植性被廣泛使用,此次設計選取Linux 3.0.1版本的系統。
2.1.1 內核的裁剪與移植
內核的裁剪就是對各個(gè)功能進(jìn)行裁剪,選取滿(mǎn)足特定平臺和需求的功能。Linux內核采用模塊化設計,并且各個(gè)模塊源碼以文件目錄的形式存放,在對內核的裁剪和編譯時(shí)非常方便。
1)USB攝像頭驅動(dòng)模塊的添加
進(jìn)入內核文件目錄,執行make menuconfig命令,進(jìn)入Linux內核配置界面一次選擇Device Drivers->Muhimedia devices->Video For Linux->Video capture adapters->V4L USB devices->USB Video Class (UVC1->UVC input events device support將USB攝像頭驅動(dòng)編譯進(jìn)內核。
2)SDIO WIFI驅動(dòng)模塊的加載
系統的通信方式采用的是無(wú)線(xiàn)傳輸,由于這是系統的基本功能,可以采用將無(wú)線(xiàn)網(wǎng)卡驅動(dòng)直接編譯進(jìn)內核的方式來(lái)實(shí)現。具體過(guò)程如下:
進(jìn)入Linux內核配置主界面后,首先配置網(wǎng)絡(luò )支持:Networking support->Wireless,然后配置網(wǎng)卡驅動(dòng)支持:Device Driver->Network device->Wireless LAN->Wireless LAN(IEEE802.11),最后配置SD HOST驅動(dòng)支持:Device Driver->MMC/SD/SDIO card support。
對內核配置完成后,使用make zImage指令編譯Linux內核,將生成可引導的、壓縮的zImage映像文件,可直接燒寫(xiě)到開(kāi)發(fā)板。
2.1.2 引導加載程序Bootloader的移植
Bootloader是操作系統運行前執行的一段小程序,在對系統硬件進(jìn)行初始化,完成內存空間映射表的建立等操作后,實(shí)現對操作系統的加載。常用的Bootloader種類(lèi)主要有:RedBoot、ARMboot、Vivi、U—Boot和Blob等。由于U—boot的開(kāi)源性,以及多功能、靈活性強,支持多種平臺的特點(diǎn),使其在多種平臺上得到了普遍的采用,本設計也使用U—Boot來(lái)引導系統的啟動(dòng)。
2.1.3 根文件系統的移植
文件系統是操作系統在磁盤(pán)上組織文件的方法,通過(guò)使用文件系統,用戶(hù)可以對數據進(jìn)行透明且有效地存取和訪(fǎng)問(wèn)。Linux根文件系統通常包含如圖所示的目錄結構:
Yaffs是第一個(gè)專(zhuān)門(mén)為Nandflash存儲介質(zhì)而設計的嵌入式文件系統,yaffs有很好的魯棒性,對啟動(dòng)時(shí)間和RAM使用都做了優(yōu)化,加快了文件系統的加載和訪(fǎng)問(wèn)速度。故本文用yaffs作為根文件系統。
2.1.4 一鍵燒寫(xiě)Linux
OK6410支持一鍵燒寫(xiě),就是借助SD卡、系統映像和燒寫(xiě)工具,通過(guò)一系列的操作,非常迅速地燒寫(xiě)Linux到開(kāi)發(fā)板的Nandflash中。具體步驟如下:
1)將SD卡格式化為FAT32格式,通過(guò)SD_Writer.exe將mmc.bin燒寫(xiě)到SD卡中;
2)將U—Boot、zImage和yaffs2文件拷貝到SD卡中;
3)將SD卡插入開(kāi)發(fā)板,撥動(dòng)開(kāi)發(fā)板的撥碼開(kāi)關(guān),設置為SD卡啟動(dòng);
4)設置DNW串口,給開(kāi)發(fā)板上電,等待5分鐘左右即可;
5)斷電,將撥碼開(kāi)關(guān)設置為Nandflash啟動(dòng),重新啟動(dòng)電源,便完成系統燒寫(xiě)。
2.2 Mjpg—streamer移植
評論