4
\$\begingroup\$

When we initialize a serial communication, we usually have to set the baud rate (e.g. 115200) I notice that many people assume that 115200 means 115200 bits per second. However, each baud(signal change) can encode more than 1 bit. baud 115200 means 115200 bits per second only if each baud = 1 bit. If each baud is 5 bits, then having baud 115200 means a bit rate of 115200 * 5 bits per seconds.

If what I said above is true, what is the baud to bit ratio for UART and USB3.0 assuming the baud rate is set to 115200?

It cannot be 1 to 1 because 115200 bits per seconds is 14.0625 KBps (kilo byte per second), which is too slow.

\$\endgroup\$
  • \$\begingroup\$ Ignore USB3.0, imagine "and USB3.0" is removed \$\endgroup\$ – Weidong Guo Jan 30 '16 at 11:21
  • \$\begingroup\$ A UART simply encodes 1 as a high voltage level, and 0 as a low voltage level. \$\endgroup\$ – user253751 Jan 30 '16 at 12:01
  • \$\begingroup\$ (That means 1 bit per symbol) \$\endgroup\$ – user253751 Jan 30 '16 at 12:16
  • 3
    \$\begingroup\$ For a 'normal' UART, baud == bit rate, so 115200 baud = 115200 bit rate = 11.520kBps (assuming 8N1 which means 8bits data + 1 start bit + 1 stop bit). \$\endgroup\$ – brhans Jan 30 '16 at 13:32
  • \$\begingroup\$ Related: Difference between Hz and bps. \$\endgroup\$ – The Photon Jan 30 '16 at 18:11
7
\$\begingroup\$

A minor point: by definition, a Baud (named after Emile Baudot) is one symbol per second. So your statement,

baud 115200 means 115200 bits per second only if each baud = 1 bit. If each baud is 5 bits, then having baud 115200 means a bit rate of 115200 * 5 bits per seconds.

is correct in spirit, but you should replace the word "baud" with "symbol". If you have an alphabet of 32 symbols, then each symbol encodes 5 bits, and a signalling rate of 115200 symbols per second, which is 115200 Baud (by definition), will give you 115200 * 5 = 576000 bits per second.

The commonly used phrase "Baud rate" is grammatically incorrect in essentially the same way that "ATM machine" is incorrect. The definition of Baud has the concept of rate built into it, so saying "Baud rate" is grammatically the same as saying "symbol rate rate" (which might make sense if you're talking about a changing symbol rate, but that's not how most people use it). Likewise, "ATM" has "machine" already incorporated into it, so "ATM machine" is equivalent to saying "automated teller machine machine" (which, again, could make sense if you were talking about a machine that produces ATMs, but that's usually not what people mean).

Grammar aside, most low-to-moderate speed short-range signaling over wire uses binary signalling, so the symbol rate equals the bit rate. Long range signalling over wire (e.g., cable modems) and via radio is more likely to use multi-bit symbols, and hence the bit rate will be higher than the symbol rate.

\$\endgroup\$
  • 2
    \$\begingroup\$ Sorry, but I downvoted because you are wrong. "Symbol" in this case does not mean what you think it means. Typically in binary transmission there are only two symbols, mark and space. An alphabet with 32 characters does require 5 bits, but each bit requires the transmission of a symbol. So your example of a 115k baud signaling rate only transmits 115k bits per second. See en.wikipedia.org/wiki/Baud for more info. \$\endgroup\$ – WhatRoughBeast Jan 30 '16 at 15:24
  • \$\begingroup\$ @WhatRoughBeast Only if you have 0 and 1 as symbols. Entropivore is talking about 32 levels of voltage. en.wikipedia.org/wiki/Pulse-amplitude_modulation In that case, you get 5 bits with one signal because it's encoded in the amplitude of one symbol. \$\endgroup\$ – horta Jan 30 '16 at 19:30
  • 1
    \$\begingroup\$ @WhatRoughBeast, I think you are perhaps confused by the term "alphabet". In comms terms, "alphabet" means the set of symbols that can be communicated over the channel. If there are only two distinguishable states of the channel, then you have an alphabet consisting of two symbols. If there are, as in our previous example, 32 states, then you have an alphabet of 32 symbols. These can be represented in many ways, including amplitude and phase of a sinusoidal carrier, pulse amplitude, width, or position, etc., etc. If you choose to represent these symbols as a binary word, it takes 5 bits. \$\endgroup\$ – Entropivore Jan 30 '16 at 23:36
  • \$\begingroup\$ Sorry, that last sentence is badly worded. I should have said, "If you choose to represent one of these symbols as a binary word." \$\endgroup\$ – Entropivore Jan 31 '16 at 23:39
1
\$\begingroup\$

While communications is digital, baud rate is equal to bit rate. Only when the communications is modulated to analog can 1 baud encode more than 1 bit as per the constellation diagram.

For buses transmitting data that are faster than the bit rate of the serial connection, the transmission is performed in bursts. USB 3.0 can send up to 1024 data bytes per bulk transfer, which means that a full packet would be sent on average every 1.6384us assuming a 5Gbps bus speed.

\$\endgroup\$
  • \$\begingroup\$ Is your 1st paragraph true for buses that use parallel channels? \$\endgroup\$ – jippie Jan 30 '16 at 11:02
  • \$\begingroup\$ Let me make my question simple. What does it mean if I set the baud rate for uart to be 115200? Does it imply that the maximum data rate is 115200 bps. If it can be more, why? \$\endgroup\$ – Weidong Guo Jan 30 '16 at 11:04
  • \$\begingroup\$ @jippie: I suppose technically it isn't, but essentially no one refers to "baud" when talking about a parallel channel. \$\endgroup\$ – Ignacio Vazquez-Abrams Jan 30 '16 at 11:05
  • \$\begingroup\$ @WeidongGuo: It implies that somewhere along the line there is a device that will send bits with at least approximately 8.7us spacing between each bit, and another that can receive bits with no less than the same period. \$\endgroup\$ – Ignacio Vazquez-Abrams Jan 30 '16 at 11:08
  • 1
    \$\begingroup\$ @WeidongGuo: There isn't. Which is why USB latency can be an issue for certain applications. \$\endgroup\$ – Ignacio Vazquez-Abrams Jan 30 '16 at 11:37
1
\$\begingroup\$

Bit rate and baud rate are the same for UART, as others said. It is not the same for all baseband signaling methods (others called them digital, which is not necesarilly correct). Take Manchester line code for example, there the bit is encoded as raising or failing edge.

The way you computed bit rate is not correct, though. UART uses word synchronization, meaning it sends whole bytes at once encapsulated in frames of at least 9 bits. The start bit is added for phase synchronization of clocks between receiver and transmitter.

This is also why it makes no sense to refer to bit rates in case of UART - its either byte rate, or baud rate.

\$\endgroup\$
  • \$\begingroup\$ According to this page, en.wikipedia.org/wiki/List_of_device_bit_rates, Serial 16550 UART max has bit rate of 1.5 Mbit/s, then it means each symbol(signal change) is encoded in (1.5M / 115200 = 13 bits), assuming 115220 Baud. Am I right? \$\endgroup\$ – Weidong Guo Jan 30 '16 at 20:53
  • \$\begingroup\$ Nope, 1.5Mbit is maximum throughput achievable with UART, given its line code and signaling method. It has nothing to do with 115,2kB, that is just another speed. \$\endgroup\$ – student Jan 30 '16 at 21:24
  • \$\begingroup\$ then let me make up a number then, if the average speed is 1.5Mbit/s for UART, is what I said above true then. \$\endgroup\$ – Weidong Guo Jan 30 '16 at 21:26
  • \$\begingroup\$ Nope, if you have throughput 1.5Mbit/s it means you have roughly 187 kB/s, which translates to baud rate at least 1.65MBd. This is the case when each byte is encoded using start bit and the 8 bits of the byte, without stop and parity bits (those are optional). As I said above, bits and bauds are 1:1 in UART, but, there is difference between the bits you transmitted and bits of the data since each byte is encapsulated in its own frame. \$\endgroup\$ – student Jan 30 '16 at 21:36
  • \$\begingroup\$ i only care about the bits transmitted not just the data(payload). "Baud rates can be just about any value within reason. The only requirement is that both devices operate at the same rate". So, baud is protocol-dependent, or hardware dependent, or both? \$\endgroup\$ – Weidong Guo Jan 30 '16 at 22:29
0
\$\begingroup\$

You are comparing the rates at different layers in a abstraction model. In your example USB3.0 is merely used pretty much like a tunnel to send "115200 bps UART" through. It doesn't matter how USB3.0 does that, the voltages may differ, the frames may differ, the speed may differ. (They all will BTW).

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.