引言
随着电子信息技术的发展,网络化日益普遍,以太网被广泛应用到各个领域,只要在设备上增加一个网络接口并实现TCP/IP协议,就可以方便地接入到现有的网络中,完成远程数据传输的相关功能。因此,嵌入式网络技术一直是关注的焦点,目前已经广泛应用于通信、工业控制、消费电子等各个领域。近年来,随着可编程逻辑器件的飞速发展,人们开始考虑将整个嵌入式系统集成到单片FPGA中实现,其中也包括了以太网的嵌入式片上系统。本文从实际应用出发,以Xilinx FPGA的软核CPU MicroBlaze IPCore搭建的片上系统(SystemonChip),构建了嵌入式网络硬件开发平台,实现了TCP/IP通信协议栈LwIP(Lightweight Internet Protocol)在实时操作系统Xilkernel上的移植。详细介绍了其软硬件的系统组成和原理,阐述了FPGA的片上系统配置,及其驱动层和协议栈层软件的结构,并给出部分关键源码。
1 系统硬件平台设计
Xilinx为嵌入式网络通信解决方案提供了广泛的组件和资源。Xilinx嵌入式解决方案的一个主要优点是其处理器、IP内核以及软件组件的灵活性和可扩展能力,其强大的灵活性允许用户根据需要开启或禁止处理器、IP内核以及软件平台的选项和高级功能,并且可以对许多独立参数进行精细调整,直到在软件级满足应用要求。
系统采用Xilinx公司的FPGA芯片XC5VFX70T为硬件设计平台,以MicroBlaze软核作为中央处理器,以VHDL硬件描述语言实现协处理功能模块,以片上总线连接MicroBlaze处理器和外围设备(IP)来搭建嵌入式片上系统。
Xilinx以IBM CoreConnect总线通信链作为嵌入式处理器的片上总线,提供了丰富的接口资源,主要有PLB (Processor Local Bus,处理器本地总线)接口、高速的LMB(Local Memory Bus,本地存储器总线)接口、FSL(Fast Simplex Link,快速单连接)主从设备接口、XCL(Xilinx Cache Link,Xilinx缓存链路)接口。PLB总线可将外设IP核连接到MicroBlaze系统中,常用在速度要求不高的场合;LMB专门用于实现对片上块RAM的高速访问;XCL则用于实现对片外存储器的高速访问。FSL是MicroBlaze处理器特有的一个基于FIFO的单向链路,可实现用户自定义IP核与MicroBlaze内部通用寄存器的点对点直接相连,一般用在传输速度要求较高的场合。
已实现的系统由MicroBlaze处理器、ILMB总线、DLMB总线、Block RAM、DDR SDRAM、10 /100/1000 Soft TEMAC、GPIO接口、UART16550串口、PLB TIMER定时器,以及基于PLB总线技术的DDC(数字下变频)自定义IPCore和基于FSL总线技术的FFT(快速傅里叶变换)自定义IPCore组成。设计的系统架构如图1所示,整个系统在Xilinx的EDK开发工具中构建,具有完全的可编程特性,可根据不同任务需求来更改相关的配置参数。
|