`US 6,693,450 B1
`(0) Patent No.:
`Feb. 17, 2004
`(45) Date of Patent:
`Volk et al.
`
`US006693450B1
`
`DYNAMIC SWING VOLTAGE ADJUSTMENT
`
`OTHER PUBLICATIONS
`
`(54)
`
`(75)
`
`Inventors: Andrew M. Volk, Granite Bay, CA
`(US); Warren R. Morrow,Steilacoom,
`WA(US)
`
`(73)
`
`Assignee:
`
`Intel Corporation, Santa Clara, CA
`(US)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`US.C. 154(b) by 0 days.
`
`(21)
`
`(22)
`
`61)
`(52)
`
`(58)
`
`(56)
`
`Appl. No.: 09/677,117
`
`Filed:
`
`Sep. 29, 2000
`
`Tint, C07 ceeececcccccccccsscesessesteseeseeseeseseeseenes H03K 17/16
`US. Cle ssscsssenmssmermnenen 326/30; 326/32; 326/33;
`326/34; 326/87
`Field of Search .........0...... cee 3206/3 1-34, 82,
`326/83, 87, 91
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5134311 A *
`5,596,285 A
`5,677,639 A
`6,060,907 A *
`6,118,310 A #
`6,177,809 B1 *
`FOREIGN PATENT DOCUMENTS
`
`Biber et al. oo...
`Marbotet al.
`Masiewicz
`Vishwanthaiah et al.
`Estlidiy semen
`Tonti et al. oo...
`
`7/1992
`1/1997
`10/1997
`5/2000
`9/2000
`1/2001
`
`vee 307/270
`
`seve 326/87
`see 327/108
`saws 326/83
`
`EP
`JP
`
`0 463 316
`11145814
`
`1/1992
`5/1999
`
`DeHonetal., ZEEE International Solid-State Circuits Con-
`ference,
`1993,
`“Automatic
`Impedance Control,” pp.
`164-165,.
`Gabaraet al., JEEF Journal of Solid State Circuits, 1992,
`27(8):1176-1185.
`Knight et al., JEEE Journal of Solid-State Circuits; 1988,
`23(2):457464.
`Kushiyama ct al., IEEE Journal of Solid-State Circuits,
`1993, 28(4):490-498.
`Pilo et al., JEEE International Solid-State Circuits Confer-
`ence, 1996, pp. 148-149.
`Takahashi et al., JERE International Solid-State Circuits
`Conference, 1995, “A CMOS Gate Array with 600Mb/s
`Simultaneous Bidirectional I/O Circuits,” pp. 40-41.
`Trotter, et al., JEEE, 1994, “A CMOS Low Voltage High
`Performance Interface”, pp. 4448.
`
`* cited by examiner
`
`Primary Examiner—Anh Tran
`(74) Attorney, Agent, or Firm—Fish & Richardson P.C.
`
`(57)
`
`ABSTRACT
`
`The disclosure presents a device comprising a driver con-
`figured to transmit a signal on a bus line, including a driver
`element configured to pull against termination impedance.
`The impedanceof the driver element is dynamicallyadjust-
`able. The disclosure also presents a methodof electronically
`adjusting the impedance of the driver element to regulate the
`swing voltage on the busline.
`
`16 Claims, 5 Drawing Sheets
`
`oN
`
`
`Element
`
`:
`
`[Tuner Controller
`
`Driver
`
`1
`
`NVIDIA 1004
`NVIDIA 1004
`
`
`
`U.S. Patent
`
`Feb. 17, 2004
`
`Sheet 1 of 5
`
`US 6,693,450 B1
`
`
`
`FIG. 1B
`
`2
`
`
`
`U.S. Patent
`
`Feb. 17, 2004
`
`Sheet 2 of 5
`
`US 6,693,450 B1
`
`RCOMP
`
`Controller
`
`
`FIG. 2
`
`3
`
`
`
`U.S. Patent
`
`Feb. 17, 2004
`
`Sheet 3 of 5
`
`US 6,693,450 B1
`
`
`
`Pull-Down
`Driver
`
` DriverBr
`
`ae eH ype4ne ee ee ee ef ee ee eee
`
`Element
`
`
`
`Tuner Controller
`
` Element
`
`
`FIG. 3
`
`4
`
`
`
`U.S. Patent
`
`Feb. 17, 2004
`
`Sheet 4 of 5
`
`US 6,693,450 B1
`
`120
`
`SET DRIVER
`IMPEDANCE
`
`
`
`
`
`122
`
`SENSE VOLTAGE
`ON DATA BUS
`
`
`
`
`
` CALCULATE
`IMPEDANCE
`
`ADJUSTMENT
`
`126
`
`IS
`is
`
`DATA BUS
`THERE A
`
`YES
`
`
`VOLTAGE TOO
`PENDING IMPEDANCE
`LOW
`GOSUSTMENT
`
`
`
`
`
`IS
` IS
`
`
`THERE A
`DATA BUS
`VOLTAGE TOO
`PENDING IMPEDANCE
`
`
`
` ORIENT
`HIGH
`
`?
`
`
`
`
`ADJUSTMENT
`
`
` ADJUST
`
`CALCULATE
`IMPEDANCE
`
`IMPEDANCE
`
`
`FIG. 5
`
`5
`
`
`
`U.S. Patent
`
`Feb. 17, 2004
`
`Sheet 5 of 5
`
`US 6,693,450 BL
`
`TRANSCEIVERS SET OWN PULL-UP
`IMPEDANCE TO MATCH BUS
`LINE IMPEDANCE
`
`IMPEDANCE TO MATCH BUS
`LINE IMPEDANCE
`
`
`FIG. 7 TRANSCEIVERS SET QWN PULL-UP
`
`FIRST TRANSCEIVER ADJUSTS
`OWN PULL-DOWN IMPEDANCE
`WHEN TRANSMITTING
`
`TRANSCEIVERS SET OWN PULL-
`DOWN IMPEDANCE AGAINST
`OWN PULL-UP IMPEDANCE
`
`SECOND TRANSCEIVER ADJUSTS
`OWN PULL-DOWN IMPEDANCE
`WHEN TRANSMITTING
`
`SECOND TRANSCEIVER ADJUSTS
`OWN PULL-DOWN IMPEDANCE
`WHEN TRANSMITTING
`
`SECOND TRANSCEIVER ADJUSTS
`OWN TERMINATING
`IMPEDANCE WHEN RECEIVING
`
`FIG. 8
`
`6
`
`
`
`US 6,693,450 B1
`
`1
`DYNAMIC SWING VOLTAGE ADJUSTMENT
`
`BACKGROUND
`
`This invention relates to dynamic output
`adjustment.
`A driver is a digital electronic circuit for holding a binary
`value, and communicating it to other circuits to which it is
`connected. The binary value is represented by a voltage
`level. It is common to connect a driver to a data bus for
`
`impedance
`
`10
`
`communicating the binary value to a receiving circuit by
`“driving” the bus to a desired voltage level. In a typical
`parallel interface, one of the voltage levels (HIGH or LOW)
`is a power rail voltage, and the other voltage signal is a
`“swing voltage” awayfrom the powerrail voltage. That is,
`the difference between a voltage HIGH signal on busline
`and a voltage LOW signal is called the “signal swing.”
`The driver has an inherent output impedance. The driver’s
`output impedance when driving the bus to a voltage HIGH -
`level may differ from the driver’s output impedance when
`driving the bus to a voltage T.OW level. In addition, the bus
`has an inherent
`transmission line or characteristic
`
`15
`
`impedance, and the receiving end of a parallel-terminated
`system has an input
`impedance, called the termination >
`impedance. To obtain a high rate of data transfer on the bus,
`the characteristic impedance should closely match theter-
`mination impedance.
`
`DESCRIPTION OF DRAWINGS
`
`FIGS. la and 1b are diagrams of transmitter-receiver
`systems with parallel terminations.
`FIG. 2 is a block diagram of a driver system.
`FIG. 3 is a block diagram of a driver system.
`FIG. 4 is a circuit diagram of a pull-downdriver element.
`FIG. 5 is a flowchart illustrating dynamic impedance
`adjustment.
`FIG. 6 is a diagram of a two-transceiver system.
`FIG. 7 is a flowchart illustrating dynamic impedance
`adjustment in a two-transceiver system.
`FIG. 8 is a flowchart illustrating dynamic impedance
`adjustment in a two-transceiver system.
`DETAILED DESCRIPTION
`
`40
`
`45
`
`FIG. la and 1b are diagrams showing typical parallel
`interfaces. In parallel interface 10 shown in FIG. 1a, a driver
`12 in a sending circuit 14 transmits data along a busline 16
`to a receiver 18 in a receiving circuit 20. Driver 12 drives the ;
`voltage on bus line 16 to a desired value. The dynamic
`voltage on bus line 16 depends uponthe ratio of the output
`impedance of driver 12 to transmission line impedance,
`times the pull-up voltage 24 of receiving circuit 20.
`In FIG. 1a, receiver 18 uses a pull-up resistor 22 con-
`nected to the positive voltage supply Vcc 24, thus terminat-
`ing ta Vcc. A receiver may also terminate to the opposite
`powerrail, such as ground, as shownin FIG. 18. In FIG. 1b,
`a receiver 26 uses a pull-down resistor 30 connected to
`circuit ground 32. Pull-up and pull-downresistors 22 and 30
`represent pull-up and pull-down termination impedances,
`arid need not be actual resistors.
`
`5
`
`60
`
`Driver 12, looking down bus line 16, sees impedance due
`to the characteristic impedance of bus linc 16 and duc to the
`termination impedance, 1.e., the pull-up or pull-down imped-
`ance. The input impedance of the receiver is typically very
`high, and because the pull-up or pull-down impedanceis in
`
`65
`
`7
`
`2
`parallel with the receiver, the receiver’s high impedance is
`not seen by the driver.
`The characteristic impedance and the termination imped-
`ance affect the signal transmitted on busline 16. Ideally, the
`characteristic impedance and the termination impedance
`should be matched as closcly as possible to minimize signal
`reflection. If signal reflections are minimized,
`the swing
`voltage can be safely regulated by dynamically adjusting the
`output impedance of the driver.
`FIG. 2 shows a driver system 50, in which driver 52
`includes a predriver and logic 54 and driver elements 56.
`Predriver 54 supplies a binary value to driver elements 56.
`Driver elements 56 drive the voltage on a bus line 58 to a
`desired voltage. As will be described below, the impedance
`of driver clements 56 is programmable and dynamically
`adjustable. The impedanceof driver elements 56 is regulated
`by programmingsignals 66 from a resistance compensation
`controller 64, called the “RCOMP Controller,” and by
`tuning signals 70 from a tuner 72. Tuner 72 senses a voltage
`feedback signal 60 from the bus line 58 to adjust
`the
`impedance and thus regulate the swing voltage.
`FIG. 3 showsdriver system 50 configured to transmit data
`on busline 58 to a receiver with pull-up impedance, such as
`receiver 18 shown in FIG. la. Driver system 50 can be
`configured to transmit to a receiver with pull-down imped-
`ance as well, but for simplicity, transmission to a receiver
`with pull-up impedance will be described.
`Driver elements 56 comprise a pull-up driver element 80
`and a pull-down driver element 82. The impedance of
`pull-up driver element 80 and the impedance of pull-down
`driver element 82 are programmable. Because receiver 18
`has pull-up impedance 22, pull-down driver element 82
`pulls against the termination, and therefore dynamic adjust-
`ment to the impedance of pull-down driver element 82 will
`be described.
`
`To facilitate the dynamic adjustment of the output imped-
`ance of driver system 50, the impedance of pull-up driver
`element 80 and the impedance of pull-down driver element
`82 are electronically adjustable. More specifically,
`the
`impedance of pull-up driver element 80 is controlled by a
`pull-up control signal 66 and the impedance of pull-down
`driver element 82 is controlled by a pull-downcontrol signal
`70. The impedance of each driver element 80 and 82 is
`regulated by RCOMPcontroller 64. In addition, the imped-
`ance of pull-down driver element 82 is dynamically adjusted
`by tuner 72. Pull-up control signal 66 and pull-downcontrol
`signal 70 are digital signals and may be conveyed on a
`plurality of data lines, each line carrying a single control bit.
`Signals 68 from RCOMPcontroller to tuner 66 likewise are
`digital signals and may be conveyed on a plurality of data
`lines.
`
`For purposesofillustration, it is assumed that a voltage
`HIGHsignal on busline 58 is at or near supply voltage Vec
`24, and that a voltage LOW signalis ideally a certain swing
`voltage below the supply voltage.
`In FIG. 3,
`the ideal
`voltage LOW level is one-third of supply voltage Vee 24,
`and is denoted “VSWING.”Driver system 50 is coupled to
`a regulated reference voltage 84 set
`to the magnitude
`VSWING,i.e., one-third of the supply voltage. It is further
`assumed that the relationship between the voltage on bus
`line 58 and the output impedance of driver 52 is known.
`Whenthe termination impedance is closely matched to the
`characteristic impedance,
`the relationship is based upon
`vollage division.
`When bus line 58 is driven LOW by pull-down driver
`element 82, the resulting voltage on bus line 58 should be
`
`
`
`US 6,693,450 B1
`
`10
`
`15
`
`3
`close to the value of VSWING84. The actual voltage on bus
`line 58, however, may be above or below VSWING 84.
`RCOMPcontroller 64 programs the impedance of pull-
`down driving element 82. A resistor 86 connects RCOMP
`controller 64 to circuit ground 32, which in this example is
`the powerrail opposite of that used by receiver 18. A voltage
`divider is formed by resistor 86 and a copy 65 of pull-up
`driving element 80 in RCOMPcontroller 64 coupled to
`RCOMPline 88. The voltage divider produces an RCOMP
`input voltage 88 that is equal to VSWING voltage 84 when
`the impedance of the pull-up driving element 65 is at a
`desired value. The target impedance of the pull-down driv-
`ing element 82 is set in a similar manner, using a copy (not
`shown) of driving element 82 and another voltage divider
`(not shown) in RCOMPcontroller 64.
`RCOMPcontroller 64 initially sets pull-down driving
`element 82 impedance close to a value expected to produce
`a voltage LOW signal equal
`to VSWING 84. RCOMP
`further updates the impedance settings periodically when
`triggered by an update clock input 94. Traffic on busline 58
`may be suspended during RCOMPupdates.In the course of
`actual transmissions, however, the terminating impedance
`may be different from the expected value, or the terminal
`impedance may change duc to loading at
`the receiver,
`heating or other factors. As the impedanceseen by driver 52 *
`changes, the swing voltage changes as well, and the voltage
`LOWsignal does not remain equal to VSWING 84. To
`compensate for shifts in the swing voltage, the impedance of
`pull-down driving element 82 is dynamically adjusted.
`Dynamic compensation is accomplished by feeding back
`the voltage 60 transmitted on bus line 58 to tuner 72. Tuner
`72 includes a comparator 90, which receives the feedback
`voltage 60 as one input and the regulated VSWINGvoltage
`84 as another input. Comparator 90 compares the two input
`voltages 60 and 84 and determines which of the two is
`higher, and produces an crror signal 92. The polarity of
`comparator 90 shownin FIG. 3 is arbitrary, but for illustra-
`tive purposes VSWINGvoltage 84 is applied to the nonin-
`verting input. Consequently, when the voltage 60 transmit-
`ted on bus line 58 is the higher of the two voltages,
`comparator 90 generates a voltage LOW error signal, and
`when the regulated VSWING voltage 84 is higher, com-
`parator 90 generates a voltage HIGHerror signal 92.
`A tuner controller 100 receives error signal 92. Tuner
`controller 100 compensates for the error by electronically
`increasing or decreasing the impedance of pull-down driver
`element 82. Tuner controller 100 includes an adder 98 to
`
`20
`
`45
`
`digitally increase or decrease digital pull-down control sig-
`nal 70, thereby increasing or decreasing the impedanceof ;
`pull-down driver element 82. Tuner controller 100 can make
`adjustments in large or small increments with adder 98. To
`improve driver system 50 stability,
`tuner controller 100
`generally does not let increments exceed a certain amount,
`and does allow some degree of impedance mismatch with
`each adjustment. By repeatedly increasing or decreasing the
`impedance,
`tuner 72 “homes in” on the impedance of
`pull-down driver element 82 that produces a voltage LOW
`signal as close to VSWING 84as possible. The adjustment
`to the impedanceis performed dynamically, 1.e., while driver
`52 is performing data transmission.
`Tuner controller 100 includes memory 96 to store data
`about impedance characteristics of bus line 58. Tuner con-
`troller 100 may further be configured to ignore voltage
`HIGH signals transmitted on bus line 58, because such
`signals are not pertinent to impedance adjustment of pull-
`downdriver element 82. Tuner controller 100 mayalso be
`
`60
`
`65
`
`8
`
`4
`programmed with search strategies for finding the best
`impedance of pull-down driver element 82. For example,
`tuner controller 100 may be programmed to make substan-
`tial adjustmentsat first, followed by smaller adjustments as
`tuner 72 homes in on the best voltage level. Tuner controller
`100 may also be programmed to recognize cases in which
`matching voltage LOW and VSWING 84is not possible.
`FIG. 4 is a diagram of an exemplary programmable
`pull-down driver clement 82. Asct of n-channel metal oxide
`semiconductorfield-effect transistors (MOSFETs) 106 are
`arrayed in parallel between terminals 102 and 104. Terminal
`102 is connected to output bus line 58, and terminal 104 is
`connected to circuit ground 32. The number and values of
`MOSFETs 106 that are turned on when pull-downdriver
`element 100 is enabled determines the impedance between
`terminals 102 and 104. In a preferred embodiment, MOS-
`FETs 106 are sized in a binary progression to allow a wide
`range of impedance programming(e.g., between 25 and 100
`ohms) and with a sufficient numberto get a sufficiently small
`granularity (e.g., about 1.5 ohms). MOSFETs 106 may be
`sized in other ways as well, such as logarithmically or
`linearly.
`The gate of each MOSFET106is driven by the output of
`one of a sct of corresponding AND gates 108. Onc input of
`each AND gate 108 is coupled to one line of a multi-bit
`control line 112, which corresponds to pull-down control
`signal 70. Each control line 112 enables its corresponding
`MOSFETwhen HIGH anddisablesits corresponding MOS-
`FET when LOW. Theother input to each AND gate 108 is
`a single bit data line 110, which carries the data to be
`transmitted on bus line 58. The data conveyed onsingle bit
`data line 110 are supplied by predriver 54. It is assumed that
`a HIGH voltage asserted on single bit data line 110 corre-
`sponds to driving output bus line 58 to its LOW voltage.
`If a MOSFET’s 106 control line 112 is LOW, MOSFET
`106 is turned off. If a particular MOSFET’s control line 112
`is HIGH,the state of that MOSFET depends onsingle bit
`data line 110. Thus, the values on control lines 112 deter-
`mine which MOSFETs 106 are on, and consequently deter-
`mines the impedance between terminals 102 and 104 when
`single bit data line 110 is HIGH. In the illustrative case of
`MOSFETs 106 sized in a binary progression, a binary
`numberis transmitted on control lines 112 with the binary
`number corresponding to an impedance and each control
`line 112 corresponding toa bit of the binary number. Adding
`to or subtracting from the binary number increases or
`decreases the impedance.
`Although the exemplary system described above pulls
`down and functions with a receiver that pulls up,
`the
`structure of a driver system 50 that pulls up against a
`pull-down receiver is similar. In that case, pull-up driver
`element 80 may be controlled by tuner controller 72. The
`structure of programmable pull-up driver elementis similar
`to the structure of programmable pull-down 82 except that
`the MOSFETsin the programmable pull-up are p-channel
`devices, the logic gates are OR gates rather than AND gates,
`and the sense of the control lines is opposite that of pro-
`grammable pull-up element 80.
`FIG. 5 presents a flowchart illustrating one mode of
`operation of system 50. The method set out in FIG. 5 is
`applicable to the case in which the data on bus line 58 are
`being transmitted by driver 52 to a receiver 18 with pull-up
`impedance. A flowchart outlining the method applicable to
`a receiver 26 with pull-down impedanceis similar. RCOMP
`controller 64 sets the impedance of driver 56 to match the
`expected value of the termination impedance (120). During
`
`
`
`US 6,693,450 B1
`
`5
`operation, tuner 72 senses the voltage on bus line 58 (122).
`Whenthe voltage on busline 58 is too low, tuner 72 adjusts
`the impedance of driver 52. As described above,
`tuner
`controller 100 can adjust impedance up or down and can
`make adjustments in large or small increments. Tuner con-
`troller 100 may be programmed,for example, to adjust the
`impedance by a certain amount. For example, when the bus
`58 voltage is too low for two consecutive cycles, tuner
`controller 100 may be programmed to adjust the impedance
`on the current cycle by the same amount as the previous
`cycle. Tuner controller 100 may be also be programmed to
`anticipate impedance adjustments. When tuner controller
`100 has a pending pre-calculated adjustment (126),
`the
`adjustment can be made (136) without further calculation.
`Otherwise, tuner controller 100 calculates a new adjustment
`(128) and makes the adjustment (136). When the voltage on
`busline 58is too high, the process is similar (130, 132, 134).
`Tuner controller 100 can be programmed to forego adjust-
`ment (130) when,for example, feedback signals 60 indicate
`that
`the voltage on bus line 58 is close to but slightly -
`exceeding VSWING 84. In other words, tuner controller 100
`can be configured to recognize those cases in which a small
`impedance adjustment would make the bus line 58 voltage
`too low.
`
`10
`
`15
`
`6
`(182). Generally the termination impedance adjustmentis
`subject to allowable bus line-to-terminator impedance mis-
`match. In the scenario depicted in FIG. 8, dynamic adjust-
`ments in one component based upon impedances in another
`component are performed by one transceiver.
`A number of embodiments of the invention have been
`described. These and other embodiments are within the
`scope of the following claims.
`Whatis claimed is:
`1. A device comprising a driver having an output
`impedance, the driver configured to transmit a signal on a
`bus line, the driver including a pull-up driver circuit and a
`pull-down driver circuit arranged in a pull-up pull-down
`configuration,
`the pull-up and pull-down driver circuits
`being independently controllable;
`a tuner to compare a voltage level of the signal to a
`reference voltage and to control at least one of the
`pull-up and pull-down driver circuits as a function of
`comparing the signal voltage level
`to the reference
`voltage to adjust the driver output impedance so that
`the signal voltage level is controlled; and
`a controller configured to electronically set the output
`impedance ofthe driverto a first value as a function of
`a characteristic impedance of the busline.
`2. The device of claim 1 wherein the output impedance of
`the driver is adjustable digitally.
`3. The device of claim 1 wherein the tuner comprises
`memory.
`4. The device of claim 1 wherein the tuner comprises a
`comparator configured to receive the signal and the refer-
`ence voltage.
`5. A method comprising:
`providing a driver configured to communicate a signal on
`a bus line having a characteristic impedance;
`setting an output impedanceofthe driver as a function of
`the bus line characteristic impedance;
`communicating the signal to the busline;
`while communicating the signal;
`sensing a voltage level of the signal, wherein the voltage
`level is a function of the output impedanceofthe driver,
`the output impedance including a pull-up driver circuit
`and a pull-down driver circuit;
`generating an error signal as a function of comparing the
`signal voltage level to a reference voltage; and
`dynamically adjusting one of the pull-up driver circuit and
`the pull-down driver circuit so that the output imped-
`ance of the driver is changed to reduce an amplitude of
`the error signal.
`6. The method of claim 5 further comprising calculating
`an adjustment to the output impedance of the driver.
`7. he method of claim 5, wherein adjusting the output
`impedance of the driver comprises adjusting the impedance
`of a driver element.
`
`8. The method of claim 5 further comprising:
`setting a termination impedanceofa receiver configured
`to receive the signal on the bus line; and
`adjusting the output impedance of the receiver.
`9. A device comprising:
`a driver configured to transmit a signal on a busline, the
`driver having a programmable impedance, the driver
`including a pull-up driver circuit and a pull-down
`driver circuit, each of the driver circuits being inde-
`pendently controllable to adjust
`the programmable
`impedance;
`a first controller configured to control each of the driver
`circuits to establish a starting impedance value of the
`driver;
`
`FIG. 6 showsa two-transceiver system 150. Circuits 154 ,
`and 156, which share a bus line 152, include transceivers
`158 and 160, respectively. Both transceivers 158 and 160
`include pull-up and pull-down driver elements and termi-
`nation elements, each driver and termination element having
`an adjustable impedance. While receiving, the pull-up or 3
`pull-down driver element may be used to form the termi-
`nation element, or alternatively the termination element may
`be an element separate from the driver elements. [or
`simplicity, it will be assumed system 150 uses a protocol in
`which a voltage HIGHsignal is at or near supply voltage
`Vee 24 and a voltage LOW signalis a swing voltage below
`Vcc 24. With this assumption, the pull-up driver element
`may be used as the termination impedance while receiving.
`FIG. 7 is a flowchart showing how transccivers 158 and
`160 regulate the swing voltage on bus line 152. Prior to
`transmission,
`the RCOMPcontroller of each transceiver
`158, 160 adjusts the transceiver’s pull-up impedance to
`match the characteristic impedance of bus line 152 (170).
`During communication between transceivers 158 and 160,
`one transceiver will be transmitting and the other will be
`receiving. One transceiver at a time, transceiver 158 for
`example, controls the voltage on bus line 152. While
`transmitting, transceiver 158 dynamically adjusts its pull-
`down impedance to regulate the swing voltage on bus line
`152 (172). When transceiver 160 transmits and transceiver
`158 receives, transceiver 160 dynamically adjusts its pull-
`down impedance to regulate the swing voltage on bus line
`152 (174). Both transceivers dynamically adjust driver
`impedance to regulate the voltage on bus line 152.
`An alternative technique for regulating the swing voltage
`on bus line 152 is shown in FIG. 8. The RCOMPcontroller
`of the transceivers sets the transceivers’ pull-up impedance
`to match the impedance on bus line 152 (176). The trans-
`ceivers then sets their own pull-down impedance against
`their own pull-up impedance, adjusting the pull-down
`impedanceuntil the proper VSWING voltage value appears
`on busline 152 (178). While one transceiver is transmitting,
`the tuner of the transmitting transceiver dynamically adjusts
`its pull-down impedance until the desired VSWINGvoltage
`appears on bus line 152 (180). While receiving, the other
`transceiver then adjusts its termination impedance until the
`proper VSWING voltage value appears on bus line 152
`
`40
`
`45
`
`50
`
`60
`
`65
`
`9
`
`
`
`US 6,693,450 B1
`
`7
`a feedback circuit configured to compare a voltage level
`of the signal with a reference voltage, wherein the
`voltage level is a function of the impedance; and
`a second controller configured to control one of the
`pull-up and pull-down driver circuits independent of
`the other of the pull-up and pull-down driver circuits
`based upon comparing the voltage level to the reference
`voltage to adjust dynamically the programmable
`impedance of the driver.
`10. The device of claim 9, wherein the second controller
`is configured to adjust dynamically the impedance of the
`driver to move the voltage on the bus line closer to the
`reference voltage.
`11. The device of claim 14, wherein driver comprises:
`a signal source;
`a plurality of transistors in parallel;
`a data line coupling each transistor to the signal source;
`and
`
`10
`
`15
`
`a control line coupling to each transistor to the second ;
`controller,
`wherein the state of each transistor is a function of the
`signals on the data line and the control line.
`12. The device of claim 11, wherein the output impedance
`of the device is a function of the state of the transistors.
`
`25
`
`13. A method comprising:
`transceiver
`setting a termination impedance of a first
`configured to receive a signal having a voltage on a bus
`line;
`orn
`:
`.
`providing a second transceiver configured to communi-
`cate the signal on the bus line having a characteristic
`impedance, the second transceiver output impedance
`including a pull-up circuit and a pull-downcircuit;
`
`30
`
`8
`setting an output impedance of the second transceiver as
`a function of the bus line characteristic impedance;
`communicating the signal onto the bus line;
`while communicating the signal;
`generating an error signal as a function of comparing the
`signal voltage to a reference vollage;
`sensing the signal voltage on the bus line, wherein the
`signal voltage is a function of the output impedance of
`the second transceiver; and
`adjusting one of the pull-up circuit and the pull-down
`circuit so that the output impedance of the second
`transceiver is changed to control the signal voltage and
`reduce an amplitude of the error signal.
`14. The method of claim 13 further comprising:
`setting a termination impedanceof the second transceiver
`configured to receive the signal on the busline;
`setting the output impedanceofthe first transceiver con-
`figured to communicate the signal on the bus line; and
`adjusting the output impedance ofthefirst transceiver.
`15. The method of claim 13 wherein adjusting the output
`impedance of the second transceiver comprises moving the
`output impedanceto bring the voltage on the bus line closer
`to the reference voltage.
`16. The method of claim 13 further comprising:
`comparing the sensed voltage to the reference voltage;
`and
`
`adjusting a termination impedanceofthe first transceiver
`based upon the comparison.
`
`10
`10
`
`