Document Number: 001-99253 Rev. *H Page 8 of 44
3. HyperBus Protocol
All bus transactions can be classified as either read or write. A bus transaction is started with CS# going Low with clock in idle state
(CK=Low and CK#=High). The first three clock cycles transfer three words of Command/Address (CA0, CA1, CA2) information to
define the transaction characteristics. The Command/Address words are presented with DDR timing, using the first six clock edges.
The following characteristics are defined by the Command/Address information:
Read or Write transaction.
Address Space: memory array space or register space.
– Register space is used to access Device Identification (ID) registers and Configuration Registers (CR) that identify the
device characteristics and determine the slave specific behavior of read and write transfers on the HyperBus interface.
Whether a transaction will use a linear or wrapped burst sequence.
The target row (and half-page) address (upper order address).
The target column (word within half-page) address (lower order address).
During the Command/Address (CA) portion of all transactions, RWDS is used by the memory to indicate whether additional initial
access latency will be inserted.
Following the Command/Address information, a number of clock cycles without data transfer may be used to satisfy any initial
latency requirements before data is transferred. The number of clock cycles inserted is defined by a slave configuration register
(latency count) value. If RWDS was High during the CA period an additional latency count is inserted.
Some slave devices may require write transactions with zero latency between the CA cycles and following write data transfers.
Writes with zero initial latency, do not have a turn-around period for RWDS. The slave device will always drive RWDS during the
Command-Address period to indicate whether extended latency is required for a transaction that has initial latency. However, the
RWDS is driven before the slave device has received the first byte of CA, that is, before the slave knows whether the transaction is
a read or write, to memory space or register space. In the case of a write with zero latency, the RWDS state during the CA period
does not affect the initial latency of zero. Since master write data immediately follows the Command-Address period in this case, the
slave may continue to drive RWDS Low or may take RWDS to High-Z during write data transfer. The master must not drive RWDS
during Writes with zero latency. Writes with zero latency do not use RWDS as a data mask function. All bytes of write data are
written (full word writes). Writes without initial latency are generally used for register space writes but the requirement for writes with
zero latency is slave device dependent. Writes with zero latency may be required for memory space or register space or neither,
depending on the slave device capability.
When data transfer begins, read data is edge aligned with RWDS transitions or write data is center aligned with single-ended clock
edges or differential clock CK/CK# crossings. During read data transfer, RWDS serves as a source synchronous read data timing
strobe. During write data transfer, clock edges or crossings provide the data timing reference and RWDS is used as a data mask.
When RWDS is low during a write data transfer, the data byte is written into memory; if RWDS is high during the transfer the byte is
not written.
Data is always transferred as 16-bit values with the first eight bits (byte A) transferred on a High going CK (write data) or following a
RWDS rising edge (read data) and the second eight bits (byte B) is transferred on the Low going CK edge or following the falling
RWDS edge.
After the target data has been transferred, the host completes the transaction by driving CS# High with clock idle. Data transfers can
be ended at any time by bringing CS# High when clock is idle.
The clock is not required to be free-running. The clock may be idle while CS# is High or may stop in the idle state while CS# is Low
(this is called Active Clock Stop). Support for Active Clock Stop is slave device dependent. It is an optional HyperBus device feature.