This application claims the benefit, under 35 U.S.C. §365 of International Application PCT/EP2007/050261, filed Jan. 11, 2007, which was published in accordance with PCT Article 21(2) on Aug. 2, 2007 in English and which claims the benefit of German patent application No. 10 2006 004 346.4, filed Jan. 30, 2006.
The invention relates to a data bus interface, in particular to an interface for an I2C- or Inter IC bus in which the clock signal is interruptible.
Data bus interfaces like the above mentioned I2C bus are known as the industry standard and used in great numbers. The I2C bus is specified as an asynchronous data bus in which one data line and one clock line are sufficient for the transmission of data. The beginning and the end of a data transmission is indicated by corresponding states on the data and the clock line. The data transmission of individual bits is performed with each respective clock cycle on the clock line, the clock rate being specified by the device which initiated the data transmission. Thus, it can happen that the data clock is not synchronous with a clock existing at the receiver. This type of interface therefore is also called an asynchronous interface.
Today, digital integrated circuits are usually produced by means of integrated design tools, with existing blocks for different functions being imported from libraries and connected. Since these design tools are exclusively conceived for the implementation of synchronous logic, the integration of asynchronous functions—like the above mentioned asynchronous data interface—is not possible within the established tool flow. In the accordingly necessary implementation without tool support, problems may arise for the timing of the asynchronous data interface itself and also in connection with the rest of the integrated circuit. To ensure safe operation of the integrated circuit—despite these timing problems—considerable design efforts would be required which is undesirable. In order to be able to still use an asynchronous data interface, function blocks are available in the libraries which emulate the asynchronous data interface by means of a synchronous architecture. When receiving asynchronously transmitted data, the states on the clock and data lines are sampled by means of oversampling at a multiple of the data rate. The asynchronous signal can then be determined from the multiplicity of sampling values.
In such a synchronous integrated circuit, a plurality of elements is each simultaneously switched with the system clock. The resulting current flow generates so-called digital noise over a large frequency range and, moreover, increases the power consumption of the circuit even if the corresponding circuitry part is not in use.
In integrated circuits—in particular in those circuits which have to process RF signals at low levels—it is desirable to avoid any interference of the useful signals by other signals. These other signals can also be clock signals which are required for the operation of the integrated circuit. It is thus common to apply clock signals only to those circuitry parts which must be active to perform the function of the integrated circuit. It frequently happens that a circuit is only addressed via an interface after switching on or when parameters must be changed. Most of the time, the interface is not required to be active. In that case, the clock for the interface can be switched off if not used for communication. However, special precautions must be taken to be able to detect an externally initiated connection setup so that no parts of the transmitted data get lost while the interface is not yet ready to receive the data.
It is, therefore, desirable to present a circuit which only provides the clock required for the operation of an interface if the interface is actually used for communication. It is furthermore desirable that this circuit comprises only few components and can thus be implemented manually without tool support and without major design efforts.
The circuit presented in claim 1 provides the desired function. Advantageous embodiments and further developments are indicated in the sub-claims.
The data bus interface comprises a clock and a data line in which the beginning and the end of a data transmission, respectively, is indicated via unique combinations of states on the clock and data line. Moreover, an interface circuit is provided which ascertains, in the receiving mode, the states on the clock and the data line by scanning at a multiple of the data rate and outputs the transmitted data. A control circuit is provided to detect beginning and end of the data transmission, wherein after detecting beginning of a data transmission, the control circuit applies to the interface circuit a clock which is required for the operation of the interface circuit. After detecting the end of a data transmission, the control circuit interrupts the clock required for the operation of the interface circuit.
The control circuit is preferably designed as a state machine which reacts, without needing clock signals, to the states on the clock and data line.
The circuit according to the invention includes a control block and a logic AND gate. Depending on a control signal issued by the control block, the logic AND gate transmits to the interface circuit the clock required for the operation of the interface. Furthermore, the data and clock line of the interface are supplied to the control block. The control block can furthermore be supplied with the clock line and a reset line. The reset line is used to set the circuit into a defined state. During operation, the control block continuously monitors the data and clock line of the interface. When an external device connected to the interface indicates a data transmission on the interface, the control block applies a control signal to the logic AND gate which thereupon transmits the clock—which is also applied to the gate—to the interface circuit. After the data transmission is terminated, the clock for the interface circuit is shut off again by the control signal. In one embodiment of the circuit according to the invention, the control block transmits a control signal to the interface circuit which effects a reset of the interface circuit into a defined state. The control signal can be the same signal which is supplied to the logic AND gate. The control block ensures that the interface circuit is supplied with the clock required for operation for as long as the data transmission will take. In this case, the control block detects beginning and end of the data transmission. The interface circuit only needs to receive and acknowledge the transmitted data.
A method according to the invention for controlling a data bus interface with a clock and a data line (SCL, SDA) includes the steps of detecting beginning of a data transmission and applying a clock signal to receiving and transmitting circuitry upon detecting beginning of a data transmission. Once the data transmission is initiated and running, termination of the data transmission is detected. Upon detection of termination of the data transmission the clock signal is removed from receiving and transmitting circuitry. In one embodiment, detecting beginning and termination of a data transmission includes monitoring logic states or state transitions of a data and/or clock line. In one embodiment applying and removing a clock signal includes controlling a switch or multiplexer that conducts or interrupts the clock signal. The switch may also include a logic AND-gate or a logic OR-gate, or other suitable logic gates.
The invention is described below with reference to the drawing. In the drawing
In the Figures, identical or similar elements are provided with the same reference symbols.
The table below presents the different states of the state machine and the corresponding logic levels at the outputs q0, q1 and q2.
When considering the coding of the different states, it is conspicuous that, for a transition from state c to state d, only the output q2 needs to change. Outputs q0 and q1 remain unchanged. This coding of the states allows to generate a clean trigger pulse since missing pulses—due to run-time differences between several relevant signals—cannot occur in this transition. Furthermore, the selection of the state coding as well as the design of the circuit ensures that the state c cannot even unintentionally be reached through transient changes of states within the circuit.
After state d has been reached, it will be begun to transmit data on the I2C bus. The transmission begins with the signal SCL assuming a logical low level. The state machine thereupon changes to state e. According to the I2C bus specification, the signal SDA may only change its logic level during the data transmission when the signal SCL has a logic low level. Depending on the transmitted data, the state machine assumes the states d, e, f and a. States d and e occur when a 0 (zero) is transmitted. States f and a occur when a 1 (one) is transmitted. As is evident in the state diagram in
As shown in
Number | Date | Country | Kind |
---|---|---|---|
10 2006 004 346 | Jan 2006 | DE | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP2007/050261 | 1/11/2007 | WO | 00 | 7/28/2008 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2007/085532 | 8/2/2007 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4545030 | Kitchin | Oct 1985 | A |
5155840 | Niijima | Oct 1992 | A |
5457660 | Ito | Oct 1995 | A |
5598112 | Phillips | Jan 1997 | A |
5878234 | Dutkiewicz et al. | Mar 1999 | A |
5903737 | Han | May 1999 | A |
6032178 | Bacigalupo | Feb 2000 | A |
6049883 | Tjandrasuwita | Apr 2000 | A |
6112072 | Stiegler | Aug 2000 | A |
6232820 | Long et al. | May 2001 | B1 |
6246264 | Johnson | Jun 2001 | B1 |
6530029 | Metchev | Mar 2003 | B1 |
6745337 | Trivedi et al. | Jun 2004 | B1 |
6799233 | Deshpande et al. | Sep 2004 | B1 |
6920572 | Nguyen et al. | Jul 2005 | B2 |
6968472 | Fernald | Nov 2005 | B2 |
7010709 | Nakatsuhama et al. | Mar 2006 | B2 |
7069359 | Nishimoto | Jun 2006 | B1 |
7174473 | Musumeci et al. | Feb 2007 | B2 |
20010022824 | Araki | Sep 2001 | A1 |
20030107909 | Nakamura | Jun 2003 | A1 |
20050256986 | Kim et al. | Nov 2005 | A1 |
20070074059 | Abernathy et al. | Mar 2007 | A1 |
Number | Date | Country |
---|---|---|
19642265 | Oct 1996 | DE |
19642265 | Jan 1998 | DE |
102005041895 | Mar 2007 | DE |
102005041895 | Sep 2007 | DE |
0929041 | Jul 1999 | EP |
0929041 | Jul 1999 | EP |
0977125 | Feb 2000 | EP |
2246687 | Feb 1992 | GB |
2313987 | Dec 1997 | GB |
Number | Date | Country | |
---|---|---|---|
20090024781 A1 | Jan 2009 | US |