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.

CCS/LAUNCHXL-F28379D: SPI signals interference

Part Number: LAUNCHXL-F28379D
Other Parts Discussed in Thread: MAX232

Tool/software: Code Composer Studio

Hi, 

I am working on a project where I establish SPI communication between 2 TMS320F28379D Delfino Boards. I want to use the maximum speed which is 40 Mbps, with wires of length 100 cm; but when I used wires with length of 50 cm, and configured the SPI to run at speed higher than 6 Mbps the received data at the 2 sides of communication become corrupted, even at speed 6 Mbps when my hands touches the wires, the data become corrupted.

So, Is there any wires specification or electrical circuit to act as an interface between the MCU and the wires to overcome this signals interference?

  • Hi there,

    Amr Mohamed said:
    Is there any wires specification or electrical circuit to act as an interface between the MCU and the wires to overcome this signals interference?

    It could be that the 4 mA drive of the pins on the device is not enough to drive that cable length.  You could try to design an op-amp buffer with a higher drive strength that can operate at your target speed to see if that works.  There may be an op-amp EVM or BoosterPack you can quickly modify that try out your design.

    However, I'm concerned that at your target speed and with that cable length you are going to face transmission line issues.  The fact that touching the wire has an effect on the data suggests you may already be running into these issues. 

    You may want to look at a communication interface more suited for long distances like RS-232, RS-485 or CAN with a well-shielded, impedance-controlled cable.  Although achieving a 40Mbps data rate may not be possible with those interfaces.

    Here are a few app notes that talk about transmission lines.  

    http://www.ti.com/lit/an/snoa746/snoa746.pdf?ts=1587999773929

    http://www.ti.com/lit/an/snla026a/snla026a.pdf?ts=1587999780426

  • Hi,

    For your suggestion to overcome long distance problem:

    -You may want to look at a communication interface more suited for long distances like RS-232, RS-485 or CAN with a well-shielded, impedance-controlled   cable.  Although achieving a 40Mbps data rate may not be possible with those interfaces.

    I tried RS-232 interface, I used 2 MAX232 to implement RS-232 interface, but SPI clock signal is filtered by this IC, data.

    This pictures was taken at SPI speed of 1MHz .

    *This picture has 2 signal the SPI CLK from MCU pin compared to SPI CLK output from MAX232 IC.

    *This picture has 2 signal the SPI MISO from MCU pin compared to SPI MISO output from MAX232 IC.

    So, it seems that RS232 interface is designed for low speed communication; Is RS485, and CAN interfaces will have the same problem?

  • Hi,

    SPI is intended for communication between integrated circuits at short distances.  To achieve communication over "long distances" at that speed you are going to need a line driver and receiver. Things like impedance of the cable and termination will also be important.  Here is a post asking a very similar question to yours.

    Amr Mohamed said:
    I tried RS-232 interface, I used 2 MAX232 to implement RS-232 interface, but SPI clock signal is filtered by this IC, data.

    The max data rate of the MAX232 is 120kbps.  You are exceeding the maximum data rate of the device and that's the reason the signal looks distorted.

    Amr Mohamed said:
    So, it seems that RS232 interface is designed for low speed communication; Is RS485, and CAN interfaces will have the same problem?

    Yes, these interfaces are generally considered "low speed", but their signal mechanism allows for longer distance communication.