引言
近年来,我国广播电视数字化发展的进程明显加快,从而直接引发了对机顶盒(set-top box)的巨大市场需求,凸显了其重要性。在机顶盒的研发过程中,信源解码器的研制是整个开发工作的基础和核心。随着机卡分离政策的出台,信源解码器的通用性和复杂性,使其在机顶盒终端的开发过程中变得更加重要。本文论述的即为符合dvb-c标准的数字有线电视机顶盒信源解码器的设计与实现。
总体方案
机顶盒大体可以分成两个功能部分:信道解调解码部分和信源解码部分。信道部分即前端,负责对数字电视信号进行解调接收和信道解码。由于前端的不同,机顶盒可分为数字卫星机顶盒、数字地面机顶盒和数字有线机顶盒三种。
该信源解码器是针对数字有线电视机顶盒研制的,将配接l64768前端,组成符合dvb-c标准的完整机顶盒方案。本文采用lsi logic公司的基于sc2005的第二代单片信源解码方案来实现解码功能。该解码器的结构框图如图1所示,按功能可分为4个部分:以sc2005为核心的cpu及存储控制子系统;传输流解复用和音视频解码子系统;图形处理和屏幕菜单显示及输出子系统;外围接口子系统。
图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所示。
图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视频信号给电视机或监视器。
图3 ata硬盘接口
外围接口子系统
该信源解码器集成了一个ata硬盘接口,如图3所示。用户可以通过此接口实现个人数字录像机pvr(personal video recorder)功能;还可在硬盘中开设海量缓存区,在播放数字电视的同时,对节目进行长达数小时的实时存储。依赖这种缓存技术,用户可以进行时移播放。
该解码器拥有一个tda8004t智能卡接口和符合ieee 1149.1标准的jtag模块,提供了基本的调试功能,还提供了lvds接口,用来接收码流发生器输出的ts流。由db-25接口输入的lvds信号通过3片ds90c032进行电平变换后,进入解码器。此外,该系统还使用了一个uart,用于机顶盒的调试和软件升级。
图4 机顶盒软件分层框架
软件设计
软件系统基于一个分层的框架,其中,部分由lsi logic在其参考软件中提供,其它部分需要由用户自行开发。软件的整体结构如图4所示。
实时操作系统层(rtos)是所有上层程序代码运行的基础,主要负责多任务调度、系统资源管理、中断处理、通信操作和同步处理等。本文使用的是windriver公司专门为嵌入式系统设计和开发的一个模块化、高性能的实时操作系统psosystem。rtos层用板级支持包(bsp) 来实现与硬件层接口。
操作系统移植层(osp)实现两个主要功能:一个是动态配置任务的属性,如上下文的切换,优先级等;另一个是管理任务之间的通信,如数据传输与同步。硬件抽象层(hal)负责直接对硬件寄存器编程;设备驱动层(ddl)是硬件抽象层的一个明了、方便的备份和封装,主要针对各硬件模块提供相应的驱动程序,如sc2005异常处理的驱动、时钟服务模块的驱动和osg图形库的驱动等。应用程序接口层(api)为上层的应用程序提供api函数。
驱动适配层(dal)是对设备驱动层功能的进一步集合,通过功能组合可以直接应用到应用程序层,它起到了接口的作用。例如对flash的操作,可以用这样的一个驱动适配层进行功能的进一步封装,以利于上层应用程序的调用。
用户应用程序层是机顶盒用户应用软件的主体部分,也是软件开发的重点。与机顶盒有关的所有上层功能的实现都在这层完成,如关于用户界面功能的实现、epg的实现、节目数据库的管理、用户信息输入/输出控制和软件升级等。
西默科技获1.56 亿元B轮融资,由兰博尔集团独家投资
IC市场处于观望期 补库存行情需创新推动
虹科上/下变频器TYMTEK UD Box系列实现轻松地进行5G应用的开发和测试
OM4多模光缆介绍满满干货来袭-科兰
Windows Server 2003功能和版本细分
采用SC2005做主芯片的机顶盒信源解码器的设计与实现
智慧酒店会带来什么服务
EDA工具的难点分析
RMC301B-3000-0000
微软外壳可折叠显示器新专利,与三星Galaxy Fold类似
太极半导体获“智能制造三十强”称号
浅谈多机房部署的灾备架构模式
电信服务提供商助力企业渡过难关,将从哪三方面进行着手
插座式电源滤波器对功放的影响 浅析电源线滤波器插座设计
澳洋顺昌表示未来将重点发展锂电池业务
以28纳米为基础,赛灵思(Xilinx)20纳米继续超越
区块链究竟是什么?区块链如何拯救信用危机?
WGDC2018盛大开幕,南方测绘精彩亮相群惊四座
PIC单片机复位系统模块介绍
华为手环4高清图集