<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一種基于linux的無線可視門鈴系統(tǒng)設(shè)計(jì)

          一種基于linux的無線可視門鈴系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2014-05-07 來源:網(wǎng)絡(luò) 收藏

          1、引言

          本文引用地址:http://www.ex-cimer.com/article/246449.htm

          在當(dāng)前的電子行業(yè)中,無線技術(shù)已經(jīng)滲透到方方面面,無論是電視機(jī)的遙控設(shè)備,還是計(jì)算機(jī)的外圍設(shè)備都是如此,有的鍵盤和鼠標(biāo)甚至也使用了無線技術(shù)。無線網(wǎng)絡(luò)技術(shù)已經(jīng)成為熱門技術(shù)。無線網(wǎng)絡(luò)產(chǎn)品廣泛應(yīng)用于家庭網(wǎng)絡(luò)、小型辦公室、會(huì)展中心、體育中心、飛機(jī)廠、醫(yī)院、學(xué)校、港口、住宅小區(qū)、酒店、寬帶接入。它使人們在Internet應(yīng)用中擺脫了無窮無盡電線電纜的束縛,進(jìn)入真正的無網(wǎng)不在的Internet自由空間。無線網(wǎng)絡(luò)技術(shù)可望成為新的經(jīng)濟(jì)增長點(diǎn)。

          近幾年來, 隨著市場上智能化樓宇的不斷升溫, 門鈴系統(tǒng)已作為智能化辦公室和智能化住宅小區(qū)的一個(gè)重要組成部分,被各商家和用戶所接受。人們已開始習(xí)慣用門鈴系統(tǒng)代替?zhèn)鹘y(tǒng)的鐵鑰匙去管理各通道門, 這使門鈴系統(tǒng)得到了飛躍性的發(fā)展。在2000年, 全世界的門鈴系統(tǒng)銷量比1999增長了接近10倍,占整個(gè)安防市場的40%。

          2、 linux操作系統(tǒng)介紹

          linux是一種很受歡迎的操作系統(tǒng),它與UNIX系統(tǒng)兼容,開放源代碼,它原本被設(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í)對其他許多的網(wǎng)絡(luò)協(xié)議都提供支持。這些網(wǎng)絡(luò)協(xié)議都在linux上得到了很好的實(shí)現(xiàn)。linux可以稱作是一個(gè)針對嵌入式系統(tǒng)的優(yōu)秀網(wǎng)絡(luò)操作系統(tǒng)。linux以其優(yōu)異的性能、免費(fèi)開放的代碼等優(yōu)點(diǎn),博得眾多嵌入式開發(fā)者的青睞,和過去基于簡單RTOS甚至沒有使用任何操作系統(tǒng)的嵌入式程序設(shè)計(jì)相比,基于Linux這樣的成熟的、高效的、健壯的、可靠的、模塊化的、易于配置的操作系統(tǒng)來開發(fā)自己的應(yīng)用程序,無疑能進(jìn)一步提高效率,并具有很好的可移植性。

          3、 無線可視門鈴系統(tǒng)原理框圖



          圖2、無線可視門鈴系統(tǒng)服務(wù)器端的原理框圖

          3.1無線可視門鈴服務(wù)器端基本工作原理

          無線可視門鈴是一個(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)來的輸入信號(hào),經(jīng)過視頻A/D和音頻A/D轉(zhuǎn)換后,進(jìn)行MPEG4視頻編碼和MPEG MP3音頻編碼。編碼后的視音頻碼流送到網(wǎng)絡(luò)復(fù)用模塊打包后,經(jīng)過802.11x無線網(wǎng)絡(luò)送到客戶端。具體功能如下:

          1)基于IDT 高性能嵌入式處理器等硬件系統(tǒng)的加電自舉Boot Loader功能,具有系統(tǒng)硬件初始化和檢測,嵌入式操作系統(tǒng)或用戶程序的裝載啟動(dòng)功能。

          2).在嵌入式操作系統(tǒng)環(huán)境下,對以VW2010為核心的A/V模塊進(jìn)行初始化配置和VW2010驅(qū)動(dòng)程序加載。

          3).對模擬音頻視頻進(jìn)行A/D轉(zhuǎn)換,并以MPEG-4的格式進(jìn)行壓縮編碼。

          4).將壓縮編碼后的數(shù)據(jù)流通過無線網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)發(fā)。

          5)可以對壓縮編碼后的數(shù)據(jù)流/文件進(jìn)行保存,對輸入的壓縮編碼音頻/視頻文件進(jìn)行解碼和模擬音頻視頻播放輸出。

          3.2無線可視門鈴客戶端基本工作原理



          圖3、無線可視門鈴系統(tǒng)客戶端的原理框圖 由無線網(wǎng)絡(luò)接收的傳送流數(shù)據(jù),經(jīng)過網(wǎng)絡(luò)解復(fù)用模塊解復(fù)用后,獲得的視頻碼流和音頻碼流分別送至視頻解碼模塊和音頻解碼模塊進(jìn)行MPEG4視頻解碼 和MPEG MP3音頻解碼。解碼后的數(shù)據(jù)經(jīng)過視頻模擬編碼、D/A和音頻D/A轉(zhuǎn)換后送到可視終端進(jìn)行顯示。

          4、無線可視門鈴系統(tǒng)設(shè)計(jì)

          4.1 系統(tǒng)設(shè)計(jì)原理

          系統(tǒng)設(shè)計(jì)包括硬件和軟件。硬件主要分控制系統(tǒng)和輸入、輸出數(shù)據(jù)源三部分。輸入、輸出數(shù)據(jù)源可以是IDE接口設(shè)備(如硬盤)或網(wǎng)絡(luò)端口。控制系統(tǒng)對系統(tǒng)各部分進(jìn)行監(jiān)測和控制、完成數(shù)據(jù)流的傳輸?shù)取?刂葡到y(tǒng)主要由主控芯片、Flash和SRAM組成。主控芯片通過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)定的問題,編、解碼芯片通常使用SDRAM 進(jìn)行數(shù)據(jù)緩沖才可以保證正常編、解碼過程。   軟件主要包括嵌入式Linux移植、編、解碼驅(qū)動(dòng)和應(yīng)用程序編寫。嵌入式Linux移植到由主控芯片F(xiàn)lash控制器控制的Flash里,操作系統(tǒng)程序文件分成五個(gè)主要部分:bootloader、kernel、ramdisk、usr和boot_param,分別放在Flash內(nèi)的五個(gè)模塊中。根據(jù)不同模塊的具體功能采用不同的文件方式:bootloader、kernel、ramdisk和boot param,開發(fā)好后不需要?jiǎng)討B(tài)改變,且容量小,使用節(jié)省空間的ROMFS只讀文件系統(tǒng),usr模塊內(nèi)容較多并需要進(jìn)行讀寫操作,要使用支持動(dòng)態(tài)擦寫保存的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 。它是一款64位,內(nèi)部集成了NAND Flash控制器(FlashC)、32位PCI總線控制器(PCIC)、4通道DMA控制器、4通道SDRAM控制器(SDRAMC)、外部總線控制器 (EBUSC)、外部總線接口(E—BUSI)以及2個(gè)通用串口等,并通過內(nèi)部總線對它們分別進(jìn)行控制。其工作主頻400MHz,處理速度快,功能強(qiáng),性價(jià)比高,能很好滿足嵌入式Linux系統(tǒng)的需求。

          通過內(nèi)部的FlashC和SDRAMC實(shí)現(xiàn)對外圍Flash和SDRAM的控制,其中SDRAM的數(shù)據(jù)地址線要與外部總線控制接口 (EBUSI)連接,F(xiàn)lash的數(shù)據(jù)地址線連接到對應(yīng)的FlashC的數(shù)據(jù)地址端口。通過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)程序編寫和解碼應(yīng)用程序的編寫,其體系結(jié)構(gòu)及與硬件的關(guān)系如圖6所示。

          嵌入式Linux操作系統(tǒng)是用戶控制系統(tǒng)的硬件平臺(tái),系統(tǒng)驅(qū)動(dòng)程序采用模塊化形式,向上為用戶層的應(yīng)用程序提供API函數(shù),向下通過系統(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ù)器端和客戶端主程序流程圖。



          圖5、系統(tǒng)軟件原理圖



          圖6 無線可視門鈴服務(wù)器端主程序流程圖



          圖7 無線可視門鈴客戶端主程序流程圖

          5、 結(jié)論

          上述介紹了一種嵌入式無線可視門鈴系統(tǒng),該系統(tǒng)采用硬件編、解碼方式實(shí)現(xiàn)IDE接口設(shè)備或網(wǎng)絡(luò)端口輸入和輸出的MPEG-4碼流。系統(tǒng)采用64位 MIPS芯片IDT 作為主控制器,以VW2010作為MPEG-4編、解碼芯片;采用嵌入式Linux作為操作系統(tǒng)和模塊化的VW2010驅(qū)動(dòng)程序,編、解碼應(yīng)用程序簡單實(shí)用,可擴(kuò)展性強(qiáng)。實(shí)驗(yàn)證明此系統(tǒng)可廣泛用于IP電視、衛(wèi)星電視、無線可視門鈴和基于MPEG-4標(biāo)準(zhǔn)的數(shù)字電視廣播系統(tǒng)中,應(yīng)用前景十分廣闊。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          linux相關(guān)文章:linux教程




          關(guān)鍵詞: MIPS RC32434

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();