Automatic baud rate detection

From HandWiki
Revision as of 21:35, 6 February 2024 by JMinHep (talk | contribs) (simplify)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Determining speed and configuration of a serial connecgion by examining the first character


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.

Process

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 STM32[1] 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 — this particular bit order scheme is referred to as little-endian.[2] 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.

Many protocols begin each frame with a preamble of alternating 1 and 0 bits that can be used for automatic baud rate detection. For example, the TI PGA460 uses a 'U' ( 0x55 ) sync byte for automatic baud rate detection as well as frame synchronization,[3] and so does the LIN header (Local Interconnect Network). For example, the UART-based FlexWire protocol begins each frame with a 'U' (0x55) sync byte. FlexWire receivers use the sync byte to precisely set their UART bit-clock frequency without a high-precision oscillator.[4] For example, the Ethernet preamble contains 56 bits of alternating 1 and 0 bits for synchronizing bit clocks.

Support

Most modems currently on the market 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