RK3588开发笔记-spi扩展canfd芯片MCP2518FD调试笔记

本文记录了在RK3588上通过SPI接口扩展CANFD芯片MCP2518FD的详细过程,包括原理图连接、内核配置、设备树配置和设备调试。通过调试,实现了与CAN总线的稳定通信,为项目开发提供支持。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

前言

一、MCP2518FD

二、原理图连接

三、内核配置

四、设备树配置

五、设备调试

总结


前言

        在嵌入式系统开发中,CANFD(控制器局域网灵活数据速率)是一种广泛应用于汽车和工业自动化领域的通信协议。为了满足项目需求,我们在RK3588平台上通过SPI接口扩展了CANFD芯片MCP2518FD,之所以用spi进行canfd扩展,是为了解决原生RK3588原生can不够稳定的问题(发送扩展帧有几率编程标准帧,RK3568/3588均存在该问题)。

一、MCP2518FD

        MCP2518FD是Microchip公司生产的一款高性能CAN FD(灵活数据速率)控制器。它提供了两个CAN FD通道和SPI接口,支持经典格式(CAN2.0)和CAN灵活数据速率(CAN FD)格式的CAN成帧。仲裁比特率高达1Mbps,数据波特率也突破了传统CAN2.0的1Mbps限制,SPI时钟速度高达20MHz,符合ISO11898-1:2015标准。

        此外

SPICANFD底层驱动的编写需要考虑以下几个方面: 1. 硬件接口:首先需要确认硬件接口是否匹配,包括SPI接口的引脚和时序参数,以及CANFD接口的引脚和波特率参数等。 2. SPI驱动:SPI驱动需要实现SPI数据的发送和接收,并且需要考虑SPI通信时序的控制,如时钟极性、相位、速率等。 3. CANFD驱动:CANFD驱动需要实现CANFD数据的发送和接收,并且需要考虑CANFD协议的控制,如数据帧格式、ID过滤、错误处理等。 4. 中断处理:SPICANFD底层驱动需要实现中断处理程序,以响应来自CANFD模块的中断请求,例如CANFD数据接收中断、错误中断等。 基于以上考虑,可以按照以下步骤编写SPICANFD底层驱动: 1. 配置SPI接口:包括SPI时钟、CS引脚、时序参数等。 2. 配置CANFD接口:包括CANFD波特率、ID过滤、错误处理等。 3. 实现SPI数据的发送和接收:通过SPI接口向CANFD模块发送数据,并且从CANFD模块接收数据。 4. 实现CANFD数据的发送和接收:通过CANFD接口向外发送CANFD数据帧,并且从外部接收CANFD数据帧。 5. 实现中断处理程序:响应CANFD模块的中断请求,例如CANFD数据接收中断、错误中断等。 6. 测试和调试:通过测试和调试确保驱动的正常工作。 需要注意的是,不同的硬件平台和操作系统会有不同的实现方式和接口定义,因此具体的实现细节可能会有所不同。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flypig哗啦啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值