车载网络:CAN和FlexRay 网络的时序分析
扫描二维码
随时随地手机看文章
汽车数据总线
一辆典型的现代化汽车将同时装配各类总线和协议并从 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 节点做出大的硬件或软件改动。对汽车设计人员而言,这可以极大地帮助他们扩大或升级现有网络,或设计出新的变体车型。
FlexRay 网络:
FlexRay 协议比 CAN 更具确定性。FlexRay 是一种“时间触发”协议,它提供不同选项,让信息可以在精确的时间框架内发送至目标地址 -- 可精确到1us。FlexRay 信息最多可达254个字节,因此需要在 ECU 之间进行交换的复杂信息的容量很大。与 CAN 相比,FlexRay 的数据传输速率也更高。由于时序是预先确定的,信息的安排需要提前规划好,一般由汽车OEM厂商或一级供应商合作伙伴预先配置或设计。在采用 CAN 协议的网络中,ECU 节点只需要知道通信时的正确波特率,但 FlexRay 网络上的 ECU 节点在通信时必须知道网络各个部分是如何配置和连接的。检查和验证 FlexRay 网络的时序比较耗时 -- 因此,自动化的时序分析和将信息合成打包成时间帧可以减少错误和设计周期时间。
定义网络时序
模拟汽车网络时序的第一步是准确定义 ECU 之间的连接。AUTOSAR 提出的软件方法将所有汽车功能定义成软件组件的集合并映射到物理 ECU 硬件上。一个 ECU 可能有几个功能,而内部信号则在它们之间传递。一旦定义了连接,设计中每个对象的时序参数(如果是已知的)都可以被定义。时序信息有多个外部来源;被广泛使用的汽车标准是 FIBEX -- 由自动化及测量系统标准化协会 (ASAM) 定义的一种基于 XML 的标准化文件格式。
示例系统的物理路径请见图1和图2。制动位监控器模块与控制器 ECU 相连,转而又连接到执行器上。在每个模块内部,各个软件组件也对延迟造成影响。我们将着眼于这些组件对整体系统延迟的影响。
制动系统信号路径概览
采用 AUTOSAR 组件的制动系统 -- 可定义详细的时序参数
表2:AUTOSAR 制动示例的传输步骤
在表2提供的示例中,端至端信号路径最长可允许100ms。从实际测量结果中我们得知,发送方需要5ms,而接收方需10ms,因此通信路径延迟最高可允许85ms。
如果使用先进的 AUTOSAR 组件编辑器,如明导的 VSA COM Designer 工具,可以输入路径中每个组件的时序信息,但这也是一项艰巨的任务。另一种方法是从外部数据库导入时序和连接信息。
在模拟 CAN 总线数据路径时,需要考虑到传输开始时的不确定性。可能出现的情况是,更高优先级的信息占用数据总线,从而造成传输延迟。因此要找出造成延迟变化的抖动因素 -- 通常要提前知道有多少优先级较高的信号可能在总线上,这样可以尽可能精确预测抖动因素。通过这些参数和进行自动化设计规则检查 (DRC),从第(3)步到第(7)步的最大延迟为74.5毫秒,这样的设计检查可以通过。这是“最坏情况”的测试,设计人员要相信路径延迟永远不会比这更糟,实际上会好很多。
VSA COM 时序分析工具给出的典型时序报告,显示 DRC 违规情况
图3给出了一个典型的时序报告,其中信号路径违规以红色突出显示。整体的总线利用率显示在表的顶部(3.69%)。
汽车通信矩阵合成
汽车网络时序安排的总体定义通常存储在作为中央网关 ECU 一部分的“通信矩阵”中。明导所开发的设计工具解决方案可用于自动合成这个数据库并按正确顺序将所有不同的信息打包成帧。
AUTOSAR 信号信息组合成协议数据单元 (PDU),然后这些数据单元再组合成传输帧。对于 CAN 和 LIN 帧而言,每个帧都有一个 PDU,但一个 FlexRay 帧可能含有多个信号 PDU。
在安装一个完全定义的通信体系时会面临一个难题,即后续很难有架构上的变化,并可能需要对网络进行全面的重新设计,但传输的高速和确定性等优势让这种方法对 FlexRay 应用形成了极大的吸引力,能够确保汽车的对安全要求非常高的功能。
结论
AUTOSAR 提供了用于车载网络和 ECU 设计的预定义标准方法。但设计人员在如何提高设计的效率和性能上仍面临难题。通过使用设计自动化辅助工具来计算时序并生成车载通信体系,可以极大提升宝贵的网络带宽的利用率,同时保持汽车性能的安全范围。随着 CAN、FlexRay 和以太网融合复杂性的增加,使用自动化设计规则检查和时序性能合成工具将有助于缩短设计时间,避免繁琐的人工验证过程。