The most basic way to transmit a data frame is
through software. Each step must be handled by the application. To send a data frame
using software, the following steps must be executed. Steps 1-6 can be executed in
any order before setting TX_FRAME_CTRL.START. Some fields do not need to be
reconfigured for every transmission. The frame tag, user data, and frame type are
sticky and are retransmitted in the subsequent frame unless modified by
software.
- Write the data to be transmitted to the next location of the transmit data buffer.
- Set TX_FRAME_CTRL.FRAME_TYPE to the appropriate value for the type of frame to be transmitted.
- Set TX_FRAME_CTRL.N_WORDS to 1 less than the number of words to be transmitted if TX_FRAME_CTRL.FRAME_TYPE is set to 0011, the frame type of the software-defined length data frame. That is, if 16 words are transmitted, N = 16, set TX_FRAME_CTRL.N_WORDS to 15.
- When the frame is assembled before transmitting, the FSITX hardware calculates the CRC to be transmitted. If TX_OPER_CTRL_LO.SW_CRC is 1, the application can calculate a custom CRC value and then set TX_USER_CRC to the result.
- Set TX_FRAME_TAG_UDATA.FRAME_TAG to the desired tag.
- Set TX_FRAME_TAG_UDATA.USER_DATA to the desired user data.
- Set TX_FRAME_CTRL.START to 1 to initiate the transmission of the data frame.
Once the frame transmission has started, the TX_FRAME_CTRL.START is cleared by hardware. To monitor if the frame has completed, the software can poll TX_EVT_STS.FRAME_DONE.