一种高效率的双机通讯反馈方法

文档序号:1965834 发布日期:2021-12-14 浏览:15次 >En<

阅读说明:本技术 一种高效率的双机通讯反馈方法 (High-efficiency dual-computer communication feedback method ) 是由 不公告发明人 于 2021-08-27 设计创作,主要内容包括:公开一种高效率的双机通讯反馈方法,设置通过串口连接的数据发送端和数据接收端,数据包设置同步头,数据段和校验码,所述的数据发送端设置反馈等待链表,所述的数据接收端设置数据发送链表,所述的同步头设置两位反馈位,所述的双机通讯反馈方法设置以下步骤:数据发送端发送软件任务的数据包,进入反馈等待链表,启动定时器;数据接收端接收到数据包,对数据包进行数据校验,根据校验结果,设置数据发送链表的第一个数据包的同步头的反馈位;数据接收端接发送数据发送链表的第一个数据包;数据发送端接收到数据包,根据反馈位的数值,删除或者重启反馈等待链表的第一个软件任务,并停止定时器的定时工作;当定时器的定时时间到,数据发送端重新启动反馈等待链表的第一个软件任务。(A high-efficiency dual-computer communication feedback method is disclosed, a data sending end and a data receiving end which are connected through a serial port are arranged, a data packet is provided with a synchronous head, a data section and a check code, the data sending end is provided with a feedback waiting chain table, the data receiving end is provided with a data sending chain table, the synchronous head is provided with two feedback bits, and the dual-computer communication feedback method is provided with the following steps: a data sending end sends a data packet of a software task, enters a feedback waiting linked list and starts a timer; the data receiving end receives the data packet, carries out data verification on the data packet, and sets a feedback bit of a synchronization head of a first data packet of a data transmission linked list according to a verification result; the data receiving end is connected with a first data packet of a data transmission linked list; the data sending end receives the data packet, deletes or restarts the first software task of the feedback waiting linked list according to the value of the feedback bit, and stops the timing work of the timer; and when the timing time of the timer is up, the data sending end restarts the first software task of the feedback waiting linked list.)

一种高效率的双机通讯反馈方法

技术领域

本专利涉及一种高效率的双机通讯反馈方法,属于计算机通讯技术领域。

背景技术

在多机系统中,处理器之间通过串口交换信息,为了保证通讯的稳定性会设计通讯协议,包括数据包的格式以及反馈机制。其中,反馈机制是在数据接收方收到数据包以后,发送确认信息给数据发送方,说明接收数据校验正确,或者接收数据校验错误,数据发送方需要重新发送。反馈机制保证了数据接收方接收到正确数据,但是反馈机制并不发送应用数据,在数据收发频繁,通讯带宽有限的情况下,会给数据通讯造成压力。

发明内容

本专利的目的是为了解决上述问题,提供一种高效率的双机通讯反馈方法,在不挤占通讯带宽的前提下,完成反馈机制,实现可靠而高效的数据通讯。

本发明解决其技术问题所采用的技术方案是:

一种高效率的双机通讯反馈方法,设置数据发送端和数据接收端,所述的数据发送端和数据接收端通过串口连接,可发送和接收规定格式的数据包,所述的数据包设置同步头,数据段和校验码,所述的数据发送端设置反馈等待链表,所述的反馈等待链表设置为先入先出规则,所述的数据接收端设置数据发送链表,所述的数据发送链表设置为先入先出规则,所述的同步头设置两位反馈位,二进制00为默认状态,表示无反馈,二进制01表示数据接收正确,二进制10表示数据接收错误,二进制11为预留状态,所述的双机通讯反馈方法设置以下步骤:

(1) 当所述的数据发送端发送了软件任务的一个数据包,则将该软件任务加入所述的反馈等待链表,并启动定时器,定时时间为软件任务的最长反馈等待时间;

(2) 所述的数据接收端接收到数据包以后,首先检查所述的数据发送链表,如果为空,则生成一个所述的数据段为空的数据包;然后,对接收到的数据包进行数据校验,如果校验合格则将所述的数据发送链表的第一个数据包的同步头的反馈位设置为二进制01,如果校验不合格,则在所述的数据发送链表的第一个数据包的同步头的反馈位设置为二进制10;

(3) 所述的数据接收端接发送所述的数据发送链表的第一个数据包;

(4) 所述的数据发送端接收到所述的数据包以后,如果所述的反馈位为二进制01,则删除所述的反馈等待链表的第一个软件任务,停止定时器的定时工作;如果反馈位为二进制10,则重启所述的反馈等待链表的第一个软件任务进行数据发送,并停止定时器的定时工作;

(5) 当所述的定时器的定时时间到了,则所述的数据发送端重新启动所述的反馈等待链表的第一个软件任务,返回步骤(1)。

当所述的数据接收端需要发送数据时,所述的数据接收端设置为数据发送端,所述的数据发送端设置为数据接收端。

本发明的有益效果主要表现在:在多机系统中,在不挤占通讯带宽的前提下,完成反馈机制,实现可靠而高效的数据通讯。

附图说明

图1是本专利实施提供的流程图。

具体实施方式

为了更好的理解本专利,下面结合附图对其具体说明。

参照图1,在多机系统中,为了提高数据通讯效率,提出一种高效率的双机通讯反馈方法。设置数据发送端和数据接收端,所述的数据发送端和数据接收端通过串口连接,可发送和接收规定格式的数据包,所述的串口可以设置为全双工串口,也可以设置为半双工串口,不影响专利的实施。所述的数据包设置同步头,数据段和校验码,所述的数据段是需要发送的信息,所述的校验码用于判断所述的数据包是否出现错误,所述的同步头用于说明所述的数据包的起始位置,设置两位反馈位,二进制00为默认状态,表示无反馈,二进制01表示数据接收正确,二进制10表示数据接收错误,二进制11为预留状态。当不需要发送反馈信息的时候,所述的反馈位设置为二进制00;当需要发送反馈信息的时候,所述的反馈位设置为二进制01或者二进制10。

所述的数据发送端设置反馈等待链表,所述的反馈等待链表设置为先入先出规则,用于存储完成数据发送过程并等待所述的数据接收端的反馈信息的软件任务;所述的数据接收端设置数据发送链表,所述的数据发送链表设置为先入先出规则,用于存放待发送的数据包。

所述的双机通讯反馈方法设置以下步骤:

(1) 当所述的数据发送端发送了软件任务的一个数据包,则将该软件任务加入所述的反馈等待链表,并启动定时器,定时时间为软件任务的最长反馈等待时间;

软件任务完成数据包发送之后,进入所述的反馈等待链表等待反馈信息。

(2) 所述的数据接收端接收到数据包以后,首先检查所述的数据发送链表,如果为空,则生成一个所述的数据段为空的数据包;然后,对接收到的数据包进行数据校验,如果校验合格则将所述的数据发送链表的第一个数据包的同步头的反馈位设置为二进制01,如果校验不合格,则在所述的数据发送链表的第一个数据包的同步头的反馈位设置为二进制10;

所述的数据接收端接收到数据包以后,第一步是保证所述的数据发送链表至少存在一个待发送的数据包,如果没有,则增加一个所述的数据段为空的数据包,这样可以在所述的同步头上附加反馈信息。第二步,进行数据包的数据校验,根据校验结果对所述的反馈位设置二进制信息。

(3) 所述的数据接收端接发送所述的数据发送链表的第一个数据包;

所述的数据接收端发送带有反馈信息的数据包。

(4) 所述的数据发送端接收到所述的数据包以后,如果所述的反馈位为二进制01,则删除所述的反馈等待链表的第一个软件任务,停止定时器的定时工作;如果反馈位为二进制10,则重启所述的反馈等待链表的第一个软件任务进行数据发送,并停止定时器的定时工作;

所述的数据发送端接收到所述的数据包以后,首先,对所述的数据包的同步头进行解析,包括判断所述的同步头是否符合通讯协议,以及解析所述的反馈位的数值,以决定等待反馈的软件任务是成功结束数据发送任务,还是重启数据发送。

(5) 当所述的定时器的定时时间到了,则所述的数据发送端重新启动所述的反馈等待链表的第一个软件任务,返回步骤(1)。

步骤(5)是针对所述的反馈等待链表的第一个软件任务在等待超时情况下的处理方法。

所述的数据发送端和数据接收端是相对于数据发送和接收的,当所述的数据接收端需要发送数据时,所述的数据发送端和数据接收端的功能互换,所述的数据接收端设置为数据发送端,所述的数据发送端设置为数据接收端。对于全双工的串口而言,可以同时进行数据的发送和接收,因此多机系统中的处理器可以既是所述的数据发送端,又是数据接收端。

综上所述,针对多机系统中数据收发频繁,通讯带宽有限的情况,提供一种高效率的双机通讯反馈方法,在现有通讯协议中增加反馈位,在不挤占通讯带宽的前提下,完成反馈机制,实现可靠而高效的数据通讯。

6页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种双向通信控制方法和装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类