Serial peripheral interface (SPI) apparatus with write buffer for improving data throughput
First Claim
1. A serial peripheral interface apparatus, comprising:
- a plurality of serial data-transfer means coupled together for transferring data serially;
a parallel data-transfer means serving as a parallel slave, the parallel data-transfer means coupled to an output of one of said plurality of serial data-transfer means;
a buffer means coupled to said plurality of serial data-transfer means for storing a subsequent data byte to be transferred;
a counter means coupled to said buffer means and said plurality of serial data-transfer means for checking a status of a data transmission within said serial peripheral interface apparatus; and
a control means coupled to said buffer means, said counter means, and said plurality of serial data transferring means for controlling said data transmission within said serial peripheral interface apparatus and for enabling a loading of said subsequent data byte into said buffer means by said control means reviewing a status of said counter means and a status of said buffer means.
17 Assignments
0 Petitions
Accused Products
Abstract
A serial peripheral interface apparatus has a second parallel write buffer to load in a subsequent data byte while a current data byte is being transferred serially through the apparatus instead of waiting for the previous data byte to complete the serial transfer and other commands to avoid write collision. The subsequent data byte is transferred into the second parallel write buffer only after the software driven CPU examines the status of a load enable and the status of a write buffer provided by a finite state machine controller. The software driven CPU orders the subsequent data byte to be transferred into the second parallel write buffer when the load enable is favorable and the second parallel write buffer is available. The load enable becomes favorable when a bit counter counts the first half of the transfer of the previous data set. Thus, the second parallel write buffer avoids the stretching the master clock and improves data throughput of the system.
-
Citations
15 Claims
-
1. A serial peripheral interface apparatus, comprising:
-
a plurality of serial data-transfer means coupled together for transferring data serially; a parallel data-transfer means serving as a parallel slave, the parallel data-transfer means coupled to an output of one of said plurality of serial data-transfer means; a buffer means coupled to said plurality of serial data-transfer means for storing a subsequent data byte to be transferred; a counter means coupled to said buffer means and said plurality of serial data-transfer means for checking a status of a data transmission within said serial peripheral interface apparatus; and a control means coupled to said buffer means, said counter means, and said plurality of serial data transferring means for controlling said data transmission within said serial peripheral interface apparatus and for enabling a loading of said subsequent data byte into said buffer means by said control means reviewing a status of said counter means and a status of said buffer means. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A serial peripheral interface apparatus, comprising:
-
a plurality of shift registers coupled together for transferring data serially; a parallel slave shift register coupled to an output of one of said plurality of shift registers; a write buffer coupled to said plurality of shift registers; a bit counter coupled to said plurality of shift registers for keeping track of a bit field of a data byte being transferred through said apparatus; and a finite state machine controller coupled to said apparatus for controlling data transmission therethrough and for enabling a loading of a subsequent data byte into said write buffer by checking a status of said bit counter and a status of said write buffer. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A microcontroller comprising:
-
a central processing unit; a bus interface coupled to said central processing unit; a memory module coupled to and in communication with said central processing unit via said bus interface; a serial peripheral interface module coupled to said memory module and said bus interface;
said serial peripheral interface further comprising;a serial master shift register, a serial slave shift register coupled to an output of said serial master shift register for transferring data serially, and a parallel slave shift register coupled to said output of said serial master shift register; a write buffer coupled to an input of said serial slave shift register; a bit counter coupled to said serial peripheral interface module for keeping track of a data set being transferred therethrough; and a finite state machine controller coupled to said serial peripheral interface module for controlling data transmission therethrough and for enabling a loading of a subsequent data byte into said write buffer by providing the status of said bit counter and a status of said write buffer back to said central processing unit.
-
Specification