徐 波,葉權鋒,蔣昌茂
(1.桂林電子科技大學,廣西 桂林 541004;2.桂林師范高等專科學校,廣西 桂林 541001)
隨著生活水平的提高,人們對住宅的智能化服務設施提出了更高的要求,所以目前的智能家居這種新的生活理念正逐步進入人們的生活,正引導業主或用戶體驗一種新的生活享受方式。通過智能家居模式,用戶可以通過手機APP或者手持終端隨時隨地地遠程控制和管理家用電器的工作情況。本文所涉及到的溫濕度采集及控制的手持式終端是智能家居中的一個應用,本方案選用深圳華禹工控二次開發的MTK6225手機模塊作為終端應用平臺,核心采用ARM7做為MCU(微控制單元),具備完整的手機功能,且電池管理方案優異,采用已有的手機平臺硬件設計方案徹底顛覆了傳統設計上的硬件從零開始搭建的軟硬件設計開發模式,可跨過硬件設計直接硬件重用進入在手機系統平臺架構上的軟件開發模式,使得本方案產品的設計開發周期大大縮短及其可靠性大為提高。本方案以它的低成本、方便攜帶的特點,比較適合在智能家居行業便攜式開發和應用,現提出來供大家批評指正。
一般情況下,每一個控制系統開發,都必須涉及硬件和軟件設計開發。傳統的設計思想是先確定硬件方案,設計制造或選用合適的硬件之后,再考慮采用什么樣的軟件驅動或控制運行方式。本方案中針對手持方式的設備,除了相關硬件設備設計還需考慮設備功耗及電池供電問題,然后才考慮搭載什么樣的軟件驅動硬件工作達到設計要求,因而在硬件設計環節就要花費大量的精力和時間,然后再設計軟件并加載驅動硬件,而且所設計實現的產品是否滿足實際需要,仍需經過反復實際測試和改進完善,才能確定是否能定型和投入批量生產,這種開發思路的最大缺陷是很難滿足實際工程應用中對產品開發周期的限制。為了讓新產品開發“既快又好”,保證穩定性和縮短產品開發設計周期,選用一些成熟的軟硬件平臺做為輔助開發工具是加快產品推出的必要條件,所以我們選用了深圳華禹工控所推出的MTK6225手機開發模塊,作為我們的手持式溫濕度采集及檢測控制終端的無線硬件設計解決方案。
本方案最大的特色是就用手機平臺實現智能家居設備的遠程控制及應用,眾所周知傳統手機一般多為通話、短信和多媒體等方面應用,卻在嵌入式行業幾乎看不到它的身影,其主要原因是因為手機軟硬件技術一直被手機軟硬件系統開發公司所壟斷,它的技術資料很少外流和開源推廣,同時由于手機系統本身的較好的保密性和技術封鎖,使得它在其他行業推廣應用也很難展開,特別是如何充分引出手機系統更多的I/O口資源,以滿足各種DIY開發應用,MTK6225手機開發模塊給我們提供了各種嵌入式DIY應用的可能和擴展。
原本MTK6225是一款具有高集成度的手機應用多媒體芯片,由臺灣聯發科公司2011年推出,經過長期關注和推廣應用,技術已經非常成熟,其具體結構如圖1所示。
它具有如下功能:
采用了104MHz的 ARM7高速CPU;
支持1.8—3.2英寸彩色LCD;
支持手寫觸摸、漢字識別;
支持多媒體功能,如弦鈴音、攝像頭、MP3和MP4等;
支持GPRS、GSM、SMS等;
支持JAVA
MTK6225作為一款完整的多媒體手機芯片,超低功耗,電池管理方面非常出色,結合其他的特性作為普通手機應用是比較合適的,而拓展到移動控制領域的應用似乎不太現實。隨著智能手機及移動互聯網的快速發展,深圳華禹工控發現手機移動控制應用的廣闊商機,在充分消化吸收MTK6225平臺的相關資源后,推出了面向移動控制領域行業應用的基于MTK6225芯片解決方案——旋風001手機通用開發模塊,該模塊除了具備原有的通信、短消息和多媒體功能外,擴充增加了以下功能:①將MT6225芯片的所有可供外部使用的128個I/O引腳進行外部擴展,包括(并口、串口、USB口、LCM屏接口、GPIO、電源開關機口等)都可以調用;②實現基于J2ME的JAVA硬件可編程控制,支持JAVA等多種語言編程,實現對I/O口的控制,并提供了豐富的應用Demo。本方案選用MTK6225開發模塊,對我們來說不僅縮短產品的設計開發周期,還保證硬件解決方案的穩定可靠。MTK6225平臺方案,作為已經量產6年多,手機出貨量達到數以億來計算的成熟品牌來說,它的硬件可靠性、穩定性和超低功耗的性能是我們所看重的,同時搭載的ARM7處理器的速度完全能夠勝任我們手持式終端管理系統的工作性能需求。華禹高科推出的MTK6225手機通用開發模塊,對本方案來說基本解決了在移動終端解決方案中硬件設計的最關鍵部分,我們只需把精力主要投入到應用軟件的設計即可完成產品研發。

圖1 MTK6225手機芯片內部結構
本方案手持式終端管理系統主要分成以下2部分,本文主要介紹第2部分的設計實現:①具有RF射頻及紅外功能模塊的通信背板,該背板主要完成手持終端系統通過無線方式連接具有RF功能的家用智能插座和紅外功能的各種家電的信號轉發,同時將帶有溫濕度傳感器的數據采集模塊采集的數據發送給終端系統。②與以上通信背板相連的基于MTK6225手機模塊的手持式終端控制系統。
本方案基于MTK6225手機模塊的手持式終端控制系統結構,如圖2所示,該系統由前臺、后臺系統兩個部分組成,其功能和特點如下。
2.1.1 RF前臺數據采集模塊
該模塊是作為一塊通信背板通過128PIN的插針與MTK6225后臺處理系統無縫集成,它的作用主要是通過UART串口通信接受后臺MTK6225系統的控制,完成對遠程溫濕度數據采集,并回傳給后臺系統處理,同時通過RF遠程控制智能插座的開閉和紅外接收模式設備的工作狀態,如空調、加熱器、溫度傳感器等。

圖2 基于MTK6225手機方案的溫濕度檢測手持終端控制系統結構圖
該模塊由三部分組成:①RF無線通信模塊:采用TI CHIPCON的CC1100CH 1GHz范圍內的RF收發器,通過SPI接口與MCU通信,具備超低功耗和無線喚醒功能,滿足移動終端對功耗的要求;②紅外收發模塊:采用與空調遙控相同的紅外收發模塊,采用MTK6225軟鍵盤通過紅外收發模塊進而控制帶有紅外接收功能的空調/除濕設備的工作狀態和參數調節;③MCU處理部分:數據采集控制核心,采用STC89LE516RD+處理器,該微內核的特色是低電壓:3V,低電流:4~7 mA,可通過UART串口與MTK6225后臺處理系統通信并收發相關數據。
2.1.2 MTK6225手機后臺數據處理系統
后臺數據處理系統是手持式溫濕度終端系統的核心組成部分,我們選用了深圳華禹工控的旋風001模塊來實現,該硬件模塊除了具備普通手機的所有基本功能外,還將MTK6225所有可控128個I/O引腳以插針的方式全部引出,以供二次開發擴展使用,同時用JAVA語言編程實現了對I/O口控制的底層驅動,可為J2ME應用程序調用,這樣它名副其實地成為可二次開發使用的通用模塊。
該系統軟件主要功能:采用手持式系統終端收集各采集點的溫濕度參數,并根據舒適度的原則可自動和手動控制相關環境設備的工作狀態和參數選擇,達到自動或人工調節居住環境舒適度的目的。
對于可以采用C++或者JAVA編寫管理軟件的MTK6225手機模塊,但由于用C++編程所寫的管理軟件仍需要轉成BIN文件固化到手機中才能使用,這不僅多此一舉而且還要調整修改手機原本的軟件結構,為了保證原手機軟件結構不變,我們使用JAVA編寫本方案的管理軟件,只要加載JAVA虛擬機,用JAVA語言編寫的管理軟件即可跨平臺運行服務,這樣軟件部分的編程實現簡易、安裝方便,設置簡單,以下是本設計所調用的幾個關鍵軟件包。
2.2.1 COM.MTK包
對于比較特殊的情況,無法完全采用JAVA編程實現而需調用C或C++編程時,華禹工控提供了JNI方式編寫,將COM.MTK包中的Gpio.java控制GPIO的方法,即為此類,通過對該類中接口函數的調用,可實現對硬件GPIO的控制。
2.2.2 Com.huayu.gpio包
用于對128個I/O引腳的調用,包中的GpioPort.java定義了華禹工控手持設備的GPIO控制引腳編號,只要進行簡單的設置聲明即可調用,比如:
public static final byte GPIO_0=(byte)0;
public static final byte GPIO_1=(byte)1;
public static final byte RFID_POWER_PIN=GPIO_PORT_5;
public static final byte P1201_SWITCH_A0=GPIO_PORT_0;
public static final byte P1201_SWITCH_A1=GPIO_PORT_45;
public static final byte P1201_URXD2=GPIO_PORT_47;
public static final byte P1201_UTXD2=GPIO_PORT_48;
2.2.3 其他包
com.demo.control包:GUIController.java是界面控制的類。
com.demo.view包:所有界面顯示的類都在該包中。
com.demo.comm包:該包中的CommonResource.java是公共資源類。
com.huayu.studyRfid.midlet包:StudyRfidDemoMidelet.java為MIDLet類。
該管理系統的軟件界面如下所示意:

圖3 溫濕度手持終端操作界面
圖3所示的數據采集方案就是根據對家居及戶外不同地點的溫濕度數據采集,以確定是否符合最好的人居環境。在不達到要求的情況下,遠程啟動空調或者加濕設備,同時進行遠程監控,程序運行流程如圖4所示。

圖4 手持終端控制系統運行流程圖
通過采用MTK6225手機模塊開發平臺設計手持式溫濕度遠程檢測控制系統,不僅顛覆了傳統控制系統的軟硬件設計模式,還擺脫了過去系統設計時,硬件設計的工作量費力而不討好的情況,使得開發者可以集中精力專心考慮軟件的設計,而不必擔心硬件的可行性、可靠性、穩定性,大大縮短產品設計周期,還充分利用了手機終端的通用、便攜性特點,這實際上就是在該輔助平臺做二次開發即可達到設計目標。目前隨著智能家居的發展、無線應用的普及和手機解決方案的興起,越來越多的行業無線應用將采用該手機平臺的做為軟硬件解決方案。
[1]宋茂強.通信軟件設計基礎[M].北京:北京大學出版社,2007:124-127.
[2]蔣昌茂.無線寬帶IP通信原理及應用[M].北京:電子工業出版社,2010.
[3]符意得.嵌入式系統設計原理及應用[M].北京:清華大學出版社,2004.
[4]朱相磊.智能預付費燃氣表的低功耗設計[J].電工技術,2004(9):20-21.
[5]何為民.低功耗單片微機系統設計[M].北京:北京航空航天大學出版社,1994.
[6]王愛英.智能卡技術[M].北京:清華大學出版社,1996.
[7]趙志新,王紹偉,霍志強.MTK手機開發入門[M].北京:人民郵電出版社,2010.