一种设备控制方法、装置、电子设备及存储介质
文献发布时间:2024-04-18 20:00:50
技术领域
本申请涉及电子技术领域,具体而言,涉及一种设备控制方法、装置、电子设备及存储介质。
背景技术
随着计算机领域的快速发展,主板上处理器的SPI(Serial PeripheralInterface,串行外设接口)总线根据不同需求,需要连接不同的SPI从设备。受限于主板的布局面积与成本,主板上往往只设计焊接连接必要的SPI从设备。至于其他扩展的SPI从设备,往往通过扩展板接入SPI总线,从而预留了SPI总线扩展从设备的能力。然而,在相关技术中,往往难以同时控制主板上板载的SPI从设备与扩展板上的SPI从设备,导致无法灵活地选择主板或扩展板上的SPI从设备接入SPI总线。
发明内容
本申请实施例的目的在于提供一种设备控制方法、装置、电子设备及存储介质,用以实现灵活地管理SPI从设备接入的技术效果。
本申请实施例第一方面提供了一种设备控制方法,所述方法用于控制SPI从设备接入SPI主设备;依次连接的所述SPI主设备、第一开关与第一SPI从设备搭载于主板;所述主板与扩展板连接;所述扩展板包括第一控制模块与第二SPI从设备;所述SPI主设备通过所述第一控制模块与所述第二SPI 从设备连接;所述方法应用于所述第一控制模块,包括:
根据控制策略生成第一控制信号与第二控制信号;
通过所述第一控制信号控制所述第一开关的通断,以控制所述SPI主设备向所述第一SPI从设备发送的第一片选信号的信号状态;所述第一片选信号用于将所述第一SPI从设备接入所述SPI主设备;所述信号状态包括通过状态与阻塞状态;
通过所述第二控制信号控制所述SPI主设备向所述第二SPI从设备发送的第二片选信号的信号状态;所述第二片选信号用于将所述第二SPI从设备接入所述SPI主设备。
本申请实施例第二方面提供了一种设备控制装置,所述装置用于控制SPI从设备接入SPI主设备;依次连接的所述SPI主设备、第一开关与第一SPI从设备搭载于主板;所述主板与扩展板连接;所述扩展板包括第一控制模块与第二SPI从设备;所述SPI主设备通过所述第一控制模块与所述第二SPI 从设备连接;所述装置应用于所述第一控制模块,包括:
生成组件,用于根据控制策略生成第一控制信号与第二控制信号;
第一控制组件,用于通过所述第一控制信号控制所述第一开关的通断,以控制所述SPI主设备向所述第一SPI从设备发送的第一片选信号的通断;所述第一片选信号用于将所述第一SPI从设备接入所述SPI主设备;
第二控制组件,用于通过所述第二控制信号控制SPI主设备向第二SPI从设备发送的第二片选信号的通断;所述第二片选信号用于将所述第二SPI从设备接入所述SPI主设备。
本申请实施例第三方面提供了一种电子设备,所述电子设备包括:
主板,包括依次连接的SPI主设备、第一开关与第一SPI从设备;
扩展板,与所述主板连接,包括第一控制模块与第二SPI从设备;其中,所述SPI主设备通过所述第一控制模块与所述第二SPI 从设备连接;
用于存储可执行指令的存储器;
其中,所述第一控制模块调用所述可执行指令时实现第一方面任一所述方法的操作。
本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现第一方面任一所述方法的步骤。
在上述实现过程中,第一控制模块根据控制策略生成第一控制信号与第二控制信号。随后第一控制模块可以通过第一控制信号来控制第一开关的通断,以控制第一片选信号是否输出至第一SPI从设备,最终得以控制第一SPI从设备是否接入SPI主设备。以及第一控制模块可以通过第二控制信号来控制第二片选信号是否输出至第二SPI从设备,最终得以控制第二SPI从设备是否接入SPI主设备。因此,第一控制模块具有同时对主板上SPI从设备与扩展板上SPI从设备接入SPI主设备的管控能力,因此可以灵活地切换主板或扩展板上的SPI从设备接入SPI主设备,从而实现了对SPI从设备的灵活管理。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种设备控制方法的应用系统;
图2为本申请实施例提供的主板与扩展板连接示意图;
图3为本申请实施例提供的一种设备控制方法的流程示意图;
图4为本申请实施例提供的一种设备控制方法的另一种应用系统;
图5为本申请实施例中各控制信号生成示意图;
图6为本申请实施例提供的一种设备控制方法的另一种应用系统;
图7为本申请实施例中各控制信号生成示意图;
图8为本申请实施例提供的一种设备控制方法的另一种应用系统;
图9中的(a)与(b)为本申请实施例中各控制信号生成示意图;
图10中的(a)与(b)为本申请实施例中各控制信号生成示意图;
图11为本申请实施例提供的一种设备控制方法的另一种应用系统;
图12为本申请实施例提供的一种设备控制装置的结构框图;
图13为本申请实施例提供的一种电子设备的硬件结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在相关技术中,通过扩展板来扩展SPI总线接入从设备的能力,只能简单地根据SPI的CS(Chip Select,片选)信号数量来接入同数量的SPI从设备。同时主板上板载的SPI从设备也都连接在SPI主设备上,无法灵活地选择主板或扩展板上的SPI从设备接入SPI总线。例如,若主板已板载TPM(Trusted Platform Module,可信平台模块)芯片,而当需要取消TPM芯片,改为接入TCM(Trusted Cryptography Module,可信密码模块)芯片时,由于TPM芯片与TCM芯片共用SPI总线的CS信号,导致无法分开这两种芯片。
为了实现灵活地管理SPI从设备接入,本申请提供了一种设备控制方法。所述方法用于控制SPI从设备接入SPI主设备,也即接入SPI总线。其中,SPI是一种主从类型协议,可以在主设备及从设备之间提供简单且低成本的接口。SPI主设备与SPI从设备为一对多的数量关系,也即一个SPI主设备可以连接一个或多个SPI从设备。
示例性地,SPI主设备与SPI从设备之间可以通过SPI总线连接,也可以通过eSPI等类似的总线连接。
图1示出了本申请的应用场景。如图1所示,主板110包括依次连接的SPI主设备111、第一开关112与第一SPI从设备113。
其中,所述连接例如可以是电性连接。所述电性连接,是指电性连接的两个设备通过电线或导线线路连接,形成通路,可用于数据与信息的传输。
SPI主设备111例如可以是但不仅限于CPU(Central Processing Unit,中央处理器)。SPI主设备111根据需求,可以读写相应的SPI从设备。
第一开关112连接在SPI主设备111与第一SPI从设备113之间,用于控制SPI主设备111向第一SPI从设备113所发送的信号,例如片选信号的通断。示例性地,第一开关112可以是硬件开关。
第一SPI从设备113搭载于主板110上,可知,第一SPI从设备113为上文所述的主板上板载的SPI从设备。第一SPI从设备113可以包括一个或多个。图1示出两个第一SPI从设备113仅作为示例,并不对第一SPI从设备113的数量构成限定。
示例性地,第一开关112的数量与第一SPI从设备113的数量匹配,例如数量一致。SPI主设备111通过各个第一开关112分别与对应的第一SPI从设备113连接。
继续参见图1,主板110与扩展板120连接。其中,如图2所示,主板110可以通过SPI扩展连接器130与扩展板120连接。SPI扩展连接器包括主板端连接器131与扩展板端连接器132。其中,主板端连接器131搭载在主板110中,扩展板端连接器132搭载在扩展板120中,主板端连接器131与扩展板端连接器132连接,从而实现了连接主板110与扩展板120。可选地,主板端连接器131与扩展板端连接器132具有防呆设计。
继续参见图1,扩展板120包括第一控制模块121与第二SPI从设备122。其中,主板110上的SPI主设备111通过第一控制模块121与第二SPI从设备122通信连接。
可选地,第一控制模块121可以是可编程模块,例如,包括但不限于CPLD(ComplexProgrammable logic device,复杂可编程逻辑器件)芯片、FPGA(Field ProgrammableGate Array,现场可编程门阵列)芯片、MOS(Metal-Oxide-Semiconductor,金属-氧化物-半导体场效应晶体)管等等。
示例性地,第一控制模块121还与主板110上的第一开关112连接,用于控制第一开关112的通断。
第二SPI从设备122搭载于扩展板120上,可知,第二SPI从设备122为上文所述的扩展板上的SPI从设备。第二SPI从设备122可以包括一个或多个。图1示出两个第二SPI从设备122仅作为示例,并不对第二SPI从设备122的数量构成限定。
本申请提供的一种设备控制方法,应用于如图1所示的第一控制模块121。如图3所示,该方法包括步骤310-步骤330。
步骤310:根据控制策略生成第一控制信号与第二控制信号;
步骤320:通过所述第一控制信号控制所述第一开关的通断,以控制所述SPI主设备向所述第一SPI从设备发送的第一片选信号的信号状态;
其中,所述第一片选信号用于将所述第一SPI从设备接入所述SPI主设备;所述信号状态包括通过状态与阻塞状态;
步骤330:通过所述第二控制信号控制所述SPI主设备向所述第二SPI从设备发送的第二片选信号的信号状态;
其中,所述第二片选信号用于将所述第二SPI从设备接入所述SPI主设备。
在本实施例中,首先,第一控制模块根据控制策略生成第一控制信号与第二控制信号。
其中,第一控制信号用于控制第一开关的通断。因此第一控制模块可以向第一开关发送第一控制信号。第一开关根据第一控制信号的指示进行连通或断开。同时,由于第一开关连接在SPI主设备与第一SPI从设备之间,因此第一开关的通断会影响SPI主设备向第一SPI从设备发送的第一片选信号的信号状态。而第一片选信号用于将第一SPI从设备接入SPI主设备。可知,当第一控制信号指示第一开关连通时,第一片选信号的信号状态为通过状态,也即第一开关允许第一片选信号通过。此时,SPI主设备向第一开关输入的第一片选信号为第一开关向第一SPI从设备输出的信号。第一片选信号输出至第一SPI从设备,因此第一SPI从设备可以接入SPI主设备。
反之,当第一控制信号指示第一开关断开时,第一片选信号的信号状态为阻塞状态,也即第一开关阻断了第一片选信号。此时,第一开关向第一SPI从设备输出的信号不等于第一片选信号。第一片选信号未输出至第一SPI从设备,因此第一SPI从设备无法接入SPI主设备。
由此可知,第一控制模块可以通过第一控制信号来控制第一开关的通断,以控制第一片选信号是否能通过第一开关,也即第一片选信号的信号状态,又或者说控制第一片选信号是否输出至第一SPI从设备,最终得以控制第一SPI从设备是否接入SPI主设备。换句话说,第一控制模块具有将主板上板载的SPI从设备接入SPI主设备的管控能力。
另一方面,由于SPI主设备通过第一控制模块与第二SPI 从设备连接,因此第一控制模块生成的第二控制信号可以用于控制SPI主设备向第二SPI从设备发送的第二片选信号的信号状态。当第二控制信号指示接入时,第二片选信号为通过状态,也即第一控制模块允许第二片选信号通过。此时,SPI主设备向第一控制模块输入的第二片选信号为第一控制模块向第二SPI从设备输出的信号。第二片选信号输出至第二SPI从设备,因此第二SPI从设备可以接入SPI主设备。
反之,当第二控制信号指示不接入时,第二片选信号为阻塞状态,也即第一控制模块阻断了第二片选信号。此时,第一控制模块向第二SPI从设备输出的信号不等于第二片选信号。第二片选信号未输出至第二SPI从设备,因此第二SPI从设备无法接入SPI主设备。
由此可知,第一控制模块除了生成两种控制信号以外,还充当了SPI主设备与第二SPI从设备之间的控制开关,控制了第二片选信号的状态,又或者说控制第二片选信号是否输出至第二SPI从设备,最终得以控制第二SPI从设备是否接入SPI主设备。换句话说,第一控制模块具有将扩展板上板载的SPI从设备接入SPI主设备的管控能力。
可选地,所述第一片选信号与所述第二片选信号可以是不同的片选信号,也可以是同一片选信号。
可知,本申请提供的一种设备控制方法,第一控制模块根据控制策略生成第一控制信号与第二控制信号。随后第一控制模块可以通过第一控制信号来控制第一开关的通断,以控制第一片选信号是否输出至第一SPI从设备,最终得以控制第一SPI从设备是否接入SPI主设备。以及第一控制模块可以通过第二控制信号来控制第二片选信号是否输出至第二SPI从设备,最终得以控制第二SPI从设备是否接入SPI主设备。因此,第一控制模块具有同时对主板上SPI从设备与扩展板上SPI从设备接入SPI主设备的管控能力,因此可以灵活地切换主板或扩展板上的SPI从设备接入SPI主设备,从而实现了对SPI从设备的灵活管理。
在图1-图3记载的实施例的基础上,如图4所示,扩展板120还包括与第一控制模块121连接的第二开关123。其中,第二开关123包括第一子开关1231与第二子开关1232。可知,第一子开关1231与第二子开关1232均与第一控制模块连接。
如此,上述步骤310中两种控制信号的生成过程包括步骤311-步骤312。
步骤311:根据第一子开关的第一开关信号生成第一控制信号;
步骤312:根据第二子开关的第二开关信号生成第二控制信号;
其中,所述第一子开关与所述第二子开关是根据所述控制策略配置的。
示例性地,开关信号可以包括高电平信号与低电平信号。第一开关信号为高电平信号或低电平信号、以及第二开关信号为高电平信号或低电平信号,由控制策略配置。
可选地,当第一开关信号为低电平信号时,对应生成的第一控制信号指示第一开关连通;当第一开关信号为高电平信号时,对应生成的第一控制信号指示第一开关断开。同理,当第二开关信号为低电平信号时,对应生成的第二控制信号指示接入,即指示第二SPI从设备接入SPI主设备;当第二开关信号为高电平信号时,对应生成的第二控制信号指示不接入,即指示第二SPI从设备不接入SPI主设备。
当然,也可以设定当第一开关信号为高电平信号时,第一控制信号指示第一开关连通;当第一开关信号为低电平信号时,第一控制信号指示第一开关断开。以及当第二开关信号为高电平信号时,第二控制信号指示接入;当第二开关信号为低电平信号时,第二控制信号指示不接入。本申请在此不做限制。
在本实施例中,第一子开关与第二子开关根据控制策略配置,而第一子开关的第一开关信号可用于生成第一控制信号,也即第一子开关可用于控制第一SPI从设备是否接入SPI主设备。第二子开关的第二开关信号可用于生成第二控制信号,也即第二子开关可用于控制第二SPI从设备是否接入SPI主设备。
第一控制模块与第一子开关以及第二子开关连接,因此可以获取到第一开关信号与第二开关信号,并根据两种开关信号分别生成对应的控制信号。可知,本实施例以硬件开关的方式实现了对主板上的SPI从设备以及扩展板上的SPI从设备的接入管控。通过硬件开关管控,可以在设备上电之前就根据控制策略配置好硬件开关,使得设备上电后可以立即接入所需的SPI从设备,提高接入效率。
在一些实施例中,所述第一子开关与所述第二子开关可以是拨码开关。所述拨码开关,也称拨动开关,是指通过拨动其执行机构(例如开关柄)来接通或断开电路。可知,拨码开关是通过机械结构改变其开关信号的。示例性地,拨码开关可以包括一个或多个开关,每个开关可以在两个固定位置之间切换。每个开关对应一个比特位,可以表示0或1。因此,每个比特位可记录对应开关的开关信号。例如,若比特位为0,则对应开关的开关信号为低电平信号;若比特位为1,则对应开关的开关信号为高电平。
如此,如图5所示,第一控制模块121可以包括第一寄存模块1211与第二寄存模块1212。
其中,第一寄存模块1211中有效比特位的数量、第一子开关1231中有效比特位的数量、以及第一控制信号的数量与第一SPI从设备113的数量匹配,例如一致。第二寄存模块1212中有效比特位的数量、第二子开关1232中有效比特位的数量、以及第二控制信号的数量与第二SPI从设备122的数量匹配,例如一致。
例如,如图5所示,若主板110上板载有N个第一SPI从设备113,那么第一控制信号的数量为N,每条第一控制信号对应一个第一开关112,每个第一开关112对应与一个第一SPI从设备113,每条第一控制信号用于控制对应的第一SPI从设备113的接入;以及第一寄存模块1211包括N个有效比特位,每个有效比特位对应一条第一控制信号;以及第一子开关1231包括N个有效比特位,每个有效比特位对应第一寄存模块1211中的一个有效比特位。
如图5所示,若扩展板120上板载有M个第二SPI从设备122,那么第二控制信号的数量为M,每条第二控制信号对应一个第二SPI从设备122,用于控制该第二SPI从设备122的接入;以及第二寄存模块1212包括M个有效比特位,每个有效比特位对应一条第二控制信号;以及第二子开关1232包括M个有效比特位,每个有效比特位对应第二寄存模块1212中的一个有效比特位。
其中,第一寄存模块1211中比特位的数量可以大于等于N,即第一SPI从设备的数量;第二寄存模块1212中比特位的数量可以大于等于M,即第二SPI从设备的数量。可选地,第一寄存模块1211与第二寄存模块1212可以是两个独立的寄存器,也可以是同一寄存器中划分出来的两个存储区域。
同理,第一子开关1231中比特位的数量可以大于等于N,第二子开关1232中比特位的数量可以大于等于M。
基于此,上述步骤311中根据第一开关信号生成第一控制信号,具体包括步骤3111-步骤3112。
步骤3111:根据所述第一子开关中每个有效比特位记录的第一开关信号,配置所述第一寄存模块中对应的有效比特位的第一状态。
如在上述例子中,第一子开关1231包括N个有效比特位,那么每个有效比特位记录一个第一开关信号,N个有效比特位共记录了N个第一开关信号。
同时,第一子开关中的有效比特位与第一寄存模块中的有效比特位一一对应。因此,针对第一子开关中的每个有效比特位,可以根据其记录的第一开关信号,对其在第一寄存模块中对应的有效比特位的第一状态进行配置。其中,第一状态包括0或1。
例如,若第一子开关中第0位比特位为1,代表了其记录的第一开关信号为高电平信号。而第一子开关中第0位比特位在第一寄存模块中对应于第0位有效比特位。如此,第一控制模块在读取第一子开关的第0比特位所记录的第一开关信号后,可以将第一寄存模块中第0位比特位配置为1。
又例如,若第一子开关中第1位比特位为0,代表了其记录的第一开关信号为低电平信号。而第一子开关中第1位比特位在第一寄存模块中对应于第1位有效比特位。如此,第一控制模块在读取第一子开关的第1比特位所记录的第一开关信号后,可以将第一寄存模块中第1位比特位配置为0。如此类推。可见,第一控制模块实际上是将第一子开关中每个有效比特位都逻辑对应到第一寄存模块中。
步骤3112:针对每个所述第一状态,生成对应的第一控制信号;
在完成第一寄存模块中每个有效比特位第一状态的配置后,可以针对每个第一状态生成对应的第一控制信号。
例如在上述例子中,第一控制模块读取第一寄存模块的第0位比特位为1,第1位比特位为0,则可以针对第0位比特位生成指示开关断开的第一控制信号,并将该第一控制信号发送至对应的第一开关。而针对第1位比特位则生成指示开关连通的第一控制信号,并将该第一控制信号发送至对应的第一开关。
此外,上述步骤312中根据第二开关信号生成第二控制信号,具体包括步骤3121-步骤3122。
步骤3121:根据所述第二子开关中每个有效比特位记录的第二开关信号,配置所述第二寄存模块中对应的有效比特位的第二状态。
如在上述例子中,第二子开关1232包括M个有效比特位,那么每个有效比特位记录一个第二开关信号,M个有效比特位共记录了M个第二开关信号。
同时,第二子开关中的有效比特位与第二寄存模块中的有效比特位一一对应。因此,针对第二子开关中的每个有效比特位,可以根据其记录的第二开关信号,对其在第二寄存模块中对应的有效比特位的第二状态进行配置。其中,第二状态包括0或1。
例如,若第二子开关中第0位比特位为1,代表了其记录的第二开关信号为高电平信号。而第二子开关中第0位比特位在第二寄存模块中对应于第0位有效比特位。如此,第一控制模块在读取第二子开关的第0比特位所记录的第二开关信号后,可以将第二寄存模块中第0位比特位配置为1。
又例如,若第二子开关中第1位比特位为0,代表了其记录的第二开关信号为低电平信号。而第二子开关中第1位比特位在第二寄存模块中对应于第1位有效比特位。如此,第一控制模块在读取第二子开关的第1比特位所记录的第二开关信号后,可以将第二寄存模块中第1位比特位配置为0。如此类推。可见,第一控制模块实际上是将第二子开关中每个有效比特位都逻辑对应到第二寄存模块中。
步骤3122:针对每个所述第二状态,生成对应的第二控制信号。
在完成第二寄存模块中每个有效比特位第二状态的配置后,可以针对每个第二状态生成对应的第二控制信号。
例如在上述例子中,第一控制模块读取第二寄存模块的第0位比特位为1,第1位比特位为0,则可以针对第0位比特位生成指示不接入的第二控制信号,并根据该第二控制信号控制第二片选信号的信号状态。而针对第1位比特位则生成指示接入的第二控制信号,并根据该第二控制信号控制第二片选信号的信号状态。
可知在本实施例中,通过第二开关输入控制策略,继而通过第一子开关与第二子开关中有效比特位分别记录的第一开关信号与第二开关信号来分别生成第一控制信号与第二控制信号。因此,可以通过控制第二开关来实现对主板上的SPI从设备以及扩展板上的SPI从设备的接入管控。
在图1-图3记载的实施例的基础上,如图6所示,主板110还包括第二控制模块114。其中,第二控制模块114与第一控制模块121连接。
如此,上述步骤310中两种控制信号的生成过程包括步骤313。
步骤313:获取控制指示,并根据所述控制指示生成所述第一控制信号与所述第二控制信号;
其中,所述控制指示是由所述第二控制模块根据所述控制策略生成的。
可选地,第二控制模块可以是BMC(Baseboard Management Controller,基板管理控制器),也即主板上的远程管理芯片。第二控制模块可以根据上层的控制策略生成控制指示并输出至第一控制模块,使得第一控制模块获取控制指示后,可以根据控制指示生成第一控制信号与第二控制信号。
可知,本实施例通过第二控制模块来指示第一控制模块生成两种控制信号,从而以软件控制的形式实现了对主板上的SPI从设备以及扩展板上的SPI从设备的接入管控。
在一些实施例中,如图7所示,第一控制模块可以包括第三寄存模块1213与第四寄存模块1214。
其中,第三寄存模块1213中有效比特位的数量、以及第一控制信号的数量与第一SPI从设备113的数量匹配,例如一致。第四寄存模块1214中有效比特位的数量、以及第二控制信号的数量与第二SPI从设备122的数量匹配,例如一致。
例如,如图7所示,若主板110上板载有N个第一SPI从设备113,那么第一控制信号的数量为N,每条第一控制信号对应一个第一开关112,每个第一开关112对应于一个第一SPI从设备113,每条第一控制信号用于控制对应的第一SPI从设备113的接入;以及第三寄存模块1213包括N个有效比特位,每个有效比特位对应一条第一控制信号。
如图7所示,若扩展板120上板载有M个第二SPI从设备122,那么第二控制信号的数量为M,每条第二控制信号对应一个第二SPI从设备122,用于控制该第二SPI从设备122的接入;以及第四寄存模块1214包括M个有效比特位,每个有效比特位对应一条第二控制信号。
其中,第三寄存模块1213中比特位的数量可以大于等于N;第四寄存模块1214中比特位的数量可以大于等于M。可选地,第三寄存模块1213与第四寄存模块1214可以是两个独立的寄存器,也可以是同一寄存器中划分出来的两个存储区域。
基于此,上述步骤313中根据控制指示生成第一控制信号与第二控制信号,具体包括步骤3131-步骤3133。
步骤3131:读取所述第三寄存模块中每个有效比特位的第三状态、以及所述第四寄存模块中每个有效比特位的第四状态。
其中,所述有效比特位的状态为所述控制指示。
如上文所述,第二控制模块根据上层的控制策略生成控制指示并输出至第一控制模块。具体地,第二控制模块根据所述控制策略,对第一控制模块的第三寄存模块中每个有效比特位的第三状态、以及对第四寄存模块中每个有效比特位的第四状态进行配置。可知,所述控制指示的具体形式为第三寄存模块中每个有效比特位的第三状态、以及第四寄存模块中每个有效比特位的第四状态。其中,第三状态包括0或1;第四状态包括0或1。
例如,根据上层的控制策略,第二控制模块可以直接对第三寄存模块中第0位比特位配置为1,对第1位比特位配置为0。
又例如,第二控制模块上层的控制策略,可以对第四寄存模块中第0位比特位配置为1,对第1位比特位配置为0。
第二控制模块在完成配置后,第一控制模块可以读取第三寄存模块中每个有效比特位的第三状态、以及第四寄存模块中每个有效比特位的第四状态。
步骤3132:针对每个所述第三状态,生成对应的第一控制信号。
第三寄存模块包括N个有效比特位,每位有效比特位对应一个第三状态。如此,针对每个第三状态,可以生成对应的第一控制信号。
例如,若第一控制模块读取了第三寄存模块中第0位比特位为1,第1位比特位为0,则可以针对第0位比特位生成指示开关断开的第一控制信号,并将该第一控制信号发送至对应的第一开关。而针对第1位比特位则生成指示开关连通的第一控制信号,并将该第一控制信号发送至对应的第一开关。
步骤3133:针对每个所述第四状态,生成对应的第二控制信号。
第四寄存模块包括M个有效比特位,每位有效比特位对应一个第四状态。如此,针对每个第四状态,可以生成对应的第二控制信号。
例如,若第一控制模块读取第四寄存模块的第0位比特位为1,第1位比特位为0,则可以针对第0位比特位生成指示不接入的第二控制信号,并根据该第二控制信号控制第二片选信号的信号状态。而针对第1位比特位则生成指示接入的第二控制信号,并根据该第二控制信号控制第二片选信号的信号状态。
可知在本实施例中,第二控制模块根据控制策略来配置第一控制模块的第三寄存模块与第四寄存模块,继而第一控制模块根据第三寄存模块与第四寄存模块中每个有效比特位的状态来生成对应的第一控制信号与第二控制信号,从而以软件控制的形式实现了对主板上的SPI从设备以及扩展板上的SPI从设备的接入管控。
在图1-图3记载的实施例的基础上,如图8所示,扩展板120还包括与第一控制模块121连接的第二开关123。其中,第二开关123包括第一子开关1231与第二子开关1232。主板110还包括第二控制模块114。其中,第二控制模块114与第一控制模块121连接。
如此,上述步骤310中两种控制信号的生成过程包括步骤314-步骤317。
步骤314:获取所述第一子开关的第一开关信号作为第一控制指示,所述第二子开关的第二开关信号作为第二控制指示。
其中,所述第一子开关与所述第二子开关是根据第一控制策略配置的。
在本实施例中,控制策略包括第一控制策略与第二控制策略。其中,第一子开关与第二子开关根据第一控制策略配置。配置后,第一控制模块可以获取第一子开关的第一开关信号作为第一控制指示,用于协助指示生成第一控制信号;以及第一控制模块可以获取第二子开关的第二开关信号作为第二控制指示,用于协助指示生成第二控制信号。
步骤315:获取由所述第二控制模块根据第二控制策略生成的第三控制指示与第四控制指示。
第二控制模块根据第二控制策略,可以生成第三控制指示与第四控制指示,并输出至第一控制模块,以使第一控制模块可以获取到第三控制指示与第四控制指示。其中,第三控制指示用于协助指示生成第一控制信号;第四控制指示用于协助指示生成第二控制信号。
步骤316:根据所述第一控制指示与所述第三控制指示,生成所述第一控制信号。
如上所述,第一控制指示与第三控制指示均用于协助指示生成第一控制信号。因此,第一控制模块可以根据第一控制指示与第三控制指示生成第一控制信号。
步骤317:根据所述第二控制指示与所述第四控制指示,生成所述第二控制信号。
如上所述,第二控制指示与第四控制指示均用于协助指示生成第二控制信号。因此,第一控制模块可以根据第三控制指示与第四控制指示生成第二控制信号。
可知在本实施例中,第一子开关与第二子开关根据第一控制策略进行配置,从而生成第一开关信号作为第一控制指示,生成第二开关信号作为第二控制指示。第二控制模块根据第二控制策略生成第三控制指示与第四控制指示。第一控制模块联合第一控制指示与第三控制指示生成第一控制信号,以控制第一SPI从设备接入SPI主设备;以及联合第二控制指示与第四控制指示生成第二控制信号,以控制第二SPI从设备接入SPI主设备。可知,本实施例联合了第一控制策略与第二控制策略共同控制主板上的SPI从设备与扩展板上的SPI从设备的接入。
可以理解的是,若第一子开关与第二子开关为拨码开关,那么需要通过机械结构(例如拨动开关柄)来改变开关信号。例如,若第一子开关的开关柄当前所处位置代表了第一开关信号为低电平信号,当需要将第一开关信号改为高电平信号时,需要将开关柄拨动至另一位置。
在设备运行中,当需要改变接入SPI主设备的SPI从设备时,若以拨动开关来改变开关信号的形式实现,将会带来极大的不便。为此,本实施例提出了联合硬件与软件的形式,共同实现SPI从设备的接入管控。所谓硬件形式,是指通过第一子开关与第二子开关这两个硬件开关来影响第一控制信号与第二控制信号的生成。所谓软件形式,是指第二控制模块通过纯软件的方式影响第一控制信号与第二控制信号的生成。当软件与硬件结合时,在设备运行中需要改变接入的SPI从设备时,可以通过软件方式进行控制,从而提高了操作便利度。
在一些实施例中,如图9中的(a)与(b)所示,第一控制模块包括4个寄存模块,分别为第一寄存模块1211、第二寄存模块1212、第三寄存模块1213以及第四寄存模块1214。
其中,如图9中的(a)所示,第一寄存模块1211中有效比特位的数量、第三寄存模块1213中有效比特位的数量、第一子开关1231中有效比特位的数量、以及第一控制信号的数量与第一SPI从设备113的数量匹配,例如一致。
如图9中的(b)所示,第二寄存模块1212中有效比特位的数量、第四寄存模块1214中有效比特位的数量、第二子开关1232中有效比特位的数量、以及第二控制信号的数量与第二SPI从设备122的数量匹配,例如一致。
可选地,上述4个寄存模块多个独立的寄存器,也可以是从同一个寄存器或多个寄存器中划分出来的4个存储区域。
基于此,上述步骤314中获取第一开关信号作为第一控制指示,以及获取第二开关信号作为第二控制指示,具体可以包括步骤3141-步骤3142。
步骤3141:根据所述第一子开关中每个有效比特位记录的第一开关信号,配置第一寄存模块中对应的有效比特位的第一状态。
如图9中的(a)所示,第一子开关1231包括N个有效比特位,那么每个有效比特位记录一个第一开关信号,N个有效比特位共记录了N个第一开关信号。同时,第一子开关中的有效比特位与第一寄存模块中的有效比特位一一对应。因此,针对第一子开关中的每个有效比特位,可以根据其记录的第一开关信号,对其在第一寄存模块中对应的有效比特位的第一状态进行配置。其中,第一状态包括0或1。
也即,所述获取第一开关信号作为第一控制指示,包括第一控制模块获取第一子开关的第一开关信号,第一开关信号为第一控制指示,并根据第一开关信号配置第一寄存模块。如此,第一控制指示便逻辑映射至第一寄存模块。
此外,第二控制模块根据第二控制策略,对第三寄存模块中每个有效比特位的第三状态进行写入配置,所述第三状态即为上述的第三控制指示。
步骤3142:根据所述第二子开关中每个有效比特位记录的第二开关信号,配置第二寄存模块中对应的有效比特位的第二状态。
如图9中的(b)所示,第二子开关1232包括M个有效比特位,那么每个有效比特位记录一个第二开关信号,M个有效比特位共记录了M个第二开关信号。
同时,第二子开关中的有效比特位与第二寄存模块中的有效比特位一一对应。因此,针对第二子开关中的每个有效比特位,可以根据其记录的第二开关信号,对其在第二寄存模块中对应的有效比特位的第二状态进行配置。其中,第二状态包括0或1。
也即,所述获取第二开关信号作为第二控制指示,包括第一控制模块获取第二子开关的第二开关信号,第二开关信号为第二控制指示,并根据第二开关信号配置第二寄存模块。如此,第二控制指示便逻辑映射至第二寄存模块。
此外,第二控制模块根据第二控制策略,对第四寄存模块中每个有效比特位的第四状态进行写入配置,所述第四状态即为上述的第四控制指示。
此外,上述步骤316中根据第一控制指示与第三控制指示,生成第一控制信号,具体可以包括步骤3161。
步骤3161:针对每个所述第一状态,读取第三寄存模块中对应的有效比特位的第三状态;并根据所述第一状态与所述第三状态生成对应的第一控制信号;所述第三状态为所述第三控制指示;
如图9中的(a)所示,针对第一寄存模块1211中的每位有效比特位,首先确定其在第三寄存模块1213中对应的有效比特位,并读取该有效比特位的第三状态。随后,根据第一状态与第三状态,生成对应的第一控制信号。得到的第一控制信号可以发送至对应的第一开关112,以控制对应的第一SPI从设备113的接入。
此外,上述步骤317中根据第二控制指示与第四控制指示,生成第二控制信号,具体可以包括步骤3171。
步骤3171:针对每个所述第二状态,读取第四寄存器中对应的有效比特位的第四状态,并根据所述第二状态与所述第四状态生成对应的第二控制信号;所述第四状态为所述第四控制指示。
如图9中的(b)所示,针对第二寄存模块1212中的每位有效比特位,首先确定其在第四寄存模块1214中对应的有效比特位,并读取该有效比特位的第四状态。随后,根据第二状态与第四状态,生成对应的第二控制信号。根据得到的第二控制信号可以控制对应的第二片选信号的信号状态,以控制对应的第二SPI从设备122的接入。
可选地,如图10中的(a)与(b)所示,第一控制模块可以包括6个寄存模块,分别为第一寄存模块1211、第二寄存模块1212、第三寄存模块1213、第四寄存模块1214、第五寄存模块1215、以及第六寄存模块1216。
其中,如图10中的(a)所示,第一寄存模块1211中有效比特位的数量、第三寄存模块1213中有效比特位的数量、第五寄存模块1215中有效比特位的数量、以及第一控制信号的数量与第一SPI从设备113的数量匹配,例如一致。
如图10中的(b)所示,第二寄存模块1212中有效比特位的数量、第四寄存模块1214中有效比特位的数量、第六寄存模块1216中有效比特位的数量、以及第二控制信号的数量与第二SPI从设备122的数量匹配,例如一致。
可选地,上述6个寄存模块多个独立的寄存器,也可以是从同一个寄存器或多个寄存器中划分出来的6个存储区域。
基于此,上述步骤3161中根据第一状态与第三状态生成对应的第一控制信号,具体可以通过以下过程实现:
如图10中的(a)所示,针对第一寄存模块1211中的每位有效比特位,首先确定其在第三寄存模块1213中对应的有效比特位。随后,对第一寄存模块1211与第三寄存模块1213按位进行与运算。也即每个第一状态与其对应的第三状态进行与运算,得到的运算结果可以记录在第五寄存模块1215对应的有效比特位中。其中,与运算的运算结果为0或1。
例如,若第一寄存模块1211中第0位比特位的第一状态为0,第三寄存模块1213中第0位比特位的第三状态为1,则其进行与运算后的运算结果为0,则在第五寄存模块1215中第0位比特位记录0。
随后,根据第五寄存模块1215中每个有效比特位的第五状态,生成对应的第一控制信号。例如,若第五状态为0,则生成指示开关连通的第一控制信号;若第五状态为1,则生成指示开关断开的第一控制信号。
同理,上述步骤3171中根据第二状态与第四状态生成对应的第二控制信号,具体可以通过以下过程实现:
如图10中的(b)所示,针对第二寄存模块1212中的每位有效比特位,首先确定其在第四寄存模块1214中对应的有效比特位。随后,对第二寄存模块1212与第四寄存模块1214按位进行与运算。也即每个第二状态与其对应的第四状态进行与运算,得到的运算结果可以记录在第六寄存模块1216对应的有效比特位中。其中,与运算的运算结果为0或1。
例如,若第二寄存模块1212中第1位比特位的第二状态为0,第四寄存模块1214中第1位比特位的第三状态为1,则其进行与运算后的运算结果为1,则在第六寄存模块1216中第1位比特位记录1。
随后,根据第六寄存模块1216中每个有效比特位的第六状态,生成对应的第二控制信号。例如,若第六状态为0,则生成指示接入的第二控制信号;若第六状态为1,则生成指示不接入的第二控制信号。
可见,本实施例联合了硬件与软件的形式,共同实现SPI从设备的接入管控。在设备运行中需要改变接入的SPI从设备时,可以通过软件方式进行控制,从而提高了操作便利度。
此外,为了更好地理解本申请的方案,将通过以下例子进行说明。
图11示出了一种设备控制方法的应用场景,以下先对图11中各个模块进行介绍。
如图11所示,主板包括以下模块:
1)SPI主设备,即图11示出的Master,通常为CPU。SPI主设备的SPI总线接口包括MISO(Master Input Slave Output)信号、MOSI(Master Output Slave Input)信号、CLK(时钟)信号、N个片选信号CS_Fx,x∈[0, N]。其中,图11示出了第一个片选信号CS_F1与第N个片选信号CS_FN作为例子。SPI主设备会根据其需求读写相应的SPI从设备。
2)第一SPI从设备,即图11示出的Slaver1到SlaverN,共包括N个。示例性地,Slaver1可以是TPM芯片。第一SPI从设备只有在其第一片选信号被SPI主设备选通有效后,才会被接入SPI主设备。
3)第一开关,即图11示出的CS逻辑开关1到CS逻辑开关N,共包括N个。第一开关用于控制SPI主设备发出的第一片选信号的信号状态,包括通过状态与阻塞状态。当第一片选信号为通过状态时,SPI主设备发出的第一片选信号可以输出至对应的第一SPI从设备;当第一片选信号为阻塞状态时,SPI主设备发出的第一片选信号无法输出至对应的第一SPI从设备。
4)第二控制模块,例如为图11示出的BMC,为主板上的远程管理芯片。如图11所示,第二控制模块通过I2C(Inter-Integrated Circuit,内部集成电路)接口与扩展板上的第一控制模块连接。
5)SPI扩展连接器,用于连接主板与扩展板,包括主板端连接器与扩展板端连接器。其中,主板端连接器搭载在主板中,扩展板端连接器搭载在扩展板中。主板端连接器与扩展板端连接器具有防呆设计。SPI扩展连接器包括的信号如下:
1. I2C信号,包括I2C_Data信号与I2C_Clk信号,用于第二控制模块与第一控制模块的通信。
2. CS_INx信号:图11示出了有CS_In1信号与CS_InN信号。从图11可知,第x个CS_INx信号来源于SPI主设备的第x个片选信号CS_Fx。
3. 第一控制信号:即Ctrlx信号,图11示出了Ctrl1信号与CtrlN信号作为例子。第一控制信号来源于第一控制模块,用于控制第一开关的通断。
4. SPI数据信号:包括MISO信号、MOSI信号与CLK信号,来源于SPI主设备。
5. Present在位信号:为扩展板插接到主板上的在位信号,该信号来源于第一控制模块,并输出至第二控制模块,用于告知第二控制模块扩展板在位。
6. Power电源信号:为扩展板的电源输入接口。主板电源通过电源信号通道,为扩展板提供系统AUX电源供应。
如图11所示,扩展板包括以下模块:
1)第一控制模块,例如为图11示出的CPLD,用于根据控制策略生成第一控制信号与第二控制信号。第一控制模块可生成第一控制信号并输出至第一开关,以及生成第二控制信号。
2)第二SPI从设备,即图11示出的Module(模块)1到ModuleM,共包括M个。示例性地,Module1可以是TCM芯片。其中,第二SPI从设备中的MISO信号、MOSI信号与CLK信号可以由扩展板引入。第二SPI从设备接收SPI主设备通过第一控制模块发送的片选信号CS_Fx。
可知,针对SPI主设备发出的片选信号CS_Fx,可作为第一片选信号输出至第一SPI从设备(Slaverx),也可作为第二片选信号输出至第二SPI从设备(Modulex)。
3)第二开关,包括第一子开关,即图11示出的拨码开关1(N位)、与第二子开关,即图11示出的拨码开关2(M位)。第二开关可根据第一控制策略进行配置。
其中,第一控制模块包括6个寄存模块(第一寄存模块到第六寄存模块,图11中未示出)。
其中,第一子开关(拨码开关1)中有效比特位的数量、第一寄存模块中有效比特位的数量、第三寄存模块中有效比特位的数量、第五寄存模块中有效比特位的数量、第一开关的数量、以及第一控制信号(Ctrlx信号)的数量均为N。
第二子开关(拨码开关2)中有效比特位的数量、第二寄存模块中有效比特位的数量、第四寄存模块中有效比特位的数量、第六寄存模块中有效比特位的数量、以及第二控制信号的数量均为M。
基于此,一种设备控制方法的执行过程如下:
步骤1:针对板载有所需第二SPI从设备(Module)的扩展板,将其第二开关中的第一子开关(拨码开关1)与第二子开关(拨码开关2)根据第一控制策略进行配置。
例如,若在主板已板载TPM芯片(Slaver1)情况下,需要增加TCM芯片(Module1)到系统中,则可以将第一子开关(拨码开关1)的第0位比特位配置为1,代表了其第一开关信号为高电平,即主板板载的TPM芯片不接入;以及将第二子开关(拨码开关2)的第0比特位配置为0,代表了其第二开关信号为低电平,即扩展板上的TCM芯片接入。
步骤2:在主板上电前,将扩展板插接在主板的SPI扩展连接器上。
步骤3:主板上电,并通过SPI扩展连接器为扩展板供电,扩展板运行。
步骤4:第一控制模块(CPLD)根据第一开关信号,配置第一寄存模块中每个有效比特位的第一状态,以及配置第二寄存模块中每个有效比特位的第二状态。
步骤5:第二控制模块(BMC)侦测到Present在位信号后,根据第二控制策略通过I2C接口配置第三寄存模块中每个有效比特位的第三状态、与第四寄存模块中每个有效比特位的第四状态。
步骤6:第一控制模块(CPLD)对第一寄存模块与第三寄存模块按位进行与运算后,根据运算结果配置第五寄存模块中每个有效比特位的第五状态,并生成对应的第一控制信号。
以及第一控制模块(CPLD)对第二寄存模块与第四寄存模块按位进行与运算后,根据运算结果配置第六寄存模块中每个有效比特位的第六状态,并生成对应的第二控制信号。
可知,通过硬件开关与软件两种途径,可配置第一控制信号与第二控制信号,以控制主板上的SPI设备(Slaver)与扩展板上的SPI设备(Module)接入SPI主设备(Master),从而实现SPI从设备的接入管理。
以下提供多个使用场景,但以下场景仅作为示例性的例子,并不对本申请的使用场景造成限制。
场景1:使用扩展板实现单BIOS(Basic Input Output System,基本输入输出系统)故障时,新的BIOS的快捷使用。
通常地,主板板载1个BIOS Flash(烧录了BIOS的闪存芯片)芯片,但由于BIOS升级频繁,容易导致BIOS Flash芯片损坏。此时,为了满足使用需求,需要通过扩展板接入新的BIOS Flash芯片。具体工作流程如下:
步骤1:将板载有新的BIOS Flash芯片的扩展板插接在主板的SPI扩展连接器上。其中,扩展板上的第一子开关(拨码开关1)的第0位比特位配置为0,即第0比特位记录的第一开关信号为低电平信号;扩展板上的第二子开关(拨码开关2)的第0比特位配置为1,即第0比特位记录的第二开关信号为高电平信号。
步骤2:主板上电,扩展板上电运行。
步骤3:第一控制模块(CPLD)获取到第一子开关(拨码开关1)的第一开关信号为低电平信号,则将第一寄存模块的第0位比特位的第一状态配置为0;以及获取到第二子开关(拨码开关2)的第二开关信号为高电平信号,则将第二寄存模块的第0位比特位的第二状态配置为1。
第一控制模块(CPLD)确定第一寄存模块中第0位比特位与第二寄存模块中第0位比特位为非冲突值后(即不是两个比特位均为0),根据第一寄存模块中第0位比特位记录的0生成指示开关连通的第一控制信号,并发送至对应的第一开关。使得第一开关向主板上的BIOS Flash芯片输出的CS_F1_Out信号等于SPI主设备向第一开关输入的第一片选信号(CS_F1信号),即将主板的BIOS Flash芯片接入SPI主设备。
以及根据第二寄存模块中第0位比特位记录的1生成指示不接入的第二控制信号,使得第一控制模块向扩展板上的BIOS Flash芯片输出的CS_E1信号为高电平,不等于第二片选信号(CS_F1信号),即不让扩展板上的BIOS Flash芯片接入SPI主设备。
步骤4:当需要将扩展板上的BIOS Flash芯片接入SPI主设备时,第二控制模块(BMC)侦测到扩展板的Present在位信号后,通过I2C接口配置第三寄存模块中第0位比特位的第三状态,使得第一寄存模块与第三寄存模块按位与运算的运算结果为1,以使第一控制模块(CPLD)生成指示开关断开的第一控制信号。此时,第一开关向主板上的BIOS Flash芯片输出的CS_F1_Out信号不等于第一片选信号(CS_F1信号),即将主板的BIOS Flash芯片不接入SPI主设备。
以及,第二控制模块(BMC)通过I2C接口配置第四寄存模块中第0位比特位的第四状态,使得第二寄存模块与第四寄存模块按位与运算的运算结果为0,以使第一控制模块(CPLD)生成指示接入的第二控制信号。此时,第一控制模块(CPLD)向扩展板上的BIOSFlash芯片输出的CS_E1信号等于第二片选信号(CS_F1信号),即让扩展板上的BIOS Flash芯片接入SPI主设备。
至此完成了扩展板上BIOS Flash芯片的快捷替换。
场景2:关闭主板板载的TPM芯片,通过拨码开关的方式增加TCM芯片到系统中。具体工作流程如下:
步骤1:针对板载有TCM芯片的扩展板,将扩展板上的第一子开关(拨码开关1)的第1位比特位配置为1,即第1比特位记录的第一开关信号为高电平信号;扩展板上的第二子开关(拨码开关2)的第1比特位配置为0,即第1比特位记录的第二开关信号为低电平信号。
2. 在主板上电前,将扩展板插接在主板的SPI扩展连接器上。
3. 主板上电,并通过SPI扩展连接器为扩展板供电,扩展板运行。
4. 第一控制模块(CPLD)获取到第一子开关(拨码开关1)的第一开关信号为高电平信号,则将第一寄存模块的第1位比特位的第一状态配置为1;以及获取到第二子开关(拨码开关2)的第二开关信号为低电平信号,则将第二寄存模块的第1位比特位的第二状态配置为0。
此时,第三寄存模块与第四寄存模块中每个有效比特位默认值为1。在第二控制模块(BMC)不修改第三寄存模块与第四寄存模块的情况下,第一寄存模块与第三寄存模块进行按位的与运算的运算结果为1,第二寄存模块与第四寄存模块进行按位的与运算的运算结果为0。
第一控制模块(CPLD)将第五寄存模块中第1比特位的第五状态配置为1,将第六寄存模块中第1比特位的第六状态配置为0。
第一控制模块(CPLD)在确定第五寄存模块中第1位比特位与第六寄存模块中第1位比特位为非冲突值后,根据第五寄存模块中第1位比特位记录的1生成指示开关断开的第一控制信号,并发送至对应的第一开关。使得第一开关向主板上的TPM芯片输出的CS_F1_Out信号为高电平,不等于第一片选信号(CS_F1信号)。即将主板的TPM芯片不接入SPI主设备。
以及根据第六寄存模块中第1位比特位记录的0生成指示接入的第二控制信号。此时,第一控制模块(CPLD)向扩展板上的TCM芯片输出的CS_E1信号等于第二片选信号(CS_F1信号),即让扩展板上的TCM芯片接入SPI主设备。
至此通过拨码开关的方式关闭主板板载的TPM芯片以及增加TCM芯片到系统。
场景3:关闭主板板载的TPM芯片,通过BMC软件配置的方式增加TCM芯片到系统中。具体工作流程如下:
步骤1:针对板载有TCM芯片的扩展板,将扩展板上的第一子开关(拨码开关1)的第1位比特位配置为1,即第1比特位记录的第一开关信号为高电平信号;扩展板上的第二子开关(拨码开关2)的第1比特位配置为1,即第1比特位记录的第二开关信号为高电平信号。
步骤2:当系统处于Aux供电时,第二控制模块(BMC)侦测到Present在位信号后,通过I2C接口对第三寄存模块中第1位比特位写入1,对第四寄存模块中第1比特位写入0。
步骤2:第一控制模块(CPLD)获取到第一子开关(拨码开关1)的第一开关信号为高电平信号,则将第一寄存模块的第1位比特位的第一状态配置为1;以及获取到第二子开关(拨码开关2)的第二开关信号为高电平信号,则将第二寄存模块的第1位比特位的第二状态配置为1。
步骤3:第一控制模块(CPLD)对第一寄存模块中第1位比特位、与第三寄存模块中第1位比特位进行与运算,得到运算结果为1,并将第五寄存模块中第1位比特位的第五状态配置为1。
第一控制模块(CPLD)对第二寄存模块中第1位比特位、与第四寄存模块中第1位比特位进行与运算,得到运算结果为0,并将第六寄存模块中第1位比特位的第六状态配置为0。
第一控制模块(CPLD)在确定第五寄存模块中第1位比特位与第六寄存模块中第1位比特位为非冲突值后,根据第五寄存模块中第1位比特位记录的1生成指示开关断开的第一控制信号,并发送至对应的第一开关。使得第一开关向主板上的TPM芯片输出的CS_F1_Out信号为高电平,不等于第一片选信号(CS_F1信号)。即将主板的TPM芯片不接入SPI主设备。
以及根据第六寄存模块中第1位比特位记录的0生成指示接入的第二控制信号。此时,第一控制模块(CPLD)向扩展板上的TCM芯片输出的CS_E1信号等于第二片选信号(CS_F1信号),即让扩展板上的TCM芯片接入SPI主设备。
至此通过BMC软件配置的方式关闭主板板载的TPM芯片以及增加TCM芯片到系统。
可知,本申请提供的一种设备控制方法,通过扩展板为SPI主设备接入多个SPI从设备,达到了SPI从设备快速扩展的目的。
此外,第一控制模块可以同时控制主板与扩展板上的多个SPI从设备接入,以便根据需求实现SPI从设备的接入动态管理。
以及,通过拨码开关与BMC软件配置两种方式来实现SPI从设备的动态接入,提高了SPI从设备接入管控的灵活性。
基于上述任意实施例,本申请还提供了一种设备控制装置。该装置用于控制SPI从设备接入SPI主设备。其中,依次连接的SPI主设备、第一开关与第一SPI从设备搭载于主板。主板与扩展板连接。扩展板包括第一控制模块与第二SPI从设备。SPI主设备通过第一控制模块与第二SPI 从设备连接。该装置应用于第一控制模块。如图12所示,该控制装置1200包括:
生成组件1210,用于根据控制策略生成第一控制信号与第二控制信号;
第一控制组件1220,用于通过所述第一控制信号控制所述第一开关的通断,以控制所述SPI主设备向所述第一SPI从设备发送的第一片选信号的通断;所述第一片选信号用于将所述第一SPI从设备接入所述SPI主设备;
第二控制组件1230,用于通过所述第二控制信号控制SPI主设备向第二SPI从设备发送的第二片选信号的通断;所述第二片选信号用于将所述第二SPI从设备接入所述SPI主设备。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
基于上述任意实施例所述的一种设备控制方法,本申请还提供了如图13所示的一种电子设备的结构示意图。如图13,在硬件层面,该电子设备包括主板、扩展板、内部总线与存储器。其中,存储器包括内存与非易失性存储。当然还可能包括其他业务所需要的硬件。其中,主板包括依次连接的SPI主设备、第一开关与第一SPI从设备。扩展板与主板连接,包括第一控制模块与第二SPI从设备;其中,SPI主设备通过第一控制模块与第二SPI 从设备连接。存储器用于存储可执行指令。其中,扩展板上的第一控制模块从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述任意实施例所述的一种设备控制方法。
本申请还提供了一种计算机存储介质,存储介质存储有计算机程序,计算机程序被处理器执行时可用于执行上述任意实施例所述的一种设备控制方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
- 基于运货无人机的传感器感知数据收集方法
- 基于移动汇聚节点的无线传感器网络能量感知与路径架构的数据收集方法