基于双嵌入式处理器的高清数字电视设计
口
两个模块的音视频通过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所示,各字段定义如下。
图2 双处理器通信协议数据包格式
Start byte:起始字符,定义为字符"#";
Packet type:包传输的数据类型,"C"表示包传输的为命令,"D"表示数据, "S"表示状态;
Packet length:包数据的长度,定义每个包最多可以传送255个字节;
Direction:包传输的方向,字符"0"表示由TV向DVB发送命令或数据,字符"1"表示由DVB 向TV发送状态或数据;
CRC:简单的CRC-8纠错码,用来保证数据传输的可靠性;
End byte:终止字符,定义为ASCII码0x0AH(回车符)。
Data block字段为包的数据块,根据Packet type决定的传输的数据类型的不同,内容根据需要将安装命令、状态和数据这三种情况作不同的约定。
3.3 软件结构
HDTV模块分为ATV和DTV两个状态,当HDTV模块处于ATV状态时,将DVB模块关闭,只留HDTV模块工作,整机只实现普通电视的功能。当HDTV模块处于DTV状态时,将DVB模块打开,系统处于双处理器协同工作状态。DVB模块输出音视频信号通过HDMI接口传给HDTV模块播放。
图3双处理器协同工作的软件系统结构
系统只使用一个遥控器,遥控键码在ATV和DTV不同状态下由两个模块复用。遥控器命令由HDTV处理器响应,HDTV对遥控器命令作分析,如果是对电视机本身的遥控操作则由电视机作相应操作,如果是对DVB的遥控操作则映射成控制DVB模块的命令,通过通信协议的包发送程序将命令打包传送给DVB模块,DVB处理器的包解析进程从包中提取出命令内容,然后处理器做指定的动作,同时返回相应状态。
系统只在HDTV处理器上维护一个OSD系统,当HDTV在DTV状态下,需要显示DVB的数据时,通过通信协议向DVB模块请求显示数据,DVB模块将需要OSD显示的数据也通过通信协议的传给HDTV模块,HDTV模块的包解析程序将数据内容提取出来交给OSD显示。
因此,通过这种方法,在HDTV模块上实现了单一用户界面,在DVB模块上实现了单一数据访问控制。整个系统的软件结构可见图3所示。
- 用IXP网络处理器设计的数字家庭媒体中心系统 (02-12)
- 基于AD7892SQ和CPLD的数据采集系统的设计(11-10)
- 基于ARM的嵌入式网络收音机的设计(01-15)
- 数字视频拓展了嵌入技术的疆域(03-28)
- 基于MiniGUI的嵌入式媒体播放器的设计与实现(06-26)
- 嵌入式系统PDA智能手机设计方案(08-17)