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路由器的连接状态和工作状态。