新闻  |   论坛  |   博客  |   在线研讨会
DVB-C机顶盒信源解码器的设计与实现
yanqin | 2009-06-24 17:42:22    阅读:2019   发布文章

 

摘  要:本文实现了以sc2005为主芯片的机顶盒信源解码器,并将该解码器配接l64768前端,组成了符合dvb-c标准的完整机顶盒方案;可对符合mpeg-2标准的音视频流进行解码并兼容pal/ntsc/secam制式的模拟电视接收。
关键词:dvb-c;机顶盒;信源解码器;sc2005

引言
    近年来,我国广播电视数字化发展的进程明显加快,从而直接引发了对机顶盒(set-top box)的巨大市场需求,凸显了其重要性。在机顶盒的研发过程中,信源解码器的研制是整个开发工作的基础和核心。随着机卡分离政策的出台,信源解码器的通用性和复杂性,使其在机顶盒终端的开发过程中变得更加重要。本文论述的即为符合dvb-c标准的数字有线电视机顶盒信源解码器的设计与实现。
  
总体方案
    机顶盒大体可以分成两个功能部分:信道解调解码部分和信源解码部分。信道部分即前端,负责对数字电视信号进行解调接收和信道解码。由于前端的不同,机顶盒可分为数字卫星机顶盒、数字地面机顶盒和数字有线机顶盒三种。

  该信源解码器是针对数字有线电视机顶盒研制的,将配接l64768前端,组成符合dvb-c标准的完整机顶盒方案。本文采用lsi logic公司的基于sc2005的第二代单片信源解码方案来实现解码功能。该解码器的结构框图如图1所示,按功能可分为4个部分:以sc2005为核心的cpu及存储控制子系统;传输流解复用和音视频解码子系统;图形处理和屏幕菜单显示及输出子系统;外围接口子系统。

740)this.width=740" border=undefined
图1  机顶盒信源解码器

硬件实现
    该信源解码器的启动代码存储在flash boot rom中,所用字体则存储在flash font rom中。sc2005的两个sdram存储器接口分别与sdram-a和sdram-b相接。系统加电后,保存在flash boot rom中的启动代码被调到sdram-b中执行。时钟由27mhz压控振荡器经倍频后提供。压控振荡器产生的时钟信号经过74lvc14整形后送到sc2005的vcxo引脚,并通过sdet引脚的输出进行同步恢复。传输流复用、音视频解码、图形处理等功能均由sc2005内部相应的集成模块配合外部相关电路来实现。

cpu及存储控制子系统
    sc2005集传输解复用器 l641x8和mpeg-2音视频解码器l64105的功能于一体,内含ez4102内核、16kb指令cache和8kb数据cache,这是sc2005的核心组成部分。

    该信源解码器所用的两片1m×16bit flash rom均为am29lv160dt-70,使用单一电源供电,读写和编程均使用3.3v电压,高速70ns读写时间。它们通过e-bus与sc2005相连,地址总线a[6:0]和sc2005的addr[7:1]相连,a[19:7]和sc2005的ad[28:16]相连,数据总线dq[15:0]和sc2005的ad[15:0]相连。芯片内部共有35个扇区,其中4个作为引导扇区,大小为4k字~16k字,其余31个扇区为32k字;有一个字节/字模式选择引脚byte#,本设计中该引脚接高电平,选择字模式。

    81mhz/1m×16bit的sdram-a和108mhz/2m×16bit的sdram-b通过s-bus 与cpu的sdram存储器接口相连。其中sdram-a专门用于mpeg解码时存储视频帧和相关信息,sdram-b存储解复用、osg和外围设备接口子系统的信息。sdram-a与sdram-b之间可通过一个dma引擎直接传送数据。

传输流解复用和音视频解码子系统
    sc2005首先接收来自信道解码器或码流发生器的ts流,然后自动进行传输包同步检测。一旦同步建立,就会将传输包发送到pid预处理器中。pid预处理器分析输入的传输包,检查它们的pid值,只有和pid表匹配的pid值才能通过第一步滤波,不匹配的包被丢弃。通过pid滤波器的传输包被送到dvb解扰码器中,经过解扰的包进入pid后处理器,在经过滤波后,音视频pes数据直接进入a/v解码器中,而其它数据被送到外部sdram-b的循环缓冲器中,cpu能直接从存储器中读数据。传输流解复用子系统的结构框图如图2所示。

740)this.width=740" border=undefined
图2  传输流解复用子系统

    解复用后的音视频pes流通过a/v接口进入l64105 mpeg-2解码器进行分组解码。l64105输出数字视频和数字音频信号各两组。一组数字视频和一组数字音频信号直接输出。另一组的数字视频信号送到视频编码器中,被转换成全电视信号(cvbs)或s端子信号(y/c),经过外部低通滤波后,直接送到电视机中;数字音频信号送到音频dac中,转换成立体声模拟信号,经外部低通滤波后输出。

图形处理和屏幕菜单显示输出子系统
    sc2005集成了高性能的osg(on-screen graphics)子系统,该子系统可产生文本和图形并叠加到解码的视频上。osg子系统产生静止层、osd层和光标层;解码子系统提供视频层;混合器/编码器子系统产生背景颜色层,并在视频输出之前将上述5层进行编码复合,从而根据需要显示所要输出的复合视频。这个子系统将来自osg子系统的图形和解码视频数据进行混合编码,然后输出ntsc/pal/secam制式的rgb/ypbpr、cvbs或s视频信号给电视机或监视器。

740)this.width=740" border=undefined
图3  ata硬盘接口


外围接口子系统
    该信源解码器集成了一个ata硬盘接口,如图3所示。用户可以通过此接口实现个人数字录像机pvr(personal video recorder)功能;还可在硬盘中开设海量缓存区,在播放数字电视的同时,对节目进行长达数小时的实时存储。依赖这种缓存技术,用户可以进行时移播放。

    该解码器拥有一个tda8004t智能卡接口和符合ieee 1149.1标准的jtag模块,提供了基本的调试功能,还提供了lvds接口,用来接收码流发生器输出的ts流。由db-25接口输入的lvds信号通过3片ds90c032进行电平变换后,进入解码器。此外,该系统还使用了一个uart,用于机顶盒的调试和软件升级。

740)this.width=740" border=undefined
图4  机顶盒软件分层框架

  
软件设计
    软件系统基于一个分层的框架,其中,部分由lsi logic在其参考软件中提供,其它部分需要由用户自行开发。软件的整体结构如图4所示。

    实时操作系统层(rtos)是所有上层程序代码运行的基础,主要负责多任务调度、系统资源管理、中断处理、通信操作和同步处理等。本文使用的是windriver公司专门为嵌入式系统设计和开发的一个模块化、高性能的实时操作系统psosystem。rtos层用板级支持包(bsp) 来实现与硬件层接口。

   操作系统移植层(osp)实现两个主要功能:一个是动态配置任务的属性,如上下文的切换,优先级等;另一个是管理任务之间的通信,如数据传输与同步。硬件抽象层(hal)负责直接对硬件寄存器编程;设备驱动层(ddl)是硬件抽象层的一个明了、方便的备份和封装,主要针对各硬件模块提供相应的驱动程序,如sc2005异常处理的驱动、时钟服务模块的驱动和osg图形库的驱动等。应用程序接口层(api)为上层的应用程序提供api函数。

   驱动适配层(dal)是对设备驱动层功能的进一步集合,通过功能组合可以直接应用到应用程序层,它起到了接口的作用。例如对flash的操作,可以用这样的一个驱动适配层进行功能的进一步封装,以利于上层应用程序的调用。

   用户应用程序层是机顶盒用户应用软件的主体部分,也是软件开发的重点。与机顶盒有关的所有上层功能的实现都在这层完成,如关于用户界面功能的实现、epg的实现、节目数据库的管理、用户信息输入/输出控制和软件升级等。
  
性能测试结果
  该信源解码器配接l64768前端后,经测试,达到预定功能。其性能特点如下:
1.整机系统完全符合dvb-c/mpeg-2标准
2.信道解码支持16/32/64/128/256qam,转换率为:3msps~ 7msps
3.ts解复用器最大输入比特率:60mbps(串行1)/7.5mbps(并行)
4.视频解码分辨率:max720×576,支持图文和字幕
5.音频解码器采样率:32/44.1/48khz,支持32级音量调节
6.支持ata硬盘接口
 
结语
    本文实现了基于sc2005的dvb-c机顶盒信源解码器,集成了个人数字录像机,并配接l64768前端,组成了符合标准的功能样机。

参考文献:
1 sc2005 single-chip source decode technical manual. lsi logic, 2000
2 俞斯乐,侯正信,冯启明等.电视原理(第五版).北京:国防工业出版社,2000
3 国澄明,章悦,高宏伟等.一种新型数字sdtv信源解码器的实现. 信号处理,2004,20(2):204~207

  


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客