摘要:
前不久花了2300大银败了个HD-USB12协议分析仪(肉痛…)。不过还蛮好用,以后做USB固件开发就方便多了。废话少说,首先图解一下USB枚举过程。一、总线复位及向默认地址0发送GET_DESCRIPTOR指令包,请求设备描述。1)Index[4 - 5]:表示USB插入总线复位2)Index[7 - 8]:表示主机向默认地址发送GET_DESCRIPTOR指令包,详细信息也抓出来了,如(图二)所示:3)Index[15 - 17]:表示设备向主机发送设备描述数据Index[16]4)Index[18 - 19]:表示主机完成GET_DESCRIPTOR指令后,给设备发送一个空应答;二、再次 阅读全文
摘要:
原文地址:http://blog.163.com/luge_arm/blog/static/6774972620071018117290/从驱动开发网看到一篇《USB枚举详细过程分析》,依据自己的理解和经验对原文稍加改动。本文仅供参考,一些顺序并不是固定的。 本文描述的是Windows系统的USB枚举过程,但对嵌入式系统自行开发的USB主机驱动程序也有参考价值。 USB枚举详细过程剖析 1.主机集线器检测到新设备 主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察。(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻。当用USB线将P 阅读全文
摘要:
原文地址:http://www.cnblogs.com/image-eye/archive/2012/02/28/2372362.html在网上看了许多前辈的文章,就是无法理解报告描述符中的那些数字字符所表达的含义,几经周折,总算大致了解了。code char MouseReportDescriptor[63] = { 0x05, 0x01, // USAGE_PAGE (Generic Desktop) 0x09, 0x06, // USAGE (Keyboard) 0xa1, 0x01, // COLLECTION (Application) 0x05, 0x07, // USAGE_PA 阅读全文
摘要:
原文地址:http://www.cnblogs.com/zsb517/archive/2012/06/03/2532413.html在说枚举过程之前,先把一些必须了解的说明白一.USB包结构和分类包的共同特点是,都是以同步域开始,接着是PID,最后以EOP结束,而设备端则靠SEI(串行接口引擎,硬件上实现)来进行这些底层的处理,包括CRC的校验之类的东东。8位的PID,PID0~PID3,用于表示包,高四位进行取反,进行校验各种包的如下:令牌类:OUT,IN ,SOF,SETUP数据类:DATA0,DATA1,DATA2,MDATA握手类:ACK,NCK,STALL,NYET特殊类:PRE,E 阅读全文
摘要:
所有资料来源于原创或者网络,如果有部分文章涉及到版权问题,请和我联系,我会及时处理,谢谢! 阅读全文
摘要:
原文地址:http://www.cnblogs.com/xidongs/archive/2011/09/26/2191616.html一、应用场合USB HID类是比较大的一个类,HID类设备属于人机交互操作的设备。用于控制计算机操作的一些方面,如USB鼠标,USB键盘,USB游戏操纵杆,USB触摸板,USB轨迹球、电话拨号设备、VCR遥控等等设备。另外,使用HID设备的一个好处就是,操作系统自带了HID类的驱动程序,而用户无需去开发很麻烦的驱动程序,只要直接使用API调用即可完成通信。所以很多简单的USB设备,喜欢枚举成HID设备,这样就可以不用安装驱动而直接使用。二、USB HID类可采用 阅读全文
摘要:
原文地址:http://hi.baidu.com/xgy1016/item/d6d7c13231be17322f20c433前言 断断续续的学*了将*三个月,才把USB的HID类搞明白,速度真是够慢的。利用晚上+周末的时间学*自己的东西确实是必要的,不过效率是有点低,以后要更专注一些才行,希望自己能做到吧。 在学*过程中,刚开始主要参考了周立功编写的一本《PDIUSBD12 USB 固件编程与驱动开发》,后面的学*主要参考电脑圈圈的资料包,包括里面的HID类的英文协议文档,还有一位台湾前辈几年前写的几篇文章,还有网络下有下得到的一些例程。在此感谢各位大虾前辈的分享。 一,学*流程 1,... 阅读全文