CAN总线:Controller Area Network

1 CAN总线综述

不同速度的CAN总线可以通过 网关 链接(延长距离)和转换(传输速度)。
CPU和CAN控制器是一体的,外接收发器芯片如Tja1050/82c250;如果没有CAN控制器,外扩一个MCP2515(SPI)或Sja1000。

在这里插入图片描述
组网:
1、环路:两端接上120Ω的匹配电阻;(500k - 1M)
2、开环:终端接上120Ω的匹配电阻。

特点:

  1. 无主从之分,每一个节点都可以主动发送消息;优先级ID越小,越高;所有消息以固定格式发送。
  2. 没有地址的概念,可以任意添加节点而不用改变其他单元的硬件和应用层。
  3. 数据传输是以广播的形式发送的;
  4. 可以通过“遥控帧”,请求其他单元发送数据。

1.1 几个重点

  1. 隐性位与显性位
    CAN总线是差分信号,CAN总线为“隐性”(逻辑1)时,CAN_H和CAN_L的电平为2.5V,但是电位差为0V。
    CAN总线为“显性”(逻辑0)时,CAN_H和CAN_L的电平为3.5V和1.5V,但是电位差为2.5V。

  2. 数据帧类型
    标砖数据帧
    在这里插入图片描述
    1)、标识符: 11位ID号;RTR、IDE、RB0:决定帧的性质,遥控(数据)帧,标准(扩展)帧。
    2)、数据长度码:最长8字节;CRC字段:CRC校验;确认区结束符

  3. 标准远程帧
    4.

1.2 位时间特性

CAN总线上所有期间都需要使用相同的比特率。
同步段(SYNC_SEG):同步段为手段,用于同步CAN总线上的各个节点。输入信号的跳变沿就发生在同步段。同步段尺寸时间为1TQ。
时间段1(BS1):定义采样点的位置。 时间段2(BS2):定义发送点的位置。
在这里插入图片描述
当然在STM32下有专用寄存器控制这个位时间图。
在这里插入图片描述

CAN波特率=系统时钟/分频数/1*tq+tBS1+tBS2)

tBS1 = tq * (TS1[3:0] + 1)
tBS2 = tq * (TS2[2:0] + 1)
tq = (BRP[9:0] + 1 )*tPCLK
tq表示一个时间单元
TPCLK = APB 时钟的时间周期

总体配置保持:
	tBS1 >= tBS2, tBS2>=1个CAN时钟周期,tBS2>=2tSJW
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值