SPI转can芯片mcp2515

article/2025/10/25 16:54:36

开发环境

CPU:RK3399
ARCH: aarch64
KERNEL:Linux4.4
OS:ubuntu18.04

mcp2515芯片相关信息

CAN、SPI接口控制电路图

修改设备树文件

文件路径:kernel/arm64/boot/dts/rockchip/rk3399.dts
增加spi节点,具体增加那个spi节点,参考原理图上mcp5215和rk399的连接方式。
此处以spi1节点为例。
示例如下:
compatible = “microchip,mcp2515”
此处设置和驱动程序中的compatible对应:
在这里插入图片描述
设置中断interrupts
设置clocks
设置芯片复位引脚。在这里插入图片描述

kernel config

文件路径:kernel/arch/arm64/configs/rk3399_linux_defconfig

CONFIG_CAN=y
CONFIG_CAN_MCP251X=y

mcp2515驱动程序源码

在kernel4.4的源码中已经包含了mcp251x系列芯片的源码,通过上面的kernel config操作就已经可以把mcp251x的源码加入到kernel内核中。
文件路径:kernel/drivers/net/can/spi/mcp251x.c


http://chatgpt.dhexx.cn/article/OG3MbwNd.shtml

相关文章

MSP432 TFTLCD ILI9481 软件SPI

下面是我用的LCD屏的图片 CS : PF1 RS : PF2 RST: PF3 MOSI: PL4 SCK: PL5 代码: SPI.h #ifndef _SPI_…

MPC5744P-SPI

1.结构 5744的SPI模块支持全双工三线同步传输,可运行在主机或从机模式,分别含有深度为5的FIFO发送和接收缓存区。其结构如下图。SPI配置允许模块发送和接收串行数据,同时也支持带FIFO缓存区的的进行扩展队列操作的数据传输。模块接收和发送的…

SPI协议、MCP2515裸机驱动详解----主流SPI总线接口原理

最近看到一个介绍SPI接口原理的帖子,看完觉得甚好。特来分析给大家一起学习。 SPI概述 Serial Peripheral interface 通用串行外围设备接口 是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟&#…

MP2451 使能脚电阻判断

MP2451使能脚(EN)内部接一个稳压管,防止EN所接电压过大。 EN输入的电压范围:从PDF文档中找到EN的开启电压和最高电压。 Enable up Threshold 1.4-1.7 因为计算时需要考虑其极端现象,所以开启电压的临界电压选择最高,1.7v。最高…

CSM3416SF兼容MP2451,MCP16301HT-E,LT1933ES6,AOZ1282CI

CSM3416SF是一颗高耐压DC-DC降压芯片,宽电压范围输入,完美兼容MP2451,MCP16301HT-E,LT1933ES6,AOZ1282CI,助力智能电表市场,赋能车库门驱动系统。

S32K144开发笔记5 - SPI驱动MCP2515

1、接线图 PTB13 — INT 接收数据中断引脚 PTB14 — CLK 时钟 PTB15 — MISO 接收 PTB16 — MOSI 发送 PTB17 — CSN 片选 2、软件SPI 2.1、GPIO口配置 鼠标放在如下位置右击选择Pin Functional Properities,进入引脚属性配置 PTB13引脚配置如下: PT…

nRF52笔记(26)QSPI接口液晶显示屏

1 平台条件 硬件:nrf52840 软件:sdk17.0 2 QSPI概述 QSPI 外设支持使用 SPI 与外部闪存设备进行通信 此处列出了 QSPI 外设的主要特性: • 单/双/四通道 SPI 输入/输出 • 2–32 MHz 可配置时钟频率 • 从/到外部闪存的单字读/写访问 • …

MPC5744-LINFlexD

目录 一、基本介绍1.功能2.时钟源3.外设控制器4.中断向量5.基地址 二、寄存器介绍1.LIN控制寄存器1 LINFlexD_LINCR12.LIN中断使能寄存器LINFlexD_LINIER3.LIN状态寄存器LINFlexD_LINSR4.LIN错误状态寄存器LINFlexD_LINESR5.UART控制寄存器LINFlexD_UARTCR6.UART状态寄存器LINF…

MP2456的芯片的学习

本章将讲述MP2456的特征、性能、参数、应用电路、以及使用时的注意事项。小白总结,如有错误,请大神指教。 目录 一、MP2456的特征 二、MP2456的性能和参数 四、MP2456使用时的注意事项 五、名词解释 一、MP2456的特征 (1)MP…

硬件电路-MP2451组成的电压反转/极性反转电路设计

板上要集成一个18V供电的模拟信号处理电路,包括线圈驱动、小信号拾取、滤波、二级放大等部分。因此,需要板上提供18V电源。正负电压需要分开控制,因为正电压需要兼作485传感器供电,此时关闭负电压部分节省耗电以及保护模拟端。 b…

MP2451的应用电路

电阻R32和电阻R23是怎么实现的电压,FB口的输出是0.8V。 正确的计算应该是: 0.8/10*(1027)这样就是输出的电压。 SS14是大电流二极管,可以用5819完全替代。还有续流二极管。 SS14是40V的耐压,SS12是20V的耐压。 8050可以替代BC8…

MP2451问题记录

数据手册 https://pan.baidu.com/s/1ggJs0y3 MP2451应用电路如下图 在我自己的应用电路中R1120K,R224k 问题一、 电源输出0.42V V(FB)手册中应等于0.8V,但在测试中发现该引脚电压仅为0.07V 0.07 * (12024) / 24 0.42V 判断是芯片损坏 问题二、FB引脚输…

MP2451的BUCK电路

5V的稳压模块经常会用得到,普通的AMS1117-5.0虽然电压输出非常稳定,但是只适合低压降,小电流的场合。笔者曾经用AMS1117-5.0把8.4V稳压到5V,电流160mA(8.4V端),芯片一会儿就非常烫手了,即使并联…

MP2451使用注意事项

MP2451使用注意事项 MP2451是一个高速2M的高效的降压芯片,提供0.6A的电流输出,输入电压范围3.3V-36V可调,有关闭芯片引脚,关闭电流3uA,用起来还不错,分享一下经验,如下原理图已经制成了板子&am…

类间关系和内部类和数组

Final关键词 定义Pepole类,运用了final修饰方法eat(),该方法不能被改写,但可以随类进行继承。 用final修饰的类,不能有子类。 内部成员类定义方式 外部类.成员类 对象名 new 外部类().new 内部类。 局部…

UML六种关系图示(过目不忘版)

图中,从左到右分别是依赖、关联、聚合、组合、实现、继承六种关系在UML图中的画法,有箭头,有菱形,有三角,他们为什么这么画呢,之间有什么联系呢,这要从全局来看。 首先,依赖关联关系…

类图有哪些关系?

此刻是最佳时间,抓住当下!最近在学习设计模式的时候,时常要用到类图及它们的关联,所以学习了UML类图及类图之间的关系,转载记录一下。 首先我们需要知道什么是类图。 类图(ClassDiagram)是UML图…

UML中的六种关系

UML关系 1、依赖关系 是一种使用关系,它是对象之间耦合度最弱的一种关联方式,是临时性的关联。 在代码中,某个类的方法通过局部变量、方法的参数或者对静态方法的调用来访问另一个类(被依赖类)中的某些方法来完成一…

UML的六大关系

关联关系 单向关联 双向关联 自关联 聚合关系 聚合关系是关联关系的一种,是强关联关系,是整体和部分之间的关系 聚合关系通过成员对象来实现的,其中成员对象是整体对象的一部分,但是成员对象可以脱离整体对象而独立存在。例如&…

部分和问题

题目来源 挑战程序设计竞赛(第二版) 语言 C/C 题目 部分和问题 描述 给定整数 a1, a2, ..., an,判断是否可以从中选出若干数,使它们的和恰好为 k。 样例1 输入: n 4 a {1, 2, 4, 7}; k 13 输出&#xff1a…