Today we tend to take for granted the fact that even PC-based oscilloscopes can automatically record and decode packets or frames sent via serial protocols such as 1-Wire, RS-232, and Ethernet. But back in olden times, the decoding of serial protocols was a job for humans. We are speaking, of course, of what was probably the first serial protocol, or at least the first to be widely used: Morse code.
With the benefit of about 170 years of experience in communication protocols, we assume single-line systems were an obvious advance. Actually, the period before the perfection of the telegraph by Wiliam Morse was characterized by several ideas that now sound like cockamamie schemes. Early versions of the electrical telegraph were based on the assumption that multiple wires would be needed – a separate pair for each letter or symbol, or a single conductor for each of them with a common return wire. This arrangement made for costly and cumbersome systems with slow transmission rates.
The most advanced system in this category was developed jointly by William Fothergill Cooke and Charles Wheatstone. In 1837 they developed a system where multiple needles on a board could, from a remote location, be made to point to individual letters of the alphabet. This system was the world’s first commercially successful electrical telegraph, conveying information over a distance of 13 miles between railroad stations in England.
Samuel Morse greatly refined the electrical telegraph. With his assistant, Alfred Vail, he developed the well-known coding system that bears his name. This made possible a one-wire transmission line, using earth as the return conductor. Long runs, eventually across and then between continents, proliferated.
The basic element of Morse code is the dot. All the other elements can be defined in terms of multiples of the dot length. The word PARIS is used in the definition of code speed because it is the length of a typical word in English plain text, having a total of 50 dot lengths. Each dit is one element, each dah is three elements, intra-character spacing is one element, inter-character spacing is three elements and inter-word spacing is seven elements. The word PARIS is exactly 50 elements.
If the word PARIS can be sent ten times in a minute using normal Morse code timing, the code speed is 10 WPM (words per minute). The character speed is related to dot length in seconds by the relationship
Speed (WPM) = 2.4 × (Dots per second)
Sending PARIS five times in a minute (5 WPM) equates to sending 250 elements per minute (using correct spacing). Sending 250 elements in 60 sec/min = 240 msec/element. Sending 13 words/min is one element every 92.31 msec.
The fastest human operators can accurately copy Morse code messages at the rate of around 140 to 200 WPM using a typewriter or keyboard. When using pen and paper, the fastest rate is closer to about 45 WPM. Of course, it is possible to have a computer both generate and decode Morse-coded words, but one widely used program in this area only handles 60 PWM sending and receiving.
Transmission rates could have been faster if Morse code had been designed for better efficiency. That is the conclusion of data consultant John D. Cook, who compared letter frequencies with the length of their code, using a standard assumption that a dash is three times as long as a dot. Ideally, the most frequently used letters would have the shortest codes, but that’s not what Cook found. Multiplying the code lengths by their frequency, Cook found that average letter weighted by frequency has code length 4.5268. Rearranging the codes for optimum efficiency would give a code length of 4.1257, about 9% more efficient.
You might wonder how all this compares with the speed of today’s principal serial protocol, Ethernet. Ethernet speed, of course, is not measured in words/min. The theoretical throughput of Gigabit Ethernet with jumbo frames, and using TCP is 987 Mbps or 123 MB/sec. The approximate throughput for Gigabit Ethernet without jumbo frames and using TCP is around 928 Mbps or 116 MB/sec.
Referring back to the word “paris” used as a typical transmitted word in Morse code, Paris can be expressed as five ASCII octal codes, i.e. five eight-bit bytes. So Gigabit Ethernet can transmit on the order of 24.6 million words like Paris every second and 1.476 billion such words per minute…Quite a bit more than a human translator could handle.