CAN总线通讯

1. CAN协议及标准规格

CAN 协议经ISO 标准化后有ISO11898 标准和ISO11519-2 标准两种。ISO11898 和ISO11519-2 标准对于数据链路层的定义相同,但物理层不同。

  • 关于ISO11898
    ISO11898 是通信速度为125kbps-1Mbps的CAN高速通信标准。
  • 关于ISO11519
    ISO11519 是通信速度为125kbps以下的CAN低速通信标准。
    在这里插入图片描述

2. CAN协议

2.1 帧的种类

帧类型帧用途
数据帧用于发送单元向接收单元传送数据的帧
遥控帧用于接收单元向具有相同 ID 的发送单元请求数据的帧
错误帧用于当检测出错误时向其它单元通知错误的帧
过载帧用于接收单元通知其尚未做好接收准备的帧
帧间隔用于将数据帧及遥控帧与前面的帧分离开来的帧

2.2. 数据帧

在这里插入图片描述
帧起始、仲裁段、控制端、数据端、CRC端、ACK端、帧结束
标准帧
扩展帧

显性电平和隐性电平

  • 总线上执行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。
  • “显性”具有“优先”的意味,只要有一个单元输出显性电平,总线上即为显性电平。并且,“隐
    性”具有“包容”的意味,只有所有的单元都输出隐性电平,总线上才为隐性电平。(显性电平比 隐性电平更强。)

帧起始
显性电平的逻辑值为“0”,隐性电平为“1”。

仲裁段

  • 表示数据的优先级的段。
  • 显性(0)优先级高,即ID为00000000000优先级最高
  • RTR位(Remote Transmission Request Bit):远程传输请求位,用于区分数据帧和远程帧,显性电平时表示数据帧,隐性电平时表示遥控帧。
  • IDE位(Identifier Extension Bit):ID扩展位,用于区分标准格式和扩展格式,显性电平时表示标准格式,隐性电平时表示扩展格式。
  • SRR位(Substitute Remote Request Bit):

控制端
控制段由6个位构成,表示数据段的字节数。标准格式和扩展格式的构成有所不同。

  • 保留位(r0、r1)
  • 数据长度码(DLC):数据的字节数必须为 0~8 字节,但接收方对DLC = 9~15 的情况并不视为错误。

数据段
数据段可包含 0~8 个字节的数据。从MSB(最高位)开始输出。
MSB和LSB
大端和小端

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值