打印
[学习资料]

汽车 CAN FD 总线应用研究

[复制链接]
2383|27
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
汽车 CAN FD 总线应用研究
了以 Microchip SAME54 微控制器为核心的多协议网桥硬件和软件设计。硬件系统包括主控制器最小系统、CAN FD 通信电路、CAN 通信电路、以太网通信电路、存储模块和电源模块。软件系统移植了 FreeRTOS内核,实现三种协议间的通信交互功能。并探究了 CAN FD 在车载网络信息安全方面的应用,设计了安全 CAN FD 协议,包括安全启动、密钥分配和安全传输三个流程。
在 CANoe 软件下建立车辆节点仿真模型,验证了在同等情况下 CAN FD 相比于CAN 在总线负载和延迟时间上的性能优势。基于所设计的 CAN FD 网桥硬件平台,利用 ZCANPRO 软件对网桥通信功能、安全 CAN FD 协议功能以及时间复杂度进行测试,实验结果验证了设计方案的可行性。

使用特权

评论回复
沙发
wangjiahao88|  楼主 | 2022-12-2 10:02 | 只看该作者
汽车总线的分类与对比

使用特权

评论回复
板凳
wangjiahao88|  楼主 | 2022-12-2 10:04 | 只看该作者

CAN FD 网桥控制器硬件设计


使用特权

评论回复
地板
wangjiahao88|  楼主 | 2022-12-2 10:05 | 只看该作者
CAN FD 网桥硬件模块整体结构
硬件开发平台为 Altium Designer 17,根据要实现的功能需求,该网桥硬件结构主
要包括主控制器、CAN FD 通信模块、CAN 通信模块、以太网通信模块、电源模块以
及存储模块,整体结构如图 3-2 所示。


使用特权

评论回复
5
wangjiahao88|  楼主 | 2022-12-2 10:06 | 只看该作者
主控制器最小系统设计
主控制器选用 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[24]。适用于工业自动化,
汽车应用和需要有线连接的通用应用。该主控制器还具有以下丰富的外设资源:
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 通信
模式。

使用特权

评论回复
6
wangjiahao88|  楼主 | 2022-12-2 10:09 | 只看该作者

使用特权

评论回复
7
wangjiahao88|  楼主 | 2022-12-2 10:10 | 只看该作者
Microchip ATA6561 是一款高速 CAN FD 收发器,为 CAN FD 主控制器和差分信
号线提供物理接口。该收发器为汽车级芯片,专为汽车行业中的高速(高达 5Mbit /
s)CAN 而设计,为 CAN 协议控制器提供发送和接收功能。它提供改进的电磁兼容
性(EMC)和静电放电(ESD)性能[26]。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)性能[26]。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)性能[26]。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)性能[26]。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 所
示。


使用特权

评论回复
8
wangjiahao88|  楼主 | 2022-12-2 10:11 | 只看该作者
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 所示。

使用特权

评论回复
9
wangjiahao88|  楼主 | 2022-12-2 10:12 | 只看该作者
以太网模块设计

使用特权

评论回复
10
wangjiahao88|  楼主 | 2022-12-2 10:12 | 只看该作者
存储模块设计

使用特权

评论回复
11
wangjiahao88|  楼主 | 2022-12-2 10:13 | 只看该作者
电源模块设计
CAN FD 和 CAN 收发器工作电压为 5V,为了满足上述供电要求,采用摩托罗拉
公司的 LM2576-5 稳压芯片,内部集成 52KHz 频率振荡器,具有热关断和电流保护
功能,只需少量元器件便可构成低功耗降压型稳压电路。在电源输入端加入整流二极
管 IN4001,以防外部供电电源正负极接反烧坏电路。肖特基二极管 1N5819 用于高频
整流,耐压值达到 40V,保护元器件不受损坏。微控制器 SAME54 和以太网收发器
工作电压为 3.3V,采用降压芯片 LM1117-3.3,该芯片接入 5V 输入后可把电压输出
为 3.3V。电源模块硬件电路设计如图 3-9 所示。

使用特权

评论回复
12
wangjiahao88|  楼主 | 2022-12-2 10:14 | 只看该作者
PCB 板设计

使用特权

评论回复
13
wangjiahao88|  楼主 | 2022-12-2 10:16 | 只看该作者
控制器软件总体设计

使用特权

评论回复
14
wangjiahao88|  楼主 | 2022-12-2 10:16 | 只看该作者
软件开发环境
本文用到的软件开发环境是 Atmel 公司的 Atmel Studio7 和 Atmel Start,如图 4-
2 和 4-3 所示。Atmel Studio7 采用微软 Visual Studio2015 平台,支持 AVR 和 ARM 架
构单片机,提供 ASF3 和 ASF4 软件框架[31],ASF 框架旨在提供丰富的驱动程序和代
码模块,实现硬件和高价值中间件的抽象化。Atmel Start 是基于网页的图形化开发工
具,无需下载安装,可在线配置驱动,配置完可以直接生成完整项目代码,如果中途
再次更改驱动或配置,可以随时重新配置。


使用特权

评论回复
15
wangjiahao88|  楼主 | 2022-12-2 10:17 | 只看该作者

使用特权

评论回复
16
wangjiahao88|  楼主 | 2022-12-2 10:20 | 只看该作者
FreeRTOS 系统在 SAME54 处理器上的移植
Atmel Start 集成了 FreeRTOS 系统, 对 FreeRTOS 的 配 置 主 要 是 对
FreeRTOSConfig.h 文件的修改,可根据实际使用情况对相应参数进行配置,如图 4-4
所示。FreeRTOSConfig.h 以头文件的形式包含在主文件中,由于该配置文件主要是针
对用户程序进行修改,而非对内核,因此该文件放置在应用程序子目录下。

使用特权

评论回复
17
wangjiahao88|  楼主 | 2022-12-2 10:22 | 只看该作者
协议转换模块
CAN FD、CAN 总线和以太网都遵循 OSI 模型[39],协议之间的转换实质就是三
种协议的封装和解封装过程。本节主要对协议转换流程进行设计。

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 长度。

使用特权

评论回复
18
wangjiahao88|  楼主 | 2022-12-2 10:22 | 只看该作者
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 号)对数据进行编码。难以获知到底哪个节点才是消息源,因此,只要某个节
点被劫持,就可以伪造其他节点的发送,接收方也没有相应的机制对消息源进行认证。

使用特权

评论回复
19
wangjiahao88|  楼主 | 2022-12-2 10:23 | 只看该作者

安全 CAN FD 协议

汽车作为信息安全的特殊应用场景,安全算法需要满足以下要求:
1)在汽车控制器有限的运算资源和存储资源下,应采用轻量级的安全算法。如果
采用复杂安全算法,在保证安全的同时也牺牲了实时性。比如非对称加密算法 RSA
是目前最具影响力的公钥加密算法[40],但运算速度较对称加密算法慢几个数量级,显
然不适合用于汽车场景。
2)对安全协议载荷的限制是总线标准规定的最大载荷。在密文加校验码的传输格
式下,校验码会挤压密文的有效载荷,在 CAN 总线下难免要拆分发送,造成总线负
载率上升。
3)安全协议尽量避免在硬件层面的修改。如果增加硬件安全模块,必然引起成本
的增加和设计复杂化,对汽车制造商来说追求的应该是软件层面的提升。
本文设计的安全 CAN FD 协议主要分为三个部分,分别为安全启动、密钥分配和
安全传输,每流程如图 5-1 所示,下文对这三个步骤作详细介绍。


使用特权

评论回复
20
vivilyly| | 2023-1-5 10:03 | 只看该作者
有完整的can FD的设计方案吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

473

主题

7517

帖子

30

粉丝