位置:51电子网 » 技术资料 » 通信网络

基于T-DMB的手机电视软硬件设计

发布时间:2008/5/29 0:00:00 访问次数:378

摘 要:本文概括性地讨论手机电视这种嵌入式手持设备的软硬件开发要点:如何设计硬件,实现音视频同步,提高h.264解码速率,并防止dma缓冲溢出等。原文位置

  关键词:手机电视 ;t-dmb;音视频同步

  引言

  目前,世界上已经提出了多个地面数字电视标准:如欧洲的dvb-t、美国的atsc、日本的isdb-t,并且都达到实用阶段,许多国家和地区都在选择自己的数字电视地面广播(dttb:digital television terrestrial broadcasting)系统。而用于手持移动终端的标准有:t-dmb(韩国)、dvb-h(欧洲)、mediaflo(美国)、stimi(中国待定)其中,已商用的是韩国的t-dmb。在我国,北京广播电台在2006年9月初正式开通了名为dab的手机电视系统,通过电视塔覆盖了北京六环以内,提供12套数字广播节目,同时对2套电视节目进行测试播出。因此,如何快速设计一款可以接收手机电视信号的手持终端设备,以便夺取市场先机就是本文要讨论的内容。

  硬件设计

  硬件设计概述

  硬件配置的选择要综合考虑,如cpu的处理功能关系到最终的解码显示效果。当然,选择一些高档通用处理器,或者是专用的媒体处理器都能够达到较好的效果,但却增加了硬件的成本。可以在最终显示效果和硬件的选择上采取折中方案。目前,能接收t-dmb和dvb-h标准的芯片还不是很多,可以选择市场上的一些主流芯片。本文讨论的这款产品的硬件配置为:s3c2440a(400mhz),64mb的sdram,apollo fs1110, kino2efs1026。基本可以满足手机电视对硬件的需求。通过天线接收到的射频信号送给射频前端的rf调谐芯片apollo fs1110,主要作用是把射频信号解调为if(intermediate frequency)信号。这款芯片是目前市场上的主流产品,可以接收多个标准的信号,而且体积小(5.0mmx5.0mmx0.9mm),功耗低(80mw),拥有三个低噪声前端放大器,涵盖 l-band、bandⅱ和bandⅲ三个频段。apollo fs1110把if信号送给kino2 efs1026,完成信源码解码输出mpeg2-ts数据。kino2是一款高度优化的基带处理器,体积小(10mm×10mm×1.3mm),功耗低(100mw),可以提供各种dmb码率,最高可以达到1.8mbps,片上含有r-s解码器,可以实现较佳的移动信道性能。kino2把信源码ts码流送给cpu,由cpu完成ts流的解复用、解码和显示。硬件设计框图如图1所示。

  

  图1 硬件设计框图

  硬件各功能模块描述

  手机电视终端最终要做到支持多标准、多频段,这也是市场的需求。由于现在开展手机电视业务的三地所采用的频段不太一样,如北京和广东采用了vhf band 3,而上海采用了l- band,因此,同一手机电视终端如果要在国内不同地区接收手机服务,需要支持多频段。本文讨论的t-dmb采用的工作频段是vhf 3波段和l波段,因此,要使用fs1110的bandⅲ和l-band;而bandⅱ主要用于fm广播。fs1110的3个高频输入都可以使用,频段选择可以由fs1026通过iic接口来控制,同时,fs1110内部寄存器的初始化也是通过此接口来完成的。

  下游的fs1026基带处理器模块接收rf调谐器送过来的if信号,最终完成信源解码。输出的mpeg2-ts数据支持并行和串行两种格式。串行数据可以通过spi接口和cpu直接连接。基带模块还可以通过scp(serial control port)接口和cpu进行控制信息的交换,scp接口和iic接口是完全兼容的。还可以用串口(uart)和cpu进行通信。由于有的商业dmb节目经过服务商加扰(经过加密),智能卡模块可完成解扰功能。

  cpu的功能是通过spi接口接收ts数据,完成音频和视频的解码后显示。数据可以通过dma进行缓存,然后就可以从dma中读取数据进行解复用。dma方式为一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过cpu,也不需要cpu干预。整个数据传输操作在dma控制器的控制下进行。cpu除了在数据传输开始和结束时做一点处理外,在传输过程中,cpu可以进行其它工作。这样,在大部分时间里,cpu和输入/输出都处于并行操作状态。因此,可以大大提高整个系统的效率。在wince平台下,对dma的操作相当方便,驱动开发难度不大,读取数据就像操作普通文件一样。只有一点区别,就是要防止dma溢出。因为普通文件的读取完全可控,而这里处理的是一种“实时”流,有可能发生溢出。溢出包括上溢(数据读取过慢)和下溢(读取过快)。和mpeg的解码器接收端防止数据溢出的原理是一样的,主要是由于图像编码的格式不一样,发送的解码器前端的数据速率并不是恒定的。mpeg采用流速反馈控制来控制数据溢出,使得到达音视频解码器的数据速率趋于恒定。对dma的控制就简单些,用专用的一个线程读取数据,解复用线程依据数据的多少,可以丢弃某些帧或者放慢解码速度。不过一般还是丢帧的情况多。

摘 要:本文概括性地讨论手机电视这种嵌入式手持设备的软硬件开发要点:如何设计硬件,实现音视频同步,提高h.264解码速率,并防止dma缓冲溢出等。原文位置

  关键词:手机电视 ;t-dmb;音视频同步

  引言

  目前,世界上已经提出了多个地面数字电视标准:如欧洲的dvb-t、美国的atsc、日本的isdb-t,并且都达到实用阶段,许多国家和地区都在选择自己的数字电视地面广播(dttb:digital television terrestrial broadcasting)系统。而用于手持移动终端的标准有:t-dmb(韩国)、dvb-h(欧洲)、mediaflo(美国)、stimi(中国待定)其中,已商用的是韩国的t-dmb。在我国,北京广播电台在2006年9月初正式开通了名为dab的手机电视系统,通过电视塔覆盖了北京六环以内,提供12套数字广播节目,同时对2套电视节目进行测试播出。因此,如何快速设计一款可以接收手机电视信号的手持终端设备,以便夺取市场先机就是本文要讨论的内容。

  硬件设计

  硬件设计概述

  硬件配置的选择要综合考虑,如cpu的处理功能关系到最终的解码显示效果。当然,选择一些高档通用处理器,或者是专用的媒体处理器都能够达到较好的效果,但却增加了硬件的成本。可以在最终显示效果和硬件的选择上采取折中方案。目前,能接收t-dmb和dvb-h标准的芯片还不是很多,可以选择市场上的一些主流芯片。本文讨论的这款产品的硬件配置为:s3c2440a(400mhz),64mb的sdram,apollo fs1110, kino2efs1026。基本可以满足手机电视对硬件的需求。通过天线接收到的射频信号送给射频前端的rf调谐芯片apollo fs1110,主要作用是把射频信号解调为if(intermediate frequency)信号。这款芯片是目前市场上的主流产品,可以接收多个标准的信号,而且体积小(5.0mmx5.0mmx0.9mm),功耗低(80mw),拥有三个低噪声前端放大器,涵盖 l-band、bandⅱ和bandⅲ三个频段。apollo fs1110把if信号送给kino2 efs1026,完成信源码解码输出mpeg2-ts数据。kino2是一款高度优化的基带处理器,体积小(10mm×10mm×1.3mm),功耗低(100mw),可以提供各种dmb码率,最高可以达到1.8mbps,片上含有r-s解码器,可以实现较佳的移动信道性能。kino2把信源码ts码流送给cpu,由cpu完成ts流的解复用、解码和显示。硬件设计框图如图1所示。

  

  图1 硬件设计框图

  硬件各功能模块描述

  手机电视终端最终要做到支持多标准、多频段,这也是市场的需求。由于现在开展手机电视业务的三地所采用的频段不太一样,如北京和广东采用了vhf band 3,而上海采用了l- band,因此,同一手机电视终端如果要在国内不同地区接收手机服务,需要支持多频段。本文讨论的t-dmb采用的工作频段是vhf 3波段和l波段,因此,要使用fs1110的bandⅲ和l-band;而bandⅱ主要用于fm广播。fs1110的3个高频输入都可以使用,频段选择可以由fs1026通过iic接口来控制,同时,fs1110内部寄存器的初始化也是通过此接口来完成的。

  下游的fs1026基带处理器模块接收rf调谐器送过来的if信号,最终完成信源解码。输出的mpeg2-ts数据支持并行和串行两种格式。串行数据可以通过spi接口和cpu直接连接。基带模块还可以通过scp(serial control port)接口和cpu进行控制信息的交换,scp接口和iic接口是完全兼容的。还可以用串口(uart)和cpu进行通信。由于有的商业dmb节目经过服务商加扰(经过加密),智能卡模块可完成解扰功能。

  cpu的功能是通过spi接口接收ts数据,完成音频和视频的解码后显示。数据可以通过dma进行缓存,然后就可以从dma中读取数据进行解复用。dma方式为一种高速的数据传输操作,允许在外部设备和存储器之间直接读写数据,既不通过cpu,也不需要cpu干预。整个数据传输操作在dma控制器的控制下进行。cpu除了在数据传输开始和结束时做一点处理外,在传输过程中,cpu可以进行其它工作。这样,在大部分时间里,cpu和输入/输出都处于并行操作状态。因此,可以大大提高整个系统的效率。在wince平台下,对dma的操作相当方便,驱动开发难度不大,读取数据就像操作普通文件一样。只有一点区别,就是要防止dma溢出。因为普通文件的读取完全可控,而这里处理的是一种“实时”流,有可能发生溢出。溢出包括上溢(数据读取过慢)和下溢(读取过快)。和mpeg的解码器接收端防止数据溢出的原理是一样的,主要是由于图像编码的格式不一样,发送的解码器前端的数据速率并不是恒定的。mpeg采用流速反馈控制来控制数据溢出,使得到达音视频解码器的数据速率趋于恒定。对dma的控制就简单些,用专用的一个线程读取数据,解复用线程依据数据的多少,可以丢弃某些帧或者放慢解码速度。不过一般还是丢帧的情况多。

相关IC型号
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!