【基于DS80C320的路由器交换网板控制模块的设计与实现】交换网板

基于DS80C320的路由器交换网板控制模块的设计与实现

基于DS80C320的路由器交换网板控制模块的设计与实现 关键词:高速路由器 交换网板控制模块 DS80C320 近几年来,随着Internet规模的进一步扩大,对高性能、宽带接入的IP路器 的需求急剧增加。路由器的主要功能是数据包的转发,该功能由交换芯片来实现。

因此,需要有一个处理器来实现对交换芯片数据包转发功能的控制,同时控制交 换网板与主控机的通信,笔者采用DS80C320处理器。本系统的技术核心是如何 利用EPLD产生的控制信号实现DS80C320与主控板间的通信和DS80C320对交换 芯片的控制。

1 高速路由器的基本结构 高速器由器主要由主控板、交换网板和线路接口板等组成。主控板是路由 器的控制核心,完成整个路由器的管理和控制,直接接收网管中心的指令。交换 网板在路由器中完成高速数据交换,它由交换模块和控制模块组成。交换模块包 括两片交换芯片,完成数据包转发功能;
控制模块是交换网板的控制核心,实现 对网板内各功能模块的状态检测和控制,保证交换芯片转发数据包的正常工作。

控制模块与路由器的主控板通过HSCX(串行通信控制器)进行通信,完成主控 板对交换网板功能请求的应答处理,还可以通过RS232串口与PC机进行通信,完 成交换网板的功能调试。

2 控制模块的硬件结构 本系统的路由器交换网板控制模块主要由DS80C320处理器和一些外围器 件组成,这些外围器件包括EPLD、FLASH、外部RAM和HSCX通道。控制模块 的硬件结构如图1所中虚线框部分所示。

2.1 DS80C320的特点 DS80C320属于Dallas公司的高速处理器系列。采用该芯片完成交换网板的 控制功能,主要是DS80C320有以下几个特点:(1)具有新型高速结构,最大晶 振频率33MHz,机器周期为4个时期周期(普通MCS-51系列单片机的机器周期为 12个时钟周期),从而使每条8051指令的执行速度在相同的晶振下快了3倍。(2) DS80C320与51系列单片机完全兼容,并要用标准的8051指令集,给设计与开发 带来了方便。(3)可以通过改变MOVX指针的执行时间来访问速度不同的RAM和其他外部器件。

DS80C320提供16位地址线,可寻址64KB的数据空间和程序空间。由于 DS80C320内不含片内ROM,所以程序代码是存储在FLASH中的。虽然目前系统 的软件不到60KB,但考虑到系统升级需要程序的扩展,选用了128KB的FLASH 空间,需要17位地址线。这样就产生处理器的寻址能力不足的问题,采用EPLD 内部的20H寄存器来产生FLASH的第14、15、16位地址及片选信号和读写信号。

128KB的FLASH空间分成了2页,每页有64KB,第16位地址线决定FLASH空间的 页号,DS80C320通过这种方式访问FLASH的128KB空间。

2.2 EPLD功能描述 本系统的EPLD采用ALTERA公司的EPM7512,该芯片属于MAX7000系列。

除了2.1中的寻址扩展功能外,EPLD还用作处理器与其外围电路控制信号的接口。

由于本系统的控制信号比较多,若采用普通的逻辑门电路则整个系统的连线会非 常复杂,功耗也会增加。所以采用EPLD来产生DS80C320与交换芯片、FLASH 和HSCX之间的控制信号和地址信号。EPLD与处理器的接口主要实现了低位地 址的锁存和一些器件的片选信号。CP_DATA[0:7]是地址和数据复用的信号,锁 存后输出低位地址LOW_CP_ADD[0:7]。EPLD对HSCX通道的控制信号包括使能 信号ENABLE_HSCX、复位信号RESET_HSCX、数据发送控制信号 TXD_ENABLE等。EPLD对交换芯片的控制信号包括读信号READ_OCM、 WRITE_OCM、OCM操作类型选择信号EMB_MODE_OUT等。

2.3 DS80C320与HSCX间的通信 本系统的HSCX采SIEMENS公司的SAB82525,该芯片提供两个全双工的 高级链路控制(HDLC)通道,它的最高传输速率可达到4M bit/s。它用于主控板 与交换网板间的数据通信,包括主控板发送、交换网板接收的功能请求,交换网 板发送、主控板接收的应答及上报。由EPLD提供HSCX的数据线、地址线、使 有信号和读写信号线。DS80C320对SAB82525的控制是通过读写SAB82525的内 部寄存器来实现的;
与HSCX之间的数据传送采用中断方式。当SAB82525满足产 品中断的条件(如接收到数据帧)时,它向处理器发出中断请求,处理器读取中 断寄存器ISTA、EXIR确定中断发生的原因并做出相应的处理。

3 基于DS80C320的控制模块对交换芯片的控制采用的交换芯片PRS28G属于IBM公司的第二代高性能包路由交换产品。

其端口速率达到OC48(2.5Gbps)并具有很好的扩展性,可通过速率扩展或者端 口扩展构造出更大容量的交换网络,是数据帧和信元交换系统的理想解决方案。

交换芯片内部包含一个状态寄存器、32个应用寄存器及一个OCM接口。OCM 接口是串行接口,用于处理器编程应用寄存器或是读取状态寄存器内容。交换芯 片与DS80C320之间的通信和控制是通过EPLD内的OCM控制接口完成的。处理 器并行读写EPLD。而OCM与EPLD的接口是串行的,串行转换是通过在EPLD内 设置特定寄存器空间来完成的。处理器与交换芯片之间的数据传输过程是:处理 器向EPLD特定寄存器写数据,数据通过EPLD输出EMB_DATA_IN串行信号,写 入OCM指令寄存器,再根据OCM的指令集定义,决定其操作,包括读/写应用寄 存器、读取状态寄存器、交换芯片复位等。每次操作的结果存储在响应寄存器中, 在处理器控制下通过EMB_DATA_OUT信号移入EPLD特定地址空间,供处理器 读取。

4 系统的软件构成 此系统的软件是由主函数及其调用的子函数和三个中断程序组成。

4.1 主函数(包括它调用的子函数) 主函数首先检测交换网板上的各种设备,初始化整个系统,然后开始一个 主循环,在系统上电状态下程序总在这个循环中进行。在没有中断或复位请求的 情况下,循环检测各功能模块的执行标志位,当标志位有效时,执行相应的功能 模块。

主函数的概要流程如图2所示。

4.2 中断处理程序 三个中断处理程序分别是:
(1)定时器中断处理程序,完成周期性功能模块标志位的产生。

(2)外部中断1,完成来自HSCX的数据接收、存储及应答数据的发送功 能。(3)串口中断,实现串口数据的接收、存储及应答数据的发送功能。

5 实验结果与讨论 为检测系统是否能够稳定地运行,在软件中设计了FUNC_TEST子函数。

孩子函数负责向交换芯片的每个端口发送14个数据包,其中数据域的内容为随机 值,这些数据在交换芯片内部循环,形成一定的负载流量,模拟路由器的实际工 作环境。经检没,整个系统工作稳定。处理器DS80C320完成了本交换网板控制 模块的控制功能。