在节目出口数较少的数字视频广播环境中,TDT信号的时间同步就不那么复杂。在QCN青岛有线网络中心,ST3100H型GPS同步主钟直接将标准时间用RS-232接到EPG服务器,通过该服务器将TDT的发表周期设置为5秒钟重复发7次,这样在机顶盒刚开机的时候,机顶盒面板和浏览画面上的不确切时间显示会立即更新为标准时间。 (2)TDT信号的导出
在数字视频广播中,设备的操作系统把TDT表与电子节目指南EPG等有机地连接,为用户提供丰富多彩的应用,其TDT信号是在内部导出应用的,涉及的方面比较多、比较系统化,一般由为数不多的大系统集成商完成。
在有线电视机顶盒的设计过程中,青岛有线网络中心最先联合GNI、HISENSE、HAIER把TDT信号应用实用化,在浏览状态和关机状态,控制软件自动把TDT解析出来显示在电视屏幕上或机顶盒前面板上,这种设计为国内众多机顶盒厂商起了引领的作用。
把TDT信号从下游设备中解析出来送到外部,将提供更加灵活多样的应用。同时,这才有可能对该信号进行测试。在反复考察比较了各种整机结构和解码芯片后,我们对机顶盒常用的STi5518系列芯片进行了开发,在此平台上,完成TDT的数据提取和解析过程,利用C编程设计,借助芯片自带的串口,成功地将TDT信号解析出来按指定的串口格式予以输出。整个终端的工作原理主要是两部分:一是TDT数据的提取和解析过程:二是将解析后的TDT数据通过串口输出。TDT数据的提取相对比较简单,可以在程序里建立一个实时的任务,一直提取TDT,参照TDT的语法结构如下,其中,TS包的PID为0x14,table_id为0x70,UTC_time为40位的时间信息,它按照UTC和MJD包含了当前的时间和日期。这个字段编码为16bit,给出了MJD的16LSB,其后24bit以4b二进制BCD码编码为6个数字。协调世界时UTC与修正儒略日MJD之间有一定的转化方式,从MJD中计算UTC的方法如下:
而时间的计算则需要根据MJD时间加上本地偏移。例如北京时间,需要加上东八区的偏移,这样获得的时间就是本地实际的时间。
第二部分的工作,就是将计算的TDT时间,通过串口送出。串口在现有机顶盒中,十分常见。而通过机顶盒串口输出TDT数据也变得十分方便。
为了将现有TDT数据作为一个整体传到外部,建立一个结构体如下:
串口传输过程中,串口设备的波特率设置为19200,数据位设置为8,数据校验设为无,停止位设为1,使用简单的通讯协议,START,COMMAND,DATA,STOP,协议格式如下:
通过设置简单的串口协议,可以提高传输准确性。我们先后开发了带TDT解码输出的有线电视机顶盒和卫星电视机顶盒,立即用其测试了大量数据。
(3)TDT信号的测试
虽然,带TDT解码输出的有线电视机顶盒和卫星电视机顶盒代表了终端的实际使用状态,但它们的来源都是调制以后的信号,我们还希望看到调制之前即ASI流中的TDT信号。可是正如前面提到的,至少在当时,从ASI流中直接解析TDT信号所需要的冷门集成电路很长时间未能凑齐。我们仔细分析了整个播出链路,其中调制解调过程可认为是硬件实时、时延固定的,于是我们把ASI信号送进CCTV中心机房的卫星电视调制器,然后从卫星电视调制器输出再接带TDT解码输出的卫星电视机顶盒,这样,TDT解码输出并没有经过上天下地的卫星漂移,而与从ASI直接解出TDT的效果差别不大。
如此,我们设计的TDT信号测试框图如图2所示。