R5 STM32 CAN总线协议-物理层

来源:互联网 发布:阿里云怎么申请退款 编辑:程序博客网 时间:2024/04/27 17:24

STM32 CAN总线

CAN是控制器局域网络(Controller Area Network)的简称。
具有的高可靠性和良好的错误检测能力。为半双工。

目录

  • STM32 CAN总线
      • 目录
      • CAN 物理层
        • 闭环总线网络
        • 开环总线网络
        • 通讯节点
        • 差分信号
        • CAN协议中的差分信号
      • CAN 协议层


CAN 物理层

与I2C、SPI等具有时钟信号的同步通讯方式不同,CAN通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有CAN_High和CAN_Low两条信
号线,共同构成一组差分信号线,以差分信号的形式进行通讯。(没有时钟)
CAN物理层的形式主要分为闭环总线开环总线网络两种,一个适合于高速通讯,一个适合于远距离通讯。

闭环总线网络

CAN闭环通讯网络是一种遵循ISO11898标准的高速、短距离网络,它的总线最大长度为40m,通信速度最高为1Mbps,总线的两端各要求有一个“120欧”的电阻。
这里写图片描述

开环总线网络

CAN开环总线网络是遵循ISO11519-2标准的低速、远距离网络,它的最大传输距离为1km,最高通讯速率为125kbps,两根总线是独立的、不形成闭环,要求每根总线上各串联有一个“2.2千欧”的电阻。
这里写图片描述

通讯节点

1.CAN总线上可以挂载多个通讯节点,节点个数理论上不受限制,只要总线的负载足够即可,可以通过中继
器增强负载。
2.CAN通讯节点由一个CAN控制器(STM32内置有)及CAN收发器组成,控制器与收发器之间
通过CAN_Tx及CAN_Rx信号线相连,收发器与CAN总线之间使用CAN_High及CAN_Low信号线相连。其中CAN_Tx及CAN_Rx使用普通的类似TTL逻辑信号(TTL信号在STM32就是3.3V和0V),而CAN_High及CAN_Low是一对差分信号线,使用比较特别的差分信号

差分信号

1.抗干扰能力强
2.能有效抑制它对外部的电磁干扰
3.时序定位精确
由于差分信号线具有这些优点,所以在USB协议、485协议、以太网协议及CAN协议的物理层中,都使用了差分信号传输。

CAN协议中的差分信号

CAN协议中对它使用的CAN_High及CAN_Low表示的差分信号做了规定。
以高速CAN协议为例,当表示逻辑1时(隐性电平),CAN_High和CAN_Low线上的电压均为2.5v,即它们的电压差V H -V L =0V;而表示逻辑0时(显性电平),CAN_High的电平为3.5V,CAN_Low线的电平为1.5V,即它们的电压差为V H -V L =2V。
这里写图片描述

CAN 协议层