基于晶图IS1521芯片的DVB-C机顶盒系统方案

本文介绍了采用国产芯片实现DVB-C有线机顶盒的解决方案。在此方案中,解码的核心芯片采用了杭州晶图微芯技术有限公司的IS1521。   IS1521 是由杭州晶图微芯技术有限公司 ( ImageSiliconTM ) 自主研发的一款针对数字电视机顶盒DVB-S/C/T 的大规模系统级 ( SoC ) 数字电视信源解码芯片。IS1521内部集成有MPEG2音视频解码器、32 位高性能RISC CPU、TS流解复用器、OSD 控制器、电视信号编码器等模块。CPU时钟频率为108MHz,芯片功能强大,采用LQFP144封装,占用PCB面积小。视频解码支持MPEG2 MP@ML,可实现任意大小的视频缩放和16:9与4:3的模式转换,支持多个OSD图层的视频叠加,可编程实现多级菜单。视频输出支持PAL或NTSC制式的CVBS、S-video、YCbCr、RGB模拟视频接口。音频解码支持MPEG1、MPEG2 的 Layer I/Layer II/Layer III和AC3格式,可支持数字I2S/SPDIF 音频格式输出。TS流解复用器支持TS层、PSI和PES层的解复用。此芯片有I2C、UART、SmartCard、GPIO、irDA 、SDRAM、FLASH等接口。  1.基本硬件组成硬件的主要部分由高频头(包括RF、QAM解调器)、信源解码主芯片、数据存贮器SDRAM和程序存贮器Flash等部件组成。本方案的Tuner采用Ximei的高频头、主芯片采用IS1521。系统原理框图如下所示。系统的工作原理为,有线数字电视信号输入到高频头,经高频头内的RF芯片输出到QAM解调器,QAM解调器解调后输出TS流。该TS流输入到主芯片IS1521内置的TS流解复用器,过滤出特定PID号的TS包并解扰,输出基本音视频流ES、PSI等信息(也可选择直接输出某个PID的TS包),输出的ES、PSI数据存放在外置SDRAM中,供解码器进一步处理。IS1521内置的音视频解码器接收解复用后的ES流,经解码后输出音视频信号。视频解码器采用快速算法及流水线操作,可大幅提高解码速度和效率,解码输出的视频信号可经视频叠加实现OSD功能。IS1521内嵌有强大的32位CPU,可完成对系统功能的复杂控制和计算。本方案在功能上完全满足DVB-C数字电视机顶盒的要求。下图为基于IS1521方案的数字电视机顶盒。2.软件系统构架本机顶盒软件系统能实现自动搜台、EPG、NVOD、在线软件升级、以及复杂的用户界面显示和控制的功能。其操作系统采用uC-OSII实时操作系统。在此系统上采用多任务机制实现了机顶盒的所有功能模块,包括:TS/DVB PSI解复用模块、数字电视的解码和播放模块、外围控制电路的接口模块、总线控制模块,GUI界面生成与控制模块等。各个模块之间采用消息队列或信号量进行通讯。下图给出了系统架构。2.1 底层模块Bootloader:高效的bootloader可快速的将FLASH上的压缩程序映像取出放入内存,并解压运行。设备驱动:系统独立的设备驱动模块能方便的移植于不同的操作系统上。能够高效可靠并方便的实现对同一种设备的不同硬件的扩充支持。已经实现的设备驱动有:看门狗、video与audio控制、串口、tuner、红外线遥控、I2C总线控制、EEPROM、可编程传输流控制接口、OSD图层控制、LED控制、Smartcard、FLASH,及DMA等。系统API接口:供程序员方便实现各个应用层任务间的通讯交互以及任务与驱动的耦合。 2.2 中间件与中间件uClib库:移植好的uClib库能帮助程序员利用标准的C库函数接口快速的开发出应用程序,并且可使应用程序便于移植。DVB协议库:能全面快速的分析DVB标准的PSI表和描述符信息,如PAT表,PMT表,SDT表,EIT表等及各种描述符,可供程序员快速的开发应用程序。GUI库:提供常用的GUI控件,如按钮,列表,对话框等,提供中文点阵字体库,支持GB2312汉字库与Unicode字库,窗口管理系统可使各个控件进行消息传递,完成复杂的控制。GUI库可帮助程序员完成漂亮的用户界面设计,实现复杂的用户控制。解复用模块:处理TS通道、过滤器、缓冲区管理,包括设置TS包的PID、PSI表(如PAT,PMT,EIT等)的过滤条件,管理通道缓冲区。CA与解扰模块:管理解扰器,解扰特定PID的TS流,此模块便于实现对各种CA系统的支持。数据库模块: 实现对节目信息的存储和操作管理,如添加搜索的频道列表,节目列表,频点列表等。频道转换模块:解复用并解扰TS流,完成频道转换和播放功能。EPG与预约管理模块:实现EPG信息的处理和显示,如显示当前频道的正在播放节目和即将播放节目的名称、播放时间,一周节目列表等,并可预定节目。音视频操作模块:控制音频解码器,调节音频播放/停止、音量设置、静音设置、声道设置。对视频解码器的控制包括视频信号判断、PAL/NTSC判断与转换、节目播放与暂停等。用户界面控制模块:实现与用户操作相关的控制,其中包括了电源、前面板按键及LED显示;红外线遥控器处理;图形显示等。图形控制模块负责处理OSD操作界面显示和用户操作,该模块还包括遥控器消息分发和处理、GUI系统的实现和管理等功能。 系统升级模块:可通过在线接收打包好的特定TS流实现程序更新,满足升级应用程序的需求。 3.开发环境IS1521的开发语言采用标准的C语言,开发环境可在Unix/Linux下采用跨平台的gcc编译器,也可在win2000/winXP下的Cygwin环境中使用跨平台的gcc,编译器支持C89,C99标准的C语言。移植好的Binutils工具可帮助系统工程师完成系统级的调试。目标板的程序调试可通过两种方式进行:一种方式是使用JTAG接口将程序映像下载到目标板上的FLASH再启动运行,另一种方式是通过串口将程序映像下载到目标板的内存中直接运行,此方式很适合应用程序的调试。我们的系统软件采用模块化设计,各种基本功能都已经稳定高效的实现,能帮助机顶盒设计者快速的开发出各种应用程序。随着数字电视平移的开展,各地方欲实现的业务和功能也有所不同,采用我们的软硬件方案能快速的实现所需要的终端产品即机顶盒。与其他方案提供商的机顶盒方案相比,我们的开发方案不仅能帮助机顶盒开发商快速开发出可靠的产品上市,更能节约大量成本。