I2C Slave Configuration Register for Parallel Data Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for programming I2C serial bus devices are inefficient in concurrently programming multiple slave devices, as they often require sequential data loading, which increases development time and complexity.

Innovation Solution

The implementation of a programmable configuration register in each slave device allows for selectable configurations, enabling multiple slave devices to load data either in parallel or sequentially using the I2C serial bus, with the master device controlling the configuration to optimize data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If sequential data loading is used to program multiple slave devices, then device compatibility and protocol simplicity are maintained, but programming time and system complexity increase

Engineering Contradiction:
Improvedevice compatibilityVSAvoidprogramming time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The slave devices dynamically switch between sequential and parallel operating modes based on configuration register settings. The system adapts its data loading behavior from traditional sequential mode to parallel mode, allowing the same I2C protocol to support multiple programming approaches depending on the specific application requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

By modifying the configuration register parameters of slave devices, the system changes the data loading mode from sequential to parallel. This parameter change enables multiple slave devices to simultaneously load data from a single I2C data stream, dramatically reducing programming time while maintaining protocol compatibility.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If sequential programming method is used, then protocol implementation is simple, but development time and system complexity increase

Engineering Contradiction:
Improveprotocol implementation complexityVSAvoiddevelopment time
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The I2C protocol implementation is enhanced to support both traditional sequential programming and new parallel programming modes through a universal configuration mechanism. The configuration register serves multiple functions, enabling the system to adapt between different programming approaches without requiring separate protocol implementations for each mode.

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

Solution Approach 2:

The slave devices are pre-configured with selectable operating modes through configuration registers before actual data programming occurs. This preliminary configuration allows the system to quickly switch between sequential and parallel programming modes, reducing development time without complicating the core protocol implementation.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If traditional I2C programming is used for multiple slave devices, then protocol compatibility is maintained, but programming efficiency decreases

Engineering Contradiction:
Improveprotocol compatibilityVSAvoidprogramming efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system dynamically adapts the data loading approach based on configuration settings, allowing slave devices to operate in either traditional sequential mode for compatibility or parallel mode for efficiency. This dynamic behavior maintains protocol compatibility while enabling high-speed parallel programming when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

By changing the configuration register parameters of slave devices, the system transitions from traditional sequential data loading to parallel data loading mode. This parameter change enables multiple slave devices to simultaneously receive and process data from a single I2C data stream, dramatically improving programming efficiency while maintaining full protocol compatibility.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP1877915B1Programming parallel i2c slave devices from a single i2c data stream
Publication Date: 2010.11.17 NXP BV
  • EP1877915B1 patent drawingFigure 1
  • EP1877915B1 patent drawingFigure 2
  • EP1877915B1 patent drawingFigure 3

AI summary

Consistent with one example embodiment, communications systems (100,300), using a serial data transfer bus having a serial data line (110) and a clock line (120) used to implement a communications protocol, incorporate programming of parallel slave devices (320,330,340,350) concurrently using an I2C serial bus. At least two slave devices are coupled in parallel on the data transfer bus and configured to load serial data over the serial data line using the communications protocol. Each slave device includes a programmable configuration register configured to be programmed, using the communications protocol, to select one of a plurality of selectable slave device configurations. One of the selectable slave device configurations causes the at least two slave devices to load the serial data in parallel, and another of the selectable slave device configurations causes the at least two slave devices to be loaded one at a time.