USB基础知识
什么是USB?
USB设备是指连接到计算机或其他设备的使用USB(Universal Serial Bus)接口进行数据传输和通信的外部设备。USB设备可以是各种类型的设备,包括但不限于以下几种:
存储设备:如USB闪存驱动器、外部硬盘驱动器、SD卡读卡器等,用于存储和传输数据。
输入设备:如键盘、鼠标、游戏手柄、扫描仪等,用于将用户的输入传输到计算机或其他设备。
输出设备:如打印机、显示器、音频耳机、音箱等,用于从计算机或其他设备输出数据或音频/视频信号。
网络设备:如USB网卡、调制解调器等,用于连接计算机或其他设备到网络。
视频/音频设备:如摄像头、麦克风、音频接口等,用于捕捉、传输和处理视频和音频数据。
手持设备:如智能手机、平板电脑、移动存储设备等,用于移动计算和数据存储。
其他外部设备:如USB打印机、USB扬声器、USB电源适配器等,用于提供特定功能或服务。
?
USB总线结构
?
USB根集线器(ROOT HUB)
PC主机一般含有一个或多个根线器。在主机启动时在它的内部总线上查找这个根集线器。
USB主机控制器一般通过PCI/E枚举发现,主机控制器的PCI/E配置空间被访问并配置合适的值。控制器的寄存器通过IO或内存的方式映射,所有USB主机控制器也像其它物理设备一样占用系统总线进行它的数据传输。
PC机直接与USB主机控制器中的根集线器进行数据通讯枚举,然后根集线器再与连接的USB设备或USB集线器进行数据通讯枚举。
一个USB根集线器即为一个USB总线,如果系统中有两个根集线器,系统会当作2条USB总线来处理。
USB集线器(HUB)
USB集线器是USB众多标准设备中的一种,分类为HubClass标准类。USB集线器必须实现在USB规范中定义的功能,它有必要的描述符描述集线器的功能。
USB集线器必须实现USB规范中其定义的功能,并且其具有必要的描述符用于描述集线器的功能。
集线器主要由一个信号中继器和控制器组成,中继器沿正确的方向进行传递USB信号,控制器理解协议并指示中继器的动作。
集线器控制器自身由集线器通过两个端点控制。USB集线器通过它的标准端点0配置和查询。这个配置管道实现大多数的标准控制事务,然后继续实现各种集线器特定的控制事务。
这些事务包括:ClearHubFeature,?ClearPortFeature, GetBusState,?GetHubDescriptor, GetHusStatus,?GetPortStatus,?SetHubDescriptor,?SetHubFeature,SetPortFeauture.
集线器有一个状态改变端点,用于将它的下游端口的变化告诉主机。如果下在的任何状态改变,将设置一个端口中变化位:设备连接、端口使能、挂起、过流指示、复位和加电。
主机每255ms查询USB集线器让其报告其各个下游设备的状态,如果什么也没有尽管变,集线器简单返回NAK.
状态的改变包括:设备连接,端口使能,挂起,过流指示,复位,加电和拨出等。
?
USB设备
USB设备可以插入USB集线器的任何USB端口。
另一类USB设备是USB集线器,这样这个USB集线器就可以连接更多的USB设备了。一个USB集线器有一个向上游(PC机端)连接的上游端口和多个连拉下游设备的端口(USB设备)。
一个USB集线器最多可以连接127个设备(包括集线器)。
USB设备的数据在主机和设备之间进行交换,USB设备之间不进行直接数据交换。
USB(Universal Serial Bus)协议是一种主从结构的协议,其中一个设备充当主机(host),而其他设备则充当从设备(slave)。
USB协议之所以设计成只有主机发送数据给从设备,是为了确保数据传输的可靠性和一致性。主机作为控制者,负责管理和协调整个USB总线上的通信。它控制着数据的发送和接收,并负责分配带宽和处理各种设备的请求。
从设备则被动地接受主机发送的命令和数据,并按照主机的指示执行相应的操作。从设备没有主动发送数据的能力,它们只能在主机的请求下响应。
这种设计有助于确保USB总线上的通信顺序和数据一致性。如果多个设备都可以主动发送数据,可能会导致数据冲突和混乱,从而影响整个系统的稳定性和可靠性。
?
USB速率识别
USB集线器的每个下游端口的D+和D-都分别接了一个15K欧姆的下拉电阻,集线器悬空时就会被拉到低电平。
USB设备端,在D+或者D-上接了15K欧姆上拉电阻
低速设备
上拉电阻接到D-上,当设备插入到集线器时,由1.5K 的上拉电阻和15K 的下拉电阻分压,结果就将差分数据线中的一条拉高了。集线器检测到这个状态后,它就报告给USB 主控制器
全速设备
上拉电阻接到D+上,识别为全速设备
高速设备
USB 高速设备先是被识别为全速设备,然后通过HOST 和DEVICE两者之间的确认,再切换到高速模式的。在高速模式下,是电流传输模式,这时将D+上的上拉电阻断开。
参考网址
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!