I2C Slave Acknowledgement Management for Unsupported Commands

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In I2C bus configurations, there is a need for a slave device to notify a master that a received command is not supported without requiring the optional ALERT signal line, as current protocols either send a NACK or ACK, failing to indicate unsupported commands effectively.

Innovation Solution

A slave device senses transitions on the serial clock line to capture command codes and determines if they are supported; if not, it inhibits sending an acknowledgement, allowing the serial data line to remain in a logic high state, effectively indicating a NACK without the ALERT line.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the slave device sends a NACK to indicate unsupported command, then the command support status is clearly indicated, but the I2C bus configuration requires the optional ALERT signal line which increases device complexity

Engineering Contradiction:
Improvecommand support indication reliabilityVSAvoidbus configuration complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges the command support indication function with the existing I2C bus acknowledgment mechanism. Instead of using a separate ALERT signal line, the slave device conveys command support status by selectively sending NACK or ACK responses during the normal I2C communication protocol, thereby combining multiple functions into a single communication channel and reducing overall system complexity

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The acknowledgment signal (ACK/NACK) is made multi-functional by encoding both the standard receipt confirmation and the command support status within the same signal. The slave device determines whether to send ACK or NACK based on whether the received command is supported, making the acknowledgment mechanism serve dual purposes: confirming data receipt and indicating command compatibility

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

2Ease of operation

If the slave device sends ACK for all commands, then communication simplicity is maintained, but the master cannot distinguish between supported and unsupported commands

Engineering Contradiction:
Improvecommunication simplicityVSAvoidcommand support information
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The slave device provides feedback to the master about command support status by selectively generating NACK responses for unsupported commands. This feedback mechanism allows the master to immediately identify which commands are not supported without requiring separate inquiry or interpretation of additional signals, maintaining communication simplicity while preserving information integrity

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8489786B2Acknowledgement management technique for supported command set of SMBUS/PMBUS slave applications
Publication Date: 2013.07.16 STMICROELECTRONICS INT NV
  • US8489786B2 patent drawing
  • US8489786B2 patent drawing
  • US8489786B2 patent drawing

AI summary

A slave device has an input/output adapted for connection to a serial data line of an I2C bus configuration, a clock input adapted for connection to a serial clock line of the I2C bus configuration, and an interrupt input adapted for connection to the serial clock line of the I2C bus configuration. The slave device senses transitions on the serial clock line through the interrupt input to trigger capturing of a command code on serial data line through the input output. In response to receipt of the command code, the slave device controls the serial data line through the input/output to send an acknowledgement of receipt of the command code. However, if the captured command code is not recognized the slave device inhibits sending of the acknowledgement of the command code. The pull up connection on the serial data line of the I2C bus configuration will, when the slave device is inhibited from acknowledging, produce a high logic state indicative of a no acknowledgement.