新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于S3C2440A T-DMB的手机电视软硬件设计

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

作者:时间:2013-04-06来源:网络收藏

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

  硬件设计注意事项

  设计硬件电路时的主要问题就是高频和电磁兼容,一般的方法是加屏蔽罩,可以把APOLLO FS1110加屏蔽罩,以减少模块的空间干扰。当然也可以把APOLLO FS1110、KINO2EFS1026做成外置式模块。还可以通过优化原理图的设计来减少高频的影响。因为原理图的好坏直接影响布局、布线的难度,以及以后板子性能的好坏。为了布局布线时能清晰地进行分区设计,以减少各个功能模块之间的影响,设计原理图时应把数字、模拟和RF电路分开。但是,由于手持设备体积较小,屏蔽罩一般是必不可少的。

  软件设计

  标准概述

  采用H.264 视频压缩标准,音频采用专利费较低的MPEG-4 比特分片算术编码BSAC(Bit-Sliced Arithmetic Coding)或者AAC+(欧洲采用),图像格式为CIF(Common Intermediate Format)(352×288),把这些音频和视频码流加上一些用户数据,经过MPEG-4 SL(Sync Layer)同步层打包和MPEG-2 TS(Transport Stream)复用后,交给调制器调制为适宜在信道上传播的信号发射出去。各种标准的接收端除信道解码有较大差别,信源的解码很相近。T-DMB系统发送端编码器结构如图2所示。

  

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

  图2 T-DMB发送端编码框图

  其中的MPEG-4 OD/BINFS发生器产生视听对象、场景时空关系信息和视听对象的描述符信息。IOD发生器产生视听对象的初始信息:场景描述和对象描述信息。分段发生器主要收集SLP和IOD数据信息,用于产生和节目解复用相关的参考信息PSI(Program Specific Information)。在T-DMB的数据流中,可以通过解析PMT中的描述字段得到IOD_descriptor ,由IOD_descriptor可以得到场景、对象描述信息。由对象描述可以得到ES_ descriptor等信息。SL同步打包器主要负责视听对象和辅助数据的同步。SL包经PES打包之后,再把PES包打为TS包发送给调制器。

  软件的功能描述

  软件的主要任务是TS流的解复用、H.264和AAC+的解码,采用微软的Direct Show技术开发,可以降低开发难度和开发周期。Direct Show技术是微软提供的Windows平台多媒体开发包,以COM为基础。Direct Show使用Filter Graph的模型来管理整个数据流的处理过程。参与处理的各个功能模块叫Filter,按功能分3类:Source、Transform、Rendering Filter 。Source Filter主要负责获取数据和前期的处理;Transform Filter负责数据格式的转换和传输,主要是负责解码;Render Filter负责显示。各个Filter和应用程序的交互靠事件通知机制来完成:Filter状态改变时发出一个事件,由Filter Graph Manager处理或发给应用程序。整个软件可以分为5大功能模块,如图3所示。TS解复用器模块属于Source Filter,作用是从DMA缓冲中获取数据,然后从TS流中解析PAT(Program Association Table)和PMT(Program Map Table),得到相关节目的音频和视频数据TS包的PID(Packet Identifier)之后,就可以组合PES(Packetized Elementary Stream)包,同时还可以得到和相关的参数:PCR(Program Clock Reference)、CTS(Presentation Time Stamp)、DTS(Decoding Time Stamp),最后把PES包去包头后的ES(Elementary Stream)数据发给下游的解码Filter。H.264和AAC+解码模块属于Transform Filter,主要功能是把从上游获取的音频和视频数据进行解码,把解码得到的PU(Presentation Unit)重新排序(只有用到双向预测时需排序),送给下游的生成器。视频生成器和音频生成器模块属于Rendering Filter,主要完成显示功能。如果数据格式需要转换,可以在解码器和生成器之间加一个具有转化功能的Transform Filter。



评论


相关推荐

技术专区

关闭