全部博文(396)
发布时间:2016-10-08 09:37:39
最近在做Linux下USB从设备的驱动,程序写的差不多了,做一个整理小结。欢迎交流,如有错误请指正,谢谢!--Jason一、USB从设备驱动介绍USB总线上主要有三类设备:主控制器(Host Controller, such as EHCI、UHCI、OHCI)、集线器(hub)和设备(device)。Host controller(HC)负责总线的管理,是总线.........【阅读全文】
发布时间:2016-09-12 11:32:25
该部分所有结构体的声明均可以在内核源文件 usb.h 内找到,有兴趣的朋友可以阅读源码。 USB设备其实很复杂,但是Linux内核提供了一个称为USB core的子系统来处理了大部分的复杂工作,所以这里所描述的是驱动程序和USB core之间的接口。在USB设备组织结构中,从上到下分为设备(device)、配置(config.........【阅读全文】
发布时间:2016-09-12 09:51:19
一 枚举过程:◆ 用户将一个USB设备插入USB端口,主机为端口供电,设备此时处于上电状态。◆主机检测设备。◆集线器使用中断通道将事件报告给主机。◆主机发送Get_Port_Status(读端口状态)请求,以获取更多的设备信息。◆集线器检测设备是低速运行还是高速运行,并将此信息送给主机,这是对Get_Port_Status请求.........【阅读全文】
发布时间:2016-08-26 14:43:22
转载自:http://hi.baidu.com/deep_pro/blog/item/0ca086af97ca15f1faed5016.html一、USB命令 在USB规范里,对命令一词提供的单词为“Request”,但这里为了更好的理解主机与设备之间的主从关系,将它定义成“命令”。 所有的USB设备都要求对主机发给自己的控制命令作出响应,USB规范.........【阅读全文】
发布时间:2016-08-26 13:57:17
USB是串行总线,所以数据是一位一位地在数据线上传送的。既然是一位一位地传送,就存在着一个数据位先后的问题。USB使用的是LSB在前的方式,即先出来的是最低位数据,接下来是次低位,最后是最高位(MSB)。一个包,又被分成了很多个域(field),而LSB、MSB就是以域为单位来划分的。USB总线上传输数据是以包为基本.........【阅读全文】