前言
rk3288芯片没有can数据线路,但是客户提出需求要用can通信,硬件就设计了一个简易的转接板,在spi通信线路下挂了一个mcp2515模块,实现spi转can通信。
1、mcp2515电路设计

can收发器
2、kernel配置
当前rk3288 kernel源码中已有mcp2515驱动代码,只需打开内核配置即可
kernel/arch/arm/configs/rockchip_defconfig
+CONFIG_CAN=y
+CONFIG_CAN_MCP251X=y
设备树配置
+&spi1 {
+ status = "okay";
+
+ can0: can@0 {
+ compatible = "microchip,mcp2515";
+ pinctrl-names = "default";
+ pinctrl-0 = <&can0_pins>;
+ reg = <0>;
+ clocks = <&clk16m>;
+ spi-max-frequency = <10000000>;
+ interrupt-parent = <&gpio8>;
+ interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
+ };
+};

本文讲述了在rk3288平台上通过SPI连接MCP2515实现CAN通信的过程,涉及驱动加载失败和can0启动问题的排查,包括驱动代码优化和硬件复用问题的解决。
最低0.47元/天 解锁文章
802





