关闭

Linux那些事儿 之 戏说USB(6)我是一棵树(一)

标签: linux电话任务
7012人阅读 评论(5) 收藏 举报
分类:
我是一棵树,静静的站在田野里,风儿吹过,我不知它的去向,人儿走过,我不知谁会为我停留。

我多少多少年以前刚刚情窦初开的时候,在本本上留下过一篇我是一棵树,这是其中一句。当然经过了这些年的漫漫辛酸路,当时的心情早就被腐蚀掉了,现在只觉得自己居然也有过颇有才情的一段日子。USB子系统也是一颗树,比我幸运的是它不用再等待谁为它停留了,我会在这里深情款款的陪伴它的。

从拓扑上来看,USB子系统并不以总线的方式来部署,它是一颗由几个点对点的连接构成的树。

 

我指着路边一颗老的奇形怪状的树问朋友:这是什么树?朋友的回答很简短:大树。那上面图里的是什么树?答案就是用头发梢想想也应该知道了吧,当然是大树了,不过是USB的大树。答案简短,蕴含的道理可不简短,它主要包括了USB连接、USB host controllerUSB device三个部分。而USB device还包括了hub和功能设备等。下面还是逐个说说吧。

什么是USB controller?在一个USB系统中只能有一个host,其实说白了就是咱们的主机,而USB和主机的接口就是host controller,你的主机总不可能只能有一个USB host controller吧,所以说一个主机可以支持多个host controller,比如分别属于不同厂商的。那么USB host controller本身是做什么的?这个问题复旦人甲兄弟说的太精彩了,我还是直接拿来吧。controller,控制器,顾名思义,用于控制,控制什么,控制所有的usb设备的通信。通常计算机的cpu并不是直接和usb设备打交道,而是和控制器打交道,他要对设备做什么,他会告诉控制器,而不是直接把指令发给设备,然后控制器再去负责处理这件事情,他会去指挥设备执行命令,而cpu就不用管剩下的事情,他还是该干嘛干嘛去,控制器替他去完成剩下的事情,事情办完了再通知cpu。否则让cpu去盯着每一个设备做每一件事情,那是不现实的,那就好比让一个学院的院长去盯着我们每一个本科生上课,去管理我们的出勤,只能说,不现实。所以我们就被分成了几个系,通常院长有什么指示直接跟各系领导说就可以了,如果他要和三个系主任说事情,他即使不把三个人都召集起来开个会,也可以给三个人各打一个电话,打完电话他就忙他自己的事情去了,比如去和他带的女硕士风花雪月。而三个系主任就会去安排下面的人去执行具体的任务,完了之后他们就会像院长汇报。

那么hub是什么?还是拿复旦人甲现成的答案吧,不能怪我不努力,只是复旦人甲说的太精彩了。在大学里,有的宿舍里网口有限,但是我们这一代人上大学基本上是每人一台电脑,所以网口不够,于是有人会使用hub,让多个人共用一个网口,这是以太网上的hub,而usb的世界里同样有hub,其实原理是一样的,任何支持usb的电脑不会说只允许你只能一个时刻使用一个usb设备,比如你插入了u盘,你同样还可以插入usb键盘,还可以再插一个usb鼠标,因为你会发现你的电脑里并不只是一个usb接口。这些口实际上就是所谓的hub口。而现实中经常是让一个usb控制器和一个hub绑定在一起,专业一点说叫集成,而这个hub也被称作root hub,换言之,和usb控制器绑定在一起的hub就是系统中最根本的hub,其它的hub可以连接到她这里,然后可以延伸出去,外接别的设备,当然也可以不用别的hub,让usb设备直接接到root hub上。

USB连接指的就是连接devicehost(或hub)的四线电缆。电缆中包括的VBUS(电源线)、GND(地线)还有两根信号线。USB系统就是通过VBUSGND向设备提供电源的。主机对连接的USB设备提供电源供其使用,而每个USB设备也能够有自己的电源。

 
1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2431494次
    • 积分:7531
    • 等级:
    • 排名:第3013名
    • 原创:297篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2042条
    博客专栏