Skip to content
shaostassen.com

← back to the write-up

Bits → Messages

A frame on a wire, and a receiver deciding what it thinks it saw. Everything here is computed by the same engine that drives a real serial port — nothing is drawn to look like an error.

Eleven rungs, and every one of them can be broken on purpose. Detune a receiver until the stop bit stops landing, pass two flipped bits straight through a parity check, or lose an acknowledgement and watch the message get delivered twice with nothing anywhere reporting an error.

Start with JOURNEY: type a message and follow it across as UART, SPI, I2C, CAN, 1-Wire, Manchester or USB — then set a disturbance and flip between RS-232 and RS-485 to watch the same noise destroy one link and vanish on the other.

01 — LINE

idle high, mark and space, TTL against RS-232 polarity

break it: one end inverts and nothing reports it

An idle serial line sits at mark — logic 1. Nothing is being sent, and the line is high. A frame begins when it falls, and that falling edge is the only thing the receiver has to synchronise on for the whole rest of the byte.

RS-232 inverts that at the pin: a mark is −12 V and a space is +12 V. TTL and CMOS UARTs idle high. It is a pin-level convention rather than a protocol difference, which is what makes disagreeing about it so confusing to diagnose.

the two ends

idle level seen by rx
mark (1)
sent
41 69
received
41 69
the complement would be
BE 96

the line

10receiver sample points (115200 baud, 16x oversampled)

what arrived

41
A
69
i

Both ends agree, so the inversion cancels and the payload is transparent — an inverting link is not a worse link, it is just a different convention. Invert exactly one end to see what disagreement costs.

All 11 rungs are drawn. The ladder stops here on purpose: above a shared bus the next honest layer is addressing and routing, and that is a different subject rather than a taller version of this one.

All eleven rungs, from a voltage on a wire to a shared bus. The ladder stops there on purpose: above multidrop the next honest layer is addressing and routing, which is a different subject rather than a taller version of this one. The LIVE panel needs a server running on your own machine, so on this page it stays idle and explains itself — a real limit of a static site rather than a broken feature. source ↗