APP下载

一种矿用人员便携设备的无线程序升级方法

2021-04-06金业勇

煤矿安全 2021年3期
关键词:矿用终端设备校验

陈 贤,金业勇,陈 康

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

井下人员定位系统作为煤矿井下必备的安全避险“六大系统”之一,是井下人员定位,考勤,调度等应用的重要保障[1-2]。该系统下的定位标识卡或定位信息矿灯是下井人员必须携带的设备,具有数量多,位置分散且不固定等特点。随着煤矿安全生产的标准提升,以及矿方的需求差异化,不可避免的面临该类设备的程序升级问题。

由于矿用设备使用环境恶劣,三防要求等级高,不易拆卸的特点,采用IAP(In Application Programming,应用内编程)编程方式与矿用人员便携设备的无线射频结合,可以有效的解决升级程序时设备需要拆卸的问题[3-7]。而程序升级另一个问题在于现场情况:①设备数量多,上千是正常数量级,统计升级情况耗时耗力;②煤矿生产一般采用轮班制,如常见的三班倒,导致设备某一时间一部分在井下,一部分在井上,位置分散不固定,且该类设备一般由使用者个人保管,不便于收集,而无线升级覆盖区域有限,难以集中升级;③人员定位信息关联定位与考勤,升级过程不能影响设备的井下正常工作,加上人员下井罐笼不等人,人员上井在疲惫的驱使下急于下班的情况,特别是信息矿灯锁在充电柜中充电,升级过程难以保障。针对上述问题,提出了一种可靠性高、操作方便的矿用人员便携设备的无线程序升级方法,采用无线广播传输和断点续传的方式在下井口实现矿用人员便携设备程序的批量无线IAP 升级。

1 总体设计

用于矿井定位的无线通信技术主要有Wi-Fi、RFID、UWB、ZigBee 等[1],以使用较多的RFID 井下无线定位方案来说明无线程序升级的方法。升级过程采用一对多的网络模式进行数据交互,即1 个无线升级终端设备对应多个矿用人员便携设备,通过2.4 GHz 无线通信模块完成无线升级终端设备与矿用人员便携设备之间的数据传输。

硬件上,矿用人员便携设备保持原有硬件架构不变,增加无线升级终端设备,设备采用单片机+双无线芯片+USB 虚拟串口的架构[8-9],具有双射频模块,分别用于升级程序文件的发送和升级探测,且工作在不同无线信道,减少空中碰撞,提高升级的速度。

软件上,矿用人员便携设备的软件重新架构,将Flash 分为Boot(引导)区、APP(应用程序)区、APPBackup(应用程序备份)区及Data(数据)区4 大区域[10],其中APP 区和APPBackup 区大小相同,无线升级过程Flash 操作过程如图1。

一次完整的无线升级交互过程如图2。

图1 无线升级Flash 操作过程Fig.1 Wireless upgrade Flash operation process

具体步骤如下:①矿用人员便携设备发送正常工作报文;②无线升级终端设备捕获报文,定向发送升级命令,矿用人员便携设备捕获升级命令,若版本落后,切换信道进入升级模式等待接收升级数据包;③无线升级终端将升级文件拆分成多个独立数据包,并循环发送;④数据包接收完成,上报升级完成信息,软重启进入Boot 区,完成拷贝新程序到APP区后,跳转到APP 区正常工作。

2 详细设计

2.1 矿用人员便携设备

图2 无线升级交互过程Fig.2 Wireless upgrade interaction process

以常用的STM32F103CBT6 单片机为例,Flash存储区共有128 KB。按实际使用需求划分4 个区域的大小,Flash 存储区域划分见表1。

表1 Flash 存储区域划分Table 1 Flash storage area division

矿用人员便携设备在原有功能的基础上增加无线升级部分功能,矿用人员便携设备无线升级程序流程框图如图3。

矿用人员便携设备上电启动正常情况没有更新标志,直接跳转至APP 区执行正常工作流程,当接收到无线升级终端的升级命令,比对当前版本,若版本落后且电量充足,切换至升级信道进入升级模式,接收无线升级终端循环广播的升级数据包,将校验通过的单包升级数据存放到APP 备份区的指定位置,同时保存每一个升级数据单包的接收情况,用于断点续传,同时判断是否长时间(1 s)未收到升级数据包,若超时,切换回正常工作流程,再次经过升级区域时重新进入升级模式,已接收的数据包无需再重新接收保存,保证升级的连续性。若升级数据包全部接收完毕,且校验通过,保存升级数据校验值等参数和更新标志至Data 区指定位置,软复位重启进入Boot 区启动。判断更新标志并再次校验APP 备份区的升级数据,校验通过后拷贝至APP 区,重置更新标志后软复位重启,进入更新后的APP 区正常工作,至此,整个程序升级过程完成。

图3 矿用人员便携设备无线升级程序流程框图Fig.3 Mine personnel portable equipment wireless upgrade process flow diagram

升级数据包的正确性直接影响升级能否成功,因此,将升级数据包采用单包校验和整包校验的双重校验,先将升级程序bin 文件按16 字节整数倍全1 补齐,计算整包的校验值,再按16 字节1 包计算总包数N,加上通信协议组成32 字节的单包数据,升级数据单包协议见表2。

矿用人员便携设备升级数据包接收过程采用断点续传方式,使用1 个bit 记录1 个单包16 bytes 的升级情况,以最大50 kB 为例,占用Ram 资源50/8/16=0.39 kB,对STM32F103CBT6 单片机20 kB 的Ram来说,完全胜任。参考芯片手册,单包16 字节数据保存到flash 的写入时间小于1 ms,射频芯片SPI 接口采用8 MHz 时钟,单次接收数据读取时间在1 ms内,预留计算处理时间,以单包升级数据接收完成时间5 ms 计算,50 kB 数据的理论单次循环接收时间为50×1024/16×5=16 000 ms=16 s,考虑到无线通信丢包的因素,理论计算的无线升级耗时在30 s 以内,在无线信号稳定覆盖的10 m 范围内,基本可以做到短暂停留即可完成升级。

2.2 无线升级终端设备

无线升级终端设备硬件框图如图4。

图4 无线升级终端设备硬件框图Fig.4 Hardware diagram of wireless upgrade terminal device

无线升级终端设备主要包含4 个功能模块:①主控芯片:作为专用的无线升级终端,能存放一个更新程序即可,结合其他外围要求,因此也选用STM32F103CBT6 单片机;②双射频模块:根据对端待升级的无线射频类型,选用nRF24L01 2.4 GHz 无线射频芯片;③串口:为了方便与PC 端上位机软件连接,选用USB 虚拟串口芯片CP2102;④人机交互,1 个按键,用于无上位机时的脱机无线升级控制,LED 指示灯及小型OLED 显示屏用于升级过程及状态显示。

主控芯片128 kB Flash 按需求划分为3 个区域,Flash 存储区域划分见表3。APP 区用于存放应用主程序,APPNew 区空间对应矿用人员便携设备的APP 区,用于存放从PC 端上位机下发的升级程序bin 文件。

表3 Flash 存储区域划分Table 3 Flash storage area division

无线升级终端设备软件主要实现2 个功能,升级程序加载和无线升级过程处理。升级程序加载交互过程如图5,无线升级过程处理软件流程如图6。

图5 升级程序加载交互过程Fig.5 Escalation load interaction

图6 无线升级过程处理流程Fig.6 Wireless upgrade process processing flow

1)升级程序加载。PC 端上位机将升级程序的bin文件分包后,加上必要的通讯协议和校验组成升级程序包,通过USB 虚拟串口逐条发送给无线升级终端设备,升级终端对升级数据包校验通过后存放在内部存储APPNew 区对应的位置,并反馈数据包接收成功确认。最后交互确认升级程序的总校验信息,保证升级程序的正确性。无线升级终端完成升级程序的加载后,置加载成功标志,返回空闲模式。

2)无线升级。在空闲模式下,程序已加载成功,收到上位机或按键的升级命令,无线升级终端进入升级模式,主要对2 个射频模块处理。射频1 始终工作在发送模式,在指定的信道按5 ms 的间隔循环发送表2 格式的升级数据包;射频2 工作在中断接收模式,以便对接收到的数据快速响应。对收到的正常报文,射频2 立刻切换到发送模式定向发送升级探测命令,发送完成后立刻切换回中断接收模式,继续等待接收,对升级完成反馈信息,直接通过串口发送给上位机。当收到上位机或按键的关闭升级命令,射频1 停止发送,射频2 关闭接收,返回空闲模式。

3 升级测试及现场验证

为了验证该升级方法的可靠性和有效性,通过模拟实际情况来进行升级测试。将无线升级终端设备悬挂于走廊一边的墙面上,走廊宽度2.4 m,悬挂高度1.5 m,升级程序bin 文件大小33 kB,测试用定位标识卡20 个,同时携带20 个标识卡以正常的行走速度多次通过升级终端位置,重复测试5 次,从上位机上观察升级情况,无线升级测试情况统计见表4。

表4 无线升级测试情况统计Table 4 Wireless upgrade test statistics

从测试试验数据可以看出,1 次通过的升级完成率在63%,2 次通过的升级完成率在98%,3 次通过的升级完成率在100%,多次通过显著提高了升级完成率,符合断点续传的技术特点,100%的通过率验证了该无线升级方法的可靠性。

由于项目需要对山东某煤矿UWB 精确定位系统下的1 206 盏KLX5LM(C)·信息矿灯进行程序升级,无线升级终端设备安装位置下井口安检门入口外20 m 左右,启动无线升级2 d 后,根据上位机的统计完成了986 盏矿灯的程序升级,未发现升级导致的故障矿灯。

4 结 语

提出了一种适合矿用人员便携设备的无线升级程序方法。该无线程序升级方法应用灵活又可靠的升级机制,同时充分利用了待升级对象自主移动的特点。现场试验结果表明,该方法有效解决了矿用人员便携设备数量多,位置分散不固定而难以集中的程序升级问题。该升级方法需要1 个与应用程序区一样大小的备份区,对flash 的容量要求较高,下一步考虑研究一种不需要备份区,在Boot 区增加对用户程序有效性校验的措施,同时在该区增加独立的无线升级的方法,防止升级异常发生故障。

猜你喜欢

矿用终端设备校验
使用Excel朗读功能校验工作表中的数据
电能表在线不停电校验技术
浅谈热处理对矿用圆环链钢25MnV的组织和性能影响
基于EG8030的矿用移动式三相逆变电源设计
行车记录仪通信连接方法、行车记录仪及终端设备
电力配网自动化中配电自动化终端设备的应用
电网终端设备信息安全研究
电网监视终端与自动化设备的运行维护技术
乐清市矿用设备厂
基于FPGA的CRC32校验查找表算法的设计