刘寅虎,鲁进军,蔡亮亮
(南京中车浦镇海泰制动设备有限公司, 南京 211800)
随着轨道交通的迅速发展,城轨车辆在生活中扮演越来越重要的角色,制动控制系统作为列车网络的关键子系统,其可靠性是列车安全运行的基本保障[1]。国内地铁车辆普遍采用微机控制的电气指令式电控制动系统,控制网路传输大量的诸如车速、车重、制动级位、当前电制动力等制动信息。当系统发生故障时,列车只能采用纯空气制动,会造成运行的不稳定,甚至引发安全事故[2]。因此对列车制动系统进行实时状态监控,及时消除安全隐患与故障,对列车的安全运行具有重要意义。
CAN 总线具有灵活的通信方式、快速的通信速率以及良好的纠错检错能力,在轨道交通方面已被大量应用于制动、空调、门控及牵引控制中[3]。在地铁列车中,电子制动控制单元(EBCU)是制动系统的核心部件,主要实现制动力计算、制动控制、故障诊断、网络通信等功能,各个EBCU之间的相互通信利用CAN 总线完成[4]。
在对CAN 总线常见故障的研究基础上,采用基于数据驱动的机器学习方法,对制动系统CAN总线进行实时监测与健康管理,可以提前预警网络故障,及时发现网络性能退化,将原来的定期检修上升为状态检修,既能够节省运营维护成本,还能提高城轨车辆智能化水平,最大程度的避免出现故障,保证列车安全运行[5-6]。对CAN 总线的健康管理需要大量的运行数据(包括正常状态与故障状态),设计了一种数据采集装置,能够实现CAN 总线物理波形的采集并进行相关分析,也为以后的机器学习提供数据基础。
各个EBCU 之间的信息传输通过CAN 总线完成,其网络拓扑图如图1 所示。通常来讲,每节车辆都应配备1 个ECBU,因此可根据列车的数量来设置CAN 总线的连接[6]。
图1 制动控制系统网络示意图
在CAN 总线的实际通信中,造成通信故障的原因是多样性的。断路和短路故障由于故障现象明显易于诊断,而介质性能退化、网络阻抗不匹配、间歇性连接故障和接地故障等4 类故障因其故障现象不明显、故障表现间歇性出现等原因,在检修维护中不易于发现[7]。4 类不易于检测的故障有:
(1)介质退化。振动和安装不当会改变电缆的电阻、电感和电容等电子特性。尽管退化的电缆可能不会立即影响网络通信,但将影响到通信信号的质量,使系统易受外界干扰。
(2)网络阻抗不匹配。ISO 11898 协议规定,在网络的每个终端都需要1 个120 Ω 的电阻。然而,由于人为因素造成错误设置,使网络中会2 个以上或以下的电阻器。终端电阻减少会降低网络对噪声的鲁棒性,过多的电阻可能产生信号反射问题,干扰原信号。
(3)间歇性连接故障。间歇性连接是工业网络中最常见、最麻烦的故障模式之一。通常发生在现场设备与网络中继器或分支电缆的连接中,由于外部因素,使得这些连接出现故障,使得设备与网络之间通信出错,甚至通信中断。
(4)接地问题:当系统不正确接地时,外部干扰会影响网络通信。例如在汽车制造中,系统会受到继电器、焊接设备等环境的高度电磁干扰。但接地问题可以通过测量屏蔽电缆上对地电压与电流来识别,即物理波形中CAN_H 和CAN_L 的电平突变进行判断。
文中所设计的CAN 数据采集装置整体硬件结构如图2 所示。CAN 数据采集与信号分析装置要实现的设计功能包括实现CAN 总线数据的解析、CAN 总线波形的采集,并通过USB 接口对2 部分数据进行存储上传,然后由上位机软件对上传数据进行收集和分析、处理,最终达到对CAN 总线的故障预测和定位功能。
图2 CAN 数据采集装置硬件结构图
CAN 数据采集与信号分析板卡的整体硬件方案设计,包括以FPGA 为核心的最小系统、基于高速AD 芯片的波形采集模块、以STM32 为核心的CAN 总线数据解析模块、以USB 控制芯片为基础的高速数据传输模块等组成。在硬件结构中,以FPGA 为核心的最小系统用来满足数据采集与分析的基本要求,包括供电电路、时钟电路、配置电路与基本的输入输出电路。基于高速AD 芯片的波形采集模块负责完成模数转换,还原模拟信号中的数字量,能够更精准的还原物理波形。以STM32 为核心的数据解析模块负责完成CAN 报文的解析,通过C 语言程序解析得到CAN 的帧报文数据,并通过SPI 接口与FPGA 通信。基于USB控制芯片的高速数据传输模块负责完成在FPGA与上位机之间高性能数据传输。
此次设计需要具备虚拟示波器功能、CAN 总线协议解析功能、单片机通信功能。基于设计要求,FPGA 选 择Altera 公 司 的Cyclone III 系 列 的EP3C25F324I7 为核心芯片,该芯片作为Altera 公司的第3 代芯片,可以满足本设计的基本需求,同时能够留出足够的空间以备后续功能的拓展,也降低了成本,FPGA 的最小系统的设计主要包含时钟电路、电源电路与配置电路。
高速AD 采样电路是CAN 数据采集与信号分析板卡的核心部分。作为根据奈奎斯特采样定理,在进行模数转换时,采样频率大于采样信号中的最高频率的2 倍,就可以实现采样后的数字信号保留原先的信息。然而在实际应用中,为了能够精准的还原物理波形,采样频率应在采样信号的5倍 以 上[8]。地 铁 列 车EBCU 的CAN 总 线 速 率 为250 kbit/s 和125 kbit/s 2 种速率,根据测试,当采样频率为10 MHz 时,便能够符合要求。因此,设计中AD 芯片选用ADI 公司的AD9287,其具有4 通道、100 MSPS 最高采样速率与串行LVDS 输出。
为确保AD 采样的精度要求,AD 芯片的采样时钟要尽可能精确,同时为了使采样频率可调,此设计采用外加锁相环芯片的方式提供时钟。时钟电路采用高频锁相芯片ADF4360-9,该芯片集成了VCO(压控振荡器),利用外加电感设置其中心频率,VCO 输出频率范围在65~400 MHz 之间,同时它带有1 个附加分频器,允许对VCO 信号进行分频。锁相环时钟的电路设计如图3 所示。
图3 锁相环电路图
锁相环时钟的输出级电路采用串联电感至VVCO能够为输出时钟提供更多功率,同时串接LC谐振电路,更好地过滤掉二次谐波。AD 采样部分电路设计如图4 所示。CAN 信号经过差分衰减器后进入AD 芯片,由锁相环芯片输出时钟控制AD芯片的采样,AD 采集数据后,经LVDS 数据线传至FPGA,同时FPGA 也通过SPI 控制线控制锁相环与AD 芯片。
图4 AD 采样部分电路结构图
通用串行总线(USB)由于其配置简单、操作方便,已经成为PC 连接外围设备的首选方式[9]。设计采用了Cypress 的EZ-USB FX2LP 系列的CY7C68013A 芯片,主要包含:工业级标准的8051内核、集成USB2.0 收发器、FIFO 存储器、双口RAM 与 通 用I/O 接 口。
CAN 信号分析电路采取了STM32+TJA1050的组合电路实现对CAN 报文的解析,通过C 语言编程解析得到CAN 的帧报文数据。STM32 芯片选择STM32F103C8T6,通过CAN2.0 接口接收数据,由SPI 接口实现对FPGA 的通信[10]。
CAN 总线数据采集装置的软件功能有FPGA功能与USB 功能2 部分。其中,FPGA 的功能有AD 数据采集与存储、STM32 数据处理、数据上传模块等;USB 功能为上位机与FPGA 之间数据传输。
FPGA 功能模块如图5 所示,主要包含顶层例化模块、FIFO_MEM 存储模块、输入输出控制模块、读RAM 模 块、SPI 模 块、写RAM 模 块 和AD 控制模块。设计中采用FPGA 内部的嵌入式存储单元对AD 采样数据进行存储,并通过指针对存储数据进行转发,与USB 共同完成FIFO 功能。FPGA内部存储单元可以用来生成单口或双口RAM、先进先出缓存单元(FIFO)等,且支持高达250 MHz的操作时钟。读/写使能模块是实现使RAM 功能可靠实现的关键程序,是AD 数据转发控制的主体部分,因此对读/写使能需要进行单独的控制。
图5 FPGA 功能模块
采样数据通过异步FIFO 方式进行读写,该功能的实现需要用到双口RAM。由于该装置中数据为单向流通,即由AD 输入RAM,再由RAM 输出到USB,不存在反向传输,故基本的双口RAM 便可实现。在代码编写中,读写信号均为高信号有效,在写信号有效时,在时钟的上升沿将总线上的数据写入RAM 相应地址中,当读信号有效时,同样在上升沿将RAM 对应地址内的数据进行输出。因此,只要根据写满与读空状态控制写与读信号,便可通过双口RAM 实现异步FIFO。
采集到CAN 总线上的物理波形后,通过STM32 解析得到数据帧,再由FPGA 传送至上位机,STM32 与FPGA 之间的通信采用了SPI 通信模式。此设计将FPGA 作为主设备,STM32 作为从设备。在FPGA 中设计了串行时钟与片选信号,将接受到从设备的数据转发到主机。为满足SPI 接口的速率要求,设计中对系统时钟进行了6 分频,以4 MHz 的串行时钟控制从设备。而数据的转发与接收通过状态机实现,其SPI 控制状态机如图6所示。
图6 SPI 控制状态机
由于AD 芯片自带寄存器可对其功能进行设置,例如功耗模式、失调、测试I/O、输出模式、输出相位等。设计中采用了AD 芯片的默认设置,只预留了SPI 的配置接口,没有进行编程控制,如需设置扩展功能,可进行二次开发。AD 芯片采用4 通道的输入与输出,且共用1 个采样时钟,输出4 路LVDS 信号,同时共用1 路帧时钟输出LVDS 信号和1 路位时钟LVDS 信号,其时序图如图7 所示。
图7 AD9287 输出时序图
AD 在采样时钟的上升沿采样,每一点的数据用8 bits 二进制码表示,数据输出采用双倍数据速率,即在输出位时钟的上升沿和下降沿均输出1 个二进制数据,因此输出位时钟速率为采样时钟的4倍,输出帧时钟速率等于采样时钟。对LVDS 串行数据的处理通过FPGA 的IP 核自动将串行数据解串为8 位的并行数据,通过片内PLL 生成的时钟对各个数据存储和输出模块进行频率和相位控制完成。
由于该LVDS 模块只有1 个位时钟输入,故其本身无法实现字对齐功能。依据其工作原理:在位时钟的上升沿开始采集输入引脚上的串行数据,随后在时钟的上升沿和下降沿都会进行数据采集,并在每个输入时钟的上升沿输出一个8 位宽的数据,该数据由此前8 位串行数据解串而得。故在设计中,每个帧时钟周期内,LVDS 模块输出4个不同的并行数据,其中只有1 个为期望的正确数据,甚至这4 个数据都不是正确的数据。通过控制帧时钟FCO 的相位来选择LVDS 输出的4 个数据,若该4 个数据均不正确,则需要控制输入LVDS 模块的位时钟DCO 的相位。由于该模块只在DCO的上升沿输出一次数据,故将DCO 的相位进行180°移相后,即可获得另一组(4 个)输出数据,通过对2 个时钟的相位控制,能够获得8 种解串得到的并行数据,其中必有一组为所需的正确数据。
为了确保采样精度,由锁相环控制器提供串行时钟,锁相环控制器同样采用SPI 通信方式。但只需对R 计数寄存器、控制寄存器和N 计数寄存器进行配置即可,利用Quarters 中的定时器便能完成,如图8 所示。
图8 锁相环控制器时序
在硬件与软件都设计完成后,就要对整个装置的功能进行整体测试,通过下位机采集CAN 总线上的物理波形,再由上位机完成数据接收与波形还原。
ADC 的前级衰减电路的功能是对差分信号进行衰减,以满足ADC 的2 VP-P 的输入范围要求。考虑到故障对差分信号的影响在此对信号进行了5 倍的衰减,即幅值为原信号的五分之一,前级衰减电路波形如图9 所示。
图9 前级衰减电路功能实现
AD 采样电路第一路输出测试信号如图10 所示,采样时钟为20 MHz,则AD 输出序列是50 ns 为周期的完全相同的循环输出,每一周期内第1 位为高电平,后7 位为连续的低电平,因此ADC 的输出完全正确,与设计相一致。
图10 AD 输出测试信号
总线正常运行时,上位机采集到的一帧正常波形如图11(a)所示,对应的示波器采集的同帧波形如图11(b)所示。可以看出,上位机较为精确地采集到了帧数据的波形,没有出现位错误或帧错误。但受限于采样频率,波形细节不如示波器准确,波形会出现微小的抖动,且在上升沿和下降沿会有阶梯形变化。
图11 上位机与示波器采集波形对比
除了能够采集正常运行时的波形外,该装置还需采集故障状态下的物理波形,文中进行了故障试验,在CAN_H 总线注入100 Ω 电阻。上位机采集的故障波形如图12(a)所示,示波器采集到的波形如图12(b)所示。由图可得,上位机比较精准地采集到了故障波形,正确反映了帧信息,电压幅值因串联电阻被拉低到了1 V 左右,而应答位是在总线上其他节点收到帧信息后回复的显性位电平叠加而得,故不受故障影响,仍然维持在3 V 左右,上位机也准确地采集到了该信息。
图12 故障时上位机与示波器采集波形对比
通过对整个系统的功能测试,该装置正常运行与故障运行2 种情况下均能准确地采集到CAN总线上传输的物理波形,符合预期的功能要求。
去除一个终端电阻情况下采集到的CAN 总线数据帧一个显性位和一个隐性位的物理波形细节如图13 所示,可以看出采用文中设计的CAN 总线高速数据采集板卡能够准确还原信号波形的细节信息。
图13 显性位和隐性位物理波形细节
上位机物理波形还原与特征提取界面如图14所示,文中设计的CAN 总线数据采集装置,可以准确还原CAN 总线信号物理波形,能够满足一致性测试要求。上位机提取物理波形特征,为CAN 总线健康状态评估和故障诊断提供了数据支持。
图14 上位机物理波形还原与特征提取界面
制动系统的可靠运行关系到城轨车辆安全运行,其中多个电子制动控制单元的相互通信由CAN 总线完成,因此对列车制动系统中CAN 总线进行状态监测具有重要意义。文中针对制动控制网络的CAN 总线设计了一种数据采集与分析装置,阐述了数据采集装置的硬件与软件设计方案,最后在实验室环境下进行了测试。测试结果表明,文中设计的CAN 总线数据采集板卡能够有效地采集到在正常与故障2 种运行状态下的物理波形,为之后利用机器学习对通信网络进行健康管理提供了数据基础。