基于VxWorks的T比特路由器2.5G POS接口板设计与实现

发布者:快乐球球最新更新时间:2011-09-21 关键字:VxWorks  POS接口板 手机看文章 扫描二维码
随时随地手机看文章
  1. 引言

  随着IP网络的蓬勃发展、新的应用不断涌现,用户对网络带宽的要求也越来越高。运营商采用OC一192(10Gbps)接口的光纤传输大大提高了光传输网络的容量,而路由器作为网络的主要节点设备,其处理速度就成为网络通信的主要瓶颈之一。一台具有50个oc一192接口的路由器交换容量将达到T比特级,国外T比特路由器已经开始试运行,国内开发T比特路由器也迫在眉睫。本文所研制的T比特路由器,系统总吞吐率可达1.28Tbps,峰值交换能力为2.4Tbps,而每端口可达到10G的转发速率;为达到10G的转发速率,本路由器采用了4路2.5GPOS接口。

  2. 硬件总体结构设计

  本路由器硬件体系结构由线路接口子系统、转发处理子系统、光背板交换网络子系统和内部通信子系统四大部分组成。当接口收到数据包后,首先判断该包的目的地址是否为本路由器,是则上交给单板软件并由内部通信子系统交给主控处理;否则填充内部包头,注明包类型,协议类型,目的机架号,端口号,接口号等信息,由同轴电缆交给转发处理子系统,再由光背板转发到目的接口。接口把转发送过来的包和本路由器发出的包,进行和路处理后再发送出去。

  2.1 性能需求分析

  1)根据以往路由器的经验,通常硬件FPGA 中的高速通道工作在2.5Gbps速率下比较稳定。就A口输入数据速率10Gbps来说,4个2.5Gbps的高速通道就可以将数据传到转发处理模块。但是,线路接口模块的功能实现要求:数据包在经过线路接口输入处理模块的处理后要加上128 bit即16个byte的内部标签。考虑极限情况,A口收到的都是40 byte的超短包,那么,B口输出的数据的极限速率为:[10Gbps×(40 byte+16 byte)]/40 byte=14Gbps.所以,本设计采用两路2.5Gbps的高速通道来传A口接收的10Gbps数据中的四分之一即2.5Gbps数据到转发处理模块。那么,B口的最大输出速率为2.5Gbps×8=20Gbps,完全满足B口传输带宽要求。

  2)在均匀输入业务模型和平衡输出模型条件下,假定定长分组业务强度λ为0.95,为了控制分组的丢失概率小于10-8,可计算所需要的输出队列分组缓冲容量S约为650个分组。统计意义上IP分组的平均长度为508字节。考虑到内部分组标签附加的24字节,平均需要缓冲的IP分组字节数为532字节 总缓冲容量为650×532×8=2766400(Bits),即近似为2.8MBits。

  3)本子系统的接口速度要达到10Gbps,如果每个包都是40字节,那么这时极限查表速率为:

  对于输入查表模块的另一个指标为表项容量。按照极限容量来算,T比特路由器有8个机架,每个机架8个端口,每个端口8个接口,每个接口的IPv4单播组播、IPv6单播组播地址总计有64个。那么极限表项容量为8*8*8*64=32768(32k)条。达到这两个设计指标是本模块设计的一个难点。最终,我们选择了一款CAM,有64K条表项,查表速率能够达到100MSPS.这样的指标完全可以达到本模块的要求。

  2.2 子系统功能划分和模块设计

  如下图所示,4 2.5G线路接口子系统可划分为光电及串并转换模块、链路层处理模块、输出FPGA处理模块、输入FPGA处理模块、协议报文上交缓存模块、输入查表模块和时钟处理模块。为描述方便,将本子系统和路由器外部的接口称为A口,和转发处理子系统的接口称为B口,和光背板子系统的接口称为G口,和单板处理机的接口称为F口,和时钟子系统的接口称为J口。

  从路由器外部接收数据时,光电及串并转换模块负责从A口接收4路2.5Gbit/s串行光信号,转换成16路差分622Mhz电信号;送由链路层处理模块进行链路层处理。输入FPGA处理模块针对输入包的类型,对输入查表模块存储的本机IP地址表查表,进行分路处理,若此报文的目的为本路由器则上交主控,否则转发到B口。输出FPGA处理模块负责接收主控下发协议包和从系统光背板转发G口数据包,合路后交给链路层处理模块。链路层处理模块把和路后的ppp报文封装在SDH帧中,由光电及串并转换模块转换成光信号发送出去。时钟处理模块为本模块提供全局时钟和将本模块从线路上提取的时钟输出到时钟板。

  3. 软件总体结构设计与实现

  MPC860是基于PowerPC结构的通信控制器。MPC860具有存储控制器,其存储控制器的功能很强,可以支持各种存储器,包括各种新型的DRAM和Flash,并可以实现与存储器的无缝接口。

  VxWorks是一套具有微内核,高性能,可伸缩的操作系统,支持广泛的网络通信协议,并能够根据用户的需求组合,增减。再加上其优秀的开发环境Tornado,使其成了嵌入式操作系统的首选。选择MPC860加上嵌入式强实时操作系统VxWorks完全可以买足单板处理的性能需求。

  上图展示了单板软件总体结构。单板操作系统是采用VxWorks,单板处理器是采用MPC860.路由器有不同种类的线路接口板,每种接口板都需要完成许多相同的功能,可把这些相同的功能放在一个单独的模块中实现,减少冗余劳动。板级支撑模块为单板应用提供与主控软件之间的通信、任务管理、内存管理和定时器管理等服务;而单板应用为线路接口单板软件模块,完成单板转发处理。

  单板软件主要完成的功能有:对各类型单板硬件的初始化和配置,接收并处理主控下发的单板控制命令,完成软硬件程序加载,以太网接口板运行IPv4 ARP协议,维护并向主控通告ARP信息,协议数据(源/目地址为本路由器的分组)收发,维护路由器接口地址信息,差错报文处理、记录报文上报,业务性能统计数据收集与上报,维护单板与主控板间的通信连接。

  其数据处理流程如下图:单板硬件接收到本路由器包,写入输入FIFO,收包任务读出包,封装在定义的内部数据结构中,调用板级支撑模块中的发送函数发给主控;主控下发的包则由消息分发模块处理,协议包交给发包任务,再写入输出FIFO,然后发送出去,控制包则交主控处理模块处理,完成向对应的功能。

  由于本接口需要达到10G的速率,各任务之间必须有稳定和高速交互机制。VxWorks操作系统为任务间通信提供了许多通信方式,包括共享内存,信号量,消息队列和管道,Sockets和远程调用等。消息队列允许长度可变,数目可变的消息队列,可以满足多任务之间通信。而对相同优先级的任务必须预先设置各任务的执行时间,否则第一个获得CPU 的任务就会独占,阻碍别的人物运行。总之,在软件设计中一定要充分了解VxWorks的工作机制,否则不但不能设计出效益高的程序,反而会阻碍VxWorks的有效运行。

  4. 结束语

  路由器作为Internet 的核心设备,对于Internet 的性能有着重要影响。历史上,路由器体系结构的变迁体现了由通用器件向专用器件,由串行处理向并行处理,从集中式到分布式的趋势。依此可将路由器体系结构划分为4代:单处理器集中式总线结构,多处理器分布式共享总线结构,多处理器分布式交换结构,多机互连的可扩展集群结构。第一代路由器中,单一的中央处理器和总线成为系统计算能力和通信能力的瓶颈。第二代~第四代路由器体系结构逐步解决了这方面的问题:第二代体系结构提高了线卡的报文转发能力,主要贡献为将中央处理器从报文转发中解放出来;第三代体系结构中采用了交换结构代替总线,通过构造"无阻塞"的交换网络来大幅度提高交换性能;第四代体系结构目前仍在不断发展的过程中,通过某种互连方式将多个路由节点有机地结合在一起的可扩展路由器体系结构将是充满希望的发展方向。

  本文简要介绍了吞吐率高达1.28T比特的高性能路由器,并研究了其2.5GPOS接口的实现技术,首先可以深入对POS技术在实现和应用上的研究,其次可以丰富路由器的接口功能,增加路由器接口的灵活性,增强路由器的兼容性,以便更为广泛的利用网络资源,实现网络体系和架构的演进,为高性能路由器的研制和后续开发提供可借鉴的技术思路。

关键字:VxWorks  POS接口板 引用地址:基于VxWorks的T比特路由器2.5G POS接口板设计与实现

上一篇:基于CAN/LIN总线的汽车通信网络设计与实现
下一篇:基于CAN总线的汽车车身控制系统的研究

推荐阅读最新更新时间:2024-05-02 21:35

Samsung S3C2440平台上的Vxworks BSP移植
  研究基于S3C2440平台上的Vxworks BSP移植具有重要的意义。本文就BSP的概念、BSP移植过程中重点修改的几个文件、串口和网口驱动以及BSP的调试和仿真做详细的介绍。   BSP概述   VxWorks操作系统将所有硬件的功能函数分别放到一系列库中,这些库就被称为板级支持包BSP。BSP是连接VxWorks操作系统与硬件平台的一个接口软件包,在引导系统、支持系统运行过程中扮演着重要的角色,首先,通过BSP可以生成引导操作系统的bootrom;其次,引导行工程的建立基础就是BSP;最后,BSP具有与用户交互的作用,可以提供一个基础的硬件调试环境。BSP还可以使VxWorks运行于特定的硬件平台,如ARM、PPC、
[单片机]
Samsung S3C2440平台上的<font color='red'>Vxworks</font> BSP移植
VxWorks嵌入式系统中的多串口卡通信的实现
VxWorks嵌入式系统是美国Wind River公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),良好的持续发展能力、高性能的内核以及友好的用户开发环境,使其在嵌入式实时操作系统领域居于领先地位,广泛应用于现代的各种嵌入式计算机系统中,比如军事指挥系统、武器控制系统或工业控制系统中。而在这些系统中,往往不是单个计算机的控制,而是多个计算机以及其他设备组成通信网络共同完成控制作用,因此,对于每一个嵌入式计算机除了连接必需的外设之外,还需要考虑计算机之间的通信。计算机间常用的通信方式是利用串行口来实现的。本文在VxWorks多串口通信的实现过程中未采用常见的标准VxWorks虚拟设备ttyDrv驱动方式,而是在用户
[单片机]
VXWORKS内核分析
【 原文由 atree 所发表 】 1. 实时操作系统的结构 在计算的早期开发的操作系统的最原始的结构形式是一个统一的实体(monolithic)。在这样的系统中,提供的不同功能的模块,如处理器管理、内存管理、输入输出等,通常是独立的。然而他们在执行过程中并不考虑其他正在使用中的模块,各个模块都以相同的时间粒度运行。 由于现代实时环境需要许多不同的功能,以及在这样的环境中存在的并发活动所引起的异步性和非确定性,操作系统变得更加复杂。所以早期操作系统的统一结构的组织已经被更加精确的内部结构所淘汰。层次结构的起点----内核 操作系统的最好的内部结构模型是一个层次性的结构,最低层是内核。这些层次可以看成为一个倒置的金字塔,每一层都建立在
[嵌入式]
VxWorks操作系统图形模式下显卡驱动设计
作者Email: cai_yanghaochuan@sina.com 摘要:本文简要的叙述了基于VxWorks操作系统WindML基础上图形驱动开发。给今后的开发者提供参考和借鉴。 关键词:VxWorks WindML 图形 显卡 驱动程序 1 介绍 WindML即Wind Media Library(媒体库),它支持多媒体程序运行于嵌入式操作系统,风河公司设计它主要是用来提供基本的图形、视频和声频技术以及提供一个设计标准设备驱动程序框架。 WindML API库提供了一个统一的图形硬件接口以及处理输入设备和输入设备事件的能力。 WindML有以下几个设计目的: ● 简单。WindML提供一个灵活的图形
[嵌入式]
VxWorks中怎么从Flash BOOT
作者Email: jinyuhe@163.com 摘要: 本文主要介绍VxWorks系统在MPC860系列处理器的开发中怎么实现去掉BOOT Flash,直接从Flash引导VxWorks的BootRom。 关键词:BOOT Flash,Flash,BootRom 引言 美国WindRiver公司的实时嵌入式系统VxWorks和美国Motorola公司MPC860系列处理器已经广泛的应用在通信行业的通信产品中,在用VxWorks系统进行开发时,会生成两个文件,一个是BootRom文件,此文件类似Windows中的BIOS,是引导文件,完成内存初始化,内核初始化,基本硬件的初始化并最终引导VxWorks系统启动,另外一个是
[嵌入式]
PowerPC在车辆显控系统中的应用
  车辆显控系统是对车辆工作状态信息进行显示、控制,并完成人机交互的系统。车辆显控系统需要在显示文字、图形和视频的同时响应按键操作,并对车辆控制系统进行操控。这就要求系统具有实时响应、并行处理多个任务的能力。本文在以PowerPC MPC8548E为处理器的控制主板上应用实时操作系统VxWorks,实现了实时响应系统操作、显示相应信息的功能。以此主板为核心控制主板的显控系统,具有高性能、高稳定性和良好的兼容性。 1 PowerPC MPC8548及其控制主板概述   PowerPC MPC8548是Freescale公司开发的新一代PowerQUICC III系列的高性能处理器。其内部工作频率可达1.33 GHz,在该工作频率
[汽车电子]
PowerPC在车辆显控系统中的应用
VxWorks应用技巧两例
  VxWorks操作系统是一个应用比较多的实时多任务操作系统。它提供并支持多任务调度机制,用户可以将自己对事件的控制通过不同任务的协调而完成。各个任务之间通过全局变量、信号量、管道等方式进行信息交换。Wind ML是VxWorks上的一个二维图形用户界面,当多个任务都需要作画图工作时,可能出现当一个任务在正在作图时,被另一个作图任务打断,从而出现意想不到得情况。本文将介绍在VxWorks操作系统中,编写应用程序时的两个技巧。一个是内存变量保护;另一个是间的画图保护。 1 全局变量的保护   各个任务之间通过全局变量交换信息时,如果其中某一任务在引用同一个全局变量期间,该变量在另一任务中被重新赋值,那么就可能发生一些意想不到的
[嵌入式]
基于VxWorks的产品映象设计
摘 要: 本文分析了VxWorks的映象特点,设计了几种VxWorks下产品映象的构造方案,并指出了这些构造设计的应用场合。 关键词: VxWorks;映象;启动代码 VxWorks是目前占垄断地位的实时操作系统,在许多领域获得广泛应用,但其产品映象设计却一直是令设计工程师头疼的问题。本文在实践验证的基础上,讨论了基于VxWorks操作系统上的产品映象设计技术,具有很强的实用性。 VxWorks的映象分析 VxWorks映象内容包括:代码段(Text segment)、数据段(Data Segment)和符号起始块段(BSS Segment)。其中,代码段指可执行的指令集合;数据段指已经初始化的全局和静态变量
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved