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.

ecan F28035PN receive data problem



Dear support,

We use C2000 evaluation board with Piccolo F28035PN card and try to use CAN communication with PC . I defined one transmit mailbox and send the data from the Piccolo and see these data on PC terminal. The very strange think is that I see that data is not only transmited from GPIO31, but it also received to GPIO30 (the same data as in GPIO31). We didn't define any loopback in HW. What could be the reason on this behaviors?

Thanks,Sabina

  • Sabina,

    This is expected behavior.  CAN is a bi-directional (multi-master) differential asynchronous serial bus.  The CAN data lines are a differential pair, not a separate TX and RX.  The transceiver takes everything on its CAN TX pin and puts it on the bus and the receiver inside the transceiver takes everything on the CAN bus and puts it on the CAN RX pin.  Therefore when your microcontroller transmits a CAN message the signal from the CAN TX is mirrored on CAN RX by the transceiver.  The CAN controller is smart and knows when it is transmitting and ignores the values on the CAN RX pin except for one small exception: the ACK bit.  If you look at both CAN TX and RX at the same time on a scope, you will see one bit near the end of a frame that is different.  This is the ACK bit.  This is created by another device on the bus beside the message transmitter to let the transmitter know that its message was received successfully.  If you remove the monitoring tool from the bus and try to transmit a frame, you will see the bus continuously loaded with traffic because the CAN controller message is not being received successfully (i.e. no ACK bit).  In this case the CAN RX and CAN TX will match up exactly.

    Make sense?

    Trey

  • Hi Trey,

    Thanks a lot for the exaplanation. Now it is much more clear for me. I removed monitorring from the bus and see that bus continuously loaded with traffic. 

    Thanks,Sabina