打印

问computer00一个USB问题~~

[复制链接]
5173|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhlking|  楼主 | 2007-1-12 09:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
computer00:
我看过你以前发的贴,你应该对USB很了解,现在想请教一个问题,麻烦解答一下。大家都知道,USB只有4根线,除了电源和地,就2个数据线,当我一个HOST挂多个USB设备的时候,HOST是如何识别各个USB设备的地址的呢?谢谢了!
也欢迎其他高手一起探讨一下!!! 

相关帖子

沙发
木头东瓜| | 2007-1-12 09:44 | 只看该作者

圈圈最近比较忙

使用特权

评论回复
板凳
coldra| | 2007-1-12 09:50 | 只看该作者

自己看一下USB大全吧

如果需要,留下email

使用特权

评论回复
地板
zhlking|  楼主 | 2007-1-12 09:51 | 只看该作者

不会吧~~~

不会吧~
你们是一起?
那请问你知道吗?

使用特权

评论回复
5
zhlking|  楼主 | 2007-1-12 09:54 | 只看该作者

看了没有找到啊

USB是英文的,看得不是很明白,找了半天都没有找到。
麻烦各位帮帮忙啊。。

使用特权

评论回复
6
coldra| | 2007-1-12 10:04 | 只看该作者

我这是中文的

使用特权

评论回复
7
zhlking|  楼主 | 2007-1-12 10:07 | 只看该作者

能否发我一份?

6楼的能否发我一份,谢谢了~~~
EMAIL:zhl_king@yahoo.com.cn
谢谢~~

使用特权

评论回复
8
coldra| | 2007-1-12 10:22 | 只看该作者

已发

使用特权

评论回复
9
zhlking|  楼主 | 2007-1-12 10:25 | 只看该作者

谢谢了~~

恩,谢谢了,coldra!
感激中.......

使用特权

评论回复
10
zhlking|  楼主 | 2007-1-12 10:36 | 只看该作者

再次表示感谢~~

太感谢了,coldra,我已经下下来了,正在看呢,你太热心了,要是咱们国家所有的人都像你这样乐于助人,我们国家何愁不强大呢,呵呵~~~~

使用特权

评论回复
11
coldra| | 2007-1-12 10:48 | 只看该作者

飘忽忽了~~~~~~~~~~~~~

使用特权

评论回复
12
sxl_72| | 2007-1-12 11:04 | 只看该作者

coldra变成hotra啦

使用特权

评论回复
13
computer00| | 2007-1-12 13:45 | 只看该作者

注意,多个USB设备并不是直接并联在一起的。

而是通过集线器跟主控制器打交道的.通常我们的PC机上有多个主控制器,主控制器下面是根集线器,
通常是根集线器下面有两个USB接口.例如我的电脑,有3个USB主控制器,3个根集线器,因此共有6个USB口.
USB口下面还可以再接集线器,但是集线器的总层数是有限制的(1.1最多为4层,2.0最多为6层).

地址0是保留地址,它是一个公共地址.当设备插入到集线器的端口中时,由于设备D+(全速或者高速)或
D-(低速设备)上的上拉电阻,使集线器的D+或者D-变成高电平,从而集线器识别到设备插入,并报告给主控制器.
接着,设备就被复位,并把地址设置为0.然后,主机就可以通过地址0以及端点0来对设备使用控制传输进行通信了----
读取描述符,设置一个未使用的地址等,这个过程叫做枚举.通常,第一次获取描述符只会获取设备描述符
的一部分,看它是否有数据返回,然后就会设置地址了,接下来就会使用新的地址,以及已获取到的0端点
大小等,重新获取描述符.描述符包括设备描述符,端点描述符,接口描述符,配置描述符等等.

由于PC机的根集线器已经使用了地址01,所以通常我们在一个空的根集线器上插入一个设备时,
会发现它的地址为02.地址值最大可到127.



另外,这样的帖最好发在[通信技术]或者[侃单片机]版面,回答的人会多一些.

使用特权

评论回复
14
zhlking|  楼主 | 2007-1-12 15:21 | 只看该作者

谢谢computer00

不好意思,刚才没有在线上。
恩,谢谢computer00的详细讲解,按你的意思,那象HOST和多个USB设备通信时,HOST发送的数据应该第一位是地址位了,是什么地址就发到相应的USB上去,那我如果是两个USB之间相互通信呢,是不是也是按你说的这样的通信过程?不好意思,我比较菜啊~~~

使用特权

评论回复
15
coldra| | 2007-1-12 15:26 | 只看该作者

USB只能主从通信

可以多个从机,但从机之间是不能直接通信的

使用特权

评论回复
16
zhlking|  楼主 | 2007-1-12 15:29 | 只看该作者

这样的啊

这样的啊,那应该是从机之间要通过主机转,对吧?

使用特权

评论回复
17
coldra| | 2007-1-12 15:44 | 只看该作者

从机是没有主动权的,都是由主机来管理支配通信状态

使用特权

评论回复
18
zhlking|  楼主 | 2007-1-12 15:49 | 只看该作者

谢谢了

OK,似乎有点懂了,谢谢你,coldra~~
我要开始忙了,还有一个板没有画完,下次有什么问题在请教你们啊。

使用特权

评论回复
19
computer00| | 2007-1-12 17:33 | 只看该作者

不是第一位是地址,USB发的是令牌包,地址是包含在令牌包中

设备地址有7位,因此最大可到127. 此外还有端口地址.


现在有USB OTG了,可以两个USB设备中的一个充当HOST,进行通信,从而不经过PC中转.
尽管如此,USB始终还是一主多从的结构,只是另一台设备可以变成主机而已。

使用特权

评论回复
20
zhlking|  楼主 | 2007-1-13 08:26 | 只看该作者

长见识了~~

又长见识了,谢谢各位~~
USB在消费类电子的应用还是挺广的,有机会一定要学好它。。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

22

主题

116

帖子

0

粉丝