我需要什么设备来测试 USB 眼图?

电器工程 数字逻辑 USB 示波器 测验设备
2022-01-23 00:35:01

我想测试 USB 全速,目标是测试高速(480 Mbit/s),我有一个 300 MHz 的 tek 示波器(我可以升级到 500 MHz),我正在寻找 500 MHz差分探头。据我了解,我还需要一个分线板(我不太确定这是最好的选择),但我正在看tek 的这个板一个在这里列出的板。

像这样的测试的最低要求是什么?

此设备列表是否足以对全速 USB 进行眼图测试?

如果我有 500 MHz 示波器,此设备列表是否足以执行全速 USB 眼图测试?

4个回答

像这样的测试的最低要求是什么?

USB.org 的以下位置列出了用于 USB 2.0 信号质量评估的测试设备的最低要求有描述 Rohde&Schwartz、Tektronix、Agilent、LeCroy 和 Yokogawa 示波器的电气测试程序和工具要求的链接。

通常,眼图评估软件工具在不低于 2GHz 带宽的示波器上提供。对于泰克,合格的示波器系列是 TDS7254/B、TDS7704/B、CSA7404/B、TDS6604/B、TDS6804/B、TDS6404、DPO7254、DPO7354 和 DPO/DSA70000。适用于 USB 2.0 测试的最小示波器是MSO/DPO5204

对于 FS 评估,您不需要差分探头,示波器使用单端探头进行数学运算。

但是,该软件包不能安装在带宽较小的示波器上,因此,即使 500 MHz 带宽对 FS 眼睛来说是可以的,您也不太可能使用此示波器。

如果您的信号在 500MHz 处具有基波,并且您正在尝试测量其特性,那么您将无法在 500MHz 示波器上做得很好,因为示波器不会捕获任何谐波。如果您想准确测量正在发生的事情,您将需要更高带宽的示波器和探头。

要测试 USB 高速发射器,您必须测试 TP3 模板:

在此处输入图像描述

点 3 的水平位置为 37.5% UI,点 6 为 62.5% UI,因此您尝试测量的上升时间约为 2.08 ns 的 75%,即约 1.5 ns。

500 MHz 示波器将测量的最小上升时间约为 \$0.75/500\ {\rm MHz}\$ 或 1.5 ns。

您可以估计您测量的上升时间约为

$$\tau_{测量值}\近似\sqrt{\tau_{范围}^2+\tau_{sig}^2},$$

所以 500 MHz 的示波器不会削减它。我会寻找至少 1 GHz,如果您的产品没有太多利润,2 GHz 会有所帮助。

我最终使用单端测量并使用 matlab 轮询 textronix 示波器并使用仪器控制工具箱:

在此处输入图像描述

myScope = oscilloscope
drivers(myScope)
availableResources = getResources(myScope)
availableResources{5}
myScope.Resource = 'TCPIP::xxx.xxx.xxx.xxx::INSTR'
connect(myScope)
get(myScope)
waveformArray = getWaveform(myScope, 'acquisition', true);
figure;plot(waveformArray)
enableChannel(myScope,'CH3');
enableChannel(myScope,'CH4');
Time = linspace(0,myScope.AcquisitionTime,myScope.WaveformLength);
aqs = 1000;
for i = 1:aqs
[w3, w4] = readWaveform(myScope, 'acquisition', true);
pause(0.05);
w3mat{i} = w3;
w4mat{i} = w4;
end
figure;subplot(2,1,1),hold on,legend('D+','D-'),subplot(2,1,2),hold on
for i = 1:aqs
w3 = w3mat{i};
w4 = w4mat{i};
subplot(2,1,1)
plot(Time,w3,'b'),plot(Time,w4,'r')
subplot(2,1,2)
plot(Time,w3-w4,'r')
end
subplot(2,1,1),legend('D+','D-'),ylabel('Volts');
subplot(2,1,2),legend('D+ subtracted from D-'),xlabel('Time'),ylabel('Volts');
subplot(2,1,1)
x = [8.2  21.15 69.93 75.13 69.93 21.15 8.2 ]*1e-9/2;%These come from the USB IF website specs
y = [1.65 2.5   2.5   1.65  0.8   0.8   1.65];
fill(x+1e-7,y,'r')
title('USB Full speed EYE test')
line([1e-7 1.4e-7  ],[-0.9  -0.9])
line([1e-7 1.4e-7  ],[4.4  4.4])