千兆以太网物理层收发器功能测试方法
作者:***
来源:《现代信息科技》2022年第07期
        摘 要:针对自主研发的一款千兆以太网物理层收发器(GPHY)的功能测试,设计了GPHY的测试系统。为便于定位测试中的问题,按照信号流将测试分为三个阶段:先进行内
回环测试,再进行外回环测试,最后移植LwIP实现ping测试。采用一款Cortex-M4內核具备GMAC(Gigabit Media Access Control)外设的MCU作主设备,实现了GPHY的功能测试程序。在程序中,创建了可动态调整的系统日志和结构化的多参数函数接口,使得查看测试结果和进行压力测试更加简便。
        关键词:GPHY;功能测试;GMAC;Cortex-M4;LwIP
        中图分类号:TP311 文献标识码:A文章编号:2096-4706(2022)07-0042-04
        Function Test Method for Gigabit Ethernet Physical Layer Transceiver
printf输出格式 同行        LIU Wenyuan
        (Network Communication Institute of CETC, Shijiazhuang 050011, China)
        Abstract: In view of the function test of the Gigabit Physical Layer Transceiver (GPHY), this paper designs a GPHY test system. In order to easily locate the problems in the test, the test is divided into three stages according to the signal flow. First
ly it conducts the inner loop test, then conducts the outer loop test, and finally transplants the LwIP to achieve the ping test. This paper uses a Cortex-M4 kernel and MCU with GMAC (Gigabit Media Access Control) peripheral as the master device to realize the GPHY function test program. In the test program, it creates the dynamically adjustable system log and the structured multi-parameters function interface, which make it handier to view test results and perform stress tests.
        Keywords: GPHY; function test; GMAC; Cortex-M4; LwIP
        0 引 言
        随着物联网时代的到来,嵌入式系统的以太网设备需求量与日俱增,而负责以太网数据编码和传输的物理层收发器的需求量也随之增长[1]。在加快集成电路产业自主可控步伐的趋势下,PHY芯片的研发工作正如火如荼地进行[2]。
        芯片的测试工作,是芯片在流片完成之后,交付给客户之前的重要一环,旨在验证芯片的硬件功能,为终端用户提供驱动程序的代码原型。在产业实践中,对于PHY的UVM验证工
作虽有文献可参考[3-5],但对于PHY芯片的板级测试问题,尚无统一的标准,需要开发者自己按照PHY的数据手册编写驱动。若没有PHY芯片厂商提供直接的技术支持,调试过程就会面临苦难。
        考虑到用户可能会面临的PHY调试问题,基于一款自主研发的GPHY(Gigabit Physical Layer Transceiver)的功能验证工作,本文首先介绍了GPHY测试系统的架构,也即GPHY的典型使用场景;然后着重论述了测试程序的设计,提出了将数据分阶段loopback的测试方法;最后展示了测试过程中的系统日志和基于LwIP的网络实验结果。希望能为同行的以太网PHY功能测试和应用开发提供参考经验。
        1 测试系统架构
        以太网是遵守IEEE 802.3标准的局域网,TCP/IP参考模型中的物理层(PHY)一般由专用的数模混合集成电路来实现,即PHY芯片,而与之直接交互的就是数据链路层中的介质访问控制子层(MAC),因此PHY芯片的功能验证离不开MAC的支持。
        为了验证GPHY的功能,本文选取了一种基于Cortex-M4内核的32位微控制器(MCU),
它的APB总线上挂载的以太网外设模块支持千兆速率MAC(GMAC)的功能。以太网外设模块中还集成了站管理接口(SMI),专门用于和外部PHY之间的通信,以访问PHY芯片的寄存器。MCU与GPHY通过标准的千兆介质独立接口(GMII)来连接,GMII提供了时钟和数据的传输途径。
        为便于在线调试和单步跟踪,选择了使用非常广泛的Keil-5作为测试程序的开发环境,该环境自带了交叉编译工具,方便用户移植本测试程序到特定的应用场景[6]。程序的在线调试与跟踪依赖调试器CMSIS-DAP Debugger,它通过Jtag接口与MCU相连接,通过USB接口与PC相连接。此外,MCU的UART通过RS232与PC的串口相连接,在PC端开启串口调试助手,可以查看包括了程序运行状态、PHY寄存器状态和测试信息的系统日志。PC机上的网线通过水晶头插在RJ-45上,RJ-45与PHY芯片之间有一个负责电压变换的器件H5007,二者之间的引线MDI+/-上传输的是差分信号。GPHY测试系统的架构图,如图1所示。
        2 测试程序设计
        为了方便逐级厘清PHY测试中的问题,本文根据以太网数据信号的流经途径,设计了两种类型的环回测试,内部环回和外部环回分别如图2和图3 所示。
        PHY内部环回用以检查PHY内部数据流是否正常。期望的正常情况是 RXD[7:0]上的信号与TXD[7:0]上的信号相同,只是存在一段短暂时间上的滞后。在测试程序内部,逻辑应这样设计:数据发送后,比较接收数据缓冲区与发送数据缓冲区之间的数据差异,即可判断该项测试是否通过。若数据相同,则符合预期,测试通过;否则,测试未通过,这时系统会通过串口打印出数据差异的所在位置和错误提示信息。在PC机上,开发人员根据这些日志,便可迅速定位问题。
        在进行外部环回测试前,需要在RJ-45上插入一个特制的水晶头。该水晶头的差分信号线要按照图3所示,把对应的差分信号线进行互连,水晶头插入RJ-45后,就实现外部环回测试所需的信号连接。外部环回与内部环回的测试程序是一致的,差异点仅在于:外部环回模式要把GPHY的0地址寄存器中的bit14清零,以解除内部环回模式。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。