SLUUDH5 January   2026

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. Introduction
  5. Overview of the Software Drivers for an EVSE Development Platform
  6. Recommended Test Setup for the AM62L-EVM and the AM62L-EVSE-DEV-EVM
  7. Software Out of Box with the AM62L-EVM and the AM62L-EVSE-DEV-EVM
  8. EVerest: Open Source Electric Vehicle Charging Infrastructure
  9. Testing PLC Communications
  10. Testing CAN Communications
  11. Testing UART Communications AM62L-EVM and the AM62L-EVSE-DEV-EVM
  12. Lab Testing Setup for the MSPM0
  13. 10Summary
  14. 11Additional Information and Resources

Testing CAN Communications

It is suggested that two AM62L with the companion AM62L-EVSE-DEV-EVM board wire the main_mcan0 interfaces together. Like the other sections in this document, the tests will be performed from an EVSE and PEV perspective as shown in this diagram.

 EVSE and PEV
                    Perspectives Figure 7-1 EVSE and PEV Perspectives

Some background first is to note that the default SDK comes with the MCAN support configured into the Linux kernel. The next thing to point out is that MCAN interfaces need to be enabled in the device tree source file. As pointed out earlier in the document, there is a device tree source overlay (dtso) file that describes the interfaces on the AM62L-EVSE-DEV-EVM board that has been provided as device tree binary (dtbo). This dtbo for the AM62L-EVSE-DEV-EVM board has the necessary MCAN interface configurations. The code assumes that the dtbo has been added to the uEnv.txt file in the boot partition of the SD card. This file is read by U-Boot during the system boot sequence.

 Connecting the Two Board CAN
                    Interfaces Figure 7-2 Connecting the Two Board CAN Interfaces

Please note the wire that is used to connect the two boards. Please be aware that when connecting CAN interfaces require termination resistors which are already on the lines between the connector and the CAN transceiver on the board.

The CAN1 transceiver on the AM62L-EVSE-DEV-EVM is directly connected to the main_mcan1 interface of the AM62L. To establish a connection between a second CAN interface of the AM62L and the second transceiver on the AM62L-EVSE-DEV-EVM, a wire must be connected between both boards.

The AM62L MCAN0 interface is routed to the J16 header located on the EVM. To connect the MCAN0 interface to the transceiver the following pins should be connected:

Table 7-1 J16 Pins
TIDA-010939 - J29 AM62L-EVM - J16 Function
Pin 1 To Pin 2 TX
Pin 2 To Pin 3 RX
Pin 3 To Pin 4 GND

If the MCAN2 interface of the AM62L should be used, connect J18 of the EVM with the CAN2 header on the AM62L-EVSE-DEV-EVM:

Table 7-2 J18 Pins
TIDA-010939 - J29 AM62L-EVM - J18 Function
Pin 1 To Pin 2 TX
Pin 2 To Pin 3 RX
Pin 3 To Pin 4 GND

Please refer to this link for more additional information on the MCAN driver in the TI Linux SDK. https://software-dl.ti.com/processor-sdk-linux/esd/AM62X/11_01_05_03/exports/docs/linux/Foundational_Components/Kernel/Kernel_Drivers/MCAN.html

The MCAN Interface configuration happens using network utilities called ip commands which are for managing various aspects of a system's network configuration. Please note that the MCAN interface is part of the system’s network stack. These commands are in the default file system of the TI Linux SDK.

The MCAN interface can be configured in one of two different modes, CAN and CAN-FD. For CAN mode perform this step:

ip link set main_mcan0 type can bitrate 1000000

The screen capture below shows the sequence of initializing the initialization for CAN and then checking the interface list for the can2 interface and its status. There are two methods shown here, ip-route2 based and ifconfig, net-utils based. Either method is fine to use for checking interface status.

For CAN-FD perform this step:

ip link set main_mcan0 type can bitrate 1000000 dbitrate 4000000 fd on

After initializing the interface an ip command is used to bring up the interface.

ip link set main_mcan0 up

To send frames the following commands would be used. For sending frames in CAN mode:

cansend main_mcan0 123#F00DCAFE

Notice the Board 2 console candump output matches what was sent using cansend from Board 1.

For sending frames in CAN-FD mode

cansend main_mcan0 113##2AAAAAAAA

candump main_mcan0

Notice the Board 2 console candump output matches what was sent using cansend from Board 1.

Additional information can be found in the above link to the MCAN Linux Kernel user guide in the above link.