预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

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

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

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

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

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

LwIP协议栈在SoPC系统中的实现 可编程单芯片系统(system-on-a-programmable-chip,SoPC)是Altera公司于2000年提出的,它综合了SOC和PLD、FPGA各自的优点。目标是将尽可能大而完整的电子系统在一块FPGA中实现。近年来,随着PLD器件制造水平、功能复杂的IP核和可重构的嵌入式处理器软核的发展,SoPC正处于高速发展阶段,已成为高效、快速的SOC解决方案之一。嵌入式Intemet技术已逐步趋于实用化,在工控与信息电器等领域得到了可喜的应用。据专家预测,今后在Intemet上传输的信息有70%来自小型嵌入式设备,构建基于嵌入式系统的网络平台已成为嵌入式领域的一个重要研究方向。目前Intemet上的通信方式大都是基于TCP/IP协议,嵌入式设备要与Intemet网络直接交换信息,就必须支持TCP/IP协议。在当前SoPC技术和嵌入式网络技术飞速发展、日益结合的背景下,将LwIP协议栈引入到SoPC系统中,以支持嵌入式设备接入网络,是适合应用需求的。LwIP(lightweightIP)即轻型TCP/IP协议栈,一般只需要几十K的RAM和40K左右的ROM就可以运行,并实现了较为完备的IP、ICMP、UDP、TCP,DHCP协议。以SOC的形式基于uC/OSII实现LwIP,并成功应用到实际当中的,已有很多文献进行了报道。但是,基于SoPC系统的LwIP的实现比较少见。谢兵森等人主要报道了如何在Altera公司提供的SoPC系统开发环境下设计嵌入式以太网网络终端,偏重于应用。本文详细阐述LwIP协议栈及其在SoPC系统上的移植原理,在此的基础上基于SoPC系统完成LwIP协议栈的移植。 1LwIP协议栈实现原理LwIP是瑞士计算机科学院(SCICS)的AdamDunkels等开发的一套用于嵌入式系统的开放源码的轻型TCP/IP协议栈,LwIP实现了较为完备的IP、ICMP、UDP、TCP、DHCP协议,具有超时时间估计、快速恢复和重发、窗口调整等功能。LwIP在保持协议主要功能的基础上减少对RAM和ROM的占用,一般只需要几十K的RAM和40K左右的ROM就可以运行,很适合同uC/OSII相配合用在嵌入式系统中。在使用和移植的过程中可根据传输数据的不同需求进行删减和增补。移植过程主要是针对系统采用的微处理器、编译器、操作系统和网络控制器做相关的移植工作。本次研究采用lwip-0.6.3版本,经移植优化的LwIP作为uC/OSII扩展的网络模块运行,为系统提供基本的网络通信功能。并且在其基础上构造了一个基于TCP的Telnetecho测试服务器,以特定网络应用任务形式运行。LwIP可移植到操作系统上,也可在无操作系统的情况下独立运行。本次研究LwIP在uC/OS-II下实现的原理如图1。图1LwIP实现的原理系统硬件核心为Stratix1s10的FPGA芯片。根据开发板的资源和研究要求将FPGA配置成定制的SoPC系统,具体的硬件系统如图2所示。网络控制器是SMSC公司生产的自适应10M/100M第3代快速以太网控制器LAN91c111,集成了SMSC/CD协议的MAC(媒体层)和PHY(物理层)。外围设备的驱动和控制接口都有相应的IP核来完成。系统软件核心为uC/OS-II-2.76,是一个源码开放的适合于小型、微控制器的占先式多任务管理的实时操作系统。它内核短小精悍、可裁减、执行时间确定。uC/OSII提供的仅仅只是一个实时的调度及任务间通信的内核,没有集成网络协议。针对NiosII处理器,首先完成uC/OS-II的移植工作。 2LwIP实现的硬件平台采用Altera公司的Stratix1s10开发板。在Altera公司的FPGA集成开发环境QuartusII4.0和SoPCBuilder下构建基于Avalon总线的SoPC系统。根据研究的需要,在FPGA上定制的SoPC系统硬件映像如图2所示。图2SoPC系统的硬件映像SoPC系统的硬件核心是NiosII处理器,NiosII内核有3种配置——快速(NiosII/f)、标准(NiosII/s)和经济型(NiosII/e)。NiosII是Nios的第2代,是专门针对Altera的可编程逻辑和可编程单芯片系统(SoPC)而设计的软CPU。此处配置成标准。jtag-uart是PC机和开发板的连接电缆,功能是下载FPGA配置、软件程序和调试程序。tri_bridge是Avalon片内总线和片外设备的连接总线。lan91c111是以太网控制器接口,允许中断。 3LwIP协议栈的移植移植LwIP协议栈,主要是针对系统所采用的NiosII处理器、GCC编译器、uC/OS-II-2.76和LAN91c111以太网控制器做相关的移植。3.1处理器和编译