EHCI接口概述(一)

一个USB主控制系统包括若干硬件组件和相关软件栈,参见下图:

 主要软硬件层包括:

  1. 客户(设备)驱动软件。这类驱动主要针对USB设备硬件逻辑来设计的,这类驱动分为两类:第一类是免驱设备驱动,例如USB HID驱动,USB storage驱动等,免驱设备驱动一般由操作系统提供;第二类是特定厂商USB设备驱动,这类设备驱动需要厂商提供,并集成到操作系统中。
  2. 核心层软件。该核心层软件主要是对底层主控器驱动进行抽象,给上层客户(设备)驱动软件提供统一的访问接口。
  3. 主控制器驱动软件。主控制器驱动主要是针对主控制器硬件逻辑来设计的,这类驱动由主控制器硬件逻辑的厂商提供,并集成到操作系统中。
  4. 主控制器硬件逻辑和设备硬件逻辑。主控制器硬件逻辑和设备硬件逻辑通过USB电气信号接口连接,参见下图。

USB2.0主控制器逻辑

USB2.0主控制器硬件逻辑必须实现一个EHCI接口的高速模式主控制器,另外可选实现一个或多个USB1.1主控制器硬件逻辑(OHCI或UHCI接口的全速/慢速主控制器,这部分硬件逻辑又称为伴生控制器)。USB2.0主控制逻辑,端口路由逻辑可以灵活地连接前端接口和后端端口(后端端口是指EHCI/OHCI/UHCI接口部分)。主控制器驱动软件用来对端口路由逻辑进行配置;如果主控制器驱动软件不支持EHCI,端口路由逻辑默认将前端端口连接到OHCI/UHCI端口;如果主控制器驱动软件对EHCI逻辑进行了初始化,端口路由逻辑就将前端端口连接到EHCI端口。

       一旦EHCI硬件逻辑被初始化/配置/运行,所有前端端口默认和EHCI控制器连接;EHCI及其驱动会对所有插入的设备进行早期检测。EHCI可以访问每个端口寄存器中的控制位,从而管理端口路由硬件逻辑。如果低速设备插入前端接口,EHCI驱动就会将前端端口配置给伴生主控制器,OHCI/UHCI就会重新开始枚举检查插入设备,直到发现低速设备;如果是高速设备插入,EHCI驱动就会保持EHCI逻辑对前端端口的连接,并且完成设备枚举。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值