微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > SOHO路由器的设计与实现

SOHO路由器的设计与实现

时间:08-17 来源:互联网 点击:

摘要:利用ucLinux对网络技术的支持,提出了一种利用ucLinux来构建基于ARM9 CPU的SOHO路由器的设计思想。该方案的硬件平台核心采用美国MARVELL公司生产的88E6218微处理器芯片。文中详细描述了SOHO路由器的软、硬件设计结构及设计流程。
关键词:SOHO路由器;ucLinux;ARM9;以太网

O 引言
作为互联网的核心设备,路由器市场也越来越广阔。网络向家庭和办公室的不断普及,带动了小型路由器(即SOHO路由器)的需求。现在,市场上已经出现了大量面向SOHO的网络通信产品。其中ARM9系列微处理器以性能优越、价格低廉且技术成熟而成为目前路由器配置的首选。本文以ARM9核心芯片结合uclinux操作系统开发模式,详细介绍了一种SOHO路由器的设计和技术实现过程。

1 SOH0路由器设计思路
路南器是一种嵌入式设备,它离不开硬件设备和软件系统的支持,对其开发一般可以理解成三层模型:硬件设备、操作系统以及运行操作系统之上的应用程序。硬件设备主要由微处理器和围绕微处理器芯片的元件电路组成,它是设备功能实现的硬件基础;中间层就是操作系统,它可连接硬件部分和应用程序,操作系统既要完成对底层硬件的基本操作,又应为应用程序提供运行环境支持;操作系统之上就是应用程序,是负责实现针对性应用的程序代码,对应于路由器的网络架构和通信协议等功能模块。

2 硬件实现
SOH0路由器的硬件结构如图1所示。图中的核心是一颗美国MARVELL公司生产的88E6218高性能16/32位微处理器。该芯片是专门为SOHO路由器和以太网交换机而设计的,相对于目前市场上的网络通信处理器。88E6218具有性能高、成本低等优点。此外,该处理器还带有DSP指令扩展的ARM946E高性能CPU核,其工作频率达133/150 MHz,采用16/32位RISC体系,带有8 KB指令CACHE、8 KB数据CACHE和8 KB数据RAM,可支持uclinux和Vxwork操作系统内存管理,而且内置32位ARM指令系统和16位指令集。

88E6218具有集成的以太网接口和交换功能,它内部带有一个UNIMAC结构,可以实现基于QOS机制的快速以太网交换功能。其结构框图如图2所示。88E6218芯片具有5个支持IEEE802.3的自适应以太网接口和MAC地址端口,其中包括4个10/100BASE-TX的LAN端口和1个10/100BA-SE-TX或者100BASE-FX可选择模式的WAN端口。这些端口可支持802模式的各种路由的网络协议,也支持10/100 Mbps二种传输速率以及全/半双工传输功能。每个端口都有CRC效验、判断、转移功能,并具有片上数据包缓冲存储器,且符合IEEE 802.3ab,802.3x,802.p,802.-1Q标准的管理功能。此外,该器件还具有IEEE 802.1p流量优先权序列能力,可提供IEEE 802.1Q VALN功能且能够无阻塞交换。


88E6218芯片内的外围功能模块包括SDRAM/FLASH的控制器、JTAG接口、可编程通用I/O口、UART串口接口、中断控制器、存储控制器与及电源调整引脚等。另外,88E6218还有一个重要特点就是提供有PHY LED灯的控制器,可以用来指示端口收发器是否连接、接收、发送、全双工等各种工作状态,以通过LED显示判断网络的连接状态。
在图1所示的SOHO路由器中,其核心处理器就选用88E6218。该芯片提供了4个LNA口,可连接到10/100M以太网,另一个WAN口连接到广域网,各端口之间有交换功能。根据操作系统的存储和运行需要,芯片还设置了SDRAM存储器和FLASH存储器,SDRAM存储器由一片4×2 Mxl6 B的HY57V281620组成,是操作系统、应用程序运行和一些数据缓存的空间。FLASH存储器由一片512Kx8BIT的AM29LV040B组成,用于存放启动程序二进制的B00TLEADER文件、操作系统以及应用程序。20针的ARM JTAG口用于调试程序和烧写FLASH。RS232接口用于提供配置管理功能和反映信息运行情况。时钟电路由一个25 MHz的晶振和滤波电容组成,RESERT电路由一块DSl708TESA芯片加一个手动按扭组成低电平复位。电源电路的输入为5 V,通过DC变压后,可在电源调整引脚偏压下提供1.5 V、1.25 V、2.5V、3.3 V电压给处理芯片,以供芯片顺利工作。此外,电路中还有大量的滤波和稳压电容。为了让使用者能清楚路由器工作状态,系统连接了LED指示灯,可通过LED来判断SOH0路由器的连接状态和工作状态。

3 软件设计
SOH0路由器的软件结构如图3所示。本硬件平台以不含MMU (内存管理单元)的88E6218处理器为核心,因此,整个软件的开发可采用不带MMU的ARM微处理器的嵌入式操作系统uclinux为平台。uclinux是专门针对没有MMU单元的微处理器而设计的,它在标准linux基础上去除了MMU支持,并进行了适当紧缩、裁减和优化,再加上CGI(图形用户界面),因而可实现TCP/IP协议以及众多网络协议和路由交换功能,可满足SOHO路由器网络通信功能要求。UClinux采用romfs文件格式,它比Linux的ext3文件格式需要的空间更小,其代码加起来不超过900KB,可放
在ROM、RAM、FLASH中启动。由于uclinux本身是免费的,这些源代码可以直接从网上获得,只需相对应用系统的需求作必要的修改即可,因而可以大大减少开发成本。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top