SPRUII0F May 2019 – June 2024 TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S
FILE: fsi_ex1_multiRx_tagmatch_cpu1.c
Example sets up infinite data frame transfers where trigger happens through CPU. Multiple receivers receive data as per the received frame tag.
This is a dual core example where FSITxA & FSIRxA instances are owned by CPU1 while FSIRxB, FSIRxC & FSIRxD are owned by CPU2. Internal loopback mode is enabled for FSIRxA, FSIRxB, FSIRxC & FSIRxD which connects data & clock lines of these receivers to FSITxA internally.
FSITxA infinitely sends data frames with alternating tag values. Receivers are configured to receive data frame with different tag values with tag-match feature enabled. Tx doesn't send next frame of data until it all receivers receive the data. Synchronization among all the receivers is maintained through IPC flags.
User can edit some of configuration parameters as per usecase. These are as below. Default values can be referred in code where these globals are defined:-
For any errors during transfers i.e. error events such as Frame Overrun, Underrun, Watchdog timeout and CRC/EOF/TYPE errors, execution will stop immediately and status variables can be looked into for more details. Execution will also stop for any mismatch between received data and sent ones and also if transfers takes unusually long time(detected through software counters - txTimeOutCntr and rxTimeOutCntr)
External Connections
For FSI internal loopback, no external connections needed
Watch Variables