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.

TCAN4550EVM: TCAN4550 - Communicating between two MSP432P4111 Launch Pad's using SPI

Part Number: TCAN4550EVM
Other Parts Discussed in Thread: TCAN4550, TCAN1043

Hi,

I am attempting to communicate in the following fashion: MSP432 -> TCAN4550EVM -> TCAN4550EVM -> MSP432.

The MSP432's have 3 wire SPI master code on them.

I am wondering what the default test mode is for the TCAN4550, from what I can tell it seems I am in a loop back mode.

1.) Which test mode should I use for my evaluation case? How do I switch to it using the EVM?

2.) Is there any sample code for a similar functionality?

3.) I have also noticed that at my SDO pin on both TCAN4550s, the voltage is at most 800mV, while SDI (from the MSP432) is around 3.3V. Note that I have VIO set to 3.3V on the EVM. Is this expected?

I appreciate any clarity or comments you may have on my set up, and please ask questions if you have them. Also, if there is anything I should be aware of/look out for, please advise.

Best,

Grant 

  • Hi Grant,

    Thank you for your questions.

    First, could you clarify what specific signals you are using for the 3-wire SPI? The TCAN4550 requires 4 signals for SPI communication (SDI, SDO, SCLK, and NCS).

    You are correct that the normal testmode for the TCAN4550 is the loopback mode. This would be helpful if you are just testing out the CAN controller side and looping it back on the SPI and logic pins (TXD/RXD) for the MSP430 to read. This loopback path will not cover the CAN bus signals, though.
    Instead, for your test setup which uses two EVMs and two MSP430s, I would suggest something slightly different. If you can put one of the MSP430 devices into a loopback mode on its own, then the CAN communication can be initiated from one end and loop all the way down to the other node and back, instead of staying just inside the TCAN4550 testmode. Does that make sense?
    So I think it would be helpful to implement the loopback at the MSP430 level for your setup, instead of the TCAN4550 level. I will check with one of our systems engineers to see if we have any example code for this situation.

    On your other question, it is not expected that you see only 800mV maximum out of the SDO pin. This pin should have the full range of the VIO supply, like the other SPI pins. Would you be able to provide me with a bit of info?
    1. What jumpers are being implemented on your EVM setups? Which jumpers are open and which ones are shunted?
    2. What are the exact positions of the "VIO Select" switch bank for each of the switches?

    Best Regards,
    Max Megee
    TI Transceiver Interface
  • Hi,

    Thanks for the reply.

    I am using SIMO, SOMI, and SCLK for three wire SPI. Going into SDI, SDO, and SCLK respectively.

    My understanding of the nCS pin is that it is active low, and only pulled high for programming. So I have left it disconnected. Perhaps I need to use this to program the device out of loopback mode?

    The reason I am using two MSP432s/TCAN4450s is because I eventually want to implement a TCAN1043 to act as a transceiver, with the TCAN4550 in controller mode. Would your modified test procedure still work with this change? How do I "initiate CAN communication"?

    I appreciate you looking into sample code.

    To answer your questions:

    1.) The only connections I have on the EVM are SDI/SDO/SCLK from the MSP432s. The GNDs are common across the MSP432s/TCAN4550s. J11/J14/J15 are shorted. For J17, 5V and 5V_HDR are shorted only. This is the out of the box set up.

    2.) The exact positions are: 5V - OFF, 3p3V - ON, 2p5V - OFF, 1p8V -OFF.

    Thanks in advance,

    Grant
  • Grant,

    Thank you for the information about your test setup.  I can tell you that you will need to operate the SPI while using the NCS pin along with the normal SPI communication.  Yes, it is active low, but the SPI interface requires a rising edge to be detected for some of the communication.  So it cannot be left disconnected.

    Thanks for the clarification about using an external transceiver.  You shouldn't need extra code in that case.  You will want to put the device into "Controller Test Mode" as you have already stated above.  You can do this via register 0800, the Modes of Operation register.  Bit 21 is test mode enable, and bit 0 is test mode configuration.  Set bit 0 to '1' in order to select Controller Mode, and set bit 21 to '1' in order to enable the test mode.

    After that, you should be able to use the same SPI configuration and communication method as you would for the normal TCAN4550 setup.  However, in Controller Mode, the CAN communication will be sent out of the GPIO1 and GPO2 pins.  Connect the external transceiver TXD input to the GPO2 pin, and connect the RXD output to the GPIO1 pin.  You can reference Figure 29 in the datasheet for the setup.  

    Have you gone through the Software Users Guide?  This document should help you to configure the TCAN4550 controller register space via SPI commands and initiate CAN communication.

    Let me know if I can provide further clarification to anything above.  Let me know if adding in the NCS pin connection helps with the voltage level you are seeing on some of the SPI. 

    Thanks,

    Max

  • Max,

    Thanks for the details, this is exactly what I was looking for, I will attempt some debugging this afternoon and keep you posted.

    Best,

    Grant