CAN总线学习资料总结

在这里插入图片描述
CAN(低层或称硬件)协议仅仅定义了第 1 层(物理层)和第 2 层(数据链路层)
CAN总线简明易懂教程(讲得不错)
CAN总线简明易懂教程(一)
CAN总线简明易懂教程(二)
CAN总线简明易懂教程(三)

深入浅出、通俗易懂的讲解CAN bus(图文讲解比较通俗易懂)

基于STM32的CAN总线通信学习笔记

CAN相关计算:
CAN总线-位时序、波特率、采样点
关于采样点和波特率的计算公式:

 CAN波特率 = CAN时钟/( (1 + CAN_BS1 + CAN_BS2)  * CAN_Prescaler) 
 sample = (1 +  CAN_BS1) /  (1 +  CAN_BS1 +  CAN_BS2) 
 
 如果  CAN时钟为8M,CAN_BS1 = 9,CAN_BS2 = 6,CAN_Prescaler = 5
 那么  波特率=8M/(1+9+6)/5=100K
       采样点=1+9/1+9+6=62.5%

由上面可以看出来,同一波特率条件下,BS1、BS2可以有不同的组合,不同的组合采样点不同。

STM32标称位计算

例如,假设 FOSC = 20 MHz 时欲实现 125 kHz 的 CAN
波特率:
TOSC = 50 ns, 选择 BRP<5:0> = 04h, 则 TQ = 500 ns。欲达到 125 kHz,位时间应为 16 TQ。位的采样时刻取决于系统参数,通常应发生在位时间的60-70% 处。同时, TDELAY 典型值为 1-2 TQ。同步段 = 1 TQ,传播段 = 2 TQ,这种情况下设置相位缓冲段 PS1 = 7 TQ,将会在跳变之后的 10 TQ 时进行采样。此时相位缓冲段 PS2 长度为 6 TQ。由于相位缓冲段 PS2 长度为 6 TQ,根据规则, SJW 最大值为 4 TQ。然而通常状况下,只有当不同节点的时钟发生不够精确或不稳定 (如采用陶瓷谐振器)时,才需要较大的 SJW。一般情况下, SJW 取值 1 TQ 即可满足要求。
咱来理一理以上的内容:
首先晶振是20Mhz,那它的周期就为1/20MHz=50ns,如果BPR=4,则TQ=2*(4+1)50ns=500ns,那要实现125kHz也就是周期等于8us的一个标称位,那么就需要16TQ=8us/500ns。这16TQ需要按照编程要求对它们进行分布,首先同步段得1TQ,位采样时间要位于位的60%-70%处,那么这样算下来,采样的点也就PS1与PS2交点,PS1按照60%算的话也得9.6,即同步段1TQ,传播段2TQ,相位缓冲段PS1为7TQ,剩下PS2就剩6TQ。这样算下来是比较合适的。比较符合以上的要求。
那如果假设 FOSC = 8 MHz 时欲实现 1M 的 CAN的波特率:
TOSC = 0.125us, 选择 BRP<5:0> = 04h, 则 TQ =1.25us。欲达到 1MHz,位时间应为不到1 TQ。
晶振为8MHz,周期就为0.125us,如果BPR为4的话,则TQ=2
(4+1)0.125us=1.25us,那要实现1Mhz的也就是周期为1us的标称位,只有不到1TQ的为时间,显然不可行。即使BPR为0,TQ=0.25us。所以1M的波特率需要4TQ,也不能实现。实现800Khz的1.25us,需要5TQ,显然也不适合。
对于要实现500Khz是,当BPR为0时,TQ=2
(0+1)*0.125us=0.25us,要实现500KHz的波特率需要8TQ。这样来说还是可以满足时间段的要求的。

在这里插入图片描述
在这里插入图片描述

书籍
《CAN总线轻松入门与实践》 李真花 崔健
《手把手教你学CAN总线》 来清民
《CAN总线嵌入式开发 从入门到实战》牛跃听 周立功

一个典型的CAN硬件电路
在这里插入图片描述

CAN应用层(高层)协议:
CAN协议和CANOpen协议是两套不同的协议。从软硬件层次来划分,CAN协议属于硬件协议,而CANOpen属于软件协议。
CANOpen系列教程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值