1 导言
在现在的广播电视体系中ASI接口是运用十分广泛的一种接口办法,该接口伴随SPI一同被欧洲电信标准化协会(ETSI)制定,以使不同厂家出产的MPEG2单元能够方便地进行互联。本规划计划以FPGA为中心器材,制造出了SPI-ASI接口转化器。这套计划本钱较低,运用FPGA的可编程性,硬件的晋级较简略。
2 体系结构和功用剖析
2.1 DVB-ASI介绍
一般的Mpeg2编码器的输出和解码器的输入都是标准的并行11位信号,处理简略并且扩展性强,契合SPI(Synchronous Parallel Interface)信号接口。传输SPI信号,在传输链路上是LVDS技能和25根管脚衔接的,因而具有连线多、杂乱,传输间隔短,简略呈现过错等缺陷,并且,SPI的热插拔功用也较差。
ASI是个串行传输协议,TS流以串行的办法传输,为了确保接纳端能正确恢复出TS流DATA数据,发送端需求刺进同步字K28.5。ASI协议中没有PSYNC、DVALID和CLOCK信息,因而,在接纳端需求依据TS流的同步字节0x47,由外部逻辑组成这3个信号。
ASI传输流能够发送不同数据速率的Mpeg2数据,但传输速率稳定,为270Mbps。因而ASI能够发送和接纳不同速率的Mpeg2数据。ASI传输体系运用分层结构描绘,最高层、第2层运用MPEG-2标准ISO/IEC 13818-1,第0层和第1层是依据ISO/IEO CD 14165-1的FC纤维信道。FC支撑多种物理传输前言,本计划选用同轴电缆传输。
2.2 DVB-ASI信号发送体系结构
为了在编、解码器和传输设备之间能正确传递数据,本计划以FPGA(Altera公司的EP1C6T144C8)为中心器材,在SPI和ASI信号之间进行转化。原理如图1所示。其间,27MHz时钟作为体系时钟,为FIFO、8B10B编码和并串转化供给时钟源信号。因为SPI接口选用LVDS电平传输数据,从DB25-F头输入的并行信号,首要需求进行LVDS->TTL电平转化,得到SPI接口界说的DATA、PSYNC、DVALID和CLOCK并行信号。丢掉PSYNC和DVALID信号,将DATA和CLOCK信号直接衔接到FIFO的输入端。外部逻辑操控着FIFO的读,从FIFO读出的数据送给8B10B编码模块进行编码转化,并以270Mbps的速率输出串行数据。其间,270MHz时钟由27MHz体系时钟经过锁相环发生。串行信号电气特性为差分的PECL电平,经过1:1的变压器阻隔后,由BNC头输出。
FIFO的写入时钟即为TS流的字节时钟CLOCK,而读出时钟为固定值27MHz。选用不同的FIFO读逻辑,能够发生突发或接连两种ASI输出形式。本计划中,FIFO、FIFO的读写操控逻辑、8B10B编码以及并串转化均由FPGA 完结,ASI输出为突发形式。
图 1 SPI转ASI模块原理图
在ASI的编码过程中,只需将MPEG2的八位数据和一位TS码率传输时钟输入到FPGA。在本计划中,TS格局为188个字节,因而数据有用信号DVALID一向为高,FPGA疏忽这个信号,只管接纳TS码流数据,而不必关怀TS码流的同步头。PSYNC帧同步信号则作为FIFO读入的操控信号。FPGA将接纳到的数据以TS码率时钟写入FIFO,当FIFO半满时,FPGA接纳到FIFO的半满信号,然后FIFO操控逻辑宣布FIFO可读信号,编码模块以以27Mbps读取FIFO中的数据;当计数器计数到编码模块读取了必定数量(188个读FIFO信号周期)的FIFO数据,则发送FIFO不行读信号,避免FIFO读空。
在FIFO不行读时,向ASI码流中填充K28.5以坚持270Mbps的固定传输速率。终究串行数据经过驱动就可用同轴电缆传送出去。本计划中,K28.5的刺进办法挑选在每个传输包前必须有至少两个同步字(K28.5字符),这契合ASI的传输规矩。
3 体系各结构的完结办法
3.1 信号输入
在ASI的编码过程中,只需将Mpeg2传输流的八位数据和一位TS码率传输时钟输入到FPGA。在本计划中,TS数据经过富士通的专用AS%&&&&&%芯片MB86391发生。因为操控MB86391发生的TS格局为188个字节,因而数据有用信号DVALID一向为高,FPGA疏忽这个信号,只管接纳码流数据,而不必关怀TS码流的同步头。PSYNC帧同步信号也相同疏忽,仅仅需求从帧同步信号拉高开端,FPGA将接纳到的数据以TS码率时钟写入FIFO。
3.2 FIFO模块
FPGA在查找到188字节包长的包头0x47后开端将数据写入FIFO,一起监测FIFO的半满信号HF, 若半满则将FIFO的读使能信号举高, 而此刻从FIFO读出数据给8B/10B编码模块完结编码。读数据时,由FPGA对FIFO的读信号的时钟脉冲计数,计到188个后,将FIFO的读使能拉低,并判别FIFO是否半满。此刻FPGA将不再宣布读FIFO信号, 而是在每个时钟的上升沿刺进一个K28.5同步字, 待发现FIFO半满信号HF呈现后, 再次将FIFO的读使能举高,并坚持188个读FIFO信号周期,如此重复。因为FPGA时钟引脚接一个27MHz的外部时钟, 而在每个时钟的上升沿, 不是输出正常数据便是同步字, 所以不论FIFO是否有数据供给给后端的8B/10B编码器,FPGA终究都将送出固定的270Mbps的串行数据,构成DVB-ASI的标准数据格局。
3.3 8B/10B编码模块
8B/10B编码模块是ASI接口转化的中心之一。DVB-ASI数据编码层的传输规约包含串行编码规矩、专用字符和过失操控。它选用DC平衡的8B/10B传输码。这种码把每一个8bit数据字节变换成契合直流平衡特性的10bit码字。这种码经过无效传输码点和“运转”的不均衡性来供给过失校验。作为超出对数据字节进行编码需求的额外码点,规矩了专用字符。
体系以字节同步的办法接纳MPEG-2传送包,接纳的参阅时钟是选用固定的27MHz的时钟频率。接着,对字节进行8B/10B编码,对呈现的每一个8bit字节发生一个10bit的字,使这些10bit字经过以固定输出比特率270Mbps作业的并/串转化。
将8B/10B编码划分为3个模块完结,较好地反映了8B/10B编码的特色,完结流程清楚,简略编写代码。详细完结过程为: ① 判别是特别字符仍是数据; ② 若是特别字符(3B4B),依据RD极性直接取值; ③ 若是数据,依据RD极性和前一个10bit模块的编码状况确认当时6 bit的取值; ④ 依据当时6 bit编码值确认当时4 bit的编码取值。⑤ 将当时6 bit编码和当时4bit编码组成当时10bit编码输出。
3.4 并串转化模块
在完结8B10B编码今后,将信号送至并串转化模块转化为串行数据流,经过270MHz时钟将串行信号送出,ASI接口选用两线差分办法进行串行数据传输。
4 测验成果
首要对ASI发送体系进行功用仿真,仿真渠道为ModelSim6.0,本规划中,ASI发送体系的输入输出的仿真波形如下图所示:
图 2 ASI发送体系的仿真波形
仿真成果表明,输入信号与编码信号之间次序相差一个码元周期,输出颤动被彻底消除。
本文中的ASI接口测验由Honeywell公司的摄像头、自行研发的MPEG2编码板(视频压缩芯片为MB86391)、MPEG2解码器、显现器构成,如图3所示。
图 3 体系组成
ASI发送测验为:Honeywell公司的摄像头和自行研发的MPEG2编码板输出契合MPEG2标准的TS流,经过标准SPI口送给本文的ASI转化体系的SPI输入,而经SPI到ASI的转化,经过BNC接头的有线电缆送给解码器的ASI口输入,解码后的视频输出送给显现器,接连播映数十小时,图画明晰且显现正常无误。
试验成果证明,选用本文办法规划的ASI发送体系,契合标准ASI接口标准,能有用牢靠的完结SPI-ASI的编码功用和高速串行数据流的发送功用。
5 结语
本文作者立异点: 在剖析ASI发送体系机理的根底之上,提出一种运用FPGA完结ASI发送体系的完结计划,并运用VHDL言语在Altara的FPGA上完结了硬件电路,仿真成果和实践测验彻底正确。该计划层次分明、结构简练、编码速度快、输出颤动小,与现有的运用专用芯片CY7B923的办法比较,具有更大的灵活性,为高速ASI数传的使用前端供给了条件。