kaiyun官方注册
您所在的位置: 首页> 其他> 业界动态> 基于DS80C320的路由器交换网板控制模块的设计与实现

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

2008-12-15
作者:王琳琳 杨兆选 张 涛 刘玉印

摘 要:介绍了采用Dallas公司的高速处理器DS80C320设计和实现的路由器交换网板" title="网板">网板控制模块" title="控制模块">控制模块,给出了控制模块的硬件结构图,并阐明了控制模块对交换芯片" title="交换芯片">交换芯片的控制功能。

关键词:高速路由器 交换网板控制模块 DS80C320

  近几年来,随着Internet规模的进一步扩大,对高性能、宽带接入的IP路由器的需求急剧增加。路由器的主要功能是数据包的转发,该功能由交换芯片来实现。因此,需要有一个处理器来实现对交换芯片数据包转发功能的控制,同时控制交换网板与主控板" title="主控板">主控板的通信,笔者采用DS80C320处理器。本系统的技术核心是如何利用EPLD产生的控制信号" title="控制信号">控制信号实现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完成了本交换网板控制模块的控制功能。

参考文献

1 High-Speed Microcontroller Data Book. Dallas semiconductor,1995

2 李朝青.单片机原理及接口技术. 北京:北京航空航天大学出版社,1999.6

3 张 涛.一种高速路由器交换控制.代码的分析和优化.天津大学硕士学位论文. 2001
本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306116;邮箱:aet@chinaaet.com。
Baidu
map