US20080007300A1 - Method and Apparatus for Buffering Bi-Directional Open Drain Signal Lines - Google Patents

Method and Apparatus for Buffering Bi-Directional Open Drain Signal Lines Download PDF

Info

Publication number
US20080007300A1
US20080007300A1 US11/858,324 US85832407A US2008007300A1 US 20080007300 A1 US20080007300 A1 US 20080007300A1 US 85832407 A US85832407 A US 85832407A US 2008007300 A1 US2008007300 A1 US 2008007300A1
Authority
US
United States
Prior art keywords
logic
buffer
input
output
gate
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US11/858,324
Inventor
Daniel Schwarz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ITT Manufacturing Enterprises LLC
Original Assignee
ITT Manufacturing Enterprises LLC
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 ITT Manufacturing Enterprises LLC filed Critical ITT Manufacturing Enterprises LLC
Priority to US11/858,324 priority Critical patent/US20080007300A1/en
Publication of US20080007300A1 publication Critical patent/US20080007300A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/01759Coupling arrangements; Interface arrangements with a bidirectional operation
    • 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/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/0175Coupling arrangements; Interface arrangements
    • H03K19/0185Coupling arrangements; Interface arrangements using field effect transistors only
    • H03K19/018592Coupling arrangements; Interface arrangements using field effect transistors only with a bidirectional operation

Definitions

  • This invention relates to buffering integrated circuits, and more particularly, to buffering bi-directional signals for a voltage conversion such that components having different input/output voltages can communicate across a single bus.
  • Communication devices include components having different voltage requirements that interface with each other.
  • a radio can have several components (e.g., a memory, a transceiver) on an inter-integrated circuit (I 2 C) serial bus and other components (e.g., a smart battery) on a system management bus (SMBUS).
  • I 2 C inter-integrated circuit
  • SMBUS system management bus
  • the buses should be able to interface directly with each other. In practice, however, this may not always be the case.
  • the two buses (and thus the components thereon) often have different input and output voltages. An intermediate interface between the two buses is needed in order for the two sets of components to communicate with each other.
  • FIG. 1 illustrates a typical bi-directional buffer 100 , which buffers data lines with a buffer integrated circuit (IC), such as, for example, 74VCX163245GX or an equivalent.
  • a typical bi-directional buffer includes data ports 120 and 190 , respectively, supplying Data A and Data B, bonding pads 130 , 140 , 180 , uni-directional tri-stateable drivers 160 , 170 , and inverter 150 .
  • Buffer ICs of this type can control the data direction with an additional input pin T/R 110 .
  • the signal at input pin T/R 110 indicates to the circuit whether data is going from port 120 to port 190 or port 190 to port 120 .
  • Such a buffer IC is typically considered a good interface between a microprocessor bus and a memory bus.
  • FIG. 2 illustrates an example of a pass transistor circuit 200 implemented between two typical integrated circuit input/output ports, which provides the ability to interface signals with different voltage levels defined for logic 1 state, such as 3.3v and 2.5v.
  • the circuit 200 includes IC data IN 215 , 255 , IC data OUT 225 , 245 , IC tri-state control 210 , 250 , IC tri-state output buffers 220 , 240 (an output from the component), bonding pads 224 , 244 , IC input buffers 222 , 242 (an input to the component), pass transistor 230 , and two pull-up resistors 231 , 232 .
  • the pass transistor 230 is disposed between a pair of integrated circuit (IC) input/output (I/O) pads having input buffers and tri-state output buffers connected back to front.
  • IC integrated circuit
  • I/O input/output
  • the direction that the signal passes through the pass transistor 230 is determined by the tri-state control signals 210 , 250 .
  • Each tri-state control signal 210 , 250 forces its associated tri-state buffer to a high impedance state or to the operational state.
  • the value of the pull-up resistors is determined by the voltage level and drive current requirements of the IC pins being buffered.
  • the buffered devices When the logic 1 voltage levels or output drive current requirements of the buffered signals are significantly different, one of the buffered devices becomes unable to achieve a voltage level low enough to be recognized as logic 0.
  • the highest voltage level guaranteed to be recognized as logic 0 is 30% of the full logic 1 level, or 0.99v for 3.3v logic or 0.75v for 2.5v logic. This reduces the noise margin for the logic 0.
  • the pull-up resistors required to pull the signal on each side of the pass transistor to logic 1 appear in parallel to the two output drivers. The effective apparent parallel combination of the two separate pull-up resistors causes the device with the output with the lower sink current capability to be unable to drive its output voltage level low enough to be recognized as logic 0.
  • both devices may attempt to drive the interface at the same time.
  • An interface between components having different voltage requirements can increase the capabilities and reduce the size of communication devices by eliminating at least one component within the communication device. Less circuitry and less processor memory space are used when providing a single interface for the differing components.
  • some components e.g., a memory, an audio circuit, a real time clock, or a potentiometer
  • I 2 C inter-integrated circuit
  • other components e.g., a smart battery or a temperature sensor
  • SMBUS system management bus
  • any or all of these components can be connected on a single bus that includes the bi-directional buffer of the present invention.
  • the present invention allows components to interface with each other in spite of the input and output voltages. As a result, direction control without a separate control signal and the ability to buffer different input/output voltages from interfaced components across a single bus is possible.
  • a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC) can have a single input/output (I/O) pin for each bus, e.g., I 2 C or SMBUS, that interfaces with each of the interfaced components according to the present invention.
  • Open drain data lines with different current sink specifications are buffered by tri-state control of the output buffer in an input/output pad of an integrated circuit.
  • the tri-state control of the output buffer mimics an open drain signal by connecting the input port of the output buffer to logic 0 and connecting an active low digital control signal to the tri-state control port of the output buffer.
  • the active low digital control signal is logic 1
  • the output buffer is tri-stated and any external signal drives the node to either logic level.
  • the output buffer is enabled and drives the external node to logic 0.
  • FIG. 1 illustrates a known bi-directional buffer.
  • FIG. 2 illustrates a known pass transistor buffer circuit
  • FIG. 3 is a schematic diagram of a bi-directional buffer according to the present invention.
  • FIG. 4 is a flow chart illustrating a method of buffering a bi-directional integrated circuit according to the present invention.
  • An interface between components having different voltage requirements increases the capabilities and reduces the size of communication devices by using less circuitry and less processor memory space.
  • components having different signal levels can be connected on a single bus that includes the bi-directional buffer of the present invention.
  • the buffer circuit translates, i.e., converts, a logic level 1 of a first component to a logic level 1 of a second component, where logic level 1 for each component is at a different voltage level.
  • the present invention buffers signals between I 2 C bus and SMBUS components by translating, i.e., converting, a signal from one voltage level to another voltage level.
  • each component operates in isolation from the other components and within its own electrical specifications without concern for the electrical specifications of the other components.
  • the present invention can be implemented in an integrated circuit (e.g., FPGA or ASIC) or with discrete components to buffer bi-directional serial data interfaces that have different voltage level and drive requirements.
  • Such uses include logic level shifting when an FPGA includes programmable I/O voltage levels.
  • a bi-directional data buffer 300 has two input/output pads 400 , 500 connected in a back-to-front fashion.
  • the two input/output pads (I/O pads) 400 , 500 are essentially mirror images of each other.
  • Each I/O pads 400 , 500 has the same components connected in an identical manner; only one I/O pad runs left to right ( 400 ) and the other runs right to left ( 500 ).
  • I/O pad 400 includes an input buffer 411 , a tri-state output buffer 412 , and a bonding pad 413 .
  • An input (output) signal 415 at a voltage level of 3.3V for logic 1 is input (output) at Port A 420 .
  • I/O pad 500 includes an input buffer 511 , a tri-state output buffer 512 , and a bonding pad 513 .
  • the input (output) signal 515 at a voltage level of 2.5V for logic 1 is input (output) at Port B 520 .
  • the I/O pad 400 , 500 functions like a conventional I/O pad to receive/transmit a signal coming into/leaving the buffer circuit.
  • a signal first enters the I/O pad 400 , 500 , the signal is input via the bonding pad 413 , 513 . Then, the signal is transmitted to the input buffer 411 , 511 , where it is transmitted into the rest of the components of the buffer circuit.
  • the tri-state output buffer 412 , 512 receives the output transmission from the buffer circuit and then transmits the output signal to the bonding pad 413 , 513 . After being received by the bonding pad 413 , 513 , the signal is then transmitted from the buffer circuit to the receiving component.
  • the following description focuses on the bi-directional buffer 300 as it flows from left to right in FIG. 3 . This description also applies, however, to the bi-directional buffer 300 as it flows from right to left, when the appropriate component references are substituted, as the two paths are symmetrical.
  • the bi-directional buffer 300 also includes a master clock MCLK and a master reset MRST.
  • the master clock MCLK controls the timing of signals through the buffer 300 .
  • the master reset MRST initializes the bi-directional buffer by asserting a signal to the D-type flip-flops (D FFs) at the S input and to an input of the respective cross-coupled NOR circuit (latch).
  • D FFs D-type flip-flops
  • the upper portion of the bi-directional buffer 300 includes two D-type flip-flops DF 1 , DF 2 , an AND gate AD 2 , two NOR gates NR 1 , NR 2 , and an inverter INV 1 .
  • the lower portion of the bi-directional buffer 300 likewise includes two D-type flip-flops DF 3 , DF 4 , an AND gate AD 1 , two NOR gates NR 3 , NR 4 , and an inverter INV 2 .
  • Each D-type FF includes an input for a signal from the master clock MCLK, an input S for the signal from the master reset MRST 320 , an data input D, and two outputs Q and Q , which Q is the inverted value of Q.
  • D FFs D-type flip-flops
  • the number of D FFs used in the synchronization paths (D 1 , D 2 and D 3 , D 4 ) of the circuit depends, for example, on the frequency of MCLK and the rise time of the external pull-up resistors R 1 , R 2 , not the data rate.
  • a delay greater than the longer rise time of the two external pull-up resistors can be provided, as necessary.
  • the transition to logic 0 at signal 415 causes the cross-coupled NOR circuit (latch) NR 4 and NR 3 to block the logic 0 from completing the loop through I/O pad 500 and appearing at the input of INV 2 .
  • signal 415 transitions to logic 1
  • I/O pad 500 is still at logic 0 for a period slightly longer than the rise time of resistor R 2 at Port B 520 .
  • the delay in DF 1 and DF 2 continues to block logic 0 from I/O pad 500 until I/O pad 500 has transitioned to logic 1. This delay prevents the circuit from locking up when logic 0 is applied at either input.
  • the ratio of the master clock MCLK to the frequency of logic level transitions on the inputs of the buffer is, for example, at least 4:1.
  • ratios of 20:1, 30:1, or higher are usually used.
  • a minimum of two flip-flops in the delay chain are required to prevent meta-stability problems.
  • a 2:1 clocking ratio causes the delay in the delay chain to equal between 1 ⁇ 2 and 1 full data bit period, depending on the timing between the data transition and the clock edge. This interferes with assertion of the acknowledgement (ACK) bit (driven by the receiving device) in the I 2 C protocol.
  • ACK acknowledgement
  • a 4:1 ratio with a two Flip Flop delay chain creates a delay between 3 ⁇ 8 and 1 ⁇ 2 bit period. This allows assertion of the ACK bit halfway through the bit period, which meets the specification, but without any timing margin. Higher ratios provide more timing margin.
  • An exemplary circuit uses an MCLK frequency to data rate ratio of 128:1.
  • a higher ratio of the master clock MCLK to the frequency of logic level transitions on the inputs of the buffer allows for higher resolution (smaller time increments), but an increased number of D-type flip-flops are required in the flip-flop delay chain. With higher resolution, the D-type flip-flop delay chain can more closely match the slowest rise time of the two external pull-up resistors.
  • a signal 415 is input at Port A, passes through bonding pad 413 to input buffer 411 . Then, the signal is supplied as an input to NOR gate NR 1 , D-type flip-flop DF 1 , and AND gate AD 1 .
  • the NOR gate NR 1 also has the MRST signal and the output of NOR gate NR 2 as inputs.
  • the output of NOR gate NR 1 is the input to inverter INV 1 and an input to NOR gate NR 2 .
  • NOR gate NR 2 also has the output of AND gate AD 2 as an input.
  • the inputs to AND gate AD 2 are from the D-type flip-flop DF 4 and the input buffer IB 1 511 and are similar to the description, which follows below relating to the D-type flip-flops DF 1 , DF 2 and input buffer IB 2 411 .
  • the output of the inverter INV 1 is inverted as an input to output buffer OT 1 512 .
  • the output from output buffer OT 1 512 passes through bonding pad 513 to Port B to a component.
  • the D-type flip-flop DF 1 receives the signal from buffer IB 2 411 as an input at D and outputs the signal at Q to another D-type flip-flop DF 2 , which receives the signal at D and outputs the signal at Q.
  • the signal output from D-type flip-flop DF 2 is an input to AND gate AD 1 .
  • the other input to AND gate AD 1 (as noted above) is the signal from buffer IB 2 411 .
  • the output from AND gate AD 1 is an input to NOR gate NR 4 , which is an input to NOR gate NR 3 .
  • NOR gate NR 3 also has the master reset MRST signal and the output of buffer IB 1 511 as inputs.
  • the output of NOR gate NR 3 is an input to NOR gate NR 4 and an input to inverter INV 2 .
  • the output of inverter INV 2 is inverted as an input to output buffer OT 2 412 .
  • the following description describes the flow within the bi-directional buffer 300 from right to left in FIG. 3 . As the two paths are symmetrical, the flow is a mirror image of the flow from left to right.
  • a signal 515 is input at Port B, passes through bonding pad 513 to buffer 511 . Then, the signal is supplied as an input to NOR gate NR 3 , D-type flip-flop DF 3 , and AND gate AD 2 .
  • the NOR gate NR 3 also has the MRST signal and the output of NOR gate NR 4 as inputs.
  • the output of NOR gate NR 3 is the input to inverter INV 2 and an input to NOR gate NR 4 .
  • NOR gate NR 4 also has the output of AND gate AD 1 as an input.
  • the inputs to AND gate AD 1 are from the D-type flip-flop DF 2 and the input buffer IB 2 411 and are similar to the description, which follows below relating to the D-type flip-flops DF 3 , DF 4 and input buffer IB 1 511 .
  • the output of the inverter INV 2 is inverted as an input to output buffer OT 2 412 .
  • the output from output buffer OT 2 412 passes through bonding pad 413 to Port A to a component.
  • the D-type flip-flop DF 3 receives the signal from buffer IB 1 511 as an input at D and outputs the signal at Q to another D-type flip-flop DF 4 , which receives the signal at D and outputs the signal at Q.
  • the signal output from D-type flip-flop DF 4 is an input to AND gate AD 2 .
  • the other input to AND gate AD 2 (as noted above) is the signal from buffer IB 1 511 .
  • the output from AND gate AD 2 is an input to NOR gate NR 2 , which is an input to NOR gate NR 1 .
  • NOR gate NR 1 also has the master reset MRST signal and the output of buffer IB 2 411 as inputs.
  • the output of NOR gate NR 1 is an input to NOR gate NR 2 and an input to inverter INV 1 .
  • the output of inverter INV 1 is inverted as an input to output buffer OT 1 512 .
  • the flow chart illustrates the process of buffering bi-directional open drain circuits according to the present invention.
  • the buffer 300 is initialized. Initialization of the bi-directional buffer is achieved by powering on the buffer 300 and asserting the master reset MRST. Then, the master reset MRST is de-asserted so that the buffer 300 can operate. With an activated buffer 300 , data is sent according to the bus protocol circuit. Upon completion of the data, the buffer 300 is then de-activated.
  • the buffer 300 would operate as follows.
  • the buffer 300 is capable of passing data for any bi-directional serial data protocol that drives logic 0 and tri-states for logic 1, and is not limited to using the I 2 C bus protocol described.
  • the bus protocol for sending data provides for a start bit and a stop bit.
  • the start bit which initiates the transfer of data, is typically a hi to lo (1 ⁇ 0) transition on the data line, with the clock (of the bus) at hi.
  • One bit of data is sent during each cycle of the clock starting with a lo to hi (0 ⁇ 1) transition through a hi to lo (1 ⁇ 0) transition and ending at the next lo to hi (0 ⁇ 1) transition.
  • MCLK is used to trigger clock of the bus.
  • the flip-flops could trigger off a different edge of MCLK, where MCLK is implemented with a different polarity, i.e., 0 ⁇ 1 or hi.
  • the buffer is toggled between active/non-active throughout the transfer of data.
  • the system transfers data, i.e., a 10101010 bit stream, from component to component across the buffer circuit.
  • a data stream is sent from the input Port A 420 to output Port B 520 or in the reverse.
  • Data is sent by the following process: With each 0 of the bit stream, the buffer circuit is activated (on) or with each 1 of the bit stream, the buffer circuit is de-activated (off). Thus, in essence, only logic “0”s are sent through the buffer circuit.
  • the receiver transfers a single logic 0 on the next cycle of the clock to acknowledge correctly receiving the data. After the acknowledgement, the original data transmitter can send more data or execute a stop bit.
  • each transmitted logic 0 (or more precisely described, the beginning of each transmitted logic 1), there is a brief period of time during which recognition of the new logic 0 is delayed.
  • This “delay” is equivalent to the time measured by the flip-flop delay chain (the slowest pull-up resistor rise time). During this period, logic 0 cannot be transmitted. However, this inability to transmit a logic 0 is not significant as it is triggered by the upcoming transmission of a logic 1. If a logic 0 were to be transmitted, the above time period would not be triggered as the input is already at logic 0.
  • each side of the bi-directional buffer 300 i.e., I/O pads 400 , 500 and Ports A and B 420 , 520 , provides tri-state control through the connectivity/interaction of the various components.
  • the bi-directional buffer 300 is first initialized by asserting master reset MRST, i.e., asserting logic 1.
  • master reset MRST i.e., asserting logic 1.
  • the output of NOR gate NR 1 is logic 0, and causes inverter INV 1 to drive logic 1 to the tri-state control of the output buffer OT 1 .
  • Port B is tri-stated and allows the external pull-up resistor R 2 to present logic 1 (2.5V) to the component.
  • Activation of MRST also initializes the outputs of D flip-flops DF 3 and DF 4 to logic 1 and causes the output of AND gate AD 2 to drive logic 1.
  • AND gate AD 2 causes the output of NOR gate NR 2 to drive logic 0.
  • NOR gates NR 1 and NR 2 are connected in a cross-coupled fashion, which produces a latch, and each NOR gate has a single input held at logic 1 after initialization and the master reset MRST is de-asserted. After master reset MRST is de-asserted, i.e., logic 0, and the bi-directional buffer 300 is operational.
  • bi-directional buffer 300 activation of the bi-directional buffer 300 will be described in relation to logic 0 being externally driven on Port A.
  • the bi-directional buffer 300 could be activated from a signal driven on Port B.
  • Logic 0 is driven on Port A from a component attached to the bus (not shown).
  • the signal passes through bonding pad 413 to an input buffer IB 2 411 .
  • the buffer IB 2 411 presents logic 0 to the input of NOR gate NR 1 .
  • the inputs to NOR gate NR 1 (from buffer IB 2 , MRST, and NOR gate NR 2 ) are now logic 0 so the output of NOR gate NR 1 transitions to logic 1.
  • This logic 1 output is inverted by inverter INV 1 and logic 0 is presented to the tri-state control input of output buffer OT 1 , which causes the output buffer OT 1 to turn on and drive logic 0 through bonding pad 513 on Port B.
  • the logic 1 output of NOR gate NR 1 is also input to NOR gate NR 2 . There is no immediate effect because the other input to NOR gate NR 2 is driven to logic 1 by the output of AND gate AD 2 .
  • the logic 0 from buffer 411 is also an input to AND gate AD 1 , which causes the output of AND gate AD 1 to transition to logic 0.
  • the output of AND gate AD 1 is input to NOR gate NR 4 .
  • Logic 0 on both inputs to NOR gate NR 4 causes the output of NOR gate NR 4 to transition to logic 1.
  • the logic 1 output from NOR gate NR 4 is input to NOR gate NR 3 before the transition to logic 0 of the input from IB 1 due to propagation delays through NOR gate NR 1 , inverter INV 1 , output buffer OT 1 , and input buffer IB 1 . Therefore, no change in the output of NOR gate NR 3 is observed and NOR gate NR 3 continues to drive logic 0.
  • NR 4 The transition of NR 4 to logic 1 “Breaks” the loop through the buffer circuit 300 and prevents the buffer 300 from locking up when a logic 0 is first presented at Port A 420 .
  • NR 2 provides a similar function when logic 0 is first presented at Port B 520 .
  • D-type flip-flop DF 1 synchronize the logic 0 from buffer 411 to the internal master clock MCLK, which provides a delayed version of the logic 0 from buffer 411 to AND gate AD 1 . After two clock edges of the internal master clock MCLK, both inputs to AND gate AD 1 are logic 0.
  • the logic 0 output signal from output buffer OT 1 is driven back into the bi-directional buffer 300 from Port B via input buffer IB 1 .
  • This logic 0 is an input to NOR gate NR 3 , AND gate AD 2 , and D-type flip-flop DF 3 .
  • the logic 0 has no effect on the output logic level of NOR gate NR 3 because the output of NOR gate NR 4 that was previously driven to logic 1 maintains the output of NOR gate NR 3 at logic 0.
  • the logic 0 input from input buffer IB 1 also causes the output of AND gate AD 2 to transition to logic 0, which provides a logic 0 to the input of NOR gate NR 2 .
  • an external source driving logic 0 on Port A releases the node. This allows pull-up resistor R 1 to pull the node to logic 1.
  • This causes input buffer IB 2 to present logic 1 to the input of NOR gate NR 1 and cause the output of NOR gate NR 1 to transition to logic 0.
  • This logic 0 is inverted by inverter INV 1 and logic 1 is presented to the tri-state control input of output buffer OT 1 , which causes the output buffer OT 1 to turn off and allows pull-up resistor R 2 to pull Port B to logic 1.
  • the output logic 0 of NOR gate NR 1 is input to NOR gate NR 2 . This causes the output of NOR gate NR 2 to transition to logic 1.
  • the output transition to logic 1 of NOR gate NR 2 has no effect on NOR gate NR 1 because the input of NOR gate NR 1 driven by input buffer IB 2 is also logic 1.
  • the transition to logic 1 of Port A is an input to AND gate AD 1 , which has no immediate effect. Also, the input logic 1 is presented to the D input of D-type flip-flop DF 1 . This occurs at the same time as logic 1 is presented to the AND gate AD 1 . D-type flip-flops DF 1 and DF 2 synchronize the input logic 1 to the internal master clock, MCLK, which provides a delayed version of the input signal to AND gate AD 1 . After two edges of the internal master clock MCLK, both inputs of AND gate AD 1 are logic 1. This causes the output of NOR gate NR 4 to transition to logic 0, and allows the output of input buffer IB 1 to control the output of NOR gate NR 3 .
  • the pulling of Port B to logic 1 appears at the output of input buffer IB 1 .
  • the logic 1 output by buffer IB 1 is an input to NOR gate NR 3 .
  • the output of NOR gate NR 3 does not change because the input driven from NOR gate NR 4 is logic 1 due to the synchronization delay in D-type flip-flops DF 1 and DF 2 .
  • the transition to logic 1 of Port B is an input to AND gate AD 2 , which has no immediate effect because the other input of AND gate AD 2 is logic 0 by the output Q of DF 4 .
  • the input logic 1 is presented to the D input of D-type flip-flop DF 3 . This happens at the same time as logic 1 is presented to AND gate AD 2 .
  • D-type flip-flops DF 3 and DF 4 synchronize the input logic 1 to the internal master clock, MCLK, which provides a delayed version of the input signal to AND gate AD 2 . After two cycles of the internal master clock MCLK, the output Q of DF 4 transitions to logic 1.
  • Both inputs of AND gate AD 2 are logic 1, which causes the output of AND gate AD 2 to transition to logic 1.
  • the transition of the output of AND gate AD 2 to logic 1 is an input to NOR gate NR 2 .
  • the output of NOR gate NR 2 transitions to logic 0, which allows the output of input buffer IB 1 to control the output of NOR gate NR 3
  • the buffer can be activated from either Port A or Port B.
  • the bi-directional buffer may be implemented solely as software as well as a combination of both software and hardware, or even as hardware alone. The above description is not meant to limit the bi-directional buffer to a particular design, as many variations are possible and within the scope of the description provided thus far.
  • the present invention may include any quantity of conventional or other components having predetermined logic voltage requirements.
  • the present invention may employ any conventional access scheme or protocol to initially access and/or transmit information.
  • the present invention may be in the form of any type of radio unit, communications device, or other electronics device.
  • the bi-directional buffer of the present invention may be implemented by any conventional or other microprocessor, controller or circuitry to perform the functions described herein, while any quantity of processors or processing devices or circuitry may be employed within the present invention where the processor functions may be distributed in any fashion among any quantity of hardware and/or software modules, processors or other processing devices or circuits.
  • the software of the present invention may be implemented in any suitable computer language, and could be developed by one of ordinary skill in the computer and/or programming arts based on the functional description contained herein and illustrated in the drawings. Further, any references herein of software performing various functions generally refer to processors performing those functions under software control.
  • the software, functions, and/or algorithms described above and illustrated may be modified in any manner that accomplishes the functions described herein.

Abstract

A buffer system includes a logic adjusting circuit for translating a first logic level of a first component to a second logic level of a second component. The first and second logic level values are substantially different, and the buffer system has no directional control signal. A method of interfacing at least two components with different logic voltage requirements on a single bus without a separate directional control signal includes initializing a buffering circuit, activating the buffering circuit, transferring data through the buffering circuit, and deactivating the buffering circuit. A method of implementing a bi-directional interface between at least two devices interfaced on a bus includes providing a plurality of logic components interconnected to transfer data through the bus, and transferring data through the bus from a first device to a second device. The direction of data transfer is determined without a separate directional control signal.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application is a divisional of U.S. patent application Ser. No. 11/128,424 filed May 13, 2005, entitled “Method and Apparatus for Buffering Bi-Directional Open Drain Signal Lines,” the entire contents of which is hereby incorporated by reference.
  • FIELD OF THE INVENTION
  • This invention relates to buffering integrated circuits, and more particularly, to buffering bi-directional signals for a voltage conversion such that components having different input/output voltages can communicate across a single bus.
  • BACKGROUND
  • Communication devices include components having different voltage requirements that interface with each other. For example, a radio can have several components (e.g., a memory, a transceiver) on an inter-integrated circuit (I2C) serial bus and other components (e.g., a smart battery) on a system management bus (SMBUS). In theory, according to the technical specifications of these two buses, the buses should be able to interface directly with each other. In practice, however, this may not always be the case. The two buses (and thus the components thereon) often have different input and output voltages. An intermediate interface between the two buses is needed in order for the two sets of components to communicate with each other.
  • FIG. 1 illustrates a typical bi-directional buffer 100, which buffers data lines with a buffer integrated circuit (IC), such as, for example, 74VCX163245GX or an equivalent. A typical bi-directional buffer includes data ports 120 and 190, respectively, supplying Data A and Data B, bonding pads 130, 140, 180, uni-directional tri-stateable drivers 160, 170, and inverter 150. Buffer ICs of this type can control the data direction with an additional input pin T/R 110. The signal at input pin T/R 110 indicates to the circuit whether data is going from port 120 to port 190 or port 190 to port 120. Such a buffer IC is typically considered a good interface between a microprocessor bus and a memory bus.
  • Without a directional control signal, a drawback of using buffer ICs arises when either of the connected components can begin a data transfer based only on the presence or absence of activity on the data line. Without a directional control signal from the components, the direction of the data flow cannot be determined beforehand. This occurs when, for example, the drivers of the serial data lines are an inter-integrated circuit (I2C) or a system management bus (SMBUS) devices. With these devices, there is no external control signal available to indicate the data direction for the bi-directional buffer 100. With no directional control signal, since data can travel both ways, it is possible for contention to occur along the data path, i.e., data from each direction conflicting on ports 120 or 190.
  • Another device considered for buffering input/output signals is a pass transistor. The pass transistor is configured to always be on and provide open collector buffering of two signals. FIG. 2 illustrates an example of a pass transistor circuit 200 implemented between two typical integrated circuit input/output ports, which provides the ability to interface signals with different voltage levels defined for logic 1 state, such as 3.3v and 2.5v. More particularly, the circuit 200 includes IC data IN 215, 255, IC data OUT 225, 245, IC tri-state control 210, 250, IC tri-state output buffers 220, 240 (an output from the component), bonding pads 224, 244, IC input buffers 222, 242 (an input to the component), pass transistor 230, and two pull- up resistors 231, 232. In the figure, the pass transistor 230 is disposed between a pair of integrated circuit (IC) input/output (I/O) pads having input buffers and tri-state output buffers connected back to front. The direction that the signal passes through the pass transistor 230 is determined by the tri-state control signals 210, 250. Each tri-state control signal 210, 250 forces its associated tri-state buffer to a high impedance state or to the operational state. The value of the pull-up resistors is determined by the voltage level and drive current requirements of the IC pins being buffered.
  • When the logic 1 voltage levels or output drive current requirements of the buffered signals are significantly different, one of the buffered devices becomes unable to achieve a voltage level low enough to be recognized as logic 0. Typically, for current CMOS devices, the highest voltage level guaranteed to be recognized as logic 0 is 30% of the full logic 1 level, or 0.99v for 3.3v logic or 0.75v for 2.5v logic. This reduces the noise margin for the logic 0. With the pass transistor always being on, the pull-up resistors required to pull the signal on each side of the pass transistor to logic 1 appear in parallel to the two output drivers. The effective apparent parallel combination of the two separate pull-up resistors causes the device with the output with the lower sink current capability to be unable to drive its output voltage level low enough to be recognized as logic 0. Increasing the value of the pull-up resistors increases the overall resistance, which assists the device in achieving a logic 0 output with the weaker output. However, the larger resistances cause the output of the second device to have an excessive rise time when it releases the signal to logic 1. Additionally, with independent tri-state control signals, both devices may attempt to drive the interface at the same time.
  • Currently, a significant amount of circuitry and processor memory space is used to interface these different components. Consequently, a method or interface for bi-directional buffering, which provides direction control without a separate control signal and the ability to buffer different input/output voltages from interfaced components across a signal bus, is desirable.
  • SUMMARY
  • An interface between components having different voltage requirements can increase the capabilities and reduce the size of communication devices by eliminating at least one component within the communication device. Less circuitry and less processor memory space are used when providing a single interface for the differing components. For example, in a radio, typically, some components (e.g., a memory, an audio circuit, a real time clock, or a potentiometer) are connected on an inter-integrated circuit (I2C) serial bus and other components (e.g., a smart battery or a temperature sensor) are connected on a system management bus (SMBUS). Using the present invention, any or all of these components can be connected on a single bus that includes the bi-directional buffer of the present invention. The present invention allows components to interface with each other in spite of the input and output voltages. As a result, direction control without a separate control signal and the ability to buffer different input/output voltages from interfaced components across a single bus is possible.
  • More specifically, a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC) can have a single input/output (I/O) pin for each bus, e.g., I2C or SMBUS, that interfaces with each of the interfaced components according to the present invention. Open drain data lines with different current sink specifications are buffered by tri-state control of the output buffer in an input/output pad of an integrated circuit. The tri-state control of the output buffer mimics an open drain signal by connecting the input port of the output buffer to logic 0 and connecting an active low digital control signal to the tri-state control port of the output buffer. When the active low digital control signal is logic 1, the output buffer is tri-stated and any external signal drives the node to either logic level. When the active low digital control signal is logic 0, the output buffer is enabled and drives the external node to logic 0.
  • The above and still further features of the present invention will become apparent upon consideration of the detailed description of specific embodiments thereof, particularly when taken in conjunction with the accompanying drawings wherein like reference numerals in the various figures are utilized to designate like components.
  • BRIEF DESCRIPTION OF THE FIGURES
  • The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings and from the claims.
  • FIG. 1 illustrates a known bi-directional buffer.
  • FIG. 2 illustrates a known pass transistor buffer circuit.
  • FIG. 3 is a schematic diagram of a bi-directional buffer according to the present invention.
  • FIG. 4 is a flow chart illustrating a method of buffering a bi-directional integrated circuit according to the present invention.
  • DETAILED DESCRIPTION
  • An interface between components having different voltage requirements increases the capabilities and reduces the size of communication devices by using less circuitry and less processor memory space. Using the present invention, components having different signal levels can be connected on a single bus that includes the bi-directional buffer of the present invention. According to the present invention, components can interface with each other in spite of the input and output voltages. In particular, the buffer circuit translates, i.e., converts, a logic level 1 of a first component to a logic level 1 of a second component, where logic level 1 for each component is at a different voltage level.
  • In accordance with an exemplary embodiment, the present invention buffers signals between I2C bus and SMBUS components by translating, i.e., converting, a signal from one voltage level to another voltage level. As a result, each component operates in isolation from the other components and within its own electrical specifications without concern for the electrical specifications of the other components.
  • The present invention can be implemented in an integrated circuit (e.g., FPGA or ASIC) or with discrete components to buffer bi-directional serial data interfaces that have different voltage level and drive requirements. Such uses include logic level shifting when an FPGA includes programmable I/O voltage levels.
  • Referring to FIG. 3, a bi-directional data buffer 300 has two input/ output pads 400, 500 connected in a back-to-front fashion. In this example, the two input/output pads (I/O pads) 400, 500 are essentially mirror images of each other. Each I/ O pads 400, 500 has the same components connected in an identical manner; only one I/O pad runs left to right (400) and the other runs right to left (500).
  • I/O pad 400 includes an input buffer 411, a tri-state output buffer 412, and a bonding pad 413. An input (output) signal 415 at a voltage level of 3.3V for logic 1 is input (output) at Port A 420. Likewise I/O pad 500 includes an input buffer 511, a tri-state output buffer 512, and a bonding pad 513. The input (output) signal 515 at a voltage level of 2.5V for logic 1 is input (output) at Port B 520.
  • The I/ O pad 400, 500 functions like a conventional I/O pad to receive/transmit a signal coming into/leaving the buffer circuit. When a signal first enters the I/ O pad 400, 500, the signal is input via the bonding pad 413, 513. Then, the signal is transmitted to the input buffer 411, 511, where it is transmitted into the rest of the components of the buffer circuit. When a signal is to be transmitted from the buffer circuit, the tri-state output buffer 412, 512 receives the output transmission from the buffer circuit and then transmits the output signal to the bonding pad 413, 513. After being received by the bonding pad 413, 513, the signal is then transmitted from the buffer circuit to the receiving component.
  • There is no directional control signal in the buffer circuit of the present invention. However, problematic issues, such as contention, do not plague operation of this buffer circuit although there is no directional signal. Directional control in the instant case is affected by the path along which data is sent through buffer. Direction is determined by which port (side) is sending data.
  • For simplicity, the following description focuses on the bi-directional buffer 300 as it flows from left to right in FIG. 3. This description also applies, however, to the bi-directional buffer 300 as it flows from right to left, when the appropriate component references are substituted, as the two paths are symmetrical.
  • The bi-directional buffer 300 also includes a master clock MCLK and a master reset MRST. The master clock MCLK controls the timing of signals through the buffer 300. The master reset MRST initializes the bi-directional buffer by asserting a signal to the D-type flip-flops (D FFs) at the S input and to an input of the respective cross-coupled NOR circuit (latch).
  • Between the two I/ O pads 400, 500 of the bi-directional buffer 300 are a series of interconnected logic components. Described from left to right, the upper portion of the bi-directional buffer 300 includes two D-type flip-flops DF1, DF2, an AND gate AD2, two NOR gates NR1, NR2, and an inverter INV1. On the lower portion of the bi-directional buffer 300 likewise includes two D-type flip-flops DF3, DF4, an AND gate AD1, two NOR gates NR3, NR4, and an inverter INV2. Each D-type FF includes an input for a signal from the master clock MCLK, an input S for the signal from the master reset MRST 320, an data input D, and two outputs Q and Q, which Q is the inverted value of Q.
  • In this exemplary configuration of the present invention, there are four D-type flip-flops (D FFs). The number of D FFs used in the synchronization paths (D1, D2 and D3, D4) of the circuit depends, for example, on the frequency of MCLK and the rise time of the external pull-up resistors R1, R2, not the data rate. By varying the number of D FFs in each synchronization path, a delay greater than the longer rise time of the two external pull-up resistors can be provided, as necessary. For example, the transition to logic 0 at signal 415 causes the cross-coupled NOR circuit (latch) NR4 and NR3 to block the logic 0 from completing the loop through I/O pad 500 and appearing at the input of INV2. When signal 415 transitions to logic 1, I/O pad 500 is still at logic 0 for a period slightly longer than the rise time of resistor R2 at Port B 520. The delay in DF1 and DF2 continues to block logic 0 from I/O pad 500 until I/O pad 500 has transitioned to logic 1. This delay prevents the circuit from locking up when logic 0 is applied at either input.
  • Slower (i.e., longer) rise times of the external pull-up resistors increase the required delay due to the D FFs. The required delay can be different for each rise time. If the required delays are different, the delay of D-type flip-flops DF1 and DF2 would be determined by the rise time of resistor R2 at Port B 520 and the delay of D-type flip-flops DF3 and DF4 would be determined by the rise time of resistor R1 at Port A 420. The delay can put a limit on the maximum data rate. However, rise times (delays) are typically less than 5% of the data bit time.
  • By design, the ratio of the master clock MCLK to the frequency of logic level transitions on the inputs of the buffer is, for example, at least 4:1. In practice, ratios of 20:1, 30:1, or higher are usually used. A minimum of two flip-flops in the delay chain are required to prevent meta-stability problems. A 2:1 clocking ratio causes the delay in the delay chain to equal between ½ and 1 full data bit period, depending on the timing between the data transition and the clock edge. This interferes with assertion of the acknowledgement (ACK) bit (driven by the receiving device) in the I2C protocol. Thus, using the 2:1 ratio for the clock signal causes missed clocks. A 4:1 ratio with a two Flip Flop delay chain creates a delay between ⅜ and ½ bit period. This allows assertion of the ACK bit halfway through the bit period, which meets the specification, but without any timing margin. Higher ratios provide more timing margin.
  • An exemplary circuit uses an MCLK frequency to data rate ratio of 128:1. A higher ratio of the master clock MCLK to the frequency of logic level transitions on the inputs of the buffer allows for higher resolution (smaller time increments), but an increased number of D-type flip-flops are required in the flip-flop delay chain. With higher resolution, the D-type flip-flop delay chain can more closely match the slowest rise time of the two external pull-up resistors.
  • Referring to FIG. 3, a description of the signal flow, from left to right, starting at Port A follows. A signal 415 is input at Port A, passes through bonding pad 413 to input buffer 411. Then, the signal is supplied as an input to NOR gate NR1, D-type flip-flop DF1, and AND gate AD1. The NOR gate NR1 also has the MRST signal and the output of NOR gate NR2 as inputs. The output of NOR gate NR1 is the input to inverter INV1 and an input to NOR gate NR2. NOR gate NR2 also has the output of AND gate AD2 as an input. (The inputs to AND gate AD2 are from the D-type flip-flop DF4 and the input buffer IB1 511 and are similar to the description, which follows below relating to the D-type flip-flops DF1, DF2 and input buffer IB2 411.) The output of the inverter INV1 is inverted as an input to output buffer OT1 512. The output from output buffer OT1 512 passes through bonding pad 513 to Port B to a component.
  • The D-type flip-flop DF1 receives the signal from buffer IB2 411 as an input at D and outputs the signal at Q to another D-type flip-flop DF2, which receives the signal at D and outputs the signal at Q. The signal output from D-type flip-flop DF2 is an input to AND gate AD1. The other input to AND gate AD1 (as noted above) is the signal from buffer IB2 411. The output from AND gate AD1 is an input to NOR gate NR4, which is an input to NOR gate NR3. NOR gate NR3 also has the master reset MRST signal and the output of buffer IB1 511 as inputs. The output of NOR gate NR3 is an input to NOR gate NR4 and an input to inverter INV2. The output of inverter INV2 is inverted as an input to output buffer OT2 412.
  • The following description describes the flow within the bi-directional buffer 300 from right to left in FIG. 3. As the two paths are symmetrical, the flow is a mirror image of the flow from left to right.
  • Referring to FIG. 3, a description of the signal flow, from right to left, starting at Port B follows. A signal 515 is input at Port B, passes through bonding pad 513 to buffer 511. Then, the signal is supplied as an input to NOR gate NR3, D-type flip-flop DF3, and AND gate AD2. The NOR gate NR3 also has the MRST signal and the output of NOR gate NR4 as inputs. The output of NOR gate NR3 is the input to inverter INV2 and an input to NOR gate NR4. NOR gate NR4 also has the output of AND gate AD1 as an input. (The inputs to AND gate AD1 are from the D-type flip-flop DF2 and the input buffer IB2 411 and are similar to the description, which follows below relating to the D-type flip-flops DF3, DF4 and input buffer IB1 511.) The output of the inverter INV2 is inverted as an input to output buffer OT2 412. The output from output buffer OT2 412 passes through bonding pad 413 to Port A to a component.
  • The D-type flip-flop DF3 receives the signal from buffer IB1 511 as an input at D and outputs the signal at Q to another D-type flip-flop DF4, which receives the signal at D and outputs the signal at Q. The signal output from D-type flip-flop DF4 is an input to AND gate AD2. The other input to AND gate AD2 (as noted above) is the signal from buffer IB1 511. The output from AND gate AD2 is an input to NOR gate NR2, which is an input to NOR gate NR1. NOR gate NR1 also has the master reset MRST signal and the output of buffer IB2 411 as inputs. The output of NOR gate NR1 is an input to NOR gate NR2 and an input to inverter INV1. The output of inverter INV1 is inverted as an input to output buffer OT1 512.
  • Referring to FIG. 4, the flow chart illustrates the process of buffering bi-directional open drain circuits according to the present invention. Firstly, the buffer 300 is initialized. Initialization of the bi-directional buffer is achieved by powering on the buffer 300 and asserting the master reset MRST. Then, the master reset MRST is de-asserted so that the buffer 300 can operate. With an activated buffer 300, data is sent according to the bus protocol circuit. Upon completion of the data, the buffer 300 is then de-activated.
  • For example, following an I2C bus protocol, the buffer 300 would operate as follows. However, the buffer 300 is capable of passing data for any bi-directional serial data protocol that drives logic 0 and tri-states for logic 1, and is not limited to using the I2C bus protocol described. The bus protocol for sending data provides for a start bit and a stop bit. The start bit, which initiates the transfer of data, is typically a hi to lo (1→0) transition on the data line, with the clock (of the bus) at hi. One bit of data is sent during each cycle of the clock starting with a lo to hi (0→1) transition through a hi to lo (1→0) transition and ending at the next lo to hi (0→1) transition. MCLK is used to trigger clock of the bus. Internally, the flip-flops could trigger off a different edge of MCLK, where MCLK is implemented with a different polarity, i.e., 0→1 or hi. The buffer is toggled between active/non-active throughout the transfer of data. Finally, when the data transfer is completed, there is a stop bit and data returns to hi from lo (0→1), while the other control line is hi (at 1). Then the circuit is ready for the next data stream.
  • Once initialized, the system transfers data, i.e., a 10101010 bit stream, from component to component across the buffer circuit. For example, a data stream is sent from the input Port A 420 to output Port B 520 or in the reverse. Data is sent by the following process: With each 0 of the bit stream, the buffer circuit is activated (on) or with each 1 of the bit stream, the buffer circuit is de-activated (off). Thus, in essence, only logic “0”s are sent through the buffer circuit. For example, according to the I2C and SMBUS protocols, after 8 bits of data are transferred in one direction, the receiver transfers a single logic 0 on the next cycle of the clock to acknowledge correctly receiving the data. After the acknowledgement, the original data transmitter can send more data or execute a stop bit.
  • Based on the MCLK rate and the length of the flip-flop delay chain, at the end of each transmitted logic 0 (or more precisely described, the beginning of each transmitted logic 1), there is a brief period of time during which recognition of the new logic 0 is delayed. This “delay” is equivalent to the time measured by the flip-flop delay chain (the slowest pull-up resistor rise time). During this period, logic 0 cannot be transmitted. However, this inability to transmit a logic 0 is not significant as it is triggered by the upcoming transmission of a logic 1. If a logic 0 were to be transmitted, the above time period would not be triggered as the input is already at logic 0.
  • In operation, referring to FIGS. 3 and 4, each side of the bi-directional buffer 300, i.e., I/ O pads 400, 500 and Ports A and B 420, 520, provides tri-state control through the connectivity/interaction of the various components. The bi-directional buffer 300 is first initialized by asserting master reset MRST, i.e., asserting logic 1. As a result, the output of NOR gate NR1 is logic 0, and causes inverter INV1 to drive logic 1 to the tri-state control of the output buffer OT1. Then Port B is tri-stated and allows the external pull-up resistor R2 to present logic 1 (2.5V) to the component.
  • Activation of MRST also initializes the outputs of D flip-flops DF3 and DF4 to logic 1 and causes the output of AND gate AD2 to drive logic 1. In turn, AND gate AD2 causes the output of NOR gate NR2 to drive logic 0. NOR gates NR1 and NR2 are connected in a cross-coupled fashion, which produces a latch, and each NOR gate has a single input held at logic 1 after initialization and the master reset MRST is de-asserted. After master reset MRST is de-asserted, i.e., logic 0, and the bi-directional buffer 300 is operational.
  • For exemplary purposes, activation of the bi-directional buffer 300 will be described in relation to logic 0 being externally driven on Port A. Alternatively, the bi-directional buffer 300 could be activated from a signal driven on Port B. Logic 0 is driven on Port A from a component attached to the bus (not shown). The signal passes through bonding pad 413 to an input buffer IB2 411. The buffer IB2 411 presents logic 0 to the input of NOR gate NR1. The inputs to NOR gate NR1 (from buffer IB2, MRST, and NOR gate NR2) are now logic 0 so the output of NOR gate NR1 transitions to logic 1. This logic 1 output is inverted by inverter INV1 and logic 0 is presented to the tri-state control input of output buffer OT1, which causes the output buffer OT1 to turn on and drive logic 0 through bonding pad 513 on Port B. The logic 1 output of NOR gate NR1 is also input to NOR gate NR2. There is no immediate effect because the other input to NOR gate NR2 is driven to logic 1 by the output of AND gate AD2.
  • The logic 0 from buffer 411 is also an input to AND gate AD1, which causes the output of AND gate AD1 to transition to logic 0. The output of AND gate AD1 is input to NOR gate NR4. Logic 0 on both inputs to NOR gate NR4 causes the output of NOR gate NR4 to transition to logic 1. The logic 1 output from NOR gate NR4 is input to NOR gate NR3 before the transition to logic 0 of the input from IB1 due to propagation delays through NOR gate NR1, inverter INV1, output buffer OT1, and input buffer IB1. Therefore, no change in the output of NOR gate NR3 is observed and NOR gate NR3 continues to drive logic 0. The transition of NR4 to logic 1 “Breaks” the loop through the buffer circuit 300 and prevents the buffer 300 from locking up when a logic 0 is first presented at Port A 420. Likewise, NR2 provides a similar function when logic 0 is first presented at Port B 520.
  • Also, the logic 0 from buffer 411 is presented to the D input of D-type flip-flop DF1. This occurs at the same time as the logic 0 is input to AND gate AD1. D-type flip-flops DF1 and DF2 synchronize the logic 0 from buffer 411 to the internal master clock MCLK, which provides a delayed version of the logic 0 from buffer 411 to AND gate AD1. After two clock edges of the internal master clock MCLK, both inputs to AND gate AD1 are logic 0.
  • The logic 0 output signal from output buffer OT1 is driven back into the bi-directional buffer 300 from Port B via input buffer IB1. This logic 0 is an input to NOR gate NR3, AND gate AD2, and D-type flip-flop DF3. In this case, the logic 0 has no effect on the output logic level of NOR gate NR3 because the output of NOR gate NR4 that was previously driven to logic 1 maintains the output of NOR gate NR3 at logic 0. The logic 0 input from input buffer IB1 also causes the output of AND gate AD2 to transition to logic 0, which provides a logic 0 to the input of NOR gate NR2. In this case, there is no effect on the bi-directional buffer 300 because the output of NOR gate NR1 that was previously driven to logic 1 maintains the output of NOR gate NR2 at logic 0. The logic 0 is synchronized to internal master clock MCLK in D-type flip-flops DF3 and DF4. The transition of the output of D-type flip-flop DF4 to logic 0 has no effect on the bi-directional buffer 300 because the output of AND gate AD2 is already driven to logic 0 from input buffer IB1, as discussed above.
  • To deactivate the circuit, an external source (not shown) driving logic 0 on Port A releases the node. This allows pull-up resistor R1 to pull the node to logic 1. This causes input buffer IB2 to present logic 1 to the input of NOR gate NR1 and cause the output of NOR gate NR1 to transition to logic 0. This logic 0 is inverted by inverter INV1 and logic 1 is presented to the tri-state control input of output buffer OT1, which causes the output buffer OT1 to turn off and allows pull-up resistor R2 to pull Port B to logic 1. The output logic 0 of NOR gate NR1 is input to NOR gate NR2. This causes the output of NOR gate NR2 to transition to logic 1. The output transition to logic 1 of NOR gate NR2 has no effect on NOR gate NR1 because the input of NOR gate NR1 driven by input buffer IB2 is also logic 1.
  • The transition to logic 1 of Port A is an input to AND gate AD1, which has no immediate effect. Also, the input logic 1 is presented to the D input of D-type flip-flop DF1. This occurs at the same time as logic 1 is presented to the AND gate AD1. D-type flip-flops DF1 and DF2 synchronize the input logic 1 to the internal master clock, MCLK, which provides a delayed version of the input signal to AND gate AD1. After two edges of the internal master clock MCLK, both inputs of AND gate AD1 are logic 1. This causes the output of NOR gate NR4 to transition to logic 0, and allows the output of input buffer IB1 to control the output of NOR gate NR3.
  • The pulling of Port B to logic 1 appears at the output of input buffer IB1. The logic 1 output by buffer IB1 is an input to NOR gate NR3. The output of NOR gate NR3 does not change because the input driven from NOR gate NR4 is logic 1 due to the synchronization delay in D-type flip-flops DF1 and DF2.
  • The transition to logic 1 of Port B is an input to AND gate AD2, which has no immediate effect because the other input of AND gate AD2 is logic 0 by the output Q of DF4. Also, the input logic 1 is presented to the D input of D-type flip-flop DF3. This happens at the same time as logic 1 is presented to AND gate AD2. D-type flip-flops DF3 and DF4 synchronize the input logic 1 to the internal master clock, MCLK, which provides a delayed version of the input signal to AND gate AD2. After two cycles of the internal master clock MCLK, the output Q of DF4 transitions to logic 1. Both inputs of AND gate AD2 are logic 1, which causes the output of AND gate AD2 to transition to logic 1. The transition of the output of AND gate AD2 to logic 1 is an input to NOR gate NR2. The output of NOR gate NR2 transitions to logic 0, which allows the output of input buffer IB1 to control the output of NOR gate NR3.
  • While the exemplary architecture has been described in relation to activation from Port A, alternately, the buffer can be activated from either Port A or Port B. Further, the bi-directional buffer may be implemented solely as software as well as a combination of both software and hardware, or even as hardware alone. The above description is not meant to limit the bi-directional buffer to a particular design, as many variations are possible and within the scope of the description provided thus far.
  • The present invention may include any quantity of conventional or other components having predetermined logic voltage requirements. The present invention may employ any conventional access scheme or protocol to initially access and/or transmit information. The present invention may be in the form of any type of radio unit, communications device, or other electronics device.
  • The bi-directional buffer of the present invention may be implemented by any conventional or other microprocessor, controller or circuitry to perform the functions described herein, while any quantity of processors or processing devices or circuitry may be employed within the present invention where the processor functions may be distributed in any fashion among any quantity of hardware and/or software modules, processors or other processing devices or circuits. The software of the present invention may be implemented in any suitable computer language, and could be developed by one of ordinary skill in the computer and/or programming arts based on the functional description contained herein and illustrated in the drawings. Further, any references herein of software performing various functions generally refer to processors performing those functions under software control. The software, functions, and/or algorithms described above and illustrated may be modified in any manner that accomplishes the functions described herein.
  • It is to be understood that the present invention is not limited to the applications or designs described herein.
  • While the invention has been described in detail and with reference to specific embodiments thereof, it will be apparent to one skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope thereof. For example, some or all of the subject matter may be embodied as software, hardware or a combination thereof. Accordingly, it is intended that the present invention covers the modifications and variations of this invention provided they come within the scope of the appended claims and their equivalents.

Claims (8)

1. A method of interfacing at least two components with different logic voltage requirements on a single bus without a separate directional control signal, the different logic voltage requirements having substantially different values, the method comprising:
initializing a buffering circuit including providing power to the buffering circuit and asserting a start signal;
activating the buffering circuit including de-asserting the start signal;
transferring data through the buffering circuit according to a data transfer protocol; and
deactivating the buffering circuit.
2. The method as claimed in claim 1, wherein the data transfer protocol includes a start protocol, a transfer protocol, and a stop protocol.
3. The method as claimed in claim 2, wherein the start protocol includes a start bit, the start bit indicating a beginning of a data transfer, and an internal timing signal.
4. The method as claimed in claim 3, wherein the start bit is logic 0 and the internal timing signal is a clock signal changing from logic 1 to logic 0.
5. The method as claimed in claim 2, wherein the transfer protocol includes an internal timing signal being logic 0.
6. The method as claimed in claim 2, wherein the stop protocol includes a stop bit and an internal timing signal.
7. The method as claimed in claim 6, wherein the stop bit is logic 1 and the internal timing signal is a clock signal changing from logic 0 to logic 1.
8. The method as claimed in claim 1, wherein the components are bi-directional open drain circuits.
US11/858,324 2005-05-13 2007-09-20 Method and Apparatus for Buffering Bi-Directional Open Drain Signal Lines Abandoned US20080007300A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/858,324 US20080007300A1 (en) 2005-05-13 2007-09-20 Method and Apparatus for Buffering Bi-Directional Open Drain Signal Lines

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/128,424 US7292067B2 (en) 2005-05-13 2005-05-13 Method and apparatus for buffering bi-directional open drain signal lines
US11/858,324 US20080007300A1 (en) 2005-05-13 2007-09-20 Method and Apparatus for Buffering Bi-Directional Open Drain Signal Lines

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/128,424 Division US7292067B2 (en) 2005-05-13 2005-05-13 Method and apparatus for buffering bi-directional open drain signal lines

Publications (1)

Publication Number Publication Date
US20080007300A1 true US20080007300A1 (en) 2008-01-10

Family

ID=36581126

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/128,424 Expired - Fee Related US7292067B2 (en) 2005-05-13 2005-05-13 Method and apparatus for buffering bi-directional open drain signal lines
US11/858,324 Abandoned US20080007300A1 (en) 2005-05-13 2007-09-20 Method and Apparatus for Buffering Bi-Directional Open Drain Signal Lines

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/128,424 Expired - Fee Related US7292067B2 (en) 2005-05-13 2005-05-13 Method and apparatus for buffering bi-directional open drain signal lines

Country Status (2)

Country Link
US (2) US7292067B2 (en)
GB (1) GB2427516B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100207661A1 (en) * 2007-12-17 2010-08-19 Intersil Americas Inc. Bi-directional buffer for open-drain or open-collector bus
CN105743488A (en) * 2016-01-25 2016-07-06 北京云知声信息技术有限公司 Bidirectional level conversion method and device and bidirectional level conversion circuit

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7348803B2 (en) * 2005-06-24 2008-03-25 Integrated Electronic Solutions Pty. Ltd. Bi-directional bus buffer
KR20070074086A (en) * 2006-01-06 2007-07-12 엘지전자 주식회사 Method and mobile communiation terminal for modulating volume of speaker
US20070250652A1 (en) * 2006-04-24 2007-10-25 Atmel Corporation High speed dual-wire communications device requiring no passive pullup components
US7928766B2 (en) * 2007-01-10 2011-04-19 Texas Instruments Incorporated Semi-buffered auto-direction-sensing voltage translator
US7692450B2 (en) * 2007-12-17 2010-04-06 Intersil Americas Inc. Bi-directional buffer with level shifting
US7812640B2 (en) * 2008-01-11 2010-10-12 Modu Ltd. Bridge design for SD and MMC data buses
US7639045B2 (en) * 2008-05-23 2009-12-29 Intersil Americas Inc. Bi-directional buffer and method for bi-directional buffering that reduce glitches due to feedback
US8659318B1 (en) * 2010-09-24 2014-02-25 Altera Corporation Systems and methods for implementing tristate signaling by using encapsulated unidirectional signals
US9183713B2 (en) 2011-02-22 2015-11-10 Kelly Research Corp. Perimeter security system
WO2015077936A1 (en) 2013-11-27 2015-06-04 Intel Corporation Autonomously controlling a buffer of a processor
PL412195A1 (en) * 2015-04-30 2016-11-07 Bogart Spółka Z Ograniczoną Odpowiedzialnością System for measurements of non-electric values
CN109144914A (en) * 2018-07-25 2019-01-04 郑州云海信息技术有限公司 Communication means and CPLD between a kind of storage server, mainboard and hard disk
CN109936359B (en) * 2019-02-19 2021-03-26 杭州晶华微电子股份有限公司 Low-power-consumption bidirectional digital level conversion circuit and chip

Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4695740A (en) * 1984-09-26 1987-09-22 Xilinx, Inc. Bidirectional buffer amplifier
US4835418A (en) * 1987-11-17 1989-05-30 Xilinx, Inc. Three-state bidirectional buffer
US4855619A (en) * 1987-11-17 1989-08-08 Xilinx, Inc. Buffered routing element for a user programmable logic device
US5107148A (en) * 1991-04-12 1992-04-21 Motorola, Inc. Bidirectional buffer having tri-state buffers for circuit isolation
US5214330A (en) * 1991-07-30 1993-05-25 Kabushiki Kaisha Toshiba Bi-directional signal buffering circuit
US5420696A (en) * 1993-06-24 1995-05-30 Xerox Corporation Image data transfer architecture and method for an electronic reprographic machine
US5486778A (en) * 1993-03-10 1996-01-23 Brooktree Corporation Input buffer for translating TTL levels to CMOS levels
US5517135A (en) * 1995-07-26 1996-05-14 Xilinx, Inc. Bidirectional tristate buffer with default input
US5606672A (en) * 1995-01-27 1997-02-25 Intel Corporation Method and apparatus for multiplexing signals from a bus bridge to an ISA bus interface and an ATA bus interface
US5627480A (en) * 1996-02-08 1997-05-06 Xilinx, Inc. Tristatable bidirectional buffer for tristate bus lines
US5656950A (en) * 1995-10-26 1997-08-12 Xilinx, Inc. Interconnect lines including tri-directional buffer circuits
US5790458A (en) * 1995-07-15 1998-08-04 Samsung Electronics Co., Ltd. Sense amplifier for nonvolatile semiconductor memory device
US5790526A (en) * 1991-04-29 1998-08-04 Philips Electronics North America Corporation Bi-directional signal transmission system and adapter for such a system
US5808492A (en) * 1996-03-28 1998-09-15 Industrial Technology Research Institute CMOS bidirectional buffer without enable control signal
US5870573A (en) * 1996-10-18 1999-02-09 Hewlett-Packard Company Transistor switch used to isolate bus devices and/or translate bus voltage levels
US5933614A (en) * 1996-12-31 1999-08-03 Compaq Computer Corporation Isolation of PCI and EISA masters by masking control and interrupt lines
US5941964A (en) * 1992-05-21 1999-08-24 Intel Corporation Bridge buffer management by bridge interception of synchronization events
US6038627A (en) * 1998-03-16 2000-03-14 Actel Corporation SRAM bus architecture and interconnect to an FPGA
US6046605A (en) * 1997-09-19 2000-04-04 Hewlett-Packard Company Bidirectional asynchronous open collector buffer
US6243769B1 (en) * 1997-07-18 2001-06-05 Micron Technology, Inc. Dynamic buffer allocation for a computer system
US6370593B1 (en) * 1999-02-04 2002-04-09 Micron Technology, Inc. Apparatus for multiplexing bus interfaces on a computer expansion
US6388467B1 (en) * 1999-09-30 2002-05-14 Conexant Systems, Inc. High voltage tolerant output driver for sustained tri-state signal lines
US6430637B1 (en) * 1999-02-04 2002-08-06 Micron Technology, Inc. Method for multiplexing bus interfaces on a computer expansion bus
US20030043300A1 (en) * 2001-08-28 2003-03-06 White David Glen Method and apparatus for isolating noise from a tuner in a television signal receiver
US6601118B1 (en) * 1997-07-18 2003-07-29 Micron Technology, Inc. Dynamic buffer allocation for a computer system
US6822480B1 (en) * 2003-09-02 2004-11-23 Micrel, Incorporated Bi-directional bus level translator

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2708385B1 (en) 1977-02-26 1977-12-29 Neumann Elektronik Gmbh CIRCUIT DEVICE FOR BIDIRECTIONAL, DC COUPLING OF TWO ELECTRICAL SYSTEMS WITH DIFFERENT INPUT OR OUTPUT VOLTAGE
US5428800A (en) 1991-10-30 1995-06-27 I-Cube, Inc. Input/output (I/O) bidirectional buffer for interfacing I/O ports of a field programmable interconnection device with array ports of a cross-point switch
CA2192426C (en) 1996-01-03 2000-08-01 Richard Ng Bidirectional voltage translator
GB9817193D0 (en) 1998-08-07 1998-10-07 Mitel Semiconductor Ltd Circuits for providing B1-directional data communication
US6362654B1 (en) 2000-08-17 2002-03-26 U.S. Philips Corporation Bidirectional repeater using high and low threshold detection

Patent Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4695740A (en) * 1984-09-26 1987-09-22 Xilinx, Inc. Bidirectional buffer amplifier
US4835418A (en) * 1987-11-17 1989-05-30 Xilinx, Inc. Three-state bidirectional buffer
US4855619A (en) * 1987-11-17 1989-08-08 Xilinx, Inc. Buffered routing element for a user programmable logic device
US5107148A (en) * 1991-04-12 1992-04-21 Motorola, Inc. Bidirectional buffer having tri-state buffers for circuit isolation
US5790526A (en) * 1991-04-29 1998-08-04 Philips Electronics North America Corporation Bi-directional signal transmission system and adapter for such a system
US5214330A (en) * 1991-07-30 1993-05-25 Kabushiki Kaisha Toshiba Bi-directional signal buffering circuit
US5941964A (en) * 1992-05-21 1999-08-24 Intel Corporation Bridge buffer management by bridge interception of synchronization events
US5486778A (en) * 1993-03-10 1996-01-23 Brooktree Corporation Input buffer for translating TTL levels to CMOS levels
US5602495A (en) * 1993-03-10 1997-02-11 Brooktree Corporation Apparatus for providing an output voltage with substantially identical rising and falling characteristics
US5789972A (en) * 1993-03-10 1998-08-04 Brooktree Corporation Regulated reference voltage generator having feedback to provide a stable voltage
US5420696A (en) * 1993-06-24 1995-05-30 Xerox Corporation Image data transfer architecture and method for an electronic reprographic machine
US5606672A (en) * 1995-01-27 1997-02-25 Intel Corporation Method and apparatus for multiplexing signals from a bus bridge to an ISA bus interface and an ATA bus interface
US5828854A (en) * 1995-01-27 1998-10-27 Intel Corporation Method and apparatus for multiplexing signals from a bus bridge to an ISA bus interface and an ATA bus interface
US5790458A (en) * 1995-07-15 1998-08-04 Samsung Electronics Co., Ltd. Sense amplifier for nonvolatile semiconductor memory device
US5517135A (en) * 1995-07-26 1996-05-14 Xilinx, Inc. Bidirectional tristate buffer with default input
US5656950A (en) * 1995-10-26 1997-08-12 Xilinx, Inc. Interconnect lines including tri-directional buffer circuits
US5627480A (en) * 1996-02-08 1997-05-06 Xilinx, Inc. Tristatable bidirectional buffer for tristate bus lines
US5808492A (en) * 1996-03-28 1998-09-15 Industrial Technology Research Institute CMOS bidirectional buffer without enable control signal
US5870573A (en) * 1996-10-18 1999-02-09 Hewlett-Packard Company Transistor switch used to isolate bus devices and/or translate bus voltage levels
US6081865A (en) * 1996-12-31 2000-06-27 Compaq Computer Corporation Isolation of PCI and EISA masters by masking control and interrupt lines
US5933614A (en) * 1996-12-31 1999-08-03 Compaq Computer Corporation Isolation of PCI and EISA masters by masking control and interrupt lines
US6243769B1 (en) * 1997-07-18 2001-06-05 Micron Technology, Inc. Dynamic buffer allocation for a computer system
US6601118B1 (en) * 1997-07-18 2003-07-29 Micron Technology, Inc. Dynamic buffer allocation for a computer system
US6046605A (en) * 1997-09-19 2000-04-04 Hewlett-Packard Company Bidirectional asynchronous open collector buffer
US6038627A (en) * 1998-03-16 2000-03-14 Actel Corporation SRAM bus architecture and interconnect to an FPGA
US6496887B1 (en) * 1998-03-16 2002-12-17 Actel Corporation SRAM bus architecture and interconnect to an FPGA
US6370593B1 (en) * 1999-02-04 2002-04-09 Micron Technology, Inc. Apparatus for multiplexing bus interfaces on a computer expansion
US6430637B1 (en) * 1999-02-04 2002-08-06 Micron Technology, Inc. Method for multiplexing bus interfaces on a computer expansion bus
US6388467B1 (en) * 1999-09-30 2002-05-14 Conexant Systems, Inc. High voltage tolerant output driver for sustained tri-state signal lines
US20030043300A1 (en) * 2001-08-28 2003-03-06 White David Glen Method and apparatus for isolating noise from a tuner in a television signal receiver
US6822480B1 (en) * 2003-09-02 2004-11-23 Micrel, Incorporated Bi-directional bus level translator

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100207661A1 (en) * 2007-12-17 2010-08-19 Intersil Americas Inc. Bi-directional buffer for open-drain or open-collector bus
US7852120B2 (en) * 2007-12-17 2010-12-14 Intersil Americas Inc. Bi-directional buffer for open-drain or open-collector bus
CN105743488A (en) * 2016-01-25 2016-07-06 北京云知声信息技术有限公司 Bidirectional level conversion method and device and bidirectional level conversion circuit

Also Published As

Publication number Publication date
GB0608047D0 (en) 2006-05-31
US20060267632A1 (en) 2006-11-30
GB2427516B (en) 2009-05-06
US7292067B2 (en) 2007-11-06
GB2427516A (en) 2006-12-27

Similar Documents

Publication Publication Date Title
US7292067B2 (en) Method and apparatus for buffering bi-directional open drain signal lines
TWI536776B (en) Usb isolator integrated circuit with usb 2.0 high speed mode and automatic speed detection
TWI411956B (en) Sending and/or receiving serial data with bit timing and parallel data conversion
US9348781B2 (en) Device disconnect detection
KR101441028B1 (en) Low power serdes architecture using serial i/o burst gating
US9239810B2 (en) Low power universal serial bus
US9563398B2 (en) Impedance-based flow control for a two-wire interface system with variable frame length
US20140006653A1 (en) Device connect detection
WO2007113766A2 (en) Method and system for i2c clock generation
KR20080007506A (en) Latency insensitive fifo signaling protocol
US8443125B2 (en) Single pin read-write method and interface
US7089467B2 (en) Asynchronous debug interface
US20050219083A1 (en) Architecture for bidirectional serializers and deserializer
WO2017171997A1 (en) A method, apparatus and system for communicating between multiple protocols
EP1150466A2 (en) Halting data strobes on a source synchronous link and utilization of same to debug data capture problems
US6757347B1 (en) Source synchronous link with data and clock signals having the same electrical characteristics
WO2021150653A1 (en) Eusb2 to usb 2.0 data transmission with surplus sync bits
US7817674B2 (en) Output clock adjustment for a digital I/O between physical layer device and media access controller
JP3246443B2 (en) Synchronous buffer circuit and data transmission circuit using the same
KR20230167849A (en) Semiconductor Device and Semiconductor System Capable of Operating Stably at Low Power
CN112486883A (en) Single wire read-write communication system and method
JPS63234757A (en) Serial communication system
JP2002190838A (en) Serial data transfer method and system
KR20130085700A (en) Serdes for high speed interface

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION