User manual

Table Of Contents
Zynq-7000 AP SoC Technical Reference Manual www.xilinx.com 539
UG585 (v1.11) September 27, 2016
Chapter 17: SPI Controller
Command
Software starts a manual transfer by writing a 1 to the spi.Config_reg0 [Man_start_com] bit. When
the software writes the 1, the controller hardware starts the data transfer and transfers all the data
bytes present in the TxFIFO. The [Man_start_com] bit is self-clearing. Writing a 1 to this bit is ignored
if [Man_start_en] = 0. Writing a 0 to [Man_start_com] has no effect, regardless of mode.
17.2.2 Multi-Master Capability
For Multi-master mode, the controller is programmed for master mode [MODE_SEL] and can initiate
transfers on any of the slave selects. When the software is ready to initiate a transfer, it enables the
controller using the [SPI_EN] bit. When the transaction is done, the software disables the controller.
The controller cannot be selected by an external master when the controller is in Master Mode.
The controller detects another master on the bus by monitoring the open-drain slave select signal
(active Low). The detection mechanism is enabled by the [Modefail_gen_en]. When the controller
detects another master, it sets the spi.Intr_status_reg0 [MODE_FAIL] interrupt status bit and clears
the spi.En_reg0 [SPI_EN] control bit. The software can receive the [MODE_FAIL] interrupt so it can
abort the transfer, reset the controller, and re-send the transfer.
17.2.3 Slave Mode
In slave mode, the controller receives messages from the external master and outputs a simultaneous
reply. The controller enters slave mode when spi.Config_reg0 [MODE_SEL] = 0 and spi.En_reg0
[SPI_EN] = 1.
The SCLK latches data on the MOSI input. If the slave select input signal is High (inactive), the
controller ignores the MOSI input. When the slave select is asserted, it must be held active for the
duration of the transfer. If SS de-asserts during the transfer, the controller sets the
spi.Intr_status_reg0 [MODE_FAIL] interrupt bit. The software receives the [MODE_FAIL] interrupt so it
can abort the transfer, reset the controller, and re-send the transfer.
The error mechanism is enabled by the [Modefail_gen_en] bit.
Data to be sent to the master is written into the TxFIFO by software and then serialized onto the
master input (MISO) signal by the controller. Transmission continues while there is still data in the
TxFIFO and the slave select signal remains asserted (active Low).
Clocking
The slave select input pin must be driven synchronously to the SCLK input. The controller operates in
the SPI_Ref_Clk clock domain. The input signals are synchronized and analyzed in the SPI_Ref_Clk
domain.
Word Detection
The start of a word is detected in th SPI_Ref_Clk clock domain.