汽车 CAN FD 总线应用研究
汽车 CAN FD 总线应用研究了以 Microchip SAME54 微控制器为核心的多协议网桥硬件和软件设计。硬件系统包括主控制器最小系统、CAN FD 通信电路、CAN 通信电路、以太网通信电路、存储模块和电源模块。软件系统移植了 FreeRTOS内核,实现三种协议间的通信交互功能。并探究了 CAN FD 在车载网络信息安全方面的应用,设计了安全 CAN FD 协议,包括安全启动、密钥分配和安全传输三个流程。
在 CANoe 软件下建立车辆节点仿真模型,验证了在同等情况下 CAN FD 相比于CAN 在总线负载和延迟时间上的性能优势。基于所设计的 CAN FD 网桥硬件平台,利用 ZCANPRO 软件对网桥通信功能、安全 CAN FD 协议功能以及时间复杂度进行测试,实验结果验证了设计方案的可行性。
汽车总线的分类与对比
CAN FD 网桥控制器硬件设计
CAN FD 网桥硬件模块整体结构
硬件开发平台为 Altium Designer 17,根据要实现的功能需求,该网桥硬件结构主
要包括主控制器、CAN FD 通信模块、CAN 通信模块、以太网通信模块、电源模块以
及存储模块,整体结构如图 3-2 所示。
主控制器最小系统设计
主控制器选用 Microchip 公司的 SAME54 系列 MCU,这是一款采用带浮点单元
(FPU)的 32 位 ARM Cortex M4 处理器,运行速度高达 120 MHz,带 ECC 的高达 1
MB 双面板闪存,最高可达 256 KB 带有 ECC 的 SRAM。具有 81 个可编程 I/O 引脚,
共 128 引脚的 TQFP 封装。工作电压为 1.71-3.6V。集成安全功能,一个高级加密系
统 AES,具有 256 位密钥长度和高达 2MB/S 的数据速率;具有真随机数发生器 TRNG,
公钥加密控制器 PUKCC 和相关的经典公钥加密库 PUKCL。适用于工业自动化,
汽车应用和需要有线连接的通用应用。该主控制器还具有以下丰富的外设资源:
1)两路 CAN 控制器,支持 CAN 2.0A/B 和 CAN FD 1.0;
2)一个以太网 MAC,支持 10/100Mbps MII 或 RMII 模式;
3) 32 路 12 位精度,采样速率可达 1Msps 的 ADC;
4)八个串行通信接口 SERCOM,可配置为 USART、I2C、SPI、LIN、RS485 通信
模式。
Microchip ATA6561 是一款高速 CAN FD 收发器,为 CAN FD 主控制器和差分信
号线提供物理接口。该收发器为汽车级芯片,专为汽车行业中的高速(高达 5Mbit /
s)CAN 而设计,为 CAN 协议控制器提供发送和接收功能。它提供改进的电磁兼容
性(EMC)和静电放电(ESD)性能。ATA6561 是高速 CAN 网络的理想选择,尤
其适用于需要通过 CAN 总线唤醒功能的低功耗模式的节点。该 CAN FD 收发器具有
以下特点:
1)完全符合 ISO 11898-2/-5,SAEJ2284 标准;
2)通讯速率高达 5Mbit/s;
3)通过 CAN 总线实现远程唤醒功能,避免汽车 CAN 节点不必要的上电序列;
Microchip ATA6561 是一款高速 CAN FD 收发器,为 CAN FD 主控制器和差分信
号线提供物理接口。该收发器为汽车级芯片,专为汽车行业中的高速(高达 5Mbit /
s)CAN 而设计,为 CAN 协议控制器提供发送和接收功能。它提供改进的电磁兼容
性(EMC)和静电放电(ESD)性能。ATA6561 是高速 CAN 网络的理想选择,尤
其适用于需要通过 CAN 总线唤醒功能的低功耗模式的节点。该 CAN FD 收发器具有
以下特点:
1)完全符合 ISO 11898-2/-5,SAEJ2284 标准;
2)通讯速率高达 5Mbit/s;
3)通过 CAN 总线实现远程唤醒功能,避免汽车 CAN 节点不必要的上电序列;
Microchip ATA6561 是一款高速 CAN FD 收发器,为 CAN FD 主控制器和差分信
号线提供物理接口。该收发器为汽车级芯片,专为汽车行业中的高速(高达 5Mbit /
s)CAN 而设计,为 CAN 协议控制器提供发送和接收功能。它提供改进的电磁兼容
性(EMC)和静电放电(ESD)性能。ATA6561 是高速 CAN 网络的理想选择,尤
其适用于需要通过 CAN 总线唤醒功能的低功耗模式的节点。该 CAN FD 收发器具有
以下特点:
1)完全符合 ISO 11898-2/-5,SAEJ2284 标准;
2)通讯速率高达 5Mbit/s;
3)通过 CAN 总线实现远程唤醒功能,避免汽车 CAN 节点不必要的上电序列;
Microchip ATA6561 是一款高速 CAN FD 收发器,为 CAN FD 主控制器和差分信
号线提供物理接口。该收发器为汽车级芯片,专为汽车行业中的高速(高达 5Mbit /
s)CAN 而设计,为 CAN 协议控制器提供发送和接收功能。它提供改进的电磁兼容
性(EMC)和静电放电(ESD)性能。ATA6561 是高速 CAN 网络的理想选择,尤
其适用于需要通过 CAN 总线唤醒功能的低功耗模式的节点。该 CAN FD 收发器具有
以下特点:
1)完全符合 ISO 11898-2/-5,SAEJ2284 标准;
2)通讯速率高达 5Mbit/s;
3)通过 CAN 总线实现远程唤醒功能,避免汽车 CAN 节点不必要的上电序列;
4)总线引脚可防止汽车环境中的瞬变;
5)CANH / CANL 短路和过温保护;
TxD 和 RxD 分别为发送和接收引脚,直接和 SAME54 单片机管脚相连。STBY
引脚为唤醒引脚,和单片机 I/O 相连,当输出为低电平时可唤醒 ATA6561 收发器。
CANH 和 CANL 为差分信号线,引出到外部端子,两端并联 120 欧终端电阻以匹配
总线阻抗。VIO 引脚直接连到 SAME54 电源电压,以便在内部对 TXD、RXD 和 STBY
引脚的信号电平调整为 I/O 电平,消除了对外部电平转换器的需求,降低了系统成本
和复杂性。工作电压为 5V,由外部电源模块提供。CAN FD 通信电路设计如图 3-4 所
示。
CAN 收发器采用 Infineon TLE6250GV33,该系列 IC 针对汽车和工业应用中的
高速差分模式数据传输进行优化,用作 CAN 协议控制器和物理差分总线之间的接口,
兼容 ISO/DIS 11898。CAN 数据传输速率高达 1MBaud,具有优异的 EMC 性能,总线
引脚具有接地和电池电压短路保护,温度适用范围在-40°C 至 150 °C。
CAN 总线模块电路设计和 CAN FD 模块类似,TxD 和 RxD 引脚和 SAME54 的
外设 CAN 发送和接收引脚直连。CANH 和 CANL 差分信号线并联 120 欧终端电阻。
二极管阵列 PSM712 为防浪涌保护芯片,确保总线电压不会超过芯片极限电压。工作
电压为 5V,由外部电源模块供电。CAN 通信电路设计如图 3-5 所示。
以太网模块设计
存储模块设计
电源模块设计
CAN FD 和 CAN 收发器工作电压为 5V,为了满足上述供电要求,采用摩托罗拉
公司的 LM2576-5 稳压芯片,内部集成 52KHz 频率振荡器,具有热关断和电流保护
功能,只需少量元器件便可构成低功耗降压型稳压电路。在电源输入端加入整流二极
管 IN4001,以防外部供电电源正负极接反烧坏电路。肖特基二极管 1N5819 用于高频
整流,耐压值达到 40V,保护元器件不受损坏。微控制器 SAME54 和以太网收发器
工作电压为 3.3V,采用降压芯片 LM1117-3.3,该芯片接入 5V 输入后可把电压输出
为 3.3V。电源模块硬件电路设计如图 3-9 所示。
PCB 板设计
控制器软件总体设计
软件开发环境
本文用到的软件开发环境是 Atmel 公司的 Atmel Studio7 和 Atmel Start,如图 4-
2 和 4-3 所示。Atmel Studio7 采用微软 Visual Studio2015 平台,支持 AVR 和 ARM 架
构单片机,提供 ASF3 和 ASF4 软件框架,ASF 框架旨在提供丰富的驱动程序和代
码模块,实现硬件和高价值中间件的抽象化。Atmel Start 是基于网页的图形化开发工
具,无需下载安装,可在线配置驱动,配置完可以直接生成完整项目代码,如果中途
再次更改驱动或配置,可以随时重新配置。
FreeRTOS 系统在 SAME54 处理器上的移植
Atmel Start 集成了 FreeRTOS 系统, 对 FreeRTOS 的 配 置 主 要 是 对
FreeRTOSConfig.h 文件的修改,可根据实际使用情况对相应参数进行配置,如图 4-4
所示。FreeRTOSConfig.h 以头文件的形式包含在主文件中,由于该配置文件主要是针
对用户程序进行修改,而非对内核,因此该文件放置在应用程序子目录下。
协议转换模块
CAN FD、CAN 总线和以太网都遵循 OSI 模型,协议之间的转换实质就是三
种协议的封装和解封装过程。本节主要对协议转换流程进行设计。
CAN FD 和 CAN 协议转换模块
在 CAN FD 和 CAN 在物理层相似的情况下,该协议转换模块主要实现 CAN(FD)
中继、CAN(FD)报文转换,匹配不同通讯波特率的 CAN(FD)网络,同时支持 CAN 和
CAN FD 网络的转换处理。除此之外,还提供帧映射、合并(若干个 CAN 报文组成一
个 CAN FD 报文)和拆分(一个 CAN FD 报文拆分成若干个 CAN 报文)等特殊转换处
理。多个 CAN 报文合并后转换为 CAN FD 报文,封装过程如图 4-9 所示,具体合并
规则如下:
1)最多支持 64 条 CAN 报文合并,将接收到的 CAN 报文根据帧 ID、帧类型按顺
序合并成对应 CAN FD 帧发送。
2)将接收到的 CAN 报文以缓存形式保存,直到接收到与最后一个 CAN 帧 ID 相
同的报文,将之前缓存的 CAN 报文合并成 CAN FD 报文发出。
3)所有合并的 CAN 帧 ID 不允许重复,映射的 CAN FD 帧 ID 可重复。
4)目标 CAN FD 帧数据长度必须大于等于所有 CAN 帧数据长度总和。
5)若多个 CAN 报文的数据长度加起来小于对应的 CAN FD 帧长度,允许填充至
设定 CAN FD 长度。
CAN FD 在信息安全中的应用
在智能网联大背景下,汽车和外界互联互通而变为开放式系统,不可避免带来信
息安全问题。CAN FD 在性能和带宽上的改进促进了诸如加密、身份验证之类的应用,
而此类应用的驱动因素是对每个 CAN 帧中更多数据的需求。CAN FD 使得物联网领
域的复杂加密算法可应用到车载系统,中高端 CAN FD 控制器植入安全算法等硬件
加速功能,更便于保护车辆信息安全。
然而,CAN FD 和 CAN 总线一样,存在协议缺陷,缺乏对数据的安全保护机制。
本章基于数据完整性算法 AES-CCM,并且详细介绍了 CAN FD 通信节点间的认证机
制,研究了 CAN FD 在车内网络下信息安全方面的应用。
CAN FD 协议缺陷
CAN FD 继承了 CAN 协议在安全方面的不足,一旦 CAN FD 总线被攻破,车辆
便面临被控制的威胁,以下列举了 CAN FD 协议缺陷:
1)缺乏安全保护协议:IS0 11898(2015)公布的 CAN FD 物理层和数据链路层协议
均没有涉及到安全方面的内容,CAN FD 节点间的传输都是通过明文传输,外界容易
根据大量 CAN FD 报文推测出线性规律,获取通信双方真实的数据。
2)基于广播的通信方式:整车 CAN FD 网络由各节点组网而成,所有节点均连接
到一条 CAN FD 总线,一旦有节点发出消息,其余节点都能收到消息。利用此特点,
只要接入到 CAN FD 总线,就能监听所有节点间的通信,缺乏私密性保护。
3)ID 优先级仲裁机制:当有多条 CAN FD 报文同时活动于总线上时,根据 ID 优
先级仲裁避免总线冲突,ID 越小优先级越高,低优先级必须等待高优先级发送完才
可发送,这样,袭击者便可不断发送高优先级报文,从而使低优先级报文难以发送,
实现拒绝服务通信。
4)缺乏消息源身份验证:CAN FD 没有对各节点地址进行标注,只通过报文标识
符(ID 号)对数据进行编码。难以获知到底哪个节点才是消息源,因此,只要某个节
点被劫持,就可以伪造其他节点的发送,接收方也没有相应的机制对消息源进行认证。
安全 CAN FD 协议
汽车作为信息安全的特殊应用场景,安全算法需要满足以下要求:
1)在汽车控制器有限的运算资源和存储资源下,应采用轻量级的安全算法。如果
采用复杂安全算法,在保证安全的同时也牺牲了实时性。比如非对称加密算法 RSA
是目前最具影响力的公钥加密算法,但运算速度较对称加密算法慢几个数量级,显
然不适合用于汽车场景。
2)对安全协议载荷的限制是总线标准规定的最大载荷。在密文加校验码的传输格
式下,校验码会挤压密文的有效载荷,在 CAN 总线下难免要拆分发送,造成总线负
载率上升。
3)安全协议尽量避免在硬件层面的修改。如果增加硬件安全模块,必然引起成本
的增加和设计复杂化,对汽车制造商来说追求的应该是软件层面的提升。
本文设计的安全 CAN FD 协议主要分为三个部分,分别为安全启动、密钥分配和
安全传输,每流程如图 5-1 所示,下文对这三个步骤作详细介绍。
有完整的can FD的设计方案吗?
页:
[1]
2