METHOD FOR CONFIGURING A TESTER EQUIPPED FOR TESTING A CONTROL UNIT
20170212509 · 2017-07-27
Assignee
Inventors
Cpc classification
G05B2219/23446
PHYSICS
G01R31/31908
PHYSICS
International classification
Abstract
A method for automated configuration of a tester equipped for testing a control unit. A first and second model of technical systems being executed in the tester. The execution of the models taking place periodically with defined sampling rates. An FPGA executes the first and/or the second model and a CPU executes the first or the second model. A first individual sampling rate is allocated for the first model and a second individual sampling rate is allocated for the second model. The first model is assigned for execution on either the CPU or the FPGA and the second model is assigned for execution on either the CPU or the FPGA. The tester is automatically configured for execution of the first model with the first allocated sampling rate on the FPGA or the CPU and of the second model with the second allocated sampling rate on the FPGA or the CPU.
Claims
1. A method for automated configuration of a tester equipped for testing a control unit, the method comprising: executing in the tester a first model of a technical system and a second model of a technical system, the execution of the models taking place periodically with defined sampling rates, the first model and the second model each representing a model of a technical system to be controlled or a model of a control unit under test, the first and second models being present as source code in a high-level programming language; providing in the tester an FPGA for executing the first and/or the second model and a CPU for executing the first or the second model; connecting the control unit under test to the tester during execution of the models and a data exchange takes place between the control unit and/or the first model and/or the second model; allocating a first individual sampling rate for the first model and allocating a second individual sampling rate for the second model; assigning the first model for execution on either the CPU or the FPGA and assigning the second model for execution on either the CPU or the FPGA; and configuring the tester for execution of the first model with the first allocated sampling rate on the FPGA or the CPU and of the second model with the second allocated sampling rate on the FPGA or the CPU.
2. The method according to claim 1, wherein the automatic configuration of the tester includes: generating at least one netlist from the first and/or the second model if execution on the FPGA was assigned to the first and/or the second model; generating communication interfaces to permit data exchange between the first model, the second model, and/or the control unit; configuring at least one partition of the FPGA by the at least one netlist and the generated communication interfaces; and configuring a multiple clock rate component on the FPGA to provide at least one individual clock rate signal for execution of the first and/or second model on the FPGA at the individual sampling rate.
3. The method according to claim 2, wherein the configuration of the tester includes: generating machine language source code from the first and/or the second model if execution on the CPU was assigned to the first and/or the second model; and linking the generated machine language source code to the configured FPGA via the generated communication interfaces.
4. The method according to claim 1, wherein the assignments of the models take place with the allocated sampling rates being taken into account.
5. The method according to claim 1, wherein the complexity of the models and/or free computing capacity on the CPU and/or the FPGA are taken into account during the assignment of the models.
6. The method according to claim 1, wherein the high-level programming language is a graphical programming language.
7. The method according to claim 2, wherein the generation of the netlist includes the intermediate step of generating a hardware description language.
8. The method according to claim 1, wherein the tester is a hardware-in-the-loop simulator or a rapid control prototyping system.
9. The method according to claim 1, wherein the tester has an input/output interface for connecting a control unit to the tester.
10. The method according to claim 2, wherein the configuration and the allocation of the sampling rates is done via an RCP/HIL hybrid configuration device, wherein the RCP/HIL hybrid configuration device is constituted such that it has a first serial arrangement of configuration elements for configuring an input/output interface and a second serial arrangement of configuration elements for configuring interfaces of the first and the second model, the configuration elements being assigned to one another, and the communication interfaces being generated while taking into account the configuration elements that are assigned to one another.
11. A tester for testing a control unit, the tester comprising: a first model of a technical system; a second model of a technical system, the first and second models being executed in the tester, the execution of the models being performed periodically with defined sampling rates, the first model and the second model each representing a model of a technical system to be controlled or a model of a control unit under test, the models being source code in a high-level programming language; an FPGA for executing the first and/or the second model; and a CPU for executing the first and/or the second model, wherein the tester is adapted to connect a control unit under test to the tester during execution of the models and adapted for data exchange between the control unit and/or the first model and/or the second model, and wherein the tester is adapted to execute the method according to claim 1.
12. A method for automated configuration of a tester equipped for testing a control unit, the method comprising: executing a first model of a technical system and a second model of a technical system in the tester, the execution of the first or second models being performed periodically with defined sampling rates, the first model and the second model each representing a model of a technical system to be controlled or a model of a control unit under test, the first and second models being source code in a high-level programming language; providing a FPGA in the tester for executing the first model and the second model; connecting the control unit under test to the tester during execution of the models such that a data exchange takes place between the control unit and/or the first model and/or the second model; allocating a first individual sampling rate for the first model; allocating a second individual sampling rate for the second model; configuring the tester for execution of the first model with the first allocated sampling rate and the second model with the second allocated sampling rate on the FPGA; generating at least one netlist from the first and the second model; generating communication interfaces to permit data exchange between the first model, the second model, and/or the control unit; configuring a first partition and a second partition of the FPGA by the at least one netlist and the generated communication interfaces; and configuring a multiple clock rate component on the FPGA to provide at least one first individual clock rate signal for execution of the first model with the first individual sampling rate and of a second individual clock rate signal for execution of the second model on the FPGA with the second individual sampling rate.
13. A method for automated configuration of a tester equipped for testing a control unit, the method comprising: executing a first model of a technical system and a second model of a technical system in the tester, the execution of the models being performed periodically with defined sampling rates, the first model and the second model each representing a model of a technical system to be controlled or a model of a control unit under test, the first model and the second model being source code in a high-level programming language; providing in the tester a first FPGA and a second FPGA for executing the first and/or the second model; connecting the control unit under test to the tester during execution of the models such that a data exchange takes place between the control unit and/or the first model and/or the second model; allocating a first individual sampling rate for the first model; allocating a second individual sampling rate for the second model; assigning the first model for execution on either the first FPGA or the second FPGA; assigning the second model for execution on either the first FPGA or the second FPGA with the allocated sampling rates being taken into account; and configuring the tester for execution of the first model with the first allocated sampling rate and of the second model with the second allocated sampling rate.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0028] The present invention will become more fully understood from the detailed description given hereinbelow and the accompanying drawings which are given by way of illustration only, and thus, are not limitive of the present invention, and wherein:
[0029]
[0030]
[0031]
[0032]
DETAILED DESCRIPTION
[0033] Shown in
[0034] The tester 100 can be, for example, a hardware in the loop (HIL) simulator. The tester 100 can also be a rapid control prototyping (RCP) system. However, the tester can also be a device that is suitable for performing HIL tests or RCP tests due to the fact that a model of a technical system can be executed on the tester, and this model can exchange data through input/output interfaces with a device under test that is connected to the tester, e.g., a control unit, with this data exchange being used to analyze, in particular, the reaction of the tester to data resulting from the model, which data are transmitted to the control unit in the form of electrical signals, for example.
[0035] A technical model, which is to say a model of a technical system, can by way of example. be present in the form of a software model that is specified by source code, for example in a high-level language such as C, C++, or in a machine language such as, e.g., assembler or executable machine code. Using a technical model, any desired systems can be modeled in order to simulate them virtually. Thus, for example, a model of a motor can be present as software, with the software being programmed such that during a simulation, which is to say here an execution of the model on a CPU or an FPGA, input parameters are processed by the software and output values are generated as a function of the input parameters and the nature of the model. An input parameter in this context can be, for instance, a voltage present at a throttle valve of a gasoline engine, and output values in this regard could be a resultant opening angle of the throttle valve, fuel consumption, and/or a resultant torque at the crankshaft. The model can also be a model of a control unit under test or under development, however.
[0036]
[0037] According to the invention, the allocation of the models to an execution resource can also be carried out automatically taking into account the allocated sampling rates, the complexity of the calculations performed in the model, and the data types used, as well as the already existing utilization of the execution resources or computing capacities, e.g. in the form of task turnaround times of a CPU or free logic gates of an FPGA. For this purpose, a multivariable optimization algorithm taking into account secondary conditions and a quadratic objective function can be used, for example. The objective function here can contain a maximal latency, which is to say a reaction time of the models to a change in the input values. In addition, the objective function can be extended by criteria that take into account the allocated sampling rates and the complexity of the calculations as well as the data types used. The secondary conditions in the optimization algorithm can ensure that task turnaround times of the CPU are adhered to and the FPGA contains sufficient free logic gates.
[0038] The automatic configuration can also include an automatic generation of netlists for the particular models that are to be executed on an FPGA. Various software solutions with automation interfaces, such as, e.g., the Xilinx System Generator, Matlab HDL Coder, and Xilinx Vivado HLS, can be used for this purpose, for example. From models that are present in a high-level programming language such as graphical Simulink code or C/C++, for example, these software solutions can automatically generate netlists or hardware description languages such as VHDL or Verilog code with which FPGAs can be configured to execute the program specified in the high-level programming language.
[0039] The communication interface 107 can also be generated automatically in accordance with the invention. In contrast to the form shown in
[0040]
[0041] The allocation of the sampling rates can be accomplished according to the invention by means of an RCP/HIL hybrid configuration device 300, for example, which is diagrammed in
[0042]
[0043] The invention being thus described, it will be obvious that the same may be varied in many ways. Such variations are not to be regarded as a departure from the spirit and scope of the invention, and all such modifications as would be obvious to one skilled in the art are to be included within the scope of the following claims.