基于IAP的煤矿安检分站远程升级技术的研究

2017-05-17 10:08卢名哲
数字技术与应用 2017年3期

卢名哲

摘要:针对目前煤矿安检系统升级以及后期维护难等问题,提出基于STM32远程升级系统,实现煤矿安检分站的远程升级及其系统维护等问题。首先完成STM32F104中的IAP技术,在现有的基础中提出断点传输以及双链路的设计思想,提高系统的性能,完成安检分站系统的远程更新。该方案主要解决了煤矿安检分站目前系统需要现场下载的不便以及一些远程升级系统的不可靠性,大大提高了升级程序过程中的安全与纠错的能力,在实际应用中具有一定的价值。

关键词:煤矿安检分站;STM32;双链路传输

中图分类号:TP368.1 文献标识码:A 文章编号:1007-9416(2017)03-0098-02

Abstract:In view of the present coal mine security system upgrade and maintenance difficult problem, put forward based on the STM32 remote upgrade system, realize the coal mine security problem such as substation remote system upgrade and maintenance. First complete the STM32 IAP in technology, in the basis of the existing breakpoint transmission and double link is proposed, to improve the performance of the system, complete security substation remote update of the system. The plan is mainly to solve the scene of the substation current coal mine security system needs to download the inconvenience and some remote upgrade system reliability, greatly improving the security and the ability of error correction in the process of the upgrade process, has certain value in practice.

Key Words: Coal mine security substation; STM32; The double link transmission

1 引言

目前煤矿的安全监测系统中的升级过程十分的不便,很多仍采用将矿井下的设备拿到地面完成设备的现场升级,完成升级后将设备放回井内,这种方法不仅操作起来比较麻烦,而且长期的拆卸设备也可能对井下工作以及升级的设备所监管的区域带来安全隐患,同时浪费大量的人力。目前市场中也有一些远程升级设备,由于矿井的环境特殊,常常会出现信号盲区,给升级任务带来困难,不仅造成数据丢失甚至可能造成升级任务失败[1]。

当前,在嵌入式远程升级系统中大多数采用GPRS完成数据的远程传输,其不仅低成本与低功耗,而且安全,能够实现24小时在线以及覆盖范围大的优点,但是由于矿井的环境特殊,常常会出现网络不稳定以及服务器出现异常等情况,都会对升级任务造成任务的失败[2][3]。所以针对上述情况,在系统中增加了双链路以及断点传输以及TEA加密的技术[4],大大的增加了远程升级程序的安全性与稳定性,同时节省了时间以及人力等,在实际应用中,能够有效的保证煤矿的安全生产。

2 ISP与IAP技术原理

在当前的嵌入式技术中,主要存在两种在线编程方式,一种是IAP(在应用中编程),另一种是(在系统中编程),在应用ISP技术的过程中,需要专用的串口完成对内部的Flash进行读或者写操作,往往需要将硬件设备返厂进行程序升级[5]。

而在IAP技術中,其主要将MSCU内部的Flash结构映射成两个存储单元,当一个存储单元运行程序时,可以对另一个存储单元进行程序的读写等操作,之后将控制指针从运行中的存储体单元转向重新读/写完毕的存储体。

ISP技术与IAP技术比较而言,ISP程序升级相对比较麻烦,需要返厂操作,而IAP技术只需要设计专门的固件即可完成内部存储器的编程,并且不需要硬件,所以在嵌入式系统中应用IAP技术大大提高了系统的可扩展性与可维护性,增加了煤矿安检分站远程升级的灵活性[6]。

3 煤矿安检分站远程升级实现

升级设备主要包括了上位机、服务器、发射设备等。发射设备与煤矿安检分站设备用户群主要的通讯方式采用GPRS作为数据传输的媒介,可实现同时对多个用户进行升级任务[7]。

3.1 系统的硬件系统设计

本系统主要通过GPRS实现数据帧的无线传输,需要完成系统的硬件设计,该硬件设计主要包括了STM32104的最小系统、GPRS外围接收电路,最小系统与GPRS的数据交换采用CAN总线。

在对设备进行升级操作时,系统通过无线模块GTM900模块完成数据的收发,同时在系统中加了CAN总线,因为一个CAN总线上可添加多个从机,大大增加了系统的工作效率。同时通过RAM完成需要升级的程序缓存。

3.2 TEA加密解密设计

当在系统进行终端设备远程升级的过程中,数据帧在通过GPRS传输的过程中,可能会受到周围环境的影响,特别在矿井特殊的环境中,数据会受到更方面的干扰如数据的截断、篡改以及中断等干扰,所以针对上述可能出现的情况,需要对传输的数据帧进行加密处理,实现数据的安全传输。

目前,采用TEA加密方法,其优势在于不仅软件易实现,通过硬件也容易实现,而且密文很难破解,保密性特别好,满足系统数据传输对速度以及码长长度的要求。

3.3 程序的断点传输设计

由于在对系统进行升级的过程中常会遇到其他信号的干扰以及GPRS信号覆盖不到设备导致系统升级任务的失败,因此当故障发生时,会导致新版本的程序不能在Flash中编写,所以新版本程序无法在设备中运行[8][9]。除此之外,由于已经执行了新升级任务,在设备中会有记录,当再次重启设备时,此时会造成系统死机现象的发生,无法启动设备。针对此现象在程序升级的过程中添加了断点传输的功能。

首先:当系统发出升级命令后,系统先不对更新区进行更新处理,当完成升级任务后,在对系统进行标志区进行修改,通过此操作流程能够避免系统升级失败后,系统依然运行老版本程序。

其次:完成升级标志的设置,完成程序的运行状态以及升级程序的位置标志。当系统终断发生时,对信息位置进行查询,当发现未完成升级任务时,当系统在此升级时,会再次跳到上次中断的位置完成未完成程序的升级任务[10]。

最后:当从机完成系统的升级任务后,将会对标志区的相关信息进行修改,下次将执行升级后的程序,通过断点续传的方法能够加大系统升级效率同时也避免了死机现象的发生。

4 实验结果验证

在进行系统升级时,首先将程序烤录到服务器中,然后通过上位机的客户端进行用户登录,获取本地的IP以及完成端口的设置,当点击开始升级时,系统将进行升级任务。

通过该设备实现现有的矿井安全分检站的检测设备进行升级,新版本的程序大小为256KB,通过服务器的上位机完成操作,实现对STM32运行状态进行升级,数据的传输速率大小为115200bit/s,对系统进行了20次的升级实验,均成功,最终计算得到的系统平均时间为6分钟左右,同时在传输的过程中,人为将主服务器中断工作,此时备用服务器继续完成升级任务,升级任务并没有受到主设备故障的干扰。通过反复的实验证明,该方案安全可靠,能够快速的实现矿井下的设备升级任务。

5 结语

在本方案中,提出了一种基于IAP的煤矿分检站的远程升级系统,在系统中主要采用STM32104VC作为系统的控制芯片,并且在系统中加入双链路以及断点传输等核心思想,大大提高了系统的安全性及其可靠性,通过本方案不仅可以通过无线通信的方式完成设备的远程升级任务,而且也降低了人力以及避免了拆卸设备造成的损害。经过实验结果证明证明,系统不仅传输性能可靠而且速度较大的提高,具有很好的实际应用价值。

参考文献

[1]赵会宾,田庆春.利用LPC2114的IAP功能实现程序远程更新[J].无线电工程,2006(7):53-55.

[2]杨婷,黄韬,谢亮.基于STM32微控制器的智能手环的设计[J].科技广场,2016(08).

[3]Alexander Schader.Embedded processing demandsof in-car multimedia.Technical feature. AutoElectronics.2007.

[4]王曉程,刘恩德,谢小权.攻击分类研究与分布式网络入侵检测系统[J].计算机研究与发展,2006,3(86):727-734.

[5]雷卫延,敖振浪,周钦强.基于STM32的在应用编程(IAP)开发[J].电子测量技术,2015(05).

[6]丁鹏飞,法林.STM32F205VB在远程系统升级中的应用[J].自动化仪表,2014(05).

[7]温世坚,张伟波.基于STM32的远程升级系统的设计[J].科技广场,2013(05).

[8]李兴鹤,蔡亮,宋吉波,王鹏,金辛海,时迎亮.STM32用户基于IAP的程序更新技术[J].单片机与嵌入式系统应用,2012(01).

[9]颜秋男,胡毅.STM32F103VB的SD卡在应用编程设计[J].单片机与嵌入式系统应用,2012(02).

[10]王党利,宁生科,马保吉.基于STM32F10X引导程序实现USB在应用中编程[J].国外电子测量技术,2010(11).