上篇 FlexRay协议 2
第0章 绪论:FlexRay与汽车网络 2
0.1 汽车网络技术的发展 2
0.2 汽车网络的分类 2
0.3 汽车网络的新成员——FlexRay 4
0.3.1 FlexRay的产生和发展 5
0.3.2 FlexRay的基本原理与特点 6
0.4 FlexRay协议总览 7
0.4.1 FlexRay需求规范 7
0.4.2 FlexRay协议规范 8
0.4.3 FlexRay电气物理层规范 8
0.4.4 FlexRay电气物理层应用注解 9
0.4.5 FlexRay数据链路层一致性测试规范 9
0.4.6 FlexRay电气物理层一致性测试规范 9
0.4.7 FlexRay物理层电磁兼容性测试规范 9
0.4.8 FlexRay物理层共模扼流圈电磁兼容性评估规范 10
0.4.9 初级中央总线监视器规范 10
0.4.10 初级节点总线监视器规范 11
0.5 术语和定义 12
0.6 常用缩写 15
第1章 FlexRay电气物理层规范 16
1.1 通信通道基础 16
1.1.1 传播延迟 16
1.1.2 非对称延迟 17
1.1.3 截断 17
1.1.4 特征符号长度的变化 18
1.1.5 冲突 18
1.1.6 唤醒模式 18
1.2 FlexRay网络基本通则 19
1.3 FlexRay网络基本组成元素 20
1.3.1 电缆 20
1.3.2 连接器 21
1.3.3 电缆端接 21
1.3.4 共模扼流圈 22
1.3.5 总线直流负载 23
1.4 网络拓扑 23
1.4.1 点对点连接 23
1.4.2 无源星形拓扑 24
1.4.3 线性无源总线型拓扑 24
1.4.4 有源星形拓扑 25
1.4.5 级联的有源星形拓扑 25
1.4.6 混合型拓扑 26
1.4.7 双通道拓扑 26
1.5 电气信号 27
1.5.1 总线状态:Idle_LP与Idle 27
1.5.2 总线状态:Data_1与Data_0 27
1.6 信号完整性 27
1.6.1 发送端眼图 28
1.6.2 接收端眼图 28
1.7 总线驱动器 29
1.7.1 工作模式 30
1.7.2 工作模式转换 30
1.7.3 总线驱动器接口 31
1.7.4 总线驱动器在故障条件下的行为 42
1.8 系统时序约束 44
1.8.1 解码过程要求 44
1.8.2 FlexRay拓扑要求 45
1.8.3 信号链示例 47
1.8.4 非对称延迟 48
1.8.5 通信控制器要求 51
第2章 FlexRay协议规范 52
2.1 FlexRay协议规范简介 52
2.1.1 应用范围 52
2.1.2 SDL规则 52
2.2 协议运行控制 53
2.2.1 原理 53
2.2.2 说明 54
2.2.3 协议运行控制进程 57
2.3 编码与解码 66
2.3.1 原理 66
2.3.2 说明 66
2.3.3 编码与解码进程 77
2.3.4 位选通进程 81
2.3.5 唤醒模式解码进程 82
2.4 帧格式 83
2.4.1 概述 83
2.4.2 FlexRay帧头(5个字节) 83
2.4.3 FlexRay有效负载数据段(0~254个字节) 85
2.4.4 FlexRay帧尾 87
2.5 媒体接入控制 87
2.5.1 原理 87
2.5.2 说明 93
2.5.3 媒体接入控制处理 94
2.6 唤醒与启动 101
2.6.1 簇唤醒 101
2.6.2 通信启动与重新集成 107
2.7 时钟同步 111
2.7.1 介绍 111
2.7.2 时间表示法 112
2.7.3 同步进程 113
2.7.4 时钟的启动 115
2.7.5 时间测量 119
2.7.6 校正值计算 120
2.7.7 时钟校正 121
2.7.8 分布式时钟同步的配置 122
2.8 控制器主机接口 122
2.8.1 原理 122
2.8.2 接口 124
第3章 FIexRay物理层电磁兼容性测试规范 131
3.1 RF和瞬态抗干扰测试 131
3.1.1 RF和瞬态抗干扰常规测试 131
3.1.2 RF干扰发射测试 138
3.1.3 RF抗干扰测试 143
3.1.4 瞬态抗干扰测试 150
3.2 静电放电抗干扰测试 157
3.2.1 测试概要 157
3.2.2 测试配置 157
3.2.3 测试组成 159
3.2.4 测试步骤和参数 160
下篇 FlexRay开发实践 162
第4章 开发背景介绍 162
4.1 开发前的准备工作——了解当前业界的开发水平 162
4.2 典型的开发流程 162
4.3 半导体芯片 163
4.3.1 飞思卡尔公司 163
4.3.2 NXP公司 164
4.3.3 富士通公司 166
4.3.4 英飞凌公司 167
4.3.5 austriamicrosystems公司 168
4.4 辅助开发工具 169
4.4.1 评估套件 169
4.4.2 开发板 171
4.5 仿真与测试工具 172
4.5.1 DaVinci Network DesignerFlexRay 173
4.5.2 CANoe.FlexRay 174
4.5.3 FRstress 175
4.5.4 MultiLog 176
4.6 测量工具 176
第5章 系统定义与验证 183
5.1 确定项目方案 183
5.2 总体规划与网络设计(网络设计工具DaVinci Network Designer FlexRay) 184
5.2.1 定义网络(定义全局参数) 184
5.2.2 定义节点(定义节点参数) 187
5.2.3 定义信号 189
5.2.4 定义数据帧及收发关系 190
5.2.5 定义数据帧和信号对应关系 190
5.2.6 定义通信调度表 191
5.2.7 Vector公司的网络设计工具DaVinci Network DesignerFlexRay 192
5.3 网络仿真验证(仿真验证工具CANoe.FlexRay) 193
5.3.1 概述 193
5.3.2 CANoe.FlexRay软件功能模块介绍 194
5.3.3 模型建立与仿真 202
第6章 ECU节点硬件开发 208
6.1 硬件设备的分类 208
6.2 基于MFR4310芯片的PCI FlexRay通信板设计 208
6.2.1 板卡功能定义 208
6.2.2 MFR4310结构与功能说明 208
6.2.3 电路系统设计 215
6.3 基于MC9S 12XF512单片机的独立总线FlexRay通信板设计 218
6.3.1 板卡功能定义 218
6.3.2 MC9S 12XF512结构说明 219
6.3.3 MC9S 12XF512功能描述 220
6.3.4 电路原理 221
6.4 收发器芯片TJA1080ATS/2 222
6.4.1 结构说明 222
6.4.2 特性描述 223
6.4.3 操作模式 223
第7章 ECU节点软件开发 229
7.1 飞思卡尔公司芯片驱动编程 229
7.1.1 内存映射和寄存器描述 229
7.1.2 功能描述 264
7.1.3 芯片初始化 301
7.2 飞思卡尔公司的FlexRay统一驱动 302
7.2.1 概述 302
7.2.2 应用示例 303
7.2.3 应用示例的项目结构 307
7.3 Windows系统下FlexRay驱动开发 308
7.3.1 驱动程序开发环境的建立 308
7.3.2 建立一个WDM驱动程序的基本框架 309
7.3.3 硬件资源访问类说明 313
7.3.4 驱动程序主要模块的实现 317
7.3.5 驱动程序的调用 318
7.4 VxWorks系统下的FlexRay驱动开发 321
7.4.1 嵌入式实时操作系统VxWorks 321
7.4.2 开发驱动程序前的准备工作 323
7.4.3 定义FlexRay驱动程序头文件 327
7.4.4 VxWorks操作系统驱动程序 328
第8章 项目联调与测试 332
8.1 节点功能验证 332
8.1.1 概述 332
8.1.2 验证过程 333
8.2 系统集成测试 336
8.2.1 概述 336
8.2.2 测试过程 338
参考文献 341