在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),通常您必须绞合电线,但是因为它在您的桌子上,您可以避免它):

1.png (331.23 KB, 下载次数: 7)

2020-4-30 15:26 上传您可以检查 FlexCAN 的配置:

root@imx8qxpmek:~# ip -details link show can0

3: can0: mtu 72 qdisc pfifo_fast state

UNKNOWN mode DEFAULT group default qlen 10

link/can promiscuity 0

can 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-inc1

clock 40000000numtxqueues 1 numrxqueues 1 gso_max_size

65536 gso_max_segs 65535

root@imx8qxpmek:~# ip -details link show can1

4: can1: mtu 72 qdisc pfifo_fast state

UNKNOWN mode DEFAULT group default qlen 10

link/can promiscuity 0

can 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-inc1

clock 40000000numtxqueues 1 numrxqueues 1 gso_max_size

65536 gso_max_segs 65535

root@imx8qxpmek:~#

现在,一个简单的测试可以是发送随机 CAN FD 消息,为此使用“ cangen”发送随机CAN FD 消 息 ( 请 阅 读 “ cangen” 文 档 :点击下载):

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 34F9 ED 40 53

can1 513 [20] 92 D2 E7 32 48 E6 EA 39 92 D2 E7 32 48 E6 EA 3992 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 0972 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 06B9 82 A1 49 4E ED BA 06 B9 82 A1 49 4E ED BA 06 B9 82 A1 494E 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 2071 CE A3 1A C0 8A 4F 20 71 CE A3 1A C0 8A 4F 20 71 CE A3 1AC0 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 096C 5A 98 54

can1 536 [48] 25 B8 B6 43 71 CD 54 71 25 B8 B6 43 71 CD 54 7125 B8 B6 43 71 CD 54 71 25 B8 B6 43 71 CD 54 71 25 B8 B6 43 71CD 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 6F01 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 201D A0 64 BE 5E E7 FA 20 1D A0 64 BE 5E E7 FA 20 1D A0 64 BE5E E7 FA 20 1D A0 64 BE 5E E7 FA 20 1D A0 64 BE

您可以使用示波器检查您的 CAN FD 框架(此处为 CAN 高电平):

2.png (40.09 KB, 下载次数: 6)

2020-4-30 15:26 上传您会看到帧的第一部分发送了@ 500kps,第二部分发送了@ 4Mbps。如果您拔掉一根电线,将不再发送消息,因为不会进行确认。您也可以在没有灵活数据速率的情况下发送消息。在我们的例子中,我们将以500kps 的速度发送长帧(帧末不再有 4Mbps 的传输):

imx8qxpmek:~# cangen can0 -v -f -g 20

can0

6FE##0.6B.C6.BA.1A.82.2D.29.7E.6B.C6.BA.1A.82.2D.29.7E.6B.C6.BA.1A.82.2D.29.

7E.6B.C6.BA.1A.82.2D.29.7E.6B.C6.BA.1A.82.2D.29.7E.6B.C6.BA.1A.82.2D.29.7E.6B.

C6.BA.1A.82.2D.29.7E.6B.C6.BA.1A.82.2D.29.7E

can0 3E2##0.D4.9E.3D

can0 1DE##0.D0.D8.33.50.7E.39

can0 7CE##0.FA.68.25.74.86.E7.E1.4A.FA.68.25.74.86.E7.E1.4A.FA.68.25.74

can0 7C3##0.58.E6.F2.1E.BD.7D.F8.7F

can0

32A##0.0D.06.98.0D.08.81.5C.4E.0D.06.98.0D.08.81.5C.4E.0D.06.98.0D.08.81.5C.4

E.0D.06.98.0D.08.81.5C.4E.0D.06.98.0D.08.81.5C.4E.0D.06.98.0D.08.81.5C.4E

can0

48B##0.76.48.B4.34.59.81.B9.47.76.48.B4.34.59.81.B9.47.76.48.B4.34.59.81.B9.47.

76.48.B4.34.59.81.B9.47.76.48.B4.34.59.81.B9.47.76.48.B4.34.59.81.B9.47.76.48.B4.

34.59.81.B9.47.76.48.B4.34.59.81.B9.47

can0

3FC##0.6E.70.F7.36.FB.82.B9.00.6E.70.F7.36.FB.82.B9.00.6E.70.F7.36.FB.82.B9.0

0.6E.70.F7.36.FB.82.B9.00.6E.70.F7.36.FB.82.B9.00.6E.70.F7.36.FB.82.B9.00.6E.70.

F7.36.FB.82.B9.00.6E.70.F7.36.FB.82.B9.00

can0 4BE##0.7D.B0.E2.7E.A0.F0.DF.24.7D.B0.E2.7E

can0 60C##0.0E

can0

257##0.69.11.0C.4B.25.CA.16.65.69.11.0C.4B.25.CA.16.65.69.11.0C.4B.25.CA.16.65.

69.11.0C.4B.25.CA.16.65.69.11.0C.4B.25.CA.16.65.69.11.0C.4B.25.CA.16.65

can0 0BA##0.AB.B1.F8

can0 0FC##0.3A.7E.FB.34

can0 452##0.2F.4D.04.26.DE.80.EA

can0 2C7##0.37.02.A4.4D.C3

can0 0B4##0.BE.39.AD.3B.73

can0 17E##0.13.66.44.6A.8A.8F.CE.7A.13.66.44.6A.8A.8F.CE.7A.13.66.44.6A

linux imx can 测试,在i.MX8QXP的MEK板上进行简单的CAN(FD)测试相关推荐

  1. 编译linux系统到开发板,Linux系统有关交叉编译和移植到6410开发板上的简单过程...

    在进行移植之前,要检查一下目标机(这里指6410开发板)与宿主机之间的接线问题,即串口线.网线是否正确连接,目标机的电源是否插好!在接线问题解决后,才能保证交叉编译正常进行! 个人理解,移植的主要思想 ...

  2. linux下I2C驱动体系结构及在FL2440开发板上的具体实现

    最近一段时间,我在网上看了一些关于linux下i2c的文档,对i2c有了一些较浅层次了解.写这篇博客,主要是对现在已经掌握知识的巩固. Linux下I2C驱动体系结构 Linux下I2C驱动体系结构由 ...

  3. 使用QT程序控制Linux开发板上的继电器(一)

    `使用QT程序控制Linux开发板上的继电器(一)` 测试平台介绍 测试系统接线 编写PlatformIO驱动程序 修改设备树 烧录设备树 Platform字符设备驱动设备框架 完善驱动框架 编写测试 ...

  4. 正点原子Linux阿尔法开发板4.3 寸多点电容触摸屏测试问题和gt9xx系列linux驱动移植

    正点原子Linux阿尔法开发板4.3 寸多点电容触摸屏测试问题和gt9xx系列linux驱动移植 正点原子官方CSDN 4.3 寸多点电容触摸屏测试问题 正点原子gt9xx系列linux驱动移植 1. ...

  5. Linux上网络端口通不通如何测试

    方法1:telnet命令 telnet命令是测试网络最常用的工具,使用方式telnet 远程ip port. 如图,是网络端口通和不通的两种情况,当出现telnet: connect to addre ...

  6. linux 进程间通信 dbus-glib【实例】详解四(上) C库 dbus-glib 使用(附代码)(编写接口描述文件.xml,dbus-binding-tool工具生成绑定文件)(列集散集函数)

    linux 进程间通信 dbus-glib[实例]详解一(附代码)(d-feet工具使用) linux 进程间通信 dbus-glib[实例]详解二(上) 消息和消息总线(附代码) linux 进程间 ...

  7. qt 4.8.4 linux,Tslib和Qt 4.8.4与在开发板上的移植

    这篇博客算是接着Linux 下编译.安装.配置 QT这篇的,搞完PC平台的就来弄一下嵌入式平台的,Linux的东西搞起来麻烦的地方就在于太杂.太散,像QT,各版本之间都有很多差异,因此在网络上查找资料 ...

  8. linux开发板上程序如何调试,linux开发板调试典型方法

    tftpd sudo apt-get install tftpd openbsd-inetd 将/etc/inetd.conf中的最后一个路径设置成你希望让客户端存取文件的目录例如下面的"/ ...

  9. Linux单独编译设备树,迅为IMX6Q开发板-非设备树内核-单独编译内核驱动

    内核驱动不仅可以将驱动编译到内核中,还可以动态的编译内核驱动.本文档介绍如何以模块的方式编译内核驱动. 要动态的编译内核,首先需要将内核源码编译通过,内核的编译请参考使用手册第五章. 9.5.2.1 ...

  10. 嵌入式Linux开发板上NFS文件系统的使用【ZT】

    本文转载于http://www.dz863.com/RTOS/Embedded-linux/Linux-NFS.htm 本文描述了在开发嵌入式linux系统时调试程序的一个方法,本文以深圳远峰的YF2 ...

最新文章

  1. 好用到哭!你需要立刻学会的20个Python代码段
  2. android 共享代码,Android团队成员间的代码共享!(Git+Github版)
  3. float python_Python中float('INF')的使用
  4. Oracle基本概念与数据导入
  5. 神经架构搜索(Neural Architecture Search,NAS)介绍
  6. D1. Kirk and a Binary String (easy version)
  7. Uber新CEO的第一把火:停止运营Xchange Leasing租车业务
  8. 【Spring】Service 注入失败,空指针
  9. python有趣小程序-Python里的17个quot;骚操作”好玩有趣
  10. 加州大学洛杉机分校计算机科学,加州大学洛杉矶分校计算机科学与工程世界排名2017年最新排名第6(ARWU世界排名)...
  11. SpringBoot 集成SpringSecurity整体流程
  12. 解决win10下高分屏的字体显示模糊问题
  13. jsp70786体育馆售票门票系统
  14. hyperf使用curl产生的超时问题
  15. 奥运会数据可视化展示
  16. DDR4的特性与电气参数
  17. 数据治理系列(三):主数据管理
  18. 51nod《拉勾专业算法能力测评》测试有感
  19. 韩国KOBA蓄电池 全系列电池供应
  20. python接口测试+ununittest之verbosity

热门文章

  1. 游戏服务器背包系统,Unity MMORPG 背包系统如何设计
  2. 病毒木马查杀实战第011篇:QQ盗号木马之专杀工具的编写
  3. JavaScript JQuery 交互式Web前端开发
  4. HetConv--Heterogeneous-Kernel-Based-Convolutions-for-Deep-CNNs
  5. 中国创新“先锋”企业系列报道
  6. 2020年python考试时间_想准备2021年三月份的Python考试,应该怎么准备呢?
  7. 【读书笔记->统计学】11-01 总体和样本的估计-总体均值、样本均值、点估计量、总体方差、估计总体方差概念简介
  8. 计算机不能启动 无法验证数字签名,电脑提示“无法验证此文件的数字签名”的修复方法...
  9. 台式计算机怎样能搜无线连接,台式电脑如何连接无线网络
  10. DVWA-Writeup