Full-Duplex SPI Driver With IRQ-Ready Payload Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing SPI communication protocols are susceptible to data loss due to peripheral devices with limited resources and processing delays, leading to inefficiencies and wasted bandwidth, even when the peripheral device is ready to receive data.

Innovation Solution

Redefine the interrupt signal (IRQ) to function as a READY signal during certain transmission phases, allowing the peripheral device to process headers and configure DMA controllers before sending payloads, ensuring synchronization and eliminating data loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the host transmits the payload immediately after the header, then the transmission speed is improved, but data loss occurs when the peripheral device is not ready

Engineering Contradiction:
Improvetransmission speedVSAvoiddata integrity
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The peripheral device performs preliminary actions (processing the header, configuring the DMA controller) before the host transmits the payload. The host waits for a ready signal from the peripheral device, ensuring the peripheral is prepared to receive data without requiring the host to introduce delays.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the driver introduces a delay after transmitting the header, then data loss is prevented, but bandwidth is wasted and transmission efficiency decreases

Engineering Contradiction:
Improvedata integrityVSAvoidtransmission efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

A feedback mechanism is implemented where the peripheral device sends a ready signal to the host when it is prepared to receive the payload. This eliminates the need for fixed delays in the host driver, as the host transmits only when the peripheral device indicates readiness, preventing data loss without wasting bandwidth.

Inventive Principle:
Principle #23Feedback

3Productivity

If the peripheral device processes the header quickly, then transmission efficiency is improved, but data loss occurs if the processor is servicing higher priority tasks

Engineering Contradiction:
Improveprocessing speedVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The peripheral device autonomously monitors its own readiness state and signals to the host when it is prepared to receive the payload. This self-service approach allows the peripheral device to manage its own processing schedule without requiring the host to introduce delays, ensuring data integrity while maintaining efficiency.

Inventive Principle:
Principle #25Self-service

4Adaptability or versatility

If the IRQ signal is used only as an interrupt signal, then the original function is preserved, but synchronization capability during transmission is limited

Engineering Contradiction:
Improvesignal functionalityVSAvoidsignal protocol complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The IRQ signal is designed to serve multiple functions: it acts as an interrupt signal when not asserted and as a ready signal when asserted during transmission. This multi-functionality enables the peripheral device to indicate its readiness state without requiring additional dedicated signals, maintaining simplicity while enhancing synchronization capability.

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

Data Source

PatentUS12411797B2Interrupt latency and error resilient full-duplex SPI driver
Publication Date: 2025.09.09 SILICON LABORATORIES INC
  • US12411797B2 patent drawing
  • US12411797B2 patent drawing
  • US12411797B2 patent drawing

AI summary

A system and method of transmitting data between a host and a peripheral device using Serial Peripheral Interface protocol is disclosed. The host and peripheral device redefine the interrupt signal so that it serves as a traditional interrupt signal during most times, but during certain parts of the transmission, it serves as a READY signal, indicating that the host should wait before sending the payload. In this way, transmissions are performed where the likelihood of data loss is greatly reduced or eliminated. Further, because the peripheral device is able to stall the host, full duplex transmissions are made possible.