皇冠厂家
免费服务热线

Free service

hotline

010-00000000
皇冠厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

Spartan6上嵌入式网络服务系统设计实现

发布时间:2020-06-30 20:53:20 阅读: 来源:皇冠厂家

摘要:随着FPGA在嵌入式领域的快速发展和网络技术的日益成熟,基于FPGA的网络开发成为嵌入式系统研究的重要分支。本文系统地研究了FPGA网络通信,并成功运用Xilinx开发平台EDK构建一个基于总线AXI4的嵌入式网络服务系统。系统包括硬件系统设计和软件程序设计,即采用MicroBlaze微处理器软核,Xilkernel嵌入式操作系统和lwip以太网协议,实现了通过Web浏览器对开发板的实时控制和网络数据回传的实时显示。这一设计在Spartan 6 Atlys开发平台上得以实现和验证,为需要使用该系列开发板进行的网络通信设计提供了很好的指导作用。

本文引用地址:引言

随着嵌入式系统的发展和Internet的普及,越来越多的嵌入式系统引进Web Server和远程等概念。以太网以其速度快、成本低,成为嵌入式Web Server和远程文件传输接入网络的主要方式。因此,实现基于以太网的嵌入式Web Server和远程文件传输具有十分重要的实际意义。

本设计采用Spartan 6 XCSLX45芯片Atlys FPGA开发板,其具有容量大、资源多、性价比适中等特点,此外Atlys配备了各种高端接口,包括千兆以太网、HDMI视频输入输出、128MByte DDR2存储阵列、AC97 Codec及USB接口,其采用的是Marvell公司的千兆以太网(GbE)PHY收发器88E1111,支持GMII接口,GMII接口支持三种速度模式10/100/1000Mbit,这为本文的以太网通信提供了网络通信条件。同时,AXI总线是ARM高级微控制器总线结构的一部分,拥有高产率、高灵活、广泛IP可用性等优势[1]。本文采用AXI4总线结合Atlys上的GMII接口,设计并实现了lwip以太网通信,为今后在嵌入式通信领域的进一步研究奠定了基础。

系统的设计

本文将会从系统硬软件两方面的设计和实现进行阐述,本设计是基于Spartan 6 Atlys硬件开发平台,利用Xilinx ISE 13.2软件开发平台进行硬软件的设计,由于EDK集成的XPS(Xilinx Platform Studio)硬件设计平台和SDK(Xilinx Software Development Kit)软件设计平台,本文的lwip以太网通信嵌入式系统的设计将会分成硬软系统设计两部分进行详细地介绍。

硬件系统的设计

本系统的总体硬件设计如图1,包括AXI总线,MicroBlaze CPU核,Ethernet为设计千兆以太网,Ethernet_dma为实现Ethernet和MCB_DDR2的快速数据传输,MCB_DDR2 128MByte存储阵列,axi_intc,axi_timer时钟控制模块,LED_8Bits 8个LED灯,RS232_Uart串口控制器,Debug_Module以及Dip_Switches_8Bits 8个拨码开关,采用100MHz时钟。

系统间的数据交互是通过千兆以太网实现的[2],下面对关键IP核:AXI_DMA、Ethernet IP核[3]进行简要的介绍。

ETHERNET_dma即AXI_DMA(AXI直接内存访问),是Xilinx嵌入式开发套件(EDK)中自带的IP软核,它为内存和AXI流型目标外围设备提供高带宽的直接内存访问,它通过从CPU上卸载数据移动任务来体现分散/收集功能,如AXI以太网之间提供高速数据移动。

Ethernet核通过32位的AXI4-Lite接口子集为内部寄存器提供了一个控制接口,AXI4-Lite接口支持单拍读和写的数据传输(无突发传输)。发送和接收数据接口都是通过AXI4-Stream接口。AXI Ethernet通过AXI4-Lite总线接口连接到MicroBlaze处理器内核上,允许访问寄存器,同时32位AXI4-Stream总线可供以太网数据在AXI Ethernet上发送和接收。在硬件没有负载条件下,该AXI4-Stream总线提供TCP/UDP的部分校验和。

由于本设计中使用Spartan 6 Atlys系列,本文为该系列的网络通信研究提供的方法:使用Soft Ethernet IP核,设置使用GMII模式,该IP核是soft TEMAC需要特定的license,可在官方网站上下载。Ethernet核可以计算发送TCP/UDP校验和以及验证发送TCP/UDP校验和,使用此逻辑可以显著地提高最大以太网总线数据传输率,同时降低处理器对以太网任务的利用率。系统的MicroBlaze微处理器通过AXILITE总线接口访问AXI DMA,分散/收集引擎从MCB_DDR2中查找缓冲区描述符,然后协调AXI Ethernet和MCB_DDR2之间的主要数据传输。例如MCB_DDR2中的参数设置:

PARAMETER C_INTERCONNECT_S0_AXI_MASTERS = microblaze_0.M_AXI_DC & microblaze_0.M_AXI_IC & ETHERNET_dma.M_AXI_SG & ETHERNET_dma.M_AXI_MM2S & ETHERNET_dma.M_AXI_S2MM

以及Ethernet中的接口设置:

BUS_INTERFACE AXI_STR_TXD = ETHERNET_dma_txdBUS_INTERFACE AXI_STR_TXC = ETHERNET_dma_txcBUS_INTERFACE AXI_STR_RXS = ETHERNET_dma_rxsBUS_INTERFACE AXI_STR_RXD = ETHERNET_dma_rxd

通过上述设置和IP核的加入,一个基于AXI4总线lwip以太网嵌入式硬件系统搭建完毕,在Xilinx XPS硬件系统设计工具中修改相应的ucf约束文件,即可通过Hardware->Generate Bitstream产生比特流文件供后续软件系统设计的调用。

软件系统的设计

本文的软件系统主要分为三部分:文件系统的建立、FTP远程传输文件设计以及HTTP(超文本传输协议)服务[4]利用网页对Atlys开发板进行远程显示及实时控制的设计,从而使传统控制设备转变为具备了以TCP/IP为底层通信协议,Web技术为核心[5]的Internet控制设备。软件系统采用Xilinx ISE集成的Xilkernel系统内核,通过设置选择相应的库文件,如本文所需要的lwip130(用于轻量级以太网的通信,TCP/IP协议的一种,并且了解了轻量级TCP/IP协议栈和一般操作系统的TCP/IP协议栈的区别[6])和xilmfs(用于文件存储系统)的库文件,设计程序时调用所配置系统的库文件、系统头文件以及自定义的一些程序文件,从而设计出完整的lwip以太网通信系统。

tcp/ip相关文章:tcp/ip是什么

临沂订做劳保工服

太原制做西装

泰安西服厂