一种矿井定位设备的无线软件升级方法

张立峰1,2,金业勇1,2,陈康1,2,王维1,2,周澍1,2

(1.中煤科工集团常州研究院有限公司, 江苏 常州 213015;2.天地(常州)自动化股份有限公司, 江苏 常州 213015)

摘要针对现有矿井定位设备嵌入式程序升级方式需要建立物理连接、没有一种针对小型嵌入式设备的可编程无线升级协议等问题,提出了一种矿井定位设备的无线软件升级方法。该方法采用无线广播传输方式和一对多的网络模式实现矿井定位设备的批量无线IAP(应用内编程)升级,提高了升级的便捷性和效率。实验结果表明,该方法的总体升级成功率与距离正相关,在10 m范围内成功率较高。该方法为数量较大的矿井定位设备的更新换代提供了一种有效途径。

关键词矿井定位设备; 无线升级; 升级终端; 无线广播传输方式; 批量无线IAP升级

0 引言

井下人员定位系统是煤矿井下安全避险“六大系统”之一,在人员定位、考勤、日常管理等方面发挥了重要作用。目前,基于RFID(Radio Frequency Identification,射频识别)的井下定位方案应用较多。随着井下射频定位技术的不断发展,定位设备的功能愈加强大和完善,同时定位软件也越来越复杂。通过软件升级,可以修补程序中难以避免的漏洞,满足定位设备的升级换代需求[1-3]

目前采用较多的矿井定位设备升级方式是ISP(In-System Programming,系统内编程)方式[4]。这种方式的缺点是需要建立物理连接,而矿井定位设备工作环境恶劣,不具备易拆卸、引脚外露的条件。进行软件升级时,需要拆开设备外壳,用编程器升级,过程耗时、耗力且不可靠[5]。而当前主流的嵌入式程序IAP(In Application Programming,应用内编程)升级方式采用文件传输协议实现代码的远程升级[6],这种方式虽然可以摆脱编程器的束缚,但是同样存在连接缺陷,需要依托串口或以太网作为物理媒介,没有一种针对小型嵌入式设备的可编程无线升级协议,技术存在局限性。针对上述问题,本文提出一种矿井定位设备的无线软件升级方法,采用无线传输的方式替代物理媒介,并通过无线广播传输方式实现矿井定位设备的批量无线IAP升级。

1 无线升级方法总体设计

无线IAP技术的核心在于可通过预留的通信接口对存储App的Flash区域重新烧写,其优势在于不需要使用专用下载器,接口灵活[7-8]。本文参考无线IAP技术的思想编写无线升级Boot程序,通过无线数据传输协议和无线通信接口实现矿井定位设备与无线升级终端设备之间的数据传输。

矿井定位设备和无线升级终端设备之间通过2.4 GHz无线模块通信。升级过程采用一对多的网络模式进行数据交互,即一个无线升级终端设备对应多个矿井定位设备,如图1所示。

图1 一对多网络模式
Fig.1 One-to-many network mode

无线升级终端设备采用单片机+无线芯片+有线串口架构[9-10],具有双射频模块,分别运行于发送和接收状态。矿井定位设备保持原有单片机+无线芯片的架构不变,软件重新架构,将Flash分为Boot(引导)区、App(应用程序)区、固定存储区三大区域。无线软件升级核心功能模块独立运行于Boot区,实现了一次烧写、多次利用。

一次完整的矿井定位设备无线升级交互流程如图2所示。具体升级步骤如下:① 矿井定位设备发送正常工作报文。② 无线升级终端设备捕获报文,定向发送唤醒命令,使定位设备进入Boot待升级状态,矿井定位设备反馈此次唤醒结果。③ 无线升级终端设备将一个升级文件拆分为若干个独立数据包,并循环广播发送升级数据包;矿井定位设备接收升级数据包后写入Flash,升级完成后跳转,执行正常程序,并反馈升级结果[11-12]

图2 无线升级交互流程
Fig.2 Wireless upgrade interactive process

2 无线升级方法详细设计

2.1 矿井定位设备

以常用的STM32F103RCT6型单片机为例,Flash存储区共有256 KB,Boot程序和App分别存储于独立的Flash空间内,同时由于单片机没有自带EEPROM存储单元,需要留一段空间存储固定数据。单片机Flash区域划分见表1。Boot程序功能单一,相对较小,分配Flash空间中前20 KB资源;矿井定位设备非数据处理型设备,固定存储区分配Flash空间中后10 KB资源;Flash空间中其余226 KB资源分配给App,运行正常工作程序。

表1 单片机Flash区域划分
Table 1 Flash division of single-chip microcomputer

功能模块起始地址结束地址大小/KBBoot区0x080000000x08004FFF20App区0x080050000x0803D7FF226固定存储区0x0803D8000x0803FFFF10

矿井定位设备软件架构如图3所示。矿井定位设备接收到无线升级握手命令后,将程序指针重置,使其指向Boot区;程序进入无线升级流程,接收升级数据;升级完成后,指针再次跳转,程序进入App区。

2.2 无线升级终端设备

无线升级终端设备包含4个功能模块,如图4所示。① 主控制器模块:选用STM32F103RCT6作为控制核心与外设进行交互,合理调度设备资源,执行相应功能操作。② 双射频模块:选用nRF24L01型2.4 GHz无线射频芯片,因为其本身只能工作于单工通信模式,故采用双射频实现全双工无线通信[13-14]。③ 串口:控制传输窗口,可直接跟计算机通信进行数据上传或下载,也可接入以太网模块进行网络传输和远程控制。④ Flash扩展存储:扩展空间设计,用于存储过往升级文件、操作日志或超大型文件。

图3 矿井定位设备软件架构
Fig.3 Software architecture of mine positioning equipment

图4 无线升级终端设备结构
Fig.4 Structure of wireless update terminal equipment

无线升级终端设备软件架构如图5所示,包括主流程、串口接收中断流程、射频2中断流程3个部分。在主流程中,设置系统时钟,以时间片轮转的模式进行业务处理。串口接收中断流程用于接收上位机发送的升级文件和具体操作命令。射频2中断流程用于接收矿井定位设备的反馈信息。

图5 无线升级终端设备软件架构
Fig.5 Software architecture of wireless update terminal device

执行无线升级程序时,首先通过串口使无线升级终端设备运行于模式0,唤醒其作用范围内的矿井定位设备,使其进入Boot待升级状态;然后通过配置使无线升级终端设备运行于模式1,将升级文件进行拆分和重新组包后循环广播发送;最后,通过配置使无线升级终端设备运行于模式2,统计本次无线升级结果,上报日志信息。

2.3 无线升级协议

矿井定位设备的无线升级方法主要实现三大功能:无线升级终端设备唤醒矿井定位设备,使其进入Boot待升级状态;无线升级终端设备循环发送升级数据包;矿井定位设备上报信息。

矿井定位设备唤醒协议见表2,其中卡号用于匹配触发进入升级模式,产品号用于防止不同设备间误升级,版本号用于识别当前版本程序是否需要升级。唤醒步骤:① 矿井定位设备处于正常工作流程时,上报自身卡号信息。②无线升级终端设备接收到卡号信息,下发16 byte唤醒命令。③ 矿井定位设备接收到唤醒命令,程序跳转到Boot区,等待接收升级数据。

表2 矿井定位设备唤醒协议
Table 2 Wake-up protocol of mine positioning equipment

矿井定位设备→无线升级终端设备无线升级终端设备→矿井定位设备字节内容说明字节内容说明10x01功能码10x10功能码2~30x1234卡号2~30x1234卡号4~5—扩展位4~50x0001产品号6CRC校验位6~70x0010版本号8~15—扩展位16CRC校验位

为使多个矿井定位设备同时接收数据,不进行传输交互,由矿井定位设备进行丢包自检和重新接收。数据传输协议见表3,其中包号表示当前帧数据包的序号,总包号表示此升级文件总大小,升级数据占用16 byte。

表3 数据传输协议
Table 3 Data transport protocol

字节内容说明10x20功能码2~30x0001产品号3~40x0010版本号4~70x00000001包号8~110x00010000总包号12~15—扩展位16~31—升级数据32CRC校验位

矿井定位设备信息上报协议见表4。其中芯片码为单片机全球唯一识别码,故障码用于定位故障类型,故障信息用于定位故障位置。无线升级终端设备接收矿井定位设备上报信息(包括升级完成上报信息和升级故障上报信息)后,上传到上位机进行统计,进行无线升级结果分析。

表4 矿井定位设备信息上报协议
Table 4 Information reporting protocol of mine positioning equipment

矿井定位设备→无线升级终端设备无线升级终端设备→矿井定位设备升级完成上报信息升级故障上报信息上报成功确认信息字节内容说明字节内容说明字节内容说明10x02功能码10x03功能码10x3X功能码2~30x1234卡号2~30x1234卡号2~30x1234卡号4~50x0001产品号4~50x0001产品号4~50x0001产品号6~70x0010版本号6~70x0010版本号6~70x0010版本号8~13—芯片码8~90x0001故障码8~15—芯片码14~15—扩展位10~15—故障信息16CRC校验码16CRC校验码16CRC校验码

3 无线升级实验

为了验证矿井定位设备无线升级方法的有效性和可靠性,设计了无线升级实验。实验装置包括1台装有Keil开发环境和USB转串口工具的计算机、1个无线升级终端设备和20个矿井定位设备。因定位设备数量有限,设同等条件下5次为1组进行计算,重点验证无线升级方法成功率和距离的关系。实验参数:① 定位设备数量为5×20。② 升级文件大小为25 KB。③ 传输速度设置为2 KB/s。④ 循环广播时间为120 s。无线升级实验结果见表5。

截取表5中的实验数据,在间隔距离相同条件下,绘制一次成功率与总成功率的对比图,如图6所示。可以看出,在当前测试环境中,总体升级成功率与距离正相关,在10 m范围内成功率较高,符合2.4 GHz射频芯片的传输特性,验证了无线升级方法的可行性。有限的传输距离,一方面是其局限性,另一方面也可以加以利用,如用于小范围或固定区域升级,可防止辐射范围过大。

表5 无线升级实验结果
Table 5 Experimental results of wireless upgrade

组号距离/m一次成功数总成功数131001002510010037991004109710051394100616909871982968227493925568810303381

图6 无线升级成功率
Fig.6 Success rate of wireless upgrade

4 结论

(1) 矿井定位设备的无线软件升级方法实现了短距离范围内定位设备的无线升级,有效解决了矿井定位设备嵌入式软件升级困难的问题。实验结果表明,该方法的总体升级成功率与距离正相关,在10 m范围内成功率较高。该方法可广泛应用于单片机+无线芯片架构的矿井定位设备,为数量庞大的矿井定位设备的更新换代提供了一种高效便捷的方法。

(2) 对于升级失败问题,当前循环处理显得笨拙,可通过无线传输中的断点续传算法或者一对多双向无线传输方式等提高升级成功率;在实现方式方面,当前的无线升级需要擦除原有程序,下一步可考虑将Flash划出2块App区域,研究矿井定位设备的在线移动升级。

参考文献(References):

[1] 霍振龙.矿井定位技术现状和发展趋势[J].工矿自动化,2018,44(2):51-55.

HUO Zhenlong.Status and development trend of mine positioning technology[J].Industry and Mine Automation,2018,44(2):51-55.

[2] 成晓凌.人员定位系统在煤矿中的应用[J].煤炭与化工,2014,37(3):140-142.

CHENG Xiaoling.Application of personnel positioning system in coal mine[J].Coal and Chemical Industry,2014,37(3):140-142.

[3] 黄伟.基于RFID技术的矿山人员定位系统的设计[J].控制工程,2013,20(6):1181-1184.

HUANG Wei.Design of mine personnel positioning system based on RFID technology[J].Control Engineering of China,2013,20(6):1181-1184.

[4] 郭建昌.基于JTAG和ISP的新型可编程电路[J].化工自动化及仪表,2014,41(8):952-954.

GUO Jianchang.Design of new programming circuit based on JTAG and ISP[J].Control and Instruments in Chemical Industry,2014,41(8):952-954.

[5] 刘岱硕,张天宇.煤矿人员定位识别卡维修技术及运用实践研究[J].中小企业管理与科技(上旬刊),2019(4):187-188.

LIU Daishuo,ZHANG Tianyu.Research on the maintenance technology and application practice of the positioning identification card of coal mine personnel[J].Management & Technology of SME,2019(4):187-188.

[6] 吕大鹏.天脉操作系统中基于Ymodem协议的软件更新机制的设计与实现[J].信息通信,2019(2):117-120.

LYU Dapeng.An implementation of software maintenance based on Ymodem in acoreos[J].Information & Communications,2019(2):117-120.

[7] 康燕萍,程小辉,黄鹏.基于STM32系列电子产品的IAP研究[J].现代电子技术,2017,40(22):142-144.

KANG Yanping,CHENG Xiaohui,HUANG Peng.Study on IAP based on electronic products in STM32 series[J].Modern Electronics Technique,2017,40(22):142-144.

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

LEI Weiyan,AO Zhenlang,ZHOU Qinqiang.In application programming(IAP) development based on STM32[J].Electronic Measurement Technology,2015,38(5):62-66.

[9] 胡文涛,周军,赵立厂.基于RFID手持终端的煤矿安全巡检系统的设计[J].工矿自动化,2010,36(12):1-4.

HU Wentao,ZHOU Jun,ZHAO Lichang.Design of coal mine safety patrolling system based on RFID handhold terminal[J].Industry and Mine Automation,2010,36(12):1-4.

[10] 林少良,范宏宇.无线电通信终端设备可重构技术探讨[J].移动通信,2011,35(10):71-74.

LIN Shaoliang, FAN Hongyu. Discussion on reconfigurable technology of radio communication terminal equipment[J].Mobile Communications,2011,35(10):71-74.

[11] 刘赟,左小川.嵌入式软件在线升级系统的设计与实现[J].计算机测量与控制,2015,23(4):1425-1427.

LIU Yun,ZUO Xiaochuan.Design and implementation of online software updating for embedded system[J].Computer Measurement & Control,2015,23(4):1425-1427.

[12] 曾丽君,魏丽.航空机载嵌入式软件无线升级技术研究[J].航空计算技术,2018,48(6):91-95.

ZENG Lijun,WEI Li.Research on wireless upgrade technology for airborne embedded software[J].Aeronautical Computing Technique,2018,48(6):91-95.

[13] 张春艳,蒋鹏.基于STM32F103控制的NRF24L01多路无线通信设计[J].现代工业经济和信息化,2017,7(12):97-98.

ZHANG Chunyan,JIANG Peng.Design of NRF24L01 multi-channel wireless communication based on STM32F103 control[J].Modern Industrial Economy and Informationization,2017,7(12):97-98.

[14] 刘婷.基于nRF24L01和STM32的定量装车站无线控制系统[J].工矿自动化,2015,41(6):104-106.

LIU Ting.Wireless control system of quantitative loading station based on nRF24L01 and STM32[J].Industry and Mine Automation,2015,41(6):104-106.

Wireless software upgrade method for mine positioning equipments

ZHANG Lifeng1,2, JIN Yeyong1,2, CHEN Kang1,2, WANG Wei1,2, ZHOU Shu1,2

(1.CCTEG Changzhou Research Institute, Changzhou 213015, China;2.Tiandi (Changzhou) Automation Co., Ltd., Changzhou 213015, China)

Abstract:In view of problems that existing mine positioning equipment embedded program upgrade method needs to establish physical connection and there’s no programmable wireless upgrade protocol for small embedded devices, a wireless software upgrade method for mine positioning equipments was proposed. The method adopts wireless broadcast transmission mode and one-to-many network mode to implement batch wireless IAP (In-Application Programming) upgrade of mine positioning device, thereby improving convenience and efficiency of upgrade. The experiment results show that the overall upgrade success rate of the method is positively correlated with distance, and the success rate is high within 10 m. The method provides an effective way for upgrading of a large number of mine positioning equipments.

Key words:mine positioning equipment; wireless upgrade; upgrade terminal; wireless broadcast transmission mode; batch wireless IAP upgrade

中图分类号:TD655.3

文献标志码:A

文章编号1671-251X(2019)11-0014-06

DOI:10.13272/j.issn.1671-251x.17510

收稿日期:2019-09-06;修回日期:2019-10-24;责任编辑:胡娴。

基金项目:中国煤炭科工集团双创项目(2018-TD-QN013,2018-TD-MS013);天地科技股份有限公司面上项目(2018-TD-MS016);中国煤炭科工集团有限公司青年项目(2018QN028);中国煤炭科工集团科技创新基金重点项目(2018-TD-ZD005)。

作者简介:张立峰(1990-),男,江苏常州人,研究实习员,主要研究方向为煤矿井下定位及通信技术,E-mail:zhanglifeng0339@126.com。

引用格式:张立峰,金业勇,陈康,等.一种矿井定位设备的无线软件升级方法[J].工矿自动化,2019,45(11):14-18.

ZHANG Lifeng, JIN Yeyong, CHEN Kang, et al. Wireless software upgrade method for mine positioning equipment[J].Industry and Mine Automation,2019,45(11):14-18.