The different phases of the frame
structure are described in detail.
- Idle State: During the
idle state, the clock and data lines are driven high, the inactive state.
- Preamble: The preamble
phase contains four clock edges (or two complete clock pulses) with the data
signals held in the high state. These clock edges serve to flush the receiver
logic and prepare the receiver logic for receiving a new frame. This phase is
not present in SPI compatibility mode.
- Start of Frame: The start
of frame phase contains two clock pulses with four bits, 1001, transmitted on
the data lines.
- Frame Type: The frame type
phase contains two clock pulses with the 4-bit frame type code being transmitted
on the data lines. The different frame types are described in detail in Section 12.4.5.4.4.2. The transmitter must set the TX_FRAME_CTRL.FRAME_TYPE field before
transmitting a frame. The received frame type is stored in the
RX_FRAME_INFO.FRAME_TYPE.
- User Data: The user data
phase contains a fully user-configurable data field. There are no restrictions
on how this field is used. This phase is only available in data frames. The user
data to be transmitted is set by writing to TX_FRAME_TAG_UDATA.USER_DATA. The
received user data is stored in RX_FRAME_TAG_UDATA.USER_DATA.
- Data: The data phase
contains the data that is being transmitted. The data is pulled from the
transmit buffer of the transmitter and is placed in the receive buffer of the
receiver. Word 0 is transmitted first. This phase is only present in data
frames. Depending on the type of frame transmitted, this can contain anywhere
between 1 and 16 words depending on the frame type selected. More information on
data frames is found in Section 12.4.5.4.4.2.3.
- CRC Byte: The CRC byte
contains the CRC of the transmitted data. The value present in this phase can be
sourced from either hardware or software based on the TX_OPER_CTRL_LO.SW_CRC
bit. Refer to the module-specific section of the CRC Submodule for more
information on the CRC is generated or used, for the transmitter and receiver
modules respectively. The CRC byte is only present in data frames.
- Frame Tag: The frame tag
contains the 4-bit user-defined frame tag. There are no restrictions on how this
field is used in an application. The transmitter supplies this tag into the
TX_FRAME_TAG_UDATA.FRAME_TAG bits for data frames. Ping frames use the tag
defined in TX_PING_TAG.TAG. The receiver can access the received frame tag in
RX_FRAME_TAG_UDATA.FRAME_TAG.
- End of Frame: The end of
frame contains four clock edges with four bits, 0110, transmitted on the data
lines.
- Postamble: The postamble
contains four additional clock edges with the data lines held in the high state.
After the postamble, the clock and data lines are driven high, their inactive
state. This phase is not present in FSI-SPI compatibility mode.