_______ ______ |\ /|( ____ \( ___ \ | ) ( || ( \/| ( ) ) | | | || (_____ | (__/ / | | | |(_____ )| __ ( | | | | ) || ( \ \ | (___) |/\____) || )___) ) (_______)\_______)|/ \___/
设备 :设备即咱们所理解的设备,如一个键盘是一个设备,一个U盘是一个设备 配置 :配置是功能的集合,如一个USB耳麦能录音和播放,那么就能够存在三种配置 接口 :如上,就分为录音接口,播放接口 端点 :好比播放接口会存在两个端点,一个是左声道,一个是右声道
*事务:事务通常由令牌包、数据包(可选)、握手包组成。算法
事务通常由令牌包、数据包(可选)、握手包组成。架构
USB协议规定了四种传输类型:控制传输、批量传输、同步传输、中断传输源码分析
2-1:1.0 设备-端口:配置.接口code
第二个设备的第一个端口,使用配置0 的接口1视频
USB Core接口
USB Core提供一些核心算法,为别的设备驱动程序提供服务,提供一个用于访问和控制USB硬件的接口,而不用考虑系统当前是那种主机控制器,事件
USB Core、USB主机控制器 USB设备驱动三者的关系以下:事务
Block层 : Net层 : Char层 : --- ------------------------------- USB设备驱动程序 ------------------------------- USB Core ------------------------------- USB主机控制器(HCD) ------------------------------- 硬件
HCD提供主机控制器硬件的抽象,隐藏硬件的细节,HCD只对 USB Core负责。这也就意味着咱们写USB驱动,是在调用USB Core接口的基础上进行的。同步
咱们接下来的源码分析就从HCD开始。源码