如何设置屏蔽验收码的总结

在使用周立功的CANTest软件时,会有滤波设置。由于在CAN卡接到整车ECU上,几乎所有的总线上的数据都会显现在界面上。有些时候,你需要的是固定的几个ID,其他的ID为干扰,故在此你就需要过滤掉不想要的ID。

这时你就需要调整滤波设置,设置过滤ID。

1.打开CANTest软件,找到滤波设置。

2.打开滤波设置。设置你想要的ID的滤波形式和帧格式。我基本上用到的为下图标记的两个。

3.选择完成后如下图。(在此以标准帧,单滤波(仅ID,自由设定)为例)

4.在上图 滤波器1 中设置数据过滤。

以标准帧ID为0x0378~0x037F之间的数为例,滤除其他的杂波。由于帧ID为32位无符号整型。

  • 标准帧:具有11位(0000 0XXX  XXXX XXXX)识别符的帧称之为标准帧。
  • 扩展帧:具有29位(000X XXXX  XXXX XXXX  XXXX XXXX  XXXX XXXX)识别符的帧为扩展帧。

      例如:0x0378~0x037F之间的数都能通过。

        0x0378转化为二进制:0000 0011 0111 1000

        0x0379转化为二进制:0000 0011 0111 1001

        0x037A转化为二进制:0000 0011 0111 1010

        0x037B转化为二进制:0000 0011 0111 1011

        0x037C转化为二进制:0000 0011 0111 1100

        0x037D转化为二进制:0000 0011 0111 1101

        0x037E转化为二进制:0000 0011 0111 1011

        0x037F转化为二进制:0000 0011 0111 1111

         滤波器1 的值:0000 0011 0111 1XXX(前五个数舍去。相同数据为本数据,后面XXX表示无论1或者是0都能通过)

  5.验收码和屏蔽码是如何计算出来的。

  你在输入滤波器你要过滤的ID,屏蔽码和验收码会直接给出。屏蔽码一般是0  验收码是你收的地址,一般为二进制异或。

   接收屏蔽器可用于在接收时忽略标识符的选定位。在接收报文时, 这些位将不与过滤器中的位进行比较。

  屏蔽寄存器的某一位等于1时,表示忽略对该位对应ID位的滤波
  如屏蔽寄存器值=FFFFFFFF,则可以接收所有的消息。

   验收滤波器ACR,验收屏蔽器AMR都是32bits(4bytes).
   对于需要验收滤波的ID值,ID最高位(标准帧ID最高位为Bit10,扩展帧为bit28)与ACR/AMR的最高位(bit31)位对齐,即左对齐方式。
CAN总线验收滤波器和验收屏蔽器均对于CAN接收而言。
当AMR=0xFFFFFFFF时,表示屏蔽ACR的所有滤波位,即可以接收所有的消息。

针对所要过滤ID的某个位全部相同置为0,否则置为1。去掉左边三个位,补充到右边三个位。屏蔽码的某个位如果是1的话那验收码对应的位置为1,如果是0的话就看你所要过滤的ID如果某个位全部一样,那验收码那个位的值就跟过滤ID那个位一样。

有些硬件方面的知识可以参考https://wenku.baidu.com/view/4f8da6f4ff00bed5b8f31d41.html

  

第一次写总结,有写的不足的地方希望可以指点!

                                                                                                                                                           

                                                                                                                                   

                                                                                                                                                                   

 

 

 

 

 

 

  • 9
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值