嵌入式系统IAP在GPRS远程集中抄表系统中的应用

来源 :光盘技术 | 被引量 : 0次 | 上传用户:ktaxx01
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:介绍IAP(在应用编程)方法及其相关应用,以及将IAP应用于嵌入式系统设备软件远程升级的现实意义;结合某地区远程集中抄表系统,着重阐述采用GPRS无线通信进行远程软件升级的思想和实现方法,以及应用中应注意的一些关键技术,并讨论了提高GPRS远程升级速度和可靠性的一些措施。
  关键词:集中器;嵌入式系统;IAP;远程升级;GPRS
  中图分类号:TP36文献标识码:A
  
  Application of IAP in GPRS Remote Meter-Reading Embedded System
  NI Chen-qiang
  (Xi'an University of Sicience and Techonology ,ShanxiXian710054)
  Key words: concentrator;embedded system;IAP;long-range software upgrade;GPRS
  
  远程集中抄表系统的核心设备一般是基于嵌入式系统的终端设备,如集中器、集抄配变检测终端等。它们管理居民用户电表、台区考核总表等计量终端,收集、存储大量的计量终端数据,并通过电话、GPRS等通信方式连接远程服务器。目前,我国远程集抄系统的标准化尚未完成,各省集抄系统的数据通信协议并不遵循统一的标准,对终端设备的功能要求也不尽相同。这就导致终端设备经常需要升级软件,以满足不同地区的通信协议要求和功能要求。然而,集中器通常安装于台区变压器配变箱中,现场升级程序十分不便。于是,通过终端的上行信道实现终端程序的远程升级,已成为终端设备的必备功能。本文介绍一种基于IAP(在应用编程)和GPRS无线通信的集中器远程软件升级的实现方案。
  


  图1 集中器的硬件构成框图
  
  集中器的硬件构成如图1所示。微控制器采用LPC2214,它是基于一个支持实时仿真和跟踪的16/32位ARM7TDMI-S的微控制器,带有16K静态RAM和256K高速片内FLASH存储器。LPC2214还集成了1个TWI接口、2个UART接口和内置看门狗WDT。
  外扩的存储器主要包括SRAM,FLASH两种类型。SRAM用来扩展系统内存。FLASH用来存储电表的档案信息和电表的各类历史数据。集中器还带有断电后可电池供电的日历时钟。载波/485通信模块使集中器与电表之间建立通信信道。
  GPRS模块是终端设备的上行通信设备,用来在集中器和远程服务器之间建立TCP/IP连接,实现终端设备与远程服务器的通信。GPRS模块选用华为公司生产的GTM900-B无线模块。它是一款两频段 GSM/GPRS 无线模块,支持标准的 AT 命令及增强AT命令,支持PPP协议,用户无需实现PPP协议即可实现数据传输功能。
  
  2 LPC2214在应用编程简介
  
  在应用编程IAP是应用于F1ash程序存储器的一种编程模式。它允许应用程序在运行过程中对FLASH中的另外一段程序代码进行改写,这为固件程序的现场自动升级带来了极大的灵活性。
  LPC2214 支持JTAG、ISP、IAP三种方式对其内部Flash进行编程,用来写入用户代码或数据。LPC2214的片内FLASH共有18个扇区,其中扇区8和扇区9大小为64KB,其他扇区(扇区0-7和10-17)大小为均为4KB。IAP程序位于Boot扇区(扇区17),复位后整个Boot扇区被重映射(remap)到存储地址Ox7FFFFE000~Ox7FFFFFFF处,而IAP程序的入口地址为0x7FFFFFF0。IAP程序为Thumb代码,因此,使用ADS1.2开发系统软件时,若使用C程序调用IAP程序,需要设置编译参数-apcs/interwork。IAP程序使用片内RAM的最高端的32字节空间,如果用户要使用IAP功能,应保留这部分RAM。另外,调用IAP功能前,要关闭PLL、MAM部件及所有中断。IAP程序的详细使用方法这里不作介绍,请参见参考文献。
  
  3 集中器软件远程升级方案
  
  为了保证远程升级的可靠性,必须有一部分程序是不可升级的,这样可以避免由于升级过程中的强干扰或突然断电导致系统彻底崩溃。本系统将软件系统分为用户引导程序和应用程序。用户引导程序是不可远程更新的,它负责应用程序的远程更新,它还可以包括操作系统、底层设备驱动程序等更新可能性很小的程序;应用程序是远程升级的对象,可以根据需求的变化进行远程升级。
  程序的分块存放是使用ADS的“分散加载机制( scatterloading mechanism)”来实现的。分散加载文件如下:
  ROM_LOAD_BOOT 0x000000000x00004000
  { ROM_BOOT_EXEC 0x00000000
   { Startup.o (vectors, +First)
  IAP.o (+RO)
   OS.o (+RO)
   }
  }
  ROM_LOAD_APP 0x00004000
  { ROM_APP_EXEC 0x00004000
  { * (+RO)
  }
  ……(RW ,ZI 定位,略)
  }
  将应用程序分为两个加载区,第一个加载区ROM_LOAD_BOOT用于存放系统启动代码、IAP代码和操作系统等,这一部分程序是不可升级的,占用前4个扇区。第二个加载区ROM_LOAD_APP用来存放系统应用程序,从第5个扇区开始存放,可通过IAP进行远程升级。
  当需要对集中器软件进行远程升级时,远程服务器通过文件传输的方式,将程序映像文件(BIN格式)下载到集中器的外部FLASH中,经校验确保程序正确后,应用程序停止喂狗,使系统主动复位。系统复位后的程序流程如图2所示,首先运行启动代码,初始化运行环境,然后检查外部存储器FLASH中是否有新版本的程序。如果有,则调用IAP功能程序,将应用程序进行更新,然后运行新的应用程序;否则直接进入旧版应用程序。
  


  图2 系统软件升级流程图
  
  4 提高远程升级速度的措施
  
  在实际应用过程中,基于GPRS的远程升级存在升级速度慢的缺点。以本系统为例,程序代码大小约150KB,在数据通信过程中,为确保数据的可靠传输,并满足各省电业局通信协议标准,数据传输采用多帧传输方式,每帧最大长度为512字节。整个升级过程需要远程服务器和集中器交互确认几百次。当GPRS信道状况良好的时候,完成升级需要30分钟左右。然而GPRS通信易受终端所在地区的地形环境及网络状况的影响,时常会出现网络阻塞、掉线等状况,通信过程中的失败重发,必然导致升级过程消耗更多的时间,这对于产品在用户心中的印象是负面的。
  为了提高远程升级的速度,可采取以下两点措施:
  (1)数据压缩。
  对程序代码进行数据压缩后下载到集中器,后者进行解压,然后存储。由于程序代码具有一定的特征(都满足ARM指令集的特征),压缩效率较高。
  (2)对应用程序进行分块加载。
  在产品的实际开发过程中,每次对程序的升级通常只是修改了一小部分程序,而大部分程序并没有被修改,因此,每次升级都把整个应用程序代码的BIN文件下载到集中器的方法显然是不合理的。
  然而,程序的小部分修改,对BIN文件的影响往往是很大的。一般表现为被修改代码之前的BIN文件内容没有变化,而被修改部分之后的BIN文件内容却发生很大的变化。这主要是由于被修改部分之后的代码的存储位置发生了变化,以及由于程序存储位置发生变化而导致的一些绝对跳转指令码本身的变化。
  可见,BIN文件内容发生大量变化的主要原因是代码的连续存放。解决方法为,在分散加载文件中,对应用程序部分进一步进行划分,根据功能划分为几个不同的装载区,如,划分为驱动程序部分、自动抄表部分、上层协议解析部分等,并为每个装载区预留足够的冗余空间。这样,当某部分程序发生变化时,就可以只下发对应装载区的BIN文件,从而大大减小数据传输量,提高软件升级速度。
  
  5 结束语
  
  基于LPC2214和GPRS技术的软件远程升级方案基本解决了远程抄表系统中现场集中器的软件远程升级的问题,摒弃了传统升级方式中需要打开设备手工安装跳线等繁琐过程,增强了系统软件维护的方便性,缩短了新产品的上市时间,提高了产品的市场竞争力。通过利用数据压缩技术及ADS的分散加载机制,有效的提高了集中器远程升级的速度和可靠性。
  
  参考文献:
  [1]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.
  [2]广州周立功单片机发展有限公司.LPC2000系列ARM Flash存储器系统和编程.
  [3]韦文祥等.基于ARM和GPRS的嵌入式远程IAP在配变监控终端上的应用[J].电气应用,2006.
  [4]ADS1.2,Linker and Utilities Guide.
其他文献
摘要:基于线性反馈控制方法和Routh—Hurwitz判据研究了Rossler系统中的混沌控制问题。给出了将受控Rossler系统镇定到不稳定平衡点的条件,并进行了理论证明,同时进行了数值仿真,进一步验证了所用控制方法的有效性。  关键词:Rossler系统;混沌控制;线性反馈控制  中图分类号:TP391 文献标识码:A    注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文
期刊
数学是自然科学的基础,计算机科学实际上是数学的一个分支。特别是在计算机图形图像处理方面的应用更是离不开数学,而解决数学函数图形在计算机屏幕上的显示方法正是计算机图形图像处理的关键问题,尤其是三角函数在计算机屏幕上的画图算法。因此怎样在现有基础上开发出各种图形图像处理算法成为—个很重要的问题。本文以Java为平台讲述三角函数在计算机屏幕上的画图算法。    注:本文中所涉及到的图表、注解、公式等内容
期刊
摘要:以远程教学中心为背景,以先进的计算机网络技术为基础,采用当今流行的B/S模式,对于提高远程教学的工作效率、扩大教学中心的影响力、提高教学中心的设备利用率、丰富和方便学生的学习等都具有重要意义。  关键词:计算机网络技术;B/S模式;远程教学  中图分类号:TP302.1 文献标识码:A    人类社会文明的不断进步,促使人类对新知识、新技术的渴望不断的增强。传统的教育模式显然已经不能满足人们
期刊
摘要:本文针对当前一些CSCD系统平台的优缺点,将P2P技术和移动Agent技术相结合,在P2P架构上设计实现多A-gent协同设计系统的可行性和有效性。  关键词:计算机支持的协同设计;点对点;移动Agent  中国分类号:TP273 文献标识码:A    注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文
期刊
图像去噪的目的是凸显原图像中不够清晰的细节信息,同时削弱或去除不需要的信息。Contour;et变换是一种比小波变换更适合表示图像中具有方向性的线性奇异性边缘的方法。Contourlet变换在每一子带的方向可以自主选择,并且每一层所包含的方向信息都是前一层的两倍,表现出了高度的方向性。因此,使用Contourlet变换进行去噪处理,能比小波变换的方法获得更好的效果。    注:本文中所涉及到的图表
期刊
摘 要:论述了在ERP系统SAP Business One中如何利用其本身已有的条形码功能,来实现在企业物料管理、商业、医药、物流、图书音像业中的条形码管理,来实现快捷、可靠的物料管理。  关键词:ERP、SAP Business One;条形码;计算机  中图分类号:TP391.44 文献标识码:A    Application of Barcode Technology in SAP Busi
期刊
摘要:探讨3DS MAX中光线追踪、光能传递的基本工作原理、使用方法及应用技巧,通过对场景中物体相互照明的计算来创建更加真实的照明环境。  关键词:光线追踪;光能传递;高级照明;全局照明  中图分类号:TP391.41 文献标识码:A    1 3DS MAX中照明技术概述    3DS MAX中提供了两种照明技术:全局照明(Globalmumination)技术和局部照明(Local lllum
期刊
摘要:介绍EWB软件的特点,并通过实例探讨EWB软件在电子技术基础教学中的应用。  关键词:电子工作平台;电子技术;仿真;教学  中图分类号:G434 文献标识码:A    注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文
期刊
摘 要:GPS作为一项高新技术,具有全天候、高精度、 速度快等显著特点,在建筑、交通运输等许多行业中得到了广泛的应用。本文简述了GPS测量技术的发展状态,介绍了GPS测量用于道路测设中的控制测量、路线桩点实时放样测量,通过利用GPS进行高程测量结果与水准测量结果进行对比分析,最后对GPS测量作出了总结。  关键词:GPS;静态观测;RTK道路测量  中图分类号:P228.4 文件标识码:A    
期刊
摘 要:首先对ArcIMS整个技术体系进行描述,基于Java Custom Viewer对国土信息协同处理服务和专题图发布两种关键技术进行研究,实现了国土资源信息服务系统的快速开发、灵活部署和协同处理服务。  关键词:国土资源;地理信息服务;WebGIS;Web Services;ArcIMS  中图分类号:TP393.18文献标识码:A    The Research of Land Resou
期刊