Spring is here, and I’ll be hitting the road again soon, this time to the East Coast and Europe. I'll be in Rochester, NY from May 4-7 teaching two seminars. The first, "Advanced High-Speed Signal Propagation", treats the subject of going so fast (or so far) that you must take into account high-frequency signal losses, reflections, and other artifacts associated with transmission media. My latest course, High-Speed Noise and Grounding, explores the world of mixed-signal crosstalk.
PREFACE TO TODAY'S ARTICLE
This is the last article in a three-part series.
Starting in 1981, my technical mentor, Professor Martin (Marty) Graham, worked with me to create a new distributed bus architecture that quadrupled the performance of a large ROLM (later IBM) digital telephone exchange. Marty revealed the principles behind his new bus structure in a series of meetings, mostly around mealtime.
If you haven't read my latest two articles, go read them first. They contain background material essential to understanding today's topic:
- Space-Time Diagrams: ../news/12_02.htm
- Nibble Effect: ../news/12_03.htm
Professor Graham relaxed, legs crossed, sitting back in his chair, slowly clinking the ice in a freshly-poured scotch. He regarded the half-eaten mound of black-bottom pie in front of him.
"This is the only good diner I know with a full bar," he said. "Plenty of diners serve pie. Plenty of bars serve scotch." He straightened, locking his eyes with mine. "When you want both at the same time you have to go to a very special place."
Marty wiped his lips with a paper napkin and then carefully spread it flat on the table. He pulled a black fountain pen from his jacket pocket. With precise, delicate strokes on the tissue-thin paper he swiftly sketched a familiar picture and began his lecture.
* * * * *
The time-space diagram in Figure 1 depicts two totem-pole drivers in action. Both begin in the tri-stated condition. Driver A engages first, propagating a two-bit sequence both right and left. At a later time, driver B engages, emitting a three-bit signal. The timing of the two transmitted bit streams is too tight, causing the two intended wave patterns to overlap in the red-colored region.
There are two good scenarios you can use to understand the resulting wave pattern interaction. They both lead to the same conclusion.
The first scenario takes into account the pre-existing state of the transmission line at the time driver B initiates its action. At that precise moment, in the absence of any action on the part of B, the left-moving signal from A already holds the line high. As a result, within the red region the activation of B's totem-pole high-side circuit drives no additional new current onto the line, so the system behaves as if driver B were not activated.
Only after the wave from A completely passes position B does the second driver begin to source any significant current. As a result, the received signal at the right end of the line arrives absent the leading portion of B's transmission. Driver B was engaged for three bit times, but because of the overlap only two appear at the right end of the line. That is the nibble effect.
The second scenario assumes the existence of a signal from B, and then calculates its effect on the signal from A (Figure 2). In this scenario, prior to activation driver B exists in a high-impedance tri-stated condition. At that time it exerts no influence on the initial portion of the passing wave from A.
Now let driver B launch waves proceeding in both left and right directions. Assume both waves have full-sized, unit amplitudes. Note that the act of transmitting changes the topology of the transmission structure. At the moment driver B becomes active, its output impedance changes from the tri-state condition of high impedance to a switched-on condition of very low impedance. The existence of a low-impedance node on the transmission line at position B can create reflections. The reflection coefficient for any signals interacting with that node would be negative one.
Consider the interaction of wave A with node B. While B remains active, the left-moving wave from A reflects off driver B's low impedance, turning into a right-moving wave with negative amplitude (marked in red, -1). The superposition of A's negative reflection plus the pre-existing positive signal from driver B (marked in green, +1) creates a signal of zero amplitude moving to the right. That explains the absence of signal moving to the right.
In the left-moving direction, the low impedance of node B attenuates the signal from A to such a degree that none of it escapes past the driver (red dotted line). The only signal that remains headed left is the signal from B at unit amplitude (marked in green, +1). When the overlap from A ceases, the right-moving reflection from A goes away. That leaves only the signal from B, moving at unit amplitude in both directions.
I like the reflection scenario because it neatly explains the nibble effect as the result of reflections caused by the low-impedance state of driver B.
According to the reflection scenario, the nibble effect goes away if you eliminate the reflections at B. Let's see if a totem-pole driver can make that happen.
A nibble-free distributed bus driver must meet two requirements.
(1) The driver must put out a healthy-sized signal. At the same time,
(2) The driver must allow other signals to pass without reflecting them.
Meeting requirement (1) is trivial. Any totem-pole bus driver built from huge I/O transistors easily forces a full-sized signal onto a terminated transmission line. Unfortunately, when turned on, such a big driver presents to the transmission line a very low value of output impedance, violating (2).
A mid-range value of output impedance won't fix the reflection problem. For example, engage a 50-ohm driver midway along an otherwise good 50-ohm line. When a pre-existing signal flies by it encounters the driver (50 ohms) in parallel with the remaining portion of the line (also 50 ohms). The composite load at the driver location therefore equals 25 ohms, creating a 33% reflection.
To eliminate the reflection problem you need a driver with a very high value of output impedance, much higher than the transmission line impedance. You could build such a driver using small, wimpy transistors with lots of natural output resistance. Alternately, you could start with a more powerful driver and connect it to the line through a large series resistor (1000 ohms or more). Either approach creates a high-impedance structure, eliminating reflections. Unfortunately, both approaches limit the driver's output current to an unacceptably low value, violating (1).
You can not meet both requirements using a totem-pole driver structure.
WHAT MARTY REALLY MEANT
In the restaurant, when Marty said, "Plenty of diners serve pie," what he really meant was, "Plenty of drivers serve up a nice, big signal. Other drivers give you a high value of output impedance. But, when you want both at the same time, you have to go to a very special place."
The special place we have to visit is called the current-source driver.
A digital current source operates in only two states, ON and OFF. When turned OFF, it presents a high-impedance load (zero current) under all reasonable conditions of operation. The OFF state corresponds to digital ZERO. It also serves the function of the DISABLED, or TRI-STATE, condition of an ordinary totem-pole driver.
When turned ON a current source emits a calibrated amount of current regardless of the voltage existing at the load (within reason). The main parameters associated with a current-source are:
- Output current. Most current-source drivers are configured as either NMOS or bipolar NPN pull-down-only devices. They provide two levels of current: off and on. In the off state they draw zero current. In the on state they sink a prescribed amount of current, usually in the range of 10-50 mA.
- Dynamic output admittance specifies the change in output current in reaction to change in load voltage. A value of zero represents a perfect current source (i.e., the current does not change at all in reaction to load voltage). In a 50-ohm bus architecture, avoidance of reflections greater than 5% requires an admittance less than .0021 mho, which equates to an effective dynamic output resistance greater than 475 ohms.
- Headroom refers to the range of output voltages over which the circuit works as specified. If, for example, the nominal termination voltage for a transmission structure is 2.5 volts, and the driver can work over a range of 2.5 down to 1.5 volts, then the circuit headroom equals 1 volt. A generous headroom specification ensures the current source can always sink its prescribed amount of current even as other unrelated voltage signals pass by on the bus structure.
- Output capacitance. A totem-pole (push-pull) structure requires two output transistors. A pull-down-only driver requires just one output transistor, giving it a natural advantage in terms of its output capacitance. This is why most current-source drivers are configured as pull-down-only.
- Switching time is simply the rise and fall time of output current, as measured with a resistive load.
Figure 3 illustrates two simple NMOS current source circuits in operation. The FET elements are operated within their constant-current region. Practical circuits incorporate additional means to stabilize the circuit against variations in temperature and manufacturing parameters, but this simple circuit will suffice to show the basic operation.
Control signals A and B each vary between zero (off) and some positive voltage that causes each FET to sink a known amount of current. Provided that the load resistance (25 ohms in this case) is sufficiently low, so that the FET drain voltages do not drop too low, the current from each source superimposes with that of the other.
A current source, when connected to a transmission line, causes no reflections because the dynamic output impedance remains high in both the on and off states. It's the perfect device for a nibble-free distributed bus.
A current source can be designed to sink arbitrary amounts of current, although there exist some fundamental tradeoffs involving the output current capability, the output capacitance, the headroom requirement, and, especially, the power dissipation.
In operation on a distributed structure, the current source resolves the wave pattern overlap problem by simply producing, within the red-colored region of Figure 1, a double-sized output voltage. This output voltage represents the amplitude of the first wave from A superimposed upon the output from B. When connected in shunt to a common bus, current-source drivers do not interfere like totem-pole drivers. The resulting time-space diagram, using current sources, appears in Figure 4.
Current-source drivers, combined in a master-slave architecture with the master receiver at the right side of the bus and a synchronous clock source broadcasting from the left side, pull free of the nibble-effect timing restrictions. With current sources you can attain 100% bus utilization.
The pattern of transactions still requires pre-planning to avoid direct conflicts between drivers, but as long as each device is assigned, from the perspective of the master receiver, a unique timeslot then no interference occurs regardless the pattern of access. That is a major simplification of, and upgrade to, the standard totem-pole structure with nibble-effect timing limitations.
Figure 5 illustrates the sort of complex transaction patterns made possible with current-source drivers. In the figure, as many as four waves overlap, stacking up a maximum output voltage 4 times the nominal unit output level. With enough headroom, each driving circuit still functions properly.
* * * * *
Marty described the current-source bus idea to me in 1981. Our use of current-source drivers in the context of a digital telephone exchange was granted U.S. patent 4,627,050 in 1986. The first implementation was 75 feet long, carrying 16 data bits at a clock speed of 18.432 MHz. I did not believe at the time that the computer industry would ever reach speeds so great that the same techniques would apply on printed circuit boards running 100 times faster, with traces 100 times shorter. To me, such a progression seemed fantastic, yet, to Marty, it seemed inevitable.
Marty understood how the computer industry repeats the same themes generation after generation. At each stage, the physical packaging presents significant obstacles to progress. Everyone complains about fundamental tradeoffs among speed, power, heat, and cost.
Then someone invents a new device, or places an existing device in a smaller physical package. Suddenly, the constraints are removed and the clock speed lurches forward until, guess what, the new physical packaging once again limits performance.
Study the physics of signal transmission, packaging, and manufacturing technology, Marty said, and your talents will always be in great demand.
Dr. Howard Johnson
Marty's memorial service was held in 2015. In attendance were experts in electrical engineering, computer scientists, presidents of companies, venture capitalists, and lots of his dear friends. Marty exerted a great influence on people from many walks of life, and he will be dearly missed.