首页 / 专利库 / 钟表 / 指针 / 一种高可靠线速数据通信方法

一种高可靠线速数据通信方法

阅读:922发布:2021-05-18

专利汇可以提供一种高可靠线速数据通信方法专利检索,专利查询,专利分析的服务。并且本 发明 的目的在于提供一种高可靠线速数据通信方法。本通信方法是在发送方采用基于环形发送缓冲池的方式与接收方进行通信。发送方的缓存控 制模 块 检测到发送缓冲池非满,则把外部待发数据存储到尾 指针 指向的发送缓冲池;发送方传输 控制模块 检测到发送缓冲池非空,把当前指针指向的缓冲数据读取出来,然后传输给相应的通信通道;发送传输超时控制模块接收到接收方返回的应答信息后,若应答序号与头指针对应的序列号一致,则 修改 头指针,若在一定时间内没有收到应答信息,则对头指针指向的缓冲区进行超时重发。本发明采用数据并发方式进行传输,实现了数据的线速传输,对数据的应答进制也进行了定义,提高了传输的可靠性。,下面是一种高可靠线速数据通信方法专利的具体信息内容。

1.一种高可靠线速数据通信方法,其特征在于:发送方基于一个环形发送缓冲池与接收方通信,通信操作步骤如下:
a)发送方的缓存控制模只要检测到发送缓冲池非满,即Send_Buf_Full信号无效,则从外部待发数据队列获取一信息,然后存储到尾指针指向的发送缓冲区,等待该帧存储完毕,产生存储完成信号TSend_ok,将环形缓冲区的尾指针指向下一个缓冲区;
b)发送方的传输控制模块只要检测到发送缓冲池非空,即Send_Buf_Empty信号无效,则把当前指针指向的缓冲数据读取出来,然后传输给相应的通信通道;
c)发送方接收到接收方返回的应答信息后,判断应答信息的应答序号是否与头指针对应的待确认序号一致,若一致,产生头指针修改信号Head_snd_ok,将环形缓冲区的头指针向下一个缓冲区;若不一致则不修改头指针。
2.根据权利要求1所述的高可靠线速数据通信方法,其特征在于:所述环形发送缓冲池,由M(M为自然数)个缓冲区组成,包含头指针、尾指针和当前指针,并定义指针绕行方向,头指针指向第一个存有数据的缓冲区,尾指针指向最后一个存有数据的缓冲区,当前指针指向正在发送的缓冲区,发送缓冲池的缓存状态通过头指针和尾指针定义。
3.根据权利要求2所述的高可靠线速数据通信方法,其特征在于:发送缓冲池由M个双端口存储器构成的缓冲区组成,初始上电时,缓冲区没有数据,头指针、尾指针以及当前指针重合,此时缓存状态计数X记为0;每存入一个缓冲区,尾指针沿指针绕行方向移动一次,缓存状态计数X加1;每释放一个缓冲区,头指针沿指针绕行方向移动一次,缓存状态计数X减1;每发送一个数据,则当前指针沿指针绕行方向移动一次,若当前指针与尾指针不重合,则Send_Buf_Empty信号无效,否则Send_Buf_Empty有效;当缓存状态计数X=缓冲区数量M时,发送缓冲池满Send_Buf_Full有效,不能再缓存任何数据,X4.根据权利要求3所述的高可靠线速数据通信方法,其特征在于:所述发送方的传输控制模块为当前指针所指缓冲区的数据帧添加当前序号,当前序号即当前指针对应的缓冲区编号,然后发给接收方;发送完成后,当前指针指向下一缓冲区,进行下一次发送。
5.根据权利要求4所述的高可靠线速数据通信方法,其特征在于:所述接收方用FIFO作为缓存,接收方检测到待收数据后,先判断接收缓冲区是否有空位,如果没有空位则丢弃该数据;如果有空位则接收,然后根据封装在数据中的当前序号判断该序号是否为接收方的当前序号,如果为当前序号,则给发送方返回对应的应答,如果不是,则丢弃该数据。
6.根据权利要求5所述的高可靠线速数据通信方法,其特征在于:所述当前序号,初始上电时,发送方和接收方的当前序号均默认为0,每发送或接收一次,当前序号加1,然后进行下一次发送或接收,直到当前序号达到(M-1)时,则下一次当前序号再次复原为0。
7.根据权利要求6所述的高可靠线速数据通信方法,其特征在于:所述发送方的发送传输超时控制模块检测头指针指向的缓冲区是否接收到了接收方的应答,如果一定的时间内收到了接收方的应答,则释放头指针指向的缓冲区;如果一定的时间内没有接收到应答,则重发头指针指向的缓冲区的数据,并记录重发次数;如果重发次数超过阈值,则报告错误,等待发送方的处理。

说明书全文

一种高可靠线速数据通信方法

技术领域

[0001] 本发明涉及基于自定义的以太网可靠通信方法,特别涉及一种高可靠线速通信方法。

背景技术

[0002] 随着计算以及大数据处理的发展需求,基于现场可编程逻辑阵列(FPGA)由于其灵活性、可编程性以及丰富的高速通信接口,在这些领域得到了越来越多的应用。而随着规模的扩展,可编程逻辑阵列之间的高可靠高速数据通信变的更加的迫切。同时由于以太网的交换机技术较为成熟,成本也比较低廉,成为可编程逻辑阵列之间交换介质的首选。传统基于TCP/IP协议的可靠通信由于协议实现比较复杂,不太适合FPGA之间的通信。基于此本专利提出了一种适合FPGA之间线速并发通信的一种方法。
[0003] 以太网中对数据发送和接收均是基于以太格式来展开的,在不改变以太网硬件设备的情况下,可以通过对以太帧的某些部分进行更为细致的定义,使传输达到我们设定的要求。

发明内容

[0004] 本发明的目的在于针对已有技术存在的缺陷,提供一种高可靠线速数据通信方法,提高传输速度及传输可靠性。
[0005] 为达到上述目的本发明采用下述技术方案:
[0006] 一种高可靠线速数据通信方法,发送方基于一个环形发送缓冲池与接收方通信,通信操作步骤如下:
[0007] a)发送方的缓存控制模只要检测到发送缓冲池非满,即Send_Buf_Full信号无效,则从外部待发数据队列获取一帧信息,然后存储到尾指针指向的发送缓冲池,等待该帧存储完毕,产生存储完成信号TSend_ok,环形缓冲区的尾指针指向下一个缓冲区;
[0008] b)发送方的传输控制模块只要检测到发送缓冲池非空,即Send_Buf_Empty信号无效,则把当前指针指向的缓冲数据读取出来,然后传输给相应的通信通道;
[0009] c)发送方接收到接收方返回的应答信息后,判断应答信息的应答序号是否与头指针对应的待确认序号一致,如果一致,产生头指针修改信号Head_snd_ok,将环形缓冲区的头指针向下一个缓冲区。
[0010] 上述高可靠线速数据通信方法,所述环形发送缓冲池,由M(M为自然数)个缓冲区组成,包含头指针、尾指针和当前指针,并定义指针绕行方向,头指针指向第一个存有数据的缓冲区,尾指针指向最后一个存有数据的缓冲区,当前指针指向正在发送的缓冲区,发送缓冲池的缓存状态通过头指针和尾指针定义。
[0011] 上述高可靠线速数据通信方法,发送缓冲池由M个双端口存储器构成的缓冲区组成,初始上电时,缓冲区没有数据,头指针、尾指针以及当前指针重合,此时缓存状态计数X记为0;每存入一个缓冲区,尾指针沿指针绕行方向移动一次,缓存状态计数X加1;每释放一个缓冲区,头指针沿指针绕行方向移动一次,缓存状态计数X减1;每发送一个数据,则当前指针沿指针绕行方向移动一次,若当前指针与尾指针不重合,则Send_Buf_Empty信号无效,否则Send_Buf_Empty有效;当缓存状态计数X=缓冲区数量M时,发送缓冲池满Send_Buf_Full有效,不能再缓存任何数据,X
[0012] 上述高可靠线速数据通信方法,发送方的传输控制模块为当前指针所指缓冲区的数据帧添加当前序号,当前序号即当前指针对应的缓冲区编号,然后发给接收方;发送完成后,当前指针指向下一缓冲区,进行下一次发送。
[0013] 上述高可靠线速数据通信方法,接收方用FIFO作为缓存,接收方检测到待收数据后,先判断接收缓冲区是否有空位,如果没有空位则丢弃该数据;如果有空位则接收,然后根据封装在数据中的当前序号判断该序号是否为接收方的当前序号,如果为当前序号,则给发送方返回对应的应答,如果不是,则丢弃该数据。
[0014] 上述高可靠线速数据通信方法,所述当前序号,初始上电时,发送方和接收方的当前序号均默认为0,每发送或接收一次,当前序号加1,然后进行下一次发送或接收,直到当前序号达到(M-1)时,则下一次当前序号再次复原为0。
[0015] 上述高可靠线速数据通信方法,发送方的发送传输超时控制模块检测头指针指向的缓冲区是否接收到了接收方的应答,如果一定的时间内收到了接收方的应答,则释放头指针指向的缓冲区;如果一定的时间内没有接收到应答,则重发头指针指向的缓冲区的数据,并记录重发次数;如果重发次数超过阈值,则报告错误,等待发送方的处理。
[0016] 本发明与现有技术相比较,具有如下显而易见的突出实质性特点和显著技术进步。本发明对数据采用并发方式进行传输,实现了数据的线速传输,对数据的应答机制也进行了定义,提高了传输的可靠性。附图说明
[0017] 图1是发送缓冲池结构图。
[0018] 图2是发送方传输控制示意图。
[0019] 图3是接收方接收控制示意图。
[0020] 图4是一实施例中数据发送校验和应答示意图。

具体实施方式

[0021] 为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举优选实施例进行说明。
[0022] 该通信方法中发送方基于环形缓冲池,图1是发送缓冲池结构图,发送缓冲池为环形,由若干个缓冲区组成,缓冲池的头指针指向第一个存有数据的缓冲区,尾指针指向最后一个存有数据的缓冲区,当前发送指针指向正在发送的缓冲区。图1中指针绕行方向为逆时针,也可以设为顺时针。
[0023] 图2为发送方的传输控制示意图,以环形缓冲区为核心,通过如下的方法实现高速线速的传输:传输缓存控制模块检测到待发信息队列有数据,并且环形缓冲区能够容纳一帧以太数据(也即Send_Buf_Full无效),则从待发信息队列获取要发送的一帧信息,并把待发信息队列线速存储到基于双端口存储器的环形缓冲区中,等该帧数据传输完毕,则向环形缓冲区发送传输完成信号Tsend_ok,环形缓冲区一旦检测Tsend_ok信号有效,则沿指针绕行方向把尾指针指向下一个缓冲区,实现了待发信息的线速存储;发送传输控制模块一旦检测到发送缓冲池有超过一帧的数据要发送,也即Send_Buf_Empty信号无效,则从当前指针指向的环形缓冲区线速读取完整的一帧,并在该帧上增加当前发送序号,然后封装成完整的以太帧,并把该封装后的以太帧数据传输的通信通道上,等该帧传输完毕,则向环形缓冲区发送传输完成信号Send_finish,环形缓冲区一旦检测到该信号,则沿指针绕行方向把当前指针指向下一个缓冲区,通过上述方法实现了线速通信方法。
[0024] 系统的可靠通信是通过收发序号检测的方法实现。初始上电时,发送方和接收方的当前序号均默认为0,每发送或接收一次,当前序号加1,然后进行下一次发送或接收,直到当前序号达到(M-1)时,则下一次当前序号再次复原为0。发送传输控制模块为当前指针所指缓冲区的数据帧添加当前序号,当前序号即当前指针对应的缓冲区编号,把该序号封装后,发给接收方;发送完成后,当前指针指向下一缓冲区,进行下一次发送。发送传输超时控制模块通过应答信息的应答序号与头指针对应的待确认序号进行对比,如果应答信息的应答序号与头指针对应的待确认序号相匹配,则表明接收方已经成功接收到了头指针指向的缓冲区,释放头指针指向的缓冲区。如果超过一定的时间,头指针指向的缓冲区仍然没有接收到应答信息,则重发头指针指向的发送数据帧,并把发送数据帧的序号设置为头指针对应的缓冲区序号,发送到通信通道。读取仲裁对发送传输控制模块的读取操作以及发送传输超时控制模块的读取操作进行优先级仲裁,并从环形缓冲区获取读取的数据。
[0025] 图3为接收方接收控制示意图,存储控制接模块收来自以太网的信息,首先存储到本地的以太数据缓冲区接收队列中去,如果存储过程中接收队列的余量不能容纳一帧以太数据,则丢弃本次以太数据。读取控制模块若检测到接收队列非空(也即empty信号无效),从接收队列中获取本次接收数据的IP以及本次数据的接收序号,如果本次接收数据的IP指向的当前序号与接收数据的序号一致,则认为本次数据为要传输的数据,把该数据传输到用户接收缓冲区,并产生一个新的保序接收有效信号Seq_add_ena,同时向发送方产生包含当前序号的应答数据。接收序号控制模块检测到Seq_add_ena信号有效时,则把当前序号自增1。
[0026] 图4为一实施例中数据发送校验和应答示意图。由于发送端与接收端之间的通信有延迟,假设有3个时间节拍的延迟,因此图中接收端在第3个时间节拍才能收到该数据。接收方对接收到的数据进行校验,如果接收到的数据没有错误。则向发送端发送应答ACK。同理由于发送端与接收端之间有通信延迟,则该应答信号在第7个时间节拍才能达到发送端。发送端检测到该应答信号以后,接着释放发送缓冲区0。从该图可以看出,若要实现完全的线速发送,则发送池缓冲区大小必须与收发方之间的通信相延迟相匹配,由于以太网的帧长为64-1518字节,因此,在一实施例中,环形缓冲区大小可设为2K字节,缓冲区数量M设置为256。
[0027] 以上所述为本发明的较佳实施方式,并非用于限制本发明的范围,凡在本发明精神和原则之内所做的任何修改、等同替换和改进等,均含于本发明的保护范围之内。本发明的保护范围以本发明的权利要求为准。
相关专利内容
标题 发布/更新时间 阅读量
指针仪表 2020-05-13 35
一种反向指针 2020-05-11 983
一种三色指针 2020-05-11 671
一种盘状指针 2020-05-11 457
指针钟表 2020-05-13 688
一种汽车仪表指针组件 2020-05-11 799
新型汽车仪表指针 2020-05-12 204
一种新型指针 2020-05-11 875
一种减少漏光的指针 2020-05-11 563
一种防漏光指针 2020-05-12 682
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈