数据接收和发送方法、装置及数据收发系统与流程

文档序号:18543072发布日期:2019-08-27 21:25阅读:383来源:国知局
数据接收和发送方法、装置及数据收发系统与流程

本申请涉及通信技术领域,尤其涉及智能机器人的数据接收和发送方法、装置及数据收发系统。



背景技术:

一主多从通信系统一般包括一个主设备和多个从设备,其中,主设备具有一个发射tx端口和一个接收rx端口,主设备的tx端口和每个从设备的rx端口相连,主设备的rx端口和每个从设备的tx端口相连,主设备通过自身的tx端口向各从设备发送控制指令,各从设备通过自身的tx端口向主设备发送响应数据,为了使各从设备能够不冲突地向主设备发送响应数据,一般都是采用分时复用的策略。

参见图1,图1所示的一主多从通信系统,包括1个主设备mcuhost和4个从设备device0~device3,mcuhost与各device之间通过通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)进行通信。假设mcuhost为用于计算机器人行走线路的处理器,device0~device3为安装在机器人底盘上的4个超声模组,用于探测周围障碍物的距离,在具体实施时,每个device在接收到mcuhost发送的用于指示发送超声信号的指令时,向外发送超声波,若接收到回波,则根据发射超声波的时刻、接收到回波的时刻和超声波的传播速度确定自身与障碍物之间的距离数据,之后,将距离数据发送给mcuhost,为了使device0~device3在向mcuhost发送数据时不发生冲突,为每个device分配不同的数据发送时间,如图2所示,假设一个轮询周期为280ms,则为device0分配的数据发送时间为0~70ms,为device1分配的数据发送时间为70~140ms,为device2分配的数据发送时间为140~210ms,为device3分配的数据发送时间为210~280ms。

但实际上在一个轮询周期内,为每个device分配的数据发送时间不仅包括device发送数据的时间,而且包括device采集数据的时间,也就是说,device真正的数据发送时间要小于mcuhost为其分配的数据发送时间,且为该device分配的数据发送时间也不能被其它device用来发送数据,这样,mcuhost只能在为各device分配的数据发送时间内从该device中获取数据,不利于机器人及时快速发现周围的障碍物以进行避障。

类似地,对于其他一主多从通信系统而言,也同样存在着主设备只能在为各从设备分配的数据发送时间内获取数据,获取数据不及时的问题。



技术实现要素:

本申请实施例提供一种数据接收和发送方法、装置及数据收发系统,用以解决现有技术中主设备只能在为各从设备分配的数据发送时间内获取数据,获取数据不及时的问题。

第一方面,本申请实施例提供的一种数据接收方法,应用于智能机器人,所述智能机器人中包括一个主设备和n个从设备;所述主设备配置有第一发射tx端口、第一接收rx端口、以及至少n个中断请求接收端口;每个从设备配置有第二tx端口、第二rx端口、以及一个中断请求发送端口;所述第一tx端口分别与每个所述第二rx端口连接,所述第一rx端口分别与每个所述第二tx端口连接,每个所述中断请求接收端口与不同的中断请求发送端口连接,n为大于2的整数,所述方法包括:

所述主设备通过与第一从设备连接的中断请求接收端口接收第一中断请求,其中,所述第一从设备为n个从设备中的任一从设备;

若确定能够响应所述第一中断请求,所述主设备进入中断状态,通过所述第一tx端口发送第一中断响应消息,所述第一中断响应消息中携带有所述第一从设备的地址信息;

所述主设备通过所述第一rx端口接收所述第一从设备发送的数据。

采用上述方案,主设备在接收每个从设备发送的数据之前,先通过与该从设备连接的中断请求接收端口接收该从设备发送的中断请求,若确定能够响应该从设备的中断请求,则发送携带该从设备的地址信息的中断响应消息,然后,再通过自身的rx端口接收该从设备发送数据,这样,以中断响应的方式获取各从设备发送的数据,不必再为各从设备分配固定的数据发送时间,因此,可提高主设备从各从设备获取到的数据的实时性。

在一种可能的实施方式下,若在退出中断状态之前,所述主设备通过与第二从设备连接的中断请求接收端口接收到第二中断请求,所述第二从设备为n个从设备中与所述第一从设备不同的从设备,则

所述主设备确定完成与所述第一从设备的数据传输后,通过所述第一tx端口发送第二中断响应消息,所述第二中断响应消息中携带有所述第二从设备的地址信息;

所述主设备通过所述第一rx端口接收所述第二从设备发送的数据。

这样,可避免主设备在通过自身的第一rx端口接收第一从设备发送的数据时受第二从设备的干扰。

在一种可能的实施方式下,若在进入中断状态之前,所述主设备通过与第二从设备连接的中断请求接收端口接收到第二中断请求,则根据响应优先级规则确定所述第一从设备和所述第二从设备的响应优先级,根据所述响应优先级依次响应所述第一从设备和所述第二从设备中每个从设备发送的中断请求。

这样,即便主设备在进入中断状态之前接收到两个或两个以上从设备发送的中断请求,也可确保各从设备之间不发生冲突,且有序地向主设备发送数据,系统的稳定性较好。

在一种可能的实施方式下,所述从设备为用于采集位于所述智能机器人周围的障碍物的距离数据的超声波模组或者红外模组。

第二方面,本申请实施例提供的一种数据发送方法,应用于智能机器人,所述智能机器人中包括一个主设备和n个从设备;所述主设备配置有第一发射tx端口、第一接收rx端口、以及至少n个中断请求接收端口;每个从设备配置有第二tx端口、第二rx端口、以及一个中断请求发送端口;所述第一tx端口分别与每个所述第二rx端口连接,所述第一rx端口分别与每个所述第二tx端口连接,每个所述中断请求接收端口与不同的中断请求发送端口连接,n为大于2的整数,所述方法包括:

所述从设备在采集到数据后,通过所述从设备的中断请求发送端口向所述主设备发送中断请求;

若所述从设备通过所述从设备的第二rx端口接收到所述主设备发送的中断响应消息,且确定所述中断响应消息中携带的地址信息与所述从设备的地址信息相同,则通过所述从设备的第二tx端口向所述主设备发送所述数据。

在一种可能的实施方式下,所述从设备为用于采集位于所述智能机器人周围的障碍物的距离数据的超声模组或红外模组。

在一种可能的实施方式下,所述从设备实时采集位于所述智能机器人周围的障碍物的距离数据,或者,所述从设备在接收到所述主设备发送的数据采集指令后,采集位于所述智能机器人周围的障碍物的距离数据。

第三方面,本申请实施例提供的一种数据接收装置,应用于智能机器人,所述智能机器人中包括一个主设备和n个从设备;所述主设备配置有第一发射tx端口、第一接收rx端口、以及至少n个中断请求接收端口;每个从设备配置有第二tx端口、第二rx端口、以及一个中断请求发送端口;所述第一tx端口分别与每个所述第二rx端口连接,所述第一rx端口分别与每个所述第二tx端口连接,每个所述中断请求接收端口与不同的中断请求发送端口连接,n为大于2的整数,所述装置设置于所述主设备中,包括:

第一接收模块,用于通过与第一从设备连接的中断请求接收端口接收第一中断请求,其中,所述第一从设备为n个从设备中的任一从设备;

中断处理模块,用于若确定能够响应所述第一中断请求,则进入中断状态,通过所述第一tx端口发送第一中断响应消息,所述第一中断响应消息中携带有所述第一从设备的地址信息;

第二接收模块,用于通过所述第一rx端口接收所述第一从设备发送的数据。

在一种可能的实施方式下,所述第一接收模块,还用于在退出中断状态之前,通过与第二从设备连接的中断请求接收端口接收第二中断请求,所述第二从设备为n个从设备中与所述第一从设备不同的从设备;

所述中断处理模块,还用于在确定完成与所述第一从设备的数据传输后,通过所述第一tx端口发送第二中断响应消息,所述第二中断响应消息中携带有所述第二从设备的地址信息;

所述第二接收模块,还用于通过所述第一rx端口接收所述第二从设备发送的数据。

在一种可能的实施方式下,所述第一接收模块,还用于在进入中断状态之前,通过与第二从设备连接的中断请求接收端口接收第二中断请求,所述第二从设备为n个从设备中与所述第一从设备不同的从设备;

所述中断处理模块,还用于根据响应优先级规则确定所述第一从设备和所述第二从设备的响应优先级,根据所述响应优先级依次响应所述第一从设备和所述第二从设备中每个从设备发送的中断请求。

在一种可能的实施方式下,所述从设备为用于采集位于所述智能机器人周围的障碍物的距离数据的超声模组或红外模组。

第四方面,本申请实施例提供的一种数据发送装置,应用于智能机器人,所述智能机器人中包括一个主设备和n个从设备;所述主设备配置有第一发射tx端口、第一接收rx端口、以及至少n个中断请求接收端口;每个从设备配置有第二tx端口、第二rx端口、以及一个中断请求发送端口;所述第一tx端口分别与每个所述第二rx端口连接,所述第一rx端口分别与每个所述第二tx端口连接,每个所述中断请求接收端口与不同的中断请求发送端口连接,n为大于2的整数,所述装置设置于所述从设备中,包括:

发送模块,用于在采集到数据后,通过所述从设备的中断请求发送端口向所述主设备发送中断请求;

处理模块,用于若通过所从设备的第二rx端口接收到所述主设备发送的中断响应消息,且确定所述中断响应消息中携带的地址信息与所述从设备的地址信息相同,则通过所述从设备的第二tx端口向所述主设备发送所述数据。

在一种可能的实施方式下,所述从设备为用于采集位于所述智能机器人周围的障碍物的距离数据的超声模组或红外模组。

在一种可能的实施方式下,所述从设备实时采集位于所述智能机器人周围的障碍物的距离数据,或者,所述从设备在接收到所述主设备发送的数据采集指令后,采集位于所述智能机器人周围的障碍物的距离数据。

第五方面,本申请实施例提供的一种数据收发系统,应用于智能机器人,所述智能机器人中包括一个主设备和n个从设备;所述主设备配置有第一发射tx端口、第一接收rx端口、以及至少n个中断请求接收端口;每个从设备配置有第二tx端口、第二rx端口、以及一个中断请求发送端口;所述第一tx端口分别与每个所述第二rx端口连接,所述第一rx端口分别与每个所述第二tx端口连接,每个所述中断请求接收端口与不同的中断请求发送端口连接,n为大于2的整数,其中:

所述从设备,用于在采集到数据后,通过所述从设备的中断请求发送端口向所述主设备发送中断请求;若所述从设备通过所述从设备的第二rx端口接收到所述主设备发送的中断响应消息,且确定所述中断响应消息中携带的地址信息与所述从设备的地址信息相同,则通过所述从设备的第二tx端口向所述主设备发送所述数据;

所述主设备,用于通过与第一从设备连接的中断请求接收端口接收第一中断请求,其中,所述第一从设备为n个从设备中的任一从设备;若确定能够响应所述第一中断请求,所述主设备进入中断状态,通过所述第一tx端口发送第一中断响应消息,所述第一中断响应消息中携带有所述第一从设备的地址信息;所述主设备通过所述第一rx端口接收所述第一从设备发送的数据。

第六方面,本申请实施例提供的一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:

存储器存储有可被至少一个处理器执行的指令,该指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述数据发送方法或数据接收方法。

第七方面,本申请实施例提供的一种计算机可读介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一种数据发送方法或数据接收方法。

本申请的这些方面或其它方面在以下实施例的描述中会更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1为现有技术中一主多从通信系统的示意图;

图2为现有技术中一主多从通信系统中为各从设备分配的数据发送时间的示意图;

图3为本申请实施例提供的超声定位系统中从设备的安装位置示意图;

图4为本申请实施例提供的一种数据收发系统的示意图;

图5为本申请实施例提供的又一种数据收发系统的示意图;

图6为本申请实施例提供的一种数据接收方法的流程图;

图7为本申请实施例提供的一种数据接收装置的结构图;

图8为本申请实施例提供的一种数据发送方法的流程图;

图9为本申请实施例提供的一种数据发送装置的结构图;

图10为本申请实施例提供的用于实现数据发送方法或数据接收方法的电子设备的硬件结构示意图。

具体实施方式

为了解决现有技术中主设备只能在为各从设备分配的数据发送时间内获取数据,获取数据不及时的问题,本申请实施例提供了一种数据接收和发送方法、装置及数据收发系统。

以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

现有技术中,一主多从通信系统采用分时复用的策略来控制各从设备向主设备发送数据,但发明人发现在每个轮询周期内,为任一从设备分配的数据发送时间总有一些会被浪费掉,而其它从设备也不能利用这些时间来发送数据,因此,会导致主设备从各从设备中获取数据不及时的问题。

下面以智能机器人中的定位系统为例对上述问题进行详细说明。

在智能机器人的定位系统中,主设备为计算机器人行走线路的处理器,从设备为分布在机器人底盘上的用于探测周围障碍物的距离数据的超声模组或红外模组,参见图3,图3为超声定位系统中超声模组(或红外模组)的安装位置示意图,包括device0~device3共4个超声模组,其中,device#0的地址为address#0,device#1的地址为address#1,device#2的地址为address#2,device#3的地址为address#3。

以每个device能够探测6m距离内的障碍物为例,其探测障碍物的时间可通过以下公式计算:

声速v为:v=331+0.6t;

其中,t为设定的device的工作环境温度,一般地,t的范围在-10℃~40℃之间,那么,v的范围在325m/s~355m/s之间,此时,device探测障碍物的时间t为:t=6*2/vt=37ms~34ms。

为了保证各device在向处理器发送距离数据时不发生冲突,为每个device分配的数据发送时间一般不小于70ms,即,在一个数据发送周期内数据采集时间和数据发送时间基本各占一半,这样,为每个device分配的数据发送时间基本有一半时间都不是真正用来发送数据的,而这些时间也不能被其它device用来发送数据,所以严重影响了处理器从各device处获取的数据的实时性。

为了解决该问题,本申请实施例提供一种数据收发系统,参见图4,图4为本申请实施例提供的一种数据收发系统的示意图,该系统应用于智能机器人,智能机器人中包括一个主设备和n个从设备,主设备配置有一个第一tx端口、一个第一rx端口、以及至少n个中断请求接收端口;每个从设备配置有一个第二tx端口、一个第二rx端口、以及一个中断请求发送端口int,且主设备的第一tx端口分别与每个第二rx端口连接,主设备的第一rx端口分别与每个第二tx端口连接,主设备的每个中断请求接收端口与不同的中断请求发送端口连接,n为大于2的整数,其中:

从设备,用于在采集到数据后,通过该从设备的中断请求发送端口向主设备发送中断请求;若通过该从设备的第二rx端口接收到主设备发送的中断响应消息,且确定中断响应消息中携带的地址信息与该从设备的地址信息相同,则通过该从设备的第二tx端口向主设备发送数据。

其中,从设备可以为用于采集位于智能机器人周围的障碍物的距离数据的超声波模组或者红外模组,当然,从设备也可以是智能机器人中的其他数据采集设备,只要是有数据传输需求的设备均可,本发明实施例中不对从设备的具体实现进行限定。

实际应用中,从设备可以实时采集位于智能机器人周围的障碍物的距离数据,也可以在接收到主设备发送的数据采集指令后,再采集位于智能机器人周围的障碍物的距离数据。

并且,从设备在发送数据时,还可在数据的结尾附上用于表示数据发送完毕的标识位,如eof,这样,主设备在接收到的数据中读取到该标识位即可确定与该从设备的数据传输结束。

主设备,用于通过与第一从设备连接的中断请求接收端口接收第一中断请求,其中,第一从设备为n个从设备中的任一从设备,若确定能够响应第一中断请求,则进入中断状态,通过主设备的第一tx端口发送第一中断响应消息,其中,第一中断响应消息中携带有第一从设备的地址信息,进而通过主设备的第一rx端口接收第一从设备发送的数据。

进一步的,主设备在完成与第一从设备的数据传输后,退出中断状态。

具体的,主设备在接收到n个从设备中的任一从设备的中断请求后,则在确定能够响应该中断请求时,响应该从设备的中断请求,即:进入中断状态,通过第一tx端口广播发送中断响应消息,该中断响应消息中携带主设备所响应的从设备的地址信息,在完成数据接收后,退出中断状态。

在具体实施时,主设备若在退出中断状态之前,通过与第二从设备连接的中断请求接收端口接收到第二中断请求,则主设备可在确定完成与第一从设备的数据传输后,通过自身的第一tx端口发送第二中断响应消息,该第二中断响应消息中携带有第二从设备的地址信息,进而通过自身的第一rx端口接收第二从设备发送的数据,其中,第二从设备为n个从设备中与第一从设备不同的从设备。

进一步的,主设备在完成与第二从设备的数据传输后,退出中断状态。

在具体实施时,若接收到多个第二从设备的中断请求,则主设备可在确定完成与第一从设备的数据传输后,按照多个第二从设备的响应优先级从高到低的顺序,依次响应该多个第二从设备的中断请求。

在具体实施时,主设备若在进入中断状态之前,通过与第二从设备连接的中断请求接收端口接收到第二中断请求,则根据响应优先级规则确定第一从设备和第二从设备的响应优先级,根据该响应优先级依次响应第一从设备和第二从设备中每个从设备发送的中断请求,其中,第二从设备为n个从设备中与第一从设备不同的从设备,且第二从设备的数量为至少一个。

具体地,主设备若在进入中断状态之前,接收到其他从设备发送的中断请求,则根据预设的响应优先级规则确定发送中断请求的所有从设备响应优先级,按照响应优先级从高到低的顺序,依次响应这些从设备发送的中断请求。

举例说明,主设备通过与从设备相连的中断请求接收端口,分别接收到从设备1和从设备2的中断请求,进入中断状态,根据响应优先级规则,确定从设备2的优先级高于从设备1的优先级,则先通过第一tx端口发送携带从设备2的地址的中断响应消息,在完成与从设备2的数据传输后,再通过第一tx端口发送携带从设备1的地址的中断响应消息,在完成与从设备1的数据传输后,退出中断状态。

需要说明的是,本发明实施例中使用“第一”、“第二”来区分不同的从设备,不同从设备发送的中断请求,以及对不同从设备发送的中断请求的中断响应消息。并不对从设备、中断请求、中断响应消息的数量和优先级进行限定。第一从设备可以是n个从设备中的任一从设备,而第二从设备可以是n个从设备中与第一从设备不同的任一从设备。

下面以主设备为智能机器人的处理器、从设备为用于采集位于智能机器人周围的障碍物的距离数据的超声波模组为例,对本申请实施例中的数据收发系统进行介绍。

具体地,参见图5,图5为本申请实施例提供的又一种数据收发系统的示意图,包括1个处理器mcuhost和n个超声波模组device0~devicen-1,mcuhost和各device之间利用uartrs232标准进行通信,其中,mcuhost配置有一个tx端口、一个rx端口和m个中断请求接收端口,每个device配置有一个tx端口、一个rx端口和一个中断请求发送端口,且mcuhost的tx端口和每个device的rx端口相连,mcuhost的rx端口和每个device的tx端口相连,mcuhost的中断请求接收端口和不同的中断请求发送端口相连,n和m均为整数,且m≥n≥2。

实际应用中,各device可以实时采集智能机器人周围的障碍物的距离数据,也可以在接收到mcuhost发送的数据采集指令后,再采集智能机器人周围的障碍物的距离数据。

以devicei为例,devicei在采集到距离数据后,可通过自身的中断请求发送端口向mcuhost发送中断请求,mcuhost通过与devicei相连的中断请求接收端口接收中断请求,若确定能够响应该中断请求,则进入中断状态,并可通过自身的tx端口发送中断响应消息,其中,中断响应消息中携带有mcuhost响应的devicei的地址信息,devicei通过自身的rx端口接收中断响应消息,若确定中断响应消息中携带的地址信息与自身的地址信息相同,则可通过自身的tx端口向mcuhost发送数据,之后,mcuhost从自身的rx端口接收devicei发送的数据,确定读取完devicei发送的数据时,退出中断,其中,i的取值位于[0,n-1]。

上述过程中,若mcuhost在退出中断状态之前,通过与devicej连接的中断接收端口接收到中断请求,则mcuhost可在确定完成与devicei的数据传输后,通过自身的tx端口发送中断响应消息,其中,中断响应消息中携带有devicej的地址信息,这样,devicej可通过自身的rx端口接收到中断响应消息,在确定中断响应消息中携带的地址信息与自身的地址信息相同后,可通过自身的tx端口向mcuhost发送数据,mcuhost通过自身的rx端口接收devicej发送的数据,确定接收完devicej发送的数据后再退出中断状态,其中,j的取值位于[0,n-1],且j≠i。

另外,若mcuhost在退出中断状态之前接收到不止一个device发送的中断请求,比如,即通过与devicej连接的中断接收端口接收到中断请求,又通过与devicek连接的中断接收端口接收到中断请求,则mcuhost可在确定完成与devicei的数据传输后,按照devicej和devicek的响应优先级从高到低的顺序,依次响应devicej和devicek的中断请求,其中,k的取值位于[0,n-1],且k≠i、k≠j。

假设mcuhost确定的devicej的响应优先级高于devicek,那么mcuhost在确定完成与devicei的数据传输后,可通过自身的tx端口发送携带devicej的地址的中断响应消息,在完成与devicej的数据传输后,再通过自身的tx端口发送携带devicek的地址的中断响应消息,在完成与devicek的数据传输后,退出中断状态。

上述过程中,若mcuhost在进入中断状态之前,又通过与deviceo连接的中断接收端口接收到中断请求,则mcuhost可根据响应优先级规则确定devicei和deviceo的响应优先级,假设确定的deviceo的响应优先级高于devicei,则mcuhost在进入中断状态之后,可通过自身的tx端口发送中断响应消息、且在中断响应消息中携带deviceo的地址信息,这样,deviceo在通过自身的rx端口接收到中断响应消息、且确定中断响应消息中携带的地址信息与自身的地址信息相同时,即可通过自身的tx端口向mcuhost发送数据,mcuhost确定接收完deviceo发送的数据后,再通过自身的tx端口发送中断响应消息、且在中断响应消息中携带devicei的地址信息,这样,devicei在通过自身的rx端口接收到中断响应消息、且确定中断响应消息中携带的地址信息与自身的地址信息相同时,通过自身的tx端口向mcuhost发送数据,mcuhost确定接收完devicei发送的数据后,再退出中断状态,其中,o的取值位于[0,n-1],且o≠i。

这样,即便接收到多个device发送的中断请求,也可确保device之间不发生冲突、且可有序地向mcuhost发送数据,系统的稳定性较好。

本申请实施例中,每个从设备在采集到数据后向主设备发送中断请求,主设备若确定能够响应中断请求,则发送中断响应消息,且在中断响应消息中携带所响应从设备的地址信息,从设备接收到中断响应消息、且确定中断响应消息中的地址信息与自己的地址信息相同时,再向主设备发送数据,由于从设备发送数据的时间一般很短,25ms左右,相比于分时复用的策略,可节省出一定的时间来给其它从设备发送数据,因此,主设备获取到各从设备发送的数据的实时性更好,并且,主设备以中断的方式来接收各从设备发送的数据,还可有效避免其他从设备的干扰,通信的可靠性也较好。

对应与上述数据收发系统中的主设备,本申请实施例还提供一种数据接收方法,如图6所示,为本申请实施例提供的数据接收方法的流程图,包括以下步骤:

s601:主设备通过与第一从设备连接的中断请求接收端口接收第一中断请求,其中,第一从设备为n个从设备中的任一从设备。

s602:主设备若确定能够响应第一中断请求,则进入中断状态,通过自身的第一tx端口发送第一中断响应消息,其中,第一中断响应消息中携带有第一从设备的地址信息。

s603:主设备通过第一rx端口接收第一从设备发送的数据。

s604:主设备确定接收完第一从设备发送的数据后,退出中断状态。

具体实施时,主设备若在退出中断状态之前,通过与第二从设备连接的中断请求接收端口接收到第二中断请求,第二从设备为n个从设备中与第一从设备不同的从设备,则可在确定完成与第一从设备的数据传输后,通过自身的第一tx端口发送第二中断响应消息,其中,第二中断响应消息中携带有第二从设备的地址信息,这样,第二从设备在接收到第二中断响应消息后,若确定中第二断响应消息中携带的地址信息与自身的地址信息相同,则可通过自身的第二tx端口向主设备发送数据。

并且,若接收到多个第二从设备发送的中断请求,则主设备可在确定完成与第一从设备的数据传输后,按照多个第二从设备的响应优先级从高到低的顺序,依次响应该多个第二从设备的中断请求。

另外,主设备若在进入中断状态之前,通过与第二从设备连接的中断请求接收端口接收到第二中断请求,则可根据响应优先级规则确定第一从设备和第二从设备的响应优先级,并根据确定的响应优先级依次响应第一从设备和第二从设备中每个从设备发送的中断请求,以使第一从设备和第二从设备依次向主设备发送数据。

基于同一构思,本申请实施例还提供了一种数据接收装置,如图7所示,包括:

第一接收模块701,用于通过与第一从设备连接的中断请求接收端口接收第一中断请求,其中,所述第一从设备为n个从设备中的任一从设备;

中断处理模块702,用于若确定能够响应所述第一中断请求,则进入中断状态,通过所述第一tx端口发送第一中断响应消息,所述第一中断响应消息中携带有所述第一从设备的地址信息;

第二接收模块703,用于通过所述第一rx端口接收所述第一从设备发送的数据。

在一种可能的实施方式下,所述第一接收模块701,还用于在退出中断状态之前,通过与第二从设备连接的中断请求接收端口接收第二中断请求,所述第二从设备为n个从设备中与所述第一从设备不同的从设备;

所述中断处理模块702,还用于在确定完成与所述第一从设备的数据传输后,通过所述第一tx端口发送第二中断响应消息,所述第二中断响应消息中携带有所述第二从设备的地址信息;

所述第二接收模块703,还用于通过所述第一rx端口接收所述第二从设备发送的数据。

在一种可能的实施方式下,所述第一接收模块701,还用于在进入中断状态之前,通过与第二从设备连接的中断请求接收端口接收第二中断请求,所述第二从设备为n个从设备中与所述第一从设备不同的从设备;

所述中断处理模块702,还用于根据响应优先级规则确定所述第一从设备和所述第二从设备的响应优先级,根据所述响应优先级依次响应所述第一从设备和所述第二从设备中每个从设备发送的中断请求。

在一种可能的实施方式下,从设备为用于采集位于智能机器人周围的障碍物的距离数据的超声波模组或者红外模组。

对应与上述数据收发系统中的从设备,本申请实施例还提供一种数据发送方法,如图8所示,为本申请实施例提供的数据发送方法的流程图,包括以下步骤:

s801:从设备在采集到数据后,通过从设备的中断请求发送端口向主设备发送中断请求。

其中,从设备为用于采集位于智能机器人周围的障碍物的距离数据的超声模组或红外模组,并且,从设备可实时采集位于智能机器人周围的障碍物的距离数据,也可以在接收到主设备发送的数据采集指令后,采集位于智能机器人周围的障碍物的距离数据。

s802:若从设备通过从设备的第二rx端口接收到主设备发送的中断响应消息,且确定中断响应消息中携带的地址信息与从设备的地址信息相同,则通过从设备的第二tx端口向主设备发送数据。

在具体实施时,从设备在发送数据时,可在数据的结尾附上用于表示数据发送完毕的标识位,以便主设备根据对应的标识位确定与该从设备的数据传输完毕。

基于同一构思,本申请实施例还提供了一种数据发送装置,如图9所示,包括:

发送模块901,用于在采集到数据后,通过所述从设备的中断请求发送端口向所述主设备发送中断请求;

处理模块902,用于若通过所述从设备的第二rx端口接收到所述主设备发送的中断响应消息,且确定所述中断响应消息中携带的地址信息与所述从设备的地址信息相同,则通过所述从设备的第二tx端口向所述主设备发送所述数据。

在一种可能的实施方式下,所述从设备为用于采集位于所述智能机器人周围的障碍物的距离数据的超声模组或红外模组。

在一种可能的实施方式下,所述从设备实时采集位于所述智能机器人周围的障碍物的距离数据,或者,所述从设备在接收到所述主设备发送的数据采集指令后,采集位于所述智能机器人周围的障碍物的距离数据。

参见图10所示,为本申请实施例提供的一种用于实现数据发送方法或数据接收方法的电子设备的硬件结构示意图,该电子设备包括收发器1001以及处理器1002等物理器件,其中,处理器1002可以是一个中央处理单元(centralprocessingunit,cpu)、微处理器、专用集成电路、可编程逻辑电路、大规模集成电路、或者为数字处理单元等等。收发器1001用于电子设备和其他设备进行数据收发。

该电子设备还可以包括存储器1003用于存储处理器1002执行的软件指令,当然还可以存储电子设备需要的一些其他数据,如电子设备的标识信息、电子设备的加密信息、用户数据等。存储器1003可以是易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,ram);存储器1003也可以是非易失性存储器(non-volatilememory),例如只读存储器(read-onlymemory,rom),快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd)、或者存储器1003是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1003可以是上述存储器的组合。

本申请实施例中不限定上述处理器1002、存储器1003以及收发器1001之间的具体连接介质。本申请实施例在图10中仅以存储器1003、处理器1002以及收发器1001之间通过总线1004连接为例进行说明,总线在图10中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

处理器1002可以是专用硬件或运行软件的处理器,当处理器1002可以运行软件时,处理器1002读取存储器1003存储的软件指令,并在所述软件指令的驱动下,执行前述实施例中涉及的方法。

本申请实施例还提供了一种计算机可读存储介质,存储为执行上述处理器所需执行的计算机可执行指令,其包含用于执行上述处理器所需执行的程序。

在一些可能的实施方式中,本申请提供的数据发送方法或数据接收方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在电子设备上运行时,所述程序代码用于使所述电子设备执行本说明书上述描述的根据本申请各种示例性实施方式的数据发送方法或数据接收方法中的步骤。

所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

本申请的实施方式的用于通信的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在计算设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。

此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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