摘要: 目前,控制系統設計一般都是基于51單片機的解決方案。本文采用深圳華禹工控二次開發的MTK6225手機模塊作為手持式遠程抄表系統的硬件解決方案,將從零搭建的傳統軟件設計方式變為在系統架構上增減的編寫方式,從而大大提高了產品的可靠性,縮短了產品的設計周期。
引言
自20世紀初水、電、氣引入計量表以來,人工抄表方式一直是最傳統的方式。這種后付費的工作方式的缺點是工作量大,常常因收不到費造成燃氣經營企業的巨大經濟負擔。從20世紀90年代開始,我國燃氣行業開始推廣使用IC卡預付費燃氣表,從而有效解決了抄表入戶和收費難的問題。但是隨著燃氣行業的發展,管理日益精細化,單純的IC卡預收費方式無法有效解決氣量實時統計問題,不能給運行調度、財務核算帶來更多的幫助。近年來,無線遠程抄表技術開始在國內逐步普及,其成本低、攜帶方便的特點特別適合燃氣表行業的應用。
1 傳統無線遠傳抄表系統的設計原理
傳統的控制系統設計涉及到硬件和軟件設計兩個過程。一般來說先考慮硬件設計方案,確定采用什么樣的控制方式(針對手持方式的設備還要考慮設備因電池供電而面臨的功耗問題),然后才考慮采用什么樣的軟件設計。因此,不但在硬件設計環節花費了大量的精力和時間,而且所設計出來的方案是否滿足實際需要還需經過反復實際測試和完善,才能最后定型和投入批量生產,無法滿足實際工程應用中對產品周期的限制。充分考慮到穩定性和產品供貨周期的特點,本文采用深圳華禹工控二次開發的MTK6225手機平臺來作為手持式無線遠程抄表的硬件解決方案。
2 本方案設計思想
傳統的手機應用一般多為通話、短信和多媒體應用,而在嵌入式行業幾乎沒有它的身影。
究其原因還是手機技術一直被手機公司所壟斷,由于手機系統本身的不開放性,使得它的行業應用也很難被了解,比如手機系統如何將更多的I/O口引出以適應DIY的需要。本文以MTK6225手機平臺為例說明。
MTK6225是臺灣聯發科技有限公司推出的一款具有高集成度的手機應用多媒體芯片(具體結構圖見本刊網站www.mesnet.com.cn——編者注)。它具有如下功能:
◆ 采用了104 MHz的 ARM7 高速CPU;
◆ 支持1.8~3.2 inch彩色LCD;
◆ 支持手寫觸摸、漢字識別;
◆ 支持多媒體功能,如MP3、MP4、攝像頭、和弦鈴音;
◆ 支持GPRS、GSM、SMS等;
◆ 支持JAVA。
作為一個完整的多媒體手機,MTK6225在電池的功耗管理上也異常出色,但以它目前的特點也僅是作為普通手機應用,而作為控制領域的移動應用似乎是不現實的事情。
深圳華禹工控在充分消化了MTK6225平臺的相關資源后,推出了面向控制領域行業應用的基于MTK6225芯片解決方案的旋風001手機通用開發模塊。除了原來所具備的通信和多媒體功能外,它的最大特點是:
① 將MTK6225芯片所有可外部使用的128個I/O引腳外部擴展供使用,這其中包括GPIO、串口、并口、USB口、LCM屏接口、電源、開關機口等;
② 推出了基于J2ME的JAVA硬件控制,通過JAVA編程實現對I/O口的控制,并提供了豐富的應用實例。
采用該MTK6225開發模塊的目的就是要縮短產品的設計周期,同時保證硬件解決方案的穩定可靠。作為已經量產4年多,手機出貨量以億來計算的MTK6225平臺方案,其硬件可靠性和低功耗性能已經不容質疑;同時,它的ARM7內核的處理速度已經完全滿足遠程無線抄表管理系統的設計需要。MTK6225開發平臺作為移動終端解決方案中最關鍵的硬件設計方案,使得我們可以把精力完全投入到軟件的應用設計中。
3 遠程抄表管理系統的軟硬件設計
手持式抄表管理系統分成兩部分:具有RF功能的IC卡智能燃氣表,以及同時帶有RF功能的基于MTK6225的手持式遠程抄表系統。本文主要介紹手持式遠程抄表系統的設計。
3.1 硬件設計方案
基于MTK6225手機方案的手持式遠程抄表系統由前后臺兩個部分組成,其結構框圖如圖1所示。

圖1 手持式遠程抄表系統結構框圖
3.1.1 RF前臺數據采集模塊
RF前臺數據采集模塊通過UART串口通信接受后臺數據處理系統的控制,完成對遠程RF燃氣表數據采集,并回傳給后臺系統處理。該模塊由兩部分組成:
① RF無線通信模塊。采用TI公司的超低功耗、1 GHz范圍內的RF收發器CC1100CH,通過SPI接口與MCU通信。它具有超低功耗和無線喚醒功能,可滿足移動終端對功耗的要求。
② MCU處理部分。該部分是數據采集部分的控制部分,采用了STC89LE516RD+處理器。該處理器最大的特點是,低電壓(3 V),低電流(正常工作模式為4~7 mA),通過UART串口與MTK6225后臺處理系統通信,并接收和回傳相關數據。
RF前臺數據采集模塊采用了背板的方式通過128引腳的插針與MTK6225后臺處理系統無縫集成,只要對后臺系統的操作界面進行操作即可實現對下位機的數據采集,無需人工干預。
3.1.2 MTK6225手機后臺數據處理系統
該系統是手持式遠程抄表系統的核心,它采用了深圳華禹工控的旋風001手機通用開發模塊。除了普通手機的所有基本功能外,它將MTK6225的所有可控I/O引腳(共計128個)以插針的方式全部引出,供二次開發使用;同時,重新以JAVA形式修改了對I/O口控制的底層驅動,并可為J2ME應用程序調用,實際上已經成為了一個可二次開發的移動控制終端。
3.2 軟件設計方案
該系統的軟件主要功能就是采用手持式遠程抄表系統對RF智能燃氣表的用氣量等數據進行采集,并送到相關燃氣管理系統,為氣量的實時統計和合理調度提供決策依據。
由于MTK6225手機模塊可以采用C++或者JAVA語言實現管理軟件的編寫,但C++編程需要轉成BIN文件固化到手機中,這實際上修改了手機的軟件結構。為此,推薦使用JAVA語言實現對管理軟件的編寫。由于JAVA語言是跨平臺的,只要安裝了JAVA虛擬機即可運行。本軟件設計在JAVA處理上用了下列幾個包:
① COM.MTK包。針對無法完全采用JAVA編寫程序,需采用諸如C或C++編寫的情況,華禹工控采用了JNI方式編寫,例如COM.MTK包中的Gpio.java控制GPIO的方法。通過對該類中接口函數的調用,可實現對硬件 GPIO 的控制。
② Com.huayu.gpio包。該包中的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;
③ com.demo.control包。GUIController.java 是界面控制的類。
④ com.demo.view包。所有界面顯示的類都在該包中。
⑤ com.demo.comm包。該包中的CommonResource.java是公共資源類。
⑥ com.huayu.studyRfid.midlet包。StudyRfidDemoMidelet.java為MIDLet類。
該管理系統的操作界面如圖2所示。

圖2 抄表系統操作界面
本軟件的數據采集方案就是根據設置RF燃氣表序號和采集總數量,從小到大依次自動采集。如果被采集的燃氣表沒有應答,則會在所有的燃氣表都采集一遍后,自動對沒有應答的燃氣表進行第二輪采集。一般可以人工設置采集次數,若在采集次數內還沒有應答,則報錯誤處理,需要人工處理。軟件程序流程如圖3所示。

圖3 軟件程序流程
結語
采用MTK6225手機開發平臺設計手持式遠程抄表系統,充分利用了手機終端的高可靠性、電源管理的智能性,使得產品的設計周期大為縮短,可靠性大為增強。這實際上顛覆了傳統的軟硬件設計方式,只需要在手機系統的架構上做調整,使得用戶可以專心考慮軟件的設計而不必擔心硬件的可行性。隨著無線應用的普及和手機解決方案的公開,將會有越來越多的行業無線應用采用手機平臺的硬件解決方案。
參考文獻
[1] 宋茂強.通信軟件設計基礎[M].北京大學出版社,2007:124127.
[2] 蔣昌茂,等.無線寬帶IP通信原理及應用[M].北京:電子工業出版社, 2010.
[3] 符意得.嵌入式系統設計原理及應用[M].北京:清華大學出版社,2004.
[4] 朱相磊.智能預付費燃氣表的低功耗設計[J].電工技術,2004(9):2021.
[5] 何為民.低功耗單片微機系統設計[M].北京:北京航空航天大學出版社,1994.
[6] 王愛英.智能卡技術[M].北京:清華大學出版社,1996.
[7] 趙志新,等.MTK手機開發入門[M].北京:人民郵電出版社,2010.
劉洪林 (高級工程師),研究方向為網絡通信、嵌入式應用;張保忠(高級工程師),研究方向為電子線路、嵌入式應用;劉堂宇(助教),研究方向為計算機控制。