📐 BS ISO 10681 是英国标准协会(BSI)采纳 ISO 10681 国际标准形成的道路车辆——FlexRay 通信(Communication on FlexRay)标准系列。该系列由 BSI 技术委员会 AUE/16(电气与电子设备)归口,ICS 分类号为 43.040.15,2010 年发布。系列共两部分:第 1 部分介绍一般信息与用例定义,第 2 部分规定通信层服务(communication layer services)。FlexRay 是面向安全关键与高带宽车载应用(如线控转向/制动、底盘控制)的时间触发通信总线,本系列是车载 FlexRay 网络协议实现与集成的国际标准依据。
💡 与 CAN 的事件触发方式不同,FlexRay 采用时间触发(time-triggered)通信,各节点按时隙表(TDMA)确定性发送数据,具有高带宽、高同步精度与确定性时延特点,适合安全关键控制应用。
一、标准适用范围与系列构成 📌
本系列适用于道路车辆中基于 FlexRay 协议的车载通信,规定通信系统的一般信息、用例、通信层服务与协议实现要求。它不涉及物理层器件实现细节(由 FlexRay 联盟物理层规范补充),而聚焦于协议架构与服务接口。
| 标准号 | 发布时间 | 标题 | 主要内容 |
| BS ISO 10681-1:2010 | 2010-06-15 | 一般信息与用例定义 | 通信系统概述、架构、典型用例与要求 |
| BS ISO 10681-2:2010 | 2010-06-15 | 通信层服务 | 通信层服务接口、帧/时隙处理、状态机 |
⚠️ FlexRay 协议栈通常由”通信层(Communication Layer)”与”传输层(Transport Layer)”等组成。ISO 10681 主要规范通信层服务,传输层及上层协议(如诊断、网络管理)由相关标准另行规定。
二、第 1 部分:一般信息与用例定义 📄
ISO 10681-1 提供 FlexRay 车载通信系统的总体框架,主要内容包括:
- 系统概述:FlexRay 总线的拓扑、节点、通道(channel)、时隙与通信周期等基本概念。
- 用例定义(use case):典型应用场景(如底盘控制、动力总成、安全系统)及其通信需求,为通信层设计提供输入。
- 架构与要求:通信系统的功能架构、性能指标(带宽、时延、同步精度)与安全要求。
- 术语与约定:统一术语、缩写与符号,为第 2 部分服务定义奠定基础。
三、第 2 部分:通信层服务 🔧
ISO 10681-2 规定 FlexRay 通信层(Communication Layer)的服务,主要内容包括:
- 通信层服务接口:向应用与上层协议提供的服务原语,包括帧发送/接收、时隙访问、状态查询等。
- 帧与时隙处理:静态/动态段的帧格式、帧 ID 与时隙映射、报文调度。
- 通信周期与媒体访问:TDMA 时隙表、静态(ST)段与动态(DYN)段访问、帧起始与时序。
- 状态机与错误处理:通信状态(如启动、启动同步、运行)转换与错误处理机制。
- 与底层协议交互:通信层与 FlexRay 协议控制器(如 E-Ray IP)之间的交互。
✅ 确定性时延与高同步精度是 FlexRay 的核心优势:通信层按时隙表实现”何时、由谁、发什么”的确定性调度,为安全关键控制提供可预测的通信行为,这是 CAN 等事件触发总线难以保证的。
四、关键技术要求与协议要点 ⚙️
| 要素 | 说明 | 意义 |
| 静态/动态段 | ST 段确定性发送,DYN 段按需发送 | 兼顾确定性与灵活性 |
| 双通道冗余 | 双通道(channel A/B)可选 | 提高可靠性与容错 |
| 时间同步 | 基于同步帧的分布式时钟同步 | 保证全局时基一致 |
| 帧与时隙表 | 帧 ID、周期、时隙静态配置 | 保证确定性调度 |
| 通信层状态机 | 启动/同步/运行状态管理 | 保证网络有序启动 |
五、工程实践应用要点 🛠️
- 🔍 网络设计:按应用需求确定通信周期、静态/动态段比例与帧分配,配置时隙表与帧 ID,保证关键报文按时隙确定性发送。
- 🔧 集成开发:基于 ISO 10681-2 通信层服务接口集成上层软件(如 AUTOSAR 通信栈),注意服务原语的正确调用与状态管理。
- 📊 同步与验证:验证网络启动与时间同步过程,使用总线分析仪监测帧收发与时序,确保同步精度满足要求。
- 📋 测试与诊断:制定节点与网络级测试用例,覆盖启动、运行、错误处理与容错场景,保证系统健壮性。
六、网络管理与协议栈分层 🌐
FlexRay 协议栈采用分层架构,自下而上依次为物理层、通信层(Communication Layer)、传输层(Transport Layer)与上层应用。ISO 10681-2 明确规定通信层向传输层与应用层提供的服务原语,包括帧的发送与接收、时隙访问、状态查询与错误通知等,形成标准化的服务接口,便于不同供应商协议栈之间的互操作与移植。
在系统层面,FlexRay 网络还需要网络管理(Network Management)机制来协调节点上下电、总线唤醒与休眠,确保网络有序进入运行状态并安全退出。与 CAN 网络管理相比,FlexRay 的网络管理更强调时间同步前提下的协同调度,各节点必须在共同时基上完成状态迁移,否则可能导致通信违约或节点失步。
- 启动与同步:节点上电后先进入启动阶段,通过同步帧建立全局时基,随后进入运行态;
- 唤醒与休眠:网络管理帧实现总线唤醒与协调休眠,降低整车静态功耗;
- 容错与降级:双通道配置下,单通道故障可触发降级或冗余切换,保持关键报文传输。
⚠️ 通信层的服务原语必须与传输层、网络管理模块正确衔接。若上层错误使用服务原语(如未等待发送确认即重复发送),会造成时隙冲突与确定性破坏,因此集成时需严格遵循 ISO 10681-2 的状态机与时序要求。
七、常见问题解答 ❓
❓ 问:FlexRay 与 CAN 有何区别?
答:FlexRay 采用时间触发(TDMA)通信,确定性高、带宽大、支持双通道冗余与同步,适合安全关键控制;CAN 采用事件触发(CSMA/AMP),灵活但时延不确定,主要用于常规控制与诊断。
❓ 问:静态段与动态段有何区别?
答:静态段按固定周期与固定时隙确定性发送关键帧;动态段采用柔性调度(类似 minislotting),可按需发送非周期数据,兼顾确定性与灵活性。
❓ 问:双通道冗余如何提高可靠性?
答:可配置为双通道发送相同数据(冗余模式)或分载不同数据(双倍带宽模式);冗余模式下任一通道故障仍可保证数据送达,提高容错能力。
🔍 问:时间同步为什么重要?
答:时间触发通信依赖所有节点共享一致的全局时基;同步精度不足会导致帧错位与时序违约,破坏确定性,故启动同步与持续同步校验是网络正常工作的前提。