I2C Slave Address Programming via Memory Overwrite

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The I2C bus addressing scheme limits the number of identical slave devices that can be supported without contention, typically to four, due to the limited number of user-configurable address bits, leading to increased costs and complexity when trying to address more devices using additional address pins or dedicated multiplexers.

Innovation Solution

A method and system where a master device provides unique device addresses to multiple slave devices of the same type by placing them in an address-programming state, allowing each to overwrite its default address, enabling multiple instances of the same type of slave device to be uniquely addressed on an I2C bus without the need for additional pins or complex multiplexers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If additional address pins are included on slave devices to support more identical devices, then the number of addressable devices increases, but the device cost increases

Engineering Contradiction:
Improvenumber of addressable devicesVSAvoiddevice cost
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

Solution Approach 1:

The patent changes the address parameter from fixed hardware pins to dynamically configurable values stored in memory. The slave device reads a unique identifier from memory during initialization, allowing the same hardware design to support multiple identical devices without adding physical address pins.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent uses a copy of the device identifier stored in memory as the address parameter. Instead of using physical address pins, the system reads a copied identifier value from memory during device initialization, enabling software-based address assignment that avoids additional hardware costs.

Inventive Principle:
Principle #26Copying

2Quantity of substance

If a dedicated I2C multiplexer is used to break the system into sub-branches, then more devices can be addressed, but the system complexity and cost increase due to additional clock and data lines

Engineering Contradiction:
Improvenumber of addressable devicesVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent makes the existing I2C bus universal by enabling it to address multiple identical devices through software configuration rather than requiring separate physical bus branches. The same single I2C bus can dynamically assign unique addresses to any number of slave devices, eliminating the need for dedicated multiplexers and additional bus infrastructure.

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

Solution Approach 2:

The patent introduces a software intermediary (address assignment protocol) that mediates between the master device and multiple slave devices on the same bus. This software layer dynamically assigns unique addresses during initialization, avoiding the need for hardware intermediaries like multiplexers that would add physical complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If a dedicated I2C multiplexer is used to address more devices, then the number of addressable devices increases, but the system cost increases

Engineering Contradiction:
Improvenumber of addressable devicesVSAvoidsystem cost
Core Design Contradiction:
Quantity of substanceVSEase of manufacture

Solution Approach 1:

The patent changes the address parameter from fixed hardware pins to dynamically configurable values stored in memory. The slave device reads a unique identifier from memory during initialization, allowing the same hardware design to support multiple identical devices without adding physical address pins.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent uses a copy of the device identifier stored in memory as the address parameter. Instead of using physical address pins, the system reads a copied identifier value from memory during device initialization, enabling software-based address assignment that avoids additional hardware costs.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7694050B1Method and system for addressing multiple instances of a same type of device on a bus
Publication Date: 2010.04.06 NAT SEMICON CORP
  • US7694050B1 patent drawing
  • US7694050B1 patent drawing
  • US7694050B1 patent drawing

AI summary

A method for addressing multiple instances of a same type of slave device on a bus is provided that includes receiving a plurality of unique device addresses at each of the slave devices and overwriting a default device address in each of the slave devices with a different one of the unique device addresses.