分享
构建以太网电路软硬件验证平台_杭万里.pdf
下载文档

ID:479801

大小:1.79MB

页数:3页

格式:PDF

时间:2023-04-03

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
构建 以太网 电路 软硬件 验证 平台 杭万里
2023 年 1 月 Jan 2023Digital Technology&Application第 41 卷 第 1 期Vol.41 No.1数字技术与应用193中图分类号:TN911-34;TP332.3文献标识码:A 文章编号:1007-9416(2023)01-0193-03DOI:10.19695/12-1369.2023.01.59构建以太网电路软硬件验证平台中国电子科技集团公司第五十八研究所杭万里何光旭公司设计的一款电路包含有网络模块。该网络模块包含介质访问控制层(MAC 层)即网络开放式系统互联(OSI)七层模型当中的数据链路层。通过微控制器STM32F407 和物理层收发器 DP83848 构建一个直连的电气和电子工程师协会标准(IEEE802.3)以太网电路软硬件验证平台。利用该平台可以进行数据链路层的验证,不仅可以构建正确的协议帧数据,还可以构建错误的协议帧数据,从而对网络模块进行充分验证。网络 OSI 有七层模型。普通开发者只关心应用层、表示层、会话层、传输层、网络层。电脑和嵌入式系统自带的十兆、百兆自适应网口,应用层发送的数据自动嵌入的校验位,可以发送正确的 IEEE802.3 的 MAC 协议帧。一般情况下,无法发出错误的协议帧。电路设计更多关注物理层、数据链路层。公司设计了一款带 MAC 层的 ARM 电路,需要进行寄存器级的功能验证。不仅需要验证正确发送接收数据,同时需要验证错误发送和接收数据。而发送和接收错误数据是电路验证的重点。因此构建一个寄存器级的软硬件测试验证平台成为验证电路的一个迫切需求。1 基本原理寄存器级的软硬件测试验证平台是基于微控制器STM32F407 和物理层收发器 DP83848 构建的。STM32F407内置 MAC 层和 DMA 控制器,但不含物理层,需要外置物理层芯片,这里选择物理层收发器 DP83838。STM32F407的网络编程,一般在轻型IP协议栈(LwIP)进行开发。而电路的验证,必须去除掉LwIP协议栈,才能满足功能验证的要求。本文通过STM32F407和DP83848 成功构建了的软硬件测试验证平台,并且对设计的电路进行了相应的验证。2 硬件测试验证平台设计如果网络数据包通过路由器进行转发,会夹杂很多路由器上的其他网络数据包。采用直接互连的方式,可以确保排除掉其他的网络数据包的干扰。待验证电路和STM32F407 的网络采用了直接互连的方式。整体硬件设计框架如图 1 所示。待验证电路外部PHY(DP83848)变压器+RJ45STM32F407外部PHY(DP83848)变压器+RJ45网线RMIIMIIRMIIMII差分信号差分信号图 1 硬件整体框架Fig.1 Overall hardware frameworkSTM32F407 带有 DMA、MAC802.3 控制器,其中介质独立接口(MII)和简化介质独立接口(RMII)区别为 MII 频率最高位 25MHz,数据位为 4 位,RMII 频率最高达 50MHz,数据为 2 位,二者传输速率最高均能达到100Mbps。MII 接口共需 17 根连线,RMII 接口只需 9 根连线,实现功能一样。由于 RMII 硬件接口比 MII 少近一半,所以常规使用优先选择 RMII。但电路验证时,2 种接口模式都必须验证到。DP83848 支持 IEEE802.3 的 MII和 RMII 接口,与待验证电路和 STM32F407 接口匹配。通过 SMI 接口对 DP83848 进行配置。并且 DP83848 具备发送和接收端口自动翻转功能,所以网线可交叉连接,也可直连连接。由于 MII 和 RMII 的时钟不一样,采用跳线帽的方式进行时钟选择。这里需要注意的是 RMII 需要的50MHz 频率由有源晶振产生,为了同步,需将 50MHz 时钟同时送至 STM32F407 和 DP83848。最终做出来硬件实物如图 2 所示。两个网口通过网线连接,图片的左侧为两个串口的调试口。二者网络没有在板内直连,是考虑到后期可连接到路由器,接入网络,从而进行网络通用测试以及开发。收稿日期:2022-09-21作者简介:杭万里(1979),男,江苏盐城人,硕士研究生,高级工程师,研究方向:嵌入式应用。数字技术与应用 第 41 卷1943 测试验证平台环境搭建要先搭建软硬件测试平台的测试环境,包含了测试硬件板、仿真器、上位机和测试代码。3.1 测试环境硬件准备硬件平台首先要确保硬件工作正常。两路网络接口都接到路由器,与上位机进行通讯测试,从而确保硬件正确。3.2 仿真器由于调试是在一台电脑上同时调试 2 个电路,所以采用 2 种不同的仿真器,可区分目标电路,2 种仿真器分别为J-LINK OB V2.0和ST-LINK/V2版本。对于J-LINK OB只需要GND、SWCLK、SWDIO三根线即可;对于ST-LINK/V2则 需 要GND、SWCLK、SWDIO、NRST、VDD(3.3V)五根线。3.3 软件测试将板卡两个网口连接到路由器,电脑也与路由器相连。编写上位机服务器程序,如图 3 所示。测试平台是通过 UPD 方式进行测试,每隔 0.5s 发送数据。首先电脑通过路由器,向电路发送一个 UDP 数据包,电路接收到的数据后,在数据后面加上接收到的次数重新打包,然后原路返回发送给电脑,电脑显示出接收数据,从而形成发送和接收一个闭环。由于 UDP 是无需握手的,所以得通过发送和接收的闭环去验证了发送和接收链路正确性。4 电路验证4.1 硬件连接将上下两个网口相互连接,网线可以是交叉连接,也可以直连连接。4.2 功能和寄存器测试验证内容主要包含 SMI、RMII、MII 部分,MAC 部分,DMA 验证。4.2.1MII 和 RMII 验证以太网外设包括带专用 DMA 控制器的 MAC802.3。它支持 MII 和 RMII。需验证 2 种接口都工作正常。在软件代码里定义两个宏,MII_TEST 和 RMII_TEST进行切换。4.2.2SMI 验证站管理接口(SMI)允许电路程序通过 2 线制,时钟线和数据线进行访问 DP83848 的寄存器。通过对 DP83848的配置,从而验证了 SMI 接口,该接口类似于 IIC 总线。4.2.3MAC 过滤验证MAC 过滤分为广播、单播、多播的目标地址过滤,源地址过滤。目标地址过滤主要设置寄存器中的相应的图 2 硬件实物Fig.2 Hardware object图 3 联通测试界面Fig.3 Unicom test interfaceTCP服务器端TCP的Local IP及PortIP地址192.168.43.40端口号2000UDP的Local IP及PortIP地址192.168.43.40端口号5004UDP的发送 IP及PortIP地址192.168.43.30端口号5001发送数据abcde接收数据区abcdeabcde1abcde2abcde3abcde4abcde5调试信息初始化TCP发送UDP发送关闭socket清除UDP定时器0.5sUDP定时器关闭2023 年第 1 期195杭万里何光旭:构建以太网电路软硬件验证平台BIT 位,有 PM、HPF、HU、DAIF、HM、PAM、BFD。源地址过滤主要设置寄存器中的相应的 BIT 位,有 PM、SAIF、SAF。举例单播模式 1,设置接收端 PM 设置为 1。发送端发送地址设置为 FF-FF-FF-FF-FF-FF。验证结果是从串口打印出允许过滤的数据包,不允许的数据包将接收不到。其他过滤模式这里不再赘述。4.2.4MAC 唤醒包含远程唤醒帧和魔术数据包两种方式。魔术唤醒数据格式首先是 6 次 0 xFF,然后接着是 16 次目标地址。远程唤醒,首先将网络进入睡眠状态,然后延时 6 秒,没有数据进入,然后开启中断唤醒,随即数据可以接收。在 DEBUG 控制字中可以发现有中断标志出现。4.2.510/100Mbps 速度对 10/100Mbps 速度的验证,需要对 MAC 和 PHY都进行设置。10/100Mbps 的速率变化可以在路由器中交换器部分看到。4.2.6DMA 验证DMA 具有独立的发送和接收引擎以及相应的 CSR(控制和状态寄存器)空间。发送引擎将数据从系统存储器传送到Tx的FIFO,而接收引擎将数据从Rx的FIFO传送到系统存储器。DMA可以在CPU完全不干预的情况下,通过描述符有效地将数据从源传送到目标。DMA 专为打包的数据传送(如以太网中的帧)而设计。该控制器经过编程后,可在完成帧发送和接收传送操作时以及其他正常或错误条件下产生 CPU 中断。测试包含 DMA 发送地址、DMA 接收地址、DMA 中断、DAM 补足、DAM 转发错误帧、描述符、IPV4 有效及 IP 有效负载字节(UPD)、IPV4 有效负载错误、IP 报头错误、IPV4 有效负载错误(UDP)。DMA 转发错误帧的发送端,将 ETH_DMAOMR 的转发错误帧 FEF 置 1,并且将发送的 TDES0 的 CRC 禁止。如图 4 所示是一个 DMA 转发错误帧的结果。其中的接收描述字符 0RDES0 为 0 x00408722,即CRC 错误标志位 CE 为 1。其他测试不再赘述。5 结语本文简述了如何构建一个 IEEE802.3 以太网寄存器级软硬件验证平台。硬件部分包含硬件设计、硬件测试、上位机、UDP 发送接收测试。软件验证包含 SMI、RMII、MII 部分,MAC 部分,DMA 部分的验证。由于网络代码一般通过内嵌 LwIP 协议栈进行上层应用开发,无法进行电路验证,本文剥离了 LwIP 协议栈,直接对寄存器级进行操作,从而验证电路的每一个寄存器的工作结果,为电路设计提供了有力的支撑。引用1毛臻,张春平,潘福跃,等.基于SiP技术的网络测量探针芯片集成设计J.电子与封装,2022,22(4):81-86.2吴晓庆,郑骏.基于4G网络的视频加密传输系统设计J.电子与封装,2021,21(2):91-95.3齐盛.基于STM32芯片的分布式电机测试系统J.电子与封装,2012,12(4):23-26.4范继聪,惠锋,徐彦峰,等.一种快速验证FPGA互连线连接正确性的方法J.电子与封装,2018,18(4):30-32.5张超,王志超,林岩.基于LwIP协议栈的嵌入式网络控制系统设计J.单片机与嵌入式系统应用,2019(2):34-40.6刘培刚,杜靖中.基于C/OS-和LwIP嵌入式设备以太网通信研究与实现J.电子设计工程,2017(25)16:129-133.7姜艳茹,孟令军,尚桠朝,等.基于STM32的图像采集与网络传输系统设计J.检测技术与数据处理,2020,33(12):45-53.8王全全,冯博,朱辉.基于STM32和LWIP的井场传感器远程监控系统J.工业控制计算机,2019,32(4):13-14.图 4 DMA 转发错误帧结果Fig.4 DMA forwarding error frame resultsi=0 x1 0 x00408722 0 x00004640 0 x20001494 0 x20000114 Ox00000000 Ox00000000 Ox00000000 Ox00000000i=Ox2 0 x80000000 0 x00004640 0 x20001ad4 0 x20000094 0 x00000000 0 x00000000 Ox00000000 Ox00000000*Recieve Data start*receiveLen=60!Oxff,Oxff,Oxff,Oxff,Oxff,Oxff,Ox00,0 x00,0 x00,0 x00,0 x00,0 x01,0 x81,0 x00,0 x00,0 x00,Ox08,0 x06,Ox00,0 x01,0 x08,0 x00,Ox06,0 x04,0 x00,Ox01,0 x00,0 x00,0 x00,0 x00,0

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开