简介
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";};
内置测试
接线定义
1.主板 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就可以通讯
测试命令接口
- 查询当前网络设备:
ifconfig -a
- CAN启动:
关闭CAN:
设置比特率500KHz:ip link set can0 down
打印can0信息:ip link set can0 type can bitrate 500000
启动CAN:ip -details -statistics link show can0BR2_PACKAGE_CAN_UTILS=yBR2_PACKAGE_IPROUTE2=y
ip link set can0 up
- CAN发送:
发送(标准帧,数据帧,ID:123,date:DEADBEEF):
发送(标准帧,远程帧,ID:123):cansend can0 123#DEADBEEF
发送(扩展帧,数据帧,ID:00000123,date:DEADBEEF):cansend can0 123#R
发送(扩展帧,远程帧,ID:00000123):cansend can0 00000123#12345678
cansend can0 00000123#R
- CAN接收:
开启打印,等待接收:
candump can0
