天才教育网合作机构 > 培训机构 >

东莞电工培训网

欢迎您!
朋友圈

400-850-8622

全国统一学习专线 9:00-21:00

位置:培训资讯 > 低压电力载波抄表终端远程升级系统开发

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

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

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

2 POP3协议和Base 64编码原理
2.1 POP3协议

    POP3适用于C/S结构的脱机模型,是因特网电子邮件的*个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。POP3协议有三种状态:认可状态、处理状态和更新状态。当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态,在完成相应的操作后客户机发出Quit命令,则进入更新状态,更新之后重返认可状态。
2.2 Base 64编码原理
    Base 64是一种很常见的编码规范,被设计用来将任意序列的8字节描述为一种不易被人直接识别的形式。它的作用是将二进制序列转换为人类可读的ASCII字符序列,常用在需用通过文本来传输二进制数据的协议中,如HTTP和SMTP等。
    Base 64编码规则为对于待编码数据,以3个字节为单位,依次取6位,前两位补0形成8位编码,由于3×8=4×6,3个字节的输入会编码成4个字节的输出。如果剩下的字符不足3个字节,则用0填充,输出字符使用“=”,因此编码后输出的文本末尾可能会出现1个或2个“=”。因此,Base 64解码过程与编码过程正好相反。这里给出解码的关键程序示例:

3 LPC2214的IAP功能及FLASH Boot装载程序
    LPC2214的FLASH存储器系统包含256 KBFLASH器件的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。

4 远程升级软件设计
   
首先,系统对SIM300模块进行初始化,然后连接远程升级服务器,接着通过POP3协议登录邮件服务器,并下载新程序,主ARM将下载的程序进行Base 64解码,*通过IAP将解码后的程序写到ARM的FLASH中,以完成远程升级的目的。详细流程图如图2所示。由于远程升级需要低压电力载波抄表终端抄表主程序的配合,因此这里给出了远程升级相关的部分。在IAP写FLASH的过程中,需要注意FLASH存储器在写或擦除操作过程中不可被访问。执行FLASH写/擦除操作的IAP命令使用片内RAM顶端的32个字节空间。用户程序不应使用该空间。IAP擦除FLASH的部分源码如下:

   

   

如果本页不是您要找的课程,您也可以百度查找一下: