当前位置:首页 > 通信技术 > 通信技术
[导读] 描述了一种无内部互锁的信息平推流式的32位嵌入式微处理器下,嵌入式Linux操作系统环境的家庭网关的体系结构。通过这种构架的实现和二次开发相应的驱动程序、应用程序和管理接口并结合无线通信技术实现家庭网关,使家

 描述了一种无内部互锁的信息平推流式的32位嵌入式微处理器下,嵌入式Linux操作系统环境的家庭网关的体系结构。通过这种构架的实现和二次开发相应的驱动程序、应用程序和管理接口并结合无线通信技术实现家庭网关,使家庭网关具备支持非对称数字用户环路、无源光网络、以太网数据通过同轴电缆传输等接入方式的上行接口,并提供网络电话、互联网协议电视、个人计算机、通用串行总线接口、通用异步接收/发送装置等下行接口和无线相容性认证的无线信号。家庭网关可以通过万维网浏览器、基于简单网络管理协议的管理方式和命令行界面等多种方式灵活的进行信息交互、配置、更新及远程控制管理。

随着以高速、融合、精品为特征的大宽带时代的全面到来,高宽带传输、全方位融合、多业务综合将是家庭网络及业务应用的发展趋势。预计未来的10年中,国内家庭网关的市场容量将在200亿元以上。尽管国内已有少数文献[5]描述了以无内部互锁的信息平推流式的微处理(Microprocessorwithoutinter-lockedpipedstages,缩写为MIPS)核的32位嵌入式微处理器作为硬件平台,开发家庭网关,并取得了较好的研究成就,但距离工业应用还有一定时差。结合无线通信技术,通过移植嵌入式Linux操作系统,在此基础上开发相应的驱动程序、应用程序和管理接口来实现家庭网关。家庭网关具备上行接口,支持非对称数字用户环路(AsymmetricDigitalSubscriberLine,缩写为ADSL)、无源光网络(PassiveOpticalNetwork,缩写为PON,)、以太网数据通过同轴电缆传输(EthernetoverCoax,缩写为EOC)等接入方式,提供网络电话(VoiceoverInternetProtocol,缩写为VOIP)、互联网协议电视(InternetProtocolTelevision,缩写为IPTV)、个人计算机(PersonalComputer,缩写为PC)、通用串行总线接口(UniversalSerialBUS,缩写为USB)、通用异步接收/发送装置(UniversalAsynchronousReceiver/Transmitter,缩写为UART)等下行接口,通过高速外围元件接口(PeripheralComponentInterfaceExpress,缩写为PCIE)与无线相容性认证(WirelessFidelity,缩写为WiFi)模块相连提供WiFi无线信号。家庭网关能够灵活添加应用程序、接口模块,远程管理家庭网络的智能终端设备实现业务的分发和配置管理控制。

1 硬件系统

1.1系统结构

家庭网关的硬件系统结构如图1所示,以32位的嵌入式MIPS微处理器芯片为核心,由外存储器闪存(FLASH)、双倍速率同步动态随机存储器(DoubleDateRate,缩写为DDR,)、WiFi模块、VOIP模块、网络交换模块、USB存储模块、发光二极管(LightE-mittingDiode,缩写为LED)模块、串口模块、电源模块等构成。

1.2系统功能与实现

家庭网关可以采用多种控制方式灵活方便地与用户进行交流[6]。外存储器暂存数据,再传递到微控制单元(MicroControlU-nit,缩写为MCU)中。闪存通过串行外设接口(SerialPeripheralInterface,缩写为SPI)总线与MCU 相连,DDR通过介质无关接口(MediumIndependentInterface,缩写为MII)与MCU 相连。WiFi模块通过PCIE接口与MCU 相连,提供2.4GHz的无线信号。VOIP模块通过MII接口与MCU 相连,其下端口联接普通电话机,可以通过电话机查询、设置家庭网关中VOIP口的网络状态。网络交换模块包括上联接口和下联接口。微处理器内部集成了一个交换引擎,提供五个符合802.3协议的10/100Mbps快速以太网MAC/PHY接口,可作为系统的上联端口和下联端口。上联端口为下行提供数据信号,下联端口可以连接IPTV、PC等设备,并能够自由组网配置成VLAN。USB 存储模块用于存储家庭网关的配置信息。

LED模块显示系统状态,由MCU 的通用输入/输出(GeneralPurposeInputOutput,缩写为GPIO)口控制,LED的不同状态表示系统的不同状态。串口模块结合超级终端实现实时打印家庭网关的运行状态信息,并可以设置家庭网关的配置信息,如环境变量、内存信息、相关版本信息等,也可以更新嵌入式家庭网关的文件系统、镜像文件等。电源模块为整个系统提供电源。

2 软件系统

家庭网关的软件系统结构如图2所示,主要分为3个层次:Linux内核包括进程管理、文件管理、内存管理、中断和中断处理、系统初始化等;硬件驱动层包括WiFi、VOIP模块、串口、以太网、LED 等的驱动;应用程序层通过内核的调用,实现相应的应用服务,如串口通信程序、Web方式访问等。

硬件驱动层主要是提供操作系统和应用程序所需的驱动[7]。该层主要由板级初始化程序、与系统软件相关的驱动、与应用软件相关的驱动等3种类型的程序组成。板级初始化程序即引导加载程BootLoader,用来完成整个系统的加载启动任务。在该系统中选择U-Boot作为引导加载程序。系统上电后,U-Boot程序初始化系统的硬件环境,如:嵌入式微处理器、中断控制器、存储器、直接内存存取(DirectMemoryAccess,缩写为DMA)和定时器的初始化。将系统的软硬件环境带到一个合适的状态,以便为后续调用操作系统做好准备。与系统软件相关的驱动是操作系统和中间件等系统软件必备的驱动程序,具体开发按照系统软件的不同需求进行。操作系统内核所需的硬件支持一般都已集成到嵌入式微处理器里了,因此开发人员只需在操作系统厂商提供的内核驱动的基础上编写相关驱动程序如:以太网驱动、串口驱动、外存驱动等驱动程序。与应用软件相关的驱动不一定需要与操作系统连接,这些驱动的设计和开发由实际应用决定。

Linux操作系统移植主要包括BootLoader的编写和移植、Linux内核移植与配置以及Linux文件系统移植与配置[8]。

2.1U-Boot移植

该家庭网关系统的BootLoader采用U-Boot。在U-Boot/Board目录下添加家庭网关开发板的配置文件,修改U-Boot目录下的Makefile文件,包括设置编译环境和建立编译配置项。确认默认的交叉编译器与本机的交叉编译器是否一致,若不一致则需要对编译环境进行重新设置,宿主机的交叉编译器为gcc。建立编译配置项,在Makefile文件中添加编译语句,如:

gw_config:unconfig

@ >include/config.h

@echo"#defineCONFIG_mipgw1"烅include/config.h

@./mkconfig-agw mipsmipsgw mipgw mipgw

在U-boot/Board/gw目录下添加Makefile文件,建立文件之间的依赖关系。如:

OBJS=$(BOARD).oflash.o../common/mipgw_pci.o ../common/mipgw_flash.o ../common/

mipgw_s26_phy.o

通过引用变量来指定目标文件,以便于适用于该模块的不同版本的开发,也是该系统的一个特点。在U-Boot/CPU/MIPS的目录下添加存放内存控制器的配置文件。

在U-Boot/Board路径里添加初始化MCU 的USB配置、GPIO 口的配置、寄存器、数据段的文件和初始化WiFi模块主芯片GPIO 口的文件。

2.2Linux内核移植

操作系统层包括嵌入式内核、TCP/IP(TCP-TransferControlProtocol,传输控制协议,IP-Internet Protocol,网际协议)网络系统、文件系统、图形用户接口(GraphicalUserInterface,缩写为GUI)系统和电源管理等部分。其中嵌入式内核是必备的基础部分,其他部分可根据嵌入式系统的不同需要进行取舍[9]。在家庭网关系统中,嵌入式操作系统环境为Linux操作系统,嵌入式内核为MIPS内核,文件系统为jffs2。

在系统软件包的根目录下创建Linux目录,在其目录下添加Kernels文件夹,存放Linux内核源码。修改内核源码文件夹下的Makefile文件,使其编译环境与宿主机的编译环境一致,具体代码如下所示:

SUBARCH := mips

ARCH ? = $(SUBARCH)

CROSS_COMPILE ? =

UTS_MACHINE := $(ARCH)

CONFIG_SHELL := $(shellif[-x"$$BASH"];thenecho$$BASH;\

elseif[-x/bin/bash];thenecho/bin/bash;\

elseechosh;fi;fi)

HOSTCC= gcc

HOSTCXX= g++

HOSTCFLAGS=-Wall-Wstrict-prototypes-O2-fomit-frame-pointer

HOSTCXXFLAGS=-O2

2.3文件系统移植

嵌入式文件系统包括Ramdisk、Jffs2、Yaffs、Cramfs、Romfs和Ramfs/Tmpfs[10]。该系统的文件系统选择Jffs2。在文件系统的文件夹Rootfs里添加rcS文件,指定需要挂载的文件系统、挂载点、配置初始化进程及解压后存放的位置,通过环境变量来传递接口。rcS文件的具体内容如下所示:

#! /bin/sh

mount-a

mount-oremount+w/

mount-tramfs-nnone/tmp

exportPATH=$PATH:/etc/ath

insmod/lib/modules/2.6.15/net/ag7240_mod.ko

exportETH0=eth0

exportETH1=eth1

ifconfig$ETH0up

ifconfig$ETH1up

2.4内存管理

操作系统中的内存管理单元负责管理整个系统的物理地址空间和虚拟地址空间,它是这个系统得以存在和运行的基础[11]。该家庭网关系统中,数据均存放在4M 的闪存里,当系统启动后再将数据通过DDR 映射到MCU 的RAM 中,从地址0x81000000开始。数据在闪存中存放的地址空间如图3所示。

0x81000000开始。数据在闪存中存放的地址空间如图3所示。

3 管理接口

3.1Web接口

Web功能是家庭网关系统提供给用户的面向对象的操作接口。用户通过WEB浏览器访问,可以对家庭网关的各功能模块进行设置,即对连接在家庭网关上的设备的管理控制。如:对以太网口进行VLAN 配置,自由组织虚拟网络;对VOIP口的网络状态进行配置,自行设置IP、VOIP业务等信息;对WiFi模块进行设置,选择虚拟信道、设置无线网络的参数等。家庭网关的软件系统通过常见的应用程序接口模块CGI,连接CGI接口和处理HTML静态文本文件实现Web功能。

Web服务器选择Httpd服务器,通过移植Httpd源码并融合在Busybox里实现。在cgiMain()函数中描述了Httpd服务器建立服务、接收请求、处理请求、日志文件及断开连接的过程。在Httpd.c文件中添加函数来设置Web服务器的配置,使Web服务器启动时就能根据当前环境完成Web服务器的配置。指定的HTML页面文件放到/usr/www 目录下,cgi外部扩展程序放到/usr/www/cgi-bin目录下,把链接融合在cgiMain里。通过在cgiMain()函数里调用环境变量建立服务器与CGI程序之间的信息交互,从而实现各个网页文件之间的链接。

如果家庭网关的IP地址为192.168.100.12,把家庭网关与PC机连接在同一个网络里,在Web浏览器地址栏输入192.168.100.12即可显示家庭网关的配置页面。可以实现各个页面之间的动态连接,修改家庭网关的配置参数。

3.2CLI接口

加载简单远程登录服务器Telnetd,通过命令行界面(CommandLineInterface,缩写为CLI)方式,使Telnetclient就可以登录到家庭网关系统,结合CLI提供的各种命令接口,实现对家庭网关的配置、测试和升级等操作。在家庭网关的软件系统中,Telnetd工作时连接一个伪终端设备,然后创建一个登陆进程,在伪终端侧有标准的输入、输出、错误。Telnet操纵的伪终端主方执行telnet协议并传递远程客户端和登录过程中的字符。

在命令行窗口输入“telnet192.168.100.12暠出现用户名、密码提示窗口。输入正确的用户名和密码,即可访问家庭网关,查看系统的文件。打开TFTP服务器,通过命令tftp可以更新页面文件等。

3.3UART接口

初始化MCU 内置的UART接口,设置串口属性如:波特率为115200、8位数据位、无奇偶校验、1位停止位、无流控。通过超级终端人机交互界面可以和家庭网关进行信息交互,实时监控家庭网关系统的运行状态、修改控制各类配置信息、更新U-boot、Linux内核、文件系统、映像文件等。

打开超级终端、TFTP服务器,设置串口属性,启动家庭网关后,即可打印输出家庭网关的运行状态。进入更新文件状态,设置环境变量,如输入:

tftp0x80060000u-boot.bin//将u-boot.bin文件放在缓存区

erase0x9f000000+0x40000//擦除存放U-Boot文件区域的内容

cp.b$fileaddr0x9f000000$filesize//把缓存区的文件复制到存放U-Boot文件的区域

即可更新U-Boot文件。按此命令格式,输入对应的文件名和地址,文件系统、映像文件也同样可更新。

4 结语

该文描述了一个以MIPS微处理器为核心、以嵌入Linux操作系统为开发环境的家庭网关。该家庭网关通过移植U-Boot、Linux内核、文件系统定制软件系统,添加Web、CLI、UATR 等接口功能,实现通过Web、CLI和SNMP等多种方式灵活的与家庭网关进行信息交互、配置、更新。经测试[13]该家庭网关系统实现了多业务功能,上联接口支持多种接入方式能够为网络交换模块提供数据信号,下联接口能提供VOIP功能、2.4GHz的无线信号,以太网口之间能自由配置VLAN。

试验测试的结果表明,该家庭网关适合高宽带传输、全方位融合、多业务综合的家庭网络及业务应用的发展需求。

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

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 信息技术
关闭
关闭