基于linux的嵌入式無線可視門鈴系統的設計
1、 引言
本文引用地址:http://www.j9360.com/article/21435.htm
在當前的電子行業中,無線技術已經滲透到方方面面,無論是電視機的遙控設備,還是計算機的外圍設備都是如此,有的鍵盤和鼠標甚至也使用了無線技術。無線網絡技術已經成為熱門技術。無線網絡產品廣泛應用于家庭網絡、小型辦公室、會展中心、體育中心、飛機廠、醫院、學校、港口、住宅小區、酒店、寬帶接入。它使人們在internet應用中擺脫了無窮無盡電線電纜的束縛,進入真正的無網不在的internet自由空間。無線網絡技術可望成為新的經濟增長點。
近幾年來, 隨著市場上智能化樓宇的不斷升溫, 門鈴系統已作為智能化辦公室和智能化住宅小區的一個重要組成部分,被各商家和用戶所接受。人們已開始習慣用門鈴系統代替傳統的鐵鑰匙去管理各通道門, 這使門鈴系統得到了飛躍性的發展。在2000年, 全世界的門鈴系統銷量比1999增長了接近10倍,占整個安防市場的40%。
2、 linux操作系統介紹
linux是一種很受歡迎的操作系統,它與unix系統兼容,開放源代碼,它原本被設計為桌面系統,現在廣泛應用于服務器領域。而更大的影響在于它正逐漸的應用于嵌入式設備。但是它仍保持了桌面linux操作系統的主要的優點,如穩定性、強大的網絡功能和出色的文件系統支持等。linux有一個完整的tcp/ip協議棧,同時對其他許多的網絡協議都提供支持。
這些網絡協議都在linux上得到了很好的實現。linux可以稱作是一個針對嵌入式系統的優秀網絡操作系統。linux以其優異的性能、免費開放的代碼等優點,博得眾多嵌入式開發者的青睞,和過去基于簡單rtos甚至沒有使用任何操作系統的嵌入式程序設計相比,基于linux這樣的成熟的、高效的、健壯的、可靠的、模塊化的、易于配置的操作系統來開發自己的應用程序,無疑能進一步提高效率,并具有很好的可移植性。
3、 無線可視門鈴系統原理框圖

圖2、無線可視門鈴系統服務器端的原理框圖
3.1無線可視門鈴服務器端基本工作原理
無線可視門鈴是一個基于高性能嵌入式處理器和硬件實時編解碼芯片,結合
linux操作系統,由服務器端和客戶端兩部分組成的系統。主要實現音頻視頻的高質量編解碼和網絡轉發功能,服務器端具體實現功能如下:
由ccd sensor和音視頻端口進來的輸入信號,經過視頻a/d和音頻a/d轉換后,進行mpeg4視頻編碼和mpeg mp3音頻編碼。編碼后的視音頻碼流送到網絡復用模塊打包后,經過802.11x無線網絡送到客戶端。具體功能如下:
.1)基于idt rc32434高性能嵌入式處理器等硬件系統的加電自舉boot loader功能,具有系統硬件初始化和檢測,嵌入式操作系統或用戶程序的裝載啟動功能。
2).在嵌入式操作系統環境下,對以vw2010為核心的a/v模塊進行初始化配置和vw2010驅動程序加載。
3).對模擬音頻視頻進行a/d轉換,并以mpeg-4的格式進行壓縮編碼。
4).將壓縮編碼后的數據流通過無線網絡進行轉發。
.5)可以對壓縮編碼后的數據流/文件進行保存,對輸入的壓縮編碼音頻/視頻文件進行 解碼和模擬音頻視頻播放輸出。
3.2無線可視門鈴客戶端基本工作原理
802.11x無線網絡
flash
sdram
cpu
數字視頻解碼
網絡
解復用
數字音頻解碼
rs232
控制信號
視頻d/a
視頻編碼
可視終端
音頻d/a

圖3、無線可視門鈴系統客戶端的原理框圖
由無線網絡接收的傳送流數據,經過網絡解復用模塊解復用后,獲得的視頻碼流和音頻碼流分別送至視頻解碼模塊和音頻解碼模塊進行mpeg4視頻解碼 和mpeg mp3音頻解碼。解碼后的數據經過視頻模擬編碼、d/a和音頻d/a轉換后送到可視終端進行顯示。
無線可視門鈴系統服務器端和客戶端的實物圖如圖4所示。圖片的下面是無線可視門鈴系統服務器端,上面是無線可視門鈴系統客戶端。

圖4、無線可視門鈴系統服務器端和客戶端的實物圖
4、 無線可視門鈴系統設計
4.1 系統設計原理
系統設計包括硬件和軟件。硬件主要分控制系統和輸入、輸出數據源三部分。輸入、輸出數據源可以是ide接口設備(如硬盤)或網絡端口??刂葡到y對系統各部分進行監測和控制、完成數據流的傳輸等??刂葡到y主要由主控芯片、flash和sram組成。主控芯片通過pci總線控制系統其他模塊,是控制系統的核心;flash里固化嵌入式linux操作系統,存放應用軟件和備份數據;sdram作為內存供系統運行使用。mpeg-4硬件編、解碼系統采用硬編、解碼方式,負責將輸入的mpeg-4數據流編、解碼成普通的電視信號,其核心是編、解碼芯片。為解決數據流不穩定的問題,編、解碼芯片通常使用sdram進行數據緩沖才可以保證正常編、解碼過程。
軟件主要包括嵌入式linux移植、編、解碼驅動和應用程序編寫。嵌入式linux移植到由主控芯片flash控制器控制的flash里,操作系統程序文件分成五個主要部分:bootloader、kernel、ramdisk、usr和boot_param,分別放在flash內的五個模塊中。根據不同模塊的具體功能采用不同的文件方式:bootloader、kernel、ramdisk和boot param,開發好后不需要動態改變,且容量小,使用節省空間的romfs只讀文件系統,usr模塊內容較多并需要進行讀寫操作,要使用支持動態擦寫保存的jffs文件系統。
4.2 系統硬件設計
系統的硬件設計主要分兩部分:數據源接口設計、控制系統設計。數據流先要從數據源經數據源接口送至pci總線,此系統數據源接口為pci總線上的pci/ide橋芯片和網絡控制芯片。
控制系統調配系統資源、控制系統各個部分以及數據流的傳輸。主控芯片采用idt rc32434。它是一款64位mips,內部集成了nand flash控制器(flashc)、32位pci總線控制器(pcic)、4通道dma控制器、4通道sdram控制器(sdramc)、外部總線控制器(ebusc)、外部總線接口(e—busi)以及2個通用串口等,并通過內部總線對它們分別進行控制。其工作主頻400mhz,處理速度快,功能強,性價比高,能很好滿足嵌入式linux系統的需求。
mips通過內部的flashc和sdramc實現對外圍flash和sdram的控制,其中sdram的數據地址線要與外部總線控制接口(ebusi)連接,flash的數據地址線連接到對應的flashc的數據地址端口。mips通過pci總線控制器(pcic)控制其他pci接口設備。
4.3系統軟件設計
本系統軟件設計主要分為嵌入式linux操作系統內核移植、編碼和解碼芯片、pci橋芯片及網口等系統驅動程序編寫和解碼應用程序的編寫,其體系結構及與硬件的關系如圖6所示。
嵌入式linux操作系統是用戶控制系統的硬件平臺,系統驅動程序采用模塊化形式,向上為用戶層的應用程序提供api函數,向下通過系統硬件api函數控制系統硬件。編、解碼驅動模塊采用實時加載方式,其他如網口、i2c和pci/ide接口等驅動通用性強,直接編譯入內核。編、解碼應用程序則實現系統mpeg-4數據流的傳輸和編、解碼。圖7和圖8分別是無線可視門鈴服務器端和客戶端主程序流程圖。

圖5、系統軟件原理圖

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

圖7 無線可視門鈴客戶端主程序流程圖
5、 結論
上述介紹了一種嵌入式無線可視門鈴系統,該系統采用硬件編、解碼方式實現ide接口設備或網絡端口輸入和輸出的mpeg-4碼流。系統采用64位mips芯片idt rc32434作為主控制器,以vw2010作為mpeg-4編、解碼芯片;采用嵌入式linux作為操作系統和模塊化的vw2010驅動程序,編、解碼應用程序簡單實用,可擴展性強。實驗證明此系統可廣泛用于ip電視、衛星電視、無線可視門鈴和基于mpeg-4標準的數字電視廣播系統中,應用前景十分廣闊。
評論