Print

USB设备协议栈的设计与实现

论文摘要

随着USB的普及和嵌入式技术的发展,嵌入式系统对USB的需求不断增长。在此背景下,本文针对嵌入式系统设计了USB设备协议栈,并在搭载NXP LPC2478微控制器(ARM7TMDI-S内核)的评估板上得到了实现。本文设计和实现的USB设备协议栈采用的是一种开放的层次结构和模块结构。协议栈从下至上由3个层次组成,依次是硬件层、协议层和应用层。硬件层主要负责对USB设备控制器的硬件进行操作,包括硬件初始化和USB数据包的收发等;协议层处理USB规范中定义的与USB设备相关的所有操作,包括总线枚举、地址分配、配置、电源管理和各种请求处理等;应用层则为用户提供了应用程序接口,使用户可以通过这些接口函数完成实际应用。这3个层次通过特殊的层间接口联系在一起,形成完整的USB设备协议栈软件构架;各层次可以根据特定的硬件环境或应用环境而重新实现,以提高协议栈的可移植性;同时协议栈预留了各类扩展接口,方面用户扩展功能所用。为了对协议栈进行验证,本文在LPC2478评估板上实现了3个典型的USB类,分别是通讯设备类(USBCDC)、大容量存储类(USBMSC)以及测试与测量类(USBTMC)。USBCDC类的实现将设备模拟成一个USB虚拟串口,使上位机可以通过串口调试工具与其进行数据收发。USBMSC类实现了一个可移动磁盘,使上位机可以像操作普通U盘一样对其进行操作。USBTMC类的实现则使得设备可以与NI的MAX (Measurement & Automation Explorer)软件进行基本通讯。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 课题研究背景
  • 1.2 研究现状
  • 1.3 课题研究意义
  • 1.4 论文主要内容与章节安排
  • 2 USB 协议规范
  • 2.1 USB 的特点
  • 2.2 USB 的总线拓扑
  • 2.3 USB 的电气特性
  • 2.4 USB 的数据通信协议
  • 2.5 USB 的请求和描述符
  • 3 USB 设备协议栈设计与实现
  • 3.1 开发环境
  • 3.2 整体设计
  • 3.3 硬件层设计与实现
  • 3.4 协议层设计与实现
  • 3.5 应用层设计与实现
  • 3.6 整体实现
  • 4 典型USB 类的实现
  • 4.1 USBCDC 类的实现
  • 4.2 USBMSC 类的实现
  • 4.3 USBTMC 类的实现
  • 5 总结与展望
  • 致谢
  • 参考文献
  • 附录1 USB SETUP 事务的数据包格式
  • 附录2 USB 标准设备请求
  • 附录3 作者攻读学位期间参加的科研项目
  • 相关论文文献

    本文来源: https://www.lw50.cn/article/92aa5e5144c7cd67fcc11c25.html