目录
为什么传统的CAN总线在慢慢被取代
- ECUs之间共享的变量越来越多的
- 每一个控制模块都有很多更小的控制模块
- 自动驾驶以及其他先进的功能模块正在影响当前的电气架构
- CAN对于网络安全设计的不太良好
- 传输速率较低,虽然在常规通讯中沟通,但是在软件刷写等较多数据写入的时候会显得很慢
为什么不使用车载以太网
- 费用高
- 对汽车网络通讯的变更太大了,步子太大
CAN FD
CAN | CAN FD | |
---|---|---|
最大速率 | 1Mb/s | 8Mb/s |
有效负载 | 8 bytes | 64 bytes |
所以CAN FD可以被称之为“CAN 3.0”
CAN FD面临的一些问题
Bit Timing
CAN 很"Robust",不太好的终端电阻,线束连接,或者位识别错误,都不会有太大的影响,但是CAN FD就不那么 “Robust”,bit time是CAN FD中最重要的东西,为了解决这个问题,我们就要引入FD - Flexable Data,在前面的非数据场,数据是和CAN一样的速率,但是在数据场中,就可以变化速率
什么是Bit time
简单来说,就好像我们在总线上一个一个按bit去读数据,所以在总线上变化迅速的电压就显得格·外重要
CAN FD是实时的?
CAN FD 的目标和功能
- 增加总线带宽
- 保持(绝大多数)的ECUs软硬件不发生变化
|线束不变|
|或多或少的向CAN FD迈出一步|
|需要额外新增收发器或控制器,或者在CAN FD和老的ECUs之间增加过滤器|
|具备一定的自适应性|
CAN FD的属性
编号 | 特性 | 描述或者参数 | 使用情况和备注 |
---|---|---|---|
1 | 有效符合带宽 | [1] 在较大的网络下 20-75 bytes/ms [2] 星型网络下 85byte/ms [3] 线型网络 150 byte/ms [4] 点到点 340byte/s | 比CAN2.0有更多的速度的提升和更高的带宽 |
2 | 最大数据承载量 | 64bytes | 功能消息的有效负载长度主要在4到32字节之间,对于诊断来说,消息长度最好达到64字节[较大的数据块] |
3 | 自诊断 | 在子网范围的通信崩溃之前,应该检测并报告明显的降级和不一致性;检测总线访问延迟降低 | 详细的功能请看文档 |
4 | 非鲁邦的 | 当单个总线控制器或主机控制器的行为与设计意图不同时,通信不应完全中断;HD = 6无间隙,Delection突发错误的任意长度 | 详细看文档 |
CANFD和CAN有相同的物理层
有点不同的是CAN只需要一边有一个60Ohm的电阻就好了,但是CANFD必须在两边各有一个120Ohm的电阻
CAN with Flexible Data Rate
- CAN FD中没有RTR了,取而代之的是"RRS"(remote request substitution远程请求替换,这里用‘r1’(Reserved bit one)来指示)
- R0变为了FDF(FD Frame bit (拓展数据的场长度))
- 新增了:BRS(Bit Rate Switch, 位速率选择; ESI(Error State Indicator故障状态指示器); 新的 res("R0"是保留位,用于后期拓展))
下面是关于上面的场变更的详细描述
- BRS(Bit Rate Switch): 如果是隐形(1), 位选择器就会切换至快速模式,从BRS位到CRC的校验位,如果是显性(0),位选择器就会切换至标准模式
- ESI(Error State Indicator故障指示器): 如果是显性(0),发送的ECU就进入了故障激活模式(正常的收发模式),如果是隐形(1): fasong 的ECU会进入故障模式