STMCU小助手
发布时间:2022-7-31 22:30
|
前言 一些应用中,涉及到对存储设备的数据访问,例如 uSD 卡、U 盘。具备 USB OTG 控制器的 STM32,可以实现对 U 盘访问的支持。本文介绍 STM32 对于 U 盘访问的硬件/软件实现。介绍如何利用 STM32CubeMX,一步一步实现 STM32 访问U 盘。仅需要简单的几个步骤, 实现 U 盘访问的应用开发。 一 MSC 类简介 7 @/ q) i! e+ k MSC (Mass Storage Class) 是 USB 规范提供的一种 USB 大容量存储设备类,允许一个 USB 接口的设备与 USB 主机相连接,以便在两者之间传输文件。USB MSC 传输协议分为 CBI (Control / Bulk / Interrupt) 和 BOT (Bulk-only Transfer)。BOT协议在不影响功能的情况下省去了对 Interrupt 端点的需求,被存储设备广泛支持。STM32 提供的 USB 库支持 USB MSCBOT 协议。 MSC 设备包含很多种,例如 U 盘、读卡器、移动硬盘等。STM32 通过内含的 USB OTG 控制器(支持主机模式)和USB 主机库,实现对 MSC 类的支持,进而实现对 U 盘访问的支持。本文中不涉及到 USB MSC (Mass Storage Class) 的详细介绍 ,更多 MSC 类介绍,请参考《USB 进阶培训_Part1_USB 类的介绍》。 + a% u# A4 u5 Z 二 MSC 在 STM32 上的实现 2.1 硬件支持 不同的 STM32 系列,对 USB 的支持情况如下。对于 STM32F105/107、STM32F2、STM32F4、STM32F7 和 STM32H7 系列,部分型号支持 USB OTG,能够实现 USB 主机和从机。U 盘作为 USB MSC 设备,需要 STM32 作为 USBMSC 主机,实现两者间的访问。(注:系列中不是所有型号都支持 OTG,以具体型号手册为准。)
STM32 OTG 硬件电路图如下所示。CN3 为 USB 连接器。对于 STM32 OTG,配置为仅主机模式时,不需使用 OTG_ID,可将其引脚用于其他功能。并且在不使用 SRP (Session Request Protocol) 和 HNP (Host Negotiation Protocol) 时,可不连接 VBUS 至 PA9。电路简化如下图。
更多关于 STM32 USB 硬件设计,请参考《AN4879 USB hardware and PCB guidelines using STM32 MCUs》。 , |! `8 U1 V2 C; ?! |! I# y 2.2 软件支持2 E/ ~ z& E2 Y) w) j0 S" [- @3 j STM32 拥有丰富的软件资源,推荐如下两个软件包: 7 X4 G# |0 A# J$ \( o. K STM32Cube 软件包(包含 USB/OTG 库,支持 MSC 协议)& B5 p$ h* D, R! A d1 [' s; `- A" ^ STM32CubeMX 辅助开发工具(辅助开发自定义板上应用)+ H# }9 s2 @5 Z- C1 x) @! l5 { 完整版请查看:附件 % X* ]& c) z1 Q; F$ [" W# J- e; X 4 i$ y: ]$ K5 M* c. ` |
USB access based on STM32CubeMX .pdf
下载1.55 MB, 下载次数: 47
【STM32H5 评测】ADC 电压表
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】NUCLEO-H5E5ZJ 使用 TrustZone 安全分区系统实践测试
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【STM32H5 评测】介绍、环境搭建、工程测试
#双节活动 1.在CubeMX中引用touchGFX出现的问题与解决
如何将STM32CubeMX生成的CMake工程导入STM32CubeIDE
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
微信公众号
手机版