It’s important to understand that no standard defines how CAN controllers at network nodes should be implemented or how they should communicate with their host microcontroller. Instead, there are two main implementation strategies for CAN controllers today – BasicCAN and FullCAN. Three main differences separate these strategies. One is the way that interesting messages are filtered out; that is, how the decision is made about which messages are of interest to the receiving node and which are not. Another difference is how remote frames are answered. The third difference concerns how messages are buffered. These differences combine to determine the amount of processing load the CAN controller puts on the host microcontroller. The next two pages examine the resulting design issues and tradeoffs.

