当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]SOHO路由器的设计与实现

摘要:利用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显示判断网络的连接状态。[!--empirenews.page--]
    在图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本身是免费的,这些源代码可以直接从网上获得,只需相对应用系统的需求作必要的修改即可,因而可以大大减少开发成本。


    图3所示是SOHO路由器的软件平台体系结构。图中的这些协议基本上覆盖了所有路由器交换协议,并在管理模块方面加入通过SNMP、WEB,故可方便地对路由器进行设置。这些交换协议可基本满足SOHO路由器的网络通信要求。
    该SOHO路由器的软件平台由系统引导程序Bootloader、uCLinux内核、应用文件系统等组成。其中嵌入式系统引导程序bootloader的作用类似于PC机的BIOS的作用,但它比PC机的BIOS运行任务更多的地方是还要将内核映像从硬盘上读到RAM中,然后跳转到内核的入口点去运行,即启动操作系统。
3.1 系统引导
    系统引导程序主要执行以下三个步骤:
    首先是让PC指向复位地址入口处,即Ox200000处的Bootloader代码。由Bootloader初始化硬件设备,建立内存空间的映射图,以将系统的软硬件环境带到一个合适的状态,为最终调用操作系统内核准备好正确的环境。
    其次由Bootloader将控制权交给操作系统内核的引导程序,并在设置好uCLinux内核的启动参数后,开始uCLinux内核的加载;
    最后在uCLinux内核加载引导完成后启动init进程,以完成系统的引导过程。
3.2 对系统源码的修改
    由于Bootloader依赖于具体的嵌入式板级设备配置,所以,通常需要修改Bootloader的源程序。本例在厂方提供的Bootloader源码里,对mvFlash.h中的static unsigned int mvFlashTypes[]函数的设置进行了修改,并将FLASH的型号换成上述硬件平台中的FLASH,同时重新设置了INTEL_FLASH。其三个初始化、读、写功能模块,即对应函数为unsigned int mvFlashlnit(unsigned int flashBaseAddress,unsig-ned int flashWidth,FLASH_DEV_MODE flashMode),unsigned int mvFlashWriteBlock(unsigned int offset,unsigned int numOfByte,char*blockAddress),unsigned int mvFlashReadBlock(unsigned int offset,unsigned int numOfByte.char*blockAddress)中的循环次数和执行条件设置参数也相应进行了修改,只有使Bootloader初始化的硬件和具体设计硬件平台的器件对应起来,才能正确的驱动硬件。
3.3 uCLinux内核的编译和生成
    在uCLinux内核编译之前,首先要对内核进行配置。目录的修改一般都是在config里面进行的,可以用make menuconfig进入编译界面进行选择编译选项的配置。可根据硬件平台的构造参数将必要选项选中,并将没有必要的选项去掉。系统类型的配置应选择相应的内核然后是块设备选择和配置以及在块设备选择和配置之上的文件系统配置。一旦串口驱动和uCLinux文件系统以及应用系统等设置好,就可以完成uCL-inux内核的配置,修改好后就可以编译内核。接下去执行命令make dep,make clean,make lib_only,make user onlv,make romfs,make image.共6个步骤,最终在image目录下生成2个文件zImage和romfs,(分别为内核映象文件和文件系统的映象文件)。这就是最后要烧录到硬件平台里FLASH中的文件。这样就完成了uCLinux的移植。

4 结束语
    本文较为具体地介绍了基于嵌入式ARM9SOHO路由器的设计和实现方法,并详细阐明了它的硬件结构,重点叙述了该路由器的软件设计思路和方法(包括操作系统的移植)。当然,路由器具有很多相应的功能,都需要通过软件开发来实现,现在最新的uclinux已经是2.6内核了,可以用它实现更多网络功能。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭