Chinaunix首页 | 论坛 | 博客
  • 博客访问: 519214
  • 博文数量: 398
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 14
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-21 16:02
个人简介

嵌入式屌丝

文章分类

全部博文(398)

文章存档

2013年(398)

我的朋友

分类: LINUX

2013-08-21 17:21:00

单片机控制的网络交换机设计与实现

作者:    文章来源:    点击数:739    更新时间:2007-3-16

摘要 介绍基于单片机控制的智能以太网交换机的研制过程,包括硬件电路、单片机软件和PC的管理程序。用户通过PC的管理程序或PC的超级终端,可实现对网络交换机的配置和管理。

关键词 单片机 以太网交换机 AL101

引言

  随着计算机性能的提高及通信量的聚增,传统局域网已经越来越超出了自身负荷,交换式以太网技术应运而生,大大提高了局域网的性能。网络交换机能显著的增加带宽,可以建立地理位置相对分散的网络。局域网交换机的每个端口可并行、安全、实时传输信息,而且性能稳定、结构灵活、易于安装、便于管理,能很好地满足企业网和电信运营商宽带接入的需求。

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所示。

按此在新窗口浏览图片
图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所示。

按此在新窗口浏览图片
图2  单片机的软件流程

  各模块介绍如下:

  main——主程序; 
  init_uart——串口初始化; 
  delay——系统延迟; 

阅读(708) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~