Figure 1: Shown are five I/O drivers within a package driving signal lines on a PC board |
Figure 1 shows a few I/O drivers within an IC package (contained within dotted rectangle) feeding signals to some transmission lines on a PC board. The five I/O drivers shown share common Vcc and Vss rails on the die. As the drivers' signals go off chip, they'll traverse leads that reach from the die's bond pads to solder balls on the PC board and then to signal traces on the PCB. The common Vcc and Vss leads connect to solder balls on the PCB and connect to the PC board's ground and power planes.
As these I/O drivers push signals to various on-board destinations, suppose that the top four drivers in Figure 1 are switching, while we keep the bottom of the five drivers tied low, connecting its output to the Vss rail on the die. Say our four switching drivers make a transition from output high to output low, sending the charge stored on those transmission lines heading down the Vss rail into the board's return plane. That current will reach the ground plane, then travel underneath the signal lines. All of the switching current will have passed through the common lead inductance in the package.
When you have a transient current, a ΔI/Δt, traveling through the inductance of this common lead, a voltage results. Thus, the Vss rail on the IC package side of Lbonding in Figure 1 will have a higher potential than the Vss rail on the PCB ground-plane side of Lbonding. It's that connection between the package's solder ball to the PC board's ground plane that the current flows through to make its way under the signal line and continue its journey down the transmission line.
Figure 2: Shown are an I/O output signal (yellow) and a quiet-low I/O sense line (magenta) picking up ground bounce that results from the signal line's switching activity |
This quiet-low I/O driver is the key to diagnosing and evaluating ground bounce. By looking at this driver's output, we can deploy it as a sense line to tell us what the voltage is on the die's ground rail relative to the PC board's ground plane.
Figure 2 shows a measured example of the voltage noise on a quiet-low line. The yellow trace is a switching I/O driver output while the magenta trace is the quiet low. When the driver goes high, we see a negative spike, and as it goes low, a positive spike, due to current traveling in opposite directions through Lbonding for these transitions. Those spikes in voltage on the quiet-low line are ground bounce.
You can see from Figure 2 why ground bounce can be so difficult to diagnose. When we have signal lines that are switching and we're monitoring the received signals on an oscilloscope, we might not be looking at our signals right on the edges. We might have our setup and hold times adjusted so that we're looking at the center of the pulse. If so, we probably will not detect the ground bounce.
If you're working with a synchronous bus, you might get away with engineering the timing such that you won't be all that sensitive to ground bounce. But if you're working with an asynchronous bus, as most of the common microcontroller buses such as I2C, SPI, or CANbus are, they are going to be highly susceptible to ground-bounce noise that can happen anywhere in a given clock cycle. The result is likely to be those bit errors mentioned above.
In upcoming posts, we'll look more closely at this quiet-low I/O driver approach to detecting ground bounce, as well as how to measure it effectively.
No comments:
Post a Comment