自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:汽车网络总线。
网络时序分析
接下来让我们详细讨论CAN和FlexRay网络的时序分析。了解这两种类型网络的基本特征和差异是非常有用的。
CAN 网络:
CAN是使用较广泛的一类车载网络,以ISO 15765-2为运行标准。CAN总线提供了高水平的系统灵活性,能够相对容易地将新的 ECU 接收器节点添加到现有的CAN网络中,而不对现有的ECU节点做出大的硬件或软件改动。对汽车设计人员而言,这可以极大地帮助他们扩大或升级现有网络,或设计出新的变体车型。
在CAN网络实时运行过程中,通过网络进行交换的不同类型信息的紧迫性相差很大。例如对于管理发动机燃料喷射的 ECU 而言,必须立即获得发动机瞬时负载反馈,相比而言则不需要那么频繁地获知发动机的温度等参数。
要传输的信息的优先级是由包含在每条信息中的“标识符”决定的。在设计系统时就要确定传输的优先级,并且不能随意改变。在 CAN 架构中,总线访问争用的问题可以通过标识符的逐位仲裁来解决。CAN 总线没有主控器,因此连接至总线的所有 ECU 节点都需要接受网络使用方面的仲裁。如果第一个位元是“0”,则这条信息优先于其他信息。这就是所谓的“显性”信息,如果第一个位元是“1”,则优先级降低(“隐性”信息)。因此,最高优先级的信息总能传输至预期的目标地址,但优先级较低的信息可能会暂时退出总线发送,直到总线空闲下来。只有当总线处于空闲状态时,要发送较低优先级的信息的ECU节点才会重新尝试发送。CAN总线可以传输的ECU之间的信息大小最多为8个字节,而通过CAN 发送的信号被打包成信息“帧”。
FlexRay 网络:
FlexRay协议比 CAN 更具确定性。FlexRay是一种“时间触发”协议,它提供不同选项,让信息可以在精确的时间框架内发送至目标地址——可精确到1μs。FlexRay信息最多可达254个字节,因此需要在ECU之间进行交换的复杂信息的容量很大。与 CAN 相比,FlexRay的数据传输速率也更高。由于时序是预先确定的,信息的安排需要提前规划好,一般由汽车OEM厂商或一级供应商合作伙伴预先配置或设计。在采用CAN协议的网络中,ECU节点只需要知道通信时的正确波特率,但FlexRay网络上的ECU节点在通信时必须知道网络各个部分是如何配置和连接的。检查和验证FlexRay网络的时序比较耗时——因此,自动化的时序分析和将信息合成打包成时间帧可以减少错误和设计周期时间。
定义网络时序
模拟汽车网络时序的第一步是准确定义ECU之间的连接。AUTOSAR提出的软件方法将所有汽车功能定义成软件组件的集合并映射到物理ECU硬件上。一个ECU可能有几个功能,而内部信号则在它们之间传递。一旦定义了连接,设计中每个对象的时序参数(如果是已知的)都可以被定义。时序信息有多个外部来源;被广泛使用的汽车标准是FIBEX——由自动化及测量系统标准化协会 (ASAM) 定义的一种基于 XML 的标准化文件格式。
示例系统的物理路径请见图1和图2。制动位监控器模块与控制器ECU相连,转而又连接到执行器上。在每个模块内部,各个软件组件也对延迟造成影响。我们将着眼于这些组件对整体系统延迟的影响。
图1:制动系统信号路径概览。
图2:采用 AUTOSAR 组件的制动系统——可定义详细的时序参数。
表2:AUTOSAR 制动示例的传输步骤。
在表2提供的示例中,端至端信号路径最长可允许100ms。从实际测量结果中我们得知,发送方需要5ms,而接收方需10ms,因此通信路径延迟最高可允许85ms。
如果使用先进的 AUTOSAR 组件编辑器,如明导的VSA COM Designer工具,可以输入路径中每个组件的时序信息,但这也是一项艰巨的任务。另一种方法是从外部数据库导入时序和连接信息。
在模拟CAN总线数据路径时,需要考虑到传输开始时的不确定性。可能出现的情况是,更高优先级的信息占用数据总线,从而造成传输延迟。因此要找出造成延迟变化的抖动因素——通常要提前知道有多少优先级较高的信号可能在总线上,这样可以尽可能精确预测抖动因素。通过这些参数和进行自动化设计规则检查 (DRC),从第(3)步到第(7)步的最大延迟为74.5毫秒,这样的设计检查可以通过。这是“最坏情况”的测试,设计人员要相信路径延迟永远不会比这更糟,实际上会好很多。
图3:VSA COM 时序分析工具给出的典型时序报告,显示 DRC 违规情况。
图3 给出了一个典型的时序报告,其中信号路径违规以红色突出显示。整体的总线利用率显示在表的顶部(3.69%)。
此外还可以模拟通过汽车网关的信号时序路径预测。如果信号是通过网关自动发送,则需要采取最短的可用路径,而时序路径分析算法则需要有关信号路径中所有 ECU 发送方和接收方的信息。有些网关可能仅供诊断,而通过这些网关的信号的优先级可能较低。
汽车通信矩阵合成
汽车网络时序安排的总体定义通常存储在作为中央网关ECU一部分的“通信矩阵”中。明导所开发的设计工具解决方案可用于自动合成这个数据库并按正确顺序将所有不同的信息打包成帧。
AUTOSAR信号信息组合成协议数据单元 (PDU),然后这些数据单元再组合成传输帧。对于 CAN和LIN帧而言,每个帧都有一个PDU,但一个FlexRay帧可能含有多个信号PDU。
在FlexRay架构中,时序是确定的,而设计人员主要面临的不确定性就是帧打包和传输顺序。汽车OEM厂商和设计人员要投入大量时间来测试汽车所有可能出现的情况,以确定最坏情况下的行为,并确保信息传输有较大的安全范围。这意味着,为了确保较高的时序安全范围,不能占用数据总线的全部容量。合成工具查找具有相似路径以及对于在相似的帧时间空隙中进行打包和安排有时序要求的信号,以此来优化帧利用率。在使用明导的时序合成工具时,设计输入将包括信号和PDU定义、帧的优先级和有关可行的信号路径的具体 OEM设计决策。在生成完整的时序体系时要将这些都考虑进去。
在安装一个完全定义的通信体系时会面临一个难题,即后续很难有架构上的变化,并可能需要对网络进行全面的重新设计,但传输的高速和确定性等优势让这种方法对FlexRay应用形成了极大的吸引力,能够确保汽车的对安全要求非常高的功能。用该合成工具重新建立更先进的通信体系可以缩短修复周期。
总结
AUTOSAR提供了用于车载网络和ECU设计的预定义标准方法。但设计人员在如何提高设计的效率和性能上仍面临难题。通过使用设计自动化辅助工具来计算时序并生成车载通信体系,可以极大提升宝贵的网络带宽的利用率,同时保持汽车性能的安全范围。随着CAN、FlexRay和以太网融合复杂性的增加,使用自动化设计规则检查和时序性能合成工具将有助于缩短设计时间,避免繁琐的人工验证过程。
作者介绍
Andrew Patterson 任职明导嵌入式软件事业部业务发展总监,专注于汽车市场。在加入明导之前,Andrew 在设计自动化市场上已有25年的经验,主要从事各类技术、汽车仿真模型开发,虚拟原型和机电一体化。他目前在明导主要采用 Linux 和 AUTOSAR 以及其他在各类专有硅基平台上运行的系统来执行嵌入式软件战略。Andrew 持有英国剑桥大学工程和电气科学硕士学位。