ARM 处理器平台 Ethernet Compliance 测试流程示例

server/2024/12/23 13:58:16/

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 测试流程。


http://www.ppmy.cn/server/152510.html

相关文章

Android adb查看某个进程的总线程数

Android adb查看某个进程的总线程数 adb shell 进入控制台,然后: top -m 20 列出当前系统的进程,找到目标进程的id, ps -T 进程id | wc -l Android adb shell ps进程查找以及kill-CSDN博客文章浏览阅读777次,点赞3次&a…

VSCode 中 Git 功能比较:内置 Git、GitLens 与 Git History 插件

在软件开发领域,版本控制是维护代码变更的重要工具。Git 作为最流行的版本控制系统,被广泛集成在各种代码编辑器中。Visual Studio Code(VSCode)不仅内置了 Git 支持,还提供了丰富的扩展来增强 Git 功能。本文将对比 V…

常用的Git命令总结

git add filename 把文件添加到仓库 git commit –m “注释” 把文件提交到仓库 git status 查看仓库当前状态 git diff filename 查看文件具体修改了什么内容 git log 查看历史记录 git log –prettyoneline(简化)查看历史记录 git reset –hardH…

【论文笔记】欧美学术论文写作习惯解析:非母语作者的指南

学术论文写作不仅要求内容科学严谨,还要求表达符合国际学术惯例。对于准备向欧美期刊投稿的作者,了解英语论文的写作习惯尤为重要。这篇文章将深入解析欧美人英文论文写作的习惯,并提供实用建议,帮助非母语作者更高效地撰写论文。…

使用qemu搭建armv7嵌入式开发环境

目录 目录 1 概述 2 环境准备 2.1 vexpress系列开发板介绍 2.2 安装工具 2.2.1 安装交叉工具链 2.2.2 安装qemu 2.2.3 安装其他工具 3 启动uboot 3.1 uboot下载与编译 3.1.1 下载 3.1.2 编译 3.2 使用qemu启动uboot 4 启动kernel 4.1 下载和编译kernel 4.1.1 下…

修改层级较深的数据导致页面没有实时渲染

在 el-table 中添加一个 key 值&#xff0c;设置成 Boolean 类型&#xff0c;在数据更新后去更新这个 key 值 <el-table:key"feeTableDataRefresh":data"applyFormData.feeTableData":summary-method"getSummariesFee"show-summarystyle&quo…

Ubuntu22.04上安装esp-idf

一、安装准备# 建议使用Ubuntu 20.04 或 Ubuntu 22.04 操作系统 为了在 Ubuntu 22.04 中使用 esp-idf&#xff0c;需要安装一些依赖包 sudo apt-get install git wget flex bison gperf python3\python3-pip python3-venv cmake ninja-build ccache\libffi-dev libssl-dev dfu…

解决/var/lib/docker(默认的 Docker 数据目录)占用较大,并且所在磁盘空间不足

确认 Harbor 数据实际存储位置 Harbor 的数据通常存储在安装目录下&#xff0c;可以尝试以下方法确认实际存储路径。 检查 Harbor 配置文件 在 Harbor 安装目录中查找 harbor.yml 文件&#xff08;通常在 /root/harbor 或 /opt/harbor 下&#xff09;&#xff0c;查看 data_…