CAN标识符过滤器屏蔽器之间的关系

CAN标识符过滤器屏蔽器之间的关系

ID:36750217

大小:199.60 KB

页数:9页

时间:2019-05-14

CAN标识符过滤器屏蔽器之间的关系_第1页
CAN标识符过滤器屏蔽器之间的关系_第2页
CAN标识符过滤器屏蔽器之间的关系_第3页
CAN标识符过滤器屏蔽器之间的关系_第4页
CAN标识符过滤器屏蔽器之间的关系_第5页
资源描述:

《CAN标识符过滤器屏蔽器之间的关系》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、GeneratedbyFoxitPDFCreator©FoxitSoftwarehttp://www.foxitsoftware.comForevaluationonly.CAN标识符、过滤器、屏蔽器之间的关系【问】看了好多遍数据,也没搞明白CAN的标识符、CAN接收过滤器和CAN接收屏蔽器之间有什么关系,单独看都明白,一旦联系起来就胡涂了。在一个主控制器对多点通讯网络中,它们各自如何配置,主机要想发信息给所有的从机,和主机想发信息给某个特定的从机,应该怎么配置这几个寄存器呢?【回答】CAN节点通过

2、标识符来识别CAN帧是不是自己想要的,识别方法就是通过滤波屏蔽寄存器的设置来完成,接收滤波寄存器设置了标识符每位的值,接收屏蔽寄存器一般有相同的数量匹配接收滤波寄存器,规定接收滤波寄存器标识符每一位的值是否需要进行匹配,比如芯片设置有6个接收滤波寄存器和6个接收屏蔽寄存器,从总线上接收CAN帧,然后依次将收到的CAN帧标识符与6对接收滤波和屏蔽寄存器进行匹配,符合某对接收滤波和屏蔽寄存器要求了,就停止匹配,将数据接收到对应的缓冲区中.例如:设置某接收滤波寄存器00000000001(11位),接收屏

3、蔽寄存器11111111101(11位),则该对组合会拒绝接收00000000011和00000000001之外所有的标识符对应的CAN帧,因为屏蔽器规定第二位(为0)以外的所有标识符位要严格匹配(与滤波器值一致),第二位的滤波器值和收到的CAN标识符第二位值是否一致都可以。不同的芯片滤波屏蔽寄存器的运行方式不太一致,至少我用过的AT90CAN128和MCP2515差别就很大,不过原理都一样。【问】初学CAN的朋友应该都会遇到我这样的问题,我的理解是,一个节点向网络中发送一条信息,所有的节点都能收到

4、,收到后每个节点将收到的标识符自行与自己的比较,符合的才接收,过滤器和屏蔽器决定标识符中哪些位参与比较,也就是说有些位可以不参与比较就直接接收,这很有用,比如,11位的标识符不可能都用来标识下位机号,你一个网络不可能连接那么多节点,11位的标识符有点浪费,我们可以将最高3位用来表示所发送的数据类型,在接收点设置滤波器和屏蔽器只比较节点号部分,先将数据接收下来,在将最高3位拿来判断是什么数据,我的试验结果是RXB0SIDH会被发送端的TXB0SIDH修改,判断RXB0SIDH的最高三位即可知道接收的数

5、据类型,以上是我这几天的学习结果,希望大家共同讨论。【回答】非常正确!!!!如果不做这个硬件滤波,也可以使用软件来解析地址,决定是否需要处理收到的报文,不过这就会增加CPU的开销,所以,合理的设定硬件的mask&filter,可以节省很多CPU时间。李清林整理1GeneratedbyFoxitPDFCreator©FoxitSoftwarehttp://www.foxitsoftware.comForevaluationonly.CAN发送问题【问】两个CAN节点通信。。一方发送,一方接收。发送方如

6、果没有收到接收方的应答。。、一直就会处于发送状态。。程序会死在那里。。跳不出来。。。不知道是不是这样。如何跳出来。。谢谢。【回答】n你自己可以设置一个等待时间,自开始发送起,等待时间到了以后,取消发送。n你可以置起发送位后,不需要等待是否发送成功,去干其它事,程序就不会死在这里了。【问】应答是CAN的底层协议吗?置起发送位后。发送方的CAN控制器自身是不是要等待接收方的控制器的应答。。就是我问的CAN的应答机制。是不是它的底层协议。。。如果收不到应答,CAN就会死在那里??问题已经解决。我在每次发完

7、后,,再对CAN进行下软件复位。【回答】一般的做法是:n填好数据,置起发送位;n去做其它事,到要发送下一笔前,来检查上一次是否已经发送完;n如果上一笔没有发送完,则决定如何处理:取消发送,或是等待。李清林整理2GeneratedbyFoxitPDFCreator©FoxitSoftwarehttp://www.foxitsoftware.comForevaluationonly.超过八个字节如何发送【问】现在需要一起发送超过八个字节的数据。。但是SJA1000的一次最多只能发送八个字节的数据。如何能

8、一次发送超过八个字节的数据【回答】采用分段/重組協議【问】能具体一点吗?【回答】由发送发拆开,在接收方重组李清林整理3GeneratedbyFoxitPDFCreator©FoxitSoftwarehttp://www.foxitsoftware.comForevaluationonly.can的几个概念,请高手澄清【问】1、主动错误2、被动错误3、位定时请解释它们的概念和作用;看了不少资料,还是比较模糊,知道的就劳驾了。【回答】我就知道的说明如下:我们说检测到错误,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。