IP Library Granted Patent US 8,433,838
Granted Patent B2
US 8,433,838 · App. 12/884,398 · Granted Apr 30, 2013

Remote multiplexing devices on a serial peripheral interface bus

Inventors: Timothy W. Crockett (Raleigh, NC); Jay H. Kim (Raleigh, NC); Charles R. Kirk (Raleigh, NC)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,433,838
App. No.
12/884,398
Granted
Apr 30, 2013
Kind
B2
Abstract

A serial peripheral interface (SPI) bus and method of communicating over an SPI bus to multiple slave devices without requiring the master device to have an independent slave select pin for each slave device. The SPI bus comprises an SPI master device coupled to an SPI multiplex slave device and a plurality of SPI non-multiplex slave devices. The SPI multiplex slave device includes an independent slave select (SS) output pin coupled to each one of the SPI non-multiplex slave devices for sending an activation signal to a selected SPI slave device in response to receiving a command from the master device containing identification of the selected SPI slave device.

Claims (38)

1. A serial peripheral interface bus, comprising:

a serial peripheral interface master device having a master output slave input pin, a master input slave output pin, a clock output pin, and a slave select output pin, each of the master device pins being coupled in parallel to a serial peripheral interface multiplex slave device and a plurality of serial peripheral interface non-multiplex slave devices, wherein the multiplex slave device includes an independent slave select output pin coupled to each one of the non-multiplex slave devices for sending an activation signal to a selected slave device in response to receiving a command from the master device containing the address of the selected slave; and wherein one of the independent slave select output pins of the multiplex slave and the slave select output pin of the master device are input to an OR circuit having an output coupled to a slave select input pin of one the plurality of non-multiplex slave devices.

2. The serial peripheral interface bus of claim 1 , wherein each non-multiplex slave device has a unique address stored at a fixed address common to each of the non-multiplex slave devices.

3. A serial peripheral interface bus, comprising:

a serial peripheral interface master device including:

(a) a master output slave input pin;

(b) a master input slave output pin;

(c) a clock output pin; and

(d) a slave select output pin;

a serial peripheral interface multiplex slave device and a plurality of serial peripheral interface non-multiplex slave devices, each of the multiplex and non-multiplex slave devices including:

(a) a master output slave input pin coupled to the master output slave input pin of the master device;

(b) a master input slave output pin coupled to the master input slave output pin of the master device;

(c) a clock input pin coupled to the clock output pin of the master device; and

(d) a slave select input pin;

wherein the slave select output pin of the master device is coupled to the slave select input pin of the multiplex slave device; and

wherein the multiplex slave device includes a plurality of slave select output pins, each slave select output pin of the multiplex slave device being coupled to the slave select input pin associated with one of the non-multiplex slave devices; and

a plurality of OR circuits, wherein each slave select output pin of the multiplex slave device is coupled to the slave select input pin associated with one of the non-multiplex slave devices through one of the OR circuits, wherein each OR circuit has a first input coupled to the slave select output pin of the master device, a second input coupled to one of the slave select output pins of the multiplex slave device, and an output coupled to the slave select input pin of the associated one of the plurality of non-multiplex slaves.

4. The serial peripheral interface bus of claim 3 , wherein a unique identification code is stored by each of the multiplex and non-multiplex device in a common address.

5. The serial peripheral interface bus of claim 3 , wherein a unique identification code is stored by each of the multiplex and non-multiplex device in a common address.

6. The serial peripheral interface bus of claim 4 , wherein the unique identification code is stored as read-only data.

7. The serial peripheral interface bus of claim 5 , wherein the unique identification code is stored as read-only data.

8. A method of communicating between a master device and a plurality of slave devices on a serial peripheral interface bus, comprising:

initializing the serial peripheral interface bus to route data output from the master device to an addressable multiplex slave device;

the master device sending a slave identification code to the multiplex slave device by writing the slave identification code to a fixed memory address in the multiplex slave device;

the multiplex slave device providing a slave select signal only to a slave device associated with the slave identification code received from the master device;

the selected slave device activating an output pin to the master in response to receiving the slave select signal from the multiplex slave; and

sending data between the master device and the selected slave device.

9. The method of claim 8 , further comprising:

the multiplex slave device configuring its master input slave output pin as an input in response to the master device sending a slave identification code that is not the identification code of the multiplex slave.

10. The method of claim 8 , further comprising:

the multiplex slave device monitoring the master output slave input pin for a write command form the master device directed to the fixed memory address to identify a subsequently selected slave identification code; and

the multiplex slave device providing a slave select signal only to the subsequently selected slave device in response to receiving the subsequently selected slave identification code from the master device;

the subsequently selected slave device activating an output pin to the master in response to receiving the slave select signal from the multiplex slave; and

sending data between the master device and the subsequently selected slave device.

11. A serial peripheral interface bus, comprising:

a serial peripheral interface master device including a master output slave input pin, a master input slave output pin, and a clock output pin coupled to a first serial peripheral interface multiplex slave device, a first plurality of serial peripheral interface non-multiplex slave devices associated with the first multiplex slave device, a second serial peripheral interface multiplex slave device, and a second plurality of serial peripheral interface non-multiplex slave devices associated with the second multiplex slave device, wherein the master device further includes a first slave select output pin coupled to a slave select input pin of the first multiplex slave device and a second slave select output pin coupled to a slave select input pin of the second SPI multiplex slave device;

wherein the first multiplex slave device includes an independent slave select output pin coupled to each one of the first plurality of non-multiplex slave devices for sending an activation signal to a selected slave device in response to receiving a signal on the first slave select output pin of the master device and a command from the master device containing an identification code for the selected slave, and wherein one of the independent slave select output pins of the first multiplex slave device and the slave select output pin of the master device are input to an OR circuit having an output coupled to a slave select input pin of one the first plurality of non-multiplex slave devices; and

wherein the second multiplex slave device includes an independent slave select output pin coupled to each one of the second plurality of non-multiplex slave devices for sending an activation signal to a selected slave device in response to receiving a signal on the second slave select output pin of the master device and a command from the master device containing an identification code for the selected slave, and wherein one of the independent slave select output pins of the second multiplex slave device and the slave select output pin of the master device are input to an OR circuit having an output coupled to a slave select input pin of one the second plurality of non-multiplex slave devices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2010
From: CROCKETT, TIMOTHY W.; KIM, JAY H.; KIRK, CHARLES R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 025010/0981 →
Continuity (1)
Related Publication 20120072628A1 · Mar 22, 2012