基于双嵌入式处理器的高清数字电视设计
扫描二维码
随时随地手机看文章
作为一种高品质的数字多媒体播放器和高性能的网络信息终端,基于嵌入式系统实现的高清数字电视技术将是下一代消费电子市场的热点。文章给出了一种内置机顶盒模块的双嵌入式处理器高清数字电视系统,提出实现该系统单一系统映像的方法。
1 引言随着数字传输技术和图像处理技术的提高,电视技术正逐步从SDTV(Standard Definition TV,标准清晰度电视)过渡到HDTV(High Definition TV,高清晰度电视)。高清数字电视符合人们对高品质的数字多媒体播放和高性能的网络信息终端的需要,具备广阔的市场前景,其基于嵌入式系统技术的实现也成为嵌入式领域的新热点[1-2]。 高清电视是指播放画质超过720p或者1080i的高清晰度电视系统(i表示隔行扫描,p表示逐行扫描)。目前标清的播放画质为480i,而DVD最高画质可以达到480p,即720x480逐行显示的标准,可见高清电视要比最清晰的DVD还要清晰许多。美国的高清标准主要有两种格式,1280×720p/60Hz和1920×1080i/60Hz,欧洲支持1920× 1080i/50Hz。 数字电视的标准主要有美国的ATSC和欧洲的DVB两种。二者的信源编码都采用MPEG2,信道编码和调制方式不同。ATSC针对地面广播;DVB分为卫星(DVB-S)、有线(DVB-C)和地面(DVB-T)等方式。 当前市场上的高清电视系统本身并没有接收数字电视信号的功能,主要还是接收的普通模拟电视信号,如果要接收数字电视、浏览网络信息,还需要外置机顶盒。由于外置机顶盒和电视机是两套系统,有各自独立的用户界面,包括两套遥控器和OSD界面(On-Screen-Display),使用过程中会给用户带来不便,而目前将二者功能合一的单机系统方案还不成熟,成本也高。如果利用比较成熟的机顶盒芯片方案内置在高清电视系统中,将获得低成本、高性能的高清数字电视解决方案[3]。 DVB-T接收方便,应用广泛,本文将给出一种基于多嵌入式处理器的高清DVB-T数字电视的设计,在模拟高清电视中内置DVB-T数字信号接收模块,通过实现HDTV模块与DVB-T模块处理器之间的双机通信来同步处理任务,最终组合成一个完整的数字高清电视系统。为了将两个独立的模块进行组合,文章提出了实现该系统单一系统映像的方法,通过单一系统映像为用户提供单一的用户操作界面,单一的显示界面,单一的数据维护,使用户感觉是一套系统在运行。 2 系统硬件结构 2.1 DVB-T模块 DVB-T接收模块基于ST公司的高清机顶盒解码芯片Sti7710[4],由32位RISC CPU ST20和MPEG2 A/V解码器组成,A/V解码器是MP@HL规格的,支持1280×720p或1920× 1080i高清分辨率输出,其系统硬件框图和信号流程如图1所示。DVB-T模块分三个部分:前端接收解调、A/V解码、A/V输出。 前端接收解调由Tuner和解调器组成,地面传输的DVB-T数字电视信号通过Tuner接收,Tuner将中频信号传送给QAM解调器。解调器采用ST的芯片STV0370,可以解调COFDM调制的信号,解出MPEG TS流。TS流通过并行或串行方式输入Sti7710,进入MPEG2 A/V解码部分。 MPEG2 A/V解码器首先主要对TS流进行处理,在解复用后提取MPEG2压缩的音视频数据,解码得到图像,再加上OSD显示,以模拟和数字音视频的方式输出。A/V输出有模拟和数字多种方式,模拟视频有RGB、YPbPr等方式输出,数字视频可以通过HDMI编码和DVI接口输出[5-7]。 2.2 HDTV模块 HDTV模块基于Trident公司的模拟高清方案,实现一个接收模拟电视信号的高清电视机的功能。其系统框图如图1所示。 模块支持RGB、YPbPr、CVBS等模拟视频输入和HDMI数字视频输入,并会对图像进行相应处理,并叠加自己的OSD系统。处理器由两个部分组成,一个是16位的M16C/62系列MCU,负责执行电视主控程序,控制电视系统的运行;另一个是图像处理器SVP-EX52,在MCU的控制下处理输入的图像数据并输出给屏幕显示。图像处理器的主要功能有以下几点,一是将输入的隔行扫描的图像转换成逐行扫描的图像,二是将输入的24Hz,30Hz等低于60Hz场频的图像转换成60Hz,三是对画面解析度和形状大小进行调整,重新填写像素矩阵,使得图像可以按需求缩放和处理。 高清信号的数据量很大,以1280×720p为例,每秒需要输出给显示屏幕的图像数据量为1280×720×24×60bit,约等于1.327Gbit,所以传输率要求非常高。LVDS即低电压差分信号技术达到几个Gbit的传输率,可以满足需要,所以图像处理器输出的高清视频信号需要调制成LVDS信号传给大尺寸的LCD液晶屏幕或者PDP等离子屏幕。
图1 系统硬件结构 2.3 模块接口 两个模块的音视频通过HDMI接口连接,HDMI(High-Definition Multimedia Interface)是用在高清多媒体领域的新的音视频接口技术,有很多优点,体现在以下几个方面: ①HDMI可以无压缩传送全数字音视频数据,不需经过D/A和A/D两次转换,所以传输没有损失,质量最好。②HDMI传输带宽高达5Gbps,目前只使用2.5Gbps,可以满足720p,1080i等各种分辨率视频信号的传输要求。 ③相对模拟视频传输有更高的抗干扰能力。 ④连接简单,使用方便。只用一根电缆即可实现音视频连接和简单数据传输功能。 ⑤提供HDCP(High-bandwidth Digital Content Protection)技术,可以保护通过该接口传输的媒体的版权。 UART接口是嵌入式系统中常用的通信接口,两个嵌入式CPU,Sti7710和M16C/62都支持UART接口,所以通过它交换命令和数据,实现两个CPU的任务同步和数据交换,为实现单一系统映像提供底层支持。 3 单一系统映像 3.1 系统分析 对于双处理器的数字电视系统,单一系统映像指单一的UI系统和单一的数据访问控制。数字电视UI主要包括遥控器操作和OSD显示、系统菜单等。电视与外置机顶盒是用两个遥控器分别控制的,各自有一套独立的OSD和系统菜单,所以需要实现遥控器和OSD、系统菜单的统一。数字电视作为信息终端接收数据广播,维护一个简单的嵌入式数据库,数据库在DVB模块中维护,是实时更新的。在此数据库基础上提供EPG(电子节目导航)、Teletext(图文电视)、Subtitle(字幕)、MHEG(超媒体)等信息服务。用户可以通过这个数据库,方便的管理节目列表、浏览网络信息[8-9]。两个系统的OSD显示、系统菜单应该作为一套系统整合在其中一个模块上。HDTV是显示设备,DVB的OSD和视频叠加在一起作为图像传给HDTV,HDTV在上面再叠加自己的OSD,传给屏幕显示。所以整个系统的OSD应该整合在HDTV模块上。DVB模块不再生成OSD,也不响应遥控,只响应HDTV通过串行通信接口发送过来的菜单命令,并将需要显示的结果通过串行通信接口传给HDTV的OSD显示。EPG、Teletext、Subtitle、MHEG等数据服务的访问接口同样在HDTV的菜单界面上给出,但是由于它们的数据量比较大,HDTV模块的非易失性存储器比较小,所以不能全部移到HDTV系统存放,仍保存在存储器空间比较大的DVB模块上。当系统需要显示这些数据时,由HDTV模块向DVB模块发出数据请求,DVB模块将数据传送给HDTV的OSD显示,HDTV模块并不需要保存这些数据。3.2 双处理器通信协议TV模块处理器与DVB模块处理器是并行工作的,二者为了协同工作,需要传递命令、同步状态与交换数据。两个处理器之间的通信和操作通过UART接口实现。根据应用需要,协议从下往上由物理连接层、链路驱动层、传输层和应用层组成。传输层以数据包为单位,包括包发送和包解析两部分功能。数据包基于ASCII码字符传输,格式如图2所示,各字段定义如下。
图3双处理器协同工作的软件系统结构系统只使用一个遥控器,遥控键码在ATV和DTV不同状态下由两个模块复用。遥控器命令由HDTV处理器响应,HDTV对遥控器命令作分析,如果是对电视机本身的遥控操作则由电视机作相应操作,如果是对DVB的遥控操作则映射成控制DVB模块的命令,通过通信协议的包发送程序将命令打包传送给DVB模块,DVB处理器的包解析进程从包中提取出命令内容,然后处理器做指定的动作,同时返回相应状态。系统只在HDTV处理器上维护一个OSD系统,当HDTV在DTV状态下,需要显示DVB的数据时,通过通信协议向DVB模块请求显示数据,DVB模块将需要OSD显示的数据也通过通信协议的传给HDTV模块,HDTV模块的包解析程序将数据内容提取出来交给OSD显示。因此,通过这种方法,在HDTV模块上实现了单一用户界面,在DVB模块上实现了单一数据访问控制。整个系统的软件结构可见图3所示。4 结论基于双处理器的高清数字电视设计在硬件和软件上都有一些新的技术难点,不仅意味着功能的整合,同时要求双处理器能协同工作,实现单一系统映像。本文给出了系统的硬件结构,在此基础上提出了通过串行通信在双处理器之间同步命令与状态、交换数据来实现单一系统映像的方法。这一设计思想为高清数字电视开发提供了一种思路,也对其他基于多CPU的嵌入式系统设计有一定的参考价值。参考文献[1] Nam Ling,Nien-Tsu Wang. Real-time video decoding scheme for HDTV set-top boxes[J]. IEEE Transactions on Broadcasting,2002,48(4) :353