USB驱动编程培训upload.pptVIP

  • 0
  • 0
  • 约3.91千字
  • 约 43页
  • 2022-04-23 发布于四川
  • 举报
WDM电源管理模型 基本概念: 电源管理器:为了于减少系统不必要的功耗,基于ACPI(Advanced Configuration Power Interface)规范作为计算机全局电源策略,操作系统支持一些用户接口,用户可以通过这些接口控制最终的电源管理策略。 电源管理是操作系统通过处理驱动程序来实现的。 支持PNP的驱动必须支持电源管理,支持电源管理的驱动程序必须支持PNP,两者是被集成而相互依赖。 * * 电源状态分以下六个状态: * * 系统电源状态 含义 SO(Working) CPU全功率运行 S1(Sleeping1) CPU停止,RAM被刷新 S2(Sleeping2) CPU不通电,RAM被刷新 S3(Sleeping3) CPU不通电,RAM处于低速刷新模式,电源功率输出降低 S4(Hibemate) 系统停止,RAM被保存到磁盘 S5(Shutdown) 系统停止并关闭,需要完全引导以恢复操作 USB驱动编程 * * 简介 USB编码以及总线数据结构 USB数据流模型 USB的PNP管理 USB的电源管理 USB数据包与应用程序 * * USB编码以及总线数据结构 USB编码 USB总线数据结构 包 传输事务 帧结构 * * USB编码 USB接口针脚结构: 同步时钟+数据: 采用了NRZI(Non Return to Zero Invert)反向非归零编码; 既能保证数据传送的完整,也不需要独立的时钟信号 * * 包(Package) 包的格式:令牌包,数据包,握手包 * * 用7个0和1个1作为同步序列 USB传输事务(Transaction) * * 每个传输事务由三个包组成。 帧结构(Frame) 每个帧内数据由传输事务组合组成 * * USB总线数据结构 由于有许多设备都接到了USB上,因此每1ms产生的传输帧是混合的。其中中断传输(Interrupt)和同步传输(Isochronous)对时间要求高,因此占用了约90%的总带宽,控制传输(Control)占用了约10%的带宽,而批量传输(Bulk)则使用剩下的可用带宽 * * USB数据流模型 USB协议简介 USB外设与总线 数据流模型 模型整体框架 参与通信抽象对象 实际数据流向 驱动程序与系统内核之间的关系 USB驱动例程中的一些回调接口 * * USB协议简介 USB协议: USB采用轮询的广播机制传输数据,即“令牌包,数据包,握手包”; 根据包标识符PID字段,用于识别数据包类型; 字段-包-传输事务-帧; 不同传输模式是通过相应的传输事务序列下实现的。 * * USB外设与总线 * * PC机上USB接口设备的连接拓扑结构 数据流模型 USB必须分层理解: 用户应用程序; IO管理器层; 驱动程序; 硬件抽象层(HAL); 硬件外设 * * 模型整体框架 客户软件:对设备功能进行操作软件,它是针对 物理设备功能开发的。 USB系统:它包括操作系统对USB支持,USB控制器总线驱动,既占硬件也占软件,好比一个翻译。 USB设备驱动:客户端软件与USB系统的之间的接口。 USB控制器将IRP译码成USB协议数据传输到USB总线上; * * 参与通信的抽象对象 通道(pipe):就是主机与设备之间传输的数据的模型共有两种类型的管道: 无格式的流管道(Stream Pipe)和有格式的信息管道(Message Pipe) * * 参与通信的抽象对象 逻辑设备(device):驱动程序对应硬件实际功能暴露给操作系统内核接口的抽象对象;每个设备都有一个默认的控制端点。 配置(Configuration):用于设置一些结构来设定设备功能接口。 接口(Interface):逻辑设备中功能相近相同的一些端点的集合。 端点(EndPonit):位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点) * * 实际数据流 如右图所示: 客户软件通过USB设备驱动(USBD)发送IRQ请求请求传送数据; 主机控制器驱动(HCD)将接收IRQ请求解析成USB传输和传输事务。 主机控制器将这些USB传输和传输事务打包成USB协议数据包通过USB总线传输给USB设备交互 * * 驱动程序与操作系统之间的关系 USB总线的设备也属于即插即用设备,由上一小节可知,USB驱动程序主要还是通过IRP包进行数据交换,操作系统主要就是通过PNP管理器与IO管理器与以及部分内核对USB驱动程序的中断,内存资源进行管理; * * 操作系统用户模式 IO管理器 即插即用PNP管理器 操作系统内核 USB驱动程序 硬件抽象层

文档评论(0)

1亿VIP精品文档

相关文档