stm32F4 CAN总线学习.docx

上传人:b****5 文档编号:8391589 上传时间:2023-01-31 格式:DOCX 页数:14 大小:116.44KB
下载 相关 举报
stm32F4 CAN总线学习.docx_第1页
第1页 / 共14页
stm32F4 CAN总线学习.docx_第2页
第2页 / 共14页
stm32F4 CAN总线学习.docx_第3页
第3页 / 共14页
stm32F4 CAN总线学习.docx_第4页
第4页 / 共14页
stm32F4 CAN总线学习.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

stm32F4 CAN总线学习.docx

《stm32F4 CAN总线学习.docx》由会员分享,可在线阅读,更多相关《stm32F4 CAN总线学习.docx(14页珍藏版)》请在冰豆网上搜索。

stm32F4 CAN总线学习.docx

stm32F4CAN总线学习

STM32F4CAN学习记录

1.CAN协议学习

CAN基础

1.CAN属于多主机局部网,采用多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点,各节点之间可以实现自由通信。

2.CAN总线以报文为单位进行数据传送,报文的优先级由标识符决定,具有最低二进制数的标识符有最高的优先级。

3.CAN总线采用差分电压传输;在空闲状态下CAN_H和CAN_L均为2.5V左右,此时的状态表示为逻辑“1”,称为“隐性”电平(差值为"0v");当CAN_H比CAN_L高时表示逻辑“0”,称为“显性”电平(差值为"2v")。

显性时,通常电压值为:

CAN_H=3.5V,CAN_L=1.5V。

4.CAN总线采用“载波监测,多主掌控/冲突避免”(CSMA/CA)的通信模式。

该模式工作流程大致如下:

●当总线处于空闲状态时(呈隐性电平),任何节点都可以向总线发送显性电平作为帧开始。

●当网络中存在2个及以上节点同时要求发送时就会产生竞争。

CAN总线按位对标识符进行仲裁;各节点在发送电平的同时也在监听总线,如果总线电平与发送电平不同,则表明总线上存在更高优先级的节点在发送,则节点停止发送退出竞争。

其他节点继续上述过程直到剩余1个节点,则最终优先级最高节点获得总线控制权并发送数据。

●参与总线仲裁的只有仲裁段;基础ID相同的标准can报文比扩展can报文优先级更高;相同ID的数据帧与远程帧,数据帧优先级更高。

CAN报文结构

CAN分为标准格式(CAN2.0A)和扩展格式(CAN2.0B);标准帧采用11位标识符ID,共可表示2047条报文;扩展帧采用29位标识符ID,共可表示5亿多条报文。

CAN总线上传输的数据帧共有4种类型:

数据帧、远程帧、错误帧、过载帧。

每一帧都由多个场构成,每个场也都由多个位组成。

下面分别描述着几种帧结构。

1)数据帧:

用于传输数据

数据帧由7个不同的位场组成:

帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结尾。

数据帧组成如下图。

根据标识符ID长度的不同又可分为标准数据帧和扩展数据帧;标准格式具有11位标识符,扩展格式具有29位标识符。

两种格式的仲裁场部分不相同,其余场都基本一致;具体组成分别如下:

 

●标准数据帧格式

Ø帧起始:

(SOF)标志着数据帧和远程帧的起始。

它以一个比特的显性位“0”出现,只有在总线处于空闲状态时,才允许发送。

Ø仲裁场:

(ArbitrationField)由标识符(Identifier)和远程发送请求位(RTR)标志组成。

数据帧RTR=0;远程帧RTR=1;标识符的长度为11位,按高位在前低位在后的顺序发送,最低位为ID.0。

Ø控制场:

控制场包括两个保留位(IDE/R1、R0)和4位数据长度码(DLC),这两个保留位必须发送显性位(逻辑0)。

Ø数据场:

数据场由被发送的数据组成,包括0~8个字节(最长8字节)。

ØCRC场:

由15位CRC序列和1位CRC界定符(必须为逻辑1)组成。

Ø应答场:

(ACK)由应答间隙(逻辑1)和应答界定符(逻辑0)组成。

Ø帧结束:

每个数据帧和远程帧均由7个隐性位(逻辑1)组成。

●扩展数据帧格式

Ø帧起始:

同标准帧格式。

Ø仲裁场:

在扩展帧格式中,仲裁场由:

11位基本ID、SRR、IDE、18位扩展ID、RTR组成。

SRR位为“替代远程请求位”,属于扩展格式,它位于扩展帧中标准帧RTR的位置,因而替代标准帧的RTR位。

在扩展帧格式中,IDE属于仲裁场,采用隐性电平;标准格式中,IDE属于控制场,采用现行电平;通过IDE可以区分标准帧和扩展帧。

Ø控制场:

同标准帧格式

Ø数据场:

同标准帧格式。

ØCRC场:

同标准帧格式。

Ø应答场:

同标准帧格式。

Ø帧结束:

同标准帧格式。

2)远程帧:

用于请求具有同一标识符的数据帧

远程帧也有标准格式和扩展格式,而且都由6个不同的位场组成:

帧起始、仲裁场、控制场、CRC场、应答场、帧结尾。

远程帧的组成如下图。

远程帧本身没有数据场,除RTR位被设置为1,其余部分与数据帧完全相同

3)错误帧:

任何单元检测到总线错误就发出错误帧

错误帧由两个不同的场组成。

第一个场是由不同站提供的错误标志(ERRORFLAG)的叠加;第二个场是错误界定符。

出错帧的组成如下图。

错误标志重叠:

错误标志分为主动错误标志和被动错误标志。

主动错误标志由6个显性位(逻辑0)组成,被动错误标志由6个隐性位(逻辑1)组成。

当一个节点发生错误时,如果处于主动错误状态就会发送主动错误标志,处于被动错误状态时发送被点动错误标志。

错误界定符:

错误界定符由8个隐性电平(逻辑1)组成,用于结束错误帧(1位错误界定符7位EOF组成)。

4)过载帧:

用于在先行和后续数据帧(或远程帧)之间提供一附加的延时

过载帧通常由尚未处理完上一帧消息的CAN控制器发出,可以用于延迟网络中其他设备发送下一帧消息。

过载帧的结构类似于错误帧,过载帧包括两个位场:

过载标志和过载界定符。

过载帧的组成如下图。

过载标志:

过载标志由6个“显性”的位组成。

过载标志的所有形式和主动错误标志的一样。

过载标志的形式破坏了间歇场的固定形式。

因此,所有其他的站都检测到过载条件并与此同时发出过载标志。

过载界定符:

过载界定符包括8个“隐性”的位。

过载界定符的形式和错误界定符的形式一样。

过载标志被传送后,站就一直监视总线直到检测到一个从“显性”位到“隐性”位的跳变。

此时,总线上的每一个站完成了过载标志的发送,并开始同时发送剩余的7个“隐性”位。

帧间空间(InterframeSpace)

数据帧(或远程帧)与先行帧的隔离是通过帧间空间实现的,无论此先行帧类型如何(数据帧、远程帧、错误帧、过载帧)。

所不同的是,过载帧与错误帧之前没有帧间空间,多个过载帧之间也不是由帧间空间隔离的。

CAN错误处理

在CAN总线中,任何一个单元可能处于下列3种故障状态之一:

1.错误激活状态(ErrorActive)

处于该状态(通常说的正常状态也应该包含在内)的节点可以不受任何限制地发送报文和主动错误帧(由显性位构成)。

2.错误认可状态(ErrorPasitive)

处于被动错误状态的节点可以发送报文和被动错误帧(由隐性位构成)。

3.总线关闭状态(Busoff)

处于总线关闭状态的节点暂时不能参与总线通讯。

这一状态下,既无法发送报文,也无法接收报文。

只有发送器能够进入总线关闭状态。

每一个CAN控制器都能够检测到如下五种错误:

1.位错误(BitCheckError)

发送器在发送比特流的同时也对发出的比特流采样回收,若送出的bit与所期待的bit不合,则会检测到一个BitCheckError

2.位填充错误(BitStuffError)

在需要执行位编码规则的位流序列中检测到第6个连续的极性相同的位序流时,则检测到一个BitStuffError。

3.CRC错误(CRCError)

发送端送出的CRC序列由发送器算出,接收器执行同样的CRC算法,若计算结果与接收到的CRC序列不符,一个CRCError被检测到,由发送端送出。

4.帧格式错误(FrameCheckError)

当一个固定形式的位场含非法位,则检测到一个FrameCheckError(接收端检测到帧结束最后一位为显性时帧错误忽略)。

5.应答错误(AcknowledgmentError)

ACKSLOT采样为隐性,则检测到一个AcknowledgementError。

错误状态转换

当一个节点检测到错误时就会发送错误标志来指示错误。

处于“错误激活状态”的节点发送主动错误标志,处于“错误认可状态”的节点发送被动错误标志。

由于处于故障状态的网络设备主动发送错误标志(违反位填充规则的6个显性位)可能导致整个总线通信的瘫痪(显性位占主导)。

因此,所有CAN控制器中均内置一种基于错误计数器的故障识别功能。

该故障识别功能能够是出于故障状态的CAN控制器禁用主动错误标志,并转换到被动错误标志(隐性位),从而不影响网络中其他设备的通信。

CAN控制器内置两个错误计数器:

ReceiveErrorCounter及TranmitErrorCounter。

当某个计数器的当前值达到128时,CAN控制器将进入“被动错误模式”,此时该节点仍然参与CAN通讯,检测到错误时只能发送“被动错误帧”,且错误帧发送完毕重启下一个发送之前有8bits位时的挂起状态;当TranmitErrorCounter当前值为255接着又一个错误被检测到时,CAN控制器将进入“总线关闭模式”,此时该节点与总线完全脱离,整个瘫痪;计数器当前值均小于128时,CAN控制器被标识为“主动错误模式”,CAN节点可正常通讯并检测到错误时发送“主动错误帧”。

节点错误状态的切换与发送错误计数器(TEC)和接收错误计数器(REC)有关,三种错误状态的转换关系如下所示:

当发送错误计数器值等于或超过128时,或当接收错误计数器值等于或超过128时,节点进入“错误认可状态”。

当发送错误计数器值大于或等于256时,节点进入“总线关闭状态”。

当发送错误计数器值和接收错误计数器值都小于或等于127时,“错误认可状态”节点重新进入“错误激活状态”。

在总线监视到128次出现11个连续“隐性”位之后,“总线关闭”的节点可以变成“错误激活”节点,它的两个错误计数值也被置为0。

错误计数规则

错误计数器当检测到下述事件时将修改错误计数值:

●当接收节点检测到一个错误时,接收错误计数器将加1。

在发送“认可错误”标志或过载标志期间,所检测到的错误为位错误时,接收错误计数器值不加1。

●当接收节点发送错误标志后,检测到第一位为显性位时,接收错误计数器加8。

●当发送节点发送一错误标志时,发送错误计数器加8。

这时有两种情况除外:

1:

发送节点为“错误认可状态”测到应答错误(在应答错误中检测不到显性位),而且在发送“被动错误”标志时也检测不到“显性”位。

2:

发送节点由于在仲裁期间发生填充错误,此填充位应该为隐性位,但却检测出显性位,发送器送出错误标志。

●发送节点发送主动错误标志或过载标志时,检测到位错误时,发送错误计数器加8。

●接收节点发送主动错误标志或过载标志时,检测到位错误时,接受错误计数器加8。

●任何节点在发送主动错误标志,被动错误标志,或过载标志时最多允许7个连续的显性位。

在以下3种情况,每一发送器将它们的发送错误计数值加8,同时每一接收器的接收错误计数值加8:

1)当检测到第14个连续的“显性”位后;

2)当检测到第8个连续的“显性”位跟随在“被动错误”标志后;

3)在一个附加的8个连续“显性”位序列后。

●成功发送一帧报文后,发送错误计数器应减1,除非当前已经为0。

●成功接收一帧报文后,如果当前接收错误计数器的值大于1且小于127,则接收错误计数器减1;如果接收计数器的值为0,则保持为0;如果大于127,则它会设置一个介于119到127之间的值。

2.Stm32bxCAN学习

bxCAN基础

1.Stm32bxCAN的主要特性

●支持can协议2.0A和2.0B

●位速率高达1Mbps

●支持时间触发通信选项

发送

●3个发送邮箱

●可配置的发送优先级

●SOF传输时间戳

接收

●两个接收FIFO,每个可存储三条消息。

●28个CAN1\CAN2共享可伸缩滤波器

●标识符列表功能

●可配置FIFO溢出

●SOF接收时间戳

时间触发通信选项

●禁用自动重传模式

●16位独立运行定时器

●时间戳在最后两个数据字节发送

管理

●可屏蔽中断

●可通过软件在特定地址空间内进行邮箱映射

双CAN

●CNA1:

主bxCAN,能够管理从bxCAN和512byte的SRAM空间

●CAN2:

从bxCAN,无权限直接访问SRAM

2.bxCAN整体概述

当今CAN应用中,节点的数量在不断增加并且经常多个网络通过网关的连接在一起;因此网络上的消息数量显著增加。

除了应用消息外,网络管理和诊断报文也被引入到网络中。

●一种增强的过滤机制来处理每种类型的消息。

此外,应用程序需要更多的CPU时间,因此消息接收必须减少的需求导致了实时约束的产生。

●采用接收FIFO机制,可以使CPU长时间处理应用程序而不丢失信息。

3.控制、状态和配置寄存器

应用程序使用这些寄存器来:

●配置CAN的参数;例如:

波特率

●请求发送

●处理接收

●管理中断

●获取诊断信息

4.发送邮箱

三个发送邮箱用于软件发送消息。

发送状态机决定哪个邮箱最先发送

5.接收滤波器

bxCAN提供28个可配置伸缩滤波器,用于选择应用需要的消息并且丢弃其余消息。

stm32其他设备只拥有14个这种寄存器。

6.接收FIFO

硬件自动使用两个接收FIFO来存储收到的消息。

每个FIFO中可存储三个完整的消息,这些FIFO完全由硬件管理。

7.bxCAN操作模式

bxCAN有三个主要的操作模式:

初始化、正常和睡眠。

硬件复位后bxCAN进入睡眠模式以降低功耗同时上拉CANTX脚。

软件可以通过设置CAN_MCR寄存器中的INRQ或者SLEEP位来请求bxCAN进入初始模式或者睡眠模式。

一旦进入该模式,bxCAN通过设置CAN_MSR寄存器中的INAK或SLAK位并禁用内部上拉来确认。

当INAK和SLAK都没被设置,则bxCAN处于正常模式。

在进入正常模式前bxCAN必须与CAN总线同步。

为了同步,bxCAN会一直等待直到CAN总线进入空闲,即在CANRX引脚上收到连续11个隐性电平。

初始化模式

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

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

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

●进入初始化模式不会改变任何配置寄存器。

●为了初始化CAN控制器,软件必须设置位定时寄存器(CAN_BTR)和CAN选项寄存器(CAN_MCR)。

正常模式

●在初始化完成后,软件必须让硬件进入正常模式,以便正常接收和发送报文。

●软件可以通过对CAN_MCR寄存器的INRQ位清0,来请求从初始化模式进入正常模式,然后要等待硬件对CAN_MSR寄存器的INAK位置1的确认。

在跟CAN总线取得同步,即在CANRX引脚上监测到11个连续的隐性位(等效于总线空闲)后,bxCAN才能正常接收和发送报文。

●过滤器初值的设置是独立于初始化模式的,但必须在滤波器激活前完成(相应FACTx位为0)。

而滤波器的位宽和模式必须在进入正常模式前完成。

睡眠模式

●为了减少功耗,bxCAN有一个叫睡眠模式的低功耗模式。

这种模式可以通过软件设置CAN_MCR寄存器的SLEEP位为1来进入。

在该模式下bxCAN的时钟被停止,但软件仍可以访问bxCAN的邮箱。

●当bxCAN处于睡眠模式,如果软件想通过对CAN_MCR寄存器的INRQ位置1,来进入初始化式,那么软件必须同时对SLEEP位清0才行。

●有2种方式可以唤醒(退出睡眠模式)bxCAN:

通过软件对SLEEP位清0,或硬件检测CAN总线的活动。

●当总线上检测到活动时,如果CAN_MCR寄存器的AWUM位被置1,那么硬件会自动通过对SLEEP位清0来执行唤醒。

当唤醒中断发生时,为了退出睡眠模式,软件会清除SLEEP位。

8.bxCAN测试模式

测试模式可以通过CAN_BTR寄存器中的SILM和LBKM位来选择,这些位必须在bxCAN处于初始化模式期间配置,一旦测试模式被选择,为了进入普通模式CAN_MCR寄存器的INRQ位必须被清0。

静默模式

通过设置CAN_BTR寄存器中的SILM位,bxCAN能够进入静默模式。

在静默模式下,bxCAN能够接受有效数据帧和有效远程帧,但它此时只能向CAN总线上发送隐性位并且不能启动传输。

如果bxCAN不得不发送显性位(ACK位、过载标志、主动错误标志),这些位会内部改航以便CAN内核能够监视这些显性位,尽管CAN总线保持着隐性状态。

静默模式可以用来在不影响显性位传输(ACK位、错误帧)的情况下分析CAN总线的流量。

静默模式示意如下:

 

回环模式

通过设置CAN_BTR寄存器的LBKM位,bxCAN能够进入回环模式。

在回环模式下,bxCAN将自己发送的消息当做接收消息并将其存储在接收邮箱中(如果能够通过滤波器)。

该模式是用来提供自测试功能的,为了独立于外部事件,回环模式下CAN核忽略应答错误。

在该模式下,bxCAN执行Tx输出脚到Rx输入脚的反馈。

CANRX引脚的实际功能被bxCAN忽视,传送的消息能够在CANTX引脚上被监控到。

回环模式效果示意如下:

回环模式结合静默模式

通过置位CAN_BTR寄存器中的SILM和LBKM位来结合回环模式和静默模式。

该模式能够用于“热自测”,这意味着bxCAN能够像回环测试一样自测,但不会影响到连接到CANTX和CANRX的CAN网络。

在该模式下,CANRX与总线断开,CANTX保持隐性状态(逻辑1)。

该模式示意如下:

bxCAN功能描述

发送过程

应用程序选择1个空发送邮箱;设置标识符,数据长度和待发送数据;然后对CAN_TIxR寄存器的TXRQ位置1,以请求发送。

TXRQ位置1后,邮箱就不再是空邮箱;而一旦邮箱不再为空,软件对邮箱寄存器就不再有写的权限。

TXRQ位置1后,邮箱马上进入挂起状态,并等待成为最高优先级的邮箱,参见发送优先级。

一旦邮箱成为最高优先级的邮箱,其状态就变为预发送状态。

一旦CAN总线进入空闲状态,预定发送邮箱中的报文就马上被发送(进入发送状态)。

一旦邮箱中的报文被成功发送后,它马上变为空邮箱;硬件相应地对CAN_TSR寄存器的RQCP和TXOK位置1,来表明一次成功发送。

如果发送失败,由于仲裁引起的就对CAN_TSR寄存器的ALST位置1,由于发送错误引起的就对TERR位置1。

发送优先级

1)由标识符决定

当有超过1个发送邮箱在挂号时,发送顺序由邮箱中报文的标识符决定。

根据CAN协议仲裁,标识符数值最低的报文具有最高的优先级。

如果标识符的值相等,那么邮箱号小的报文先被发送。

2)由发送请求次序决定

通过对CAN_MCR寄存器的TXFP位置1,发送邮箱可以被配置为发送FIFO。

在该模式下,发送的优先级由发送请求次序决定。

该模式对分段发送很有用。

3)中断

用户可以通过对CAN_TSR寄存器的ABRQ位置1来中断传输请求。

当邮箱处于挂起状态或预发送状态,邮箱被立即中断。

当请求中断处于发送状态的邮箱时,会有两种结果:

如果邮箱已经成功发送,邮箱会被清空并且CAN_TSR寄存器中的TXOK位被置1,;如果邮箱传输失败,邮箱会变为预发送状态,并且TXOK被清0。

在所有的可能中,至少在当前传输结束时会被清空。

4)非自动传输模式

该模式是为了实现标准CAN的时间触发通信选项的要求被实现的。

要配置硬件进入该模式,CAN_MCR寄存器的NART位必须被置1。

在该模式下,每一个传输只会被开始一次。

如果首次尝试失败,无论是由于仲裁丢失还是一个错误,硬件都不会自动重传该消息。

在尝试第一次传输结束时,硬件认为请求完成并置位CAN_TSR寄存器中的RQCP位。

传输的结果通过CAN_TSR寄存器中的TXOK、ALST和TERR位指示。

时间触发通信模式

在该模式下,CAN硬件的内部定时器被激活,并且被用于产生时间戳,值被分别存储在

CAN_RDTxR/CAN_TDTxR寄存器中。

内部定时器在每个CAN位时间被增加。

内部定时器在接收和发送的帧起始位的采样点位置被采样,并生成时间戳(标有时间的数据)。

接收过程

为了接收CAN消息,3个邮箱被组织成一个FIFO。

为了减轻CPU负担,简化软件,降低数据耦合性,这些FIFO都有硬件进行管理。

应用程序访问存储在FIFO中的消息是通过FIFO输出邮箱完成的。

1)有效报文

根据CAN协议,当报文被正确接收(直到EOF域的最后1位都没有错误),且通过了标识符过滤,那么该报文被认为是有效报文。

2)FIFO管理

从空状态开始,第一个消息被正确接收并存储在FIFO中后FIFO变成“挂起1”状态,硬件通过设置CAN_RFR寄存器中的FMP[1:

0]位为01b来指示。

该消息在FIFO输出邮箱中是有效的,软件可以读走邮箱中内容并通过设置CAN_RFR寄存器中的RFOM来释放邮箱,此时FIFO会再次变成空状态。

如果同时一个有效地新消息被接收,FIFO进入“挂起1”状态,并且在输出邮箱中有新的消息。

如果应用程序没有释放邮箱,下一个有效消息被接收时FIFO进入“挂起2”状态(FMP[1:

0]=10b)。

存储过程重复直到下一个有效消息被接受,FIFO进入“挂起3”状态(FMP[1:

0]=11b)。

在此时,软件必须通过设置RFOM位来释放输出邮箱(FIFO只能存储三条消息),以便邮箱是空的能够存储下一个有效消息。

否则,下一个有效消息接收会导致消息丢失。

FIFO溢出处理

当FIFO处于“挂起3”状态时,下一个有效消息的接收会导致FIFO溢出并丢失一条消息。

硬件通过CAN_RFR寄存器中FOVR位置1来指示溢出。

溢出时,那一条消息被丢弃根据FIFO的配置来决定:

●如果FIFO锁定功能被关闭(CAN_MCR寄存器的RFLM位被清0),FIFO中的最后一位消息会被覆盖,在这种情况下最后一条消息对应用来说总是有效的。

●如果FIFO锁定功能被打开(CAN_MCR寄存器的RFLM位被置1),最新的消息将会被丢弃,则FIFO中会有三条最老的消息可用。

接收相关中断

●一旦往FIFO存入1个报文,硬件就会更新FMP[1:

0]位,并且如果CAN_IER寄存器的FMPIE位为1,那么就会产生一个中断请求。

●当FIFO变满时(即第3个报文被存入),CAN_RFxR寄存器的FULL位就被置1,并且如果CAN_IER寄存器的FFIE位为1,那么就会产生一个满中断请求。

●在溢出的情况下,FOVR位被置1,并且如果CAN_IER寄存器的FOVIE位为1,那么就会产生一个溢出中断请求

标识符过滤

在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的。

因此,发送者以广播的形式把报文发送给所有的接收者。

(注:

不是一对一通信,而是多机通信)节点在接收报文时-根据标识符的值-决定软件是否需要该报文;如果需要,就拷贝到SRAM里;如果不需要,报文就被丢弃且无需软件的干预。

为满足这一需求,bxCAN为应用程序提供了28个位宽可变的、可配置的过滤器组(27~0),其他bxCAN设备提供14个位宽可变的、可配置的过滤器组(13~0)(例如stm32f103),以便只接收那些软件需要的报文。

硬件过滤节省了由软件过滤而占用的CPU开销。

每个过滤器组x由2个32位寄存器,CAN_FxR0和CAN_FxR1组成。

可伸缩位宽

为了优化使得滤波器适应应用的需要,每个滤波器能够被独立的伸缩配置。

根据不同的滤波比例滤波器可以提供:

●1个32位的滤波器,包含基本ID[10:

0],

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1