TS-7670 CAN: Difference between revisions
(Created page with "The TS-7670 i.MX286 CPU has two FlexCAN ports that use the linux SocketCAN implementation. The ports can be set up and used with the following commands: <source lang="bash"> ...") |
(Removed invalid link and reordered section to allow for appending of generic section) |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
The TS-7670 i.MX286 CPU has two FlexCAN ports that use the linux SocketCAN implementation. The ports can be set up and used with the following commands: | The TS-7670 i.MX286 CPU has two FlexCAN ports that use the linux SocketCAN implementation. The ports can be set up and used with the following commands: | ||
<source lang="bash"> | <source lang="bash"> | ||
modprobe flexcan | modprobe flexcan | ||
ifconfig can0 up | ifconfig can0 up | ||
ifconfig can1 up | ifconfig can1 up | ||
</source> | </source><br> | ||
In order to set the baud rate of either CAN interface, the interface must first be brought down with: | |||
<source lang="bash"> | |||
ifconfig canX down | |||
</source><br> | |||
Where "X" is interface 0 or 1. At this point, the desired baud rate can be directly entered in to the file "/sys/devices/platform/FlexCAN.X/bitrate", where X is the desired interface. For example, to set a baud rate of 750kHz on both interfaces: | |||
<source lang="bash"> | |||
echo 750000 > /sys/devices/platform/FlexCAN.0/bitrate | |||
echo 750000 > /sys/devices/platform/FlexCAN.1/bitrate | |||
</source><br> | |||
At this point the ports can be used with standard SocketCAN libraries. In debian we provide cansend and candump to test the ports or as a simple packet send/recv tool. In order to test the two ports together, tie CAN_H of both CAN ports together, and do the same for CAN_L. Then use the following commands: | At this point the ports can be used with standard SocketCAN libraries. In debian we provide cansend and candump to test the ports or as a simple packet send/recv tool. In order to test the two ports together, tie CAN_H of both CAN ports together, and do the same for CAN_L. Then use the following commands: | ||
<source lang="bash"> | <source lang="bash"> | ||
candump can0 & | candump can0 & | ||
cansend can1 | cansend can1 can1 7DF#03010C | ||
#This command will return | #This command will return | ||
can0 | can0 7DF [3] 03 01 0C | ||
</source> | </source><br> | ||
Latest revision as of 10:28, 20 July 2016
The TS-7670 i.MX286 CPU has two FlexCAN ports that use the linux SocketCAN implementation. The ports can be set up and used with the following commands:
modprobe flexcan
ifconfig can0 up
ifconfig can1 up
In order to set the baud rate of either CAN interface, the interface must first be brought down with:
ifconfig canX down
Where "X" is interface 0 or 1. At this point, the desired baud rate can be directly entered in to the file "/sys/devices/platform/FlexCAN.X/bitrate", where X is the desired interface. For example, to set a baud rate of 750kHz on both interfaces:
echo 750000 > /sys/devices/platform/FlexCAN.0/bitrate
echo 750000 > /sys/devices/platform/FlexCAN.1/bitrate
At this point the ports can be used with standard SocketCAN libraries. In debian we provide cansend and candump to test the ports or as a simple packet send/recv tool. In order to test the two ports together, tie CAN_H of both CAN ports together, and do the same for CAN_L. Then use the following commands:
candump can0 &
cansend can1 can1 7DF#03010C
#This command will return
can0 7DF [3] 03 01 0C