EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本文档介绍如何使用 can 工具测试 can。 给用户提供了“can_libs.rar”以及“can_tools.zip”压缩包,分别是 can 工具需要的库 文件和 can 工具二进制文件。 注意开发板需要有 can 模块才能使用正常使用 can 测试工具。本文档适用于 iTOP 所有开 发板。 下面介绍一下测试工具的使用方法。 1 硬件连接 作者测试 can,使用的是两块迅为开发板。两块开发板 can 的连接为“can-A 连接 can- A,B 连接 B”,imx6 的板子是 can 的“+连接+,-连接-”。 2 测试工具和库文件的使用 本节介绍如何配置工具和库文件。 1.将压缩包“can_libs.rar”和“can_tools.zip”解压得到“can_tools”和 “can_libs”,拷贝解压出来的文件到 tf 卡或者 u 盘,如下图所示。
3 D$ x) ], q2 ^1 V, p4 ?& B
: ]( x$ B1 P5 a6 y% p+ v2 z' D# I: f
5 P; E. K/ U2 N0 r; i. Y' ] e 7 e( x* R+ r: |% ^7 |
2.然后将 tf 卡或者 u 盘挂载到开发板上(参考使用手册 11.3.3 小节),如下图所示。
$ p9 A, M! s) f6 e+ _
" q. h2 B" R: W6 [* S+ @2 }4 j
+ i" m) _1 L' X" O+ a4 I
% x4 ?& \! V: C9 ^& U4 P3.拷贝工具软件到/bin 目录下,使用命令“ cp -r can_tools/* /bin/”,如下图所示。
. ~$ H" \5 x* Y# k- \1 i
! Y! B5 [6 }1 B' ^4 B8 @+ D3 B
* z" u! f) Q, H" T* c! y . s$ I1 Y# s) c7 G
4.如下图所示,可以看到 5 个 can 工具。注意在文档中,我们没有使用全部的工具,不过 并不影响我们测试 can。 % e9 `8 l2 m6 ~* P
$ u$ O+ y7 V' ]- ]
5 Z) Y" n+ e) i8 r! E, p 7 c; p' v# \- L5 a' N
5.使用命令“cp -r can_libs/* /lib/”拷贝库文件到/lib 目录下,如下图所示。 1 G n. X! T, ?
" `/ Q( @4 |; \3 l8 L5 \7 a7 z
9 c; y* a- j2 ?2 B$ q8 e
. A( F9 b% D/ T, s9 J# c; r+ `6.使用命令“cd /lib”进入到/lib 目录,使用“ln -s libsocketcan.so.2.2.1 libsocketcan.so”和“ln -s libsocketcan.so.2.2.1 libsocketcan.so.2”命令,生成链接文 件,如下图所示。
, e. m) s! y" Z; E/ [
, A5 _) i U1 d: A, W# t3 A
0 h8 u0 }7 g. m! w# H4 h 2 ^% o8 c6 o6 c
3 测试工具的使用 本节介绍 can 的测试工具的使用。 如下图所示,使用 ifconfig 命令,可以看到 can0 节点没有出现。 u, t$ T% w# D3 y- d* {5 G/ c* z$ v
% O: [2 f; \ U
' E. {1 N) F( \% V5 e - v. v: S: ~/ E( d' |& u6 U+ ^! K
2.即使出现了 can0,也因为没有配置可能无法使用,使用关闭 can0 的命令“ifconfig can0 down”,如下图所示。 ' C, m* _, x+ j5 }
2 j& ~. Y( B- S
. ~9 S. |6 _4 t5 G/ u
' V9 g( A( r& j9 I8 |1 |) s+ O3.配置 can0 的参数,使用命令: canconfig can0 bitrate 50000 ctrlmode triple-sampling on 或者 canconfig can0 bitrate 250000 ctrlmode triple-sampling on bitrate 50000 表示传输速率为 50000,bitrate 250000 表示传输速率为 250000。can 测试的两个设备传输速率需要保持一致。作者这里配置为 bitrate 50000,如下图所示,然后 使用命令“ifconfig can0 up”启动 can0。 # i" d8 f+ H4 [' m/ I% g; Z
5 g1 F! {: ^. B4 R! }2 {) G
+ `* k" c4 j3 p8 y7 `. U0 N- v1 B9 i# } , L1 A" B1 M/ K" a
4.接着使用命令“ifconfig”命令,如下图所示,可以看到 can 设备已经启动。 $ s, T+ z4 N) n+ N: Y
" K K2 L; i( J, v+ F
% h; Q. a* ?; A6 r7 L + B4 }2 k) R0 D y* g
5.在两块开发板的串口控制台,分别使用接收数据命令和发送数据命令。 如下图所示,接收命令“candump can0”监听数据。 2 h$ M# E$ Z+ |! N0 G4 S1 O7 E$ U/ b& S
A1 i" H7 \/ I% k* T q. J& v- h0 d
) n! }) A* P' ?4 V" D . R0 b) p! z/ ]8 K
如下图所示,发送命令“cansend can0 -i 0x10 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88 ”发送数据。 ) X6 |: E2 A: v3 Y6 a4 d
9 o1 v" \7 z S6 I% P! {! o
; ~. H# M$ @! k8 }
* y( G- A. p, J* ?( \如下图所示,发送端发送数据之后,接收端如下图所示,可以看到发送端的数据在接收端 已经收到,至此,can 测试已经完成。 ( d( L5 ?( u6 V0 B
p& U, @4 e1 Y9 J
2 |1 W$ n) D$ m3 i/ h, h5 ] U0 o
5 ~ C! U4 m' F
0 R' @1 M% }; i6 R, }3 @ |