面向网络测试的嵌入式系统设计与实现.pdf
上传人:qw****27 上传时间:2024-09-12 格式:PDF 页数:5 大小:258KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

面向网络测试的嵌入式系统设计与实现.pdf

面向网络测试的嵌入式系统设计与实现.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

http://www.paper.edu.cn面向网络测试的嵌入式系统设计与实现薛亚杰,钱宗珏,寿国础北京邮电大学通信测试技术研究中心,北京100876)Email:xueyaj@gmail.com摘要:本文分别从硬件和软件角度阐述了一款新一代高性能网络测试仪中嵌入式系统的的设计和实现方案。该测试仪采用ARM9处理器,简化了硬件平台的设计,配合嵌入式Linux操作系统和应用软件,可以监测网络设备的状况,并且可以主动对网络发送测试数据包,进行网络性能的测试。关键词:ARM,嵌入式Linux,网络测试1.引言近年来网络正以空前的速度在发展,规模越来越大,结构越来越复杂,新的设备越来越多,网络出现的问题也越来越复杂,这就对网络测试提出了更高的要求;另一方面随着后PC时代的到来,集成电路的设计和制造工艺的进步,嵌入式技术也渐渐成熟,广泛应用于网络通信领域,这就使得开发高速高性能的网络测试仪成为可能。由于网络测试仪专用性强,前期投入大,开发难度高,目前国内在这一领域基本上是空白,大量的设备需国外进口如SmartBits,我们结合以往测试仪的经验以信息产业部的相关设备测试规范为主要依据,研制出新一代高性能网络测试仪,在这个高性能网络测试系统中,嵌入式系统起着举足轻重的作用,本文将从硬件和软件的角度介绍其中嵌入式系统的设计与实现。2.嵌入式系统的硬件本嵌入式系统是这款高性能网络测试仪中的一部分。它实现的主要功能有与终端PC实现Socket网络通信、PC终端下载配置CPU程序FPGA程序,CPU小系统及外围器件的自检,动态配置外围器件和读取数据返回终端PC。嵌入式系统硬件实现框图如图1。图1测试仪系统物理结构图-1-http://www.paper.edu.cn整个系统主要由两部分组成:CPU小系统和外围器件。PC终端计算机通过网络与嵌入式系统进行通信,对系统进行读写控制。CPU小系统包括:ARM芯片,RAM和FLASH,以太网接口。本嵌入式系统采用32位ARM作为CPU,有功耗低、高性能等突出优点。由于ARM内部集成的ROM和RAM的容量不能够满足信号机的要求,因此设计了外存储单元来扩展存储空间,由一片64M的NANDFLASH以及两片32MB的SDRM组成外存储系统。FLASH存储器在系统中主要用于存放引导程序loader、操作系统内核镜像和应用程序代码等。为了提高系统运行的效果,系统启动后将FLASH中的代码拷贝到SDRAM中,有SDRAM作系[1]统程序运行场所。为了发挥ARM处理器32位数据处理性能,本设计选用2片SDRAM,并联组成32M的RAM,总共64MB空间,完全可以满足嵌入式操作系统及各种复杂功能的运行要求。以太网接口芯片作为一个PHY与ARM的MAC连接,外接一个RJ45,实现ARM与PC的Socket网络通行。外围器件主要有FPGA和一款高速网络交换芯片,FPGA模块受ARM控制产生高速的测试数据发送到高速网络芯片端口最大为100Mb/s流量;或者由FPGA模块产生高速的测试数据发送到GE/FEPHY从SFP光模块产生1000Mb/s流量,同时FPGA也可按ARM要求将其所需数据发送至ARM。3.嵌入式系统软件实现网络测试仪软件采用C/S架构,Client端Windows平台下软件实现用户界面操作,测试帧构建、速率控制、统计分析、实时显示等功能;Server端嵌入式Linux系统下软件完成流量产生、数据统计、数据上报、通信处理等功能,具体程序设计包括Bootloader启动代码、[2]设备驱动设计、API接口程序设计、有限状态机设计和Socket通信机制程序设计。下图是服务器嵌入式系统的软件结构图。图2服务器端软件结构图控制终端软件的核心是嵌人式Linux操作系统,一切功能的实现都基于Linux操作系统来完成。Linux本身作为一个桌面系统,在进人嵌人式操作系统领域时,需要解决的问题主要包括硬件支持、提供二次开发的环境以及小型化(裁减内核)等。小型化的目的是在满足操作-2-http://www.paper.edu.cn系统基本功能和用户特定需要的情况下,使内核尽可能小。作为一个操作系统,Linux内核主要负责程序的管理与调度、内存的管理及对外设的驱动和管理等。由于Linux内核采用模块化的设计,很多模块可以独立地加载或卸载,所以小型化就是对Linux内核重新编译,在编译时仔细地选择嵌入式设备所需要的功能模块,同时删除不需要的功能。这里只需要串口驱动、还要支持TCP/IP网络协议,其他都可以删除掉,使系统运行所需要的内核显著减小至1Mb以内。一般嵌入式系统的启动过