毕业设计]基于usb的高速数据采集卡的设计内容摘要:

到总线活动,自 动进如挂起 .设备功能不可用 . 通用 USB设备操作 所有的 USB 设备支持通用的操作集,下面简要地描述这些操 1. 动态插接与拔开 USB 设备必须在任意时刻允许被插接与拔开。 提供连接点或端口的集线器应当负责汇报端口的状态改变情况。 当主机探测到连接操作后,会使得所连的集线器端口生效,设备也会因此而复位,一个被复位了的 USB 设备有如下特性: 对缺省 USB 地址发生响应 没有被配置 初始状态不是挂起 当设备从一个集线器端口移去时,集线器会使得原来连 接的端口失效,并且通知主机设备已移去。 2. 地址分配 当 USB 设备连接以后,由主机负责给此设备分配一个唯一的地址,这个操作是在设备复位及端口使能操作以后。 3. 配置 USB 设备在正常被使用以前,必须被配置,由主机负责配置设备。 主机一般会从 USB 设备获取配置信息后再准定此设备有哪些功能。 作为配置操作的一部分,主机会设置设备的配置值,并且,如果必要的话会选择合适的接口的备选设置。 只须一个简单配置,一个设备可能支持多重接口。 一个接口是一组端结点集合,它们代表了设备向主机提 供的单一的功能或特性,用来与这组相关端结点通信的协议以及接口内各端结点的目的可以作为一个设备类的一部分或者由厂商制定具体定义。 另外,一个配置中的结口可能有备选设置。 这些备选设置会重定义相关端结点的数目或特性。 如果是这样的话,设备必须支持 GetInterface(接口请求 )与 Set Interface(接口设置 )请求,来汇报及选择指定的接口的设备选设置。 4. 数据传送 数据可能以四种方式在 USB 设备端结点与主机之间传送。 四种传送方式参见第五章。 在不同设置下,一个终端结点可能被用于不同的传 输方式,但一旦设置选定,传送方式就选定了。 5. 电源管理 USB 总线电源是一个有限的资源,在设备标识阶段,主机估测电源的需求。 如果电源的需求量超过 USB 总线所能提供的电量,主机软件则不能选择那个配置。 USB 设备应将电源需求量限制在一个单元以下,直到被配置。 中止 (挂起 )的设备,不管是否已经配置过了,应将总线耗电降到第 7 章定义的标准以下。 视接到设备的端口电源负载能力而定, USB 设备在配置了以后可从 VBus 汲取达 5个单元的电量。 远程唤醒能力参许一个被挂起的 USB 设备发达信号给处于挂起状态的主机。 这个信号会使得主机醒来,处理触发事件。 USB 设备通过配置描述来向主机汇报其远程唤醒的能力。 USB 设备的远程唤醒能力应能被禁止的。 6. 请求处理 除 SetAddress( )请求以外,在安装完成返回 ACK 信号以后,设备就开始处理请求。 在某一状态成功结束以前,设备应当“完成”对请求的处理。 许多请求费时较多,像这样的请求,该设备类应定义一个方法而不是等待交换状态信息阶段的结束来表示该操作已经完成。 像这样的操作有:集线器端口的复位至少需 10ms 来完成。 当端口复位产生时,SetPortFeature(PORTRESET)请求就结束了。 当端口状态改变并表明此端口已经生效时,一个信号就会产生表明复位信号已经结束。 这种技术可以防止当主机知道某一个请求费时较长的情况一直探测此请求是否已完成。 7. 请求错误 如果一设备收到一个请求,它或是在设备中无定义,或是不适用于当前设置,或是数值不对,这时就会产生一个请求错误。 设备在下一个数据传输阶段或状态交换阶段返回一个表明错误的 STALL PID信号,一般在下一个数据传输返回更好,这样可减少不必要的总线活动。 USB设备请求 所有的 USB设备在“设备的缺省控 制通道 ”处对主机的请求发出响应。 这些请求是通过使用控制传输来 达到的,请求及请求的参数通过 Setup包发向设备,由主机负责设置 Setup包内的每个域的值。 每个 Setup包有 8个字节。 见表 22。 表 22 Setup数据包的格式 偏移量 域 大小 值 描述 0 bmRequestType 1 位图 请求特征 : D7: 传输方向 0=主机至设备 1=设备至主机 D6..5: 种类 0=标准 1=类 2=厂商 3=保留 D4..0: 接受者 0=设备 1=接口 2=端点 3=其 他 4..31=保留 1 bRequest 1 值 具体请求 2 wValue 2 值 字长域,根据不同的请求含义改变 . 4 wIndex 2 索引或偏移 字长域,根据不同的请求含义改变 .典型用于传送索引或偏移 . 6 wLength 2 如有数据传送阶段,此为数据字节数 . USB的物理层 USB的物理接口包括电气特性和机械特性。 USB通过一个四线电缆来传输信号与电源如图 27所示。 图 27 USB电缆定义 其中 D+和 D是一对差模的信号线而 VBus和 GND则提供了 5V的电源它可以给一些设备 (包括 Hub)供电当然要有一定的条件限制。 12Mb的高速模式,另一种是,这两种模式可以同时存在于一个 USB系统中。 而引入低速模式主要是为了降低要求不高的设备的成本,比如鼠标、键盘等等。 USB信号线在高速模式下必须使用带有屏蔽的双绞线,而且最长不能超过 5m。 而在低速模式时中可以使用不带屏蔽或不是双绞的线,但最长不能超过 30m。 这主要是由于信号衰减的限制,为了提供信号电压保证以及与终端负载相匹配,在电缆的每一端都使用了不平衡的终端负载,这 种终端负载也保证了能够检测外设与端口的连接或分离,并且可以区分高速与低速设备。 所有的设备都有上行的接口,上行和下行的接头是不能互换的,这保证了不会有非法的连接出现。 插头与插座有两个系列分别为 A和 B系列, A用于基本固定的外围设备,而系列 B用于经常拔插的设备,这两个系列是不能互换的。 USB 数据流 从逻辑上讲 USB数据的传输是通过管道进行的。 图 26描述了 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 格式 格式 到 0 号端点的 缺省通道 事务 USB 帧格式 每个端 USB帧 的数据 点的数 结构的 据 数据 USB 主机 USB线路 机 械的, 通道:两个水平实体之间连接 电气的, 的抽象。 数据传递机制 被传递的数据 图 28 USB 数据流 4. 对于高速设备允许数据包最大容量为 8, 16, 32或 64字节,对于低速设备只有 8 字节一种选择; 5. 端点不能指定总线访问的频率和占用总线的时间, USB系统软件会USB 设备 Client SW 管理一个接口 USB System SW 管理设备 USB USB 帧格式 接口 的数据 事务 主机控制器 SIE 应用 接口的集合 接口X USB 逻辑设 备 端点的集合 端点0 USB 总线接口 SIE 做出限制; 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. 具有数据传输保证,在必要时可以重试 , 以保证数据的准确性。 图 27 描述了输入输出请求 IRP传输与操作之间的关系。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。