Electronic – SPI specifications

specificationsspi

I need to program (in Verilog) a peripheral driver connected to an FPGA through 4 standard SPI pins. I have been trying to find an authoritative source that clearly specifies the timing diagrams for read and write requests, but nowhere quite found what I wanted.

Where can I find the timing diagrams needed to program a driver connected to an FPGA through SPI pins?

[Here is the datasheet of the peripheral I would like to communicate with through SPI. The SPI pins allow access to the configuration registers, in this case.]

Best Answer

I've had the same problem in the past. It looks like there is no public spec available. Instead Motorola (SPI's originator) had timing diagrams in datasheets for controllers supporting SPI. For instance the 68HC11 datasheet has SPI timing information in section 10.17, on page 171. General SPI description on page 119 ff.

enter image description here

edit

"The SPI bus is broadly accepted because it has little or no patent issues. This is partly because Motorola, its creator, provides no specification or central support. Those applying SPI can create hardware and software solutions without patent issues, but also without support or definition of supporting protocols." (source)