stm32-CAN

本文详细介绍了CAN总线的通信概念,包括闭环和开环总线网络、通讯节点以及差分信号电平。接着深入解析了CAN协议的位时序分析、波特率设定、同步过程和报文结构。最后,概述了STM32外设CAN的特点,如发送邮箱、接收FIFO和位时序配置,并提到了CAN筛选器的应用。
摘要由CSDN通过智能技术生成

1、概念

CAN是一种异步通信,使用CAN_HIGH,CAN_LOW两根信号线实现差分通信,通信网络有两种:闭环总线网络、开环总线网络

1.1闭环总线网络

特点:

  • 遵循 ISO11898 标准
  • 高速、短距离
  • 总线最大长度为 40m,通信速度最高为 1Mbps
  • 两端各要求有一个“120 欧”的电阻。


1.2开环总线网络

特点:

  • 遵循 ISO11519-2 标准
  • 低速远距离
  • 最大传输距离为 1km,最高通讯速率为 125kbps
  • 每根总线上各串联有一个“2.2 千欧”的电阻


1.3 通讯节点

CAN通讯节点由一个CAN控制器和一个CAN收发器构成;

  • 控制器与收发器之间:CAN_Tx CAN_Rx 信号线(TTL逻辑
  • 收发器与 CAN 总线之间: CAN_High CAN_Low信号线

1.4 差分信号电平


注:假如有两个 CAN 通讯节点,在同一时间,一个输出隐性电平,另一个输出显性电平,类似 I2C 总线的“线与”特性将使它处于显性电平状态,显性电平的名字就是这样来的, 即可以认为 显性具有优先的意味。

        由于 CAN 总线协议的物理层只有 1 对差分线,在一个时刻只能表示一个信号,所以对通讯节点来说, CAN 通讯是半双工的,收发数据需要分时进行。在 CAN 的通讯网络中,因为共用总线,在整个网络中同一时刻只能有一个通讯节点发送信号,其余的节点在该时刻都只能接收。

2、协议层

2.1位时序分析

        为了实现位同步, CAN 协议把每一个数据位的时序分解成四段:SS 段、PTS 段、 PBS1 段、 PBS2 段,这四段的长度加起来即为一个 CAN 数据位的长度。(即每一个数据位都会经历同步等操作)

  • SS 段(SYNC SEG):SS 译为同步段, 若通讯节点检测到总线上信号的跳变沿被包含在 SS 段的范围之内,则表示节点与总线的时序是同步的,当节点与总线同步时,采样点采集到的总线电平即可被确定为该位的电平。 SS 段的大小固定为 1Tq。
  • PTS (PROP SEG) : PTS 译为传播时间段,这个时间段是用于补偿网络的物理延时时间。 是总线上输入比较器延时和输出驱动器延时总和的两倍。 PTS 段的大小可以为 1~8Tq
  • PBS1 段(PHASE SEG1): PBS1 译为相位缓冲段,主要用来补偿边沿
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值