1、CAN只具有CAN_High和CAN_Low两条信号线,CAN是以差分信号的形式进行通信的;
2、CAN通信有两种网络:一种是遵循ISO11898标准的高速短距离闭环网络,它的总线最大长度为40m,通信速度最高位1Mbit/s;另外一种是遵循ISO11519-2标准的低速远距离开环网络,最大传输距离为1km,最高通信速率为125kbit/s。
3、CAN的通信节点由一个CAN控制器、一个CAN接收器组成;STM32的CAN接口即为CAN控制器,为了构成完整的节点,还要外接一个CAN收发器。
4、差分信号,即信号的逻辑0和逻辑1由两根差分信号线的电压差来表示。
ISO11898规定CAN协议中处于逻辑1(隐性电平)时,CAN_High和CAN_Low线上的电压均为2.5V,即电压差Vh-Vl=0V。而在逻辑0(显性电平)时,CAN_High的电平为3.5V,CAN_Low线的电平为1.5V,即他们的电压差为Vh-Vl=2V。
5、在CAN总线中,必须处于隐性电平(逻辑1)或显性电平(逻辑0)中的一个状态。假如有两个CAN通信节点,在同一时间,一个输出隐性电平,另一个输出显性电平,总线的“线与”特性将使它处于显性电平状态,即可以认为显性具有优先的意味。
6、CAN一共有5种类型的帧(报文):数据帧(用于发送单元向接收单元传送数据的帧)、遥控帧(用于接收单元向具有相同ID的发送单元请求数据的帧)、错误帧(用于当检测出错误时向其他单元通知错误的帧)、过载帧(用于接收单元通知其尚未做好接收准备的帧)、帧间隔(用于将数据帧及遥控帧与前面的帧分离开来的帧);
7、数据帧是在CAN通信中最主要、最复杂的报文;数据帧以一个显性位(逻辑0)开始,以7个连续的隐形位(逻辑1)结束。在它们之间,分为仲裁段、控制段、数据段、CRC段和ACK段。
7.1、仲裁段的内容主要为本数据帧的ID信息。数据帧分为标准格式和扩展格式两种,区别就在于ID信息的长度,标准格式的ID为11位,扩展格式的ID为29位。
在CAN协议中,ID起着重要的作用,它决定真数据帧发送的优先级,也决定着其他设备是否会接收这个数据帧。
仲裁段除了报文ID外,还有RTR、IDE、SRR位。其中RTR(Remote Transmission Request)位用于区分数据帧和遥控帧的,在数据帧里这一位为显性(逻辑0)。IDE(Identifier Extension)位用于区分标准格式与扩展格式的,在标准格式中为显性,在扩展格式里为隐性。SRR(Substitute Remote Request)位只存在于扩展格式,它用于替代标准格式中的RTR位。SRR位为隐性位,由于RTR在数据帧为显性位,所以在两个ID相同的标准格式报文与扩展格式报文中,标准格式的优先级较高。
7.2、在控制段的r1和r0为保留位,默认设置为显性位。最主要的为DLC段,DLC段由4位组成,MSB先行,它的二级制编码用于表示本报文中的数据段含有多少个字节,DLC段表示的数字为0~8;
7.3、数据段为数据帧的核心内容,它由0~8个字节组成,MSB先行;
7.4、CAN的报文包含了一段15位的CRC校验码,一旦接收端计算出CRC跟接收到的CRC码不同,则会向发送端反馈出错信息以及重新发送。CRC部分的计算和出错处理一般由CAN控制器硬件完成或由软件控制最大重发数;在CRC校验码之后,有一个CRC界定符,它为隐性位,主要作用是把CRC校验码与后面的ACK段隔开。
7.5、ACK段包括一个ACK槽位和ACK界定符位。
8、CAN协议把每一位的时序分解为SS段、PTS段、PBS1段和PBS2段,这四段的长度加起来即为一个CAN数据位的长度。分解后最小的时间单位是Tq,而一个完整的位由8~25个T区组成。
8.1、SS段为同步段,若总线的跳变沿被包含在SS段的范围之内,则表示节点与总线的时序同步。节点与总线同步时,采样点采集到的总线电平即可被确定为该位的电平。SS段的大小为1Tq。
8.2、PTS段为传播时间段,这个时间段用于补偿网络的物理延时时间,是总线上输入比较器延时和输出驱动器延时总和的两倍。PTS段的大小为1~8Tq;
8.3、PBS1段为相位缓冲段,主要用来补偿边沿阶段的误差,它的时间长度在重新同步的时候可以加长。PBS1段的初始大小可以为1~8Tq;
8.4、PBS2段为另一个相位缓冲段,也是用来补偿边沿阶段误差的,它的时间长度在重新同步时可以缩短。PBS2段的初始大小可以为2~8Tq。
9、STM32的所有型号芯片中都具有不行CAN控制器(Basic Extend CAN),它支持CAN协议2.0A和2.0B。bxCAN接口可以自动地接收和发送CAN报文,支持标准标识符和扩展标识符。它具有3个发送邮箱,发送报文的优先级可以使用软件,可以记录发送的时间。有两个3级深度的接收FIFO,可以使用过滤功能只接收或不接收某些ID号的报文。可以配置成自动重发。不支持使用DMA进行数据收发。

STM32之CAN控制器相关推荐

  1. STM32系列微控制器入门介绍

    文章目录 目的 基础需求 电路基础 编程语言 入门介绍 官方网站 型号选择 开发方式 开发工具 程序调试 固件烧录 资料说明 总结 目的 STM32是意法半导体(ST)推出的主要基于ARM Corte ...

  2. 9-基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献)

    基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献) 文章目录 基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT ...

  3. can总线程序讲解_详解stm32的CAN控制器(程序分享)

    首先简单介绍一下CAN总线,关于CAN总线是谁发明的,CAN总线的历史,CAN总线的发展,CAN总线的应用场合,这些,通通不说.这里只是以我个人理解,简单说说CAN通信.CAN总线的端点没有地址(除非 ...

  4. stm32/gd32电动车控制器资料

    stm32/gd32电动车控制器资料 电动车控制器原理图.PCB和程序 大厂成熟电机foc控制 送eg89m52的原理图和pcb ID:695652995403923

  5. STM32脉冲伺服电机控制器参考技术方案

    STM32脉冲伺服电机控制器参考技术方案 id=661871202965&

  6. 【毕业设计】9-基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献)

    毕业设计]基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿真工程+论文+PPT+参考英文文献) 文章目录 毕业设计]基于STM32无刷直流电机控制器的设计仿真与实现(原理图+源码+仿 ...

  7. 小白围观,超级牛的STM32 BLDC直流电机控制器设计

    2019-02-28 16:39:06 本设计是基于STM32 BLDC直流无刷电机控制器设计,并附上原理图和源码等,供网友参考学习.源代码是基于免费开源CoOS(UCOS类似)操作系统上写的,在学习 ...

  8. 【STM32】系统配置控制器相关函数和类型

    00. 目录 文章目录 00. 目录 01. 概述 02. 相关类型 03. 相关函数 04. 结构体封装 05. 附录 06. 声明 01. 概述 系统配置控制器主要用于管理对可执行代码的存储区域的 ...

  9. 使用STM32CubeMX和TrueSTUDIO开发STM32系列微控制器

    文章目录 这种方式现在已经不推荐了 关于STM32CubeMX STM32CubeMX介绍 为什么使用STM32CubeMX 下载及安装 关于TrueSTUDIO TrueSTUDIO介绍 为什么使用 ...

最新文章

  1. Angular路由--基本用法
  2. 字符串,枚举,数值之间的转换
  3. QT绘制散点图(2)
  4. react中setState有三种用法
  5. codeforces 234E Champions' League
  6. struts2值栈,OGNL表达式,interceptor
  7. uilabel 自行撑开高度_IOS UILabel自適應里面的文字,自動調整寬度和高度的
  8. Linux 生产者消费者简单例子学习
  9. sql中去掉字段的所有空格
  10. EasyUI的增删查改(后台ASP.NET)
  11. J - 免费馅饼(动态规划)数塔
  12. 增值税发票综合服务平台常见问题解决方法(珍藏版)
  13. 系统集成项目管理工程师14真题解析
  14. 架空线路的基本结构及组成
  15. 12306抢票软件相关接口以及数据格式
  16. linux下看学校的IPTV
  17. 在一所普通211高校读本科在TOP2高校读研究生的感触
  18. Java面试题:MySql高频面试题
  19. 如何在内网环境下解决rpm包的问题
  20. windows7隐藏桌面计算机,教你win7小技巧之隐藏桌面图标

热门文章

  1. css和图片如何实现圆角边框
  2. 记一次vue项目打包优化
  3. CocosCreator受击闪白效果 可合批
  4. Buffalo WCR-GN路由器诊断功能命令注入漏洞
  5. U盘格式化后打不开解决方案
  6. 爱思助手安装应用历史版本步骤
  7. CSS特性 之渐变 (全网最全)
  8. FT232替代GP232RL USB-RS232转换器芯片国产化应用
  9. 工业应用中如何选取合适的损失函数(MAE、MSE、Huber)-Pytorch版
  10. 互联网商业模式设计方案