USB设备枚举与Mass Storage类协议实现
需积分: 32 101 浏览量
更新于2024-08-10
收藏 2.2MB PDF 举报
"这篇硕士学位论文主要探讨了USB接口在嵌入式系统中的实现,特别是主动USB接口和从动USB接口的开发。论文作者曹放在导师苑玮琦的指导下,研究了如何利用单片机实现与USB产品的直接交互,特别是在便携式仪器或嵌入式系统中实现外接海量存储功能。"
在USB技术中,设备被分为主机(Host)和从属设备(Slave)。主机通常由PC机扮演,而大部分USB产品作为从属设备。然而,随着嵌入式系统的普及,需要单片机能够直接与USB设备通信,因此主动USB接口的研究变得尤为重要。论文选取华邦公司的W78E54B作为主控芯片,Cypress公司的SL811HS作为USB主/从控制芯片,构建了一个能同时支持主动和从动模式的USB接口模块。
论文详细介绍了USB设备的枚举过程,这是USB设备接入主机后的重要步骤,主机通过执行一系列标准USB请求命令(如Set Address、Get Descriptor和Set Configuration)来识别和配置设备。枚举过程中,设备需提供诸如批量输出和输入端点号以及最大包尺寸等信息。实现这些命令的程序代码分别在SetAddress0、SetConfiguration0和GetDesc()函数中体现。
在枚举设备和获取描述符之后,论文讨论了Mass Storage类协议的程序设计,这对于USB闪存盘等存储设备至关重要。本系统支持的USB设备属于Mass Storage类,使用Bulk-Only传输协议,该协议基于SPC-2和RBC(Reduced Block Commands)指令集。Bulk-Only协议通过批量传输In和批量传输Out函数实现,包括CBW(Command Block Wrapper)和CSW(Command Status Wrapper)封包的发送与接收,以及特定的SPC-2和RBC指令,以实现对USB闪存盘的读写操作。
在主动USB接口的软件设计中,系统不仅实现了主机控制器驱动、核心驱动和用户软件,还支持设备的枚举和配置功能,以及Mass Storage类协议。此外,建立了一个简化版的FAT文件系统,使得对USB闪存盘的文件操作成为可能。从动USB接口的软件设计则涉及单片机固件程序和PC主机的驱动程序及应用程序,以确保模块作为从设备时与PC之间的数据传输。
实验结果表明,该系统运行稳定,代码简洁,具有良好的可移植性,可以方便地应用到其他单片机或DSP等嵌入式系统中。关键词包括主动/从动USB接口、USB闪存盘、单片机,反映了研究的核心内容。
2014-11-09 上传
2022-07-14 上传
2010-03-07 上传
2021-03-27 上传
2021-04-25 上传
2022-07-13 上传
2021-02-10 上传
2013-06-26 上传
2022-07-13 上传
我欲横行向天笑
- 粉丝: 26
- 资源: 2万+
最新资源
- ES管理利器:ES Head工具详解
- Layui前端UI框架压缩包:轻量级的Web界面构建利器
- WPF 字体布局问题解决方法与应用案例
- 响应式网页布局教程:CSS实现全平台适配
- Windows平台Elasticsearch 8.10.2版发布
- ICEY开源小程序:定时显示极限值提醒
- MATLAB条形图绘制指南:从入门到进阶技巧全解析
- WPF实现任务管理器进程分组逻辑教程解析
- C#编程实现显卡硬件信息的获取方法
- 前端世界核心-HTML+CSS+JS团队服务网页模板开发
- 精选SQL面试题大汇总
- Nacos Server 1.2.1在Linux系统的安装包介绍
- 易语言MySQL支持库3.0#0版全新升级与使用指南
- 快乐足球响应式网页模板:前端开发全技能秘籍
- OpenEuler4.19内核发布:国产操作系统的里程碑
- Boyue Zheng的LeetCode Python解答集