Control system, method and equipment of auxiliary board card and storage medium
By configuring the motherboard controller and the auxiliary board controller in series in the motherboard card and connecting it through bus communication, unified control of multiple auxiliary boards is achieved, which solves the problem of low reuse rate of the motherboard control method for auxiliary boards, and reduces the Development and production costs.
Patent Information
- Application Number
- CN202411362874.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-27
- Publication Date
- 2024-12-20
AI Technical Summary
The control method of the existing motherboard for auxiliary boards is low, and the transmission port and control program need to be redefined when replacing the auxiliary boards, resulting in increased development and production costs.
By configuring the motherboard controller to connect in series with the auxiliary board controller in the motherboard card and connecting through the bus communication, unified control of multiple auxiliary boards is achieved, avoiding the need to redefine the transmission port and control program when replacing the auxiliary board. , unify the specifications of data transmission lines between boards and cards.
It improves the control method reuse rate of the motherboard for auxiliary boards, reduces development and production costs, and simplifies the replacement and control process of auxiliary boards.
Smart Images

Figure CN119165930A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of board control technology, and in particular to a control system, method, device and storage medium for an auxiliary board. Background Art
[0002] Auxiliary boards are boards used in large electronic devices such as servers or large switches to control auxiliary devices such as power supplies, hard disk backplanes, fans, etc. Due to the differences in the transmission port definitions of different auxiliary boards, the existing motherboards mostly use a "point-to-point" method to control auxiliary boards, that is, corresponding transmission ports are defined on the motherboard for different auxiliary boards, and the control program of the corresponding auxiliary board is configured based on the corresponding transmission port definition. When controlling the auxiliary board, the motherboard determines the device to be controlled by identifying the corresponding transmission port definition, and controls the device based on the control program corresponding to the transmission port definition.
[0003] However, when the auxiliary board needs to be replaced due to the difference in data transmission between the old and new versions of the card, the corresponding transmission port and the auxiliary board control program corresponding to the transmission port need to be redefined on the main board after the auxiliary board is replaced. This results in a low reuse rate of the existing main board's control method for the auxiliary board. Summary of the invention
[0004] In view of the above problems, the present application provides a control system, method, device and storage medium for an auxiliary board to achieve the purpose of increasing the reuse rate of the control method of the main board to the auxiliary board. The specific scheme is as follows:
[0005] The first aspect of the present application provides a control system for an auxiliary board, comprising:
[0006] A main board controller, a main board connector, at least two auxiliary board controllers and at least two auxiliary board connector groups,
[0007] The main board card is configured with the main board controller and the main board connector, and an auxiliary board card is configured with an auxiliary board controller and an auxiliary board connector group. The main board controller in the main board card is connected in series with the auxiliary board controllers configured in at least two auxiliary boards through the main connector and at least two auxiliary board connector groups.
[0008] The main board controller is communicatively connected to at least one of the auxiliary board controllers via a bus, and the bus is configured in the main board connector and the auxiliary board connector group.
[0009] In a possible implementation, the auxiliary board connector group includes:
[0010] a first auxiliary board connector and a second auxiliary board connector, the output end of the main board controller is electrically connected to the first input end of the main board connector, the first output end of the main board connector is electrically connected to the first input end of the first auxiliary board connector, the first output end of the first auxiliary board connector is electrically connected to the first input end of the auxiliary board controller, the first output end of the auxiliary board controller is electrically connected to the second input end of the first auxiliary board connector, the second output end of the first auxiliary board connector is electrically connected to the second input end of the main board connector, the second output end of the main board connector is electrically connected to the first input end of the main board controller, the second output end of the auxiliary board controller is electrically connected to the first input end of the second auxiliary board connector, and the second output end of the second auxiliary board connector is electrically connected to the second input end of the auxiliary board controller;
[0011] The first output end of the second auxiliary board connector configured on the first auxiliary board card is electrically connected to the first input end of the first auxiliary board connector configured on the second auxiliary board card, and the second output end of the first auxiliary board connector configured on the second auxiliary board card is electrically connected to the second input end of the second auxiliary board connector configured on the first auxiliary board card. The first auxiliary board card and the second auxiliary board card are adjacent auxiliary boards connected in series.
[0012] A second aspect of the present application provides a control method for an auxiliary board, which is applied to each auxiliary board controller in the control system of the auxiliary board as described in the first aspect or any possible implementation of the first aspect, and the control method for the auxiliary board includes:
[0013] The current auxiliary board controller obtains the reference address sent by the main board controller through the bus, and concatenates the reference address with the auxiliary board card number stored locally to obtain the access address of the current auxiliary board controller, the current auxiliary board controller being any of the auxiliary board controllers;
[0014] The current auxiliary board controller sends the access address to the main board controller through the bus, so that the main board controller sends a control message to the current auxiliary board controller based on the access address;
[0015] The current auxiliary board controller sends the received control message to the current auxiliary board, so that the current auxiliary board runs based on the control message. The current auxiliary board is an auxiliary board configured with the current auxiliary board controller.
[0016] In a possible implementation, the method for obtaining the auxiliary board number includes:
[0017] In the running state, the current auxiliary board controller parses the first duty cycle of the pulse signal sent by the upstream controller, and based on the first duty cycle, performs a lookup operation on the preset duty cycle comparison table to obtain the second duty cycle and the auxiliary board number. The upstream controller is the main board controller or the auxiliary board controller. The preset duty cycle comparison table stores multiple duty cycles and the auxiliary board numbers corresponding to each duty cycle. The current auxiliary board controller is any one of the auxiliary board controllers.
[0018] In a possible implementation, the method further includes:
[0019] The current auxiliary board controller generates a pulse signal with a duty cycle of the second duty cycle, and sends the pulse signal with a duty cycle of the second duty cycle to the upstream controller and the downstream controller respectively through the auxiliary board connector group, and the downstream controller is the auxiliary board controller with the current auxiliary board controller as the upstream controller.
[0020] In a possible implementation, the method further includes:
[0021] The current auxiliary board controller sends the pulse signal fed back by the downstream controller to the upstream controller through the first auxiliary board connector in the auxiliary board connector group.
[0022] A third aspect of the present application provides a control method for an auxiliary board, which is applied to the mainboard controller in the control system of the auxiliary board as described in the first aspect or any possible implementation of the first aspect, and the control method for the auxiliary board includes:
[0023] The mainboard controller parses the received control message sending request to obtain the control message and the auxiliary board number;
[0024] The mainboard controller searches for a locally stored access address having the auxiliary board number, and sends the control message to the auxiliary board controller corresponding to the access address through a bus.
[0025] In a possible implementation, the method further includes:
[0026] The mainboard controller generates a pulse signal with a first duty cycle when detecting a power-on self-test signal, and sends the pulse signal with the first duty cycle to at least one auxiliary board controller connected in series with the mainboard controller through the mainboard connector, so that at least one auxiliary board controller performs a self-test operation in response to the pulse signal;
[0027] The main board controller starts timing when the pulse signal with a duty cycle of the first duty cycle is sent, and outputs a fault alarm signal if the number of pulse signals with a duty cycle not equal to the first duty cycle received within a first preset time period is not equal to the total number of auxiliary board controllers.
[0028] A fourth aspect of the present application provides an electronic device, comprising at least one processor and a memory connected to the processor, wherein:
[0029] The memory is used to store computer programs;
[0030] The processor is used to execute the computer program so that the electronic device can implement the above-mentioned second aspect or any implementation of the second aspect, and the control method of the auxiliary board in the third aspect or any implementation of the third aspect.
[0031] A fifth aspect of the present application provides a computer storage medium, which carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement the control method of the auxiliary board of the above-mentioned first aspect or any implementation method of the first aspect.
[0032] By means of the above technical scheme, the present application provides a control system, method, device and storage medium of an auxiliary board, which is configured by configuring the mainboard controller in the mainboard card to be connected in series with the auxiliary board controller configured in at least one auxiliary board through the main connector and the auxiliary board connector group, and configuring the mainboard controller and at least one auxiliary board controller to be connected through bus communication, so that the mainboard realizes the control of each auxiliary board. At the same time, by configuring the mainboard controller and the mainboard connector on the mainboard card, and configuring an auxiliary board controller and an auxiliary board connector group on the auxiliary board, when the auxiliary board needs to be replaced, there is no need to redefine the transmission port on the mainboard, and only the auxiliary board controller and the auxiliary board connector group configured on the auxiliary board to be replaced need to be reinstalled on the new auxiliary board, thereby improving the reuse rate of the control method of the mainboard to the auxiliary board. Finally, by configuring the auxiliary board connector group, the specifications of the data transmission lines between the boards are unified, and the development and production costs are reduced. It can be seen that the present application provides an auxiliary board control method that improves the reuse rate of the control method of the mainboard to the auxiliary board, while reducing the development and production costs of realizing the control method of the auxiliary board. BRIEF DESCRIPTION OF THE DRAWINGS
[0033] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the accompanying drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and the originals and elements are not necessarily drawn to scale.
[0034] Figure 1A schematic diagram of the structure of a control system of an auxiliary board provided in this application;
[0035] Figure 2 A schematic diagram of the structure of a control system of an auxiliary board provided for a possible implementation of the present application;
[0036] Figure 3 A functional schematic diagram of a connector interface provided for this application;
[0037] Figure 4 A flowchart of a control method for an auxiliary board provided in the present application;
[0038] Figure 5 A waveform diagram of a PWM signal provided in this application;
[0039] Figure 6 A flow chart of another control method of an auxiliary board provided in the present application;
[0040] Figure 7 A signaling diagram of a control method for an auxiliary board provided in this application;
[0041] Figure 8 A schematic diagram of the structure of an electronic device provided in this application. DETAILED DESCRIPTION
[0042] The following describes the embodiments of the present application in conjunction with the drawings in the embodiments of the present application. The terms used in the implementation method section of the present application are only used to explain the specific embodiments of the present application, and are not intended to limit the present application.
[0043] The embodiments of the present application are described below in conjunction with the accompanying drawings. Those skilled in the art will appreciate that, with the development of technology and the emergence of new scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0044] The terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and need not be used to describe a specific order or sequential order. It should be understood that the terms used in this way can be interchangeable under appropriate circumstances, which is only to describe the distinction mode adopted by the objects of the same attributes when describing in the embodiments of the present application. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, so that the process, method, system, product or equipment comprising a series of units need not be limited to those units, but may include other units that are not clearly listed or inherent to these processes, methods, products or equipment.
[0045] The first aspect of the present application provides a control system for an auxiliary board, such as Figure 1As shown, the control system of the auxiliary board includes:
[0046] A main board controller 1, a main board connector 2, at least two auxiliary board controllers 3 and at least two auxiliary board connector groups 4,
[0047] The main board card is configured with a main board controller 1 and a main board connector 2, and an auxiliary board card is configured with an auxiliary board controller 3 and an auxiliary board connector group 4. The main board controller 1 in the main board card is connected in series with the auxiliary board controllers configured in at least two auxiliary boards through the main connector and at least two auxiliary board connector groups;
[0048] The main board controller is connected to at least two auxiliary board controllers through a bus communication, and the bus is configured in the main board connector and the auxiliary board connector group.
[0049] It should be noted that, in actual application scenarios, the motherboard controller 1 is an electronic device for responding to instructions sent by the motherboard and generating auxiliary board control instructions. The motherboard controller 1 can be a baseboard management controller (Baseboard Management Controller, BMC) or a central processing unit (Central Processing Unit, CPU).
[0050] In a possible implementation, since the mainboard usually does not need to be replaced or upgraded, the mainboard controller 1 may also be the CPU of the mainboard, and the corresponding control function is realized by loading the corresponding program script in the CPU of the mainboard.
[0051] It should be noted that, in actual application scenarios, the auxiliary board controller 3 is an electronic device used to store the control mode of the auxiliary board card, so as to respond to the control instructions sent by the main board controller 1 and perform corresponding control and feedback operations. The auxiliary board controller 3 can be a microcontroller unit (MCU) or a programmable logic device (PLD).
[0052] It should be noted that, in actual application scenarios, the above-mentioned mainboard connector 2 and the above-mentioned auxiliary board connector group 4 are devices used to connect a board to other boards, or a board to other devices. Since the models of the auxiliary boards are different, the shapes of their output pins are also different. This results in the need to use signal transmission lines of different specifications according to the models of different auxiliary boards when using the existing "point-to-point" control method, resulting in increased development and production costs. However, the present application unifies the specifications of the signal transmission lines between the boards by configuring the above-mentioned mainboard connector 2 and the auxiliary board connector group 4, thereby reducing development and production costs.
[0053] It should be noted that, in actual application scenarios, for the existing "point-to-point" control method, the mainboard recognizes each auxiliary board by identifying the transmission port definition, and then controls it. When the auxiliary board is replaced, it is necessary to redefine the transmission port of the new auxiliary board on the mainboard. However, the present application configures an auxiliary board controller 3 for storing the control method of the auxiliary board in the auxiliary board to respond to the control instructions sent by the mainboard controller 1 and perform corresponding control and feedback operations. Since the auxiliary board controller 3 stores the control method of the auxiliary board, after the auxiliary board controller is installed on the replaced auxiliary board, the control method of the auxiliary board in the auxiliary board controller 3 does not change, and therefore there is no need to change the control method in the mainboard controller 1, thereby improving the reuse rate of the control method of the auxiliary board.
[0054] It should be noted that the above-mentioned bus is a common communication harness for transmitting information between devices. This application configures the mainboard controller 1 to communicate with at least two auxiliary board controllers 4 through the bus, so that the mainboard controller 1 can obtain the address of each auxiliary board controller 4 through the bus, thereby realizing the control of each auxiliary board.
[0055] The present application configures the mainboard controller in the mainboard card to be connected in series with the auxiliary board controller configured in at least one auxiliary board card through the main connector and the auxiliary board connector group, and configures the mainboard controller and at least one auxiliary board controller to be connected through bus communication, so that the mainboard can realize the control of each auxiliary board card. At the same time, by configuring the mainboard controller and the mainboard connector on the mainboard card, and configuring an auxiliary board controller and an auxiliary board connector group on the auxiliary board, when the auxiliary board card needs to be replaced, there is no need to redefine the transmission port on the mainboard, and only the auxiliary board controller and the auxiliary board connector group configured on the auxiliary board to be replaced need to be reinstalled on the new auxiliary board, thereby improving the reuse rate of the mainboard's control method for the auxiliary board card. Finally, by configuring the auxiliary board connector group, the specifications of the data transmission lines between the boards are unified, reducing the development and production costs. It can be seen that the present application provides an auxiliary board control method that improves the reuse rate of the mainboard's control method for the auxiliary board card, while reducing the development and production costs of implementing the auxiliary board control method.
[0056] In a possible implementation, the auxiliary board connector set 4 includes:
[0057] The first auxiliary board connector 5 and the second auxiliary board connector 6, the output end of the main board controller 1 is electrically connected to the first input end of the main board connector 2, the first output end of the main board connector 2 is electrically connected to the first input end of the first auxiliary board connector 5, the first output end of the first auxiliary board connector 5 is electrically connected to the first input end of the auxiliary board controller 3, the first output end of the auxiliary board controller 3 is electrically connected to the second input end of the first auxiliary board connector 5, the second output end of the first auxiliary board connector 5 is electrically connected to the second input end of the main board connector 2, the second output end of the main board connector 2 is electrically connected to the first input end of the main board controller 1, the second output end of the auxiliary board controller 3 is electrically connected to the first input end of the second auxiliary board connector 6, and the second output end of the second auxiliary board connector 6 is electrically connected to the second input end of the auxiliary board controller 3;
[0058] The first output end of the second auxiliary board connector 6 configured on the first auxiliary board card is electrically connected to the first input end of the first auxiliary board connector 5 configured on the second auxiliary board card, and the second output end of the first auxiliary board connector 5 configured on the second auxiliary board card is electrically connected to the second input end of the second auxiliary board connector 6 configured on the first auxiliary board card. The first auxiliary board and the second auxiliary board are adjacent auxiliary boards.
[0059] In order to facilitate the above Figure 1 The understanding of the control system of the auxiliary board shown is explained here in conjunction with a possible implementation of the present application:
[0060] like Figure 2 The figure shows a schematic diagram of the structure of a control system of an auxiliary board, which includes a main board and n auxiliary boards, where n=1, ..., n.
[0061] The first output end of the mainboard controller 1 is electrically connected to the first input end of the mainboard connector 2, the first output end of the mainboard connector 2 is electrically connected to the first input end of the first auxiliary board connector 5, the first output end of the first auxiliary board connector 5 is electrically connected to the first input end of the auxiliary board controller 3, the first output end of the auxiliary board controller 3 is electrically connected to the second input end of the first auxiliary board connector 5, the second output end of the first auxiliary board connector 5 is electrically connected to the second input end of the mainboard connector 2, the second output end of the mainboard connector 2 is electrically connected to the first input end of the mainboard controller 1, the second output end of the auxiliary board controller 3 is electrically connected to the first input end of the second auxiliary board connector 6, and the second output end of the second auxiliary board connector 6 is electrically connected to the second input end of the auxiliary board controller 3.
[0062] The connection relationship between the auxiliary boards is as follows: Figure 2The connection relationship between the auxiliary board 1 and the auxiliary board 2 is shown as follows: the first output end of the second auxiliary board connector 6 configured on the auxiliary board 1 is electrically connected to the first input end of the first auxiliary board connector 5 configured on the auxiliary board 2, the first output end of the first auxiliary board connector 5 in the auxiliary board 2 is electrically connected to the first input end of the auxiliary board controller 3 in the auxiliary board 2, the first output end of the auxiliary board controller 3 in the auxiliary board 2 is electrically connected to the second input end of the first auxiliary board connector 5 in the auxiliary board 2, and the second output end of the first auxiliary board connector 5 configured in the auxiliary board 2 is electrically connected to the second input end of the second auxiliary board connector 6 configured on the auxiliary board 1.
[0063] The command transceiver of the main board controller 1 and the command transceiver of each auxiliary board controller 3 are connected to the bus 7 in the main board connector 2 , the first auxiliary board connector 5 and the second auxiliary board connector 6 .
[0064] In a possible implementation, in order to realize the transmission of corresponding signals, the functions of the interfaces can be predefined in the main board connector 2, the first auxiliary board connector 5 and the second auxiliary board connector 6. Figure 3 As shown, this is a functional diagram of the connector interface. Figure 3 S1 in the figure can be any one of the main board connector 2, the first auxiliary board connector 5 and the second auxiliary board connector 6 deployed on the upstream board, and S2 can be any one of the main board connector 2, the first auxiliary board connector 5 and the second auxiliary board connector 6 deployed on the downstream board. Among them, interface 1 is a sending interface, which is used to transmit the electrical signal sent by the upstream board to the downstream board. Interface 2 is a feedback interface, which is used to transmit the electrical signal fed back by the downstream board to the upstream board. Interface 3 is a power supply interface, which is used for the upstream board to supply power to the downstream board. Interface 4 is an I2C clock interface, which is used to transmit the I2C clock signal sent by the upstream board to the downstream board. Interface 5 is an I2C data interface, which is an I2C bus between the upstream board and the downstream board, and is used to transmit control instructions or data query instructions. Interface 6 is a ground interface, which is used to form a loop with interface 3. It should be noted that the definitions of the above interfaces 4 and 5 are set to meet the bus structure of the bidirectional two-wire synchronous serial bus (Inter-Integrated Circuit, I2C). If a bus of other structural types is used, it can be set according to the actual application scenario.
[0065] The second aspect of the present application provides a control method for an auxiliary board, which is applied to each auxiliary board controller in a control system of an auxiliary board according to the first aspect or any possible implementation of the first aspect, such as Figure 4 As shown, the control method of the auxiliary board includes:
[0066] S401. The current auxiliary board controller obtains the reference address sent by the main board controller through the bus, and concatenates the reference address with the auxiliary board number stored locally to obtain the access address of the current auxiliary board controller. The current auxiliary board controller is any auxiliary board controller.
[0067] It should be noted that in actual application scenarios, the above Figure 4 There are many implementations of step S401, and one exemplary implementation is provided here:
[0068] The current auxiliary board controller obtains the reference address 0x32 sent by the main board controller through the bus. This reference address is visible to the main board controller and each auxiliary board controller connected to the bus. Assuming that the auxiliary board number stored locally in the current auxiliary board controller is 4, the reference address is concatenated with the auxiliary board number, and the access address of the current auxiliary board controller is 0x32+4.
[0069] S402: The current auxiliary board controller sends the access address to the main board controller through the bus, so that the main board controller sends a control message to the current auxiliary board controller based on the access address.
[0070] S403: The current auxiliary board controller sends the received control message to the current auxiliary board, so that the current auxiliary board runs based on the control message. The current auxiliary board is an auxiliary board configured with the current auxiliary board controller.
[0071] It should be noted that the present application configures the current auxiliary board controller to obtain the reference address sent by the main board controller through the bus, splices the reference address with the auxiliary board number stored locally, obtains the access address of the current auxiliary board controller, and sends the access address to the main board controller through the bus, so that the main board controller knows the access address of each auxiliary board controller. Subsequently, by configuring the current auxiliary board controller to send the received control message to the current auxiliary board, so that the current auxiliary board runs based on the control message, the main board controls the auxiliary board. And because the control method is executed by the auxiliary board controller without the participation of the auxiliary board, when the auxiliary board needs to be replaced, only the auxiliary board controller and the corresponding auxiliary board connector group configured on the replaced auxiliary board need to be installed on the new auxiliary board, so that the main board can control the new auxiliary board, which improves the reuse rate of the main board's control method for the auxiliary board.
[0072] In one possible implementation, the method for obtaining the above-mentioned auxiliary board number includes: in the running state, the current auxiliary board controller parses the first duty cycle of the pulse signal sent by the upstream controller, and based on the first duty cycle, performs a lookup operation on the preset duty cycle comparison table to obtain the second duty cycle and the auxiliary board number, the upstream controller is the main board controller or the auxiliary board controller, the preset duty cycle comparison table stores multiple duty cycles and the auxiliary board numbers corresponding to each duty cycle, and the current auxiliary board controller is any auxiliary board controller.
[0073] It should be noted that in actual application scenarios, the above operating status refers to the above Figure 1 The control system of the auxiliary board shown in the figure is in the state after completing the power-on self-test. Since the auxiliary board controller may not be able to connect to the control system normally due to vibration or aging, in order to improve the operating reliability of the control system, the control system needs to perform a self-test after power-on, and enter the above operating state if the self-test is correct.
[0074] It should be noted that in actual application scenarios, the above pulse signal is a pulse signal generated by the main board controller or the auxiliary board controller through an analog control method of pulse width modulation (PWM). The waveform diagram of PWM signals with different duty cycles is shown in the figure below. Figure 5 As shown, the waveform diagram includes a reference PWM signal, a 0% duty cycle PWM signal, a 5% duty cycle PWM signal, a 95% duty cycle PWM signal and a 100% duty cycle PWM signal.
[0075] It should be noted that, in an actual application scenario, the preset duty cycle comparison table may be in the form of the following Table 1.
[0076]
[0077] Table 1
[0078] It should be noted that, in the above-mentioned running state, the current auxiliary board controller parses the first duty cycle of the pulse signal sent by the upstream controller, and performs a lookup operation on the preset duty cycle comparison table based on the first duty cycle to obtain the second duty cycle and the auxiliary board card number. There are multiple implementation methods, and one exemplary method is provided here, including the following steps A1 to A4. Step A1, the current auxiliary board controller parses the pulse signal with a duty cycle of the first duty cycle sent by the upstream controller. And trigger step A2.
[0079] Step A2, look up the preset duty cycle comparison table to obtain the auxiliary board number corresponding to the first duty cycle, and trigger step A3.
[0080] Step A3, adding 1 to the auxiliary board number corresponding to the first duty cycle obtained in step A2 to obtain the auxiliary board number corresponding to the current auxiliary board controller, and triggering step A4.
[0081] Step A4, looking up the preset duty cycle comparison table according to the auxiliary board number corresponding to the current auxiliary board controller obtained in step A3, and obtaining a second duty cycle corresponding to the auxiliary board number corresponding to the current auxiliary board controller.
[0082] In a possible implementation, in order to reduce the difficulty of developing the auxiliary board controller, the auxiliary board controller is usually not configured to perform power-on self-test. Therefore, in order to enable the current auxiliary board controller to identify whether it is currently in the power-on self-test state based on the pulse signal sent by the upstream controller, the current auxiliary board controller parses the first duty cycle of the pulse signal sent by the upstream controller, and performs a lookup operation on the preset duty cycle comparison table based on the first duty cycle, and the implementation method of obtaining the second duty cycle and the auxiliary board card number may also include the following steps B1 to B3.
[0083] Step B1: the current auxiliary board controller analyzes a pulse signal with a first duty cycle sent by an upstream controller, and triggers step B2.
[0084] It should be noted that the above step B1 is the same step as the above step A1.
[0085] Step B2, look up the preset duty cycle comparison table to obtain the auxiliary board number corresponding to the first duty cycle, and determine whether the auxiliary board number corresponding to the first duty cycle is "self-test". If yes, trigger step B3, if not, trigger the above step A3.
[0086] Step B3, searching the preset duty cycle comparison table for the duty cycle corresponding to the auxiliary board number with the content "self-test response", and determining the duty cycle as the second duty cycle corresponding to the auxiliary board number corresponding to the current auxiliary board controller.
[0087] In one possible implementation, the above Figure 4 The control method of the auxiliary board shown also includes:
[0088] The current auxiliary board controller generates a pulse signal with a second duty cycle, and sends the pulse signal with the second duty cycle to the upstream controller and the downstream controller through the auxiliary board connector group respectively. The downstream controller is an auxiliary board controller with the current auxiliary board controller as the upstream controller.
[0089] In a possible implementation, if the current auxiliary board determines through the above step B2 that the auxiliary board number corresponding to the first duty cycle is "self-test", then the above Figure 4The control method of the auxiliary board shown also includes the following steps C1 to C2:
[0090] In step C1, the current auxiliary board controller generates a pulse signal with a second duty cycle, and sends the pulse signal with the second duty cycle to the upstream controller through the auxiliary board connector group, and triggers step C3.
[0091] In step C2, the current auxiliary board controller sends a pulse signal with a first duty cycle to a downstream controller through the auxiliary board connector group, and the downstream controller is an auxiliary board controller with the current auxiliary board controller as an upstream controller, and step C3 is triggered.
[0092] Step C3: the current auxiliary board controller sends the pulse signal fed back by the downstream controller to the upstream controller through the first auxiliary board connector in the auxiliary board connector group.
[0093] It should be noted that, in an actual application scenario, the above step C1 may be a step triggered by the above step B3.
[0094] In a possible implementation, in order to reduce delay, the above step C1 and the above step C2 may be executed concurrently.
[0095] The present application configures a pulse signal with a duty cycle of a first duty cycle to be sent to a downstream controller through an auxiliary board connector group, so that the downstream controller also generates a pulse signal with a duty cycle of a second duty cycle, and configures a pulse signal with a duty cycle of the second duty cycle and a pulse signal with a duty cycle of the second duty cycle fed back by the downstream controller to be sent to an upstream controller through an auxiliary board connector group, so that the pulse signals with the second duty cycle generated by each auxiliary board controller are finally fed back to the main board controller, so that the main board controller can achieve self-check of system integrity by determining whether the number of pulse signals with the second duty cycle is equal to the preset number of auxiliary board controllers.
[0096] In a possible implementation, the method further includes:
[0097] The current auxiliary board controller sends the pulse signal fed back by the downstream controller to the upstream controller through the first auxiliary board connector in the auxiliary board connector group.
[0098] It should be noted that in the actual application scenario, the present application generates a pulse signal with a duty cycle of the second duty cycle by configuring the current auxiliary board controller, and sends the pulse signal with a duty cycle of the second duty cycle to the upstream controller and the downstream controller respectively through the auxiliary board connector group, and sends the pulse signal fed back by the downstream controller to the upstream controller through the first auxiliary board connector in the auxiliary board connector group, so that the downstream controller can generate its corresponding auxiliary board number based on the pulse signal with a duty cycle of the second duty cycle, and report it step by step, so that the main board controller finally knows the auxiliary board number of each auxiliary board controller connected in series with it, and then the main board knows the auxiliary board number of each auxiliary board controller that needs to be controlled. The main board can realize the clarification and subsequent control of the control object based on the corresponding relationship between the auxiliary board number configured by the main board itself and the corresponding auxiliary device. At the same time, each auxiliary board controller generates its own access address based on the auxiliary board number stored by itself, combined with the basic address obtained in the subsequent bus, so as to assist the main board controller in the subsequent auxiliary board control.
[0099] The third aspect of the present application provides a control method for an auxiliary board, which is applied to a mainboard controller in a control system of an auxiliary board in the first aspect or any possible implementation of the first aspect, such as Figure 6 As shown, the control method of the auxiliary board includes:
[0100] S601. The mainboard controller parses the received control message sending request to obtain the control message and the auxiliary board number.
[0101] It should be noted that, in an actual application scenario, the control message sending request may be a request generated by the mainboard based on a control operation instruction of the user.
[0102] S602: The mainboard controller searches for a locally stored access address having an auxiliary board number, and sends a control message to the auxiliary board controller corresponding to the access address through the bus.
[0103] It should be noted that, in actual application scenarios, the access address may be an address obtained by concatenating the auxiliary board number and the reference address.
[0104] It should be noted that, by configuring the mainboard controller to search for the locally stored access address with the auxiliary board number, and sending the control message to the auxiliary board controller corresponding to the access address through the bus, the present application, compared with the existing point-to-point control method, can realize the mainboard to control each auxiliary board while avoiding the cost increase problem caused by the need for a large number of data transmission lines in the point-to-point control method, and because the above-mentioned access address corresponds to the auxiliary board controller. Therefore, when the auxiliary board is replaced, it is not necessary to redefine the access address in the auxiliary board controller, thereby improving the reuse rate of the mainboard's control method for the auxiliary board.
[0105] In one possible implementation, the above Figure 6 The control method of the auxiliary board shown also includes:
[0106] The mainboard controller generates a pulse signal with a first duty cycle when detecting a power-on self-test signal, and sends the pulse signal with the first duty cycle to at least one auxiliary board controller connected in series with the mainboard controller through the mainboard connector, so that the at least one auxiliary board controller performs a self-test operation in response to the pulse signal;
[0107] The mainboard controller starts timing when a pulse signal with a first duty cycle is sent, and outputs a fault alarm signal when the number of pulse signals with a duty cycle other than the first duty cycle received within a first preset time period is not equal to the total number of auxiliary board controllers.
[0108] It should be noted that, in actual application scenarios, the above-mentioned mainboard controller starts timing at the moment when a pulse signal with a duty cycle of the first duty cycle is issued, and when a pulse signal with a duty cycle other than the first duty cycle is not received within a first preset time period, there are multiple implementation methods for outputting a fault alarm signal, and one exemplary method is provided here, including the following steps D1 to D.
[0109] Step D1, the mainboard controller starts timing when a pulse signal with a duty cycle of the first duty cycle is sent, and determines whether at least one pulse signal with a duty cycle corresponding to the auxiliary board number with the content of "self-test response" is detected within a second preset time period. If so, step D2 is triggered, if not, step D3 is triggered.
[0110] In a possible implementation, the first duty cycle is 0% of the duty cycle corresponding to the auxiliary board number with the content of "self-test" in Table 1. The duty cycle corresponding to the auxiliary board number with the content of "self-test response" is a pulse signal whose duty cycle is not the first duty cycle. The duty cycle corresponding to the auxiliary board number with the content of "self-test response" is 100% in Table 1.
[0111] Step D2, the mainboard controller continues to count, and determines whether the number of pulse signals with a duty cycle not equal to the first duty cycle received when the first preset time is reached is equal to the total number of auxiliary board controllers. If so, step D3 is triggered. If not, the output content is a fault alarm signal of an auxiliary board abnormality.
[0112] The second preset time length and the first preset time length share a timing starting point, and the second preset time length is shorter than the first preset time length.
[0113] In step D3, the mainboard controller controls the control system of the auxiliary board to enter a running state.
[0114] It should be noted that in actual application scenarios, when the above step D3 is triggered by the above step D1, it indicates that there is no auxiliary board controller. Such scenarios are mostly scenarios for self-checking the main board controller.
[0115] In order to facilitate the understanding of the control methods of the auxiliary board provided in the second aspect and the third aspect, a possible implementation of the present application is specifically described here:
[0116] like Figure 7 As shown, it is applied to Figure 1 The signaling diagram of the control method of the auxiliary board of the control system of the auxiliary board shown in the figure, the control interaction parties include: the main board controller, the auxiliary board controller 1 and the auxiliary board controller 2. The relevant duty cycle and the corresponding auxiliary board number refer to the above table 1. The specific steps are as follows:
[0117] In step S701, the mainboard controller detects a power-on self-test signal, generates a pulse signal with a first duty cycle, and triggers step S702.
[0118] In step S702, the main board controller sends a pulse signal with a first duty cycle to the auxiliary board controller 1, and triggers step S703.
[0119] In step S703, the auxiliary board controller 1 performs a lookup operation on a preset duty cycle comparison table based on the first duty cycle to obtain the auxiliary board card number corresponding to the first duty cycle with the content of "self-test", and triggers steps S704 and S705.
[0120] In step S704, the auxiliary board controller 1 sends a pulse signal with a first duty cycle to the auxiliary board controller 2, and step S706 is triggered.
[0121] In step S705, the auxiliary board controller 1 searches the preset duty cycle comparison table for the second duty cycle corresponding to the auxiliary board card number with the content "self-test response", and triggers step S707.
[0122] In step S706, the auxiliary board controller 2 performs a lookup operation on a preset duty cycle comparison table based on the first duty cycle to obtain the auxiliary board card number corresponding to the first duty cycle with the content of "self-test", and triggers step S708.
[0123] In step S707, the auxiliary board controller 1 sends a pulse signal with a second duty cycle to the main board controller, and step S711 is triggered.
[0124] In a possible implementation, after the above step S707 triggers step S711, the mainboard controller will determine whether the current time has reached the end time of the first preset duration. If not, the mainboard controller will continue to wait.
[0125] In step S708, the auxiliary board controller 2 searches the preset duty cycle comparison table for the second duty cycle corresponding to the auxiliary board card number with the content "self-test response", and triggers step S709.
[0126] In step S709, the auxiliary board controller 2 sends a pulse signal with a second duty cycle to the auxiliary board controller 1, and step S710 is triggered.
[0127] In step S710, the auxiliary board controller 1 sends a pulse signal with a second duty cycle to the main board controller, and triggers step S711.
[0128] Step S711, the mainboard controller determines whether the number of pulse signals with a second duty cycle received within a first preset time period is equal to the total number of auxiliary board controllers. If so, step S712 is triggered, and if not, step S713 is triggered.
[0129] In a possible implementation, the total number of auxiliary board controllers can be determined by the operation and maintenance personnel when completing the following steps: Figure 1 After the control system of the auxiliary board shown is built, the parameters are set based on the actual situation of the control system.
[0130] In step S712, the mainboard controller switches to the running state, generates a pulse signal with a duty cycle of the third duty cycle, and triggers step S714.
[0131] Step S713: output an alarm signal.
[0132] In step S714, the main board controller sends a pulse signal with a third duty cycle to the auxiliary board controller 1, and triggers step S715.
[0133] In step S715, the auxiliary board controller 1 performs a lookup operation on a preset duty cycle comparison table based on the third duty cycle to obtain the auxiliary board card number corresponding to the third duty cycle, and triggers step S716.
[0134] In one possible implementation, since the auxiliary board controller 1 cannot determine whether the current main board controller is in the power-on self-test state or the running state, after step S715 is executed and before step S716 is triggered, the auxiliary board controller 1 can also be set to: determine whether the content of the auxiliary board number corresponding to the third duty cycle is "self-test", if not, trigger step S716, if yes, trigger step S704 and step S705, and at this time the duty cycle of the pulse signal in step S704 is the third duty cycle.
[0135] In step S716, the auxiliary board controller 1 adds 1 to the auxiliary board number corresponding to the third duty cycle to obtain its own auxiliary board number, and obtains the fourth duty cycle corresponding to its own auxiliary board number by table lookup, and triggers step S717.
[0136] In step S717, the auxiliary board controller 1 changes the direction and simultaneously sends a pulse signal with a duty cycle of the fourth duty cycle to the main board controller and the auxiliary board controller 2, and triggers step S722 and step S718.
[0137] In step S718, the auxiliary board controller 2 performs a lookup operation on a preset duty cycle comparison table based on the fourth duty cycle to obtain the auxiliary board card number corresponding to the fourth duty cycle, and triggers step S719.
[0138] In one possible implementation, since the auxiliary board controller 2 cannot determine whether the current main board controller is in the power-on self-test state or the running state, after step S718 is executed and before step S719 is triggered, the auxiliary board controller 2 can also be set to: determine whether the content of the auxiliary board number corresponding to the fourth duty cycle is "self-test", if not, trigger step S719, if yes, trigger step S706, and at this time the duty cycle of the pulse signal in step S706 is the fourth duty cycle.
[0139] In step S719, the auxiliary board controller 2 adds 1 to the auxiliary board number corresponding to the fourth duty cycle to obtain its own auxiliary board number, and obtains the fifth duty cycle corresponding to its own auxiliary board number by table lookup, and triggers step S720.
[0140] In step S720, the auxiliary board controller 2 sends a pulse signal with a duty cycle of the fifth duty cycle to the auxiliary board controller 1, and step S721 is triggered.
[0141] In step S721, the auxiliary board controller 1 sends a pulse signal with a duty cycle of the fifth duty cycle to the main board controller, and step S722 is triggered.
[0142] Step S722, when the number of pulse signals obtained is equal to the total number of auxiliary board controllers, the main board controller sends a reference address through the bus and obtains each access address fed back by each auxiliary board controller; based on the target control operation, a control instruction is sent to the access address with the auxiliary board number in the target control operation.
[0143] A fourth aspect of the present application provides an electronic device, comprising at least one processor and a memory connected to the processor, wherein:
[0144] The memory is used to store computer programs;
[0145] The processor is used to execute a computer program so that the electronic device can implement the above-mentioned second aspect or any implementation of the second aspect, and the control method of the auxiliary board in the third aspect or any implementation of the third aspect.
[0146] A fourth aspect of the present application provides a structural diagram of an electronic device as shown in Figure 8 The electronic devices in the embodiments of the present application may include but are not limited to fixed terminals such as mobile phones, notebook computers, PDAs (personal digital assistants), PADs (tablet computers), desktop computers, and the like. Figure 8 The electronic device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0147] like Figure 8 As shown, the electronic device may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 801, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage device 808 to a random access memory (RAM) 803. When the electronic device is powered on, various programs and data required for the operation of the electronic device are also stored in the RAM 803. The processing device 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0148] Typically, the following devices may be connected to the I / O interface 805: input devices 806 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; output devices 807 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; storage devices 808 including, for example, a memory card, a hard disk, etc.; and communication devices 809. The communication device 809 may allow the electronic device to communicate with other devices wirelessly or by wire to exchange data. Although Figure 8 An electronic device having various devices is shown, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.
[0149] A fifth aspect of the present application provides a computer storage medium, which carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement the control method of the auxiliary board of the above-mentioned first aspect or any implementation method of the first aspect.
[0150] An embodiment of the present application also provides a computer program product including computer-readable instructions. When the computer-readable instructions are executed on an electronic device, the electronic device implements any auxiliary board control method provided in the embodiment of the present application.
[0151] It should also be noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed over multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the drawings of the device embodiments provided by the present application, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.
[0152] Through the description of the above implementation mode, the technicians in the field can clearly understand that the present application can be implemented by means of software plus necessary general hardware, and of course, it can also be implemented by special hardware including special integrated circuits, special CPUs, special memories, special components, etc. In general, all functions completed by computer programs can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be various, such as analog circuits, digital circuits or special circuits. However, for the present application, software program implementation is a better implementation mode in more cases. Based on such an understanding, the technical solution of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer floppy disk, a U disk, a mobile hard disk, a ROM, a RAM, a disk or an optical disk, etc., including a number of instructions to enable a computer device (which can be a personal computer, a training device, or a network device, etc.) to execute the methods described in each embodiment of the present application.
[0153] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product.
[0154] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present application is generated in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website site, a computer, a training device, or a data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, training device, or data center. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device, a data center, etc. that includes one or more available media integrations. The available medium may be a magnetic medium, (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)), etc.
Claims
1. A control system for an auxiliary board, characterized in that: include: A main board controller, a main board connector, at least two auxiliary board controllers and at least two auxiliary board connector groups, The main board card is configured with the main board controller and the main board connector, and an auxiliary board card is configured with one auxiliary board controller and one auxiliary board connector group. The main board controller in the main board card is connected in series with the auxiliary board controllers configured in at least two auxiliary boards through the main connector and at least two auxiliary board connector groups. The main board controller is communicatively connected with at least two auxiliary board controllers via a bus, and the bus is configured in the main board connector and the auxiliary board connector group.
2. The control system of the auxiliary board according to claim 1, characterized in that: The auxiliary board connector group includes: a first auxiliary board connector and a second auxiliary board connector, the output end of the main board controller is electrically connected to the first input end of the main board connector, the first output end of the main board connector is electrically connected to the first input end of the first auxiliary board connector, the first output end of the first auxiliary board connector is electrically connected to the first input end of the auxiliary board controller, the first output end of the auxiliary board controller is electrically connected to the second input end of the first auxiliary board connector, the second output end of the first auxiliary board connector is electrically connected to the second input end of the main board connector, the second output end of the main board connector is electrically connected to the first input end of the main board controller, the second output end of the auxiliary board controller is electrically connected to the first input end of the second auxiliary board connector, and the second output end of the second auxiliary board connector is electrically connected to the second input end of the auxiliary board controller; The first output end of the second auxiliary board connector configured on the first auxiliary board card is electrically connected to the first input end of the first auxiliary board connector configured on the second auxiliary board card, and the second output end of the first auxiliary board connector configured on the second auxiliary board card is electrically connected to the second input end of the second auxiliary board connector configured on the first auxiliary board card. The first auxiliary board card and the second auxiliary board card are adjacent auxiliary boards connected in series.
3. A control method for an auxiliary board, characterized in that: Each auxiliary board controller applied to the control system of the auxiliary board as claimed in claims 1 to 2, the control method of the auxiliary board comprises: The current auxiliary board controller obtains the reference address sent by the main board controller through the bus, and concatenates the reference address with the auxiliary board card number stored locally to obtain the access address of the current auxiliary board controller, the current auxiliary board controller being any of the auxiliary board controllers; The current auxiliary board controller sends the access address to the main board controller through the bus, so that the main board controller sends a control message to the current auxiliary board controller based on the access address; The current auxiliary board controller sends the received control message to the current auxiliary board, so that the current auxiliary board runs based on the control message. The current auxiliary board is an auxiliary board configured with the current auxiliary board controller.
4. The control method of the auxiliary board according to claim 3, characterized in that: The method for obtaining the auxiliary board number includes: In the running state, the current auxiliary board controller parses the first duty cycle of the pulse signal sent by the upstream controller, and based on the first duty cycle, performs a lookup operation on the preset duty cycle comparison table to obtain the second duty cycle and the auxiliary board number. The upstream controller is the main board controller or the auxiliary board controller. The preset duty cycle comparison table stores multiple duty cycles and the auxiliary board numbers corresponding to each duty cycle. The current auxiliary board controller is any one of the auxiliary board controllers.
5. The control method of the auxiliary board according to claim 4, characterized in that: The method further comprises: The current auxiliary board controller generates a pulse signal with a duty cycle of the second duty cycle, and sends the pulse signal with a duty cycle of the second duty cycle to the upstream controller and the downstream controller respectively through the auxiliary board connector group, and the downstream controller is the auxiliary board controller with the current auxiliary board controller as the upstream controller.
6. The control method of the auxiliary board according to claim 5, characterized in that: Also includes: The current auxiliary board controller sends the pulse signal fed back by the downstream controller to the upstream controller through the first auxiliary board connector in the auxiliary board connector group.
7. A control method for an auxiliary board, characterized in that: The mainboard controller used in the control system of the auxiliary board as claimed in claims 1 to 2, the control method of the auxiliary board comprising: The mainboard controller parses the received control message sending request to obtain the control message and the auxiliary board number; The mainboard controller searches for a locally stored access address having the auxiliary board number, and sends the control message to the auxiliary board controller corresponding to the access address through a bus.
8. The control method of the auxiliary board according to claim 7, characterized in that: The method further comprises: The mainboard controller generates a pulse signal with a first duty cycle when detecting a power-on self-test signal, and sends the pulse signal with the first duty cycle to at least one auxiliary board controller connected in series with the mainboard controller through the mainboard connector, so that at least one auxiliary board controller performs a self-test operation in response to the pulse signal; The main board controller starts timing when the pulse signal with a duty cycle of the first duty cycle is sent, and outputs a fault alarm signal if the number of pulse signals with a duty cycle not equal to the first duty cycle received within a first preset time period is not equal to the total number of auxiliary board controllers.
9. An electronic device, characterized in that: The method comprises at least one processor and a memory connected to the processor, wherein: The memory is used to store computer programs; The processor is used to execute the computer program so that the electronic device can implement the control method of the auxiliary board as claimed in any one of claims 3 to 6 and claims 7 to 8.
10. A computer storage medium, characterized in that: The storage medium carries one or more computer programs, which, when executed by an electronic device, enable the electronic device to implement the control method of the auxiliary board as described in any one of claims 3 to 6 and claims 7 to 8.
