车载总线技术基础

不同总线的应用领域

1. 动力系统

  • HS-CAN(高速CAN)
  • TT-CAN(时间触发CAN)
  • LIN
  • FlexRay

2. 智驾系统

CANFD总线

  • 单ECU刷写文件达到兆级
  • OTA/智能驾驶/HMI新技术发展
  • 安全机制要求

3. 舒适系统

  • MS-CAN(中速CAN)
  • FT-CAN(低速容错)
  • SW-CAN(单线CAN)
  • LIN

4. 信息娱乐系统

  • IDB-C(硬件与高速CAN相同)
  • IDB-1394
  • MOST
  • D2B
  • Ethernet总线

5. 诊断

  • CAN

6. 网段互联设备

  • 转发器
  • 网桥
  • 路由器
  • 网关

常用的总线协议

OSI七层协议参考模型

在这里插入图片描述

CAN总线基础介绍

1. 物理层

1.1 总线电压

在这里插入图片描述

1.2 拓扑结构

CAN线长度

在这里插入图片描述

终端电阻

  • 120欧姆
  • 为了防止电阻不匹配引起的信号反射
1.3 CAN线
  • 双绞线
  • 芯截面积
  • 电容
  • 屏蔽层接地

2. 基本通信机制

2.1 报文发送

节点发送报文时要检测总线状态

  • 只有总线处于空闲,节点才能发送报文
  • 在发送过程中进行**“回读”**,判断送出的位与回读的位是否一致

线与机制

  • 显性位能够覆盖隐性位
  • 通过ID进行仲裁,ID值越小,报文优先级越高
    在这里插入图片描述
2.2 非破坏性仲裁
  • 发送低优先级的节点退出仲裁后,在下次总线空闲时自动重发报文
2.3 报文接受过滤
  • 如果相关则接收,不相关则过滤
    在这里插入图片描述
2.4 NRZ编码与位填充

NRZ编码

  • 确保报文紧凑-相同带宽下信息量更大
  • NRZ编码不能保证足够的跳变沿用于同步,带来节点间计时器误差的累计-位填充
    在这里插入图片描述

位填充

  • 发送节点发送5个连续的相同极性位后,在位流中自动插入一个极性相反的位-位填充
  • 接收节点对相同极性位的数量进行检测,从位流中将填充位去掉-清除填充
    在这里插入图片描述

3. 数据链路层

3.1 数据帧格式

数据帧的两种格式

  • 标准帧
    在这里插入图片描述

  • 扩展帧
    在这里插入图片描述

帧起始-SOF

  • 标识一个数据帧的开始,用于同步
  • 固定格式:一个显性位
  • 只有在总线空闲期间,节点才能够发送SOF

ID:标识符

  • 唯一确定一条报文
    • 表明报文的含义,可以包含报文的源地址和目标地址
    • 确定报文的仲裁优先级,ID数值越小,优先级越高
  • 标准帧11位,扩展帧29位

RTR位

  • 用于区分数据帧和远程帧
    • 数据帧,RTR=0
    • 远程帧,RTR=1

IDE位

  • 用于区分标准帧和扩展帧
    • 标准帧,IDE=0(11位ID)
    • 扩展帧,IDE=1(29位ID)

DLC

  • 包含4位,表示数据场包含数据的字节数
    • DLC=0-8
    • DLC=9-15则DLC=8

数据场

  • 具有0-8个字节长度,由DLC确定
  • 包含CAN数据帧发送的内容

CRC

  • 用于进行CRC校验
    在这里插入图片描述

CRC界定符-DEL

  • 界定CRC序列
  • 固定格式,1个隐性位
  • 注:CRC界定符之前进行位填充
    在这里插入图片描述

ACK

  • 确定报文被至少一个节点正确接收
    在这里插入图片描述

EOF

  • 表示数据帧结束
  • 固定格式,7个连续的隐性位

ITM

  • 固定格式
  • 3个连续的隐性位
  • ITM之后进入总线空闲状态,此时节点可以发送报文
3.2 CAN错误检测

错误检测的类型

  • CRC检测-CRC错误
    • 接收节点计算的CRC序列接收到的CRC序列不同
  • 格式检测-格式错误
    • 固定格式位场(如CRC界定符、ACK界定符、帧结束等)含有一个或更多非法位
  • ACK检测-ACK错误
    • 发送节点在ACK位期间未检测到显性位

错误检测

  • 发送节点-位错误、格式错误、ACK错误
  • 接收节点-填充错误、格式错误、CRC错误
  • 检测到错误后,发送错误标志
    • 位错误、填充错误、格式错误或ACK错误产生后,错误标志在下一位发送
    • CRC错误,错误标志在ACK界定符后发送

错误界定

  • 接收错误产生时,REC增加;正确接收到数据帧,REC减少
  • TEC也是同样
  • REC、TEC的数值会引发节点状态改变

节点的状态

  • Error Active
    • 正常的进行总线通信
    • 错误产生时,发送主动错误标志
  • Error Passive
    • 能够进行总线通信
    • 错误产生时,发送被动错误标志(6个连续隐性位)
    • 限制(连续2次报文发送)
  • Bus Off
    • 不能收发任何报文
      在这里插入图片描述

错误帧的格式

  • 包括错误标志错误界定符
  • 错误标志
    • 主动错误标志:6个连续显性位
    • 被动错误标志:6个连续隐性位
  • 错误界定符
    • 8个连续隐性位
      在这里插入图片描述

错误标志叠加

  • 主动错误
    • 错误标志:6个连续显性位
      • 破坏填充规则,诱发其他节点发送错误标志
      • 破坏固定位场(CRC界定符、ACK界定符及EOF)的固定格式,诱发其他节点发送错误标志
    • 0~6个错误标志叠加
    • 错误标志发送后,每个站都送出隐性位,并监视总线,直到检测到隐形位,此后开始发送剩余的7个隐形位
      在这里插入图片描述

错误帧的发送

  • 位错误
    在这里插入图片描述

位定时

  • Time quantum时间份额
    在这里插入图片描述

    • CAN时钟是CAN控制器的工作时钟
    • CAN时钟的一个周期称为时间份额tQ,它是CAN控制器工作的最小单位时间
  • 位时间

    • 一个位时间由若干个tQ组成(8~25)
    • 波特率=1/位时间
      在这里插入图片描述
  • 位时间的组成
    在这里插入图片描述

    • 一个位时间分成了4个时间段
    • 为了方便编程,许多CAN模块将传播段和相位缓冲段1合并为一个时间段,即只有3个时间段
    • 采样点时刻读取的电平决定该位是“显性”还是“隐性”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值