- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CAN总线传送到数据是基于消息而不是地址的,每个消息用不同的编号表达(2.0A用11位、2.0B用29位)。在CAN上进行简单传送而自定义传送协议时,要把所有需要传送的命令列出,然后根据传送的紧急程度(优先级)从高到低进行排序,然后把最高优先级的设定一个最低的编号、以此类推...最低优先级的设定最高的编号。因为CAN物理上是不分主从,所以当有几个站点同时发送而发生碰撞时,编号最低的将优先传送。从总线上接收消息:每个站点可能只对所有协议中的几个消息感兴趣,CAN初始化时,在过滤器中设置本站点需要接收的消息编号,这样一旦总线上有需要的消息将会自动接收,并产生中断,通知CPU收到新消息,CPU在中断程序中接收、处理。发送消息到总线上:CAN初始化时设置本站点将来需要发送的消息编号,当运行过程中需要发送消息时,填入相关数据,设置相关消息对象发送。 CAN控制器内部一般设有32个消息对象,分成2组,分别各用一组寄存器来操作。一般一组用来接收过滤,另一组用来发送。STM32普通型芯片的 CAN 有14组过滤器组(互联型有28组过滤器组),用以对接收到的帧进行过滤。每组过滤器包括了2个可配置的32位寄存器:CAN_FxR0和 CAN_FxR1。对于过滤器组,可以将其配置成屏蔽位模式,这样 CAN_FxR0中保存的就是标识符匹配值,CAN_FxR1中保存的是屏蔽码,即 CAN_FxR1中如果某一位为1,则 CAN_FxR0中相应的位必须与收到的帧的标志符中的相应位吻合才能通过过滤器; CAN_FxR1中为0的位表示 CAN_FxR0中的相应位可不必与收到的帧进行匹配。过滤器组还可以被配置成标识符列表模式,此时 CAN_FxR0和 CAN_FxR1中的都是要匹配的标识符,收到的帧的标识符必须与其中的一个吻合才能通过过滤。注意:CAN_FilterIdHigh是指高16位CAN_FilterIdLow是低16位应该将需要得到的帧的和过滤器的设置值左对齐起。一般我们用的都是普通型的,所以在本文中可以说 STM32有14组过滤器组。根据配置,每1组过滤器组可以有1个,2个或4个过滤器。这些过滤器相当于关卡,每当收到一条报文时,CAN 要先将收到的报文从这些过滤器上过一下,能通过的报文是有效报文,收进 FIFO,不能通过的是无效报文(不是发给我的报文),直接丢弃。所有的过滤器是并联的,即一个报文只要通过了一个过滤器,就是算是有效的。每组过滤器组有两种工作模式:标识符列表模式和标识符屏蔽位模式。在标识符列表模式下,收到报文的标识符必须与过滤器的值完全相等才能通过。在标识符屏蔽位模式下,可以指定标识符的哪些位为何值时就算通过。这其实就是限定了处于某一范围的标识符能够通过。在一组过滤器中,整组的过滤器都使用同一种工作模式。另外,每组过滤器中的过滤器宽度是可变的,可以是32位或16位。按工作模式和宽度,一个过滤器组可以变成以下几中形式之一:(1) 1个32位的屏蔽位模式的过滤器。(2) 2个32位的列表模式的过滤器。(3) 2个16位的屏蔽位模式的过滤器。(4) 4个16位的列表模式的过滤器。所有的过滤器是并联的,即一个报文只要通过了一个过滤器,就是算是有效的。每组过滤器组有两个32位的寄存器用于存储过滤用的标准值,分别是 FxR1,FxR2。在32位的屏蔽位模式下:有1个过滤器。FxR2用于指定需要关心哪些位,FxR1用于指定这些位的标准值。在32位的列表模式下:有两个过滤器。FxR1指定过滤器0的标准值,收到报文的标识符只有跟 FxR1完全相同时,才算通过。FxR2指定过滤器1的标准值。在16位的屏蔽位模式下:有2个过滤器。FxR1配置过滤器0,其中,[31-16]位指定要关心的位,[15-0]位指定这些位的标准值。FxR2配置过滤器1,其中,[31-16]位指定要关心的位,[15-0]位指定这些位的标准值。在16位的列表模式下:有4个过滤器。FxR1的[15-0]位配置过滤器0,FxR1的[31-16]位配置过滤器1。FxR2的[15-0]位配置过滤器2,FxR2的[31-16]位配置过滤器3。STM32的 CAN 有两个 FIFO,分别是 FIFO0和 FIFO1。为了便于区分,下面 FIFO0写作FIFO_0,FIFO1写作 FIFO_1。每组过滤器组必须关联且只能关联一个 FIFO。复位默认都关联到 FIFO_0。所谓“关联”是指假如收到的报文从某个过滤器通过了,那么该报文会被存到该过滤器相连的 FIFO。从另一方面来说,每个 FIFO 都关联了一串的过滤器组,两个 FIFO 刚好瓜分了所有的过滤器组。每当收到一个报文,CAN 就将这个报文先与 FIFO_0关联的过滤器比较,如果被匹配,就将此报文放入 FIFO_0中。如果不匹配,再将报文与 FIF
您可能关注的文档
- 2004年普通高等学校招生全国统一考试英语试卷2004年普通高等学校招生全国统一考试英语试卷2004年普通高等学校招生全国统一考试英语试卷2004年普通高等学校招生全国统一考试英语试卷.docx
- 2004年临床医学进展回顾神经内科学.doc
- 2006年4月自学考试国际商法试题2006年4月自学考试国际商法试题2006年4月自学考试国际商法试题2006年4月自学考试国际商法试题2006年4月自学考试国际商法试题2006年4月自学考试国际商法试题2006年4月自学考试国际商法试题2006年4月自学考试国际商法试题.doc
- 2006年asa颅脑外伤患者围术期麻醉管理的知识更新.doc
- 2007年01月 房地产法自考试题及答案.doc
- 2004年4月全国写作(一)试题试卷及答案.doc
- 2007年物业管理师执业资格考试练习题参考.doc
- 2008年第十八届广州市小学生英语竞赛试题2008年第十八届广州市小学生英语竞赛试题2008年第十八届广州市小学生英语竞赛试题2008年第十八届广州市小学生英语竞赛试题.docx
- 2009年《美国成人肝硬化腹水诊治指南》解读.doc
- 2007年10月工程经济试题及答案2007年10月工程经济试题及答案2007年10月工程经济试题及答案2007年10月工程经济试题及答案2007年10月工程经济试题及答案2007年10月工程经济试题及答案2007年10月工程经济试题及答案2007年10月工程经济试题及答案.docx
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)