基于Android系统在智能电力负荷控制终端上的应用开发
2014-11-12王春刚
王春刚
摘 要:Android系统是移动智能化的代表,具有开发速度快、系统稳定、操作与升级方便等众多优点,对于进入工业控制领域将来也是必然趋势,它给为工业控制领域带来了全新的设计概念。对于在电力负荷控制终端上的应用还利用其对无线业务兼容性好的特点,如使用其本身自带的2G/3G/4G等无线数据业务和GPRS/SMS/RING等业务,使电力负荷控制终端向智能化和小型化又迈进了一大步。
关键词:Android;3G;4G;无线数据业务;电力负荷
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。2011年8月2日,Android手机已占据全球智能机市场48%的份额,Android系统的应用数目已经达到了48万。其通信功能、网络数字业务功能、多媒体及Display功能、支持Bluetooth/wiif功能、CAMERA功能、GPS、E_COMPASS、G_SENSOR功能等都引领着目前手机技术潮流。 Android平台采用了整合的策略思想,包括底层Linux操作系统、中间层的中间件和上层的Java应用程序,具有全开放、开发速度快,核心技术完整统一,辅助开发工具多,支持多种硬件平台等众多特点。
下面以MT6582芯片为例介绍其在电力负荷控制终端上的开发应用。MTK6582芯片是MTK公司开发的一款四核ARM处理器,其内核为28nm Cortex-A7 1.3GHz CPU,L1:32KB/32KB,L2:512KB,memory支持LPDDR2 533MHZ。具有系统集成度高,耗电小,运行速度快,价格相对其它产品比较低廉,上市以来反映比较稳定,对于其用在电力负荷控制终端上比较合适,当然也可以选择其它Android确认过的芯片。
1 硬件架构设计
终端系统的整个硬件设计的总体框图如图1所示:
终端系统的硬件设计主要有下面几个部分组成:
⑴CPU采用MTK6582芯片,是MTK公司开发的一款四核ARM处理器,其内核为28nm Cortex-A7 1.3GHz CPU,L1:32KB/32KB,L2:512KB,memory支持LPDDR2 533MHZ。⑵MT6323是PMIC,它主要负责CPU的电源控制和大功率器件控制等。⑶MT6166或电台。MT6166是RF芯片,它主要是无线通讯的收发控制;这里还有电台也可以通过发报模拟电台对外通讯,如上海、湖南大多采用这种方式通讯。⑷EMMC/LPDDR2部分。EMMC采用8GB容量,LPDDR2采用1GB Memory,它们现都是市场上的主流产品,性价比好。EMMC的8GB容量其中4GB是CODE分区,其它4GB可以做为用户数据分区,可以将重要的数据或参数存储在这,终端掉电后数据也不会丢失。LPDDR2 1GB Memory用于动态数据的存储与交换,可以提高单片机的运行效率。⑸LCD显示模块可以最大支持720P分辨率,支持RGB32显示,具有良好的人机界面。⑹Audio模块可以实现声音的播放,并且支持立体声播放。⑺Camera模块实现拍照和摄像功能,可以对现场进行记录和监视。⑻485/CAN接口采用光电隔离器件用于和外设电表进行通讯,实现抄表和其它控制。一共有2个通道。⑼pulse采用光电隔离器件用于对脉冲表实时抄表,一共有4个通道。⑽Control是超负荷控制端口,一共有4个通道。⑾Key/Touch采用按键和Touch相结合的输入界面。⑿SIM1插口现在支持移动卡和联通卡。⒀USB接口,支持主从模式,可以直接连接PC,也可以通过OTG线接U盘。⒁LED接口,实现动态的控制LED灯,并可以通过PWM控制LED灯的电流强弱。
2 软件架构设计
此系统使用Android系统,底层为Linux操作系统,上层为Java应用程序。
⑴BSP部分:为Linux操作系统,驱动加载方便,实时性较强,所以我们将经常改动的驱动放在这一层,如485表驱动、脉冲表驱动、Control驱动、电台驱动、LCD驱动、KEY/TOUCH驱动、EMMC驱动、Camera驱动等,还有一些是Linux操作系统自身的驱动,如USB驱动、Charger驱动、无线通讯驱动、SIM卡驱动、Audio驱动、Sensor驱动等等。
485表驱动:对于不同的表添加不同的驱动,在驱动中增加各类属性操作。如实时抄表、穿透抄表等各种复杂的抄表属性。并把抄表数据返回给AP层。这里有2个485通道,最少可以同时抄8块以上的表。也可以转为CAN总线方式抄表。
脉冲表驱动:同485抄表,但这类抄表实时更高。这里有4个通道,可以同时抄4块脉冲表。
Control驱动:在BSP驱动层只是增加控制动作,其它復杂控制逻辑由上层的负荷模块负责。
电台驱动:这是对电台收发控制的驱动。这里我们使用了模拟电台,在电台上还要增加解码和压缩码模块。
LCD驱动、KEY/Touch驱动:为人机界面的驱动,这里LCD采用了大屏显示,分辨率可达720P,让人面界面更加友好。
EMMC驱动:这是存储空间的驱动,我们设计有8GB的空间。其中不到4G为CODE占用,其它4G为用户的存储空间,同SD卡。在用户空间我们可以存储大量的抄表数据。用于实时查询。
Camera驱动:实现Camera的preview和capture的功能,用于实时保存和监控现场图片等。
LED驱动:实现灯的动态闪动。
其它驱动:还有AUDIO/USB/SIM卡驱动不少都是Android系统自带的驱动,在这里不做一一说明。
⑵AP部分:为Java应用程序,在此部分我们实现有无线收发模块、负荷通信协议模块、界面显示模块、无线收发数据分析、数据上报模块、数据存储模块、软件升级模块、抄表模块、负荷Control模块等。这也是系统控制逻辑上的核心部分。
无线收发模块:用于选择无线通道的收发,这里的通道有GPRS/SMS/3G/无线电台等。
负荷通信协议模块:用于将要发送的报文按负荷通信协议的方式打包,对于接收到的报文通过它来解释,保存到接收队列中。
无线收发数据分析:将收发的报文进行分析用于各种操作,如下面的抄表和控制等。
界面显示模块:显示相关的界面用于查询和实时显示。
数据上报模块:将要上报的数据进行整理,放入上报队列中,用于上报到服务器。
数据存储模块:用于存储抄表的数据及控制的相关数据,可供查询。
抄表模块:实现对驱动抄表的动作,并将抄表的数据送至数据存储模块中。
负荷Control模块:对抄表数据实时分析,实现负荷Control控制与恢复。并实现对声音和光的控制。
软件升级模块:此模块可实现系统的在线升级,我们使用了Android系统自带的OTA升级方式,更加安全可靠,也可以通过USB、232\485通道升级。
其它模块:如温度控制模块、充电控制模块、文件管理模块等等,都是Android系统自带的模块,在这里不做一一说明。
3 系統特点
在此控制系統中我們使用了Android系统,它具有开发速度快、系统稳定、操作与升级方便等众多优点,是移动智能化的代表,对于进入工业控制领域将来也是必然趋势,它给为工业控制领域带来了全新的设计概念。在电力负荷控制终端上的应用,我们可以使用Android系统自带的大量成熟和优秀程序,使开发更加快捷和稳定,并且显示界面非常友好,符合大众的使用习惯,操作方便。同时还利用其对无线业务兼容性好的特点,如使用其本身自带的2G/3G/4G等无线数据业务和GPRS/SMS/RING等业务,使电力负荷控制终端向智能化和小型化又迈进了一大步。