王 飞
(1.瓦斯灾害监控与应急技术国家重点实验室,重庆 400037;2.中煤科工集团重庆研究院有限公司,重庆 400039)
国家安全监管总局国家煤矿安监局《建设完善煤矿井下安全避险“六大系统”的通知》(2010 年146号)要求煤矿必须建设“六大系统”[1],全国范围内煤矿企业迅速安装井下人员管理系统。2019 年10 月12 日,山东省出台《山东煤矿人员精确定位系统技术要求(试行)》文件。按照原国家安全生产监督管理局关于印发2015 年安全生产行业标准制订计划的通知要求,《煤矿井下人员定位系统通用技术条件》征求意见稿中重新定义人员定位系统技术要求,传统的区域人员管理系统已完全不能满足新通用技术条件要求[2-4],迫切需要定位精度高、数据实时性强的精确定位系统。
目前,矿井井下精确定位技术主要有UWB、ZigBee、CSS 等[5-7],其中UWB 精确定位技术具有定位精度高、抗干扰能力强、通信速率快和并发容量大等特点[8],ZigBee 精确定位技术具有成本低、功耗低和通信距离远等特点[9-10]。因此,基于UWB 和ZigBee定位技术的精确定位系统在煤矿井下得到大量推广应用,定位卡已经普及至每位矿井工作人员。定位卡交付使用后,若出现问题或增加功能,则需要软件升级。如果采用离线板卡升级方式,则需要拆卸定位卡,耗时耗力。如果采用无线升级方式,目前绝大多数仅支持一对一无线升级[11-12],升级速度慢、效率低,而且存在较高的风险,一旦程序升级失败,原有程序已被擦出,定位卡无法继续工作,必须返厂维修[13]。
针对上述问题,提出一种基于广播方式的无线升级固件程序的实现方案,采用一对多的组网模式和无限循环多次广播机制,实现定位卡批量无线升级,具有升级速度快、并发容量大、和可靠性高等优点。
提出的基于广播方式的无线升级固件程序系统主要包括3 个部分:服务器、升级基站和定位卡。升级基站具有1 路UWB 通道和1 路ZigBee 通道,UWB用于广播升级包数据帧,ZigBee 用于接收网络扫描帧、发送升级启动帧和接收升级进度帧。定位卡具有1 路UWB 通道和1 路ZigBee 通道。在正常状态,UWB 用于TOF 测距,ZigBee 用于广播网络扫描帧。在无线升级过程中,UWB 用于接收升级包数据帧,ZigBee 用于接收启动升级帧和发送升级进度帧。
为了提高无线升级可靠性,定位卡包含3 部分:定位板、升级板和FLASH。定位板含有1 路UWB 通道和1 路ZigBee 通道,升级板外接1 个FLASH。定位板与升级板之间采用数据接口和编程接口相连接。FLASH 用于存储升级包。定位卡开始无线升级时,将更新的升级包首先写入FLASH,等待升级包接收完毕且校验正确,再加载更新的升级包。
升级包传输存在2 个步骤:①服务器下发至升级基站;②升级基站广播至定位卡。服务器与升级基站之间的升级包传输采用TCP/IP 技术,其可靠性可以得到保障,该文针对升级基站广播升级包,提出了一种无限循环多次广播方式的可靠传输机制。
服务器传输升级包至升级基站,其中包含升级包的程序数据及其版本号、总长度和校验值。升级基站将升级包的程序数据及其版本号、总长度和校验值进行保存,同时进行校验计算,校验正确后,采用UWB 通道广播升级包数据帧。升级包数据帧含有数据帧编号、数据长度和广播次数。为了提高升级包数据帧传输的可靠性,UWB 广播升级包数据帧时,每个数据帧连续广播3 次,间隔1 ms,每20 ms更新1 个数据帧。升级基站广播升级包数据帧时序图如图1。
图1 升级基站广播升级包数据帧时序图Fig.1 Time sequence diagram of the base station broadcasts data frames
由图1 可知,升级基站无限循环多次广播升级包数据帧,升级包数据帧的数据长度为N,最后1 个数据帧(n+1)的数据长度为M,假设升级包的程序数据总长度为L,则L=N×n+M。数据帧编号为已经成功广播升级包的程序数据字节数量。
如果定位卡接收同一个升级包数据帧的失败次数<3 次,则可以成功接收该升级包数据帧。如果定位卡接收同一个升级包数据帧的失败次数≥3 次,则可以等待至下1 个循环周期接收该升级包数据帧。由此可见,升级基站采用无限循环多次广播机制发送升级包数据,传输可靠性可以得到保障。
定位卡无线升级的工作流程如图2。
图2 定位卡无线升级的工作流程图Fig.2 Working flow chart of the locating card
定位卡采用ZigBee 通道周期性地广播网络扫描帧,其中包含卡号和软件版本号,升级基站接收到网络扫描帧后,检查该软件版本号是否需要升级,如果需要升级则回复升级启动帧,其中包含升级包的程序数据总长度和校验值。定位卡接收到升级启动帧后,采用UWB 通道被动接收升级包数据帧,同时通过ZigBee 通道周期性地发送升级进度帧,向升级基站报告升级进度。
定位卡接收到升级启动帧和升级包数据帧后,定位板通过数据接口转发至升级板。升级板负责存储和校验升级包数据,只有在升级包接收完毕且校验正确后,通过编程接口对定位板进行程序升级,否则复位定位板、重新启动无线升级流程。所以,即使升级包接收失败,定位板仍保留原始程序数据,还可以继续工作。
定位卡无线升级的工作时序如图3。由于升级基站采用无限循环多次广播机制发送升级包数据,定位卡只需被动接收升级包数据帧。在升级基站覆盖范围内,定位卡批量升级的并发数量不受限制,几千张定位卡在几分钟内即可完成无线升级。无线升级过程中,只需上电升级基站,升级基站检测到软件版本号需要升级,则发送升级启动命令,否则不予回复。
图3 定位卡无线升级的工作时序图Fig.3 Time sequence diagram of the wireless upgrade
为了验证该无线升级方法的有效性和可靠性,进行了无线升级测试。无线升级测试布置1 台电脑、1 个升级基站和500 个定位卡。升级基站的UWB 通道和ZigBee 通道均采用增益为16 dB 的定向天线,天线安置高度约为1.5 m;500 个定位卡与升级基站之间距离约为100 m,放置在地面。
通过电脑将定位卡升级包发送至升级基站,启动开始升级,升级软件自动记录升级进度和时间。为了充分验证该升级方法,共进了10 次试验,升级时间取最大值,无线升级测试结果见表1。
表1 无线升级测试结果Table 1 Wireless upgrade test results
根据表1 测试结果,约95%定位卡一次性升级成功,其它定位卡只需等待2 个循环周期,无线升级时间均小于5 min。
此外,在无线升级过程中,断电升级基站,定位卡在10 min 后自动复位,以原始程序继续运行工作。因此,该无线升级方法可靠性高,只有在升级包接收完毕且校验正确后,才进行程序升级。如果升级包接收失败,定位卡仍保留原始程序数据、继续工作。
基于广播方式的无线升级固件程序方法,采用一对多的组网模式和无限循环多次广播机制,实现定位卡批量无线升级,有效解决了定位卡软件升级困难问题。试验结果表明:定位卡批量升级的并发数量不受限制,在100 m 覆盖范围内,95%定位卡一次性升级成功,5%定位卡需要等待2 个循环周期,无线升级时间均小于5 min。而且,无线升级可靠性高,只有在升级包接收完毕且校验正确后,才进行程序升级。如果升级包接收失败,定位卡仍保留原始程序数据、继续工作。因此,该方法为数量较多的定位卡升级固件程序提供了一种快速、可靠和便捷的无线升级途径。