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 模块

接线定义

  1. 3.3V 供电
  2. GND
  3. 将配置的 CAN 的 TX 引脚接入 CTX
  4. 将配置的 CAN 的 RX 引脚接入 CRX
  5. TJA1051T 模块的 CANH 和 CANL 分别对接 CAN 通信的 H 和 L 就可以通讯

测试命令接口

  1. 查询当前网络设备:
ifconfig -a
  1. 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
  1. 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
  1. CAN接收: 开启打印,等待接收:
candump can0

相关文档