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

Linux SDK

  1. Some EVMs do not have onboard CAN transceivers; there are no transceiver nodes in the respective DTS files. A device tree overlay needs to be applied on top of default dtb (that is, k3-am62x-sk-mcan.dtbo).
  2. To check if the device is registered or not, use the command dmesg | grep can.
  3. Refer to the respective SDK documentation to test MCAN from Linux prompt. If the external communication does not work, then test the internal loopback mode first, before proceeding further. To use loopback mode, use the command ip link set can0 type can bitrate 1000000 dbitrate 5000000 fd on loopback on.