Bi-directional Communication Handshaking for Microcontroller Interfaces

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current two-wire communication schemes, such as RS232, SPI, and I2C, often suffer from collisions and lack bi-directional capabilities, particularly in low-cost microcontrollers that do not have dedicated peripherals for these protocols, making it difficult to ensure that only one device initiates communication at a time.

Innovation Solution

A method and apparatus that utilize a handshaking algorithm to ensure bi-directional communication by determining the state of a signal line, driving it to an asserted state, and then ceasing to drive it, allowing the second device to acknowledge and initiate data transfer, thereby preventing collisions and enabling communication between devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If bi-directional communication is implemented using traditional protocols (RS232, SPI, I2C), then communication capability is provided, but collision risks increase and device complexity increases due to dedicated peripherals

Engineering Contradiction:
Improvebi-directional communication capabilityVSAvoidcollision risk
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by implementing a handshaking mechanism where devices check the state of a signal line before initiating communication. The first device determines if the signal line is deasserted, drives it asserted, then ceases driving and checks again before transferring data. This preliminary checking and signaling prevents collisions by ensuring the communication channel is clear before data transfer begins.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamics by allowing role reversal between devices. The same signal line and devices can switch roles dynamically - a device that was transmitting can become receiving and vice versa. This is achieved through the handshaking algorithm where either device can initiate communication by driving the signal line asserted, enabling flexible bi-directional communication without dedicated master/slave assignments.

Inventive Principle:
Principle #15Dynamics

2Reliability

If dedicated peripherals for communication protocols are used, then communication reliability is improved, but device complexity and resource usage increase

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidperipheral complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies universality by designing a communication interface that can operate in multiple modes (bi-directional communication with role reversal, or alternative communication modes) using the same hardware resources. The general-purpose I/O pins can function as communication pins with handshaking or serve other purposes, eliminating the need for dedicated communication peripherals and reducing device complexity while maintaining reliable communication.

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

Solution Approach 2:

The patent implements self-service by enabling devices to manage their own communication state through the handshaking algorithm. Each device can independently determine when to initiate communication by checking the signal line state, driving it asserted, and managing the data transfer without requiring complex dedicated communication controllers. This self-managed approach reduces peripheral complexity while ensuring reliable communication through the structured handshaking process.

Inventive Principle:
Principle #25Self-service

3Device complexity

If simple two-wire schemes are used, then device complexity is reduced, but collision risks and loss of communication control increase

Engineering Contradiction:
Improveinterface simplicityVSAvoidcommunication control
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent applies preliminary action by implementing a handshaking mechanism where devices check the state of a signal line before initiating communication. The first device determines if the signal line is deasserted, drives it asserted, then ceases driving and checks again before transferring data. This preliminary checking and signaling prevents collisions by ensuring the communication channel is clear before data transfer begins.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9880968B2Bi-directional communication between electronic components
Publication Date: 2018.01.30 KIDDE FIRE PROTECTION LLC
  • US9880968B2 patent drawing
  • US9880968B2 patent drawing
  • US9880968B2 patent drawing

AI summary

Embodiments are directed to a system comprising: a first device, and a second device coupled to the first device via an interface that provides a handshaking algorithm that ensures that only one of the first device and the second device initiates communication over the interface at a given point in time.