Linux那些事儿 之 戏说USB(1)它从哪里来
它从哪里来,它从intel来。不过,与PCI、AGP属于intel单独提出的硬件标准不同,Compaq、IBM、Microsoft等也一起参与了这个游戏,它们一起在94年11月提出了USB,于95年11月制定了0.9版本,96年制定了1.0版本,不过它并没有因为有这些大佬的支持立即迎来它的春天,谁让它诞生在冬天那,生不逢时啊。因为缺乏操作平台的良好支持和大量支持它的产品,这些标准都成了空谈。然后是98年USB1.1的出现,忽如一夜春风来,它就象春天里的一朵油菜花,终于涂上了浓重的一抹黄色。
为什么要开发USB。USB出现以前,电脑的接口处于春秋战国时代,串口并口等多方割据,键盘、鼠标、Modem、打印机、扫描仪等都要连接在这些不同种的接口上,实行的是一夫一妻制,一个接口只能连接一个设备,不过咱们的电脑不可能有那么多这种接口,所以扩展能力不足,而且它们的速度也确实很有限。还有关键的一点是,热插拔对它们来说也是比较危险的操作,不想用了都成黄脸婆了还不能立即换掉,岂不是很不能满足很多man们内心的潜在需要。USB正是为了解决速度、扩展能力、易用性应景而生的。
USB的一生也充满了PK,不过USB还不够老,说一生太早了些,发哥说的好,“我才刚上路呢”。
USB最初的设计目标就是替代串行、并行等各种低速总线,以达到以一种单一类型的总线连接各种不同的设备。它现在几乎可以支持所有连接到PC上的设备,99年提出的USB2.0理论上可以达到480Mbps的速度。它与串口、并口等的这场PK从一开始就是不平等的,这样的开始注定了以什么样的结果结束,只能说命运选择了USB。
有了USB在这场PK中的大获全胜,才有了USB键盘、USB鼠标、USB打印机、USB摄像头、USB扫描仪、USB音箱等。
本系列抄袭自:http://blog.csdn.net/fudan_abc/article/category/335670
当个人笔记进行一些简单的修改,涉及到的代码主要使用linux3.18.2
Linux那些事儿 之 戏说USB(1)它从哪里来相关推荐
- Linux那些事儿 之 戏说USB(19)设备
转载地址:http://blog.csdn.net/fudan_abc/article/details/1807800 第一眼看到struct usb_device这个结构,我仿佛置身于衡山路的酒吧里 ...
- 【转】Linux那些事儿 之 戏说USB(19)设备
第一眼看到struct usb_device这个结构,我仿佛置身于衡山路的酒吧里,盯着舞池里扭动的符号,眼神迷离. 交大里苟了几年,毕业了又是住在学校附近的徐虹北路上,沿着虹桥路走过去,到徐家汇不过1 ...
- Linux那些事儿 之 戏说USB(33)字符串描述符
关于字符串描述符,前面的前面已经简单描述过了,地位仅次于设备/配置/接口/端点四大描述符,那四大设备必须得支持,而字符串描述符对设备来说则是可选的. 这并不是就说字符串描述符不重要,对咱们来说,字符串 ...
- Linux那些事儿 之 戏说USB(28)设备的生命线(十一)
现在已经使用GET_DESCRIPTOR请求取到了包含一个配置里所有相关描述符内容的一堆数据,这些数据是raw的,即原始的,所有数据不管是配置描述符.接口描述符还是端点描述符都彼此的挤在一起,所以得想 ...
- Linux那些事儿 之 戏说USB(27)设备的生命线(十)
跟着设备的生命线走到现在,我算是明白了,什么东西的发展都是越往后越高级越复杂.再给张小表,看看现在和上次那张表出现的时候有什么变化. state USB_STATE_ADDRESS sp ...
- Linux那些事儿 之 戏说USB(25)设备的生命线(八)
回到struct usb_hcd,继续努力的往下看. 7行,又见kref,usb主机控制器的引用计数.struct usb_hcd也有自己专用的引用计数函数,看drivers/usb/core/hcd ...
- Linux那些事儿 之 戏说USB(22)设备的生命线(五)
下面接着看那三个基本点. 第一个基本点,usb_alloc_urb函数,创建urb的专用函数,为一个urb申请内存并做初始化,在drviers/usb/core/urb.c里定义. struct ur ...
- Linux那些事儿 之 戏说USB(15)设备
struct usb_device结构冗长而又杂乱 include/linux/usb.h struct usb_device {int devnum;char devpath[16];u32 rou ...
- Linux那些事儿 之 戏说USB(25)设备的生命线(四)
转载地址:http://blog.csdn.net/fudan_abc/article/details/1819919 洗澡是屁股享福,脑袋吃苦:看电影是脑袋享福,屁股吃苦:看内核代码是脑袋.屁股都吃 ...
- Linux那些事儿 之 戏说USB(大结局)还是那个match
从上次在几米的向左走向右走遇到usb总线的那个match函数usb_device_match()开始到现在,遇到了设备,遇到了设备驱动,遇到了接口,也遇到了接口驱动,期间还多次遇到usb_device ...
最新文章
- 如何修改WINDOWS默认的3389远程端口
- json数据解析_ORACLE中Clob字段在不同数据库间自由地飞翔——SQL+JSON字段解析
- 移动端布局规范-固定页头页尾-中间随高度滑动
- 对Mapreduce代码进行单元测试
- [JavaScript]为JS处理二进制数据提供可能性的WEB API
- 【百战GAN】二次元宅们,给自己做一个专属动漫头像可好!
- JSONEasy的用法(JSONDateHandler)
- 【荐】牛逼的WPF动画库:XamlFlair
- suse linux安装rpm包,linux – 如何为Suse创建RPM
- hadoop之MapReduce的案例(多表关联)
- plsql development 注册码
- 极域课堂管理系统软件如何取消控制_智慧物流自动化智能仓储管理架构分析
- 美国苹果股价走势图(抢先看美股三大指数新动态)
- Xiph基金会成员:Timothy B. Terriberry
- 江西理工大学校园网开机自动连接,断网自动重连
- 计算机科学与技术行业发展历史,发展历程
- 为什么工业互联网平台要配备MQTT网关?
- 厉害了!世界首例AI诈骗案出现:公司高管接老板电话被骗22万欧元
- MySQL之DML(数据操纵语言)
- PIX飞控不能解锁问题总结
热门文章
- C++ 中multiset 的使用
- java.lang.IllegalStateException: Cannot modify managed objects outside of a write transaction. in /U
- Android Activity的onRestart()方法
- iOS蓝牙开发---CoreBluetooth[BLE 4.0] 初级篇[内附Demo地址]
- IntelliJ IDEA 的Project structure说明
- JS动态改变文本中光标位置
- 优先级队列实现哈夫曼树的编码和译码
- zhs16gbk对应mysql_[Oracle] 彻底搞懂Oracle字符集
- c语言队列如何表示,队列的链式表示和实现(C语言)
- java运行时_java编译时与运行时概念与实例详解