返回列表 发新帖

CM4下SPI接口CAN模块配置流程

[复制链接]

11

主题

12

帖子

1万

积分

允许发帖

积分
10171
发表于 2021-6-11 14:48:01 | 显示全部楼层 | 阅读模式
本帖最后由 Mcuzone_LJY 于 2021-6-11 14:48 编辑

关键字:CM4,SPI,CAN

1. 所需材料
1. 带有官方40pin接口的CM4扩展底板一个,本文档使用野芯开发的CM4_UART扩展底板
2. CM4核心板一块
3. 野芯开发的SPI接口的CAN模块一个
4. 母对母杜邦线7pin
5. USB转CAN模块一个(用于PC端)
2. 硬件连接
按下表对应方式将模块与CM4_UART扩展底板的40pin接口相连接
SPI_CAN模块
树莓派标准40PIN
GND
GND
3V3
3V3
INT
GPIO25
SPI_CS
SPI0_CE0(GPIO8)
SPI_CLK
SPI0_CLK(GPIO11)
SPI_MOSI
SPI0_MOSI(GPIO10)
SPI_MISO
SPI0_MISO(GPIO9)
SPI_CAN模块引脚定义与官方标准40PIN引脚定义如下图所示:
QQ图片20210611142217.png
标准40pin.png
将USB转CAN模块的CAN_H与CAN_L和我们的SPI_CAN模块的CAN_H与CAN_L相连,整体硬件接线如下图所示:
接线.png

3. 通讯测试
不会烧写系统的同学请翻阅我们编写的系统烧写指南,里面有详尽的步骤供君详读,这边便不再赘述。烧好系统后,将HDMI、USB键盘、网线接好,确认电路无误后上电。
首先我们要在config.txt下加入如下代码,可使用vim或nano等编辑器:
dtparam=spi=on
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25
添加后如下图所示:
config.png
添加完后重启系统,输入sudo reboot即可重启系统,等待系统重启完毕后,输入dmesg | grep spi,查看SPI的信息:
dmesgspi.png
确认mcp2515被成功识别后,我们将CAN开启,输入如下代码:
sudo ip link set can0 up type can bitrate 1000000
sudo ifconfig can0 txqueuelen 65536
如下图所示无报错,则开启成功:
开启CAN.png
输入ifconfig,查看一下CAN的信息,正常情况如下图所示:
can-ifconfig.png
CAN正常后,我们需要测试其收发功能,输入sudo apt-get install can-utils,下载CAN工具:
can-utils.png
下载完成后,输入candump can0,进入接收状态,使用PC端CAN收发工具发送信息,验证模块的接收功能,然后Ctrl+C结束进程,输入cansend can1 000#11.22.33.44,测试模块的发送功能,可以多发送几条,看看模块的稳定性。
can收发.png
那么以上就是树莓派CM4下SPI接口CAN模块配置的全部内容,文中若有错误的地方还请各路大佬不吝指出,请洒潘江,各倾陆海!

回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表