A programmable device configuration method, processor, apparatus and storage medium

By utilizing the collaborative work of the target memory on the main control board and the processor on the baseband board in the BBU, the problem of losing the configuration file of programmable devices after power failure is solved, realizing automatic configuration and efficient resource utilization, and supporting multi-scenario adaptation and function updates.

CN115705311BActive Publication Date: 2026-07-31DATANG MOBILE COMM EQUIP CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
DATANG MOBILE COMM EQUIP CO LTD
Filing Date
2021-08-04
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

Existing programmable devices such as FPGAs require reconfiguration after a power outage, resulting in the loss of configuration files and the inability to automatically retrieve and initialize the configuration files upon power-on.

Method used

By installing a target memory on the main control board of the BBU, the processor on the baseband board sends a file retrieval request to the main control board to obtain the configuration file and trigger the initialization of the programmable device. The programmable device is then configured using an EPLD or direct pin control.

Benefits of technology

It enables programmable devices to automatically acquire configuration files and complete initialization after power-on, making full use of existing BBU resources without consuming additional external resources, and supporting adaptation and function updates for different configuration scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115705311B_ABST
    Figure CN115705311B_ABST
Patent Text Reader

Abstract

This invention provides a programmable device configuration method, processor, apparatus, and storage medium, relating to the field of communication technology. It is applied to a first processor on a baseband board in a Baseband Module (BBU). The method includes: upon determining that the programmable device on the baseband board is powered on, sending a file retrieval request to a second processor on the main control board in the BBU, so that the second processor retrieves a configuration file for configuring the programmable device from a target memory on the main control board; receiving the configuration file sent by the second processor; triggering the programmable device to initialize; and, upon determining that the programmable device initialization is complete, sending the configuration file to the programmable device so that the programmable device configures itself based on the configuration file. This invention enables the programmable device to obtain the configuration file after power-on and complete its own configuration based on the configuration file.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication technology, and in particular to a programmable device configuration method, processor, apparatus, and storage medium. Background Technology

[0002] Programmable devices such as FPGAs (Field Programmable Gate Arrays) need to be configured using a configuration file before operation. This configuration file can be stored in the device's own memory. Currently, the memory configured in programmable devices is often SRAM (Static Random-Access Memory). However, data stored in SRAM is erased after power is turned off. Therefore, programmable devices need to retrieve the configuration file and reconfigure themselves every time power is applied.

[0003] Therefore, in order for programmable devices to operate normally, a programmable device configuration scheme is needed so that the programmable device can obtain a configuration file after being powered on and complete its own configuration based on the configuration file. Summary of the Invention

[0004] The purpose of this invention is to provide a programmable device configuration method, processor, apparatus, and storage medium, so that the programmable device can obtain a configuration file after being powered on and complete its own configuration based on the configuration file. The specific technical solution is as follows:

[0005] In a first aspect, embodiments of the present invention provide a programmable device configuration method applied to a first processor on a baseband board in a BBU, the method comprising:

[0006] When it is determined that the programmable device on the baseband board is powered on, a file acquisition request is sent to the second processor on the main control board in the BBU, so that the second processor can acquire the configuration file for configuring the programmable device from the target memory of the main control board;

[0007] Receive the configuration file sent by the second processor;

[0008] The programmable device is triggered to initialize. After the programmable device has completed initialization, the configuration file is sent to the programmable device so that the programmable device can configure itself based on the configuration file.

[0009] In one embodiment of the present invention, triggering the programmable device to initialize includes:

[0010] Send a programmable device initialization command to the EPLD on the baseband board so that the EPLD triggers the programmable device to initialize.

[0011] In one embodiment of the present invention, sending a programmable device initialization command to the EPLD on the baseband board, so that the EPLD triggers the programmable device to initialize, includes:

[0012] A programmable device initialization command is sent to the EPLD, causing the EPLD to control the second pin of the programmable device to be at a high level through the first pin, so that the programmable device is initialized. The second pin is a pin used to control the reset of the programmable device.

[0013] The third pin of the EPLD is used to determine whether the fourth pin of the programmable device is at a high level. If it is, the initialization of the programmable device is determined to be complete. The level of the fourth pin is used to reflect the initialization state of the programmable device.

[0014] In one embodiment of the present invention, before sending the configuration file to the programmable device, the method further includes:

[0015] The programmable device is triggered to receive the configuration file.

[0016] In one embodiment of the present invention, the step of sending a file retrieval request to a second processor on the main control board of the BBU when it is determined that the programmable device on the baseband board is powered on, so that the second processor retrieves a configuration file for configuring the programmable device from the target memory of the main control board, includes:

[0017] Determine the current configuration scenario of the baseband board when it is determined that the programmable device is powered on;

[0018] A file retrieval request is sent to the second processor on the main control board in the BBU to request a configuration file that matches the configuration scenario, so that the second processor retrieves the configuration file from the target memory of the main control board.

[0019] In one embodiment of the present invention, before sending the configuration file to the programmable device, the method further includes:

[0020] The monitoring reset program of the first processor is triggered to stop running, wherein the monitoring reset program is used to: trigger the first processor to reset when the first processor is in an abnormal state.

[0021] In one embodiment of the present invention, after sending the configuration file to the programmable device, the method further includes:

[0022] Send a preset number of bytes with a value of 0 to the programmable device.

[0023] Secondly, embodiments of the present invention provide a processor, which is mounted on a baseband board in a BBU, and the processor reads a computer program and performs the following operations:

[0024] When it is determined that the programmable device on the baseband board is powered on, a file acquisition request is sent to the second processor on the main control board in the BBU, so that the second processor can acquire the configuration file for configuring the programmable device from the target memory of the main control board;

[0025] Receive the configuration file sent by the second processor;

[0026] The programmable device is triggered to initialize. After the programmable device has completed initialization, the configuration file is sent to the programmable device so that the programmable device can configure itself based on the configuration file.

[0027] In one embodiment of the present invention, triggering the programmable device to initialize specifically includes:

[0028] Send a programmable device initialization command to the EPLD on the baseband board so that the EPLD triggers the programmable device to initialize.

[0029] In one embodiment of the present invention, sending a programmable device initialization command to the EPLD on the baseband board, so that the EPLD triggers the programmable device to initialize, specifically includes:

[0030] A programmable device initialization command is sent to the EPLD, causing the EPLD to control the second pin of the programmable device to be at a high level through the first pin, so that the programmable device is initialized. The second pin is a pin used to control the reset of the programmable device.

[0031] The third pin of the EPLD is used to determine whether the fourth pin of the programmable device is at a high level. If it is, the initialization of the programmable device is determined to be complete. The level of the fourth pin is used to reflect the initialization state of the programmable device.

[0032] In one embodiment of the present invention, before sending the configuration file to the programmable device, the method further includes:

[0033] The programmable device is triggered to receive the configuration file.

[0034] In one embodiment of the present invention, when it is determined that the programmable device on the baseband board is powered on, sending a file retrieval request to a second processor on the main control board in the BBU, so that the second processor retrieves a configuration file for configuring the programmable device from the target memory of the main control board, specifically includes:

[0035] Determine the current configuration scenario of the baseband board when it is determined that the programmable device is powered on;

[0036] A file retrieval request is sent to the second processor on the main control board in the BBU to request a configuration file that matches the configuration scenario, so that the second processor retrieves the configuration file from the target memory of the main control board.

[0037] In one embodiment of the present invention, before sending the configuration file to the programmable device, the method further includes:

[0038] The monitoring reset program of the first processor is triggered to stop running, wherein the monitoring reset program is used to: trigger the first processor to reset when the first processor is in an abnormal state.

[0039] In one embodiment of the present invention, after sending the configuration file to the programmable device, the method further includes:

[0040] Send a preset number of bytes with a value of 0 to the programmable device.

[0041] Thirdly, embodiments of the present invention provide a programmable device configuration apparatus applied to a first processor on a baseband board in a BBU, the apparatus comprising:

[0042] The request sending module is used to send a file acquisition request to the second processor on the main control board in the BBU when it is determined that the programmable device on the baseband board is powered on, so that the second processor can acquire the configuration file for configuring the programmable device from the target memory of the main control board;

[0043] The file receiving module is used to receive the configuration file sent by the second processor;

[0044] The file sending module is used to trigger the programmable device to initialize. After determining that the programmable device has completed initialization, it sends the configuration file to the programmable device so that the programmable device can configure itself based on the configuration file.

[0045] Fourthly, embodiments of the present invention provide a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of any of the methods described in the first aspect.

[0046] Fifthly, embodiments of the present invention also provide a computer program product containing instructions that, when run on a computer, cause the computer to perform any of the steps described in the first aspect.

[0047] Beneficial effects of the embodiments of the present invention:

[0048] In the solution provided by this embodiment of the invention, the configuration file of the programmable device is stored in the target memory installed on the main control board of the BBU. A first processor, installed on the same baseband board as the programmable device, sends a configuration file retrieval request to a second processor. After the second memory retrieves the configuration file from the target memory, it can send the configuration file to the first processor. The first processor triggers the programmable device to initialize, and after the programmable device initialization is completed, the first processor can send the configuration file to the programmable device so that the programmable device can configure itself based on the configuration file.

[0049] As can be seen from the above, the configuration file used to configure the programmable device is stored in the target memory. After the programmable device is powered on, the first processor can obtain the configuration file stored in the target memory and send the configuration file to the programmable device after triggering the programmable device initialization. Therefore, through this embodiment of the invention, the programmable device can obtain the configuration file and configure itself based on the obtained configuration file. Furthermore, the target memory and the second processor are devices that are installed on the main control board of most BBUs, and the first processor is a device that is installed on the baseband board of most BBUs. This embodiment of the invention can directly use the devices installed in most BBUs to realize the configuration of the programmable device. Therefore, this embodiment of the invention can make full use of the existing resources in the BBU without consuming additional external resources of the BBU. Attached Figure Description

[0050] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings.

[0051] Figure 1 A flowchart illustrating the first programmable device configuration method provided in an embodiment of the present invention;

[0052] Figure 2 A schematic diagram illustrating a first application scenario provided by an embodiment of the present invention;

[0053] Figure 3 A flowchart illustrating the second programmable device configuration method provided in an embodiment of the present invention;

[0054] Figure 4 A schematic diagram illustrating a second application scenario provided by an embodiment of the present invention;

[0055] Figure 5 A flowchart illustrating the third programmable device configuration method provided in an embodiment of the present invention;

[0056] Figure 6 This is a schematic diagram of a programmable device configuration apparatus provided in an embodiment of the present invention. Detailed Implementation

[0057] In this embodiment of the invention, the term "and / or" describes the relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. The character " / " generally indicates that the preceding and following associated objects have an "or" relationship.

[0058] In this embodiment of the invention, the term "multiple" refers to two or more, and other quantifiers are similar.

[0059] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art based on the embodiments of the present invention are within the scope of protection of the present invention.

[0060] In order to enable programmable devices to obtain configuration files after being powered on and to complete their own configuration based on the configuration files, embodiments of the present invention provide a programmable device configuration method, processor, device and storage medium.

[0061] This invention provides a method for configuring a programmable device, applied to a first processor on a baseband board in a BBU. The method includes:

[0062] When it is determined that the programmable device on the baseband board is powered on, a file acquisition request is sent to the second processor on the main control board of the BBU so that the second processor can acquire the configuration file for configuring the programmable device from the target memory of the main control board.

[0063] Receive the configuration file sent by the second processor.

[0064] The programmable device is triggered to initialize. After the programmable device has completed initialization, the configuration file is sent to the programmable device so that the programmable device can configure itself based on the configuration file.

[0065] As can be seen from the above, the configuration file used to configure the programmable device is stored in the target memory. After the programmable device is powered on, the first processor can obtain the configuration file stored in the target memory and send the configuration file to the programmable device after triggering the programmable device initialization. Therefore, through this embodiment of the invention, the programmable device can obtain the configuration file and configure itself based on the obtained configuration file. Furthermore, the target memory and the second processor are devices that are installed on the main control board of most BBUs, and the first processor is a device that is installed on the baseband board of most BBUs. This embodiment of the invention can directly use the devices installed in most BBUs to realize the configuration of the programmable device. Therefore, this embodiment of the invention can make full use of the existing resources in the BBU without consuming additional external resources of the BBU.

[0066] See Figure 1 This is a flowchart illustrating the first programmable device configuration method provided in an embodiment of the present invention. It is applied to a first processor on a baseband board in a BBU (Building Baseband Unit). The method includes the following steps S101-S103.

[0067] Specifically, the first processor on the baseband board in the aforementioned BBU can be a microprocessor.

[0068] S101: When it is determined that the programmable device on the baseband board is powered on, a file acquisition request is sent to the second processor on the main control board of the BBU so that the second processor can acquire a configuration file for configuring the programmable device from the target memory of the main control board.

[0069] The second processor mentioned above can be a microprocessor, a CPLD (Complex Programmable Logic Device), etc.

[0070] Specifically, since the programmable devices are all mounted on the baseband board, if the baseband board is powered on, the programmable devices can be considered powered on. Furthermore, if the BBU is powered on, all devices within the BBU are powered on; therefore, if the BBU is determined to be powered on, the programmable devices can be considered powered on. Alternatively, the programmable devices can also be powered on individually.

[0071] Furthermore, the aforementioned programmable device can be an FPGA, which is connected to the first processor and mounted on the same baseband board. The first processor is connected to a second processor on the main control board, and the second processor is connected to the target memory.

[0072] Specifically, the programmable device can be directly connected to the first processor, or indirectly connected through other devices.

[0073] In one embodiment of the present invention, after receiving the file acquisition request, the second processor can obtain a configuration file for configuring the programmable device from the target memory and send the obtained configuration file to the first processor. After receiving the configuration file, the first processor can store the configuration file in the memory on the baseband board.

[0074] Furthermore, the target memory can store different types of configuration files, and the programmable device can perform different configurations based on different types of configuration files, thereby enabling the programmable device to be applicable to different configuration scenarios.

[0075] In one embodiment of the present invention, the first processor requests various types of configuration files and sends each type of configuration file to the programmable device.

[0076] In another embodiment of the present invention, step S101 can be implemented by steps A-B below, which will not be described in detail here.

[0077] S102: Receive the configuration file sent by the second processor.

[0078] Specifically, the second processor can send the configuration file to the first processor via FTP (File Transfer Protocol).

[0079] S103: Trigger the initialization of the programmable device. After confirming that the initialization of the programmable device is complete, send the configuration file to the programmable device so that the programmable device can configure itself based on the configuration file.

[0080] In one embodiment of the present invention, the first processor may send an initialization instruction to the programmable device to trigger the programmable device to initialize. The initialization process of the programmable device involves setting the pins of the programmable device, etc.

[0081] Specifically, the first processor can set the second pin of the programmable device used to control the reset of the programmable device to a high level. When the second pin is in a high level state, the programmable device will perform a preset initialization process.

[0082] The second pin can be directly connected to the fifth pin on the first processor, so the first processor can directly control the second pin to be at a high level through the fifth pin.

[0083] Specifically, if the programmable device is an FPGA, then the second pin can be the PROGRAM_B pin.

[0084] Furthermore, after initialization, the programmable device can be controlled to have its fourth pin high. The first processor can then read the state of the fourth pin. If the fourth pin is high, the programmable device is considered to have completed initialization. If the programmable device is an FPGA, the fourth pin can be the INIT pin.

[0085] Specifically, the fourth pin can be directly connected to the sixth pin on the first processor, so the first processor can directly determine whether the fourth pin is at a high level through the sixth pin.

[0086] Furthermore, after confirming that the above-mentioned programmable device has been initialized, the following step C can be performed.

[0087] Step C: Trigger the above programmable device to receive the configuration file.

[0088] Specifically, an enable instruction can be sent to the programmable device to enable it to receive the configuration file, thereby enabling the programmable device to receive the configuration file.

[0089] In one embodiment of the present invention, the first processor may set the seventh pin of the programmable device used to enable the data receiving interface to a high level. When the seventh pin is at a high level, the data receiving interface can receive data. Therefore, by setting the seventh pin to a high level, the programmable device can receive the configuration file.

[0090] Specifically, the seventh pin can be directly connected to the eighth pin of the first processor, so the first processor can set the seventh pin to a high level through the eighth pin.

[0091] If the programmable device is an FPGA, then the eighth pin can be the CSI_B pin.

[0092] In another embodiment of the present invention, the first processor can read the configuration file from memory and send the configuration file to the programmable device.

[0093] Specifically, the first processor can send the configuration file to the programmable device via a data transmission channel. The data transmission channel is connected to the data transmission interface of the first processor and the data reception interface of the programmable device at its two ends. The data reception interface can receive the configuration file in 8-byte units. Therefore, the first processor can read 8 bytes from the configuration file each time and send the read bytes to the programmable device.

[0094] In addition, after receiving the configuration file, the programmable device can store the configuration file in its own SRAM memory.

[0095] After sending the configuration file, the first processor can close the configuration file and send a configuration command to the programmable device so that the programmable device can start configuring itself.

[0096] In another embodiment of the present invention, after receiving the configuration file sent by the first processor, the programmable device can configure itself based on a preset mode. The preset mode can be set by setting the value of the target pin of the programmable device. The target pin is a pin used to set the configuration mode of the programmable device for configuring itself. The value of the target pin can be set by setting the connection relationship between the target pin and other pins and the ground line.

[0097] For example, if the programmable device is an FPGA, the target pin can be the M[2:0] pin. If the value of the M[2:0] pin is 110, the preset mode is the Slave SelectMAP mode, and the interface used to receive the configuration file can be called the parallel SelectMAP interface.

[0098] In addition, after the programmable device completes its own configuration, it can send a configuration completion feedback to the first processor, indicating that the configuration of the programmable device is complete, so that the first processor determines that the configuration of the programmable device is complete.

[0099] Specifically, after configuring itself, the programmable device can set its ninth pin to a high level to indicate that the configuration is complete. If the tenth pin of the first processor is directly connected to the ninth pin, the first processor can read whether the ninth pin is high through the tenth pin. If the programmable device is an FPGA, the tenth pin can be the DONE pin.

[0100] Furthermore, the first clock pin of the first processor can be connected to the second clock pin of the programmable device to synchronize the clock of the programmable device with the clock of the first processor. If the first processor is a microprocessor, the first clock pin is the CLOCK pin; if the programmable device is an FPGA, the second clock pin is the CCLK pin.

[0101] As can be seen from the above, the configuration file used to configure the programmable device is stored in the target memory. After the programmable device is powered on, the first processor can obtain the configuration file stored in the target memory and send the configuration file to the programmable device after triggering the programmable device initialization. Therefore, through this embodiment of the invention, the programmable device can obtain the configuration file and configure itself based on the obtained configuration file. Furthermore, the target memory and the second processor are devices that are installed on the main control board of most BBUs, and the first processor is a device that is installed on the baseband board of most BBUs. This embodiment of the invention can directly use the devices installed in most BBUs to realize the configuration of the programmable device. Therefore, this embodiment of the invention can make full use of the existing resources in the BBU without consuming additional external resources of the BBU.

[0102] Furthermore, since the main control board in the BBU can communicate with other devices outside the BBU, these other devices can easily store new configuration files in the target memory or update the existing configuration files stored in the target memory. This allows the programmable device to configure itself based on the new or updated configuration files, thus enabling relatively simple updates and iterations of the programmable device's functionality.

[0103] See Figure 2 This is a schematic diagram of the first application scenario provided by an embodiment of the present invention.

[0104] The programmable device is an FPGA, and the first processor is a microprocessor.

[0105] As shown in the diagram, the main control board includes a second processor and a target memory, with the target memory connected to the second processor. The baseband board includes a microprocessor, memory, and an FPGA, with the microprocessor connected to the second processor. The FPGA's CCLK pin is connected to the microprocessor's CLOCK pin, and the microprocessor's data transmission interface D[07:00] is connected to the FPGA's data reception interface D[07:00]. The microprocessor's four pins are connected to the FPGA's PROGRAM_B, INIT, CSI_B, and DONE pins, respectively.

[0106] In one embodiment of the present invention, the first processor can adjust the level of the FPGA pin corresponding to a given bit by adjusting the value of each bit in the FPGA configuration register of the logic layer. Furthermore, the value of each bit in the FPGA configuration memory can reflect the current level of the corresponding FPGA pin.

[0107] Specifically, the aforementioned FPGA configuration register can be a bit group, where different bits in the bit group correspond to different pins of the FPGA. If the aforementioned FPGA contains the above... Figure 2 The four pins shown indicate that the number of bits in the bit group is greater than or equal to four.

[0108] For example, the FPGA configuration register mentioned above can contain 8 bits. The 0th bit of the FPGA configuration register can be called CFG_CS. The 0th bit corresponds to the CSI_B pin. If CFG_CS is 1, it means that the CSI_B pin is at a high level. If CFG_CS is 0, it means that the CSI_B pin is at a low level. The value of CFG_CS can be adjusted to 1 to instruct the first processor to adjust the level of the CSI_B pin to a high level.

[0109] The first bit of the aforementioned FPGA configuration register can be called nPROM. The first bit corresponds to the PROGRAM_B pin. If the value of nPROM is 1, it means that the PROGRAM_B pin is at a high level. If the value of nPROM is 0, it means that the PROGRAM_B pin is at a low level. The value of nPROM can be adjusted to 1 to instruct the first processor to adjust the PROGRAM_B pin to a high level.

[0110] The second bit of the FPGA configuration register mentioned above can be called nINIT. The second bit corresponds to the INIT pin. If nINIT is 1, it means that the INIT pin is at a high level. If nINIT is 0, it means that the INIT pin is at a low level. Therefore, if the value of nINIT is 1, the first processor can determine that the INIT pin is at a high level, indicating that the FPGA has completed initialization.

[0111] The third bit of the FPGA configuration register can be called CONF_DONE. The third bit corresponds to the DONE pin. If CONF_DONE is 1, it means that the DONE pin is at a high level. If CONF_DONE is 0, it means that the DONE pin is at a low level. Therefore, if CONF_DONE is 1, the first processor can determine that the DONE pin is at a high level, indicating that the FPGA has completed its own configuration.

[0112] In addition, the remaining 4th to 7th bits are reserved bits.

[0113] In one embodiment of the present invention, step S101 can be achieved by the following steps A-B.

[0114] Step A: Determine the current configuration scenario of the baseband board, assuming the programmable device is powered on.

[0115] Specifically, the above configuration scenarios can be either dual-fiber or single-fiber configuration scenarios. The target memory stores a first configuration file matching the dual-fiber configuration scenario and a second configuration file matching the single-fiber configuration scenario, respectively.

[0116] Step B: Send a file retrieval request to the second processor on the main control board of the BBU to request a configuration file that matches the above configuration scenario, so that the second processor can retrieve the configuration file from the target memory of the main control board.

[0117] Specifically, if the above configuration scenario is a dual-fiber configuration scenario, the first processor can send a file retrieval request to the second processor to request the first configuration file; if the above configuration scenario is a single-fiber configuration scenario, the first processor can send a file retrieval request to the second processor to request the second configuration file.

[0118] As can be seen from the above, since the programmable device needs to complete different data processing tasks in different configuration scenarios, different configurations are required for the programmable device. In this embodiment of the invention, the first processor requests different configuration files from the second processor according to the configuration scenario. The first processor can then send a configuration file matching the current configuration scenario to the programmable device, enabling the first processor to complete the configuration corresponding to the current configuration scenario based on the received configuration file. Furthermore, in this embodiment of the invention, the first processor only obtains the configuration file matching the current configuration scenario from the target memory, and thus only sends the configuration file matching the current configuration scenario to the programmable device. This reduces the amount of configuration file data that needs to be transmitted during the programmable device configuration process, improving the efficiency of the programmable device configuration process.

[0119] Depend on Figure 2 It is evident that if the ports of the first processor are directly connected to the ports of the programmable device, multiple ports of the first processor will be occupied. Since the number of ports of the first processor is limited, if the ports of the first processor are directly connected to the ports of the programmable device, the number of ports of the first processor may be insufficient. To solve this problem, the following can be used... Figure 3 The illustrated embodiment configures the programmable device.

[0120] See Figure 3This is a flowchart illustrating a second programmable device configuration method provided in an embodiment of the present invention. The first processor is connected to an EPLD (Erasable Programmable Logic Device) on the baseband board. The EPLD is connected to the programmable device, as described above. Figure 1 Compared to the illustrated embodiment, step S103 can be implemented by step S103A.

[0121] S103A: Send a programmable device initialization command to the EPLD on the baseband board so that the EPLD triggers the programmable device to initialize. After determining that the programmable device has been initialized, send the configuration file to the programmable device so that the programmable device can configure itself based on the configuration file.

[0122] After receiving the programmable device initialization instruction, the EPLD can send a programmable device initialization instruction to the programmable device so that the programmable device can be initialized.

[0123] In one embodiment of the present invention, step S103A can be achieved by the following steps D-E.

[0124] Step D: Send a programmable device initialization command to the EPLD, so that the EPLD controls the second pin of the programmable device to be at a high level through the first pin, so that the programmable device is initialized.

[0125] The second pin is used to control the reset of the programmable device.

[0126] Specifically, if the programmable device is an FPGA, then the second pin can be the PROGRAM_B pin.

[0127] Step E: Determine whether the fourth pin of the programmable device is at a high level by checking the third pin of the EPLD. If yes, then the initialization of the programmable device is complete.

[0128] The voltage level of the fourth pin is used to reflect the initialization state of the programmable device.

[0129] Specifically, if the programmable device is an FPGA, then the fourth pin can be the INIT pin.

[0130] The method of EPLD triggering programmable device initialization shown in step S103A is similar to the method of first processor triggering programmable device initialization in step S103. The only difference is that in step S103, the first processor directly triggers the programmable device to perform initialization, while in step S103A, the first processor controls the EPLD, and the EPLD triggers the programmable device to perform initialization. This embodiment of the present invention will not elaborate further.

[0131] See Figure 4 This is a schematic diagram of a second application scenario provided by an embodiment of the present invention.

[0132] The programmable device is an FPGA, and the first processor is a microprocessor.

[0133] As mentioned above Figure 2 In comparison, the baseband board also includes an EPLD, with the microprocessor connected to it. The EPLD's four pins are connected to the FPGA's PROGRAM_B, INIT, CSI_B, and DONE pins, respectively. As shown in the diagram, compared to... Figure 2 Compared to the illustrated embodiment, the microprocessor described above is connected to the EPLD via one pin, and the EPLD's four pins are connected to the FPGA's pins. Figure 2 The embodiments shown use fewer pins compared to microprocessors.

[0134] In one embodiment of the present invention, the EPLD can maintain the FPGA configuration register. The first processor can read the value of each bit in the FPGA configuration register in the EPLD to determine the state of each pin in the FPGA. The first processor can also instruct the EPLD to adjust the level of the FPGA pin corresponding to the bit according to the change of the bit value by adjusting the value of each bit in the FPGA configuration register in the EPLD.

[0135] Specifically, the content related to the FPGA configuration register is similar to that described in the previous embodiments, except that the FPGA configuration register is maintained by the EPLD in this embodiment of the invention, which will not be repeated here.

[0136] As can be seen from the above, the first processor connects to the programmable device via the EPLD and triggers the programmable device for configuration via the EPLD. Therefore, the first processor only needs to send control commands to the EPLD, and the EPLD triggers the programmable device for configuration, which reduces the processing complexity of the first processor controlling the programmable device. Furthermore, the first processor does not need to be directly connected to the various pins of the programmable device via various pins; it only needs to be connected to the EPLD via one pin, and the EPLD connects to the programmable device. Therefore, this embodiment of the invention can reduce the occupation of the first processor's pins. In addition, the BBU's baseband board often has an EPLD installed; therefore, the above-mentioned programmable device configuration process can be achieved by reusing the existing EPLD on the baseband board.

[0137] In another embodiment of the present invention, the same as described above... Figure 1 Compared to the embodiment shown, the step F is further included before sending the configuration file to the programmable device.

[0138] Step F: Trigger the monitoring reset program of the first processor to stop running.

[0139] The aforementioned monitoring and reset procedure is used to trigger a reset of the first processor when the first processor is in an abnormal state.

[0140] Specifically, the aforementioned monitoring reset procedure is often referred to as a watchdog program. This procedure uses a timer to keep track of time. The first processor can reset the timer, causing the monitoring reset procedure to restart. If the timer reaches a preset duration, the monitoring reset procedure determines that the first processor is in an abnormal state and cannot reset the timer; therefore, the monitoring reset procedure will trigger a reset of the first processor. For example, the preset duration could be 5 minutes, 10 minutes, etc.

[0141] However, since the process of the first processor sending the configuration file to the programmable device takes a certain amount of time, it is difficult for the first processor to trigger the timer reset during this period. Therefore, if the time taken for the first processor to send the configuration file to the programmable device is longer than the preset time, the monitoring reset program will trigger the first processor to reset before the configuration file is sent, which will cause the programmable device to fail to configure. Therefore, before sending the configuration file to the programmable device, the monitoring reset program of the first processor can be triggered to stop running, thereby improving the success rate of programmable device configuration.

[0142] Additionally, after sending the configuration file, you can open the aforementioned monitoring reset program.

[0143] Furthermore, in another embodiment of the present invention, the same as described above... Figure 1Compared to the embodiment shown, after sending the configuration file to the programmable device, the following step G can also be performed.

[0144] Step G: Send a preset number of bytes with a value of 0 to the above programmable device.

[0145] For example, the preset quantity can be 8.

[0146] Specifically, after the first processor sends the configuration file to the programmable device, the first processor also sends the preset number of bytes with a value of 0 to the programmable device to indicate that the configuration file has been sent, and enables the programmable device to continue configuring itself during the time period of sending the bytes with a value of 0, thereby enabling the programmable device to complete the configuration process.

[0147] See Figure 5 This is a flowchart illustrating a third programmable device configuration method provided in an embodiment of the present invention. The programmable device is an FPGA.

[0148] After the FPGA is powered on, the first processor acquires the configuration file, initializes the FPGA, and enables the FPGA to acquire the configuration file. Then, it disables the watchdog timer, opens the configuration file, reads the configuration file byte by byte, and sends the read data to the FPGA. It then checks if the configuration file reading is complete. If not, it continues reading the configuration file byte by byte and sends the read data to the programmable device. Otherwise, it sends an additional preset number of bytes with a value of 0 to the programmable device. Afterward, it opens the watchdog timer, closes the configuration file, and triggers the FPGA to configure itself until the FPGA configuration is complete.

[0149] Corresponding to the aforementioned programmable device configuration method, this embodiment of the invention also provides a processor, which is mounted on a baseband board in a BBU, and reads a computer program and performs the following operations:

[0150] When it is determined that the programmable device on the baseband board is powered on, a file acquisition request is sent to the second processor on the main control board in the BBU, so that the second processor can acquire the configuration file for configuring the programmable device from the target memory of the main control board;

[0151] Receive the configuration file sent by the second processor;

[0152] The programmable device is triggered to initialize. After the programmable device has completed initialization, the configuration file is sent to the programmable device so that the programmable device can configure itself based on the configuration file.

[0153] As can be seen from the above, the configuration file used to configure the programmable device is stored in the target memory. After the programmable device is powered on, the first processor can obtain the configuration file stored in the target memory and send the configuration file to the programmable device after triggering the programmable device initialization. Therefore, through this embodiment of the invention, the programmable device can obtain the configuration file and configure itself based on the obtained configuration file. Furthermore, the target memory and the second processor are devices that are installed on the main control board of most BBUs, and the first processor is a device that is installed on the baseband board of most BBUs. This embodiment of the invention can directly use the devices installed in most BBUs to realize the configuration of the programmable device. Therefore, this embodiment of the invention can make full use of the existing resources in the BBU without consuming additional external resources of the BBU.

[0154] In one embodiment of the present invention, triggering the programmable device to initialize specifically includes:

[0155] Send a programmable device initialization command to the EPLD on the baseband board so that the EPLD triggers the programmable device to initialize.

[0156] In one embodiment of the present invention, sending a programmable device initialization command to the EPLD on the baseband board, so that the EPLD triggers the programmable device to initialize, specifically includes:

[0157] A programmable device initialization command is sent to the EPLD, causing the EPLD to control the second pin of the programmable device to be at a high level through the first pin, so that the programmable device is initialized. The second pin is a pin used to control the reset of the programmable device.

[0158] The third pin of the EPLD is used to determine whether the fourth pin of the programmable device is at a high level. If it is, the initialization of the programmable device is determined to be complete. The level of the fourth pin is used to reflect the initialization state of the programmable device.

[0159] As can be seen from the above, the first processor connects to the programmable device via the EPLD and triggers the programmable device for configuration via the EPLD. Therefore, the first processor only needs to send control commands to the EPLD, and the EPLD triggers the programmable device for configuration, which reduces the processing complexity of the first processor controlling the programmable device. Furthermore, the first processor does not need to be directly connected to the various pins of the programmable device via various pins; it only needs to be connected to the EPLD via one pin, and the EPLD connects to the programmable device. Therefore, this embodiment of the invention can reduce the occupation of the first processor's pins. In addition, the BBU's baseband board often has an EPLD installed; therefore, the above-mentioned programmable device configuration process can be achieved by reusing the existing EPLD on the baseband board.

[0160] In one embodiment of the present invention, before sending the configuration file to the programmable device, the method further includes:

[0161] The programmable device is triggered to receive the configuration file.

[0162] In one embodiment of the present invention, when it is determined that the programmable device on the baseband board is powered on, sending a file retrieval request to a second processor on the main control board in the BBU, so that the second processor retrieves a configuration file for configuring the programmable device from the target memory of the main control board, specifically includes:

[0163] Determine the current configuration scenario of the baseband board when it is determined that the programmable device is powered on;

[0164] A file retrieval request is sent to the second processor on the main control board in the BBU to request a configuration file that matches the configuration scenario, so that the second processor retrieves the configuration file from the target memory of the main control board.

[0165] As can be seen from the above, since the programmable device needs to complete different data processing tasks in different configuration scenarios, different configurations are required for the programmable device. In this embodiment of the invention, the first processor requests different configuration files from the second processor according to the configuration scenario. The first processor can then send a configuration file matching the current configuration scenario to the programmable device, enabling the first processor to complete the configuration corresponding to the current configuration scenario based on the received configuration file. Furthermore, in this embodiment of the invention, the first processor only obtains the configuration file matching the current configuration scenario from the target memory, and thus only sends the configuration file matching the current configuration scenario to the programmable device. This reduces the amount of configuration file data that needs to be transmitted during the programmable device configuration process, improving the efficiency of the programmable device configuration process.

[0166] In one embodiment of the present invention, before sending the configuration file to the programmable device, the method further includes:

[0167] The monitoring reset program of the first processor is triggered to stop running, wherein the monitoring reset program is used to: trigger the first processor to reset when the first processor is in an abnormal state.

[0168] As can be seen from the above, since the process of the first processor sending the configuration file to the programmable device takes a certain amount of time, it is difficult for the first processor to trigger the timer reset of the monitoring reset program during this period. Therefore, if the time taken for the first processor to send the configuration file to the programmable device is longer than the preset time, the monitoring reset program will trigger the first processor to reset before the configuration file is sent, resulting in the failure of the programmable device configuration. Therefore, before sending the configuration file to the programmable device, the monitoring reset program of the first processor can be triggered to stop running, thereby improving the success rate of programmable device configuration.

[0169] In one embodiment of the present invention, after sending the configuration file to the programmable device, the method further includes:

[0170] Send a preset number of bytes with a value of 0 to the programmable device.

[0171] As can be seen from the above, after the first processor sends the configuration file to the programmable device, the first processor also sends the preset number of bytes with a value of 0 to the programmable device to indicate that the configuration file has been sent, and enables the programmable device to continue configuring itself during the time period of sending the bytes with a value of 0, thereby enabling the programmable device to complete the configuration process.

[0172] Corresponding to the aforementioned programmable device configuration method, this embodiment of the invention also provides a programmable device configuration apparatus.

[0173] See Figure 6 This is a schematic diagram of a programmable device configuration apparatus provided in an embodiment of the present invention, applied to a first processor on a baseband board in a BBU. The apparatus includes:

[0174] The request sending module 601 is used to send a file acquisition request to the second processor on the main control board in the BBU when it is determined that the programmable device on the baseband board is powered on, so that the second processor can acquire the configuration file for configuring the programmable device from the target memory of the main control board.

[0175] The file receiving module 602 is used to receive the configuration file sent by the second processor;

[0176] The file sending module 603 is used to trigger the programmable device to initialize. After determining that the programmable device has completed initialization, it sends the configuration file to the programmable device so that the programmable device can configure itself based on the configuration file.

[0177] As can be seen from the above, the configuration file used to configure the programmable device is stored in the target memory. After the programmable device is powered on, the first processor can obtain the configuration file stored in the target memory and send the configuration file to the programmable device after triggering the programmable device initialization. Therefore, through this embodiment of the invention, the programmable device can obtain the configuration file and configure itself based on the obtained configuration file. Furthermore, the target memory and the second processor are devices that are installed on the main control board of most BBUs, and the first processor is a device that is installed on the baseband board of most BBUs. This embodiment of the invention can directly use the devices installed in most BBUs to realize the configuration of the programmable device. Therefore, this embodiment of the invention can make full use of the existing resources in the BBU without consuming additional external resources of the BBU.

[0178] In another embodiment of the present invention, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of any of the above-described programmable device configuration methods.

[0179] When configuring a programmable device using the computer-readable storage medium provided in this embodiment of the invention, a configuration file for configuring the programmable device is stored in a target memory. After the programmable device is powered on, the first processor can obtain the configuration file stored in the target memory and, after triggering the initialization of the programmable device, send the configuration file to the programmable device. Therefore, through this embodiment of the invention, the programmable device can obtain the configuration file and configure itself based on the obtained configuration file. Furthermore, the target memory and the second processor are devices installed on the main control board of most BBUs, and the first processor is a device installed on the baseband board of most BBUs. This embodiment of the invention can directly use the devices installed in most BBUs to implement the configuration of the programmable device. Therefore, this embodiment of the invention can make full use of the existing resources in the BBU without consuming additional external resources of the BBU.

[0180] In another embodiment of the present invention, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the programmable device configuration methods described in the above embodiments.

[0181] When configuring a programmable device using the computer program product provided in this embodiment of the invention, a configuration file for configuring the programmable device is stored in a target memory. After the programmable device is powered on, the first processor can obtain the configuration file stored in the target memory and, after triggering the initialization of the programmable device, send the configuration file to the programmable device. Therefore, through this embodiment of the invention, the programmable device can obtain the configuration file and configure itself based on the obtained configuration file. Furthermore, the target memory and the second processor are devices that are installed on the main control board of most BBUs, and the first processor is a device that is installed on the baseband board of most BBUs. This embodiment of the invention can directly use the devices installed in most BBUs to realize the configuration of the programmable device. Therefore, this embodiment of the invention can make full use of the existing resources in the BBU without consuming additional external resources of the BBU.

[0182] In the above embodiments, implementation can be achieved entirely or partially through software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented entirely or partially in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (SSD)).

[0183] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0184] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the processor, device, storage medium, and computer program embodiments are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.

[0185] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product implemented on one or more computer-usable storage media (including, but not limited to, disk storage and optical storage) containing computer-usable program code.

[0186] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-executable instructions. These computer-executable instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0187] These processor-executable instructions may also be stored in a processor-readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the processor-readable memory produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0188] These processors can execute instructions that can also be loaded onto a computer or other programmable data processing device, causing a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable device for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0189] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if these modifications and variations of this application fall within the scope of the embodiments of this application and their equivalents, this application also intends to include these modifications and variations.

Claims

1. A programmable device configuration method, characterized by, The method, which applies a first processor to a baseband board in a baseband processing unit (BBU), includes: When it is determined that the programmable device on the baseband board is powered on, a file acquisition request is sent to the second processor on the main control board in the BBU, so that the second processor can acquire the configuration file for configuring the programmable device from the target memory of the main control board; Receive the configuration file sent by the second processor; The programmable device is triggered to initialize. After the programmable device is determined to be initialized, the configuration file is read from memory and sent to the programmable device so that the programmable device stores the configuration file in its own SRAM memory after receiving the configuration file and configures itself based on the configuration file.

2. The method of claim 1, wherein, The triggering of the programmable device to initialize includes: Send a programmable device initialization command to the erasable and programmable logic device (EPLD) on the baseband board, so that the EPLD triggers the programmable device to initialize.

3. The method of claim 2, wherein, Sending a programmable device initialization command to the EPLD on the baseband board, so that the EPLD triggers the programmable device to initialize, includes: A programmable device initialization command is sent to the EPLD, causing the EPLD to control the second pin of the programmable device to be at a high level through the first pin, so that the programmable device is initialized. The second pin is a pin used to control the reset of the programmable device. The third pin of the EPLD is used to determine whether the fourth pin of the programmable device is at a high level. If it is, the initialization of the programmable device is determined to be complete. The level of the fourth pin is used to reflect the initialization state of the programmable device.

4. The method of claim 1, wherein, Before sending the configuration file to the programmable device, the method further includes: The programmable device is triggered to receive the configuration file.

5. The method according to any one of claims 1-4, characterized in that, When it is determined that the programmable device on the baseband board is powered on, a file retrieval request is sent to the second processor on the main control board in the BBU, so that the second processor retrieves a configuration file for configuring the programmable device from the target memory of the main control board, including: Determine the current configuration scenario of the baseband board when it is determined that the programmable device is powered on; A file retrieval request is sent to the second processor on the main control board in the BBU to request a configuration file that matches the configuration scenario, so that the second processor retrieves the configuration file from the target memory of the main control board.

6. The method according to any one of claims 1-4, characterized in that, Before sending the configuration file to the programmable device, the method further includes: The monitoring reset program of the first processor is triggered to stop running, wherein the monitoring reset program is used to: trigger the first processor to reset when the first processor is in an abnormal state.

7. The method according to any one of claims 1-4, characterized in that, After sending the configuration file to the programmable device, the method further includes: Send a preset number of bytes with a value of 0 to the programmable device.

8. A processor, comprising: The processor is mounted on the baseband board in the BBU, and the processor reads the computer program and performs the following operations: When it is determined that the programmable device on the baseband board is powered on, a file acquisition request is sent to the second processor on the main control board in the BBU, so that the second processor can acquire the configuration file for configuring the programmable device from the target memory of the main control board; Receive the configuration file sent by the second processor; The programmable device is triggered to initialize. After the programmable device is determined to be initialized, the configuration file is read from memory and sent to the programmable device after receiving the configuration file, so that the programmable device can configure itself based on the configuration file.

9. The processor of claim 8, wherein, The triggering of the programmable device to initialize specifically includes: Send a programmable device initialization command to the EPLD on the baseband board so that the EPLD triggers the programmable device to initialize.

10. The processor of claim 9, wherein, Sending a programmable device initialization command to the EPLD on the baseband board, so that the EPLD triggers the programmable device to initialize, specifically includes: A programmable device initialization command is sent to the EPLD, causing the EPLD to control the second pin of the programmable device to be at a high level through the first pin, so that the programmable device is initialized. The second pin is a pin used to control the reset of the programmable device. The third pin of the EPLD is used to determine whether the fourth pin of the programmable device is at a high level. If it is, the initialization of the programmable device is determined to be complete. The level of the fourth pin is used to reflect the initialization state of the programmable device.

11. The processor of claim 8, wherein, Before sending the configuration file to the programmable device, the method further includes: The programmable device is triggered to receive the configuration file.

12. The processor of any one of claims 8-11, wherein, When it is determined that the programmable device on the baseband board is powered on, a file retrieval request is sent to the second processor on the main control board in the BBU, so that the second processor retrieves a configuration file for configuring the programmable device from the target memory of the main control board, specifically including: Determine the current configuration scenario of the baseband board when it is determined that the programmable device is powered on; A file retrieval request is sent to the second processor on the main control board in the BBU to request a configuration file that matches the configuration scenario, so that the second processor retrieves the configuration file from the target memory of the main control board.

13. The processor of any one of claims 8-11, wherein, Before sending the configuration file to the programmable device, the method further includes: The monitoring reset procedure of the processor is triggered to stop running, wherein the monitoring reset procedure is used to: trigger the processor reset when the processor is in an abnormal state.

14. The processor of any one of claims 8-11, wherein, After sending the configuration file to the programmable device, the method further includes: Send a preset number of bytes with a value of 0 to the programmable device.

15. A programmable device configuration apparatus, characterized by A first processor applied to a baseband board in a BBU, the device comprising: The request sending module is used to send a file acquisition request to the second processor on the main control board in the BBU when it is determined that the programmable device on the baseband board is powered on, so that the second processor can acquire the configuration file for configuring the programmable device from the target memory of the main control board; The file receiving module is used to receive the configuration file sent by the second processor; The file sending module is used to trigger the programmable device to initialize. After determining that the programmable device has completed initialization, it reads the configuration file from memory, sends the configuration file to the programmable device after receiving the configuration file (which is stored in its own SRAM memory), so that the programmable device can configure itself based on the configuration file.

16. A computer readable storage medium characterized by: The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method described in any one of claims 1-7.