实用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.5mbps,多用于键盘和鼠标。 全速模式传输速率为12mbps。 高速模式传输速率为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设备出了一些问题。 第九章(关于枚举的更多信息)usb标准的第9章定义了枚举期间主机送到外设的所有请求,以及外设响应的数据格式。如果访问usb官方网站,将找到一个名为usbcv (usb命令验证器)的软件工具,其中有一部分名为“第9章测试”。这些测试可以证明您的枚举代码是否正确。在进行usb实验室测试时也要用到usbcv。因此,如果已在自己的实验室里通过了这一usb验证,则实验室测试也不成问题。 maxim提供关于max3420e的应用笔记,其中包含已通过usbcv测试的枚举代码。 siesie指串行接口引擎,是所有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、存储器条)。
5G直播会带给教育商业如何的改变
人工智能能实现无人物流体系吗
双目测距系列(一):标定工具的开发
一款能监测血糖的隐形眼镜
基于NB-iot技术实现财物跟踪的EA01-SG定位模块方案
实用USB术语
浅谈机场能源管理系统改造项目设计思路
一二次融合柱上断路器如何避免过电压的现象
简析如何获取单片机代码运行时间的方法
魅族Pro7将发布搭载联发科X30 高通呢?
30系显卡+i9处理器有何体验?ALIENWARE x15/x17上市带领游戏发烧友一起享受高能瞬间!
研华工业交换机的介绍,研华工业交换机有哪些特点?
CMOS和JFET放大器中的输入偏置电流分析
无线动能开关在大型商业综合体电气设计中如何体现优势
基于国家人工智能战略的解析
离线语音在吸顶灯上的应用
氢气检测仪在H2检测中有什么应用?
5G给显示产业带来新的机遇,显示应用场景将向“多点开花”转变
5W可调光非隔离式LED驱动电路设计
人工智能与教育行业的结合将成为潮流趋势