基于HHBF561开发板和μClinux操作系统实现家庭网关设计方案

描述

家庭网络的目标是将一个家庭中的各种信息家电(如数字电视、游戏机、PDA等)及其它控制设备(如电表、水表、汽表、能源自动控制、保安系统等)通过网络连接为一个小范围的局域网,以便集成控制网和信息网的服务,即解决“最后10米的问题”,它主要包括家庭网络的联网技术和接人技术两部分内容。由于未来家庭内部将会有多个信息设备(包括电脑、信息家电和控制设备)同时联入Internet,为降低家庭用户管理和维护的复杂性,一般不可能为每个信息设备都提供一个Internet出口,而且在目前没有一种主导联网解决方案的情况下,要解决各种信息设备之间的互联和互操作问题,通常在考虑家庭网络的组成时,往往会设置一个家庭网关。家庭网关是家庭区域网的关键设备,它可使家庭中的信息设备相互通信,并可通过同一个Internet高速管道实现集成的语音、数据和视频服务。

1 基于HHBF561的家庭网关技术

家庭网关平台主要完成网络协议的转换和处理,包括MPU,RAM、ROM、多种网络接口及外设接口、RTOS、网络通信协议和应用软件等。家庭网关是一个家庭专用设备。与实现网关功能的普通PC机相比,传统的操作系统往往不够稳定,易用性较差。而作为提供关键功能(如安全可靠)的网关。专用设备则在性价比上存在较大优势。考虑到家庭网关的灵活性、可移植性,本文基于HHBF561开发板,并采用主流家庭联网技术和接入技术,来对家庭网关进行如下定义:

(1) 网关是一个协议转换器,是一种可以对数据格式。传输速率和媒体驱动方式等协议的转换和通信转发的设备。

(2) 设备资源管理器必须有一个I/O设备,通常应由一个输入装置(键盘,鼠标或话筒等)和显示装置组成,并应能解释设备描述文件。

(3) Web服务器应具有浏览器功能,可以将设备配置管理文件转换成操作页面,并具有用超文本传输协议HTTP发送的能力。

(4) 网关还应该是一个防火墙,应能保证家庭网络的信息安全。

2 基于HHBF561平台的软件开发

整个开发系统包括硬件开发板、底层软件支持库、驱动程序、操作系统和上层应用程序。这里以实现可视VoIP网关为例对其进行详细介绍。

在网关软件的整体结构中,网关的上层应用包括最主要的控制部分程序,主要负责控制SIP核心协议栈SIP和RTP/RTCP核心协议栈的正常运转。同时控制芯片工作以完成IP网侧和PSTN网侧协议的相互转换。而其它部分软件由于各自的功能比较集中,因而可单独模块化实现。而整个软件运行的基础则是嵌入式操作系统。

操作系统

2.1 μClinux操作系统

Linux是一种很受欢迎的操作系统,它与U-NIX系统兼容,并具有开放的源代码。它原本被设计为桌面系统,现在则广泛应用于服务器领域。Linux更大的影响在于它正逐渐的应用于嵌入式设备。μClinux正是在这种氛围下产生的。在μClinux这个英文单词中,μ表示Micro(小的意思),C表示Control(控制的意思),所以uClinux就是Micro-Control-Linux,字面上的理解就是针对微控制领域而设计的Linux系统。

μClinux的一大特点是它没有MMU(Mem-mory Management Unit,内存管理单元),它是针对没有MMU的CPU而设计的,并专为嵌入式系统做了许多小型化的工作。虽然μClinux不能使用处理器的虚拟内存管理技术,但出于移植简单和尽量靠拢标准Linux的需要,μClinux仍然沿用标准Linux的分页内存管理结构。系统在启动时将对实际存储器进行分页,它实际上采用的是实存储器管理策略。μClinux系统对于内存的访问是直接的,它对地址的访问不需要经过MMU,所有程序中访问的地址都是实际的物理地址。该操作系统对内存空间没有保护,各个进程实际上共享一个运行空间,而没有独立的地址转换表。一个进程在执行前,系统必须为进程分配足够的地址空间,然后再全部载入主存储器的连续空间。

操作系统

2.2 μClinux的移植

由于向一个新的平台上移植μClinux会涉及到很多文件,但是最主要的还是要使uClinux在指定的平台上正常启动,其它与平台相关的文件可以在进一步开发过程中再进行修改,我先分析一下在启动过程中都有哪些文件和具体硬件平台相关,再修改相应文件,以便一步一步地完成系统的移植工作。

2.3 Bootlaoder

Bootlaoder在没有操作系统支持的情况下,便可构建最简单的软件运行环境,并可将其保存在BOOTROM中,这样,系统上电就能直接运行,从而实现简单命令行控制和网络通讯功能。该开发板可从上位机通过tftp下载操作系统,并提供gdb调试,同时可以在此软件平台上搭建脱离操作系统的应用程序。Bootloader的启动模式要求其能够实现自动加载功能。这可借鉴vxworks中的启动方式,即可启动之初有一小段时间等待用户输入,一旦用户输人就进入下载模式。下载模式可提供手动下载和内存监控功能。

操作系统

2.4 TCP/IP网络协议栈

通过家庭网关可使网络与各种信息设备相连,相互交互进行工作,但需要支持多种协议。物理层和数据链路层协议主要包括UWB协议和Cable Modem链路控制协议;网络层和传送层协议主要包括ARP、RARP、ICMP、DHCP Client/Server/Proxv、PPP、TP、DNS、RIP V1.0/V2.0、TCP、UDP等协议;应用层协议主要包括TFTP、TFLNET、STMP、IMAP4、POP3、HTTP和SNMP等协议;安全协议可以采取一些较为简便的安全措施,如包过滤、NAT/PAT及多层次口令保护等。上述协议是家庭网关中可能用到的最大协议集合。实际上,在开发具体产品时,可根据应用情况和产品配置情况进行合理的裁剪。

3 基于HHBF561平台的硬件设计

本文给出了两种硬件设计方案,分别为IPTV机顶盒解决方案和可视VoIP解决方案。

3.1 IPTV机顶盒解决方案

在该方案中,32位RISC MCU负责运行嵌入式Llinux,以进行无线局域网/以太网传输、硬盘存储、音频编解码、文件管理以及控制处理等。MCU从网络接收到的媒体流可以存储到硬盘或者通过SPI接口(速率可达12 Mbps)传给BF533,然后由BF533负责H.264@D1格式的视频编解码。该产品可实现的功能如下:

(1)支持H.264@D1格式的视频播放;

(2)支持PCMCIA+802.11b无线接入;

(3)支持IrDA红外遥控;

(4)支持100Mbps以太网;

(5)支持硬盘存储;

(6)实现VGA/S port/CVBS视频输出和立体声音频输出;

(7)支持PS2键盘输入。

3.2 可视化VoIP解决方案

目前,ARM9系列的处理器在手持终端(如PDA、Smart Phone、PMP)产品上已经有了非常广泛的应用。而实际上,它在可视电话上也有非常明显的优势。因此,设计一个基于BF533和ARM9(400 MHz) MCU的可视VoIP电话方案是非常可行的。

该方案通过使用ARM9+BF533以及相关的软件支持可以实现以下功能:

(1)在局域网和广域网内进行音视频的电话对讲;

(2)通过多媒体娱乐功能可以播放MPEG4视频和MP3、WMA音乐;

(3)支持email服务;

(4)支持软键盘和手写输入;

(5)可外接键盘和鼠标。

4 相关说明

4.1 语音编码技术

语音通信是可视电话最基本的功能。然而,受网络条件的限制,可视电话不可能占用太大的带宽。为了适应低码率语音通信的要求,ITU-T推出了G.72X系列语音压缩标准。其中G.723.1、G.728、G.729和G.729A已在IP电话中得到了广泛应用。不同的语音压缩标准所采用的技术不同,它们可提供不同的码率、时延和语音质量。

4.2 视频编码技术

原始的视频数据需要占用非常高的带宽。因此,如果要通过网络传输,必须通过压缩技术尽量降低视频资料的码率,以适应不同的网络条件。事实上,视频压缩算法的效率决定着可视电话的图像质量和应用前景。

4.3 通信协议

为保证可视电话通过网络进行可靠的通信,不同的终端必须运行统一的通信控制协议,以保证相互协同工作。ITU-T推出的H.320/323标准是面向不同网络、不同网络介面,不同信令过程、以及为适应不同网络而优化设计的包结构。其中复用协定规定了视频资料、语音资料等的打包标准,而控制协定的作用则是在终端之间协商通信方式,如视频编码标准的协商,语音编码标准的协商,通道带宽的协商等。基于以太网的可视电话通常采用H.323控制协议。

5 结束语

家庭网关做为家庭网络中最重要的一个设备,它连接着家庭网络与运营商,因此,对于家庭网络的开展至关重要。本文基于华恒科技的HHBF561开发板所设计的嵌入式家庭网关平台,提出了两种家庭网关设计方法,并对可实现的功能进行了描述。

责任编辑:gt

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分