筛选器的工作主要是筛选ID的长度和筛选模式决定的。
筛选ID的长度有两种,分别是16位和31位,如下:
(1) 检查 STDID[10:0]、 EXTID[17:0]、 IDE 和 RTR 位, 一共31位。
(2) 检查STDID[10:0]、 RTR、 IDE 和 EXTID[17:15], 一共16位。
筛选模式分两种,分别是标识列表模式和掩码模式,如下:
(1) 标识符列表模式,它把要接收报文的ID列成一个表, 要求报文ID与列表中的某一个标识符完全相同才可以接收,可以理解为白名单管理。
(2) 掩码模式,它把可接收报文ID的某几位作为列表,这几位被称为掩码, 可以把它理解成关键字搜索,只要掩码(关键字)相同,就符合要求,报文就会被保存到接收FIFO。
两种筛选模式用通俗的话来讲,标识列表模式就是把所有的ID放在一个表里,一个一个的去查,查到与标识的ID相同的报文选择接收,其他的报文不接受;掩码模式就是,对应ID的每一个位,都有一个掩码的位去决定,如下表:
当掩码是1时,就表明要接收的报文ID就必须和存储的ID一致,当掩码是0是,就是不关心要筛选的ID这一位可以是0,也可以是1。
筛选器的筛选ID长度和筛选模式两两组合,可以产生4种筛选模式,如下图: