What is Baud Rate and How Does It Work?
Data transmission rates are auto-negotiated in modern protocols, but for older serial connections, both devices must agree on what baud rate to use to ensure reliable communications.
Computers communicate by sending “bits” of digital information across wires from one device to another. This process allows devices to send data to and from your computer, and you don’t need to worry about setting up the details—it just works. For some equipment, however, we must supply information about baud rates. What is a baud rate, and why does it matter?
Every aspect of communication between digital devices is built on the trading of binary bits of information. The earliest devices used serial and parallel communication ports, usually at speeds that would seem relatively slow according to modern standards.
Nearly all of the devices built on modern technology handle the coordination of communication in the background of a computer. When you plug a new device into a spare USB port, a message appears alerting you that the computer is “installing device driver software.” After a several-second delay, the configuration is completed, and we never need to worry about it again.
Figure 1. A common Allen Bradley MicroLogix 1000 uses a serial communication method, where the baud rate is selected in the RSLinx application.
Industrial equipment is a little bit different. It can be extremely costly, not to mention risky, to frequently upgrade computer systems. Most control systems contain tried-and-true communication protocols but also a bit behind the convenience of modern automatic configuration. I have often connected to a PLC and been prompted to provide information with terms such as “baud rate” or “half- and full-duplex” while manually selecting COM ports to route the information.
Limitations of Communication Protocol Speeds
Previously, I mentioned serial and parallel communication protocols. As data streams become more complex, each method has its own way of increasing data throughput. For parallel communication, more lines side-by-side in the cable can send more data. This creates apparent challenges as electronics become smaller and more compact.
For serial communication, faster data rates lead to more throughput. The speed at which computers evolve allows the data transfer rates to keep increasing without increasing the number of wires in a bundle, and this is great news for hardware designers. Simultaneously, it creates challenges for the software development teams.
Most likely, your computer can communicate very quickly. The adapters, such as the Ethernet adapter, are capable of 10s of Gigabits per second (10s of billions of bits every second). But if you wish to connect to a device that is a few decades old, there is no way it can handle data at that speed.
The challenge in designing the software is to know how fast the peripheral device can share data, and then limit your computer to that speed when talking to that device. In modern systems, this is the information contained in that mysterious “device driver software.” Of the two devices, the limiting factor will almost certainly be the older, slower device.
For hardware that pre-dates automating configuration, this speed must be manually coordinated on both ends: the computer and the peripheral device.
Why Does the Speed Need to Match?
When data is transferred, it usually consists of groups of 8, 16, or 32-bit series of binary data pieces. These data strings may represent codes, numeric values in binary form, or 8-bit ASCII characters, such as a letter, number, or symbol.
Figure 2. A DirectLogic 105 and its associated software, DirectSOFT, illustrating the selection of a baud rate for proper communication.
If the sending device is told to send data at a particular rate, but the receiving device only expects half of that data rate, it would miss every other bit. Needless to say, the data will be a complete jumble of useless information at the receiving end.
The baud rate usually appears as a pre-selectable list of data exchange rates so that a user cannot type in her or his own arbitrary baud rate. These baud rates usually range from a low of several hundred to a high of over 100,000 bits per second.
A rule of thumb is to choose the fastest data rate that can be achieved without leaving too much chance of missed information. As the data rate becomes higher, the chance of one bit being subject to interference due to capacitance in cables increases, and the data would be corrupted. On the other hand, choosing too low of a data rate might increase reliability but consume too much time sending and receiving messages, missing critical sensor readings.
Common Baud Rate Applications
Don’t expect to see configurable baud rates on Ethernet-based adapters and devices, but there are a few cases where one could expect to encounter this obstacle.
Figure 3. The Arduino programming interface, a common hobby microprocessor platform, where the baud rate is chosen for the controller board itself with a Serial.begin command (oval in upper left) and selected from a list at the PC terminal (circle in lower right).
- Serial COM ports. Many micro-style PLCs using standard and proprietary COM ports will likely require information about a baud rate. I have configured many MicroLogix1000 processors which require such information. Fortunately, RSLinx is often able to auto-configure once the proper COM port is selected.
- DeviceNet networks. Another limiting factor for baud rates is the distance of the cables. The longer the run of wire, the slower baud rate should be expected. The manufacturer’s specs outline the capabilities of this type of system.
- Microprocessors. I use hobby microcontroller platforms, such as an Arduino, on a regular basis. In this device, the baud rate is entered into the program and loaded onto the board itself; likewise, the same baud rate must be selected in the software.
Older computer systems, especially those found in industrial applications, don’t communicate as fast as Ethernet or other protocols. To mitigate this, the computer may prompt you to enter a baud rate. Baud rates will help ensure the communication between the digital devices is correct and doesn’t miss any data.