How does the CAN bus receives the Filter

CAN bus in the data frame is sent on the bus, the other CAN controller is through acceptance filtering to determine whether the data on the bus frame ID and this node is consistent, if accord with this node, then the data on the bus were deposited in the bus controller in the corresponding register, or abandon the data, thus able to lighten the load of the bus controller. In other words, the bus data frame ID through after receiving node acceptance filtering is consistent, can be accepted.

Then, bus controller is how to carry out the acceptance filtering? Acceptance filtering points single filter and double filtering. Standard frame and extended frame because ID length is different, the two kinds of filter also differ.

Extended frame double filtering method

The so-called double filtering, is twice the filtering, but not two filter will need only double pass through, two filter as long as there is a successful pass, then the default filtering can receive data.

As shown in the table above, ACR is receiving code registers, AMR is receiving mask register. ACR is generally need to be in conformity with the corresponding ID, but if on the corresponding bit of AMR is set to 1, the ID of the data can not AMR corresponding place, also is to have the effect of shielding.

For example. If ACR0 = 11101111, AMR0 = 00000000, so want to through the acceptance filtering, must be ID. 28 - ID. 21 = ACR0 = 11101111. If AMR0 = 00010000, then ID. 28 - ID. 21 = 11111111, also can through the acceptance filtering, as the fifth AMR0 is 1, which is blocked ACR0 fifth. So ID corresponding bit can not ACR0 consistent.

Under the double filtering method of extending the frame, ACR0 \ ACR1 corresponding ID. 28 - ID. 13, ACR2 \ ACR3 also respectively corresponding to the ID. 28 - ID. 13, it achieved the effect of the two filter.