产品中心您当前的位置:首页 > 产品中心 > 逻辑分析仪/总线协议测试 > USB、UART(RS232/485) > USB2.0信号测试分析应用方案

基础信息Product information

产品名称:USB2.0信号测试分析应用方案

产品型号:

更新时间:2024-01-31

产品简介:

前安捷伦Agilent【现 是德KEYSIGHT】产品——坚 JET 和 吉时利KEITHLEY【现 泰克Tektronix】产品忠实用户使用工程师——融 YOO于2011年共同创立,志在*电子测量行业代理经销商只专业做商务销售,不专业做售前测试方案,不专业做售后使用培训的空白。USB2.0信号测试分析应用方案

产品特性Product characteristics

     专业仪器设备和测试方案供应商——上海坚融实业有限公司JETYOO INDUSTRIAL & 坚友(上海)测量仪器有限公司JETYOO INSTRUMENTS,由前安捷伦Agilent【现 是德KEYSIGHT】产品——坚 JET 和 吉时利KEITHLEY【现 泰克Tektronix】产品忠实用户使用工程师——融 YOO于2011年共同创立,志在*电子测量行业代理经销商只专业做商务销售,不专业做售前测试方案,不专业做售后使用培训的空白。

 

USB2.0信号测试分析应用方案前言
USB 是很常见的串行协议。USB 有热插拔的特性,当 USB 装置插入主机时,主机会侦测到,并且软件会对其作规划,即插即用。USB 的连接线供应装置电源,可提供 DC +5V 的电压,电流供应约 100mA~500mA。
USB 的连接线共有四条,其中两条是电源与地线,另两条是讯号线,分别是 D+与 D-。一般情况两条线的讯号是相反的,若其中一条的讯号为 High,则另一条的讯号就为 Low。如此的差动讯号能提升讯号抗噪声抗干扰的能力,USB 就是利用 D+ D-两条讯号线的差动讯号,来达成高速传输的目的。
USB 主机端在没有装置连接时,D+ D-上会有一个 1.5K 奥姆的电阻接地,确保这两条线是在接地状态。可支持至127 个地址,也就是说,一个 USB 系统支持 127 个装置,主机会周期性的探询每个集线器以便得知装置的连接状态。以 USB2.0 而言,分为低速、全速及高速三个模式。低速传输率为 1.5M/s ,全速为 12M/s,高速为 480M/s。高速模式时,1 秒 / 480M ,每个 bit 的宽度约 2.08ns。

USB  封包简介
封包是组成 USB 传输的单位。 一个 Transaction 通常由三个封包组成,但依传输型态而定,一个 Transaction 可能包含一个、两个、三个封包:
图一 USB 封包架构概述

Token  封包:
每个 Transaction 以 Token 封包做起始。Token 封包定义装置、Endpoint 数量,传输的方向。其中 SOF (Start Of Frame) Token包含目前的 frame 数,而且会广播 (broad­cast) 给所有的 full-speed 装置知道。SOF 也是一个不目标的 Token。TokenPacket 长度固定为 4 个 Byte。

Data  封包:
Data 封包包含处理此动作的数据。 一个 Transaction 中, Data 封包的资料量为 1023 个 Bytes, 高速模式时可达 1024 个 Bytes以上,其中 Data0 及 Data1 是两个基本的数据封包,这些数据封包都是接续在 Address 之后,且 Data0 及 Data1 采取交互出现方式以达到同步与除错的效果。 另外在 USB2.0 当中更增加了 Data2 及 MData 数据封包, 用于执行高速的实时传输(IsochronousTransfers)。

e Handshake  封包:
除了实时型传输(Isochronous)之外,所有的传输都保证数据的传递正确。Hand­shake 封包响应资料是否正确的被收到。若执行处理动作中发生错误,此处理动作将重新执行。
封包格式:
封包是执行所有处理动作的机制。图八是 USB 封包的基本格式。封包紧跟在 Synchro­nization sequence (SYNC,同步列) 之后,Synchronization sequence 使 USB 装置能跟封包中的位速率同步。封包的 Type 由一个 Packet ID 来定义。Packet ID 之后是随着封包 Type 而定义的信息,如 Address 或 Data。后,每个封包以一个 CRC (Cyclic Redundancy Check)做结尾。CRC 是用来确认数据是否正确的传输。每个封包始使用 EOP (End Of Paekct) 状态来做辨识。
图二 USB 封包的基本格式

Synchronization sequence( 同步序列) ) :
图九是 Synchronization sequence 的波形。Synchronization sequence 由八个 bit 组成,数值是二进制的 00000001,依照 NRZI 编码原理,数据 0 代表讯号要转换,所以前七个 0 之中的每个 Bit 都会在相对应的 Bit 时间中转换,作用就好像提供了一组可用来同步的 Clock。
图三 Synchronization sequence

Packet ID :
Packet ID定义封包的目的与内容。封包主要有四种型态:标志(Token)、数据(Data)、交握(Hand­shake)及特殊。其中Token封包定义传输的型态;Data封包接在Token之后,将传输的数据输出或输入USB装置中,Handshake则是提供传输成功或失败的讯息,特殊PID是针对USB2.0*的PID,包含了PING(检查端点装置是否能接受数据)、SPLIT(高频宽的USB分割传输)、PRE(低频宽的USB前导封包)、ERR(分割传输任务错误)。
Packet ID 的讯号格式如图四。 Packet ID 总共有 8 个 Bit, 前四个 Bit 代表 ID(Type Field), 后 4 个 Bit 是检查字段 (Check Field),其值固定是 ID 的反向。如 ID 为二进制的 1001,则检查字段就是 0110,合起来就是 10010110。

图四 Packet ID 讯号格式
封包种类:
所有处理动作都是由一个 Token 封包开始。USB 定义四种 Token 封包:SOF,IN, OUT,SETUP。图十一是四个封包的 PID与功能描述。
图五 四种 Token 封包状态

SOF  封包:
USB 装置用 SOF 封包来判断讯框的起点。当每个 frame 开始的时候,SOF 封包被送至每个全速的装置。实时型传输装置可经由 SOF 封包来达到同步传输的作用。低速装置不支持实时型传输,所以 SOF 封包不会送至低速装置。
如图六所示,SOF 封包包含一个长度为 11 bit 的 frame number(讯框号码),接收器使用 5 bit 的 CRC 位来确认 frame number。
SOF 封包不含任何数据,其传输也不保证一定成功。当 USB 装置对此 SOF 封包 PID 检查码错误时,装置忽略此封包;当CRC 检查错误时,忽略此 frame number。注意 PID 与 Frame Number 都是 LSB 在前面 MSB 在后面。

图六 Start of Frame (SOF)
图七是一个 SOF 封包的实际波形。PID 前四个 bit “0101" 就是 SOF 封包。PID 之后的是 11 bit 的 Frame Number,这个例子的 Frame Number 是 10101100010,换算为十进制就是 1378,也就是第 1378 个 Frame。
图七 SOF 封包实际波形

IN  封包:
Token 还有两种封包,IN 封包与 OUT 封包。所谓 IN 与 OUT 是指对于 PC 而言。IN 封包是 PC 需要由装置读进来数据时使用的;OUT 则是 PC 需要送出数据给装置时使用的。IN 封包可以使用在中断型传输、巨量型传输、控制型传输的数据时期、实时型传输等传输。
图八是 IN 封包格式示意图与实际量测图。如图所示,除了基本的 Type 字段与 Check 字段之外,IN 封包包含 7 bit 的 DeviceAddress 与 4 bit 的 End Point Num­ber。执行 IN 封包动作时,首先 PC 送出一个 IN 封包,接着装置回传一个数据封包, 后 PC 送出一个交握封包给 Device,表示已收到资料。但在实时型传输中,IN 处理动作不使用交握封包。IN 传输所能传输的数据量取决于传输型态。
图八 IN 封包格式示意图与实际量测图
图九是一个实际的 IN 封包。PID 的前 4 bit 为 “1001" 就是 IN 封包的 ID。再来是 7 bit 的 Address,这个例子的 Address

是 “1"。再来是 4 bit 的 Endpoint,这个例子的 Endpoint 是 "0"。后是 5 bit 的 CRC。
图九 IN 封包实际波形

OUT  封包:
当数据将被送出给某个 Device 时,系统会进行一个 OUT 传输。有三种传输型态用到 OUT 传输:巨量型传输、控制型传输的数据时期、 实时型传输。 OUT 封包除了 PID 之外, 其余数据格式都与 IN 封包相同, 一样有 7 bit 的 Address, 4 bit 的 End­point(如图十所示)。
图十 OUT 封包格式示意图与实际量测图
图十一是一个实际的 OUT 封包。PID 为“0001"就是 OUT 封包。这个例子的 Address 是“1"。再来是 4 bit 的 Endpoint,这个例子的 Endpoint 是 "0"。后是 5 bit 的 CRC。
图十一 OUT 封包实际波形
SETUP  封包:
SETUP 封包只有在控制型传输的设定阶段使用。SETUP 处理动作启动一个控制型传输,并且定义为设定阶段。SETUP 处理动作在形式上类似一个 OUT 动作: SETUP 封包后跟着一个 Data0 封包与一个回复封包。SETUP 封包的目的是传送一个要求给 Device 执行。下图是 SETUP 封包的格式。SETUP 封包除了 PID 之外,其余数据格式都与 IN/OUT 封包相同,一样有 7bit 的 Address,4 bit 的 Endpoint(如图十二所示)。

图十二 SETUP 封包格式示意图与实际量测图
图十三是一个实际的SETUP封包。 PID为 “1101" 就是SETUP封包。 这个例子的 Address是“1"。 再来是4 bit 的Endpoint,这个例子的 Endpoint 是 "0"。后是 5 bit 的 CRC。
图十三 SETUP 封包实际波形

Data0  与 1 Data1  封包:
Data封包跟在IN、OUT、SETUP三种封包之后。IN封包之后的Data封包是将数据传入PC;OUT与SETUP之后的封包是将数据传出给Device。传输数据时,Data0封包与Data1 封包是交互的使用,如果此次传输数据是用Data0封包,则下次传输数据就是使用Data1封包,反之亦然。这是为了用来当作一个同步机制使用。一个很大量的数据,会被切成多个小封包来传输,此时 Data0 与Data1封包交互的使用就可以当作一个同步的机制。在高速模式底下还有Data2及MData两种实时传输数据封包。
图十四是 Data0 与 Data1 的封包格式。PID 为“1100"就是 Data0 封包,PID 为 “1011"就是 Data1 封包。

图十四 Data0 与 Data1 的封包格式
Data2 及 MData 两种实时传输数据封包的 PID 分别为 0111 及 1111。
交握封包  (Handshake Packets) :
交握封包用来回报处理动作的完成状况。交握封包有三种。
ACK封包:确认数据正确无误的被接收。
NAK封包:告知主机现在目标装置暂时无法接收或传回数据。
STALL封包:无法完成传输,且需要软件介入以便使得装置能从STALL状态复原。
在USB2.0中还有一种NYET封包,表示数据尚未备妥无法传输。NYET的PID为0110。
图十五是三种交握封包的格式图。交握封包没有资料,也没有 CRC,只有 SYNC 与 PID。ACK 的 PID 是 0010,NAK 的 PID是 1010,STALL 的 PID 是 1110。
图十五 三种交握封包格式图
前导封包 (Preamble Packet) :
前导封包用在低速传输时。 在传送一个低速封包前, 一个前导封包必须被送出, 主机保证前导封包之后的封包是低速传送。
图十六是前导封包示意图。 前导封包由一个 SYNC 与一个 PID 组成, PID 是 1100。 有一点必须注意的是, 前导封包不以 EOP结尾。

图十六 前导封包示意图
USB2.0  总线协议模块设定
图十七 孕龙科技 USB2.0 分析模块
总线协议模块设定方便又快速, 如图十八所示使用者只需要依照连接说明将USB2.0硬件模块连接至逻辑分析仪,在 USB2.0 总线协议模块中设定高速模式,点下 OK 后就可以将 USB2.0 讯号译码。

图十八 USB2.0 总线协议模块
串行协定封包列表
为更加方便分析以及提高效率,孕龙逻辑分析仪更加在新版软件中加入串行协议封包列表功能,能够将串行讯号采取封包段落显示以直列方式把数据内容显示出来,让使用者清楚了解各封包先后出现的时序关系。图十九为USB2.0 讯号使用串行协议封包列表显示的结果

图十九 USB2.0 讯号使用串行协议封包列表显示的结果
在图十九中的封包列表,除了将各种 USB2.0 封包使用直列方式显示外,在封包列表窗口上方更设置了过滤条件,依照 USB PID 规范可对已撷取封包进行筛选,更可在庞大的数据封包中快速进行分析。


USB2.0信号测试分析应用方案总结
总线协议常常被应用在嵌入式系统的设计中,但是若仅使用示波器分析这些讯号是非常花费时间的,孕龙的PC-BASE 逻辑分析仪可以提供工程师们更强大的触发功能、近百种的总线协议译码模块及便利的数据搜寻,让工程师在开发产品时更能够得心应手,近期更推出了可与各大厂牌示波器进行堆栈,藉以同时测量数字及模拟信号,快速解决电路开发中各种难题。


关于孕龙
「孕龙科技股份有限公司」Zeroplus Technology Co., Ltd.,于 1997 年创立。在 2004 年扩展事业版图于电子量测仪器市场,研发团队拥有新进微处理控制技术,开发出新技术之量测仪器-「PC-Based 逻辑分析仪」 ;du家创新技术获得多项技术,申请国家遍及各地,目前仍持续增加数量与国家。2005 年甫上市即获得产业界 IC 上市公司等数百家科技大厂,及各大高等教育学府采用,缔造优异销售成绩,成为中国台湾*zui高的逻辑分析仪。

留言框

  • 产品:

  • 您的单位:

  • 您的姓名:

  • 联系电话:

  • 常用邮箱:

  • 省份:

  • 详细地址:

  • 补充说明:

  • 验证码:

    请输入计算结果(填写阿拉伯数字),如:三加四=7

上一篇:CAN汽车总线测试方案

下一篇:中国台湾ZEROPLUS孕龙LAP-C322000逻辑分析仪