电子说
写在前面,看完本文,你是不可能完全掌握USB驱动的,这里主要是给大家带来一点思路,希望能对大家有所帮助。
一.整体框架
二.硬件基础
USB的硬件十分简单,一共就四根线,一共电源一共地,还有两根数据线。这区区四根线看似简单,作用不可小看啊。
识别过程:正如上图看到的, PC的USB口内部,D-和D+接有15K的下拉电阻,未接USB设备时为低。USB设备的USB口内部,D-或D+接有1.5K的上拉电阻;它一接入PC,电源通过两根电阻接地,然后分压,就会把PC USB口的D-或D+拉高,从硬件的角度通知PC有新设备接入。
三.软件概念
1.USB设备概观
有图可看出:
• 设备通常有一个或多个配置.• 配置常常有一个或多个接口• 接口常常有一个或多个设置.• 接口有零或多个端点.
2.端点
端点是USB通信的最基本的形式,USB端点只能往一个方向传输数据。输出端点(主机向设备),输入端点(设备向主机)都是相对于主机来说的。
端点的四种类型:
控制端点:控制端点是用来控制对USB设备不同部分的访问,通常用于配制设备、获取设备信息、发送命令到设备,或者获取设备的状态报告。数据可靠,并且有时间保证。
中断端点:每当USB宿主要求设备传输数据是,中断端点就以一个固定的速率来传输少量数据。注意这里说的中断,并不是我们之前说的硬件上的中断。因为设备在没有主控制器要求的情况下是不会发送数据的,所以是USB宿主负责每一个USB设备是否有数据需要发送。这些端点是USB鼠标和键盘所使用的主要传输方式。
批量端点:批量端点传输大批量的数据。USB协议不保证这些传输始终可以在特定的时间内完成。U盘等设备多用次传输方式
等时端点:等时端点也可以传送大批量的数据,但是数据是否到达没有保证。USB话筒,USB视频都使用这类端点。
3.接口
USB接口只处理一种USB逻辑连接。举个例子:现在的USB摄像头基本都带麦克风功能。要实现它的驱动,则需要两个驱动,一个USB摄像头驱动,一个麦克风驱动。所以需要两个接口。因为一个USB接口代表了一种基本的功能。所以说,并不是一个硬件就只对应着一个驱动,是有一对多的情况的。
4.配置
一个 USB 设备可有多个配置并且可能在它们之间转换,以便改变设备的状态. 例如, 一些允许固件被下载到它们的设备包含多个配置来实现这个,一个配置只能在一个时间点上被使能。
全部0条评论
快来发表一下你的评论吧 !