在嵌入式系统或 STM32 平台中常见的外设芯片和接口

在嵌入式系统或 STM32 平台中常见的 外设芯片模块名称,包括:

  • 📺 显示驱动(如 ST7735、OTM8009A、NT35510)
  • 📷 摄像头模组(如 OV5640、OV9655、S5K5CAG)
  • 💾 Flash 存储器(如 W25Q128J、MX25L512、N25Q512A)
  • 👆 触摸屏控制器(如 FT6X06、FT5336、STMPE811)
  • 🌐 网络芯片(如 DP83848、LAN8742)
  • 🎵 音频芯片(如 WM8994)
  • 📐 IO 控制扩展(如 MFXSTM32L152)
  • 🧠 多功能芯片/平台控制器(如 STMPE811)

下面我按照功能对这些芯片进行分类和简要解释:


📺 显示相关

名称简介
ST77351.8寸/1.44寸 常见 SPI 接口的 TFT-LCD 控制器
ST7789H2高分辨率 SPI TFT 控制器,320x240 常见
NT35510高分屏驱动 IC,MIPI/并口接口
OTM8009A800x480 分辨率 TFT 控制器,常用于 4.3 寸屏
RK043FN48H4.3寸 480x272 TFT 显示模块(带电容触控)
TS3510触摸屏控制器,有时用于电阻屏
Ampire480272 / Ampire640480Ampire 是屏幕品牌,代表分辨率的型号

👆 触摸屏控制器(I²C / SPI)

名称简介
FT6X06 / FT5336 / FT3X67FocalTech 电容触控芯片(支持多点触控)
STMPE811ST 出的电阻触摸 + IO 扩展控制器
EXC7200EETI 出的电容触摸控制器
MFXSTM32L152ST 的 IO 扩展芯片,支持触摸/按键检测等功能

📷 摄像头模块

名称简介
OV5640500 万像素摄像头模块,常见于 STM32 DCMI 示例
OV9655130 万像素,较老的摄像头模组
S5K5CAGSamsung 500 万像素摄像头模组,高端应用常见

💾 Flash 存储器(SPI/QSPI/NOR)

名称简介
W25Q128JWinbond SPI NOR Flash,128Mbit(16MB)
MX25L512Macronix 512Kbit(64KB) NOR Flash
N25Q128A / N25Q512AMicron QSPI Flash,支持 XIP 执行
Common可能指的是“通用 Flash”类型或分区名称

🌐 网络接口芯片

名称简介
DP83848TI 的 10/100 Mbps 以太网 PHY(MII 接口)
LAN8742Microchip 的 10/100 Mbps PHY,常用于 STM32F7/H7 Eval 板
FT6X06同时也被用于 I²C 触控器命名(可能你列重了)

🔊 音频/语音相关

名称简介
WM8994Wolfson 出的音频编解码器,常用于 STM32 开发板音频播放

🧩 IO 扩展/特殊控制器

名称简介
MFXSTM32L152ST 出的多功能控制扩展器(GPIO、ADC、温度传感、触控检测等)

🧠 说明/使用建议

  • 这些芯片大多被用于 STM32 的评估板(如 STM32F7/H7 Discovery/Eval)、工业 UI 屏、机器视觉、语音控制等复杂项目。
  • ST 的 STM32CubeMX / TouchGFX / STM32Cube FW 中经常包含这些芯片的驱动支持。
  • 比如 OV5640 可用于 DCMI 摄像头应用,OTM8009A 是用于 MIPI 接口的触摸屏显示器。

STM32 系统(尤其是 ST 官方评估板、开发板)常用的 外设器件,涵盖:

  • 📺 显示屏和触控控制器
  • 📷 摄像头模组
  • 💾 Flash 存储器
  • 🧭 IMU、加速度计、陀螺仪、磁力计
  • 🎵 音频芯片
  • 🌐 以太网 PHY
  • 🔘 IO 扩展与控制器

我将它们再 分类简明解释一下(不重复前面介绍过的):


📺 显示屏相关

名称简介
Ampire480272 / Ampire640480Ampire 品牌的 TFT 屏幕,分辨率 480×272 或 640×480
ILI9341 / ILI9325SPI / 并口 TFT 控制器,常用于 2.4~2.8寸彩屏
NT35510 / OTM8009AMIPI/并口 高分辨率 TFT 控制器(用于手机屏)
LS016B8UYSharp Memory LCD,低功耗显示屏(反射型)
ST7735 / ST7789H2小尺寸彩屏驱动 IC(SPI 接口)

👆 电容/电阻触摸屏控制器

名称简介
FT3X67 / FT6X06FocalTech 电容触摸屏控制器(I²C 接口)
EXC7200电容触摸控制器(EETI 出品)
STMPE811ST 出的触摸控制 + ADC + IO 扩展器
MFXSTM32L152ST 多功能扩展器(IO+触摸+ADC)
TS3510电阻屏控制器(ST 或第三方)

📷 摄像头模组

名称简介
OV2640200 万像素,JPEG 输出,常用于 ESP32-CAM
OV5640500 万像素,支持 RAW/YUV/JPEG,常用于 STM32 DCMI
S5K5CAGSamsung 500 万像素,高端摄像头模组

💾 Flash / 存储器

名称简介
N25Q128A / N25Q256A / N25Q512AMicron QSPI/NOR Flash,常用于 XIP 启动
S25FL512SCypress(原 Spansion)出品的 SPI Flash(512Mbit)
CommonCubeMX 中常作为通用 Flash 芯片占位符用

🧭 传感器类(IMU/陀螺仪/加速度/磁力)

名称类型简介
L3GD20陀螺仪ST 三轴角速度传感器(SPI/I2C)
I3G4250D陀螺仪ST 陀螺仪,温漂性能优于 L3GD20
LIS3DSH加速度高性能加速度计(内置 FIFO 和中断)
LIS302DL加速度STM32F4Discovery 板默认加速度计
LSM303DLHC / LSM303AGR加速度 + 磁力计二合一ST常用组合传感器

🌐 网络芯片

名称简介
LAN8742ST 官方推荐的 PHY(RMII)
DP83848TI 出品的工业级 PHY(MII / RMII)

🎵 音频编解码器

名称简介
CS43L22Cirrus Logic 音频编解码器,STM32F4 Disco 默认搭载
WM8994Wolfson 高级音频 Codec(输入输出均支持)

🔘 IO 控制与扩展器

名称简介
STMPE1600IO 扩展芯片(16bit GPIO,I²C 控制)
STMPE811IO + 触控 + ADC 多合一扩展芯片
MFXSTM32L152ST 多功能控制器,CubeMX支持,具备 IO / ADC / RTC 等功能

✅ 应用场景示例

场景典型芯片
显示屏 UI(TouchGFX)ILI9341 + FT6X06、OTM8009A + EXC7200
摄像头 DCMIOV5640 / OV2640
数据记录 + 存储N25Qxxx、S25FLxxx
网络通信LAN8742 / DP83848 + STM32F7/H7 MAC
传感器 IMULSM303AGR + L3GD20
音频播放CS43L22 / WM8994
教育/开发板STMPE811、MFXSTM32L152、LIS302DL

💡 开发建议

  • 使用 STM32CubeMX 时,大多数上述芯片已经集成在 BSP(Board Support Package) 中,配置自动生成初始化代码。
  • TouchGFX 工程、STM32F7/H7 示例、摄像头 Demo 等都广泛用到这些芯片。
  • 建议查阅各芯片的 datasheet + ST 提供的 example(比如 STM32Cube_FW_H7/Projects/.../Applications/...)。

你贴出的这个路径是:

~/STM32Cube/Repository/STM32Cube_FW_F4_V1.28.2/Drivers/BSP/Components/Common/

里面的文件是 ST 提供的 通用 BSP 外设抽象层接口头文件,用于统一封装常见外设(如陀螺仪、加速度计、温度传感器、LCD、触摸屏等),这样不同芯片或不同模块之间调用接口保持一致。


📂 每个文件的作用简析:

文件名作用
accelero.h加速度传感器统一接口
gyro.h陀螺仪传感器统一接口
magneto.h磁力计传感器统一接口
camera.h摄像头(如 OV5640)统一接口
audio.h音频(如 WM8994)编解码器统一接口
epd.h电子墨水屏 (E-Paper Display) 接口
idd.h电流消耗测量(IDD 功耗测量模块)
io.hI/O 扩展器(如 STMPE1600、MFXSTM32L152)统一接口
lcd.hLCD 屏幕接口(包括 OTM8009A、ILI9341 等)
ts.h电阻式/电容式触摸屏统一接口(如 FT6X06)
tsensor.h温度传感器统一接口
Release_Notes.html版本说明文档

✅ 举例说明(以 lcd.h 为例)

lcd.h 是 ST 官方封装的一层抽象 API,你不需要关心底层用的是哪块屏(如 ILI9341、OTM8009A、ST7789),只要使用通用 API:

BSP_LCD_Init();
BSP_LCD_Clear(LCD_COLOR_WHITE);
BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"Hello, LCD!", CENTER_MODE);

而具体实现会通过 BSP/Components/<驱动芯片> 中的 .c/.h 文件决定(例如 ili9341.cotm8009a.c)。


💡 为何要用这套结构?

这是一种 面向平台抽象(Platform Abstraction) 的设计方式。好处是:

  • 多块不同芯片/模块只要注册自己的驱动实现,接口不变;
  • BSP 层代码复用性高;
  • 示例代码不依赖具体硬件,适配更快。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/917098.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI 类型的 IDE

指集成了 AI 辅助编程能力的集成开发环境 一、代码辅助生成 ✅ 自动补全&#xff08;更智能&#xff09; 比传统 IDE 更智能&#xff0c;理解上下文&#xff0c;生成整个函数/模块 示例&#xff1a;根据函数名 calculateTax 自动生成税务计算逻辑 ✅ 函数 / 类自动生成 给…

JP3-3-MyClub后台后端(一)

Java道经 - 项目 - MyClub - 后台后端&#xff08;一&#xff09; 传送门&#xff1a;JP3-1-MyClub项目简介 传送门&#xff1a;JP3-2-MyClub公共服务 传送门&#xff1a;JP3-3-MyClub后台后端&#xff08;一&#xff09; 传送门&#xff1a;JP3-3-MyClub后台后端&#xff08;…

架构实战——互联网架构模板(“存储层”技术)

目录 一、SQL 二、NoSQL 三、小文件存储 四、大文件存储 本文来源:极客时间vip课程笔记 一、SQL SQL 即我们通常所说的关系数据。前几年 NoSQL 火了一阵子,很多人都理解为 NoSQL 是完全抛弃关系数据,全部采用非关系型数据。但经过几年的试验后,大家发现关系数据不可能完全被…

CentOS7.9在线部署Dify

一、CentOS7.9安装dify 二、检查是否安装dcoker docker --version2.1下载后将安装包上传至服务器对应文件夹下,我选在放在了 /root文件夹下 cd /root2.2 上传至服务器 cd /root #对应目录下tar -xvf docker-26.1.4.tgz # 解压安装包:chmod 755 -R docker # 赋予可执…

深入浅出C语言指针:从数组到函数指针的进阶之路(中)

指针是C语言的灵魂&#xff0c;也是初学者最头疼的知识点。它像一把锋利的刀&#xff0c;用得好能大幅提升代码效率&#xff0c;用不好则会让程序漏洞百出。今天这篇文章&#xff0c;我们从数组与指针的基础关系讲起&#xff0c;一步步揭开指针进阶类型的神秘面纱&#xff0c;最…

java web Cookie处理

java web 设置cookie更改启动端口// Directory tree (5 levels) ├── src\ │ ├── a.txt │ └── com\ │ └── zhang\ │ └── ServletContext\ │ ├── cookie\ │ └── servletContext.java └── web\├─…

机器学习—线性回归

一线性回归线性回归是利用数理统计中回归分析&#xff0c;来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。相关关系&#xff1a;包含因果关系和平行关系因果关系&#xff1a;回归分析【原因引起结果&#xff0c;需要明确自变量和因变量】平行关系&#xff1…

Spring Boot Admin 监控模块笔记-实现全链路追踪

一、概述Spring Boot Admin&#xff08;SBA&#xff09;是一个用于监控和管理 Spring Boot 应用程序的工具。它提供了一个 Web 界面&#xff0c;可以集中管理多个 Spring Boot 应用程序的健康状态、指标、日志、配置等信息。通过 SBA&#xff0c;你可以轻松地监控和管理你的微服…

容器化与Docker核心原理

目录 专栏介绍 作者与平台 您将学到什么&#xff1f; 学习特色 容器化与Docker核心原理 引言&#xff1a;为什么容器化成为云计算时代的基石&#xff1f; 容器化技术全景与Docker核心原理&#xff1a;从概念到实践 文章摘要 1. 引言&#xff1a;为什么容器化成为云计算…

掌握Python三大语句:顺序、条件与循环

PS不好意思各位&#xff0c;由于最近笔者在参加全国大学生电子设计大赛&#xff0c;所以最近会出现停更的情况&#xff0c;望大家谅解&#xff0c;比赛结束后我会加大力度&#xff0c;火速讲Python的知识给大家写完&#x1f396;️&#x1f396;️&#x1f396;️&#x1f396;…

JAVA结合AI

Java 与人工智能&#xff08;AI&#xff09;的结合正经历从技术探索到深度融合的关键阶段。以下从技术生态、应用场景、工具创新、行业实践及未来趋势五个维度展开分析&#xff0c;结合最新技术动态与企业级案例&#xff0c;揭示 Java 在 AI 时代的独特价值与发展路径。一、技术…

本土DevOps平台Gitee如何重塑中国研发团队的工作流

本土DevOps平台Gitee如何重塑中国研发团队的工作流 在数字化转型浪潮席卷各行各业的当下&#xff0c;软件开发效率已成为企业竞争力的核心指标。Gitee DevOps作为专为中国开发团队打造的本土化研发管理平台&#xff0c;正在改变国内技术团队的工作方式。该平台通过从代码管理到…

5G MBS(组播广播服务)深度解析:从标准架构到商用实践

一、MBS技术背景与核心价值 1.1 业务需求驱动 随着超高清视频(4K/8K)、多视角直播、XR元宇宙应用爆发式增长,传统单播传输面临带宽浪费(相同内容重复发送)与拥塞风险(万人并发场景)的双重挑战。5G MBS通过点对多点(PTM)传输实现内容一次发送、多终端接收,频谱效率提…

如何将照片从 realme 手机传输到电脑?

对于 realme 用户来说&#xff0c;将照片传输到电脑可以有多种用途&#xff0c;从释放设备空间到在单独的存储设备上创建备份。这个过程不仅有助于高效管理设备内存&#xff0c;还可以让您利用电脑上强大的照片编辑软件进行高级增强和创意项目。了解如何将照片从 realme 手机传…

Centos 7部署.NET 8网站项目

简介 本文详细介绍了在CentOS 7系统上部署.NET 8网站项目的完整流程&#xff0c;主要内容包括&#xff1a;系统版本更新与检查、PostgreSQL数据库的安装配置&#xff08;含防火墙设置、数据库初始化及远程访问配置&#xff09;、Nginx Web服务的安装与防火墙配置。文章通过分步…

Windows 11下IDEA中使用git突然变得卡慢及解决办法

1. 表象 使用idea的git进行update、commit、push等操作时&#xff0c;极度卡慢。需等待几十秒到几分钟。修改文件后&#xff0c;git刷新也不及时。update命令有时候无法点击。 2.解决方法 停止PC Manager ServiceCtrl shift esc : 打开任务管理器找到服务&#xff1a; 服务中…

MyBatis 的两级缓存机制

现实分布式项目中会不会开启mybatis的二级缓存&#xff1f; 在分布式项目中&#xff0c;是否开启MyBatis的二级缓存需结合具体场景和技术方案综合评估。 以下是关键考量因素&#xff1a; 一、默认二级缓存的局限性 隔离性问题&#xff1a;MyBatis默认的二级缓存基于HashMap实…

分布式原子序列(Distributed Atomic Sequence)

这段内容是关于 Apache Ignite 中的 分布式原子序列&#xff08;Distributed Atomic Sequence&#xff09;&#xff0c;也就是一个分布式 ID 生成器。我们来一步步深入理解它的原理、用途和使用方式。&#x1f539; 一、核心概念&#xff1a;什么是分布式 ID 生成器&#xff1f…

VSCode——插件分享:Markdown PDF

该插件可以将markdown编写内容转成PDF。 ✅ 支持渲染图表、代码高亮、表格等 Markdown 内容 安装 Visual Studio Code安装插件&#xff1a;Markdown PDF 打开扩展商店&#xff0c;搜索 Markdown PDF 并安装 打开你的 .md 文件右键 → 点击 Markdown PDF: Export (pdf)自动生成 …

rust-模块树中引用项的路径

模块树中引用项的路径 为了告诉 Rust 在模块树中如何找到某个项&#xff0c;我们使用路径&#xff0c;就像在文件系统中导航时使用路径一样。要调用一个函数&#xff0c;我们需要知道它的路径。 路径有两种形式&#xff1a; 绝对路径是从 crate 根开始的完整路径&#xff1b…