要传输的信息的优先级是由包含在每条信息中的“标识符”决定的。在设计系统时就要确定传输的优先级,并且不能随意改变。在 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 的标准化文件格式。