所有提交的电磁系统将被重定向到在线手稿提交系统。作者请直接提交文章在线手稿提交系统各自的杂志。

实现基于软核处理器的以太网数据传输

Indu拉吉1克里希纳Rejani P2
PG学生VLSI和嵌入式系统,电子与通信工程系
  1. Kadayiruppu Sree Narayana Gurukulam工程学院,印度喀拉拉邦
  2. Scientist-D海军物理海洋实验室,科钦,喀拉拉邦,印度
相关文章Pubmed,谷歌学者

访问更多的相关文章国际先进研究期刊》的研究在电子、电子、仪表工程

文摘

介绍了嵌入式处理器的实现FPGA内部,这样它可以接收以太网数据包,获取实际数据,修改它,最后传输所需的任何其他目的地。实现平台是一个评估板,Virtex-5 FPGA。用XPS工具,嵌入式处理器MicroBlaze Virtex-5 FPGA内部的配置。处理器的软件部分使用lwIP回声服务器配置模板可在SDK。实现需要ML505评估委员会,对以太网电缆支持GbE数据传输,RS232串行电缆和PC千兆网卡。

关键字

FPGA、MicroBlaze Virtex-5 EDK, XPS, SDK, lwIP。

介绍

可重新配置的设备,如FPGA是灵活的和可重用的高密度电路。也就是说,任何部分的系统可以在任何时间重新配置而其他的设计仍然是工作。进步的现场可编程门阵列(fpga)实现微处理器的一种新趋势出现了fpga设计社区[1]。这种微处理器的设计可在软件比特流的形式,所以他们被称为soft-processors或软核。系统设计者可以将这些核心嵌入他们的设计,可以根据需要定制它们。软核心技术独立,只需要模拟和时序验证。这减少了设计时作为核心处理器相比。
在以太网通信数据将与一个头了,所以需要一个方法,可用于获取实际数据从以太网数据。如果使用一个处理器,可以很容易地也有很好的速度和实际的数据可以根据需要进一步处理。虽然基于处理器的系统可以简化数据检索和处理,处理器的嵌入式系统内部进一步简化技术,因为它只需要更少的组件数量从而减少设备利用率。所有这些因素促使我们实现一个系统使用嵌入式处理器接收以太网数据包,获取实际数据,修改它,最后传输所需的任何其他目的地的帮助下嵌入式开发工具包。实现平台是ML505董事会支持嵌入式处理器MicroBlaze。MicroBlaze哈佛架构是一个32位RISC软与丰富的指令集处理器IP核心优化为嵌入式应用程序[2]。的实现是通过使用嵌入式Xilinx提供的开发包,这有助于设计完整的嵌入式处理器更快更容易[3]。

软件概述

嵌入式开发工具包(EDK)是一个集成的软件工具开发嵌入式系统[4]。EDK包已经Xilinx平台工作室(XPS)软件配置的硬件部分和软件开发工具包(SDK)配置的软件部分。XPS包括一个图形用户界面,提供了一组工具,以帮助工程设计。基本系统构建器在XPS (BSB)是一个向导,快速有效地建立一个设计工作,然后可以定制的设计师。XPS支持的创建微处理器硬件规范(肉类)和微处理器软件规范(MSS)文件需要嵌入式工具流。肉类文件定义了系统体系结构,外围设备和嵌入式处理器[5]。软件平台是由海量存储系统(MSS)中定义文件定义驱动程序和库的定制。
在硬件设计部分,设计必须经历不同的过程像合成、模拟、翻译、地图和地点和路线。最后,生成一些文件。这个文件是出口到SDK以及肉类和海量存储系统(MSS)中文件。SDK是一个集成开发环境,XPS免费。它可以创建不同的外围设备应用软件在XPS和处理器连接。代码可以用高级编程语言编写的C / c++。代表基本的嵌入式设计流程的框图中可以看到图1 [3]。

系统设计

实现平台是ML505 Virtex-5 FPGA的评估板。ML505董事会支持MicroBlaze软核处理器。系统设计分为两个。一个是硬件设计,包括设计方法采用XPS,另一个是软件设计,包括设计方法使用SDK。
答:硬件设计
除了MicroBlaze之外,其他组件所需的设计是GPIO led,定时器、中断处理控制器和UART串行通信设备。实现MicroBlaze完全通用的记忆和逻辑结构的fpga使用EDK设计环境。后街男孩(基本系统Builder)向导在XPS用于生成MicroBlaze周围的嵌入式系统,ML505董事会的支持。这个向导允许选择董事会和处理器。
作为第一步,MicroBlaze处理器配置。这里我们设置系统时钟频率为125 MHz和64 KB的本地内存。下一步是外围设备的选择和配置,包括DDR_SDRAM内存、串行通信设备RS232_UART GPIO led显示,艰难的以太网MAC - xps_ll_temac和计时器“xps_timer”。计时器是用于参考时间生成的部分。
启用中断对以太网MAC和计时器。中断处理的帮助下完成了中断处理控制器(intel) xps_intc_0命名。指令和数据缓存配置是最后一部分。XPS工具自动生成的地址的每个IP核图2所示。设计的结果框图所示图3 [6]。
b .软件设计
设计的软件部分使用SDK工具配置。配置软件部分我们必须导出SDK的硬件设计以及一些文件。SDK为我们提供了大量的项目模板,我们可以挑选。在我们的设计,我们必须配置以太网MAC ML505板内,这样它可以接收UDP数据包。为了满足我们的要求,我们可以选择lwIP回显服务器模板的可用模板[7]。lwIP回声服务器模板提供了一个简单的演示如何使用轻量IP堆栈。服务器的TCP数据和侦听指定端口的输入,只是回声返回任何数据发送到端口。我们的要求是接收UDP数据包,修改它们,传播或其他显示他们在发光二极管。所以我们开发了相应的c程序。在我们的设计我们将绑定的IP地址与我们的董事会的MAC地址192.168.1.10。 Also our design is configured such that it will be listening for the input at the port 1234.

实现

FPGA板被连接到一个以太网端口的主机通过以太网电缆。下一个IP地址分配给主机上的以太网接口。个人电脑的IP地址和董事会必须在同一个子网。软件应用程序分配一个默认192.168.1.10的IP地址。所以在我们的设计我们192.168.1.100分配个人电脑的IP地址。
c代码写在SDK是使用GNU编译器编译工具。编译c文件以及库生成可执行的可执行文件,并可链接文件(精灵)文件。设计的最后阶段是硬件和软件部件之间的联系,整个图像的下载到FPGA。这我们将使用Data2MEM工具链接位(比特流)文件生成的硬件实现和编译后的精灵文件。结果是一个下载。一些文件下载到FPGA。下载成功后,我们会得到图4所示的输出的串行端口。
现在我们将能够ping IP地址从PC 192.168.1.10。平的结果中可以看到图5。我们使用一个虚拟仪器程序可以传输UDP数据包的IP地址192.168.1.10。当我们运行虚拟仪器程序我们可以看到领导的以太网的ML505董事会点亮,表明以太网接收和传输正在进行中。领导的以太网连接,传输和接收LED灯随着接收和传输速度指示器领导指示1 Gbps的操作。如果我们有界面的设计的led灯,led灯我们可以看到结果。在图6中,您可以看到“一维”的数据上显示的发光二极管。
确认正确接收和传输帧,帧使用Wireshark捕获。使用Wireshark从捕获的数据包(见图7),它是指出,从电脑传送的数据包使用虚拟仪器程序在黑板上接收。传输的数据是1,2,3,4,5,6,7,8和9。通过检查接收到的数据包的数据字段,我们已经看到的ASCII值数据在黑板上接收。31、32、33、34、35、36、37、38和39。
在目前的情况下,修改包括ASCII格式的数据转换成对应的十进制格式,添加一个恒定的十进制值“20”他们然后传送回电脑。在图8中,我们可以看到对应的十六进制值的修改数据传回到电脑。14、15、16、17、18、19日1 a、1 b, c和1 d。
我们能够传输数据所需的任何IP地址通过改变相应的C文件。Wireshark结果图9所示,可以看出,董事会是接收数据从IP地址192.168.1.100修改接收的数据后,播放。
如果我们试图显示修改后的数据通过添加合适的打印命令在主c文件,我们将图10所示的输出,串行端口。

结论

MicroBlaze处理器和以太网MAC使用EDK工具配置。使用SDK, lwIP内配置的处理器。配置能够接收数据包发送到董事会的IP地址。处理器将相应地修改数据,并显示在led。我们也能够传播任何IP地址需要修改数据。FPGA资源利用率的细节在图11。

确认

作者要感谢导演,NPOL允许开展这个项目。作者也要感谢苏雷什米。,Scientist G, NPOL and Mrs. Jayamma T. M., Scientist F, NPOL for their valuable guidance, help and insightful comments.

数据乍一看

图 图 图 图
图1 图2 图3 图4
图 图 图 图
图5 图6 图7 图8
图 图 图
图9 图10 图11

引用