查看: 3596|回复: 2

[分享] 在i.MX8QXP的MEK板上进行简单的CAN(FD)测试

[复制链接]
  • TA的每日心情
    开心
    2024-3-26 15:16
  • 签到天数: 266 天

    [LV.8]以坛为家I

    3298

    主题

    6545

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    32003
    最后登录
    2024-4-9
    发表于 2020-4-30 15:59:46 | 显示全部楼层 |阅读模式
    在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
    您可以检查 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-inc1
    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-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 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


    您可以使用示波器检查您的 CAN FD 框架(此处为 CAN 高电平):
    2.png
    您会看到帧的第一部分发送了@ 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

    签到签到
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-6-10 11:06
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    2

    主题

    10

    帖子

    0

    新手上路

    Rank: 1

    积分
    37
    最后登录
    2021-6-10
    发表于 2021-6-3 10:52:22 | 显示全部楼层
    Hello, 我这边用的iMX8QXP C0的板子, 启动后没找到CAN节点, 是这么回事? 望指点下。
    我用的是5.10的这个版本:
    sudo dd if=imx-image-full-imx8qxpc0mek.wic of=/dev/sdb bs=1M && sync

    启动后
    ifconfig -a没看到CAN节点。

    我用的是BB+CPU board
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-6-10 11:06
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    2

    主题

    10

    帖子

    0

    新手上路

    Rank: 1

    积分
    37
    最后登录
    2021-6-10
    发表于 2021-6-3 10:52:31 | 显示全部楼层
    Hello, 我这边用的iMX8QXP C0的板子, 启动后没找到CAN节点, 是这么回事? 望指点下。
    我用的是5.10的这个版本:
    sudo dd if=imx-image-full-imx8qxpc0mek.wic of=/dev/sdb bs=1M && sync

    启动后
    ifconfig -a没看到CAN节点。

    我用的是BB+CPU board
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-20 05:59 , Processed in 0.125781 second(s), 22 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表