By Toradex秦海
1). 简介
为了保证基于IEEE 802.3 协议设计的以太网设备接口可以互相兼容互联互通,需要进行 Ethernet Compliance 一致性测试,相关的技术原理说明请参考如下文章,本文就不赘述,主要展示基于 NXP i.MX8M Mini ARM 处理器平台进行 1000M/100M/10M 以太网端口进行一致性测试的测试流程。
Toradex 以太网一致性测试
本文所示例的平台来自于 Toradex Verdin i.MX8MM 嵌入式平台。
2. 准备
a). Verdin i.MX8MM ARM核心版配合Dahlia载板作为DUT(Device Under Test) 设备
b).至少1GHz 带宽和 4MS 存储的高速示波器,比如 Teledyne LeCroy WaveMaster 808Zi-B
c).LeCroy TF-ENET-B 测试夹具
d).其他需要的线缆和附件
3). 测试环境硬件连接
a). 硬件连接示意图请见如下
b). 首先将 LeCroy 808Zi-B 高速示波器 (配置 BNC-SMA 适配器)通过 SMA 线缆和 LeCroy TF-ENET-B 测试夹具SMA 端口进行连接,具体连接的端口依据需要测试的项目来调整。
c). 然后将 LeCroy TF-ENET-B 测试夹具通过以太网线缆和DUT 待测试的以太网口进行连接,同样测试夹具一侧具体连接的网口依据需要测试的项目来对应调整。
4). DUT 端软件配置
a). 首先根据你需要测试的DUT 配置的 PHY 芯片型号和对应厂家获取配置进入测试模式的方法,Verdin i.MX8MM 核心板上面部署的是来自于 Microchip 公司的 KSZ9131 PHY 芯片,可以通过如下资料了解配置进入测试模式的寄存器配置。
https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ApplicationNotes/ApplicationNotes/AN2686-Ethernet-Compliance-Test-10BASET-100BASETX-1000BASET.pdf
b). Toradex 基于标准 mii-tool工具源码修改添加了对于Microchip KSZ9x31 进入测试模式的配置以便于测试
c). 本文以 KSZ9131 以太网口 100M Base-TX 模式一致性测试为例,在 Verdin iMX8MM 上面通过Toradex 修改定制的 mii-tool 工具配置 100mbit 测试模式,其他 1000M Base-T / 10M Base-T 模式可以类似配置。
// mii-tool -p ksz9031 [-i interface] [mode]
-------------------------------
root@verdin-imx8mm-07276322:~# ./mii-tool-64-bit -p ksz9031 -i eth0 -2
eth0: negotiated 1000baseT-FD flo[ 278.768110] fec 30be0000.ethernet eth0: Link is Down
w-control, link ok
registers for interface eth0 before:
1140 796d 0022 1642 05e1 cde1 006d 2001
6001 0200 3800 0000 0000 4002 0010 2000
0000 00f0 0000 bc7e 54fe 0000 8021 1000
0000 0000 4000 0500 2400 0000 fa00 0348
ksz9031 selected
set for 100mbit - idle waveform (Scrambled Idles)
registers for interface eth0 after:
2100 7949 0022 1642 05e1 0000 0064 2001
0000 0200 0000 0000 0000 4002 0010 2000
0000 00f0 0000 b078 5002 0000 8021 1000
0000 0000 4000 0502 00c0 0000 fa00 0328
[ 281.679702] fec 30be0000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
[ 281.687523] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
-------------------------------
d). 此时DUT 测试模式已经准备好,可以通过连接的高速示波器来进行测试了。
5). 通过高速示波器进行以Ethernet Compliance 测试
a). 高速示波器一般已经预置了Ethernet Compliance 测试预设菜单,具体可以根据实际使用的示波器手册来查询,本文基于 LeCroy WaveMaster 808Zi-B 示波器配置来进行说明
./ 首先选择 “Analysis”-> “QualiPHY”-> “Standard:”-> “ENET”
./ 然后选择 “Configuration:”-> “100BASE-TX All tests”
./ 最后打开 “Edit/View Configuration:”-> “Test Selector”, 仅选择 “100BASE-TX”相关测试项
b). 配置完成后,点击“Start”开始测试,然后录入相关测试基本信息,测试过程中需要根据测试项目提示调整LeCroy TF-ENET-B 测试夹具两端的连接端口,测试完成后会自动生成测试报告,通过示波器的PDF 生成设置导出 PDF 测试报告文本。
6). 总结
本文基于NXP i.MX8MM ARM 处理器平台简单示例了 Ethernet Compliance 测试流程。