SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
FILE: fsi_ex16_daisy_handshake_node.c fsi_ex16_daisy_handshake_lead is for the lead device in the daisy-chain loop, fsi_ex16_daisy_handshake_node for the other N-1 devices(N>=2).
In the code, there are different settings provided: [#define FSI_DMA_ENABLE 0] represents FSI communication using CPU control. [#define FSI_DMA_ENABLE 1] represents FSI communication using DMA control, enabling FSIRX to trigger a DMA event and move the RX FSI data to the TX FSI buffer
In a real scenario two separate devices may power up in arbitrary order and there is a need to establish a clean communication link which ensures that receiver side is flushed to properly interpret the start of a new valid frame.
The node devices in the daisy chain topology respond to the handshake sequence and forwards the information to the next device in the chain.
After above synchronization steps, FSI Rx can be configured as per use case i.e. nWords, lane width, enabling events, etc and start the infinite transfers. More details on establishing the communication link can be found in the device TRM.
User can edit some of configuration parameters as per use case, similar to other examples.
nWords - Number of words per transfer may be from 1 -16 nLanes - Choice to select single or double lane for frame transfers txUserData - User data to be sent with Data frame txDataFrameTag - Frame tag used for Data transfers txPingFrameTag - Frame tag used for Ping transfers txPingTimeRefCntr - Tx Ping timer reference counter rxWdTimeoutRefCntr - Rx Watchdog timeout reference counter
External Connections
For the FSI daisy-chain topology external connections are required to be made between the devices in the chain. Each devices FSI TX pins need to be connected to the FSI RX pins of the next device in the chain (or ring). See below for external connections to include and GPIOs used:
External Connections Required:
GPIO_27 -> FSITXA_CLK
Watch Variables