数据访问方法、交换机和存储介质与流程
未命名
07-19
阅读:81
评论:0
1.本技术涉及计算机技术领域,特别是涉及一种数据访问方法、交换机和存储介质。
背景技术:
2.众所周知,i2c(包括smbus、pmbus)总线是交换机系统中广泛使用的一种低速信号总线,交换机系统的基本硬件管理功能,包括温度监控、电压电流监控、风扇转速监控等,都需通过i2c总线实现;甚至于,系统可以通过i2c总线完成对psu输出电压的on/off控制,实现系统的整机掉电重启。
3.但是,对于交换机(尤其是白盒交换机)系统中的温度监控、电压电流监控、风扇转速控制、psu掉电重启等功能,有的客户需求由中央处理器实现,有的客户需求由基板管理控制器实现,因此,针对不同的需求,需要将i2c总线连接到不同的i2c主机(中央处理器或基板管理控制器),如果同一款交换机需满足不同客户需求,常规设计是通过使用i2c多主机仲裁芯片实现,这种既增加了系统设计成本,也增加了软件控制复杂度。
技术实现要素:
4.基于此,有必要针对上述技术问题,提供一种数据访问方法、交换机和存储介质,无需增加额外的硬件电路,可以动态切换系统中的主控制器,兼容不同客户的设计需求,减小系统设计成本。
5.一种数据访问方法,方法应用于交换机,交换机包括中央处理器、基板管理控制器、主控制器以及至少一个设备,中央处理器和基板管理控制器分别与主控制器连接,主控制器与至少一个设备连接,其中,上述方法包括:通过主控制器接收目标接口对应的接口状态;通过主控制器根据接口状态允许中央处理器或基板管理控制器访问至少一个设备。
6.在其中一个实施例中,通过主控制器接收目标接口对应的接口状态,包括:通过基板管理控制器控制通用输入输出接口对应的接口状态,通过主控制器接收基板管理控制器输出的通用输入输出接口对应的接口状态。
7.在其中一个实施例中,通过主控制器根据接口状态允许中央处理器或基板管理控制器访问至少一个设备,包括:通过主控制器判断接口状态为高电平状态或低电平状态,当通过主控制器判定接口状态为高电平状态时,通过主控制器允许基板管理控制器访问至少一个设备。
8.在其中一个实施例中,通过主控制器允许基板管理控制器访问至少一个设备,包括:通过基板管理控制器发送通道选择指令至主控制器,通过主控制器根据通道选择指令将基板管理控制器对应的目标接口通道与匹配的目标设备总线相连,当连接成功后,通过基板管理控制器访问目标设备总线对应的目标设备。
9.在其中一个实施例中,通过基板管理控制器发送通道选择指令至主控制器,包括:
通过基板管理控制器的多个接口通道使用对应的i2c接口,将对应的通道选择指令下发至主控制器。
10.在其中一个实施例中,通过主控制器根据通道选择指令将基板管理控制器对应的目标接口通道与匹配的目标设备总线相连,包括:通过主控制器根据各通道选择指令,将各i2c接口与匹配的目标设备总线相连。
11.在其中一个实施例中,上述方法还包括:当通过主控制器判定接口状态为低电平状态时,通过主控制器允许中央处理器访问至少一个设备。
12.在其中一个实施例中,通过主控制器允许中央处理器访问至少一个设备,包括:通过中央处理器发送控制指令至主控制器,通过主控制器根据控制指令选择目标控制模式,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备。
13.在其中一个实施例中,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备,包括:当目标控制模式为开关模式时,通过中央处理器发送通道选择指令至主控制器,通过主控制器根据通道选择指令确定对应的目标接口通道,通过主控制器将目标接口通道对应的通道接口与匹配的目标设备总线相连,当连接成功后,通过中央处理器访问目标设备总线对应的目标设备。
14.在其中一个实施例中,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备,包括:当目标控制模式为缓存模式时,通过中央处理器发送设备读取指令至主控制器,通过主控制器根据设备读取指令从缓存区中读取匹配的目标设备对应的寄存器信息,缓存区中包括各设备对应的寄存器信息,通过中央处理器根据寄存器信息访问目标设备。
15.在其中一个实施例中,当交换机未包括基板管理控制器时,方法还包括:通过主控制器接收通用输入输出接口对应的接口状态为低电平状态,通过主控制器根据低电平状态允许中央处理器访问至少一个设备。
16.在其中一个实施例中,通过主控制器根据低电平状态允许中央处理器访问至少一个设备,包括:通过中央处理器发送控制指令至主控制器,通过主控制器根据控制指令选择目标控制模式,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备。
17.在其中一个实施例中,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备,包括:当目标控制模式为开关模式时,通过中央处理器发送通道选择指令至主控制器,通过主控制器根据通道选择指令确定对应的目标接口通道,通过主控制器将目标接口通道对应的通道接口与匹配的目标设备总线相连,当连接成功后,通过中央处理器访问目标设备总线对应的目标设备。
18.在其中一个实施例中,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备,包括:当目标控制模式为缓存模式时,通过中央处理器发送设备读取指令至主控制器,通过主控制器根据设备读取指令从缓存区中读取匹配的目标设备对应的寄存器信息,缓存区中包括各设备对应的寄存器信息,通过中央处理器根据寄存器信息访问目标设备。
19.在其中一个实施例中,设备为i2c设备和/或兼容i2c协议的设备。
20.在其中一个实施例中,i2c设备为板卡eeprom、电压侦测芯片、温度侦测芯片、其他i2c设备单元中的至少一种。
21.在其中一个实施例中,主控制器为嵌入式控制器,中央处理器与嵌入式控制器连接,中央处理器包括smbus总线接口和第一通用输入输出接口,嵌入式控制器包括i2c总线接口和第二通用输入输出接口,其中,中央处理器的smbus总线接口与嵌入式控制器的i2c总线接口进行数据通信,中央处理器的第一通用输入输出接口与嵌入式控制器的第二通用输入输出接口进行数据通信。
22.在其中一个实施例中,基板管理控制器与嵌入式控制器连接,基板管理控制器包括多个i2c总线接口和第三通用输入输出接口,基板管理控制器的第三通用输入输出接口分别与第一通用输入输出接口、第二通用输入输出接口相连,基板管理控制器的各i2c总线接口与嵌入式控制器的第二通用输入输出接口连接。
23.在其中一个实施例中,上述方法还应用于服务器。
24.一种交换机,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:通过主控制器接收目标接口对应的接口状态;通过主控制器根据接口状态允许中央处理器或基板管理控制器访问至少一个设备。
25.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:通过主控制器接收目标接口对应的接口状态;通过主控制器根据接口状态允许中央处理器或基板管理控制器访问至少一个设备。
26.上述数据访问方法、交换机和存储介质,设计交换机包括中央处理器、基板管理控制器、主控制器以及至少一个设备,中央处理器和基板管理控制器分别与主控制器连接,主控制器与至少一个设备连接,无需增加额外的硬件电路,主控制器根据目标接口对应的接口状态,根据接口状态控制交换机由中央处理器或基板管理控制器访问下行的至少一个设备,根据需求动态切换交换机系统由中央处理器控制或基板管理控制器控制,可以使用同一款交换机能够兼容不同客户的设计需求,且无需增加额外的硬件,减少交换机系统设计成本。
附图说明
27.图1为一个实施例中数据访问方法的流程示意图;图2为一个实施例中交换机的结构示意图;图3为一个实施例中接口状态接收步骤的流程示意图;图4为一个实施例中访问步骤的流程示意图;图5为一个实施例中访问步骤的流程示意图;图6为一个实施例中交换机中基板管理控制器访问设备的结构示意图;图7为一个实施例中交换机中中央处理器访问设备的结构示意图;图8为一个实施例中交换机中中央处理器访问设备的结构示意图;图9为一个实施例中数据访问的原理示意图;图10为一个实施例中数据访问装置的结构框图;
图11为一个实施例中交换机的内部结构图。
具体实施方式
28.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
29.在一个实施例中,如图1所示,提供了一种数据访问方法,以该方法应用于交换机为例进行说明,其中,交换机包括中央处理器、基板管理控制器、主控制器以及至少一个设备,中央处理器和基板管理控制器分别与主控制器连接,主控制器与至少一个设备连接,该方法包括以下步骤:步骤102,通过主控制器接收目标接口对应的接口状态。
[0030] 其中,交换机如图2所示,图2示出一个实施例中交换机的结构示意图,交换机包括中央处理器cpu(central processing unit)、基板管理控制器bmc(baseboard management controller)、主控制器mcu((microcontroller unit,嵌入式控制器)以及至少一个设备,中央处理器cpu可以是任一具有i2c接口/smbus接口的soc(system on chip,称为系统级芯片)控制器,例如,intel broadwell d1527/d1627、飞腾ft2000/d2000等,中央处理器cpu主要用于交换机系统的管理控制功能。
[0031] 其中,基板管理控制器bmc可以是任一型号的基板管理控制器,例如aspeed ast2520。而主控制器mcu可以是任一嵌入式控制芯片,例如st公司stm32f103rbt6。
[0032]
其中,设备可以是i2c设备,i2c设备可以是板卡eeprom、电压侦测芯片、温度侦测芯片、其他i2c设备单元中的至少一种。
[0033]
其中,如图2所示,交换机的设计方法包括中央处理器、基板管理控制器、主控制器以及至少一个设备,中央处理器和基板管理控制器分别与主控制器连接,主控制器与至少一个设备连接。
[0034]
具体地,当交换机系统包括基板管理控制器时,由基板管理控制器控制目标接口的接口状态,即由基板管理控制器输出目标接口的接口状态,主控制器可以接收到目标接口对应的接口状态。其中,这里的接口状态包括低电平状态和高电平状态。
[0035]
步骤104,通过主控制器根据接口状态允许中央处理器或基板管理控制器访问至少一个设备。
[0036]
具体地,主控制器接收到目标接口对应的接口状态后,可以根据接口状态控制中央处理器或基板管理控制器访问下行的至少一个设备。具体可以是,当主控制器接收到的接口状态为低电平状态时,说明基板管理控制器并没有拉高目标接口的接口状态,输出的电压值为0v,因此,此时主控制器判断交换机系统由中央处理器控制,即中央处理器可以访问下行的至少一个设备。反之,当主控制器接收到的接口状态为高电平状态时,说明基板管理控制器拉高目标接口的接口状态,输出的电压值不是0v,因此,此时主控器判断交换机系统由基板管理控制器控制,即基板管理控制器可以访问下行的至少一个设备。
[0037]
上述数据访问方法中,设计交换机包括中央处理器、基板管理控制器、主控制器以及至少一个设备,中央处理器和基板管理控制器分别与主控制器连接,主控制器与至少一个设备连接,无需增加额外的硬件电路,主控制器根据目标接口对应的接口状态,根据接口
状态控制交换机由中央处理器或基板管理控制器访问下行的至少一个设备,根据需求动态切换交换机系统由中央处理器控制或基板管理控制器控制,可以使用同一款交换机能够兼容不同客户的设计需求,且无需增加额外的硬件,减少交换机系统设计成本。
[0038]
在一个实施例中,如图3所示,通过主控制器接收目标接口对应的接口状态,包括:步骤302,通过基板管理控制器控制通用输入输出接口对应的接口状态。
[0039]
步骤304,通过主控制器接收基板管理控制器输出的通用输入输出接口对应的接口状态。
[0040] 其中,基板管理控制器与主控制器相连,基板管理控制器包括i2c接口和通用输入输出接口(gpio接口,general-purpose input/output),用于输出i2c总线信号和通用输入输出接口信号,i2c总线信号用于与嵌入式控制器 i2c接口的数据通信,同时,通用输入输出接口信号(gpio接口信号)用于连接嵌入式控制器mcu的通用输入输出接口(gpio接口),实现中央处理器与基板管理控制器之间的i2c总线切换。因此,可以通过基板管理控制器控制输出通用输入输出接口(gpio接口)对应的接口状态,而与其相连的主控制器可以接收基板管理控制器输出的通用输入输出接口(gpio接口)对应的接口状态,包括低电平状态和高电平状态。
[0041]
在一个实施例中,如图4所示,通过主控制器根据接口状态允许中央处理器或基板管理控制器访问至少一个设备,包括:步骤402,通过主控制器判断接口状态为高电平状态或低电平状态。
[0042]
步骤404,当通过主控制器判定接口状态为高电平状态时,通过主控制器允许基板管理控制器访问至少一个设备。
[0043]
具体地,主控制器接收到基板管理控制器输出的通用输入输出接口对应的接口状态后,判断接收到的接口状态为高电平状态还是低电平状态,当接口状态为高电平状态时,说明基板管理控制器拉高通用输入输出接口的接口状态,输出的电压值不是0v,因此,此时主控器判断交换机系统由基板管理控制器控制,即基板管理控制器可以访问下行的至少一个设备。
[0044]
在一个实施例中,如图5所示,通过主控制器允许基板管理控制器访问至少一个设备,包括:步骤502,通过基板管理控制器发送通道选择指令至主控制器。
[0045]
步骤504,通过主控制器根据通道选择指令将基板管理控制器对应的目标接口通道与匹配的目标设备总线相连。
[0046]
步骤506,当连接成功后,通过基板管理控制器访问目标设备总线对应的目标设备。
[0047]
其中,当主控器允许基板管理控制器访问下行的至少一个设备后,基板管理控制器可以发送通道选择指令至主控制器,主控制器接收到通道选择指令后,对通道选择指令中的信息进行解析,确定目标接口通道,将基板管理控制器对应的目标接口通道与下行匹配的目标设备总线进行连接,当连接成功后,基板管理控制器可以直接访问目标设备总线对应的目标设备。
[0048]
在本实施例中,通过基板管理控制器发送通道选择指令至主控制器,包括:通过基板管理控制器的多个接口通道使用对应的i2c接口,将对应的通道选择指令下发至主控制
器。
[0049]
例如,如图6所示,图6示出一个实施例中交换机中基板管理控制器访问设备的结构示意图,图6的交换机中包括基板管理控制器bmc和中央处理器cpu,主控制器为嵌入式控制器mcu,嵌入式控制器mcu根据基板管理控制器bmc输出的通用输入输出接口(gpio接口)对应的接口状态为高电平状态,确定bcm访问下行的至少一个设备,例如,板卡eeprom、电压侦测芯片、温度侦测芯片和其他i2c设备。可以从图6中看出,基板管理控制器除了通用输入输出接口之外,还包括多个接口通道,每个接口通道对应有i2c接口,基板管理控制器的各接口通道可以通过对应的i2c接口,将对应的通道选择指令下发至嵌入式控制器中。
[0050]
在本实施例中,通过主控制器根据通道选择指令将基板管理控制器对应的目标接口通道与匹配的目标设备总线相连,包括:通过主控制器根据各通道选择指令,将各i2c接口与匹配的目标设备总线相连。
[0051]
例如,如图6所示,基板管理控制器的各接口通道通过对应的i2c接口将通道选择指令发送至嵌入式控制器中,嵌入式控制器接收到各通道选择指令后,根据各通道选择指令将基板管理控制器对应的各i2c接口与匹配的目标设备总线相连,当连接成功后,交换器由基板管理控制器控制,基板管理控制器可以通过各i2c接口直接访问对应的下行设备,例如,图6中的基板管理控制器bmc可以通过i2c1接口直接访问对应的板卡eeprom(下行设备),又例如图6中的基板管理控制器bmc可以通过i2c3接口直接访问对应的温度侦测芯片(下行设备)。
[0052]
在一个实施例中,上述方法还包括:当通过主控制器判定接口状态为低电平状态时,通过主控制器允许中央处理器访问至少一个设备。
[0053]
具体地,主控制器接收到基板管理控制器输出的通用输入输出接口对应的接口状态后,判断接收到的接口状态为高电平状态还是低电平状态,当接口状态为低电平状态时,说明基板管理控制器未拉高通用输入输出接口的接口状态,输出的电压值为0v,因此,此时交换机的主控制器判断交换机系统由中央处理器控制,即中央处理器可以访问下行的至少一个设备。
[0054]
本实施例中,通过主控制器允许中央处理器访问至少一个设备,包括:通过中央处理器发送控制指令至主控制器,通过主控制器根据控制指令选择目标控制模式,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备。
[0055]
具体地,在中央处理器发送控制指令至主控制器后,主控制器根据控制指令选择目标控制模式,不同的目标控制模式对应不同的访问方式,进一步地,主控制器根据目标控制模式控制中央处理器访问下行的至少一个设备。其中,目标控制模式包括开关模式和缓存模式,开关模式是主控制器控制对应的通道接口与匹配的目标设备总线相连,实现中央处理器访问对应的设备,而缓存模式是主控制器将下行的所有设备对应的寄存器信息缓存至缓存区,中央处理器可通过缓存区读取对应的寄存器信息,通过寄存器信息访问对应的目标设备。
[0056]
本实施例中,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备,包括:当目标控制模式为开关模式时,通过中央处理器发送通道选择指令至主控制器,通过主控制器根据通道选择指令确定对应的目标接口通道,通过主控制器将目标接口通道对应的通道接口与匹配的目标设备总线相连,当连接成功后,通过中央处理器访问目标设
备总线对应的目标设备。
[0057]
例如,如图7所示,图7示出一个实施例中交换机中中央处理器访问设备的结构示意图,图7的交换机中包括基板管理控制器bmc和中央处理器cpu,主控制器为嵌入式控制器mcu,嵌入式控制器根据基板管理控制器输出的通用输入输出接口的接口状态为低电平状态,确定中央处理器访问下行的至少一个设备,例如,板卡eeprom、电压侦测芯片、温度侦测芯片和其他i2c设备。可以从图7中看出,当目标控制模式为开关模式时,嵌入式控制器在中央处理器的i2c接口与下行的设备设置有开关,例如,中央处理器的i2接口分别与下行的板卡eeprom、电压侦测芯片、温度侦测芯片和其他i2c设备设置有对应的开关,中央处理器可以通过i2c接口发送通道选择指令至嵌入式控制器,嵌入式控制器对接收到的通道选择指令进行分析,得到目标接口通道,将目标接口通道对应的通道接口与匹配的目标设备总线进行连接,即将目标接口对应的开关进行闭合,当连接成功后,中央处理器可以通过目标设备总线访问对应的目标设备。例如,如图7所示,中央处理器发送通道选择指令至嵌入式控制器,嵌入式控制器将第三条通道的开关进行闭合,中央处理器可以通过闭合的通道访问下行的温度侦测芯片。
[0058]
本实施例中,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备,包括:当目标控制模式为缓存模式时,通过中央处理器发送设备读取指令至主控制器,通过主控制器根据设备读取指令从缓存区中读取匹配的目标设备对应的寄存器信息,缓存区中包括各设备对应的寄存器信息,通过中央处理器根据寄存器信息访问目标设备。
[0059]
例如,如图8所示,图8示出一个实施例中交换机中中央处理器访问设备的结构示意图,图8的交换机中包括基板管理控制器bmc和中央处理器cpu,主控制器为嵌入式控制器mcu,嵌入式控制器根据基板管理控制器输出的通用输入输出接口的接口状态为低电平状态,确定中央处理器访问下行的至少一个设备,例如,板卡eeprom、电压侦测芯片、温度侦测芯片和其他i2c设备。可以从图8中看出,当目标控制模式为缓存模式时,嵌入式控制器预先将下行的所有设备的寄存器信息存储至缓冲区,下行的设备例如板卡eeprom、电压侦测芯片、温度侦测芯片和其他i2c设备,中央处理器可以通过i2c接口发送设备读取指令至嵌入式控制器,嵌入式控制器接收到设备读取指令后,对设备读取指令携带的信息进行解析,从缓存区中读取匹配的目标设备对应的寄存器信息,中央处理器可以通过读取的寄存器信息访问对应的目标设备。
[0060]
在一个实施例中,当交换机未包括基板管理控制器时,方法还包括:通过主控制器接收通用输入输出接口对应的接口状态为低电平状态,通过主控制器根据低电平状态允许中央处理器访问至少一个设备。
[0061]
其中,交换机中的基板管理控制器可以根据实际需求、实际应用场景进行设置,交换机中可以不包括基板管理控制器,此时交换机由中央处理器进行控制,而通用输入输出接口对应的接口状态也由上拉电阻控制,因此,主控制器接收到的通用输入输出接口对应的接口状态为低电平状态,进一步地,主控制器根据低电平状态允许中央处理器访问下行的至少一个设备。
[0062]
本实施例中,通过主控制器根据低电平状态允许中央处理器访问至少一个设备,包括:通过中央处理器发送控制指令至主控制器,通过主控制器根据控制指令选择目标控制模式,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备。
[0063]
具体地,在中央处理器发送控制指令至主控制器后,主控制器根据控制指令选择目标控制模式,不同的目标控制模式对应不同的访问方式,进一步地,主控制器根据目标控制模式控制中央处理器访问下行的至少一个设备。其中,目标控制模式包括开关模式和缓存模式,开关模式是主控制器控制对应的通道接口与匹配的目标设备总线相连,实现中央处理器访问对应的设备,而缓存模式是主控制器将下行的所有设备对应的寄存器信息缓存至缓存区,中央处理器可通过缓存区读取对应的寄存器信息,通过寄存器信息访问对应的目标设备。
[0064]
本实施例中,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备,包括:当目标控制模式为开关模式时,通过中央处理器发送通道选择指令至主控制器,通过主控制器根据通道选择指令确定对应的目标接口通道,通过主控制器将目标接口通道对应的通道接口与匹配的目标设备总线相连,当连接成功后,通过中央处理器访问目标设备总线对应的目标设备。
[0065]
例如,如图7所示,图7示出一个实施例中交换机中中央处理器访问设备的结构示意图,图7的交换机中包括基板管理控制器bmc和中央处理器cpu,主控制器为嵌入式控制器mcu,嵌入式控制器根据基板管理控制器输出的通用输入输出接口的接口状态为低电平状态,确定中央处理器访问下行的至少一个设备,例如,板卡eeprom、电压侦测芯片、温度侦测芯片和其他i2c设备。可以从图7中看出,当目标控制模式为开关模式时,嵌入式控制器在中央处理器的i2c接口与下行的设备设置有开关,例如,中央处理器的i2c接口分别与下行的板卡eeprom、电压侦测芯片、温度侦测芯片和其他i2c设备设置有对应的开关,中央处理器可以通过i2c接口发送通道选择指令至嵌入式控制器,嵌入式控制器对接收到的通道选择指令进行分析,得到目标接口通道,将目标接口通道对应的通道接口与匹配的目标设备总线进行连接,即将目标接口对应的开关进行闭合,当连接成功后,中央处理器可以通过目标设备总线访问对应的目标设备。例如,如图7所示,中央处理器发送通道选择指令至嵌入式控制器,嵌入式控制器将第三条通道的开关进行闭合,中央处理器可以通过闭合的通道访问下行的温度侦测芯片。
[0066]
本实施例中,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备,包括:当目标控制模式为缓存模式时,通过中央处理器发送设备读取指令至主控制器,通过主控制器根据设备读取指令从缓存区中读取匹配的目标设备对应的寄存器信息,缓存区中包括各设备对应的寄存器信息,通过中央处理器根据寄存器信息访问目标设备。
[0067]
例如,如图8所示,图8示出一个实施例中交换机中中央处理器访问设备的结构示意图,图8的交换机中包括基板管理控制器bmc和中央处理器cpu,主控制器为嵌入式控制器mcu,嵌入式控制器根据基板管理控制器输出的通用输入输出接口的接口状态为低电平状态,确定中央处理器访问下行的至少一个设备,例如,板卡eeprom、电压侦测芯片、温度侦测芯片和其他i2c设备。可以从图8中看出,当目标控制模式为缓存模式时,嵌入式控制器预先将下行的所有设备的寄存器信息存储至缓冲区,下行的设备例如板卡eeprom、电压侦测芯片、温度侦测芯片和其他i2c设备,中央处理器可以通过i2c接口发送设备读取指令至嵌入式控制器,嵌入式控制器接收到设备读取指令后,对设备读取指令携带的信息进行解析,从缓存区中读取匹配的目标设备对应的寄存器信息,中央处理器可以通过读取的寄存器信息访问对应的目标设备。
[0068]
在一个实施例中,设备为i2c设备和/或兼容i2c协议的设备。
[0069] 其中,i2c,即inter-integrated circuit,是一种常用的串行通信协议。其中,设备可以是i2c设备和/或兼容i2c协议的设备,兼容i2c协议的设备可以包括使用smbus协议的设备或使用pmbus协议的设备。其中,smbus是一种2线总线,可用于需要对参数进行关键监控的应用,它最常见的应用是计算机主板和嵌入式系统。而pmbus是一种开放标准电源管理协议,用于带有电源控制和管理器件的电源的数字管理,具有支持电源管理要求的命令和结构,i2c和smbus和pmbus是兼容的,因此,设备可以包括使用smbus协议的设备或使用pmbus协议的设备。
[0070]
在一个实施例中,i2c设备为板卡eeprom、电压侦测芯片、温度侦测芯片、其他i2c设备单元中的至少一种。
[0071] 其中,板卡eeprom (electrically erasable programmable read only memory)是指带电可擦可编程只读存储器,是一种掉电后数据不丢失的存储芯片,其中 eeprom 可以在交换机上擦除已有信息,重新进行编程。
[0072]
在一个实施例中,主控制器为嵌入式控制器,中央处理器与嵌入式控制器连接,中央处理器包括smbus总线接口和第一通用输入输出接口,嵌入式控制器包括i2c总线接口和第二通用输入输出接口,其中,中央处理器的smbus总线接口与嵌入式控制器的i2c总线接口进行数据通信,中央处理器的第一通用输入输出接口与嵌入式控制器的第二通用输入输出接口进行数据通信。
[0073]
本实施例中,基板管理控制器与嵌入式控制器连接,基板管理控制器包括多个i2c总线接口和第三通用输入输出接口,基板管理控制器的第三通用输入输出接口分别与第一通用输入输出接口、第二通用输入输出接口相连,基板管理控制器的各i2c总线接口与嵌入式控制器的第二通用输入输出接口连接。
[0074]
其中,交换机包括中央处理器、基板管理控制器、主控制器以及至少一个设备,例如,可以如图2所示,包括中央处理器单元、基板管理控制器单元、嵌入式控制器单元、板卡eeprom、电压侦测芯片、温度侦测芯片、其他i2c设备单元。
[0075] 其中,中央处理器可以是任一具有smbus接口的soc控制器,例如intel broadwell d1527/d1627、飞腾ft2000/d2000等,主要用于交换机系统的管理控制功能, 中央处理器还包括第一通用输入输出接口,通过第一通用输入输出接口获取来自基板管理控制器的控制信号,通过smbus接口下发控制指令及i2c读写指令。
[0076] 其中,基板管理控制器可以是任一型号的基板管理控制器,例如aspeed ast2520,基板管理控制器通过第三通用输入输出接口控制信号实现i2c主控器切换,通过各i2c接口实现控制指令及读写指令下发。
[0077]
其中,嵌入式控制器可为任一嵌入式控制芯片,例如st公司stm32f103rbt6,其内部代码分为控制逻辑模块和i2c逻辑模块,控制逻辑模块用于根据通用输入输出接口对应的接口状态,实现i2c主控器切换,i2c逻辑模块用于根据主控器类型及控制指令,实现i2c总线控制。其中,嵌入式控制器包括i2c总线接口和第二通用输入输出接口。
[0078]
其中,板卡eeprom可为任一i2c接口eeprom存储芯片,主要用于存储交换机系统及板卡信息,包括但不限于交换机型号、厂商信息、序列号等。
[0079]
其中,电压侦测芯片包括但不限于具有i2c接口的dc/dc转换芯片、电压电流adc侦
测芯片,主要用于实时侦测交换机板卡各电源域电压幅值,而温度侦测芯片可为任一型号温度侦测芯片,例如申矽凌ct7432/ct7112,主要用于实时侦测交换机内部温度值。另外,其他i2c设备单元指交换机内部其他具有i2c接口(包括smbus接口及pmbus接口)的器件/部件,包括但不限于cpld芯片、rtc芯片、psu模组等。
[0080]
在一个实施例中,上述方法还可以应用于服务器。
[0081]
也就是说,上述方法除了应用在交换机上,还可以应用于服务器中。
[0082]
在一个具体交换机应用场景的实施例中,如图9所示,图9示出一个实施例中数据访问的原理示意图中,包括以下步骤:(1)、交换机系统启动,进入步骤(2);(2)、若系统不存在bmc,进入步骤(3),否则,进入步骤(10);(3)、cpu与bmc接收到gpio状态为低,mcu根据gpio状态为低,判断系统中i2c主控器为cpu,进入步骤(4);(4)、cpu通过smbus总线向mcu i2c接口下发控制指令,选择cpu端i2c总线控制模式,进入步骤(5);(5)、若cpu下发的控制指令选择的控制默认为开关模式,进入步骤(6);若选择的控制模式为缓存模式,进入步骤(8);(6)、cpu通过smbus总线向mcu i2c接口下发通道选择指令,mcu根据cpu选通的通道,将上行smbus总线与所选择的下行i2c设备总线相连,cpu可直接访问该i2c设备的寄存器信息,进入步骤(7);(7)、是否继续访问,若继续访问,返回步骤(4);否则,进入步骤(16);(8)、cpu通过smbus接口下发设备读取指令,mcu将对应设备i2c寄存器信息读取到缓冲区,进入步骤(9);(9)、cpu从mcu缓冲区读取相应设备i2c寄存器信息,返回步骤(7);(10)、bmc控制gpio信号状态,若bmc输出gpio为低,进入步骤(3);若bmc控制其输出gpio为高,进入步骤(11);(11)、cpu与bmc接收到gpio状态为高,mcu根据gpio状态为高,判断系统中i2c主控器为bmc,进入步骤(12);(12)、bmc各个通道通过i2c接口,将通道选择指令下发给mcu,进入步骤(13);(13)、mcu根据bmc的各i2c接口的通道选择指令,将bmc i2c接口与对应的下行i2c设备总线相连,进入步骤(14);(14)、bmc各i2c接口直接访问下行i2c设备信息,进入步骤(15);(15)、是否继续访问,若继续访问,返回步骤(10);否则,进入步骤(16);(16)结束。
[0083]
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替
地执行。
[0084]
在一个实施例中,如图10所示,提供了一种数据访问装置1000,该装置应用于交换机,交换机包括中央处理器、基板管理控制器、主控制器以及至少一个设备,中央处理器和基板管理控制器分别与主控制器连接,主控制器与至少一个设备连接,其中,该装置包括:接收模块1002和控制模块1004,其中:接收模块1002,用于通过主控制器接收目标接口对应的接口状态。
[0085]
控制模块1004,用于通过主控制器根据接口状态允许中央处理器或基板管理控制器访问至少一个设备。
[0086]
在一个实施例中,接收模块1002通过基板管理控制器控制通用输入输出接口对应的接口状态,通过主控制器接收基板管理控制器输出的通用输入输出接口对应的接口状态。
[0087]
在一个实施例中,控制模块1004通过主控制器判断接口状态为高电平状态或低电平状态,当通过主控制器判定接口状态为高电平状态时,通过主控制器允许基板管理控制器访问至少一个设备。
[0088]
在一个实施例中,控制模块1004通过基板管理控制器发送通道选择指令至主控制器,通过主控制器根据通道选择指令将基板管理控制器对应的目标接口通道与匹配的目标设备总线相连,当连接成功后,通过基板管理控制器访问目标设备总线对应的目标设备。
[0089]
在一个实施例中,控制模块1004通过基板管理控制器的多个接口通道使用对应的i2c接口,将对应的通道选择指令下发至主控制器。
[0090]
在一个实施例中,控制模块1004通过主控制器根据各通道选择指令,将各i2c接口与匹配的目标设备总线相连。
[0091]
在一个实施例中,控制模块1004当通过主控制器判定接口状态为低电平状态时,通过主控制器允许中央处理器访问至少一个设备。
[0092]
在一个实施例中,控制模块1004通过中央处理器发送控制指令至主控制器,通过主控制器根据控制指令选择目标控制模式,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备。
[0093]
在一个实施例中,控制模块1004当目标控制模式为开关模式时,通过中央处理器发送通道选择指令至主控制器,通过主控制器根据通道选择指令确定对应的目标接口通道,通过主控制器将目标接口通道对应的通道接口与匹配的目标设备总线相连,当连接成功后,通过中央处理器访问目标设备总线对应的目标设备。
[0094]
在一个实施例中,控制模块1004当目标控制模式为缓存模式时,通过中央处理器发送设备读取指令至主控制器,通过主控制器根据设备读取指令从缓存区中读取匹配的目标设备对应的寄存器信息,缓存区中包括各设备对应的寄存器信息,通过中央处理器根据寄存器信息访问目标设备。
[0095]
在一个实施例中,当交换机未包括基板管理控制器时,数据访问装置1000通过主控制器接收通用输入输出接口对应的接口状态为低电平状态,通过主控制器根据低电平状态允许中央处理器访问至少一个设备。
[0096]
在一个实施例中,当交换机未包括基板管理控制器时,数据访问装置1000通过中央处理器发送控制指令至主控制器,通过主控制器根据控制指令选择目标控制模式,通过
主控制器根据目标控制模式允许中央处理器访问至少一个设备。
[0097]
在一个实施例中,当交换机未包括基板管理控制器时,数据访问装置1000当目标控制模式为开关模式时,通过中央处理器发送通道选择指令至主控制器,通过主控制器根据通道选择指令确定对应的目标接口通道,通过主控制器将目标接口通道对应的通道接口与匹配的目标设备总线相连,当连接成功后,通过中央处理器访问目标设备总线对应的目标设备。
[0098]
在一个实施例中,当交换机未包括基板管理控制器时,数据访问装置1000当目标控制模式为缓存模式时,通过中央处理器发送设备读取指令至主控制器,通过主控制器根据设备读取指令从缓存区中读取匹配的目标设备对应的寄存器信息,缓存区中包括各设备对应的寄存器信息,通过中央处理器根据寄存器信息访问目标设备。
[0099]
在一个实施例中,设备为板卡eeprom、电压侦测芯片、温度侦测芯片、其他i2c设备单元中的至少一种。
[0100]
在一个实施例中,主控制器为嵌入式控制器,中央处理器与嵌入式控制器连接,中央处理器包括smbus总线接口和第一通用输入输出接口,嵌入式控制器包括i2c总线接口和第二通用输入输出接口,其中,中央处理器的smbus总线接口与嵌入式控制器的i2c总线接口进行数据通信,中央处理器的第一通用输入输出接口与嵌入式控制器的第二通用输入输出接口进行数据通信。
[0101]
在一个实施例中,基板管理控制器与嵌入式控制器连接,基板管理控制器包括多个i2c总线接口和第三通用输入输出接口,基板管理控制器的第三通用输入输出接口分别与第一通用输入输出接口、第二通用输入输出接口相连,基板管理控制器的各i2c总线接口与嵌入式控制器的第二通用输入输出接口连接。
[0102]
在一个实施例中,数据访问装置1000还可应用于服务器。
[0103]
关于数据访问装置的具体限定可以参见上文中对于数据访问方法的限定,在此不再赘述。上述数据访问装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于交换机中的处理器中,也可以以软件形式存储于交换机中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0104]
在一个实施例中,提供了一种交换机,该交换机可以是服务器,其内部结构图可以如图11所示。该交换机包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该交换机的处理器用于提供计算和控制能力。该交换机的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该交换机的数据库用于存储接口状态。该交换机的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据访问方法。
[0105]
本领域技术人员可以理解,图11中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的交换机的限定,具体的交换机可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0106]
在一个实施例中,提供了一种交换机,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:通过主控制器接收目标接口对应的接口状态,通过主控制器根据接口状态允许中央处理器或基板管理控制
器访问至少一个设备。
[0107]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过基板管理控制器控制通用输入输出接口对应的接口状态,通过主控制器接收基板管理控制器输出的通用输入输出接口对应的接口状态。
[0108]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过主控制器判断接口状态为高电平状态或低电平状态,当通过主控制器判定接口状态为高电平状态时,通过主控制器允许基板管理控制器访问至少一个设备。
[0109]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过基板管理控制器发送通道选择指令至主控制器,通过主控制器根据通道选择指令将基板管理控制器对应的目标接口通道与匹配的目标设备总线相连,当连接成功后,通过基板管理控制器访问目标设备总线对应的目标设备。
[0110]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过基板管理控制器的多个接口通道使用对应的i2c接口,将对应的通道选择指令下发至主控制器。
[0111]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过主控制器根据各通道选择指令,将各i2c接口与匹配的目标设备总线相连。
[0112]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当通过主控制器判定接口状态为低电平状态时,通过主控制器允许中央处理器访问至少一个设备。
[0113]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过中央处理器发送控制指令至主控制器,通过主控制器根据控制指令选择目标控制模式,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备。
[0114]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当目标控制模式为开关模式时,通过中央处理器发送通道选择指令至主控制器,通过主控制器根据通道选择指令确定对应的目标接口通道,通过主控制器将目标接口通道对应的通道接口与匹配的目标设备总线相连,当连接成功后,通过中央处理器访问目标设备总线对应的目标设备。
[0115]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当目标控制模式为缓存模式时,通过中央处理器发送设备读取指令至主控制器,通过主控制器根据设备读取指令从缓存区中读取匹配的目标设备对应的寄存器信息,缓存区中包括各设备对应的寄存器信息,通过中央处理器根据寄存器信息访问目标设备。
[0116]
在一个实施例中,当交换机未包括基板管理控制器时,处理器执行计算机程序时还实现以下步骤:通过主控制器接收通用输入输出接口对应的接口状态为低电平状态,通过主控制器根据低电平状态允许中央处理器访问至少一个设备。
[0117]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过中央处理器发送控制指令至主控制器,通过主控制器根据控制指令选择目标控制模式,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备。
[0118]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当目标控制模式为开关模式时,通过中央处理器发送通道选择指令至主控制器,通过主控制器根据通道选择指令确定对应的目标接口通道,通过主控制器将目标接口通道对应的通道接口与匹配的目标设备总线相连,当连接成功后,通过中央处理器访问目标设备总线对应的目标设备。
[0119]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当目标控制模式为
缓存模式时,通过中央处理器发送设备读取指令至主控制器,通过主控制器根据设备读取指令从缓存区中读取匹配的目标设备对应的寄存器信息,缓存区中包括各设备对应的寄存器信息,通过中央处理器根据寄存器信息访问目标设备。
[0120]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:通过主控制器接收目标接口对应的接口状态,通过主控制器根据接口状态允许中央处理器或基板管理控制器访问至少一个设备。
[0121]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过基板管理控制器控制通用输入输出接口对应的接口状态,通过主控制器接收基板管理控制器输出的通用输入输出接口对应的接口状态。
[0122]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过主控制器判断接口状态为高电平状态或低电平状态,当通过主控制器判定接口状态为高电平状态时,通过主控制器允许基板管理控制器访问至少一个设备。
[0123]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过基板管理控制器发送通道选择指令至主控制器,通过主控制器根据通道选择指令将基板管理控制器对应的目标接口通道与匹配的目标设备总线相连,当连接成功后,通过基板管理控制器访问目标设备总线对应的目标设备。
[0124]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过基板管理控制器的多个接口通道使用对应的i2c接口,将对应的通道选择指令下发至主控制器。
[0125]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过主控制器根据各通道选择指令,将各i2c接口与匹配的目标设备总线相连。
[0126]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当通过主控制器判定接口状态为低电平状态时,通过主控制器允许中央处理器访问至少一个设备。
[0127]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过中央处理器发送控制指令至主控制器,通过主控制器根据控制指令选择目标控制模式,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备。
[0128]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当目标控制模式为开关模式时,通过中央处理器发送通道选择指令至主控制器,通过主控制器根据通道选择指令确定对应的目标接口通道,通过主控制器将目标接口通道对应的通道接口与匹配的目标设备总线相连,当连接成功后,通过中央处理器访问目标设备总线对应的目标设备。
[0129]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当目标控制模式为缓存模式时,通过中央处理器发送设备读取指令至主控制器,通过主控制器根据设备读取指令从缓存区中读取匹配的目标设备对应的寄存器信息,缓存区中包括各设备对应的寄存器信息,通过中央处理器根据寄存器信息访问目标设备。
[0130]
在一个实施例中,当交换机未包括基板管理控制器时,处理器执行计算机程序时还实现以下步骤:通过主控制器接收通用输入输出接口对应的接口状态为低电平状态,通过主控制器根据低电平状态允许中央处理器访问至少一个设备。
[0131]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过中央处理器发送控制指令至主控制器,通过主控制器根据控制指令选择目标控制模式,通过主控制器根据目标控制模式允许中央处理器访问至少一个设备。
[0132]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当目标控制模式为开关模式时,通过中央处理器发送通道选择指令至主控制器,通过主控制器根据通道选择指令确定对应的目标接口通道,通过主控制器将目标接口通道对应的通道接口与匹配的目标设备总线相连,当连接成功后,通过中央处理器访问目标设备总线对应的目标设备。
[0133]
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当目标控制模式为缓存模式时,通过中央处理器发送设备读取指令至主控制器,通过主控制器根据设备读取指令从缓存区中读取匹配的目标设备对应的寄存器信息,缓存区中包括各设备对应的寄存器信息,通过中央处理器根据寄存器信息访问目标设备。
[0134] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
[0135]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0136]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
技术特征:
1.一种数据访问方法,所述方法应用于交换机,所述交换机包括中央处理器、基板管理控制器、主控制器以及至少一个设备,所述中央处理器和所述基板管理控制器分别与所述主控制器连接,所述主控制器与所述至少一个设备连接,其中,所述方法包括:通过所述主控制器接收目标接口对应的接口状态;通过所述主控制器根据所述接口状态允许所述中央处理器或所述基板管理控制器访问所述至少一个设备。2.根据权利要求1所述的方法,其特征在于,所述通过所述主控制器接收目标接口对应的接口状态,包括:通过所述基板管理控制器控制通用输入输出接口对应的接口状态;通过所述主控制器接收所述基板管理控制器输出的所述通用输入输出接口对应的接口状态。3.根据权利要求2所述的方法,其特征在于,所述通过所述主控制器根据所述接口状态允许所述中央处理器或所述基板管理控制器访问所述至少一个设备,包括:通过所述主控制器判断所述接口状态为高电平状态或低电平状态;当通过所述主控制器判定所述接口状态为高电平状态时,通过所述主控制器允许所述基板管理控制器访问所述至少一个设备。4.根据权利要求3所述的方法,其特征在于,所述通过所述主控制器允许所述基板管理控制器访问所述至少一个设备,包括:通过所述基板管理控制器发送通道选择指令至所述主控制器;通过所述主控制器根据所述通道选择指令将所述基板管理控制器对应的目标接口通道与匹配的目标设备总线相连;当连接成功后,通过所述基板管理控制器访问所述目标设备总线对应的目标设备。5.根据权利要求4所述的方法,其特征在于,所述通过所述基板管理控制器发送通道选择指令至所述主控制器,包括:通过所述基板管理控制器的多个接口通道使用对应的i2c接口,将对应的通道选择指令下发至所述主控制器。6.根据权利要求5所述的方法,其特征在于,所述通过所述主控制器根据所述通道选择指令将所述基板管理控制器对应的目标接口通道与匹配的目标设备总线相连,包括:通过所述主控制器根据各所述通道选择指令,将各所述i2c接口与匹配的目标设备总线相连。7.根据权利要求3所述的方法,其特征在于,所述方法还包括:当通过所述主控制器判定所述接口状态为低电平状态时,通过所述主控制器允许所述中央处理器访问所述至少一个设备。8.根据权利要求7所述的方法,其特征在于,所述通过所述主控制器允许所述中央处理器访问所述至少一个设备,包括:通过所述中央处理器发送控制指令至所述主控制器;通过所述主控制器根据所述控制指令选择目标控制模式;通过所述主控制器根据所述目标控制模式允许所述中央处理器访问所述至少一个设备。
9.根据权利要求8所述的方法,其特征在于,所述通过所述主控制器根据所述目标控制模式允许所述中央处理器访问所述至少一个设备,包括:当所述目标控制模式为开关模式时,通过所述中央处理器发送通道选择指令至所述主控制器;通过所述主控制器根据所述通道选择指令确定对应的目标接口通道;通过所述主控制器将所述目标接口通道对应的通道接口与匹配的目标设备总线相连;当连接成功后,通过所述中央处理器访问所述目标设备总线对应的目标设备。10.根据权利要求8所述的方法,其特征在于,所述通过所述主控制器根据所述目标控制模式允许所述中央处理器访问所述至少一个设备,包括:当所述目标控制模式为缓存模式时,通过所述中央处理器发送设备读取指令至所述主控制器;通过所述主控制器根据所述设备读取指令从缓存区中读取匹配的目标设备对应的寄存器信息,所述缓存区中包括各所述设备对应的寄存器信息;通过所述中央处理器根据所述寄存器信息访问所述目标设备。11.根据权利要求1所述的方法,其特征在于,当所述交换机未包括所述基板管理控制器时,所述方法还包括:通过所述主控制器接收通用输入输出接口对应的接口状态为低电平状态;通过所述主控制器根据所述低电平状态允许所述中央处理器访问所述至少一个设备。12.根据权利要求11所述的方法,其特征在于,所述通过所述主控制器根据所述低电平状态允许所述中央处理器访问所述至少一个设备,包括:通过所述中央处理器发送控制指令至所述主控制器;通过所述主控制器根据所述控制指令选择目标控制模式;通过所述主控制器根据所述目标控制模式允许所述中央处理器访问所述至少一个设备。13.根据权利要求12所述的方法,其特征在于,所述通过所述主控制器根据所述目标控制模式允许所述中央处理器访问所述至少一个设备,包括:当所述目标控制模式为开关模式时,通过所述中央处理器发送通道选择指令至所述主控制器;通过所述主控制器根据所述通道选择指令确定对应的目标接口通道;通过所述主控制器将所述目标接口通道对应的通道接口与匹配的目标设备总线相连;当连接成功后,通过所述中央处理器访问所述目标设备总线对应的目标设备。14.根据权利要求12所述的方法,其特征在于,所述通过所述主控制器根据所述目标控制模式允许所述中央处理器访问所述至少一个设备,包括:当所述目标控制模式为缓存模式时,通过所述中央处理器发送设备读取指令至所述主控制器;通过所述主控制器根据所述设备读取指令从缓存区中读取匹配的目标设备对应的寄存器信息,所述缓存区中包括各所述设备对应的寄存器信息;通过所述中央处理器根据所述寄存器信息访问所述目标设备。15.根据权利要求1所述的方法,其特征在于,所述设备为i2c设备和/或兼容i2c协议的
设备。16.根据权利要求15所述的方法,其特征在于,所述i2c设备为板卡eeprom、电压侦测芯片、温度侦测芯片、其他i2c设备单元中的至少一种。17.根据权利要求1所述的方法,其特征在于,所述主控制器为嵌入式控制器,所述中央处理器与所述嵌入式控制器连接,所述中央处理器包括smbus总线接口和第一通用输入输出接口,所述嵌入式控制器包括i2c总线接口和第二通用输入输出接口,其中,所述中央处理器的所述smbus总线接口与所述嵌入式控制器的所述i2c总线接口进行数据通信,所述中央处理器的所述第一通用输入输出接口与所述嵌入式控制器的所述第二通用输入输出接口进行数据通信。18.根据权利要求17所述的方法,其特征在于,所述基板管理控制器与所述嵌入式控制器连接,所述基板管理控制器包括多个i2c总线接口和第三通用输入输出接口,所述基板管理控制器的所述第三通用输入输出接口分别与所述第一通用输入输出接口、所述第二通用输入输出接口相连,所述基板管理控制器的各所述i2c总线接口与所述嵌入式控制器的所述第二通用输入输出接口连接。19.根据权利要求1所述的方法,其特征在于,所述方法还应用于服务器。20.一种交换机,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至19中任一项所述方法的步骤。21.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至19中任一项所述的方法的步骤。
技术总结
本申请涉及一种数据访问方法、交换机和存储介质,涉及交换机技术领域。该方法应用于交换机,交换机包括中央处理器、基板管理控制器、主控制器以及至少一个设备,中央处理器和基板管理控制器分别与主控制器连接,主控制器与至少一个设备连接,其中,上述方法包括:通过主控制器接收目标接口对应的接口状态,通过主控制器根据接口状态允许中央处理器或基板管理控制器访问至少一个设备。采用本方法,无需增加额外的硬件电路,可以动态切换系统中的主控制器,兼容不同客户的设计需求,减小系统设计成本。本。本。
技术研发人员:张广乐 薛广营 郭月俊 季冬冬
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2023.06.13
技术公布日:2023/7/18
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
