Example MCAN on the A53 MPU¶
Goal¶
The goal of this example is to demonstrate how to use the mcan interfaces from the A53 MPU with a simple loop back test.
The som has three mcan buses. One is connected to the A53 MPU, and two are connected to the MCU M4. The two connected to the MCU M4 are broken out on the devboard and can easily be accessed. Starting in the 09 SDK, the A53 MPU can now access the two MCU mcan busses, however this is done in a polling mode and does not support interrupts.
CAN can be used for:- Communicate with other systems without a host computer
- Interfacing with external devices
See more info here: https://www.ti.com/lit/an/spracu9/spracu9.pdf
Please see this wiki page for accessing the can devices from the MCU M4: M4F_MCU_MCAN
Enable¶
To enable access to the CAN devices from the A53 MPU, you must enable the device tree overlay. This can be done u-boot with the following command:
setenv name_overlays k3-am62x-mitysom-mcan.dtbo # k3-am62a7-mitysom-mcan.dtbo for the 62a
To make this change permanent, add this line to your uEnv.txt (likely in
/run/media/boot-mmcblk1p1
):name_overlays=k3-am62x-mitysom-mcan.dtbo # k3-am62a7-mitysom-mcan.dtbo for the 62a
Setup¶
To bring up mcan0 run. The recommended bitrate is 500000
ip link set mcu_mcan0 type can bitrate <bitrate> ifconfig mcu_mcan0 up
Note: mcan1 is the same, just replace
mcu_mcan0
with mcu_mcan1
Testing¶
To test if the mcan devices are working, we can connect them together and run a simple loopback test:
- Connect the mcan terminals with jumper cables as shown:
- Install one of the termination jumpers (J17/J18):
- Download and run the cantest.sh
- Note: you will need to bring up both
mcu_mcan0
andmcu_mcan1
up for this test to run
- Note: you will need to bring up both
Go to top