I2C Bus Protection Circuit for Stuck-Device Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face inefficiencies in identifying and resolving stuck I2C bus issues, requiring significant hardware and software resources, time, and human intervention, which disrupt communication and occupy valuable PCB space.

Innovation Solution

A protection circuit that monitors the data and clock lines of an I2C bus, detects a stuck-low condition, and automatically disconnects the faulty device, sending clock pulses to clear the fault, allowing other devices to resume communication without manual intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If discrete hardware and software solutions are used to disconnect each card one at a time to isolate a fault, then the stuck bus fault can be identified and resolved, but significant PCB space and dedicated connector pins are required

Engineering Contradiction:
Improvefault isolation capabilityVSAvoidcircuitry and PCB space
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent combines the fault detection logic, disconnection control, and bus monitoring functions into a single integrated protection circuit that interfaces with the I2C bus. This merging eliminates the need for separate discrete hardware components and reduces PCB space requirements while maintaining the capability to isolate and resolve stuck bus faults automatically.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The protection circuit is designed to work with any I2C bus configuration and can handle multiple slave devices simultaneously. It provides universal fault detection and resolution capabilities across different I2C implementations without requiring dedicated hardware for each specific case, thereby reducing overall system complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If systems power cycle or use analog switches to disconnect power from specific circuits on the I2C bus, then the device holding the bus low is reset, but significant time is required and the bus cannot be used by other operative devices during this time

Engineering Contradiction:
Improvebus fault resolutionVSAvoidbus unavailability time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The protection circuit continuously monitors the I2C bus conditions in advance and detects stuck-low states before they completely disrupt communication. By detecting the fault condition early and immediately initiating the disconnection sequence, the circuit minimizes the time the bus remains unavailable to other devices.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The protection circuit automatically detects the stuck bus condition, isolates the faulty device, and restores bus functionality without requiring external intervention or prolonged power cycling. This self-service capability reduces the time the bus remains unavailable compared to manual power cycling methods.

Inventive Principle:
Principle #25Self-service

3Reliability

If cards are physically removed and reinserted to resolve stuck bus conditions, then the faulty device is reset, but significant time and human involvement are required

Engineering Contradiction:
Improvedevice reset capabilityVSAvoidmanual intervention requirement
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The protection circuit provides automatic fault detection and resolution by monitoring bus conditions, identifying stuck-low states, and executing the disconnection and restoration sequence without human intervention. This eliminates the need for manual card removal and reinsertion, significantly improving ease of operation while maintaining reliable device reset capability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The protection circuit acts as an intermediary between the I2C master and slave devices, automatically managing fault detection and resolution. It mediates the communication by detecting when a slave device holds the bus low and automatically isolating that device, replacing the need for manual physical intervention.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Loss of information

If discrete hardware is used to disconnect each card one at a time, then the faulty card can be identified, but significant circuitry and dedicated connector pins are required

Engineering Contradiction:
Improvefault identification capabilityVSAvoidhardware components
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent integrates fault detection, fault identification, and fault resolution functions into a single protection circuit that interfaces with the I2C bus. This consolidation eliminates the need for multiple discrete hardware components and dedicated connector pins while maintaining the ability to identify which card or device is causing the stuck bus condition.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The protection circuit provides universal fault identification capability that works with any I2C slave device on the bus. It can identify the faulty device through electrical monitoring of bus conditions without requiring device-specific hardware or complex discrete circuitry for each potential fault source.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7478286B2Circuit and method of detecting and resolving stuck I2C buses
Publication Date: 2009.01.13 ANALOG DEVICES INT UNLTD CO
  • US7478286B2 patent drawing
  • US7478286B2 patent drawing
  • US7478286B2 patent drawing

AI summary

A integrated circuit (IC) implementation of a protection circuit detects and resolves a fault on a bus, such as a stuck-low condition on an I2C bus. The circuit includes logic that detects a fault condition caused by the slave device, e.g. when one or both lines are low for a period longer than a timeout value in the I2C example. Upon detecting the fault condition, the logic disconnects the slave device from the data line and the clock line, for example by activation of switches incorporated in the IC. This typically frees the bus for use by other devices. The logic may also send the slave device one or more clock signals to clear the fault and/or a stop bit when the fault clears to reset the data register in the slave device.