总线型通讯网络的数据传输方法和装置及存储介质转让专利

申请号 : CN201810058699.5

文献号 : CN108234266B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 关富文董玉红唐政清彭嘉欣钟金扬

申请人 : 珠海格力电器股份有限公司

摘要 :

本公开提出一种总线型通讯网络的数据传输方法和装置及存储介质,涉及数据传输领域。其中的方法包括:总线型通讯网络的节点设备监听总线利用率;节点设备判断总线利用率是否达到预设上限;在总线利用率未达到预设上限的情况下,节点设备提升数据发送速率,从而提高总线利用率。

权利要求 :

1.一种总线型通讯网络的数据传输方法,包括:总线型通讯网络的节点设备监听总线利用率;

所述节点设备判断总线利用率是否达到预设上限;

在总线利用率未达到预设上限的情况下,判断总线利用率未达到预设上限的情况是否持续预设通讯周期,在总线利用率未达到预设上限的情况持续预设通讯周期的情况下,所述节点设备逐步提升数据发送速率。

2.如权利要求1所述的方法,还包括:

所述节点设备在重新上电时或在接入所述总线型通讯网络时,先按照预设的初始速率发送数据。

3.如权利要求1所述的方法,还包括:

所述节点设备监测到所述总线型通讯网络中有新设备接入时,将数据发送速率恢复为预设的初始速率。

4.如权利要求3所述的方法,其中,所述节点设备通过监听所述总线型通讯网络中的设备地址,来监测所述总线型通讯网络中是否有新设备接入。

5.如权利要求1-4任一项所述的方法,其中,所述节点设备在有实时性数据传输需求时,提升数据发送速率。

6.如权利要求1-4任一项所述的方法,其中,所述总线型通讯网络为控制器局域网络CAN;

或者,所述节点设备为空调机组的控制器。

7.一种总线型通讯网络的数据传输装置,包括:监听模块,用于监听总线利用率;

判断模块,用于判断总线利用率是否达到预设上限;

速率调节模块,用于在总线利用率未达到预设上限的情况下,判断总线利用率未达到预设上限的情况是否持续预设通讯周期,在总线利用率未达到预设上限的情况持续预设通讯周期的情况下,逐步提升数据发送速率。

8.如权利要求7所述的装置,其中,

所述速率调节模块,用于在重新上电时或在接入所述总线型通讯网络时,先按照预设的初始速率发送数据;

或者,

所述速率调节模块,用于监测到所述总线型通讯网络中有新设备接入时,将数据发送速率恢复为预设的初始速率。

9.如权利要求7-8任一项所述的装置,其中,速率调节模块,用于在有实时性数据传输需求时,提升数据发送速率。

10.如权利要求7-8任一项所述的装置,其中,所述总线型通讯网络为控制器局域网络CAN;

或者,所述数据传输装置为空调机组的控制器。

11.一种总线型通讯网络的数据传输装置,包括:存储器;以及

耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行权利要求1-6中任一项所述的总线型通讯网络的数据传输方法。

12.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现权利要求1-6中任一项所述的总线型通讯网络的数据传输方法。

说明书 :

总线型通讯网络的数据传输方法和装置及存储介质

技术领域

[0001] 本公开涉及数据传输领域,特别涉及一种总线型通讯网络的数据传输方法和装置及存储介质。

背景技术

[0002] 当前大型商用空调机组使用CAN(Controller Area Network,控制器局域网络)通讯网络。CAN属于无主从通讯方式,通讯网络上的节点设备随时都能发送数据。

发明内容

[0003] 发明人发现,CAN的通讯总线单位时间内能够承载的数据总量是一定的,根据通讯的波特率不同而不同。这就要求通讯总线上的所有节点设备不能够无限制的发送数据,以免造成数据丢失。由于存在这种风险,所以通讯网络中的节点设备在设计时都提前约定好数据发送速率的上限,并且需要留有余量。由于每个节点设备以最保险的数据发送速率工作,这样会导致总线存在大量空闲的情况。
[0004] 本公开实施例所要解决的一个技术问题是,提高CAN的总线利用率。
[0005] 根据本公开的一个方面,提出一种总线型通讯网络的数据传输方法,包括:
[0006] 总线型通讯网络的节点设备监听总线利用率;
[0007] 所述节点设备判断总线利用率是否达到预设上限;
[0008] 在总线利用率未达到预设上限的情况下,所述节点设备提升数据发送速率。
[0009] 在一些实施例中,总线型通讯网络的数据传输方法还包括:判断总线利用率未达到预设上限的情况是否持续预设通讯周期,在总线利用率未达到预设上限的情况持续预设通讯周期的情况下,所述节点设备提升数据发送速率。
[0010] 在一些实施例中,总线型通讯网络的数据传输方法还包括:所述节点设备在重新上电时或在接入所述总线型通讯网络时,先按照预设的初始速率发送数据。
[0011] 在一些实施例中,总线型通讯网络的数据传输方法还包括:所述节点设备监测到所述总线型通讯网络中有新设备接入时,将数据发送速率恢复为预设的初始速率。
[0012] 在一些实施例中,所述节点设备通过监听所述总线型通讯网络中的设备地址,来监测所述总线型通讯网络中是否有新设备接入。
[0013] 在一些实施例中,所述节点设备在有实时性数据传输需求时,提升数据发送速率。
[0014] 在一些实施例中,所述总线型通讯网络为控制器局域网络CAN。
[0015] 在一些实施例中,所述节点设备为空调机组的控制器。
[0016] 根据本公开的另一个方面,提出一种总线型通讯网络的数据传输装置,包括:
[0017] 监听模块,用于监听总线利用率;
[0018] 判断模块,用于判断总线利用率是否达到预设上限;
[0019] 速率调节模块,用于在总线利用率未达到预设上限的情况下,提升数据发送速率。
[0020] 在一些实施例中,所述速率调节模块,用于判断总线利用率未达到预设上限的情况是否持续预设通讯周期,在总线利用率未达到预设上限的情况持续预设通讯周期的情况下,提升数据发送速率。
[0021] 在一些实施例中,所述速率调节模块,用于在重新上电时或在接入所述总线型通讯网络时,先按照预设的初始速率发送数据;
[0022] 或者,所述速率调节模块,用于监测到所述总线型通讯网络中有新设备接入时,将数据发送速率恢复为预设的初始速率。
[0023] 在一些实施例中,速率调节模块,用于在有实时性数据传输需求时,提升数据发送速率。
[0024] 在一些实施例中,所述总线型通讯网络为控制器局域网络CAN。
[0025] 在一些实施例中,所述节点设备为空调机组的控制器。
[0026] 根据本公开的另一个方面,提出一种总线型通讯网络的数据传输装置,包括:
[0027] 存储器;以及
[0028] 耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行前述的总线型通讯网络的数据传输方法。
[0029] 根据本公开的另一个方面,提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的总线型通讯网络的数据传输方法。
[0030] 本公开实施例根据监听到的总线利用率动态调整数据发送速率,在总线利用率未达到预设上限的情况下,提升数据发送速率,从而提高总线利用率。

附图说明

[0031] 下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍。根据下面参照附图的详细描述,可以更加清楚地理解本公开,
[0032] 显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0033] 图1为本公开总线型通讯网络的数据传输方法一些实施例的流程示意图。
[0034] 图2为本公开总线型通讯网络的数据传输方法另一些实施例的流程示意图。
[0035] 图3为本公开总线型通讯网络的数据传输装置一些实施例的结构示意图。
[0036] 图4为本公开总线型通讯网络的数据传输装置另一些实施例的结构示意图。

具体实施方式

[0037] 下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0038] 图1为本公开总线型通讯网络的数据传输方法一些实施例的流程示意图。如图1所示,该实施例的方法包括:步骤110-140。
[0039] 在步骤110,总线型通讯网络的节点设备监听总线利用率。
[0040] 总线型通讯网络例如为控制器局域网络(CAN)。节点设备例如为空调机组的控制器,控制器例如可以是触摸屏。
[0041] 在一些实施例中,节点设备通过监听总线上所有的数据帧,可以计算出总线当前的瞬时数据量D1,再根据通讯网络当前的通讯波特率,可以计算出总线单位时间内能够承载的最大数据量D2,D1/D2即为总线利用率。
[0042] 在步骤120,节点设备判断总线利用率是否达到预设上限。
[0043] 预设上限是总线利用率的安全上限,通常在80%-95%之间,例如可以设定为85%。
[0044] 在步骤130,在总线利用率未达到预设上限的情况下,节点设备提升数据发送速率,按照提升后的数据发送速率传输数据。
[0045] 在一些实施例中,还可以进一步判断总线利用率未达到预设上限的情况是否持续预设通讯周期,在总线利用率未达到预设上限的情况持续预设通讯周期的情况下,节点设备提升数据发送速率。在总线利用率未达到预设上限的情况没有持续预设通讯周期的情况下,节点设备暂不提升数据发送速率,可以按照当前的数据发送速率传输数据。通讯周期例如可以是节点设备发送完所有控制数据的时间。例如,连续3个通讯周期总线利用率一直在50%-60%波动,未达到85%,则节点设备可以提升数据发送速率。从而提升数据发送的成功率。
[0046] 在一些实施例中,节点设备可以逐步提升数据发送速率,每次提升数据发送速率增加一些调节幅度。该调节幅度可以预先设置,例如,数据发送速率每次增加1%。该调节幅度也可以动态确定,例如,将若干通讯周期的平均总线利用率与总线利用率的预设上限的差值除以节点设备数量作为调节幅度,保证总线利用率不会超过安全上限。
[0047] 在步骤140,在总线利用率达到预设上限的情况下,节点设备不再提升数据发送速率,按照当前的数据发送速率传输数据。
[0048] 根据监听到的总线利用率动态调整数据发送速率,在总线利用率未达到预设上限的情况下,提升数据发送速率,从而提高总线利用率。
[0049] 图2为本公开总线型通讯网络的数据传输方法另一些实施例的流程示意图。如图2所示,该实施例的方法包括:步骤210-280。
[0050] 在步骤210,节点设备重新上电或重新接入总线型通讯网络,准备开始通讯。
[0051] 在步骤220,节点设备按照预设的初始速率发送数据。
[0052] 在步骤230,节点设备监听总线利用率。
[0053] 在步骤240,节点设备判断总线利用率是否达到预设上限。
[0054] 在步骤250,在总线利用率未达到预设上限的情况下,节点设备提升数据发送速率,按照提升后的数据发送速率传输数据。同时节点设备继续监听总线利用率。
[0055] 在一些实施例中,还可以进一步判断总线利用率未达到预设上限的情况是否持续预设通讯周期,在总线利用率未达到预设上限的情况持续预设通讯周期的情况下,节点设备提升数据发送速率。在总线利用率未达到预设上限的情况没有持续预设通讯周期的情况下,节点设备暂不提升数据发送速率,可以按照当前的数据发送速率传输数据。
[0056] 在步骤260,在总线利用率达到预设上限的情况下,节点设备不再提升数据发送速率,按照当前的数据发送速率传输数据。同时节点设备继续监听总线利用率。
[0057] 在步骤270,节点设备监测到总线型通讯网络中有新设备接入。然后执行步骤280。
[0058] 在一些实施例中,节点设备通过监听总线型通讯网络中的设备地址,来监测总线型通讯网络中是否有新设备接入。例如,节点设备在重新上电或重新接入总线型通讯网络时,监听并记录总线型通讯网络中的设备地址,以此为准表示总线上现有的节点设备,后续通讯过程中继续监听总线型通讯网络中的设备地址,如果相对于初始记录有增加的设备地址,则说明总线型通讯网络中有新设备接入。
[0059] 在步骤280,节点设备将数据发送速率恢复为预设的初始速率,以避免总线数据过多导致节点设备数据发送失败。同时节点设备继续监听总线利用率。
[0060] 根据监听到的总线利用率动态调整数据发送速率,在总线利用率未达到预设上限的情况下,提升数据发送速率,从而提高总线利用率。此外,还引入数据发送速率的回退机制,保障数据发送的成功率。
[0061] 在一些实施例中,执行前述任一个实施例的数据传输方法的节点设备,例如可以是总线型通讯网络中的一个、几个、或者所有的节点设备,还可以是有特殊的业务传输需求的节点设备。例如,节点设备可以在有实时性数据传输需求时,采用前述任一个实施例的数据传输方法来动态调整数据发送速率。
[0062] 在一些实施例中,节点设备在没有实时性数据需要传输时,可以仍然按照预设的初始速率发送数据。节点设备在有实时性数据需要传输时,在总线利用率未达到预设上限的情况下,提升数据发送速率,按照提升后的数据发送速率传输实时性数据,从而保障实时性数据的传输。
[0063] 在一些应用示例中,例如在空调机组组成的总线型通讯网络中,空调机组的触摸屏随时会产生很多实时性数据需要传输,为了保障实时性数据的传输,触摸屏监听总线利用率,在有实时性数据需要传输时,在连续若干通讯周期的总线利用率未达到预设上限的情况下,可以提升数据发送速率,按照提升后的数据发送速率传输实时性数据,从而保障实时性数据的传输。若总线利用率已经达到预设上限,则触摸屏不再提升数据发送速率。此外,如果触摸屏在正常通讯过程中离线了,则进行判断,如果离线超过一定时间,则触摸屏将数据发送速率调整为初始速率。触摸屏在重新上电后,同样先按照初始速率发送数据。此外,为了保障各个触摸屏的数据收发正常,如果通讯过程中检测到有新触摸屏接入通讯网络,则触摸屏将数据发送速率恢复为初始速率,以避免总线数据过多导致触摸屏数据发送失败。
[0064] 图3为本公开总线型通讯网络的数据传输装置一些实施例的结构示意图。如图3所示,该实施例的装置包括:
[0065] 监听模块310,用于监听总线利用率;
[0066] 判断模块320,用于判断总线利用率是否达到预设上限;
[0067] 速率调节模块330,用于在总线利用率未达到预设上限的情况下,提升数据发送速率。
[0068] 在一些实施例中,速率调节模块330,用于判断总线利用率未达到预设上限的情况是否持续预设通讯周期,在总线利用率未达到预设上限的情况持续预设通讯周期的情况下,提升数据发送速率。
[0069] 在一些实施例中,速率调节模块330,用于在重新上电时或在接入总线型通讯网络时,先按照预设的初始速率发送数据。
[0070] 在一些实施例中,速率调节模块330,用于监测到总线型通讯网络中有新设备接入时,将数据发送速率恢复为预设的初始速率。
[0071] 在一些实施例中,速率调节模块330,用于在有实时性数据传输需求时,提升数据发送速率。
[0072] 在一些实施例中,总线型通讯网络为控制器局域网络CAN。
[0073] 在一些实施例中,所述节点设备为空调机组的控制器。
[0074] 根据监听到的总线利用率动态调整数据发送速率,在总线利用率未达到预设上限的情况下,提升数据发送速率,从而提高总线利用率。此外,还引入数据发送速率的回退机制,保障数据发送的成功率。
[0075] 图4为本公开总线型通讯网络的数据传输装置另一些实施例的结构示意图。如图4所示,该实施例的装置包括:
[0076] 存储器410以及耦接至该存储器410的处理器420,处理器420被配置为基于存储在存储器410中的指令,执行前述任意一些实施例中的总线型通讯网络的数据传输方法。
[0077] 其中,存储器410例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)以及其他程序等。
[0078] 该实施例的装置还可以包括输入输出接口430、网络接口440、存储接口450等。这些接口430,440,450以及存储器410和处理器420之间例如可以通过总线460连接。其中,输入输出接口430为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口440为各种联网设备提供连接接口。存储接口450为SD卡、U盘等外置存储设备提供连接接口。
[0079] 本公开提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的总线型通讯网络的数据传输方法。
[0080] 本领域内的技术人员应当明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0081] 本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0082] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0083] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0084] 以上所述仅为本公开的较佳实施例,并不用以限制本公开,凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。