USB数据采集系统论文(4)

2019-04-13 23:18

的接口的备选设置。

只须一个简单配置,一个设备可能支持多重接口。一个接口是一组端结点集合,它们代表了设备向主机提供的单一的功能或特性,用来与这组相关端结点通信的协议以及接口内各端结点的目的可以作为一个设备类的一部分或者由厂商制定具体定义。

另外,一个配置中的结口可能有备选设置。这些备选设置会重定义相关端结点的数目或特性。如果是这样的话,设备必须支持GetInterface(接口请求)与Set Interface(接口设置)请求,来汇报及选择指定的接口的设备选设置。

4. 数据传送

数据可能以四种方式在USB设备端结点与主机之间传送。四种传送方式参见第五章。在不同设置下,一个终端结点可能被用于不同的传输方式,但一旦设置选定,传送方式就选定了。

5. 电源管理

USB总线电源是一个有限的资源,在设备标识阶段,主机估测电源的需求。如果电源的需求量超过USB总线所能提供的电量,主机软件则不能选择那个配置。

USB设备应将电源需求量限制在一个单元以下,直到被配置。中止(挂起)的设备,不管是否已经配置过了,应将总线耗电降到第7章定义的标准以下。视接到设备的端口电源负载能力而定,USB设备在配置了以后可从VBus汲取达5个单元的电量。远程唤醒能力参许一个被挂起的USB设备发达信号给处于挂起状态的主机。这个信号会使得主机醒来,处理触发事件。USB设备通过配置描述来向主机汇报其远程唤醒的能力。USB设备的远程唤醒能力应能被禁止的。 6. 请求处理

除SetAddress( )请求以外,在安装完成返回ACK信号以后,设备就开始处理请求。在某一状态成功结束以前,设备应当“完成”对请求的处理。许多请求费时较多,像这样的请求,该设备类应定义一个方法而不是等待交换状态信息阶段的结束来表示该操作已经完成。像这样的操作有:集线器端口的复位至少需10ms来完成。当端口复位产生时,

SetPortFeature(PORT-RESET)请求就结束了。当端口状态改变并表明此端口已经生效时,一个信号就会产生表明复位信号已经结束。这种技术可以防止当主机知道某一个请求费时较长的情况一直探测此请求是否已完成。 7. 请求错误

如果一设备收到一个请求,它或是在设备中无定义,或是不适用于当前设置,或是数值不对,这时就会产生一个请求错误。设备在下一个数据传输阶段或状态交换阶段返回一个表明错误的STALL PID信号,一般在下一个数据传输返回更好,这样可减少不必要的总线活动。

2.3.3 USB设备请求

所有的USB设备在“设备的缺省控制通道”处对主机的请求发出响应。这些请求是通过使用控制传输来达到的,请求及请求的参数通过Setup包发向设备,由主机负责设置Setup包内的每个域的值。每个Setup包有8个字节。见表2-2。

表2-2 Setup数据包的格式 偏移量 0 域 bmRequestType 大小 1 值 位图 描述 请求特征: D7: 传输方向 0=主机至设备 1=设备至主机 D6..5: 种类 0=标准 1=类 2=厂商 3=保留 D4..0: 接受者 0=设备 1=接口 2=端点 3=其他 4..31=保留 具体请求 字长域,根据不同的请求含义改变. 字长域,根据不同的请求含义改变.典型用于传送索引或偏移. 如有数据传送阶段,此为数据字节数. 1 2 4 bRequest wValue wIndex 1 2 2 值 值 索引或偏移 6 wLength 2

2.4 USB的物理层

USB的物理接口包括电气特性和机械特性。

USB通过一个四线电缆来传输信号与电源如图2-7所示。

图2-7 USB电缆定义

其中D+和D-是一对差模的信号线而VBus和GND则提供了5V的电源它可以给一些设备(包括Hub)供电当然要有一定的条件限制。

USB1.1提供了两种数据传输率一种是12Mb的高速模式,另一种是1.5Mb的低速模式,这两种模式可以同时存在于一个USB系统中。而引入低速模式主要是为了降低要求不高的设备的成本,比如鼠标、键盘等等。

USB信号线在高速模式下必须使用带有屏蔽的双绞线,而且最长不能超过5m。而在低速模式时中可以使用不带屏蔽或不是双绞的线,但最长不能超过30m。这主要是由于信号衰减的限制,为了提供信号电压保证以及与终端负载相匹配,在电缆的每一端都使用了不平衡的终端负载,这种终端负载也保证了能够检测外设与端口的连接或分离,并且可以区分高速与低速设备。

所有的设备都有上行的接口,上行和下行的接头是不能互换的,这保证了不会有非法的连接出现。插头与插座有两个系列分别为A和B系列,A用于基本固定的外围设备,而系列B用于经常拔插的设备,这两个系列是不能互换的。

2.5 USB 数据流

从逻辑上讲USB数据的传输是通过管道进行的。图2-6描述了USB数据传输的过程。USB系统软件通过缺省管道(与端点0相对应)管理设备,设备驱动程序通过其它的管道来管理设备的功能接口。实际的数据传输过程是这样的:设备驱动程序通过对USBD接口(USB driver interface)的调用发出输入输出请求(IRP I/O Request Packet);USB驱动程序接到请求后,调用HCD接口(host controller driver interface),将IRP转化为USB的传输,一个IRP可以包含一个或多个USB传输;然后HCD将USB传输分解为总线操作,由主控制器以包的形式发出。需要注意的是所有的数据传输都是由主机开始的,任何外设都无权开始一个传输。 IRP是由操作系统定义的,而USB传输与总线操作是USB规范定义的。为了进一步说明USB传输,我们引出帧(frame)的概念。

帧:USB总线将1ms定义为一帧,每帧以一个SOF包为起始,在这1ms里,USB进行一系列的总线操作。引入帧的概念主要是为了支持与时间有关的总线操作。为了满足不同外设和用户的要求,USB 提供了四种传输方式:控制传输、同步传输、中断传输、批传输。它们在数据格式、传输方向、数据包容量限制、总线访问限制等方面有着各自不同的特征。 控制传输(Control Transfer)

1. 通常用于配置/命令/状态等情形;

2. 其中的设置操作(setup)和状态操作(status)的数据包,具有USB定义的结构,因此控制传输只能通过消息管道进行; 3. 支持双向传输;

主机 连接 物理设备 到一个接 口的通道 束 与接口 无 缓冲 没有USB 有关 USB格式 格式 缺省通道 USB 设备 事务 USB帧格式 每个端 USB帧 (第 的数据 点的数 结构的 9章) USB 据 数据 主机 USB帧格式 接口 USB 控 制 的数据 USB总线接口 器 主机 事务 SIE SIE (第10章) USB线路 USB System SW USB 逻辑设备 端点的集合 应用 接口的集合 Client SW 管理一个接口 接口X 管理设备 到0号端点的 端点0 机械的,

通道:两个水平实体之间连接 电气的, 的抽象。

数据传递机制 被传递的数据

图2-8 USB数据流

4. 对于高速设备允许数据包最大容量为8,16,32或64字节,对于低速设备只有8 字节一种选择;

5. 端点不能指定总线访问的频率和占用总线的时间,USB系统软件会做出限制; 6. 具有数据传输保证,在必要时可以重试。

同步传输(Isochronous Transfer)

1. 是一种周期的连续的传输方式,通常用于与时间有密切关系的信息的传输; 2. 数据没有USB 定义的结构数据流管道;

3. 单向传输,如果一个外设需要双向传输,则必须使用另一个端点; 4. 只能用于高速设备,数据包的最大容量可以从0到1023个字节;

5. 具有带宽保证,并且保持数据传输的速率恒定,每个同步管道每帧传输一个数据包; 6. 没有数据重发机制要求,具有一定的容错性; 7. 与中断方式一起占用总线的时间不得超过一帧的90%。

中断传输(Interrupt Transfer)

1. 用于非周期的自然发生的数据量很小的信息的传输,如键盘、鼠标等;

2. 数据没有USB 定义的结构数据流管道;

3. 只有输入这一种传输方式,即外设到主机;

4. 对于高速设备允许数据包,最大容量为小于或等于64字节,对于低速设备只能小于或等于8字节;

5. 具有最大服务周期保证,即在规定时间内保证有一次数据传输; 6. 与同步方式一起占用总线的时间不得超过一帧的90%; 7. 具有数据传输保证,在必要时可以重试。 批传输(Bulk Transfer)

1. 用于大量的对时间没有要求的数据传输; 2. 数据没有USB 定义的结构数据流管道;

3. 单向传输,如果一个外设需要双向传输,则必须使用另一个端点;

4. 只能用于高速设备,允许数据包最大容量为8,16,32或64字节;

5. 没有带宽的保证,只要有总线空闲就允许传输数据,优先级小,于控制传输; 6. 具有数据传输保证,在必要时可以重试,以保证数据的准确性。 图2-7 描述了输入输出请求IRP传输与操作之间的关系。

数据流类型 IRP


USB数据采集系统论文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015年考研公共课必看书籍及时间规划一览

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: