自2003年组建以来,AUTOSAR(汽车开放系统架构)联盟一直致力于改变车载网络和电子控制单元(ECU)的设计方式。AUTOSAR提出了一个符 合业界标准的车载网络设计方法,使行业能够集成、交换和传输汽车网络内的功能、数据和信息。这一标准极大地促进了汽车原始设备制造商(OEM)及其一级供 应商之间的合作,使他们能够以一种一致、明确且机器可读的格式来交换设计信息。
一辆汽车的不同部分对安全及性能有不同要求,而支持它们的车载网络必须具备可预测的安全性能。随着汽车技术的不断演变,人们已经可以用一系列总线技术来连 接豪华汽车上最多100个不同的ECU,这些总线技术通常包括LIN、CAN、FlexRay、MOST和基于以太网的架构。如果靠手动来管理这些ECU 之间数以千计的信息和交互操作是不可能的,因此汽车设计人员必然用自动化设计和合成工具来预测网络性能和调整车载功能。
汽车数据总线
一辆典型的现代化汽车将同时装配各类总线和协议并从LIN、CAN、FlexRay、MOST和以太网中选择合适的网络。多媒体/视听信号和汽车环绕摄像 系统需要更高的数据速率,因此汽车制造商和OEM厂商在网络解决方案上选择用以太网代替MOST.但对于许多标准汽车功能而言,LIN和CAN提供的带宽 与性能就足够了。
在汽车架构中,ECU组合在一起形成“集群”,这些集群通过通信“网关”相连。集群通常会共享同一类型的总线,因此要达到高可靠性、高速率的标准,就要采 用FlexRay网络,但要求没那么高的门锁ECU可以由CAN或LIN来负责。ECU网关往往要连接不同类型的信号,并执行不同总线架构之间的映射和转 换功能。汽车行业对不断提高安全性和ISO26262等标准的合规性提出强烈需求,进而提升了车载网络的性能,同时也降低了制造和元件成本。不断进步的网 络标准可以适应越来越高的数据传输速率,汽车电缆也达到了安全且低成本的目标。典型汽车网络方案的特点及应用请见表1.
表1:汽车网络总线。
FlexRay网络:
FlexRay协议比CAN更具确定性。FlexRay是一种“时间触发”协议,它提供不同选项,让信息可以在精确的时间框架内发送至目标地址——可精确 到1μs.FlexRay信息最多可达254个字节,因此需要在ECU之间进行交换的复杂信息的容量很大。与CAN相比,FlexRay的数据传输速率也 更高。由于时序是预先确定的,信息的安排需要提前规划好,一般由汽车OEM厂商或一级供应商合作伙伴预先配置或设计。在采用CAN协议的网络中,ECU节 点只需要知道通信时的正确波特率,但FlexRay网络上的ECU节点在通信时必须知道网络各个部分是如何配置和连接的。检查和验证FlexRay网络的 时序比较耗时——因此,自动化的时序分析和将信息合成打包成时间帧可以减少错误和设计周期时间。
汽车通信矩阵合成
汽车网络时序安排的总体定义通常存储在作为中央网关ECU一部分的“通信矩阵”中。明导所开发的设计工具解决方案可用于自动合成这个数据库并按正确顺序将所有不同的信息打包成帧。
AUTOSAR信号信息组合成协议数据单元(PDU),然后这些数据单元再组合成传输帧。对于CAN和LIN帧而言,每个帧都有一个PDU,但一个FlexRay帧可能含有多个信号PDU.
在FlexRay架构中,时序是确定的,而设计人员主要面临的不确定性就是帧打包和传输顺序。汽车OEM厂商和设计人员要投入大量时间来测试汽车所有可能 出现的情况,以确定最坏情况下的行为,并确保信息传输有较大的安全范围。这意味着,为了确保较高的时序安全范围,不能占用数据总线的全部容量。合成工具查 找具有相似路径以及对于在相似的帧时间空隙中进行打包和安排有时序要求的信号,以此来优化帧利用率。在使用明导的时序合成工具时,设计输入将包括信号和 PDU定义、帧的优先级和有关可行的信号路径的具体OEM设计决策。在生成完整的时序体系时要将这些都考虑进去。
在安装一个完全定义的通信体系时会面临一个难题,即后续很难有架构上的变化,并可能需要对网络进行全面的重新设计,但传输的高速和确定性等优势让这种方法 对FlexRay应用形成了极大的吸引力,能够确保汽车的对安全要求非常高的功能。用该合成工具重新建立更先进的通信体系可以缩短修复周期。
FlexRay已开始在单通道高速动力传动、驾驶辅助和提高舒适程度的汽车电子应用中大展身手。在BMW X5汽车中,FlexRay用于悬架控制之中,这样就可以在利用双通信信道和总线监控把这种具有容错功能的确定性协议运用在安全驾驶功能中之前,让工程师和开发人员有一个逐渐适应的学习过程,降低了相关风险。
在FlexRay应用的开发过程中,设计工程师可以通过五个基本步骤来构建一个稳健的网络拓朴。
步骤1:首先必须定义车辆底盘上节点的数量及其假定位置,然后才能确定实现无stub(一种被称为“菊花链”的拓朴结构)无源总线所需的线缆长度,该总线终端即是线缆终端处,如图1所示。如果线缆长度小于10米,则拓朴完成,其被认为可用于系列生产。
步骤2:一旦发现线缆长度大于10米,就应该考虑采用“主动星型”拓朴(参见图2)。如果线缆长度超过20米,则必须引入主动星型了。最简单的主动 星型只有两个分支,把线束??为两个电气去耦部件。因为可通过NXP的TJA1080收发器(用于BMW X5的首批同类器件)来增强主动星型,故所需收发器总数只增加了一个。
步骤3:若应用在车辆发生碰撞事故之后还能够继续工作,系统的碰撞灵敏节点应分布在不同的分支上(见图3)。这样一来,一旦线缆被挤压或被钳位在一个差分电压上,只有受影响的分支的数据传输被中断,但主动星型将保证网络中其它分支的通讯不受影响。
图1
图2
图3
步骤4:鉴于共振的出现,暴露在非常恶劣的RF场中的节点或布线也应该分布到不同的分支上(见图4)。在线缆两端各利用一个??终端(FlexRay电气物理层规范v2.1修订版B),把RF感应电流转移到接地位。这就使得线缆上的共模电压幅度更低,同时不影响与其它分支相连接的节点。因此,接收到的数据流中的抖动可以控制在合理的范围内。
图4
步骤5:为了确保在线缆两端始终有合适的终端(见图5),中继电缆的末端节点不应是可选节点。节点的电气位置沿线缆的移动不得致使线缆长度超过10米过多。在非可选节点上,可引入短的stub(《1米)。即使有更大的灵活性,主动星型也不必在线缆度终端处。
图5
验证与优化
遵照这五个步骤,有助于构建在电子特性方面稳健的FlexRay拓朴结果。建议进行仿真以对定义后的拓朴做进一步验证和优化。开采用蒙特卡罗(Monte-Carlo)仿真法来估算线束、产量范围以及依赖于收发器和主动星型的温度等各项制造公差。
此外,FlexRay联盟已推出了一种涵盖线束趋肤效应在内的复杂完善的线缆模型。在支持汽车制造商引入FlexRay的同时,NXP也在不断提高自己在FlexRay拓朴仿真领域的专业能力。
关于FlexRay应用的终端、线缆和连接器的更多信息可参见FlexRay电气物理层规范v2.1修订版B。电气物理层应用说明v2.1修订 版B给出了一些有关拓朴设计的建议。这两份规范都可通过FlexRay联盟网站获得。至于TJA1080 FlexRay收发器的技术细节,可查询NXP网站。
在汽车中采用电子系统已经有几十年的历史,它们使汽车安全、节能与环保方面的性能有大幅度的提高。随着研究的深入,许多系统需要共享和交换信息,为了节省 线缆,就形成了依赖于通信的分布式嵌入系统。目前,世界上90%的都采用基于CAN总线的系统。FlexRay是下一代通信协议事实上的标准,它的功能安 全性如何是至关重要的。
1 引起系统安全风险的通信故障
通信故障有5种表现形式,第1种是造成值域的错误。第2种是造成时域的错误,这是工业不同于民用的部分。一条消息不能在预定的时限前送达就失去了实用 意义,例如与安全气囊引爆有关的传感器消息不能在数ms内送达就引起安全问题。在多播或广播通信中还有第3种错误:数据完整性错(拜占庭错),即各节点收到的结果不一致。它会引起系统性的失效,应对的策略必须将所有有关节点同时考虑。第4种是系统崩溃,除硬件失效外,也有干扰或软件引起的,例如饶舌错(babbling idiot)阻止通信。第5种是丢帧,短时间失效,例如可恢复的离线或bug引起的等效离线状态,又如小集团错。
2 通信的容许失效率
在通信故障对系统安全影响的分析上,参考文献提供了一种方法,根据瞬态干扰出现的可能长度,计算通信失效的时段长,在假定的通信失效率下,推出系统的 失效率。在该实例中,路段上电场超100 V/m的区间有可能引起通信失效,失效率近似5×10-3,车速为90 km/h,识别出的可能失效时间约74 s。通信以6 ms为周期,连续7个周期丢帧视为系统失效,在此条件下系统失效率为1.640 9×10-10,认为可以达到SIL4的安全要求。这种分析方法是有效的,但是假设的条件太多,例如:误码率有很大的变化区间;帧长的变化影响一次传送的失效率;干扰持续时间的假定;连续丢7帧也与应用的场合有关,对90 km/h的车42 ms的失控对刹车系统而言有约1 m的距离,恐怕对撞击的后果有完全不同的评估;还假设SIL4完全分配给通信,将CPU与软件有关的部分失效率忽略不计,在软件规模越来越大的今天,这个假设是不合理的。另一方面,决定系统失效率时还应考虑其他的通信故障形式,例如出现小集团错到发生冲突的时间取决于相对的时钟漂移,越精确,其间时间越 长,失效的时间就越长,参考文献中在人为制造出小集团后需300 ms才发现冲突,远远超出上述的42 ms。所以一般讨论系统安全的文章中都单独规定通信的失效率是相应安全等级失效率的1/100。
3 影响通信失效率的因素
功能安全等级与故障检测的覆盖率有关,如果有的故障未被检查到(未认识到或做不到),当然那种失效情景就不可能计算在内,安全等级的划分就有错。
参考文献介绍了SFF(Safety Failure Fraction)的概念:失效分为引起危害的失效和安全失效,它们又各分为能检测出和未检测出两种。安全失效比例SFF是能检测出危害失效与安全失效在总的失效中的份额。诊断覆盖率DC(Diagnostic Coverage)是能检测出的危害失效占总危害失效的份额。可导出SFF与DC有线性关系。而SFF又与SIL有关。IEC61508的SIL等级与 SFF有关,在SFF占90%~99%时SIL3可容许1个故障。因此DC也决定了能达到的SIL等级。根据有关文章介绍,瞬态故障的概率比硬件失效概率 大2个数量级,因此可大致推断瞬态故障诊断覆盖率应达到90%~99%。危害失效可能由通信失效引起,诊断覆盖率也就成了评价通信协议的重要一环。
在通信中,由于CRC有漏检,这是明显的诊断未覆盖区,诊断未覆盖率就相当于错帧漏检率,例如CAN的错帧漏检。
在通信中发生值域错或时域错而丢帧是能诊断出的危害失效(这是本文分析的主要对象)。而假冒错、拜占庭错等应属于未检测出的危害失效。发生小集团错时 既可能产生丢帧,也可能产生拜占庭错。CAN的等效离线失效也属于未覆盖的诊断引起的危害失效。要计算这些未覆盖的诊断引起的危害失效占总危害失效的比例 还相当困难,因为确定故障概率模型很难。但从定性上讲,只有尽量排除假冒错、拜占庭错和小集团错,才能使诊断覆盖率提高(SIL等级提高)。
关于FlexRay的缺点或弱点,参考文献提到物理层连接的困难,影响到信号完整性,实际上能较易使用的是有源星型,但这带来成本的提高;cycle设计 约束多,带来困难;同步和启动节点配置与容错有关,是挑战;由于资源有限,升级演进时很困难(并非像以前强调时间触发协议的 composability优点——笔者注)。参考文献介绍了在FlexRay中产生各自独立的时钟同步小集团的可能性,也就是说虽然各节点都在通信,但 是2个集团间无有效通信,是一种故障状态。解决办法是用3个冷启动节点、3个同步节点,但是这与时间同步容错的要求矛盾。还有就是将调度表排满,以免形成 小集团,这也与留有余地供将来升级扩充的要求矛盾。总之尚无彻底解决方案。再有就是时钟可能产生同向漂移,与应用时钟的差造成帧未能就绪或覆盖引起漏帧。
评论
查看更多