现在的位置: 首页 > 综合 > 正文

STM32的USB使用比较

2014年10月02日 ⁄ 综合 ⁄ 共 1047字 ⁄ 字号 评论关闭

1. USB模式:低速-1.5Mb/s,全速-12Mb/s,高速-480Mb/s。

2. 注意并不是符合2.0协议的USB设备就一定支持高速模式。

3. USB的拓扑结构为主从结构,主机叫Host,从机叫Device。

4.USB主机一般包括多个USB主控制器和多个根集线器,然后根集线器下再接USB集线器,然后USB集线器上再接USB设备。

5.一个USB主机下最多可以接127个设备。注意地址0永远是给为初始化的设备用的。

6.每个USB的包都是以同步域开始的,由于同步域是一连串的0,所以在数据线上表现为一连串的脉冲,这样方便设备进行时钟的同步。

7.断点0是每个USB设备都必须要具备的。

8.非0端点必须要在Set Configuration之后才能使用。

9.USB设备有许多的子类,如通信类,显示类,HID类。由于Windows系统自带了HID类设备的驱动程序,所以如果设备为HID类,则不需要自己开发驱动程序,只要设备做成标准的HID设备,然后使用Windows的标准API即可访问USB设备。

10.HID设备HID描述符是关联于接口(而不是端点)的,所以设备不需要为每个端点都提供一个HID描述符,一个接口对应定义一个HID描述符。

11.HID只支持控制和中断传输方式。

12.HID设备必须要有默认的控制管道和一个中断输入端点,中断输出端点是可选。

13.USB的报告描述符规定了该报告的一些信息,那么USB的通讯报告都必须符合报告描述符的要求,比如ID,逻辑最大最小值,长度等,不符合的报告是不能发下去的,当然不符合的报告也不能发上来。

14.在STM32的USB库里,要在usb_prop.c这个函数里设置好USB的接收发送的最大字节,USB包不能超过这个设置的最大值。

15.USB的报告描述符里定义的REPORT_COUNT是指的报告的内容的字节数,注意不包括报告ID。

16.报告描述符必须包含的选项:

Input( Output or  Feature )UsageUsagePageLogicalMinimumLogical
Maximum
ReportSizeReportCount.

16. REPORT_SIZE是表示报告大小(即这个字段的宽度),就是说报告里每个字节的有效宽度,比如REPORT_SIZE为0x01,则报告里的数据每个字节只有一位有效,也就是数据最大值为1

17.BUS Hound工具不能主动读USB设备,他只是捕获数据,必须有另外的程序来对USB设备进行读时,他才能捕获数据。

抱歉!评论已关闭.