STM32/GD32——CAN协议

说明:本文不断更新中,内容均为作者手打...

芯片选型

Ciga Device — GD32F470系列

CAN协议规则

CAN帧种类介绍

CAN总线以“帧”的方式进行通讯。CAN协议定义了5种类型的帧:数据帧、遥控帧、错误帧、过载帧、间隔帧。其中“数据帧”最为常用。

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

CCAN数据帧介绍

***其他帧请阅读官方协议说明,本文仅介绍数据帧***

数据帧由7段组成,数据帧分为标准帧(CAN2.0A)和扩展帧(CAN2.0B),主要体现在仲裁段和控制段。

  1. 帧起始:1位,以显性信号逻辑“0”开始。类似于URAT中的开始信号。
  2. 仲裁段:表示该帧优先级的段。数据帧:包含ID(标识符,11位)和RTR(远程发送请求位,0-数据帧,1-远程帧),遥控帧和数据帧最大的区别就是没有数据段;扩展帧:包含ID(标识符,11位)、扩展ID(18位)、SRR(作用同RTR)、
  3. 控制段:表述数据的字节数及保留位的段。包含IDE(扩展标识符位,1位),R0(1位)、DLC(数据长度编码,4位)
  4. 数据段:0-8字节的数据。
  5. CRC段:检查帧传输错误的段。包含CRC循环校验和DEL界定符。
  6. ACK段:表示确认正常的接收。总线收到后会置为显性信号0表示应答
  7. 帧结束:表示帧结束了,7位1结束。

CAN位时序介绍

CAN总线仲裁

CAN控制器介绍

HAL库驱动介绍

代码案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值