Channel distribution method and device

Through the automated channel allocation method, the resource waste caused by artificial allocation in the HIL test system is solved, and the rational allocation and efficient utilization of I/O channels are realized, which is suitable for clustered testing scenarios.

CN120407301APending Publication Date: 2025-08-01KUNYI ELECTRONICS TECHNOLOGY (SHANGHAI) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510368540.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-03-06
Filing Date
2023-08-08
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

In the existing HIL testing system, the allocation of HIL test benches relies on human communication and negotiation, resulting in wasted testing resources and inefficient, making it difficult to adapt to clustered testing scenarios.

Method used

Through the automated channel allocation method, based on functional channel configuration information, the target I/O channel is selected from the test system and configured to perform test tasks to achieve reasonable allocation and full utilization of I/O channels.

Benefits of technology

It improves the utilization efficiency of test resources, is suitable for clustered testing scenarios, reduces resource waste, and improves testing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120407301A_ABST
    Figure CN120407301A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a channel allocation method and device, and relates to the technical field of testing. The channel allocation method comprises the following steps: after function channel configuration information related to a test task is received, selecting a target I / O channel for executing the test task from available I / O channels in the test system based on the function channel configuration information; the target I / O channel is configured in a target I / O device for executing the test task, so that the target I / O device receives and transmits data related to the test task through the target I / O channel in the test process, and the target I / O device is the I / O device comprising the target I / O channel. According to the method, the I / O channels are automatically allocated for each test task, so that the I / O channels in the test system are reasonably allocated and fully utilized, and the method is more suitable for a clustered test scene.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of testing technologies, and particularly to a channel allocation method and device. Background Art

[0002] In vehicles such as automobiles and new energy vehicles, the electronic and electrical architecture of the whole vehicle is becoming increasingly complex. There is an order-of-magnitude change in terms of the number of electronic control units (ECUs), data bandwidth, and the processing capabilities of CPUs and GPUs compared with before. Among them, an ECU is composed of integrated circuits such as a microprocessor, a memory, an input / output interface, and an analog-to-digital converter.

[0003] During the development process of an ECU, hardware-in-the-loop (HIL) testing is usually carried out. In a hardware-in-the-loop testing system, the operating state of a controlled object can be simulated, and it is connected to the ECU under test through an I / O interface to conduct comprehensive and systematic tests on the ECU under test. Hardware-in-the-loop testing has become a very important part of the ECU development process, reducing the number of actual vehicle road tests, shortening the development time and reducing costs while improving the software quality of the ECU and reducing the risks of automobile factories.

[0004] In the existing HIL testing process, the HIL test bench is overall allocated to testers who need to conduct different function tests. The testers allocate the usage time of the HIL test bench through communication and negotiation. However, such a way of manually allocating the test resources of the HIL test bench will inevitably lead to waste of test resources due to communication problems, reducing the overall test efficiency. Summary of the Invention

[0005] The purpose of the present invention is to provide a channel allocation method and device, which automatically allocate I / O channels for each test task, realizing reasonable allocation and full utilization of I / O channels in a test system, and being more suitable for a clustered test scenario.

[0006] To achieve the above purpose, the present invention also provides a channel allocation method for allocating multiple I / O channels of at least one I / O device included in a test system; the method includes: after receiving function channel configuration information related to a test task, based on the function channel configuration information, selecting target I / O channels for executing the test task from the available I / O channels in the test system; configuring the target I / O channels in a target I / O device for executing the test task, so that the target I / O device transmits and receives data related to the test task through the target I / O channels during the test process, and the target I / O device is the I / O device including the target I / O channels.

[0007] The present invention also provides a channel configuration device for performing the above-mentioned channel allocation method.

[0008] The present invention also provides a non-transitory computer-readable storage medium having processor-executable instructions stored thereon, and the executable instructions are configured to execute the channel allocation method as described above.

[0009] In one embodiment, selecting a target I / O channel for performing the test task from the available I / O channels in the test system based on the functional channel configuration information includes: determining whether the available I / O channels in the test system can execute the test task based on the functional channel configuration information; after determining that the available I / O channels in the test system can execute the test task, selecting a target I / O channel for performing the test task from the available I / O channels in the test system.

[0010] In one embodiment, each of the I / O channels can be configured as one of the functional channel types supported by the I / O channel, and the functional channel configuration information includes: the type of the test functional channels required for performing the test task and the required quantity of each type of the test functional channels; determining whether the available I / O channels in the test system can execute the test task based on the functional channel configuration information includes: obtaining a current functional channel resource pool based on the functional channel types supported by the currently available I / O channels in the test system, and determining whether each type of the test functional channels with the required quantity can be respectively selected from the functional channel resource pool; if each type of the test functional channels with the required quantity can be respectively selected from the functional channel resource pool, it is determined that the available I / O channels in the test system can execute the test task; if each type of the test functional channels with the required quantity cannot be respectively selected from the functional channel resource pool, it is determined that the available I / O channels in the test system cannot execute the test task.

[0011] In one embodiment, determining whether the test function channels of various types that meet the required quantity can be respectively selected from the function channel resource pool includes: if the quantity of target function channels in the function channel resource pool that are of the same type as each of the test function channels is greater than or equal to the required quantity of each of the test function channels, and each of the target function channels can be configured to the available I / O channels, it is determined that the available I / O channels in the test system can execute the test task; if the quantity of target function channels in the function channel resource pool that are of the same type as each of the test function channels is less than the required quantity of each of the test function channels, and / or any one of the target function channels cannot be configured to the available I / O channels, it is determined that the available I / O channels in the test system cannot execute the test task.

[0012] In one embodiment, determining whether the available I / O channels in the test system can execute the test task based on the function channel configuration information includes: determining whether the available I / O channels in the test system can execute the test task during a set of multiple time periods based on the function channel configuration information; before selecting the target I / O channels for executing the test task from the available I / O channels, it includes: displaying the time periods during which the test system can be used to execute the test task for selection; selecting the target I / O channels for executing the test task from the available I / O channels includes: after receiving at least one target time period selected from the time periods during which the test system can be used to execute the test task, selecting the target I / O channels within each of the target time periods from the available I / O channels in the test system during each of these time periods.

[0013] In one embodiment, when selecting the target I / O channels within each of the time periods from the available I / O channels in the test system during each of the target time periods, it further includes: determining whether the available I / O channels in the test system can execute the test task during each of the target time periods based on the function channel configuration information; if it is determined that the available I / O channels in the test system can execute the test task during each of the target time periods, enter the step of selecting the target I / O channels within each of the time periods from the available I / O channels in the test system during each of the target time periods.

[0014] In one embodiment, each of the I / O devices includes: an I / O control module and at least one I / O channel; configuring the target I / O channel in the target I / O device to execute the test task includes: configuring, in the I / O control module of the target I / O device, the correspondence between the target I / O channel and the test task, so that the I / O control module of the target I / O device can transmit and receive data related to the test task through the target I / O channel during the test process.

[0015] In one embodiment, the test system further includes: a computing resource end configured with a CPU; the method further includes: determining, based on the task requirement information of the test task, the target CPU in the computing resource end for executing the test task, so that when the target CPU and the target I / O channel are used to execute the test task to test the device under test, the device under test interacts with the target CPU through the target I / O channel.

[0016] In one embodiment, before selecting, based on the functional channel configuration information, a target I / O channel from the available I / O channels in the test system for executing the test task, it further includes: determining whether all the I / O channels in the test system can complete the test task based on the functional channel configuration information; if it is determined that all the I / O channels in the test system can complete the test task, proceed to the step of selecting, based on the functional channel configuration information, a target I / O channel from the available I / O channels in the test system for executing the test task. Description of the Drawings

[0017] Figure 1 is a block diagram of the test system targeted by the channel allocation method in the first embodiment of the present invention; Figure 2 is a block diagram of the test system in the first embodiment of the present invention, where the cluster control module is an industrial control computer; Figure 3 is a block diagram of the test system in the first embodiment of the present invention, where the test system includes multiple I / O control modules, and each I / O control module is cascaded with an I / O channel; Figure 4 is a block diagram of the test system in the first embodiment of the present invention, where the test system includes multiple I / O control modules, and each I / O control module is directly connected to an I / O channel; Figure 5 is a specific flowchart of the channel allocation method in the first embodiment of the present invention; Figure 6It is a schematic flowchart of the specific process of the channel allocation method in the second embodiment of the present invention; Figure 7 It is a schematic diagram of the reservation initiation interface of the cluster control module in the second embodiment of the present invention; Figure 8 It is a schematic diagram of the reservation configuration selection interface of the cluster control module in the second embodiment of the present invention; Figure 9 It is an interface for selecting a time period of the cluster control module in the second embodiment of the present invention. Detailed implementation manners

[0018] The following will describe each embodiment of the present invention in detail with reference to the accompanying drawings, so as to more clearly understand the purpose, features and advantages of the present invention. It should be understood that the embodiments shown in the drawings are not limitations on the scope of the present invention, but only to illustrate the essential spirit of the technical solution of the present invention.

[0019] In the following description, certain specific details are set forth for the purpose of explaining various disclosed embodiments to provide a thorough understanding of the various disclosed embodiments. However, those skilled in the relevant art will recognize that the embodiments can be practiced without one or more of these specific details. In other instances, well-known devices, structures, and techniques associated with the present application may not be shown or described in detail so as not to unnecessarily obscure the description of the embodiments.

[0020] Unless the context requires otherwise, throughout the specification and claims, the words "comprising" and its variations such as "comprises" and "having" should be understood in an open, inclusive sense, i.e., construed to mean "including, but not limited to".

[0021] References to "one embodiment" or "an embodiment" throughout the specification mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, appearances of "in one embodiment" or "in an embodiment" throughout the specification are not necessarily all referring to the same embodiment. Additionally, the particular features, structures, or characteristics may be combined in any manner in one or more embodiments.

[0022] As used in this specification and the appended claims, the singular forms "a" and "the" include plural referents unless the context clearly dictates otherwise. It should be noted that the term "or" is generally used in its "and / or" sense unless the context clearly dictates otherwise.

[0023] In the following description, for the purpose of clearly showing the structure and working mode of the present invention, many directional terms will be used for description. However, terms such as "front", "rear", "left", "right", "outer", "inner", "outward", "inward", "up", and "down" should be understood as convenient terms and should not be understood as limiting terms.

[0024] The first embodiment of the present invention relates to a channel allocation method applied to a channel configuration device. The channel configuration device can be a device dedicated to allocating I / O channels in a test system, or a cluster control module of the test system (hereinafter described by taking this as an example). It can allocate multiple I / O channels included in the test system based on the channel allocation method of this embodiment. The test system includes one or more I / O devices, and each I / O device includes one or more I / O channels. The I / O channels are physical channels, which are used to realize data interaction between the CPU in the computing resource end and the device under test during the test. The computing resource end may include one or more real-time computing devices configured with a CPU (such as an industrial control computer). If the computing resource end includes multiple real-time computing devices, these multiple real-time computing devices can be pooled or not pooled.

[0025] In the I / O device, each I / O channel can be configured as one of the functional channel types supported by the I / O channel. For example, if the I / O channel supports two functional channel types, namely voltage input (Valtage Input) and PWM signal input (PWM Input), then the I / O channel can be configured as a Valtage Input functional channel or a PWM Input functional channel.

[0026] In one example, the test system is a HIL test system. Please refer to Figure 1 and Figure 2 , the test system includes: an industrial control computer pool 1, at least one I / O control module 2 (taking 1 as an example in the figure), and an I / O pool 3.

[0027] In this embodiment, an I / O control module 2 and at least one I / O channel 31 connected thereto are regarded as an I / O device, that is, the I / O device includes: an I / O control module 2 and the I / O channel 31 connected to the I / O control module 2.

[0028] Among them, the industrial computer pool 1 and the I / O pool 3 can be set in the same cabinet or in different cabinets. Specifically, the industrial computer pool 1 can include multiple industrial computers 11, and the number thereof can be fixed or expandable. The industrial computers 11 in the industrial computer pool 1 can be located in the same cabinet or in different cabinets. The I / O pool 3 can include at least one I / O channel 31, and the number thereof can be fixed or expandable. The I / O channels 31 belong to the same I / O device, that is, the I / O device includes multiple I / O channels 31. The I / O pool 3 includes the I / O channels 31 of one or more I / O devices. If the I / O pool 3 includes multiple I / O devices, all the I / O devices can be located in the same cabinet or in different cabinets.

[0029] In an example, the industrial computer pool 1 includes at least one industrial computer 11 (Real-time Parameter Controls, RTPC) with a configurable number, that is, the number of industrial computers 11 in the industrial computer pool 1 is expandable and can be configured according to requirements. For example, there are a set number of interfaces in the industrial computer cabinet for setting the industrial computer 1, and the industrial computer 11 can be detachably installed and connected to the interfaces in the industrial computer cabinet, so that the number of industrial computers 11 in the industrial computer cabinet can be configured according to requirements. The industrial computers 11 connected to the interfaces of the industrial computer cabinet form the industrial computer pool 1. Among them, the industrial computers 11 in the industrial computer pool 1 are communicatively connected to each other, and each industrial computer 11 includes one CPU or multiple CPUs. Among them, the industrial computer is a form of real-time computing device, which can be a board card directly plugged into the interface of the industrial computer cabinet or a separate device connected to the interface of the industrial computer through a data cable.

[0030] With the increasing complexity of automotive functions and the growing data bandwidth (cameras, lidar), the CPU processing power has exceeded 50,000 DMIPS, and the AI computing power has even reached 1000 TOPS. Traditional isolated single industrial computers can no longer meet this test requirement. Only through clustering and pooling more computing power resources, CPU resources, and bus bandwidth together can the resource bottleneck of simulation be solved. The use of the industrial computer pool in the above solution can effectively solve the problem of resource bottlenecks. Moreover, the solution in this specification can be applied here to ensure the efficient and effective operation of the test while solving the resource bottleneck.

[0031] In one example, the I / O pool 3 includes at least one I / O channel 31 with a configurable quantity, that is, the quantity of I / O devices in the HIL system is scalable to achieve the expansion of the quantity of I / O channels 31 in the I / O pool 3, and its quantity can be configured according to requirements, site, cost, etc. For example, there are a set number of interfaces in the I / O cabinet for setting up I / O devices, and the I / O devices are detachably installed and connected to the interfaces in the I / O cabinet, or the units formed by the I / O channels 31 included in the I / O devices are connected to the interfaces in the I / O cabinet; thus, the quantity of I / O channels 31 in the I / O cabinet can be configured according to requirements, site, cost, etc., and the I / O channels 31 connected to the I / O cabinet interfaces form the I / O pool 3; in one example, the I / O device or the unit formed by the I / O channels 31 included in the I / O device is an I / O board card, which can be directly plugged into the interfaces in the I / O cabinet.

[0032] The I / O control module 2 is communicatively connected between the industrial computers 11 in the industrial computer pool 1, and the I / O control module 2 is communicatively connected to one or more corresponding I / O channels 31 in the I / O pool 3. If there is one I / O control module 2, then this I / O control module 2 is communicatively connected to all the I / O channels 31.

[0033] Please refer to Figure 3 and Figure 4 , if there are multiple I / O control modules 2, then each I / O control module 2 can be communicatively connected to one or more I / O channels 31, and each I / O channel 31 is only communicatively connected to one I / O control module 2. Among them, the I / O control module 2 can be cascade-connected or directly connected to the I / O channel 31.

[0034] In one example, there is one I / O control module 2, and the I / O control module 2 and each I / O channel 31 are connected to the same EtherCAT network. Among them, the I / O channel 31 is connected to the I / O control module 2 in a cascade manner and communicates based on EtherCAT. Using EtherCAT can basically meet the requirements of low latency. In addition, the unit formed by the I / O channels 31 included in the I / O device can also be plugged into the I / O control module 2 in the I / O device. For example, the above unit is connected to the I / O control module 2 through the data bus (such as the PCIe bus) of the I / O control module 2. Among them, the I / O control module 2 can be a computer including an I / O controller.

[0035] The number of I / O control modules 2 can be one. In this case, the I / O control module 2 can be directly connected to all I / O channels 31 or cascaded with all I / O channels 31. The number of I / O control modules 2 can also be multiple, and each I / O control module 2 is connected to a corresponding multiple I / O channels 31. Each I / O control module 2 can also be connected to the cluster control module on the same Ethernet to interact with the cluster control module (such as feedback data transmission relationships).

[0036] The data interaction of the target data between the I / O control module 2 and the industrial control computer 11 is achieved by writing to and reading from the storage unit (distributed storage unit or centralized storage unit), thereby realizing the target data interaction between the device under test 4 and the industrial control computer 11. For example, if the device under test 4 has target data that needs to be fed back to the industrial control computer 11, the corresponding I / O channel 31 can obtain a signal containing the target data to be transmitted. Then, the I / O control module 2 corresponding to the I / O channel 31 can write the target data into the storage unit, and the industrial control computer 11 can then read the target data from the storage unit. For another example, if the industrial control computer 11 needs to feed back the target data to the device under test 4, the industrial control computer 11 can write the target data into the storage unit, and the I / O control module 2 can read it out and give it to the corresponding I / O channel 31, which is fed back to the device under test 4 through the I / O channel 31. The target data refers to the data that needs to be interacted between the device under test 4 and the industrial control computer 11.

[0037] Compared with the traditional solution for data interaction using Ethernet, the above solution can provide better transmission efficiency and synchronization.

[0038] In this embodiment, each I / O channel 31 is connected to a corresponding device under test 4, and the number of devices under test 4 can be one or more. Among them, each I / O channel 31 can be directly connected to the corresponding device under test 4, that is, the device under test 4 is directly connected to the ports of each I / O channel 31 through a connector to achieve signal transmission; different I / O channels 31 can be connected to different pins of the device under test 4 to transmit different information. If multiple devices under test 4 are subjected to cluster testing at the same time, each I / O channel 31 is connected to the same pin of each device under test 4 to transmit the same information.

[0039] In one example, the test system further includes: a switching matrix 5 connected between the I / O channel 31 and the device under test 4, that is, each I / O channel 31 is indirectly connected to the corresponding device under test 4 through the switching matrix 5. The switching matrix 5 includes: at least one first port and at least one second port; each first port is respectively connected to each I / O channel 31, and each second port is respectively connected to each device under test 4. A switchable connection channel is provided inside the switching matrix 5, and the connection channel can connect the first port and the second port on both sides of the switching matrix 5. Thus, through the configuration of the connection channel inside the switching matrix 5, each I / O channel 31 can be connected to the corresponding device under test 4; among them, different connection channels in the switching matrix 5 can be used to transmit different signals, and an Ethernet module can also be provided inside the switching matrix 5 to realize the exchange of digital signals. It can be seen from this that in order to achieve the corresponding communication between the industrial control computer 11, the I / O channel 31, and the device under test 4 and realize the transmission of target data, in the case of having a switching matrix, it is necessary to configure both the switching matrix and the data transmission relationship of the I / O control module 2. Furthermore, the data transmission required for testing can be realized between the industrial control computer 11 and the device under test 4, such as the data transmission between the port of the simulation model in the industrial control computer 11 and the port of the device under test 4. In this way, the connection method when the device under test 4 is accessed is more flexible and free. Only the switching matrix 5 needs to be configured according to the actual access situation. For example, after the I / O control module 2 is configured, if the switching matrix is not set in the test system, it is necessary to find out which I / O channels 31 the device under test 4 should be connected to according to the configuration result and how to connect them. In the case of setting the switching matrix 5 in the test system, the device under test 4 can be more freely connected to the switching matrix 5, and then only the switching matrix 5 needs to be configured to achieve the data transmission required for testing.

[0040] The industrial control computer 11 therein can be understood as part or all of the real-time simulation machine RTPC in the HIL system.

[0041] The I / O channel 31 therein can be understood as an input / output unit. Specifically, it can be understood that: the I / O channel 31 satisfies: being able to realize the input and / or output of data relative to the device under test 4, and / or: being able to realize the input and / or output of data relative to the industrial control computer 11; Among them, the data A input and / or output by the I / O channel 31 relative to the device under test 4 and the data B input and / or output by the I / O channel relative to the industrial control computer 11 can be related or unrelated. Specifically, the data A and the data B can be different forms of data with the same content. For example, receiving a digital signal with a certain content from the industrial control computer 11 and sending an analog signal with the same content to the device under test 4, or vice versa. Another example is receiving the signal before injecting a fault from the industrial control computer 11 and sending the signal after injecting a fault by the I / O channel 31 to the device under test 4; Data A and data B can also be data with the same content and the same form; Data A and data B can also be data with different contents. For example, data A and data B are respectively the trigger signal for triggering I / O channel 31 to generate a certain Sign1 signal and the Sign1 signal; for another example, I / O channel 31 needs to obtain a certain conditional signal from industrial control computer 11 to simulate the Sing2 signal to be sent to the device under test 4. At this time, the conditional signal and the Sign2 signal are respectively data A and data B.

[0042] In addition, I / O channel 31 can refer to a circuit, a circuit board, or a device including a circuit board and other components.

[0043] In one example, the I / O channel 31 therein can interact with the industrial control computer 11 through the I / O control module 2, or can directly or through the switching matrix 5 interact with the device under test 4 (such as the controller of a vehicle) through the I / O channel 31 therein. The interaction therein can be one-way or two-way.

[0044] The I / O device can realize the input and / or output functions only through the I / O channel 31 therein. In some examples, the signals transmitted can also be processed during the input and output processes, such as signal conversion, fault simulation, information simulation, signal generation, on-off control, etc. It can be seen that as long as the signal interaction can be realized between the industrial control computer 11 and the device under test 4, regardless of whether other functions are integrated, it can be used as an implementation method of the I / O device.

[0045] The unit formed by the I / O device or the I / O channel 31 included in the I / O device can be an I / O board card. For example, it can be a board card supporting at least one of the following functions: digital signal input, analog signal input, digital signal output, analog signal output, PWM signal input, PWM signal output, high-side power output, and low-side power output. The I / O channel 31 can be configured to implement any one of these functions. High-speed signal acquisition and output can be further realized. In addition, the flexible configuration of board card resources can be realized according to requirements. The board card accuracy and sampling frequency indexes brought by this technology have reached the leading level in the industry.

[0046] The I / O board cards therein are, for example, at least one of the following: AD PWM-IN board card, DAC board card, FIU board card, PWM-OUT board card, RELAY-IO board card, RC board card, PSI5&DSI3&SENT board card, multi-bus board card (Flexray / CANFD / LIN), Eth (in-vehicle Ethernet) board card, etc.

[0047] The I / O board card among them can also be, for example, at least one of the following dedicated board cards: current output board card, thermocouple board card, battery simulator, temperature simulator, motor board card, IO_HUB board card.

[0048] In this embodiment, the I / O control module 2 is used to transmit target data between K industrial control computers 11 in the industrial control computer pool 1 and L I / O channels 31 in the I / O pool 3; both K and L are arbitrary integers greater than or equal to 1.

[0049] Any data that can be transmitted between the industrial control computer 11 and the I / O channel 31 can be understood as target data.

[0050] In a specific example, corresponding to the above I / O board cards, the target data may include at least one of the following: the issued information generated by the industrial control computer 11 that needs to be sent to the device under test 4; and the reported information originating from the device under test 4 that needs to be sent to the industrial control computer 11.

[0051] Furthermore, due to the diversity of the functions of the I / O board card, the target data may also include at least one of the following: the issued information generated by the industrial control computer 11 that needs to be sent to the I / O device for processing; and the reported information generated by the I / O device that needs to be sent to the industrial control computer 11.

[0052] The specific process of the channel allocation method in this embodiment is as Figure 5 shown.

[0053] Step 101, after receiving the function channel configuration information related to the test task, based on the function channel configuration information, select the target I / O channels for executing the test task from the available I / O channels in the test system.

[0054] In one example, selecting the target I / O channels for executing the test task from the available I / O channels in the test system based on the function channel configuration information includes: based on the function channel configuration information, determining whether the available I / O channels in the test system can execute the test task; after determining that the available I / O channels in the test system can execute the test task, select the target I / O channels for executing the test task from the available I / O channels in the test system.

[0055] Step 102, configure the target I / O channels in the target I / O device for executing the test task, so that the target I / O device can receive and send data related to the test task through the target I / O channels during the test process, and the target I / O device is an I / O device including the target I / O channels.

[0056] The data in step 102 can be understood as at least including the aforementioned target data, that is: the data that needs to be transmitted between the device under test and the industrial control computer.

[0057] The channel allocation method in this embodiment will be described below in combination with the foregoing HIL test system.

[0058] The cluster control module and the I / O control module 2 in each I / O device are connected to the same Ethernet, and can each interact with the I / O control module 2 for information. The cluster control module can read the I / O channels 31 included in each I / O device and the type of functional channels supported by the I / O channels 31 in each I / O device from the I / O control module 2 of each I / O device. However, it is not limited thereto, and the above information can also be configured by the background management personnel.

[0059] In this embodiment, the cluster control module can receive a test task from the connected host computer or directly configure a test task in the cluster control module by the user, and obtain the task data of the test task, where the task data includes but is not limited to: the test simulation model corresponding to the test task, the type of test functional channels, the number of various test functional channels, and the data transmission relationship between the test simulation model and the test functional channels; that is, the task data contains functional channel configuration information.

[0060] The cluster control module can determine the task requirement information of the test task based on the task data of the test task. The task requirement information is at least used to determine the number information of the CPUs required to execute the corresponding test task, as well as the type information and number information of the test functional channels. In addition, the task requirement information also includes the memory required for the test, the occupied space of the memory, etc. That is, when selecting the CPU and the test functional channels, it is also necessary to consider whether the available memory and the occupied space of the memory can meet the test requirements. In a specific example, the task requirement information can also be used to represent the number and / or type of information such as the required memory, GPU, bus interface, sensor interface, simulation board card, etc. In another specific example, the task requirement information can also be used to represent various information such as the models, brands, and attributes of various parameters of the CPU, GPU, memory, etc.

[0061] In this embodiment, after the tester accesses the cluster control module, the cluster control module can receive the functional channel configuration information related to the test task input by the user, or receive the functional channel configuration information sent by the tester through the host computer. The functional channel configuration information is used to determine the test functional channels required to execute the test task.

[0062] For example, when a tester accesses and requests to configure a functional channel, the cluster control module can display a configuration interface, which includes the configuration interfaces for the types of functional channels supported by all the I / O channels in the test system. The user can select the required types of functional channels and the quantity of each type of functional channel in the configuration interface. After receiving the confirmation instruction, the functional channel configuration information will be formed with the currently selected types of functional channels and the input quantity of each type of functional channel. That is, the functional channel configuration information includes: the types of test functional channels required for executing test tasks and the required quantity of each type of test functional channel.

[0063] For the functional channel configuration information, the cluster control module can first read the status of each I / O channel through each I / O control module 2 to obtain the I / O channels that are currently in the idle state. The I / O channels in the idle state are the available I / O channels. Then, according to the types of functional channels supported by the I / O devices to which the currently available I / O channels belong, virtualize all the currently available I / O channels to obtain the current functional channel resource pool. For example, if an I / O channel supports two types of functional channels, namely Voltage Input and PWM Input, then it is virtualized into two functional channels in the functional channel resource pool, namely the Voltage Input functional channel and the PWM Input functional channel.

[0064] The cluster control module then determines whether it can separately select from the current functional channel resource pool the test functional channels of each type that meet the required quantity, that is, to determine whether the quantity of the target functional channels in the functional channel resource pool that are the same as each type of test functional channel is greater than or equal to the required quantity of each test functional channel, and whether each target functional channel can be configured to an available I / O channel. If the quantity of the target functional channels in the functional channel resource pool that are the same as each type of test functional channel is greater than or equal to the required quantity of each test functional channel, and each target functional channel can be configured to an available I / O channel, then it is determined that the available I / O channels in the test system can execute test tasks; if the quantity of the target functional channels in the functional channel resource pool that are the same as each type of test functional channel is less than the required quantity of each test functional channel, and / or any one of the target functional channels cannot be configured to an available I / O channel, then it is determined that the available I / O channels in the test system cannot execute test tasks.

[0065] For example, the functional channel configuration information includes: two types of test functional channels, A and B, and the required quantity of test functional channel A is X A and the required quantity of test functional channel B is X B , and then for test functional channel A, determine whether X can be found in the current functional channel resource pool AOne test function channel A, if X can be found A One test function channel A, then select X from the current function channel resource pool A One test function channel A, and determine whether these X A One test function channel A can be respectively configured to available I / O channels. If these X A One test function channel A can be respectively configured to available I / O channels, record that each test function channel A can be configured to an available I / O channel, and the I / O channels that can be configured as test function channel A cannot be configured as other types of function channels anymore, where the I / O channels that cannot be configured as test function channel B are preferentially configured as test function channel A. If X A One test function channel A cannot be found or the X A One test function channel A cannot all be respectively configured to available I / O channels, then determine that the available I / O channels in the test system cannot execute the test task.

[0066] Subsequently, determine whether X B One test function channel B can be found in the function channel resource pool. If X B One test function channel B can be found, then determine whether these X B One test function channel B can be configured to available I / O channels. If X B One test function channel B can all be configured to available I / O channels, record that each test function channel B can be configured to an available I / O channel. At this time, determine that the available I / O channels in the test system can execute the test task. Subsequently, according to the foregoing record, configure these X A One test function channel A to available I / O channels respectively, and these X B One test function channel B to available I / O channels respectively, to obtain X A One target I / O channel A and X B One target function channel B.

[0067] If X B One test function channel B cannot be found or the X B One test function channel B cannot all be respectively configured to available I / O channels, then determine that the available I / O channels in the test system cannot execute the test task.

[0068] For example, the current number of available I / O channels is 16. These 16 I / O channels belong to two I / O devices (such as the AD_PWMIN board), and each I / O device includes 8 available I / O channels. The AD_PWMIN board supports two types of functional channel types: voltage input (Valtage Input) and PWM signal input (PWM Input). The resulting virtualized functional channel resource pool includes 32 functional channels, namely: 16 Valtage Input functional channels and 16 PWM Input functional channels. However, only 16 functional channels can establish mapping relationships with the I / O channels.

[0069] For example, the functional channel configuration information includes: 6 Valtage Input functional channels and 12 PWM Input functional channels are required to execute the test task. First, 6 Valtage Input functional channels are selected from the functional channel resource pool. These 6 Valtage Input functional channels can be mapped to 6 I / O channels (these 6 I / O channels cannot be configured as PWM Input functional channels anymore). Subsequently, 12 PWM Input functional channels are selected from the functional channel resource pool. Since there are only 10 available I / O channels that can be configured as PWM Input functional channels at this time, it is determined that the available I / O channels in the test system cannot execute the test task.

[0070] For example, the functional channel configuration information includes: 4 Valtage Input functional channels and 8 PWM Input functional channels are required to execute the test task. First, 4 Valtage Input functional channels are selected from the functional channel resource pool. These 4 Valtage Input functional channels can be mapped to 4 I / O channels (these 6 I / O channels cannot be configured as PWM Input functional channels anymore). Subsequently, 8 PWM Input functional channels are selected from the functional channel resource pool. At this time, there are still 12 available I / O channels that can be configured as PWM Input functional channels. 8 of the available I / O channels can be configured as PWM Input functional channels, and it is determined that the available I / O channels in the test system can execute the test task. At this time, the 4 Valtage Input functional channels are mapped to 4 I / O channels, and 4 target I / O channels configured as Valtage Input can be obtained. 8 of the available I / O channels can be configured as PWM Input functional channels, and 8 target I / O channels configured as PWM Input can be obtained. Thus, 12 target I / O channels required to execute the test task are selected, that is, the range of 12 target I / O channels used to complete this test task is delimited in the HIL test system.

[0071] In one example, before determining whether the available I / O channels in the test system can execute a test task based on the functional channel configuration information, the cluster control module first determines whether all the I / O channels in the test system can complete the test task based on the functional channel configuration information. If it is determined that all the I / O channels in the test system can complete the test task, then it determines whether the available I / O channels in the test system can execute the test task based on the functional channel configuration information. Among them, the specific method of determining whether all the I / O channels in the test system can complete the test task based on the functional channel configuration information is similar to the aforementioned method of determining whether the available I / O channels in the test system can execute the test task. The main difference is that here the functional channel resource pool virtualized from all the I / O channels in the test system is used, which will not be elaborated here.

[0072] For example, the number of all available I / O channels in the test system is 32. The 32 I / O channels belong to 4 I / O devices (such as the AD_PWMIN board), and each I / O device includes 8 available I / O channels. The AD_PWMIN board supports two functional channel types: voltage input (Valtage Input) and PWM signal input (PWM Input). Thus, the virtualized functional channel resource pool includes 64 functional channels, namely: 32 Valtage Input functional channels and 32 PWM Input functional channels, but only 32 functional channels can establish mapping relationships with the I / O channels.

[0073] The functional channel configuration information of a certain test task includes: 33 ValtageInput functional channels and 9 PWM Input functional channels are required to execute this test task; the functional channel resource pool only contains 32 Valtage Input functional channels. At this time, it is determined that all the I / O channels in the test system cannot complete the test task.

[0074] The functional channel configuration information of another test task includes: 10 ValtageInput functional channels and 9 PWM Input functional channels are required to execute this test task. The functional channel resource pool includes: 32 Valtage Input functional channels and 32 PWM Input functional channels, and the number of I / O channels is 32, so this test task can be completed. Subsequently, it is determined whether the available I / O channels in the test system can execute the test task. For the specific process, please refer to the aforementioned process, which will not be elaborated here.

[0075] Subsequently, the correspondence between the target I / O channels and the test tasks is configured in the I / O control module 2 of the target I / O device, so that the I / O control module 2 of the target I / O device can transmit and receive data related to the test tasks through the target I / O channels during the test process.

[0076] Taking the 12 target I / O channels required for executing the test task selected above as an example, if these 12 I / O channels belong to the same I / O device, the correspondence between these 12 target I / O channels and the test tasks can be configured in the I / O control module 2 of this I / O device. During the subsequent execution of this test task, the I / O control module 2 uses these 12 target I / O channels to transmit and receive data related to the test tasks. If these 12 I / O channels belong to different I / O devices, the correspondence between the target I / O channels included in each I / O device and the test tasks can be configured respectively in the I / O control modules 2 of these multiple different I / O devices, or the correspondence between 12 target I / O channels and the test tasks can be configured in the I / O control modules 2 of each I / O device. During the subsequent execution of this test task, the I / O control modules 2 of each I / O device can all transmit and receive data related to the test tasks based on the correspondence between the configured target I / O channels and the test tasks therein.

[0077] Before or after determining the target I / O channels for executing the test task, the cluster control module can determine the target CPU in the computing resource end for executing the test task based on the task requirement information of the test task. The computing resource end can be an industrial control computer. The process of determining the target CPU can be achieved by determining the CPU, or can also be achieved by determining the target industrial control computer, that is: in the case of determining the target industrial control computer, it can also be understood that the CPU in the determined target industrial control computer is the target CPU.

[0078] Specifically, the task requirement information of the test task at least characterizes the quantity information of the CPU required for executing this test task. At this time, N target CPUs can be selected from the currently idle CPUs according to the above-mentioned task requirement information of the test task.

[0079] Taking the number of the determined target I / O channels as L as an example, the test environment composed of these N target CPUs and L target I / O channels can be divided for executing this test task, that is, the ranges of the CPUs and I / O channels for executing the test task are delimited; both N and L are arbitrary integers greater than or equal to 1.

[0080] Specifically, the task requirement information of the test task at least characterizes the information of which industrial control computer is required to execute the test task, or the characteristics of the industrial control computer. At this time, the corresponding industrial control computer can be selected according to the above test task requirement information. For example, the industrial control computers available for selection in the test system can be displayed in the interface, and then the user can select one of them as the target industrial control computer.

[0081] In addition, if the task requirement information can also include the memory required for the test, the occupied space of the memory, etc., then when selecting N target CPUs and L target I / O channels, the occupied space of the memory, the occupied space of the memory, etc. can also be referred to, that is, it is necessary to ensure that the selected target CPUs and target I / O channels meet the requirements such as the occupied space of the memory and the occupied space of the memory.

[0082] In this embodiment, the so-called idle state means that there is no currently executing or pending test task. In addition, the cluster control module will also determine that the newly extended industrial control computers in the industrial control computer pool and the newly extended I / O channels in the I / O pool are in the idle state.

[0083] After the cluster control module determines the N target CPUs and L target I / O channels required to execute the test task, the target industrial control computer is the industrial control computer that contains one less target CPU among the selected N target CPUs. Thus, the target industrial control computer and the target I / O channels corresponding to the test container of the test task can be determined.

[0084] Subsequently, the cluster control module can use the target industrial control computer and the target I / O channels corresponding to the test container to execute the test task to test the DUT, and enable the DUT to interact with the N target CPUs through the L target I / O channels.

[0085] Furthermore, the corresponding relationship between the target I / O channels configured in the I / O control module 2 and the test task can be understood as the data transmission relationship between the target industrial control computer and the target I / O channels for executing the test task.

[0086] For example, the number of target industrial control computers containing target CPUs is K. The cluster control module selects K target industrial control computers in the industrial control computer pool 1 and L target I / O channels in the I / O pool to execute the same test task, and obtains the data transmission relationship between the K target industrial control computers and the L target I / O channels in the I / O pool 3. This data transmission relationship is configured in the I / O control module 2 connected to each target I / O channel. The I / O control module 2 is used to transmit target data between the K target industrial control computers and the L target I / O channels based on the data transmission relationship between the K target industrial control computers in the industrial control computer pool 1 and the L target I / O channels in the I / O pool 3; K and L are any integers greater than or equal to 1.

[0087] The data transmission relationship therein can be understood as: at least it can represent a relationship that allows data transmission between one or more target industrial control computers and one or more target I / O channels, that is, at least the ranges of the target industrial control computers and target I / O channels that allow data transmission can be determined.

[0088] In one example, the data transmission relationship can further determine to which target I / O channel the data transmitted from the target industrial control computer should be synchronized, and to which target industrial control computer the data transmitted from the target I / O channel should be synchronized, that is, it specifically defines the mapping relationship between the target industrial control computer and the target I / O channel. Further, the mapping relationship between the ports in the target industrial control computer and the ports of the target I / O channel can also be specifically defined; then, the I / O control module 2 can transmit the transmitted data based on this mapping relationship; furthermore, in the case of describing the mapping relationship, it can also represent the target industrial control computers and target I / O channels that allow data transmission.

[0089] In another example, the data transmission relationship is mainly used to delimit the ranges of the target industrial control computers and target I / O channels that allow the transmission of test task-related data. As for which target I / O channel the target industrial control computer should transmit to each time data is transmitted, the DUT 4, the ports (ports of the target I / O channel or the DUT 4), and to which target industrial control computer or which port in the target industrial control computer the data transmitted from the target I / O channel should be transmitted can be determined by other means. For example, corresponding identifiers can be carried during the transmission process, and the I / O control module 2 can determine whether the data transmission relationship is satisfied according to the carried identifier, and if it is satisfied, the transmission is carried out.

[0090] In addition, if there are multiple I / O control modules 2 and different I / O control modules 2 are connected to different target I / O channels, then in one example, the data transmission relationship obtained and used by the I / O control module 2 can be a partial data transmission relationship, that is, a secondary data transmission relationship corresponding to the target I / O channel connected by the I / O control module 2. Furthermore, the secondary data transmission relationship can be understood as: at least used to determine the ranges of the target industrial control computers and target I / O channels that allow data transmission in the target industrial control computer and the target I / O channel connected by the I / O control module 2. In a further example, the corresponding ports can be determined in the target industrial control computer and the target I / O channel connected by the I / O control module 2.

[0091] The data transmission relationships received by different I / O control modules 2 can be partial data transmission relationships, that is, secondary data transmission relationships, and they are different secondary data transmission relationships. Of course, the entire data transmission relationship can also be sent to all I / O control modules 2 connected to the target I / O channel, that is: the data transmission relationships received by different I / O control modules 2 can also be the same.

[0092] The ports involved herein may refer to hardware ports, software ports, port addresses, etc. (e.g., an output port or an input port of a certain model running in the target industrial control computer).

[0093] The I / O control module 2 can obtain some or all of the data transmission relationships from the cluster control module, or other information for determining the data transmission relationships. This process can be obtained via Ethernet, for example.

[0094] In addition, at the same time, the target I / O channels connected to a single I / O control module 2 may all be used for the same test task, or some may be used for one test task and the other part may be used for other test tasks. The I / O control module 2 can obtain the required data transmission relationships separately or together.

[0095] Among them, the issued information generated by the target industrial control computer and to be sent to the device under test 4 includes, but is not limited to: test instructions to be run in the device under test 4, test signals generated by the simulation model for the target industrial control computer to run the test or generated by the simulation board connected to the target industrial control computer (the test signals are related to the device under test 4 and the test scenario, such as signals of the current environment scenario where the vehicle is located, in-vehicle environment signals, simulated traffic flow and pedestrian flow image signals, etc.); the reported information sent by the device under test 4 to the target industrial control computer includes, but is not limited to: feedback signals generated by the device under test 4 based on the issued information sent by the target industrial control computer, and the operating state information of the device under test 4 during the test process (such as clock signals, supply voltages, temperature signals, load rates, etc.).

[0096] Specifically, during the execution of a certain test task, K target industrial control computers in the industrial control computer pool 1 and L target I / O channels in the I / O pool 3 are used to test the device under test 4, and the L target I / O channels are connected to the device under test 4; for example, the data transmission relationship defines the flow direction of the target data between the target industrial control computer and the target I / O channel, that is, after the reported information originating from the device under test 4 or the target I / O channel and to be sent to the target industrial control computer is transmitted to the target I / O channel, each target I / O channel sends the reported information to the I / O control module 2. This data transmission relationship determines the target industrial control computer (or its port) to which the I / O control module 2 needs to send the reported information originating from each target I / O channel; and after the issued information generated by the target industrial control computer and to be sent to the device under test 4 or the target I / O channel is transmitted to the I / O control module 2, this data transmission relationship determines that the I / O control module 2 sends the issued information originating from each target industrial control computer to the device under test 4 or the target I / O channel. Among them, the device under test 4 can receive different information through different pins.

[0097] When testing the device under test 4, each target industrial control computer can perform a complete test on the device under test 4 separately, or K target industrial control computers can cooperate to implement the test of the device under test 4. Each test part can be implemented by one or more target industrial control computers. For example, different simulation models are running in each target industrial control computer, and each target industrial control computer can receive the reported information from the device under test 4 or the target I / O channel; and / or, other target industrial control computers generate test signals during the operation of the corresponding simulation model, and generate test signals to be sent to other target industrial control computers and / or downlink information to be sent to the device under test 4 or the target I / O channel.

[0098] In one example, the computers where the target industrial control computers are located and the computer where the I / O control module 2 is located can be communicatively connected via Ethernet. Network protocols implemented by software are set in both the target industrial control computer and the I / O control module 2. The computer sending data encapsulates the data into the network protocol through software and transmits it to other computers. The software of the computer receiving data receives the network packet and extracts the data from the network packet for further use. Thus, the I / O control module 2 can perform the exchange and sharing of target data between K target industrial control computers and L target I / O channels based on Ethernet, which has the advantages of low cost and easy implementation.

[0099] In this embodiment, the cluster control module in the test system can determine the data transmission relationship between the K target industrial control computers in the industrial control computer pool 1 and the L target I / O channels in the I / O pool 3 for executing the current test task. Among them, the number of cluster control modules can be one or more; each test task can test one or more devices under test of the same type, and the device under test tested by the test task is the Figure 1 device under test 4 in

[0100] Specifically, for the current test task to be executed, the cluster control module can first demarcate K target industrial control computers for executing the test task from the industrial control computer pool 1 and demarcate L target I / O channels for executing the first test task from the I / O pool 3, that is, obtain the K target industrial control computers and the L target I / O channels for executing the first test task, and then establish the data transmission relationship between the K target industrial control computers and the L target I / O channels. Among them, if there is a situation of insufficient resources in the target industrial control computers in the industrial control computer pool 1 and / or the target I / O channels in the I / O pool 3, horizontal expansion can also be carried out accordingly.

[0101] After determining the data transmission relationship between K target industrial control computers and L target I / O channels, the cluster control module can send the data transmission relationship to the K target industrial control computers respectively; when each target industrial control computer needs to send downlink information to the first device under test, based on the data transmission relationship, it specifies the target I / O channel for receiving each downlink information, and then the I / O control module 2 sends each downlink information to the device under test through the specified target I / O channel. In addition, when the device under test needs to send reporting information to the target industrial control computer, the I / O control module 2 receives the reporting information through the L target I / O channels, and the target I / O channels can mark the target I / O channels for sending each reporting information, so that each target industrial control computer receives the reporting information from the specified target I / O channel based on the above data transmission relationship.

[0102] Or, After determining the data transmission relationship between K target industrial control computers and L target I / O channels, the cluster control module can feedback the data transmission relationship to the I / O control module 2; when each target industrial control computer needs to send downlink information to the device under test, it directly sends the downlink information to the I / O control module 2, and the I / O control module 2 based on the data transmission relationship, sends each downlink information to the first device under test through the specified target I / O channel. Similarly, when the device under test needs to send reporting information to the target industrial control computer, the I / O control module 2 receives the reporting information through the L target I / O channels, and the I / O control module 2 based on the above data transmission relationship, sends the reporting information from each target I / O channel to the specified target industrial control computer.

[0103] In addition, the L target I / O channels divided are configured to communicate with the device under test. For example, after dividing the L target I / O channels, the L target I / O channels are directly connected to each device under test, or there is a switching matrix 5 between the target I / O channels and the device under test. The cluster control module configures a connection channel to be formed between the first port connected to the L target I / O channels and the second port connected to the device under test in the switching matrix 5, and establishes a communication connection between the L target I / O channels and the device under test, so that the switching matrix 5 can transmit target data between the L target I / O channels and the device under test through the configured connection channel.

[0104] The cluster control module is also used to send the task information of the test task to the K target industrial control computers, so that the target industrial control computers can generate the downlink information to be sent to the first device under test based on the task information of the first test task. Among them, the task information of the first test task includes the simulation model, test parameters, test cases, etc. required for the test.

[0105] It should be noted that in Figure 1Multiple industrial control computers 11 in it have been pooled, so that the CPUs in each industrial control computer 11 can access all I / O channels. At this time, if multiple target CPUs are selected, these multiple target CPUs can belong to the same industrial control computer 11, or can belong to different industrial control computers 11, and all can perform data interaction with the selected target I / O channels; if multiple industrial control computers 11 are not pooled, then when selecting the target CPU and I / O channel, it is necessary to ensure that there is a physical connection between the target CPU and I / O channel for data interaction.

[0106] In this embodiment, the cluster control module can be set in the test system in the following two ways, specifically as follows: Method 1: Please refer to Figure 1 , the test system further includes: a cluster control module 6; the cluster control module 6 is respectively communicatively connected to each industrial control computer 11. The cluster control module 6 can be a computer including a cluster controller, and this computer is communicatively connected to each industrial control computer 11 through wire or wirelessly.

[0107] In addition, the cluster control module 6 can be communicatively connected to the host computer 7 through wire or wirelessly. The host computer 7 can generate a test task based on the user's configuration and distribute the task information of the generated test task to the corresponding K industrial control computers 11.

[0108] In an example, the cluster control module 6, the industrial control computer 11, and the I / O control module 2 are communicatively connected through Ethernet, that is, the computer where the cluster control module 6 is located, each industrial control computer 11, and the computer where the I / O control module 2 is located communicate through Ethernet, which can meet the communication requirements of the three parties. For example, the cluster control module 6 can send the above data transmission relationship to the industrial control computer 11 and / or the I / O control module 2 through Ethernet.

[0109] Method 2: Please refer to Figure 2 , any one of the industrial control computers 11 included in the test system is configured as a cluster control module. The industrial control computer 11 configured as the cluster control module can be connected to the host computer 7. The host computer 7 can generate a test task based on the user's configuration and send the generated test task to the industrial control computer 11 configured as the cluster control module, and this industrial control computer 11 distributes the task information of the first test task to the corresponding K industrial control computers 11. Among them, being configured as the cluster control module can only be used to implement the function of the cluster controller, but is not limited to this, and can also be used as the function of the cluster controller and the test of the device under test at the same time.

[0110] It should be noted that Figures 1 to 4 only one host computer 7 is schematically drawn, and the number of host computers 7 can also be multiple.

[0111] It should also be noted that this embodiment only illustrates how to allocate I / O channels for a test task, and the further I / O channels allocated to execute this test task will be configured to an unavailable state; if after an I / O channel is allocated for a test task, as long as the cluster control module receives the function channel configuration information of another test task, it will still allocate I / O channels for this test task from the currently available I / O channels in the test system, and repeat the foregoing process until the I / O channels in the cluster control module are insufficient to execute the currently received test task, so as to realize the full utilization of the I / O channel resources in the test system. In addition, after a test task is completed or the cluster control module receives an instruction sent by the tester indicating the end of the test task execution, the I / O channels used to execute this test task will be reconfigured to an available state.

[0112] In this embodiment, when the I / O channels available in the test system can execute test tasks, the cluster control module can select target I / O channels for executing test tasks from the I / O channels available in the test system in combination with the function channel configuration information of the test task, and configure the target I / O channels in the target I / O devices to which the target I / O channels belong to execute test tasks, so that the target I / O devices can transmit and receive data related to the test task through the target I / O channels during the test process. For the cluster formed by connecting multiple test benches, all testers can request I / O channels in the cluster control module, and the cluster control module automatically allocates I / O channels for each test task, realizing the reasonable allocation and full utilization of the I / O channels in the test system, without the need to move the test benches, and is more suitable for the clustered test scenario.

[0113] The second embodiment of the present invention relates to a channel allocation method. The main difference between this embodiment and the first embodiment is that: the tester can reserve the I / O channel resources of the test system according to time periods.

[0114] The specific process of the channel allocation method in this embodiment is as Figure 6 shown.

[0115] Step 201, after receiving the function channel configuration information related to the test task, determine whether the I / O channels available in the test system during the set multiple time periods can execute the test task based on the function channel configuration information.

[0116] Step 202, display the time periods during which the test system can be used to execute the test task for selection.

[0117] Specifically, in the cluster control module, the time of each day is pre-divided into multiple time periods, and it is set that within a certain number of days in the future, testers can reserve the I / O channels in the test system according to the time periods. For example, please refer to Figure 7 , when a tester accesses the cluster control module, they enter Figure 7 's reservation initiation interface. Each day is divided into 8 time periods, each time period is 3 hours, and all the time periods for the next seven days are displayed. At this time, when the tester enters the function channel configuration information of the test task, all the time periods cannot be selected.

[0118] When the tester triggers Figure 7 's reservation initiation button, a Figure 8 's reservation selection configuration interface pops up, which displays the function channel types supported by all the I / O channels in the test system. In Figure 8 , 15 function channel types are displayed. After each function channel type, the tester can configure the required quantity. After the tester selects the function channel type and configures the quantity and triggers the search button, the function channel configuration information configured by the tester can be read.

[0119] Subsequently, for each time period of each day in the next seven days, read the I / O channels in the available state within that time period, and then virtualize all the currently available I / O channels according to the function channel types supported by the I / O devices to which the currently available I / O channels belong to obtain the current function channel resource pool, and then determine whether the function channel resource pool within that time period can execute the test task; repeating this process can obtain whether each time period of each day in the next seven days can execute the test task; the process of determining whether the function channel resource pool within each time period can execute the test task is similar to the specific method in the first embodiment of determining whether the available I / O channels in the test system can execute the test task based on the function channel configuration information, and will not be elaborated here one by one.

[0120] Subsequently, display the time periods available for the test system to execute the test task for selection.

[0121] For example, please refer to Figure 9 , as the interface for selecting time periods, configure the time periods that can execute the test task to be selectable (white area), and configure the time periods that cannot execute the test task to be unselectable (gray area). Thus, the tester can select one or more time periods from the time periods that can execute the test task (white area), and the selected time periods are the target time periods. In Figure 9Among them, the selected target time periods include: 00:00 - 03:00, 03:00 - 06:00, 06:00 - 09:00, 09:00 - 12:00; testers can click to cancel the selected target time periods. After clicking "Submit", the cluster control module will pop up a window to display the selected function channel types and quantities, as well as the selected target time periods for the testers to further confirm.

[0122] Step 203: After receiving at least one selected target time period among the time periods available for the test system to execute test tasks, select the target I / O channels within each time period from the available I / O channels in the test system for each target time period.

[0123] Specifically, after receiving at least one target time period selected by the tester from the time periods available for executing test tasks, for each target time period, select the target I / O channels for executing test tasks from the available I / O channels in the test system within this target time period; thus, the target I / O channels for executing test tasks within each target time period can be obtained; when selecting target I / O channels in adjacent target time periods, the same target I / O channels are preferentially selected. Among them, the selection of the target I / O channels for executing test tasks from the available I / O channels in the test system within each target time period is similar to that in the first embodiment of selecting the target I / O channels for executing test tasks from the available I / O channels in the test system, and will not be elaborated here.

[0124] In one example, after at least one target time period selected during the time period when the test system is available for performing test tasks, and before selecting the target I / O channels within each time segment from the I / O channels available in the test system for each target time period, it is determined whether the I / O channels available in the test system for each target time period can perform test tasks based on the functional channel configuration information. If it is determined that the I / O channels available in the test system for each target time period can perform test tasks, then the target I / O channels within each time segment are selected from the I / O channels available in the test system for each target time period. That is, when the tester selects the target time period to be reserved, it is again determined based on the functional channel configuration information whether the I / O channels available in the test system for each target time period can perform test tasks. Thus, it is possible to determine whether other testers have reserved the relevant I / O channels before the tester selects the target time period, avoiding the situation where there are not enough available I / O channels to perform test tasks within one or more target time periods. If the I / O channels available in the test system for each target time period can perform test tasks, then the target I / O channels within each time segment are selected from the I / O channels available in the test system for each target time period; if the I / O channels available in the test system for one or more target time periods cannot perform test tasks, a prompt message can be sent to indicate the target time periods that cannot be executed, for the tester to determine whether to re-select the target time period.

[0125] Step 204, configure the target I / O channels in the target I / O device to perform test tasks, so that the target I / O device can transmit and receive data related to the test tasks through the target I / O channels during the test. The target I / O device is an I / O device that includes the target I / O channels.

[0126] Specifically, for each target time period, for the target I / O device that includes the target I / O channels within the target time period, configure the target I / O channels in the target I / O device to perform test tasks, and set the effective time period for the target I / O channels to perform test tasks. The effective time period is the target time period; thus, each target I / O device is configured with the target I / O channels for performing test tasks, and the effective time period for the target I / O channels to perform test tasks is set. Thus, each target I / O device can transmit and receive data related to the test tasks through the target I / O channels during each effective time period of the test process.

[0127] In this embodiment, the reservation function of the I / O channel resources is introduced. Thus, the tester can make reservations for the I / O channel resources in advance according to the time period, which is beneficial to the further rational planning and utilization of the I / O channel resources; in addition, the usage situation of the I / O channel resources within a certain future time can also be obtained.

[0128] The third embodiment of the present invention relates to a channel configuration device, which can be used to execute the channel allocation method in the first or second embodiment to allocate I / O channel resources in a test system. In one example, the channel configuration device can be a cluster control module in a HIL test system. For specific details, please refer to the relevant description in the first embodiment and will not be elaborated here.

[0129] Since the third embodiment corresponds to the first and second embodiments, the third embodiment can be implemented in cooperation with the first and second embodiments. The relevant technical details mentioned in the first and second embodiments are still valid in the third embodiment, and the technical effects achievable in the first and second embodiments can also be realized in the third embodiment. To avoid repetition, they will not be elaborated here. Correspondingly, the relevant technical details mentioned in the first and second embodiments can also be applied to the third embodiment.

[0130] The fourth embodiment of the present invention relates to a non-transitory computer-readable storage medium, on which processor-executable instructions are stored, and the executable instructions are configured to execute the channel allocation method in the first or second embodiment.

[0131] Since the fourth embodiment corresponds to the first to third embodiments, the fourth embodiment can be implemented in cooperation with the first to third embodiments. The relevant technical details mentioned in the first to third embodiments are still valid in the fourth embodiment, and the technical effects achievable in the first to third embodiments can also be realized in the fifth embodiment. To avoid repetition, they will not be elaborated here. Correspondingly, the relevant technical details mentioned in the first to third embodiments can also be applied to the fourth embodiment.

[0132] The preferred embodiments of the present invention have been described in detail above. However, it should be understood that if necessary, aspects of the embodiments can be modified to adopt aspects, features, and concepts of various patents, applications, and publications to provide additional embodiments.

[0133] In view of the above detailed description, these and other changes can be made to the embodiments. Generally speaking, in the claims, the terms used should not be construed as limited to the specific embodiments disclosed in the specification and claims, but should be understood to include all possible embodiments and the full equivalent scope enjoyed by these claims.

Claims

1. A channel allocation method, characterized in that, For allocating multiple channels included in a test system; the method includes: For the test system including available channels and unavailable channels during a target time period, select target channels for performing a target test task from the available channels, so that during the target time period: data related to the target test task is transmitted and received through the target channels during the test process; The unavailable channels include channels that cannot be used to perform the target test task because other test tasks other than the target test task have been allocated during the target time period.

2. The channel allocation method according to claim 1, wherein The selecting of the target channels for performing the target test task includes: based on function channel configuration information, select target channels for performing the target test task from the available channels in the test system. Specifically, it includes: After receiving function channel configuration information related to the target test task, based on the function channel configuration information, determine whether the available channels in the test system can perform the target test task; After determining that the available channels in the test system can perform the target test task, select target channels for performing the target test task from the available channels in the test system; Wherein, each of the channels can be configured as one of the function channel types supported by the channel, and the function channel configuration information includes: the type of the test function channels required for performing the target test task and the required quantity of each type of the test function channels.

3. The channel allocation method according to claim 2, wherein The determining whether the available channels in the test system can perform the target test task based on the function channel configuration information includes: Based on the function channel types supported by each currently available channel in the test system, obtain the current function channel resource pool, and determine whether target function channels of each type that meet the required quantity can be respectively selected from the function channel resource pool; If target function channels of each type that meet the required quantity can be respectively selected from the function channel resource pool, determine that the available channels in the test system can perform the target test task; If target function channels of each type that meet the required quantity cannot be respectively selected from the function channel resource pool, determine that the available channels in the test system cannot perform the target test task.

4. The channel allocation method according to claim 3, characterized in that, The determining whether target function channels of each type that meet the required quantity can be respectively selected from the function channel resource pool includes: If the quantity of target function channels of the same type as each of the test function channels in the function channel resource pool is greater than or equal to the required quantity of each of the test function channels, and each of the target function channels can be configured to the available channels, determine that the available channels in the test system can perform the target test task; If the quantity of target function channels of the same type as each of the test function channels in the function channel resource pool is less than the required quantity of each of the test function channels, and / or any one of the target function channels cannot be configured to the available channels, determine that the available channels in the test system cannot perform the target test task.

5. The channel allocation method according to claim 2, characterized in that Determining whether the available channels in the test system can execute the target test task based on the functional channel configuration information includes: Determining whether the available channels in the test system can execute the target test task within a set of multiple time periods based on the functional channel configuration information; Before selecting a target channel from the available channels for executing the target test task, it includes: Displaying the time periods during which the test system can be used to execute the target test task for selection; Selecting a target channel from the available channels for executing the target test task includes: After receiving at least one target time period selected from the time periods during which the test system can be used to execute the target test task, selecting the target channels within each of the target time periods from the channels available in the test system during each of the target time periods, so that: during the target time period, data related to the target test task is transmitted and received through the target channels.

6. The channel allocation method according to claim 5, characterized in that, When selecting the target channels within each of the target time periods from the channels available in the test system during each of the target time periods, it further includes: Determining whether the channels available in the test system during each of the target time periods can execute the target test task based on the functional channel configuration information; If it is determined that the channels available in the test system during each of the target time periods can execute the target test task, enter the step of selecting the target channels within each of the target time periods from the channels available in the test system during each of the target time periods.

7. The channel allocation method according to claim 1, wherein The multiple channels included in the test system are the multiple channels of at least one I / O device included in the test system, and each I / O device includes: an I / O control module and at least one channel; Selecting a target channel for executing the target test task further includes: configuring the target channel in the target I / O device to execute the target test task. Specifically, it includes: Configuring the correspondence between the target channel and the target test task in the I / O control module of the target I / O device, so that the I / O control module of the target I / O device transmits and receives data related to the target test task through the target channel during the test.

8. The channel allocation method according to claim 1, wherein The test system further includes: a computing resource end configured with a CPU; the method further includes: determining a target CPU in the computing resource end for executing the target test task based on the task requirement information of the target test task, so that when the target CPU and the target channel are used to execute the target test task to test the device under test, the device under test and the target CPU interact through the target channel.

9. A channel configuration device, characterized in that, For executing the channel allocation method according to any one of claims 1 to 8.

10. A test system, characterized in that, Including multiple channels, and the channels therein can be allocated by the channel allocation method according to any one of claims 1 to 8.