当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]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内核了,可以用它实现更多网络功能。

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

柏林2024年6月11日 /美通社/ -- 据德国汽车行业协会(VDA)的最新消息,去年德国生产了127万量电动汽车(BEV和PHEV),其中95.5万辆是纯电动汽车。这使得德国成为欧洲生产电动汽车最多的国家。预计今年德...

关键字: 电动汽车 BSP 纯电动汽车 AI

作者 Mohamad Ali| IBM咨询首席运营官 北京2024年5月24日 /美通社/ -- 生成式AI的兴起几乎在所有面向上给业务带来改变。根据 IBM 商业价值研究院最新的年度 CEO 研究,近60%...

关键字: IBM AI BSP 模型

华为终端今日官宣,截至 2024 年第一季度,华为路由器产品发货量突破 1 亿台。

关键字: 华为 路由器

台北2024年5月21日 /美通社/ -- 提供针对AMD WRX90和TRX50主板优化的DDR5 OC R-DIMM 提供容量128GB(16GBx8)到768GB(96GBx8),速度5600MHz到8...

关键字: AMD 内存 BSP GB

上海2024年5月20日 /美通社/ -- 2024年5月16日,世界知名的生命科学公司 Eppendorf 集团于第二十三届生物制品年会上成功举办了"疫路超越 推流出新"的产品发布会,正式推出大规模...

关键字: RF PEN BSP IMAC

北京2024年5月20日 /美通社/ -- 过去五年里,支付和收款方式日新月异,其发展和变化比过去五十年都要迅猛。从嵌入式数字商务的出现,到"一拍即付"的...

关键字: VI BSP PAY COM

华钦科技集团(纳斯达克代码: CLPS ,以下简称"华钦科技"或"集团")近日宣布致敬 IBM 大型机 60 载辉煌历程,并将继续实施集团大型机人才培养计划。

关键字: IBM BSP 研发中心 PS

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP

贝克曼库尔特目前已成为MeMed Key免疫分析平台和MeMed BV检测技术的授权经销商 在原有合作的基础上,继续开发适用于贝克曼库尔特免疫分析仪的MeMed BV检测 加州布瑞亚和以色列海法2024年5月16日...

关键字: BSP IO 检测技术 免疫分析仪
关闭
关闭