10usb主机硬件软件(编辑修改稿)内容摘要:
控制信息流 可选信息流 图 104 设备配置信息流程图 :这包括设置设备的所有参数,为设备分配所有可见的 USB主机资源。 USB还允许以后更改设备的部分配置参数。 一旦设备配置完以后,以设备的观点来看,它已是可用的。 配置 为了真正的创建客户可用的 USBD通道,额外的对设备不可见的 USB信息要由客户具体化。 这些信息 被称为通道策略,它描述了客户将如何使用该通道,其中包括一个 I/O请求包容许的最大数据量,客户的最大服务间隙,客户的标识码等等。 当设备配置与 USB 配置完成后,从 USB 的观点来看,该通道是完全可用的。 然而在客户真正使用通道之前,或许额外的供应商定义的 (vendor)或有关设备类(classspecific)配置需要进行。 这些配置是客户与设备之间的私事,它并不由 USBD来进行标准化。 下面的段落描述了客户配置与 USB配置需要完成的工作。 配置软件完成具体的配置工作。 具体 的配置软件将基于特定的操作系统实现而有所不同,但一般它包括以下几个部份。 集线器驱动器 其它主机软件 设备驱动程序 配置软件首先读取设备的描述符,然后对于每一种可能的配置请求该配置的描述信息。 配置软件使用提供的信息加载特定的客户,比如设备驱动程序,由它与设备进行初始的交互。 配置软件可能要从设备驱动程序那儿输入一些信息,然后为设备选择一种配置方案。 设备配置过程设置好设备的所有端口,并且返回一组用于 USBD客户传输数据的接口。 一个接口是为某个客户所拥有的一组通道。 初始配置为每个接口使用缺省的配置,为每个端口分配缺省的带宽。 USBD实现系统可能允许客户在一些可选配置中指定一种作为初始配置。 同时, USB系统会检测端口所需要的资源是否能得到满足,如果能满足的话,就为它分配所需要的资源(参见 源管理 )。 至此,设备已经配置完成了,但是创建的通道还不可用。 当客户通过设置通道的使用策略为每一个通道初始化以后, USB配置也就完成了。 这些需要被具体指明的使用策略包括客户的最大服务间隙和客户的标识信息。 根据 USB配置的结果, USB系统决定除了客户提供USBD( USB 驱动) HCD 主机软件 HUB 驱动 设备驱动程序 的数据 缓冲区外还需的工作缓冲区的大小。 工作缓冲区的大小是根据客户的功能选择及每次事务的需求来决定的。 当 I/O 请求包结束的时候,或者是顺利结束,或者是由于产生了错误,客户都将收到一条通知消息。 在 USB通知下,客户唤醒以检查即将到来的 I/O请求包的状态。 客户可以进行一些配置的修改,比如说选择另一种可能的接口配置方案,改变已为某一通道分配的带宽。 在进行这些配置更改时,相应的接口或通道必须处以空闲状态。 资源管理 当一个 USBD为一个给定的通道进行设置的时候, USB系统将根据相 应端口的描述符检查它是否能满足该通道的资源要求。 其中必须被满足的一项是通道的带宽。 在检查带宽是否能满足时中要经过两步。 首先计算每次事务的最大运行时间,其次根据帧的时间分配表检查上述的带宽要求能否满足。 USB 系统的软件完成为同步传输模式及中断传输模式分配所需的带宽和判断一个特定的控制传输事务和块传输事务能否装进一个给定的帧的工作。 如果主机控制器的实际事务的执行时间超过了一帧 ,主机控制器有义务维护帧的完整性 (参照 )。 下面的讨论叙述了 USB系统应具备的功能。 为了决定带宽是否能满足 ,或者传输事务能否被装入特定的帧,必须计算事务最大执行时间。 在计算过程中使用到下述信息 每包的最大数据字节数 传输模式 拓扑结构深度。 如果要求不是很精确的话,假定设备处于最大的拓扑深度。 上述的计算必须考虑到位传输时间,由于拓扑深度而造成的信号传输延迟,还有一些与具体实现系统有关的延迟。 比如主机控制器的准备及复位时间。 具体的计算公式请参照第 5章。 数据传输 客户与功能部件之间通信的基础是如下的接口:与特定 USB 设备相联系的一串相关通道。 主机上的一个客户拥有一个给定的设备接口。 客户初始化该接口,为接口中的每个通道设定使用策略,其中包括设定一次 I/O 请求的最大数据量,和通道的最大服务间隙(servile interval)。 服务间隙是以毫秒计的,它反应了在同步传输模式下每两次传输的间隙,同时它反映了在中断传输模式下轮询间隙。 当一个特定的请求处理完成以后,客户被唤醒。 客户通过管理每一个 I/O 请求包的大小以维持它的任务循环 (duty cycle)和延迟限制 (latency)。 其它的使用策略信息包括客户的通知信息等。 客户为传输事务提供数 据缓冲区。 USB系统根据客户的使用策略信息决定额外的工作缓冲区大小。 客户视它的数据为一个连续的串行数据流。 客户以类似于其它总线的数据流管理方式管理这种数据流。 在内部, USB系统可能根据自己的策略及主机控制器的限制将单个请求分割成多个在 USB 上传输的请求。 但是当 USB 系统决定进行请求的分割的时候,必须要考虑到以下两点: 将数据流分割成更小的块操作对客户是不可见的。 USB样本 (Samples)在总线传输时是不被分割的。 当客户想传输数据的时候,它将 I/O 请求包发送给 USBD。 同时,客户将根据传输的方向提供一个空或满的数据缓冲区。 当请求完成 (或是顺利完成,或是出现了错误 )I/O请求包及状态都将返回给客户。 如果有必要的话, IRPS中将包括每次事务的状态。 普通数据定义 (Common Data Definition) 为了使客户最直接的从它的设备处取得结果,有必要使客户与设备之间传输过程中的数据拷贝及处理降至最少。 为了便于上述的实现, I/O请求包中的控制信息被标准化,以使得不同的层能直接访问到客户提供的控制信息。 数据的具体格式与操作系统上 USBDI 的具体实 现有类。 有些数据成份可能对客户来请是不可见的,但是在客户提出请求的时候生成。 下面的数据成份定义了一次请求的相关信息。 与该请求有关的通道标识。 通道的标识信息同样也包括了传输模式的信息。 特定客户的通知标志码。 数据缓冲区的位置及长度 请求的结束状态,包括总的状态及每次事务的结束状态 工作缓冲区的位置及长度。 这与其实现系统有关。 客户与 USBD 之间交互请求的机制是由操作系统定义的。 除了上面讲到的一个 IRPS 必须包含的请求信息外,还必须对请求的 处理作出一些要求。 这些基本的处理要求在第 5 章有描述,读者可以参考。 另外, USD提供一套机制以指定一组同步 I/O传输请求的首次传输事务出现在同一帧内。 USBD 还提供了一套机制以指定一组不可被中断的厂商定义的或有关设备类的请求到标准通道。 没有其它的请求可以插入到该组非中断请求的执行流中。 如果一组中间的某些请求出现了错误,整的该组请求都被中止。 主机控制器驱动器 HCD 是主机控制器硬件的抽象,同时也是对主机控制器所见的数据传输的抽象。 HCDI应符合下列条件: 提供一个抽象的主机控制器 硬件。 提供主机控制器在 USB上传输数据过程的抽象。 提供主机控制器为给定设备分配 (或不分配 )必需的资源过程的抽象。 根据一般集线器的定义提供根集线器。 这包括支持集线器驱动程序与根集线器的直接交互。 具体的说,虽然一个根集线器是用硬件及软件共同实现的,它最初响应缺省的设备地址 (从客户的观点 ),返回描述符信息,支持设备地址集,并且支持其它的集成器类型的请求。 然而考虑到可能将主机控制器与根集线器集成在一起,所以,在对根集线器进行访问的时候可能并不需要经过总线。 HCD提供软件界面 HCDI( HCD INTERFACE)以实现必要的抽象。 HCD的功能是进行抽象、隐藏主机控制器的硬件细节。 在主机控制器之下是物理的 USB及所有与之连接的 USB设备。 HCD是 USB软件中的最下一层。 HCD只有一个客户: USB驱动器 (USBD)。 USBD将客户的请求映射到相关的 HCD。 一个给定的主机控制器驱动器可能管理很多的主机控制器。 客户不能直接访问 HCDI,所以 HCDI的具体实现细节将不在下面作具体的讨论。 USBD USBD 提供了供操作系统组件特别是设备驱动程序访问设备的一组接 口。 这些操作系统组件只能通过 USBD来访问 USB。 USBD的具体实现基于不同的操作系统。 下面的讨论将以 USBD的实现系统所必须提供的基本功能为中心展开。 对于在具体某一特定的操作系统环境下的USBD细节请参考相关的操作系统手册。 一个 USBD可以访问一个或多个 HCD,而一个 HCD可能与一个或多个主机控制器相连。 某些操作系统可能允许对 USBD的初始化进行一些设置。 从客户的观点来看,与客户进行通信的 USBD管理着所有连接着的 USB设备。 USB 概况 USBD的客户直接命令设备或。10usb主机硬件软件(编辑修改稿)
相关推荐
)加入打碎南瓜,一起煮,粥大开 1 分钟后,改小火微 1520 分钟后即成。 (南瓜本身就有一种特别的甜味,如果感觉还不够甜的话,你可以再加一点糖调味。 ) 36.【点播菜谱】之“凉拌心里美 ” 制作:水萝卜洗净去皮 切成细细的丝,加入盐、糖、醋、香油、味精调匀即成。 要点:糖多一点才好吃,醋最好是白醋这样颜色才好看,醋量也应多些,但一定别让酸味盖过甜味,这菜偏甜点才好。 注
候把盐撒在上面,冷却后,再用湿海绵体擦拭即可。 5.《绿色清洁》的作者林达 梅森 亨特说: “地板是最脏的表面。 ”每周一次用 4 升的水兑上 30 毫升的液体肥皂和 30 毫升的白
39。 s extremely helpful and easy to use, and not at all like the oldfashioned Romannumeral kind of outlining you probably learned in school. If you want to know more, I remend an excellent book Tony
ather of wisdom and memory the ,记忆是知识之母。 es by。 makes。 keeps a dear school,but fools learn in no ,愚人旁处学不到。 48. Experience without learning is better than learning without ,胜于有学问而无经验。 once bought is
图例文字(或左或右),可以通过组合键 CTRL+F2。 有时候图形上方的行情栏也非常影响我看盘分析的感觉,那怎么办呢。 其实我们通过 F7 完全可以部分显示或者完全去除上方的行情栏。 理财宝 31 去掉图形上的移动平均线,只看 K 线图 ――“ F4” 在做技术分析时,为了看到很清爽的 K 线图,有人就将移动平均线的各个参数都设为 0。 其实我们可以更简单的实现这 个目的,只要通过“
别 □ 社会公用 □ 计量授权 □ 部门最高 □ 计量授权 □ 企事业最高 □ 计量授权 前两次复查 时间和方式 年 月 日 □ 书面审查 □ 现场考评 年 月 日 □ 书面审查 □ 现场考评 测量范围 不确定度或 准确度等级或 最大允许误差 计 量 标 准 器 名称 型号 测量范围 不确定度 或准确度等级 或最大允许误差 制造厂及 出厂编号 检定周 期或复 校间隔 末次检 定或校 准日期