• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > SIM32F107VCT6平台的bxCAN标识符过滤技术与应用

SIM32F107VCT6平台的bxCAN标识符过滤技术与应用

录入:edatop.com     点击:

3 标识符过滤规则
bxCAN的标识符硬件过滤规则遵循以下原则:接收一个报文时,其标识符首先与配置在标识符列表模式下的过滤器相比较。如果匹配上,报文就被存放到相关联的缓冲区FIFO中,并且所匹配的过滤器的序号被存入过滤器匹配序号中。如果没有匹配,报文标识符接着与配置在屏
蔽位模式下的过滤器进行比较。如果报文标识符没有与过滤器中的任何标识符相匹配,那么硬件就丢弃该报文,且不会对软件有任何打扰。

\
图2是bxCAN控制器标识符过滤机制的说明。3个过滤器组处于标识符列表模式,其他的过滤器组处于标识符屏蔽模式。工作在标识符列表模式下过滤器组的标识符为0、1、4、5,而工作在标识符屏蔽位模式下的过滤器组的标识符为2、3。假设有一数据报文的标识符为4,当该报文到达接收节点后,就会首先与列表模式下的标识符比对。显然报文标识符与标识符为4的过滤器匹配,因此报文内容被存入FIFO,同时过滤器编号被保存在过滤器匹配序号域FMI中。如果数据报文的标识符与列表模式下的过滤器组的标识符不匹配,假设标识符为3,则报文标识符会与屏蔽位模式下的过滤器组比对,而该类过滤器组中有标识符为8的过滤器,则数据报文匹配后也会被送入FIFO,并保存匹配序号。

4 标识符过滤编程实现
为了更加清楚地说明bxCAN控制器标识符过滤的应用方法,以C语言编制实验程序,该程序在MDK平台开发环境下,通过JTAG接口进行实时调试、仿真和下载,并在实际应用中得到了验证。
主要的代码如下:
\

上述代码设置好后,过滤器开始工作,且过滤器位宽为32位,工作在屏蔽模式。只过滤基本ID为00000000000B的数据包,其他标识符的数据包由硬件丢弃。

结语
本文主要研究了STFM32F107VCT6芯片的bxCAN控制器的标识符过滤使用技术。要使用bxCAN控制器的标识符过滤功能,需要首先通过位宽寄存器CANFS1R的FSCx位设置过滤器位宽,之后通过主控寄存器CAN_FMR的FBMx位设置过滤器模式,最终在相应的位宽及过滤器模式下通过过滤器组CAN_FxR1和CAN_FxR2实现标识符的硬件过滤设置。
使用标识符的硬件过滤可以实现复杂的验收滤波功能,并且硬件过滤不占用CPU的额外资源,上述特点非常适于嵌入式系统的数据收发功能。本文对嵌入式开发过程中使用STM32F107VCT6芯片的bxCAN控制器收发数据具有一定的借鉴作用。

上一篇:自愈环轨道交通PIS车载网络系统解决方案
下一篇:路由器与交换机的主要区别体现在几个方面

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图