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.

TCAN4550: Inquiry for TCAN4550

Part Number: TCAN4550

Tool/software:

Hi team,

Customer is using TCAN4550 EVM connect into their system, they are debugging. Get following question for 

1. Send: According to a demo found online, when calling TCAN4x5x_MCAN_WriteTXBuffer and TCAN4x5x_MCAN_TransmitBufferContents to send data, it is found that the function is only called once, but tcan4550 keeps sending. At this time, the above function is called again to modify the sending content, but it is found that it does not take effect, and the message of the first call is still sent.
2. Receiving: Using canoe to send a can message to TCAN, there is no ACK response. Is the tcan4550 configuration wrong?

Could you help share comments for the above 2 questions?

Customer on the CC list.

Thanks and Best Regards,

Will

  • HI Will,

    The TCAN4550 will try to continuously transmit a message until it is successfully acknowledged by another node on the CAN bus.  Whatever device is connected to the TCAN4550 on the CAN bus will need to acknowledge the message, or the message in that buffer will remain in the Pending Status.  You can disable the automatic retransmission feature by setting the DAR bit in the Control register to 1 (0x1018[6] = 1) and this will cause the device to transmit the message once and only once regardless of whether it received an ACK or not.

    If the messages sent to the TCAN4550 are not generating an ACK from the TCAN4550, then there is likely an issue with the configuration settings with the TCAN4550 and the other devices on the CAN bus.  All devices on the CAN bus should have the same configuration settings.

    You can find more information on how to configure the bit timing and messages in the following user's guides.

    TCAN45xx Software User's Guide (Link)

    M_CAN User's Manual (Link)

    Please review the device settings and make sure they match for all nodes on the CAN bus.  If there are incompatible bit timing parameters, then the TX and RX Error Counters could be increasing and monitoring the Error Counter Register (0x1040) and Protocol Status Register (0x1044) could help provide additional information.

    Regards,

    Jonathan

  • Hi Jonathan:

    Let's update some new questions for this case;

    Recently, we verified our product pcb board which include TCAN4550  and found that after board power on , we can read 0x4a0 value from 0x0820 register. Can you help introduce possibel reason about this error indication? Is there any ways can solve this issues?

  • And  TCAN4550‘s tx message can not receive ACK, keep sending

  • Hi Jeff,

    The device is not detecting CAN bus activity before the tsilence timer expires (0.6 to 1.2s).  This is setting CANSLNT (bit 10), which is the reason the device is also setting CANERR (bit 5) and GLOBALERR (bit 7).

    The tsilence timer is reset every time is sees a dominant to recessive or recessive to dominant transition on the bus.  If you do not have enough active messages on the bus to ensure a CAN message is transmitted at least every 0.6s, then these bits may be set.  This is common in early development stages.  The CANSLNT bit can be masked or disabled in the Interrupt Enables register 0x0830.

    If there is CAN bus activity, but the CANSLNT bit is still getting set, then there may be a physical issue with the connection of the device to the CAN bus or some other hardware/component related issue and I would suggest trying to use a scope to probe the CANH and CANL pins to make sure the signals are reaching the device, or use one of the device's test modes such as the Transceiver Test Mode to route out the TXD_INT and RXD_INT signals from the transceiver to verify the transceiver is reflecting the CAN bus data.

    Regards,

    Jonathan

  • Hi Jonathan:

    Thanks for your  suggestions; Please help to futher check the following questions:

    1.  We try to disable CANSLNT bit by controlling register 0x0830, but even if register 0x0830's value have been changed to 0x80962cff, the CANSLNT still appear;

    2. We found a strange issue is that if we set DAR bit to 1 (Automatic Retransmmision disabled), our tcan tx message can receive ACK signal, but when we set DAR bit to 0, TCAN tx message can not receive ACK;

    3.As the following screenshot shows, we found our tcan's CAN H's signal alaways maintain a same level.

  • HI Jeff,

    1.  We try to disable CANSLNT bit by controlling register 0x0830, but even if register 0x0830's value have been changed to 0x80962cff, the CANSLNT still appear;

    CANSLNT is bit 10 and is still set to 1 with register value 0x80962cff.  Also, I'm sorry if I wasn't complete in my previous response on this topic.  Disabling the CANSLNT bit in register 0x0830 will prevent the nINT pin from responding to this interrupt bit.  But it does not change the fact that the CAN bus silence has been detected.

    2. We found a strange issue is that if we set DAR bit to 1 (Automatic Retransmmision disabled), our tcan tx message can receive ACK signal, but when we set DAR bit to 0, TCAN tx message can not receive ACK;

    I'm not sure I understand you correctly.  Are you saying that when DAR = 1, the message you transmit receives an ACK signal from another CAN device on the bus, but when DAR = 0, the message you transmit does not receive an ACK from another CAN device on bus?  Is there any difference in the CAN message ID or Data fields?

    MCAN will transmit the message at least once.  If the message did NOT receive an ACK, and DAR = 0, then MCAN will try to transmit the message again until it receives an ACK.  But if DAR = 1, it will not try to transmit the message again.

    Therefore, the DAR bit setting should not determine whether the first transmission of the CAN message receives an ACK. 

    In my first response I suggested to monitor the Error Counter Register 0x1040) and Protocol Status Register (0x1044) for additional information related to the CAN message status.

    3.As the following screenshot shows, we found our tcan's CAN H's signal alaways maintain a same level.

    This all may be related to a hardware issue or damaged device or component on the board.  Are you monitoring on the TCAN4550's CANH Pin itself, or are there any other components in the signal path that could be damaged and blocking the signal.  I would check for bad solder connections and bad components on the signal path.  If there is no signal coming out of the TCAN4550 CANH pin, then this device may have been damaged and needs to be replaced.

    Regards,

    Jonathan

  • Hi Jonathan:

    Thanks, After checking from different view,  we found the root cause of the above issue is caused by our product pcb's a resistor. Our EE engineer changed pcb's resistor, and tcan start to work normarlly.

  • Hi Jeff,

    Thank you for letting me know and I am glad it is now working normally.

    Regards,

    Jonathan