WO1999031598A1 - High speed data bus driver - Google Patents

High speed data bus driver Download PDF

Info

Publication number
WO1999031598A1
WO1999031598A1 PCT/US1997/023364 US9723364W WO9931598A1 WO 1999031598 A1 WO1999031598 A1 WO 1999031598A1 US 9723364 W US9723364 W US 9723364W WO 9931598 A1 WO9931598 A1 WO 9931598A1
Authority
WO
WIPO (PCT)
Prior art keywords
data bus
bus
signal
data
mode
Prior art date
Application number
PCT/US1997/023364
Other languages
French (fr)
Inventor
Juri Tults
William John Testin
Original Assignee
Thomson Consumer Electronics, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Consumer Electronics, Inc. filed Critical Thomson Consumer Electronics, Inc.
Priority to US09/581,780 priority Critical patent/US6693678B1/en
Priority to DE69728578T priority patent/DE69728578T2/en
Priority to EP97951747A priority patent/EP1071998B1/en
Priority to AU55305/98A priority patent/AU5530598A/en
Priority to KR1020007006675A priority patent/KR100641744B1/en
Priority to PCT/US1997/023364 priority patent/WO1999031598A1/en
Priority to JP2000539426A priority patent/JP4017822B2/en
Publication of WO1999031598A1 publication Critical patent/WO1999031598A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4072Drivers or receivers
    • G06F13/4077Precharging or discharging

Definitions

  • the present invention involves digital data bus systems.
  • Systems such as consumer electronics systems typically include various devices, such as integrated circuits, that are coupled together using a data bus for communicating information between the devices.
  • An example of this type of system is a television receiver which includes an PC serial data bus for communicating tuning data from a control microprocessor to a tuner causing the tuner to tune a particular channel.
  • An PC data bus is a well known serial data bus comprising two bus lines, a clock line designated SCL and a serial data line designated SDA, that carry information between devices connected to the bus.
  • SCL clock line designated SCL
  • SDA serial data line
  • Each device is assigned a unique address permitting communications on the bus to be directed to a particular device.
  • Each device can transmit data, receive data, or both as required by the function of the device.
  • each device can also function as a master or slave when performing data transfers.
  • a master is the device which initiates a data transfer on the bus and generates the clock signals to permit that transfer. At that time, any device addressed is considered a slave.
  • the PC bus is a multi-master bus, meaning that more than one device is capable of controlling the bus.
  • Masters are usually control devices such as microprocessors, microcomputers, or microcontrollers (also referred to herein as "controllers").
  • control devices such as microprocessors, microcomputers, or microcontrollers (also referred to herein as "controllers").
  • the possibility of connecting more than one microcontroller to the bus means that more than one master can try to initiate a data transfer at the same time on the bus.
  • a procedure known as arbitration favorably resolves such an event.
  • Arbitration relies on the wired- AND connection of all I ⁇ C interfaces to the bus. Should two or more masters try to place information on the bus, the first one to produce a logic one when the other produces a logic zero will lose the arbitration.
  • the clock signals during arbitration are a synchronized combination of the clocks generated by the masters using the wired-AND connection to the SCL line.
  • the specification for the I ⁇ C bus protocol specifies that the output stages of devices connected to the bus are to have an open- drain or open-collector in order to perform the wired-AND function. Consequently, pull-up of the bus lines is usually accomplished through pull-up resistors connected between the bus lines and a source of supply voltage.
  • clock signals on the PC bus is always the responsibility of the master devices.
  • Each master generates its own clock signal when transferring data on the bus. Data is only valid during the logic high period of the clock.
  • Bus clock signals from a master can only be altered by another master when arbitration occurs or when the clock signals are stretched by a slow-slave device holding down the clock line. For example, every byte of information put on the SDA line (i.e., 8 bits of information) must be followed by an acknowledge bit.
  • An acknowledge-related clock pulse is generated by the master. During the acknowledge clock pulse, the transmitter releases the SDA line and the receiver must pull down the SDA line.
  • a receiving device can delay receipt of another byte of data, e.g., until it has performed some other function such as servicing an interrupt, by holding the SCL clock line low which will force the transmitting device into a wait state.
  • U.S. Patent # 4,689,740 issued to Adrianus P. M. M. Moelands and Herman Schutte details the operation of the PC bus and protocol.
  • bus drivers used with an I ⁇ C bus system typically use an open collector (or drain) device with a pull-up resistor coupled between the bus line and a source of reference voltage. Capacitive loading of a bus line combined with the resistance of a pull-up resistor may significantly degrade the speed at which a bus line can be pulled up. Further, capacitive loading increases with the number of devices coupled to the bus.
  • I ⁇ C compatible devices are designed with current sinking capability sufficient only to pull down a bus line held high by a pull-up resistor (e.g., during an acknowledge interval or to cause a wait state). Such current sinking capability may be inadequate to pull down a bus line driven by a high speed driver circuit.
  • the inventor has recognized that while it may be desirable to communicate data at high data rates across a heavily loaded bus, doing so may produce undesirable noise effects.
  • Driving data across a data bus at high data rates involves using fast signal edges that have high frequency harmonic components. For example, in a television system, these high frequency harmonics can introduce noise into the video signal processing channel and may cause undesirable noise effects in a displayed video image.
  • the invention also resides, in part, in providing an apparatus for coupling data to a data bus that solves the described problems.
  • apparatus constructed in accordance with one aspect of the invention comprises a data bus, a passive device for changing a signal on the data bus between first and second states at a first rate during a first mode of operation, and an active device enabled during a second mode of operation for changing the signal between the first and second states at a second rate different than the first rate.
  • the second mode of operation may correspond to a particular condition of the bus such as an acknowledge condition or a data read condition.
  • information generated by a device is coupled to an I ⁇ C data bus via a push-pull device.
  • a push-pull device having first and second modes of operation. During the first mode of operation, the push-pull device couples information to the I ⁇ C data bus at a first rate. During the second mode of operation, the push-pull device couples information to the I ⁇ C data bus at a second rate.
  • the apparatus comprises a coupling device for coupling data to a data bus and a timing signal generator for generating a timing signal indicating first and second portions of a television signal.
  • the coupling device is controlled by a control device in response to the timing signal such that the coupling device couples data to the data bus at a first rate during the first portion of the television signal and couples data to the data bus at a second rate during the second portion of the television signal.
  • the first portion of the television signal may comprise an active video interval while the second portion of the television signal may comprise a blanking interval.
  • the first rate at which data is coupled to the data bus may be less than the second rate at which data is coupled to the data bus.
  • a push-pull device included in the coupling device can be disabled during the first portion of the television signal and enabled for driving data onto the data bus at the second rate during the second portion of the television signal.
  • Figure 1 shows, in schematic diagram form, an arrangement of master and slave devices communicating via a data bus
  • Figures 2A-2D show timing diagrams illustrating the operation of the system shown in Figure 1 ;
  • Figure 3 shows, in schematic diagram form, an embodiment of a data bus communication system for communicating data between master and slave devices in accordance with the present invention
  • Figure 4 shows, in schematic diagram form, an embodiment of a portion of the system shown in Figure 3.
  • Figures 5A-5D show timing diagrams illustrating the operation of the system shown in Figure 3.
  • master device 2 is connected to slave device 4 (designated Slave #1) by PC bus 6.
  • slave device 4 designated Slave #1
  • the labels SDA and SCL are used to identify the serial data line and the clock line, respectively, in PC bus embodiments described herein and shown in the accompanying Figures.
  • Master device 2 comprises a driver for driving each bus line. More specifically, bus lines SCL and SDA in Figure 1 are driven using NPN bipolar transistors 8 and 10, respectively, connected thereto. The base of each transistor, 8 and 10, is connected to an output of a respective one of inverters 11, 12. A respective drive signal, SCL DRIVE and SDA DRIVE, is coupled to the input of a corresponding inverter 11, 12.
  • Slave device 4 includes a pull-down device, implemented in Figure 1 as NPN bipolar transistor 13 having a base terminal that is connected to the output of inverter 14. Transistor 13 pulls down the SDA line upon receipt of a logic high signal at its base. The input of inverter 14 is coupled to receive signal "Read data”. Pull-down of the SDA line by transistor
  • SCL line pull-up resistor is designated RQ and the SDA line pull-up resistor is designated Rr j .
  • Each pull-up resistor is shown connected at one end to an exemplary 5 volt supply voltage and to a respective capacitor, C ⁇ or Cr representative of the lumped equivalent capacitances of a respective bus line.
  • the SDA and SCL bus lines are also connected to other slave devices as indicated in Figure 1.
  • the SDA line is bi-directional while the SCL line is an output only from the master device generating the clock signal, i.e., device 2 in Figure 1.
  • Figures 2A-2D illustrate relative timing diagrams of the SCL DRIVE signal, the signal present on the SCL line, the SDA DRIVE signal and the signal present on the SDA line, respectively.
  • the SCL DRIVE and SDA DRIVE signals are the driving signals coupled to the SCL and SDA bus lines, respectively, by a coupling device such as bus driver devices 8, 11 and 10, 12 in Figure 1.
  • a nine bit transmission, including an acknowledge bit, is illustrated in Figures 2A-2D by the waveforms for signals SCL DRIVE, SCL, SDA DRIVE and SDA.
  • a solid-line portion of the waveform for signal SCL is labeled “low Cc” and shows the signal waveform on the SCL line resulting from low capacitance loading on the SCL line.
  • the dashed portion of the SCL waveform, labeled “high Cc” indicates the signal waveform on the SCL line resulting from a high capacitance load on the SCL line.
  • Figure 3 illustrates a system for decreasing slow rise times associated with high capacitance loading on a bus line.
  • the bus driver within master device 2 includes buffer devices 15 and 16 which provide active pull-up and pull-down of the bus lines. More specifically, tri-state buffers 15 and 16 drive respective bus lines SCL and SDA in a high speed mode which shall be referred to as a push- pull mode. Operation of the bus in the conventional manner (e.g., in a low speed mode via the passive pull-up resistors) is still possible. However, in the push-pull mode, the tri-state buffers 15 and 16 are always in an active state and the bus lines are driven to a logic high level much faster, in comparison with the conventional mode, through the relatively large source currents furnished by the tri-state buffers.
  • Tri-state buffers such as buffers 15 and 16 in Figure 3 can be implemented as shown in Figure 4.
  • Figure 4 shows an embodiment using field effect transistors, various technologies including bipolar and field effect transistors can be used to implement the drivers shown.
  • the drain terminals of PMOS transistor 17 and NMOS transistor 18 are coupled together.
  • the source terminal of transistor 17 is coupled to a supply voltage, e.g.. 5 V, and the source terminal of transistor 18 is coupled to a reference potential, e.g., ground.
  • the gate terminal of transistor 17 is coupled to the output of NAND gate 34 which has as inputs signal INPUT which is the data that is to be driven onto the bus, and signal ENABLE.
  • the gate terminal of transistor 18 is coupled to the output of NOR gate 32 which has as inputs signal INPUT and an inverted version of signal ENABLE (inverted via inverter 30).
  • signal ENABLE is high (at logic 1), the buffer is enabled for transmitting data. Specifically, when enabled, logic 0 values on signal INPUT are passed through NOR gate 32 and transistor 18 onto the bus (signal OUTPUT) while logic 1 values on signal INPUT are passed through NAND gate 34 and transistor 17 onto the bus.
  • signal PP MODE push-pull mode
  • the microprocessor 27 decides whether to generate either a high or low logic level PP mode signal which determines whether the master 2 is operating in a push-pull or normal mode.
  • Signal PP MODE is coupled to one input of NAND gate 22 via inverter 20.
  • Signal SCL DRIVE is also generated by microprocessor 27 and coupled to the other input of NAND gate 22.
  • the output of NAND gate 22 provides the ENABLE signal for tri-state buffer 15 such that buffer 15 is always enabled when signal PP MODE is at a logic high level.
  • the SCL bus line is pulled up to a logic high level by the active device in tri-state buffer 15 in connection with a logic high SCL DRIVE signal while tri-state buffer 15 is enabled, a first state.
  • the SCL bus line is pulled down to a logic low level by tri-state buffer 15 in connection with a logic low SCL DRIVE signal while tri-state buffer 15 is enabled, a second state.
  • Tri state buffer 15 is always enabled to drive the SCL bus line and change line SCL between the first and second signal states (high and low logic levels) when signal PP MODE is at a logic high level.
  • the master 2 In order to use the push-pull mode for achieving a logic high level on bus line SDA, the master 2 must not be either reading data from the addressed slave or generating an SCL clock pulse for the acknowledge bit generated by the slave.
  • Signal PP MODE is also coupled to one input of NAND gate 23 via inverter 21.
  • Signal SDA DRIVE is also generated by microprocessor 27 and coupled to the other input of NAND gate 23.
  • the output of NAND gate 23 provides the enable signal for tri-state buffer 16 such that buffer 16 is always enabled when signal PP MODE is at a logic high level.
  • the SDA bus line is pulled up to a logic high level by the active device included in tri-state buffer 16 in connection with a logic high SDA DRIVE signal while SDA bus line is pulled down to a logic low level by tri-state buffer 16 in connection with a logic low SDA DRIVE signal while tri-state buffer 16 is enabled.
  • the microprocessor 27 When the master 2 is in a read cycle or during an acknowledge interval the microprocessor 27 will generate a logic low PP MODE signal and the buffers 15 and 16 will be disabled when the SCL and SDA DRIVE signals, respectively, are at a logic high level. In this instance the SCL and SDA buses are operating in a normal mode pulled high by the external resistors Re and RD, respectively- During these times the microprocessor 27 will generate a logic low level PP MODE signal.
  • signal PP MODE is a logic low control bit and the tri-state buffers driving the PC bus are in a high output impedance state during intervals when the SCL DRIVE and SDA DRIVE signals are at a logic high level.
  • the push-pull mode is turned off when SCL DRIVE and SDA DRIVE are at logic "1 ".
  • the logic high level on the bus lines is established through pull-up resistors R and Rr when signal PP MODE is at logic "0". That is, the passive pull up resistors change the signals on the bus lines between the first and second states (logic low and high levels) at a rate determined by the pull up resistor value and the capacitive loading on the bus lines.
  • FIGS 5A-5D illustrate the relative timing diagrams of selected signals on the bus illustrated in Figure 3. Now the wave form shapes associated with the push-pull mode all follow the low capacitive loaded form indicated by the solid line.
  • the push-pull mode of master cell device 2 must be suspended while master 2 is reading data supplied by a slave cell 4. This is necessary because in general the slaves on the bus cannot be expected to have push-pull bus drive capability.
  • the acknowledge interval shown in Figures 2A-2D are the result of slave device 4 either releasing or holding low the SDA bus line.
  • the slave devices return data, the master must have released the SDA bus line so that this bus line can be pulled low by a slave. Further, the SCL bus clock must be slowed down during the read period to allow for the slow rise time of the returned data signal on the SDA bus.
  • the master is switched from push-pull to normal drive.
  • the clock period is shown to be increased arbitrarily by a factor of 2 in the acknowledge interval. Control of the clock period is provided by software executed by microprocessor 27.
  • the slave is returning either read data or an acknowledge bit (either a logic high or logic low during the ninth clock pulse) the slave is placing data on the bus by pulling down the SDA bus line or by allowing pulling up the SDA bus line by the pull-up resistor.
  • a purely slave device (defined herein as a slave that does not have provision for acting as a master) never pulls up the bus by a push-pull mode.
  • slave devices do not include push-pull mode operation
  • purely slave devices may be manufactured by device makers, in consideration of the invention disclosed herein, which incorporate the tri-state buffer as is similarly included in the master device as discussed above.
  • specific logic control signal polarities and circuit implementations have been described, it will be appreciated by those of ordinary skill in the art that modifications can be made to the structure and function of the invention without departing from the spirit and scope thereof and it is contemplated that all such changes and additional embodiments are within the true scope and spirit of the invention as claimed below.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)

Abstract

Information is coupled to a data bus such as an I2C data bus using a push-pull circuit. The push-pull circuit provides for communicating on the data bus at two different data rates. The push-pull circuit includes an active pull-up device that is enabled during a first push-pull mode of operation for providing a high data rate. During a second normal mode of operation, the active pull-up device is disabled providing a low data rate. When the active pull-up device is deactivated, the clock and data buses are driven by the external resistors connected thereto at a data rate lower than the data rate during the first mode.

Description

HIGH SPEED DATA BUS DRIVER
FIELD OF THE INVENTION
The present invention involves digital data bus systems.
BACKGROUND
Systems such as consumer electronics systems typically include various devices, such as integrated circuits, that are coupled together using a data bus for communicating information between the devices. An example of this type of system is a television receiver which includes an PC serial data bus for communicating tuning data from a control microprocessor to a tuner causing the tuner to tune a particular channel. An PC data bus is a well known serial data bus comprising two bus lines, a clock line designated SCL and a serial data line designated SDA, that carry information between devices connected to the bus. Each device is assigned a unique address permitting communications on the bus to be directed to a particular device. Each device can transmit data, receive data, or both as required by the function of the device. In addition to transmitting and receiving data, each device can also function as a master or slave when performing data transfers. A master is the device which initiates a data transfer on the bus and generates the clock signals to permit that transfer. At that time, any device addressed is considered a slave.
The PC bus is a multi-master bus, meaning that more than one device is capable of controlling the bus. Masters are usually control devices such as microprocessors, microcomputers, or microcontrollers (also referred to herein as "controllers"). The possibility of connecting more than one microcontroller to the bus means that more than one master can try to initiate a data transfer at the same time on the bus. A procedure known as arbitration favorably resolves such an event. Arbitration relies on the wired- AND connection of all I^C interfaces to the bus. Should two or more masters try to place information on the bus, the first one to produce a logic one when the other produces a logic zero will lose the arbitration. The clock signals during arbitration are a synchronized combination of the clocks generated by the masters using the wired-AND connection to the SCL line. The specification for the I^C bus protocol specifies that the output stages of devices connected to the bus are to have an open- drain or open-collector in order to perform the wired-AND function. Consequently, pull-up of the bus lines is usually accomplished through pull-up resistors connected between the bus lines and a source of supply voltage.
Generation of clock signals on the PC bus is always the responsibility of the master devices. Each master generates its own clock signal when transferring data on the bus. Data is only valid during the logic high period of the clock. Bus clock signals from a master can only be altered by another master when arbitration occurs or when the clock signals are stretched by a slow-slave device holding down the clock line. For example, every byte of information put on the SDA line (i.e., 8 bits of information) must be followed by an acknowledge bit. An acknowledge-related clock pulse is generated by the master. During the acknowledge clock pulse, the transmitter releases the SDA line and the receiver must pull down the SDA line. A receiving device can delay receipt of another byte of data, e.g., until it has performed some other function such as servicing an interrupt, by holding the SCL clock line low which will force the transmitting device into a wait state. U.S. Patent # 4,689,740 issued to Adrianus P. M. M. Moelands and Herman Schutte details the operation of the PC bus and protocol.
SUMMARY OF THE INVENTION
The invention resides, in part, in recognizing that while the relative simplicity and availability of numerous compatible devices make a bus protocol such as I^C desirable, the form of bus driver associated with the bus protocol may not be adequate for certain applications. For example, bus drivers used with an I^C bus system typically use an open collector (or drain) device with a pull-up resistor coupled between the bus line and a source of reference voltage. Capacitive loading of a bus line combined with the resistance of a pull-up resistor may significantly degrade the speed at which a bus line can be pulled up. Further, capacitive loading increases with the number of devices coupled to the bus. This can pose a problem for applications that require high speed and involve high capacitive loads such as during production testing of a device incorporating bus driver capability (note that the term "device" as used herein includes integrated circuits and apparatus such as television receivers). Furthermore, the master has numerous other tasks to perform besides communicating with the slave devices. Therefore, a need exists for a bus driver suitable for driving buses such as an I^C bus with large loads at high speed to perform the communication between master and slave devices as fast as possible. In addition, the inventor has recognized that utilizing a modified form of bus driver that can drive large loads at high speeds may be incompatible with existing bus compatible devices. In particular, existing I^C compatible devices are designed with current sinking capability sufficient only to pull down a bus line held high by a pull-up resistor (e.g., during an acknowledge interval or to cause a wait state). Such current sinking capability may be inadequate to pull down a bus line driven by a high speed driver circuit.
Also, the inventor has recognized that while it may be desirable to communicate data at high data rates across a heavily loaded bus, doing so may produce undesirable noise effects. Driving data across a data bus at high data rates involves using fast signal edges that have high frequency harmonic components. For example, in a television system, these high frequency harmonics can introduce noise into the video signal processing channel and may cause undesirable noise effects in a displayed video image. The invention also resides, in part, in providing an apparatus for coupling data to a data bus that solves the described problems. More specifically, apparatus constructed in accordance with one aspect of the invention comprises a data bus, a passive device for changing a signal on the data bus between first and second states at a first rate during a first mode of operation, and an active device enabled during a second mode of operation for changing the signal between the first and second states at a second rate different than the first rate. The second mode of operation may correspond to a particular condition of the bus such as an acknowledge condition or a data read condition.
In accordance with another aspect of the invention, information generated by a device is coupled to an I^C data bus via a push-pull device. Another aspect of the invention involves the push-pull device having first and second modes of operation. During the first mode of operation, the push-pull device couples information to the I^C data bus at a first rate. During the second mode of operation, the push-pull device couples information to the I^C data bus at a second rate.
In accordance with another aspect of the invention, the apparatus comprises a coupling device for coupling data to a data bus and a timing signal generator for generating a timing signal indicating first and second portions of a television signal. The coupling device is controlled by a control device in response to the timing signal such that the coupling device couples data to the data bus at a first rate during the first portion of the television signal and couples data to the data bus at a second rate during the second portion of the television signal. The first portion of the television signal may comprise an active video interval while the second portion of the television signal may comprise a blanking interval. The first rate at which data is coupled to the data bus may be less than the second rate at which data is coupled to the data bus. A push-pull device included in the coupling device can be disabled during the first portion of the television signal and enabled for driving data onto the data bus at the second rate during the second portion of the television signal.
BRIEF DESCRIPTION OF THE DRAWING
The invention may be better understood by referring to the drawing in which: Figure 1 shows, in schematic diagram form, an arrangement of master and slave devices communicating via a data bus; Figures 2A-2D show timing diagrams illustrating the operation of the system shown in Figure 1 ;
Figure 3 shows, in schematic diagram form, an embodiment of a data bus communication system for communicating data between master and slave devices in accordance with the present invention;
Figure 4 shows, in schematic diagram form, an embodiment of a portion of the system shown in Figure 3; and
Figures 5A-5D show timing diagrams illustrating the operation of the system shown in Figure 3.
DETAILED DESCRIPTION
In a conventional data bus system such as the PC bus system shown in Figure 1, master device 2 is connected to slave device 4 (designated Slave #1) by PC bus 6. In accordance with PC bus conventions, the labels SDA and SCL are used to identify the serial data line and the clock line, respectively, in PC bus embodiments described herein and shown in the accompanying Figures. Master device 2 comprises a driver for driving each bus line. More specifically, bus lines SCL and SDA in Figure 1 are driven using NPN bipolar transistors 8 and 10, respectively, connected thereto. The base of each transistor, 8 and 10, is connected to an output of a respective one of inverters 11, 12. A respective drive signal, SCL DRIVE and SDA DRIVE, is coupled to the input of a corresponding inverter 11, 12. When SCL DRIVE or SDA DRIVE signals are at a logic high level, the respective NPN transistors 8 or 10 do not turn on causing lines SCL and SDA to be pulled to a high level, e.g., to 5 volts in Figure 1, via pull-up resistors Re and RD, respectively. When SCL DRIVE or SDA DRIVE signals are at a logic low level, the respective NPN transistors 8 or 10 turn on to pull their respective bus lines down to a low level, e.g., circuit ground in Figure 1.
Slave device 4 includes a pull-down device, implemented in Figure 1 as NPN bipolar transistor 13 having a base terminal that is connected to the output of inverter 14. Transistor 13 pulls down the SDA line upon receipt of a logic high signal at its base. The input of inverter 14 is coupled to receive signal "Read data". Pull-down of the SDA line by transistor
13 occurs when data is being read out from slave device 4, e.g., "Read data" input is switched between high and low. Data received by slave device 4 from the SCL and SDA bus lines is coupled to receiver logic that processes the data. The SCL line pull-up resistor is designated RQ and the SDA line pull-up resistor is designated Rrj . Each pull-up resistor is shown connected at one end to an exemplary 5 volt supply voltage and to a respective capacitor, C^ or Cr representative of the lumped equivalent capacitances of a respective bus line. The SDA and SCL bus lines are also connected to other slave devices as indicated in Figure 1. The SDA line is bi-directional while the SCL line is an output only from the master device generating the clock signal, i.e., device 2 in Figure 1. Figures 2A-2D illustrate relative timing diagrams of the SCL DRIVE signal, the signal present on the SCL line, the SDA DRIVE signal and the signal present on the SDA line, respectively. The SCL DRIVE and SDA DRIVE signals are the driving signals coupled to the SCL and SDA bus lines, respectively, by a coupling device such as bus driver devices 8, 11 and 10, 12 in Figure 1. A nine bit transmission, including an acknowledge bit, is illustrated in Figures 2A-2D by the waveforms for signals SCL DRIVE, SCL, SDA DRIVE and SDA. A solid-line portion of the waveform for signal SCL is labeled "low Cc" and shows the signal waveform on the SCL line resulting from low capacitance loading on the SCL line. The dashed portion of the SCL waveform, labeled "high Cc", indicates the signal waveform on the SCL line resulting from a high capacitance load on the SCL line. Similarly illustrated is a low capacitance loaded SDA line (the solid line portion of the SDA waveform is labeled "low CD") and a high capacitance loaded SDA line (the dashed line portion of the SDA waveform is designated "high CD")- The data state (logic 0 and 1) during the acknowledge interval (signified by generation of the acknowledge clock pulse by the master, release of the SDA line by the transmitter and pulldown of the SDA line by the receiver during the acknowledge clock pulse) is also illustrated in Figures 2A-2D. Figure 3 illustrates the apparatus for driving a data bus in accordance with principles of the present invention. To provide for higher data rates on heavily loaded bus lines, for example, to allow for high speed production testing, Figure 3 illustrates a system for decreasing slow rise times associated with high capacitance loading on a bus line. In particular, the bus driver within master device 2 includes buffer devices 15 and 16 which provide active pull-up and pull-down of the bus lines. More specifically, tri-state buffers 15 and 16 drive respective bus lines SCL and SDA in a high speed mode which shall be referred to as a push- pull mode. Operation of the bus in the conventional manner (e.g., in a low speed mode via the passive pull-up resistors) is still possible. However, in the push-pull mode, the tri-state buffers 15 and 16 are always in an active state and the bus lines are driven to a logic high level much faster, in comparison with the conventional mode, through the relatively large source currents furnished by the tri-state buffers.
Tri-state buffers such as buffers 15 and 16 in Figure 3 can be implemented as shown in Figure 4. Although Figure 4 shows an embodiment using field effect transistors, various technologies including bipolar and field effect transistors can be used to implement the drivers shown. In Figure 4, the drain terminals of PMOS transistor 17 and NMOS transistor 18 are coupled together. The source terminal of transistor 17 is coupled to a supply voltage, e.g.. 5 V, and the source terminal of transistor 18 is coupled to a reference potential, e.g., ground. The gate terminal of transistor 17 is coupled to the output of NAND gate 34 which has as inputs signal INPUT which is the data that is to be driven onto the bus, and signal ENABLE. The gate terminal of transistor 18 is coupled to the output of NOR gate 32 which has as inputs signal INPUT and an inverted version of signal ENABLE (inverted via inverter 30). When signal ENABLE is high (at logic 1), the buffer is enabled for transmitting data. Specifically, when enabled, logic 0 values on signal INPUT are passed through NOR gate 32 and transistor 18 onto the bus (signal OUTPUT) while logic 1 values on signal INPUT are passed through NAND gate 34 and transistor 17 onto the bus.
Returning to Figure 3, signal PP MODE (push-pull mode) is generated by a microprocessor 27. The microprocessor 27 decides whether to generate either a high or low logic level PP mode signal which determines whether the master 2 is operating in a push-pull or normal mode. Signal PP MODE is coupled to one input of NAND gate 22 via inverter 20. Signal SCL DRIVE is also generated by microprocessor 27 and coupled to the other input of NAND gate 22. The output of NAND gate 22 provides the ENABLE signal for tri-state buffer 15 such that buffer 15 is always enabled when signal PP MODE is at a logic high level. The SCL bus line is pulled up to a logic high level by the active device in tri-state buffer 15 in connection with a logic high SCL DRIVE signal while tri-state buffer 15 is enabled, a first state. The SCL bus line is pulled down to a logic low level by tri-state buffer 15 in connection with a logic low SCL DRIVE signal while tri-state buffer 15 is enabled, a second state. Tri state buffer 15 is always enabled to drive the SCL bus line and change line SCL between the first and second signal states (high and low logic levels) when signal PP MODE is at a logic high level.
In order to use the push-pull mode for achieving a logic high level on bus line SDA, the master 2 must not be either reading data from the addressed slave or generating an SCL clock pulse for the acknowledge bit generated by the slave. Signal PP MODE is also coupled to one input of NAND gate 23 via inverter 21. Signal SDA DRIVE is also generated by microprocessor 27 and coupled to the other input of NAND gate 23. The output of NAND gate 23 provides the enable signal for tri-state buffer 16 such that buffer 16 is always enabled when signal PP MODE is at a logic high level. The SDA bus line is pulled up to a logic high level by the active device included in tri-state buffer 16 in connection with a logic high SDA DRIVE signal while SDA bus line is pulled down to a logic low level by tri-state buffer 16 in connection with a logic low SDA DRIVE signal while tri-state buffer 16 is enabled.
When the master 2 is in a read cycle or during an acknowledge interval the microprocessor 27 will generate a logic low PP MODE signal and the buffers 15 and 16 will be disabled when the SCL and SDA DRIVE signals, respectively, are at a logic high level. In this instance the SCL and SDA buses are operating in a normal mode pulled high by the external resistors Re and RD, respectively- During these times the microprocessor 27 will generate a logic low level PP MODE signal. Thus, in normal operation, signal PP MODE is a logic low control bit and the tri-state buffers driving the PC bus are in a high output impedance state during intervals when the SCL DRIVE and SDA DRIVE signals are at a logic high level. In other words, the push-pull mode is turned off when SCL DRIVE and SDA DRIVE are at logic "1 ". The logic high level on the bus lines is established through pull-up resistors R and Rr when signal PP MODE is at logic "0". That is, the passive pull up resistors change the signals on the bus lines between the first and second states (logic low and high levels) at a rate determined by the pull up resistor value and the capacitive loading on the bus lines.
Figures 5A-5D illustrate the relative timing diagrams of selected signals on the bus illustrated in Figure 3. Now the wave form shapes associated with the push-pull mode all follow the low capacitive loaded form indicated by the solid line. Note that the push-pull mode of master cell device 2 must be suspended while master 2 is reading data supplied by a slave cell 4. This is necessary because in general the slaves on the bus cannot be expected to have push-pull bus drive capability. In fact, note that the acknowledge interval shown in Figures 2A-2D are the result of slave device 4 either releasing or holding low the SDA bus line. When the slave devices return data, the master must have released the SDA bus line so that this bus line can be pulled low by a slave. Further, the SCL bus clock must be slowed down during the read period to allow for the slow rise time of the returned data signal on the SDA bus.
As shown in Figures 5A-5D, during the acknowledge interval corresponding to the 9th SCL clock cycle in which the addressed slave device returns a bit of data to the master, the master is switched from push-pull to normal drive. The clock period is shown to be increased arbitrarily by a factor of 2 in the acknowledge interval. Control of the clock period is provided by software executed by microprocessor 27. When the slave is returning either read data or an acknowledge bit (either a logic high or logic low during the ninth clock pulse) the slave is placing data on the bus by pulling down the SDA bus line or by allowing pulling up the SDA bus line by the pull-up resistor. The purpose of increasing the clock period of the pulse on the SCL bus line when the slave is returning data is to accommodate the fact that the slave is not able to operate in the push-pull mode. A purely slave device ( defined herein as a slave that does not have provision for acting as a master) never pulls up the bus by a push-pull mode. However, note that as another embodiment of the invention, it is possible to implement bus control through push-pull mode using a master acting as a slave.
Although the invention has been described in detail herein with reference to its preferred embodiment, it is to be understood that this description is by way of example only and it is not to be construed in a limiting sense. It is to be further understood that numerous changes in the details of the embodiments of the invention, and additional embodiments of the invention, will be apparent to, and may be made by persons of ordinary skill in the art having reference to this description. For example, although described with regard to an embodiment incorporating a data bus according to the PC protocol, the invention is applicable to other data bus protocols incorporating either serial or parallel data communication. An example of another data bus protocol for which the invention may be useful is the IM data bus protocol supported by ITT.
Also, although conventional slave devices do not include push-pull mode operation, purely slave devices may be manufactured by device makers, in consideration of the invention disclosed herein, which incorporate the tri-state buffer as is similarly included in the master device as discussed above. In addition, although specific logic control signal polarities and circuit implementations have been described, it will be appreciated by those of ordinary skill in the art that modifications can be made to the structure and function of the invention without departing from the spirit and scope thereof and it is contemplated that all such changes and additional embodiments are within the true scope and spirit of the invention as claimed below.

Claims

1. Apparatus comprising: a data bus for communicating information between devices; a passive device for establishing on said data bus during a first mode of operation a signal changing from a first signal state to a second signal state at a first rate; and an active device coupled to said data bus and enabled during a second mode of operation for establishing on said data bus a signal changing from said first signal state to said second signal state at a second rate different from said first rate.
The apparatus of claim 1 wherein said data bus comprises an I^C data bus.
3. The apparatus of claim 2 wherein said passive device comprises a pull- up resistor coupling a bus line included in said data bus to a source of supply voltage; and said active device comprises a push-pull device coupled between said bus line and a source of supply voltage.
4. The apparatus of claim 3 wherein a plurality of devices including a master device and a slave device are coupled to said data bus; said push pull device coupling said master device to said data bus.
5. The apparatus of claim 1 wherein said active device is disabled during said first mode of operation for preventing said active device from affecting said first rate at which a signal on said data bus changes from said first state to said second state.
6. The apparatus of claim 5 wherein said passive device is operative during said first and second modes of operation for changing a signal on said data bus from said first state to said second state.
7. The apparatus of claim 5 wherein a master device and a slave device are coupled to said data bus; said push pull device coupling said master device to said data bus; said first mode of operation corresponding to an acknowledge condition or a data read condition during which said slave device communicates information to said master device.
8. The apparatus of claim 7 wherein said data bus comprises an I^C data bus.
9. The apparatus of claim 1 being included in a television signal processing system wherein said first mode of operation occurs during an interval corresponding to a first portion of a television signal representing video information and said second mode of operation occurs during an interval corresponding to a second portion of said television signal representing information other than video information.
10. The apparatus of claim 1 wherein said data bus comprises an I^C data bus; said active device is disabled during said first mode of operation for preventing said active device from affecting said first rate at which a signal on said data bus changes from said first state to said second state; said television signal processing system further comprises a master device and a slave device coupled to said data bus; said push pull device coupling said master device to said data bus; said first mode of operation corresponding to an acknowledge condition or a data read condition during which said slave device communicates information to said master device.
PCT/US1997/023364 1997-12-18 1997-12-18 High speed data bus driver WO1999031598A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US09/581,780 US6693678B1 (en) 1997-12-18 1997-12-18 Data bus driver having first and second operating modes for coupling data to the bus at first and second rates
DE69728578T DE69728578T2 (en) 1997-12-18 1997-12-18 High speed data bus driver
EP97951747A EP1071998B1 (en) 1997-12-18 1997-12-18 High speed data bus driver
AU55305/98A AU5530598A (en) 1997-12-18 1997-12-18 High speed data bus driver
KR1020007006675A KR100641744B1 (en) 1997-12-18 1997-12-18 High speed data bus driver
PCT/US1997/023364 WO1999031598A1 (en) 1997-12-18 1997-12-18 High speed data bus driver
JP2000539426A JP4017822B2 (en) 1997-12-18 1997-12-18 A device that controls the transmission of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1997/023364 WO1999031598A1 (en) 1997-12-18 1997-12-18 High speed data bus driver

Publications (1)

Publication Number Publication Date
WO1999031598A1 true WO1999031598A1 (en) 1999-06-24

Family

ID=22262317

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/023364 WO1999031598A1 (en) 1997-12-18 1997-12-18 High speed data bus driver

Country Status (6)

Country Link
EP (1) EP1071998B1 (en)
JP (1) JP4017822B2 (en)
KR (1) KR100641744B1 (en)
AU (1) AU5530598A (en)
DE (1) DE69728578T2 (en)
WO (1) WO1999031598A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001006767A2 (en) * 1999-07-15 2001-01-25 Thomson Licensing S.A. Method and appratus for isolating iic bus noise from a tuner in a television receiver
WO2002042916A2 (en) * 2000-11-27 2002-05-30 Thomson Licensing S.A. Data bus
WO2003025769A1 (en) * 2001-09-20 2003-03-27 Microchip Technology Incorporated Microcontroller having a transmission-bus-interface
US7164449B1 (en) 1999-07-15 2007-01-16 Thomson Licensing Method and apparatus for isolating IIC bus noise from a tuner in a television receiver
WO2010027997A3 (en) * 2008-09-08 2010-05-20 Microchip Technology Incorporated High speed i2c bus
US7847866B2 (en) 2002-01-11 2010-12-07 Thomson Licensing Method and apparatus for isolating IIC bus noise from a tuner in a television receiver
US7859307B2 (en) 2008-09-08 2010-12-28 Microchip Technology Incorporated High speed transient active pull-up I2C
EP2056209B1 (en) * 2000-12-11 2013-02-13 Linear Technology Corporation Circuits and methods for interconnecting bus systems
CN112463662A (en) * 2020-12-16 2021-03-09 福州创实讯联信息技术有限公司 Method and terminal for controlling I2C equipment by user mode

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5445073B2 (en) * 2009-11-27 2014-03-19 セイコーエプソン株式会社 System comprising a plurality of storage devices and data transfer method therefor
CN106793928B (en) * 2014-12-25 2018-06-29 奥林巴斯株式会社 Communication system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0359233A2 (en) * 1988-09-13 1990-03-21 Kabushiki Kaisha Toshiba Computer system and method for changing operation speed of system bus
GB2252432A (en) * 1991-02-01 1992-08-05 Intel Corp Dynamic speed computer bus
US5513334A (en) * 1994-06-27 1996-04-30 Microchip Technologies, Inc. Memory device with switching of data stream modes
US5657482A (en) * 1993-08-24 1997-08-12 Micron Electronics, Inc. Automatic clock speed sensing system for determining the number of states needed for a time-dependent operation by sensing clock frequency

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0359233A2 (en) * 1988-09-13 1990-03-21 Kabushiki Kaisha Toshiba Computer system and method for changing operation speed of system bus
GB2252432A (en) * 1991-02-01 1992-08-05 Intel Corp Dynamic speed computer bus
US5657482A (en) * 1993-08-24 1997-08-12 Micron Electronics, Inc. Automatic clock speed sensing system for determining the number of states needed for a time-dependent operation by sensing clock frequency
US5513334A (en) * 1994-06-27 1996-04-30 Microchip Technologies, Inc. Memory device with switching of data stream modes

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001006767A3 (en) * 1999-07-15 2002-05-23 Thomson Licensing Sa Method and appratus for isolating iic bus noise from a tuner in a television receiver
US7164449B1 (en) 1999-07-15 2007-01-16 Thomson Licensing Method and apparatus for isolating IIC bus noise from a tuner in a television receiver
US7268831B2 (en) 1999-07-15 2007-09-11 Thomson Licensing Method and apparatus for isolating IIC bus noise from a tuner in a television receiver
WO2001006767A2 (en) * 1999-07-15 2001-01-25 Thomson Licensing S.A. Method and appratus for isolating iic bus noise from a tuner in a television receiver
WO2002042916A2 (en) * 2000-11-27 2002-05-30 Thomson Licensing S.A. Data bus
WO2002042916A3 (en) * 2000-11-27 2003-03-20 Thomson Licensing Sa Data bus
US7003602B2 (en) 2000-11-27 2006-02-21 Thomson Licensing Data bus
EP2056209B1 (en) * 2000-12-11 2013-02-13 Linear Technology Corporation Circuits and methods for interconnecting bus systems
WO2003025769A1 (en) * 2001-09-20 2003-03-27 Microchip Technology Incorporated Microcontroller having a transmission-bus-interface
US8525931B2 (en) 2002-01-11 2013-09-03 Thomson Licensing Method and apparatus for isolating IIC bus noise from a tuner in a television receiver
US7847866B2 (en) 2002-01-11 2010-12-07 Thomson Licensing Method and apparatus for isolating IIC bus noise from a tuner in a television receiver
WO2010027997A3 (en) * 2008-09-08 2010-05-20 Microchip Technology Incorporated High speed i2c bus
CN102007480A (en) * 2008-09-08 2011-04-06 密克罗奇普技术公司 High speed transient active pull-up i2c
US7859307B2 (en) 2008-09-08 2010-12-28 Microchip Technology Incorporated High speed transient active pull-up I2C
US7800408B2 (en) 2008-09-08 2010-09-21 Microchip Technology Incorporated High speed transient active pull-up I2C
CN112463662A (en) * 2020-12-16 2021-03-09 福州创实讯联信息技术有限公司 Method and terminal for controlling I2C equipment by user mode
CN112463662B (en) * 2020-12-16 2024-04-05 福州创实讯联信息技术有限公司 Method and terminal for user mode control of I2C equipment

Also Published As

Publication number Publication date
EP1071998A1 (en) 2001-01-31
AU5530598A (en) 1999-07-05
DE69728578T2 (en) 2004-09-30
DE69728578D1 (en) 2004-05-13
JP2002508645A (en) 2002-03-19
KR100641744B1 (en) 2006-11-06
JP4017822B2 (en) 2007-12-05
EP1071998B1 (en) 2004-04-07
KR20010040302A (en) 2001-05-15

Similar Documents

Publication Publication Date Title
US6693678B1 (en) Data bus driver having first and second operating modes for coupling data to the bus at first and second rates
US5949253A (en) Low voltage differential driver with multiple drive strengths
US20020108011A1 (en) Dual interface serial bus
EP0453199B1 (en) Computer system with synchronous bus
EP0993719B1 (en) Electronic apparatus with a bus
US6339806B1 (en) Primary bus to secondary bus multiplexing for I2C and other serial buses
US6119183A (en) Multi-port switching system and method for a computer bus
JP3407469B2 (en) Information processing device
US5469082A (en) Peripheral component interfacing system with bus voltage/logic supply comparison means
EP0900493A2 (en) Communication bus using different transmission rates
EP1311959B1 (en) Bidirectional repeater using high and low threshold detection
EP1071998B1 (en) High speed data bus driver
US20100064083A1 (en) Communications device without passive pullup components
US7755412B2 (en) Bi-directional level shifted interrupt control
US20020152340A1 (en) Pseudo-differential parallel source synchronous bus
CN114911743B (en) SPI slave device, SPI master device and related communication method
US20110219160A1 (en) Fast two wire interface and protocol for transferring data
CA2228708C (en) An arbitration controller for providing arbitration on a multipoint high speed serial bus
US20080133799A1 (en) Control and slow data transmission method for serial interface
Deepika et al. Design of dual master I2C bus controller and interfacing it with DC motor
MXPA00005999A (en) High speed data bus driver
CN215934852U (en) Automatic transceiving circuit and electronic equipment
JP2533949B2 (en) Spindle synchronization pulse control method for magnetic disk unit
Stephens et al. High speed transient active pull-up I 2 C
JPS63234758A (en) Serial communication system

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 97182523.8

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH HU ID IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWE Wipo information: entry into national phase

Ref document number: PA/a/2000/005999

Country of ref document: MX

Ref document number: 1997951747

Country of ref document: EP

Ref document number: 1020007006675

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 09581780

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1997951747

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020007006675

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: CA

WWG Wipo information: grant in national office

Ref document number: 1997951747

Country of ref document: EP

WWR Wipo information: refused in national office

Ref document number: 1020007006675

Country of ref document: KR