Can调用
更新时间:2026-10-26v0
简介
RK3506 总共支持两路 CAN 总线,但需要外置收发器,本品 NX-RK3506-SH 评估底板已经内置集成一路 CAN 收发器 ,可以直接外接 CAN 调试器进行测试
驱动文件
驱动文件所在位置:
RV1126/RV1109 使用:
drivers/net/can/rockchip/rockchip_can.c
RK3568/RK3588 使用:
drivers/net/can/rockchip/rockchip_canfd.c
RK3562 使用:
drivers/net/can/rockchip/rk3562_canfd.c
驱动节点
&can0 {
assigned-clocks = <&cru CLK_CAN0>;
assigned-clock-rates = <200000000>;
pinctrl-0 = <&rm_io25_can0_tx &rm_io26_can0_rx>;
pinctrl-names = "default";
status = "disabled";
};
&can1 {
assigned-clocks = <&cru CLK_CAN1>;
assigned-clock-rates = <200000000>;
pinctrl-0 = <&rm_io17_can1_tx &rm_io18_can1_rx>;
pinctrl-names = "default";
status = "okay";
};
内置测试
接线定义
主板 CANH 和 CANL 引脚分别接入 CAN 设备的 CANH 和 CANL
内置 CAN 和串口切换
电阻焊接代表 CAN 通讯,去掉电阻变为普通串口或 GPIO
外置测试
参考使用 TJA1051T 模块

接线定义
- 3.3V 供电
- GND
- 将配置的 CAN 的 TX 引脚接入 CTX
- 将配置的 CAN 的 RX 引脚接入 CRX
- TJA1051T 模块的 CANH 和 CANL 分别对接 CAN 通信的 H 和 L 就可以通讯
测试命令接口
- 查询当前网络设备:
ifconfig -a
- CAN 启动: 关闭 CAN:
ip link set can0 down
设置比特率 500KHz:
ip link set can0 type can bitrate 500000
打印 can0 信息:
ip -details -statistics link show can0
BR2_PACKAGE_CAN_UTILS=y
BR2_PACKAGE_IPROUTE2=y
启动 CAN:
ip link set can0 up
- CAN发送: 发送(标准帧,数据帧,ID:123,date:DEADBEEF):
cansend can0 123#DEADBEEF
发送(标准帧,远程帧,ID:123):
cansend can0 123#R
发送(扩展帧,数据帧,ID:00000123,date:DEADBEEF):
cansend can0 00000123#12345678
发送(扩展帧,远程帧,ID:00000123):
cansend can0 00000123#R
- CAN接收: 开启打印,等待接收:
candump can0
