多控制器通信方法、装置、计算机设备和存储介质

文档序号:1889028 发布日期:2021-11-26 浏览:15次 >En<

阅读说明:本技术 多控制器通信方法、装置、计算机设备和存储介质 (Multi-controller communication method, multi-controller communication device, computer equipment and storage medium ) 是由 陈江 王超 韩舒 于 2021-10-28 设计创作,主要内容包括:本申请涉及一种多控制器通信方法、装置、计算机设备和存储介质。所述方法包括:主控制器发送同步时钟信号,并开始对时钟的下降沿和上升沿计数;从控制器接收到所述同步时钟信号后开始对时钟的下降沿和上升沿计数;主控制器、从控制器根据预设的规则,在下降沿或者上升沿进行数据的发送或接收。采用本方法能够实现多控制器的通信方法,解决主从控制器通信问题。(The application relates to a multi-controller communication method, a multi-controller communication device, computer equipment and a storage medium. The method comprises the following steps: the main controller sends a synchronous clock signal and starts to count the falling edge and the rising edge of the clock; after receiving the synchronous clock signal from the slave controller, starting to count the falling edge and the rising edge of the clock; and the master controller and the slave controller transmit or receive data at a falling edge or a rising edge according to a preset rule. By adopting the method, the communication method of the multiple controllers can be realized, and the problem of communication between the master controller and the slave controller is solved.)

多控制器通信方法、装置、计算机设备和存储介质

技术领域

本申请涉及通信控制技术领域,特别是涉及一种多控制器通信方法、装置、计算机设备和存储介质。

背景技术

一套存储设备常常包含了多个存储控制器,以包括四个存储控制器的存储设备为例,如图1所示,在该存储设备中包括了A控制器、B控制器、C控制器、D控制器。

多个存储控制器之前存在主从关系,当多个存储控制器正常工作时,多个存储控制器之间协同工作时需要进行通信。例如,在主控制器与执行单元之间,控制命令需要实时传达至执行单元,而状态信息需要快速反馈至主控制器。控制器间的相互通信通常采用总线方式实现,比如232、485、CAN、Ethernet等等,其接口一般都是利用设备中CPU自带的硬件资源。因此,CPU需要花费大量的运行时间去管理,整个通信协议的实现过程较为复杂,进而导致通信数据的实时性、总线带宽利用率都难于控制。

发明内容

基于此,有必要针对上述技术问题,提供一种能够多控制器通信方法、装置、计算机设备和存储介质。

一方面,提供一种多控制器通信方法,多控制器包括1个主控制器和至少1个从控制器,所述方法包括:

主控制器发送同步时钟信号,并开始对时钟的下降沿和上升沿计数;

从控制器接收到所述同步时钟信号后开始对时钟的下降沿和上升沿计数;

主控制器、从控制器根据预设的规则,在下降沿或者上升沿进行数据的发送或接收。

在其中一个实施例中,多控制器通过通信总线互连。

在其中一个实施例中,所述的通信总线包括CLK时钟线和DATA数据线,均为双向通信。

在其中一个实施例中,主控制器发送同步时钟信号包括:

主控制器发送时钟信号,并在时钟信号的下降沿发送同步信号,所述同步信号包括帧头以及主控制器标识。

在其中一个实施例中,主控制器、从控制器根据预设的规则,在下降沿或者上升沿进行数据的发送或接收,包括:

在时钟信号的下降沿,主控制器或从控制器将需要同步的数据传输至DATA数据线;

在时钟信号的上升沿,主控制器或从控制器从DATA数据线接收所述需要同步的数据。

在其中一个实施例中,在时钟信号的下降沿,主控制器或从控制器将需要同步的数据传输至DATA数据线,包括:

在第1个时钟信号下降沿至第N个时钟信号下降沿,主控制器将需要同步的数据传输至DATA数据线,N为大于1的正整数;

在第N+1个时钟信号线下降沿至第2N个时钟信号下降沿,第一从控制器将需要同步的数据传输至DATA数据线;

在第2N+1个时钟信号线下降沿至第3N个时钟信号下降沿,第二从控制器将需要同步的数据传输至DATA数据线;

以此类推,直至所有M个从控制器将需要同步的数据传输至DATA数据线,M为大于等于1的正整数;

在时钟信号的上升沿,主控制器或从控制器从DATA数据线接收所述需要同步的数据,包括:

在第1个时钟信号上升沿至MN个时钟信号上升沿,主控制器或从控制器从DATA数据线接收所述需要同步的数据。

在其中一个实施例中,主控制器或从控制器在数据发送完成之后,将DATA数据线置为高阻态。

另一方面,提供了一种多控制器通信装置,所述装置包括:M+1个控制器、背板、通信总线,其中:M+1个控制器插在背板上,背板上不同的槽位有不同的标识信号,控制器可通过槽位标识信号识别当前插入的槽位以确定自身的标识,M+1个控制器之间通过通信总线连接。

再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

主控制器发送同步时钟信号,并开始对时钟的下降沿和上升沿计数;

从控制器接收到所述同步时钟信号后开始对时钟的下降沿和上升沿计数;

主控制器、从控制器根据预设的规则,在下降沿或者上升沿进行数据的发送或接收。

又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

主控制器发送同步时钟信号,并开始对时钟的下降沿和上升沿计数;

从控制器接收到所述同步时钟信号后开始对时钟的下降沿和上升沿计数;

主控制器、从控制器根据预设的规则,在下降沿或者上升沿进行数据的发送或接收。

上述多控制器通信方法、装置、计算机设备和存储介质,主控制器发送同步时钟信号,并开始对时钟的下降沿和上升沿计数;从控制器接收到所述同步时钟信号后开始对时钟的下降沿和上升沿计数;主控制器、从控制器根据预设的规则,在下降沿或者上升沿进行数据的发送或接收,实现了多控制器的通信方法,解决主从控制器通信问题。

附图说明

图1为存储设备的结构示意图;

图2为一个实施例中多控制器通信装置的结构示意图;

图3为一个实施例中多控制器通信方法的流程示意图;

图4为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

在一个实施例中,提供了一种多控制器通信装置,所述装置包括:M+1个控制器、背板、通信总线,其中:M+1个控制器插在背板上,背板上不同的槽位有不同的标识信号,控制器可通过槽位标识信号识别当前插入的槽位以确定自身的标识,M+1个控制器之间通过通信总线连接。

具体的,如图2所示,以存储系统的4个控制器为例,依次将存储控制器定义为ABCD四个控制器,四个存储器插在同一个背板上,背板上不同的槽位具有对应不同的的标识号,此槽位对应的标识号作为插入至该槽位的控制器的ID号;4个存储控制器对应4个ID号;4个存储控制器中仅有一个作为主控制器,其余3个作为从控制器。

在一个实施例中,如图2所示,提供了一种多控制器通信方法,并接续图2示出的多控制器进行示例,多控制器包括1个主控制器和3个从控制器,多控制器通信方法包括以下步骤:

S1,主控制器发送同步时钟信号,并开始对时钟的下降沿和上升沿计数;

S2,从控制器接收到所述同步时钟信号后开始对时钟的下降沿和上升沿计数;

S3,主控制器、从控制器根据预设的规则,在下降沿或者上升沿进行数据的发送或接收。

在一个实施例中,多控制器通过通信总线互连。

在一个实施例中,所述的通信总线包括CLK时钟线和DATA数据线,均为双向通信。

具体的,ABCD四个控制器通过背板上的通信总线互连,通信总线包括两根信号线,即时钟线(CLK)和数据线(DATA) ;时钟线和数据线均为双向信号,且在背板上做上拉处理;主控制器的CLK作为控制器的输出信号,其它从控制器的CLK信号作为输入信号。

在一个实施例中,步骤S1中的主控制器发送同步时钟信号包括:

S11,主控制器发送时钟信号,并在时钟信号的下降沿发送同步信号,所述同步信号包括帧头以及主控制器标识。

具体的,主控A发送时钟信号,在时钟信号的下降沿发送“帧头+主控ID号”,若控制器ABCD的ID号分别设置为0x1、0x2、0x3、0x4;帧头定义为0xAABB,其它控制器在接收到“帧头+主控ID号”之后,开始对时钟下降沿和下降沿计数。

在一个实施例中,步骤S3包括:

S31,在时钟信号的下降沿,主控制器或从控制器将需要同步的数据传输至DATA数据线;

S32,在时钟信号的上升沿,主控制器或从控制器从DATA数据线接收所述需要同步的数据。

在其中一个实施例中,步骤S31包括:

S311,在第1个时钟信号下降沿至第N个时钟信号下降沿,主控制器将需要同步的数据传输至DATA数据线,N为大于1的正整数;

S312,在第N+1个时钟信号线下降沿至第2N个时钟信号下降沿,第一从控制器将需要同步的数据传输至DATA数据线;

S313,在第2N+1个时钟信号线下降沿至第3N个时钟信号下降沿,第二从控制器将需要同步的数据传输至DATA数据线;

S314,以此类推,直至所有M个从控制器将需要同步的数据传输至DATA数据线,M为大于等于1的正整数。

在其中一个实施例中,步骤S32包括:

S321在第1个时钟信号上升沿至MN个时钟信号上升沿,主控制器或从控制器从DATA数据线接收所述需要同步的数据。

具体的,接续上述示例,此处M=3,N=10,则:

在第一个时钟下降沿到第十个时钟下降沿;控制器A将需要同步的数据放到DATA线;

在第十一个时钟下降沿到第二十个时钟下降沿;控制器B将需要同步的数据放到DATA线;

在第二十一个时钟下降沿到第三十个时钟下降沿;控制器C将需要同步的数据放到DATA线;

在第三十一个时钟下降沿到第四十个时钟下降沿;控制器D将需要同步的数据放到DATA线;

与此同时,各控制器在第一个到第四十个时钟上升沿接收控制器ABCD的数据。

在每个下降沿,控制器放到DATA线的数据量为1bit。在通信总线上传输的数据格式如下:

帧头+主控ID号+10bit A控数据+ 10bit B的数据+ 10bit C控数据+ 10bit D控数据

在一个实施例中,主控制器或从控制器在数据发送完成之后,将DATA数据线置为高阻态。

上述多控制器的通信方法中,通过特殊的ID号标识,以及特定的数据格式实现了主从控制器的通信。

应该理解的是,虽然图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种多控制器通信方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

主控制器发送同步时钟信号,并开始对时钟的下降沿和上升沿计数;

从控制器接收到所述同步时钟信号后开始对时钟的下降沿和上升沿计数;

主控制器、从控制器根据预设的规则,在下降沿或者上升沿进行数据的发送或接收。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

主控制器发送时钟信号,并在时钟信号的下降沿发送同步信号,所述同步信号包括帧头以及主控制器标识。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

在时钟信号的下降沿,主控制器或从控制器将需要同步的数据传输至DATA数据线;

在时钟信号的上升沿,主控制器或从控制器从DATA数据线接收所述需要同步的数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

在第1个时钟信号下降沿至第N个时钟信号下降沿,主控制器将需要同步的数据传输至DATA数据线,N为大于1的正整数;

在第N+1个时钟信号线下降沿至第2N个时钟信号下降沿,第一从控制器将需要同步的数据传输至DATA数据线;

在第2N+1个时钟信号线下降沿至第3N个时钟信号下降沿,第二从控制器将需要同步的数据传输至DATA数据线;

以此类推,直至所有M个从控制器将需要同步的数据传输至DATA数据线,M为大于等于1的正整数;

在时钟信号的上升沿,主控制器或从控制器从DATA数据线接收所述需要同步的数据,包括:

在第1个时钟信号上升沿至MN个时钟信号上升沿,主控制器或从控制器从DATA数据线接收所述需要同步的数据。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

主控制器或从控制器在数据发送完成之后,将DATA数据线置为高阻态。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

主控制器发送同步时钟信号,并开始对时钟的下降沿和上升沿计数;

从控制器接收到所述同步时钟信号后开始对时钟的下降沿和上升沿计数;

主控制器、从控制器根据预设的规则,在下降沿或者上升沿进行数据的发送或接收。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

主控制器发送时钟信号,并在时钟信号的下降沿发送同步信号,所述同步信号包括帧头以及主控制器标识。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

在时钟信号的下降沿,主控制器或从控制器将需要同步的数据传输至DATA数据线;

在时钟信号的上升沿,主控制器或从控制器从DATA数据线接收所述需要同步的数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

在第1个时钟信号下降沿至第N个时钟信号下降沿,主控制器将需要同步的数据传输至DATA数据线,N为大于1的正整数;

在第N+1个时钟信号线下降沿至第2N个时钟信号下降沿,第一从控制器将需要同步的数据传输至DATA数据线;

在第2N+1个时钟信号线下降沿至第3N个时钟信号下降沿,第二从控制器将需要同步的数据传输至DATA数据线;

以此类推,直至所有M个从控制器将需要同步的数据传输至DATA数据线,M为大于等于1的正整数;

在时钟信号的上升沿,主控制器或从控制器从DATA数据线接收所述需要同步的数据,包括:

在第1个时钟信号上升沿至MN个时钟信号上升沿,主控制器或从控制器从DATA数据线接收所述需要同步的数据。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

主控制器或从控制器在数据发送完成之后,将DATA数据线置为高阻态。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种服务器系统

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!