ARM720T_LH79520 – Sharp LH79520 SoC with ARM720T
Wishbone Communications
The following sections detail the standard handshaking that takes place when the processor communicates to a slave peripheral or memory device connected to the relevant Wishbone interface port. Both of the ARM720T_LH79520's Wishbone ports can be configured for
Configuration is achieved using the relevant IO_SEL_O or ME_SEL_O output, which defines where on the corresponding DAT_O and DAT_I lines the data appears when writing and reading respectively.
Writing to a Slave Wishbone Peripheral Device
Data is written from the host processor (Wishbone Master) to a
•The host presents an address on its IO_ADR_O output for the register it wants to write to and valid data on its IO_DAT_O output. It then asserts its IO_WE_O output to specify a Write cycle
•The host defines where the data will be sent on the IO_DAT_O line using its IO_SEL_O signal
•The slave device receives the address at its ADR_I input and prepares to receive the data
•The host asserts its IO_STB_O and IO_CYC_O outputs, indicating that the transfer is to begin. The slave device, monitoring its STB_I and CYC_I inputs, reacts to this assertion by latching the data appearing at its DAT_I input into the requested register and asserting its ACK_O signal – to indicate to the host that the data has been received
•The host, monitoring its IO_ACK_I input, responds by negating the IO_STB_O and IO_CYC_O signals. At the same time, the slave device negates the ACK_O signal and the data transfer cycle is naturally terminated.
Reading from a Slave Wishbone Peripheral Device
Data is read by the host processor (Wishbone Master) from a
•The host presents an address on its IO_ADR_O output for the register it wishes to read. It then negates its IO_WE_O output to specify a Read cycle
•The host defines where it expects the data to appear on its IO_DAT_I line using its IO_SEL_O signal
•The slave device receives the address at its ADR_I input and prepares to transmit the data from the selected register
•The host asserts its IO_STB_O and IO_CYC_O outputs, indicating that the transfer is to begin. The slave device, monitoring its STB_I and CYC_I inputs, reacts to this assertion by presenting the valid data from the requested register at its DAT_O output and asserting its ACK_O signal – to indicate to the host that valid data is present
•The host, monitoring its IO_ACK_I input, responds by latching the data appearing at its IO_DAT_I input and negating the IO_STB_O and IO_CYC_O signals. At the same time, the slave device negates the ACK_O signal and the data transfer cycle is naturally terminated.
Writing to a Slave Wishbone Memory Device
Data is written from the host processor (Wishbone Master) to a
•The host presents an address on its ME_ADR_O output for the address in memory that it wants to write to and valid data on its ME_DAT_O output. It then asserts its ME_WE_O output to specify a Write cycle
•The host defines where the data will be sent on the ME_DAT_O line using its ME_SEL_O signal
•The slave device receives the address at its ADR_I input and prepares to receive the data
•The host asserts its ME_STB_O and ME_CYC_O outputs, indicating that the transfer is to begin. The slave device, monitoring its STB_I and CYC_I inputs, reacts to this assertion by storing the data appearing at its DAT_I input at the requested address and asserting its ACK_O signal – to indicate to the host that the data has been received
•The host, monitoring its ME_ACK_I input, responds by negating the ME_STB_O and ME_CYC_O signals. At the same time, the slave device negates the ACK_O signal and the data transfer cycle is naturally terminated.
18 | CR0162 (v2.0) March 10, 2008 |