智能仪表软件远程升级的技术实现_第1页
智能仪表软件远程升级的技术实现_第2页
智能仪表软件远程升级的技术实现_第3页
智能仪表软件远程升级的技术实现_第4页
智能仪表软件远程升级的技术实现_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、智能仪表软件远程升级的技术实现彭华成,何岭松,许晓晖,童中明(华中科技大学机械科学与工程学院,武汉湖北430074)TheImplementationofProgramRemoteUpdatingfortheIntelligenceInstrumentPENGHua2cheng,HELing2song,XUXiao2hui,TONGZhong2ming(SchoolofMechanicalScienceandEngineering,HuazhongUniversityofScienceandTechnology430074,China)摘要:针对智能仪表升级困难的特点并为了能够有效降低其维护成

2、本,提出了基于无线收发模块和IAP技术的解决方案.进行了一般性介绍,简单介绍了IAP无线收发模块的特点,机的IAP关键词:;智能仪表文献标识码:A文章编号:100122257(2007)0620061203Abstract:Accordingtotherequirementsofthedynamicupdatingofremoteprogramfortheintel2ligenceinstrument,asolutionbaseonwirelesstransmitmoduleandtheIAPtechnologyispro2posed.Thepapersimplyintroducestheco

3、mposi2tionsandoperatingprincipleofthesystem,simplyintroducesthefeaturesoftheIAPtechnicalandthewirelesstransmitmodule.Andthenthepaperpres2entstheimplementationoftheATmega64IAPfunctionsindetails.Keywords:IAP;remoteupdate;wirelesstrans2mit;intelligenceinstrument远.),另一方面需要具有远程2.1系统组成及工作原理首先,针对智能仪表对IAP功能

4、的要求,其所用的嵌入式处理器必须具备引导加载支持的用户程序自编程功能.引导加载程序的设计可以使用任何可用的数据接口和相关的协议读取代码,或者从程序存储器中读取代码,然后将代码写入(编程)到Flash存储器中3.在嵌入式处理器选择上,选用了Atmel公司生产的ATmega64,它提供了一个真正的由MCU本身自动下载和更新程序代码的系统程序自编程更新的机制,具备用户程序自编程功能.它的引导加载程序有能力读写整个Flash存储器,包括引导加载程序所在的引导加载区本身.引导加载程序还可以对自身进行更新修改,甚至可以将自身删除,使系统的自编程能力消失.引导加载程序区的大小可以由芯片的熔丝位设置,该段程序

5、区还提供2组锁定位,以便用户选择对该段程序区的不同级别的保护4.其次,针对智能仪表对远程接受控制功能的要求,在系统设计时需要为其增加无线收发模块.目前,市场上可供选择的无线收发模块产品及型号有很多,规格和指标也各不相同,根据实际需要可选择合适的产品和型号.在这里,我们选择的是上海数盈电子科技提供的ZF012RT系列无线收发模块.其中,无线收发模块与智能仪表相接采用COM1口,与服务器相接则采用COM2口,COM3口当前并未采用.用于智能仪表的远程软件升级的系统如图1所示.610引言在石油化工行业中,大量的智能仪器仪表和传感器用于设备运行状态的检测和数据采集.这些智能仪表的内部软件需要定期或不定

6、期地进行升级1.然而,石油化工的设备所处的环境相对来说常常是比较恶劣的,如有的安装位置处于诸如高塔这样人难以够及的位置,且相互分布距离往往也比较收稿日期:20062122121机械与电子22007(6)中执行,如果标志为1则启动代码更新程序.完成前面这一步骤,系统将自动进入睡眠状态从而减小功耗,这么做的原因是由于该设计中系统的供电源来自普通干电池.该智能仪表平常工作状态大多数时间处于休眠状态,当收到外部中断信号后,才被唤醒重启.2.2IAP程序具体实现首先,程序从Bootloader区开始运行.因为每一张子卡都具有惟一的地址,所以启动后第中查询升级标志,此标志接受上位机命令时设置.如果升级标,

7、就会进入IAP程序.整个升级程序分为5步:a.根据子卡地址设置无线模块的频率,并启动无线收发模块.b.启动一个test程序,测试通讯信道的工作情况.因为在石化行业,此子卡通常会在恶劣的环境下工作,所以在升级之前要确定无线通信情况良好.此test程序实际上是发送一串测试码,经过上位机按照协定好的算法处理后发回,校验正确后表明通信情况良好,可以进入下一步操作.c.开始请求接收写入Flash的升级程序.因为Mega64的写Flash操作是按页进行,每一页256个图1系统框架系统框架图显示了远程软件升级的实现方式,智能仪表上的ZF012RT模块通过配置分别具有惟一通信频率,当它识别并接收了来自服务器的

8、ZF012RT模块发送过来的数据后,再通过RS232标准串口将数据传送给ATmega64,最后再通过AT2mega64的IAPFlash中,重启ATmega64.看出,AT2mega64的IAP2ATmega64的IAP技术实现2.1主要设计要点及流程Bootloader程序的设计是实现IAP的关键,它必须能够通过一个通信接口,采用某种协议正确地接收数据,再将完整的数据写入到用户程序区中.Bootloader程序的设计要点有:采用ATmega64的USART口实现与ZF012RT模块的简易RS232三线通信;采用CRC校验法完成与服务器之间的数据交换;Bootloader关键代码采用AVR汇编

9、方式编写,代码简洁,执行效率高.IAP实现的主程序流程如图2所示.程序运行字节,所以首先上位机会按页为单位对升级程序分块,下位机升级的第1步是获得升级程序的总块数,以此来判断升级程序是否全部从上位机接收完.d.按顺序以Flash的页为单位向上位机请求升级程序.从无线模块下载1页后进行CRC校验,校验正确后写入到Mega64的Flash的Application区里相应的位置,然后请求下一页.直到下载的升级程序的页数达到第3步中接收的程序块总数,此时代表所有升级程序已经接收完成.在这一步中,每接收一个程序块都会进行长度和CRC的校验,如果不成功则请求上位机重发.实现IAP功能主要操作是针对Mega

10、64的内部相应寄存器完成的,因此对其相关函数的实现,这里采用C内嵌汇编代码来实现,具体如下:voidwrite_page(longp_address,charcode)在Bootloader区,首先完成初始化,随后检测程序更新标志,如果标志为0则程序跳转到运用程序区图2主程序流程asm(movr30,r16n1机械与电子22007(6)62movr31,r17nout0x3b,r18n);/将页地址放入Z寄存器和RAMPZ的Bit0中SPMCSR=code;/寄存器SPMCSR中为据写入1个Flash页wait_page_rw_ok();/等待写入完成e.所有升级程序下载并写入Applicat

11、ion区的Flash后,修改中断向量表的指针,然后跳转到Flash的0地址,执行升级后的Application程序.操作码asm(spmn);/对指定Flash页进行操作/填充Flash缓冲页中的1个字voidfill_temp_buffer(unsignedintaddress,intdata)asm(movr30,r16nmovr31,r17n/Z在升级过程中,每一步都有超时设置和错误次数设置,当某一步超时或者超过限定错误次数时,系统会自动进入休眠状态,醒,IAP.2.的IAP功能,还需要正确配,包括如下几个方面:a.配置M103C熔丝位,使芯片工作于AT2mega64方式.b.配置BOO

12、TSZ1和BOOTSZ0熔丝位,设定Bootloader区的大小为1024B,起始首地址为0xFC00.c.配置BOOTRST熔丝位,设定芯片上电起动地址movmovr1;/R0R1中为1个指令字SPMCSR=0x01;asm(spmn);/等待1个Flash页的写完成voidwait_page_rw_ok(void)while(SPMCSR&0x40)while(SPMCSR&0x01);SPMCSR=0x11;asm(spmn);/更新1个Flash页的完整处理voidwrite_one_page(void)inti;write_page(address,0x03);/擦除1从Bootlo

13、ader区的起始地址处开始,即每次RE2SET复位后,从0xFC00处执行Bootloader程序.特别注意的是,以上对芯片熔丝位的配置以及Bootloader程序的下载,需要由ISP、或JTAG、或并行方式实现,即要实现IAP,首先还需要使用一次非IAP的编程方式来建立IAP的应用环境.3结束语该设计方案解决了石油化工行业中智能仪表软件升级困难的问题.通过实际运用,证明其能有效地减轻操作工人的负担,并降低了企业的维护成本,从而证明了该方案的可行性.参考文献:1张宏建,蒙建波.自动检测技术与装置M.北京:化学工业出版社,2004.2胡静静.实现基于GPRS的无线远程IAP功能J.单片机与嵌入式系统应用,2005,(6):22-25.3韩冬,张宏建.基于嵌入式的智能化网络化自动仪表J.工业仪表与自动化装置,2004,(3):10-12.4佘青山.基于CDMA/GPRS/RADIO技术的无线环境监控终端设计J.化工自动化及仪表,2006

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论