SPI Bus Dynamic Reconfiguration for Scalable Slave Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

SPI serial peripheral interface data buses face limitations in scalability, efficiency, and flexibility due to fixed configurations, where slave devices must remain active during communication and the chain is static, and the number of pins required increases significantly with the number of slaves, making dynamic reconfiguration challenging.

Innovation Solution

A communication method that dynamically adjusts between serial and parallel configurations using a selection channel and a transmission channel, allowing for end-of-chain detection and enabling dynamic addition or removal of slave devices during communication, optimizing clock frequency, and reducing the number of wires required to six, while maintaining compatibility with existing SPI protocols.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If parallel SPI configuration is used to optimize clock frequency for each slave device, then communication efficiency improves, but the number of pins required increases significantly

Engineering Contradiction:
Improvecommunication efficiencyVSAvoidnumber of pins
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The invention segments the communication function into two distinct channels: a selection channel for addressing slave devices and a transmission channel for data transfer. This segmentation allows the system to maintain parallel communication capabilities while reducing pin requirements, as the selection channel can reuse existing SPI pins rather than requiring dedicated pins for each slave device.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention makes the SPI bus pins multi-functional by using them for both selection and transmission purposes. The same MOSI and MISO pins are used for both addressing slaves on the selection channel and data transfer on the transmission channel, eliminating the need for separate dedicated pins for each function and each slave device.

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

2Device complexity

If serial SPI configuration is used to reduce pin count, then device complexity reduces, but communication efficiency decreases due to fixed configuration

Engineering Contradiction:
Improvepin countVSAvoidcommunication efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The invention introduces dynamic reconfiguration capability where the SPI bus can switch between serial selection mode and parallel transmission mode. The system dynamically assigns slaves to the transmission channel based on selection commands, allowing the configuration to adapt to different communication needs rather than being fixed in advance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention adds a temporal dimension to the communication protocol by implementing distinct phases (selection phase and transmission phase) within the same physical channel. This allows the system to achieve parallel communication efficiency without requiring simultaneous physical parallel connections for all slaves.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Device complexity

If static SPI chain configuration is used, then device complexity is reduced, but adaptability decreases as the chain cannot be dynamically expanded

Engineering Contradiction:
Improveconfiguration simplicityVSAvoiddynamic expansion capability
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The invention implements dynamic slave assignment where slaves can be added or removed from the transmission channel during operation. The master device can dynamically select which slaves participate in transmission based on current needs, allowing the system to adapt to changing requirements without reconfiguring the entire chain.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system allows slaves to self-manage their participation in transmission by monitoring selection commands. When a slave receives a selection command matching its identity, it automatically transitions to transmission mode, enabling dynamic expansion and contraction of the active slave set without centralized control overhead.

Inventive Principle:
Principle #25Self-service

4Reliability

If all slave devices remain active during communication, then reliability is improved, but energy consumption increases

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The invention implements periodic selection and activation of slaves based on communication needs. Instead of keeping all slaves continuously active, the system periodically selects specific slaves for transmission based on current data requirements, allowing non-selected slaves to enter low-power states while maintaining system reliability through on-demand activation.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentEP3425517B1Method for communication between a master device and n slave devices connected to an spi-type synchronous data bus and corresponding device
Publication Date: 2023.05.31 STMICROELECTRONICS (GRAND OUEST) SAS
  • EP3425517B1 patent drawingFigure 1A~1B
  • EP3425517B1 patent drawingFigure 2
  • EP3425517B1 patent drawingFigure 3

AI summary

A method for communication between a master device (MT) and N slave devices (ES1-ESN) connected consecutively one-to-one on a data bus (SPI+), the bus having a clock line (SCK), a mode selection line (SS), a serial selection channel (MOSIs, MISOs), and a parallel transmission channel (MOSIp, MISOp), the method comprising: - a selection step (614, 618) implemented by the master device (MT) and the N slave devices (ES1-ESN) on the selection channel (MOSIs, MISOs), comprising a selection of a slave device selected from among the N slave devices (ES1-ESN); and - a transmission step (620, 622; 714, 716) implemented on the transmission channel (MOSIp, MISOp), comprising a data transmission between the master device (MT) and the selected slave device.