假如您刚开端触摸USB,那么了解一些USB术语将很有协助。本文介绍了根本的USB术语。
主机
USB是一种“主-从”式总线,包括一个主机和多个从机。从机称作外设,在USB术语中也称作功用部件。主机称作主设备。一切USB传输都由主机启 动;外设总是呼应传输,不会发动传输。最常用的主机是PC机,主机经过USB-A衔接器衔接到下行设备。嵌入式主机不包括PC机,而是用一个微操控器作为 专用主机,或许只能与一类USB设备通讯。
功用部件
功用部件是USB设备,也称作USB外设。USB外设是主机的“下行”设备,运用USB B型衔接器衔接。
速率
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)操作。
入-出方向
USB体系以主机为中心。因而,解说USB术语时假定面向的是主机。所以,从主机侧看,“入”标明传输方向从外设到主机;相同,“出”标明传输方向从主机到外设。
端点
端点坐落USB外设内部,一切通讯数据的来历或意图都根据这些端点,是一个可寻址的FIFO。每个USB外设有一个仅有的地址,或许包括最多十六个端点。主机经过宣布器材地址和每次数据传输的端点号,向一个详细端点(FIFO)发送数据。
每个端点的地址为0到15,一个端点地址对应一个方向。所以,端点2-IN与端点2-OUT彻底不同。 每个器材有一个默许的双向操控端点0,因而不存在端点0-IN和端点0-OUT。
外设中端点的编号是恣意的。枚举期间外设向主机陈述其端点号和特征。
集线器
集线器扩展了USB主机所能衔接设备的数量。PC机的USB操控器内置一个集线器,担任完结一些底层USB功用,如检测设备的刺进或拔出。集线器以 全速或高速衔接到上行端口(到PC),以低速、全速或高速衔接到下行端口(到外设)。PC的根集线器可为每个A型衔接器供给5V、500mA电源。一个总 线供电的外部集线器可为每端口供给100mA电流。因为USB为外部集线器电路分配100mA电流,因而,一个总线供电的集线器可以有四个下行端口。假如 集线器有自己的电源(自供电),每个下行端口可供给高达500mA电流。
枚举
刺进USB设备时,主机获取衔接告知,继而辨认刚刚刺进的是什么。主机需求得到一系列描述符(数据表),该描述符来自刺进的设备,一切USB设备在 刺进USB端口时,主机都经过默许的CONTROL端点0与设备进行通讯。假如主机承认它从设备接纳的数据正确,则装备该设备使之开端作业。假如主机以为 设备的数据不正确(例如,某个描述符数据有抵触或超出了规范),则疏忽该设备。这时会弹出一个对话窗,阐明该USB设备出了一些问题。
第九章(关于枚举的更多信息)
USB规范的第9章界说了枚举期间主机送到外设的一切恳求,以及外设呼应的数据格式。假如拜访USB官方网站,将找到一个名为USBCV (USB指令验证器)的软件东西,其中有一部分名为“第9章测验”。这些测验可以证明您的枚举代码是否正确。在进行USB试验室测验时也要用到 USBCV。因而,假如已在自己的试验室里经过了这一USB验证,则试验室测验也不成问题。
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将该机制作为其差错校对的一部分。
操控传输、批量传输、中止传输、同步传输
USB有上述四种传输类型。枚举期间外设告知主机每个端点支撑哪种传输类型。
只要主机可以宣布操控传输,该传输由两个或三段组成。先经过设置数据包(8字节长)发送详细的主机恳求。然后用一个可选数据包移动描述符表等数据。 最终,用握手(状况)包停止操控传输。作为“要害”传输,操控传输有高总线优先权和最全面的差错校验。每个USB外设都需求一个默许的操控端点0。
批量传输运用流操控和差错校验移动数据。批量传输为异步方法,这意味着预订传输时刻不固定或不能确保。主机组织批量传输的优先级为低。这并不阐明批量传输很慢;假如总线被细微加载,批量传输即可在一切可用带宽上进行。
实际上,中止传输和批量传输很难区别。他们之间的仅有区别是中止点包括轮询距离值,用来告知主机多长时刻“ping”一次端点。所以批量和中止传输之间的仅有区别是主机多长时刻组织一次传输。
同步(ISO)传输用于数据流,例如音频或视频,此刻数据有必要及时抵达以防止音频或视频数据中止。当器材枚举时告知主机其ISO端点对带宽的要求。 假如带宽恰当,主机确保每隔1ms发送一个USB帧,包括一个发往或来自设备的ISO数据包。ISO不运用握手(ACK/NAK)或总线重试。同步传输仅 适用于全速和高速设备。
总线复位
主机经过宣布总线复位信号复位USB外设。全速和低速USB的D+和D-线上一般运用差分信号。但也有破例,总线复位和包完毕信号运用的是单端零信号,此刻D+和D-均为低。
USB驱动器
Windows中内置了支撑各种USB设备的驱动程序。假如固件支撑这些规范设备之一,则USB产品不需求装置定制驱动程序(没人真的想要写 Windows驱动)。Windows包括规范设备驱动程序,如HID (人机接口设备)和大容量存储器(磁盘驱动器、CD-ROM、存储器条)。