LINUX下USB1.1设备学习小记(1)

来源:互联网 发布:大话西游手游源码 编辑:程序博客网 时间:2024/04/29 22:53
现在暂定的学习目标为一个USB鼠标的设备到主机的传输过程软件上的贯穿(会涉及到部分硬件 但是本人的电电路知识有限 涉及的量不会多)
 
学习的框架如下:
1.     USB1.1协议
  A.    控制传输
  B.     中断传输
2.     USB主机
  A.    LINUX下的UHCI
3.     USB设备
  A.飞利浦的PDIUSBD12
4.     HID协议
  A.鼠标部分
5.     USB主机的HID驱动程序
  A.鼠标部分
6.     LINUX的INPUT子系统
  A.鼠标部分
 
 

在这里简短说一下为什么会有USB协议的诞生~
一方面,在电脑上可以看多很多的插口,例如PS/2,网口,VGA,DVI,并口,打印机并口
USB设备主要为了统合这些日益增多的插口而诞生的
另一方面,并口的传输随着计算机数据流量的发展而显得力不从心,并口,泛指使用若干个数据位进行传输的设备,在计算机中信号的传输只有1和0两种信号,呢么一次传输数据的大小和数据位的关系就是2x个bit,当有3个数据位的时候就是23位,也就是8个bit,一个字节,为了增加数据流量,会增大数据位的位数或者增大频率
可以看看IDE硬盘的数据线 
密密麻麻的排了多少数据线,每根数据线就是一个数据位
并口传输的一个特征就是数据一定要一起到达,这样才不会出错,但当频率和数据位增大时,现在的电气技术无法解决信号一起到达的问题,所以开始转向研究串口传输
什么是串口传输呢?  画了个图和并口传输比较一下
 
左边的是串口传输,右边的是并口传输
可以看出并口传输是每个位一根数据线,并起来传输,而串口传输是所有的位共享一根数据线
而USB的总称是Universal Serial Bus~ 也就是 通用串行总线
这个协议的具体内容也就是规范了串行传输中的信号格式和如何使用这些信号
 

原文:http://blog.chinaunix.net/uid-13321460-id-2902420.html
原创粉丝点击