Visible to Intel only — GUID: iga1405555057171
Ixiasoft
Visible to Intel only — GUID: iga1405555057171
Ixiasoft
5.2.4.1. Host Mode Operation
In host mode, the SPI ports behave as shown in the table below.
Name | Direction | Description |
---|---|---|
mosi | output | Data output to agent(s) |
miso | input | Data input from agent(s) |
sclk | output | Synchronization clock to all agents |
ss_nM | output | Agent select signal to agent M, where M is a number between 0 and 31. |
In host mode, an intelligent host (for example, a microprocessor) configures the SPI core using the control and slaveselect registers, and then writes data to the txdata buffer to initiate a transaction. A host peripheral can monitor the status of the transaction by reading the status register. A host peripheral can enable interrupts to notify the host whenever new data is received (for example, a transfer has completed), or whenever the transmit buffer is ready for new data.
The SPI protocol is full duplex, so for every transaction both sends and receives data at the same time. The host transmits a new data bit on the mosi output and the agent drives a new data bit on the miso input for each active edge of sclk. The SPI core divides the Avalon® -MM system clock using a clock divider to generate the sclk signal.
When the SPI core is configured to interface with multiple agents, the core has one ss_n signal for each agent. During a transfer, the host asserts ss_n to each agent specified in the slaveselect register. Note that there can be no more than one agent transmitting data during any particular transfer, or else there will be a contention on the miso input. The number of agent devices is specified at system generation time.