USB · Module 3
Pull-Down Resistors
Why an empty port is held at a defined condition rather than left to float: what a floating input actually is, how the pull-downs make absence recognisable, why they are the reference the pull-up is measured against, and why detecting a device leaving depends on them.
Chapter 3.5 treated the host's pull-down as background — always there, always pulling toward ground, the thing a device's pull-up wins against. This chapter asks why it is there at all, and the answer is more interesting than symmetry.
The question to hold is: what would an unoccupied port do without them?
The intuitive answer is sit at zero volts, and it is wrong. A conductor connected to nothing does not rest at ground; it floats. Understanding what that means is the whole of §1, and it explains not only why the pull-downs exist but why they are the more architecturally significant half of the arrangement.
1. A Floating Conductor Is Not a Low One
A high-impedance node — a conductor with no defined path to any supply — has no mechanism establishing its level. It is not zero. It is undetermined, and its apparent level is set by whatever small influences happen to reach it: leakage currents in the receiver's input, charge left over from whatever the conductor was last connected to, and capacitive coupling from anything switching nearby.
Three consequences follow, and all three are fatal to a detection scheme.
A floating input can read as anything. It may sit near ground, near the supply, or — most often and worst — somewhere in the middle. A receiver comparing it against a threshold will produce an answer, and that answer carries no information about what is attached.
It can drift and change. Leakage is small but it accumulates on a capacitance over time, so a floating conductor's apparent level is not even stable. A port could read empty, then occupied, then empty again, with nothing connected and nothing changed.
And it responds to its neighbours. An unconnected conductor running alongside active ones is a coupling target. Activity elsewhere in the system can move it, so a busy machine could generate apparent attachments on an empty port.
A receiver cannot distinguish any of this from a real device. That is the decisive point. The mechanism of Chapter 3.5 works by observing that a conductor has risen — and a floating conductor that has drifted upward looks identical. Without a definite resting condition, device present and nothing connected but the conductor happens to be high are the same observation.
2. Defining Absence
A host or hub downstream port presents a pull-down on each conductor: a resistor to ground, nominally 15 kΩ. Both conductors, always, whether or not anything is attached.
With nothing connected, each conductor has a defined path to ground and rests there. Both low is SE0 — and SE0 is therefore not merely what an empty port happens to show, but what the interface defines an empty port to be.
3. Three Jobs, Not One
Having established a defined resting condition, the pull-downs turn out to be doing three separate things.
They define absence, as §2 described. An empty port reads SE0 dependably, repeatably, and regardless of what else the system is doing.
They are the reference the pull-up is measured against. Chapter 3.5's divider only produces a clear result because there is a known resistance to ground for the pull-up to win against. Remove the pull-down and the divider has no lower leg: the conductor is pulled up against nothing and sits at the supply — which sounds harmless but destroys the measurement, because now a conductor near the supply no longer tells you a 1.5 kΩ pull-up is present. It tells you something is, and the ratio that made the announcement unambiguous is gone.
They detect departure. This is the job that is easiest to overlook and is arguably the most important. When a device is unplugged, its pull-up leaves with it, and the pull-downs return the conductor to ground — so the port goes back to SE0 and the host observes a definite removal. Without them the conductor would simply float after disconnection, probably holding its charge for a while and then drifting, and the host would have no dependable moment at which to conclude the device had gone.
Detecting a device leaving is harder than detecting one arriving, because arrival is announced by something actively presenting a bias while departure is announced by nothing at all. The pull-downs are what convert that nothing into a signal.
4. Why on Both Conductors
A natural question: if a full-speed device biases D+ and a low-speed device biases D-, why not put a pull-down only where it is needed?
Because the port does not know what will be attached. A downstream port must be able to serve either kind of device, which means both conductors must be held low until one of them is raised — and which one is raised is precisely the speed information of Chapter 3.5 §2. Omitting either pull-down would make one of the two speeds undetectable, or worse, ambiguous.
There is a second reason that survives even after a device is attached. The un-biased conductor is not idle scenery: it is half of the differential pair, and during signalling it is actively driven. Before and between driven activity it needs a defined condition too, which is what lets SE0 remain recognisable and lets the pair have a dependable resting state rather than one conductor floating whenever it is not being driven.
5. What This Means for Engineers
For a board or device designer, the general principle is the transferable part: any input that can be disconnected needs a defined condition for the disconnected case. USB's pull-downs are a specific instance of a rule that applies to every removable connection, every optional component, and every unpopulated footprint. A design whose behaviour when something is absent was never specified has an undefined state in it, and undefined states become field failures that reproduce on some units and not others.
For a verification engineer, the case worth building is the one that does not exist in most environments. A device model is typically either present or not instantiated — neither of which models a disconnected but electrically real port. The conditions worth generating are an empty port held at SE0 for an extended period, a removal during activity, and a removal followed by a re-attachment at a different speed, which exercises whether the port genuinely returned to its defined condition rather than remembering the previous device.
For debug, the pull-downs give a specific and quick measurement. An unoccupied port that does not read SE0 has a real fault, and the direction is informative: a conductor sitting high on an empty port suggests a missing or disconnected pull-down, or something else biasing the conductor; a conductor drifting or reading inconsistently on an empty port suggests it is floating, which is the same diagnosis. An empty port is the easiest thing in the system to check and one of the most conclusive, because its correct reading is completely specified and requires nothing to be working except two resistors.
6. Common Misconceptions
7. Reason It Through
A hub design occasionally reports a device attached to a port that is physically empty. The spurious reports are more frequent when traffic is heavy on the neighbouring ports, and one board in five shows the behaviour.
What condition would produce this? A conductor on the empty port reading high when nothing is attached. Since nothing is presenting a bias, that means the conductor is not being held at its defined condition — it is floating, or being biased by something unintended.
Why does traffic on neighbouring ports matter? Because a floating conductor is a coupling target. Activity on adjacent conductors can move it capacitively, and a high-impedance node has no mechanism to pull it back, so coupled charge accumulates rather than dissipating. That correlation is nearly diagnostic on its own: a genuine attachment has no reason whatsoever to depend on other ports' activity.
Why do only some boards show it? Because the amount of leakage, coupling and stray capacitance varies between assemblies. A marginal or missing connection shows up as unit-to-unit variation, which is the same signature Chapter 3.5 §8 identified for an ambiguous level — and the same conclusion applies: the design is faulty on every board, and the ones that behave are not evidence of health.
What is the likely cause? The pull-down on that port's conductor is absent, unconnected, or the wrong value — an unpopulated component, a broken track, a cold joint, or a port whose pull-downs were disabled and never re-enabled if they are controllable.
What single measurement confirms it? The conductor's level on an empty port, and its response to activity. Correct is a stable, defined low. Anything that drifts or moves with neighbouring activity is floating, and the diagnosis is complete before any protocol-level investigation begins.
The general lesson. When an observation correlates with something that should be causally unrelated, the correlation is the diagnosis. Attachment cannot depend on neighbouring traffic; that it does means the thing being observed is not attachment.
8. Understanding Check
9. Summary
A conductor connected to nothing does not rest at zero — it floats, with its apparent level set by leakage, residual charge and coupling from nearby activity. It can read anywhere, drift over time, and respond to unrelated switching, and a receiver cannot distinguish any of that from an attached device.
A downstream port therefore presents a 15 kΩ pull-down on each conductor, always. With nothing attached both rest low, the pair is in SE0, and absence becomes a defined, recognisable condition rather than an absence of information.
The pull-downs do three jobs. They define absence. They are the reference the pull-up is measured against — remove them and a biased conductor sits at the supply regardless of what is pulling it up, so the ratio that made the announcement meaningful is gone. And they detect departure, returning the port to SE0 when a device's pull-up leaves with it — which matters because departure is announced by nothing at all, making it harder to detect than arrival.
They are on both conductors because a port cannot know what will be attached, because which conductor rises is how speed is announced, and because the un-biased conductor still needs a defined resting condition as half of the pair.
The transferable principle: any input that can be disconnected needs a defined condition for the disconnected case. And practically, an empty port is among the quickest and most conclusive things to check, because its correct reading is fully specified and depends on nothing working except two resistors.
10. What Comes Next
Presence and two speeds are now accounted for by resistor position. But USB has a third speed, and it cannot be announced this way — there are only two conductors, and both meanings are already taken.
Chapter 3.7 is where that problem is solved, and it is the most intricate mechanism in this module. A high-speed-capable device begins by pretending to be a full-speed one, because that is the only announcement the static mechanism can make. What follows is a negotiation conducted in line states: the host drives a condition the device recognises, the device answers with a condition of its own, and if both sides recognise what they see, they switch to an entirely different electrical arrangement in which the pull-up of Chapter 3.5 is removed altogether.
That chapter also finally settles a question this module has deferred four times: how long an SE0 must persist before it means something different.
Browse the full path on the USB tutorials index.
Continue learning
Related tutorials
- Related topic
USB Signalling Overview
The four named conditions of the classic USB pair — J, K, SE0 and SE1 — and the receiver structure that produces them. Why a USB receiver observes the pair both differentially and single-endedly, what each observation can and cannot see, and where the analog/digital boundary actually falls.
- Related topic
PCIe vs USB — Who Is Allowed to Start a Transfer
A device that must wait to be asked is a different machine from one that may speak. At a 128-step service interval the polled model completed 3,124 of 7,967 transfers.
- Related topic
The Peripheral-Connectivity Problem
Before a universal peripheral bus, every class of device arrived with its own connector, signalling, host interface, configuration story and driver model — and the cost of that fragmentation landed on the host, the operating system, the peripheral vendor and the user at once. The problem, layer by layer, and the requirements it forces on any architecture meant to replace it.
- Related topic
Legacy Peripheral Interfaces
The pre-USB peripheral landscape compared as engineering rather than nostalgia. Serial, parallel, dedicated input and SCSI attachment set against the dimensions that actually separate them — communication character, discovery, topology, attachment lifecycle and power — and what maintaining several unrelated stacks cost inside the machine.
Standards & specifications
- Governing standard
- USB-IF (Universal Serial Bus Specification)(opens USB Implementers Forum (USB-IF) in a new tab)
Defines the USB bus — its electrical signalling, connectors, packet and transaction model, device framework and the descriptors a device must expose — together with the device-class specifications layered on it. It does not define host-controller register interfaces (xHCI and EHCI are separate documents) nor any operating system's driver architecture.
This page also covers RTL structure, verification approach and debugging technique. Those are engineering practice built on the standard, not requirements the standard itself imposes.
Where this fits
Part of the USB curriculum.
