在 i.MX8QXP 的 MEK 板上进行简单的 CAN(FD)测试
i.MX8 系列的一个新功能是支持 CAN-FD。幸运的是,MEK 板有一个 TJA1043 支持CAN-FD。以下文档显示了如何在 Linux 下进行简单的 CAN(FD)测试。
首先,将 CAN0 配置为 CAN 中的 500kps,CAN FD 中的 4Mbps:
$ ip link set can0 up type can bitrate 500000 sample-point 0.75 dbitrate 4000000 dsample-point 0.8 fd on
对 CAN1 也一样:
$ ip link set can1 up type can bitrate 500000 sample-point 0.75 dbitrate 4000000 dsample-point 0.8 fd on
现在,您可以在板上的 CAN0 和 CAN1 之间建立桥梁。最简单的方法是放置简单的电线(引脚 2 到引脚 2 a,d 引脚 7 到引脚 7),通常您必须绞合电线,但是因为它在您的桌子上,您可以避免它):
您可以检查 FlexCAN 的配置:
root@imx8qxpmek:~# ip -details link show can0
3: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 72 qdisc pfifo_fast state
UNKNOWN mode DEFAULT group default qlen 10
link/can promiscuity 0
can <FD> state ERROR-WARNING (berr-counter tx 0 rx 0)
restart-ms 0
bitrate 500000 sample-point 0.750
tq 25 prop-seg 29 phase-seg1 30 phase-seg2 20 sjw 1
flexcan: tseg1 2..64 tseg2 1..32 sjw 1..32 brp 1..1024 brp-inc 1
dbitrate 4000000 dsample-point 0.800
dtq 25 dprop-seg 3 dphase-seg1 4 dphase-seg2 2 dsjw 1
flexcan: dtseg1 1..39 dtseg2 1..8 dsjw 1..8 dbrp 1..1024 dbrp-inc
1
clock 40000000numtxqueues 1 numrxqueues 1 gso_max_size
65536 gso_max_segs 65535
root@imx8qxpmek:~# ip -details link show can1
4: can1: <NOARP,UP,LOWER_UP,ECHO> mtu 72 qdisc pfifo_fast state
UNKNOWN mode DEFAULT group default qlen 10
link/can promiscuity 0
can <FD> state ERROR-ACTIVE (berr-counter tx 0 rx 0) restart-
ms 0
bitrate 500000 sample-point 0.750
tq 25 prop-seg 29 phase-seg1 30 phase-seg2 20 sjw 1
flexcan: tseg1 2..64 tseg2 1..32 sjw 1..32 brp 1..1024 brp-inc 1
dbitrate 4000000 dsample-point 0.800
dtq 25 dprop-seg 3 dphase-seg1 4 dphase-seg2 2 dsjw 1
flexcan: dtseg1 1..39 dtseg2 1..8 dsjw 1..8 dbrp 1..1024 dbrp-inc
1
clock 40000000numtxqueues 1 numrxqueues 1 gso_max_size
65536 gso_max_segs 65535
root@imx8qxpmek:~#
现在,一个简单的测试可以是发送随机 CAN FD 消息,为此使用“ cangen”发送随机CAN FD 消 息 ( 请 阅 读 “ cangen” 文 档 : https : //manpages.debian.org/stretch-backports/can-utils/ cangen.1.en.html):
root@imx8qxpmek:~# cangen can0 -v -b -g 20
can1 3E6 [00]
can1 735 [20] F9 ED 40 53 AC CF 48 34 F9 ED 40 53 AC CF 48 34
F9 ED 40 53
can1 513 [20] 92 D2 E7 32 48 E6 EA 39 92 D2 E7 32 48 E6 EA 39
92 D2 E7 32
can1 03B [12] 6D 34 2F 11 52 8A 52 50 6D 34 2F 11
can1 47D [24] 72 08 88 0D E0 04 F7 09 72 08 88 0D E0 04 F7 09
72 08 88 0D E0 04 F7 09
can1 245 [00]
can1 6F6 [48] B9 82 A1 49 4E ED BA 06 B9 82 A1 49 4E ED BA 06
B9 82 A1 49 4E ED BA 06 B9 82 A1 49 4E ED BA 06 B9 82 A1 49
4E ED BA 06 B9 82 A1 49 4E ED BA 06
can1 1F4 [16] 03 5B 7C 00 DA E5 FA 03 03 5B 7C 00 DA E5 FA 03
can1 38A [48] 71 CE A3 1A C0 8A 4F 20 71 CE A3 1A C0 8A 4F 20
71 CE A3 1A C0 8A 4F 20 71 CE A3 1A C0 8A 4F 20 71 CE A3 1A
C0 8A 4F 20 71 CE A3 1A C0 8A 4F 20
can1 4C9 [20] 6C 5A 98 54 DD D1 CB 09 6C 5A 98 54 DD D1 CB 09
6C 5A 98 54
can1 536 [48] 25 B8 B6 43 71 CD 54 71 25 B8 B6 43 71 CD 54 71
25 B8 B6 43 71 CD 54 71 25 B8 B6 43 71 CD 54 71 25 B8 B6 43 71
CD 54 71 25 B8 B6 43 71 CD 54 71
can1 308 [02] C3 57
can1 33E [05] 65 8C 7B 21 83
can1 3F5 [05] EA E0 07 63 EB
can1 633 [03] 39 10 18
can1 25D [32] 01 4E 65 41 E8 4D 94 6F 01 4E 65 41 E8 4D 94 6F
01 4E 65 41 E8 4D 94 6F 01 4E 65 41 E8 4D 94 6F
can1 2FB [03] A8 D8 E3
can1 0DE [04] A1 11 3F 32
can1 012 [06] 85 23 B2 07 1A 03
can1 658 [08] A0 8A 2D 67 97 79 A1 64
can1 37D [05] 1A 57 E8 4F 72
can1 70A [04] 5E 6A B8 0F
can1 3A8 [07] 65 C5 48 76 05 B6 11
can1 5D4 [07] ED 03 A6 07 CF D8 DC
can1 7DA [05] 94 18 50 09 B8
can1 7A9 [05] CC 5E 02 74 BC
can1 3FC [01] D6
can1 599 [06] EB 23 02 61 16 D9
can1 47C [06] 88 20 F2 62 86 3B
can1 30A [06] C4 98 57 61 B2 4E
can1 57E [16] B8 04 86 5B 52 EB DF 45 B8 04 86 5B 52 EB DF 45
can1 191 [05] 22 C4 BC 26 6B
can1 53B [06] 23 AA AA 00 E4 F4
can1 6EB [64] A0 64 BE 5E E7 FA 20 1D A0 64 BE 5E E7 FA 20
1D A0 64 BE 5E E7 FA 20 1D A0 64 BE 5E E7 FA 20 1D A0 64 BE
5E E7 FA 20 1D A0 64 BE 5E E7 FA 20 1D A0 64 BE 5E E7 FA 20
。
。
。
未完>>>
点击查看完整版
|