
它写完这篇文章后,你不可能完全掌握USB驱动程序。这里这是给你的一点心意,希望能帮到你。
一.总体框架
二。硬件基础
USB的硬件很简单。一共四根线,电源线和两根数据线。这四个线程看似简单,但它们的功能可以不要被低估。
识别过程:从上图可以看出,D-和D用PC的USB口内部的15K下拉电阻连接,在没有连接USB设备的情况下为低。在USB设备的USB口内部,D-或D连接一个1.5K的上拉电阻;一连接到PC上,电源就通过两个电阻接地,然后分压,会升高PC的USB口的D-或D,从硬件角度通知PC有新设备连接。
三。软件概念
1.1概述。USB设备
从图中可以看出:
一个设备通常有一个或多个配置。一个配置通常有一个或多个接口。界面通常有一个或多个设置。接口有零个或多个端点。
2.端点
端点是USB通信的最基本形式。USB端点只能单向传输数据。输出端点(主机到设备)和输入端点(设备到主机)是相对于主机的。
端点的四种类型:
控制端点:控制端点用于控制对USB设备不同部分的访问,通常用于配置设备、获取设备信息、向设备发送命令或获取设备的状态报告。数据可靠,有时间保证。
中断:每当USB主机请求设备传输数据时,中断端点以固定速率传输少量数据。注意,这里说的中断不是我们前面说的硬件中断。因为没有主控制器的请求,设备不会发送数据,所以USB主机负责每个USB设备是否有数据要发送。这些端点是USB鼠标和键盘使用的主要传输方式。
批处理端点:批处理端点传输大量数据。USB协议不能保证这些传输总是在特定的时间内完成。u盘等设备使用多种传输方式。
等时端点:等时端点也可以传输大量数据,但不能保证数据是否会到达。USB麦克风和USB文章都使用这种端点。
3.连接
USB接口仅处理一个USB逻辑连接。比如现在的USB摄像头基本都是带麦克风功能的。要实现它的驱动,需要两个驱动,一个USB摄像头驱动,一个麦克风驱动。所以需要两个接口。因为USB接口代表一个基本功能。所以不是一个硬件对应一个驱动,而是一对多的情况。
4.配置
一个USB设备可以有多种配置,并且可以在它们之间切换以改变设备的状态。例如,一些允许将固件下载到其中的设备包含多个配置来实现这一点,并且一个配置只能在一个时间点启用。









