SPI Slave Expander Address Decoding for Multi-Device Bus Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current serial peripheral interface (SPI) systems face challenges in allowing multiple dissimilar slave devices to share a single master device's communication bus, limiting design flexibility and increasing costs due to the need for compatible master and slave devices.

Innovation Solution

The implementation of a serial peripheral interface system with a slave expander that decodes the address in the data stream and activates independent slave selects, enabling multiple dissimilar slave devices to share a single master device's SPI bus without additional components, maintaining communication speed and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single master device communicates with multiple dissimilar slave devices using traditional SPI protocol, then the master device requires multiple slave select pins and additional functionality, but this increases device complexity and pin count

Engineering Contradiction:
Improveability to communicate with multiple dissimilar slave devicesVSAvoidmaster device pin count and functionality
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a slave expander device as an intermediary between the master device and multiple slave devices. The slave expander receives a single slave select signal from the master device and expands it into multiple independent slave select signals for different slave devices. This mediator approach allows the master device to maintain simple single-pin configuration while enabling communication with multiple dissimilar slave devices through the expander's address decoding capability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple slave devices share a single SPI bus without slave expander, then the system uses fewer components, but dissimilar slave devices cannot be used together and design flexibility decreases

Engineering Contradiction:
Improvecompatibility of dissimilar slave devicesVSAvoidslave device configuration
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The slave expander segments the single SPI bus into multiple independent communication channels by providing separate slave select signals to different slave devices. The address decoding function segments the address space to identify which slave device should receive data, allowing dissimilar slave devices to coexist on the same bus without interfering with each other. Each slave device can be independently configured and selected.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If additional components are added to enable multiple slave devices to share SPI bus, then design flexibility improves, but manufacturing cost and implementation complexity increase

Engineering Contradiction:
Improvedesign flexibilityVSAvoidmanufacturing cost and implementation
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The slave expander is designed as a universal device that can work with multiple dissimilar slave devices through a standardized interface. It provides multi-functionality by supporting various slave device types (memory devices, display devices, sensors) while maintaining a single standardized SPI interface with the master device. This universality reduces manufacturing complexity compared to custom solutions for each device combination.

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

Data Source

PatentUS10055376B1Serial peripheral interface system with slave expander
Publication Date: 2018.08.21 MAXIM INTEGRATED PROD INC
  • US10055376B1 patent drawing
  • US10055376B1 patent drawing
  • US10055376B1 patent drawing

AI summary

A serial peripheral interface system with a slave expander method and apparatus can include: receiving a data stream from a master device, the data stream beginning with an address; decoding the address as the data stream is being received; activating an independent slave select after the address is decoded and before a second portion of the data stream is received; and deactivating the independent slave select based on a slave select from the master device being deactivated.