数字卫星综合解码器异步串行接口的设计与应用
2009-06-23
作者:陈新华1,邱丽芳1,涂 立2
摘 要: 数字电视系统设备的MPEG-2视频码流传输接口主要有ASI和SPI。复用器、QAM调制器、数字卫星综合解码器等一般采用ASI接口输入/输出信号。本文分别采用CPLD和FPGA技术设计符合DVB标准的ASI接口电路。通过灵活配置解码器的ASI输入/输出接口,以扩展综合解码器的功能和应用。
关键词: 异步串行接口;传输流;综合解码器;XC95144;CPLD;FPGA;XC3S50
数字电视前端系统设备的传输接口有两种MPEG-2视频码流传输接口标准:异步串行接口ASI和同步并行接口SPI。SPI共有11位有用信号,每位信号差分成两个信号用来提高传输抗干扰性,在物理链接上用DB25传输,因此连线多且复杂,传输距离短,容易出现故障。但SPI是并行11位信号,处理简单且扩展性强,在MPEG-2视频编码器的输出和输入都是标准的SPI接口信号。对于数字电视系统前端设备来说,大部分都采用ASI接口传输TS信号。
数字卫星综合解码器也称为工程型数字卫星接收机,俗称数字卫星信号接收机。相对普通数字卫星信号接收机而言,综合解码器一般都具备ASI接口、支持CA模块、专业功能强、可靠性和扩展性高,在数字电视前端系统得到广泛应用,为数字电视系统提供免费或者加扰了的卫星电视/广播信号。其输入一般来自LNB的卫星信号,通过ASI接口输出基于DVB标准的TS码流。
1 ASI工作原理介绍
1.1 基于同轴电缆的ASI传输系统框图
ASI采用串行传输,只需一根同轴电缆线传输,连线简单、传输距离长。ASI传输流可以有不同数据速率,但传输速率恒定,为270 Mb/s,规定ASI传输的数据为采用字节同步的MPEG-2传送包,数据格式为8 B/10 B编码,因此ASI可以发送和接收不同速率的MPEG-2数据。ASI传输系统采用分层结构。最高层、第2层使用MPEG-2标准ISO/IEC 13818-1(SYSTEM),第0层和第1层是基于1SO/IEC CD 14165-1的FC(Fibre Channel)纤维信道。FC支持多种物理传输媒介,如同轴电缆传输等。图1是以同轴电缆传输为例的ASI传输系统。
1.2 工作原理简述
首先将包同步的MPEG-2 TS流的8比特码字转换成10比特码字,然后对这些10比特码字进行并/串转换。当要求输入一个新字而数据源还没有准备好时,应插入一个K28.5的同步字(接收时将略掉这些同步字),以达到串/并转换后输出比特率固定为270 Mb/s。所形成的串行比特流将通过放大/缓冲电路和耦合网络,送到同轴电缆连接器上。
同轴电缆的传输数据,经连接器和耦合网络耦合到放大缓冲器进行驱动,恢复时钟和数据,然后进行串/并变换;为了恢复字节同步,ASI解码器必须先搜寻到K28.5同步字,一旦搜索到该同步字,即为随后接收的数据标定了边界,从而建立了解码器输出字节的正确字节排列,最后将10比特码字转换成8比特码字,恢复出包同步的MPEG-2 TS码流数据。但是K28.5同步字不是有效数据,因此解码时必须删除。
2 XC95144芯片结构以及功能
XC95144芯片是Xilinx公司推出的一款高性能CPLD(复杂可编程逻辑器件)芯片,芯片内部结构如图2所示。XC95144提供先进的在系统编程功能,为一般的逻辑功能实现提供测试功能;内置8个功能模块,每个功能模块提供18个宏单元,总共提供144个宏单元;可用门多达3 200个,可以通过配置宏单元在标准模式或者低功耗模式来达到节电目的。
3 基于CPLD的异步串行接口设计
ASI信号输出是复用器、编码器、QAM调制器、数字卫星综合解码器等数字电视前端设备的重要功能之一。对于工程型数字卫星接收机来说,ASI接口用来输出经过QPSK解调后的TS码流,将接收到的数字电视节目码流传送给QAM调制器,再经有线电视传输网络输送到机顶盒用户;或者经另一台带ASI输入的解码器恢复MPEG-2传输流。下面介绍基于XC95144芯片的异步串行接口在工程型数字卫星接收机中的应用。
3.1 ASI 接口示意图
采用XC95144芯片实现ASI接口的原理图如图3所示。
3.2 工作过程简述
在综合解码器中,FIFO缓冲存储器和逻辑控制用XC95144来实现,高速串行数据发送器采用CY7B923。解码器TUNER输出MPEG-2标准的TS码流(或经CI解密后的透明流)传送到XC95144内部FIFO缓冲存储器,FIFO接收到数据后,XC95144内置逻辑控制电路(ENA脚)发出一个控制信号使CY7B923工作在8B/10编码模式。TS码流数据经编码和并/串转换后变成串行码流,再经变压器(PE-65508,该变压器用来隔离传输上可能出现的高压,并有带通滤波功能)耦合和阻抗匹配,完成异步串行输出。同理,由另一ASI输出设备输出的异步串行信号,经变压器(PE-65508)耦合高速串行数据通信接收芯片CY7B933。经内置PLL同步时钟产生器恢复用于数据重构所需的位同步时钟,同时产生帧同步时钟。然后输入的位流数据在移位器中实现串/并转换,同时送到译码器中译码并检查传送错误。最后将译码后的字节数据在帧同步时钟控制下送到输出寄存器由并行输出脚输出。
3.3 ASI功能设置
对于采用CA模块功能的综合解码器来说,如何灵活地实现ASI接口信号的输出将极大地扩张综合解码器的功能和应用范围。一般ASI输出是综合解码器的标准配置,根据实际需要,还可以增加ASI 输入端口。因此TS流的输出就有三种组合方式,一是高频头TS流直接通过ASI输出;二是高频头TS流经CI电路解扰后输出(CAM输出);三是ASI输入经本机CI接口电路解扰后再由ASI输出。这三种组合方式的切换由逻辑电路完成。综合解码器中的逻辑电路所起的作用就像电子开关一样,选择所需信号再流向下一环节。以上设计方案的输入和输出提供几种选择模式:
(1)ASI输出方式
①CAM输出:综合解码器可以输出已由CAM卡解扰后的透明TS流;
②高频头输出:综合解码器可以输出本机卫星信号输入端接收到的TS流;
③输出方式为ASI输入:综合解码器可以输出本机ASI输入端口接收到的TS流。
(2)CAM输入方式
①高频头输入:把本机高频头接收到的卫星信号TS流传输给CAM模块;
②ASI输入:把本机ASI输入端口输入的TS流(一般是透明的)传输给CAM模块;
③ASI输出格式:188 B/包和204 B/包,默认为188 B/包。当本机与其他接收机级联时,ASI输出格式设置为204。
4 基于FPGA的异步串行接口的设计
4.1 XC95144XL芯片的缺陷及FPGA技术优势
综合解码器采用单片数据传输模块XC95144XL-10完成信号的切换功能,但是芯片的控制和工作需要软件辅助实现。因此在检修ASI输入/输出部分故障时,如确定是因XC95144XL-10不良引起,则不能简单进行同型号更换,必需先将程序烧录至逻辑芯片,这样检修维护很麻烦。随着XC95144XL-10的停产,以及FPGA技术和产品的应用普及,综合解码器完全可以采用更先进的FPGA技术和产品来实现信号的切换功能。
FPGA包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个主要部分。FPGA最大的优点是可编程性,不投片也能开发自己的芯片,或者作为ASIC 芯片的样片。FPGA是ASIC电路中设计周期短、开发费用低、风险小的器件之一,在嵌入式系统中广泛应用,特别是大批量数据传输中的应用。
4.2 FPGA技术实现ASI接口
FPGA数据传输模块硬件包括的器件有一片Xilinx XC3S50 FPGA和一片XCF01S为FPGA做配置。即信号切换部分由XC3S50完成,XC3S50工作所需的控制程序则存储在专用的配置芯片XCF01S,这样在开发或生产调试中出现ASI方面故障时只对XCF01S软件升级即可。XCF01S配置芯片本身支持JATEG 调试接口,可通过JATEG调试接口更新其程序。
XC3S50拥有一系列产品,最高可达784个I/O引脚、74 880个逻辑单元,每个I/O引脚支持622 MB/s的数据传输率,集成MicroBlazeTM处理器,支持Xilinx的ISE开发系统;XCF01S芯片为FPGA配置提供在系统编程PROMs,内置低功率、先进(NOR)快闪记忆体,支持20 000次擦除周期。
FPGA中的引脚除了与配置芯片连接外,还与主芯片嵌入式处理器、Flash、网络芯片连接。FPGA 有多种配置模式,本机采用串行PROM编程FPGA。图4为采用FPGA实现数据传输的硬件模块框图。图4中①粗线条表示TS信号,②细线条表示控制信号和数据信号。
图4模块中的FPGA可实现如下功能:
(1)采集高频头或CI接口电路传输来的TS并行数据。
(2)采集ASI异步串行接口传输来的TS并行数据。根据需要还要送入CI接口电路进行解扰。
(3)输出TS并行数据到异步串行接口(ASI输出)。
XC3S50与XCF01S连接示意图如图5所示。
4.3 FPGA技术实现ASI接口工作流程
整机启动时,可编程器件XCF01S程序随FLASH 程序一起加载至SDRAM运行,根据用户的需要,主芯片CPU通过总线设置XC3S50工作参数,即选择TS流的流向,使ASI输入/输出符合用户需求。高频头/CI接口电路输出的TS流和数据控制信号经XC3S50处理后,数据控制信号过滤掉,只保留TS流信号输出至高速串行数据发送器CY7B923,数据发送器工作时钟由外部27 MHz有源晶振提供,数据发送器进行8 B/10B编码,同步字(FC逗号)插入,串并转换后输出异步串行TS流(ASI信号)。ASI输入的TS流经8 B/10 B解码、时钟恢复和串并转换等一系列处理后输出8 位TS流及时钟信号(ASICKR)至XC3S50。由于综合解码器解复用模块和CI接口模块工作时仍需数据控制信号,所以这部分信号由XC3S50产生并提供。
5 应用
目前在综合解码器内部无法调整输出的ASI信号中音频声量大小,所以造成不同的卫星电视节目音量不一致。为了解决该问题,湖南有线电视网络(集团)股份有限公司在2008年9月建立了数字卫星电视节目重编码平台,确保各个卫星电视节目音量大致均衡,重编码平台采用了深圳市同洲电子股份有限公司生产的CDVB5100CI综合解码器来接收、解码、输出卫星电视节目TS信号,具体应用如图6所示。卫星信号只需要连接第1台综合解码器,在第1台综合解码器中使用一块CAM大卡和一张可以解扰输出4套卫星电视节目的授权小卡。这样在同一个卫星下行频点中的4套电视节目全部在第一台解码器中解扰,后面级联的解码器只需处理、输出从上一级解码器传输过来的透明ASI信号即可。每台解码器的模拟输出端口设置输出一套电视节目,后续编码设备对模拟音视频电视信号重新编码,在编码设备上把不同的电视节目的音量调整到相同的状态。
就目前FPGA技术的普及以及性价比来说,在综合解码器中采用FPGA技术实现ASI接口是非常理想的方案,它可以缩短设计周期、降低开发费用、提高测试和维护效率,使得产品的开发、维护和应用风险最小。通过配置综合解码器的ASI信号不同的输入、输出方式,极大地扩展了综合解码器的功能和应用。
参考文献
[1] Xilinx.XC95144 In-System Programmable CPLD.pdf.http://www.xilinx.com/support/documentation/data_sheets/DS067.pdf[EOL],2006,3(4).
[2] Xilinx.XC3S50 Errata(PDF).http://www.xilinx.com/support/documentation/spartan-3.htm.[EOL],2005,17(1).
[3] Xilinx.XCF01S.http://www.xilinx.com/support/documentation/customer_notices/advisory2003-07.pdf[EOL],2003,16(12).
[4] 李坚.用CPLD产生视频同步控制信号[J].电视技术,2003(5).
[5] 齐志强.基于FPGA的串行Flash扩展实现[J].国外电子元器件,2007(10).