您好,欢迎访问三七文档
专案名称:日期:编号:专案代码:版本:页码:1/184812USB开发文档作者:金晓日期:2009-11-26审核:日期:签核:日期:专案名称:日期:编号:专案代码:版本:页码:2/184812修改事项编号版本修改内容作者日期审核日期专案名称:日期:编号:专案代码:版本:页码:3/184812目录1概述.....................................................................................................................................................................42描述符的定义与初始化.....................................................................................................................................42.1REPORTDESCRIPTOR....................................................................................................................................52.1.1主项目卷标.........................................................................................................................................52.1.2区域性项目卷标.................................................................................................................................62.1.3全局项目卷标.....................................................................................................................................62.1.4实际应用.............................................................................................................................................62.2DEVICEDESCRIPTOR....................................................................................................................................72.3CONFIGURATIONDESCRIPTOR.....................................................................................................................82.4INTERFACEDESCRIPTOR............................................................................................................................102.5ENDPOINTDESCRIPTOR.............................................................................................................................112.6HIDDESCRIPTOR.......................................................................................................................................112.7STRINGDESCRIPTOR..................................................................................................................................123主机与设备间的通讯.......................................................................................................................................133.1USB协议..................................................................................................................................................133.2USB状态..................................................................................................................................................143.3USB标准请求..........................................................................................................................................153.4USB传输方式..........................................................................................................................................154JM60芯片USB部分..........................................................................................................................................164.1JM60芯片初始化.....................................................................................................................................164.2USB中断..................................................................................................................................................164.3BDT...........................................................................................................................................................175用户协议部分...................................................................................................................................................18专案名称:日期:编号:专案代码:版本:页码:4/1848121概述当USB设备接上或从USB设备移开的时候,主机启动一个被称作总线标识(busenumeration)的进程,来标识并管理设备状态的改变,当USB设备接上一个加电端口时,系统当采取以下操作:USB设备所连的集线器通过其通向主机的状态改变通道向主机汇报本USB设备已连接上。此时,USB设备处于加电状态,它所连接的端口是无效的。主机通过询问集线器决定此次状态改变的确切含义。主机一旦得知新设备已连上以后,它至少等待100ms以使得插入操作的完成以及设备电源稳定工作。然后主机发出端口使能及复位命令给那个端口。集线器将发向端口的复位信号持续10ms。当复位信号撤消后,端口已经有效了。这时USB设备处于缺省状态,并且可从VBUS汲取小于100mA的电能,所有设备寄存器及状态已经被复位,设备可对缺省地址产生响应。主机给设备分配一个唯一的地址,设备转向编址状态。(Addressstate)。在USB设备接受设备地址之前,它的缺省控制通道(DefaultControlPipe)在缺省地址处自然是可寻址的,主机通过读取设备描述表,判决设备缺省通道的实际净数据负载。主机从设备读取配置信息要从配置0读到配置n-1,其中n为配置个数,此操作须花费几个毫秒。基于从设备取来的配置信息及设备如何被使用的信息,主机给设备一个配置值,此刻,设备就处于配置状态(Configuredstate)并此配置有关的所有端节点,都按照配置各就各位,USB设备现在可以从VBUS得到描述中所要求的电量了。从设备的角度来讲,它已经准备就绪了。当USB设备被取走时,集线器同样会通知主机,断开一个设备连接会使得设备所连接的端口无效,一收到断开通知后,主机就会更新拓扑信息。从上述USB上电的整个过程中,我们可以看到,为了实现USB设备能正确被主机识别,首先需要解决描述符的问题,只要描述符能够被主机正确识别,USB系统基本能够工作了,剩下的就是把用户协议添加到USB系统中。描述符问题(descriptor),描述符包括report描述符、HID描述符、设备(device)描述符、配置(configuration)描述符、接口(interface)描述符、端点(endpoint)描述符;其中report描述符是不定长的,设备不同会不同,而其他描述符一般都有固定的格式。主要实现这些描述符的格式定义以及相应的数据初始化。主机与设备间的通讯协议问题,使上位机(电脑)能够正确识别设备,并能实现正常的数据交换。主要包括USB设备能够正确回复上位机的查询(USB实现相应的中断处理,实现对上位机的数据的接收与解析以及正确回复等)。用户协议问题,实现用户方的协议与USB搭配使用,并得到正确及时的数据响应。2描述符的定义与初始化描述符多种多样,下表给出了各个描述符类型的对应编码:描述符种类值Devicedescriptor1专案名称:日期:编号:专案代码:版本:页码:5/184812Configurationdescriptor2Stringdescriptor3Interfacedescriptor4Endpointdescriptor5实际在给描述符表赋值时,对应的描述符类型按照上表进行。
本文标题:Usb开发文档
链接地址:https://www.777doc.com/doc-3617231 .html