HUB集线器测试软件,【视界网】只有大神才知道的USB集线器

原标题:【视界网】只有大神才知道的USB集线器

USB集线器的设计是USB总线拓扑结构的必然产物。USB集线器具有如下几个功能:

1.连接功能

所有系统中的USB设备都是连接在USB集线器所提供的下游端口上。根据USB协议,USB设备与USB集线器之间的连接长度不能超过5m,如需要更长距离的数据通信,则可通过级联USB集线器的方式来增加传输距离,但考虑到系统延时,USB集线器的级联不能超过5级,也就是说USB设备与USB主机的传输距离不能超过30m。

2.电源管理功能

电源管理功能使USB总线区别于以往计算机外设接口总线的一大特点,也是实现即插即用的一个重要条件。USB协议将电流分成负载单元,每个单元的负载是100mA,USB设备可以根据需要,最大获得500mA的电流。当集线器刚刚接入到某个上游集线器的下游端口上或系统重启动时,它会从上游集线器的端口上获得不超过一个负载单元的电流。当正常工作时,集线器会从上游集线器的端口上申请获得5个负载单元的电流。从电源的提供方式上,集线器分成自供电和总线供电两种。总线供电的集线器为其下游端口提供的最大电流为100mA,而自供电集线器为下游端口提供的最大电流为500mA。

3.总线的错误检测和恢复功能

作为USB设备与系统总线的连接点,USB集线器必须能够及时地检测到总线或内部部件的错误,并能从错误中恢复过来,避免出现死锁等现象。

(1)控制器的错误恢复。一个集线器控制器可以对包传输的破坏进行响应,并能从中恢复过来。它能够对令牌包、数据包和握手包的错误都做出反应。对于所有包的包标识错误,控制器会检测包标识的检验位,如果出错,就忽略此包。对于令牌包的数据部分错误,控制器同样忽略此包。当数据包的数据信息出现CRC错误时,控制器会丢弃此数据包。

(2)中继器的错误恢复。集线器能够检测出包结尾(EOP),并能够从无限期的等待中或者一帧的结束时,总线所处的某个非空闲的状态中恢复回来。有两种集线器的故障情况:动作丢失(Lack of Bus activity)和串扰(Babble)。动作丢失表示在检测到包起始(SOP)后,缺少了必备的总线活动或在一帧的结束时没有检测到包结尾信号(EOP)。串扰表示包起始后出现了跨越一帧的终点而继续进行此包的传输。集线器不了解所分配的带宽,必须依赖自己的帧定时器(frame Timer)来检测到动作丢失和串扰。

(3)集线器的同步。每个集线器都有一个帧计时器,它的时钟来自集线器自身的时钟,并通过检测来自于主机的帧起始(SOP)包与主机的时钟同步。它在一定周期内跟踪主机的帧起始包,每次检测到了一个帧起始包时都会重新复位,并负责产生帧结束的时刻。帧计时器要求有对丢失至多两个连续的帧起始包的情况做出错误恢复的功能。当集线器和主机的同步存在偏移时,帧计时器必须仍能够和主机重新同步。

4.对全速和低速设备的支持功能

基于USB1.1协议,USB系统同时支持全速和低速设备,除了能够对设备的传输速率进行检测外,还要支持不同速率的数据传输。

对设备的速率的检测是由设备上的上拉电阻决定的。图2显示了全速设备的电阻连接结构,它的上拉电阻(Rpu)是连接在D+线上的。而低速设备中的上拉电阻(Rpu)是连接在D-线上的。当设备插入到集线器的一个下游端口时,集线器向主机汇报新设备的接入事件,主机端的集线器的驱动程序向此集线器发出SetPortFeature(PORT_RESET)类命令,要求集线器启用连接端口。然后集线器开始对设备的速率进行检测。它根据总线的D+和D-线的电压决定设备是全速设备还是低速设备。对于接收来自USB主机数据包的Hub的上游端口,集线器需要能够处理来自主机的PRE令牌包,并进行相应的全速/低速间的转换。

5.对设备连接/断开的处理

当一个USB设备连接到USB总线上或者断开与USB总线的连接时,USB集线器必须负责检测到这一状态变化,并通过USB主机对集线器的数据访问请求,将端口的状态变化通知给USB主机。

在集线器的设备类中,除了用于控制传输的端点0外,每个集线器还有一个中断类型的端点:“状态变化端点”。主机通过这个状态变化端点来接受集线器和其各个下游端口的状态变化。

当集线器接收到唤醒信号或硬件重启信号时,都会使集线器恢复到工作状态。

声明:文章来源【视界网】,如有侵权,请联系删除!

http://www.shijiezx.com/news/show.php?itemid=ecaff6a22ba5815c返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值