Mcu多源写操作控制方法、系统、终端及存储介质

文档序号:1816359 发布日期:2021-11-09 浏览:24次 >En<

阅读说明:本技术 Mcu多源写操作控制方法、系统、终端及存储介质 (MCU multi-source writing operation control method, system, terminal and storage medium ) 是由 杨宗耀 于 2021-06-25 设计创作,主要内容包括:本发明提供一种MCU多源写操作控制方法、系统、终端及存储介质,包括:模拟多个I2C总线从节点,多个I2C总线从节点分别与对应的I2C总线主节点通信连接;为每个I2C总线从节点均创建一个开关标志位,通过在开关标志位设定写标志授予对应的I2C总线从节点的写操作权限,所述写标志在完成写操作后被清除;设定授予I2C总线主节点的写操作权限规则为同时段内被设定有写标志的开关标志位数量为1;通过计数器统计各开关标志位被设定写标志的次数。本发明提供的方法使MCU可以承担多个控制器的访问,实现了MCU的功能复用,提高了存储系统的可用性。(The invention provides a control method, a system, a terminal and a storage medium for multi-source writing operation of an MCU (microprogrammed control Unit), comprising the following steps: simulating a plurality of I2C bus slave nodes, wherein the I2C bus slave nodes are respectively connected with the corresponding I2C bus master nodes in a communication mode; creating a switch flag bit for each I2C bus slave node, and granting the write operation authority to the corresponding I2C bus slave node by setting a write flag at the switch flag bit, wherein the write flag is cleared after the write operation is completed; setting a write operation authority rule granted to the I2C bus master node to be that the number of switch flag bits with write flags set in the same time period is 1; and counting the times of setting the writing marks of the mark bits of each switch by a counter. The method provided by the invention enables the MCU to undertake the access of a plurality of controllers, realizes the function multiplexing of the MCU and improves the usability of the storage system.)

MCU多源写操作控制方法、系统、终端及存储介质

技术领域

本发明涉及服务器技术领域,具体涉及一种MCU多源写操作控制方法、系统、终端及存储介质。

背景技术

MCU异构加速卡是指利用MCU的高速计算能力,对CPU所发送的源操作数进行加速计算,并将计算后的结果返回给CPU,从而实现高性能的计算能力,完成诸如视频编解码、深度学习、科学计算以及图形处理等对计算能力要求较高的功能。MCU的应用主要体现在如下几个方面,1.控制主板上电及下点时序,2.实现逻辑控制,3.模拟I2Cslave或是master端,实现通过I2C总线进行通信,同时可以设置寄存器,将搜集的控制器关键信号储存起来,可以通过I2C模块传输到上层,同时上层也可以通过MCU的I2C slave实现对MCU寄存器读写。

在一个存储系统中,BMC实现对整个系统的管理和监控,对于硬盘的管理则需要expender controller来实现,MCU同时需要向BMC及expender controller两个控制单元开放I2C slave模块以及相关的寄存器。可以对MCU进行读写操作,但这个过程中就会有一个问题,相同功能的寄存器同时开放给BMC和expender controller,BMC和expendercontroller同时对寄存器进行改写造成冲突,且改写的信息无法溯源。这就导致了存储系统的数据混乱和冲突,降低了存储系统的可用性。

发明内容

针对现有技术的上述不足,本发明提供一种MCU多源写操作控制方法、系统、终端及存储介质,以解决上述技术问题。

第一方面,本发明提供一种MCU多源写操作控制方法,包括:

模拟多个I2C总线从节点,多个I2C总线从节点分别与对应的I2C总线主节点通信连接;

为每个I2C总线从节点均创建一个开关标志位,通过在开关标志位设定写标志授予对应的I2C总线从节点的写操作权限,所述写标志在完成写操作后被清除;

设定授予I2C总线主节点的写操作权限规则为同时段内被设定有写标志的开关标志位数量为1;

通过计数器统计各开关标志位被设定写标志的次数。

进一步的,模拟多个I2C总线从节点,多个C总线从节点分别与对应的I2C总线主节点通信连接,包括:

根据I 2C总线主节点的数量模拟同等数量的I2C总线从节点;

建立I2C总线从节点与寄存器的连接链路。

进一步的,为每个I2C总线从节点均创建一个开关标志位,通过在开关标志位设定写标志授予对应的I2C总线从节点的写操作权限,所述写标志在完成写操作后被清除,包括:

设定每个I2C总线主节点对应的写标志值;

接收到I2C总线主节点发送的写操作权限请求后判断是否授予写操作权限:

若是,在相应的开关标志位写入相应的写标志值,并在所述I2C总线主节点完成写操作后清除相应的写标志值。

进一步的,设定授予I2C总线主节点的写操作权限规则为同时段内被设定有写标志的开关标志位数量为1,包括:

接收到I2C总线主节点发送的写操作权限请求后,判断当前是否存在已经设定写标志的开关标志位:

若是,则向I2C总线主节点返回等待提示;

若否,则通过向I2C总线主节点对应的开关标志位设定写标志,向所述I2C总线主节点授予写操作权限。

进一步的,通过计数器统计各开关标志位被设定写标志的次数,包括:

利用计数器记录各开关标志位的写标志设定次数和写标志值;

将记录的写标志设定次数和写标志值保存至日志文件。

第二方面,本发明提供一种MCU多源写操作控制系统,包括:

通信建立单元,用于模拟多个I2C总线从节点,多个I2C总线从节点分别与对应的I2C总线主节点通信连接;

开关创建单元,用于为每个I2C总线从节点均创建一个开关标志位,通过在开关标志位设定写标志授予对应的I2C总线从节点的写操作权限,所述写标志在完成写操作后被清除;

规则设定单元,用于设定授予I2C总线主节点的写操作权限规则为同时段内被设定有写标志的开关标志位数量为1;

开关计数单元,用于通过计数器统计各开关标志位被设定写标志的次数。

进一步的,所述开关创建单元包括:

标志设定模块,用于设定每个I2C总线主节点对应的写标志值;

权限判断模块,用于接收到I2C总线主节点发送的写操作权限请求后判断是否授予写操作权限;

标志处理模块,用于若授予I2C总线主节点写操作权限,在相应的开关标志位写入相应的写标志值,并在所述I2C总线主节点完成写操作后清除相应的写标志值。

进一步的,所述规则设定单元包括:

标志判断模块,用于接收到I2C总线主节点发送的写操作权限请求后,判断当前是否存在已经设定写标志的开关标志位;

提示返回模块,用于若存在已经设定写标志的开关标志位,则向I2C总线主节点返回等待提示;

权限授予模块,用于若不存在已经设定写标志的开关标志位,则通过向I2C总线主节点对应的开关标志位设定写标志,向所述I2C总线主节点授予写操作权限。

第三方面,提供一种终端,包括:

处理器、存储器,其中,

该存储器用于存储计算机程序,

该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。

本发明的有益效果在于,

本发明提供的MCU多源写操作控制方法,为多个I2C总线主节点模拟多个对应的I2C总线从节点,并建立I2C总线从节点与寄存器的连接链路实现多个控制器对MCU的访问,通过为每个I2C总线从节点均创建一个开关标志位实时标记各I2C总线主节点的写操作状态,通过结合开关标志位制定向I2C总线主节点授予写操作权限的规则,实现同时段只能有一个I2C总线主节点对MCU寄存器执行写操作,避免了多源写操作造成的冲突。同时通过计数器统计各开关标志位被设定写标志的次数,有助于了解各控制器的写操作情况。本发明提供的方法使MCU可以承担多个控制器的访问,实现了MCU的功能复用,提高了存储系统的可用性。

本实施例提供的MCU多源写操作控制系统,通信建立单元为多个I2C总线主节点模拟多个对应的I2C总线从节点,并建立I2C总线从节点与寄存器的连接链路实现多个控制器对MCU的访问,通过开关创建单元为每个I2C总线从节点均创建一个开关标志位实时标记各I2C总线主节点的写操作状态,通过规则设定单元结合开关标志位制定向I2C总线主节点授予写操作权限的规则,实现同时段只能有一个I2C总线主节点对MCU寄存器执行写操作,避免了多源写操作造成的冲突。同时开关计数单元通过计数器统计各开关标志位被设定写标志的次数,有助于了解各控制器的写操作情况。本发明提供的方法使MCU可以承担多个控制器的访问,实现了MCU的功能复用,提高了存储系统的可用性。

本发明提供的终端,包括MCU和多个控制器,MCU执行MCU多源写操作控制方法,为多个I2C总线主节点模拟多个对应的I2C总线从节点,并建立I2C总线从节点与寄存器的连接链路实现多个控制器对MCU的访问,通过为每个I2C总线从节点均创建一个开关标志位实时标记各I2C总线主节点的写操作状态,通过结合开关标志位制定向I2C总线主节点授予写操作权限的规则,实现同时段只能有一个I2C总线主节点对MCU寄存器执行写操作,避免了多源写操作造成的冲突。同时通过计数器统计各开关标志位被设定写标志的次数,有助于了解各控制器的写操作情况。本发明提供的方法使MCU可以承担多个控制器的访问,实现了MCU的功能复用,提高了存储系统的可用性。

本发明提供的存储介质,存储有执行MCU多源写操作控制方法的程序,为多个I2C总线主节点模拟多个对应的I2C总线从节点,并建立I2C总线从节点与寄存器的连接链路实现多个控制器对MCU的访问,通过为每个I2C总线从节点均创建一个开关标志位实时标记各I2C总线主节点的写操作状态,通过结合开关标志位制定向I2C总线主节点授予写操作权限的规则,实现同时段只能有一个I2C总线主节点对MCU寄存器执行写操作,避免了多源写操作造成的冲突。同时通过计数器统计各开关标志位被设定写标志的次数,有助于了解各控制器的写操作情况。本发明提供的方法使MCU可以承担多个控制器的访问,实现了MCU的功能复用,提高了存储系统的可用性。

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例的方法的示意性流程图。

图2是本发明一个实施例的方法的示意性原理图。

图3是本发明一个实施例的系统的示意性框图。

图4为本发明实施例提供的一种终端的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

下面对本发明中出现的关键术语进行解释。

BMC,执行伺服器远端管理控制器,英文全称为Baseboard ManagementController.为基板管理控制器。它可以在机器未开机的状态下,对机器进行固件升级、查看机器设备、等一些操作。

expender controller背板控制器。

I2C是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送。

寄存器,寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。按照功能的不同,可将寄存器分为基本寄存器和移位寄存器两大类。基本寄存器只能并行送入数据,也只能并行输出。移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,或串行输入、并行输出,十分灵活,用途也很广。

图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种MCU多源写操作控制系统。

如图1所示,该方法包括:

步骤110,模拟多个I2C总线从节点,多个I2C总线从节点分别与对应的I2C总线主节点通信连接;

步骤120,为每个I2C总线从节点均创建一个开关标志位,通过在开关标志位设定写标志授予对应的I2C总线从节点的写操作权限,所述写标志在完成写操作后被清除;

步骤130,设定授予I2C总线主节点的写操作权限规则为同时段内被设定有写标志的开关标志位数量为1;

步骤140,通过计数器统计各开关标志位被设定写标志的次数。

为了便于对本发明的理解,下面以本发明MCU多源写操作控制方法的原理,结合实施例中对MCU多源写操作进行控制的过程,对本发明提供的MCU多源写操作控制方法做进一步的描述。

具体的,请参考图2,所述MCU多源写操作控制方法包括:

S1、模拟多个I2C总线从节点,多个I2C总线从节点分别与对应的I2C总线主节点通信连接。

根据I2C总线主节点的数量模拟同等数量的I2C总线从节点;建立I2C总线从节点与寄存器的连接链路。

本实施例以三个控制器为例,三个控制器分别为BMC1、BMC2和EXP(背板控制器),模拟三个I2C总线从节点,分别为与BMC1对接的I2C Slave1,与BMC2对接的I2C Slave2和与EXP对接的I2C Slave3,三个I2C总线从节点均通过专用连接链路与寄存器通信连接,即三个I2C总线从节点均可通过各自的通信通道访问寄存器。

S2、为每个I2C总线从节点均创建一个开关标志位,通过在开关标志位设定写标志授予对应的I2C总线从节点的写操作权限,所述写标志在完成写操作后被清除。

设定每个I2C总线主节点对应的写标志值;接收到I2C总线主节点发送的写操作权限请求后判断是否授予写操作权限:若是,在相应的开关标志位写入相应的写标志值,并在所述I2C总线主节点完成写操作后清除相应的写标志值。

本实施例中设定BMC1的写标志值为1,BMC2的写标志值为2,EXP的写标志值为3,这三个开关标志位针对不同的控制单元会写入不同的数字,例如此标志位被写入1时,则认为是BMC1需求向MCU寄存器写入权限,则开启1链路通道,当标志位被写入2时,则认为是BMC2向MCU寄存器要求写入权限,则开启2链路通道,也可以通过标志位数字来区分都有哪些控制单元写过MCU寄存器。当一个控制器申请到写操作权限后,执行写操作,在写操作完成后将对应的开关标志位内的写标志清除。

S3、设定授予I2C总线主节点的写操作权限规则为同时段内被设定有写标志的开关标志位数量为1。

接收到I2C总线主节点发送的写操作权限请求后,判断当前是否存在已经设定写标志的开关标志位:若是,则向I2C总线主节点返回等待提示;若否,则通过向I2C总线主节点对应的开关标志位设定写标志,向所述I2C总线主节点授予写操作权限。

通过设定同时段内被设定有写标志的开关标志位数量为1,保证在同时段内仅有一个控制器能够向寄存器进行写操作,避免了多个控制器同时向寄存器进行写操作导致的冲突。

S4、通过计数器统计各开关标志位被设定写标志的次数。

利用计数器记录各开关标志位的写标志设定次数和写标志值;将记录的写标志设定次数和写标志值保存至日志文件。

在每个标志位后面设置计数器,可以记录某个控制模块向MCU寄存器写入的次数。并且要求控制单元写操作完成后需要对标志位进行清零,和计数器加1的动作,用这样操作管控不允许多个控制模块同时写入的情况,在同一时间只能由一个控制器下发指令对寄存器。

本实施例提供的MCU多源写操作控制方法,为多个I2C总线主节点模拟多个对应的I2C总线从节点,并建立I2C总线从节点与寄存器的连接链路实现多个控制器对MCU的访问,通过为每个I2C总线从节点均创建一个开关标志位实时标记各I2C总线主节点的写操作状态,通过结合开关标志位制定向I2C总线主节点授予写操作权限的规则,实现同时段只能有一个I2C总线主节点对MCU寄存器执行写操作,避免了多源写操作造成的冲突。同时通过计数器统计各开关标志位被设定写标志的次数,有助于了解各控制器的写操作情况。本实施例提供的方法使MCU可以承担多个控制器的访问,实现了MCU的功能复用,提高了存储系统的可用性。

如图3所示,该系统300包括:

通信建立单元310,用于模拟多个I2C总线从节点,多个I2C总线从节点分别与对应的I2C总线主节点通信连接;

开关创建单元320,用于为每个I2C总线从节点均创建一个开关标志位,通过在开关标志位设定写标志授予对应的I2C总线从节点的写操作权限,所述写标志在完成写操作后被清除;

规则设定单元330,用于设定授予I2C总线主节点的写操作权限规则为同时段内被设定有写标志的开关标志位数量为1;

开关计数单元340,用于通过计数器统计各开关标志位被设定写标志的次数。

可选地,作为本发明一个实施例,所述开关创建单元包括:

标志设定模块,用于设定每个I2C总线主节点对应的写标志值;

权限判断模块,用于接收到I2C总线主节点发送的写操作权限请求后判断是否授予写操作权限;

标志处理模块,用于若授予I2C总线主节点写操作权限,在相应的开关标志位写入相应的写标志值,并在所述I2C总线主节点完成写操作后清除相应的写标志值。

可选地,作为本发明一个实施例,所述规则设定单元包括:

标志判断模块,用于接收到I2C总线主节点发送的写操作权限请求后,判断当前是否存在已经设定写标志的开关标志位;

提示返回模块,用于若存在已经设定写标志的开关标志位,则向I2C总线主节点返回等待提示;

权限授予模块,用于若不存在已经设定写标志的开关标志位,则通过向I2C总线主节点对应的开关标志位设定写标志,向所述I2C总线主节点授予写操作权限。

图4为本发明实施例提供的一种终端400的结构示意图,该终端400可以用于执行本发明实施例提供的MCU多源写操作控制方法。

其中,该终端400可以包括:处理器410、存储器420及通信单元430。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

其中,该存储器420可以用于存储处理器410的执行指令,存储器420可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器420中的执行指令由处理器410执行时,使得终端400能够执行以下上述方法实施例中的部分或全部步骤。

处理器410为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器410可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。

通信单元430,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。

因此,本发明为多个I2C总线主节点模拟多个对应的I2C总线从节点,并建立I2C总线从节点与寄存器的连接链路实现多个控制器对MCU的访问,通过为每个I2C总线从节点均创建一个开关标志位实时标记各I2C总线主节点的写操作状态,通过结合开关标志位制定向I2C总线主节点授予写操作权限的规则,实现同时段只能有一个I2C总线主节点对MCU寄存器执行写操作,避免了多源写操作造成的冲突。同时通过计数器统计各开关标志位被设定写标志的次数,有助于了解各控制器的写操作情况。本发明提供的方法使MCU可以承担多个控制器的访问,实现了MCU的功能复用,提高了存储系统的可用性,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

13页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种计算机外接设备数据审计过滤的方法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!

技术分类