电子发烧友网 > 控制/MCU > 正文

STM32的can现场总线的特点及工作流程分析

2017年11月29日 19:49 次阅读

最近在搞stm32实验板的can现场总线实验,之前只是搞过STC51的串口通信,相比之下,发觉can总线都挺复杂的。开始时,知道自己是新手,只知道can总线跟串行通信,485通信,I2C通信一样都是用来传输数据通信的,对其工作原理一窍不通,还是从基础开始看书看资料,先了解它的基本原理吧。

原来can总线有以下特点:

主要特点

支持CAN协议2.0A和2.0B主动模式

波特率最高可达1兆位/秒

支持时间触发通信功能
 

发送

3个发送邮箱

发送报文的优先级特性可软件配置

记录发送SOF时刻的时间戳

 

接收

3级深度的2个接收FIFO

14个位宽可变的过滤器组-由整个CAN共享

标识符列表

FIFO溢出处理方式可配置

记录接收SOF时刻的时间戳

 

可支持时间触发通信模式

禁止自动重传模式

16位自由运行定时器

定时器分辨率可配置

可在最后2个数据字节发送时间戳

 

管理

中断可屏蔽

邮箱占用单独1块地址空间,便于提高软件效率

 

看完这些特点后,疑问一个一个地出现,

1. 什么是时间触发功能?

2. 发送邮箱是什么来的?

3. 报文是什么来的?

4. 什么叫时间戳?

5. 什么叫接收FIFO?

6. 什么叫过滤器?

 

好了,带着疑问往下看,看完一遍后,

 

报文:

报文包含了将要发送的完整的数据信息

 

发送邮箱:

共有3个发送邮箱供软件来发送报文。发送调度器根据优先级决定哪个邮箱的报文先被发送。

 

接收过滤器:

共有14个位宽可变/可配置的标识符过滤器组,软件通过对它们编程,从而在引脚收到的报文中选择它需要的报文,而把其它报文丢弃掉。

 

接收FIFO

共有2个接收FIFO,每个FIFO都可以存放3个完整的报文。它们完全由硬件来管理

 

工作模式

bxCAN有3个主要的工作模式:初始化、正常和睡眠模式。

 

初始化模式

*软件通过对CAN_MCR寄存器的INRQ位置1,来请求bxCAN进入初始化模式,然后等待硬件对CAN_MSR寄存器的INAK位置1来进行确认

*软件通过对CAN_MCR寄存器的INRQ位清0,来请求bxCAN退出初始化模式,当硬件对CAN_MSR寄存器的INAK位清0就确认了初始化模式的退出。

*当bxCAN处于初始化模式时,报文的接收和发送都被禁止,并且CANTX引脚输出隐性位(高电平)

 

正常模式

在初始化完成后,软件应该让硬件进入正常模式,以便正常接收和发送报文。软件可以通过对CAN_MCR寄存器的INRQ位清0,来请求从初始化模式进入正常模式,然后要等待硬件对CAN_MSR寄存器的INAK位置1的确认。在跟CAN总线取得同步,即在CANRX引脚上监测到11个连续的隐性位(等效于总线空闲)后,bxCAN才能正常接收和发送报文。

 

过滤器初值的设置不需要在初始化模式下进行,但必须在它处在非激活状态下完成(相应的FACT位为0)。而过滤器的位宽和模式的设置,则必须在初始化模式下,进入正常模式前完成。

 

睡眠模式(低功耗)

12345下一页全文

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

《计算机体系结构——网络篇1》之 网络结构、IP分组交换技术、IP/MAC映射

点击右方"佳嵌"图标,可以看所有课程。《嵌入式工程师-系列课程》分成两大阶段:第一阶段:《计算机体系结构》课程 
发烧友学院发表于 2018-12-08 00:00 2513次阅读
《计算机体系结构——网络篇1》之 网络结构、IP分组交换技术、IP/MAC映射

一文详解STM32端口复用及映射

STM32有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复....
发表于 2020-09-23 11:02 46次阅读
一文详解STM32端口复用及映射

基于STM32的步进电机速度控制

在制作一个使用全向轮的机器人底盘,对于全向轮,电机的精度是影响效果的重要因素。所以使用了步进电机,使....
发表于 2020-09-23 10:51 58次阅读
基于STM32的步进电机速度控制

STM32单片机的八种IO口模式

GPIO_Mode_IN_FLOATING浮空输入。浮空输入状态下,IO的电平状态是不确定的,完全由....
发表于 2020-09-21 16:25 251次阅读
STM32单片机的八种IO口模式

关于STM32编码器的接口模式

编码器是一种比较常见的产品(也可以理解为传感器),最常见的就是配合电机一起工作,那么,你对编码器有多....
发表于 2020-09-21 14:26 118次阅读
关于STM32编码器的接口模式

如何使用KeilMDK以及标准外设库创建STM3...

本文所使用Keil MDK 的版本为V4.21。其他版本差别不大,读者可以根据自己使用的版本进行操作....
发表于 2020-09-21 11:51 179次阅读
如何使用KeilMDK以及标准外设库创建STM3...

STM32与华为LiteOS如何共同打造物联网的...

9月13日,2020 STM32全国研讨会(深圳站),华为LiteOS架构师苗欣做了题为“STM32....
发表于 2020-09-21 11:40 269次阅读
STM32与华为LiteOS如何共同打造物联网的...

STM32 接 MAX3221 完成RS232通信 ,自环没问题但是接了usb转232线缆 波形就变差了

STM32接MAX3221 原理图如下1: STM32 从该UART发送55 或者别的码,RS232_TXD波形如下图: ...
发表于 2020-09-19 23:28 204次阅读
STM32 接 MAX3221  完成RS232通信  ,自环没问题但是接了usb转232线缆 波形就变差了

求STM32F4的AS608的源码

求一份基于STM32F4的AS608源码
发表于 2020-09-19 21:36 36次阅读
求STM32F4的AS608的源码

STM32系列可通过FMSC接口外扩并口SRAM

STM32MCU一般情况下配置有1~2MB双块Flash存储器和256KB SRAM,在某些应用设计....
发表于 2020-09-19 10:45 111次阅读
STM32系列可通过FMSC接口外扩并口SRAM

有关STM32控制直流电机

我用stm32经TB6559直流驱动来控制直流电机,PWM端加光耦隔离 , IN1、IN2与stm32之间需要加光耦吗?还是说都...
发表于 2020-09-19 10:41 217次阅读
有关STM32控制直流电机

如何开源一块自制STM32板卡   

开源一块自制STM32通用功能板卡,这个板卡已经成功应用在自己的几个项目中,工作稳定可靠,大家可以根....
发表于 2020-09-19 10:13 141次阅读
如何开源一块自制STM32板卡   

一文知道STM32 GUI的应用

整体上讲,很多STM32芯片内置了功能强大的用于加速图形处理的硬件加速器,借助它们一方面可以大大减轻....
发表于 2020-09-19 09:20 190次阅读
一文知道STM32 GUI的应用

STM32移植程序

哪位有意向借个小单? 要求:想要一个STM32F427的工程模板,用HAL库编程,用正点原子的例程改,就是移植,把F...
发表于 2020-09-18 16:13 28次阅读
STM32移植程序

core-G1【STM32F103C8T6】核心板 跑马灯实验

一、本章简介 本章以core-G1【STM32F103C8T6】核心板 跑马灯实验 之入门系列1工程为例,介绍STM32关于GPI...
发表于 2020-09-18 12:54 101次阅读
core-G1【STM32F103C8T6】核心板 跑马灯实验

造成CAN总线模块损坏的原因

can总线模块是一个比较模糊的概念,但凡是和CAN总线沾边,应用CAN总线进行通讯的设备,我们其实都....
发表于 2020-09-18 11:26 72次阅读
造成CAN总线模块损坏的原因

STM32定时器问题

STM32同一定时器的不同通道可以配置为不同的模式吗?例如定时器1的1、2通道设置为正交编码模式,3、4通道设置为PW...
发表于 2020-09-18 10:22 74次阅读
STM32定时器问题

带你一起来看STM32的远望

煽动MCU/MPU市场,STM32的生态图 蝴蝶扇动翅膀, 便可引发彼岸的暴风雨。 STM32这只蝴....
发表于 2020-09-18 10:01 263次阅读
带你一起来看STM32的远望

求比较简单易懂的stm32教程

求各位大佬给点通俗易懂易上手的教程(已经学过51单片机)...
发表于 2020-09-17 23:12 101次阅读
求比较简单易懂的stm32教程

针对STM32客户的反馈,对使用STM32加密库...

前言 比特币是一个基于区块链和密码技术的应用。本文针对STM32客户的反馈,对那些使用STM32加密....
发表于 2020-09-17 17:35 138次阅读
针对STM32客户的反馈,对使用STM32加密库...

求一份STM32用的ad9910源码

手上有块ad9910,找商家要了资料但是例程还是跑不起,不知道哪里出问题了,想找一个能用的源码,测一下是软件问题还是...
发表于 2020-09-17 15:39 35次阅读
求一份STM32用的ad9910源码

Maxim发布最新基础模拟收发器,旨在提高工业系...

对于许多关键的工业应用,例如资产管理系统和通信现场总线模块,可靠连接是优化生产过程、提高系统正常运行....
发表于 2020-09-17 15:17 148次阅读
Maxim发布最新基础模拟收发器,旨在提高工业系...

人工气候室由中心控制室、试验培养室和人工能源室组...

人工气候室是由托普云农研发供应的,该仪器是进行各类生物气候实验的专用仪器,其能够充分利用自然资源,并....
发表于 2020-09-17 13:59 32次阅读
人工气候室由中心控制室、试验培养室和人工能源室组...

有关AB相磁编码器与STM32F103C8T6之间脉冲计数问题

AB相磁编码器与STM32F103C8T6引脚应该怎么连接?我看手册通用定时器四个通道都可以实现输入捕获功能,那是否能...
发表于 2020-09-17 12:29 79次阅读
有关AB相磁编码器与STM32F103C8T6之间脉冲计数问题

HP45墨盒双喷控制板

该控制板采用STM32H7开发。
发表于 2020-09-16 16:06 101次阅读
HP45墨盒双喷控制板

意法半导体端侧人工智能零基础实训来啦

人工智能的落地普及,关键要看端侧AI应用场景的技术实现。 当我们谈起人工智能时,常常不自觉地会赋予A....
发表于 2020-09-16 15:16 475次阅读
意法半导体端侧人工智能零基础实训来啦

STM32 CubeMx的安装教程

STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就....
发表于 2020-09-15 14:45 125次阅读
STM32 CubeMx的安装教程

STM32全国巡回研讨会拉开帷幕

STM32全国研讨会 9月13-25日,STM32全国巡回研讨会即将拉开帷幕,深圳/杭州站作为今年的....
发表于 2020-09-15 14:09 394次阅读
STM32全国巡回研讨会拉开帷幕

STM32中电源各引脚说明分析

VBAT:给后备区域供电,维持包括RTC/BKP寄存器等在内的一些数据的保存。
发表于 2020-09-14 12:01 362次阅读
STM32中电源各引脚说明分析

学习STM32的思路和关键步骤

设置GPIO口的引脚为输入或者输出模式。我们在进行点灯代码的时候,一般设置为推挽输出模式。
发表于 2020-09-13 11:15 393次阅读
学习STM32的思路和关键步骤

STM32CubeMX+使用教程

来源:STM32单片机 STM32CubeMX+使用教程 STM32CubeMX简介 STM32Cu....
发表于 2020-09-11 10:02 229次阅读
STM32CubeMX+使用教程

基于STM32的正交编码器驱动电机设计

1。编码器原理 什么是正交?如果两个信号相位相差90度,则这两个信号称为正交。由于两个信号相差90度....
发表于 2020-09-10 16:25 519次阅读
基于STM32的正交编码器驱动电机设计

【每日资料精选】电源设计+STM32+RAM处理...

今天给小伙伴们分享的是电源设计方面和 STM32 微控制器,以及一款 ARM 处理器,有需要的小伙伴....
发表于 2020-09-09 22:58 421次阅读
【每日资料精选】电源设计+STM32+RAM处理...

解密运行片外Flash中的app代码

使用STM32L5的OTFDEC和ICACHE功能实时高效运行片外Flash中的加密代码 简介 目标....
发表于 2020-09-09 13:54 192次阅读
解密运行片外Flash中的app代码

基于STM32多通道ADC综合应用示例

这里不妨以STM32F302芯片为例,来介绍两种实现上述功能的大致方案以供参考。方案里涉及到ADC规....
发表于 2020-09-08 14:10 298次阅读
基于STM32多通道ADC综合应用示例

关于STM32的入门问题

前两天在群里看到群友们在讨论学习STM32的话题,并且今天也有一位机械专业的准研究生读者也问了STM....
发表于 2020-09-08 11:20 355次阅读
关于STM32的入门问题

【每日资料精选】电源解决方案+电机解决方案+开源...

今天给大家分享的是几个很实用的解决方案资料及手册,对电机方面、电源方面以及 MCU 有需要的小伙伴赶....
发表于 2020-09-08 00:31 307次阅读
【每日资料精选】电源解决方案+电机解决方案+开源...

意法半导体新增一款QFN48封装

意法半导体为其获奖产品STM32WLE5 *无线系统芯片(SoC)的产品组合新增一款QFN48封装,....
发表于 2020-09-07 15:13 251次阅读
意法半导体新增一款QFN48封装

STM32WB的双核架构及其优缺点解析

两年前,意法半导体推出STM32WB,以强大无线连接能力、低功耗特性、高安全性,剑指如火如荼的物联网....
发表于 2020-09-05 11:27 316次阅读
STM32WB的双核架构及其优缺点解析

【每日资料精选】意法半导体STM32&S...

今天给大家带来的是 意法半导体 STM32 系列以及STM8系列MCU的一些介绍和相关的资料手册,希....
发表于 2020-09-04 23:24 94次阅读
【每日资料精选】意法半导体STM32&S...

【每日资料精选】电机+STM32+PCB+智能机...

本次分享的内容范围毕竟广,有电机方面的,有 PCB 工艺方面的,也有 嵌入式 单片机 方面的,对这些....
发表于 2020-09-04 23:17 185次阅读
【每日资料精选】电机+STM32+PCB+智能机...

STM32在不同模式下的电流消耗及唤醒时间

当笔记本为读卡器引入上述控制器,而SD 7.x标准的存储卡大量上市后,存储卡就=SSD,这种扩容方式....
发表于 2020-09-04 16:19 137次阅读
STM32在不同模式下的电流消耗及唤醒时间

快速理解STM32位带操作原理

作者:strongerHuang 说到位带操作,可能很多人比较陌生,但说到控制IO,你肯定不会陌生。....
发表于 2020-09-03 15:40 242次阅读
快速理解STM32位带操作原理

STM32的GPIO使用

分享本文,介绍STM32的GPIO使用。
发表于 2020-09-03 09:28 193次阅读
STM32的GPIO使用

采用stm32f103rc的STM32最小系统

采用stm32f103rc的STM32最小系统详细解析图,如下:
发表于 2020-09-01 11:39 536次阅读
采用stm32f103rc的STM32最小系统

关于ST-Link的实际编程和调试应用的场景分析

ST-Link编程和调试应用 下面罗列一些关于ST-Link常见的编程和调试应用,看看你还有不知道吗....
发表于 2020-08-31 14:42 458次阅读
关于ST-Link的实际编程和调试应用的场景分析

四个正弦波逆变器项目设计

逆变器是把直流电能(电池、蓄电瓶)转变成交流电(一般为220V,50Hz正弦波)。它由逆变桥、控制逻....
发表于 2020-08-31 10:06 398次阅读
四个正弦波逆变器项目设计

ADC的内部原理说明

用了这么久ADC,从没细看过ADC的内部原理和如何获得最佳精度,今天看到一篇ST的官方文档讲的不错,....
发表于 2020-08-30 10:04 509次阅读
ADC的内部原理说明

STM32芯片如何使用片内参考电压实现模拟看门狗

STM32芯片的ADC模块往往都支持模拟看门狗功能,即可以对单个或多个通道开启模拟转换值的监测。当模....
发表于 2020-08-29 16:16 605次阅读
STM32芯片如何使用片内参考电压实现模拟看门狗

立功科技冲刺创业板,致力于推广普及新技术

在学习推广新技术的道路上,立功科技从未停止前进的步伐。CAN总线是德国Bosch公司于20世纪80年....
发表于 2020-08-28 15:34 969次阅读
立功科技冲刺创业板,致力于推广普及新技术

基于STM32单片机的三自由度体感仿生机械臂

由两个发送端组成整个机械臂系统,发送端一图5.7在PCB线路板上设计并焊接集成了STM32F103C....
发表于 2020-08-27 17:35 407次阅读
基于STM32单片机的三自由度体感仿生机械臂

查找CAN总线故障的方法

CAN总线的出现为分布式控制系统实现各节点之间实时、可靠的数据通信提供了强有力的技术支持,在带来便利....
发表于 2020-08-26 10:41 281次阅读
查找CAN总线故障的方法

意法半导体推出适用STLINK-V3SET的电压...

通过STDC14连接器用作STM32调试探针(JTAG / SWD / SWV / VCP)时,可以....
发表于 2020-08-25 17:13 2912次阅读
意法半导体推出适用STLINK-V3SET的电压...

详细解读CAN总线原理和数据帧问题

错误帧由两个不同的场组成,第一个场是不同节点提供的错误标志(Error Flag)的叠加,第二个场是....
发表于 2020-08-25 15:56 298次阅读
详细解读CAN总线原理和数据帧问题

意法半导体STM32Cube软件开发生态系统发布...

STM32Cube MCU包是特定微控制器和产品系列专用软件包,方便开发者使用微控制器功能和外设,软....
发表于 2020-08-24 16:47 413次阅读
意法半导体STM32Cube软件开发生态系统发布...