便携式煤矿井下CAN总线分析仪的设计与实现
2022-01-26黄增波
黄增波
(1.煤炭科学技术研究院有限公司,北京100013;2.煤炭资源高效开采与洁净利用国家重点实验室,北京100013;3.北京市煤矿安全工程技术研究中心,北京100013)
随着煤矿智能化、信息化升级改造进程的加快,CAN总线以其实时性强、可靠性好、标准化程度高、经济性优等优势,被广泛应用在煤矿安全监控系统、电力监控系统、风机监控系统、采掘设备电液控制等系统中。井下这些CAN总线系统具有设备节点多、传输距离长、网络拓扑结构复杂等特点,往往出现通讯时通时断、丢包、数据延迟等总线通讯问题。目前普遍使用USBCAN适配卡与笔记本电脑相连的方式,实现井下CAN总线系统的安装、调试与维护。然而这种方式不但携带不便,且只能对底层数据进行采集和显示,不具备对CAN总线的分析和故障诊断功能。面对上述复杂的总线问题时,USBCAN适配卡就有较大的局限性,无法及时判断故障原因或故障点,故障排查与解决往往费时费力,严重影响煤矿安全生产。
鉴于此,基于CAN总线分析理论,研究设计了一种轻巧、易于操控的智能便携式CAN总线分析仪手持终端,实现对煤矿井下CAN2.0 协议下的CAN总线报文解析、显示与存储,波特率的自识别,CAN总线质量分析与故障诊断。对快速排查及解决总线故障,提升总线网络的合理性与可靠性[1],保障煤矿安全生产有重要现实意义。
1 CAN总线分析检测原理
1.1 总线工作状态
由于CAN传输的CRC校验机制,保证了通信错误不会被CAN节点接收,但错误的报文会占用总线时间,导致正确的报文延时或者总线堵塞[2]。因此,可以通过对总线传输错误的统计,定量的评价总线状态。
CAN总线具有严格的错误诊断功能,完全由硬件通过发送错误计数器(CAN_ESR寄存器里的TEC域)和接收错误计数器(CAN_ESR寄存器里的REC域)来实现[3],其值根据CAN标准所定义的错误状况增加或减少。如接收期间检测到错误,错误计数器按1或8递增,每次成功接收后,错误计数器按1递减。通过程序读取错误计数器的值来记错误帧数并判断CAN总线的当前状态[4],不同错误状态对应不同的处理机制。CAN节点的状态转换图如图1。
图1 CAN节点状态转换图Fig.1 CAN node status transition diagram
CAN错误的类型通过读取CAN错误状态寄存器CAN_ESR的LEC域的值进行判断。LEC的值由硬件更新,其值从0到6的含义依次为无错误、填充错误、格式错误、确认(ACK)错误、位隐性错误、位显性错误、CRC错误[5]。
通过程序对接收的正确帧与错误帧进行累计统计,计算出CAN总线的通信成功率,来量化分析总线状态的好坏,总线状态分析结果见表1。
表1 总线状态分析结果Table1 Bus state analysis results
1.2 总线流量
CAN总线是半双工通讯,有优先级的区分,为防止高优先级一直占用总线发生堵塞现象,控制流量对保证CAN总线网络健康有着重要的作用。总线利用率是总线上所有节点在单位时间内发送的所有数据占整个总线理论带宽的比值[6],是流量分析的重要指标,其计算公式如式(1)。
式中:R为总线利用率;Zi为每秒钟不同CAN节点发送的单帧报文BIT总数;Ki为每秒钟不同CAN节点的发送报文次数;T为每秒钟理论上所能传输的BIT总数。
对确定了波特率的CAN总线,T值恒定,Ki由程序中断统计,Zi由程序统计,总线流量Z通过式(2)计算确定。
式中:Zg为实际报文数据帧的BIT总数;Zy为帧间隔的BIT总数。
根据CAN协议的规定,Zy都是3个BIT,Zg由帧类型和数据长度共同确定。如当数据长度是8个字节,标准帧时Zg为108个BIT,扩展帧时Zg为128个BIT[7]。
CAN总线分析仪可对总线最大瞬时利用率和总线平均利用率进行统计,根据实际运行情况建立总线评估模型对总线流量进行分析,总线利用率分析结果见表2。
表2 总线利用率分析结果Table2 Bus utilization analysis results
1.3 总线波特率自识别
波特率自识别采用标准波特率固定值列表遍历的方法实现[8]。将多种标准波特率值预存在ARM里,从最低波特率开始设置初始值,在ARM发送报文后,在一定时间内检测到CAN_ESR寄存器中的EPVF位或CAN_IER寄存器的ERRI位是否为1,如果都不为1,则表明波特率匹配成功,如果有1个为1,则表明波特率匹配失败,复位CAN寄存器,根据波特率表切换到下一波特率继续检测,直至波特率匹配成功。CAN总线分析仪采用在发送端处理波特率协商,比在接收端处理。提升了波特率检测和切换的时间。
2 CAN总线分析仪硬件
便携式CAN总线分析仪以ARM主控器STM32F429为设计核心,模块化结构设计,本质安全型电路。主要由USB电路、锂电池充电管理电路、锂电池电量计电路、电源转换电路、CAN总线收发电路、液晶屏显示电路、A/D采集电路、Flash存储电路、按键输入电路等组成。CAN分析仪硬件总体结构图如图2。
图2 CAN分析仪硬件总体结构图Fig.2 Hardware general structure diagram of CAN bus analyzer
ARM STM32F429是便携式CAN总线分析仪的处理核心,负责对CAN总线数据的采集分析并显示。分析仪由6Ah锂电池供电,采用USB口充电,由CS0301组成充电管理电路对锂电池进行充电控制与保护。采用专用锂电池电量计芯片CW2015实现对锂电池的剩余电量、剩余工作时间的准确计量,通过I2C总线传给ARM处理并显示,电源转换电路将锂电池电压分成2路,1路经低压差LDO TPS76933转换成3.3V,给ARM及其相关外设供电,另1路经FP6276B升压至5V给液晶屏供电。ARM STM32F429内置CAN控制器,接CAN隔离收发模块TD301DCAN实现CAN总线的驱动电平转换与保护,并监听总线上的报文数据。A/D电路采集CAN总线的电压,监测总线上的幅值变化。ARM将采集到的CAN总线报文、锂电池信息、输入的操作命令等进行分析处理,通过UART传给液晶屏实时显示。Flash用来存储参数配置信息与历史报文。
CAN总线通信电路图如图3。ARM STM32F429内置的CAN控制器发送和接收引脚接入集总线隔离与ESD保护于一体的金升阳CAN收发模块TD301DCAN,实现CAN信号驱动电平的转换与保护[9]。通过共模电感L3,双向瞬态抑制二极管D10、放电管GDT1等保护器件的共同作用,达到了浪涌(冲击)抗扰度3级A,脉冲群抗扰度4级A的标准。
图3 CAN总线通信电路图Fig.3 CAN bus communication circuit diagram
分析仪一键开关机电路图如图4。分析仪作为一种便携式的手持设备,其操控的简单方便性是其重要体现,采用EC19040302-V06-362B专用电子开关芯片,电源键触发芯片5脚,进而控制PMOS管AO3401A的通断,实现短按开机,长按关机。
图4 一键开关机电路图Fig.4 One key switch circuit diagram
分析仪锂电池电量计算电路如图5。电池电量信息是便携设备的重要参考,采用国产专用电量计芯片CW2015,由2引脚VCELL持续监测电池在充电/放电状态下的电压,结合电池建模信息,实现对锂电池剩余电池电量、剩余工作时间的准确计算[10],误差在3%以内,通过I2C总线将电池计算结果传给ARM。
图5 锂电池电量计电路Fig.5 Lithium battery capacity measurement circuit diagram
分析仪电源升压电路如图6。升压电路将锂电池电压升压至5V,用以给组态液晶屏供电,液晶屏根据功能进行纵屏或横屏显示。
图6 电源升压电路Fig.6 Power boost circuit diagram
3 CAN总线分析仪软件
CAN总线分析仪程序流程图如图7。
图7 CAN总线分析仪程序流程图Fig.7 Process flow chart of CAN bus analyzer
分析仪采用RT-Thread实时操作系统,程序模块化设计,系统对ARM时钟、CAN、UART、SPI、I2C、A/D等硬件资源进行初始化及参数的配置,先对总线上的波特率进行自识别,匹配成功后后进入总线监听状态,接收总线上的报文,等待按键操作选择进入相应的总线分析功能模块,各功能模块根据CAN总线分析理论进行测量和计算,将结果实时显示在液晶屏上。
4 试验测试
CAN总线试验示意图如图8
图8 CAN总线试验示意图Fig.8 Sketch diagram of CAN bus experiment
对便携式CAN总线分析仪进行波特率自识别、报文监听、工作状态分析、总线利用率测试,来验证便携式CAN分析仪的有效性和准确性。用广州周立功公司的专业版CAN总线分析仪CANScope-Pro作为验证标准仪器。6个CAN传感器和1个CAN分站接入CAN总线,便携分析仪和CANScope并入总线监听,传感器1s发送1次,主动给分站上传报文,分站定时给传感器下发指令。
分别调整传感器和分站的波特率为5、10、80、125kbps,进行波特率自识别实验,便携式CAN分析仪均能正确识别波特率。
对报文进行监听,查看报文显示窗口,便携式分析仪接收的报文帧ID、数据、帧类型与CANScope-Pro一致。监听一段时间后,查看报文传输成功率,进行总线工作状态分析实验。传输成功率与错误检测数量,便携分析仪与CANScope-Pro统计结果一致。报文传输成功率在99.93 %,错误率极低,说明总线工作状态良好。
进行总线流量分析,计算总线利用率,便携式CAN总线分析仪计算结果18.34 %,与CANScope-Pro监测的19.51 %基本吻合。从试验可以看出总线留有充足的裕量,在突发情况下进行数据传输,不会发生拥堵。
经试验,便携式CAN总线分析仪满足矿方对CAN总线设备安装调试、快速排查解决总线故障,提升总线网络可靠性的需求,并可为监察人员对设备通信协议格式的检查提供依据。
5 结 语
分析了实现CAN总线分析的检测原理,通过研究CAN总线报文错误处理机制,根据CAN总线状态、流量、幅值等性能指标参量建立CAN总线质量评估模型。以ARM为核心,从硬件及程序设计2个方面,设计了一种基于CAN总线分析原理的的便携式CAN总线分析仪。测试结果表明,便携式CAN分析仪实现了CAN报文的解析、显示与存储,总线定量分析与故障侦测准确。满足了现场对CAN总线调试的需求,提升了CAN总线网络的合理性与可靠性,保障了井下各CAN总线系统的安全稳定运行,符合智慧矿山建设的发展需要。