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