CN117271412A - 一种自动拨码方法、系统和计算机设备和存储介质 - Google Patents
一种自动拨码方法、系统和计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117271412A CN117271412A CN202311232606.3A CN202311232606A CN117271412A CN 117271412 A CN117271412 A CN 117271412A CN 202311232606 A CN202311232606 A CN 202311232606A CN 117271412 A CN117271412 A CN 117271412A
- Authority
- CN
- China
- Prior art keywords
- control signal
- configuration information
- source address
- signal source
- dialing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000003860 storage Methods 0.000 title claims abstract description 16
- 230000004044 response Effects 0.000 claims abstract description 32
- 238000004590 computer program Methods 0.000 claims description 27
- 238000013515 script Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 6
- 238000003745 diagnosis Methods 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000009960 carding Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Programmable Controllers (AREA)
Abstract
本申请涉及一种自动拨码方法、系统、计算机设备和存储介质。所述方法包括:响应于接收到控制信号,解析控制信号,获取控制信号源地址;响应于获取控制信号源地址,触发点灯指令,对位于控制信号源地址的设备进行点灯操作;获取预先设定的配置信息,根据预先设定的配置信息以及控制信号源地址,得到控制信号源地址对应的拨码设定值;基于每一控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。采用本方法能够实现设备拨码的全自动化,提高拨码效率。
Description
技术领域
本申请涉及服务器技术领域,特别是涉及一种自动拨码方法、系统和计算机设备和存储介质。
背景技术
服务器当前的应用非常广泛,根据不同的业务需求及应用场景,客户对服务器的配置有不同的需求。在进行服务器主板硬件设计时,有时为了满足不同场景下的客户应用,服务器连接的设备在安装到不同位置时,根据不同的级联方式,需要对服务器上的硬体拨码开关进行对应的拨码,来进行信号分配和控制。
现有技术中,通常是通过操作人员在生产线上依照系统订单配置进行人工手动调整硬体拨码开关。但是如果在涉及的配置场景多的情况下,再采用人工手动调整的方式,不仅梳理配置工作量巨大,增加生产时间,并且容易人为拨错设定值,增加一些风险,导致服务器性能下降。
发明内容
基于此,有必要针对上述技术问题,提供一种能够实现设备拨码的全自动化的自动拨码方法、系统、计算机设备和存储介质。
为了解决上述技术问题,第一方面,提供一种自动拨码方法,方法包括:
响应于接收到控制信号,解析控制信号,获取控制信号源地址;
响应于获取控制信号源地址,触发点灯指令,对位于控制信号源地址的设备进行点灯操作;
获取预先设定的配置信息,根据预先设定的配置信息以及控制信号源地址,得到控制信号源地址对应的拨码设定值;
基于每一控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。
在其中一个实施例中,获取预先设定的配置信息包括:
响应于接收到控制器发出的控制指令,将待设定的配置信息存储于固件程序中,其中配置信息包括不同级联关系下的控制信号与拨码设定值的对应关系;
判断待设定的配置信息是否全部存储于固件程序中,以及待设定的配置信息是否正确;
响应于待设定的配置信息全部存储于固件程序中,且待设定的配置信息正确时,将存储于固件程序中的待设定的配置信息作为预先设定的配置信息。
在其中一个实施例中,方法还包括:
获取设备的属性信息,基于设备的属性信息,查询资料库,得到设备对应的每组线缆的指令信息;根据每组线缆的指令信息,对设备下达控制指令。
在其中一个实施例中,资料库为:
将多个设备与多组线缆端口电性连接,预先获取每一设备的属性信息以及每一设备对应的每组线缆的指令信息;
将预先获取的每一设备的属性信息以及每一设备对应的每组线缆的指令信息输入到诊断系统中的脚本中形成资料库。
在其中一个实施例中,多个设备分别位于多个背板上,得到控制信号源地址对应的拨码设定值包括:
对背板进行编号,按照背板的编号顺序依次生成多个控制信号源地址对应的拨码设定值。
在其中一个实施例中,方法还包括:
响应于获得的拨码设定值为特殊拨码设定值时,则当前设备未进行配置;
响应于当前设备未进行配置,触发灭灯指令,对特殊拨码设定值对应的设备进行灭灯操作。
在其中一个实施例中,方法还包括:
接收配置更新指令;
根据配置更新指令,获取当前配置下设备的级联关系,更新预先设定的配置信息,得到更新后的配置信息;
根据当前配置下设备的级联关系生成控制指令,将更新后的配置信息存储于固件程序中;更新后的控制信号包括当前不同级联关系下的控制信号与拨码设定值的对应关系;
响应于接收到更新后的控制信号,解析更新后的控制信号,获取当前控制信号源地址;
响应于获取当前控制信号源地址,触发点灯指令,对位于当前控制信号源地址的设备进行点灯操作;
获取更新后的预先设定的配置信息,根据预先设定的配置信息以及当前控制信号源地址,得到当前控制信号源地址对应的拨码设定值;
基于每一当前控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。
为了解决上述技术问题,第二方面,提供了一种自动拨码系统,系统用于实现上述任一项的自动拨码方法,系统包括:依次连接的控制器、复杂可编程逻辑器件以及拨码开关;
控制器的输出端与复杂可编程逻辑器件的输入端通过串行总线连接,以实现数据通信;
复杂可编程逻辑器件上包括有寄存器以及固件程序,寄存器以及固件程序用于存储、调用预先设定的配置信息;
拨码开关与复杂可编程逻辑器件通信连接,用于根据复杂可编程逻辑器件中存储的预先设定的配置信息以及获取的控制信号源地址,得到控制信号源地址对应的拨码设定值;基于每一控制信号源地址与拨码设定值的对应关系,实现自动进行拨码。
为了解决上述技术问题,第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:处理器执行计算机程序时实现上述第一方面方法的步骤。
为了解决上述技术问题,第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述第一方面的方法的步骤。
本发明通过响应于接收到控制信号,解析控制信号,获取控制信号源地址;响应于获取控制信号源地址,触发点灯指令,对位于控制信号源地址的设备进行点灯操作;获取预先设定的配置信息,根据预先设定的配置信息以及控制信号源地址,得到控制信号源地址对应的拨码设定值;基于每一控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。相较于现有的手动拨码的方法,使拨码选择更加便捷简单,避免了产线操作员手动拨码的人工动作,降低了组装机器时的出错率,提高了产线操作员组装机器时的工作效率。
附图说明
图1为一个实施例中自动拨码方法的流程示意图;
图2为一个实施例中S12步骤的流程示意图;
图3为另一个实施例中自动拨码方法的流程示意图;
图4为一个实施例中自动拨码系统的结构框图;
图5为另一个实施例中自动拨码系统的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
随着服务器行业的日趋成熟,服务器产品也是层出不穷。然而,服务器的主流架构仍然是主板结合背板的结构设计。服务器系统后窗的SAS/SATA硬盘背板,从前窗SASExpander硬盘背板或是RAID卡,或是主板PCH板载SATA讯号级联时,根据不同的级联方式,需要对后窗背板上的硬体拨码开关进行对应的拨码,如前窗SAS Expander芯片上的SASport作对应的拨码值设定,也就是说,不同配置下的后窗硬盘背板所需要的拨码设定值不同。
现有技术中,通常是通过操作人员在生产线上依照系统订单配置进行人工手动调整硬体拨码开关。但是如果在涉及的配置场景多的情况下,再采用人工手动调整的方式,不仅梳理配置工作量巨大,增加生产时间,并且容易人为拨错设定值,增加一些风险,导致服务器性能下降。基于此,本申请提供了一种自动拨码方法、系统和计算机设备和存储介质,具体如下:
请参阅图1,图1是本申请自动拨码方法一实施方式的流程示意图。如图所示,自动拨码方法的具体步骤如下:
S10:响应于接收到控制信号,解析控制信号,获取控制信号源地址。
具体地,服务器上电后,与服务器相连接的设备会发出SAS信号(控制信号),控制信号通过SGPIO协议传送到服务器背板的复杂可编程逻辑器件(CPLD)上,复杂可编程逻辑器件(CPLD)接收控制信号后,对该控制信号进行解码,将控制信号变成数字信号,得到控制信号包含的控制信号源地址信息,这里的控制信号源地址信息即指发出控制信号的设备的地址信息。
S11:响应于获取控制信号源地址,触发点灯指令,对位于控制信号源地址的设备进行点灯操作。
响应于复杂可编程逻辑器件(CPLD)获取控制信号源地址,触发点灯指令,当触发了任意一个设备的点灯操作时,输出携带有点灯信息以及设备自身的地址信息(控制信号源地址)的信号,以使执行设备基于设备自身的地址信息以及基于点灯信息进行点灯操作。
S12:获取预先设定的配置信息,根据预先设定的配置信息以及控制信号源地址,得到控制信号源地址对应的拨码设定值。
具体地,本申请所提供的自动拨码方法,需要预先规划设备在不同级联关系下的配置信息,并将其存储到复杂可编程逻辑器件(CPLD)上的寄存器中,并利用上述步骤中得到的控制信号源地址,查找预先设定的配置信息,进而得到控制信号源地址对应的拨码设定值。
请参阅图2,获取预先设定的配置信息的步骤如下:
S20:响应于接收到控制器(BMC)发出的控制指令,将待设定的配置信息存储于固件程序中。
具体地,在该实施方式中,控制器(BMC)通过I2C总线与复杂可编程逻辑器件(CPLD)连接,当复杂可编程逻辑器件(CPLD)接收到控制器(BMC)发出的控制指令后,将待设定的配置信息存储于复杂可编程逻辑器件(CPLD)上的固件程序中。其中,配置信息包括不同级联关系下的控制信号与拨码设定值的对应关系。
具体地,在一实施方式中,这里的不同的级联关系可以是指,在不同的项目下,各个设备与服务器主板之间的连接关系可能会不同,而不同的连接关系需要设定不同的拨码值。在进行拨码操作前,本申请设置可以通过设置控制信号是从各个设备处传出,控制信号可以通过SGPIO协议传输到复杂可编程逻辑器件(CPLD)上,当复杂可编程逻辑器件(CPLD)接收信号后即可对信号进行解析,得到信号包含的控制信号源地址等信息。
具体的,利用控制器(BMC)的I2C bus接口指令对复杂可编程逻辑器件(CPLD)(CPLD)进行刷写“Config Strap”讯息。
S21:判断待设定的配置信息是否全部存储于固件程序中,以及所述待设定的配置信息是否正确。
具体地,通过上述步骤将待设定的配置信息存储于固件程序中后,还需要判断待设定的配置信息是否全部存储于固件程序中,以及上述待设定的配置信息是否是正确。
可选的,控制器(BMC)以及复杂可编程逻辑器件(CPLD)可以通过Handshake协议确认上述待设定的配置信息是否全部存储完成以及存储的配置信息的准确性,即确认刷写完成且无误。Handshake协议是一种可以实现数据安全传输的协议,其适用于上下游模块之间的数据传输。示例性的,这个协议发送一个"hello"信息给接收系统(本申请的控制器(BMC)以及复杂可编程逻辑器件(CPLD)),然后获得一个"ok"响应。当这个在两个系统之间的通信完成后,一个"finish"信息应当被发送和被双方的系统证实。如此,即可判断判断待设定的配置信息是否全部存储于固件程序中。通过使用Handshake协议的方式,可以保证数据的有效性和安全性。
S22:响应于待设定的配置信息全部存储于固件程序中,且所述待设定的配置信息正确时,将所述存储于固件程序中的待设定的配置信息作为预先设定的配置信息。
通过上述步骤校验待设定的配置信息存储的完成度以及准确度之后,即可将存储于固件程序中的待设定的配置信息作为预先设定的配置信息,能够提高后续拨码操作的准确性。
具体的预先设置的配置信息可以如表1所示:
表1
在上表中,信号来源即为控制信号源地址,复杂可编程逻辑器件(CPLD)的SGPIO盘位数是指硬盘数量,SGPIO_ADDRESS则对应的控制信号源地址对应的拨码设定值。
本申请通过将预先设定的配置信息存储于固件程序中,这样,当控制器(BMC)获取到SAS级联信号时,会发出控制信号给复杂可编程逻辑器件(CPLD),调用复杂可编程逻辑器件(CPLD)上的固件程序。具体来说,当控制器(BMC)接收从连接设备传来的SAS级联信号后,会从复杂可编程逻辑器件(CPLD)中选择寄存器中存储的对应的固件程序,接收固件程序中传来的预先设定的配置信息。
在一可行的实施方式中,复杂可编程逻辑器件(CPLD)中实现解码器和微控制器(BMC)两部分,在应用时,解码器将配置信息发送给微控制器(BMC)后,控制器(BMC)根据内部的映射表控制GPIO输出对应的电平信息,PCIE Switch IC在启动时会判断自己的GPIO的状态,进而从寄存器中加载不同的固件文件。当刷新工作完成后,复杂可编程逻辑器件(CPLD)通过I2C总线将当前的状态(包括哪种配置)返回给微控制器(BMC)内部的寄存器,供外部读取当前状态。
寄存器内可以划分为不同的区域,每个区域存放不同的固件程序,通过这些程存储不同级联关系下的预先设定的配置信息。
在另一可行的实施方式中,还可以设置一加密程序,在获取预先设定的配置信息之前,可以由复杂可编程逻辑器件(CPLD)的加密程序向控制器(BMC)发送验证信息,这里的验证信息即是用于验证获取预先设定的配置信息的身份是否具111有获取上述配置信息的权限,通过在复杂可编程逻辑器件(CPLD)器件中增设身份验证功能,可以避免误操作,利于提高后续拨码操作的准确性。
在实际应用中,系统开机后,复杂可编程逻辑器件(CPLD)可以通过获取寄存器(UFM)中的“Config Strap”配置信息判断信号来源定义,开始执行对应的点灯操作。也即根据预先存储在固件程序的控制信号源地址与拨码设定值的对应关系,找到当前接收到的控制信号所包含的发出控制信号的设备的地址信息,进而对该地址的设备下达控制指令,执行点灯操作。
示例性的,配置信息(Config Strap)在SAS/SATA背板可包含SGPIO上行口(SAS卡、RAID卡、Expander(扩展卡)、PCH(南桥芯片)的来源讯息,配置信息“Config Strap”在NVMe背板可包含PCIe上行口(CPU,Trimode卡)来源讯息,可在复杂可编程逻辑器件中设定配置信息中的拨码设定值可以为,拨码初始值为“0000b”或“1111b”,可以用上述特定的拨码表示当前配置还未被设定(可以用背板灯号全闪灭来警示),当然,每次更换配置或进行维护时都必须重新执行此步骤确保最新的配置信息被烧写进复杂可编程逻辑器件(CPLD)中。
S13:基于每一控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。
当得到了预先设定的配置信息后,即可通过该配置信息包含的不同级联关系下的控制信号与拨码设定值的对应关系,找到当前接收到的控制信号所包含的发出控制信号的设备的地址信息,来查找对应的拨码设定值。再基于每一控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码,如此,实现设备拨码的自动化。
本申请中,通过将查找预先设定的配置信息来查找当前控制信号源地址对应的设备的拨码设定值,在基于拨码设定值进行自动拨码。此方法即变为简单又省时,又可降低拨错拨码值的风险,且在后续维护作业时也只需要透过指令更新的方式进行变更调整,无需将硬盘背板拆卸后再手动调整拨码开关设定值。
在一实施方式中,本申请还包括:通过Diag系统获取生产工单上的包含的板卡料号、线缆料号等信息。依照生产工单信息判断目前工单的硬盘配置。并且Diag系统还可以通过烧写指令来修改脚本,依此达到自动标识别背板级联配置并烧写拨码数值的目的。
具体地,Diag系统可以获取设备的属性信息,基于设备的属性信息,查询资料库;这里的设备属性信息即是上述的板卡料号以及线缆料号等信息,得到设备对应的每组线缆的指令信息;Diag系统根据每组线缆的指令信息,对设备下达控制指令。
其中,资料库是预先形成的,形成资料库包括:
将多个设备与多组线缆端口电性连接,预先获取每一设备的属性信息以及每一设备对应的每组线缆的指令信息;将预先获取的每一设备的属性信息以及述每一设备对应的每组线缆的指令信息输入到诊断系统中的脚本中形成资料库。
具体地,每个设备都有与之对应连接的线缆,在生产产品前可以获取生产工单包含的每一设备的板卡料料输入后就可以通过内部的资料库进行比对查询找到正确对应的烧写/读取指令,然后再对背板的复杂可编程逻辑器件(CPLD)下达指令。
可以理解的是,下表仅是示例性的,YZBB-03227-101、YZBB-03006-101为为不同型号的背板。在实际应用中,该表还可以包括,背板名,背板序号,拨码数值16进制,拨码数值2进制,拨码数值确认指令等等。
表2
在实际应用中,不同级联关系下的拨码设定值会不同,基于此,本申请提供的自动拨码方法还包括:
S30:接收配置更新指令。
S31:根据配置更新指令,获取当前配置下设备的级联关系,更新预先设定的配置信息,得到更新后的配置信息。
S32:根据当前配置下设备的级联关系生成控制指令,将更新后的配置信息存储于固件程序中;更新后的控制信号包括当前不同级联关系下的控制信号与拨码设定值的对应关系。
S33:响应于接收到更新后的控制信号,解析更新后的控制信号,获取当前控制信号源地址。
S34:响应于获取当前控制信号源地址,触发点灯指令,对位于当前控制信号源地址的设备进行点灯操作。
S35:获取更新后的预先设定的配置信息,根据预先设定的配置信息以及当前控制信号源地址,得到当前控制信号源地址对应的拨码设定值。
S36:基于每一当前控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。
当控制器(BMC)接收到配置更新指令后,控制器(BMC)会发出控制指令,该控制指令用于获取当前配置下设备的级联关系,以获得当前级联关系下的控制信号与拨码设定值的对应关系,获取到当前配置信息后,控制器(BMC)会通过I2C总线向复杂可编程逻辑器件(CPLD)发送用于将当前配置信息存储于复杂可编程逻辑器件(CPLD)上述的固件程序中的控制指令,与服务器连接的外接设备会发出控制信号,这里的控制信号是指外接设备发出的SAS级联信号,根据这个级联信号可以得知外接设备的地址信息。复杂可编程逻辑器件(CPLD)获取到外接设备的地址信息后,复杂可编程逻辑器件(CPLD)会控制设备进行点灯操作,当得到了预先设定的配置信息后,即可通过该配置信息包含的不同级联关系下的控制信号与拨码设定值的对应关系,找到当前接收到的控制信号所包含的发出控制信号的设备的地址信息,来查找对应的拨码设定值。再基于每一控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。
上述实施方式中,通过获得设备的属性信息以及设备对应的每组线缆的指令信息修改Diag程式与修改脚本来下达不同的指令;根据不同的配置(不同级联关系)下的设备,来更新配置信息,这样,使得产品在出厂时,通过自动化程式,更新拨码设定值,完成拨码开关自动拨码,完全不需要人为参与,既达到了释放人力的效果,又避免了人为参与可能带来的错误。
本方案满足了目前服务器产品中,客户对于多种配置的需求。同时解决了当前方案中,配置梳理困难、FW管控困难、拨码容易出错、人力耗费巨大等诸多问题,增加了产品的易维护性。
应该理解的是,虽然图1-图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
请参阅图4,图4是本申请自动拨码系统一实施方式的结构示意图。如图所示,自动拨码系统主要包括:控制器10、复杂可编程逻辑器件(CPLD)12以及拨码开关。
控制器(BMC)10,控制器10具体可以为基板管理控制器(BMC),可以在机器未开机的状态下,对机器进行固件升级、查看机器设备、等一些操作。在BMC中完全实现IPMI功能需要一个功能强大的16位元或32位元微控制器以及用于数据储存的RAM、用于非挥发性数据储存的快闪记忆体和韧体,在安全远程重启、安全重新上电、LAN警告和系统健康监视方面能提供基本的远程可管理性。
基板管理控制器(BMC)的输出端与复杂可编程逻辑器件(CPLD)的输入端通过串行总线连接,基板管理控制器(BMC)用于接收控制信号并将控制信号传输给复杂可编程逻辑器件(CPLD),其中,传输的方式可以是利用I2C总线实现数据的传输。
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下,主机负责产生定时时钟和终止数据传送。
复杂可编程逻辑器件(CPLD)12,采用CMOS EPROM、EEPROM、快闪存储器和SRAM等编程技术,从而构成了高密度、高速度和低功耗的可编程逻辑器件。
复杂可编程逻辑器件(CPLD)12上还包括有寄存器13(UFM)以及固件程序(FW),寄存器以及固件程序用于存储、调用预先设定的配置信息,并且寄存器是用户可用的Flash存储区,是一种非易失性内存,即使系统掉电后,存储的数据也不会丢失。其中,固件程序上存储有不同级联关系下的控制信号与拨码设定值的对应关系,也即图4所示的“ConfigStrap”与“0001b”则是当前的拨码设定值。
拨码开关位于复杂可编程逻辑器件(CPLD)上,与复杂可编程逻辑器件(CPLD)连接,用于根据复杂可编程逻辑器件(CPLD)中存储的预先设定的配置信息以及获取的控制信号源地址,得到控制信号源地址对应的拨码设定值;基于每一控制信号源地址与拨码设定值的对应关系,实现自动进行拨码。
本申请的自动拨码系统还包括可更换部件(FUR),可更换部件通过I2C串行总线与基板管理控制器(BMC)连接,在计算机硬件维护和修理中,可更换部件通常用于描述一个可以在现场更换的部件,例如内存条、硬盘、电源、主板等。这些部件通常有标准化的接口和规格,使得它们可以在需要更换时方便快捷地进行更换。在硬件维护和保修中,可更换部件通常会被列在设备的服务手册中,以帮助用户更快速地解决硬件问题。
通过在复杂可编程逻辑器件(CPLD)与控制器(BMC)建立通信连接,从而实现控制器(BMC)利用I2C指令将拨码信息写入复杂可编程逻辑器件(CPLD)寄存器。这样就代替了手动拨码的人工动作。同时复杂可编程逻辑器件(CPLD)将控制器(BMC)写入寄存器的预先设定的配置信息存储至用户可用的寄存器(UFM),可以避免由于掉电导致信息丢失。并且通过在复杂可编程逻辑器件(CPLD)增设身份验证的功能,可以避免误操作,提高自动拨码操作的准确性。
请参阅图5,在一个实施例中,本申请中的背板包括第一服务器背板20以及第二服务器背板21,其上分别设置有第一复杂可编程逻辑器件(CPLD)121以及第二复杂可编程逻辑器件(CPLD)122,这里的第一服务器背板121以及第二服务器背板122可以用BP1以及BP2来表示。
由于每块硬盘背板的拨码值只有一种,即每块背板上连接的设备的接口都是slot0-11,无法显示硬盘的编号,即在现有的读取方式中,当解析硬盘的地址信息时,会得到是哪个硬盘接口的,例如,显示当前控制信号源地址为slot3,但是无法准确定位在该接口是属于哪块背板。在该实施方式中,通过上述方式得到的控制信号源地址后,可以在控制信号的源地址前缀BP1以及BP2,进而表示该控制信号源地址是在第一服务器背板20还是第二服务器背板21上,以精细化获得源地址的信息。
在一个实施例中,上述装置能实现的自动拨码方法的另一种实施方式,具体步骤如下:
获取预先设定的配置信息包括:
响应于接收到控制器发出的控制指令,将待设定的配置信息存储于固件程序中,其中配置信息包括不同级联关系下的控制信号与拨码设定值的对应关系;
判断待设定的配置信息是否全部存储于固件程序中,以及待设定的配置信息是否正确;
响应于待设定的配置信息全部存储于固件程序中,且待设定的配置信息正确时,将存储于固件程序中的待设定的配置信息作为预先设定的配置信息。
在一个实施例中,上述装置能实现的自动拨码方法的另一种实施方式,具体步骤如下:
获取设备的属性信息,基于设备的属性信息,查询资料库,得到设备对应的每组线缆的指令信息;根据每组线缆的指令信息,对设备下达控制指令。
在一个实施例中,上述装置能实现的自动拨码方法的另一种实施方式,具体步骤如下:
资料库为:
将多个设备与多组线缆端口电性连接,预先获取每一设备的属性信息以及每一设备对应的每组线缆的指令信息;
将预先获取的每一设备的属性信息以及每一设备对应的每组线缆的指令信息输入到诊断系统中的脚本中形成资料库。
在一个实施例中,上述装置能实现的自动拨码方法的另一种实施方式,具体步骤如下:
多个设备分别位于多个背板上,得到控制信号源地址对应的拨码设定值包括:
对背板进行编号,按照背板的编号顺序依次生成多个控制信号源地址对应的拨码设定值。
在一个实施例中,上述装置能实现的自动拨码方法的另一种实施方式,具体步骤如下:
响应于获得的拨码设定值为特殊拨码设定值时,则当前设备未进行配置;
响应于当前设备未进行配置,触发灭灯指令,对特殊拨码设定值对应的设备进行灭灯操作。
在一个实施例中,上述装置能实现的自动拨码方法的另一种实施方式,具体步骤如下:
接收配置更新指令;
根据配置更新指令,获取当前配置下设备的级联关系,更新预先设定的配置信息,得到更新后的配置信息;
根据当前配置下设备的级联关系生成控制指令,将更新后的配置信息存储于固件程序中;更新后的控制信号包括当前不同级联关系下的控制信号与拨码设定值的对应关系;
响应于接收到更新后的控制信号,解析更新后的控制信号,获取当前控制信号源地址;
响应于获取当前控制信号源地址,触发点灯指令,对位于当前控制信号源地址的设备进行点灯操作;
获取更新后的预先设定的配置信息,根据预先设定的配置信息以及当前控制信号源地址,得到当前控制信号源地址对应的拨码设定值;
基于每一当前控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。
关于自动拨码系统的具体限定可以参见上文中对于自动拨码方法的限定,在此不再赘述。上述自动拨码系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储预先设定的配置数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种自动拨码方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
S10:响应于接收到控制信号,解析控制信号,获取控制信号源地址。
S11:响应于获取控制信号源地址,触发点灯指令,对位于控制信号源地址的设备进行点灯操作。
S12:获取预先设定的配置信息,根据预先设定的配置信息以及控制信号源地址,得到控制信号源地址对应的拨码设定值。
S13:基于每一控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取预先设定的配置信息包括:
响应于接收到控制器发出的控制指令,将待设定的配置信息存储于固件程序中,其中配置信息包括不同级联关系下的控制信号与拨码设定值的对应关系;
判断待设定的配置信息是否全部存储于固件程序中,以及待设定的配置信息是否正确;
响应于待设定的配置信息全部存储于固件程序中,且待设定的配置信息正确时,将存储于固件程序中的待设定的配置信息作为预先设定的配置信息。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取设备的属性信息,基于设备的属性信息,查询资料库,得到设备对应的每组线缆的指令信息;根据每组线缆的指令信息,对设备下达控制指令。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
资料库为:
将多个设备与多组线缆端口电性连接,预先获取每一设备的属性信息以及每一设备对应的每组线缆的指令信息;
将预先获取的每一设备的属性信息以及每一设备对应的每组线缆的指令信息输入到诊断系统中的脚本中形成资料库。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
多个设备分别位于多个背板上,得到控制信号源地址对应的拨码设定值包括:
对背板进行编号,按照背板的编号顺序依次生成多个控制信号源地址对应的拨码设定值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
响应于获得的拨码设定值为特殊拨码设定值时,则当前设备未进行配置;
响应于当前设备未进行配置,触发灭灯指令,对特殊拨码设定值对应的设备进行灭灯操作。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收配置更新指令;
根据配置更新指令,获取当前配置下设备的级联关系,更新预先设定的配置信息,得到更新后的配置信息;
根据当前配置下设备的级联关系生成控制指令,将更新后的配置信息存储于固件程序中;更新后的控制信号包括当前不同级联关系下的控制信号与拨码设定值的对应关系;
响应于接收到更新后的控制信号,解析更新后的控制信号,获取当前控制信号源地址;
响应于获取当前控制信号源地址,触发点灯指令,对位于当前控制信号源地址的设备进行点灯操作;
获取更新后的预先设定的配置信息,根据预先设定的配置信息以及当前控制信号源地址,得到当前控制信号源地址对应的拨码设定值;
基于每一当前控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S10:响应于接收到控制信号,解析控制信号,获取控制信号源地址。
S11:响应于获取控制信号源地址,触发点灯指令,对位于控制信号源地址的设备进行点灯操作。
S12:获取预先设定的配置信息,根据预先设定的配置信息以及控制信号源地址,得到控制信号源地址对应的拨码设定值。
S13:基于每一控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取预先设定的配置信息包括:
响应于接收到控制器发出的控制指令,将待设定的配置信息存储于固件程序中,其中配置信息包括不同级联关系下的控制信号与拨码设定值的对应关系;
判断待设定的配置信息是否全部存储于固件程序中,以及待设定的配置信息是否正确;
响应于待设定的配置信息全部存储于固件程序中,且待设定的配置信息正确时,将存储于固件程序中的待设定的配置信息作为预先设定的配置信息。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取设备的属性信息,基于设备的属性信息,查询资料库,得到设备对应的每组线缆的指令信息;根据每组线缆的指令信息,对设备下达控制指令。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
资料库为:
将多个设备与多组线缆端口电性连接,预先获取每一设备的属性信息以及每一设备对应的每组线缆的指令信息;
将预先获取的每一设备的属性信息以及每一设备对应的每组线缆的指令信息输入到诊断系统中的脚本中形成资料库。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
多个设备分别位于多个背板上,得到控制信号源地址对应的拨码设定值包括:
对背板进行编号,按照背板的编号顺序依次生成多个控制信号源地址对应的拨码设定值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
响应于获得的拨码设定值为特殊拨码设定值时,则当前设备未进行配置;
响应于当前设备未进行配置,触发灭灯指令,对特殊拨码设定值对应的设备进行灭灯操作。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收配置更新指令;
根据配置更新指令,获取当前配置下设备的级联关系,更新预先设定的配置信息,得到更新后的配置信息;
根据当前配置下设备的级联关系生成控制指令,将更新后的配置信息存储于固件程序中;更新后的控制信号包括当前不同级联关系下的控制信号与拨码设定值的对应关系;
响应于接收到更新后的控制信号,解析更新后的控制信号,获取当前控制信号源地址;
响应于获取当前控制信号源地址,触发点灯指令,对位于当前控制信号源地址的设备进行点灯操作;
获取更新后的预先设定的配置信息,根据预先设定的配置信息以及当前控制信号源地址,得到当前控制信号源地址对应的拨码设定值;
基于每一当前控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种自动拨码方法,其特征在于,包括:
响应于接收到控制信号,解析所述控制信号,获取控制信号源地址;
响应于获取控制信号源地址,触发点灯指令,对位于所述控制信号源地址的设备进行点灯操作;
获取预先设定的配置信息,根据所述预先设定的配置信息以及所述控制信号源地址,得到所述控制信号源地址对应的拨码设定值;
基于每一所述控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。
2.根据权利要求1所述的方法,其特征在于,所述获取预先设定的配置信息包括:
响应于接收到控制器发出的控制指令,将待设定的配置信息存储于固件程序中,其中所述配置信息包括不同级联关系下的控制信号与拨码设定值的对应关系;
判断待设定的配置信息是否全部存储于固件程序中,以及所述待设定的配置信息是否正确;
响应于待设定的配置信息全部存储于固件程序中,且所述待设定的配置信息正确时,将所述存储于固件程序中的待设定的配置信息作为预先设定的配置信息。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取设备的属性信息,基于所述设备的属性信息,查询所述资料库,得到设备对应的每组线缆的指令信息;根据所述每组线缆的指令信息,对设备下达控制指令。
4.根据权利要求3所述的方法,其特征在于,所述资料库为:
将多个设备与多组线缆端口电性连接,预先获取每一设备的属性信息以及每一设备对应的每组线缆的指令信息;
将所述预先获取的每一设备的属性信息以及所述每一设备对应的每组线缆的指令信息输入到诊断系统中的脚本中形成资料库。
5.根据权利要求1所述的方法,其特征在于,所述多个设备分别位于多个背板上,所述得到所述控制信号源地址对应的拨码设定值包括:
对所述背板进行编号,按照背板的编号顺序依次生成多个所述控制信号源地址对应的拨码设定值。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述获得的拨码设定值为特殊拨码设定值时,则当前设备未进行配置;
响应于所述当前设备未进行配置,触发灭灯指令,对所述特殊拨码设定值对应的设备进行灭灯操作。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收配置更新指令;
根据所述配置更新指令,获取当前配置下设备的级联关系,更新预先设定的配置信息,得到更新后的配置信息;
根据当前配置下设备的级联关系生成控制指令,将更新后的配置信息存储于固件程序中;所述更新后的控制信号包括当前不同级联关系下的控制信号与拨码设定值的对应关系;
响应于接收到更新后的控制信号,解析所述更新后的控制信号,获取当前控制信号源地址;
响应于获取当前控制信号源地址,触发点灯指令,对位于所述当前控制信号源地址的设备进行点灯操作;
获取更新后的预先设定的配置信息,根据所述预先设定的配置信息以及所述当前控制信号源地址,得到所述当前控制信号源地址对应的拨码设定值;
基于每一所述当前控制信号源地址与拨码设定值的对应关系,控制拨码开关自动进行拨码。
8.一种自动拨码系统,其特征在于,所述系统用于实现如权利要求1-7任一项所述的自动拨码方法,所述系统包括:依次连接的控制器、复杂可编程逻辑器件以及拨码开关;
所述控制器的输出端与所述复杂可编程逻辑器件的输入端通过串行总线连接,以实现数据通信;
所述复杂可编程逻辑器件上包括有寄存器以及固件程序,所述寄存器以及固件程序用于存储、调用预先设定的配置信息;
所述拨码开关与所述复杂可编程逻辑器件通信连接,用于根据所述复杂可编程逻辑器件中存储的预先设定的配置信息以及获取的所述控制信号源地址,得到所述控制信号源地址对应的拨码设定值;基于每一所述控制信号源地址与拨码设定值的对应关系,实现自动进行拨码。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311232606.3A CN117271412A (zh) | 2023-09-22 | 2023-09-22 | 一种自动拨码方法、系统和计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311232606.3A CN117271412A (zh) | 2023-09-22 | 2023-09-22 | 一种自动拨码方法、系统和计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117271412A true CN117271412A (zh) | 2023-12-22 |
Family
ID=89217294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311232606.3A Pending CN117271412A (zh) | 2023-09-22 | 2023-09-22 | 一种自动拨码方法、系统和计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117271412A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117951066A (zh) * | 2024-01-11 | 2024-04-30 | 深圳市海湃新能源科技有限公司 | 一种预防拨码开关失效的方法及控制系统 |
-
2023
- 2023-09-22 CN CN202311232606.3A patent/CN117271412A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117951066A (zh) * | 2024-01-11 | 2024-04-30 | 深圳市海湃新能源科技有限公司 | 一种预防拨码开关失效的方法及控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117271412A (zh) | 一种自动拨码方法、系统和计算机设备和存储介质 | |
CN106201563A (zh) | 启动参数的配置方法和装置、主板启动的方法和装置 | |
CN110136209B (zh) | 一种摄像头标定方法、装置及计算机可读存储介质 | |
JP2016164775A (ja) | フィールドデバイスコミッショニングシステムおよび方法 | |
CN110427326A (zh) | 基于Driver Master的固态硬盘密码测试方法和装置 | |
CN111737227A (zh) | 数据修改方法及系统 | |
US20170249165A1 (en) | Usb wireless network card configuration methods, host, usb wireless network card and communication system | |
CN112732617A (zh) | 一种nvme硬盘led灯的控制方法、装置、设备及可读介质 | |
CN113010190A (zh) | 一种mac地址烧录方法、装置、设备和存储介质 | |
CN113360437A (zh) | 一种硬盘的盘序调整装置、方法、设备及存储介质 | |
US7475164B2 (en) | Apparatus, system, and method for automated device configuration and testing | |
CN113835762B (zh) | 硬盘背板默认配置更新方法及系统 | |
CN111459730A (zh) | 一种Whitley平台下PCH端参数的调整方法及系统 | |
CN116700751A (zh) | 一种服务器固件的升级方法及计算设备 | |
CN116483416A (zh) | 固件在线升级方法、服务器及存储介质 | |
CN107908418B (zh) | 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备 | |
CN111857787B (zh) | 一种电压转换器固件烧录的方法、系统、设备及介质 | |
CN115599311A (zh) | 极性反转方法及装置、存储介质、电子装置 | |
CN114741350A (zh) | 一种多个nvme硬盘背板级联方法、系统、设备及介质 | |
CN112612255A (zh) | 数据采集方法、装置、电子设备、存储介质 | |
CN112417012A (zh) | 数据处理方法及系统 | |
US20190286599A1 (en) | Dual way communication method, system, and master device thereof | |
CN112596969A (zh) | 一种Expander卡调试装置、方法、设备及介质 | |
CN113868033B (zh) | 一种服务器调试方法 | |
CN116719403B (zh) | 一种vr电源异常状态的修复方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |