- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于单片机控制的以太网交换机设计与实现
引 言
随着计算机性能的提高及通信量的聚增,传统局域网已经越来越超出了自身负荷,交换式以太网技术应运而生,大大提高了局域网的性能。网络交换机能显著的增加带宽,可以建立地理位置相对分散的网络。局域网交换机的每个端口可并行、安全、实时传输信息,而且性能稳定、结构灵活、易于安装、便于管理,能很好地满足企业网和电信运营商宽带接入的需求。
1 网络交换机的硬件设计
随着人们对网络应用中的安全性和高带宽的需求,网络交换机的用途越来越广。本交换机采用了AL101芯片的ROX总线,将3个8*换芯片连接起来,组成了1个24端*换机,满足了用户对多交换端口的需求。
1.1 电路性能要求
交换机的高速PCB电路板,在EMC和ESD上都有比较高的要求。它采用了75MHz、50MHz的高速时钟,需要晶振的精度小于50PPM,同时时钟需要通过时钟分配电路送给不同的芯片,它需要分配的时钟之间的相位差小于2ns。
交换机有24个10/100M自适应端口,每个端口都能达到线速交换。根据用户需要可对端口进行10/100M速率、全/半双工、流量控制、静态MAC地址、镜像、VLAN等设置。
1.2 交换机的原理框图
本交换机的交换技术采用存储-转发方式,主要由接口单元、交换单元、管理单元、灯显示单元和电源接口单元五部分组成。其组成的方框图如图1所示。
RJ45接口收到以太网帧结构的数据包后,经过变压器隔离和阻抗匹配后送到PHY(物理接口芯片),在此芯片中完成模拟信号到RMII接口的数字信号的变换,并获得链路状态、冲突、信息是否超长,速率等信息。
数据进入交换芯片(由三个芯片组成,通过ROX总线形成一个环路,可以完成数据在三个芯片之间的交换),交换芯片将获得数据的目的地址和源地址,并对以太网帧进行差错校验。交换芯片将源地址保存在自己的MAC地址表中,然后将目的地址与MAC地址表中的地址相匹配,以获取数据将转发的相应端口。如果目的端口在同一个交换芯片中,则从SGRAM中取出数据转发到相应的端口;如果目的端口不在同一个交换芯片中,数据则通过ROX总线传输到相应的交换芯片,然后转发出去;如果在MAC地址表中没有找到相应的目的地址,就将帧转发到除源端口之外的其它属于同一VLAN的所有端口或者某一个上连端口(与交换芯片寄存器的设置有关)。
灯的显示由PHY给出,通过灯的显示可以观察每个端口的工作速率、连接和数据收发等情况。
交换芯片在每次开机或复位期间,首先读取外接EEPROM的内容来对交换芯片寄存器进行初始化配置。而交换芯片寄存器的内容可以通过PC的管理程序或PC的超级终端进行读写,以此来控制或读取交换机的工作配置。
2 网络交换机的软件设计
整个网络交换机系统的软件包括单片机的控制软件、EEPROM配置数据和PC机的管理程序。
单片机的控制软件主要完成对寄存器的读写和与PC之间的通信。通过这个管理单元,可以将交换机配成各种工作模式,以满足不同用户的需求。
交换芯片通过I2C总线连接EEPROM(24C02),用于保存配置数据。在设备开机或者复位时,设备将从EEPROM读出这些数据,用于系统初始化。
PC机的管理程序是用户将PC机的串口与系统设备连接,通过PC机的管理程序界面,很容易地对系统进行配置。
2.1 单片机控制的软件设计
管理单元由单片机和串口组成,通过PC来配置EEPROM或交换芯片的寄存器。单片机主要完成对寄存器的读写和与PC之间的通信,串口起到一个与PC的连接作用,微制控器与串口之间还有一个电平转换芯片,完成微控制器与PC之间信号的转换。通过管理单元,可以将交换机配成各种工作模式,以满足不同用户的需求,如:10/100M速率设置、全/半双工设置、流量控制、静态MAC地址设置,镜像设置,广播风暴控制,VLAN设置等。单片机的软件流程如图2所示。
各模块介绍如下:
main——主程序;
init_uart——串口初始化;
delay——系统延迟;
helpMenu——帮助菜单;
systemCheck——检查系统设备ID;
whict>:——命令提示符(whict是武汉化工学院的缩写);
D——查看系统的整个配置数据;
E——编辑系统的配置数据;
F——对交换机的各种功能进行配置、管理;
R——读系统的配置数据;
W——系统将当前配置数据保存到EEPROM;
L——系统静态MAC地址的配置;
M——改变系统的密码;
I——系统软件复位;
S——系统将缺省配置下载到EEPROM。
来源:维库开发网