FlexCAN Testing

i am writing to inquire about the FlexCAN module on our i.MX8QM-Apalis-Ixora board. We are currently testing the ability to send 3000 CAN frames in one second using the FlexCAN module, but we are facing some difficulties.

Initially, we attempted to use JCOM monitor and simulator for testing, but unfortunately, we were not able to send 3000 CAN frames using the simulator. We also found that JCOM monitor did not have the option to send 3000 CAN frames.

Next, we tried using the can-utils package(cansend and candump) and created a bash script to send the 3000 frames, but it took around 30 to 34 seconds to send all the frames.

We would greatly appreciate it if you could suggest any alternative testing methods or provide any guidance on how we can achieve sending 3000 CAN frames in one second using the FlexCAN module on our custom board.

Furthermore, we have set up two imx8qm-apalis-ixora boards, each with three FlexCAN connections. We intend to send CAN frames from one imx8qm-aplis-ixora board and receive them on the other imx8qm-apalis-ixora board. Could you please provide us with some guidance on how to set up and test this scenario effectively?


You mentioned 3000 msgs/s several times, but not the arbitration bitrate. 3000/s likely should fit 250kbps, but probably not 125kbps.

What about cansequence, cangen and canplayer from the same can-utils?

We have successfully brought up the CAN interface with the following command: ip link set can0 up type can bitrate 1000000. this bitrate are both side.

With this setup, we have been using the cansend and candump utilities from the can-utils package to send and receive CAN frames in a bash script. However, we have noticed that the achieved message rate falls short of our expectations.