基于FPGA的高清视频收发器的设计

时间:2022-10-23 02:29:19

基于FPGA的高清视频收发器的设计

摘 要:本文提出了一种用带有高速收发器的FPGA芯片来实现高清视频收发的设计方案。它用一款带有收发器的FPGA实现收发功能,用由Altera公司提供的高速收发器IP进行软件设计。实际测试表明,该设计达到了预期设计目标,可对高清视频进行收发。

关键词:高清 高速收发器 FPGA IP

高清视频串行收发系统的发送端和接收端的传输频率一般需要达到1485MHz或以上,这就要求有专门的高清视频收发器进行收发,从而进行一些视频的处理。笔者就是基于一款带有高速收发器的FPGA芯片EP4CGX15C8来进行高清视频的收发,不但设计简单方便,而且成本低廉。

一、高清视频收发系统设计

1.硬件设计

高清视频收发系统硬件电路主要由电缆驱动模块、时钟修复模块、收发模块、输出驱动模块和电源模块组成。系统硬件图见图1。硬件方案的选择需要考虑:PCB板布局布线的难易程度、PCB板的面积限制、硬件电路总成本、开发周期以及产品的维护成本。

图1 系统硬件框图

其中,电缆均衡模块使用GS2984芯片、时钟修复模块用芯片GS2965、输出驱动用芯片GS2988均是GENNUM公司推出的。收发模块用Altera公司推出的带有高速收发器的FPGA芯片EP4CGX15C8。

2.软件设计

该设计的软件部分用的是由Altera公司提供的高速收发器的IP软核ALTGX,它可在QuartusII软件平台上调用,允许配置一个或多个收发器通道,可以根据收发器的配置选择不同的物理编码层(PCS)和物理介质附加层(PMA)。

由于该系统选定的FPGA芯片是Cyclone IV GX系列FPGA中最经济的芯片,它并不支持ALTGX中的SDI模式,所以我们选择的是BASIC模式,此种模式可通过选择不同的子模块实现高清视频流的收发功能。

高速收发器Basic模式包含以下几个子模块:①CDR模块,即时钟恢复模块。它通过接收到的HD-SDI视频流提取出对应的时钟,为后面的字对齐及解串模块提供时钟。②解串模块。解串模块把接收到的串行的HD-SDI信号转为并行8bit或10bit数据,频率相应地变为1/8或1/10。③字对齐模块。字对齐模块把解串后的并行数据通过预先定义的对齐模式进行数据字边界对齐。④字节解串模块。字节解串模块把8bit或10bit的并行数据解串为16bit或20bit的数据,时钟频率也相应减半。⑤相位比较FIFO。它把收发器解串后的并行时钟与FPGA内部接口时钟进行比较和相位补偿。⑥字节串化模块。字节串化模块把16bit或20bit并行数据串化为8bit或10bit并行数据,使时钟频率加倍。⑦串化模块。串化模块把并行8bit或10bit数据转为串行数据发送,同时频率相应的变为8倍或10倍。

该系统中的rx_clkout是接收端的时钟,它是根据接收到的HD-SDI视频流通过CDR模块进行提取得来的,是完全与视频流同步的时钟。tx_clkout是发送端的参考时钟,这是外部晶振通过FPGA内部锁相环得到的一个时钟,发送时会根据这个时钟来发送数据。而rx_clkout与tx_clkout不会始终同步,所以我们在FPGA内部又加了一个时钟同步FIFO。首先将接收到的数据以rx_clkout时钟写入FIFO,然后再以tx_clkout时钟把数据读出,最后再传到发送端,这样就使发送的数据与发送端参考时钟同步,从而输出正确的视频信号。

二、系统测试

根据系统的结构以及功能将测试平台搭建为如图2所示的系统。该系统先通过一个高清彩条信号发生器产生高清彩条信号,然后把信号送到收发器的接收端,经过收发器的处理之后再通过收发器发送端发出信号,通过下变换板接到电视机来查看效果。电视机是数字电视,接口是HDMI接口。我们用HDMI线来对下变换板和电视机进行连接。

图2 高清视频收发器测试平台

测试结果显示,在高清彩条发生器产生彩条后,经过收发器的收发,在数字电视上可以显示出高清彩条,这就表明,在用FPGA实现的高清视频收发器进行数据接收与发送过程中没有任何数据丢失,系统能够实现对高清视频接收与发送的功能。

上一篇:技能大赛应避免成为“精英赛事” 下一篇:浅谈模具小组生产模式对模具行业的影响