基于VxWorks的T比特路由器2.5GPOS接口板设计
设计与实现 上图展示了单板软件总体结构。单板操作系统是采用VxWorks,单板处理器是采用MPC860。路由器有不同种类的线路接口板,每种接口板都需要完成许多相同的功能,可把这些相同的功能放在一个单独的模块中实现,减少冗余劳动。板级支撑模块为单板应用提供与主控软件之间的通信、任务管理、内存管理和定时器管理等服务;而单板应用为线路接口单板软件模块,完成单板转发处理。 按照这些功能,把单板软件分为初始化模块,主控命令处理模块,接口芯片监控和业务性能统计模块,消息分发模块,包发送模块,报接收模块,自检模块,CAM表维护模块,工具函数模块。正常运行时建立四个任务:主控处理任务,统计任务,发包任务,收包任务。
MPC860是基于PowerPC结构的通信控制器。它不仅是集成的微处理器,而且将很多外设的功能也集成在一起。MPC860具有存储控制器,其存储控制器的功能很强,可以支持各种存储器,包括各种新型的DRAM和Flash,并可以实现与存储器的无缝接口。
由美国风河公司(Wind River)推出的嵌入式强实时操作系统VxWorks因用于火星登陆车而名噪一时。VxWorks是一套具有微内核,高性能,可伸缩的操作系统,支持广泛的网络通信协议,并能够根据用户的需求组合,增减。再加上其优秀的开发环境Tornado,使其成了嵌入式操作系统的首选。选择MPC860加上嵌入式强实时操作系统VxWorks完全可以买足单板处理的性能需求。
单板软件主要完成的功能有:对各类型单板硬件的初始化和配置,接收并处理主控下发的单板控制命令,完成软硬件程序加载,以太网接口板运行IPv4 ARP协议,维护并向主控通告ARP信息,协议数据(源/目地址为本路由器的分组)收发,维护路由器接口地址信息,差错报文处理、记录报文上报,业务性能统计数据收集与上报,维护单板与主控板间的通信连接。
其数据处理流程如右图:单板硬件接收到本路由器包,写入输入FIFO,收包任务读出包,封装在定义的内部数据结构中,调用板级支撑模块中的发送函数发给主控;主控下发的包则由消息分发模块处理,协议包交给发包任务,再写入输出FIFO,然后发送出去,控制包则交主控处理模块处理,完成向对应的功能。
由于本接口需要达到10G的速率,各任务之间必须有稳定和高速交互机制。VxWorks操作系统为任务间通信提供了许多通信方式,包括共享内存,信号量,消息队列和管道,Sockets和远程调用等。消息队列允许长度可变,数目可变的消息队列,可以满足多任务之间通信。VxWorks的Wind内核可采用基于优先级的抢占式任务调度与轮转调度相结合,因此一定要设置好各任务的优先级,如内存任务的优先级就必须高于主控处理任务,主控处理任务必须高于收发包的任务。而对相同优先级的任务必须预先设置各任务的执行时间,否则第一个获得CPU 的任务就会独占,阻碍别的人物运行。总之,在软件设计中一定要充分了解VxWorks的工作机制,否则不但不能设计出效益高的程序,反而会阻碍VxWorks的有效运行。
4. 结束语
高速增长的网络和互联网通讯量对现有的网络基础结构提出了更高的需求,也刺激了高性能网络连接的发展。本文简要介绍了吞吐率高达1.28T比特的高性能路由器,并研究了其2.5GPOS接口的实现技术,首先可以深入对POS技术在实现和应用上的研究,其次可以丰富路由器的接口功能,增加路由器接口的灵活性,增强路由器的兼容性,以便更为广泛的利用网络资源,实现网络体系和架构的演进,为高性能路由器的研制和后续开发提供可借鉴的技术思路。
- 基于ARM7核处理器VxWorks系统BSP设计 (02-27)
- 一种嵌入式系统的内存分配方案 (03-05)
- 基于VxWorks实现自动发送彩信嵌入式设计(04-22)
- 风河增强VxWorks 653集成模块航空电子系统硬件支持(03-01)
- VxWorks下AD/DA驱动系统设计及测试(01-11)
- 如何选择ARM CPU的操作系统(05-08)