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