21
\$\begingroup\$

In RS-232 specification, the stop bits can be 1, 1.5 or 2 stop bits...I wonder how it's possible to have half a bit?

Also some ADC math uses 0.5bit precision in the IC specifications/datasheet. Can someone elaborate in this subject?

\$\endgroup\$
18
\$\begingroup\$

I wonder how it's possible to have half a bit?

In UART based asynchronous serial communications (of which RS232 is an example), a serial byte of data is "enclosed" within a start bit and a stop bit(s). Following the stop bit there is a gap before the next data byte and this gap can be regarded as extending the stop bit(s): -

enter image description here

A lot of serial data transmission uses one stop bit because the receiver is able to process the bytes in the time but sometimes extending the gap between data bytes by increasing the number of stop bits is useful. As both sending and receiving UARTs have a much higher internal clock rate, manufacturing a fractional bit length is easy.

For an ADC, I've attached a drawing: -

enter image description here

The blue line represents a linearly rising analogue input voltage and the staircase is the digital number from the ADC trying to represent that analogue voltage. In the middle I've shown in red what the theoretical maximum error will be - no surprise it being equivalent to 0.5bits.

\$\endgroup\$
  • \$\begingroup\$ In some cases it may be useful for a UART transmitter to allow a fractional number of stop bits slightly less than one (e.g. 15/16). If device X sends data to device Y as fast as it can, Y must send a byte of data to Z for every byte it receives, and X's baud rate is 0.01% faster than Y's, then one byte every 10,000 will be lost unless Y can transmit data with less than a full stop bit. I've seen one (and only one) UART which would allow 15/16 stop bits (for some reason the allowable values were (9..16)/16 or (25..32)/16, but not e.g. 17/16, which might have been a nice value for X above. \$\endgroup\$ – supercat Aug 13 '13 at 15:38
  • \$\begingroup\$ How long is the extra delay? Is the stop bit always transferred for 150% of the normal time used to transfer one bit? Are there any other cases? \$\endgroup\$ – Unknown123 Oct 28 at 18:37
  • \$\begingroup\$ @supercat Where do you have seen it? Would you like to post the datasheet's link if it's available? \$\endgroup\$ – Unknown123 Oct 28 at 18:52
  • \$\begingroup\$ @Unknown123: The UART was the 2681 nxp.com/docs/en/data-sheet/SCC2681.pdf \$\endgroup\$ – supercat Oct 28 at 18:59
23
\$\begingroup\$

In both of the cases you mention, an analog quantity is involved somewhere.

In the RS-232 case, the number of “stop bits” refers to a duration, so 1.5 stop bits simply means 1.5 times the duration of a bit at the given rate.

In the ADC case, 0.5bit precision refers to the analog quantity being converted, so 0.5bits essentially means that the digital result is guaranteed to represent the analog quantity rounded correctly to the nearest possible digital representation.

\$\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.