5.6.5 Controller Area Network (CAN)
Some AVR and PIC32CM MCUs offer integrated CAN controllers, enabling connection to CAN networks for automotive and industrial applications. These CAN peripherals support standard CAN 2.0 A/B protocols, provide message filtering, and include error handling and interrupt capabilities. They are designed to offload CAN protocol management from the CPU, improving real-time communication performance. Both variants require an external CAN transceiver for physical layer connectivity.
Table 5-25 shows a comparison of features between AVR and PIC32CM.
| Feature | AVR® CAN | PIC32CM CAN |
|---|---|---|
| Protocol Support | CAN 2.0A/B |
CAN 2.0A/B CAN-FD (ISO 11898-1:2015) |
| Max Data Rate | 1 Mb/s |
1 Mb/s (CAN 2.0) 10 Mb/s (CAN-FD) |
| Message Objects/Buffers | Up to 15 MOb (Message Objects) |
Up to 64 RX and 32 TX dedicated buffers Two RX FIFOs |
| Data Buffer Size | Eight bytes per Message Object (static allocation) | Up to 64 bytes per CAN-FD frame |
| Acceptance Filtering | 15 identifier tags/masks (11/29 bits) |
Up to 128 configurable filter elements J1939 filter |
| Time Stamping | Time Trigger Communication (TTC) Timer |
CiA 603 hardware timestamping External Timestamping Unit (TSU) |
| Loopback/Test Mode | Listening mode | Programmable loopback test mode |
| Error Handling | Standard CAN error handling |
CAN error logging Advanced error signaling |
| AUTOSAR/J1939 Optimization | N/A | Supported |
| Number of CAN Channels | One | Up to two |
| Power-Down/Debug Support | N/A |
Power-down Debug on CAN support |
| Host Memory Access | Internal static allocation | Uses system RAM via AHB (flexible allocation) |
