本发明公开一种高速视频信号传输方法,涉及信号传输领域,具体地说是一种基于aurora协议的高速视频信号传输方法。
背景技术:
随着时代发展,计算机通信经常进行高清视频等信号的远距离传输。而目前这些信号通过普通传输线经过远距离传输,接收端收到的信号因传输延迟大,会导致严重失真等问题。造成视频信号显示不清等问题,本发明提供一种基于aurora协议的高速视频信号传输方法,基于aurora协议,利用光纤传输解决发送端和接收端数据传输不同步,造成视频信号失真等问题。
aurora协议是一种可扩展的开放的链路层协议,该协议采用点对点的串行传输方式,实现高速数据的传输。该协议固化了gtp硬核,能够灵活地用于扩展光纤传输信道的数量进行多通道绑定,实现数据传输的无缝带宽优化,并且在满足用户应用设计的同时简化了用户接口。
光纤传输,以光导纤维为介质进行的数据、信号传输。光导纤维,不仅可用来传输模拟信号和数字信号,而且可以满足视频传输的需求。光纤传输一般使用光缆进行,单根光导纤维的数据传输速率能达几gbps,在不使用中继器的情况下,传输距离能达几十公里。
技术实现要素:
本发明针对现有技术存在的不足和问题,提供一种基于aurora协议的高速视频信号传输方法,本发明提出的具体方案是:
一种基于aurora协议的高速视频信号传输方法,基于aurora协议,使光端机发送端odck与接收端idck同源同步,将发送端的aurorauser_clk恢复的时钟recoveryclk作为接收端aurora的rxoutclk,并通过外部pll芯片生成与odck相同频率的时钟作为接收端fifo的读时钟,同时输出到接收端的编码器,
光端机发送端和接收端的逻辑芯片,依据发送端和接收端时钟的同源同步,控制发送接收视频信号。
所述发送端aurora的参考时钟gt_refclk是odck输出到i/o引脚,通过外部pll芯片产生同一种时钟频率的差分时钟接入到gtpbank的专用时钟,使发送端fifo的读写时钟同源同步。
所述光端机传输视频信息的过程为:接收端发送命令读取edid信息,并发送到发送端保存,向发送端发送edid读取指令,读到display的分辨率信息,发送display支持的像素信号,发送端设置时钟频率,对odck进行采样,根据接收到的整帧的信号,分析得知发送的视频信号的分辨率及像素传输频率,再发送给接收端,接收端解析后生成相应信号,发给transmitter,发送端根据信号整理像素信息,再发送给接收端,接收端接收像素信息,使能transmitter并向外面发送数据。
视频分辨率发生变化时,光端机重新采集分辨率及像素传输频率发送到接收端。
所述发送端定义缓存区域,接收像素点进行串并转换,接收一定数量的像素点后进行压缩缓存,缓存一定数量的像素点后,发送端连续发送串行数据。
所述发送端发送到光纤的信息有像素信息、发送指令、主机复位信号。
所述发送端接收到光纤的信息有edid信息、hotplug信息。
所述传输过程中对不同信号定义不同的包头、包尾。
本发明的有益之处是:
本发明提供一种基于aurora协议的高速视频信号传输方法,基于aurora协议,使光端机发送端odck与接收端idck同源同步,将发送端的aurorauser_clk恢复的时钟recoveryclk作为接收端aurora的rxoutclk,并通过外部pll芯片生成与odck相同频率的时钟作为接收端fifo的读时钟,同时输出到接收端的编码器,光端机发送端和接收端的逻辑芯片,依据发送端和接收端时钟的同源同步,控制发送接收视频信号,因此利用本发明解决发送端和接收端数据传输不同步,造成视频信号失真等问题。
附图说明
图1本发明中光端机内部结构框图;
图2本发明光端机发送端与接收端时钟连接框图;
图3本发明光端机接收端与发送端时钟连接框图;
图4本发明视频信号处理流程图;
图5本发明中ddc通道获取edid信息过程;
图6本发明中像素点信息传输流程图。
具体实施方式
结合附图,进一步对本发明进行解释说明。
参考图1,其中具体实施中,光端机包括发送端和接收端,其中发送端的逻辑芯片分别为u0,接收端的逻辑芯片分别为u1。其中光端机的dvi光远传系统主要包括发送端的双编码器tfp401、控制器xc7a200t、光模块,接收端的双解码器tfp410、控制器xc7a200t、光模块;其中编码器tgp401将标准dvi信号转换成24位并行信号,供控制器xc7a200t使用;解码器tfp410将24位并行数据转换为标准dvi信号;控制器xc7a200t主要负责数据采集及转换;光模块负责电信号和光信号的转换。
发送端和接收端之间时钟不同源同步,总是有大有小,造成两端fifo的状态总是“empty”或者“full”,屏幕上就容易出现“花屏”等失真现象。
设置发送端和接收端之间时钟同步同源,可参考如图2所示,使idck和odck同源。优先确保发送端fifo的读写时钟同源同步,其中发送端aurora的参考时钟gt_refclk是odck输出到i/o引脚,通过外部pll芯片产生同一种时钟频率的差分时钟接入到gtpbank的专用时钟pin脚,做到发送端fifo的读写时钟同源同步;然后接收端aurora的rxoutclk是发送端的aurorauser_clk恢复出来的时钟recoveryclk,这个时钟通过外部pll芯片生成与odck相同频率的时钟作为接收端fifo的读时钟,同时输出到解码器tfp410,这样可以做到odck与idck的同源同步。解决屏幕上就容易出现“花屏”等失真问题。
在上述本发明技术的基础上,光端机传输dvi视频信息的具体工作步骤为:
(1)开机之后,u1作为主设备,向display发送命令读取128byteedid信息,并发送到u0保存;
(2)host作为主设备,向u0发送edid读取指令,从u0直接发送,无需告知display;
(3)主机读到display的分辨率信息后,会发送display能够支持的像素信号m*n;
(4)u0中设置时钟频率fs,对odck进行采样,当odck频率发生变化时,说明主机向display发送的视频信号分辨率发生了变化。u0根据接收到的整帧的信号,通过对hsync、vsync、odck的分析得知主机发送的视频信号的分辨率m*n以及像素传输频率f,并将此信息打包发给u1;u1解析后生成hsync、vsync、idck信号,准备发给transmitter;
(5)u0中定义l=m*4*8的缓存区域,每接收一个像素点都要并/串转换,每一个像素点数据都要以hsync+vsync+像素信息的形式表示,接收整行的m个像素点后打包缓存,包头包尾设置标志位分别用s、p表示;
(6)等待缓存n个像素点后,u0连续向gtx,高速串行收发器,发送串行数据,此处w=0~m,当等于0时表示即收即发,当等于m时表示整行发送;
(7)u1接收到像素信息,使能transmitter并向外面发送数据;
(8)当主机端发送的视频分辨率发生变化,要重新采集m、n、f发送到接收端,以此重复(4)步骤;
(9)当主机重启、发送reset信号或更换display(hotplug发生变化)时,主机会重新读取edid信息,由此重复(1)步骤;
(10)u0发送到光纤的信息有像素信0息、ddc发送指令、主机复位信号;u0接收到的光纤信息有edid信息、hotplug信息,为了传输过程中便于区分各类信号,需要对每种信号定义不同的包头、包尾。
利用本发明方法依据发送端和接收端时钟的同源同步,控制发送接收视频信号,因此利用本发明解决发送端和接收端数据传输不同步,造成视频信号失真等问题。