在我国,数字电视节目在许多省市已经开始试播,由于用户端使用的基本都是模拟电视机,无法接收数字信号,因此需要一种接收装置来担当二者之间的桥梁,这就是机顶盒(SetTopBox,简称STB)。它是一种扩展电视机功能的一种新的家用电器。它可以把卫星直播数字电视信号、地面数字电视信号、有线电视网数字信号甚至互联网的数字信号转换成模拟电视机可以接收的信号,使现有的模拟电视机用户也能分享数字化革命带来的科技成果。数字电视机顶盒是未来家庭必备的多媒体信息终端,使用数字电视机顶盒的有线电视用户,可以享受电视、数据、话音等全方位的信息服务。
目前,DVB-C除了完成基本的音视频解码还必须增加以下几个功能才能真正被市场接受。,提供对CA(条件接收)系统的支持。CA系统要求在接收端,机顶盒应该支持IC-Card接口与SmartCard进行通讯,并且提供标准的DVB数据流解扰模块。第二,实现对TS流的存储。第三,实现局域网网络接口。这样机顶盒可以接收从局域网传来的TS流,实现局域网上的视频播放。第四,实现Web浏览功能。用户可以通过机顶盒浏览网页,当然这需要现有电视分辨率的适当提高和专门网站的提供。
针对DVB-C机顶盒的这些要求,选择了Fujitsu公司的单片MPEG-2解码方案,这套方案较好地支持了各种接口和功能模块,且成本较低,以下是芯片的简单,然后介绍整套方案的软件和硬件。
1 芯片介绍
MB87L2250是由Fujitsu公司出口的单片机MPEG音频和视频解码器,它同时还有解传输复用功能并且集成了一片32位的RISC处理器。它为数字电视机顶盒提供了一种高性价比、高集成度的解决方案。在芯片设计中,MPEG解码和解复用都由硬件完成,而片内集成的工作频率为54MHz的处理器则主要用于运行客户应用程序,例如实现图形界面。由于MB87L2250采用了2.5帧体系结构,因此仅需要16M位SDRAM用于MPEG解码、OSD菜单以及数据缓存。整个芯片个有发下特点:
图1是MB87L2250的芯片结构图。
MPEG-2制定于1994年,设计目标是工业标准的图象质量以及更高的传输率。MPEG-2所能提供的传输率在3-10Mbits/sec间,其在NTSC制式下的分辨率可达720X486,MPEG-2也可提供并能够提供广播级的视像和CD级的音质。MPEG-2的音频编码可提供左右中及两个环绕声道,以及一个加重低音声道,和多达7个伴音声道(DVD可有8种语言配音的原因)。由于MPEG-2在设计时的巧妙处理,使得大多数MPEG-2解码器也可播放MPEG-1格式的数据,如VCD. 同时,由于MPEG-2的出色性能表现,已能适用于HDTV,使得原打算为HDTV设计的MPEG-3,还没出世就被抛弃了。(MPEG-3要求传输速率在20Mbits/sec-40Mbits/sec间,但这将使画面有轻度扭曲)。除了做为DVD的指定标准外,MPEG-2还可用于为广播,有线电视网,电缆网络以及卫星直播(DirectBroadcastSatellite)提供广播级的数字视频。
1.1 32位RISC处理器
这个片内集成的ARC处理器是采有了4层流水线技术的RISC微处理器,它的工作频率为54MHz.ARC内部集成了一个256×32位的指令cache.ARC的存储控制器包括了SRAM和SDRAM控制器。而MPEG解码器位于辅助地址空间,通过一个主机接口可以访问所有的ARC寄存器和处理器的整个地址空间。这个特性主要用于调试,但是也可以用于基于FLASH系统的次启动。芯片还有一种休眠状态,此时ARC的工作频率为13.5MHz.
1.2 传输流解复用和系统解码
完成这部分功能的是传输系统解码器(TSD)。通过TSD,主芯片可以接收8位的并行或串行数据流。TSD提供基本的同步和错误检测功能,但它的主要功能是作为PID分析器把的一路PES流从TS流里32路PES流中鉴别出来。TSD选出相应的有效数据和系统信息并把它们送给解码缓存。另外,TSD还提供分段(Section)类型数据的分析比较。
TSD中主要包括频道解码器(Channel Decoder)、PCR存储(Program Clock Reference Store)、PID分析器(PID parsing engine)、分段数据过滤器(Section Filter)等。为了支持有线广播的CA系统,TSD还包括一个标准的DVB解扰器。解扰器可以自动找到相应的控制字。传输流解复用和系统解码的流程图如图2所示。
1.3 视频解码及输出
整个视频解码和视频显示过程由VD_VUM(Video Unit Management)管理和监控。在它以下主要分为三个部分。其中,视频解码和参考图像的内存分配由VUM_VDM(Video Decoder Manager)管理;图像显示由VUM_VOM(Video Output Manager)控制;B帧图像的缓存管理则由VUM_MIM(Memory Interface Management)负责。
视频输出主要由视频输出接口来完成。视频输出接口从本地SDRAM中读入解压后的视频数据,然后以Y、Cb、Cr格式输出。它同时还提供数字视频输出,数字视频输出的设计是用于直接和视频DAC连接的。这个模块还包括专门的硬件模块来支持OSD(OnScreenDisplay)和以VBI方式插入teletext.视频输出接口中还包括行场同步过滤器,用来支持一些视频格式转换,包括色度信号变换和高清格式转换。
1.4 各种接口
MB87L2250支持的接口较多,除了一般性的Debug口、串口,还支持IC-Card接口和一个Host接口。IC-Card接口提供了两个独立的支持ISO 7816 IC-Card的接口。它们只支持异步的IC-Card.这个接品直接由CPU的主接口控制,所以不会影响音视频解码。这个接口主要包括一个串行转并行和并行转串行的转换器,它需要时钟和逻辑控制的支持。CPU提供需要传输的完整数据帧给IC-Card,并从IC-Card接收所有的数据帧。IC-Card接口监控接口时钟并支持数据帧、数据时钟和错误处理,而CPU负责实现通讯协议和帧的打包。Host接口是用来外接其他CPU而不使用集成的ARC处理器,也可用来扩展RAM或外接硬盘等。它支持的CPU有三种:FR30(25MHz),Motorola68xxx(33MHz),SPARClite系列(40MHz)。
2 方案介绍
2.1 系统原理图及外围芯片简介
整个系统由射频、主芯片、存储器、输出共四个部分组成。以下将介绍除主芯片部分以外的其他三个部分。图3是系统原理简图。
(1)射频部分
射频部分主要包括高频头和解调芯片,分别进行射频的变频和信道解码。在本系统中选骼的高频头是THOMSON公司的DCF8910,解调芯片是ST公司的STV0297.系统工作时,先由高频头将RF频段的数字调制信号进行下变频,再进行正交解调变成两路IQ信号。然后将数字基带信号输入STV0297,进行数模转换和信道解码,形成数字信号给后级,其中包括DaM[07]、出错信号DerM、数据有效DvLM、帧同步PsyM、时钟信号ClkM.对高频头和STV0297的读写操作均通过IIC总线完成。
(2)存储器部分
存储器部分包括两睡512K×16Bit的FLASH,一片2512K×16Bit的SDRAM,一片64Kbit的EEPROM和一块挂在Host接口上的IDE硬盘。SDRAM作为应用程序运行时的内存空间,其地址线包括行选地址线a0…a11、列选地址线a0…a7及Bank选择线a11,总的地址空间为2M字节。FLASH与SDRAM共用数据总线和地址总线,为不发生冲突,需要使用74LS138译码器来进行片选。EEPROM选用24C64,通过串行IIC总线对它进行读写。
(3)输出部分
输出部分由音频输出、视频输出和串口输出组成。视频部分选用视频编码芯片SAA7128/29,它将送出来的数字视频格式进行数模转换,经过视频矩阵编码成模拟的视频信号。它可输出cvbs,y、c和R、G、B三种信号。该芯片工作在Slave模式下,即数据时钟由主芯片供给,SAA7128/29利用此时钟对数字信号进行锁存。控制信号有Hs行同步、Vs场同步,主芯片通过IIC总线对它进行控制。
2.2 软件模块和功能介绍
为了丰富DVB-C机顶盒的功能,除了实现音视频解码及控制和基本的DVB-C功能外,还编写了以下几个软件模块:
(1)基于嵌入式系统的GUI(Graphic User Interface)。
美观、简洁、功能强大的图形界面对于DVB-C机顶盒是十分重要的,因此编写了一个基于嵌入式系统的GUI.在本系统中,GUI主要完成了三部分的功能:,封装图形设计API.在OSD的驱动程序中基本的图形原语均已实现,其中包括点、线、矩形、填充等基本操作和汉字字库的存储、显示;第二,提供图形控件(Control)机制。Wimodws9x中图形控件的概念符合面向对象程序设计的思想,使用起来简单灵活,维护和修改也十分方便。在GUI的设计中,仿照Windows9x实现了控件机制;第三,进程间通信及消息传递的管理。在一个多进程实时系统中,GUI也必然包含一个进程来接收其它进程发给用户界面的消息。
(2)EEPROM上的文件系统
EEPROM中主要存储的用户信息。随着功能的不断丰富,用户会有越来越多的信息需要存储,因此就需要一套简单有效的文件系统来组织各种不同的信息。同时,文件系统还要尽量克服EEPROM读写时间较长、不允许读写时断电等缺点。在对EEPROM操作写操作前,先将需要进行的操作过程记录下来,并清空操作完成标志;如果在操作过程中断电,下次开机时根据操作完成标志可知EEPROM在操作过程中发生了断电,按照记录下来的操作过程恢复操作。
(3)CA系统接收端的实现
CPU复位后,首先轮询读SmartCard,以检查SmartCard是否存在。如果SmartCard存在,则根据读出的控制字判断其是否是对本机顶盒合法的SmartCard.进行这样的读机制主要是为了防止一卡多机(一张SmartCard驱动多个机顶盒)的非法情况出现。当SmartCard合法后,机顶盒从TS流中提取ECM段和EMM域,其中EMM域的PID在CAT的ca description中,ECM段的PID在PMT的ca description中。经过简单的么有加密算法加密后,这些信息被送往SmartCard.然后,CPU再次轮询读SmartCard,以检查是否控有控制字输出。以上过程中CPU和SmartCard的交互均通过IC-Card接口实现。机顶盒不断重复以上过程,若ECM或EMM版本号已更新,则将新版本送往SmartCard解密。获取到正确的控制字后,机顶盒就可以利用硬件解扰模块进行解扰。
3 实现结果
目前已经按照这套方案做出了DVB-C样机。根据这套方案实现的DVB-C机顶盒具有功能多、主板面积小、成本较低、可扩充性好等特点。在样机的基础上还可以在实时操作系统的技术下,实现网络接口和Web浏览等功能。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。