应用笔记 3803

实用USB术语


摘要 : 如果您刚开始接触USB,在深入研究Maxim公司关于USB的应用笔记之前了解一些USB术语将很有帮助的。该应用笔记介绍了基本的USB术语,尤其针对MAX3420E USB控制器和MAX3421E USB外设/主机控制器做了详细说明。

主机
功能部件
速率
入-出方向
端点
集线器
枚举
第九章(更多关于枚举的内容)
SIE
数据触发
控制传输、批量传输、中断传输、同步传输
总线复位
USB驱动程序

主机

USB是一种“主-从”式总线,包括一个主机和多个从机。从机称作外设,在USB术语中也称作功能部件。主机称作主设备。所有USB传输都由主机启动;外设总是响应传输,不会启动传输。最常用的主机是PC机,主机通过USB-A连接器连接到下行设备。嵌入式主机不包括PC机,而是用一个微控制器作为专用主机,或许只能与一类USB设备通信。


MAX3421E与控制器连接,可构成嵌入式主机。


功能部件

功能部件是USB设备,也称作USB外设。USB外设是主机的“下行”设备,使用USB B型连接器连接。
  • MAX3420E是外设控制器。
  • MAX3421E可作为USB主机或外设控制器。



速率

USB 2.0标准规定了以下三种传输速率:
  1. 低速模式传输速率为1.5Mbps,多用于键盘和鼠标。
  2. 全速模式传输速率为12Mbps。
  3. 高速模式传输速率为480Mbps。


市场上关于“USB 2.0兼容”的概念有一些混乱。这种混乱源于USB标准版本的升级,首先推出的是USB 1.0,紧接着有了比1.0更理想的USB1.1。USB1.x支持低速和全速两种USB总线速度。2.0版本增加了高速模式,完全替代了1.1。所以,如果使用的是工作在12Mbps速率下的全速器件,则可认为它与USB 2.0兼容,即使许多人仅将USB 2.0用于高速(480Mbps)操作。
  • MAX3420E为全速外设。
  • MAX3421E为全速外设或全速/低速主机。



入-出方向

USB系统以主机为中心。因此,解释USB术语时假设面向的是主机。所以,从主机侧看,“入”表示传输方向从外设到主机;同样,“出”表示传输方向从主机到外设。

当向MAX3420E写入代码装载“INFIFO”时,数据是由芯片发出的,这一定义似乎有些奇怪。然而,如果牢记主机是主控制器,就会容易理解。

端点

端点位于USB外设内部,所有通信数据的来源或目的都基于这些端点,是一个可寻址的FIFO。每个USB外设有一个唯一的地址,可能包含最多十六个端点。主机通过发出器件地址和每次数据传输的端点号,向一个具体端点(FIFO)发送数据。

每个端点的地址为0到15,一个端点地址对应一个方向。所以,端点2-IN与端点2-OUT完全不同。 每个器件有一个默认的双向控制端点0,因此不存在端点0-IN和端点0-OUT。

外设中端点的编号是任意的。枚举期间外设向主机报告其端点号和特征。


MAX3420E提供以下端点:
  • EP0:默认控制点(CONTROL)
  • EP1-OUT
  • EP2-IN
  • EP3-IN


当作为外设工作时,MAX3421E提供和MAX3420E相同的端点。然而,作为主机使用时,MAX3421E用SNDFIFO和RCVFIFO向所有外围地址和端点传输数据。MAX3421E固件将功能部件地址和期望的端点号载入寄存器,然后发送数据包。


集线器

集线器扩展了USB主机所能连接设备的数量。PC机的USB控制器内置一个集线器,负责完成一些底层USB功能,如检测设备的插入或拔出。集线器以全速或高速连接到上行端口(到PC),以低速、全速或高速连接到下行端口(到外设)。PC的根集线器可为每个A型连接器提供5V、500mA电源。一个总线供电的外部集线器可为每端口提供100mA电流。由于USB为外部集线器电路分配100mA电流,因此,一个总线供电的集线器可以有四个下行端口。如果集线器有自己的电源(自供电),每个下行端口可提供高达500mA电流。


  • MAX3420E固件不了解集线器上连接多少个设备。
  • MAX3421E提供一种特定模式,用来同连接到集线器的低速外设通信。



枚举

插入USB设备时,主机获取连接通知,继而识别刚刚插入的是什么。主机需要得到一系列描述符(数据表),该描述符来自插入的设备,所有USB设备在插入USB端口时,主机都通过默认的CONTROL端点0与设备进行通讯。如果主机确认它从设备接收的数据正确,则配置该设备使之开始工作。如果主机认为设备的数据不正确(例如,某个描述符数据有冲突或超出了规范),则忽略该设备。这时会弹出一个对话窗,说明该USB设备出了一些问题。

第9章(关于枚举的更多信息)

USB标准的第9章定义了枚举期间主机送到外设的所有请求,以及外设响应的数据格式。如果访问USB官方网站,将找到一个名为USBCV (USB命令验证器)的软件工具,其中有一部分名为“第9章测试”。这些测试可以证明您的枚举代码是否正确。在进行USB实验室测试时也要用到USBCV。因此,如果已在自己的实验室里通过了这一USB验证,则实验室测试也不成问题。


Maxim提供关于MAX3420E的应用笔记,其中包含已通过USBCV测试的枚举代码。


SIE

SIE指串行接口引擎,是所有USB控制器内部的“核心”。SIE负责处理底层协议,如填充位,CRC生成和校验,并可发出错误报告。SIE的主要任务是将低级信号转换成字节,以供控制器使用,某些SIE会更加先进灵活。它处理的底层信号细节越多,控制固件越简单。例如,某些SIE只报告端点数据触发的结果(参见下文),并将它留给固件以确定如何处理。

数据触发

USB包从PID或ID开始。数据传输用到两种PID:DATA0和DATA1。主机和外设均包含数据触发位,每个端点一个。触发位确定这些数据PID中的哪一个用于数据传输。当外设脱离复位状态,主机和外设均将其内部数据触发位复位到零。因此,第一个传送的是DATA0 PID数据包。

当数据包传输无误时(发送方接收到ACK PID信号,表明数据传输无误),发送方和接收方补偿其数据触发值。然后用DATA1 PID向端点发送第二个数据包。成功传输后,DATA0 PID和DATA1 PID数据包交替发送(或再次触发)。USB将该机制作为其误差校正的一部分。


  • MAX3420E可自动保持数据触发。当重新配置器件或主机发送Clear_Feature (ENDPOINT HALT)请求时,才需要涉及固件。 MAX3420E包含寄存器位,以清除每个端点的触发位。
  • 当作为主机时,一旦正确设置了端点的触发值,MAX3421E保持数据触发值。在完成到一个特定端点的传输以后,固件通常保存触发值。然后在向同一个端点传输数据之前初始化触发。向同一个端点传输多个包期间,SIE保持数据触发值。



控制传输、批量传输、中断传输、同步传输

USB有上述四种传输类型。枚举期间外设告诉主机每个端点支持哪种传输类型。

只有主机能够发出控制传输,该传输由两个或三段组成。先通过设置数据包(8字节长)发送具体的主机请求。然后用一个可选数据包移动描述符表等数据。最后,用握手(状态)包终止控制传输。作为“关键”传输,控制传输有高总线优先权和最全面的误差校验。每个USB外设都需要一个默认的控制端点0。

批量传输使用流控制和误差校验移动数据。批量传输为异步方式,这意味着预定传输时间不固定或不能保证。主机安排批量传输的优先级为低。这并不说明批量传输很慢;如果总线被轻微加载,批量传输即可在所有可用带宽上进行。

实际上,中断传输和批量传输很难区分。他们之间的唯一区别是中断点包含轮询间隔值,用来告诉主机多长时间“ping”一次端点。所以批量和中断传输之间的唯一区别是主机多长时间安排一次传输。

同步(ISO)传输用于数据流,例如音频或视频,此时数据必须及时到达以避免音频或视频数据中断。当器件枚举时告诉主机其ISO端点对带宽的要求。如果带宽适当,主机保证每隔1ms发送一个USB帧,包含一个发往或来自设备的ISO数据包。ISO不使用握手(ACK/NAK)或总线重试。同步传输仅适用于全速和高速设备。


  • MAX3420E (或处于外设模式下的MAX3421E)有默认的控制端点0,并且还有其它三个端点,可以用做批量或中断端点。
  • MAX3421E (主机)启动向所有四种类型端点的传输。



总线复位

主机通过发出总线复位信号复位USB外设。全速和低速USB的D+和D-线上通常使用差分信号。但也有例外,总线复位和包结束信号使用的是单端零信号,此时D+和D-均为低。


  • MAX3420E检测到总线复位并产生中断信号。
  • 当与之连接的微控制器使记数器位置位时,MAX3421E (主机)产生一个总线复位信号,然后等待中断完成。



USB驱动程序

Windows®中内置了支持各种USB设备的驱动程序。如果固件支持这些标准设备之一,则USB产品不需要安装定制驱动程序(没人真的想要写Windows驱动)。 Windows包含标准设备驱动程序,如HID (人机接口设备)和大容量存储器(磁盘驱动器、CD-ROM、存储器条)。


Maxim提供的应用笔记给出了实现HID类兼容应用的代码实例。
下一步
EE-Mail 订阅EE-Mail,接收关于您感兴趣的新文档的自动通知。
© , Maxim Integrated Products, Inc.
The content on this webpage is protected by copyright laws of the United States and of foreign countries. For requests to copy this content, contact us.
APP 3803:
应用笔记 3803,AN3803, AN 3803, APP3803, Appnote3803, Appnote 3803