电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

STM32+FLASH实现U盘VIP免费

STM32+FLASH实现U盘_第1页
1/15
STM32+FLASH实现U盘_第2页
2/15
STM32+FLASH实现U盘_第3页
3/15
USB Mass Storage 学习笔记-STM32+FLASH 实现U 盘 USB Mass Storage学习笔记-STM32+FLASH实现U盘 一、 内容概述 采用 STM32内部自带 USB控制器外加大页 NAND FLASH K9F1G08U0A实现一个 128M的 U盘。 1、STM32的 USB控制器 STM32F103 的 MCU 自带 USB 从控制器,符合 USB 规范的通信连接;PC 主机和微控制器之间的数据传输是通过共享一专用的数据缓冲区来完成的,该数据缓冲区能被 USB 外设直接访问。这块专用数据缓冲区的大小由所使用的端点数目和每个端点最大的数据分组大小所决定,每个端点最大可使用 512 字节缓冲区,最多可用于 16 个单向或 8 个双向端点。USB 模块同 PC 主机通信,根据 USB 规范实现令牌分组的检测,数据发送/接收的处理,和握手分组的处理。整个传输的格式由硬件完成,其中包括 CRC 的生成和校验。 每个端点都有一个缓冲区描述块,描述该端点使用的缓冲区地址、大小和需要传输的字节数。 当 USB 模块识别出一个有效的功能/端点的令牌分组时,(如果需要传输数据并且端点已配置)随之发生相关的数据传输。USB 模块通过一个内部的 16 位寄存器实现端口与专用缓冲区的数据交换。在所有的数据传输完成后,如果需要,则根据传输的方向,发送或接收适当的握手分组。 在数据传输结束时,USB 模块将触发与端点相关的中断,通过读状态寄存器和/或者利用不同的中断来处理。 USB的中断映射单元:将可能产生中断的 USB 事件映射到三个不同的 NVIC 请求线上: (1)USB 低优先级中断(通道 20):可由所有 USB 事件触发(正确传输,USB 复位等)。固件在处理中断前应当首先确定中断源。 (2)USB 高优先级中断(通道 19):仅能由同步和双缓冲批量传输的正确传输事件触发,目的是保证最大的传输速率。 (3)USB 唤醒中断(通道 42):由 USB 挂起模式的唤醒事件触发。 图 1、USB设备框图 2、大页 NAND K9F1G08 Nand flash 以页为单位读写数据,而以块为单位擦除数据。根据 NAND的容量等级又将 NANDFLASH 分为大页 NAND 和小页 NAND;K9F1G08 就是大页 NAND,它的页大小为(2K+64)By te,块大小为(128K+4K)By te。K9F1208U0M 为小页 NAND,它的页大小为(512+16)By te,块大小为(16K+512)By te。 由于写数据至 FLASH 时,只能将指定的位变为 0,而不能将指定的位变位 1。因此在写一个页的数据前,必须先擦除(将所有的位全部置 1),否...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

STM32+FLASH实现U盘

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部