IO-H2xCAN
隐溪科技研发的IO-H2xCAN功能板实现带总线隔离的双路CANFD接口支持,向下兼容CAN 2.0A/2.0B标准,基于标准socketCAN的驱动实现低时延和高稳定性的同时支持CAN报文的硬件时间戳。支持120欧终端匹配电阻通过开关可设置。
注意
H2xCAN的驱动自我司镜像的JP6.2.2版本后开始内置支持

功能说明
基于minipcie自定义扩展槽位
支持CAN FD标准并向下兼容CAN 2.0A/2.0B标准
支持CAN报文的硬件时间戳
支持120欧终端匹配电阻通过开关可设置:默认开启120
电气特性
2 x GH1.25 4Pin连接器
CAN 2.0 Specification
CAN FD Specification
符合 ISO11898 标准,支持 CAN FD 及最高 5 Mbps 数据速率
5V 隔离电源
接收器共模输入电压:±30 V
总线故障保护:±42 V,最高 5kV RMS隔离等级
接口定义

PIN |
信号线 |
|---|---|
1 |
COMM_5V |
2 |
COMM_GND |
3 |
CAN_H |
4 |
CAN_L |
配置使用
安装必要can工具
sudo apt-get install can-utils
检查系统的can驱动和接口
# 启动加载驱动
root@tegra-ubuntu:/home/nvidia# dmesg | grep gs_usb
[ 11.812295] gs_usb 1-3.3:1.0: Configuring for 2 interfaces
[ 11.817295] gs_usb 1-3.3:1.0: Success to create channel sysfs for ch0 (rc=0)
[ 11.822561] gs_usb 1-3.3:1.0: Success to create channel sysfs for ch1 (rc=0)
[ 11.822673] usbcore: registered new interface driver gs_usb
root@tegra-ubuntu:/home/nvidia# ifconfig -a | grep can
can0: flags=128<NOARP> mtu 16
can1: flags=128<NOARP> mtu 16
can2: flags=128<NOARP> mtu 16
说明:
- can0为orin nano/nx模组自带的can控制器,默认不引出
- can1和can2为H2xCAN创建的两个can接口
# CAN接口
nvidia@tegra-ubuntu:~$ ethtool -T can1
Time stamping parameters for can1:
Capabilities:
hardware-receive
hardware-raw-clock
PTP Hardware Clock: none
Hardware Transmit Timestamp Modes: none
Hardware Receive Filter Modes:
all
nvidia@tegra-ubuntu:~$ ethtool -T can2
Time stamping parameters for can2:
Capabilities:
hardware-receive
hardware-raw-clock
PTP Hardware Clock: none
Hardware Transmit Timestamp Modes: none
Hardware Receive Filter Modes:
all
接口自环测试
接口自环测试无需接口实际连线
# 设置接口为自环模式
sudo ip link set can1 type can bitrate 500000 loopback on
# 接口UP
sudo ip link set can1 up
# 接口监听数据
candump can1
# 接口测试数据
cansend can1 123#abcdabcd
载板接口外环测试
将本载板的两个CAN接口通过制作的外环直通线连接
PIN |
CAN1 |
直通线 |
CAN2 |
|---|---|---|---|
2 |
COMM_GND |
直连 |
COMM_GND |
3 |
CAN_H |
直连 |
CAN_H |
4 |
CAN_L |
直连 |
CAN_L |
设置两个CAN接口为FD模式
sudo ip link set can1 down
sudo ip link set can2 down
sudo ip link set can1 up type can bitrate 500000 dbitrate 1000000 berr-reporting on fd on
sudo ip link set can2 up type can bitrate 500000 dbitrate 1000000 berr-reporting on fd on
参数说明:
bitrate 500000 :设置 CAN 总线仲裁段速率为 500 kbps(CAN 2.0/CAN FD 通用,决定总线仲裁速度)
dbitrate 1000000 :设置 CAN FD 模式下数据段速率为 1 Mbps(仅 CAN FD 生效,决定数据传输速度)
berr-reporting on :开启总线错误报告功能(系统会记录 CAN 总线错误,便于调试)
fd on :启用 CAN FD 模式(CAN FD 是 CAN 2.0 的升级版,支持更高数据速率和更大帧长度)
can1作为监听/接收端
取绝对硬件时间戳间隔
candump -td -H can1
取绝对硬件时间戳
candump -tA -H can1
can2作为发送端
# 简单发送
cansend can2 001#01
cansend can2 123#abcdabcd
# 连续发送
cangen can2 -g 10 -I 123 -L i -vvv -f
参数说明:
-g 间隔10ms
-I 固定帧ID为123
-L i 发送帧长递增
-vvv 输出更多打印
-f 支持CAN FD发送(需配置链路为fd on)
can1收到报文带硬件时间戳
cangen按照10ms间隔发的递增长度帧(从 [00] 到 [64] 一轮,再循环)
所有间隔都围绕 10.0 ms ± 0.4 ms波动,抖动为0.4ms级别
nvidia@tegra-ubuntu:~/Downloads/hck-bsp-tools$ candump -td can1
(000.000000) can1 123 [00]
(000.010118) can1 123 [01] AA
(000.010176) can1 123 [02] AE D6
(000.010139) can1 123 [03] D0 10 F5
(000.010152) can1 123 [04] 20 F2 39 3C
(000.010376) can1 123 [05] 82 8C 00 68 A1
(000.010233) can1 123 [06] B9 A0 E0 49 CB CB
(000.010240) can1 123 [07] 61 EC 98 20 C7 2C 0C
(000.010146) can1 123 [08] 69 B3 E5 71 31 C0 FC 5C
(000.010398) can1 123 [12] E1 D2 29 08 73 C7 3E 6B E1 D2 29 08
(000.010191) can1 123 [16] 15 0F BB 4A B2 ED 42 3D 15 0F BB 4A B2 ED 42 3D
(000.010420) can1 123 [20] 78 69 B7 5D 80 D0 34 3B 78 69 B7 5D 80 D0 34 3B 78 69 B7 5D
(000.010256) can1 123 [24] 27 30 D6 30 C9 DB A4 38 27 30 D6 30 C9 DB A4 38 27 30 D6 30 C9 DB A4 38
(000.010276) can1 123 [32] 12 A8 FC 5F B5 B7 A9 0E 12 A8 FC 5F B5 B7 A9 0E 12 A8 FC 5F B5 B7 A9 0E 12 A8 FC 5F B5 B7 A9 0E
(000.010410) can1 123 [48] 6E 7B 6F 2F C4 71 3B 7F 6E 7B 6F 2F C4 71 3B 7F 6E 7B 6F 2F C4 71 3B 7F 6E 7B 6F 2F C4 71 3B 7F 6E 7B 6F 2F C4 71 3B 7F 6E 7B 6F 2F C4 71 3B 7F
(000.010542) can1 123 [64] D2 AC E6 71 BC 5B C2 08 D2 AC E6 71 BC 5B C2 08 D2 AC E6 71 BC 5B C2 08 D2 AC E6 71 BC 5B C2 08 D2 AC E6 71 BC 5B C2 08 D2 AC E6 71 BC 5B C2 08 D2 AC E6 71 BC 5B C2 08 D2 AC E6 71 BC 5B C2 08
(000.009014) can1 123 [00]
(000.010147) can1 123 [01] 3C
(000.010144) can1 123 [02] A3 F4
(000.010180) can1 123 [03] 57 6E BD
(000.010198) can1 123 [04] 2B C0 38 17
(000.010136) can1 123 [05] 64 A9 B8 58 E4
(000.010367) can1 123 [06] A5 C6 6E 28 C5 95
(000.010150) can1 123 [07] AB 8D 25 08 0E 7A 54
(000.010343) can1 123 [08] F6 55 4E 56 8C 60 4F 10
(000.010004) can1 123 [12] 81 41 93 05 0B 65 09 21 81 41 93 05
(000.010373) can1 123 [16] 3F 4E 92 4D F9 AA 4A 63 3F 4E 92 4D F9 AA 4A 63
(000.010280) can1 123 [20] 8C 35 3E 5C 66 7E 68 7E 8C 35 3E 5C 66 7E 68 7E 8C 35 3E 5C
(000.010672) can1 123 [24] C3 86 EF 1B 9E DD 3A 3C C3 86 EF 1B 9E DD 3A 3C C3 86 EF 1B 9E DD 3A 3C
(000.010040) can1 123 [32] 1B 36 12 0D 31 02 5F 4B 1B 36 12 0D 31 02 5F 4B 1B 36 12 0D 31 02 5F 4B 1B 36 12 0D 31 02 5F 4B
(000.010727) can1 123 [48] 62 4F 76 3B EE E2 F8 7E 62 4F 76 3B EE E2 F8 7E 62 4F 76 3B EE E2 F8 7E 62 4F 76 3B EE E2 F8 7E 62 4F 76 3B EE E2 F8 7E 62 4F 76 3B EE E2 F8 7E
(000.010315) can1 123 [64] ED 5D 21 54 67 39 FF 40 ED 5D 21 54 67 39 FF 40 ED 5D 21 54 67 39 FF 40 ED 5D 21 54 67 39 FF 40 ED 5D 21 54 67 39 FF 40 ED 5D 21 54 67 39 FF 40 ED 5D 21 54 67 39 FF 40 ED 5D 21 54 67 39 FF 40
(000.009292) can1 123 [00]
(000.010170) can1 123 [01] 1A
(000.010130) can1 123 [02] 35 27
(000.010219) can1 123 [03] D0 84 50
(000.010419) can1 123 [04] 4B 63 A2 21
(000.010144) can1 123 [05] 45 48 52 4C F0
(000.010382) can1 123 [06] F9 C3 5A 7B F1 D5
(000.010251) can1 123 [07] FE A3 65 64 EF 19 A9
(000.010331) can1 123 [08] 7D 36 C7 64 7F E5 F8 69
(000.010405) can1 123 [12] FB 7E B2 72 BC 84 59 32 FB 7E B2 72
(000.010202) can1 123 [16] 78 90 43 4D 87 B4 F0 4E 78 90 43 4D 87 B4 F0 4E
(000.010292) can1 123 [20] 23 03 C2 30 3B 17 33 69 23 03 C2 30 3B 17 33 69 23 03 C2 30
(000.010175) can1 123 [24] 25 92 2B 0B 3E 39 D4 3D 25 92 2B 0B 3E 39 D4 3D 25 92 2B 0B 3E 39 D4 3D
(000.010280) can1 123 [32] 6C 19 92 34 87 E1 A1 46 6C 19 92 34 87 E1 A1 46 6C 19 92 34 87 E1 A1 46 6C 19 92 34 87 E1 A1 46
(000.010406) can1 123 [48] 2C 1C CD 3C 5A 77 B3 08 2C 1C CD 3C 5A 77 B3 08 2C 1C CD 3C 5A 77 B3 08 2C 1C CD 3C 5A 77 B3 08 2C 1C CD 3C 5A 77 B3 08 2C 1C CD 3C 5A 77 B3 08
(000.010492) can1 123 [64] EE 1A A1 07 97 C5 21 64 EE 1A A1 07 97 C5 21 64 EE 1A A1 07 97 C5 21 64 EE 1A A1 07 97 C5 21 64 EE 1A A1 07 97 C5 21 64 EE 1A A1 07 97 C5 21 64 EE 1A A1 07 97 C5 21 64 EE 1A A1 07 97 C5 21 64
(000.009060) can1 123 [00]
(000.010070) can1 123 [01] A4
(000.010212) can1 123 [02] 79 7D
(000.010106) can1 123 [03] 1A C0 82
(000.010195) can1 123 [04] A9 16 B1 19
(000.010174) can1 123 [05] B4 0A 60 1B A3
(000.010191) can1 123 [06] 50 DE 4C 56 B2 AE
(000.010145) can1 123 [07] 92 F4 B4 66 CE 14 14
(000.010225) can1 123 [08] 31 94 BE 69 8D 73 67 59
常见说明
无