Allison wrote:
The only other beast out there like the SIO was the
NEC MPSC or 7201 (SS as I8274), that was a sio for 808x busses and
also a pain to program for.
That chip sucked when used as a plain old UART. In order to handle slight
speed mismatches between two modems emplying synchronous modulation,
without requiring the modems to have flow control to the hosts, there's an
ITU-T (formerly CCITT) spec that allows stop bit shaving. Characters
output by the modem to the host is allowed to have a slightly short stop
bit (15/16 of a full bit time). This would happen if one modem had a
slightly higher speed crystal than the other; that modem could send bytes
every so slightly faster than the receiving end could put them out its
serial line. This was common with 1200 bps through 9600 bps modems
before MNP and V.42 error control were used; when error control is
used there is flow control between modems, and flow control required
between hosts and modems, so stop bit shaving is not needed.
Some other non-modem devices generate fractional (shaved) stop bits
as well, for similar reasons.
Normal UARTs, SCCs, etc. handle fractional stop bits just fine, because
they only sample the stop bit near its midpoint, and are reading for
another start bit soon after. The uPD7201, on the other hand, will
reject the shaved character and/or the following character with a
framing error.
There's another related modem feature used by modems with synchronous
modulation and no error control. When the host serial port sends data
to the modem slightly faster than the modem's synchronous modulation
(again, due to crystal variations), the modem drops up to one in ten
stop bits entirely when running them through the modulator. (On the
synchronous modulation, it's not possible to send a fractional stop
bit). The receiving modem knows to deal with this. This condition
tends to require the use of stop bit shaving on the serial port, since
host computers will not accept characters with entirely missing stop
bits. The stop bit deletion on the modulation is part of the ITU-T
V.14 standard, and is allowed on no more than one character in ten,
so it allows the modem to deal with up to 1% overspeed. The recieving
modem may or may not have to employ fractional stop bits on its host
interface to compensate.
Eric