29. 树莓派扩展板#
29.1. 树莓派RS485/CAN扩展板#
29.1.1. 简介#
由于rk3566不支持CAN通信,使用该扩展板可通过spi扩展出一路CAN,支持板卡型号有鲁班猫0N、鲁班猫0w、鲁班猫1、鲁班猫1N。
购买链接: (微雪)树莓派4B/3B+/Zero W RS485 扩展板
扩展板详细说明参考官方资料: 扩展板官方资料
以下说明只针对扩展板接鲁班猫板卡情况。
29.1.2. 使用说明#
注意
如果扩展板购买日期早于2019年8月份,晶振是8M的,需要修过设备树插件,将mcp251x_clk修改为8M,反之新版的,晶振是12M的则不需要。
29.1.2.1. 更新镜像#
野火2024年4月20日支持了该扩展板的使用,如果使用比这个日期旧的镜像,需要更新内核,如果比这个日期更新的镜像则不需要更新。
离线更新内核deb包:
将以上两个deb包传到板卡,然后执行 sudo dpkg -i linux*.deb ,更新内核,然后修改 /boot/uEnv/uEnv.txt,取消dtoverlay=/dtb/overlay/rk3566-lubancat-0-spi-can-mcp2515-overlay.dtbo注释,最后重启板卡即可。
如果是新镜像,则直接修改/boot/uEnv/uEnv.txt,取消dtoverlay=/dtb/overlay/rk3566-lubancat-0-spi-can-mcp2515-overlay.dtbo注释,最后重启板卡即可。
29.1.2.2. 硬件连接#
鲁班猫0N接扩展板实物如下:
鲁班猫1接扩展板实物如下:
29.1.2.3. CAN收发测试#
确认系统是否需要更新镜像,以及打开了对应设备树插件重启后才能进行测试。
29.1.2.3.1. 安装测试工具#
1sudo apt update
2sudo apt install can-utils
29.1.2.3.2. 回环测试#
将拓展板的CAN_H和CAN_L连接起来。
设置波特率以及回环模式:
1#将CAN0接口关闭
2sudo ip link set can0 down
3#设置比特率为 1000000Hz,同时启用回环模式
4sudo ip link set can0 type can bitrate 1000000 loopback on
5#将CAN0接口启用
6sudo ip link set can0 up
打开两个终端窗口,测试can0自发自收:
1#终端1
2candump can0
3
4#终端2
5cansend can0 000#11.22.33.44
6
7#或者只使用一个终端
8candump can0 &
9cansend can0 000#11.22.33.44
效果如下:
29.1.2.3.3. 与CAN分析仪通信测试#
将拓展板和分析仪进行连接。
扩展板 |
CAN分析仪 |
|---|---|
CAN_H |
CAN_H |
CAN_L |
CAN_L |
设置波特率并进行测试:
1#将CAN0接口关闭
2sudo ip link set can0 down
3#设置比特率为 1000000Hz
4sudo ip link set can0 type can bitrate 1000000
5#将CAN0接口启用
6sudo ip link set can0 up
7
8#发送(标准帧,数据帧,ID:123,date:DEADBEEF)
9cansend can0 123#DEADBEEF
10
11#接收
12candump can0
29.1.2.4. rs485使用说明#
扩展板rs485使用此处只做简单说明,打开对应插件正常收发即可。
打开40pin上的8、10引脚对应的uart设备树插件,然后将485设备接到扩展板A、B进行收发。
参考串口章节说明: 串口通信