The SPI IP is a revolutionary octal SPI designed to offer the fastest operations available for any serial SPI memory. It is flexible enough to interface directly with numerous standard product peripherals from several manufacturers. Moreover, the IP Core supports all 8, 16, 32 bit processors available on the market. The SPI IP is a fully configurable SPI master/slave device, which allows you to configure polarity and phase of serial clock signal SCK. It enables the microcontroller to communicate with fast serial SPI memories and serial peripheral devices. Moreover, it’s capable of inter processor communications in a multi‐master system. A serial clock line (SCK) synchronizes shifting and sampling of information on four serial data lines. In the Single SPI mode, data is simultaneously transmitted and received, while in DUAL, QUAD and OCTAL SPI modes, data is shifted in or out respectively on two, four and eight data lines at once. Additionally, transfer speed can be doubled by using the DDR protocol (Double Data Rate) – this feature allows the SPI to transfer / receive data on both falling and rising edges of SCK. The DDR together with OCTAL SPI transfer allow 8 bits of data to be sent / received within a single SCK clock cycle. This makes the SPI perfect for systems, where performance is essential, or where the code can be moved from non-volatile memory to fast RAM, or for systems where device size and cost are the key, or where the program code can be executed directly from non-volatile memory, using an approach known as Execute-in-Place.
The SPI system is flexible enough to interface directly with numerous standard product peripherals from several manufacturers. The system can be configured as a master or slave device. Data rates as high as CLK/2, when other vendors’ solutions offer just CLK/8. Clock control logic allows selecting clock polarity, phase and four fundamentally different clocking protocols, to accommodate most available synchronous serial peripheral devices. When the SPI is configured as a master, software selects bit rates for the serial clock. The SPI automatically drives selected by SSCR (Slave Select Control Register) slave select outputs (SS7O – SS0O), and addresses SPI slave device to exchange serially shifted data. Error‐detection logic is included, to support inter processor communications. A write‐collision detector indicates when an attempt is made to write data to the serial shift register, while the transfer is in progress. A multiple-master mode‐fault detector disables SPI output drivers automatically, if more than one SPI device simultaneously attempts to become a bus master. The SPI supports two DMA modes: single transfer and multi‐transfer. These modes allow the SPI to interface to higher performance DMA units which can interleave their transfers between CPU cycles or execute multiple byte transfers. The SPI is fully customizable – it is delivered in the exact configuration to meet your requirements.