Bus Topology
Part of Networking
A single shared wire that all computers listen to — the simplest network topology and the foundation of early Ethernet.
Why This Matters
The bus topology is the most primitive practical network: all machines connect to a single cable. Any machine can transmit; all other machines simultaneously receive. If two machines transmit at the same time, their signals overlap and produce unintelligible noise — a “collision.” Managing these collisions is the bus topology’s central engineering challenge.
For rebuilders, the bus topology is attractive for its simplicity. You need one cable, one connection per machine, and no switching hardware. A working bus network requires only wire, connectors, termination resistors, and the transmit/receive electronics already present in any serial communication device. The entire physical layer can be constructed from salvaged coaxial cable and a few resistors.
The bus topology was the foundation of early Ethernet (10BASE5 and 10BASE2) and remains in use in CAN bus (automotive and industrial control systems), RS-485 networks (industrial sensors), and many embedded system applications. Understanding bus topology means understanding a class of networks that is not just historically important but immediately constructible.
Physical Structure
A bus network consists of a single continuous cable segment to which all nodes connect. The cable is a transmission line: it has characteristic impedance (resistance to signal propagation at high frequencies), and signals travel at a fraction of the speed of light along it.
Termination: The two ends of the bus must be terminated with resistors matching the cable’s characteristic impedance. For coaxial cable (10BASE2 “thinnet”): 50 ohms. For twisted pair RS-485 bus: 120 ohms. Without termination, signals reflect off the unterminated ends and travel back along the cable, interfering with subsequent transmissions.
If only one end is terminated, the reflected signal from the unterminated end will corrupt every transmission. This is a common wiring mistake; if a bus network has intermittent errors, check both terminating resistors first.
Maximum length: The bus length determines signal propagation delay, which affects the minimum safe packet size (short packets may collide without the collision being detected — see CSMA/CD section). 10BASE2 Ethernet has a maximum segment length of 185 meters. RS-485 at low data rates: up to 1,200 meters.
Stubs: Short branches off the main bus. Stubs cause impedance discontinuities and reflections. Keep stubs as short as possible (less than 1/10 of the cable’s electrical wavelength at the highest operating frequency). For 10BASE2: stubs should be less than a few centimeters. For RS-485 at low data rates: stubs up to a meter may be tolerable.
RS-485: Practical Bus Topology for Rebuilders
While 10BASE2 Ethernet requires specific coaxial cable and BNC connectors that may be scarce, RS-485 is a more flexible bus technology:
Physical layer: Two wires (A and B, differential signaling). A > B = logic 1; A < B = logic 0. The differential signal rejects common-mode noise — both wires are affected equally by noise sources, and the differential amplifier at the receiver rejects the common component. This makes RS-485 robust over long distances and in electrically noisy environments.
Standard twisted-pair wire is suitable: telephone wire, network cable, or any balanced pair. The characteristic impedance of common twisted pair is 100–150 ohms; termination resistors in this range work well.
Data rates: 100 kbps over 1200 meters; 10 Mbps over 12 meters. For most early rebuilding applications (sensor data, command/control, file transfer), 9600–115,200 bps over hundreds of meters is the practical range.
Drivers and receivers: RS-485 transceivers are available as standard chips (SN75176, MAX485, MAX3485, and many others). Each chip provides one half-duplex transceiver: one driver output that can drive the bus, and one receiver that senses bus state. The output is enabled only when the node is actively transmitting (to avoid contention). UART chips (found in almost all microcontrollers) provide the serial data; the RS-485 transceiver chip converts the UART’s logic-level signals to differential bus signals.
Typical node count: RS-485 supports 32 “unit loads” per segment. Most modern transceivers are 1/4 unit load, meaning 128 nodes per segment.
Media Access Control: Who Talks When
On a shared bus, only one node can transmit at a time. If two nodes transmit simultaneously, their signals superimpose destructively. The MAC (Media Access Control) layer defines the rules for who can transmit and when.
Polled (master-slave): One node is the master; all others are slaves. The master sends a poll packet to each slave in sequence: “Node 3, do you have data?” If Node 3 has data, it responds; otherwise it sends a short “no data” response and the master polls the next node. No collisions possible — only one node (the addressed slave or the master) transmits at a time.
Polled MAC is simple to implement and eliminates collisions entirely. The cost: latency. In a 10-node network where each poll takes 10 ms, a node may wait up to 100 ms to transmit. For many applications (sensor polling, command-response) this is acceptable.
Token passing: A special “token” packet circulates among all nodes in a fixed order. A node may only transmit when it holds the token. After transmitting, it passes the token to the next node. No collisions; each node gets a fair share of bandwidth. More complex to implement (especially recovery when a node fails or is added while the token is in circulation).
CSMA (Carrier Sense Multiple Access): Each node listens to the bus before transmitting. If the bus is idle, transmit. If the bus is busy, wait. This is the basis of Ethernet. See the following section on collision handling for what happens when two nodes transmit simultaneously.
For a simple rebuilt bus network, polled MAC is strongly recommended. It requires no collision detection hardware, has predictable latency, and is implementable in a few dozen lines of code or state machine logic.
Electrical Construction of a Simple Bus
Bill of materials for a 4-node RS-485 bus at 9600 bps over 100 meters:
- Twisted pair wire: 100 meters
- 4× RS-485 transceiver ICs (SN75176 or equivalent): 8-pin DIP packages
- 2× 120-ohm resistors (termination, one at each end of the bus)
- 4× 4.7 kΩ resistors (bias resistors at one node to define bus state when no node is driving)
- 4× microcontrollers with UART (for generating and receiving serial data)
- 4× 0.1 µF bypass capacitors (one per transceiver, between Vcc and GND)
Wiring:
- Connect the A wire of every transceiver to the A wire of every other transceiver (the bus A rail).
- Connect the B wire of every transceiver to the B wire of every other transceiver (the bus B rail).
- Place one 120-ohm termination resistor between A and B at each physical end of the wire.
- At one node (the master or any designated “bias node”), connect a 4.7 kΩ pull-up resistor from A to Vcc, and a 4.7 kΩ pull-down from B to GND. These bias resistors define the default idle state (A > B = logic 1) when no node is driving the bus.
Direction control: RS-485 is half-duplex — each transceiver can either transmit or receive, but not simultaneously. The direction is controlled by the DE (Driver Enable) and /RE (Receiver Enable) pins on the chip. Connect DE and /RE to a GPIO pin on the microcontroller. Before transmitting, set GPIO high (enable driver, disable receiver); after finishing transmission, set GPIO low (disable driver, enable receiver).
Checking bus health: With no node transmitting, measure voltage between A and B. Should be approximately +200 mV (with bias resistors) — positive means A > B = idle high. If A ≈ B, the bus is unterminated or one biasing resistor is missing. If A < B, the biasing is reversed.
Fault Tolerance and Single Points of Failure
The bus topology has one significant weakness: the cable itself is a single point of failure. A break anywhere in the cable splits it into two isolated segments. A short anywhere on the cable takes down the entire network.
Mitigation strategies:
- Run the cable in a protected conduit to reduce physical damage risk.
- Keep a known-good replacement cable segment available. A bus break can be repaired by finding the break and splicing a new segment — a matter of minutes.
- Maintain a log of where each node’s tap is located, so troubleshooting can isolate which segment is faulty.
- For critical applications, run two parallel buses. Each node connects to both. Normal operation uses Bus A; if Bus A fails, switch to Bus B.
Despite its single-cable weakness, the bus topology remains valuable: it minimizes total wire run, requires no switches or hubs, and can be diagnosed and repaired with simple continuity meters. For a community network where expertise and spare equipment are limited, a simple bus that can be fixed with wire cutters and a solder iron is often more reliable in practice than a sophisticated topology that nobody understands.