SPI Daisy-Chain Bus Arbitration for Multi-Controller Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The SPI bus protocol only supports a single bus controller, making it impractical for multiple controllers to share a peripheral device, which limits the efficiency and flexibility in electronic device design.

Innovation Solution

Implementing a daisy-chain signaling arrangement using chain input and output terminals to enable multiple controllers to share an SPI bus, allowing them to access a peripheral device sequentially and avoid bus conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single SPI bus controller is used, then communication reliability is ensured, but device versatility and resource utilization are limited

Engineering Contradiction:
Improvemulti-controller access capabilityVSAvoidbus access reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

A chain enable signal acts as an intermediary mechanism between multiple controllers and the SPI bus. The signal sequentially enables different controllers to access the bus by asserting or de-asserting the chain enable input, allowing multiple controllers to share the bus while maintaining controlled access and preventing conflicts

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple controllers share the SPI bus, then device versatility improves, but bus access control complexity increases

Engineering Contradiction:
Improvemulti-controller access capabilityVSAvoidbus access control logic
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The chain enable signal dynamically changes state to control which controller has bus access. By asserting or de-asserting the signal, the system adaptively enables or disables controller access based on current operational needs, providing flexible control without complex arbitration logic

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The chain enable signal serves multiple functions: it acts as an enable signal for the SPI bus, a select mechanism for different controllers, and a control signal for bus arbitration. This multi-functional approach simplifies the overall control architecture while enabling multiple controllers to share the bus

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

3Reliability

If sequential access is implemented, then bus conflict is prevented, but access time increases

Engineering Contradiction:
Improvebus access reliabilityVSAvoidcontroller access delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The chain enable signal is asserted in advance to prepare the SPI bus for controller access. By pre-enabling the bus before data transfer begins, the system minimizes access delay while ensuring that only one controller has control at any given time, preventing conflicts without significant time loss

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12093207B2Serial peripheral interface with multi-controller daisy chain
Publication Date: 2024.09.17 CREDO TECH GRP
  • US12093207B2 patent drawing
  • US12093207B2 patent drawing
  • US12093207B2 patent drawing

AI summary

Techniques enabling multiple controllers to share a peripheral's serial interface as well as various systems and devices that may employ such techniques. One illustrative method includes configuring a controller to use an SPI (serial peripheral interface) bus for communication with a peripheral device only if a chain input terminal is asserted; and asserting a chain output terminal after the communication is complete. An illustrative system includes a peripheral device and multiple controller devices. The peripheral device has: a peripheral chip select terminal, a peripheral serial clock terminal, a peripheral controller output peripheral input (COPI) terminal, and a peripheral controller input peripheral output (CIPO) terminal. Each of the multiple controller devices has: a controller chip select terminal coupled to the peripheral chip select terminal, a controller serial clock terminal coupled to the peripheral serial clock terminal, a controller COPI terminal coupled to the peripheral COPI terminal, and a controller CIPO terminal coupled to the peripheral CIPO terminal.