Advertisement

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)

还没有任何评论哟~