近年来,电视数字化的发展十分迅速,我国于2007年8月正式实施自主开发的国家地面数字电视广播DMB-TH标准,基于DMB-TH标准的便携产品成为数字电视技术及产业发展的热点,市场潜力巨大。USB2.0标准于2004年4月推出,增加了高速模式,将USB接口的速度提高到了480Mb/s,是原来全速模式速度的40倍,拓展了USB接口的应用范围,使得通过USB接口传输高速率的标清乃至高清数字电视变为可能。
本文所研究与设计的USB数字电视接收棒正是基于USB2.0以及DMB-TH标准的便携式设备,它可实现在笔记本电脑,台式机等带USB接口的设备上对数字电视的接收,并通过相应的上层播放软件实时的播放数字电视节目。
系统总体设计方案1系统框架USB数字电视接收棒系统主要有以下4个模块构成,如图1为系统的原理图。

(1)高频头:负责将天线接收到的高频信号转换为基带信号,并将信号传输至信道解调器。
(2)信道解调器:完成自动增益控制、PN帧头捕获、信道估计与均衡、自动侦测与锁频、FFT变换等,将基带信号转换成TS码流输出,并将TS码流输至USB传输控制芯片。
(3)USB传输控制模块:该模块作为主控模块,加载相应的驱动程序后,通过I2C总线完成对高频头和信道解调器的初始化和后续控制,并将TS码流传输至PC机端。
(4)PC机端应用软件:实现对TS码流的接收,并通过播放器实时播放节目。
2硬件资源
硬件方面,由于USB数字电视接收棒是一种体积小,功耗低,移动性好的便携式设备,且针对的是国标DMB-TH,所以选择的芯片也必须在这些方面特别考虑。经过研究,高频头选择AnalogDevice公司的AD-MTV102,信道解调芯片选择凌汛公司的LGS-8GL5芯片,它们都支持DMB-TH标准,USB传输控制芯片选择Cypress公司的CY7C68013芯片,由这三块芯片搭建的硬件系统只需要USB接口的5V电压就可以满足其功耗要求,且体积小巧(普通U盘大小),便于携带,完全满足系统的设计要求。
3软件资源软件方面,PC机端应用程序的核心部分是实时播放器,需要播放的是TS码流,这是MPEG-2标准定义的一种码流。本方案采用基于DirectShow技术搭建的媒体播放器。DirectShow是DirectX家族中的成员,它为在WINOOWs平台上处理各种格式的多媒体文件的回放、音视频采集等高性能要求的多媒体应用提供了完整的解决方案,重要的是它很好地支持了MPEG-2标准,它使应用程序开发人员从复杂的数据传输、硬件差异、同步性等工作解脱出来,总体应用框架和底层工作由DirectShow来完成,大大加快了开发进度。
硬件驱动程序的设计硬件驱动程序是系统设计中很关键的一个部分,它直接关系到各硬件芯片是否能正常稳定的工作。硬件的驱动是由主控芯片来完成,在本方案中将uSB传输控制芯片CY7C68013作为主控芯片,它内置增强型的8051内核,通过I2C总线来控制前端的高频头和信道解调芯片,完成对前端的驱动。
硬件驱动程序设计主要是根据硬件电路的设计特点来编写CY7C68013的固件程序。固件程序可以处理来自系统的USB标准请求,完成各种数据的交换工作和事物处理。CypreSS公司提供了固件程序框架,用户可在此框架上增加自己的功能代码以完成相应功能。整个硬件驱动流程图如图2所示。

(1)设定USB芯片的工作方式为SlaveFIFO,Au-toIn模式,利用端点2(设为1024×4b大小)进行传输。在这种模式下USB芯片内的数据传输不需要8051内核的干预,利用CY7C68013特有的量子FIFO自动完成数据的传输,这样可以保证数据的传输速率不受到8051内核的频率限制而达到一个较高的速度,满足USB2.0高速传输的要求。
(2)打开I2C总线,初始化高频头,延迟1s后设定高频头的扫描频率,这里延迟1s是为了保证高频头在初始化后能正常稳定的工作,是芯片在技术上的要求。
(3)初始化信道解调器,并将其设定为自动模式,使其自动检测信号参数并将信息反馈给高频头,协调两块芯片之间的某些参数(如增益等),使两者配合工作。
(4)判断信号是否锁定,如未锁定,再判断是否是第一次进行锁频,如果先前未曾锁频过则需改变高频头的扫描频率,再次检测,直到锁定。如果曾经锁频过,则无需改变频率,再次自动检测即可。
(5)在锁定信号以后,每间隔5s再次检测锁定情况,如果失锁则返回第四步再次进行检测。循环判断信号锁定情况的目的是为了避免系统在正常工作时,由于信号质量变差而造成失锁导致系统不能正常工作(例如系统接收时进入隧道等环境),通过定时检测信号锁定情况就可以在发生此类事件后进行必要的操作,让系统重新正常工作。
PC机应用程序设计1应用程序的主要功能PC机应用程序是用户与底层资源信息交互的一个平台。在本方案中,应用程序主要完成以下两大功能。
(1)从USB端口接收CY7C68013所传输进来的TS码流,存入缓冲区内。这个功能相对简单,利用Cy-press公司提供的通用驱动程序和_些相应的API函数,在打开USB设备获得设备句柄之后,设置每次读取数据量的大小,然后开启一个线程循环读取数据,就能连续不断的得到TS码流。其中每次读取数据量的大小对于播放的流畅度影响很大,在本方案中曾经将该参数分别设为1024B,8192B,10240B,30720B,61440B等数值进行测试比较,发现该参数的值越大播放效果越好,它直接影响着丢包率。最终本方案将该值设为61440B,这也是实测所能得到的最大数值,在这个参数下节目播放出来的效果最好。
本文关键字:数字电视 电工文摘,电工技术 - 电工文摘