一种低延时ARINC818总线收发方法与流程

文档序号:16775265发布日期:2019-02-01 18:40阅读:2159来源:国知局
一种低延时ARINC818总线收发方法与流程

本发明涉及航空总线领域,特别涉及一种基于fpga实现的无外存、少缓存、低延时arinc818收发方法。



背景技术:

近年来,在航空总线领域,传输的数据量越来越多,对数据的延时性能要求也越来越高。传统的数字航空总线,如arinc429的传输速率已经不能满足需求,在此基础上,根据fc-av协议制订的arinc818总线协议,已经成为了新一代的航空视频总线协议,并且在空客以及波音的多种机型上得到了很好的应用。

国内在arinc818总线的研究上,相对起步较晚,目前的设计基本是采用fpga实现视频数据的协议转换和传输,且目前采用的协议转换算法和流程,在发送和接收端都需要缓存一帧到两帧的视频数据。这样带来了视频的传输延时很大的问题,同时由于一帧到两帧的视频量很大,利用fpga内部的资源不能满足缓存的要求,需要外挂存储器来满足设计,这样加大了系统设计的难度,增加了硬件的开销,整个系统的功耗也会相应增大。

因此设计一种低延时的arinc818收发方法,在提升视频传输实时性的同时,可以有效的降低系统的硬件设计难度,减少硬件开销,具有很大的实用意义。



技术实现要素:

本发明是依据arinc818总线协议,提出了一种低延时arinc818总线收发方法,通过设计新的协议转换控制算法,针对分辨率为1024×1280@60hz的视频,从vesa协议转换为arinc818协议只需缓存1行视频数据,从arinc818协议转换为vesa协议只需要缓存40行数据。很大程度上减少了协议转换过程中数据的缓存量,提高了数据传输的实时性,同时需要数据缓存量利用fpga内部资源就可以实现,不需要外部存储设备,减少了硬件电路的设计难度与资源开销。

本发明的技术方案为:

所述一种低延时arinc818总线收发方法,其特征在于:

在发送端,通过以下步骤进行vesa协议转换为arinc818协议控制流程:

步骤1:检测一帧视频的行同步信号hs、场同步信号vs、有效数据选通信号de,判断hs、vs、de信号是否正确,如果正确则进行下一步,如果不正确则继续检测;

步骤2:判断下一帧视频的场同步信号vs是否有效,如果无效则继续等待判断再下一帧,如果有效则依据arinc818协议发送第一包数据;

步骤3:在发送完第一包后,等待fifo中缓存一行视频数据,在等待过程中一直发送空闲数据idle,直到检测到第二行视频数据有效,进入下一步;

步骤4:依据arinc818协议发送第n包数据,n的初始值为2;

步骤5:判断n是否为奇数,若不是奇数,则继续发送128个空闲数据idle,而后取n=n+1,并返回步骤4,若是奇数,则继续判断n是否等于2049,若等于2049,则表示一帧视频数据已经传输完,对fifo进行复位,返回步骤2,若不等于2049,则等待,且在等待过程中一直发送空闲数据idle,直到依据行结束信号判断一行视频结束后,取n=n+1,并返回步骤4;

在接收端,通过以下步骤进行arinc818协议信号接收流程:

步骤6:判断是否接收到帧头起始字符,如果没有收到,则继续等待,如果收到,则判断帧头信号信息是否正确,若不正确,则继续等待下一帧,若正确,则打开接收数据通道,进入步骤7;

步骤7:判断是否接收到数据包起始符,如果没有收到,则继续等待,如果收到,则判断数据包状态信息是否正确,如果正确,则将接收的数据存入fifo中,如果不正确,则上报错误;接受完一个数据包,进行crc校验是否正确,若不正确,则上报错误;循环接收数据包,当接收到了2048个数据包或收到包结束符,则表示一帧数据结束,返回步骤6,重新进行新一帧的接收;同时判断数据包个数是否正确,如果不正确,则上报错误;

步骤8:对上报的错误进行统计,如果在设定时间内上报错误达到设定个数,则对fifo进行复位,并返回步骤6,重新进行新一帧的接收;

在接收端,通过以下步骤对接收到的arinc818数据重新生成vesa时序:

步骤9:判断fifo中数据是否有40行,如果有跳转到下一步,如果没有,继续等待;同时并行一个检查模块,在一帧arinc818数据接收完成后,检查模块判断fifo中数据行数,如果行数小于20行,则修改vesa时序的行前肩参数,将每一行行前肩增加一个数据,如果行数大于55行,则修改vesa时序的行前肩参数,将每一行行前肩减少一个数据;

步骤10:产生一帧vesa时序视频,一帧视频结束后,判断fifo中是否有数据,如果没有数据,则返回步骤9,如果有数据,则继续产生下一帧vesa时序视频。

有益效果

本发明的有益效果是:依据fpga实现vesa协议和arinc818协议互相转换的过程中,由于控制算法的优化,在发送端数据的缓存量可以从目前的一帧减少为1行,在接收端数据的缓存量可以从目前的一帧减少为40行,很大程度上提升了视频传输的实时性,同时新的算法缓存所需要的资源,fpga内部资源就可以满足,不再需要外挂存储器,降低了硬件设计的难度,减少了资源开销,降低了功耗。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是低延时arinc818发送端电路示意图。

图2是低延时arinc818系统发送端vesa协议转换为arinc818协议控制算法流程图。

图3是低延时arinc818接收端电路示意图。

图4是低延时arinc818系统接收端arinc818协议信号接收算法流程图。

图5是低延时arinc818系统接收端产生vesa协议信号算法流程图。

具体实施方式

下面详细描述本发明的实施例,所述实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

本发明是依据arinc818总线协议,提出了一种低延时arinc818总线收发方法,通过设计新的协议转换控制算法,针对分辨率为1024×1280@60hz的视频,从vesa协议转换为arinc818协议只需缓存1行视频数据,从arinc818协议转换为vesa协议只需要缓存40行数据。很大程度上减少了协议转换过程中数据的缓存量,提高了数据传输的实时性,同时需要数据缓存量利用fpga内部资源就可以实现,不需要外部存储设备,减少了硬件电路的设计难度与资源开销。

如图2所示,在发送端,通过以下步骤进行vesa协议转换为arinc818协议控制流程:

步骤1:检测一帧视频的行同步信号hs、场同步信号vs、有效数据选通信号de,判断hs、vs、de信号是否正确,如果正确则进行下一步,如果不正确则继续检测;

步骤2:判断下一帧视频的场同步信号vs是否有效,如果无效则继续等待判断再下一帧,如果有效则依据arinc818协议发送第一包数据,共35个字,包含了包传输、信号分辨率、刷新方式等信息;

步骤3:在发送完第一包后,等待fifo中缓存一行视频数据,在等待过程中一直发送空闲数据idle,直到检测到第二行视频数据有效,进入下一步;

在检测到第二行视频数据到来后开始进行数据包的转换发送,由于一行视频数据需要两个arinc818协议的数据包来发送,所以在发送一行数据的第一个包后,发送128个空闲数据(idle),发送一行数据的第二个包后,发送idle的数量根据行结束信号来决定,一旦行信号结束,立即结束发送idle数据,跳转到发送新的数据包。依照此种控制算法来匹配视频数据时钟和arinc818数据时钟不匹配的问题,可以保证fifo不会被读空或者写满,确保数据传输的正确性;

步骤4:依据arinc818协议发送第n包数据,n的初始值为2;

步骤5:判断n是否为奇数,若不是奇数,则继续发送128个空闲数据idle,而后取n=n+1,并返回步骤4,若是奇数,则继续判断n是否等于2049,若等于2049,则表示一帧视频数据已经传输完,对fifo进行复位,返回步骤2,若不等于2049,则等待,且在等待过程中一直发送空闲数据idle,直到依据行结束信号判断一行视频结束后,取n=n+1,并返回步骤4。

如图4所示,在接收端,通过以下步骤进行arinc818协议信号接收流程:

步骤6:判断是否接收到帧头起始字符,如果没有收到,则继续等待,如果收到,则判断帧头信号信息是否正确,若不正确,则继续等待下一帧,若正确,则打开接收数据通道,进入步骤7;

步骤7:判断是否接收到数据包起始符,如果没有收到,则继续等待,如果收到,则判断数据包状态信息是否正确,如果正确,则将接收的数据存入fifo中,如果不正确,则上报错误;接受完一个数据包,进行crc校验是否正确,若不正确,则上报错误;循环接收数据包,当接收到了2048个数据包或收到包结束符,则表示一帧数据结束,返回步骤6,重新进行新一帧的接收;同时判断数据包个数是否正确,如果不正确,则上报错误;

步骤8:对上报的错误进行统计,如果在30s内上报错误达到5个,则对fifo进行复位,并返回步骤6,重新进行新一帧的接收。

如图5所示,在接收端,通过以下步骤对接收到的arinc818数据重新生成vesa时序:

步骤9:判断fifo中数据是否有40行,如果有跳转到下一步,如果没有,继续等待;同时并行一个检查模块,在一帧arinc818数据接收完成后,检查模块判断fifo中数据行数,如果行数小于20行,则修改vesa时序的行前肩参数,将每一行行前肩增加一个数据,如果行数大于55行,则修改vesa时序的行前肩参数,将每一行行前肩减少一个数据;

步骤10:产生一帧vesa时序视频,一帧视频结束后,判断fifo中是否有数据,如果没有数据,则返回步骤9,如果有数据,则继续产生下一帧vesa时序视频。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1