Difference between revisions of "How to use CAN bus"
From IGEP - ISEE Wiki
m |
m |
||
Line 1: | Line 1: | ||
− | === IGEPv2 EXPANSION === | + | === IGEPv2 EXPANSION === |
− | + | ||
The IGEPv2 EXPANSION provides a CAN interface using MCP2515.<br> | The IGEPv2 EXPANSION provides a CAN interface using MCP2515.<br> | ||
Line 10: | Line 10: | ||
*canplayer: send CAN frames from a file to a CAN interface. | *canplayer: send CAN frames from a file to a CAN interface. | ||
− | In order to test the CAN interface you can connect IGEPv2 EXPANSION to a CAN device or network or to another IGEPv2 EXPANSION. | + | In order to test the CAN interface you can connect IGEPv2 EXPANSION to a CAN device or network or to another IGEPv2 EXPANSION. |
In the last case, you have to connect the two boards like this:<br> | In the last case, you have to connect the two boards like this:<br> | ||
Board 1 Board 2 | Board 1 Board 2 | ||
− | .--- | + | .--- .--- |
| 1 |-X X-| 1 | | | 1 |-X X-| 1 | | ||
− | | 2 |----------------| 2 | | + | | 2 |------------------| 2 | |
− | | 3 |----------------| 3 | | + | | 3 |------------------| 3 | |
− | | 4 |----------------| 4 | | + | | 4 |------------------| 4 | |
− | .--- | + | .--- .--- |
If this is your first time accessing CAN bus, check J702 jumper is not connected before follow this tutorial. If you don't have this jumper, don't worry because its function is only for testing. | If this is your first time accessing CAN bus, check J702 jumper is not connected before follow this tutorial. If you don't have this jumper, don't worry because its function is only for testing. | ||
Line 46: | Line 46: | ||
can0 1F334455 [0] remote request | can0 1F334455 [0] remote request | ||
− | Switch roles and try it again | + | Switch roles and try it again |
− | < | + | <br> |
− | [[Category: | + | [[Category:CAN_bus]] |
Revision as of 11:15, 27 August 2012
IGEPv2 EXPANSION
The IGEPv2 EXPANSION provides a CAN interface using MCP2515.
Several tools are provided by socketCAN to use this controller:
- candump: dump traffic on a CAN network.
- cansend: simple command line tool to send CAN-frames via CAN_RAW sockets.
- cangen: CAN frames generator for testing purpose.
- canplayer: send CAN frames from a file to a CAN interface.
In order to test the CAN interface you can connect IGEPv2 EXPANSION to a CAN device or network or to another IGEPv2 EXPANSION.
In the last case, you have to connect the two boards like this:
Board 1 Board 2 .--- .--- | 1 |-X X-| 1 | | 2 |------------------| 2 | | 3 |------------------| 3 | | 4 |------------------| 4 | .--- .---
If this is your first time accessing CAN bus, check J702 jumper is not connected before follow this tutorial. If you don't have this jumper, don't worry because its function is only for testing.
Now you can set up the interface (on all boards when using multiple IGEPv2 EXPANSION connected to a CAN network simultaneously):
/bin/ip link set can0 up type can bitrate 125000
If you want to receive CAN data, use:
candump can0
If you want to send CAN data, use:
cansend can0 123#AABBCCDD cansend can0 123#R cansend can0 1F334455#1122334455667788 cansend can0 1F334455#R
On the receiver side, you must see the following messages:
can0 123 [4] AA BB CC DD can0 123 [0] remote request can0 1F334455 [8] 11 22 33 44 55 66 77 88 can0 1F334455 [0] remote request
Switch roles and try it again