首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

低压电力载波抄表终端远程升级系统开发

低压电力载波抄表终端远程升级系统开发

关键字:电力载波   抄表终端   远程升级   ARM7  
  引言

  随着科技的发展,低压电力载波抄表终端已广泛应用于电力的各个行业,为电力部门节省了人力物力资源并提高了效率。另一方面,电力载波抄表终端系统却需要大量的工程人员去现场维护。这是各相关企业和公司急需解决的问题,针对这一问题,提出了基于POP3的低压电力载波抄表终端的远程升级系统,该系统通过连接POP3升级服务器,下载新程序并进行Base64解码,最后利用ARM7的IAP功能实现程序的实时更新,解决了终端系统程序现场维护的问题,真正意义上节省了人力物力资源。该系统已应用于低压电力载波抄表终端中,并取得了明显的成效。

  1系统工作原理

  该系统主要有GPRS连接、POP3接收邮件、Base64解码和IAP编程4部分组成。GPRS连接通过SIM300模块将低压电力载波抄表终端连接到远程升级服务器;然后,通过POP3协议将邮件服务器上的新程序下载到低压电力载波抄表终端上;之后,对下载的程序进行Base64解码,最后通过LPC2214的IAP功能将解码后的程序写到LPC2214的FLASH中,完成远程升级的功能。系统框图如图1所示。


  2POP3协议和Base64编码原理

  2.1POP3协议

  POP3适用于C/S结构的脱机模型,是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。POP3协议有三种状态:认可状态、处理状态和更新状态。当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出Quit命令,则进入更新状态,更新之后重返认可状态。

  2.2Base64编码原理

  Base64是一种很常见的编码规范,被设计用来将任意序列的8字节描述为一种不易被人直接识别的形式。它的作用是将二进制序列转换为人类可读的ASCII字符序列,常用在需用通过文本来传输二进制数据的协议中,如HTTP和SMTP等。

  Base64编码规则为对于待编码数据,以3个字节为单位,依次取6位,前两位补0形成8位编码,由于3×8=4×6,3个字节的输入会编码成4个字节的输出。如果剩下的字符不足3个字节,则用0填充,输出字符使用“=”,因此编码后输出的文本末尾可能会出现1个或2个“=”。因此,Base64解码过程与编码过程正好相反。这里给出解码的关键程序示例:


  3LPC2214的IAP功能及FLASHBoot装载程序

  LPC2214的FLASH存储器系统包含256KBFLASH器件的17个扇区。FLASH存储器从地址0开始并向上增加。Boot装载程序控制复位后的初始化操作,并提供实现FLASH编程的方法。Boot装载器可启动对空片的编程、已编程器件的擦除和再编程以及在运行系统中由应用程序对FLASH存储器进行编程。

  对于IAP来说,应当通过寄存器r0中的字指针指向存储器(RAM)包含的命令代码和参数,以调用IAP程序。IAP的命令结果返回到寄存器r1所指向的返回表。用户可通过传递寄存器r0和r1中的相同指针重用命令表来得到结果。参数表应当大到足够保存所有的结果,以防结果的数目大于参数的数目。参数和结果的数目根据IAP命令而有所不同。参数的最大数目为5,由“将RAM内容复制到FLASH”命令传递;结果的最大数目为2,由“扇区查空”命令返回。命令处理程序在接收到一个未定义的命令时发送状态代码IN-VALID_COMMAND。IAP程序是thumb代码,位于地址0x7FFFFFF0。
返回列表