Introduction
On a Controller Area Network (CAN) bus, all nodes must be configured to communicate at the same bit rate for communication to occur properly. However, certain CAN applications may wish to use the same hardware and firmware to connect to several different CAN buses with different known bit rates. In these cases, an autobaud routine is useful to determine the baud rate of the circuit that the device is currently connected to and automatically adjust the bit rate of the device to match. This allows a single device/firmware to be connected to different CAN buses at different baud rates. This has the advantage of reducing the need for reflashing devices or managing multiple versions of the same firmware to handle multiple baud rate CAN buses. This document will outline one approach to performing this autobaud routine on 8-bit Microchip microcontrollers with a CAN or ECAN module.