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.

TMS320F28235: Doubt of CAN module

Part Number: TMS320F28235


Hi, 

Just one doubt about CAN module's TX pin, is it possible that, the TX pin can't output any signal in CAN mode, but can output signal when configured as GPIO output?

On customer's board, CANB module can receive message, but can't transmit. With the help of ossicialiscope, there's no signal too.

But, when configuring the pin as GPIO output, it can output signals.

Before further test, I'd like to know the possibility. 

Thanks a lot.

Br, Jordan

  • is it possible that, the TX pin can't output any signal in CAN mode, but can output signal when configured as GPIO output?

    It is unlikely, but possible.

    CANB module can receive message, but can't transmit

    A module that successfully receives a message will transmit an ACK. Did you check if the module is generating the ACK signal? Unless the ACK signal is generated by another node in the network, the transmitter will keep transmitting forever. 

    Figure 4 in http://www.ti.com/lit/sprace5 clearly shows you where to look for ACK. More waveforms at http://www.ti.com/lit/spracq3

    Please run the CAN_TXLOOP_A example from http://www.ti.com/lit/spra876. It is a tested example. That would conclusively tell you whether there is a defect in the CAN module of the chip.

  • Hareesh,

    Demo code ecan_back2back was used yesterday, but no signals were founded on oscillascope.

    Let me try CAN_TXLOOP_A  and feedback you.

    Thanks a lot.

    Br, Jordan

  • That example uses self-test mode. You will not see any activity on the CANTX pin.

    //! This example uses the self-test mode of the CAN module. i.e. the
    //! transmission/reception happens within the module itself (even the required
    //! ACKnowldege is generated internally in the module). Therefore, there is no
    //! need for a CAN transceiver to run this particular test case and no activity
    //! will be seen in the CAN pins/bus. Because everything is internal, there is
    //! no need for a 120-ohm termination resistor. Note that a real-world CAN
    //! application needs a CAN transceiver and termination resistors on both ends
    //! of the bus.