新型数字机顶盒的管理模块设计
发布时间:2006-10-14 4:14:04   收集提供:gaoqian
吴资玉 谭保初


  1引言

  有线电视数字机顶盒是用模拟电视机接收数字电视节目、提供广播与交互式多媒体应用功能的终端设备。近年来,随着数字多媒体业务和Internet网络的迅速发展,新型数字机顶盒可以有效利用我国巨大的有线电视网络资源,完成视频点播、数字电视的接收、IP网络电话及接入Internet等综合业务功能。这种数字机顶盒已由以前单一的解密收费装置发展成为集解压缩、调制解调、解密收费和交互控制为一体的数字化传输和终端设备。

  新型数字机顶盒将家庭的数字业务用一个终端设备进行整合,符合未来家庭用户的需求。但由于其功能繁杂,存在着许多新的技术难题,比如:如何有效地协调管理数字电视、IP电话、Internet连接等综合业务;目前许多机顶盒均是单向的或者利用电话线回传,如何实现视频点播等新兴的服务业务等。因此,我们有必要选取主频较高、数据吞吐量大、具有宽带交互功能和高性价比的处理芯片以及优良低廉的软件平台来完成管理模块的设计。

  2方案设计与芯片选择

  首先对数字机顶盒进行了需求分析,即通过数字机顶盒向家庭用户同时提供互联网接入、数字电视及IP电话业务,并可开展丰富的增值业务。根据业务需求及接口方式,新型数字机顶盒的硬件体系结构采用了模块化的设计,主要包括外部以太网接口模块、内部以太网接口模块、模拟用户线路接口模块、音视频解码模块和中心管理模块。外部以太网接口模块提供与外网之间的以太网接口,内部以太网模块提供与户内电脑的以太网接口,模拟用户线路接口提供两路模拟电话机的接口;音视频解码模块提供一路数字电视的解码输出及其相关交互功能;管理模块则负责各业务流的协议及接口转换。首先,外部以太网接口接收外网路由器或交换机转发的数据帧,将其解封装,转交给网络处理器按3种业务进行分流;音视频解码处理模块接收主控制芯片分流后的TS数据流,进行MPEG-2解码后,输出到PAL/NTSC编码器,编码成模拟电视信号;内部以太网接口接收IP数据包,封装成MAC数据帧送往电脑终端;IP电话处理模块通过CODEC编解码芯片完成数字信号和模拟话音的转换后送往模拟话机。  

  在本文的设计方案中,中心管理模块完成了IP电话(语音业务),家庭上网(综合数据业务)和数字电视(视频处理业务)3种业务的网关功能。经过分析比较选择了三星公司生产的ARM7系列的S3C4510B作为其主处理芯片。S3C4510B是一款针对嵌入式应用的16/32位嵌入式处理器,该微控制器专为以太网通信系统的集线器和路由器而设计,具有低成本和高性能的特点,它内置了ARM公司设计的16/32位ARM7TDMI处理器,可以执行32位的ARM指令,也可执行16位的THUMB指令,并集成了多种外围部件。S3C4510B的系统时钟频率达到50 MHz,8 kB的Cache/SRAM,4 MB的Flash用于存放系统引导代码、嵌入式操作系统和应用软件。在设计的管理模块中,S3C4510B通过系统总线与一片FPGA芯片XC2S30相连。XC2S30与双通道VoSLAC(Voice over broadband Subscriber Line Audioprocessing Circuit)芯片Le78D11相连,Le78D11与双通道VoSLAC芯片Le77D11相连扩展出两个模拟用户线RJ11接口,用于连接两路模拟电话机。S3C4510B有两个UART,其中一个与音视频解码模块的串口线交叉连接,以提供一条仿真的SLIP链路;另一个UART通过MAX232扩展一个DB9接口,用于管理模块的控制终端接口,这个接口在系统调试及故障检测时非常有用。S3C4510B具有JTAG接口,可用于系统在线仿真调试以及FLASH编程等。

  3基于uCLinux操作的体系结构

  新型数字机顶盒的主要软件工作集中在以S3C4510B为核心的中心管理模块,其软硬件体系结构可以分为4层,从底层向上分别为:硬件平台、底层软件、中间件和应用软件层。底层软件包括软件操作系统平台和驱动程序。中间件是一种将应用程序与底层的操作系统、硬件细节隔离开来的软件环境,它通常由各种虚拟机来构成,如HTML虚拟机、javascript虚拟机、Java虚拟机、MHEG-5虚拟机等等。

  新型数字机顶盒的底层软件选用uClinux作为其操作系统平台。选用uClinux的原因在于它是源码开放的嵌入式操作系统,虽然其实时性能一般,但可以采用RT-Linux for uClinux的Patch来增加其实时性能,并针对各应用的特点使用一些特殊处理(如中断驱动)来解决实时性问题。由于在网络处理模块部分需要复杂的网络协议支持,而uClinux内嵌了TCP/IP协议,并可以借鉴Linux的丰富资源,因此选用uClinux可以提高开发的灵活性。如果选用商用嵌入式操作系统,那么各个组件的费用将是一笔非常大的开销。

  uClinux是一种优秀的嵌入式Linux版本,它集成了标准Linux操作系统的稳定性、强大的网络功能和出色的文件系统等主要优点。uClinux同标准Linux的最大区别在于内存管理,标准Linux是针对MMU(Memory Management Unit)的处理器设计的,而uClinux可以运行在没有MMU的处理器上。uClinux具有现代UNIX的所有特征,例如多任务操作、虚拟内存、共享程序库、进程调度、完美的存储器管理和TCP/IP网络协议等。此外,它与POSIX标准兼容,而采用POSIX标准的程序具有更好的移植性。  

  bootstrap:它负责启动uClinux内核以及初始化包括SDRAM在内的系统资源。这部分代码(boot loader)用来建立起系统运行环境和在加载前初始化Ramdisk。

  内核初始化:uClinux内核的入口是startkernel(),它用来初始化其他部分内核,包括中断、IRQ通道、设备驱动等,最重要的是它可以派生出一个“init”进程来启动多任务运行环境。

  设备驱动:构成uClinux内核的主要部分,和其他的操作系统一样,驱动程序用来联系操作系统和它们所控制的硬件设备。

  文件系统:uClinux的重要特征之一就是支持多种不同的系统文件,这使得它对其他的操作系统有很好的兼容性,uClinux支持多种不同的系统文件并且把它们转换成一种统一的虚拟文件系统。

  限于文章篇幅和实验条件,我们只简要介绍一下在uClinux系统下利用电脑终端和数字机顶盒的数据收发的实现过程。电路裸板的硬件开发环境包括目标电路板、仿真器、宿主机和以太网交换机。仿真器使用并口电缆与电脑终端相连,使用20针扁平电缆与目标电路板相连,主机和目标板都使用普通网线与交换机相连。我们在主机上安装终端仿真程序(在Windows下Hyperterm,在Linux下Minicom)和目标电路板进行通信。

  打开主机上的超级终端,选择连接速度为19 200 bps、无奇偶校验、8个数据位和1个停止位、无流控。接通板子的电源,选择将目标板跳线J1的1,2脚短路,BOOTLOADE(引导装入程序)将会执行烧入的uClinux固化内核。在LINUX的命令提示符后输入以下命令:ifconfig eth0 192.168.100.120。我们是根据主机的IP地址:192.168.100.119,子网掩码:255.255.255.0,将目标板的IP地址设为:192.168.100.200,保证目标板和宿主机在同一个网段。用PING:192.168.100.119命令,可以PING通宿主机了。键入cd tmp,进入一个可写目录。我们采用FTP的方式和主机相连,ftp:192.168.100.119,输入已经建立的用户名和密码,建立连接。为传输二进制文件,键入命令:binary,得到如下提示:200 Type set to I,将以前编译生成的test.o文件传到目标板上:get test.o。 文件传送完毕后,给它加上可执行属性,在超级终端中键入以下命令:chmod 755 test.o,就可以使用./test.o命令执行该文件了。

  
摘自《中国有线电视》
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50