使用TrueTime工具箱对CAN和FlexRay的理论和实践进行分析

描述

摘要    

在汽车系统中,通过局域网(LIN)、控制器局域网(CAN)、FlexRay、以太网等通信网络进行控制已成为必然。虽然它们的引入带来的优势值得实施,但也有一些缺点。它们对控制系统的性能和稳定性的不利影响必须经过认真的分析和设计,以提出控制结构和补偿方法的架构。

因此,本文提出了对汽车领域中两个最常用的通信网络,即CAN和FlexRay的理论和实践分析。理论分析解决了这两个网络最重要的特性,简要地描述了它们的优点和缺点。使用Matlab的TrueTime工具箱对CAN和FlexRay通信网络对汽车动力系统的控制性能所引起的时变延迟进行了实际分析。

为了进行比较分析,设计并实施了一个预测控制器,结果表明,即使在两个通信网络引起时变延迟的情况下,所获得的性能也不会下降。    

I.简介  

现代汽车包括机械系统(电机、变速器、转向柱)、电子和数字组件(电子控制单元、传感器和执行器、数字通信网络)和软件应用(嵌入式操作系统、功能)[1]。在车辆的电子系统出现之前,这些部件之间的通信是用机械或液压系统进行的。但是,现在,通信网络有一个重要的作用,因为车辆是分层组织的,数据分布在分散的控制网络上[2]。  

因此,其运作基本上取决于不同地点的某些组件之间的协作。网络控制系统的主要特点是在不同的组件(控制器、传感器、执行器)之间信息的交换,例如,传感器测量值、控制信号,因此,与传统的控制系统相比,这种类型的系统具有更大的灵活性和更高的可靠性。  

然而,由于主要的缺点,即时变的延迟和数据包的丢失,可能会出现一些问题[3]。因此,在本文中,既对车辆控制结构中使用的通信网络(控制器区域网络 - CAN和FlexRay)进行了理论分析,也对引入这些网络对控制系统性能的影响进行了实际分析。  

在理论分析中,最常用的通信网络,控制系统通过它来交换信息,即:对CAN和FlexRay进行了简要的描述,并说明了它们的优点和缺点。CAN总线允许车辆中的微控制器在不需要网络主机的情况下进行相互通信[4]。  

目前,一辆标准汽车有几十个微控制器,它们通过CAN总线相互通信。诸如 "线控转向 "或 "线控刹车"等 "X-by-wire "系统需要一个具有稳定通信、容错和高速数据传输的协议。宝马、戴姆勒、飞利浦和飞思卡尔之间的合作对这些要求作出了回应,产生了FlexRay协议[5]。在未来,汽车制造商考虑使用以太网作为强大的后备技术,能够传输来自CAN以及其他总线子系统的流量[6]。  

在对车辆控制结构中使用的通信网络的实际分析中,重点是动力系统和用于各组成部分之间信息传输的协议(CAN和FlexRay)。对于动力系统,使用了具有两个惯性质量的模型,一个惯性对应于发动机、变速箱和差速器,另一个对应于车辆和车轮的质量。基于这个模型,设计并实施了状态空间预测控制器,并测试了几个网络控制的案例,目的是观察网络引起的缺陷带来的的负面影响,即:时间变化的延迟和数据包丢失。  

使用TrueTime工具箱(用于Mat- lab/Simulink)[7]对动力系统中使用的通信网络进行了分析。选择这个工具箱进行仿真,是因为它提供了一个真实的环境来测试汽车网络化控制系统。  

II. 汽车联网控制结构      

一辆汽车是基于许多电子设备(子系统),如先进的安全系统、动力总成控制模块、传感器和诊断工具。这些子系统经过多年的发展,依赖于新网络技术提供的各种通信服务。因此,现代汽车中的这些系统是分层组织的,并分布在一个具有分散控制的通信网络中。  

网络控制系统的主要特点是信息的交换,例如,传感器测量值、控制信号,在不同的组件(控制器、传感器、执行器)之间。本文重点讨论用于传输以下系统信息的通信网络:发动机控制、变速器控制、ABS(防抱死制动系统)、X-by-wire、VDC(车辆动力学控制系统)。  

随着新型汽车的发展,出现了几十种控制系统,从安全气囊、制动系统、照明系统到多媒体系统。然而,当有人提到车辆的计算机时,肯定指的是发动机控制单元(ECU)。  

ECU,也称为发动机控制模块(ECM),控制内燃机上的一些执行器,以优化发动机性能。发动机控制模块决定节流阀的角度,需要注入气缸的燃料量,以及火花塞点亮的时间。在许多车辆中,该控制器还调节电力的分配,确保车载诊断,并与其他一些车辆系统进行通信,以分配从不同传感器获得的信息。  

ECM从各种模拟传感器中获取数据,将这些信息数字化并用于计算最佳发动机设置。这些计算的结果被转换为执行器的设置,模块的数字和模拟输出被用来驱动这些执行元件。如果发动机控制功能和变速器控制功能合并在同一个模块中,该模块被称为动力总成控制模块(PCM)。  

今天的ECM一般使用32位微控制器,有几兆字节的内存,时钟速度在32MHz和100MHz之间。一般来说,它们使用CAN、FlexRay或LIN总线接口与其他电子模块通信。车辆联网控制结构的通信要求在很大程度上取决于使用该网络的子系统。现在,有几种协议被用来满足各种通信要求,包括[9]:  

● 容错性- 通信系统的建立是为了接受某些错误,基于冗余的硬件和软件架构;此外,它们还应该提供防错保护;  

● 确定性 - 确定性通信系统提供有关实际情况的保证,即它允许知道某一信息的确切传输时间;  

● 带宽--最新的车辆通信技术提供了足够大的带宽,使新的车辆子系统能够以高度的系统集成方式一起工作;  

●  灵活性--这可以看作是在不同时间段管理由某些事件引发的消息的能力,网络负载的程度,消息流的数量,网络的可扩展性和可延伸性;  

●   安全性--当通信可以从车辆系统外部访问时,例如通过诊断工具或无线连接,必须确保系统的安全性。  

III.车辆通信网络的理论分析

汽车行业使用的通信协议主要根据数据传输速度进行分类。美国汽车工程师协会(SAE)将汽车应用分为A、B和C三类,对实时性和可靠性约束的重要性依次增加[10]。  

A.控制器区域网络   CAN是一个硬件和软件的通信协议,最初由罗伯特-博世公司在1983年为汽车网络开发[11]。CAN总线使用专门设计的双绞线,以便在有电磁噪声的环境中提供稳定性。CAN协议的主要应用是在汽车行业,包括发动机控制、变速器控制、车身控制和车载诊断。  

CAN总线也出现在其他分布式控制应用中,如工厂自动化、建筑自动化和航空航天系统[12], [13]。CAN总线允许车辆中的微处理器进行相互通信,而不需要网络主机。目前,一辆标准的汽车有几十个微控制器,它们通过CAN总线相互通信,其特性见表一。  

根据数据传输速度的不同,CAN协议被划分为:CAN高速(HS)和CAN低速(LS)。CAN HS的数据传输速度在125 Kbps和1 Mbps之间。由于数据传输速度高,它主要用于发动机、变速箱和主动安全系统(防抱死制动系统 - ABS,电子稳定程序 - ESP)。CAN LS的传输速率在40到125Kbps之间。CAN LS协议的优点是可以容错:如果两条线中的一条中断了,则在一条线上进行通信。这种类型的CAN协议主要用于集中锁定和固定器,由于操作和故障状况。  

CAN提供了一个廉价和可持续的网络,有助于将多个设备相互连接。与系统中每个设备的许多模拟和数字输入相比,电子控制单元可以有一个单一的CAN接口,这就是优势。  

这降低了成本,也降低了车辆的总重量。网络上的每个设备都有一个CAN控制器,它允许设备观察所有传输的信息,它可以决定一个信息是否相关或应该被屏蔽。这种结构允许以最小的影响对CAN网络进行修改。  

网络中传输的每个消息都有一个优先级的特征。如果两个节点试图同时传输一个消息,那么优先级较高的消息将被传输,而优先级较低的消息将被延迟。这种仲裁是非破坏性的,并导致具有最高优先级的信息的连续传输。这也使网络具有确定性的特点。  

CAN包括一个循环冗余码(CRC)来检查每个帧的内容是否有错误。错误帧会被所有节点忽略,可以传输一个错误帧来报告网络中的这个错误。全局和局部错误由控制器区分,如果检测到过多的错误,个别节点可以停止错误的传输,或者完全从网络中断开连接。  

从物理角度来看,CAN协议包含一条由两根双绞线组成的总线,以及包含一个集成收发器(CAN收发器)的计算机。传输信息的电线是扭曲的,以消除任何电磁干扰。集成的发送和接收电路将接收信息的功能与发送的功能结合在同一个组件中。CAN收发器的电压为3-5V,其作用是将总线上的电压转换为数字信号,反之亦然。  

最大的总线长度可以是250米(CAN HS)或50米(CAN LS)。可以连接到总线上的计算机的数量取决于速度和要传输的参数的数量。一个CAN网络可以支持多达50台互连的计算机。在总线的两端包括大约120Ω的电阻,以增加网络阻抗,从而消除信号的 "反射 "现象。  

B.FlexRay   诸如 "线控转向 "或 "线控刹车"等 "X-by-wire "系统需要一个具有稳定通信、容错和高速数据传输的协议。宝马、戴姆勒、飞利浦和飞思卡尔之间的合作对这些要求作出了回应,产生了FlexRay协议[5]。FlexRay协议的首次实施是在2006年,用于宝马X5的自适应悬挂。该协议的工业化是在2008年在新的宝马7系上实现的。  

FlexRay是一种用于车辆的网络通信协议,被构建为确定性和容错总线系统。它是由FlexRay联盟与领先的汽车制造商合作开发的。FlexRay为先进的通信系统分配高速控制,采用双通道架构,实现系统级冗余。  

FlexRay是基于用于连接设备节点的非屏蔽双绞线而设计的,在恶劣条件下具有高性能。

  汽车系统  

支持单信道或双信道通信区分,旨在减少噪声对系统的影响而不增加成本。双通道FlexRay系统通常用于提高总线和ECU的容错性。FlexRay的拓扑结构包括:多跳总线、星形和混合型。多跳总线的拓扑结构与CAN和LIN系统相同,使用一条总线同时连接多个处理器。  

星形网络的拓扑结构由几个电子控制单元连接到一个中央活动节点组成;这很有用,因为如果一个设备被断开,其他设备继续工作。混合网络的拓扑结构是前两种的结合:这种模式结合了其他两种模式的可靠性和成本效益优势,很可能是FlexRay技术的未来[5]。  

FlexRay技术的一些优势是高速通信、容错性和上面介绍的多功能系统方案(更多细节见表一中介绍的最重要特性)。尽管FlexRay可能更昂贵,但它最终可以通过减少车辆中平行CAN网络的数量来降低通信网络的成本。  

IV.车辆通信网络的实际分析

在对车辆控制结构中使用的通信网络的实际分析中,重点是动力系统控制和使用的协议,即CAN和FlexRay,在组件之间传输信息。对于动力系统,使用了一个双引擎模型。使用Matlab/Simulink的TrueTime工具箱[7],对用于从发动机到车轮的动力传输的通信网络进行了分析。该工具箱被用作仿真媒介,因为它为实时网络控制系统提供了一个现实的方法。  

A.动力系统模型   汽车动力系统是将发动机的动力传递给驱动轮的机械系统。目标是通过减少振动振荡来提高舒适性,这可以通过适当的动力传输控制来实现。为此,需要一个合适的模型来设计控制器,它必须满足两个要求:它应该足够复杂,以捕捉动力传输系统的基本动态,当车辆动力传输控制系统[14]发生延迟时,它应该通向一个可延展的问题。近年来,文献中提出了许多模型,包括有两个惯性质量的模型:一个是对应于发动机和变速箱的惯性,另一个是对应于车辆和车轮的质量。  

动力系统的离散时间模型由[14]给出

汽车系统  

其中,xk∈Rn,n∈N是系统状态,包括发动机转速、车轮转速和传动轴的扭矩,uk∈Rm由发动机扭矩作为指令表示,k∈Z+是离散时间指数,  

汽车系统  

B.MPC 设计  

模型预测控制设计方法基于退行地平线原理[15],[16]。因此,从初始状态x = x(k)开始,目标是计算一个控制序列{u0 , u1 , . . . , uN -1 } 使成本函数在一定范围内最小化,

  汽车系统

并执行第一条控制指令 u0 。(3)中的参数被定义为:N 是预测范围, xi , i  = 1, . . . , N是预测状态,xss & uss 是使用基于系统模型的参考发生器计算的状态和输入的稳态值,P, Q 和 R是适当尺寸的权重矩阵,用于惩罚最终状态、中间状态和控制命令。最佳控制序列被定义为:

  汽车系统  

预测控制法由先前计算出的最优序列中的第一个控制指令表示

  汽车系统  

对于所考虑的过程,选择了以下参数:N = 3, P = Q = I3  and R = 2,其中I3代表三阶的身份矩阵,产生控制规律  

汽车系统   汽车系统  

其中 KMP C  = (_0.0689   _ 0.0595  3.171).   C.TrueTime 的实现   为了通过通信网络实现控制器结构,类似于[14]中的结构,使用了Matlab/Simulink的TrueTime工具箱。这个工具箱有利于模拟控制器的实时任务,通过通信网络传输信息,同时使用动态过程作为物理工厂[7]。TrueTime模块作为常规Simulink模块被连接起来,形成一个实时系统。  

在运行模拟之前,有必要初始化核心和网络块,并为模拟创建任务、事件、监视器等。TrueTime网络块模拟了对环境的访问和本地网络的数据包传输。当一个节点试图传输信息时,一个触发信号被发送到相应输入通道的网络块。当模拟消息传输完成后,网络块向对应于接收节点的输出通道发送一个新的触发信号。传输的消息被放置在接收节点的缓冲区内。  

其中 KMP C  = (_0.0689   _ 0.0595  3.171).   利用双惯性动力系统模型和预先确定的控制器,对控制系统中控制器-执行器和传感器-控制器之间的通信进行了仿真分析。其目的是观察网络引入的负面效应,以及它们对由时间变化的延迟引起的系统的影响。  

为此,引入了一个额外的节点,称为干扰节点;它在一定的时间间隔内向自己发送消息,具有加载网络的效果。干扰节点传输的消息的大小在 [min  frame  size, min  frame  size+800]范围内, 其中min  frame  size 表示在特定通信网络上传输的消息的最小大小。为了模拟动力系统,可以包括以下内容:CAN和FlexRay。对于其中的每一个,系统的行为是根据各自网络的负载水平来分析的。作为系统输出的参考,即车轮速度,考虑了30rad/s的角速度。    

在使用CAN和FlexRay通信网络分析车辆动力系统时,使用了表二中的参数。  

D.比较结果  

1)  基于CAN的结果:如前所述,干扰节点通过向自己发送消息来加载网络。

  汽车系统  

网络负载级别可以通过参数设置,取值范围为[0,1],表示0%到100%之间的负载。当网络负载达到10%时,系统性能与不包括通信网络的系统性能相似,即超调量 σ = 0 ,车轮角速度响应时间 tr  = 8.86s(见图3)。从40%的负载水平可以观察到稳定状态下的小幅振荡,这是由网络延迟决定的。将负载水平分别提高到70%,98%,震荡变得更加频繁,但性能几乎保持不变。  

在图2中的控制指令(发动机扭矩)的图示上可以非常容易地观察到这些振荡,它达到了120 Nm的饱和值,这正是由于网络上传输的信息的延迟,干扰节点阻塞了网络,也是由于从传感器到调节器的信息传输。没有及时到达的传感器信息会导致计算出错误的控制指令。  

对于等于40%的网络负载,在图3中可以看到,对应于第三状态x3的传感器节点和控制器节点之间的传输,大部分延迟都在[0.0005, 0.004]秒的区间内,最大达到0.013秒。对于控制器节点和执行器节点之间的传输,大部分延迟都在(0,0.005)秒的区间内,最大为0.0138秒(图4所示)。  

2)  基于FlexRay的结果: 

到90%的网络负载时,系统性能与不包括通信网络的结果相似,即超调σ=0,响应时间tr=8.86秒(见图5)。从94%的负载水平开始,性能受到轻微影响,导致超调σ=0.26%,响应时间tr=7.71秒。进一步增加负载水平,观察到响应时间的逐渐减少和过冲的增加,因此对于96%的负载水平值,获得的性能是:σ=0.8%和tr=7.12秒。  

对于98%的负载水平,过冲值达到σ=1.73%,响应时间tr=6.85秒。超调的增加和响应时间的减少是网络延迟的原因,使控制指令更难达到稳定状态值,在更长的时间内保持较大的数值(见图6)。  

对于94%的网络负载水平,用图形表示了反馈路径和前向路径的网络延迟值以及延迟发生的数量。在图7中可以看到,对应于第三状态x3的传感器节点和控制器节点之间的传输,大部分延迟出现在[0.0017, 0.008]秒的区间,达到最大值0.0095秒。对于控制器节点和执行器节点之间的传输,大多数延迟值被发现在[0.001, 0.0109] s的范围内,其最大值为0.0197 s(见图8)。

  汽车系统    

V.总结

在本文中,贡献有两个方面。首先,进行了与车辆控制结构中使用的通信网络(CAN和FlexRay)有关的理论分析;该分析详细介绍了每个网络的特性、优势和劣势。其次,进行了实践部分,其中重点是动力系统和用于在网络化控制结构节点(即控制器、传感器、执行器)之间交换信息的通信协议。一个具有两个惯性质量的模型被用于动力系统,以设计一个状态空间预测控制器。对测试通信网络在不同网络负载水平(由干扰节点给出)下得到的系统响应进行了比较。我们发现,即使延迟发生的频率和幅度很高,控制器在测试的情况下也能获得非常好的性能。  





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分