单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数字电视机顶盒的嵌入式系统设计,主要内容,数字电视机顶盒的工作原理,基于嵌入式系统STB的硬件结构,基于嵌入式系统STB的软件设计,二十世纪九十年代以来,随着信息化,智能化,网络化的开展,嵌入式系统技术获得了越来越广阔的开展空间。嵌入式系统以微电子技术、控制技术、计算机技术和通讯技术为根底,在上述领域中发挥着重要作用。而作为数字电视客户端接受装置设备的数字电视机顶盒,其核心技术就是采用32位芯片的嵌入式技术。,数字电视机顶盒接收来自各种传输介质的数字电视节目信号和各种数据信息,通过解调、解复用、解码和音、视频编码(或者通过相应的数据解析模块),可以在模拟电视机上观看数字电视节目和各种数据信息。总的来说,数字电视机顶盒负责接收数字电视节目、处理数据业务和完成多种应用的解析。下面分析一下数字电视机顶盒的工作原理:,数字电视机顶盒数字流图,基于嵌入式系统STB的硬件结构,STB硬件结构图,嵌入式微处理器,嵌入式系统的核心就是嵌入式微处理器,其性能的优劣直接关系到整个系统的性能。微处理器提供一个可编程的硬件平台,对系统中各个功能模块进行协调和控制。在本系统中我们选择了32位高性能微处理器TinyRisc EZ4103 MIPS,其处理速度到达108MHz。内部包括通用存放器系统控制处理器(CP0)、算术逻辑单元(ALU)和移位器。存放器支持源操作数执行单元,并将处理结果存入旧的存放器;CPO处理包括中断在内的例外事件ALU完成算术与逻辑运算,以及计算地址等操作,移位器主要完成移位操作。,存储器,1.SDRAM,在本系统中SDRAM共有两块:SDRAM-A、SDRAM-B。SDRAM-A通过SDRAM接口与视、音频解码器相连,专门负责为硬件解码工作分配内存,这样可以保证解码工作不会被STB其他模块干扰。SDRAM-B通过一个SDRAM控制器与系统其他模块相连,被CPU、OSG、Demux和外设等硬件模块使用,以保证CPU能够以最小的内存反响时间来运行STB应用程序。这两种SDRAM除了速度和容量不同,其他方面完全一样。所有的输入和输出均在时钟输入上升沿被同步化,数据通路通过内部流水线化来获得大的带宽。,2.Flash和NVRAM,Flash用来存放整个软件系统的可执行代码和节目频道信息。NVRAM挂在I2C总线上,拥有I2C总线上的唯一地址。需要通过I2C总线寻址才能读写存放在上面的系统设置和局部节目频道信息。,前端接收模块,包括调谐器Tuner和解调器Demodulator。调谐器接收射频信号;解调器采用Philips公司的TDA10021解调芯片,集成了实现解调所需要的各种功能,包括DAC、信道解码、前向纠错编码FEC和里德-所罗门编码等功能,负责将模拟信号转换为数字信号,然后传送到解调模块,经过解调输出MPEG-2格式的TS流的串行或并行数据。,解复用器,解复用器完全兼容ISO/IEC 13818-1MPEG-2国际标准,集成了MPEG-2传输层的音频、视频流和数据效劳的解复用功能和解扰功能。解复用器有传输流解复用器和节目流解复用器两种类型。,MPEG-2视、音频解码器,解码器从解复用器的输出局部接收被编码的PES流。通过硬件进行MPEG-2的音、视频数据解码,输出解码后的数字视频给Mixer,输出解码后的数字音频给DAC模块。,OSG(On-Screen Graphic),该子系统能产生光标、OSDOn-Screen Display和静止图片等几个图形层这里称为平面。,混合器Mixer和视频编码器,Mixer负责将从OSG接收的图文、自身产生的背景与解码视频相叠加,然后将所形成的8位或16位YCrCb数字视频流传送到视频编码器。视频编码器进行数模转换,产生复合视频、S视频或RGB视频信号,支持包括PAL、NTSC和SECAM制式。,基于嵌入式系统STB的软件设计,STB软件系统逻辑框架图,在STB上搭建pSOS操作系统,STB平台存在大量的芯片和外设,一个嵌入式控制系统也因此要控制和监视很多设备,要求有实时响应,同时要处理大量任务切换、通信和同步工作。这样就要求在STB平台上搭建一个RTOS。通常我们选用pSOS操作系统作为STB应用的平台。,pSOS操作系统是一个模块化的高性能RTOS,专门应用于嵌入式系统领域。它提供一个基于开放系统标准的、彻底的多任务环境。pSOS系统采用模块化的结构设计,围绕着pSOS实时多任务内核集成了基于标准结构的和独立编码的各种功能的软件模块。pSOS系统不和硬件发生丝毫关系,它与硬件通过BSP来联系。用户在配置表中定义应用程序环境和相关的硬件,在开始执行环境和目标环境中进行配置,从而满足不同的硬件环境。,STB应用软件设计,STB应用软件的功能就是播放数字电视节目。我们从实现的角度对软件层的三个层面的功能进行介绍:,(1)Drivers:主要完成STB核心的Demodulator,Demux,Decoder,OSGMixer/Encoder等硬件模块的功能驱动,同时为外围设备提供诸如GPIO,Smartcard,SHII2C总线等接口的驱动。,(2)Services:一方面依附于Drivers层提供的功能,完成STB所需如Tune控制,PSI解析,解扰等。另一方面,为上层APP提供如节目搜索,节目收看,存储管理等功能。,(3)APP:主要根据Services层提供的功能,满足用户在使用过程中所需的要求,如节目管理,EPG等。同时该局部也会直接调用相关驱动提供的功能,完成诸如色彩亮度调节,音量调节等功能。,模块设计和实现,按照硬件的不同功能,又可以将应用软件分成以下几个模块:,外围设备驱动:,(1)GPIO驱动:作为最根本的外围设备接口,GPIO显得尤为重要,它是我们前期系统调试,以及LED,Keypad等驱动的根底。,(2)SHI驱动:即I2C总线驱动,它作为一种通用的外围总线,其应用非常广泛,在我们的STB系统中,I2C被用来进行Tuner以及NVRAMEEPROM的驱动。稳定且高效的I2C驱动直接影响STB的锁台的成功和速度以及节目存储。,(3)Smartcard驱动:Smartcard作为CA中不可缺少的局部,该局部的性能直接影响CA的实现。由于存在着各种不同厂商,故要求在此局部要实现ISO7816 T=0,T=1和T=14等协议。,(4)IR驱动,Keypad驱动:APP的输入设备,不可缺少。,存储管理模块,(1)Flash,NVRAM驱动:STB系统中的存储管理支持。,(2)存储管理:用来存放节目和频道等信息,基于Flash,NVRAM的实现。把该局部单独列出,主要是由于此局部的实现比较独立,且在Services和APP中都会用到。一个好的存储管理,不仅可以保证STB的正常工作,并且可以向用户提供多样化的节目管理和查看方式。,前端接收模块,DMD:DMD作为NIM模块的驱动,通过调用外围驱动模块中SHI驱动提供的接口访问Tuner,主要负责将上层的频率,符号率等参数传递到Tuner,完成频点的锁定工作。,FE:作为Services层的一局部,FE是DMD和Services中其它模块主要是SVC之间的桥梁。一方面,FE根据用户要求播放的节目,找到该节目对应的频点信息,将其设置到DMD;另一方面,FE还会通过挂在DMD上的Callback通知SVC,告知频点是否锁定等状态信息,以便SVC进行适宜的动作。,解复用模块:,(1)DMX驱动:即解复用器的驱动,在这里主要提供两种功能:一方面进行PID/Section Filter,以完成TS流的解复用工作;另一方面进行DVB标准的解扰工作,完成CA的核心功能之一。,(2)PSI分析子模块:主要根据注册在DMX层的Callback函数,得到PSI相关信息。通过分析PSI信息,不仅可以得到当前节目,EPG等信息,更重要的是可以提取出EMM,ECM等CA相关信息,以便节目的解扰。,条件接收Conditional Access,CA模块:,(1)CA工作协议CxLib:主要针对不同CA厂商,实现不同的CA协议。该局部将直接和Smartcard驱动通讯,完成具体的EMM更新和ECM解密。,(2)Common CACCA:该局部作为CA的主控模块,一方面从PSI分析子模块中获取EMM,ECM信息,发送到CxLib,另一方面从CxLib得到相应的CW,以完成音视频等的解扰。,解码模块A/V Decoder:,由于音视频的解码都是由硬件完成的,驱动和应用程序要完成的工作不多:该局部驱动一方面完成SDRAMDecoder专用的管理,另一方面必须完成音视频同步、视频输出转换等。,OSGOn-Screen Graphics图形驱动模块,UI模块,混合/编码器模块Mixer/Encoder,视频PES数据经过解码后,已经是格式为YcbCr4:4:4的数字信号,编码器的任务就是将其转换成PAL/SECAM-CVBS或者是S-Video格式的模拟信号。Mixer那么负责将背景和OSG生成的图像元素以及视频进行混合,生成最后的输出图像。,