简介

RK3506 总共支持两路CAN总线,但需要外置收发器,本品 NX-RK3506-SH 评估底板已经内置集成一路 CAN 收发器 ,可以直接外接CAN调试器进行测试

驱动文件

驱动文件所在位置:

RV1126/RV1109使用:

  1. drivers/net/can/rockchip/rockchip_can.c

RK3568/RK3588使用:

  1. drivers/net/can/rockchip/rockchip_canfd.c

RK3562使用:

  1. drivers/net/can/rockchip/rk3562_canfd.c

驱动节点

  1. &can0 {
  2. assigned-clocks = <&cru CLK_CAN0>;
  3. assigned-clock-rates = <200000000>;
  4. pinctrl-0 = <&rm_io25_can0_tx &rm_io26_can0_rx>;
  5. pinctrl-names = "default";
  6. status = "disabled";
  7. };
  8. &can1 {
  9. assigned-clocks = <&cru CLK_CAN1>;
  10. assigned-clock-rates = <200000000>;
  11. pinctrl-0 = <&rm_io17_can1_tx &rm_io18_can1_rx>;
  12. pinctrl-names = "default";
  13. status = "okay";
  14. };

内置测试

接线定义

1.主板 CANH 和 CANL 引脚分别接入CAN设备的 CANH和 CANL

如图参考

内置CAN和串口切换

电阻焊接代表CAN通讯,去掉电阻变为普通串口或GPIO,如图

外置测试

参考使用TJA1051T模块

Can调用 - 图1

接线定义

1.3.3v 供电

2.GND

3.将配置的 CAN的TX引脚接入CTX

4.将配置的 CAN的RX引脚接入CRX

5.TJA1051T模块的CANH和CANL分别对接CAN通信的H和L就可以通讯

测试命令接口

  1. 查询当前网络设备:
    1. ifconfig -a
  2. CAN启动: 关闭CAN:
    1. ip link set can0 down
    设置比特率500KHz:
    1. ip link set can0 type can bitrate 500000
    打印can0信息:
    1. ip -details -statistics link show can0
    2. BR2_PACKAGE_CAN_UTILS=y
    3. BR2_PACKAGE_IPROUTE2=y
    启动CAN:
    1. ip link set can0 up
  3. CAN发送: 发送(标准帧,数据帧,ID:123,date:DEADBEEF):
    1. cansend can0 123#DEADBEEF
    发送(标准帧,远程帧,ID:123):
    1. cansend can0 123#R
    发送(扩展帧,数据帧,ID:00000123,date:DEADBEEF):
    1. cansend can0 00000123#12345678
    发送(扩展帧,远程帧,ID:00000123):
    1. cansend can0 00000123#R
  4. CAN接收: 开启打印,等待接收:
    1. candump can0