基于linux的嵌入式無(wú)線可視門(mén)鈴系統(tǒng)的設(shè)計(jì)
1、 引言
本文引用地址:http://butianyuan.cn/article/21435.htm
在當(dāng)前的電子行業(yè)中,無(wú)線技術(shù)已經(jīng)滲透到方方面面,無(wú)論是電視機(jī)的遙控設(shè)備,還是計(jì)算機(jī)的外圍設(shè)備都是如此,有的鍵盤(pán)和鼠標(biāo)甚至也使用了無(wú)線技術(shù)。無(wú)線網(wǎng)絡(luò)技術(shù)已經(jīng)成為熱門(mén)技術(shù)。無(wú)線網(wǎng)絡(luò)產(chǎn)品廣泛應(yīng)用于家庭網(wǎng)絡(luò)、小型辦公室、會(huì)展中心、體育中心、飛機(jī)廠、醫(yī)院、學(xué)校、港口、住宅小區(qū)、酒店、寬帶接入。它使人們?cè)趇nternet應(yīng)用中擺脫了無(wú)窮無(wú)盡電線電纜的束縛,進(jìn)入真正的無(wú)網(wǎng)不在的internet自由空間。無(wú)線網(wǎng)絡(luò)技術(shù)可望成為新的經(jīng)濟(jì)增長(zhǎng)點(diǎn)。
近幾年來(lái), 隨著市場(chǎng)上智能化樓宇的不斷升溫, 門(mén)鈴系統(tǒng)已作為智能化辦公室和智能化住宅小區(qū)的一個(gè)重要組成部分,被各商家和用戶所接受。人們已開(kāi)始習(xí)慣用門(mén)鈴系統(tǒng)代替?zhèn)鹘y(tǒng)的鐵鑰匙去管理各通道門(mén), 這使門(mén)鈴系統(tǒng)得到了飛躍性的發(fā)展。在2000年, 全世界的門(mén)鈴系統(tǒng)銷(xiāo)量比1999增長(zhǎng)了接近10倍,占整個(gè)安防市場(chǎng)的40%。
2、 linux操作系統(tǒng)介紹
linux是一種很受歡迎的操作系統(tǒng),它與unix系統(tǒng)兼容,開(kāi)放源代碼,它原本被設(shè)計(jì)為桌面系統(tǒng),現(xiàn)在廣泛應(yīng)用于服務(wù)器領(lǐng)域。而更大的影響在于它正逐漸的應(yīng)用于嵌入式設(shè)備。但是它仍保持了桌面linux操作系統(tǒng)的主要的優(yōu)點(diǎn),如穩(wěn)定性、強(qiáng)大的網(wǎng)絡(luò)功能和出色的文件系統(tǒng)支持等。linux有一個(gè)完整的tcp/ip協(xié)議棧,同時(shí)對(duì)其他許多的網(wǎng)絡(luò)協(xié)議都提供支持。
這些網(wǎng)絡(luò)協(xié)議都在linux上得到了很好的實(shí)現(xiàn)。linux可以稱(chēng)作是一個(gè)針對(duì)嵌入式系統(tǒng)的優(yōu)秀網(wǎng)絡(luò)操作系統(tǒng)。linux以其優(yōu)異的性能、免費(fèi)開(kāi)放的代碼等優(yōu)點(diǎn),博得眾多嵌入式開(kāi)發(fā)者的青睞,和過(guò)去基于簡(jiǎn)單rtos甚至沒(méi)有使用任何操作系統(tǒng)的嵌入式程序設(shè)計(jì)相比,基于linux這樣的成熟的、高效的、健壯的、可靠的、模塊化的、易于配置的操作系統(tǒng)來(lái)開(kāi)發(fā)自己的應(yīng)用程序,無(wú)疑能進(jìn)一步提高效率,并具有很好的可移植性。
3、 無(wú)線可視門(mén)鈴系統(tǒng)原理框圖
圖2、無(wú)線可視門(mén)鈴系統(tǒng)服務(wù)器端的原理框圖
3.1無(wú)線可視門(mén)鈴服務(wù)器端基本工作原理
無(wú)線可視門(mén)鈴是一個(gè)基于高性能嵌入式處理器和硬件實(shí)時(shí)編解碼芯片,結(jié)合
linux操作系統(tǒng),由服務(wù)器端和客戶端兩部分組成的系統(tǒng)。主要實(shí)現(xiàn)音頻視頻的高質(zhì)量編解碼和網(wǎng)絡(luò)轉(zhuǎn)發(fā)功能,服務(wù)器端具體實(shí)現(xiàn)功能如下:
由ccd sensor和音視頻端口進(jìn)來(lái)的輸入信號(hào),經(jīng)過(guò)視頻a/d和音頻a/d轉(zhuǎn)換后,進(jìn)行mpeg4視頻編碼和mpeg mp3音頻編碼。編碼后的視音頻碼流送到網(wǎng)絡(luò)復(fù)用模塊打包后,經(jīng)過(guò)802.11x無(wú)線網(wǎng)絡(luò)送到客戶端。具體功能如下:
.1)基于idt rc32434高性能嵌入式處理器等硬件系統(tǒng)的加電自舉boot loader功能,具有系統(tǒng)硬件初始化和檢測(cè),嵌入式操作系統(tǒng)或用戶程序的裝載啟動(dòng)功能。
2).在嵌入式操作系統(tǒng)環(huán)境下,對(duì)以vw2010為核心的a/v模塊進(jìn)行初始化配置和vw2010驅(qū)動(dòng)程序加載。
3).對(duì)模擬音頻視頻進(jìn)行a/d轉(zhuǎn)換,并以mpeg-4的格式進(jìn)行壓縮編碼。
4).將壓縮編碼后的數(shù)據(jù)流通過(guò)無(wú)線網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)發(fā)。
.5)可以對(duì)壓縮編碼后的數(shù)據(jù)流/文件進(jìn)行保存,對(duì)輸入的壓縮編碼音頻/視頻文件進(jìn)行 解碼和模擬音頻視頻播放輸出。
3.2無(wú)線可視門(mén)鈴客戶端基本工作原理
802.11x無(wú)線網(wǎng)絡(luò)
flash
sdram
cpu
數(shù)字視頻解碼
網(wǎng)絡(luò)
解復(fù)用
數(shù)字音頻解碼
rs232
控制信號(hào)
視頻d/a
視頻編碼
可視終端
音頻d/a
圖3、無(wú)線可視門(mén)鈴系統(tǒng)客戶端的原理框圖
由無(wú)線網(wǎng)絡(luò)接收的傳送流數(shù)據(jù),經(jīng)過(guò)網(wǎng)絡(luò)解復(fù)用模塊解復(fù)用后,獲得的視頻碼流和音頻碼流分別送至視頻解碼模塊和音頻解碼模塊進(jìn)行mpeg4視頻解碼 和mpeg mp3音頻解碼。解碼后的數(shù)據(jù)經(jīng)過(guò)視頻模擬編碼、d/a和音頻d/a轉(zhuǎn)換后送到可視終端進(jìn)行顯示。
無(wú)線可視門(mén)鈴系統(tǒng)服務(wù)器端和客戶端的實(shí)物圖如圖4所示。圖片的下面是無(wú)線可視門(mén)鈴系統(tǒng)服務(wù)器端,上面是無(wú)線可視門(mén)鈴系統(tǒng)客戶端。
圖4、無(wú)線可視門(mén)鈴系統(tǒng)服務(wù)器端和客戶端的實(shí)物圖
4、 無(wú)線可視門(mén)鈴系統(tǒng)設(shè)計(jì)
4.1 系統(tǒng)設(shè)計(jì)原理
系統(tǒng)設(shè)計(jì)包括硬件和軟件。硬件主要分控制系統(tǒng)和輸入、輸出數(shù)據(jù)源三部分。輸入、輸出數(shù)據(jù)源可以是ide接口設(shè)備(如硬盤(pán))或網(wǎng)絡(luò)端口??刂葡到y(tǒng)對(duì)系統(tǒng)各部分進(jìn)行監(jiān)測(cè)和控制、完成數(shù)據(jù)流的傳輸?shù)取?刂葡到y(tǒng)主要由主控芯片、flash和sram組成。主控芯片通過(guò)pci總線控制系統(tǒng)其他模塊,是控制系統(tǒng)的核心;flash里固化嵌入式linux操作系統(tǒng),存放應(yīng)用軟件和備份數(shù)據(jù);sdram作為內(nèi)存供系統(tǒng)運(yùn)行使用。mpeg-4硬件編、解碼系統(tǒng)采用硬編、解碼方式,負(fù)責(zé)將輸入的mpeg-4數(shù)據(jù)流編、解碼成普通的電視信號(hào),其核心是編、解碼芯片。為解決數(shù)據(jù)流不穩(wěn)定的問(wèn)題,編、解碼芯片通常使用sdram進(jìn)行數(shù)據(jù)緩沖才可以保證正常編、解碼過(guò)程。
軟件主要包括嵌入式linux移植、編、解碼驅(qū)動(dòng)和應(yīng)用程序編寫(xiě)。嵌入式linux移植到由主控芯片flash控制器控制的flash里,操作系統(tǒng)程序文件分成五個(gè)主要部分:bootloader、kernel、ramdisk、usr和boot_param,分別放在flash內(nèi)的五個(gè)模塊中。根據(jù)不同模塊的具體功能采用不同的文件方式:bootloader、kernel、ramdisk和boot param,開(kāi)發(fā)好后不需要?jiǎng)討B(tài)改變,且容量小,使用節(jié)省空間的romfs只讀文件系統(tǒng),usr模塊內(nèi)容較多并需要進(jìn)行讀寫(xiě)操作,要使用支持動(dòng)態(tài)擦寫(xiě)保存的jffs文件系統(tǒng)。
4.2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)的硬件設(shè)計(jì)主要分兩部分:數(shù)據(jù)源接口設(shè)計(jì)、控制系統(tǒng)設(shè)計(jì)。數(shù)據(jù)流先要從數(shù)據(jù)源經(jīng)數(shù)據(jù)源接口送至pci總線,此系統(tǒng)數(shù)據(jù)源接口為pci總線上的pci/ide橋芯片和網(wǎng)絡(luò)控制芯片。
控制系統(tǒng)調(diào)配系統(tǒng)資源、控制系統(tǒng)各個(gè)部分以及數(shù)據(jù)流的傳輸。主控芯片采用idt rc32434。它是一款64位mips,內(nèi)部集成了nand flash控制器(flashc)、32位pci總線控制器(pcic)、4通道dma控制器、4通道sdram控制器(sdramc)、外部總線控制器(ebusc)、外部總線接口(e—busi)以及2個(gè)通用串口等,并通過(guò)內(nèi)部總線對(duì)它們分別進(jìn)行控制。其工作主頻400mhz,處理速度快,功能強(qiáng),性?xún)r(jià)比高,能很好滿足嵌入式linux系統(tǒng)的需求。
mips通過(guò)內(nèi)部的flashc和sdramc實(shí)現(xiàn)對(duì)外圍flash和sdram的控制,其中sdram的數(shù)據(jù)地址線要與外部總線控制接口(ebusi)連接,flash的數(shù)據(jù)地址線連接到對(duì)應(yīng)的flashc的數(shù)據(jù)地址端口。mips通過(guò)pci總線控制器(pcic)控制其他pci接口設(shè)備。
4.3系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)軟件設(shè)計(jì)主要分為嵌入式linux操作系統(tǒng)內(nèi)核移植、編碼和解碼芯片、pci橋芯片及網(wǎng)口等系統(tǒng)驅(qū)動(dòng)程序編寫(xiě)和解碼應(yīng)用程序的編寫(xiě),其體系結(jié)構(gòu)及與硬件的關(guān)系如圖6所示。
嵌入式linux操作系統(tǒng)是用戶控制系統(tǒng)的硬件平臺(tái),系統(tǒng)驅(qū)動(dòng)程序采用模塊化形式,向上為用戶層的應(yīng)用程序提供api函數(shù),向下通過(guò)系統(tǒng)硬件api函數(shù)控制系統(tǒng)硬件。編、解碼驅(qū)動(dòng)模塊采用實(shí)時(shí)加載方式,其他如網(wǎng)口、i2c和pci/ide接口等驅(qū)動(dòng)通用性強(qiáng),直接編譯入內(nèi)核。編、解碼應(yīng)用程序則實(shí)現(xiàn)系統(tǒng)mpeg-4數(shù)據(jù)流的傳輸和編、解碼。圖7和圖8分別是無(wú)線可視門(mén)鈴服務(wù)器端和客戶端主程序流程圖。
圖5、系統(tǒng)軟件原理圖
圖6 無(wú)線可視門(mén)鈴服務(wù)器端主程序流程圖
圖7 無(wú)線可視門(mén)鈴客戶端主程序流程圖
5、 結(jié)論
上述介紹了一種嵌入式無(wú)線可視門(mén)鈴系統(tǒng),該系統(tǒng)采用硬件編、解碼方式實(shí)現(xiàn)ide接口設(shè)備或網(wǎng)絡(luò)端口輸入和輸出的mpeg-4碼流。系統(tǒng)采用64位mips芯片idt rc32434作為主控制器,以vw2010作為mpeg-4編、解碼芯片;采用嵌入式linux作為操作系統(tǒng)和模塊化的vw2010驅(qū)動(dòng)程序,編、解碼應(yīng)用程序簡(jiǎn)單實(shí)用,可擴(kuò)展性強(qiáng)。實(shí)驗(yàn)證明此系統(tǒng)可廣泛用于ip電視、衛(wèi)星電視、無(wú)線可視門(mén)鈴和基于mpeg-4標(biāo)準(zhǔn)的數(shù)字電視廣播系統(tǒng)中,應(yīng)用前景十分廣闊。
評(píng)論