楊卓 劉子明
摘要:進(jìn)入二十一世紀(jì)以來(lái),隨著數(shù)字信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展,嵌入式系統(tǒng)已經(jīng)深入到工作和生活的方方面面,嵌入式應(yīng)用拉近了人與計(jì)算機(jī)的距離,形成一個(gè)人機(jī)和諧的工作與生活環(huán)境,并將發(fā)揮更大的作用,無(wú)線局域網(wǎng)的應(yīng)用將會(huì)成為未來(lái)無(wú)線網(wǎng)絡(luò)的技術(shù)主流。該文主要研究?jī)?nèi)容有嵌入式系統(tǒng)的設(shè)計(jì),嵌入式操作系統(tǒng)的研究和移植,視頻圖像的采集和處理,無(wú)線傳輸技術(shù)及無(wú)線網(wǎng)絡(luò)配置的方法。
關(guān)鍵詞:ARM9;Wi-Fi;遠(yuǎn)程視頻
中圖分類(lèi)號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)18-4545-04
The Design of Wireless Monitoring System Based on ARM9
YANG Zhuo, LIU Zi-ming
(Changzhou Textile Garment Institute, Changzhou 213164, China)
Abstract: Since the 21th century, with the rapid development of digital information technology and network technology, embedded sys? tem has gone into work and all aspects of life. The Embedded system shorten the distance of people and computers and formed a harmoni? ous living and working environment. It will become more and more important. Application of wireless local network will become the fu? ture mainstream of wireless network. This paper introduces the method of embedded system design, embedded operating system research and transplantation, video image acquisition and processing, wireless transmission technology and wireless network configuration.
Key words: ARM9; Wi-Fi; remote video
在嵌入式系統(tǒng)開(kāi)發(fā)中,根據(jù)用戶(hù)的應(yīng)用需求,首先應(yīng)選擇相應(yīng)的嵌入式處理器及外圍接口電路來(lái)搭建硬件平臺(tái),然后選擇合適的嵌入式操作系統(tǒng),在此基礎(chǔ)上進(jìn)行相應(yīng)的設(shè)備驅(qū)動(dòng)程序和用戶(hù)應(yīng)用程序開(kāi)發(fā),最后是整個(gè)系統(tǒng)的調(diào)試運(yùn)行。系統(tǒng)開(kāi)發(fā)流程如圖1所示。
本監(jiān)控系統(tǒng)平臺(tái)采用三星公司ARM9嵌入式處理器,以USB接口的CMOS攝像頭實(shí)現(xiàn)圖像采集,另以同樣為USB接口的無(wú)線網(wǎng)卡實(shí)現(xiàn)圖像的無(wú)線傳輸。
如圖2所示,系統(tǒng)以ARM處理器為核心,通過(guò)外部擴(kuò)展64M存儲(chǔ)器(Flash/SDRAM)、CMOS攝像頭、Wi-Fi網(wǎng)卡等模塊,實(shí)現(xiàn)無(wú)線
圖3嵌入式Wi-Fi監(jiān)控平臺(tái)軟件結(jié)構(gòu)圖3.1 Linux系統(tǒng)移植
嵌入式開(kāi)發(fā)不同于普通PC機(jī)上的開(kāi)發(fā),需要交叉編譯所開(kāi)發(fā)的軟件。在XP系統(tǒng)中安裝VMware虛擬機(jī),然后安裝ubuntu10.10操作系統(tǒng),XP系統(tǒng)、ubuntu系統(tǒng)與開(kāi)發(fā)板,仿真器等構(gòu)成了交叉開(kāi)發(fā)的基礎(chǔ)平臺(tái),如圖4所示。圖4主機(jī)/目標(biāo)機(jī)開(kāi)發(fā)模式示意圖3.2驅(qū)動(dòng)層軟件設(shè)計(jì)
設(shè)備驅(qū)動(dòng)程序是介于硬件和Linux內(nèi)核之間的軟件接口,是一種低級(jí)的、專(zhuān)用于某一硬件的軟件組件。在Linux下編寫(xiě)驅(qū)動(dòng)程序的原理和思路完全類(lèi)似于其他的Unix系統(tǒng),但它與DOS或Windows環(huán)境下的驅(qū)動(dòng)程序有很大的區(qū)別。在Linux環(huán)境下設(shè)計(jì)驅(qū)動(dòng)程序思想簡(jiǎn)潔,操作方便,功能也很強(qiáng)大,但是支持函數(shù)較少,只能依賴(lài)kernel中的函數(shù),有些操作還需要自行編寫(xiě)。
Linux中有兩種方式使用設(shè)備驅(qū)動(dòng)程序:一、直接編譯到內(nèi)核中;二、在運(yùn)行時(shí)加載(也就是編譯為內(nèi)核模塊)。
直接將硬件驅(qū)動(dòng)程序?qū)懭雰?nèi)核的優(yōu)點(diǎn)在于用戶(hù)可隨時(shí)對(duì)它進(jìn)行調(diào)用而無(wú)須安裝,但是這樣大大增加了內(nèi)核占用的空間。將硬件驅(qū)動(dòng)程序編寫(xiě)成一種可加載的內(nèi)核模塊,然后在系統(tǒng)運(yùn)行時(shí)通過(guò)insmod指令對(duì)模塊進(jìn)行加載,這種方法雖然會(huì)因?yàn)閷ふ因?qū)動(dòng)模塊而增加系統(tǒng)資源的占用和運(yùn)行時(shí)間,但這與龐大的內(nèi)核所消耗的資源相比就顯得微不足道了,而且將硬件驅(qū)動(dòng)程序視為可加載的內(nèi)核模塊進(jìn)行開(kāi)發(fā)和配置,用戶(hù)就可將硬件驅(qū)動(dòng)程序作為一種獨(dú)立的系統(tǒng)來(lái)進(jìn)行升級(jí),而不用對(duì)整個(gè)內(nèi)核進(jìn)行改動(dòng),便于對(duì)模塊的調(diào)試。
3.3應(yīng)用層軟件設(shè)計(jì)
本系統(tǒng)采用Linux下USB攝像頭對(duì)視頻進(jìn)行采集,再通過(guò)編碼無(wú)線傳輸,在接收平臺(tái)應(yīng)用接收程序和播放程序達(dá)到實(shí)時(shí)視頻監(jiān)控,其具體過(guò)程如圖5所示。
圖5視頻監(jiān)控流程
由于視頻采集端是嵌入式移動(dòng)平臺(tái),而視頻播放端是以Windows為平臺(tái)的上位機(jī)系統(tǒng)。在視頻監(jiān)控應(yīng)用軟件的設(shè)計(jì)上要用到兩個(gè)不同平臺(tái)下的視頻軟件開(kāi)發(fā)包。V4L2(Video for Linux2)是linux內(nèi)核提供給用戶(hù)空間的編程接口,各種的視頻和音頻設(shè)備在開(kāi)發(fā)相應(yīng)的驅(qū)動(dòng)程序后,就可以通過(guò)V4L2提供的系統(tǒng)API來(lái)控制視頻和音頻設(shè)備,由此可見(jiàn)V4L2分為兩層,底層為音視頻設(shè)備在內(nèi)核中的驅(qū)動(dòng),上層為系統(tǒng)提供的API,而對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)需要的就是使用這些系統(tǒng)的API。由于接收到是MJPEG流碼的數(shù)據(jù),在Windows平臺(tái)的上位機(jī)程序中,可以將每一幀數(shù)據(jù)直接顯示。每一幀數(shù)據(jù)即為1張圖片。 4.1測(cè)試環(huán)境的建立
通常的嵌入式系統(tǒng)的軟件開(kāi)發(fā)采用一種交叉編譯調(diào)試的方式。交叉編譯調(diào)試環(huán)境建立在宿主機(jī)(即裝有LINUX的PC機(jī),本設(shè)計(jì)使用ubuntu10.10系統(tǒng))上;對(duì)應(yīng)的開(kāi)發(fā)板叫做目標(biāo)板,它運(yùn)行交叉編譯后的目標(biāo)程序;最后還需要一臺(tái)PC機(jī)(Windows XP主機(jī))通過(guò)超級(jí)終端對(duì)目標(biāo)板進(jìn)行配置與控制,并裝有DNW軟件下載系統(tǒng)鏡像。
[1]王雪.無(wú)線傳感器網(wǎng)絡(luò)測(cè)量系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,2007.
[2]徐建波,劉輝亞.基于不同平面的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)定位算法[J].計(jì)算機(jī)工程與應(yīng)用,2008(24).
[3]陳莉莉.寬帶無(wú)線接入技術(shù)比較以及應(yīng)用分析[J].科技資訊,2009(10).
[4]趙彩霞.淺議無(wú)線通信技術(shù)的發(fā)展及應(yīng)用[J].科技信息,2009(20).