Let’s start off with the digital domain. We like to imagine a marching band that moves and plays in lock step to the beat of the drum line. The big bass drum ticks off the down beat–known as the “one”. Everything starts with the one. Snare drummers add their flavor on the back beat and provide fills. With that, you have the one and then the zero. Horn players and everyone else alternately play and rest over those two events to bring out the melody. There, you have the data.
The drum core is the clocking element of the band. The rhythm section lays down a groove for the melody. On a printed circuit board, that timing duty is, of course, the net or nets with “CLK” in their name. Note that CLK is the usual signifier of a clock net when used in the schematic. The clock never takes time off. Meanwhile, the other members of the bus get to have periods when they are at rest.
Where Does Noise Come From?
The fact that the clock is switching continuously while the others are intermittent is why the clock is the noisy one. The switching rate is determined by the controller chip or an external oscillator. The little collection of capacitors and/or resistors around the crystal along with careful routing are part of the effort to get a clear pulse for all that follows.
When we talk about double-data-rate (DDR) it’s not the clock but the other signals that act on the downbeat and the backbeat. That would make you think that those would be twice as noisy as the clock, and they would be if it weren’t for all of those rest periods. We pay strict attention to the threshold of when those DDR signals pass from a low voltage state to a high voltage.
Note that “low” generally means zero volts and high can be anything from one volt to five volts. It’s all low voltage relatively speaking. It doesn’t go much higher because higher voltage swings create more noise. We like to run our crystals on 1.8 volts while the rest of the circuitry is switching between zero and 3.3 volts.
Power–Why Are There So Many Voltage Domains On A PCB?
The power tree of a complete system might start off with 110/220VAC from the wall socket and step it down while converting to direct current using a power supply circuit. The circuit can be a collection of parts placed and routed on the board using a transformer, inductors, capacitors, resistors and diodes.
The transformer reduces or increases the voltage depending on how many windings are on either side. The inductors and caps smooth out the flow while the resistors are used to divide the power into various smaller voltages. Finally, the diodes keep the current typically flowing in one direction. Power supply modules are popular because they take the risk out of designing all of this to pass UL and FCC regulations. Underwriters Laboratories (UL) is the group who certifies that your product won’t easily catch on fire while the Federal Communications Commission (FCC) ensures that it will play well with other electronics. Both of those are necessary approvals for commerce.
Mobile devices will take battery or “wall wart” power which are already direct current and split the VBAT or VIN into 1.2, 1.8, 2.5, 3.3, 5.0, and maybe 9 or 12VDC. It’s all going to depend on the component mix. Even if every part uses the same voltage potential, they tend to want their own isolated version of that rail.
Low voltage switches faster because it’s a lower amplitude of change. Low voltage is also more susceptible to picking up enough noise to make it difficult to decide if the signal is supposed to represent a high or low state. Millivolts add up quickly when the whole range is one volt. It’s like the brass has to take a breather so that we can hear from the woodwinds and the flutes.
Why Data Busses Have to be Tuned to Similar Lengths?
So, where were we? Ah, yes, busses of all kinds, each different type running around on one of many possible voltage swings. Low voltage signals need their space so they don’t get muddied up by the higher voltage devices.
Data packets are sent down the line(s) and followed by a pause when the transmitting device sends a quick stream of ones and zeros that represent the total number of bytes that were transmitted. The number of bits in a byte and other frameworks such as whether there is a stop bit, parity, and duplexing are all established by the firmware.
In this way, the receiver end knows this burst of data with the number of bytes is coming and counts up the number of bytes that it received. If the number transmitted matches the number received, then the receiver keeps listening for more. If the “checksum” is different, the receiver says, “hold up, send that last packet again.”