SPRADP4 February   2025 AM620-Q1 , AM623 , AM625 , AM625-Q1 , AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM62P , AM62P-Q1 , AM67 , AM68A , AM69A , DRA821U , TDA4AEN-Q1 , TDA4AH-Q1 , TDA4AL-Q1 , TDA4AP-Q1 , TDA4VE-Q1 , TDA4VEN-Q1 , TDA4VH-Q1 , TDA4VL-Q1 , TDA4VM , TDA4VM-Q1 , TDA4VP-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
  5. 2MCAN Features
  6. 3MCAN Software Configuration
    1. 3.1 Filter Configuration
    2. 3.2 Transmitter Delay Compensation
    3. 3.3 MCAN Bit Timing Parameters
  7. 4Debug Tips to Resolve MCAN Communication Issues
    1. 4.1 Debugging the MCAN Hardware
    2. 4.2 Debugging using MCAN registers
      1. 4.2.1 MCAN Protocol Status Register
      2. 4.2.2 MCAN Error Counter Register
    3. 4.3 Understanding MCAN applications in TI SDKs
      1. 4.3.1 MCU PLUS SDK
      2. 4.3.2 Linux SDK
      3. 4.3.3 MCAL SDK
      4. 4.3.4 PDK
    4. 4.4 Other Common Issues
  8. 5Related FAQs
  9. 6Summary
  10. 7References

Other Common Issues

  • Pin Mux Configuration: Make sure the Pin Mux configuration is done as per the CAN instance usage and also check the pin mux registers are not getting over written else where to avoid failure.
  • Transceiver Configuration: Make sure that users the appropriate transceiver hardware connected to the MCAN module. The transceiver is essential for interfacing with the physical CAN bus. Verify that the transceiver settings match the communication requirements (that is, baud rate, termination resistors).
  • Acceptance Filtering: MCAN uses acceptance filters to determine which messages MCAN needs to process. If the acceptance filters are not configured correctly, then users can experience issues with message reception or transmission. Double-check the filter settings.
  • Frame Format: MCAN supports both standard CAN and CAN FD frames. Make sure that users are using the correct frame format (11-bit standard identifier or 29-bit extended identifier) based on the application requirements.
  • Error Handling: Monitor error counters (such as transmit error count and receive error count) to detect communication issues. Excessive errors can indicate issues with the bus or incorrect configuration.
  • Initialization Sequence: Follow the proper initialization sequence when setting up the MCAN module. Incorrect initialization can lead to unexpected behavior.
  • Message Buffer Configuration: Allocate MCAN message RAM correctly. Define the message buffers (TX FIFOs, RX FIFOs, and RX buffers) based on the application needs. Insufficient buffer space can cause dropped messages.
  • Loopback Mode: Use loopback mode during testing to verify that the MCAN module is functioning correctly. In loopback mode, transmitted messages are received back internally, allowing users to validate the communication path.
  • Interrupt Handling: Implement interrupt handlers for MCAN events (such as message reception, transmission, and error conditions). Proper interrupt handling makes sure of timely processing of messages. Check if the ISR is getting hit upon reception of a message. If this is getting hit when sending a message from the external CAN emulator, then check the interrupt status; this can be inferred from the MCAN_IR register.
  • Clock Configuration: The clock configuration needs to match the settings as mentioned in SDK guide. CAN clock is functional clock of CAN module, which runs at 80MHz