Automatic baud rate detection
Automatic baud rate detection (ABR, autobaud) refers to the process by which a receiving device (such as a modem) determines the speed, code level, start bit, and stop bits of incoming data by examining the first character, usually a preselected sign-on character (syncword) on a UART connection. ABR allows the receiving device to accept data from a variety of transmitting devices operating at different speeds without needing to establish data rates in advance.
During the autobaud process, the baud rate of received character stream is determined by examining the received pattern and its timing, and the length of a start bit. These type of baud rate detection mechanism are supported by many hardware chips including processors such as MPC8280, MPC8360, and so on.
When start bit length is used to determine the baud rate, it requires the character to be odd since UART sends LSB bit first. Often symbols 'a' or 'A' (0x61 or 0x41) are used. For example, the MPC8270 SCC tries to detect the length of the UART start bit for autobaud.
Most modems seen in market currently support autobaud. Before receiving any input data, most modems use a default baud rate of 9600 for output. For example, the following modems have been verified for autobaud and default output baud rate 9600:
- USRobotics USR5686G 56K Serial Controller Fax modem
- Hayes V92 External modem
- microcom DeskPorte 28.8P
The baud rate of modems are adjusted automatically after receiving input data by the autobaud process.
See also
References
- "17.2 Autobaud Operation on a UART in MPC8280 PowerQUICC™ II Family Reference Manual" http://www.nxp.com/files/netcomm/doc/ref_manual/MPC8280RM.pdf
- "Automatic Baud Rate Detection on the MSP430" https://web.archive.org/web/20161026080239/http://www.ti.com/lit/an/slaa215/slaa215.pdf
- "How to implement “auto baud rate detection” feature on Cortex-M3" https://stackoverflow.com/q/38979647
- "mpc8270 SCC2 UART issue" https://community.nxp.com/message/906833
- This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.