矿用多总线数据通信分站系统设计
2022-10-11徐晓天张红娟王世隆高妍靳宝全
徐晓天,张红娟,王世隆,高妍,靳宝全
(1.太原理工大学 电气与动力工程学院, 太原 030024;2.太原理工大学 新型传感器与智能控制教育部与山西省重点实验室, 太原 030024)
0 引 言
煤炭开采过程中,实时监测并上传井下环境参数对保障生产安全具有重要意义[1],但井下设备产生的电磁辐射对正常信息传输干扰较大[2],目前常见的抗扰型总线数据传输方式仍有诸多不足。一主多从的RS485总线使数据只能从各自独立线路上传[3],难以联动配置。全双工的CAN总线支持多机同步发送[4],仲裁优先级次第传输,但不利于协调远程共享,仅适用于现场设备间信息交互[5]。适合数据共享的以太网传输网络[6],非光纤结构时通信距离有限,无法独立完成传输。
针对这一状况,主流解决方案为多总线并行排布并引入井下网关设计,借助带载操作系统的控制芯片将多种总线信号全部转为网络信号输送至上位机处理[7]。此时庞大的硬件结构会增加系统出错几率。移植操作系统后主控芯片资源调度紧张[8]。软件线程增多,轮转时间片减小[9],削弱了实时响应。异构总线数据信息只能单线传输到上位机,彼此不互通共享,阻碍全局信息评估。
设计一款结构简单,抗扰能力强,资源占用少,使井下多总线协议信息通透传递的数据通信分站,消除传输中的滞后性和孤立性,将会为井下风险判识和危机管控提供有力支撑。为此,文章设计了兼容RS485、CAN和ModbusTCP协议的井下数据通信分站。
1 系统总体设计思路
系统总体设计思路如图1所示,井下各传感器和控制执行机构通过RS485总线连接到监控站点,用于信息采集与上传。站点通过CAN总线相连实现信息共享,在任一站点均可调阅同总线上其它站点数据并进行操作控制。站点通过基于TCP/IP协议,可在Ethernet接口下传输以太网数据的ModbusTCP总线与井上监控系统互联,便于集控室监控情况,下发操作指令。
图1 系统总体设计思路
2 分站系统硬件设计
系统硬件结构如图2所示。系统以总线供电、低功耗和强抗干扰设计识别信息类型,完成数据在各通讯协议下的采集,传输和控制。其中核心控制单元选用32位的STM32F407芯片。该芯片为ARM架构,168 MHz时钟[10],满足系统通信、采集和控制需求。支持485、CAN和以太网接口,辅以少量电平转换电路便可与目标接口设备连接,能提高系统集成,降低整体能耗,减小设备体积。
控制单元内嵌bxCAN控制器,可收发全格式CAN报文,为兼容常见的CAN2.0B协议,以内置高效电源的TD501DCANH3作为CAN收发器,该芯片输入输出双端隔离,自身辐射低,抗扰性高。RS485协议定义接口电气特性,正电平2 V~6 V是逻辑“1”,负电平2 V~6 V是逻辑“0”,考虑隔离需求收发选用MAX1480B,除收发器外,芯片还包括由光耦和变压器构成的隔离电路,内含限摆率驱动器可增强抗干扰能力。控制单元包括MAC802.3介质控制的以太网模块,故以DP83848芯片连接其RMII接口作为以太网PHY实现,DP83848功耗低,鲁棒好,能够很好实现矿井上下的通讯,为消除噪声,用网络变压器H1102作为网络滤波中继。
井下多种设备运行时产生的电磁干扰将会影响系统工作能力。因此,系统在引入井下24 V供电后,经24S5-500B转换得到直流5 V,在转换模块与外部电源间加入双T低通电路滤除外界高频扰动。5 V电源经由DC-DC隔离,剔除静电和浪涌干扰,通过ASM1117降压至3.3 V驱动核心控制单元,分流5 V供能其他模块。最后接地抑制共模干扰[11]。
图2 系统硬件结构
为方便井下工作,系统配备TFTLCD液晶显示屏实时放送当前各站点采集传输数据,并设计了蜂鸣器和发光LED强化报警功能。
3 分站系统软件设计
为实现对指令和数据信息的发送,多种协议信号的识别、转换和接收,要求吞吐庞大数据且响应快速。即软件要以高可靠低时延特性驱动读写进程完成预设功能。软件设计分为通信检测和协议收发转换设计两部分。
3.1 通信检测设计
为避免系统无关中断的干扰,程序采用循环扫描、心跳响应和中断节拍结合的主动循环模式,通信检测流程如图3所示。系统初始化后,扫描循环检测各端口心跳值。传输端不传送数据时以固定心跳值表示连接正常。若需要传输数据,固定心跳变为传输心跳,系统检测到后中断其他操作激活接收转换函数响应此心跳,结合内部时钟节拍消除转换中的时间误差。
3.2 协议收发转换设计
协议收发存储转换过程如图4所示,收发端接收报文后,识别剥离有效数域,添设传输标识位写入独立缓存区。传输标识位由一位数表示,“0”为输出,“1”为输入。独立缓存区内置多级指针,两个输入指针分别指向数据的开头结尾,中央缓存区响应后,将指针中间的数据转移到中央缓存区,之后指针移向下一组输入数据。同理,两个输出指针指向传出数据的开头结尾。中央缓存区采用先进先出的环形缓存区转移数据,添加互斥访问机制以保证传输准确。中央缓存区输出数据时,去掉传输标识符,依据目标协议格式,将数据域重新封装驱动至收发口。收发口分析协议正确性,无误则接收,否则拒绝并报错。
图3 通信检测流程
设计超限发送机制和超时发送机制,当接受的数据量超出缓存区上限阈值时,激活发送函数防止数据溢出。若定时区间内数据未达发送函数动作的下限阈值,定时结束立刻发送数据以提高转换效率。二者阈值参数可由现场实际灵活设定。
数据传输过程中,运行检测函数确保两侧数据有序,避免冲突发送,同时监测双方波特率和发送间隔,使发送方速率不高于接收方。
图4 协议收发存储转换过程
4 紧凑型协议格式调整
4.1 RS485与CAN协议设置
RS485提供开放接口,既可采用设备供应商提供的协议,也可自行约定协议传输。初始化设定波特率、数据位、停止位和校验位4个参数。波特率定义传输速率,依据设备性能设置。数据位通常是8位,传输0~127位标准ASCII码只需7位。随着缆线抗扰能力的提升,停止位常设1位,校验位多设为无。
CAN报文发送时对应设置报文类型和帧标识符[12]:报文类型锁定为标准帧,标识码为11位。接收时额外设置滤波和屏蔽寄存器,二者配合判定信息接收与否,具体关系如表1所示。
4.2 ModbusTCP协议设置
为传输ModbusTCP数据,系统嵌入LwIP为TCP/IP协议栈、freeModbus为Modbus协议栈[13]。ModbusTCP格式由MBAP报文头,功能码和数据码组成[14]。MBAP为ModbusTCP独有报文头,共7字节:两字节传输标志,设置00-00表示询问回应传输。两字节协议标志,设置00-00表示为Modbus协议。后续字节计数占两字节表征后续字节个数。一字节单位标志默认00。功能码用于协议控制器中,判定主从应答情况[15]。
表1 滤波和屏蔽寄存器关系
为最大限度解放系统资源,针对自建局域网在井下数据交换时没有频繁的拥堵或网络攻击的现状,调整协议格式,在网络层保留了地址解析协议ARP,互联网协议IP和互联网控制消息协议ICMP,删除OSPF、RIP、BGP和IGMP等路由管理和网络组管理服务,且ICMP只响应ping命令和端口不可达消息。在传输层禁用SCTP流控制协议,去除媒体网关控制功能。在TCP中只打开502端口侦听并交换数据,拒绝FTP、HTTP和SMTP等服务窗口。限制冗余功能后协议格式更加紧凑,降低了资源需求。
5 系统传输性能验证
5.1 485和CAN传输性能验证
在485和CAN的传输链路中加载霍尔直检放大式电流传感器,配置测量电阻为2 kΩ标准电阻,将弱电流信号转换为电压信号,用PicoScope采集电压变化分析信号传输过程。485链路在11 ms内连续传输数据24次,试验结果如图5所示,单次数据传输在9.70 ms时耗时最长,为0.41 ms,无阻塞发生。
图5 485传输验证
为区分CAN信号与485信号,在PicoScope中偏置CAN信号基准电压为+1 V,以相同方式检测CAN信号传输时的电压变化。实验结果表明CAN数据从898.5 μs开始传递,到1 109.8 μs时出现正向脉冲信号表示数据域传输完毕,1 111.3 μs时完成数据校验自检发射反向脉冲。一次完整数据传输用时约0.2 ms。
将系统程序设置为调试模式,将PicoScope的两路采集线分别接入485和CAN的传输线路检测数据转换。图6表示CAN数据与485数据转换耗时,803.8 μs开始转换,1 018.9 μs时转换完成,耗时约0.21 ms,转换传输过程无拥堵冲突,运行稳定。
5.2 ModbusTCP传输性能验证
为检测ModbusTCP连接稳定性,设置上位机IP为192.168.1.110,系统端IP为192.168.1.33,检测双方通讯。ARP与ping数据包捕获如表2所示,ARP请求Mac地址,然后连续4次ping请求正常,精简后的协议网络通讯良好。
图6 CAN和485数据接收转换验证
表2 ARP与ping数据包捕获
采用Jperf测试1min内数据信息通过ModbusTCP协议的传输速率,三次测试得到ModbusTCP传输速率如图7所示,在1.114 Mbps~1.180 Mbps之间波动,平均传输速率为1.147 Mbps。
图7 ModbusTCP传输速率
采用DelyCheck对系统通讯延时连续测试3 000次,验证全系统通信传输实时性,系统时延测试如图8所示。由结果可知,绝大多数数据传输时延在13 ms以内,最大时延为31 ms,系统实时性满足工作需求。
图8 系统时延测试
6 结束语
矿用多总线数据通信分站设计是对现有赵庄煤矿排水系统设计的进一步深化和改进,原系统已投入使用数年。改进后的系统实现了数据信息在RS485、CAN、ModbusTCP协议下透传。
(1)在硬件方面,面向井下特殊环境选用合适的防爆隔离硬件设计系统,并做了针对性抗电磁干扰措施减小干扰,保障系统可在井下正常工作;
(2)在软件方面,设计了循环扫描、心跳响应和中断节拍结合的软件工作模式以及多级存储、独立读写的数据缓存模式,提高了传输效率;
(3)在实用性方面,采用精简后的紧凑型协议格式,数据传输稳定,协议转换高效,时延主要集中在13 ms以内,为井下数据可靠传输提供了新思路。