在各种测验作业中,码流的传输是必不可少的,常用的接口有:异步串行接口(ASI)、串行数字接口(SDI)、同步并行接口(SPI)、同步串行接口(SSI)。其间,ASI与SDI接口由于连线简略(只需一根同轴电缆线传输),传输间隔长,抗干扰能力强,输入反射损耗较小等原因被广泛运用为码流的传输接口。
PC机是各种测验进程中最常用的测验东西,作为PC机最常用的接口的通用串行总线USB,由于规范一致,支撑热插拔,可衔接多个设备等长处,逐步成为测验东西的常用接口,若能完结USB接口与传输码流的ASI/SDI接口的衔接,将给数字电视测验作业带来极大便当。
规划ASI/SDI码流播映器的意图是规划出手机巨细的电路板,一端是USB接口,另一端是则ASI/SDI接口,经过FPGA、UB2.0等芯片完结ASI/SDI接口与USB接口之间的转化,以到达TS流的录制与播映和对码流进行剖析的意图。
1 码流播映器的全体结构规划
现在,DVB-ASI接口的完结大多选用Cypress公司的CY78933和CY78923芯片与CPLD或FPGA相结合的计划,这种办法当然能够完结ASI信号的收发,但芯片费用和PCB面积的占用却是数字电视前端设备寻求低本钱和微型化的妨碍,针对这种状况,文中规划的ASI信号接纳与发送体系选用同轴电缆作为其底层物理信道,用FPGA芯片完结了CY7B933和CY78923芯片的ASI信号的接纳与发送功用,可有用节省本钱,下降PCB的规划难度,并可用FPGA芯片完结其他功用。
国内外绝大多数是运用PCI或PCI-E接口,只能在台式机或服务器上运用,跟着PC机的微型化,笔记本电脑的遍及,PCI或PCI-E接口现已无法彻底满意数字电视测验作业的需求,所以本规划运用的是最通用的USB接口,大大下降数字电视测验作业的难度。
如图1所示,ASI/SDI码流播映器的规划是依据FPGA和USB2.0芯片来完结的,集成度高,便利轻盈,能在PC机上轻松完结码流捕捉,剖析,监控和播映ASI/SDI数字流,现场录制和剖析MPEG-2码流,还能够作为便携式的演示设备。
2 码流播映器的硬件模块规划
运用FPGA完结了CY7B933和CY7B923芯片的功用,节省了很多本钱;一起,用Cypress公司的USB2.0芯片CY7C68013A代替PCI或PCI-E接口,由于传输的码率较大,理论最大值为216 Mb,FPGA内部资源RAM资源无法满意要求,增加一个SDRAM作为缓存,缓冲数据,避免丢数。
别的,由于挑选了低端的FPGA芯片,在编写版别FPGA程序时发现,其内部逻辑资源较少,无法装下完结ASI和SDI的悉数功用程序,并且实践工程运用中并不需求一起完结ASI和SDI的功用,故增加了一个的CPLD,完结FPGA的PS形式的动态加载功用。
2.1 均衡器/驱动器
输入前端均衡器(Equaliser)选用的GS9064是第二代的双向性高速集成电路,均衡和康复收到的信号(75Ω同轴电缆,速率从143 Mb/s到540 Mb/s),支撑SMPTE 344 M和SMPTE 259 M规范,且270 Mb/s时功用最佳。具有主动检测线长并依据信号强弱主动匹配均衡的功用,也可依据特定需求设置均衡参数。
Driver挑选CLC001驱动器,CLC001是集成高速电缆驱动器,可用来传输SMPTE 259M规范的串行数字视频和ITU-TG.703规范的串行数字数据(75Ω传输线,速率高达622Mb/s)。CLC001输出功耗小,非常合适长间隔高速传输。
2.2 数据处理
输入输出信号都经由差分线进入FPGA,出于本钱的考虑,挑选性价比较高的Altera公司出产的低端Cyclone I系列EP1C6F256C6。在FPGA内部完结ASI/SDI输入输出的操控,信号的串/并转化,码流剖析,数据缓存(读写SDRAM),码流传输等功用。
由于TS流数据量较大,相同出于本钱的考虑,挑选在FPGA上外挂一个SDRAM,作为缓存(假如运用高功用FPGA,就能够运用FPGA内部RAM资源,可是本钱较高)。FPGA程序的编写,尤其是操控SDRAM读写作为缓存的部分,是本规划的难点之一。
2.3 USB微操控器
FPGA操控的输入输出码流都经由USB2.0芯片传送至PC机。赛普拉斯半导体公司的EZ-USB FX2LP(CY7C68013A)是高集成、低功耗USB 2.0微操控器,将USB 2.0收发器、串行接口引擎(SIE)、增强型8051微操控器,以及可编程外设接口集成到一个芯片中,并且赛普拉斯研宣布一个极具本钱优势的解决计划,不只能在极短时间内完结从立项到投放市场的进程,并且其低功耗特色使得总线供电运用成为可能。
3 码流播映器的软件规划
码流播映器软件体系首要包含以下4个部分。
3.1 FPGA程序功用模块
如图2所示,体系输入时钟为27 MHz,由两个PLL锁相环倍频得到270 MHz,135 MHz和两个相位差90度的337.5 MHz时钟。其间270 MHz是为ASI Transmitter供给,其他3个均为ASI Receiver所需。
ASI Transmitter模块的作用是,先进行8B10B编码,再把并行的27 MHz数据依照规范协议转成270 MHz的串行数据。
ASI Receiver模块则是ASI Transmitter的逆进程,先进行串并转化,用5倍时钟采样对数据进行校准,然后剖析同步包头号信息,再进行8B10B解码,得到8位并行数据。
SDI部分与ASI非常相似,不重复介绍。
码流播映器是全双工规划,可是,由于FPGA与USB芯片之间的数据传输管脚是复用的,不能一起双向传输。所以,在FPGA与USB芯片之间需求不断的快速切换读和写(1μs切换一次),即可完结“一起”发送和接纳数据。
一起发送和接纳数据时,受切换的影响,速率折半,且USB接口时钟最大支撑仅为48 MHz,所以当收发一起进行的时分,传输速度无法到达理论最大的216 Mbps。假如仅仅单向发送或许承受数据,体系会主动切换成接纳或许发送形式,根本能够到达数据传输理论最大值的216 Mbps。
发送码流时,能够在上位机软件的操作界面上输入发送速率(从0到216,000,000 bps),上位机经过USB芯片,把发送速率传到FPGA,FPGA就能够依照所得速率,准确操控发送码流的速度。
为了到达码流收发的理论最大值,在FPGA上外挂一个RAM,经过对RAM的读写的操控,完结先入先出(FIFO)的缓存功用。FPGA对RAM的读写操控是编写Verilog HDL的难点之一,为了节省本钱,码流播映器挑选价格低、体积小、速度快、容量大的SDRAM,给Verilog程序编写增加了不少难度。比较操控简略的SRAM,DRAM每隔一段时间有必要自改写和预充,且数据线与队伍地址都是复用的,切换读写时极简略呈现时序上的误差,呈现写错,读错,重复读,丢数等等问题。
SDRAM上电复位后,计数器操控在200μs后,进行SDRAM初始化装备,对一切BANK进行预充,接着是多个Reflash,然后进入SDRAM作业形式设置。之后进入闲暇状况,履行读写数据和自改写等使命。
由于USB程序设置为Slave-FIFO形式,将FIFO的空满状况发送到FPGA,而FPGA作为Master,需求依据USB内FIFO的空满信号,归纳SDRAM的空满状况,对读写状况进行判别,并给出读写使能。
3.2 USB收发器及操控器固件程序
赛普拉斯公司供给了非常好的程序结构,免去了用户自己编写一些通用性比较强、形式化的程序。在结构的根底上,用户只需在相应的当地写相应的代码即可完结USB作业。
码流传输由于数据量大,并且传输和承受数据上又没有带宽和间隔时间要求所以选用的是Bulk传输方法。
计算机和USB外设端点0(EP0)之间的传输是典型的操控传输,首要进行查询装备和给USB设备发送通用的指令;操控传输是双向传输,数据量一般较小,并且数据传送是无损性的。
3.3 CPLD动态加载装备程序
CPLD经过USB芯片,接纳上位机传输过来的FPGA装备文件(.rbf格局),然后依照固定的时序对FPGA进行装备。需求留意的是,在动态加载进程中,FPGA的形式挑选需装备为PS形式,不同的FPGA芯片之间装备形式略有不同,电位要求也不尽相同。
装备进程为:CPLD将nCONFIG置低再拉高来初始化装备;等候FPGA回来应对信号nSTATUS,检测到nSTATUS变高后,将装备数据和移位时钟别离送到DATA0和DCLK管脚;送完装备数据后,检测CONF_DONE是否变高,若未变高,阐明装备失利,应该重新启动装备进程。在检测CONF_D ONE变高后,依据器材的守时参数再送必定数量(40个)的时钟到DCLK管脚;待FPGA初始化结束后进入用户形式。
3.4 PC界面操控程序
由C#编写的操控界面,首要完结与USB芯片间的码流传输,发送操控指令,接纳码流剖析成果等信息,如图3所示。
4 定论
码流播映器是USB供电,无需额定电源,轻盈便利带着;能轻松捕捉,播映,录制和剖析码流;准确操控码流发送速度;全双工,一起进行码流的发送和接纳。
用户界面简略明了。发送时挑选发送文件,再输入发送速度,点击开端即可;接纳时挑选存储途径和录制内容,再挑选录制方法,点击开端。一起,用户界面还能实时接纳到FPGA剖析得到的各种码流参数信息。现在,本文所介绍的码流播映器已进入稳定性测验阶段,各项功用也在不断完善和优化中。
码流播映器的电路板仅为6 mm*9 mm,细巧简便,便利带着;操作简略,界面友爱;由于设计时严格操控本钱,价格低廉,性价比高,是数字电视专业人员抱负的测验东西。