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

2007-03-09 19:03:27来源: 互联网
摘要:介绍了采用Dallas公司的高速处理器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完成了本交换网板控制模块的控制功能。
编辑: 引用地址:http://www.eeworld.com.cn/designarticles/network/200703/12186.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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