CAN
CAN (Controller Area Network) 总线,即控制器局域网总线,是一种有效分布式控制或实时控制的串行通信网络。
Warning
拓展引脚上的 CAN 为芯片原生接口,没有通过 CAN 收发器,使用时需外接 CAN 收发器模块。
Rockchip 平台拓展引脚 CAN 信息如下:
| 主板 | SOC | 拓展引脚 |
|---|---|---|
| K1 | RK3568 | CAN X2 |
| K1B | RK3568 | 无 |
| K3 | RK3562 | 无 |
| K7 | RK3576 | CAN X1 |
| K7C | RK3576 | CAN X1 |
| K8 | RK3588 | CAN X1 |
DTS 节点配置
下面为 Rockchip 平台 CAN 设备 0 节点配置示例:
驱动文件
RK3568/RK3588 平台 CAN 总线驱动路径如下:
RK3562 平台 CAN 总线驱动路径如下:
RK3576 平台 CAN 总线驱动路径如下:
查询当前CAN设备
查询当前网络设备:
操作示例:
console$ ifconfig -a
...
can0 Link encap:UNSPEC Driver rk3576_canfd
NOARP MTU:16 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:0 TX bytes:0
Interrupt:63
...
CAN 配置
关闭 CAN:
设置 can0 为 500Kbps 的比特率,并关闭 CAN FD 模式:
设置 can0 仲裁段 1M 波特率,数据段 3M 波特率,启动 CAN FD 模式:
查看 can0 配置信息:
启动 CAN:
CAN 发送
发送(标准帧,数据帧,ID:123,date:DEADBEEF):
发送(标准帧,远程帧,ID:123):
发送(扩展帧,数据帧,ID:00000123,date:DEADBEEF):
发送(扩展帧,远程帧,ID:00000123):
CAN 接收
开启打印,等待接收: