一种数字电视整机接收性能的自动化测试方法
2014-12-13刘世安,陆军
刘世安,陆军
解调器和解码器之间的数据为传输流(TS)。解调器在FEC锁定的条件下,输出传输流,提供给后端解码器做解复用及视频解码处理。图2为传输流包的结构示意图。
<;E:\2014年23期\2014年23期\Image\26t2.tif>;
图2 传输流包结构示意图
包的大小为固定的188 B,它被分为包头和有效载荷两部分。在包头携带的信息中包含有传输错误指示位。在传输层之上的错误校正层中,如果原始误码率(BER)太高而无法校正时,通过对该位置位来标志传输流包出错。数字电视解调器性能的自动化测试就是以获取TS中的传输错误指示标志为出发点。在工程实践中,利用FPGA的快速处理能力完成对该标志位的读取。如果一个传输流帧的错误指示位为“1”,则错包计数器累加1;若帧内的错包指示位为“0”,则错包计数器保持原值。另外,根据SFU播出的特定测试节目流,测量出每个传输流帧间的时间间隔,若超过一定的时长,解码器无传输流数据送出,则可以判断解调器FEC失锁。
Verilog HDL代码如下:
module
ts_err_capture(ts_clk,ts_sync,ts_d7,ts_vld,ts_err_counter,err_indicator, rst_);
……
模块接口信号说明:ts_clk为传输流的输出时钟,ts_sync为传输流的帧同步信号,ts_vld为传输流的帧有效指示,ts_d7为并行数据的最高位。上述4个信号可以通过飞线从整机的解调器管脚引出。另外err_indicator为当前TS数据帧为错包指示,ts_err_counter为16位错包计数器,rst为外部对FPGA异步复位信号。对于串行传输流接口,仍引用这4根信号线,对于HDL代码需要做一些调整,本文以并行传输流为例。
为利用ts_sync的上升沿捕获第二个ts_clk时钟下的ts_d7, 用到两个寄存器对ts_sync信号做延迟两拍处理。两个寄存器为:
