QSPI based methods of simultaneously controlling multiple SPI peripherals
First Claim
1. A method of using a processor driven master QSPI (Quad Serial Peripheral Interface) interface to simultaneously and time-synchronously transmit data from a FIFO (First In First Out) buffer to a plurality of slave SPI interface peripherals, said method comprising:
- using said processor to load said FIFO buffer for said master QSPI interface with at least two streams of time-synchronized data intended for simultaneous transmission to said plurality of slave SPI interface peripherals, wherein said FIFO buffer comprises a FIFO memory width of at least 4 bits;
said master QSPI interface comprising at least a processor controlled SCLK (SPI Clock) clock output, and at least four FIFO buffer controlled QSPI data outputs configured to simultaneously transmit, in a processor controlled clock synchronized manner, at least four bits from said FIFO memory width, per SCLK clock cycle, from said FIFO buffer;
each of said plurality of slave SPI interface peripherals comprising at least a SCLK clock input, a SS (Slave Select) chip select input, and a MOSI (Master Output Slave Input) input configured to receive data from said master QSPI interface;
wherein said processor is configured to load said FIFO buffer with said at least two streams of time synchronized data,each stream occupying its own data stream specific bit position of said FIFO memory width, so that all streams can simultaneously occupy their own portions of said FIFO memory width when said FIFO buffer is transmitted, thus creating at least two Time Synchronized Data (TSD) lines over at least two of said FIFO buffer controlled QSPI data outputs;
wherein said processor is further configured to load said FIFO buffer with at least one stream of slave SPI peripheral chip select commands configured to control when each of said plurality of slave SPI interface peripherals is to receive its particular stream of time synchronized data, each stream of slave SPI peripheral chip select commands occupying its own command stream specific bit position of said FIFO memory width when said FIFO buffer is transmitted, thus creating at least one Time Synchronized Programmable Chip Select (TSPCS) lines over at least one of said FIFO buffer controlled QSPI data outputs; and
using said processor, said FIFO buffer, and said master QSPI interface to use said processor controlled SCLK clock output, and at least three of said four FIFO buffer controlled QSPI data outputs to simultaneously transmit said at least two streams of time synchronized data and said at least one stream of slave SPI peripheral chip select commands to said plurality of SPI interface peripherals.
1 Assignment
0 Petitions
Accused Products
Abstract
System and method of using a processor driven master Quad-SPI (QSPI) bus or interface to simultaneously and time-synchronously transmit different streams of data from a FIFO buffer to a plurality of different slave SPI interface peripherals. Here the QSPI interface data ports are configured to simultaneously transmit multiple 1 bit wide streams of different binary data and different chip select commands on an SPI clock cycle synchronized basis. Additional SPI slave peripherals may be controlled by use of additional non-SPI clock synchronized GPIO chip select commands and suitable logic gates. These methods are useful for creating a variety of embedded systems with faster response speeds, such as improved microwave frequency synthesizers with faster frequency changing times.
12 Citations
17 Claims
-
1. A method of using a processor driven master QSPI (Quad Serial Peripheral Interface) interface to simultaneously and time-synchronously transmit data from a FIFO (First In First Out) buffer to a plurality of slave SPI interface peripherals, said method comprising:
-
using said processor to load said FIFO buffer for said master QSPI interface with at least two streams of time-synchronized data intended for simultaneous transmission to said plurality of slave SPI interface peripherals, wherein said FIFO buffer comprises a FIFO memory width of at least 4 bits; said master QSPI interface comprising at least a processor controlled SCLK (SPI Clock) clock output, and at least four FIFO buffer controlled QSPI data outputs configured to simultaneously transmit, in a processor controlled clock synchronized manner, at least four bits from said FIFO memory width, per SCLK clock cycle, from said FIFO buffer; each of said plurality of slave SPI interface peripherals comprising at least a SCLK clock input, a SS (Slave Select) chip select input, and a MOSI (Master Output Slave Input) input configured to receive data from said master QSPI interface; wherein said processor is configured to load said FIFO buffer with said at least two streams of time synchronized data, each stream occupying its own data stream specific bit position of said FIFO memory width, so that all streams can simultaneously occupy their own portions of said FIFO memory width when said FIFO buffer is transmitted, thus creating at least two Time Synchronized Data (TSD) lines over at least two of said FIFO buffer controlled QSPI data outputs; wherein said processor is further configured to load said FIFO buffer with at least one stream of slave SPI peripheral chip select commands configured to control when each of said plurality of slave SPI interface peripherals is to receive its particular stream of time synchronized data, each stream of slave SPI peripheral chip select commands occupying its own command stream specific bit position of said FIFO memory width when said FIFO buffer is transmitted, thus creating at least one Time Synchronized Programmable Chip Select (TSPCS) lines over at least one of said FIFO buffer controlled QSPI data outputs; and using said processor, said FIFO buffer, and said master QSPI interface to use said processor controlled SCLK clock output, and at least three of said four FIFO buffer controlled QSPI data outputs to simultaneously transmit said at least two streams of time synchronized data and said at least one stream of slave SPI peripheral chip select commands to said plurality of SPI interface peripherals. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of using a processor driven master QSPI (Quad Serial Peripheral Interface) interface to simultaneously and time-synchronously transmit data from a FIFO (First In First Out) buffer to a plurality of slave SPI interface peripherals, said method comprising:
-
using said processor to load said FIFO buffer for said master QSPI interface with at least two streams of time-synchronized data intended for simultaneous transmission to said plurality of slave SPI interface peripherals, wherein said FIFO buffer comprises a FIFO memory width of at least 4 bits; said master QSPI interface comprising at least a processor controlled SCLK (SPI Clock) clock output, and at least four FIFO buffer controlled QSPI data outputs configured to simultaneously transmit, in a processor controlled clock synchronized manner, at least four bits from said FIFO memory width, per SCLK clock cycle, from said FIFO buffer; each of said plurality of slave SPI interface peripherals comprising at least a SCLK clock input, a SS (Slave Select) chip select input, and a MOSI (Master Output Slave Input) input configured to receive data from said master QSPI interface; wherein said processor is configured to load said FIFO buffer with said at least two streams of time synchronized data, each stream occupying its own data stream specific bit position of said FIFO memory width, so that all streams can simultaneously occupy their own portions of said FIFO memory width when said FIFO buffer is transmitted, thus creating at least two Time Synchronized Data (TSD) lines over at least two of said FIFO buffer controlled QSPI data outputs; wherein said processor is further configured to load said FIFO buffer with at least one stream of slave SPI peripheral chip select commands configured to control when each of said plurality of slave SPI interface peripherals is to receive its particular stream of time synchronized data, each stream of slave SPI peripheral chip select commands occupying its own command stream specific bit position of said FIFO memory width when said FIFO buffer is transmitted, thus creating at least one Time Synchronized Programmable Chip Select (TSPCS) lines over at least one of said FIFO buffer controlled QSPI data outputs; and using said processor, said FIFO buffer, and said master QSPI interface to use said processor controlled SCLK clock output, and at least three of said four FIFO buffer controlled QSPI data outputs to simultaneously transmit said at least two streams of time synchronized data and said at least one stream of slave SPI peripheral chip select commands to said plurality of SPI interface peripherals; wherein at least some of said plurality of slave SPI interface peripherals are used in a fast switching microwave frequency synthesizer; further using at least one logic gate to intercept said at least one stream of slave SPI peripheral chip select commands, and to use at least one logical operation on said at least one stream of slave SPI peripheral chip select commands to then control at least some SS chip select inputs on at least some of said slave SPI interface peripherals, thereby directing said streams of time synchronized data to selected slave SPI interface peripherals; wherein said processor further comprises at least one general purpose output comprising at least one GPIO (General Purpose Input Output) output, further using said processor and said at least one GPIO output to send additional chip select commands to said at least one logic gate. - View Dependent Claims (14, 15, 16, 17)
-
Specification