在高通msm8909上调试mcp2515芯片,使用的模块是飞凌嵌入式的mcp2515模块
原理图
1、飞线,需要电压转换芯片,使用的是TXB1080芯片(TXS1080针对spi有问题),5V供电mcp2515,转换芯片一端电压5V。
2、先调试spi能够通,能读到数据,
3、测mcp2515回环通路
ip link set can0 down
回环通路开关
ip link set can0 type can bitrate 250000 loopback on/off
ip link set can0 up
4、外接spi转can设备接电脑。
飞凌mcp2515 CAN_L和CAN_H标错了,可以量电压确认。
量波特率,看两端是否一致,
通过如下命令查看可能会不对,ip -details link show can0
5、
can能否达到1M 波特率,
需要使用晶振为16Mhz(飞凌嵌入式的mcp2515是8M晶振)才能达到1Mhz的波特率,8M晶振达不到1M。
可以根据datasheet来计算。
参考https://blog.csdn.net/zhoucoolqi/article/details/8222667
https://blog.csdn.net/qq_32815525/article/details/78457834
https://blog.csdn.net/qq_42169059/article/details/81986404
6、
发送数据
cansend can0 -i 8 -e 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x55
接收数据candump can0
使用canutils工具
https://blog.csdn.net/kunkliu/article/details/79108561
https://blog.csdn.net/qwaszx523/article/details/56489752?utm_source=blogxgwz6
https://blog.csdn.net/lushengchu_luis/article/details/77099239
参考代码: