一种基于光纤的板间图像实时传输系统转让专利
申请号 : CN202010144958.3
文献号 : CN111464799B
文献日 : 2021-07-02
发明人 : 黄曦 , 刘龙 , 董维科 , 张建奇
申请人 : 西安电子科技大学
摘要 :
权利要求 :
1.一种基于光纤的板间图像实时传输系统,其特征在于,包括:第一背板、第二背板、FIFO输入模块、SFP发送模块、数据编码模块、FIFO输出模块、SFP接收模块和数据解码模块,所述FIFO输入模块、所述SFP发送模块和所述数据编码模块设置于所述第一背板上,所述FIFO输出模块、所述SFP接收模块和所述数据解码模块设置于所述第二背板上,所述数据编码模块和所述数据解码模块通过光纤进行数据传输,其中,所述FIFO输入模块,用于缓存图像的第一图像数据,并对所述第一图像数据进行跨时钟域处理得到第二图像数据;
所述SFP发送模块,用于在所述FIFO输入模块缓存的第二图像数据的数量满足第一预设数据的数量要求时接收所述第二图像数据,所述第一预设数据为所述FIFO输入模块缓存的第二图像数据的数量为1行时的数据;
所述数据编码模块,用于接收所述SFP发送模块的第二图像数据,将第一数据位宽的所述第二图像数据转换为预设位宽的第三图像数据;
所述数据解码模块,用于接收所述数据编码模块的第三图像数据,将预设位宽的所述第三图像数据转换为第二数据位宽的第四图像数据,所述第一数据位宽等于所述第二数据位宽;
所述SFP接收模块,用于接收所述第四图像数据,若所述第四图像数据中存在字节错位情况,则按照顺序进行数据对齐处理得到第五图像数据,若第四图像数据中不存在字节错位情况,则直接得到所述第五图像数据;
所述FIFO输出模块,用于接收和缓存所述SFP接收模块的第五图像数据,并对所述第五图像数据进行跨时钟域处理得到第六图像数据,并将所述第六图像数据传输至显示器。
2.根据权利要求1所述的基于光纤的板间图像实时传输系统,其特征在于,所述SFP发送模块还用于在第一状态时发送第一无效数据至所述SFP接收模块。
3.根据权利要求2所述的基于光纤的板间图像实时传输系统,其特征在于,所述SFP发送模块还用于检测帧同步信号,在检测到帧同步信号上升沿时发送第一发送帧同步数据至SFP接收模块。
4.根据权利要求3所述的基于光纤的板间图像实时传输系统,其特征在于,所述SFP发送模块还用于在检测到帧同步信号上升沿且所述FIFO输入模块缓存的第二图像数据的数量未满足第一预设数据的数量要求时发送第一无效数据至所述SFP接收模块,在检测到帧同步信号上升沿且所述FIFO输入模块缓存的第二图像数据的数量满足第一预设数据的数量要求时,接收所述第二图像数据。
5.根据权利要求4所述的基于光纤的板间图像实时传输系统,其特征在于,所述数据编码模块还用于将所述第一数据位宽的所述第一无效数据或者所述第一发送帧同步数据对应转换为所述预设位宽的第二无效数据或者第二发送帧同步数据。
6.根据权利要求5所述的基于光纤的板间图像实时传输系统,其特征在于,所述数据解码模块还用于将所述预设位宽的所述第二无效数据或者所述第二发送帧同步数据对应转换为所述第二数据位宽的第三无效数据或者第三发送帧同步数据。
7.根据权利要求6所述的基于光纤的板间图像实时传输系统,其特征在于,所述SFP接收模块还用于接收所述第四图像数据、所述第三无效数据和所述第三发送帧同步数据,并判断所述第四图像数据、所述第三无效数据或者所述第三发送帧同步数据的字节错位情况,若所述第四图像数据、所述第三无效数据和所述第三发送帧同步数据中存在字节错位情况,则按照顺序进行数据对齐处理对应得到所述第五图像数据、第四无效数据和第四发送帧同步数据,若所述第四图像数据、所述第三无效数据和所述第三发送帧同步数据中不存在字节错位情况,则直接得到所述第五图像数据、所述第四无效数据和所述第四发送帧同步数据。
8.根据权利要求7所述的基于光纤的板间图像实时传输系统,其特征在于,所述SFP接收模块还用于根据所述第五图像数据、所述第四无效数据和所述第四发送帧同步数据的数据类型将所述第五图像数据传输至所述FIFO输出模块。
说明书 :
一种基于光纤的板间图像实时传输系统
技术领域
背景技术
的数字图像的瞬时采集、高效缓存、实时传输等将会耗费很大的处理承载、运算负担和传输
带宽。这就对高速图像实时传输系统提出了低延迟、低损耗、高稳定性、自校正的要求。
发明内容
块、所述SFP发送模块和所述数据编码模块设置于所述第一背板上,所述FIFO输出模块、所
述SFP接收模块和所述数据解码模块设置于所述第二背板上,所述数据编码模块和所述数
据解码模块通过光纤进行数据传输,其中,
缓存的第二图像数据的数量为1行时的数据;
数据位宽;
第一无效数据至所述SFP接收模块,在检测到帧同步信号上升沿且所述FIFO输入模块缓存
的第二图像数据的数量满足第一预设数据的数量要求时,接收所述第二图像数据。
者第二发送帧同步数据。
者第三发送帧同步数据。
或者所述第三发送帧同步数据的字节错位情况,若所述第四图像数据、所述第三无效数据
和所述第三发送帧同步数据中存在字节错位情况,则按照顺序进行数据对齐处理对应得到
所述第五图像数据、第四无效数据和第四发送帧同步数据,若所述第四图像数据、所述第三
无效数据和所述第三发送帧同步数据中不存在字节错位情况,则直接得到所述第五图像数
据、所述第四无效数据和所述第四发送帧同步数据。
FIFO输出模块。
输至显示器。
附图说明
具体实施方式
现场可编程逻辑门阵列)作为光纤通信的硬件,可以大大降低开发高速通信数据传输的难
度,对性能的可靠性也有一定保障。选用FPGA与光纤收发器相结合的方案也是目前光纤传
输通信系统主流的解决方案,GXT(GPRS Tunneling Protocol,GPRS隧道协议)模块内部集
成了各种通信协议,省去了使用者需要编写通信协议的麻烦,降低了开发难度。利用外部的
光纤收发器与FPGA内部的GTX模块相连实现光纤通信的物理连接。如图1所示,数据由上位
机产生,经过PCIE(peripheral component interconnect express,高速串行计算机扩展
总线标准)传输到板1。经板1处理后,由板子1的GTP发送到光纤口,然后通过光纤连接到板2
的GTP接收光纤口,通过板2的GTP接收数据进行解码,然后通过HDMI(High Definition
Multimedia Interface,高清多媒体接口)显示。但是这种系统不能解决高速图像板间传输
速率低、实时性差、易受电磁干扰、帧错乱的问题。
传输系统具体可以包括第一背板(即板1)、第二背板(即板2)、FIFO(First Input First
Output,先进先出队列)输入模块(即FIFO IN)、SFP(Gigabit Interface Converter,光模
块)发射模块(即SFP TX)、数据编码模块(即GTP TX)、FIFO输出模块(即FIFO OUT)、SFP接收
模块(即SFP RX)和数据解码模块(即GTP RX),FIFO输入模块、SFP发送模块和数据编码模块
设置于第一背板上,FIFO输出模块、SFP接收模块和数据解码模块设置于第二背板上,数据
编码模块和数据解码模块通过光纤进行数据传输,其中:
缓存的第二图像数据的数量为1行时的数据;
数据位宽;
FPGA光纤接收送卡通过光纤相连接,FPGA光纤发送卡与FPGA光纤接收送卡之间可以自定义
光纤通信协议,FPGA光纤接收卡与显示器之间通过HDMI相连,以此来监视接收的图像是否
正确,FPGA光纤接收卡和的光纤通信协议与显示器的显示协议通过FPGA硬件逻辑设计实
现。光纤通信相对于传统的高速数据通信方式,光信号不受周围电磁环境干扰,同时传输速
率也足够,并在通信距离上要优于传统的电信号,通过设计单独的光纤协议转接板来匹配
仿真系统和产品是一种合理、高效的方式,故本板间图像实时传输系统是基于光纤传输、多
模块化的图像实时传输系统。
处理后便得到第二图像数据。为保证每次缓存的第一图像数据都是从一帧图像的开始进行
缓存的,这里需要SFP发送模块对一帧图像的帧同步信号上升沿进行检测,当SFP发送模块
检测到帧同步信号的上升沿时,SFP发送模块则对FIFO IN进行复位操作。当FIFO输入模块
中缓存了一行图像数据(例如一行图像数据为1024个16bit数据)时,SFP发送模块则读取
FIFO输入模块中的该行图像数据,该行图像数据即为第一预设数据,即第一预设数据为含
有的第二图像数据的数量为1行时的数据,也就是说,SFP发送模块每次读取的第二图像数
据的突发长度是一行。
156.25Mhz和108.3Mhz,深度和大小设置为2048(depth)×16(width),FIFO输入模块对第一
图像数据进行跨时钟域处理得到第二图像数据,例如上位机所发送的该帧图像上一行有
1024个第一图像数据,则当FIFO输入模块接收到1024个第一图像数据,且1024个第一图像
数据均进行了跨时钟域处理对应得到1024个第二图像数据时,SFP发送模块便会读取这
1024个第二图像数据,这1024个第二图像数据便为一个第一预设数据。
据,其中,第二图像数据的数据位宽为第一数据位宽,第三图像数据的数据位宽为预设位
宽,之后,数据解码模块接收第三图像数据,并将第三图像数据转换为第四图像数据,其中,
第四图像数据的数据位宽为第二数据位宽,第一数据位宽等于第二数据位宽,例如第一数
据位宽和第三图像数据的数据位宽均为16bit,预设位宽为1bit。SFP接收模块接收数据解
码模块的第四图像数据,并可以根据第四图像数据得到第五图像数据,例如当第四图像数
据出现按字节错位的情况时,则需要对第四图像数据进行对齐处理,从而得到第五图像数
据,若第四图像数据未出现按字节错位的情况时,第四图像数据即为第五图像数据,在SFP
接收模块得到第五图像数据后,FIFO输出模块便会从SFP接收模块接收第五图像数据,并对
第五图像数据进行跨时钟域处理,而第五图像数据经过跨时钟域处理后便得到第六图像数
据,然后FIFO输出模块便可以将第六图像数据传输至显示器。
据。数据解码模块还用于将预设位宽的第二无效数据转换为所述第二数据位宽的第三无效
数据。其中,第一无效数据、第二无效数据、第三无效数据为有意义的无效的数据。
将第一无效数据传输至数据编码模块,会将第一无效数据转换为适合光纤传输的第二无效
数据,其中,第一无效数据的数据位宽为第一数据位宽,第二无效数据的数据位宽为预设位
宽,之后,数据解码模块接收第二无效数据,并将第二无效数据转换为第三无效数据,其中,
第三无效数据的数据位宽为第二数据位宽。数据解码模块将第三无效数据传输至SFP接收
模块。
步数据转换为预设位宽的第二发送帧同步数据。数据解码模块用于将预设位宽的第二发送
帧同步数据转换为所述第二数据位宽的第三发送帧同步数据。
据需要发送至SFP接收模块,以提示SFP接收模块需要开始接收该帧图像的图像数据。请参
见图3,当SFP发送模块在检测到帧同步信号上升沿时,状态机进入Frame_start(帧开始)状
态,该状态发送一帧图像传输的起始标志信号(即第一发送帧同步数据),此时SFP发送模块
则会将第一发送帧同步数据传输至数据编码模块,数据编码模块便会将第一发送帧同步数
据转换为适合光纤传输的第二发送帧同步数据,其中,第一发送帧同步数据的数据位宽为
第一数据位宽,第二发送帧同步数据的数据位宽为预设位宽,之后,数据解码模块接收第二
发送帧同步数据,并将第二发送帧同步数据转换为第三发送帧同步数据,其中,第三发送帧
同步数据的数据位宽为第二数据位宽。数据解码模块将第三发送帧同步数据传输至SFP接
收模块。
在检测到帧同步信号上升沿且FIFO输入模块缓存的第二图像数据的数量满足第一预设数
据的数量要求时,接收所述第二图像数据。
一预设数据的1行数据的数量要求时,SFP发送模块则会发送第一无效数据至SFP接收模块,
例如第一预设数据包括有1024个数据,则FIFO输入模块中还未缓存有1024(prog_empty=
1)个图像数据时,状态机则进入Invalid_data(无效数据)状态,此状态用来等待FIFO输入
模块缓存1024个数据,处于Invalid_data状态时,SFP发送模块则会发送第一无效数据至
SFP接收模块,其中,prog_empty是可编程空信号;若FIFO输入模块中的第二图像数据的数
量满足第一预设数据的1行数据的数量要求时,则SFP发送模块便会接受该行第二图像数
据,例如,当FIFO输入模块缓存1024个第二图像数据时,则进入Data_start(数据开始)状
态,之后进入Valid_data(有效数据)状态,该状态开始读取FIFO输入模块中的第二图像数
据。该状态的跳变条件cnt_h用来计数发送了一行中的第几个数据、cnt_v用来计数发送了
多少行数据。当SFP发送模块发送一行第二图像数据完毕且该行第二图像数据并不是一帧
图像的最后一行时(即cnt_h=1023,cnt_v!=767),此时跳变到Invalid_data状态,即在
SFP发送模块所接收的第二图像数据还不是该帧图像的最后一行图像数据且FIFO输入模块
缓存的第二图像数据的数量还未达到一行数据的数量要求时,此时SFP发送模块则会发送
第一无效数据至SFP接收模块;若SFP发送模块发送一行第二图像数据完毕且该行第二图像
数据是最后一行时(即cnt_h=1023,cnt_v=767),此时状态跳变到IDLE状态,SFP发送模块
开始等待下一帧图像传输开始。
帧同步信号(第一发送帧同步数据),该帧同步信号被SFP接收模块解码后用于FIFO输出模
块的复位和显示时序的自校正;在发送帧同步信号后,若FIFO输入模块中没有缓存的图像
数据数量小于一行时,此时SFP发送模块发送无用数据;待FIFO输入模块中缓存的图像数据
大于一行后,SFP发送模块开始发送图像数据,接下来依次重复该过程。
况,若第四图像数据、第三无效数据和第三发送帧同步数据中存在字节错位情况,则按照顺
序进行数据对齐处理对应得到第五图像数据、第四无效数据和第四发送帧同步数据,若第
四图像数据、第三无效数据和第三发送帧同步数据中不存在字节错位情况,则直接得到第
五图像数据、第四无效数据和第四发送帧同步数据。
据接口宽度为16位且内部数据宽度设置为20位。但是,由于数据在光纤中是按照串行方式
进行数据传输,因此在数据解码模块的IP核解串后的数据可能会出现错位的情况,且解串
后的数据只会出现按字节错位的情况。因此,需要对解串后的数据进行数据对齐处理。
送模块发送的第二个数据的低位和第三个数据的高位结合在一起发送至SFP接收模块成为
了SFP接收模块接收的第二个数据,以此类推。因此,当SFP接收模块所接收的第四图像数
据、第三无效数据和第三发送帧同步数据出现字节错位情况时,则需要对其进行数据对齐
处理,数据对齐处理为SFP接收模块需要将所接收的第一个数据的低位与第二个数据的高
位拼接在一起、第二个数据的低位与第三个数据的高位拼接在一起以实现数据的对齐,以
此类推,以使SFP接收模块所接收的所述数据不存在错位的情况。其中,SFP接收模块所接收
的第一个数据、第二个数据和第三个数据是按顺序从数据解码模块接收到的数据。因此,当
SFP接收模块所接收的第四图像数据、第三无效数据和第三发送帧同步数据存在字节错位
情况时,经过数据对齐处理之后对应得到第五图像数据、第四无效数据和第四发送帧同步
数据,当SFP接收模块所接收的第四图像数据、第三无效数据和第三发送帧同步数据不存在
字节错位情况时,第四图像数据、第三无效数据和第三发送帧同步数据即为第五图像数据、
第四无效数据和第四发送帧同步数据。
了按字节错位的情况,即接收到的数据按字节错位情况如图5所示,其中11代表8位数据、22
代表8位数据、33代表8位数据,由于存在数据错位情况,则会使SFP接收模块第一次接收的
数据为16’h1111中的低8位与16’h2222数据的高8位结合在一起,SFP接收模块第二次接收
的数据为16’h2222中的低8位与16’h3333数据的高8位结合在一起,以此类推,因此本实施
例需要对其进行数据对齐处理,即将SFP接收模块第一次接收的数据的低8位与第二次接收
的数据的高8位重新拼接在一起,将第二次接收的数据的低8位与第三次接收的数据的高8
位重新拼接在一起,以此类推,从而实现数据的对齐。由图5可知,当sel=2’b01时,SFP接收
模块接收到的数据会有8位的错乱情况,当sel为其它数值时,接收到的数据不会出现错乱
情况。其中sel根据接收到的无用数据16’h00bc产生。当sel=2’b01时,需要将第一次接收
到的数据的低8位与第二次接收到的数据的高8位进行重新拼接组成一个没有错位的数据,
以此类推,这样就实现数据的对齐。
收模块在实现接收的数据对齐后需要对接收的数据进行解码,判断接收的数据是无用数
据、帧同步数据还是图像数据。若对齐后的数据是00_bc,则接收的数据是无用数据,这些数
据不需要缓存;若对齐后的数据是ff_bc,则接收的数据是帧同步数据,此时利用该数据产
生一个脉冲信号,并将该脉冲信号作为FIFO输出模块和显示器显示时序的复位信号;若对
齐后的数据均不是上述两种情况,则接收的是图像数据,此时需要将该图像数据传输至
FIFO输出模块。
示,FIFO输出模块使用的是异步FIFO。
低、距离短和实时性差的问题,另外本实施例还对数据的错位情况进行校正,从而改善了数
据易错乱的问题,保证了数据传输的准确性,且具有较高的稳定性。
实施例的形式,这里将它们都统称为“模块”或“系统”。而且,本申请可采用在一个或多个其
中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、
光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,
与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或
其它有线或无线电信系统。
可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两
个或两个以上,除非另有明确具体的限定。
点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不
必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任
何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说
明书中描述的不同实施例或示例进行接合和组合。
不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的
保护范围。