APP下载

多种以太网交换机仿真教学系统的硬件设计与实现

2010-07-17杨素萍张远峰

食品科学技术学报 2010年2期
关键词:教学系统交换机端口

杨素萍, 张远峰

(北京工商大学 计算机与信息工程学院, 北京 100048)

计算机网络课程紧随时代脉搏跳动而不断演进,具有实践性、交叉性、复杂性强等特点,目前已经成为国内外高等院校IT专业的本科生和研究生广泛开设的课程[1].

从教学目的来说,可将计算机网络实验分为三类:验证性实验、实践性实验和探索性实验[1]. 其中实践性实验主要目的是帮助学生提高计算机网络应用和维护的技能,同时有助于他们深入理解网络原理,为服务社会做好准备. 这类实验最好在真实网络环境下由学生实际操作完成,如配置和维护各种网络设备和应用服务器[1]. 为培养专业型技术和管理人才,针对某高校的以太网交换机这一网络设备的教学需求设计了一款多种交换机仿真教学系统,下面简称为教学系统. 该教学系统采用软硬件结合的形式,软件应用层实现教学系统的人机界面并提供灵活的教学实验,而硬件支持平台则为软件应用层提供物理层支持、硬件相关实验及必需的通信接口.

1 以太网交换机教学系统的特点及创新意义

该教学系统是一款自主设计的八口自适应交换机设备(10 M/100 MHz),其特点及创新意义如下:

1) 该教学系统最大的特点之一是能仿真若干典型品牌交换机的配置命令和配置方法,如选取思科、H3C、华为等品牌的若干型号产品为仿真对象,这是目前市面上的交换机所不具有的功能[2-4],也是交换机仿真教学系统的设计出发点所在,具有一定的创新意义.

2) 自主研发,可以设计尽可能多的教学实验,且可以自如安排实验内容,如可以灵活地设置入口/出口流量控制,让使用者更深刻地了解交换机的工作原理.

3) 该教学系统可以提供命令行方式及Web方式配置,远程网管,设置端口的工作模式,QoS(quality of service,服务质量),定义VLAN(virtual local access network,虚拟局域网)等功能[5],其创新意义还在于可以自由地摘除和重装特定功能. 如启用或禁止广播风暴控制,启用或禁用某些端口的发送或接收数据包功能等,具有很高的灵活性.

4) 能提供交换机的配置界面和实际硬件连接,即能构建真实的网络环境,提供若干网口资源,具备标准快速以太网交换机所拥有的功能,如设置端口工作模式、VLAN划分等[5].

图2 RTL8309SC的结构示意Fig.2 Block diagram of RTL8309SC

2 硬件设计及实现

该教学系统的软件应用层在亿阳网警的SJW13网络密码机上运行,这是考虑到路由器和防火墙实验的开发需求而特意选择的一款设备,在该教学系统中仅作一台专用小型计算机使用. 研究主要对硬件支持平台的设计和实现进行论述.

2.1 教学系统的硬件功能模块分解

经过分析比较几种主流交换机硬件体系结构,研究决定采用MCU+ASIC作为教学系统硬件支持平台的体系结构. 使用ASIC(application specific intergrated circuits,专用集成电路)专用芯片高速处理各种传统的业务,满足对交换机处理性能和教学系统硬件实验的需求;而使用MCU(micro controller unit,微处理器单元)可实现对教学系统的管理和与软件层的通信等功能. 因此,这是一种开发周期适中、开发成本符合项目预算且便捷的方式.

根据确定的硬件体系结构,设计的教学系统硬件结构示意如图1.

图1 教学系统总体硬件结构示意Fig.1    Hardware structure diagram of the whole teaching system

2.2 教学系统的主控器件选型

经过调研,综合考虑以太网交换机教学系统对背板带宽、网口资源及交换机的若干特性要求,同时考虑了芯片市场供需条件和成本因素,最后选择了Realtek公司的一款集MAC(media access control,介质访问控制)和PHY(physical layer,物理层)于一体、低功耗的ASIC RTL8309SC作为该教学系统的交换核心,选择了MSP430F149单片机为MCU.

根据RTL8309SC和 MSP430F149的特点,下面对各个模块间的接口进行设计.

2.3 内部通信相关接口的设计

在进行接口设计之前,有必要介绍一下交换机工作原理.

1)交换机工作原理

RTL8309SC的内部结构示意如图2. 网路上的以太网数据帧从RJ45进来后,帧进来的端口被称为源端口,经过物理通道(包括A/D转换电路,编码/解码器,加扰/解扰器等)的处理,以并行bit形式进入MAC,在进行地址查表搜寻、优先级队列机制等控制操作后,该数据帧被转发至其对应目的端口,经过该端口的物理通道的反向处理后传送到RJ45,最后以符合一定标准的模拟信号形式在网络上传输.

2)I2C接口、SMI接口及串行接口的设计

在本设计中,采取了EEPROM和Strapping Pins结合的初始化配置方式. 通过跳线组对Strapping Pins配置的方式可以方便地通过一个或多个管脚组合的不同设置来达到直观的教学效果.

EEPROM AT24C02B用以存储教学系统的出厂配置数据,在上电复位后,RTL8309SC自动搜索AT24C02B并从其下载配置数据,完成初始化操作. 另外添加一片EEPROM AT24C02A,这是为了在学生进行不同的实验内容时,不仅可以实时地改变教学系统的功能配置(通过SMI接口来实现,SMI:串行管理接口,serial management interface),还可以通过“是否恢复为上次保存的配置”命令使教学系统的初始化配置修改为用户最后一次保存过的配置. 对AT24C02A的读写是使用MSP430F149实现的,但该单片机不支持I2C接口,因此使用单片机的普通I/O P4.1和P4.0与SCL/SDA连接,见图3,再编写一个驱动文件就实现了与AT24C02A的通信.

硬件支持平台与软件层之间的通信接口采用标准的RS232串行通信接口. RS232串行口为9针异步串行通信接口,用于接收来自软件层的指令(用户在人机界面输入的命令经过了软件层的解析和转换),并把单片机执行的结果发送给软件层.

2.4 外部相关接口的设计

1)10 M/100 Mbps网口的实现

选用的RTL8309SC支持8个10 M/100 Mbps网口,由产品直观性和设计易行性考虑,定制四组内置网络隔离变压器带LED的双层RJ45 71F-1201GYD2NL作为本系统的网络接口. 该RJ45座符合RTL8309SC的阻抗匹配要求. 经笔者的多次实验证明,该产品能良好代替RTL8309SC的分立网络隔离变压器设计方式,相比之下减少了PCB布线,降低了出错率,提高了系统的抗干扰性和可靠性.

为了让学生实时掌握每个网口的工作状态,设计三组LED以显示端口的速度、Duplex/Collision(双工/冲突)、Link/ACT(链接/通信)多组合的状态.

2)JTAG接口

JTAG接口(joint test action group,一种国际标准测试协议)用以下载在IAR Embedded Workbench软件开发集成环境里编译好的驱动代码,还可用以升级固件.

以上各个接口之间的连接关系见图3.

图3 教学系统的硬件设计示意Fig.3 Hardware design sketch map of the teaching system

2.5 电源的设计及实现

以太网交换机教学系统的电源供给有三组:数字1.8 V(D1V8),模拟1.8 V(A1V8)和数字3.3 V(D3V3). 其中,D1V8提供RTL8309SC的核电压,A1V8提供网口部分的电源供给,而I2C总线接口及SMI接口加上控制模块,均由D3V3提供. 设计采取3组电源独立供电设计,每组电源均达到了电平匹配、驱动负载能力、稳定性和可靠性等性能指标的要求.

2.6 时钟和复位电路的设计

交换模块的时钟信号由25 M晶振组成的时钟电路提供. MSP430F149的时钟信号使用8 M晶振信号来提供更高的波特率. 复位信号为低电平有效,参考设计电路不再详述.

供电运输中,电力电缆是最为重要的一个保证。一旦电力电缆出现了运行故障,会给社会带来巨大的影响和损失,尤其是给电力企业带来极其严重的后果[1]。因此,加强日常电力电缆的运行故障分析,对维护社会正常运转是有重要的现实意义的。本文对10kV及以上电力电缆运行故障的原因进行分析。

系统的硬件原理图和PCB图的设计在Protel DXP2004上进行.

3 驱动设计

分析功能需求及硬件的特点后,采用结构化程序设计思想对驱动程序进行设计,开发语言使用C语言. 主程序的流程图如图4,LPM0为低功耗模式0[7],在进入中断后自动退出,详见芯片文档.

图4 主程序流程图设计Fig.4 Design of main program flow chart

串口通信采取接收中断方式,中断处理程序的流程图见图5.

图5 中断处理程序流程图设计Fig.5 Design of interrupt service routine flow chart

命令处理程序的主体结构为一个Switch语句,当满足某个条件时即调用对应的功能函数,从而实现该功能函数所定义的功能. 每个功能函数对若干16位内部寄存器进行设置以实现所需功能,并且及时保存修改后的配置,在程序结束前均返回执行结果给软件层.

功能函数主要有:

1) 函数原型:void CallLastS(void),功能是恢复为最后一次保存的配置.

2) 函数原型:Set-Port( ),设置端口工作模式,包括端口速度、双工/半双工、自协商能力等工作参数.

3) 函数原型:Show-Port( ),显示网口工作状态,即显示某个网口的速度、Link/Act、Duplex/Collision.

4) 函数原型:Do-VLAN( ),VLAN实验,主要包括新建VLAN、划分VLAN、删除VLAN、Enable/Disable VLAN等.

4 典型用法

该交换机仿真教学系统用于以太网交换机的实践教学,在教学实验中的典型应用可分为单机实验和小型局域网搭建实验两种类型. 单机实验即平均一个学生配一台教学系统,一台PC及双绞线等器材,可在多种以太网交换机仿真用户界面上进行IP地址设置,灵活设置端口工作模式等,并可从LED上观察设置前后的状态变化;搭建局域网实验既可在一台教学系统上进行,也可通过级联方式进行网络扩容,需要两台以上PC. 实验内容如任意划分VLAN,本设计中的以太网交换机教学系统可支持9个VLAN,还有Trunk汇聚链路实验等.

5 结束语

本文设计的以太网交换机仿真教学系统硬件支持平台不仅给整个系统的上层应用提供了稳定性高的硬件基础,实验必需的底层工作参数及标准的通信接口,而且以相对经济实惠的价格设计了尽可能多的教学实验.

多种以太网交换机仿真教学系统紧扣网络设备教学实践要求,提供了多种以太网交换机的仿真配置界面和方法,为高校计算机网络实验室的以太网交换机教学搭建了一个理论学习与实际操作紧密结合的实验平台,实现了较高的性价比,具有很强的应用意义和推广价值.

猜你喜欢

教学系统交换机端口
基于Unity的计算机硬件组装仿真教学系统设计
一种端口故障的解决方案
基于移动学习理念的智慧教学系统
修复损坏的交换机NOS
端口阻塞与优先级
使用链路聚合进行交换机互联
基于交互式双板教学系统的高中地理教学研究
汽车配件营销实践教学系统开发
8端口IO-Link参考设计套件加快开发速度
PoE交换机雷击浪涌防护设计