APP下载

基于LINUX的IPTV机顶盒设计

2013-05-14蒋东云

卷宗 2013年2期
关键词:宿主机机顶盒内核

蒋东云

摘 要:IPTV对于实现媒体提供者和媒体消费者互动有着很大的价值,而且还可以配置多种功能来完成用户的选择,实现娱乐、教育及商务功能。本文围绕着IPTV的软件系绕、模块功能及其实时操作系统Linux对于整个模块的整体功能进行设计。

关键字:IPTV;协议标准;Linux

引言

信息通信技术的发展带来了国家信息化战略的大力推进,而且随着这个时期的到来,IP技术的发展也非常的快速,我国互联网宽带技术都得到了较大的发展,而且互联网在发展过程中,开始与一些传统产业融合而形成了新的发展力量,比如在这个时期出现了网络电视(IPTV),网络电视就是互联网技术与传统的电视产业相互融合而形成的,这是一个全新的产业,其优势在于不但超过了原先的电信运营范围,而且也超越了传统的电视产业的运营范围,也就预示着一个电子互动的娱乐市场的出现将无可避免,技术发展到一定的阶段,催生了新的产业,产业带动了整个市场的发展。

1、系统设计方案

被大众所直接使用的IPTV机顶盒终端,它的功能主要是支持LAN和HDTV等网络的传输,处理IP与音视频流,以及解码MPEG和WMV等,同时还支持认证功能的使用,共同相互交互满足管理中的访问控制等。

如图1所示,IPTV机顶盒的基本系统结构可以分为前端和网络,以及接收端三个部分,每个部分都由一些关键设备组成,在完成相应基本功能的同时,也要保证IPTV电视业务的顺利运营。

目前许多的方案在接收端这方都是选取电机加STB的模式,这种模式要求STB从互联网中能够将数据流接收下来,在经过处理后传输给电视机播放。因此,这种模式必须提供相应的网卡接口。文章中所要讲述的工作就是根据这种需求而产生。

2、嵌入式Linux平台的系统搭建

Linux是一种现代的网络操作系统,是目前最新的一种操作技术,如今有很多的嵌入式中应用此操作系统,是最为成功和完整的操作系统。由于它的优良特性,使它成为了嵌入市场的佼佼者。其主要的特点有以下几种:

(1)Linux拥有高效的内核稳定性

通过对Linux的应用,可以证明它的内核是非常精简,并且拥有高效稳定性的。由于内核采用的是单内核,还融入了微内核的理念,结合了两者的特点,用户还可以按照自己的需要进行插入和移走,因此,此系统非常适合在嵌入式中被运用。

(2)Linux开放源码,且有丰富的软件

Linux是开放源码的操作系统,并且拥有丰富的软件可供用户选择。由于嵌入式的种类特别多,要进行修改或优化的话,必须要对应具体的应用才可以实行,因此,源码的获得就必须被重视。嵌入式在开发时,只需要选择对应的软件就可以不需要重新来过。

(3)Linux受到广泛硬件的支持

Linux能够支持的体系结构有很多,并且在许多的硬件平台中也有被移植。其中包括:ARM和X86,以及PowerPC和MIPS等。因此,也带来了许多的吸引性。

3、基于LINUX平台的开发

1)建立主机开发环境

嵌入式系统的开发流程一般是:

第一,在宿主机上搭建所需要的开发环境,进行程序编码;

第二,宿主机同目标机建立连接,将应用程序下载到目标机上进行交叉编译;

第三,经过调试之后,将应用程序下载到目标机中运行。

如图2所示。嵌入式的平台有硬件和软件两种。硬件中有宿主机和显示设备,以及目标机等;软件中有连接器和编辑器,以及调试器等。在IPTV机顶盒开发环境系统中,硬件中的宿主机:Intel X86、Linux系统的PC;目标机:PNX8550(MIPS内核)处理器。局域网的建立与DHCP服务都是由路由器来完成的,而输出设备则是电视机。

2 )内核编译及文件系统设计

软件的编译是在Linux中进行的,由于目标板只可以运行程序不可以编辑程序,因此,编译的工作只能在Linux中进行操作。本系统的编译过程是:

tar xfz Mips-2011-10-15.zip

sudo./install-d/opt/eldk-4.1

正确安装路径,对环境的变量设定成CROSS-COMPILE-BASE与CROSS-COMPILE-PREFIX。

其安装的步骤如下:

tar xf stb810_tarballs-SP7.tar

tar xfz stb810_base-SP7_RC3.tgz

嵌入式Linux内核与所对应的文件,是在工具链及软件包完成安装以后才能进行的步骤。其具体的操作方法如下:

source./setup.sh

prjmake clean

prjmake all

嵌入式和硬件、处理器都是有着一定相互的关系的。为了达到硬件和系统的独立,此次的设计是利用IPTV中的软件分层来满足条件的。此分层的中心是嵌入式的Linux,当设计有问题的时候,Linux对问题程序进行更正就可以了。但是要注意的是能够不被变换的是中间层与应用层。因此,不仅提高了对代码的重复使用减少了更改,还在时间上得到了节省。

实时的操作系统与硬件程序是安装在资源软件中的,以实现对硬件设备的操作,在应用层中通过内置与下载的应用程序,CPU的指令通过解释层翻译识别,并结合硬件设备共同实现操作视频点播和DRM,以及下载等应用的完成。由于Linux有网络和块设备文件,以及字符设备文件,是通过写入和读写,以及访问接口的方式进行的块。在对其进行设备的辨别后,对不相同的设备采用命令mknod进行创建即可,但是要对创建的设备号进行主次的备号,并与之同类程序的划分和对应,在使用的过程中,位置的不一样,方式的不一样,或是操作的程序不一样等。如图3所示。

一般来说,设备驱动的开发流程是要对设备号进行主次的设定,进行初始化的程序和函数的清除、对所需要的函数进行操作,以及对数据结构file-operations定义后才能实现的。在结构中,每个成员的调用都有自己各自与其对应的系统进行操作的时候,系统自动找到与之对应的程序进行数据的读取,并将控制的权利赋予函数,注意所读取的数据是属于函数指针的。在程序中定义函数并实现操作。

LIFOlnitialize(&SISectionLargeDataList);//初始化一个列表SISectionLargeDataList

for(i=0;i

{

LIFOPush(&SISubTableList,i);

}

for(i=0;i

//为SISectionSmallDataList关联

//和定义存储空间。每个存储空间为

//1024字节,总共20*1024字节。

{

SISectionSmaUData[i].data=SISectionSmallDataBuffers[i];

LIFOPush(&SlSeetionSmfllDataLisL(UINT32)&SISectionSmallData[i]);

}

4、结论

本文从软件分层的角度阐述了IPTV机顶盒软件架构。研究了Linux下驱动程序的开发过程和Linux APIs,讨论了应用软件的设计方案,实践证明Linux操作系统在稳定性和可用性上是完全适合在本方案中是选

用的。

参考文献

[1]李善平,刘文峰,王焕龙等.Linux与嵌入式系统[M].北京:清华大学出版社,2003.52-67

[2]张郑擎,胡源.IPTV业务特点和相关技术[J].现代电信科技.2005.05

[3] 李帆,黄桂金.基于B/S架构的IPTV机顶盒的GUI的设计与实现[J].广东通信技术.2005(12):41-43

猜你喜欢

宿主机机顶盒内核
强化『高新』内核 打造农业『硅谷』
安全使用机顶盒注意五点
基于嵌入式Linux内核的自恢复设计
Linux内核mmap保护机制研究
虚拟网络实验室在农村职校计算机网络技术教学中的应用研究
数字电视机顶盒软件自动测试系统的开发及应用
有线电视高清数字电视机顶盒测试系统的构建
在不连接网线的情况下Windows与VM之间如何ping通