數(shù)字家庭遙控器的研究與開發(fā)
關(guān)鍵詞:數(shù)字家庭,遙控器,PXA255,Linux
1 引言
數(shù)字家庭是一個融合了家庭控制網(wǎng)絡(luò)和多媒體信息網(wǎng)絡(luò)于一體的信息化平臺,通過有線或無線的方式在家庭范圍內(nèi)實現(xiàn)PC、消費電子產(chǎn)品和通信設(shè)備的互聯(lián)和管理,對內(nèi)實現(xiàn)各種信息的資源共享,對外實現(xiàn)信息的互換。數(shù)字家庭遙控器是數(shù)字家庭的控制終端,通過紅外、藍牙或Wi-Fi等無線介質(zhì)連入數(shù)字家庭網(wǎng)絡(luò),使用戶能夠隨時隨地獲取家庭控制、數(shù)字媒體等信息。
本文的目的是研究并開發(fā)一款數(shù)字家庭遙控器。普通的遙控器只能控制一個或一類設(shè)備,數(shù)字家庭遙控器能夠通過與家庭網(wǎng)絡(luò)的通訊,實現(xiàn)對掛接在家庭網(wǎng)絡(luò)上的所有家用電器的查詢與控制。用戶可以通過液晶顯示隨時監(jiān)控設(shè)備的狀態(tài)和參數(shù)。除了家電控制功能以外,數(shù)字家庭遙控器還具有豐富的娛樂和多媒體功能,能夠?qū)崿F(xiàn)無線上網(wǎng)、影音播放、視頻監(jiān)控等數(shù)字家庭功能。
本文第2節(jié)描述數(shù)字家庭的系統(tǒng)結(jié)構(gòu),第3節(jié)介紹遙控器的系統(tǒng)設(shè)計,包括硬件平臺的設(shè)計和軟件平臺的設(shè)計,第4節(jié)給出結(jié)論和創(chuàng)新點。
2 數(shù)字家庭的系統(tǒng)結(jié)構(gòu)
數(shù)字家庭主要由家庭網(wǎng)關(guān)、各種信息終端設(shè)備和智能家電設(shè)備、家庭智能聯(lián)網(wǎng)環(huán)境三部分組成,如圖1[1]所示。其中家庭智能聯(lián)網(wǎng)環(huán)境包括家庭控制網(wǎng)絡(luò)和多媒體信息網(wǎng)絡(luò)。E-Home智能家居系統(tǒng)[2]是由清華大學(xué)自動化系和清華同方公司合作開發(fā)的家庭控制網(wǎng)絡(luò)系統(tǒng)。本文設(shè)計的數(shù)字家庭遙控器能夠控制E-Home、Zigbee等家庭控制網(wǎng)絡(luò)系統(tǒng),同時也能夠和多媒體信息網(wǎng)絡(luò)通信,實現(xiàn)無線上網(wǎng)、多媒體瀏覽等功能。
3 系統(tǒng)設(shè)計
3.1 遙控器硬件平臺
遙控器的硬件平臺以PXA255為核心,包括核心系統(tǒng)、電源系統(tǒng)、音視頻系統(tǒng)、以及Zigbee、紅外通信等其他功能擴展系統(tǒng)。遙控器硬件結(jié)構(gòu)框圖如圖2所示。
3.1.1 核心系統(tǒng)設(shè)計
數(shù)字家庭遙控器的硬件平臺采用了Intel公司的Xscale系列CPU PXA255作為核心。PXA255處理器基于ARM V5TE指令集,最高運行頻率400MHz,內(nèi)部集成了大量功能模塊,比如LCD控制器、USB Device控制器、PCMCIA卡接口等,功能強、體積小、功耗低。
除了PXA255,系統(tǒng)核心還包括了64MB的SDRAM、32MB的NOR Flash(主要用于存儲程序)、128MB的NAND Flash(主要用于存儲數(shù)據(jù)),為了調(diào)試方便設(shè)計了JTAG接口與RS232串口。嵌入式手持設(shè)備一般采用單鍵延時開關(guān)機設(shè)計,分為硬開關(guān)設(shè)計和軟開關(guān)設(shè)計兩種。由于PXA255在睡眠狀態(tài)下功耗很低,為了能夠?qū)崿F(xiàn)快速開關(guān)機,設(shè)計中采用了單鍵軟開關(guān)設(shè)計的方法。當系統(tǒng)關(guān)機時CPU并未完全掉電,而是進入睡眠狀態(tài)。
圖1 數(shù)字家庭網(wǎng)絡(luò)結(jié)構(gòu)圖
圖2 數(shù)字家庭遙控器硬件結(jié)構(gòu)框圖
3.1.2 電源設(shè)計
使用單節(jié)鋰電池為系統(tǒng)供電。電源系統(tǒng)主要分為充電和電源管理兩個部分。
采用MAXIM公司的MAX1555芯片作為充電管理芯片,可以通過5V直流電源或者USB接口為鋰電池充電,并用一個LED指示充電狀態(tài)。采用紐扣型鋰電池作為備份電源,當主電源存在時為備份電池充電;當主電源無效時,備份電池接替主電源為實時時鐘(RTC)供電。
采用MAX1586芯片作為系統(tǒng)的電源管理芯片。MAX1586芯片針對Xscale系統(tǒng)CPU進行了優(yōu)化,集成了7路高性能、低工作電流的電源,以及監(jiān)測和管理功能。為了節(jié)約電能,需要根據(jù)CPU的運行頻率,通過PXA255的I2C接口動態(tài)調(diào)整內(nèi)核電壓。當系統(tǒng)進入睡眠狀態(tài)時,可以完全切斷CPU的內(nèi)核電源并將液晶屏、揚聲器等外設(shè)電源切斷。
3.1.3 音視頻設(shè)計
數(shù)字家庭遙控器需要具有較強的音視頻功能。選用了NEC的NL2432HC22-22B液晶模塊作為顯示屏,該模塊是3.5英寸、半反射型的TFT液晶屏,具有240x320的分辨率和18位色深,并帶有觸摸屏接口和矩陣鍵盤。
PXA255內(nèi)部集成了AC’97(音頻多媒體數(shù)字信號編/解碼器)控制單元。遙控器采用PHILIPS公司的UCB1400芯片作為音頻編解碼芯片,實現(xiàn)了雙聲道音頻輸出、麥克風(fēng)音頻輸入等功能。音頻輸出部分使用了LM4880功放芯片驅(qū)動2個8歐姆揚聲器。
3.1.4 其他擴展功能設(shè)計
利用PXA255的PCMCIA接口設(shè)計了CF擴展卡插槽。CF卡作為一種存儲卡接口標準在便攜式設(shè)備中應(yīng)用廣泛,具有物理尺寸小、低功耗、靈活性強等特點。市面上有大量符合CF卡標準的存儲卡、無線網(wǎng)卡、GPS接收器、攝像頭等。插入這些符合CF卡標準的I/O卡可以為數(shù)字家庭遙控器擴展相應(yīng)的功能。比如我們通過一個CF以太網(wǎng)卡為遙控器擴展了以太網(wǎng)通信的功能。
紅外通信模塊選用了安捷倫公司的HSDL-3020紅外收發(fā)器和TFMS5380紅外接收芯片。HSDL-3020具有2個紅外發(fā)射LED:波長為875nm的紅外LED用于IrDA快速數(shù)據(jù)傳輸,波長為940nm的LED用于家電紅外遙控。其中家電遙控的最遠距離為14米;IrDA數(shù)據(jù)傳輸?shù)淖钸h距離為50厘米,速率介于9.6kbps和4Mbps(FIR)之間。TFMS5380芯片直接接收波長940nm,載波頻率為38kHz的紅外信號,并對紅外信號解調(diào)、放大、濾波、整形。通過軟件支持,數(shù)字家庭遙控器紅外模塊具有普通家用電器的萬能紅外遙控、E-Home系統(tǒng)的紅外控制、IrDA紅外通信三個功能。
ZigBee(IEEE802.15.4)技術(shù)是最近發(fā)展起來的一種短距離無線通信技術(shù),被業(yè)界認為是最有可能應(yīng)用在家庭自動化控制的無線方式,市場上已經(jīng)出現(xiàn)了很多基于ZigBee的家庭控制系統(tǒng)。ZigBee使用2.4GHz波段,采用跳頻技術(shù)和擴頻技術(shù)。遙控器設(shè)計中選用了飛思卡爾的MC13192芯片作為ZigBee收發(fā)器。MC13192采用標準的4線SPI及7根GPIO與PXA255通信。
3.2 遙控器軟件平臺
數(shù)字家庭遙控器的軟件平臺自底向上分別是Redboot、Linux、MiniGUI和應(yīng)用程序。其軟件平臺結(jié)構(gòu)如圖3所示。
圖3 數(shù)字家庭遙控器軟件結(jié)構(gòu)框圖
3.2.1 Redboot
Redboot是一個專門為嵌入式系統(tǒng)定制的開發(fā)工具,是嵌入式操作系統(tǒng)eCos的一個最小版本。Redboot集Bootloader、調(diào)試、Flash燒寫于一體,支持串口、網(wǎng)絡(luò)下載、執(zhí)行嵌入式應(yīng)用程序等功能。把編譯好的Redboot映像燒寫到物理地址為0x00的NOR Flash上,這樣Redboot就是系統(tǒng)上電后第一個運行的程序。然后利用Redboot來引導(dǎo)Linux操作系統(tǒng)。
Redboot建立在eCos的硬件抽象層(HAL)和設(shè)備驅(qū)動程序的基礎(chǔ)上。硬件抽象層對處理器結(jié)構(gòu)和系統(tǒng)硬件平臺進行抽象,當需要將Redboot移植到一個新的平臺只需對底層的硬件抽象層(HAL)進行修改。移植Redboot到遙控器的步驟如圖4所示。
3.2.2 ARM-Linux
數(shù)字家庭遙控器要為用戶提供智能家庭控制、影音娛樂等功能。要實現(xiàn)這些功能,多任務(wù)、網(wǎng)絡(luò)協(xié)議、文件系統(tǒng)、出色的GUI都是不可缺少的。選用操作系統(tǒng)可以簡化系統(tǒng)的開發(fā)難度,并使開發(fā)具有更好的可擴展性和可移植性。數(shù)字家庭遙控器選用了Linux作為操作系統(tǒng),ARM-Linux是打了ARM補丁的Linux操作系統(tǒng)。在設(shè)備驅(qū)動的支持下,Linux管理了系統(tǒng)硬件并向上層提供了一個統(tǒng)一的,硬件不可見的應(yīng)用程序接口。
選用2.4.19版本的標準Linux內(nèi)核并打上了針對PXA255處理器的補丁diff-2.4.19-rmk7-pxa2.gz。將Linux移植到遙控器平臺上的流程如圖5所示。移植的一個重要工作是為液晶屏、音頻模塊、CF卡插槽、Zigbee模塊、紅外模塊等外設(shè)編寫驅(qū)動。移植的最后要為Linux啟動建立初始化RAM盤映像(initrd),initrd里包含了必要的設(shè)備文件、鏈接庫、啟動腳本、busybox工具等。
圖4 Redboot移植流程圖
圖5 Linux板級移植流程圖
3.2.3 MiniGUI
遙控器采用MiniGUI作為圖形用戶界面系統(tǒng)。MiniGUI是我國國內(nèi)自主開發(fā)、比較成熟的一個圖形用戶界面系統(tǒng),面向基于Linux 的嵌入式系統(tǒng),采用微客戶端/ 服務(wù)器模式來提供對多進程的支持,集成了多字體和多字符集。MiniGUI采用分層設(shè)計的層次結(jié)構(gòu),修改最底層的GAL(圖形抽象層)和IAL(輸入抽象層)將MiniGUI移植到遙控器平臺上。
基于MiniGUI編寫了服務(wù)器程序mginit和遙控器的主界面程序。按下主界面上的按鍵就可以調(diào)用相應(yīng)的應(yīng)用程序,如E-Home系統(tǒng)控制、視頻播放等。
3.2.4 應(yīng)用程序
為遙控器編寫應(yīng)用程序?qū)崿F(xiàn)豐富的數(shù)字家庭功能。數(shù)字家庭遙控器具有以下功能:
1. 家庭控制網(wǎng)絡(luò)系統(tǒng)控制功能
為遙控器編寫了基于MiniGUI的E-Home家庭網(wǎng)絡(luò)控制程序,實現(xiàn)了遙控器對E-Home系統(tǒng)的即插即用控制[3] [4]。當E-Home網(wǎng)絡(luò)上新添加設(shè)備或者刪除設(shè)備時,遙控器能夠自動更新配置文件并得到新設(shè)備的控制方法,用戶可以通過圖形液晶顯示方便的查詢和控制新設(shè)備。對于普通的電視、空調(diào)等非智能設(shè)備,數(shù)字家庭遙控器可以學(xué)習(xí)并保存他們的遙控碼,并利用HSDL-3020紅外收發(fā)器提供的940nm紅外發(fā)射端口對這些普通家電進行控制。此外遙控器還具有聯(lián)入并控制ZigBee網(wǎng)絡(luò)的能力。
2. 媒體娛樂功能
編寫了推箱子、掃雷等幾個基于MiniGUI的圖形游戲,證明了遙控器可以實現(xiàn)美觀的圖形界面。另外移植了開源的視頻播放軟件mplayer到遙控器上,實現(xiàn)了音視頻播放功能。通過實驗數(shù)字家庭遙控器可以很流暢的解碼并播放20幀/秒、240x320像素、MPGE4編碼的視頻文件和15幀/秒、240x320像素、H.264編碼的視頻,具有較強的多媒體功能。
3. 網(wǎng)絡(luò)通信功能
通過CF擴展卡為遙控器擴展了以太網(wǎng)功能,并利用Ftp服務(wù)實現(xiàn)了文件的上傳與下載。利用基于MiniGUI的mSpider嵌入式瀏覽器、FlashPlayer等開源軟件,還可以實現(xiàn)網(wǎng)頁瀏覽、Flash動畫播放等。除此之外,遙控器可以利用USB接口或者IrDA紅外通信端口與PC機通訊并交換數(shù)據(jù)。
4 結(jié)束語
數(shù)字家庭具有廣泛的發(fā)展前景,現(xiàn)在市面上還沒有成熟的數(shù)字家庭遙控器產(chǎn)品。本文提出的數(shù)字家庭遙控器功能豐富,能實現(xiàn)對E-Home家庭網(wǎng)絡(luò)、ZigBee家庭網(wǎng)絡(luò)、普通家用電器的控制。同時該遙控器具有較強的媒體娛樂功能和網(wǎng)絡(luò)通信功能,可以給家庭用戶帶來全新的感受。經(jīng)過系統(tǒng)運行實驗,數(shù)字家庭遙控器非常適合未來數(shù)字家庭的應(yīng)用。
本文作者創(chuàng)新點: 現(xiàn)有的家庭網(wǎng)絡(luò)遙控器只能實現(xiàn)對某一種特定家庭控制網(wǎng)絡(luò)的控制,功能單一,而且不具備未來數(shù)字家庭必需的多媒體能力。本文提出的數(shù)字家庭遙控器能同時實現(xiàn)對E-Home、ZigBee兩種流行的家庭控制網(wǎng)絡(luò)的控制,而且能夠控制沒有聯(lián)入家庭網(wǎng)絡(luò)的普通家電,還可以實現(xiàn)媒體娛樂、互聯(lián)網(wǎng)通信等功能。本文給出了該遙控器的具體軟硬件實現(xiàn)方法,對今后數(shù)字家庭遙控器的研究與開發(fā)具有很好的指導(dǎo)意義。
參考文獻
[1] “數(shù)字家庭”產(chǎn)業(yè)發(fā)展研究報告. 北京:諾達咨詢,2005
[2] 楊士元. E-Home在中國. 工程設(shè)計CAD與智能建筑,2000,(11):80~84
[3] 林麗華,楊士元,葉朝輝,徐海. 即插即用家庭網(wǎng)絡(luò)遙控器的研究與開發(fā)[J]. 微計算機信息,2006, 12-1: 1-4.
[4] Zhaohui Ye,Yindong Ji, Shiyuan Yang. Home Automation Network Supporting Plug-and-Play [J]. IEEE Transaction on Consumer Electronics, Feb. 2004, 50(2): 173-179.