Visible to Intel only — GUID: qsq1678579546193
Ixiasoft
Visible to Intel only — GUID: qsq1678579546193
Ixiasoft
5.7.5.4.4.1. USB Transactions
- Waits and checks the PID of the following data packet, then writes the data to the receive FIFO buffer when it is available
- Checks the data integrity
- Sends the appropriate handshake when required to the host
- Writes the transaction status to the receiving status queue
If the OUT token is received and the receive FIFO buffer is not available, the MAC sends the host a NAK handshake.
- Reads the data from the FIFO buffer
- Forms the data packet
- Transmits the packet to the host
- Waits for a handshake packet, if any, from the host
- Updates the transaction status to the PFC
If an IN token is received and the data is not available in the FIFO, the MAC sends the host a NAK handshake.
In host mode, the MAC receives a token request from the AIU. The MAC performs the following steps:
- Builds the token packet
- Sends the packet to the device
For OUT or SETUP transactions, the MAC also performs the following steps:
- Reads the data from the transmit FIFO buffer
- Assembles the data packet
- Sends the packet to the device
- Waits for a handshake packet, if any, from the device. Then, updates the transaction status to the AIU.
The response from the device causes the MAC to send a status update to the AIU.
For IN or PING transactions, the MAC waits for the data or handshake response from the device. For data responses, the MAC performs the following steps:
- Waits for data or handshake packet from the device
- Validates the data according to the correct PID
- Writes the data into the receiver FIFO
- Checks the data's integrity
- Sends a handshake packet, if required
- Updates the status to the application unit control