我是一棵树,静静的站在田野里,风儿吹过,我不知它的去向,人儿走过,我不知谁会为我停留。
我多少多少年以前刚刚情窦初开的时候,在本本上留下过一篇我是一棵树,这是其中一句。当然经过了这些年的漫漫辛酸路,当时的心情早就被腐蚀掉了,现在只觉得自己居然也有过颇有才情的一段日子。USB子系统也是一颗树,比我幸运的是它不用再等待谁为它停留了,我会在这里深情款款的陪伴它的。
从拓扑上来看,USB子系统并不以总线的方式来部署,它是一颗由几个点对点的连接构成的树。
我指着路边一颗老的奇形怪状的树问朋友:这是什么树?朋友的回答很简短:大树。那上面图里的是什么树?答案就是用头发梢想想也应该知道了吧,当然是大树了,不过是USB的大树。答案简短,蕴含的道理可不简短,它主要包括了USB连接、USB host controller和USB 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连接指的就是连接device和host(或hub)的四线电缆。电缆中包括的VBUS(电源线)、GND(地线)还有两根信号线。USB系统就是通过VBUS和GND向设备提供电源的。主机对连接的USB设备提供电源供其使用,而每个USB设备也能够有自己的电源。
分享到:
相关推荐
2.6.22内核的usb core源码分析。原文为blog.csdn.net/fudan_abc上的《linux那些事儿之戏说USB》。
我是U盘 说的是2.6.10的内核 我是Sysfs 说的是2.6.10的内核 戏说USB 说的是2.6.22的内核 我是Hub/UHCI/EHCI 说的是2.6.22.1的内核
然后是usb core(也就是戏说USB),这一阶段是个承上启下的角色,承的是U盘/HUB,启的是UHCI/EHCI,主要描述一个usb设备连接到hub上之后,在HUB和UHCI/EHCI之间也就是usb core里发生的故事. 再然后可以开始看UHCI/EHCI.这...
第一章面试受挫——代码无错就是好? 第二章代码规范、重构 第三章复制 VS复用 第四章业务的封装 第五章体会简单工厂模式的美妙 第六章工厂不好用了? 第七章用“策略模式”是一种好策略 第八章反射——程序员的快乐...
戏说指针 如何分析指针类型 细说指针 指针的类型 指针所指向的类型 指针的值 指针本身所占据的内存区
兄弟连Linux基础知识与系统管理课件
大班音乐:戏说脸谱.ppt
一本很不错的讲面向对象的书,给大家分享下 !
【作者:李高栓】戏说质量管理体系之四:我的2015年度管理评审——一位质量人的年终总结.doc
C# 面向对象设计 让你了解C#的面向对象的设计原理 更好的掌握C#的学习 真正的成为C#高手
指针的本质、指针的三要素、类型与变量名
简单明了的解释 很实用
幼儿园大班歌唱教案:戏说脸谱.doc
戏说国学.doc
1.使用轻松的方式解释23种设计模式,很容易理解
戏说面向对象程序设计(C#版)面向对象程序设计(C#版)
戏说绩效工资.doc
从狭义上讲,持续集成可以认为是一种基于某种或者某些变化对软件系统进行的经常性的构建活动(注:这里的构建活动不仅指编译打包 管Thoughtworks的首席科学家Martionfolwer为“持续集成”下了定义,但由于自身背景...