WO2011106016A1 - Restoring stability to an unstable bus - Google Patents

Restoring stability to an unstable bus Download PDF

Info

Publication number
WO2011106016A1
WO2011106016A1 PCT/US2010/025602 US2010025602W WO2011106016A1 WO 2011106016 A1 WO2011106016 A1 WO 2011106016A1 US 2010025602 W US2010025602 W US 2010025602W WO 2011106016 A1 WO2011106016 A1 WO 2011106016A1
Authority
WO
WIPO (PCT)
Prior art keywords
bus
logic
slave device
bit
clock line
Prior art date
Application number
PCT/US2010/025602
Other languages
French (fr)
Inventor
Mike Erickson
David Maciorowski
Original Assignee
Hewlett-Packard Development Company, L.P.
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 Hewlett-Packard Development Company, L.P. filed Critical Hewlett-Packard Development Company, L.P.
Priority to CN201080064762.8A priority Critical patent/CN102770851B/en
Priority to US13/387,186 priority patent/US8799545B2/en
Priority to PCT/US2010/025602 priority patent/WO2011106016A1/en
Priority to GB1202059.0A priority patent/GB2485095A/en
Priority to DE112010003368T priority patent/DE112010003368T5/en
Publication of WO2011106016A1 publication Critical patent/WO2011106016A1/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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • 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/405Coupling between buses using bus bridges where the bridge performs a synchronising function

Definitions

  • Figure 1 is a system-level block diagram showing a bus master and various slave devices coupled by way of an intervening inter-integrated circuit (I2C) bus according to an embodiment of the invention.
  • I2C inter-integrated circuit
  • Figure 2 shows the relative timing between clock cycles and data words being transmitted by the bus according to an embodiment of the invention.
  • Figures 3a and 3b show the signal levels as a function of time on the clock and data lines during the start and stop sequence that initiate and terminate data transmission along the bus shown in Figure 1.
  • Figure 4 is a flowchart for a method of restoring stability to an unstable bus according to an embodiment of the invention.
  • Figure 5 is a representation of a logic module used to restore stability to an unstable bus according to an embodiment of the invention. Description of the Embodiments
  • a method and logic module for restoring stability to an unstable computer data bus can be used in many computing environments to quickly regain control of the data bus using a minimum of hardware and software resources.
  • Embodiments of the invention may be especially useful in high-availability computing systems in which any downtime can significantly impact the processing functions of other computing resources that depend on the outputs of the high-availability computing system.
  • FIG. 1 is a system-level block diagram showing a bus master and various slave devices coupled by way of an intervening inter-integrated circuit (I2C) bus (20) according to an embodiment of the invention.
  • bus master 10 communicates with slave devices 30, 0, and 100 by way of bus 20.
  • slave devices 30, 0, and 100 are shown the figure, embodiments of the invention may include as few as one slave device or may perhaps include 10 or more slave devices.
  • Other embodiments of the invention may also include a multiplexer placed between inter-integrated circuit bus 20 and an additional set (consisting of perhaps 10 or more) slave devices that communicate with bus 20 through the multiplexer. This implies that bus master 0 may communicate with perhaps as many as 50 to 100 (or more) slave devices that are either directly interfaced to inter-integrated circuit bus 20 or indirectly interfaced to bus 20 by way of an intervening multiplexer.
  • the bus architecture of the example of Figure 1 includes pull-up resistors R1 and R2, which are interfaced to a 3.3 Volt DC source.
  • the bus master momentarily provides a signal ground to clock line 22 of inter-integrated circuit bus 20.
  • bus master 20 provides the signal ground to clock line 22 at a rate of 100 kHz or perhaps 400 kHz.
  • the bus master provides a signal ground to data line 24.
  • Figure 2 shows the relative timing between clock cycles and data words being transmitted by the bus according to an embodiment of the invention, in Figure 2, it can be seen that eight data bits are present on data Hne 24 followed by an acknowledge (ACK) bit at period 9. It can also be seen that each data bit present on data line 24 occurs in lockstep with a clock cycle of clock line 22. In Figure 2, data bits are placed on the data line starting with the most significant bit with the transmission of each eight-bit data word beginning while clock line 22 is pulled low.
  • ACK acknowledge
  • Figures 3a and 3b show the signal levels as a function of time on the clock (22) and data (24) lines during the start and stop sequences (or bits) that initiate and terminate data transmission along bus 20 of Figure 1.
  • start sequence 200 and stop sequence 210 occur when data line 24 changes state while clock line 22 is pulled high.
  • clock line 22 is high
  • transitioning data line 24 from a high state to a low state indicates start sequence 200.
  • stop sequence 210 is initiated when data line 24 is pulled from low to high while clock line 22 is in a high state
  • these start and stop sequences (or Start and Stop bits) are initiated by bus master 10 of Figure 1 when the bus master seeks to start or stop data transmission with each of the slave devices interfaced to inter-integrated circuit bus 20.
  • bus master 10 can no longer communicate with any of slave devices 30, 40, and 100.
  • bus master 10 may transmit an 8-bit word plus the acknowledge bit; however, due to the timing misalignment between clock line 22 and data line 24, the intended recipient (i.e. one of slave devices 30, 40, and 100) does not correctly identify the ninth bit as being an acknowledge bit. This, in turn, can cause bus master 10 to proceed to its next task under the erroneous assumption that the slave device has received the data word and is now operating according the data encoded in the received word.
  • Figure 4 is a flowchart for a method of restoring stability to an unstable bus according to an embodiment of the invention.
  • the method of Figure 4 may be performed by bus master 10 of Figures 1 and 5, although other combinations of hardware and software could be used to perform the method.
  • the embodiment of Figure 4 begins at step 300 in which a bus master detects communications errors on a data bus. These errors may be detected by analyzing the timing between dock and data lines or may be detected by analyzing the actual data words present on the data bus.
  • a bus master is placed into a repair mode.
  • the normal operations of the bus master are momentarily suspended so that the unstable bus can be restored to norma! operation.
  • the bus master first proceeds under the assumption that the data bus is operating in a read mode in which data is being transmitted from a slave device to be read in by the bus master.
  • step 320 is performed in which the bus master cycles the clock line (such as clock line 22 of the Figure 1) nine times in succession.
  • step 330 a stop bit is transmitted by the bus master.
  • step 330 the method proceeds to step 340 under the assumption that the instability to the data bus occurred while the data bus was operating in a write mode in which data was being transferred from the bus master to one or more slave devices.
  • step 340 is performed in which the clock line is momentarily driven low, then released.
  • the bus master waits to determine if an acknowledge bit has been received from the slave. If. at step 350, an acknowledge bit has not been received, the method returns to step 340 in which the clock line is driven tow a second time then released.
  • Step 340 and step 350 are performed up to nine times so long as an acknowledge bit has not been received from one or more slave devices transmitting on the data bus.
  • step 360 is performed in which the bus master immediately transmits a stop bit to the one or more slave devices.
  • step 370 is performed in which bus operation is returned to normal.
  • a method for restoring stability to an unstable bus may include the steps of cycling a clock line of the bus a number of times (step 320), transmitting a stop bit (step 330), cycling a clock line of the bus at least one time (step 340), and transmitting a stop bit immediately after an acknowledgment bit has been received by a bus master (step 350).
  • Figure 5 is a logic module for restoring stability to an unstable bus according to an embodiment of the invention.
  • the logic module of Figure 5 is shown as being perhaps integral to bus master 10, but may also be implemented by way of a field programmable gate array (FPGA), state machine, or other device that is separate and distinct from bus master 10.
  • the logic module of Figure 5 includes logic for detecting a communications error (410), logic for stabilizing a slave device operating in a read mode (420), and logic for stabilizing a slave device operating in a write mode (430).
  • the logic for stabilizing a slave device operating in a read mode includes logic for transmitting nine clock cycles followed by a stop bit.
  • the logic module for stabilizing a slave device operating in a write mode includes logic for momentarily driving a dock line low, then releasing the clock line until an acknowledge bit has been received, if an acknowledgment bit has not been received, the clock line is driven low and released in a repetitive manner until an acknowledge bit has been received from the one or more slave devices. At such time that an acknowledge bit has been received from the one or more slave devices, the data bus is returned to its normal operating state.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)
  • Dc Digital Transmission (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A method for restoring stability to an unstable bus includes cycling a clock of the bus a number of times, transmitting a stop bit, cycling a clock line of the bus at least one time and transmitting a stop bit immediately after an acknowledgment bit has been received by a bus master.

Description

Restoring Stability to an Unstable Bus
Background
[001] When designing high-availability computing systems, a premium is placed on providing fault-recovery mechanisms that can quickly regain full system performance with minimal downtime. For cost reasons, additional hardware and software specifically needed to perform fault recovery tasks should be reduced to a bare minimum.
Brief Description of the Drawings
[002] Figure 1 is a system-level block diagram showing a bus master and various slave devices coupled by way of an intervening inter-integrated circuit (I2C) bus according to an embodiment of the invention.
[003] Figure 2 shows the relative timing between clock cycles and data words being transmitted by the bus according to an embodiment of the invention.
[004] Figures 3a and 3b show the signal levels as a function of time on the clock and data lines during the start and stop sequence that initiate and terminate data transmission along the bus shown in Figure 1.
[005] Figure 4 is a flowchart for a method of restoring stability to an unstable bus according to an embodiment of the invention.
[006] Figure 5 is a representation of a logic module used to restore stability to an unstable bus according to an embodiment of the invention. Description of the Embodiments
[007] A method and logic module for restoring stability to an unstable computer data bus can be used in many computing environments to quickly regain control of the data bus using a minimum of hardware and software resources.
Embodiments of the invention may be especially useful in high-availability computing systems in which any downtime can significantly impact the processing functions of other computing resources that depend on the outputs of the high-availability computing system.
[008] Figure 1 is a system-level block diagram showing a bus master and various slave devices coupled by way of an intervening inter-integrated circuit (I2C) bus (20) according to an embodiment of the invention. In Figure 1 , bus master 10 communicates with slave devices 30, 0, and 100 by way of bus 20. Although only three slave devices (30, 40, and 100) are shown the figure, embodiments of the invention may include as few as one slave device or may perhaps include 10 or more slave devices. Other embodiments of the invention may also include a multiplexer placed between inter-integrated circuit bus 20 and an additional set (consisting of perhaps 10 or more) slave devices that communicate with bus 20 through the multiplexer. This implies that bus master 0 may communicate with perhaps as many as 50 to 100 (or more) slave devices that are either directly interfaced to inter-integrated circuit bus 20 or indirectly interfaced to bus 20 by way of an intervening multiplexer.
[009] The bus architecture of the example of Figure 1 includes pull-up resistors R1 and R2, which are interfaced to a 3.3 Volt DC source. To bring about a clock cycle, the bus master momentarily provides a signal ground to clock line 22 of inter-integrated circuit bus 20. In accordance with an inter-integrated circuit bus specification, bus master 20 provides the signal ground to clock line 22 at a rate of 100 kHz or perhaps 400 kHz. To bring about data transmissions from bus master 10 to one or more of the slave devices interfaced to bus 20, the bus master provides a signal ground to data line 24. These modulations in the voltage present on bus 20 are sensed by each slave device and cause the slave devices to interpret the modulations as either a binary 1 or a binary 0.
[0010] Figure 2 shows the relative timing between clock cycles and data words being transmitted by the bus according to an embodiment of the invention, in Figure 2, it can be seen that eight data bits are present on data Hne 24 followed by an acknowledge (ACK) bit at period 9. It can also be seen that each data bit present on data line 24 occurs in lockstep with a clock cycle of clock line 22. In Figure 2, data bits are placed on the data line starting with the most significant bit with the transmission of each eight-bit data word beginning while clock line 22 is pulled low.
[0011] Figures 3a and 3b show the signal levels as a function of time on the clock (22) and data (24) lines during the start and stop sequences (or bits) that initiate and terminate data transmission along bus 20 of Figure 1. In contrast to the alignment of data and acknowledge bits 1-9 with the cycles of clock line 22 of Figure 2, start sequence 200 and stop sequence 210 occur when data line 24 changes state while clock line 22 is pulled high. Thus, in Figure 3a, while clock line 22 is high, transitioning data line 24 from a high state to a low state indicates start sequence 200. In Figure 3b, stop sequence 210 is initiated when data line 24 is pulled from low to high while clock line 22 is in a high state, in embodiments of the invention described herein, these start and stop sequences (or Start and Stop bits) are initiated by bus master 10 of Figure 1 when the bus master seeks to start or stop data transmission with each of the slave devices interfaced to inter-integrated circuit bus 20.
[0012] Returning now to Figure 2, given the alignment between cycles of clock line 22 and the data bits placed on data line 24, it can be seen that a divergence in the timing between data line 24 and clock line 22 can cause the inter- integrated circuit bus (20) to become unsynchronized. Under these circumstances, bus master 10 can no longer communicate with any of slave devices 30, 40, and 100. In one example, bus master 10 may transmit an 8-bit word plus the acknowledge bit; however, due to the timing misalignment between clock line 22 and data line 24, the intended recipient (i.e. one of slave devices 30, 40, and 100) does not correctly identify the ninth bit as being an acknowledge bit. This, in turn, can cause bus master 10 to proceed to its next task under the erroneous assumption that the slave device has received the data word and is now operating according the data encoded in the received word.
[0013] Previous attempts to correct misalignments between clock line 22 and data line 24 have involved the use of a sideband reset pin on one or more of slave devices 30, 40, and 100 under the control of a discrete output from bus master 10. Unfortunately, for reasons of cost and complexity, many slave devices do not include such a reset pin, nor do many bus masters include a discrete output that might be used to drive the reset pin. Accordingly, the use of a sideband reset pin is generally not viewed as a viable option.
[0014] Another option previously attempted to correct misalignments between clock line 22 and data line 24 is to power cycle one or more of slave devices 30, 40, and 100. However, in high-availability systems, where any system downtime is of great concern, the notion of power cycling elements interfaced to inter-integrated circuit bus 20 to correct misalignments between the clock and data line is also not viewed as a viable option.
[0015] Figure 4 is a flowchart for a method of restoring stability to an unstable bus according to an embodiment of the invention. The method of Figure 4 may be performed by bus master 10 of Figures 1 and 5, although other combinations of hardware and software could be used to perform the method. The embodiment of Figure 4 begins at step 300 in which a bus master detects communications errors on a data bus. These errors may be detected by analyzing the timing between dock and data lines or may be detected by analyzing the actual data words present on the data bus.
[0016] At step 310. a bus master is placed into a repair mode. In this step, the normal operations of the bus master are momentarily suspended so that the unstable bus can be restored to norma! operation. At this point, it is unknown as to whether the data bus is operating in a "read" mode or a "write" mode. Accordingly, the bus master first proceeds under the assumption that the data bus is operating in a read mode in which data is being transmitted from a slave device to be read in by the bus master. In accordance with assuming that the bus is operating in a read mode, step 320 is performed in which the bus master cycles the clock line (such as clock line 22 of the Figure 1) nine times in succession. As previously discussed herein, cycling the clock line nine times signals to the slave devices that a full byte of data is being transmitted along the data bus. This ensures that at some point during a byte transfer, the slave device in a read mode interprets an undriven data line as a "not acknowledged" signal, and the slave device then stops providing data and waits for a stop condition. The method then proceeds to step 330 in which a stop bit is transmitted by the bus master.
[0017] At this point, if indeed the one or more slave devices had been operating in a read mode, cycling the clock line 9 times followed by a stop bit should, at least in embodiments in which data bus 20 operates in compliance with an inter- integrated circuit bus. cause the slave device to cease transmitting data and return to an idle state.
[0018] After step 330 is performed, the method proceeds to step 340 under the assumption that the instability to the data bus occurred while the data bus was operating in a write mode in which data was being transferred from the bus master to one or more slave devices. To restore stability to the bus, step 340 is performed in which the clock line is momentarily driven low, then released. At step 350, the bus master waits to determine if an acknowledge bit has been received from the slave. If. at step 350, an acknowledge bit has not been received, the method returns to step 340 in which the clock line is driven tow a second time then released.
[0019] Step 340 and step 350 are performed up to nine times so long as an acknowledge bit has not been received from one or more slave devices transmitting on the data bus. When an acknowledge bit is received, step 360 is performed in which the bus master immediately transmits a stop bit to the one or more slave devices. At this point, step 370 is performed in which bus operation is returned to normal.
[0020] Some embodiments of the invention may not require all of the steps identified in Figure 4. For example, in some embodiments, a method for restoring stability to an unstable bus may include the steps of cycling a clock line of the bus a number of times (step 320), transmitting a stop bit (step 330), cycling a clock line of the bus at least one time (step 340), and transmitting a stop bit immediately after an acknowledgment bit has been received by a bus master (step 350).
[0021] Figure 5 is a logic module for restoring stability to an unstable bus according to an embodiment of the invention. The logic module of Figure 5 is shown as being perhaps integral to bus master 10, but may also be implemented by way of a field programmable gate array (FPGA), state machine, or other device that is separate and distinct from bus master 10. The logic module of Figure 5 includes logic for detecting a communications error (410), logic for stabilizing a slave device operating in a read mode (420), and logic for stabilizing a slave device operating in a write mode (430).
[0022] In an embodiment of the invention, logic for detecting that a
communications error has occurred on the bus includes the use of an inter- integrated circuit bus. The logic for stabilizing a slave device operating in a read mode (420) includes logic for transmitting nine clock cycles followed by a stop bit. The logic module for stabilizing a slave device operating in a write mode (430) includes logic for momentarily driving a dock line low, then releasing the clock line until an acknowledge bit has been received, if an acknowledgment bit has not been received, the clock line is driven low and released in a repetitive manner until an acknowledge bit has been received from the one or more slave devices. At such time that an acknowledge bit has been received from the one or more slave devices, the data bus is returned to its normal operating state. [0023] In conclusion, while the present invention has been particularly shown and described with reference to various embodiments, those skilled in the art will understand that many variations may be made therein without departing from the spirit and scope of the invention as defined in the following claims. This description of the invention should be understood to include the novel and non-obvious combinations of elements described herein, and claims may be presented in this or a later application to any novel and non-obvious combination of these elements. The foregoing embodiments are illustrative, and no single feature or element is essential to all possible combinations that may be claimed in this or a later application. Where the claims recite "a" or "a first" element or the equivalent thereof, such claims should be understood to include incorporation of one or more such elements, neither requiring nor excluding two or more such elements.

Claims

Claims What is claimed is:
1. A method for restoring stability to an unstable bus, comprising:
cycling a clock line of the bus a number of times;
transmitting a stop bit;
cycling a clock line of the bus at least one time; and
transmitting a stop bit immediately after an acknowledgment bit has been received by a bus master.
2. The method of claim 1 , wherein the clock line is cycled a number of times in succession without pausing to determine if one or more data bits has been received from a slave device interfaced to the bus.
3. The method of claim 1 , wherein the first cycling step includes cycling the clock line of the bus nine times.
4. The method of claim 1 , wherein the acknowledgment-bit is received from a slave device that transmits to the bus master.
5. The method of claim 1 , wherein the cycling a clock line of a bus is repeated at least a second time in the event that the acknowledgment has no Kurtz been received by the bus master.
6. The method of claim 5, wherein cycling a clock line of a bus is repeated up to a maximum of nine times in the event that the acknowledgment has not been received by the bus master.
7. The method of claim 1 , further comprising placing the bus master in a repair mode prior to the first cycling step.
8. The method of claim 7, further comprising detecting communications errors on the bus prior to the step of placing the bus master in a repair mode.
9. A logic module for restoring stability to an unstable bus, comprising:
logic for detecting that a communications error has occurred on the bus; logic for stabilizing a slave device operating in a read mode; and
logic for stabilizing the slave device operating in a write mode, wherein the stabilizing of the slave device operating in a write mode occurs after stabilizing the slave device operating in a read mode.
10. The logic module of claim 9, wherein the bus is an inter-integrated circuit (I2C) bus.
11. The logic module of claim 10, wherein the logic for stabilizing the slave device operating in a read mode includes logic for transmitting nine clock cycles followed by a stop bit
12. The logic module of claim 10, wherein the logic for stabilizing the slave device operating in a write mode further comprises logic for momentarily driving a clock line low and waiting to receive an acknowledge bit from the slave device.
13. The logic module of claim 12, wherein the logic module further comprises logic for momentarily driving the clock line low a second time and waiting to receive an acknowledge bit from the slave device rf an acknowledge bit has not already been received from the slave device.
14. The logic module of claim 12, wherein the logic module further comprises logic for transmitting a stop bit to the slave device if an acknowledge bit has been received from the slave device.
15. The logic module of claim a 10, wherein the logic module further comprises logic for determining that an acknowledge bit has been received from the one or more slave devices thereby returning the bus to a normal operating state.
PCT/US2010/025602 2010-02-26 2010-02-26 Restoring stability to an unstable bus WO2011106016A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201080064762.8A CN102770851B (en) 2010-02-26 2010-02-26 Recover the stability of unstable bus
US13/387,186 US8799545B2 (en) 2010-02-26 2010-02-26 Restoring stability to an unstable bus
PCT/US2010/025602 WO2011106016A1 (en) 2010-02-26 2010-02-26 Restoring stability to an unstable bus
GB1202059.0A GB2485095A (en) 2010-02-26 2010-02-26 Restoring stability to an unstable bus
DE112010003368T DE112010003368T5 (en) 2010-02-26 2010-02-26 Restore the stability of an unstable bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2010/025602 WO2011106016A1 (en) 2010-02-26 2010-02-26 Restoring stability to an unstable bus

Publications (1)

Publication Number Publication Date
WO2011106016A1 true WO2011106016A1 (en) 2011-09-01

Family

ID=44507129

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2010/025602 WO2011106016A1 (en) 2010-02-26 2010-02-26 Restoring stability to an unstable bus

Country Status (5)

Country Link
US (1) US8799545B2 (en)
CN (1) CN102770851B (en)
DE (1) DE112010003368T5 (en)
GB (1) GB2485095A (en)
WO (1) WO2011106016A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331196A1 (en) * 2010-02-26 2012-12-27 Mike Erickson Restoring stability to an unstable bus

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10353837B2 (en) 2013-09-09 2019-07-16 Qualcomm Incorporated Method and apparatus to enable multiple masters to operate in a single master bus architecture
US20150248373A1 (en) * 2014-02-28 2015-09-03 Qualcomm Incorporated Bit allocation over a shared bus to facilitate an error detection optimization
GB2539443B (en) * 2015-06-16 2020-02-12 Advanced Risc Mach Ltd A transmitter, a receiver, a data transfer system and a method of data transfer
KR102454973B1 (en) * 2016-01-28 2022-10-17 삼성디스플레이 주식회사 Method of recovering error in data communication, data communication system performing the same and display apparatus including the data communication system
JP6792314B2 (en) * 2016-04-22 2020-11-25 ソニーセミコンダクタソリューションズ株式会社 Communication devices, communication methods, programs, and communication systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990031462A (en) * 1997-10-11 1999-05-06 윤종용 Error Logging Circuit Operates Even When a System Error Occurs
EP1710709A2 (en) * 2005-04-08 2006-10-11 Linear Technology Corporation Circuit and method of detecting and resolving stuck 12C buses
KR20070005386A (en) * 2005-07-06 2007-01-10 주식회사 현대오토넷 Network system and method thereof using inter-integrated circuit for vehicle

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253307B1 (en) * 1989-05-04 2001-06-26 Texas Instruments Incorporated Data processing device with mask and status bits for selecting a set of status conditions
US5680151A (en) * 1990-06-12 1997-10-21 Radius Inc. Method and apparatus for transmitting video, data over a computer bus using block transfers
US5341480A (en) * 1992-04-09 1994-08-23 Apple Computer, Inc. Method and apparatus for providing a two conductor serial bus
US5473767A (en) * 1992-11-03 1995-12-05 Intel Corporation Method and apparatus for asynchronously stopping the clock in a processor
US5608883A (en) * 1993-02-01 1997-03-04 Digital Equipment Corporation Adapter for interconnecting single-ended and differential SCSI buses to prevent `busy` or `wired-or` glitches from being passed from one bus to the other
AU3313795A (en) * 1994-10-14 1996-04-26 Compaq Computer Corporation Circuit for placing a cache memory into low power mode in response to special bus cycles
GB2341468B (en) * 1994-11-09 2000-04-26 Adaptec Inc Serial port for a host adapter integrated circuit using a single terminal
US6014752A (en) * 1995-01-27 2000-01-11 Sun Mircosystems, Inc. Method and apparatus for fully controllable integrated circuit internal clock
US5941949A (en) * 1997-05-14 1999-08-24 Citrix Systems, Inc. System and method for transmitting data from a server application to more than one client node
TW432286B (en) * 1999-03-18 2001-05-01 Via Tech Inc Bus retry read method
US6256693B1 (en) * 1999-07-15 2001-07-03 3Com Corporation Master/slave data bus employing undirectional address and data lines and request/acknowledge signaling
JP2001290759A (en) * 2000-04-10 2001-10-19 Fujitsu Ltd Bus bridge and bus bridge system
US7171542B1 (en) * 2000-06-19 2007-01-30 Silicon Labs Cp, Inc. Reconfigurable interface for coupling functional input/output blocks to limited number of i/o pins
US6772254B2 (en) * 2000-06-21 2004-08-03 International Business Machines Corporation Multi-master computer system with overlapped read and write operations and scalable address pipelining
GB2364867B (en) * 2000-07-17 2003-12-10 Advanced Risc Mach Ltd A data processing apparatus and slave interface mechanism for controlling access to a slave logic unit by a plurality of master logic units
US6820179B2 (en) * 2000-12-04 2004-11-16 Hitachi Hokkai Semiconductor, Ltd. Semiconductor device and data processing system
JP4120978B2 (en) * 2001-02-27 2008-07-16 ヤマハ株式会社 Electronic musical instrument bus system
US7149838B2 (en) * 2001-05-29 2006-12-12 Sun Microsystems, Inc. Method and apparatus for configuring multiple segment wired-AND bus systems
US6957284B2 (en) * 2002-01-16 2005-10-18 Microsoft Corporation System and method for pendant bud for serially chaining multiple portable pendant peripherals
US20040230866A1 (en) * 2003-04-30 2004-11-18 Hewlett-Packard Development Company, L.P. Test system for testing components of an open architecture modular computing system
US20050268142A1 (en) * 2004-04-12 2005-12-01 Ramesh Saripalli Pipelined clock stretching circuitry and method for I2C logic system
WO2005106687A1 (en) * 2004-04-28 2005-11-10 Koninklijke Philips Electronics N.V. Circuit with asynchronous/synchronous interface
US7146551B2 (en) * 2005-01-20 2006-12-05 Hewlett-Packard Development Company, L.P. Method and system of modifying data in functional latches of a logic unit during scan chain testing thereof
JP2008539645A (en) * 2005-04-29 2008-11-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Enhanced I2C slave / master interface function using state machine
JP5239862B2 (en) * 2006-08-14 2013-07-17 日本電気株式会社 Debugger and debugging method
KR100778114B1 (en) * 2006-09-18 2007-11-21 삼성전자주식회사 Communication method to improve communication error and electron device to be applied the method
CN100561456C (en) * 2007-06-22 2009-11-18 中兴通讯股份有限公司 Realize the method that peripheral component interconnect equipment switches between main preparation system and main preparation system
US7882282B2 (en) * 2008-05-21 2011-02-01 Silicon Laboratories Inc. Controlling passthrough of communications between multiple buses
US8010818B2 (en) * 2008-05-23 2011-08-30 Texas Instruments Incorporated Power efficient method for controlling an oscillator in a low power synchronous system with an asynchronous I2C bus
US8489786B2 (en) * 2009-11-09 2013-07-16 Stmicroelectronics International N.V. Acknowledgement management technique for supported command set of SMBUS/PMBUS slave applications
DE102010005104B3 (en) * 2010-01-20 2011-07-21 Texas Instruments Deutschland GmbH, 85356 Electronic device and method for a larger address range on an IIC or an IIC compatible bus
WO2011106016A1 (en) * 2010-02-26 2011-09-01 Hewlett-Packard Development Company, L.P. Restoring stability to an unstable bus
US8667204B2 (en) * 2011-01-24 2014-03-04 Rpx Corporation Method to differentiate identical devices on a two-wire interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990031462A (en) * 1997-10-11 1999-05-06 윤종용 Error Logging Circuit Operates Even When a System Error Occurs
EP1710709A2 (en) * 2005-04-08 2006-10-11 Linear Technology Corporation Circuit and method of detecting and resolving stuck 12C buses
KR20070005386A (en) * 2005-07-06 2007-01-10 주식회사 현대오토넷 Network system and method thereof using inter-integrated circuit for vehicle

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
PHILIPS SEMICONDUCTORS CO. LTD, PCF8584 I2C- BUS CONTROLLER DATA SHEET, 31 December 1997 (1997-12-31) *
PHILIPS SEMICONDUCTORS CO. LTD, THE I2C- BUS SPECIFICATION VERSION 2.1(2000), 31 December 2000 (2000-12-31) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120331196A1 (en) * 2010-02-26 2012-12-27 Mike Erickson Restoring stability to an unstable bus
US8799545B2 (en) * 2010-02-26 2014-08-05 Hewlett-Packard Development Company, L.P. Restoring stability to an unstable bus

Also Published As

Publication number Publication date
CN102770851A (en) 2012-11-07
US20120331196A1 (en) 2012-12-27
US8799545B2 (en) 2014-08-05
DE112010003368T5 (en) 2012-06-14
GB201202059D0 (en) 2012-03-21
CN102770851B (en) 2016-01-20
GB2485095A (en) 2012-05-02

Similar Documents

Publication Publication Date Title
US8799545B2 (en) Restoring stability to an unstable bus
US20190272252A1 (en) Method of processing deadlock of i2c bus, electronic device and communication system
US20140244874A1 (en) Restoring stability to an unstable bus
US10721022B2 (en) Communication apparatus, communication method, program, and communication system
JP2008197752A (en) Data communication malfunction preventing device, electronic equipment, control method for data communication malfunction preventing device, control program for data communication malfunction preventing device and recording medium with the program recorded
US9645898B2 (en) Storage control device and control device for detecting abnormality of signal line
EP3458967B1 (en) Communication apparatus, communication method, program, and communication system
WO2012046634A1 (en) Electronic device and serial data communication method
US11023023B2 (en) Start-and-stop detecting apparatus and method for I3C bus
EP3459189B1 (en) Communication apparatus, communication method, program, and communication system
CN109075902B (en) Communication device, communication method, program, and communication system
WO2017199762A1 (en) Communication device, communication method, program, and communication system
CN112445744B (en) I2C communication
US10824582B2 (en) Communication apparatus, communication method, program, and communication system
US20060200652A1 (en) Method for Signaling of a State or of an Event
JPH05103041A (en) Data processing unit and its fault detection method

Legal Events

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

Ref document number: 201080064762.8

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10846770

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 13387186

Country of ref document: US

ENP Entry into the national phase

Ref document number: 1202059

Country of ref document: GB

Kind code of ref document: A

Free format text: PCT FILING DATE = 20100226

WWE Wipo information: entry into national phase

Ref document number: 1202059.0

Country of ref document: GB

WWE Wipo information: entry into national phase

Ref document number: 1120100033684

Country of ref document: DE

Ref document number: 112010003368

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10846770

Country of ref document: EP

Kind code of ref document: A1