欢迎来到天天文库
浏览记录
ID:37900013
大小:947.50 KB
页数:13页
时间:2019-06-02
《USB模块培训大纲》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、USB通信模型USB串口总线连接设备时必须使用集线器(Hub),这与局域网的设备连接类似。USB总线接口包括USB主控制器和根集线器,其中USB主控制器负责处理主机与设备之间电气和协议层的互连,根集线器提供USB设备连接点。USB系统使用USB主控制器来管理主机和USB设备之间的数据传输,另外它也负责管理USB资源,如带宽等。USB物理总线拓朴图如图1所示。图1 USB物理总线拓朴图每一个设备会有一个或者多个逻辑连接点在里面,每个连接点叫端点(EndPoint)。每个端点有四种数据传送方式:控制方式传送;同步方式传送;中断方式传送;批量传送。在
2、主机控制器和设备的端点之间的连接叫作管道(Pipe)。对于同样性质的一组的端点的组合叫做接口(Interface),如果一个设备包含不止一个的接口就可以称之为复合设备(CompositeDevice)。所有USB设备都要求实现用端点0作为输入和输出端点的默认控制方式。USB系统软件用该默认控制方式对逻辑设备进行初始化和一般的操作。USB通信流图如图2所示,它显示了通信流在端点与主机端的存储器缓冲区之间的管道传输。端点是主机与设备之间通信流的终点。每个USB逻辑设备由一个独立的端点集组成。在设备连接时系统为每个逻辑设备分配了惟一的地址。设备的每个
3、端点由设备给定一个惟一的端点号。每个端点由设备决定数据流的方向。设备地址、端点号和方向的组合支持一个方向的数据流的输入/输出。图2 USB通信流图端点、接口和配置是USB通信的几个基本要素,分别说明如下:端点USB通信的是通过端点(endpoint)所形成的管道进行的。一个USB端点只能在一个方向上传输数据,与主机的buffer之间形成一个单向的管道。Linux内核用结构usb_host_endpoint描述端点。所有USB设备都以端点(endpoint)为0的管道作为默认控制管道,0端点在设备连接、上电和收到总线复位信号时就可以访问。管道分为
4、流管道和消息管道,流过流管道的数据无USB定义的结构,消息管道中的数据是有USB定义的消息结构。主机先向USB设备发送一个请求,然后是数据传输,最后,会是一个状态阶段。USB定义了4种传输类型:控制(Control)、同步(isochronous)、中断(interrupt)、大量(bulk)。所有的传送方式下的主动权都由主机控制器决定。4种传输类型说明如下:(1)控制(Control)方式传输控制传输是双向传送,数据量通常较小。主要用来进行查询、配置和给USB设备发送通用的命令。控制传送方式可以包括8、16、32和64字节的数据,这依赖于设备
5、和传输速度。(2)同步(isochronous)方式传输同步传输提供了确定的带宽和间隔时间(latency)。它被用于时间严格并具有较强容错性的流数据传输,或者用于要求恒定的数据传送率的即时应用中。(3)中断(interrupt)方式传输中断方式传输主要用于定时查询设备是否有中断数据要传送。设备的端点模式器的结构决定了它的查询频率,在1ms到255ms之间。这种传输方式典型的应用在少量分散的、不可预测数据的传输。键盘、操纵杆和鼠标就属于这一类型。(4)批量(bulk)传输批量传输主要应用在数据大量传送和接收上,同时又没有带宽和间隔时间要求的情况
6、下,要求保证传输。打印机和扫描仪属于这种类型。接口USB接口通常是物理硬件上的一个USB插口,一个USB接口包含多个USB端点。USB接口只处理一类USB逻辑连接,如一个鼠标、一个键盘或者一个音频流。接口的初始化的状态是第一个设置,0号.预备的设置可用来以不同方式控制单独的端点,例如来保留不同量的USB带宽给设备.每个有同步端点的设备使用预备设备给同一个接口.USB接口在内核中使用structusb_interface结构来描述.这个结构是USB核传递给USB驱动的并且是USB驱动接下来负责控制的.配置USB设备用描述符报告它们的属性,描述符是
7、一个有规定格式的数据结构,与关系数据库的各条数据记录相似。使用描述符可以简洁地保存各个配置的属性,每个配置可以再使用有相同特性的其他配置中的描述符或描述符的部分。一个USB设备可以有多个配置,多个配置之间可以转换以便改变设备的状态.例如,一些允许固件被下载到它们的设备包含多个配置,一个配置只能在一个时间点上被使用。每种配置有一个或多个接口,每个接口有0或多个端点。总线枚举当USB设备插拔时,主机会使用称为总线枚举的过程来识别和管理设备。当USB设备插入端口时,主机所做的操作是:(1)USB设备通过所连接的集线器向主机报告连接事件,此时,设备处于
8、上电状态,而连接的端口处于禁止状态。(2)主机通过查询集线器端口确定变化的类型。(3)主机等待100ms让设备的电源变得稳定,然后向端口发出复位命令。
此文档下载收益归作者所有