基于SOPC的以太网交换机的设计_精品文档资料下载.pdf
《基于SOPC的以太网交换机的设计_精品文档资料下载.pdf》由会员分享,可在线阅读,更多相关《基于SOPC的以太网交换机的设计_精品文档资料下载.pdf(4页珍藏版)》请在冰豆网上搜索。
BImplementionofEthernetswitchbasedonSOPCChenHuipingWangZhangruiMaQiqiang(SouthwestPetroleumUniversity)Abstract:
ThiSthesismainlydiscussionsthedesignandimplementofaIOMIOOMauto-adaptiveswitchwith8-portbasedonSOPC(systemonprogrammedchip)technologythiSpaperexplainedthedesignofhardwareandminmoduleofthesystem,andintroducethemainideaanddataprocessingprogramwithinFPGAThetestresultinducatesthattheswitchhasreachedthelinerateperformanceTheswitchhavehighlyrellabilityandstabilityanditfullymeetthedemandofindustryKeywords:
Ethernet,interface,systemonprogrammedchip0引言近年来,随着网络技术的迅速发展,而在市场上以太网则占统治地位。
以单片机和ARM处理器作为硬件平台的嵌入式以太网系统已经得到了广泛应用。
但是,由于上述这些系统的开发平台有一定的局限性,在实际应用中经常出现硬件资源浪费或者资源不够的问题,开发系统往往需要外接PLD芯片来进行外围器件的逻辑控制,存在接口速率的瓶颈问题。
基于SOPC技术的NiosII处理器能解决这个难题。
本设计采用Realtek公司的交换芯片RTL8308B作为核心芯片,用FPGAEPlC60240C8作为系统设置和配置的芯片。
交换机为快速以太网的升级提供了很好的灵活性和易处理性,它提供了8个多路lOMlOOMbps的RJ一45以太网端口。
交换机将自动地检测与之相接设备的速率,允许在同一个交换机上使用lOMbps和lOOMbps设备而无须替代原有的网络设施。
1交换机的功能要求1支持8端口的以太网数据交换,在两个局域网之间实现数据交换。
2设计完全满足以太网8023传输协议的要求。
3设计的客户端使用方便、不需编程,配置和管理简单灵活。
4每个端口都能够自适应地处理10MbPS或者lOOMbps的数据。
5设计每个端口都可以工作在全双工和半双工模式下。
6数据交换采用存储转发模式和并能达到线速交换7LED灯能正确指示每个端口的工作状态。
2硬件设计系统的硬件设计在SOPCBuilder和QuartusII中完成。
利用它们可以灵活定IJNiosIICPU的各个特性甚至指令,可以使用Altera提供的大量IP核来加快开发NiosII外设的速度,提高外设的性能,还可以使用第三方IP,或VHDL、Verilog来定制外设。
嵌入式工业以太网控制器的硬件分为三个部分:
FPGA部分、存储器部分和外围元件部分。
本文选用的FPGA是CycloneEPlC6芯片。
NiosII处理器具有完整的软件开发套件:
包括编译器、集成开发(IDE)、JTAG调试器、实时操作系统(RToS)和TCPIP协议栈。
设计者能够用AlteraQuartusII开发软件中的SOPCBuilder系统开发工具很容易地创建用户定制的CPU和外设,获得恰好满足需求的处理器系统。
利用SOPCBuilder开发工具创建专用的处理器系统,需要进行SOPC的嵌入式处理器芯片和软件设计。
SOPCBuilder工具通过加载NiosII软核处理器和外围接口的定义配置一个高集成度的SOPC系统的嵌入式处理器芯片。
基于SOPC的设计流程和该系统功能要求,该系统电路从功能上可分为两个部分:
以RTL8308B芯片为主的交换电路部分和以CycloneEPlC6芯片为主的控制电路部分,系统框图如图l所示图1交换机硬件结构(参见下页)其中RTL8308B芯片是一款高性能以太网交换机芯片,负责各个端口之间的数据包转发,:
卷片背板带宽高达2Gbps,包含8个IOMIOOM自适应以太网接口,2MDRAM用于存放包缓冲区;
通过MDIO接口与PHY芯片自动检测端口的工作状态,即速率,半全双工,和连接状态。
CycloneEPlC6芯片为交换机的控制芯片,其内部使万方数据圈1交挟机硬件结构用NiosII处理器内核,主频为50Mttz。
利用SOPC技术设计一个12C总线IP核,交换机芯片与控制芯片之间通过该接口连接,完成对交换芯片的配置。
通过控制芯片可以启动各种服务程序,如串口服务器、WebServer等,以使用户很方便地通过网络或其它方式管理和控制交换机。
芯片上的JTAG接口用于在开发过程中在线监视程序运行情况,并在设计完成后,将程序写入FLASH。
RTL8308B和CycloneEPlC6芯片的核心电压分别为+33V和+5V。
因为高速线路板对电源纹波特性有较高要求,一般在芯片的电源输入端,纹波不能大于电源电压的5,因此选择较为常用的+5V电源输入,使用1个性能可靠的稳压电源模块AMSlll733V,可输出纹波很小的+33V稳定电压给交换芯片提供电源。
PulseH1164是以太网物理层隔离变压器芯片,每个芯片提供4路以太网接口,此设计中用两片H1164提供八路以太网接口,主要作用是滤波和隔离。
EEPROM是一个128B的存储器芯片,存储了交换机的各种配置信息,女IVLAN、端口优先级、端口速率等。
交换机在上电或复位时,会通过存储器接口读取EEPROM中的信息,完成交换机的基本功能设定。
另外,EEPROM也通过12C总线与控制芯片CycloneEPlC6连接,这样,控制芯片可以通过读写EEPROM中的数据实现对交换机功能的管理和控制。
2MB的FLASH是闪速存储器芯片,用于存储软件程序。
考虑至UFLASH的读写速度相对较慢,交换机上电或复位时,FLASH中的程序会自动加载到容量为4MB的SDRAM中执行,以提高运行速度。
3软件设计在硬件设计并调试完成的基础上,需要编写软件以对交换机进行管理和控制,实现AN划分、端口优先级设置等功能。
在NiosIIIDE开发环境下利用C+语言编写程序。
系统软件通过CycloneEPlC6芯片的JTAG接口写入FLASH芯片中,在交换机上电启动后,软件程序自动加载到SDRAM中运行。
交换机的软件总体结构如图2所示,采用分层结构、模块化设计的方法来构建,使整个软件结构清晰,各层之间的相互影响较小,便于测试维护。
这个层次系统组织成一个层次结构,每一层为上层服务,并作为下层客户。
这种风格支持基于可增加抽象层的设计。
这样,允许将一个复杂问题分解成一个增量步骤序列的实现。
由于每一层最多只影响两层,同时只要给相邻层提供相同的接口,允许每层用不同的方法实现,同样为软件重用提供了强大的支持。
雠触Il!
:
!
lll习J转发决策I二臌I困通信协议徽ll:
ll唧、ARPI!
巫回圉l竺I图2交换机的软件结构管理模块:
通过Pc串口与计算机相连完成交换机的配置可以将交换机配成各种工作模式,以满足不同用户的需求。
一般用来做网络协议的选择和实现,用以保证交换机快速,高效的实现数据交换。
在本设计中这一部分实现了自协商,双向模式,IOMIOOM自适应。
并选择适合的转发决策,本设计采用存储转发模式。
二层模块:
主要用来计算生成转发表的。
需要根据转发决策和MAC表,实时计算,实时更新。
以保证交换机能以快速、准确的完成数据交换。
通信协议模块:
主要包括协议驱动和协议栈。
主要实现TCPIP网络接口驱动(管理,路由等)。
驱动模块:
驱动即底层驱动。
设备驱动程序在上层软件(TCPIP协议栈和管理软件)和第三层交换硬件系统之间充当了一个”翻译者”的角色,即把来自上层软件的管理及配置命令转化为硬件系统所能识别的格式,从而更新其内部数据结构如地址表、ARPcache表等,达到控制及管理硬件交换系统的目的:
同时,设备驱动程序把底层硬件接收到的控制管理帧及收集到的各种统计信息传递给相应的上层软件处理。
嵌入式实时操作系统:
操作系统(EmbeddedOS)是为任务,同步,调度,设备控制,io驱动等应用提供服务的资源管理程序。
一般OS通过BSP将完成对硬件的直接调用。
本设计选用的操作系统是由JeanJLabrosse先生编写的开放式实时操作系统lacos-II作为开发交换机的实时操作系统。
板级支持包:
板级支持包(BoardSupportPackage,简称BSP)是介于底层硬件和上层软件之间的底层软件开发包,它主要功能为屏蔽硬件,提供操作系统的驱动及硬件驱动,具体功能包括:
单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持;
为操作系统提供设备驱动程序和系统中断服务程序;
定制操作系统的功能,为软件系