线控制动故障容错系统设计

2021-10-28 07:51张凤登
软件导刊 2021年10期
关键词:动系统制动器意图

李 明,张凤登

(上海理工大学光电信息与计算机工程学院,上海 200093)

0 引言

制动性能是检验汽车安全性能的一个重要指标。相较于传统制动方式,线控制动(Brake-by-Wire,BBW)具有显著优势。例如与液压制动系统相比,线控制动系统连接装置大幅度减少,很多机械部件用线束代替,既减轻了车身重量又降低了车辆维修的复杂度[1-4]。然而,由于汽车行驶环境具有不确定性,线控制动系统需要采集并处理大量信息,信息传输的安全性、可靠性与高效性是需要重点关注的问题[5-6]。文献[7]将CAN 总线应用于汽车线控制动系统中,提出了系统以及各节点间的电路设计方案,简化了系统结构,提高了可靠性。由于CAN 通信协议没有冗余性,当通信系统发生故障时,整个系统都会瘫痪,因此系统安全性十分不足[8-11]。文献[12]将FlexRay 总线应用于嵌入式线控制动系统中,设计了2 个FlexRay 节点,可实现对两个电机的制动作用。

本文将具有较高传输速率、较佳安全容错性的FlexRay通信网络运用于汽车线控制动系统中,提出汽车4 个车轮同时制动的硬件设计方案与软件故障容错策略,以提高制动系统的传输速率、安全性以及可靠性,克服液压制动系统的不足。

1 系统方案设计

1.1 硬件冗余方案

系统共设计9 个节点,整体架构如图1 所示,包括中央控制节点(MCU)冗余、总线传输通道冗余、传感器冗余等。该系统使用双模冗余提供备份以增加安全性,其显著特点为在汽车正常行驶过程中,两个MCU 分别控制前后轮制动,其中FMCU 控制前车轮,RMCU 控制后车轮,二者互相监视。任何一个MCU 出现故障,另一个就会接管所有车轮控制节点,这样至少可在原来的一个周期延时内实现两轮制动,提高了系统可靠性[13-15]。

Fig.1 Hardware system design图1 硬件系统方案设计

1.2 软件容错方案

软件容错控制策略由分布在节点和系统级别的多个组件组成,具体如图2 所示。在理想情况下,所有故障都在节点级别被及时处理,然而由于暂时性故障多样且复杂,实际情况并非如此。因此,本文采用基于签名的检测方法在节点级别快速检测已知故障,并通过预设恢复策略进行恢复。基于系统模型异常处理方法,在系统级别恢复剩余暂时性故障,且不影响系统控制质量与功能结构。

Fig.2 Software fault tolerant architecture of line control system图2 线控制动系统的软件容错架构

1.3 节点级别容错控制

节点模型一般由平台特定模型与应用特定模型组成。其通过节点的结构与行为信息检测特定的应用瞬态故障,并根据预设恢复策略进行恢复。如图3 所示,应用结构以基本功能图表示,节点的动态行为由线控制动系统通用节点中的数据流和状态转换表示。应用结构体现了基本功能之间的依赖关系,可根据具体的基本功能或数据精确定位故障。当检测到故障并指向特定组件(基本功能或数据)时,系统激活搜索策略并从策略库中获取相关恢复策略,从而快速消除故障。如果同时检测到基本功能故障和相关数据故障,基本功能的恢复具有优先权,通过使用备用值修复故障,并重新执行[16-17]。

Fig.3 Node model of linear control system图3 线控制动系统的节点模型

除中央节点外,每个节点都需要检测并读取传感器数值,采用软件投票的方式增加读取数据的可靠性。当使用多数投票法检索输入的正确值时,如果大多数值彼此不同,则可以进行故障检测。只有当大多数值相同时,才能进行失效防范。例如,如果3个值中有2个相同,则建立失败防护。

1.4 系统级别容错控制

节点级别不能恢复的瞬态故障将传播至系统级,最终降低系统性能,并反映在功能结构中[2-3]。因此,本文采用基于模型的异常检测方法,从系统层面的控制质量和功能结构两方面检测瞬态故障。用于容忍这些瞬态故障的典型模型包括制动控制模型和结构模型。

为防止车轮抱死,线控制动系统利用车轮滑移控制车轮制动器。本文方案有两个MCU,每个MCU 控制两个车轮,该种控制方式基于四分之一车辆模型,表示为:

式中,m(单位:kg)和r(单位:m)分别为四分之一车辆模型的质量和车轮半径,J(单位:kg·m2)为车轮的转动惯量,v(单位:m/s)为车身纵向速度,w(单位:rad/s)为车轮角速度,Fx(单位:N)和Tb(单位:N·m)分别为轮胎摩擦力和制动力矩。

系统中的非线性行为隐藏在Fx中,其表达式如下:

式中,FZ(N)为轮胎—路面接触点处的垂直力;λ为纵向滑移率,表示为:

基于四分之一车辆模型的车辆制动控制能有效增加系统容错能力。例如,当车轮的一个节点或制动器失效时,首先采用故障诊断的方式进行处理,如果无法恢复其功能,则采用降级模式以三轮制动,通过滑移率和制动力分配等方式给出解决方案(这些方案在文献[18]中已给出)。

2 线控制动系统硬件设计

本文设计的线控制动系统中9 个节点的硬件设计方案相同,节点结构框图如图4 所示。每个节点主要由主MCU、制动意图采集电路、轮速采集电路、FlexRay 驱动电路和CAN 驱动电路等组成。

Fig.4 Node structure block diagram of line control system图4 线控制动系统节点结构框图

θr=[θ1,θ2,θ3,θ4],为取决于道路情况的系数向量,μ为λ的非线性函数。

本文使用Pacejka 的Magic Formula 稳态模型,表示为:

2.1 微控制器MC9S12 最小系统

控制器为MC9S12XF 系列单片机MC9S12XF512,其最小系统电路如图5 所示[19]。

Fig.5 Minimum system circuit of MC9S12XF512图5 MC9S12XF512 单片机最小系统电路

2.2 制动意图采集驱动电路

制动意图采集选用电阻式压力传感器,该传感器受到的压力越大,代表驾驶员制动意图越大,具体驱动电路如图6 所示。压力传感器的最大量程为50N,精度为0.001N,设定压力值与制动意图成正比。

Fig.6 Driving circuit of braking intention acquisition图6 制动意图采集驱动电路

2.3 轮速采集模块

轮速采集模块主要是为了获得汽车的当前状态,以便及时反馈给中央处理器,作出适当处理。汽车所需制动力不仅与驾驶员的制动意图密切相关,还受路况和行驶速度的影响。大量数据表明,在高速行驶过程中,突然刹车引起的汽车事故数量非常高,因此一个安全可靠的制动系统必须考虑到汽车的运行速度。本文设计加入轮速采集模块,使中央控制节点可以根据每个车轮的速度分布进行制动力分配。

3 线控制动系统软件设计

线控制动系统的制动策略需要通过软件编程实现,要求为快速准确地采集制动信号,安全可靠地制动。

3.1 软件架构

线控制动系统的软件架构如图7 所示,该图描述了整个系统的数据流向。中央节点1 和中央节点2 获取压力传感器的数据,以此判断制动意图,其中节点1 控制前两个车轮,节点2 控制后两个车轮,根据制动力分配算法合理分配制动力矩,以共同完成制动。两个中央节点统一调度分配,有相互冗余的作用,且冗余通过半主动的方式实现。4个子节点的主要作用为制动以及采集车轮速度。

3.2 主节点

Fig.7 Software architecture of line control system图7 线控制动系统软件架构

本系统共有9 个节点,包括3 个压力传感器节点,2 个主控制节点,4 个子控制节点。节点1 和节点2 两个主节点起着故障监测与制动力分配的重要作用,其会循环监测制动意图以及故障情况。正常情况下,所有节点都会进行通讯以及故障校验,当需要制动时,主节点首先接收到制动信号,然后将计算后的制动力数据传输到其他4 个子节点。在故障模式下,主节点会监测到驾驶员的制动意图,迅速判断节点故障状态,根据故障状态选择合适的制动力分配策略[3]。线控制动系统主节点流程如图8 所示。

Fig.8 Master node process of brake by wire system图8 线控制动系统主节点流程

3.3 从节点

从节点的主要作用为将采集到的轮速数据传输给中央控制节点,并从中央控制节点接收制动力分配数据输出的PWM 波,以对磁粉制动器进行制动。

3.4 FlexRay 总线通信配置

在FlexRay 通信程序中,各个节点都运行在中断模式。应用主要调用以下驱动程序配置FlexRay 模块:

(1)配置FlexRay 时序和定时。

(2)配置接收消息缓存和双收发信息缓存,允许发送和接收FlexRay 消息,使能消息缓存中断。

(3)配置FIFO 存储、使能FIFO 中断。

(4)配置时钟T1、T2,使能定时中断。

(5)建立6 个节点的通信。

(6)当消息缓存发生时,存储接收帧的时隙状态。

(7)当消息缓存中断时,以最新数据更新发送消息缓存[20]。

将FlexRay 网络配置成双通道通信,传输速率为10Mbit/s,1 个周期的时间设置为5ms,信号均在静态段时隙发送。线控制动的FlexRay 网络参数配置如表1 所示。

Table1 FlexRay network parameter configuration表1 FlexRay 网络参数配置

4 实物实验与分析

将硬件与软件整合[20],搭建分布式线控制动系统实验平台,当系统运行正常时,能够保证制动。为方便验证系统能否克服故障,针对总线开发环境(CANoe)接收到的信号做出表2 设定。

Table 2 Source and meaning of CANoe received value表2 CANoe 接收值来源及其含义

4.1 FlexRay 总线通信失效

当FlexRay 总线通信失效时,系统通信无法正常实现。在进行FlexRay 配置时采用双通道冗余,首先将每个节点的单个FlexRay 接口人为断开,观察能否正常通信。实验结果如图9 所示,SFlexRay_state 值为15,表明单通道系统可以实现通信。然后断掉MCU 的双通道通信,实验结果如图10 所示,SFlexRay_state 值为5,表明断掉两个通道时通信无法进行。

Fig.9 CAN message mark in FlexRay single channel communication图9 FlexRay 单通道通信时CAN 报文标志

以上两个实验结果说明本文系统可以克服单通道失效的情况。

Fig.10 CAN message flag when FlexRay communication fails图10 FlexRay 通信失效时CAN 报文标志

4.2 MCU 失效

CANoe 的模拟节点拓扑结构如图11 所示,人为地将两个MCU 中的任意一个断电,系统仍然能够正常工作,说明系统能够应对单个MCU 发生故障的情况。但当两个MCU都断电时,系统无法实现正常功能。

4.3 制动器失效

本实验分为4 组,第1 组为观察正常情况下CANoe 中Sbreak_state 的值,实验结果如图12 所示,正常情况下Sbreak_state 的值为16。

Fig.11 CANoe simulation node topology图11 CANoe 模拟节点拓扑图

Fig.12 CAN message mark when brake is normal图12 制动器正常时CAN 报文标志

第2 组实验断开1 个制动器节点,实验结果如图13 所示,Sbreak_state 的值为17,表明通信正常,且在实物平台环境下可以实现制动。

Fig.13 CAN message mark when one brake fails图13 1 个制动器失效时CAN 报文标志

第3 组实验断开2 个制动器节点,实验结果如图14 所示,Sbreak_state 的值为18,表明通信正常,且在实物平台环境下可以实现制动。

Fig.14 CAN message mark when two brakes fail图14 2 个制动器失效时CAN 报文标志

第4 组实验断开3 个制动器节点,实验结果如图15 所示,Sbreak_state 的值为19,表明通信正常。在实物平台上测试,断开所有制动节点后系统无法正常实现功能。

Fig.15 CAN message mark when three brakes fail图15 3 个制动器失效时CAN 报文标志

上述实验结果表明,本文线控制动系统可以应对单通信通道故障、单MCU 故障以及制动器节点故障的情况,可靠性与容错性较好。

5 结语

通过研究大量国内外文献中关于汽车线控制动系统、制动执行器以及车载网络的内容,本文提出一种线控制动故障容错系统,通过搭建实验平台,实现了具有硬件冗余、软件容错能力的线控制动方案,具体步骤包括原理图PCB设计、元器件焊接、软件代码编写等。然而,本文设计的线控制动方案相对简单,对驾驶员制动意图信号的采集精准度有待提高,后续可通过采用专业电子制动踏板的方式进行优化。

猜你喜欢
动系统制动器意图
原始意图、对抗主义和非解释主义
陆游诗写意图(国画)
单元制动器停放制动不缓解改进
鼓式制动器安全隐患排查与消除
制定法解释与立法意图的反事实检验
铁路远动系统几种组网方式IP地址的申请和设置
马勒推出新型模块化混动系统
由一起自动扶梯制动器失效而引发的思考
基于多普勒效应的车随人动系统
盘式制动器制动尖叫CAE分析及其解决方案