具有USB接口的T-DMB接收机设计与实现
2009-07-22
作者:胡 淼, 余少华, 刘立柱
摘 要:介绍了T-DMB技术的参数,设计并实现了一种具有USB接口的T-DMB便携接收机。该接收机支持VHF-III波段和L波段的信号接收;支持TS数据流的录制以及T-DMB视频业务的播放。
关键词:T-DMB; 接收机; 软硬件设计; USB接口; ARM
移动多媒体广播目前已经成为发展热点。T-DMB(Terrestrial-Digital Multimedia Broadcast)是移动多媒体广播标准中应用十分广泛的一种,我国北京、上海、广东三地已经在地面数字声音广播网的基础上开展了T-DMB业务。T-DMB在技术上仍沿用欧洲尤里卡DAB(Digital Audio Broadcast)的整个系统,只是在DAB的MSC(Main Service Channel)中划分出了一个独立的子信道用于视频业务。T-DMB采用的关键技术为H.264 Baseline Profile视频编码、MPEG-4 ER-BSAC或MPEG-4 HE AAC V2音频编码、COFDM信道编码和调制、单频同步网、RS(204,188)外码、DAB流模式传输。
根据ETSI EN 300 401规定,DAB有4种传输模式,分别应用于不同的工作频率,其主要参数如表1所示。目前在北京、上海、广州已建成的T-DMB商用网络中,北京和广东采用的是中国VHF-III波段(168 MHz~240 MHz),对应DAB的模式I; 上海采用的是L波段(1 452 MHz~1 492 MHz),对应DAB的模式Ⅲ。DAB在VHF-Ⅲ波段中包含41个信道,标记号为5A、5B~13F;L波段中包含23个信道,标记号为LA~LW;每个信道的典型间隔均为1.712 MHz,信号带宽均为1.536 MHz[1]。
传统的便携设备一般屏幕较小,长时间观看时用户易疲劳。吸取英国和韩国的市场发展经验,移动多媒体广播接收的终端应该多样化,本文设计了一种具有USB接口的T-DMB便携设备,可以使用户在移动PC机终端上使用大屏幕来接收T-DMB信息。
1系统设计
该接收机总体设计上将尽可能依托PC机完成数据处理,逻辑上分为硬件、固件设计、软件和用户界面4个模块,如图1所示。设计要求接收机支持VHF-III波段和L波段,外部的数据接口需支持USB2.0协议,能够正确解码多媒体广播的音视频信息。
2 硬件和固件设计
硬件设计要综合考虑不同芯片间的性能需求:射频处理芯片应具有较高的接收灵敏度并支持信号的跟踪和锁定;ADC应具有较高的带宽和精度;解调芯片能同时处理的信号带宽越大越好,但是性能较高的芯片往往价格较高,在芯片选择上需要综合考虑性价比[2]。同时选取的MCU芯片应支持前段RF芯片和解调芯片的通信总线[3]。选取的天线应该在增益和尺寸上取得均衡。
便携设备一般采取USB接口直接取电,设计时,尤其要注意USB接口能提供的最大电流仅为500 mA(需要响应USB总线的配置,一般模式下仅提供100 mA电流),这对硬件的总体功耗提出了明确的要求。
在本方案的硬件设计中,选用输入阻抗为50 Ω的SMA0.062天线,其增益约3 dB,采取MAX2170ETL作为RF芯片,采用MAX1191ETI作为ADC,ID200Q48作为解调芯片,AT91SAM7S64作为MCU和USB接口控制器,其设计框图如图2所示。
MAX2170ETL芯片是美信公司专门针对T-DMB设计的接收芯片,工作电压3.3 V,支持FM波段,并能够接收VHF-III和L波段的信号转换为2.048 MHz的低中频I、Q信号,其接收精度为-100 dbm;通过I2C总线设置片内寄存器后改变Vturn引脚电压来实现频段的选择;MAX2170ETI芯片依靠外部的24.576 MHz晶振提供时钟。
MAX1191ETI是一款双通道ADC,对OFDM信号的I、Q分量分别进行8位的采样。
ISISIP ID200芯片是西安西芯微公司的基带处理芯片,支持最大至512 kb/s的COFDM解调,功率消耗仅为30 mW;提供RFpwd输出,配合MAX2170的使能输入,可作为RF的电源管理;同时还为ADC芯片提供增益控制信号和电源管理信号。ISISIPID200芯片通过SPI接口与AT91SAM7S64芯片连接,完成解调后根据内容,向AT91SAM7S64发送中断请求,并传输EPG、FIC和DATA数据。在SPI接口中,AT91SAM7S64芯片是主机,ISISIPID200芯片是从机。
AT91SAM7S64芯片中使用ARM7TDMI内核,支持通过JTAF/ICE接口的数据录入和通过DBGU接口的数据调试。通过对内部PIOA复用控制,可提供USB、I2C、SPI等多种接口,本设计方案配置如图3所示,引脚16、21、22、27、28配置为SPI总线,引脚36、43配置为I2C总线,引脚56、57为USB数据总线。
在AT91SAM7S64芯片提供的USB接口解决方案中,不仅支持USB2.0的全速12 Mb/s设备,而且集成了USB控制器;USB接口通过先分频再倍频并利用外部时钟产生48 MHz时钟;同时该芯片具有USB接口的基础包(ADS的at6124BasicUSB开发包),在驱动开发上比较有利。设计中需要特别注意的是:要控制好数据的“实时”读取,在该芯片接收到基带芯片的中断请求后,会先将数据存入片上收发器,然后通过USB协议将数据输出至外部PC机,在数据传输的逻辑控制上要严格设计逻辑,这也是硬件设计中的难点。
3 软件设计
3.1 软件处理流程
T-DMB对视频业务的处理流程如图4所示。
3.2 RS解码和时间解交织
因基带解码芯片未包含RS解码器和内部解交织器,所以在PC机端接收到每帧204 B数据后,由于解码时解交织的延迟(一般为384 ms)、编码端的延迟和网络传输延时,在转播现有电视节目时,移动多媒体广播最大有3 s的延时,因此,需要进行RS(204,188)解码,并对RS解码后的数据进行深度为12的解交织[4]。
RS解码可调用MATLAB中的rsdec(msg,n,k)函数,其中,msg为待解码信息,n取204,k取188。需要注意的是:在调用该函数前,需要将msg信息转换为GF域类型。
3.3 解复用
T-DMB传输流中包含了MPEG-2的传输层、MPEG-4的同步层、H.264的NAL头以及相关的配置信息,传输流的解复用是软件设计的难点所在。
对每帧的传输比特流,通过解复用器分为同步信道、快速业务信道、主业务信道,并根据快速信道中的复用配置信息(MCI),将主信道分为每个子信道的逻辑帧。一般一个子信道上承载一路音频、视频或数据业务。每一路节目的解复用可按照下述流程处理[5]:
(1)在传输流中依据PID=0x00 00搜索PAT,并从PAT信息中获取PMT信息。
(2)在传输流中依据PMT的PID搜索PMT。
(3)在PMT信息中搜索IOD描述符,获取IOD信息。
(4)根据(3)中获取的IOD信息中,搜索ES描述符,并获取场景和对象描述信息。
(5)根据(4)中获取的ES描述符信息,获取ES_IDs,并在PMT的描述循环中获取与每个ES_IDs对应的基本流信息。
(6)根据(5)中获取的基本流信息,获取与每个ES_IDs对应的PID和流类型信息;然后传输流中依据PID信息,搜索各自的传输包。
(7)根据(4)中场景描述符信息,获取对象描述符标识,并从对象描述流中获取与之对应的对象描述符。
(8)根据ES_ID中的对象描述符和PID的对应关系,识别流类型,并重建场景,依据OD中的同步信息,设置缓冲区。
在进行文件处理时,从ES描述符中,获取时间戳精度和传输码率,从OD的解码特殊信息中获取音视频解码的配置信息,形成音频文件头和视频文件头。
(9)获取场景描述信息。
3.4 音视频解码和同步
在解复用后可获得某一路中的音视频数据,视频信息符合ITU-T H.264 Baseline Profile规范,图像格式一般为CIF(Common Intermediate Format,352×288像素),支持的最大帧率为30fps。音频信息符合MPEG-4 ER-BSAC(Error-Reliance Bit-Sliced Arithmetic Coding)规范或符合MPEG-4 HE AAC V2规范;在音视频的同步上,音频流中含有CTS(Composition Time Stamp)和OCR(Object Clock Reference),视频流中含有PTS(Position Time Stamp),时间戳的语义符合13818-1[3]规范;依据CTS、PTS和OCR的同步方法符合14496-1[4]规范。
在视频音频解码的处理中,采用微软的DirectShow框架,在注册H.264解码器后,只需将解复用后的数据传递给对应的Filter即可[6]。
例如,视频解码器的注册在Dlg类中的OnButtonPlay( )函数中实现:
char path[20]='h264dec.ax';
if(RegisterFilter(path) == FALSE)
{
AfxMessageBox('解码器缺失!');
}
if (mFilterGraph)
{
mFilterGraph->Run();
if (mSliderTimer == 0)
{
mSliderTimer=SetTimer(SLIDER_TIMER,100,NULL);
}
}
本文设计了一种具有USB接口的T-DMB接收机,其USB接口增强了便携性和易用性,为人们在接收信息时带来更大的便利。在实际开发过程中,硬件部分的难点是USB接口设计和接收机的小型化,软件部分的难点是T-DMB码流的解复用和Direct Show应用框架的设计。
参考文献
[1] ETSI EN 300 401 V1.3.3. Radio broadcasting systems;digital audio broadcasting (DAB) to mobile,portable and fixed receivers. 2001-05.
[2] 宋伟. 基于T-DMB的手机电视软硬件设计. 电子设计与应用,2007(11).
[3] USBDMB_EV_Chinese. 西安西芯微公司网站.www.isisip.com.2008.
[4] ETSI TS 102 427 V1.1.1. Digital audio broadcasting(DAB);data broadcasting-MPEG-2 TS streaming.2005-07.
[5] ETSI TS 102 428 V1.1.1. Digital audio broadcasting(DAB); DMB video service; User Application Specification.2005-06.
[6] 陆其明. DirectShow实务精选.北京:科学出版社,2004.