以FPGA为基础的ASI/SDI码流播放器设计介绍

网友投稿 373 2022-11-09

以FPGA为基础的ASI/SDI码流播放器设计介绍

1 码流播放器的整体结构设计

国内外绝大多数是使用PCI或PCI-E接口,只能在台式机或服务器上使用,随着PC机的微型化,笔记本电脑的普及,PCI或PCI-E接口已经无法完全满足数字电视测试工作的需求,所以本设计使用的是最通用的USB接口,大大降低数字电视测试工作的难度。

2 码流播放器的硬件模块设计

另外,由于选择了低端的FPGA芯片,在编写版本FPGA程序时发现,其内部逻辑资源较少,无法装下实现ASI和SDI的全部功能程序,而且实际工程应用中并不需要同时实现ASI和SDI的功能,故添加了一个的CPLD,实现FPGA的PS模式的动态加载功能。

2.1 均衡器/驱动器

Driver选择CLC001驱动器,CLC001是集成高速电缆驱动器,可用来传输SMPTE 259M标准的串行数字视频和ITU-TG.703标准的串行数字数据(75Ω传输线,速率高达622Mb/s)。CLC001输出功耗小,十分适合长距离高速传输。

2.2 数据处理

因为TS流数据量较大,同样出于成本的考虑,选择在FPGA上外挂一个SDRAM,作为缓存(如果使用高性能FPGA,就可以使用FPGA内部RAM资源,但是成本较高)。FPGA程序的编写,尤其是控制SDRAM读写作为缓存的部分,是本设计的难点之一。

2.3 USB微控制器

3 码流播放器的软件设计

码流播放器软件系统主要包括以下4个部分。

3.1 FPGA程序功能模块

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就可以按照所得速率,精确控制发送码流的速度。

SDRAM上电复位后,计数器控制在200μs后,进行SDRAM初始化配置,对所有BANK进行预充,接着是多个Reflash,然后进入SDRAM工作模式设置。之后进入空闲状态,执行读写数据和自刷新等任务。

由于USB程序设置为Slave-FIFO模式,将FIFO的空满状态发送到FPGA,而FPGA作为Master,需要根据USB内FIFO的空满信号,综合SDRAM的空满状态,对读写状态进行判断,并给出读写使能。

3.2 USB收发器及控制器固件程序

赛普拉斯公司提供了非常好的程序框架,免去了用户自己编写一些通用性比较强、模式化的程序。在框架的基础上,用户只需在相应的地方写相应的代码即可完成USB工作。

码流传输因为数据量大,而且传输和接受数据上又没有带宽和间隔时间要求所以采用的是Bulk传输方式。

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界面控制程序

4 结论

码流播放器是USB供电,无需额外电源,轻巧方便携带;能轻松捕捉,播放,录制和分析码流;精确控制码流发送速度;全双工,同时进行码流的发送和接收。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java实现解析ini文件对应到JavaBean中
下一篇:三国战记,微软Windows phone,谷歌android,苹果iOS,手机云计算云服务三国混战
相关文章

 发表评论

暂时没有评论,来抢沙发吧~