毕业设计(USB接口设计).doc
《毕业设计(USB接口设计).doc》由会员分享,可在线阅读,更多相关《毕业设计(USB接口设计).doc(47页珍藏版)》请在三一办公上搜索。
1、第一章 前 言 当今的计算机外部设备都在追求高速度和高通用性为了满足用户的需求以Intel为首的七家公司于1994年推出了USBUniversal Serial Bus通用串行总线总线协议专用于低中速的计算机外设目前USB端口已成为了微机主板的标准端口而在不久的将来所有的微机外设包括键盘鼠标显示器打印机数字相机扫描仪和游戏柄等等都将通过USB与主机相连这种连接较以往普通并口和串口的连接而言主要的优点是速度高功耗低支持即插即用Plug & Play和使用维护方便 作为一个硬件厂商或是开发者最关心的便是如何去开发USB外设一般的USB设备都使用一片微控制器作为其核心部件通过微控制器强大的控制和运算
2、功能开发者可以很容易地实现USB设备的智能化 MOTOROLA公司是目前世界上最大的微控制器供应商其8位微控制器的全球市场份额达到了30%左右MOTOROLA公司将其8位微控制器归类为用户定制的集成电路CSIC为客户提供了MPURAMEPROMSPISCI定时器和USB等多种模块用量大的客户可以根据自己的需要选择不同的模块来构筑自己的微控制器MOTOROLA公司从1996年开始陆续推出了一系列含有USB模块的8位微控制器用于支持USB总线协议的设备如最早的用于显示器的68HC05BD9A用于鼠标的68HC05JB2以及用于键盘的68HC08KL8和68HC08KH12等等通过微控制器内含的US
3、B模块用户可以很方便地实现USB总线上的数据通讯68HC05JB4最初是用于开发USB游戏柄的后来也常被用于其他一些USB外设的开发 国外在近两年已出现了不少的USB外设但目前在国内市场上我们仅发现了台湾生产的摄像头等少数几类高速USB外设低速USB设备还是一个空白同时国外开发的USB设备多集中在鼠标键盘等少数几类设备上诸如USB手写板等设备就是在国外也很少见国内近年来计算机非键盘输入技术发展很快在汉字英文和数字的手写识别方面已有相当基础本项目之目的就是吸收USB总线和MOTOROLA微控制器的先进技术与中科院自动化所汉王公司的手写识别技术相结合在汉王笔的基础上设计生产出自己的新一代USB手写
4、输入系统 此USB手写系统采用汉王公司的传感器获得笔画信息传给68HC05JB4经过整理后通过USB总线发送到PC再由自行编写的驱动程序接收最终转给汉王公司的文字识别软件识别 第二章 USB总线协议 USBUniversal Serial Bus总线协议是以Intel为主并有CompaqMicrosoftIBMDECNorthern Telecom以及日本NEC等共七家公司共同制定的串行接口标准1994年11月制定了第一个草案1996年2月公布了USB规范版本1.0USB可把多达127个外设同时联到你的系统上所有的外设通过协议来共享USB的带宽其12Mbps的带宽对于键盘鼠标等低中速外设是完全
5、足够的注在1999年2月发布的USB规范版本2.0草案中已建议将12Mbps的带宽提升到120-240MbpsUSB允许外设在主机和其它外设工作时进行连接配置使用及移除即所谓的即插即用Plug & Play同时USB总线的应用可以清除PC上过多的I/O端口而以一个串行通道取代使PC与外设之间的连接更容易 以下简单介绍USB总线的结构原理以使读者对USB有大致的了解如果需要了解其协议细节请查阅USB总线规范这可以从www.usb.org下载 2.1 总线拓扑结构 USB总线的物理连接是一种分层的菊花链结构集线器(hub)是每个星形结构的中心PC机就是主机和根Hub用户可以将外设或附加的Hub与之
6、相连这些附加的Hub可以连接另外的外设以及下层HubUSB支持最多5个Hub层以及127个外设图2.1描述了USB的物理拓扑结构从中可以看出每一段的连接都是点对点的 图2.1 USB总线拓扑 2.2 USB的物理层 USB的物理接口包括电气特性和机械特性 USB通过一个四线电缆来传输信号与电源如图2.2所示 图2.2 USB电缆定义 其中D+和D-是一对差模的信号线而VBus和GND则提供了5V的电源它可以给一些设备(包括Hub)供电当然要有一定的条件限制 USB提供了两种数据传输率一种是12Mb的高速(full speed)模式另一种是1.5Mb的低速模式这两种模式可以同时存在于一个USB系
7、统中而引入低速模式主要是为了降低要求不高的设备的成本比如鼠标键盘等等 USB信号线在高速模式下必须使用带有屏蔽的双绞线而且最长不能超过5m而在低速模式时中可以使用不带屏蔽或不是双绞的线但最长不能超过3m这主要是由于信号衰减的限制为了提供信号电压保证以及与终端负载相匹配在电缆的每一端都使用了不平衡的终端负载这种终端负载也保证了能够检测外设与端口的连接或分离并且可以区分高速与低速设备 所有的设备都有上行的接口上行和下行的接头是不能互换的这保证了不会有非法的连接出现插头与插座有两个系列分别为A和B系列A用于基本固定的外围设备而系列B用于经常拔插的设备这两个系列是不能互换的 2.3 USB设备 USB
8、设备包括Hub和功能设备而功能设备又可以细分为定位设备字符设备等等为了进一步叙述我们给出端点(endpoint)和管道(pipe)的概念 端点 每一个USB设备在主机看来就是一个端点的集合主机只能通过端点与设备进行通讯以使用设备的功能每个端点实际上就是一个一定大小的数据缓冲区这些端点在设备出厂时就已定义好在USB系统中每一个端点都有唯一的地址这是由设备地址和端点号给出的每个端点都有一定的特性其中包括传输方式总线访问频率带宽端点号数据包的最大容量等等端点必须在设备配置后才能生效(端点0除外) 端点0通常为控制端点用于设备初始化参数等端点12等一般用作数据端点存放主机与设备间往来的数据 管道 一个
9、USB管道是驱动程序的一个数据缓冲区与一个外设端点的连接它代表了一种在两者之间移动数据的能力一旦设备被配置管道就存在了管道有两种类型数据流管道其中的数据没有USB定义的结构与消息管道其中的数据必须有USB定义的结构管道只是一个逻辑上的概念 所有的设备必须支持端点0以作为设备的控制管道通过控制管道可以获取完全描述USB设备的信息包括设备类型电源管理配置端点描述等等只要设备连接到USB上并且上电端点0就可以被访问与之对应的控制管道就存在了 一个USB设备可以分为三个层图2.3最底层是总线接口用来发送与接收包中间层处理总线接口与不同的端点之间的数据流通一个端点是数据最终的使用者或提供者它可以看作数据
10、的源或接收端最上层就是USB设备所提供的功能比如鼠标或键盘等 实际数据流Logical communications flow逻辑数据流 图2.3 USB设备结构层次 2.3.1 Hub Hub在USB结构中是一个关键它提供了附加的USB节点这些节点被称为端口Hub可以检测出每一个下行端口的状态并且可以给下端的设备提供电源图2.4是一个典型的Hub 图2.4 典型的USB集线器Hub 2.3.2 即插即用 USB设备可以即插即用但在可以使用之前必须对设备进行配置一旦设备连接到某一个USB的节点上USB就会产生一系列的操作来完成对设备的配置这种操作被称为总线枚举过程 1.设备所连接的Hub检测出
11、端口上有设备连接通过状态变化管道向主机报告 2.主机通过询问Hub以获取确切的信息 3.主机这时知道设备连接到哪个端口上于是向这个端口发出复位命令 4.Hub发出的复位信号结束后端口被打开Hub向设备提供100mA的电源这时设备上电所有的寄存器复位并且以缺省地址0以及端点0响应命令 5.主机通过缺省地址与端点0进行通讯赋予设备一个独一的地址并且读取设备的配置信息 6.最后主机对设备进行配置,该设备就可以使用了 当该设备被移走时Hub依然要报告主机并且关闭端口一旦主机接到设备移走的报告就会改写当前结构信息 2.3.3 设备的电源 USB设备的电源可以由USB总线供给也可以自备电源一个USB设备可
12、以具有这两种供电方式但同一时刻只能由一种方式供电这两种供电方式是可以切换的 2.3.4 设备的挂起 为了节电当设备在指定的时间内没有总线传输USB设备自动进入挂起状态如果设备所接的Hub的端口被禁止了设备也将进入挂起状态(称之为选择挂起)当然主机也可以进入挂起状态 USB设备当总线活动时就会离开挂起状态一个设备也可以通过电信号来远程唤醒进入挂起状态的主机这个能力是可选的如果一个设备具有这个能力主机有能力禁止或允许使用这种能力 2.4 USB主机 USB主机在USB系统中处于中心地位并且对USB及其连接的设备有着特殊的责任主机控制着所有对USB的访问一个外设只有主机允许才有权力访问总线主机同时也
13、监测着USB的结构 USB主机包括三层如图2.5设备驱动程序USB系统软件USB主控制器(主机的总线接口)另外还有两个软件接口USB驱动USBD接口主机控制驱动(HCD)接口 Client SWUSB HostControllerHostUSB System SWActual communications flow实际数据流Logical communications flow逻辑数据流 图2.5 USB主机结构层次 2.5 USB数据流 图2.6描述了USB数据传输的过程 SIESIEHostControllerUSB BusInterfaceUSB BusInterfaceUSB Syst
14、em SWmanages devicesUSB LogicalDevicea collection ofendpointsInterconnectPhysical DeviceHostUSB WireBuffersTransfersTransactionsData PerEndpointInterfaceSpecificFunctiona collection ofinterfacesDefault Pipeto Endpoint ZeroPipe Bundleto an interfacePipe, represents connection abstraction between two
15、horizontal entitiesData transport mechanism(USB-relevant format of transported dataNo USBFormatUSBFramedDataUSB FramedDataUSBFramedDataNo USBFormatInterface xEndpointZeroClient SWmanages an interfaceMechanical,Electrical,ProtocolUSB Device USB Host 图2.6 USB数据流 从逻辑上讲USB数据的传输是通过管道进行的USB系统软件通过缺省管道(与端点0
16、相对应)管理设备设备驱动程序通过其它的管道来管理设备的功能接口实际的数据传输过程是这样的设备驱动程序通过对USBD接口(USB driver interface)的调用发出输入输出请求(IRPI/O Request Packet)USB驱动程序接到请求后调用HCD接口(host controller driver interface)将IRP转化为USB的传输(transfer)一个IRP可以包含一个或多个USB传输; 然后HCD将USB传输分解为总线操作(transaction)由主控制器以包(packet)的形式发出需要注意的是所有的数据传输都是由主机开始的任何外设都无权开始一个传输 IR
17、P是由操作系统定义的而USB传输与总线操作是USB规范定义的为了进一步说明USB传输我们引出帧frame的概念 帧USB总线将1ms定义为一帧每帧以一个SOF包为起始在这1ms里USB进行一系列的总线操作引入帧的概念主要是为了支持与时间有关的总线操作 为了满足不同外设和用户的要求USB提供了四种传输方式控制传输同步传输中断传输批传输它们在数据格式传输方向数据包容量限制总线访问限制等方面有着各自不同的特征: 控制传输(Control Transfer 1 通常用于配置/命令/状态等情形 2 其中的设置操作setup和状态操作status的数据包具有USB定义的结构因此控制传输只能通过消息管道进行
18、 3 支持双向传输 4 对于高速设备允许数据包最大容量为81632或64字节对于低速设备只有8字节一种选择 5 端点不能指定总线访问的频率和占用总线的时间USB系统软件会做出限制 6 具有数据传输保证在必要时可以重试 同步传输(Isochronous Transfer) 1 是一种周期的连续的传输方式通常用于与时间有密切关系的信息的传输 2 数据没有USB定义的结构数据流管道 3 单向传输如果一个外设需要双向传输则必须使用另一个端点 4 只能用于高速设备数据包的最大容量可以从0到1023个字节 5 具有带宽保证并且保持数据传输的速率恒定每个同步管道每帧传输一个数据包 6 没有数据重发机制要求具
19、有一定的容错性 7 与中断方式一起占用总线的时间不得超过一帧的90% 中断传输(Interrupt Transfer) 1 用于非周期的自然发生的数据量很小的信息的传输如键盘鼠标等 2 数据没有USB定义的结构数据流管道 3 只有输入这一种传输方式即外设到主机 4 对于高速设备允许数据包最大容量为小于或等于64字节对于低速设备只能小于或等于8字节 5 具有最大服务周期保证即在规定时间内保证有一次数据传输 6 与同步方式一起占用总线的时间不得超过一帧的90% 7 具有数据传输保证在必要时可以重试 批传输(Bulk Transfer) 1 用于大量的对时间没有要求的数据传输 2 数据没有USB定义
20、的结构数据流管道 3 单向传输如果一个外设需要双向传输则必须使用另一个端点 4 只能用于高速设备允许数据包最大容量为81632或64字节 5 没有带宽的保证只要有总线空闲就允许传输数据优先级小于控制传输 6 具有数据传输保证在必要时可以重试,以保证数据的准确性 图2.7描述了输入输出请求IRP传输transfer与操作transaction之间的关系数据传输的具体格式详见2.6.3 Data Flow TypesControl TransferInterrupt TransferIsochronous TransferBulk TransferA control transfer is anO
21、UTSetup transaction followedby multiple IN or OUT Datatransactions followed byone “opposite of datadirection” StatusTransaction.One or more INData Transactions.One or more IN / OUTData Transactions.One or more IN / OUTData Transactions.IRPTransactionTransactionTransactionAll transfers arecomposed of
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 USB 接口 设计

链接地址:https://www.31ppt.com/p-4137836.html