万利彩票

新闻详情
首页 > 新闻资讯 > 内容

IAP在交通信号灯运维装置中的远程升级应用

编辑:兴泰照明集团有限公司时间:2019-07-08

摘要:计算机应用系统在后期维护中需要修改或更新应用程序。在野外使用传统的方法升级固定的应用系统前,需要在现场进行打开设备、手工安装跳线等繁琐过程。为了改变这一现状,设计了一种基于IAP程序远程更新方法,该方法主要通过 GPRS网络进行远程在线升级。本文介绍了交通信号灯运维装置的整体实现框架,详细阐述了IAP程序更新原理,并以STM32F107单片机为例描述了单片机FLASH 的分区以及IAP程序设计。验证结果表明,IAP能够实现交通信号灯运维装置的远程程序升级。

引言:

交通信号灯是交通指挥中的重要组成部分,是道路实现安全、稳定通行的基本保障,是道路交通的基本语言。交通信号灯容易因为各种因素导致故障(如掉电、灯泡烧坏等),并且由于位置分散以及维修人员有限,单纯靠人工巡查或路人报修都无法及时获取信号灯的故障信息,从而可能导致交通拥堵或交通事故[ 1 ] 。如果每个交通信号灯都有一套运维装置,该装置能将现场信息上传到服务器,根据上传的数据可以发现故障及故障类型,并将运维信息推送给相关维修人员,就可以及时解决交通信号灯的故障问题,所以本文研究的智能运维装置应运而生。

在交通信号灯运维装置安装运行后,存在多种因素需要对程序进行更新升级,比如因程序版本问题导致程序出现漏洞,或者用户提出新的需求。通常传统的升级方法需要专业工程技术人员到达现场对设备程序进行本地更新升级,这不仅浪费了宝贵的时间,付出了高昂的人力成本,而且对于一些安装在高空或者偏远山区的设备的升级带来了一定的安全风险,因而本文使用IAP对运维装置的程序进行在线远程更新[ 2 - 3 ] ,通过无线网络对远程装置中的应用程序进行及时更新,节省了大量人力物力。

1交通信号灯运维系统

交通信号灯运维系统结构图如图 1 所示,包括运维装置、传输网络和管理中心。运维装置可以实现自动采集温湿度、市电状况、箱体门状况和网络状况。传输网络通过TCP / IP协议的流式 Socket通信构建基于 GPRS的无线网络,实现管理中心与运维装置的数据通信。管理中心通过传输网络获取运维装置的数据,远程控制负载设备电源通断、重启。当市电发生故障时(包括断电、欠压、过压等),切换 UPS电源供电,同时服务器将结果显示在 Web浏览器上,并向维修人员发送运维信息。

运维装置结构图如图2所示,包括主控模块、电源模块、信号 采 集 模 块 和 通 信 模 块。主 控 模 块 选 用 32 位Cortex - M3内核的STM32F107VC 。电源外接5V电源适配器,通过 LM1117 - 3. 3V稳压芯片变成3.3V工作电压。

信号采集模块包括模拟信号采集和数字信号采集,模拟信号采集模块负责采集运维装置工作的电压和电流值,并针对模拟信号在实际传输过程中容易受到外界干扰的情况,对信号进行调理和滤波;数字信号采集主要负责采集温湿度。通信模块中 GPRS 采用 SIM800C 无线通信模块完成设备终端与管理中心的信息传送。

IAP在程序中编程

[ 4 ] 是用户自己的程序在运行中对用户FLASH 部分进行修改,也就是说, STM32允许用户在应用程序中对闪存内容进行修改。修改的方式有多种,如 USB 、串口、以太网或无线网络等传输方式。实现IAP功能的程序包括两部分:第一部分为 Boot -loader程序,需要通过JTAG或ISP烧入,从FLASH 的最低地址区开始存放;第二部分为应用程序,该部分程序存放在 FLASH 的 Bootloader 程序之后。这两部分代码可以通过JTAG 或 ISP 一起烧写,也可以采用 IAP 写入。应用程序首先需要设置其在 FLASH 中的起始地址和所占存储空间大小,还需要设置中断向量表偏移量,另外必须为bin文件。IAP功能实现过程如图3所示。 Bootloader程序通过接口接收应用程序包,接收之后写到 APP某个区域,在升级 APP应用程序时,外部可以发送命令要求升级,因为升级的代码在 Bootloader中写入,所以通过一种方法(比如跳 转/软 复 位 )来 重 新 回 到 Bootloader 执 行,回 到Bootloader之 后,等 待 接 收 应 用 程 序 包,然 后 继 续 写 到APP应用程序。

3  程序更新在交通信号灯运维装置中的具体实现过程

3. 1 FLASH 分区

在STM32中,由于中断向量表位于程序存储器的最低位置,所以为了使 Bootloader 程序能够正确地响应中断,一般会将 Bootloader 程序代码放在 FLASH 的开始区域。交通信号灯运维装置采用STM32F107VC ,因而需要将 APP程序存储在从0x0 8000 0000开始的256KB空间内,将 0x0801 0000 设置为起始地址,即 FLASH 偏移量为0x1 0000 ,因而 APP 程序的 FLASH 空间为 0x3 0000 ,工程配置如图4所示。


友情链接:鸿利彩票网  鸿利彩票  苹果彩票  幸运飞艇官网  万利彩票网

免责声明: 本站资料及图片来源互联网文章,本网不承担任何由内容信息所引起的争议和法律责任。所有作品版权归原创作者所有,与本站立场无关,如用户分享不慎侵犯了您的权益,请联系我们告知,我们将做删除处理!