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

MCAL SDK

  1. CanApp_Startup ()

    1. Builds interrupt list and registers ISR for enabled CAN instances

  2. CanApp_PowerAndClkSrc ()

    1. Dummy function for now.

  3. CanApp_PlatformInit ()

    1. Pinmux configuration required for internal loopback testing mode

      1. Write 0x08050007 to specific pad config control register for the MCAN transceiver pin. Further details can be found under Device Configuration > Control Module in TRM.

      2. Confirm the CAN transceiver is enabled by performing a read and compare on the same pin.

    2. Enables CAN Transceiver connected to CAN instances. Please note that for internal loopback testing this is not applicable.

  4. CanApp_LoopbackTest ()

    1. For each enabled instance, follow the steps below:

      1. Initialize CAN hardware

      2. Setup PDU info to transmit

      3. Set CAN controller mode to START

      4. Enable loopback mode

      5. Trigger CAN transmission

      6. Wait for transmission completion

      7. Check for Tx and Rx confirmation success

      8. Set CAN controller mode to STOP

      9. Disable loopback mode

      10. Compare received message Id and Data with PDU Info

  5. Checks for error status, stack corruption and prints result