关于USB接口的一些常见问题,知道还是比较有用的,拿来和大家分享:
1. USB 1.1和USB 2.0有何差异?
USB 2.0问世于2001年,是一种支持最高480Mbps数据传输率的外部总线。USB 2.0是USB 1.1的扩展。USB 2.0与USB 1.1兼容。USB 2.0的电缆和连接器可用于USB 1.1设备。但是,不是所有USB 1.1的电缆可用于USB 2.0设备。
2. 高速USB和USB 2.0有差异吗?哪一种说法是精确的?
高速USB和USB 2.0是有差异的。差异在于USB 2.0是一种规范。而“高速USB”仅指在USB 2.0规范中数据传输率为480Mbps的那部分。某个设备可以是符合USB 2.0的设备,同时还可以是全速设备或低速设备。
3. USB设备与打算机的通信速率有多快?
USB 2.0支持低速、全速和高速三种速率,分别为1.5Mbps、12Mbps和480Mbps。
4. 什么是USB主机?
主机是USB分层式星型网络的根节点。它掌握着总线,网络中的通信由USB主机启动。USB协议哀求任何USB系统中必须有一个独立的主机。
5. 我听说过USB设备、外设和功能这些术语。它们的差异是什么?如何精确利用这些术语?
USB规范对设备的字面定义比较模糊。规范中的“USB设备”既可以是集线器,也可代表一种功能。应利用“USB设备”取代“设备”,以避免不愿定性。纵然声明了“USB设备”,有时候人们会把USB使能的设备称为“USB设备”。由于术语利用的不一致,因此“外设”一词可能是较不随意马虎稠浊的说法。
USB规范中并未在定义列表中定义术语“外设”,但是在规范中该术语可与USB设备互换。USB设备的USB认证检讨表也称为外设检讨表。
在USB规范中对功能的定义是指USB设备供应给主机的能力。
6. 一个主机可连接多少设备?
每个主机掌握器最多可连接127个设备。一个主机可包含多个主机掌握器。如果有根集线器和/或复合设备,则根据实在现办法,可能改变可用物理设备的总数。集线器也作为总线上的设备,但集线器还会减少USB设备/外设上的可用接口。
7. 什么是USB集线器?
USB集线器是许可其他设备与其相连的一种USB设备,从而可以扩大网络。 集线器可通过总线供电或自供电。总线供电的集线器无法向所有与其连接的USB设备供电,但是自供电的USB集线器可以。由于USB设备可从USB集线器得到最小100mA和每个USB端口最大500mA的电流,总线供电的USB集线器最多可具有四个下贱设备。
8. 最多可同时连接多少个集线器?
在一根独立链上最多可连接5个集线器。
9. 是否存在拥有和掌握USB规范的组织?
存在的,便是USB开拓者论坛,也称为USB-IF。其官方网站为http://www.usb.org,您可从中免费下载最新的USB规范。
10. 数据是如何通过USB协议传输的?
USB规范定义了四种不同的数据传输机制。
掌握传输
USB主机利用掌握传输向USB设备发送命令和讯问。当列举USB设备时,掌握传输利用端点0(EP0),这样可逼迫所有USB设备支持EP0而无需考虑支持速率。掌握包的最大容量为8、16、32或64字节。低速USB设备中掌握传输的包长度必须为8字节,全速USB设备必须为64字节,而高速USB设备许可8、16、32或64字节。
中断传输
中断传输是USB设备向USB主机要求一定轮询速率的方法。在列举过程中,USB设备向USB主机要求轮询韶光。全速设备的最大轮询速率为每毫秒一次,低速设备为每10毫秒一次。低速USB设备的最大数据负载为8字节,全速USB设备为64字节。这使得全速USB设备的最大吞吐量为64KB/s,低速USB设备为800B/s。确认中断传输可担保数据的传送。如果传输包吸收失落败,则会重新发送。
批量传输
批量传输是设备传输大量数据的方法,但是不能担保会及时发送。在总线安排传输时,批量传输的优先级最低。当其他传输完成后,余下的带宽复位后将分配给批量传输。与中断传输一样,确认批量传输可担保数据的传送。只有全速和高速设备支持批量传输。对付全速USB设备的端点而言,最大的原谅量可为8、16、32或64字节长度。对付高速USB设备的端点而言,最大的原谅量可高达512字节长度。
同步传输
同步传输担保了传输速率。全速同步传输每帧可发送1023字节的数据。同步传输无需确认。因此,同步包有可能并未投递。同步传输的范例运用为音频/视频流,个中最主要的因此丢失包为代价保持视频和音频的进行。全速USB设备的最大传输率为1023Kbps。
11. 什么是令牌包?
USB协议定义了四种类型的包:
帧起始
令牌
数据
握手
有三种不同的令牌包。
IN —— 关照USB设备,主机欲读取信息
OUT —— 关照USB设备,主机欲发送信息
Setup —— 关照设备,主机要进行掌握传输
12. 在通信中,USB协议如何检测缺点?
USB协议通过CRC(循环冗余校验)检测缺点。CRC由SIE(串行接口引擎)完成,从而无需软件实行CRC并可减少软件开销。令牌包为5位CRC,数据包为16位CRC。
13. 如果SIE吸收到已破坏的数据会怎么样?
如果包未能通过CRC检讨,SIE会丢弃该破坏的包,而无需软件参与。并将设置缺点标志,解释吸收到的包已破坏。SIE将不会对CRC值禁绝确的包进行确认。对付中断、批量和掌握传输,如果未吸收到确认,主机会考试测验重新发送包。这样,虽然不会因包的破坏而造成数据丢失,但是可能会遭遇较低的带宽利用率。
14. USB协议中的传输(transfer)和事务(transaction)有何差异?
传输是事务的凑集,事务是包的凑集。
15. 最大可发送多大的数据包?
这取决于所利用的传输类型。全速USB设备的中断和批量传输的最大净负载为64字节,同步传输最多可传送1023字节。
16. 什么是列举过程?
USB主机通过列举过程可理解有新的USB设备与总线相连。在运用开始前,主机向设备讯问各种信息,以确定设备的类型、载入设备所需的设备驱动程序以及设备的功率需求等。在列举过程中,USB主机还为连接的设备分配地址。在地址设定后,USB主机将与位于该地址的设备进行通信。列举过程的终极任务之一是把设备设定为某一详细运行配置。列举过程的详细内容在USB规范的9.1.2节中给出。
17. USB主机如何识别USB设备的速率?
USB主机在两根通信线(D+和D-)上均有弱下拉电阻。如果设备要以全速模式运行,将会用较大的上拉电阻上拉D+。如果设备要运行在低速模式下,则会上拉D-。两种情形中的上拉电阻的标称值为1 kΩ。
18. USB主机如何对USB设备进行复位?
将D+和D-拉低至少10毫秒,USB主机就会对设备进行复位。当D+和D-拉低韶光超过2.5微秒,USB设备就可认为已发生复位。一旦USB设备检测到了复位,在USB主机移除复位后将立时进入默认状态。该复位仅用于USB复位,不可复位掌握器。
19. 如果USB主机对某一USB设备发送复位命令,那么其他与之相连的USB设备是否也会被复位?
不会。USB主机会哀求集线器只复位相连的某个特定USB设备。如果USB主机复位集线器的话,那么与该集线器相连的所有设备都将被复位。
20. USB主机如何获取相连的USB设备名称?
已知USB设备的设备描述符中有许多字符串,个中一个便是制造商字符串。如果已知这些字符串,USB主机就可以在列举过程中对其进行读取。
21. 什么是设备描述符?
设备描述符是描述各种关于相连设备信息的数据表,如制造商的厂商ID(VID)和产品ID(PID)。设备描述符的完全内容可在USB规范的表9-8中获取。
22. 什么是VID和PID?
VID指的是厂商ID,PID指的是产品ID。通过支付用度,USB-IF会发出VID。USB-IF哀求每个厂商拥有自己的VID,以便发卖其产品。当所利用的VID/PID不是惟一时,可能会发生法律和技能上的轇轕。
可从http://www.usb.org/developers/vendor/获取VID。
一旦购买了VID,制造商可自行决定如何在VID的范围内利用PID。
23. 我是否必须购买自己的VID? Microchip是否可付与其VID的从容许权?
Microchip有一套付与其VID从容许权的程序。请访问www.microchip.com/usb内的支持与培训页面,理解关于如何获取带Microchip VID的PID的更多信息。
24. 我生产的每种设备都须要一个新的PID吗?
每条产品线的产品都须要一个新的PID。产品线中相同的产品必须具有相同的PID。如果产品线中的每一款产品均须要具有惟一的标识符,可采取设备描述符中的iSerialNumber字段惟一地标识各设备。
25. 当两个USB设备同时连接到USB主机上时,会产生冲突吗?
不会。主机一次复位一个设备;并在完成当前设备的列举过程后,才开始调查下一个设备。
入门/工具
26. Microchip供应哪些用于USB的开拓工具?
更多关于各种USB开拓和评估平台的信息,可在“工具”页面得到。
27. 在哪里可以购买到样片、C编译器和工具等产品?
您可以在Microchip Direct (www.microchipdirect.com)上购买。
28. 可得到哪些种类的C编译器?
Microchip供应以下各种编译器:
PIC18F USB系列单片机 —— C18
PIC24F USB系列单片机 —— C30
PIC32MX USB系列单片机 —— C32
上述编译用具有两种版本:授权版和传授教化版。关于传授教化版的限定,请参考各编译器干系文档。
29. 哪里可得到所有的软件?
关于USB的所有软件可在软件/工具处得到。
30. 哪里可找到无需修正或编译代码的评估用预编译演示文件?
USB固件v2.1以上的预编译演示文件可在“<INSTALL DIRECTORY>\USB – Precompiled Demos”目录下找到。该目录下还有干系文档,解释运行演示时所需的硬件,如何加载固件到设备以及如何运行演示。
31. USB协议栈所需的资源有哪些?
因编译器、处理器系列、USB运行模式(主机、USB设备和OTG等)和所利用的USB类/功能等的不同,所须要的资源是不同的。此外,不同的USB固件版本,所需资源也是不同的。
请参考各版本的版本解释,来估算各变量组合的不同大小。
USB设备/外设
32. USB集线器会降落设备运行速率吗?
USB集线器必须在帧结束前重新打算剩余韶光。集线器造成的少量额外延迟将减少可用带宽。如果多个设备连接到集线器且并行事情(如网络摄像头 + USB闪存存储器 + 鼠标)的话,USB带宽由所有设备共用。
33. Microchip支持哪些设备类?
目前,Microchip支持以下各种的USB设备版本:HID(人机接口设备 —— 键盘、游戏杆和鼠标等)、CDC(通信设备 —— 调制解调器和以太网适配器等)、MSD(大容量存储设备 —— U盘和移动硬盘等),以及定制设备类 —— 客户可针对其产品开拓专用的驱动程序。
更多关于所支持的设备类信息,请参考各软件版本的版本解释。
34. 两个集线器或两个USB设备之间的最大电缆长度为多少?
USB电缆的最大长度为5米。
35. “组合型”USB设备与“复合型”USB设备有何差异?
除一个或多个USB外设之外,“复合型”USB设备还有一个内置集线器,只需一根USB电缆就可把这一将所有功能集成到单个产品中的设备与主机相连。
“组合型”USB设备不该用集线器芯片。在单个外设中利用多个接口。目前,Microchip的全速USB芯片可用于开拓组合型USB设备,而不能用于开拓复合型设备。
36. Microchip定制的USB驱动程序支持Windows Vista系统吗?
1.3版以上的版本包含已更新的驱动程序,可事情在Windows Vista操作系统上(32和64位版本均适用)。
37. USB设备的Vbus引脚上可通过的最大电容是多少?为什么?
USB连接器的Vbus引脚上的最大电容必须小于10uF。
这是为了限定设备通电时的浪涌电流。限定浪涌电流的目的是为了限定向新连接设备的电容充电而导致的Vbus电压低落。如果没有对热插拔设备的浪涌电流进行限定的话,新连接的设备可能会导致其他设备停滞事情。
如果运用中所需的电容值大于规范许可范围,那么将须要一个软启动电路将浪涌电流限定在规定值。
38. USB设备自供电时需把稳些什么?
设备自供电时,必须利用I/O引脚来检测电缆的连接。只有USB主机驱动Vbus变为高电平后才能上拉D+或D-。
自启动设备的设置也必须与自启动同等。如果配置描述符显示为自启动,那么对付设备的任何GET_STATUS要求也必须返回自启动。
39. 如果我想根据实际状态选择由总线供电或自供电的话,那么该如何指定配置描述符?
如果希望该设备为总线供电,那么纵然一段韶光为自供电,也必须声明其为总线供电设备。
GET_STATUS要求应将USB设备目前事情在自供电或总线供电下的信息精确地反馈给主机。
40. 在利用HID类时PC端无需任何文件支持,而为何在利用CDC时须要INF文件?
CDC类有许多其他子类规范。主机须要知道应将哪些设备驱动程序载入连接的设备中。该信息存放于.INF文件。这便是说,当有新的CDC设备第一次与主机相连时,主机须要进行某些安装/设置过程。
USB嵌入式主机
41. 主机、嵌入式主机、受限主机和微型主机之间有何差异?
主机总是与能连接USB外设的PC机和条记本电脑相提并论。完全的主机必须在Vbus端汲取500mA的电流,向所连接的外设供电。
嵌入式主机紧张在小型便携式设备中,如机顶盒和PDA等。其在Vbus端汲取的最小电流仅为8mA。由于存储器容量有限,只能存储有限的驱动程序,因此所连接的外设也是有限的。与完全的主机不同,嵌入式主机无需载入不支持的设备驱动程序。但是,须要关照用户连接了不支持的设备。
常日称嵌入式主机为“微型主机”或“受限主机”,实在都是指同一类型的设备。嵌入式主机、微型主机或受限主机并未在USB规范或OTG补充中提及。干系认证程序的过程提到了嵌入式主机。
42. Microchip是否供应完全U盘运用所需的全部协议栈?
是的。Microchip供应USB海量存储类驱动程序、SCSI接口、FAT16/32格式软件和文件管理的运用示例。干系固件可在Software/Tools上得到。
43. Microchip支持哪些设备类?
目前,嵌入式主机协议栈支持MSD(海量存储设备——U盘和移动硬盘等)和定制设备类——客户可针对他们的设备开拓专用的驱动程序。
关于软件支持的更多信息,请参考详细版本的版本解释。
44. 类似硬盘的高速外设可以连接到全速运行的主机上吗?
可以。USB协议哀求所有全速通信和高速通信均作为全速通信启动,如果设备均支持高速,可向上扩展为高速。如果个中一个设备只支持全速的话,通信将限于全速级别,即12 Mbps。
45. 那么是不是解释任何硬盘可事情在任何主机上?
不是。硬盘为海量存储设备,并供应一些数据格式规定。要使设备事情,与大略的互相识别不同,文件和接口协议必须匹配。例如,U盘便是一种范例的海量存储运用。但要使设备功能完好,必须具备USB类驱动程序、SCSI接口和FAT 16文件格式。
目前的USB嵌入式主机固件版本只支持FAT16文件格式。FAT32还在开拓中。不支持NTFS和其他文件系统。
46. 作为一个嵌入式主机,须要支持会话要求协议(SRP)和主机协商协议(HNP)吗?
嵌入式主机SRP是可选特性,不是必需的。在大多数情形下,很可能无需这两种协议。更多关于SRP的信息,请查看本FAQ的OTG部分。
由于嵌入式主机只能作为主机利用,而不能作为USB设备,因此不会支持HNP。更多关于HNP的信息,请查看本FAQ的OTG部分。
USB On-The-Go(OTG)
47. 什么是OTG?为何开拓OTG?
OTG规范是原有USB规范的追加。USB OTG对便携式设备进行定义,从一个设备只能有一个连接器到可与支持USB的产品相连而无需PC。这使得移动设备能相互连接。一个扮演嵌入式主机的角色,另一个作为USB设备利用,从而无需专为USB运用而准备PC。
48. 如果只想与USB设备(外设)对话,是否须要OTG产品?
如果设备只需与USB设备进行对话而不必与其他USB主机连接的话,该设备可以是嵌入式主机而无需为OTG产品(详情请参考上述嵌入式主机部分)。如果设备须要与USB设备和USB主机连接的话,就须要利用OTG产品了。
49. USB OTG是否须要同时存在于两个产品中才能相互连接和运行?
不须要,USB OTG产品将连接至所有的PC,并且还具有主机功能可连接到其支持的特定USB外设。
50. 利用USB OTG是否就不须要PC了?
不是这样的。实在,USB OTG补充了“广义PC”的观点,这一观点将PC置于广义数字设备天下的消费中央。通过实现数字设备之间的基本功能,USB OTG提高了这些PC外设的能力,使其对消费者和公司用户更具代价。
51. 什么是主机协商协议(HNP)?
根据与其连接的电缆另一端是哪类设备,USB OTG设备可确定哪些是主机设备哪些是外设。如果操作须要切换角色,HNP可供应角色切换机制,而无需移除和切换电缆终端。
52. 什么是会话要求协议(SRP)?
与其他USB主机不同,USB OTG设备在不该用时可从Vbus线上移除。Vbus上电的韶光即为一次会话。利用SRP的话,连接在OTG产品上的设备可要求开始一次新的会话。在设备发出SRP旗子暗记后,OTG产品作为主机将从Vbus上电并与设备开始通信。
53. 当把两个USB OTG设备接插在一起时会怎么样?
当两个双重角色的设备通过电缆连接在一起时,电缆会设置默认主机和默认外设。如果在运用中需对调两个设备的角色,那么通过主机协商协议(HNP)供应的握手功能可完成这一动作。如果两个设备均不支持HNP,那么需通过反向连接电缆来知足设备所需的浸染。
54. OTG采取哪种连接器?
未量产的OTG设备须要利用微型A/B连接器。这使得微型电缆的A或B端可进行连接。把稳,不要把该连接器与用于USB设备的微型B连接器相稠浊。
55. 如果可作为嵌入式主机或USB设备(外设)而又不必在两者之间进行动态切换,这样可行吗?我须要利用何种连接器?
是的,这是可行的。有两种方法可办理这一问题。
第一种办理方案是利用微型A/B连接器并对设备进行编程使其成为OTG设备。由于SRP和HNP为可选特性,因此可以禁用。这种方法的局限性是,具有A型连接器的USB设备,须要适配器以便与设备上的微型A/B审察连。
其余,设备可具有两个USB连接器。每个连接器必须有独立的Vbus电路,不过可以共用D+和D-。这种方法的局限性是,USB测试规范哀求用户利用的所有连接器必须同时起浸染。但是,目前的USB设备只支持一个USB端口,因此不可能同时使两个连接器事情。这就意味着必须实施某些机器特性,以便在任何韶光两个端口中只有一个可供给用。
USB认证
56. 每个Microchip USB单片机上USB-IF的外设硅片TID编号是多少?
USB符合性测试ID
产品系列 TID 编号
PIC18F2455/2458/2550/2553/4455/4458/4550/4553 40002568
PIC18F87J50/86J55/86J50/85J50/67J50/66J55/66J50/65J50 40000369
PIC24FJ256GB110/108/106, PIC24FJ192GB110/108/106,
PIC24FJ128 GB110/108/106, PIC24FJ 64GB110/108/106 40000566
PIC18F2450/4450 40000174