(通信与信息系统专业论文)基于嵌入式技术的家庭网关设计与实现.pdf_第1页
(通信与信息系统专业论文)基于嵌入式技术的家庭网关设计与实现.pdf_第2页
(通信与信息系统专业论文)基于嵌入式技术的家庭网关设计与实现.pdf_第3页
(通信与信息系统专业论文)基于嵌入式技术的家庭网关设计与实现.pdf_第4页
(通信与信息系统专业论文)基于嵌入式技术的家庭网关设计与实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(通信与信息系统专业论文)基于嵌入式技术的家庭网关设计与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 近年来,随着下一代网络技术的不断发展,信息通信界提出了家庭网络的概念。其 中,家庭网关被认为是家庭网络的关键设备,它不但是家庭网络和外部i p 网络互连的 关口部件,而且可为家庭网络提供i p 音视频通信功能。与此同时,在电子技术领域, 嵌入式技术得到了广泛的应用,越来越多的小型化信息设备采用嵌入式平台进行开发。 本论文的主要内容就是研究基于嵌入式技术的家庭网关设备的设计和开发技术。 论文首先系统阐述嵌入式应用技术,包括嵌入式平台的硬件技术和软件技术以及嵌 入式系统的开发环境和调试方法。然后,基于对家庭网关的功能需求分析,给出了家庭 网关的硬件设计方案和软件总体设计方案。在此基础上,论文深入研究家庭网关的网络 功能子系统和v o l p 功能子系统,详尽给出了网络子系统p p p o e 、d h c p 服务器、n a t 和w e b 配置模块以及v o l p 子系统c p c 、s i p 、a l c o 和d s p 模块的实现技术,并深入 剖析了模拟电话接口和s i p 协议栈。最后,论文提出了进一步开发所需做的工作。 本文设计实现的家庭网关已付诸使用,具有很好的实用价值。 关键词:家庭网关,u c l i n u x ,s i p ,a r m a bs t r a c t i nr e c e n ty e a r s ,a l o n gw i t ht h ep r o g r e s so ft h en e x tg e n e r a t i o nn e t w o r kt e c h n o l o g y , t h e c o n c e p to fh o m en e t w o r kh a sb e e np r o p o s e di ni n f o r m a t i o nc o m m u n i c a t i o nw o r l d ,w h e r e h o m eg a t e w a yi sc o n s i d e r e da sak e ye q u i p m e n t i ti sn o to n l yag a t e w a ye q u i p m e n tt o c o n n e c tt h eh o m en e t w o r kw i t he x t e r n a li pi n t e m e t ,b u ta l s os u p p o r t sa u d i oa n dv i d e o c o m m u n i c a t i o nu s i n gi pt e c h n o l o g y m e a n w h i l e ,e m b e d d e dt e c h n o l o g yh a sb e e nw i d e l yu s e d i nt h em i c r o e l e c t r o n i c sf i e l d m o r ea n dm o r ei n f o r m a t i o nd e v i c e sh a v eb e e nd e v e l o p e dw i t h e m b e d d e dt e c h o n o l o g y t h ec o n t e n t so ft h i sp a p e rf o c u so nt h ea n a l y s i so ft h ed e s i g na n d i m p l e m e n to fh o m eg a t e w a yd e v i c eb a s e do ne m b e d d e dt e c h n o l o g y f i r s t l y , t h ep a p e ri n t r o d u c e s t h ee m b e d d e dt e c h n o l o g y s y s t e m a t i c a l l y , i n c l u d i n g e m b e d d e dh a r d w a r et e c h n o l o g y , s o f t w a r et e c h n o l o g ya n dd e v e l o p m e n te n v i r o n m e n t t h e nt h e d e s i g ns c h e m e sa r ep r o v i d e do ft h eh a r d w a r ea n ds o f t w a r ea r c h i t e c t u r ef o rh o m eg a t e w a y b a s e do nt h ea n a l y s i so fh o m eg a t e w a yr e q u i r e m e n t i n - d e p t hs t u d yi sm a d eo nt h en e t w o r k s u b s y s t e ma n dv o l ps u b s y s t e m s u b s y s t e mi m p l e m e n t a t i o nt e c h n i q u e sa r ed e s c r i b e di nd e t a i l , i n c l u d i n gt h a tf o rt h ef o u rn e t w o r ks u b s y s t e mm o d u l e s ,p p p o e ,d h c ps e r v e r , n a ta n dw e b c o n f i g u r a t i o n ,a n dt h a tf o rt h ef o u rv o l ps u b s y s t e mm o d u l e s ,c p c ,s i p , a l c oa n dd s e f u r t h e r m o r ea l la n a l y s i si sg i v e nt ot h ep r i n c i p l eo fa n a l o gt e l e p h o n ei n t e r f a c ea n ds i p p t o t o c o ls t a c k f i n a l l y , b r i e fs t a t e m e n t sa r ea d d e do nt h ef u r t h e rw o r kn e e d e df o r t h e d e v e l p o m e n t t h e d e s i g n e dh o m eg a t e w a yh a sb e e nu s e di np r a c t i c ea n ds h o w sg o o dp r a c t i c a lv a l u e k e y w o r d s :h o m eg a t e w a y ,u c l i n u x ,s i p ,a r m i i 南京邮电大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电大学或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名:二王! 冯日期:垄丑:扣 南京邮电大学学位论文使用授权声明 南京邮电大学、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电大学研究生部办理。 研究生签名: 盔:圣导师签名: 、 南京邮电大学硕士研究生学位论文第1 章引言 1 1 家庭网关技术介绍 第1 章引言 随着i n t e r n e t 技术的不断进步和a d s l 技术的普及,普通家庭连接到i n t e m e t 网络 已经不再是难事。同时,伴随着嵌入式技术和信息家电的飞速发展,越来越多信息设备 进入了家庭,这些设备共同构成了一个家庭网络,为人们提供便捷的服务。 家庭网关作为家庭网络的重要设备,主要实现i n t e m e t 接入功能。家庭网络内部的 各种设备,如p c 机、i p 电话机以及其他网络设备都需要通过家庭网关和外部i n t e r n e t 相联。通过家庭网关能从i n t e m e t 访问家庭网络内部的设备,实现远程控制等功能。因 此,家庭网关是联系家庭网络和外部网络的纽带,是家庭网络的关键设备。 传统的基于p c 机方案的家庭网关不仅成本较高,而且要求计算机一直处于开机并 可进行通信的状态,还不能在计算机上运行干扰通信任务的软件。相比而言,采用嵌入 式技术实现家庭网关,具有体积小、功耗低、价格便宜等特点,有很好的应用价值。 近年来,l i n u x 操作系统依赖其强大的网络功能得到了长足的发展,出现了多种应 用于嵌入式平台的嵌入式l i n u x 操作系统。其中,u c l i n u x 是在普通l i n u x 系统基础上裁 剪的应用于嵌入式领域的操作系统。我们使用u c l i n u x 操作系统作为家庭网关的操作系 统平台,不但可以充分利用l i n u x 的网络功能,同时,也方便移植各种普通l i n u x 平台 的应用程序,能够更加方便、快捷地提供各种网络服务。 v o i p 技术是近年来兴起的通信技术,是指在以i p 为网络层协议的计算机网络中进 行话音通信的技术,也称i p 网络电话技术。v o i p 技术与传统的电路交换通信技术相比 有许多优势,其主要特点是价格低廉,能够灵活地提供各种业务。现在,v o l p 技术已经 逐渐成熟,以s i p 协议为主要的呼叫控制协议的v o i p 技术已经得到了广泛的应用。通 过家庭网关将家庭模拟电话和外部i p 网络相联,为家庭网络引入v o i p 服务,是家庭网 关的一个十分重要的应用。 1 2 论文研究的主要内容 本论文课题来源于横向科研项目“小型网关系统的开发”。该小型网关使用嵌入式 u c l i n u x 操作作为平台,移植开源网络应用程序,实现网关的网络服务功能,同时,采 妻室塑皇奎兰堡主塑壅生兰垡堡茎釜! 垩! ! 重 用专用电话接口芯片并开发了s i p 呼叫控制程序实现v o l p 功能。 论文首先系统阐述嵌入式应用技术,包括构建嵌入式平台的硬件技术和软件技术以 及嵌入式系统的开发环境、调试方法。然后,基于对家庭网关的功能需求分析,给出了 家庭网关的硬件设计方案和软件总体设计方案,将家庭网关的软件划分为两个子系统: 网络功能子系统和v o l p 功能子系统。在此基础上,论文深入研究了所设计家庭网关的 实现技术。第四章详尽给出了网络功能子系统各个模块的实现技术,包括:用于a d s l 接入的p p p o e 模块,用于i p 地址分配的d h c p 服务器模块,用于i p 地址转换的n a t 模块以及用于家庭网关配置的w e b 配置模块。第五章详尽给出了v o l p 功能子系统各个 模块的实现技术,深入分析和介绍了模拟电话接口和s i p 协议栈。最后,论文对嵌入式 家庭网关开发中存在的不足和今后的工作作了简要的讨论。 2 南京邮电大学硕士研究生学位论文 第2 章嵌入式系统技术 2 1 嵌入式系统简介 第2 章嵌入式系统技术 随着微电子技术和网络技术的高速发展,计算机应用也进入到后p c 时代,嵌入式 技术已成为当前微电子技术和计算机技术的一个重要分支,在电信设备、网络设备、信 息家电、医疗、工业及军事领域都得到了广泛的应用。嵌入式系统自身发展也经历了一 个从简单处理器到单板机、单片机,再到具备嵌入式操作系统的功能强大的开发板的历 程,嵌入式系统已经成为后p c 时代的一项重要技术。国际电器电子工程师协会( i e e e ) 给嵌入式系统下了一个定义:嵌入式系统是用来现场控制或监视机器、装置或工厂等大 规模系统的设备。嵌入式系统以应用为中心,以微电子技术、控制技术、计算机技术和 通信技术为支撑,是一种用于实现特定功能的专用计算机系统。 通常,我们可以把嵌入式系统分为三个部分:硬件系统、系统软件和应用软件川。 其中,硬件系统是以微处理器、微控制器、嵌入式d s p 处理器或嵌入式片上系统为核 心,由各种存储设备,如r o m 、r a m 、f l a s h ,和各种外部设备接口共同构成的硬件 环境。系统软件主要是嵌入在存储器中的各种嵌入式操作系统,在高端的微控制器上的 嵌入式系统一般都使用操作系统完成相对复杂的任务,对于底端的单片机系统则一般没 有操作系统要求。应用软件是嵌入式软件最重要的部分,是实现嵌入式系统应用的关键, 与特定应用相关。对于嵌入式系统开发而言,系统软件和应用软件是核心,由于嵌入式 系统资源有限,因此要求嵌入式操作系统及其应用软件要更加紧凑,技术要求更高。 2 2 嵌入式系统硬件平台搭建 嵌入式系统的硬件平台根据具体应用的功耗、成本、处理能力来选择。通常,硬件 平台由控制器、存储器和外部接口等部分构成。嵌入式控制器包括a r m 、m i p s 、d s p 等多种微处理器,目前,a r m 处理器是主流的微处理器。 2 2 1 嵌入式微控制器( a r m ) a r m 是一家既不生产芯片也不销售芯片,只出售芯片技术授权的公司,于1 9 9 0 年 1 1 月成立于英国剑桥。a r m 在全球拥有广泛的合作伙伴,包括芯片制造商、操作系统 3 南京邮电大学硕士研究生学位论文 第2 章嵌入式系统技术 开发商等【2 1 。现在a r m 已经成为嵌入式微处理器的代名词。目前,a r m 微处理器技术 已经深入到各个领域:工业控制领域、无线通信领域、网络应用领域、消费类电子产品、 信息家电领域等。 a r m 处理器是一种典型的r i s c 架构处理器。a r m 处理器支持a r m 和t h u m b 两 种指令集,其中,a r m 指令长度为3 2 位,t h u m b 指令长度为1 6 位。a r m 指令集是 a r m 在通常情况下使用的指令集,执行效率很高。t h u m b 指令集是a r m 指令集的一 个子集,是a r m 指令的1 6 位指令集,所有的t h u m b 指令都有对应的a r m 指令,使 用t h u m b 指令可以大大节省系统的存储空间。当处理器执行a r m 程序时,a r m 处理 器处于a r m 工作状态,当处理器执行t h u m b 程序时,a r m 处理器处于t h u m b 工作状 态,只要遵循调用规则,t h u m b 程序和a r m 程序可以相互调用。a r m 微处理器目前 包括下面几个系列:a r m 7 ,a r m 9 ,a r m 9 e ,a r m l 0 e 和s e c u r e c o r e 。 本论文开发的家庭网关采用了a r m 7 t d m i 核的微处理器芯片。a r m 7 微处理器器 具有以下特点:具有嵌入式i c e 逻辑,调试开发方便;极低的功耗;提供0 9 m i p s m h z 的三级流水线结构;代码密度高,兼容1 6 位t h u m b 指令集;指令集与a r m 9 ,a r m 9 e , a r m l 0 e 系列的指令兼容;支持的操作系统广泛,包括l i n u x 。a r m 7 系列的微处理器包 括四种类型的内核:a r m 7 t d m i ,a r m 7 t d m i s ,a r m 7 2 0 t ,a r m 7 e j s 。其中, a r m 7 t d m i 是目前使用最广泛的3 2 位嵌入式r i s c 处理器,t d m i 的基本含义为【3 1 : t 代表1 6 位压缩指令集; d 代表支持片上的d e b u g ; m 代表内嵌的硬件乘法器( m u l t i p l i e r ) i 代表嵌入式i c e ,支持片上断点和调试点。 2 2 2 存储设备 存储设备是用于临时存储固定数据的集成电路。按照存储信息的功能可以分为只读 存储器( r o m ) 和随机存储器( r a m ) 。 r o m 存储器用于存储固定的程序和数据,r o m 的种类有掩膜r o m ,e p r o m , e e p r o m ,闪存f l a s h 等。掩膜r o m 中的信息需要在脱机情况下写入,写入后只能 被读出,不能修改,可以长期保存。e p r o m 为可擦除只读存储器,可以多次写入,但 写入前需要有紫外线照射才能把原来的信息去除。e e p r o m 是可以用电擦除的只读存 储器,可以像r a m 一样随机进行读写,也可以像r o m 一样在掉电情况下保存信息, 4 南京邮电大学硕士研冤生学位论文 第2 章嵌入式系统技术 e e p r o m 一次可以擦除一个字节。f l a s h 是同e e p r o m 一样用电擦除,可以多次编程 的存储器,掉电后信息不丢失,与e e p r o m 相比成本低,密度大,可以按块( b l o c k ) 擦 除。常用的f l a s h 分为两种:n o r f l a s h 和n a n d f l a s h ,n o r f l a s h 支持 x i p ( e x e c u t ei np l a c e ) 功能,可以节省系统r a m 的使用,而n a n d f l a s h 在读写和擦 除等性能上大大优于n o r f l a s h ,但不支持x i p 功能。通常对于需求较小( 1 m b 一 3 2 m b ) 的需求,使用n o r f l a s h ,对于存储需求大的( 1 6 m b 一5 1 2 m b ) ,常使用 n a n d f l a s h 。 r a m 存储器即通常意义上的内存,用于存储各种数据和中间结果,可以随机读出, 写入和改写,但只能用于暂存程序或数据,一旦掉电,数据就会丢失。常用的r a m 有 d r a m 和s r a m 两种,d r a m 比s r a m 集成度高,成本低,但存取速度没有s r a m 快。 2 2 3 其他设备和接口 除了上述控制器和存储设备外,嵌入式系统还要根据具体应用的需要,添加适当的 接口设备,如网络接口、r s 2 3 2 串口、u s b 接口、硬盘接口( i d e ) 等。为了简化开发, 通常有些芯片开发厂商已经在芯片中集成了上述接口模块,只要添加适当的外围电路就 可以实现各种接口功能。 2 3 嵌入式系统软件开发环境 2 3 1 开发环境 嵌入式软件开发环境包括两个部分:目标机和宿主机。目标机为要开发的嵌入式硬 件平台,宿主机为普通的p c 机。目标机和宿主机之间一般可以通过串口或网络进行通 信。由于目标机自身的资源非常有限,通常只是为特定目的而设计,因此,不可能完全 在目标机器上开发。一般,对于基于l i n u x 操作系统的嵌入式开发,宿主机需要先安装 普通l i n u x 平台,如r e d h a t 、d e b i a n 、u b u n t u ,然后在宿主机上先开发好应用程序,并将 与硬件无关的部分在宿主机上开发并调试完毕后,再将程序放到目标机上去开发调试。 南京邮电大学硕士研究生学位论文第2 章嵌入式系统技术 2 3 2 工具链和库 由于目标机的资源非常宝贵,而且能力有限,因此不可能直接在目标平台上开发, 也就是说不能直接在目标平台上编译和调试应用程序,因此,需要在宿主机( p c 机) 建立交叉编译环境。所谓交叉编译环境,是指在p c 机上开发应用程序,然后通过交叉 编译工具将程序编译成可以直接在目标机上运行的应用程序,即在本机上编译目标机上 的应用程序,然后放到目标机上执行。例如,普通机器为i 3 8 6 机器,而目标平台为a r m , 两种机器的指令完全不同,就要用交叉编译工具将程序编译成a r m 指令的可执行程序。 对于基于l i n u x 的嵌入式开发,已经出现了多种交叉编译工具。针对a r m 的交叉 编译器有;a r m e l f - g c c 和a r m l i n u x g c c 。其中,a r l t l e l f - g c c 是针对u c l i n u x 嵌入式系统 开发的,用于编译在u c l i n u x 平台上开发的应用程序,a l t f l 1 i n u x g c c 是针对a r m 平台 上普通l i n u x 操作系统开发的。在u c l i n u x 网站【4 】上提供了完整的开发工具包,这些工 具包除了提供上述的编译器外,还提供了相关的其他工具,如连接器、汇编器、c 库等。 在u c l i n u x 下常用的库有:u c l i b e 和u c 1 i b c 。u c 1 i b c 是u c l i n u x 采用的c 语言库, 在l i n u x 8 0 8 6c 库的基础上,完整地实现了c 库,其规模相当小,是一个轻量级的c 语 言库。但是u c 1 i b c 的部分a p i 是非标准的,且仅支持a r m 和m 6 8 k 。u c l i b c 是在u c 1 i b c 的基础上发展起来的,针对u c 1 i b e 的缺陷,将所有的a p i 标准化,并添加了u c 1 i b c 缺 少的函数,同时提供了与g l i b c 的兼容的接口,使普通的应用程序移植到u c l i b c 下工作 变得非常容易。对于具有内存管理单元( m m u ) 的平台,u c l i b c 还提供了对于动态链 接库的支持。 2 。4 嵌入式软件平台的搭建 嵌入式系统软件平台可以分为四个层次:引导部分,嵌入式操作系统,文件系统, 应用程序部分。 首先,系统上电后,直接读取系统引导部分的代码执行,系统引导部分常称作 b o o t l o a d e r 。b o o t l o a d e r 启动以后,就会初始化系统的硬件,建立软件执行环境,并把操 作系统拷贝到r a m 中,然后将执行权力交给操作系统。操作系统启动后,加载文件系 统,最后,操作系统启动应用程序来实现嵌入式系统需要的功能。下面,我们就上述四 个部分分别予以介绍。 6 南京邮电大学硕士研究生学位论文第2 章嵌入式系统技术 2 4 1b o o t l o a d e r 在一个嵌入式平台的实现中,b o o t l o a d e r 起到了非常重要的作用。在加载操作系统 之前,b o o t l o a d e r 完成整个硬件环境的初始化,包括存储器,中断初始化等,建立一个 基本的软件环境,为后续下载应用程序或操作系统做好准备。由于b o o t l o a d e r 程序与硬 件密切相关,因此不同的嵌入式平台常常需要使用不同的b o o t l o a d e r 。网上有很多开放 源代码的b o o t l o a d e r ,这些b o o t l o a d e r 往往可以支持多个不同硬件平台,例如u b o o t 。 u b o o t 5 1 是由德国d e n x 小组开发的交叉平台的b o o t l o a d e r ,其全称为u n i v e r s a l b o o t l o a d e r 。u b o o t 的开发目标是支持尽可能多的嵌入式处理器和嵌入式操作系统,它 提供数百种嵌入式开发板和嵌入式c p u 的支持,包括p o w e r p c 、a r m 、m i p s 、c o l d f i r e 、 x 8 6 等,同时支持多种操作系统的引导,如l i n u x 、n e t b s d 、v x w o r k s 、q n x 等。 通常,b o o t l o a d e r 的工作分为两个阶段。第一阶段使用汇编语言编写,c p u 直接从 f l a s h 或r o m 中读入指令执行,完成以下步骤: 硬件设备初始化; 为加载b o o t l o a d e r 第二阶段的数据和程序准备r a m 空间; 拷贝b o o t l o a d e r 第二阶段的数据和程序到r a m 空间; 设置堆栈; 跳转到地址阶段的入口点。 b o o t l o a d e r 第二阶段在r a m 中执行,完成以下步骤: 初始化硬件平台的其他相关硬件; 进行系统内存映射; 将l i n u x 内核和文件系统从f l a s h 或r o m 中读入到r a m 中; 设置内核参数并启动内核。 在b o o t l o a d e r 上述工作完成后,就完成了使命。上述描述的过程,是b o o t l o a d e r 直 接引导内核的过程,此外b o o t l o a d e r 还可以在进入第二阶段后,暂时不引导内核,而等 待执行用户命令,这时候,用户可以通过串口来控制b o o t l o a d e r 执行其他功能,如下载 应用程序,下载内核文件,烧写f l a s h 等。 2 4 2 嵌入式操作系统 嵌入式操作系统是应用于嵌入式平台的操作系统,至今,已经出现了许多成熟的嵌 7 堕塞坚皇奎兰堡主堕窒竺堂篁丝壅 笙! 皇堂全茎至竺垄查 入式操作系统:v x w o r k 操作系统是目前在嵌入式领域使用最为广泛的商业操作系统, w i n c e 是由m i c r o s o f t 公司推出的嵌入式实时操作系统。通常,这些操作系统的费用较 高,开发成本比较高,来自自由软件组织【6 1 的嵌入式l i n u x 操作系统推出后,给人们开 发嵌入式应用提供了另一个选择。u c l i n u x 操作系统就是一种典型的嵌入式l i n u x 操作 系统。 2 4 3u c l i n u x 特点 g n u 6 1 是一个自由软件( f r e e s o f t w a r e ) 的组织,该组织是由r i c h a r ds t a l l m a n 在1 9 8 4 年发起的。由g n u 领导的自由软件运动在上世纪9 0 年代后期得到了蓬勃发展。到目前 为止,已经有大量的自由软件可以使用,包括l i n u x 内核、g c c 、g d b 、t c p i p 协议栈等。 l i n u x 是由芬兰赫尔辛基大学的一名学生l i n u st o r v a l d s 设计并实现的完全免费的类 u n i x 操作系统。l i n u x 操作系统从1 9 9 1 诞生以来,得到了飞速的发展,现在l i n u x 的 版本已经发展到了2 6 1 8 ,而且得到越来越广泛的应用。l i n u x 内核具有如下特点: 源代码公开; l i n u x 内核是一个自由软件,因此,它的源代码,包括这个系统的核心,驱动程序, 开发工具都是公开的。任何一个人都可以从其网站上直接下载。 可移植性好; l i n u x 具备非常良好的移植性,从l i n u x 操作系统开始发布的时候,开发人员就注 意到移植性的问题,从一开始,l i n u x 就采用了p o s i x 标准,与u n i x 系统有很好的兼 容性。同时,l i n u x 除了支持常见的x 8 6 平台,还支持其他各种体系架构如a l p h a 、s p a r e 、 a r m 、p o w e r p c 等。 具备强大的网络功能: l i n u x 具备完善的网络支持,内核中包含了各种网络协议的代码,既支持一些古老 的协议如x 2 5 ,也支持新的协议,如i p v 6 等。 内核可配置。 l i n u x 操作系统内核具有可配置性,内核的基本功能是完全可定制的,用户可以根 据自己的需要将特定的功能编译到内核,或作为模块在系统运行的时候载入内核。 综上所述,l i n u x 具备的这些特点使l i n u x 得到了广泛的应用。在嵌入式领域,也 出现了多种l i n u x 操作系统的变种,如实时l i n u x 、u c l i n u x 等。 u c l i n u x 4 1 是当前应用比较广泛的一种嵌入式l i n u x 操作系统,是标准l i n u x 的一个 南京邮电大学硕上研究生学位论文第2 章嵌入式系统技术 分支,主要应用于没有m m u 的处理器,如a r m 7 处理器。它名称中的“u 来自于希 腊字母“p ,意思是微小;“c ”是控带l j ( c o n t r 0 1 ) 的缩写,因此,u c l i n u x 是针对微控制 领域而设计的l i n u x 操作系统。 本论文所设计和实现的家庭网关正是采用了u c l i n u x 操作系统做为操作系统平台。 u c l i n u x 操作系统与普通l i n u x 操作系统最大的不同在于u c l i n u x 操作系统是为没有 m m u 的嵌入式微处理器设计的,因此,u c l i n u x 操作系统相对于传统的具有虚拟内存管 理机制的l i n u x 操作系统而言,就没有了进程的内存保护、动态加载等功能,因此应用 程序的开发人员需要对系统的内存分配进行管理,增加了开发的难度。同时,u c l i n u x 也带来许多好处,由于u c l i n u x 的内核裁减掉了m m u 模块,其他部分也做了处理。因 此,u c l i n u x 内核占用的空间很小,通常8 0 0 k b 的内核就可以提供相当多的功能了。与 此同时,u c l i n u x 开发人员还为u c l i n u x 开发了许多特定的应用程序,这些程序与普通 l i n u x 上的应用程序功能相当,但编译以后占用的存储空间却小得多。 2 4 4 嵌入式设备文件系统 嵌入式操作系统以文件系统方式来管理系统和用户数据。对于一般的嵌入式设备而 言,主要使用r a v l 和f l a s h 作为存储信息设备。为了适应特定应用环境的需要,人 们开发了几种不同用途的文件系统。 在u c l i n u x 系统中主要使用的文件系统是r o m f s 文件系统,这种文件系统与传统 l i n u x 平台的e x t 2 文件系统不同,r o m f s 文件系统不支持动态擦除保存,文件系统在系 统运行时不能改变数据。r o m f s 相对于e x t 2 文件来说,其文件系统超级块需要更少的存 储空间,内核对文件系统的操作也相对简单,需要的资源少。因此r o m f s 常在u c l i n u x 系统中用于保存那些不需要改变的系统文件或应用程序等信息。 r a m d i s k 文件系统是从动态存储器中取出一部分空间来作为一个分区,在这个分区 上保存某种格式的文件系统。这个分区可以认为是一个虚拟的硬盘分区,因此,称作 r a md i s k 。在嵌入式系统应用中,通常先将r a m d i s k 上的文件系统压缩保存在r o m 或 f l a s h 中,系统启动后,再从r o m 或f l a s h 取出文件系统解压到r a m 中。这种文 件系统完全是在r a m 中运行,速度快,缺点是掉电后数据丢失。 临时文件系统( t m p f s ) ,顾名思义只是一个临时保存文件数据的文件系统。在l i n u x 操作系统运行期间,需要临时存储一些日志信息和临时数据,这些数据往往只在本次系 统运行时有意义,在系统关机后就不需要保留,临时文件系统就是针对这种需求设计的, 9 塑室塑皇盔兰堡主婴窒生堂垡丝奎茎! 皇堂全茎墨堕茎查 t m p f s 在系统运行后驻留在r a m 中,所有的数据保存和删除操作都在r a m 中进行,速 度非常快,系统重新启动后,所有数据将丢失。 j f f s 2 为日志闪存文件系统,是专门用于微型嵌入式设备的闪存芯片的实际文件系 统,j f f s 2 相对于e x t f s ,具有许多优点,如j f f s 2 在扇区上直接执行闪存擦除写读操 作,比e x t 2 文件系统效率更高,此外,j f f s 2 比e x t 2 文件系统提供了更好的掉电保护。 c r a m f s 是一种压缩的的文件系统,用于构建小存储容量的r o m 上的文件系统。 c r a m f s 文件系统使用压缩算法来对文件系统的文件进行压缩处理,从而比传统的文件系 统节省空间。单个文件最大为1 6 m b ,整个文件系统最大有2 5 6 m b 。因为这个文件系统 是压缩的,因此不能直接修改文件系统内部数据,需要使用m k c r a m f s 工具来生成一个 文件系统的映像文件。 2 4 5b u s y b o x b u s y b o x 是由w w w b u s y b o x n e t t 7 】开发小组开发的一个很小的应用程序,这个应用程 序集成了l i n u x 下大量常用应用程序实体功能,并对其进行了改进,用户只要编译这个 b u s y b o x 程序,就可以通过调用它来使用l i n u x 下常用的命令。b u s y b o x 被称之为嵌入 式l i n u x 下的瑞士军刀。 b u s y b o x 最大的特点是节省了大量的存储空间,如果直接使用原来l i n u x 那些工具 的可执行程序需要的空间大约为3 4 m b ,而使用b u s y b o x ,占用的空间可以缩小到 2 0 0 k b 。同时,b u s y b o x 提供的功能和l i n u x 对应工具的功能基本一致,只是少了一些 选项而已。因此,对于嵌入式l i n u x 而言,使用b u s y b o x 是一个既节省空间,又能建立 完善应用环境的选择。 b u s y b o x 已经集成了各种常用命令,如a d d g r o u p 、a d d u s e r 、c h g r p 、c h m o d 、c h o w n 、 f r e e 、l o g i n 、l o g n a m e 、l o g r e a d 、l o s e t u p 、l s 等。b u s y b o x 的使用方法也很简单: b u s y b o x a r g u m e n t 】 此外,b u s y b o x 还可以通过建立链接来调用,例如需要使用c p 命令,则可以先建立 一个符号连接:i n sc pb u s y b o x ,将符号链接放到系统可执行路径下,就可以直接 使用c p s o u r c ed e s t 来实现拷贝操作了。 2 4 6 应用软件 应用程序的开发与特定的应用相关,与普通p c 机上开发应用程序不同,由于其资 l o 堕室墅皇奎兰堡主堕窒生堂垡堡奎墨! 童室全茎墨竺茎查 源有限,嵌入式系统的应用程序设计和开发都受到实际环境的限制。 应用程序一般先在普通p c 机上开发,待调试成熟后,再下载到嵌入式平台,进行 进一步的开发和调试。如果在嵌入式平台上直接运行应用程序,可以通过j t a g 方式来 调试应用程序。 j t a g 接口主要用于芯片内部测试及对系统进行仿真和调试,j t a g 技术是一种嵌入 式调试技术,j t a g 在芯片内部封装了专门的测试电路,通过专用的j t a g 测试工具对 内部结点进行测试。目前大多数比较复杂的器件都支持j t a g 协议,如a r m 、d s p 、f p g a 等。对于a r m 芯片,其a d s 开发工具就提供了a x d 工具,a x d 工具可以使用j t a g 调试a r m 上运行的应用程序,可以设置断点,单步调试等。 在嵌入式平台上调试应用程序比普通p c 机上调试应用程序要复杂得多,也困难得 多。对于调试在u c l i n u x 上运行的应用程序,通常使用m i n i c o m 工具经过串口连接到嵌 入式平台,使用p r i n t f 或p r i n t k 将自己感兴趣的变量或结构打印出来,这种方法通常比 较繁琐,而且效率也不高。另一种在u c l i n u x 下调试应用程序的方法是使用g d b 调试 工具。g d b 是l i n u x 下用于调试程序的工具,对于嵌入式平台而言,需要先在嵌入式平 台上运行一个g d b s e r v e r 程序,然后在p c 机上使用g d b 与嵌入式平台上的g d b s e r v e r 程序通信,通过g d b s e r v e r 程序来调试应用程序。 南京邮电大学硕士研究生学位论文第3 章家庭网关总体设计 第3 章家庭网关总体设计 3 1 家庭网关功能需求 家庭网关作为连接家庭网络和外部i n t e m e t 网络的关键设备,其主要功能就是 i n t e m e t 的接入功能。a d s l 接入是p s t n 运营商为了充分利用现有普通电话线的资源, 在普通电话线上采用高效的调制解调方法,来实现数据通信的一种方式。对于现在的家 庭用户而言,只需要再配置一个a d s l 调制解调器,就可以使用接入到i n t e m e t 网络。 a d s l 调制技术对于数据和语音数据采用不同频段进行传送,因此,a d s l 提供了两个 接口:网络接口和电话接口。p c 机使用网络接口连接到i n t e m e t ,同时,用户仍然可以 通过电话接口进行p s t n 电话呼叫。现在,越来越多的家庭都配置了a d s l 接入设备。 因此,家庭网关作为家庭网络的一个主要设备,必然需要提供a d s l 接入功能。仅需要 将家庭网关与a d s l 调制解调器的网络接口相连,就可以使家庭网络内部的设备经由家 庭网关连接到i n t e m e t 。 家庭网络通常是一种私有网络,家庭网络内部设备采用私有地址。为了能与外界的 i n t e m e t 互联,就需要将私有地址与公有i p 地址进行转换。n a t ,即网络地址转换功能, 可以完成私有地址与公有地址的转换。因此,家庭网关作为连接家庭内部网络和外部网 络的网关,需要完成i p 地址的转换功能。同时,由于家庭网络本身是一个私有的网络, 家庭网关还应该提供一定的保护功能,来限制外部到内部的连接,从而使家庭网络更加 安全。 随着家庭网络内部设备的不断增多,为了减少用户在使用这些设备前繁琐的网络配 置工作,同时增加这些设备的可移动性,避免设备i p 地址的冲突,家庭网关还应提供 d h c p 服务,来自动为这些设备配备好各种网络信息,简化家庭网络的维护工作。 当今,i p 电话依靠其廉价的费用和越来越好的语音质量,已经得到广泛的应用。随 着v o i p 电话的普及,越来越多的用户将会使用p c 打电话。但是,使用p c 机来打电话 必须要有耳麦,且使用起来也没有普通模拟电话那么方便和舒适,对于那些对电脑操作 不熟练的用户更是困难。因此,在大多数情况下,人们更愿意使用传统电话机来打电话, 而不是使用p c 机拨打电话。那么,家庭网关可以通过提供模拟电话接口来使人们能够 像使用普通电话机一样来使用i p 电话。对于那些仍然需要使用公共电话网通信功能的 用户,家庭网关应保留传统p s t n 的电话线接口功能。 1 2 堕室堂皇盔兰堡主堕壅竺兰垡丝茎星! 童窒壁堕茎璺竺垡生 为了实现i p 电话的接入并保留p s t n 接口,家庭网关应提供p s t n 用户线和普通电 话接口模块。通过电话接口模块来完成对普通电话状态的检测和用户信令的接收,同时 完成模拟语音到p c m 编码的转换等功能。通过p s t n 用户线接口,来保证正常使用原 有的p s t n 电话功能。同时,为了实现i p 电话功能,家庭网关还需要具有支持i p 电话 呼叫和语音传送的协议模块。 此外,家庭网关还应该提供配置接口,我们采用了w e b 方式来配置家庭网关,从而 方便用户配置和使用家庭网关。 综上所述,家庭网关的功能可以划分为两个部分:网络功能子系统和v o l p 功能子 系统。其中,网络功能子系统包括:a d s l 接入功能,n a t 功能,d h c p 服务器功能和 w e b 配置功能;v o l p 功能子系统包括:模拟电话接口功能,p s t n 接口功能,v o l p 协议 栈以及语音处理功能。家庭网关应用场景如图3 1 所示,家庭网关与a d s l m o d e m 相连, 通过p p p o e 方式经电话线连接到i n t e m e t 。同时,家庭网关提供p s t n 接口与a d s l 调 制解调器的电话接口相连。家庭内部p c 机等家庭网络设备通过家庭网关的网络接口与 外部的i n t e m e t 通信。此外,家庭网关具有三个模拟电话接口,分别连接三部模拟电话, 以实现i p 电话功能。 图3 - 1 家庭网关示意图 3 2 家庭网关的硬件平台设计 家庭网关的硬件平台以a r m 和d s p 为核心,同时具备电话接口专用芯片以及各种 存储设备。家庭网关的硬件整体结构如图3 2 。 南京邮电大学硕士研究生学位论文 第3 章家庭网关总体设计 c o p h o n e 图3 - 2 家庭网关硬件结构 整个硬件平台以a b m 7 处理器为主要控制器,完成系统的主要功能。该a r m 7 处 理器与两个网络接口相连,其中w a n 接口与a d s l 调制器的网络接口相连,接入到 n t e r n e t 网络,l a n 接口与本地网络相连,提供各种网络功能。f l a s h 模块用于存储操 作系统和应用程序,以及用户的配置信息。s d r a m 用于运行操作系统和应用程序。 f l a s h 和s d r a m 芯片都通过e b i 总线与a r m 微控制器相连。 d s p 模块部分实现语音的编码转换,将来自电话接口的p c m 语音转换成用于网络 上传送的r t p 语音包,或进行相反的转换过程。与d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论