This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28384D: Is handhsake mechanism is must requirement for FSI

Part Number: TMS320F28384D
Other Parts Discussed in Thread: C2000WARE
  1. I am using the C2000Ware example fsi_ex8_ext_p2pconnection_rx/tx to send some data from one controller (master) to second controller (slave). In the application, master always sends data and slave always receive data from master. Slave does not send any data back to master. Is it required to use the handshake part in the code? Can I send data without doing handshake? Does it require to connect slave device TXCLK pin to master device RXCLK pin?
  • Hi Gayan,

    In that example, the handshake sequence is used to verify the connection between the master/transmitting device and the slave/receiving device. It is a useful way of letting the master/transmitting device know that the connection has been established and to go ahead with sending actual data frames (rather than ping frames).

    If the master doesn't need this verification, for example if the master device is sending the same data repeatedly regardless of if the slave is receiving it, the handshake portion can be removed. To answer your question, it depends on the application. Uni-directional communication with FSI is possible and the use of the handshake (and connection of the slave TX pins to the master RX pins) isn't required.

    Let me know if you have any more questions.

    Best Regards,

    Delaney

  • Hi Delaney,

    Thank you for the reply. I tried to do the handshake sequence. Pins connected to the device are as follows. I am receiving TAG0 at the receiver end. But TAG1 sending from the receiver didn't receive at the transmitting device. However, after connecting the FSITXCLK pin in the receiver device to FSIRXCLK pin in the transmitter device, it receive the TAG1 at the transmitter device. Is there an other way to solve that without connecting the 4th wire (receiver device FSITXCLK -> transmitter device FSIRXCLK)? Also, does FSI immune to noise? Is it required to make all signals between transmitter and receiver differential?

  • Hi Gayan,

    Is there an other way to solve that without connecting the 4th wire (receiver device FSITXCLK -> transmitter device FSIRXCLK)?

    The FSITX and FSIRX are completely independent modules, so the receiver FSITXCLK would need to be connected to the transmitter FSIRXCLK.  You could potentially loopback the CLK signals on the transmitting device, but this could cause synchronization issues. I will consult with the other FSI experts to see if they have any other ideas/workarounds and get back to you.

    Also, does FSI immune to noise? Is it required to make all signals between transmitter and receiver differential?

    It is possible to directly connect the FSI TX and RX signals. However, they are single ended, so they are not immune to noise. It's not required, but making these signals differential would increase noise immunity as well as communication distance. It is recommended for noisy environments. 

    Best Regards,

    Delaney

  • Hi Gayan,

    Just to follow up: After talking to the other FSI experts, the only workaround for removing the 4th wire would be to loopback the CLK signal on the transmitting device. For this to work, the configured clock speeds of both devices would have to be the same. This solution could also potentially cause synchronization issues with the clock and data lines, in which case, the delay line control functionality could be used to mitigate the issue on the receiver side. The following application note details how to detect and compensate for skew between the lines: Fast Serial Interface (FSI) Skew Compensation. Let me know if you have any more questions. 

    Best Regards,

    Delaney