USB总线学习心得及资料
来源:互联网 发布:网络信息收集方法 编辑:程序博客网 时间:2024/06/05 11:36
看了一下usb协议资料,对usb原理有了一个简单的了解。
usb总线和pci总线一样,总线的作用都是提供通道,各种设备利用总线通道来实现自己的功能。
usb总线的主要特点:是一个星形的共享性总线,总线控制器逐个的询问总线上的设备是否需要数据收发,如果有数据需要传输则赋予设备操作总线的令牌。
usb总线的星形拓扑结构:
usb设备的组织结构:星形总线上的每个usb设备都有一个自己的device address来标示自己,以区分出host是在和谁通讯。device内部进一步细分为多个端点(endpoint),usb通讯的基本单位就是端点,0号端点是控制用的,其他还有哪些端点是从0号端点中读出的配置信息知晓的。
usb设备的内部逻辑:一组端点(endpoint)可以组成一个接口(interface),每个接口需要一个配置一个(configuration),多个接口可能共一个配置,所以一个配置可以对应多个接口,每个设备有一个描述符(descriptor)。
usb的总线枚举和配置过程:usb host需要给总线上的设备分配不同的地址才不会冲突,usb的星形拓扑连接设备都是通过hub的端口连结到总线上的。总线初始化枚举设备时,usb设备的地址都是默认地址0,但是hub的端口都是关闭的所以并不产生设备冲突,host逐个打开hub的端口,逐个利用打开端口上设备的默认地址0来配置设备,给其分配新的地址,从endpoint 0中读出设备的配置并设置。在运行过程中usb设备的热插拔也是和这类似的。
usb的驱动结构层次:最底层是usb控制器驱动HCD(Host Controller Driver),负责操作usb host;中间一层是usb核心层,usb根据hcd提供的接口实现usb总线通用层,向下配置初始化设备,向上提供endpoint等级的操作接口;最上一层是usb功能性驱动,根据usb总线层提供的endpoint通讯能力,实现具体的业务,比如usb磁盘驱动、usb声卡驱动、usb网卡驱动等等。
- usb的规格和速率:
- usb host控制器分类:
usb1.0有两种控制器标准:OHCI康柏的开放主机控制器接口,UHCI Intel的通用主机控制器接口。它们的主要区别是UHCI更加依赖软件驱动,因此对CPU要求更高,但是自身的硬件会更廉价。
usb2.0只有一种控制器标准:EHCI。因为EHCI只支持高速传输,所以EHCI控制器包括四个虚拟的全速或者慢速控制器。
- 参考资料:
附件: usb总线协议.rar
附件: usb总线控制器.rar
附件: usb网上相关资料.rar
- USB总线学习心得及资料
- USB 总线上电复位及枚举
- USB 总线上电复位及枚举 .
- USB 总线上电复位及枚举
- 通用串行总线(USB)原理及接口设计
- USB总线专题(二)——数据传输及协议
- 实用资料——RS485总线理论及应用分析
- USB 资料
- USB驱动----USB总线驱动程序
- uhci ehci ohci及hcdxxx的区别与 usb驱动架构(USB总线分析前奏曲)
- USB驱动(一、概念介绍及USB总线驱动程序代码分析)
- USB总线枚举过程
- USB总线的体系结构
- USB总线协议概述
- USB总线结构
- USB总线的体系结构
- 通用串行总线USB
- 总线协议类---USB
- Windows下Nginx的启动、停止等命令
- NPM 国内被墙的解决方法
- Android 技术的回顾第一篇《网络检测》
- 动态的修改td的内容
- Gym Commandos
- USB总线学习心得及资料
- highcharts 动态设置series
- php-cgi.exe系统错误 无法启动程序,因为计算机中丢失api-ms-win-crt-conio-l1-1-0.dll 尝试解决安装该程序以解决此问题
- Java开发中Tomcat中session的管理机制
- java将list转为树形结构的方法
- 运算
- validform入门
- C#的Enum——枚举
- js笔记