1994年首先提出
96年,得到发展
04年,做到2.0
08年做到3.0(网线那么粗,也不止4根线)
但大部分还是2.0,或者是更低的版本
一个是因为硬件的原因,
usb设备可以封装成很多设备,hid(人机交互类,比如鼠标键盘)
linux在2.6.31中支持3.0(09.03)
苹果的usb3.0
根集线器(root hub)+主控制器
跟集线器只有一个(一个主控制器对应一个),若要再接需要集线器,集线器和普通设备是相同的!
一个usb控制器只能接一个usb设备
usb设备共享带快,
一般电脑不止一个usb主控制器,所以当插上两个u盘,还都想速度很快的话,就是需要接在两个控制器上
最多接7层hub,从usb主控制器算起。
hub是需要芯片的,芯片dp0,dn0是接到2440芯片内部的!
usb四根线(电源,地,两根差分线)
usb的协议,一定是硬件和软件一起规定的
比如串口,只规定了硬件
usb确保每次插上确保电源先接触
有屏蔽盒没有屏蔽
usb的枚举过程
令牌包
同步传输:不保证数据的正确性,但是保证实时性
数据包分四类,分四类是为了纠正数据出错
linux usb驱动整体结构
hub也存在驱动,只要是设备就会存在驱动!
usb驱动分成主机和设备的驱动,两部分
主机规范
EHCI
UHCI:功能集中到host中
OHCI:功能集中到硬件中
阅读(1113) | 评论(0) | 转发(0) |