引言
自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.1RF前台数据采集模块
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.2MTK6225手机后台数据处理系统
该系统是手持式远程抄表系统的核心,它采用了深圳华禹工控的旋风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手机开发平台设计手持式远程抄表系统,充分利用了手机终端的高可靠性、电源管理的智能性,使得产品的设计周期大为缩短,可靠性大为增强。这实际上颠覆了传统的软硬件设计方式,只需要在手机系统的架构上做调整,使得用户可以专心考虑软件的设计而不必担心硬件的可行性。随着无线应用的普及和手机解决方案的公开,将会有越来越多的行业无线应用采用手机平台的硬件解决方案。