How Serial Links Work

Serial communication based on RS232 is normally used to transfer information from one computer bus to another. The mechanism used is so simple that the devices need not even be computers, the standard has its origins in the days of mechanical teleprinters.
 

Teleprinters are of some historic interest, but the mechanics also helps illustrate what is happening on a serial line. In the telprinter keyboard, pressing a key pushed some rods along so that they closed a set of switches. Different rods closed a different set of switches. Each of the switches connected to contact on a rotary switch, which had also been set in motion by the keypress. The wiper arm on the rotary switch then went around at a fixed rate, connecting with its series of contacts and placing whatever voltage it found there onto the communication line. So the parallel switch pattern generated by a key was turned into a serial bit pattern.

At the other end the print mechanism turning the series of pulses into print was a bit more elaborate. The arrival of a start bit released a cam which then rotated. The rotation of the cam also lifted and rotated the print element. However the print element movement was controlled by clutches,  triggered by solenoids worked by the arriving pulses of current. When the last pulse time elpsed the print element position was fixed and at this point the motor tapped it forward onto the ribbon and paper, printing a character.

The mechanical devices were slow - typically managing 10 characters per second, and they were expensive to make and maintain. Electronic systems are much smaller and less expensive to make.

Electronic devices to turn parallel into serial and vice versa are called shift registers. A parallel to serial shift register typically takes 8 input bits and shifts them out one at a time. It's counterpart the serial to parallel shift register takes serial bits in and assembles the parallel pattern.

Shift registers need quite a bit of support circuitry. For instance:

the receive shift register is static until it gets a valid start bit. A circuit such as a monostable monitors the line and triggers when it sees a "mark" for sufficient time.

the clock timing for the transmitter has to be generated - this is usually based around a crystal oscillator, and the output of the oscillator is routed through a counter, the different rates of output from the counter become the baudrates.

The receive mecahnism needs a clock. The transmitter clock is not necessarily in phase with the receive bit-pattern so a phase-lock circuit is needed to produce the receive clock

Outgoing handshake signals (DTR, RTS etc) need to be set up as flags - perhaps in a flag register. Incomming handshake signals (DSR, CTS, DCD etc) need to raise flags, and perhaps create an interrupt for the local processor to service.
 

At the attendant circuitry for serial communications is wrapped into a device usually calles a UART - Universal Asyncronous Receiver and Transmitter. Manufacturers made variants that they called USART, DART and so forth trying to popularise a particular acronym. UARTs were amongst the earliest large-scale integrated circuits to become popular. The circuitry was fairly standard, and what a UART does uses quite a lot of components if it is done any other way.

The UART wraps all the logic needed for character by character transfers into one device. The UART doesn't usually
make the voltages that will be needed on the communication line. This is left for less elaborate chips often called "line drivers"
handle the incomming voltages from the line. This is the job for receiver chips
The transmitter and receiver chips are separate, partly because they may use a different semiconductor technology and partly because they will be vulnerable to external electrical events.