WO2011101255A1 - Method for operating a controller - Google Patents

Method for operating a controller Download PDF

Info

Publication number
WO2011101255A1
WO2011101255A1 PCT/EP2011/051533 EP2011051533W WO2011101255A1 WO 2011101255 A1 WO2011101255 A1 WO 2011101255A1 EP 2011051533 W EP2011051533 W EP 2011051533W WO 2011101255 A1 WO2011101255 A1 WO 2011101255A1
Authority
WO
WIPO (PCT)
Prior art keywords
function
functions
circuit arrangement
reconfigurable
elements
Prior art date
Application number
PCT/EP2011/051533
Other languages
German (de)
French (fr)
Inventor
Timo Lothspeich
Christian Kerstan
Andreas-Juergen Rohatschek
Heinz Tilsner
Bernd Lutz
Ingo Feldner
Tobias Kirchner
Clemens Schroff
Stoyan Todorov
Original Assignee
Robert Bosch Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Publication of WO2011101255A1 publication Critical patent/WO2011101255A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Definitions

  • the invention relates to a method for operating a control device, a
  • Circuit arrangement for a control unit and a control unit Circuit arrangement for a control unit and a control unit.
  • control unit In an operation of a control device for controlling a technical device, u. a. a data processing performed.
  • the control unit provides the data and / or information actuators and / or sensors of such a technical device.
  • the control unit performs different functions, whereby hardware resources are used by a respective function for calculations to be carried out. In the context of the presented invention, it is provided to use the given hardware resources particularly effectively.
  • connection to external devices takes place in the examined devices only via standardized data interfaces, such. Firewire.
  • a direct sensor and / or actuator connection is not provided.
  • ECUs are coupled with appropriate interfaces such as CAN or FlexRay.
  • the actual structures of the control devices have the same limitations as, for example, devices for data-intensive calculations.
  • a control device for controlling components in a means of transport is the subject of the already mentioned document DE 10 2005 010 476 A1.
  • the controller includes an interface to an external data bus, a hardware module, and a memory for providing the data necessary for data processing.
  • a direct communication to control components of transport via the interface to the data bus with sensors or actuators, a direct communication to control components of transport.
  • the control unit has at least two configurable hardware modules which are designed to perform a plurality of control processes on the hardware modules in parallel in time on the basis of the messages from the data bus or the control commands of the control unit, a distribution unit being provided for assigning the parallel-running control processes to the hardware modules.
  • a hardware configuration is first loaded into the hardware module to reconfigure its hardware. After assigning the input data for the control process, the newly configured hardware module assumes control of the associated component.
  • the invention relates inter alia to a structure of a circuit arrangement or a system for realizing a dynamic reconfiguration and thus a new setting or generally a setting of surfaces of a hardware module, which may be formed, for example, as a processor core or processor or memory area in a control unit.
  • the control device for which the circuit arrangement can be provided, can be used for an electromechanical device, for example for a vehicle, and in an embodiment comprises a reconfigurable surface or hardware surface of the hardware module, which is divided into surface elements or partial surface elements of different size.
  • the circuit arrangement can furthermore comprise a dispatcher, which is also referred to as an allocation module and which is designed to allocate at least one function to the surface of the hardware module, and a scheduler, which is also referred to as a scheduling module and which is designed to select the time of the at least one function ,
  • the circuit arrangement may comprise a configurable connection structure or port matrix for accessing inputs and outputs as well as for implementing an arbitration or an access control for accesses to these inputs and outputs by the interaction of dispatcher and scheduler. If several functions are to be performed, these are realized together, usually with mutual interaction.
  • the structure provided by means of the circuit arrangement reduces the need for a reconfigurable surface of the hardware module and thus hardware resources compared to the prior art, and better takes into account a timing structure of a control device when executing functions.
  • dynamic controller reconfiguration can be used to improve area overhead, accommodate timing requirements in the controller, and arbitrate access to external resources shared by multiple functions.
  • the said external resources are usually electromechanical devices such as sensors and / or actuators.
  • the hardware module is a unit that can perform at least one function of an embodiment of the circuit arrangement according to the invention and / or an embodiment of the control device according to the invention.
  • the dispatcher is a module which determines the local localization of functions and inserts them in place of at least one selected function module or removes them again from the at least one surface element.
  • the scheduler is designed to handle the
  • the scheduler determines which function should be executed at which time.
  • the dispatcher and the scheduler can mutually cooperate in a complementary manner and jointly determine which at least one function is executed at which time on which at least one surface element is executed.
  • the port matrix is formed as a connection structure that connects executed functions on the reconfigurable surface to input pins and output pins, e.g. B. to connect the controller to electromechanical devices, usually to sensors and / or actuators.
  • the arbitration or the access control method is used to control the accesses to the reconfigurable area of the shared hardware module.
  • the scheduler determines from requirements of the circuit arrangement and thus of the control device, with possible consideration of external electronic devices and time requirements of the functions, which function is to be executed at which point in time. For this purpose, at least one of the following information can be available to the scheduler.
  • An end time for the at least one function usually a time at which the execution of the at least one function will be completed, can also be used as information.
  • Length can be done. Cycle times as additional or alternative information indicate the intervals at which functions are to be executed. Further information can provide information about priorities or urgency of functions. Prioritized or urgent functions are necessary for the execution of basic functions of the control unit and have a higher priority than z. B. simple control functions. In addition, information about whether a function needs to be executed or not to be activated if this function is waiting for an interrupt, for example.
  • a priority-based selection of functions that are ready to be executed and that have the highest priority among multiple functions can also be used as information.
  • the priorities can also be re-prioritized taking into account the time that has elapsed since the last execution.
  • An interrupt-driven scheduling provides information about the functions to be selected which can process pending interrupts.
  • Deadline scheduling selects the function that needs to meet a deadline next, and thus a set deadline.
  • the terms of the functions to be performed for this purpose can also be taken into account.
  • scheduling and / or scheduling methods may be used, e.g. For example, deadline scheduling with additional interrupt scheduling.
  • deadline scheduling with additional interrupt scheduling.
  • the scheduler and the dispatcher it may be important for the scheduler and the dispatcher that functions can also signal a termination of an execution.
  • the scheduler may also interrupt functions after the lapse of a specified amount of time during execution.
  • a typically dynamic division of the reconfigurable surface by combination of surface elements, with which the at least one function is performed, take place, wherein the reconfigurable surface is divided into surface elements as sub-elements.
  • Devices known from the prior art use a plurality of hardware components formed as sub-elements, each comprising a rigidly predetermined surface and having the same size. As a result, all of these sub-elements must have a minimum size which corresponds to the area requirement of the largest module. For strongly different module sizes, as they are often present in ECUs, z. For example, on the one hand complex digital controller structures over a simple counter for determining rotation rates on the other hand, this division leads via hardware components to a high overhead or an overcapacity of area, so that large areas of the available area of a hardware component remain unused.
  • this problem is counteracted by providing area elements of the hardware module that comprise different sizes.
  • the largest surface elements for the largest function can be designed sufficiently large for carrying out this largest function, whereas the smallest surface elements with respect to the size of the smallest function. be tuned functions.
  • the surface elements can be configured with functions that do not use more than the available area of the surface element. Small functions can also be realized in large area elements.
  • additional smaller surface elements can be dynamically and temporally limited to larger surface elements joined together and therefore merged, if a large function must be realized and if no correspondingly large surface elements are free. Between the smallest and the largest surface elements several other size steps for surface elements may exist.
  • An alternative design provides many small surface elements of the same size, which are actually not big enough to realize all functions. In this case, large functions are implemented by merging these small surface elements.
  • any suitable number of said small area elements may be assembled to provide a configurable area for performing a function.
  • the dispatcher is designed to select at least one area element that is configured with the function for at least one function to be executed. For this purpose, the dispatcher uses information from the scheduler about which at least one function is to be executed. In addition, the function memory and old states of the at least one function stored in the state memory are used. With the old states stored in the state memory, a previous runtime for executing the at least one function and an area requirement required for processing the at least one function can be taken into account. To determine the area element on which the at least one function is to be executed, there are various procedures available.
  • the Dispatcher taking into account the best space, can select the at least one area element in which the at least one function best fits, thereby minimizing the area overhead.
  • the first free space on the reconfigurable surface of the Dispatcher searches an internal data structure of the dispatcher until the first area of appropriate size is found, on which the at least one function can be executed.
  • the area overhead is not relevant here. If no free area element of sufficient size is found, at least one of the following measures can be taken.
  • a size of the reconfigurable surface is adapted to a requirement of the at least one function to be performed.
  • Safety-related functions usually monitor other functions for correct operation. In doing so, certain time intervals are adhered to. So z. For example, at regular intervals, a valve can be activated by a minimum of tion and the response of the valve to this control then checked whether the operating parameters of the valve deviate from predetermined setpoints. A required control of the valve via at least one electronic device, for example. A sensor and / or actuator. In many control devices several such safety-related functions are realized, the temporary area overhead is therefore significant. If the safety-relevant functions are changed sequentially by dynamic reconfiguration, only a small part of the reconfigurable surface is required. This is possible, inter alia, if such safety-relevant functions are not or only rarely needed.
  • the at least one surface element is provided with additional inputs from other components, for example hardware and / or software, or the entire circuit arrangement or the entire system, which are necessary for monitoring the functions implemented there.
  • Such safety-relevant functions typically also require access to values of sensors or must be able to control actuators themselves. This access takes place via the port matrix with a corresponding temporary arithmetic.
  • the reconfigurable surface may, for example, be designed as one of the following modules for data processing:
  • FPGA Field Programmable Gate Array
  • IC integrated circuit
  • CPLD Complex Programmable Logic Device
  • a CPLD may include an input block, an output block and a programmable AND / OR matrix and a programmable feedback in design.
  • PSoC programmable system-on-chip
  • the PSoC can be a calculator, a flash and a RAM exhibit.
  • the PSoC's resources can also be dynamically adapted to a prevailing need for the reconfigurable surface during operation.
  • FPAA Field-Programmable analog array
  • the surface elements can thus consist of blocks or cells of circuits that are, for example, matrix-like and freely configurable.
  • the surface elements z. B. is a collection of individually programmable cells, each of which can realize a simple digital function.
  • the cells or blocks are addressable and the dispatcher can thus logically combine small area elements into larger area elements.
  • the dispatcher for the allocation of the functions on the reconfigurable surfaces and thus at least one surface element size specifications of the function needed.
  • These can be obtained by various parameters: explicit specification as an addition in the function memory, size of a used function memory and / or size of the network list or
  • the circuit arrangement according to the invention is designed to carry out all the steps of the presented method. Here are individual
  • Steps of this method can also be performed by individual components of the circuit arrangement.
  • functions of the circuit arrangement or functions of individual components of the circuit arrangement can be implemented as steps of the method.
  • steps of the method it is possible for steps of the method to be realized as functions of at least one component of the circuit arrangement or the entire circuit arrangement.
  • FIG. 1 shows a schematic representation of a first embodiment of the circuit arrangement according to the invention.
  • Figure 2 shows a variant of a connection structure or port matrix as a component of a second embodiment of the circuit arrangement according to the invention in a schematic representation.
  • FIG. 3 shows a diagram of a first embodiment of the method according to the invention.
  • FIG. 4 shows a diagram of a second embodiment of the method according to the invention.
  • Figure 1 shows a general structure of a first embodiment of a circuit arrangement 1 according to the invention in a schematic representation.
  • the reconfigurable surface 3 is provided as part of a hardware module 4 of the circuit arrangement 1.
  • This reconfigurable surface 3 is dynamically configured at runtime of a controller 12 having various functions.
  • the surface 3 comprises various surface elements 5, 7, 9, 1 1 different size.
  • the circuit arrangement 1 is designed as a component of the control unit 12.
  • the communication unit 13 may be firmly integrated into the hardware module 4, z. B. as a bus or a network, and / or be self-reconfigurable.
  • the reconfigurable surface 3 is connected via an allocation module interface 15 or a dispatcher interface to an allocation module 17 or a dispatcher, which can replace the functions to be executed in the surface elements 5, 7, 9, 11. If a function is removed from the executing surface element 5, 7, 9, 11, the dispatcher stores the current execution state 19, e.g. The information about the functions 5, 7, 9, 1 1 itself, for example. Their space requirement and / or the time required for execution, are in a function memory 23, the z. B. is designed as flash deposited. The at least one executable function is likewise stored in this function memory 23 or module memory and is provided from there via the allocation module 17 to an assigned surface element 5, 7, 9, 11, typically transmitted. Which function is to be executed at which time is determined by
  • Scheduling module 25 or a scheduler, which is connected to the dispatcher and thereby can select the appropriate functions for execution.
  • the circuit arrangement 1 shown can also have a timer unit or clock 27, which serves as the time base for the scheduler.
  • the scheduler responds to requests 29 from the state of the circuit 1 or the system state.
  • connection of the functions to sensors and actuators as electromechanical devices 31 takes place via a connection structure 33 or a port matrix. Since sensors and actuators can be used by different functions NEN, there is an access control process 34 or an arbitration of the accesses by the dispatcher and the scheduler.
  • FIG. 1 shows module descriptions 35 which are transmitted starting from the function memory 23 to the allocation module 17 and furthermore to the hardware module 4.
  • Figure 2 shows a schematic representation of an embodiment of a switchable, designed as a port matrix connection structure 37, which is designed to perform an access control method or an arbitration of shared resources, so that access to shared resources is used.
  • the reconfigurable port matrix serves to regulate the access of further hardware elements 39 to external inputs and / or outputs 41 or inputs and / or outputs, via which furthermore a connection to external electromechanical units and thus devices, such as e.g. As sensors and actuators is provided.
  • the port matrix uses information provided by the dispatcher 43 about which programmed connection 45 which port or connection of the hardware elements 39 with which input and / or output port, d. H. Input and / or output connection, to be connected.
  • the scheduler provides information 47 about when to make such a connection 45.
  • the aforementioned information 43, 47 are provided to the connection structure 37 via a programming interface 49 or a programming interface as a component of the connection structure 37.
  • FIG. 2 thus shows an overall construction of the connection structure 37 or the port matrix.
  • the various ports of the surface elements of the hardware module for which the surface is reconfigurable are defined by a simple matrix structure with programmable connections 45 with the inputs and
  • the programming interface assumes the information Onen 43, 47 and thus data from the Dispatcher and Scheduler and implements this in the programming.
  • connection structure 37 embodied here as a matrix offers the possibility of connecting individual signal lines to control devices in comparison with an implementation embodied as a bus, for example, which may likewise be provided as a possible implementation.
  • a sent interface consists of two lines, which can be evaluated directly by at least one surface element of a reconfigurable surface of the hardware module.
  • Another structure of the port matrix may require additional preprocessing stages, such as: As a clock and thus a timer.
  • analog signals can also be transmitted with the matrix structure.
  • Embodiment of the method according to the invention when two functions alternately be executed.
  • An example of this is a regulator 51 for a valve to be triggered, which is designed to carry out a monitoring function of the valve. Since both functions can not access the valve in parallel, the functions can be operated independently of each other.
  • a scheduler 53 or scheduling module recognizes that the regulator 51 is to be replaced by a test function 55 during regular operation. This can be z. B. by reaching a certain time.
  • the scheduler 53 sends a dispatcher 57 or an allocation module the command "test for controller” 59, after which the controller 51 is to be replaced by the test function 55.
  • the dispatcher 57 seeks a free space in the area of the reconfigurable surface 61, z. For example, the dispatcher 57 may continue to use the area of the controller 51 also formed as a hardware module. If at least one surface element of the reconfigurable surface has been found, the necessary commands "test configuration" 65 and "port configuration” 67 for the programming and the last execution state are sent to the reconfigurable surface 61 and a port matrix 69 or connection structure.
  • the port matrix 69 converts the communication path from an actuator to a surface element and switches this new path on
  • the reconfigurable area 63 removes the state of the regulator 51 in a fourth step and replaces it with the test function 55 after the command "replace" 75 has been transmitted.
  • the test function 55 is executed after the controller 51 has been completed and the "execute" command 77 is received.
  • the dispatcher 57 secures the current execution status in a fifth step.
  • the scheduler 53 recognizes in a sixth step that the test function 55 has finished its processing and initiates the exchange of the test function 55 by the controller 51 via the command "controller for test" 79.
  • the further steps are analogous to the first five steps, wherein the test function 55 is replaced by the controller 51 taking into account the command "replace" 75.
  • the command "controller configuration” 81 follows, so that the controller 51 is configured.
  • the second embodiment of the method according to the invention is illustrated by the diagram of FIG.
  • the same steps as in the first embodiment of Figure 3 are performed.
  • the command "state of the controller” 83 whose state is determined.
  • the scheduler 53 then recognizes by external signals, here by an interrupt 85 and the provided command “controller fast” 87, that the controller 51 must be brought to execution quickly. There is therefore no replacement of the test function 55 instead.
  • the steps after the interrupt 85 thus result as follows.
  • the scheduler 53 only signals to the dispatcher 57 that the controller 51 must be activated.
  • Dispatcher 57 in a second step, looks for a matching free area element and communicates to reconfigurable area 61 all the configuration information including a last state of the at least one area element and the new path from the valve to the at least one area element. Subsequently, the scheduler 53 is informed about the at least one surface element found.
  • the reconfigurable surface 61 is configured and the function is executed as quickly as possible.
  • the port matrix is reconfigured in a fourth step via the "Port Configuration" 67 command.
  • the scheduler 53 releases the ports for the controller 51 in a fifth step with the command "Port enabled” 73.
  • both the test function 55 and the controller 51 are implemented in hardware, but the controller 51 has sole access to the valve. How to proceed with the test function 55 is left to the circuit arrangement or the system. However, the valve is at least specially marked or marked so that it can be replaced in another functional implementation.

Abstract

The invention relates to a method for operating a controller (12) having a hardware module (4) comprising a number of surface elements (5, 7, 9, 11), wherein at least one function to be executed by the controller (12) is associated with a reconfigurable surface (3) for executing, comprising at least one surface element (5, 7, 9, 11) of the hardware module (4). The invention further relates to a circuit configuration (1) for a controller (12) and to a controller (12).

Description

Beschreibung  description
Titel title
Verfahren zum Betreiben eines Steuergeräts Die Erfindung betrifft ein Verfahren zum Betreiben eines Steuergeräts, eine Method for operating a control device The invention relates to a method for operating a control device, a
Schaltungsanordnung für ein Steuergerät und ein Steuergerät. Circuit arrangement for a control unit and a control unit.
Stand der Technik Bei einem Betrieb eines Steuergeräts zur Steuerung einer technischen Vorrichtung wird u. a. eine Datenverarbeitung durchgeführt. Das Steuergerät stellt die Daten und/oder Informationen Aktoren und/oder Sensoren einer derartigen technischen Vorrichtung bereit. Zur Steuerung der technischen Vorrichtung werden durch das Steuergerät unterschiedliche Funktionen ausgeführt, wobei von jeweils einer Funktion für durchzuführende Berechnungen Hardwareressourcen genutzt werden. Im Rahmen der vorgestellten Erfindung ist vorgesehen, die gegebenen Hardwareressourcen besonders effektiv zu nutzen. PRIOR ART In an operation of a control device for controlling a technical device, u. a. a data processing performed. The control unit provides the data and / or information actuators and / or sensors of such a technical device. In order to control the technical device, the control unit performs different functions, whereby hardware resources are used by a respective function for calculations to be carried out. In the context of the presented invention, it is provided to use the given hardware resources particularly effectively.
Verschiedene Untersuchungen und Veröffentlichungen, z. B. die nachfolgend erwähnte Druckschrift DE 10 2005 010 476 A1 , beschreiben Systemaufbauten, die dynamisch rekonfigurierbare Hardwareressourcen in Steuergeräten ermöglichen sollen. Bei den Untersuchungen werden datenintensive Berechnungen, wie bspw. Videobearbeitungen, die in einem Steuergerät nicht vorgenommen werden, berücksichtigt. Weiterhin werden die zum Teil sehr unterschiedlichen Mo- dulgrößen und Timinganforderungen, die in Steuergeräten vorliegen, nicht weiter untersucht. Somit werden die in Steuergeräten gegebenen Bedingungen nur zureichend gewürdigt. Various investigations and publications, eg. For example, the following mentioned document DE 10 2005 010 476 A1, describe system structures that should allow dynamically reconfigurable hardware resources in ECUs. The investigations take into account data-intensive calculations, such as video editing, which are not performed in a control unit. Furthermore, the sometimes very different module sizes and timing requirements that are present in ECUs are not further investigated. Thus, the conditions given in ECUs are only adequately appreciated.
Die Anbindung an externe Geräte erfolgt bei den untersuchten Vorrichtungen nur über standardisierte Datenschnittstellen, wie z. B. Firewire. Eine direkte Sensor- und/oder Aktor-Anbindung ist nicht vorgesehen. Bei Veröffentlichungen aus dem industriellen und/oder automotiven Umfeld werden Steuergeräte mit entsprechenden Schnittstellen wie CAN oder FlexRay gekoppelt. Die eigentlichen Aufbauten der Steuergeräte weisen jedoch dieselben Einschränkungen wie bspw. Vorrichtungen für datenintensive Berechnungen auf. The connection to external devices takes place in the examined devices only via standardized data interfaces, such. Firewire. A direct sensor and / or actuator connection is not provided. For publications from the In industrial and / or automotive environments, ECUs are coupled with appropriate interfaces such as CAN or FlexRay. However, the actual structures of the control devices have the same limitations as, for example, devices for data-intensive calculations.
Ein Steuergerät zur Steuerung von Komponenten in einem Verkehrsmittel ist Gegenstand der bereits genannten Druckschrift DE 10 2005 010 476 A1. Das Steuergerät umfasst eine Schnittstelle zu einem externen Datenbus, ein Hardwaremodul und einen Speicher zur Bereitstellung der für die Datenverarbeitung notwendigen Daten. Hierbei erfolgt über die Schnittstelle zum Datenbus mit Sensoren oder Aktoren eine direkte Kommunikation, um Komponenten von Verkehrsmitteln zu steuern. Das Steuergerät weist mindestens zwei konfigurierbare Hardwaremodule auf, die dazu ausgebildet sind, aufgrund der Nachrichten vom Datenbus oder der Steuerbefehle des Steuergeräts mehrere Steuerprozesse auf den Hardwaremodulen zeitlich parallel durchzuführen, wobei eine Verteilungseinheit zum Zuordnen der parallel ablaufenden Steuerungsprozesse auf die Hardwaremodule vorgesehen ist. Nach dem Zuordnen eines Steuerungsprozesses zu einem Hardwaremodul wird zunächst eine Hardwarekonfiguration in das Hardwaremodul geladen, um dessen Hardware neu zu konfigurieren. Nach Zuweisen der Eingangsdaten für den Steuerungsprozess übernimmt das neu konfigurierte Hardwaremodul die Steuerung der zugeordneten Komponente. A control device for controlling components in a means of transport is the subject of the already mentioned document DE 10 2005 010 476 A1. The controller includes an interface to an external data bus, a hardware module, and a memory for providing the data necessary for data processing. Here, via the interface to the data bus with sensors or actuators, a direct communication to control components of transport. The control unit has at least two configurable hardware modules which are designed to perform a plurality of control processes on the hardware modules in parallel in time on the basis of the messages from the data bus or the control commands of the control unit, a distribution unit being provided for assigning the parallel-running control processes to the hardware modules. After associating a control process with a hardware module, a hardware configuration is first loaded into the hardware module to reconfigure its hardware. After assigning the input data for the control process, the newly configured hardware module assumes control of the associated component.
Offenbarung der Erfindung Disclosure of the invention
Vor diesem Hintergrund werden ein Verfahren, eine Schaltungsanordnung, und ein Steuergerät mit den Merkmalen der unabhängigen Patentansprüche vorgestellt. Weitere Ausgestaltungen der Erfindung ergeben sich aus den abhängigen Patentansprüchen und der Beschreibung. Against this background, a method, a circuit arrangement, and a control device with the features of the independent claims are presented. Further embodiments of the invention will become apparent from the dependent claims and the description.
Die Erfindung betrifft u. a. einen Aufbau einer Schaltungsanordnung bzw. eines Systems zur Realisierung einer dynamischen Rekonfigurierung und somit einer Neu-Einstellung oder allgemein einer Einstellung von Flächen eines Hardwaremoduls, das bspw. als Rechenkern bzw. Prozessor oder Speicherbereich in einem Steuergerät ausgebildet sein kann. Das Steuergerät, für das die Schaltungsanordnung vorgesehen sein kann, kann für eine elektromechanische Einrichtung, bspw. für ein Fahrzeug, verwendet werden und umfasst in Ausgestaltung eine rekonfigurierbare Fläche bzw. Hardwarefläche des Hardwaremoduls, die in verschieden große Flächenelemente bzw. Teilflächenelemente aufgeteilt ist. Die Schaltungsanordnung kann weiterhin einen Dispatcher, der auch als Zuteilungsmodul bezeichnet wird und zur Zuordnung von mindestens einer Funktion zur Fläche des Hardwaremoduls ausgebildet ist, sowie einen Scheduler, der auch als Zeitplanungsmodul bezeichnet wird und zur zeitlichen Auswahl von der mindestens einen Funktion ausgebildet ist, umfassen. Außerdem kann die Schaltungsanordnung eine konfigurierbare Verbindungsstruktur bzw. Port-Matrix zum Zugriff auf Ein- und Ausgänge sowie zur Umsetzung einer Arbitrierung bzw. einer Zugriffskontrolle für Zugriffe auf diese Ein- und Ausgänge durch das Zusammenspiel von Dispatcher und Scheduler umfassen. Falls mehrere Funktionen auszuführen sind, so werden diese gemein- sam, üblicherweise unter gegenseitiger Wechselwirkung, realisiert. The invention relates inter alia to a structure of a circuit arrangement or a system for realizing a dynamic reconfiguration and thus a new setting or generally a setting of surfaces of a hardware module, which may be formed, for example, as a processor core or processor or memory area in a control unit. The control device, for which the circuit arrangement can be provided, can be used for an electromechanical device, for example for a vehicle, and in an embodiment comprises a reconfigurable surface or hardware surface of the hardware module, which is divided into surface elements or partial surface elements of different size. The circuit arrangement can furthermore comprise a dispatcher, which is also referred to as an allocation module and which is designed to allocate at least one function to the surface of the hardware module, and a scheduler, which is also referred to as a scheduling module and which is designed to select the time of the at least one function , In addition, the circuit arrangement may comprise a configurable connection structure or port matrix for accessing inputs and outputs as well as for implementing an arbitration or an access control for accesses to these inputs and outputs by the interaction of dispatcher and scheduler. If several functions are to be performed, these are realized together, usually with mutual interaction.
Durch den über die Schaltungsanordnung gegebenen Aufbau kann in einer Ausführungsform der Erfindung der Bedarf an rekonfigurierbarer Fläche des Hardwaremoduls und somit von Hardwareressourcen gegenüber dem Stand der Technik reduziert werden und eine Zeiteinteilungsstruktur bzw. Timingeigen- schaft eines Steuergeräts bei der Ausführung von Funktionen besser berücksichtigt werden. Außerdem kann eine dynamische Rekonfigurierung im Steuergerät bei Verbesserung des Flächenoverheads, eine Berücksichtigung von Timingan- forderungen im Steuergerät und die Arbitrierung von Zugriffen auf externe Res- sourcen ermöglicht werden, die von mehreren Funktionen gemeinsam genutzt werden. Bei den genannten externen Ressourcen handelt es sich üblicherweise um elektromechanische Einrichtungen wie Sensoren und/oder Aktoren. In one embodiment of the invention, the structure provided by means of the circuit arrangement reduces the need for a reconfigurable surface of the hardware module and thus hardware resources compared to the prior art, and better takes into account a timing structure of a control device when executing functions. In addition, dynamic controller reconfiguration can be used to improve area overhead, accommodate timing requirements in the controller, and arbitrate access to external resources shared by multiple functions. The said external resources are usually electromechanical devices such as sensors and / or actuators.
Das Hardwaremodul ist eine Einheit, die mindestens eine Funktion einer Ausfüh- rungsform der erfindungsgemäßen Schaltungsanordnung und/oder einer Ausführungsform des erfindungsgemäßen Steuergeräts ausführen kann. Bei dem Dispatcher (Zuteilungsmodul) handelt es sich um ein Modul, das die örtliche Lokalisation von Funktionen festlegt und diese an Stelle mindestens eines ausgewählten Funktionsmoduls einspielt bzw. wieder von dem mindestens einen Flächen- element entfernt. Der Scheduler (Zeitplanungsmodul) ist dazu ausgebildet, dieThe hardware module is a unit that can perform at least one function of an embodiment of the circuit arrangement according to the invention and / or an embodiment of the control device according to the invention. The dispatcher is a module which determines the local localization of functions and inserts them in place of at least one selected function module or removes them again from the at least one surface element. The scheduler is designed to handle the
Nutzung der rekonfigurierbaren Fläche durch die mindestens eine Funktion zeit- lieh festzulegen. Dabei legt der Scheduler u. a. fest, welche Funktion zu welchem Zeitpunkt ausgeführt werden soll. Der Dispatcher und der Scheduler können in einer Ausgestaltung gegenseitig ergänzend zusammenwirken und dabei gemeinsam festlegen, welche mindestens eine Funktion zu welchem Zeitpunkt auf wel- ehern mindestens einen Flächenelement ausgeführt wird. Use of the reconfigurable surface by the at least one function to be determined. Among other things, the scheduler determines which function should be executed at which time. In one embodiment, the dispatcher and the scheduler can mutually cooperate in a complementary manner and jointly determine which at least one function is executed at which time on which at least one surface element is executed.
Die Port-Matrix ist als eine Verbindungsstruktur ausgebildet, die ausgeführte Funktionen auf der rekonfigurierbaren Fläche mit Eingängen bzw. Input-Pins und Ausgängen bzw. Output-Pins verbindet, z. B. zur Anbindung des Steuergeräts an elektromechanische Einrichtungen, üblicherweise an Sensoren und/oder Aktoren. Die Arbitrierung bzw. das Zugriffskontrollverfahren dient der Kontrolle der Zugriffe auf die rekonfigurierbare Fläche des gemeinsam genutzten Hardwaremoduls. The port matrix is formed as a connection structure that connects executed functions on the reconfigurable surface to input pins and output pins, e.g. B. to connect the controller to electromechanical devices, usually to sensors and / or actuators. The arbitration or the access control method is used to control the accesses to the reconfigurable area of the shared hardware module.
In Ausgestaltung legt der Scheduler aus Anforderungen der Schaltungsanordnung und somit des Steuergeräts unter möglicher Berücksichtigung externer elektronischer Einrichtungen und zeitlichen Anforderungen der Funktionen fest, welche Funktion zu welchem Zeitpunkt zur Ausführung gebracht werden soll. Dazu kann dem Scheduler mindestens eine der folgenden Informationen zur Verfügung stehen. In an embodiment, the scheduler determines from requirements of the circuit arrangement and thus of the control device, with possible consideration of external electronic devices and time requirements of the functions, which function is to be executed at which point in time. For this purpose, at least one of the following information can be available to the scheduler.
Dies können Informationen über Zeitpunkte sein, zu denen Interrupts und somit Unterbrechungen von Funktionen auftreten, die durch die Schaltungsanordnung durchzuführen sind, wobei diese Interrupts in der Regel sehr schnell zu bearbeiten sind. This can be information about times at which interrupts and thus interruptions of functions occur which are to be performed by the circuit arrangement, whereby these interrupts are usually very fast to process.
Eine Endzeit für die mindestens eine Funktion, üblicherweise ein Zeitpunkt, an dem die Abarbeitung der mindestens einen Funktion beendet sein wird, kann ebenfalls als Information verwendet werden. An end time for the at least one function, usually a time at which the execution of the at least one function will be completed, can also be used as information.
Dasselbe gilt für eine Laufzeit der mindestens einen Funktion und somit eine Zeitspanne, die die mindestens eine Funktion zur Ausführung benötigt. Weiterhin kann über eine maximale Laufzeit eine Information bereitgestellt werden, zu der eine Funktion wieder von der rekonfigurierbaren Fläche entfernt wird, was bspw. über Zeitschlitze (time slots) und somit über Zeitabschnitte mit fest vorgegebenerThe same applies to a running time of the at least one function and thus to a time span which requires the at least one function for execution. Furthermore, over a maximum run time, information can be provided for which a function is removed again from the reconfigurable area, which, for example, via time slots and thus over time sections with fixed predefined times
Länge erfolgen kann. Zykluszeiten als zusätzliche oder alternative Informationen geben an, in welchen Abständen Funktionen zur Ausführung gebracht werden sollen. Weitere Informationen können über Prioritäten bzw. Dringlichkeiten von Funktionen Auskunft ge- ben. Priorisierte bzw. dringliche Funktionen sind zur Ausführung von Basisfunktionen des Steuergeräts notwendig und haben eine höhere Priorität als z. B. einfache Kontrollfunktionen. Zusätzlich können hier Informationen darüber vorliegen, ob eine Funktion zur Ausführung gebracht werden muss oder nicht aktiviert werden soll, falls diese Funktion bspw. auf einen Interrupt wartet. Length can be done. Cycle times as additional or alternative information indicate the intervals at which functions are to be executed. Further information can provide information about priorities or urgency of functions. Prioritized or urgent functions are necessary for the execution of basic functions of the control unit and have a higher priority than z. B. simple control functions. In addition, information about whether a function needs to be executed or not to be activated if this function is waiting for an interrupt, for example.
Die nachfolgenden Absätze beschreiben Beispiele für konkrete Zeitplanungsund/oder Schedulingverfahren. Diese stützen sich auf die zuvor eingeführten Informationen. The following paragraphs describe examples of specific scheduling and / or scheduling methods. These are based on the previously introduced information.
So ist es bei einem Zeitplanungs- und/oder Schedulingverfahren möglich, Informationen über ein einfaches Durchwechseln bzw. einen zyklischen und/oder periodischen Austausch mehrerer Funktionen in fester Reihenfolge, in der Regel über ein Rundlauf-Verfahren (Round-Robin, Karussell), und eine sich daraus ergebende Regelmäßigkeit von Funktionsabläufen zur Zeitplanung zu nutzen. Thus, it is possible in a scheduling and / or scheduling process, information about a simple switching or a cyclic and / or periodic exchange of multiple functions in a fixed order, usually via a round-robin method (round-robin, carousel), and to use a resulting regularity of functional processes for scheduling.
Eine prioritätsbasierte Auswahl von Funktionen, die dazu bereit sind, zur Ausführung gebracht zu werden, und die höchste Priorität unter mehreren Funktionen aufweisen, kann ebenfalls als Information genutzt werden. Um niedrigpriorisierte Funktionen sicher zur Ausführung zu bringen können, können die Prioritäten zusätzlich unter Berücksichtigung der seit der letzten Ausführung vergangenen Zeit umpriorisiert werden. A priority-based selection of functions that are ready to be executed and that have the highest priority among multiple functions can also be used as information. In order to be able to carry out low priority functions safely, the priorities can also be re-prioritized taking into account the time that has elapsed since the last execution.
Ein interruptgesteuertes Scheduling liefert Informationen über die auszuwählenden Funktionen, die anliegende Interrupts abarbeiten können. An interrupt-driven scheduling provides information about the functions to be selected which can process pending interrupts.
Über ein Deadline-Scheduling wird die Funktion ausgewählt, die als nächstes eine Deadline und somit einen festgelegten Termin erfüllen muss. Dazu können auch die Laufzeiten der hierzu auszuführenden Funktionen mitberücksichtigt werden. Mit den Informationen zu festen Ausführungszeitpunkten, typischerweise von Anfangszeitpunkten, existieren zu einer möglichen Umsetzung eines Zeitplanungsund/oder Schedulingverfahrens Zeitpunkte, an denen die Funktionen zu starten sind. Deadline scheduling selects the function that needs to meet a deadline next, and thus a set deadline. For this purpose, the terms of the functions to be performed for this purpose can also be taken into account. With the information at fixed execution times, typically from start times, there are times at which the functions are to be started for a possible implementation of a scheduling and / or scheduling method.
Zusätzlich können Kombinationen von jeweils mindestens zwei der oben genannten Zeitplanungs- und/oder Schedulingverfahren genutzt werden, z. B. das Dead- line-Scheduling mit zusätzlichem Interrupt-Scheduling. Für den Scheduler und den Dispatcher kann es abhängig von einer Vorgehensweise zur Realisierung des Schedulings von Bedeutung sein, dass Funktionen auch eine Beendigung einer Ausführung signalisieren können. Der Scheduler kann aber auch Funktionen nach dem Ablauf einer festgelegten Zeitspanne bei der Ausführung unterbrechen. In addition, combinations of at least two of the above scheduling and / or scheduling methods may be used, e.g. For example, deadline scheduling with additional interrupt scheduling. Depending on a procedure for the realization of the scheduling, it may be important for the scheduler and the dispatcher that functions can also signal a termination of an execution. However, the scheduler may also interrupt functions after the lapse of a specified amount of time during execution.
In Ausgestaltung der Erfindung kann eine typischerweise dynamische Aufteilung der rekonfigurierbaren Fläche durch Kombination von Flächenelementen, mit denen die mindestens eine Funktion ausgeführt wird, erfolgen, wobei die rekonfigu- rierbare Fläche in Flächenelemente als Teilelemente aufgeteilt wird. In an embodiment of the invention, a typically dynamic division of the reconfigurable surface by combination of surface elements, with which the at least one function is performed, take place, wherein the reconfigurable surface is divided into surface elements as sub-elements.
Aus dem Stand der Technik bekannte Vorrichtungen nutzen mehrere als Teilelemente ausgebildete Hardwarekomponenten, die jeweils eine starr vorgegebene Fläche umfassen und die gleiche Größe aufweisen. Dadurch müssen alle diese Teilelemente eine Mindestgröße aufweisen, die dem Flächenbedarf des größ- ten Moduls entspricht. Bei stark unterschiedlichen Modulgrößen, wie sie in Steuergeräten oft vorliegen, z. B. einerseits aufwendige Digitalregler-Strukturen gegenüber einem einfachen Zähler zur Bestimmung von Drehraten andererseits, führt diese Einteilung über Hardwarekomponenten zu einem hohen Overhead bzw. einer Überkapazität an Fläche, so dass große Bereiche der verfügbaren Fläche einer Hardwarekomponente ungenutzt bleiben. Devices known from the prior art use a plurality of hardware components formed as sub-elements, each comprising a rigidly predetermined surface and having the same size. As a result, all of these sub-elements must have a minimum size which corresponds to the area requirement of the largest module. For strongly different module sizes, as they are often present in ECUs, z. For example, on the one hand complex digital controller structures over a simple counter for determining rotation rates on the other hand, this division leads via hardware components to a high overhead or an overcapacity of area, so that large areas of the available area of a hardware component remain unused.
In einer Ausführungsform der Erfindung wird diesem Problem durch Bereitstellen von Flächenelementen des Hardwaremoduls, die unterschiedliche Größen umfassen, entgegengewirkt. Die größten Flächenelemente für die größte Funktion können zur Durchführung dieser größten Funktion ausreichend groß ausgelegt sein, wohingegen die kleinsten Flächenelemente bzgl. der Größe auf die kleins- ten Funktionen abgestimmt werden. Die Flächenelemente können mit Funktionen konfiguriert werden, die nicht mehr als die verfügbare Fläche des Flächenelements nutzen. Kleine Funktionen können auch in großen Flächenelementen realisiert werden. In one embodiment of the invention, this problem is counteracted by providing area elements of the hardware module that comprise different sizes. The largest surface elements for the largest function can be designed sufficiently large for carrying out this largest function, whereas the smallest surface elements with respect to the size of the smallest function. be tuned functions. The surface elements can be configured with functions that do not use more than the available area of the surface element. Small functions can also be realized in large area elements.
Bei Bedarf können zusätzlich kleinere Flächenelemente dynamisch und zeitlich begrenzt zu größeren Flächenelementen zusammengefügt und demnach fusioniert werden, wenn eine große Funktion realisiert werden muss und falls keine entsprechend großen Flächenelemente frei sind. Zwischen den kleinsten und den größten Flächenelementen können mehrere andere Größenstufen für Flächenelemente existieren. Ein alternativer Aufbau sieht viele kleine Flächenelemente gleicher Größe vor, die eigentlich nicht groß genug zur Realisierung aller Funktionen sind. In diesem Fall werden große Funktionen durch Zusammenlegung dieser kleinen Flächenelemente implementiert. If required, additional smaller surface elements can be dynamically and temporally limited to larger surface elements joined together and therefore merged, if a large function must be realized and if no correspondingly large surface elements are free. Between the smallest and the largest surface elements several other size steps for surface elements may exist. An alternative design provides many small surface elements of the same size, which are actually not big enough to realize all functions. In this case, large functions are implemented by merging these small surface elements.
Falls das Hardwaremodul eine Vielzahl kleiner Flächenelemente gleicher Größe aufweist, kann zur Bereitstellung einer konfigurierbaren Fläche zur Ausführung einer Funktion eine beliebige geeignete Anzahl besagter kleiner Flächenelemente zusammengefügt werden. If the hardware module has a plurality of small area elements of equal size, any suitable number of said small area elements may be assembled to provide a configurable area for performing a function.
Der Dispatcher ist dazu ausgebildet, für mindestens eine zur Ausführung zu bringende Funktion mindestens ein Flächenelement auszuwählen, das mit der Funktion konfiguriert wird. Dazu nutzt der Dispatcher Informationen des Schedulers darüber, welche mindestens eine Funktion zur Ausführung gebracht werden soll. Außerdem werden der Funktionsspeicher und alte Zustände der mindestens einen Funktion, die im Zustandsspeicher gespeichert sind, verwendet. Mit den in dem Zustandsspeicher gespeicherten alten Zuständen kann eine bisherige Laufzeit zur Ausführung der mindestens einen Funktion sowie ein zur Abarbeitung der mindestens einen Funktion erforderliche Flächenbedarf berücksichtigt wer- den. Zur Bestimmung des Flächenelements, auf dem die mindestens eine Funktion ausgeführt werden soll, stehen verschiedene Vorgehensweisen zur Auswahl. The dispatcher is designed to select at least one area element that is configured with the function for at least one function to be executed. For this purpose, the dispatcher uses information from the scheduler about which at least one function is to be executed. In addition, the function memory and old states of the at least one function stored in the state memory are used. With the old states stored in the state memory, a previous runtime for executing the at least one function and an area requirement required for processing the at least one function can be taken into account. To determine the area element on which the at least one function is to be executed, there are various procedures available.
So kann der Dispatcher unter Berücksichtigung des besten Platzes das mindestens eine Flächenelement auswählen, in dem die mindestens eine Funktion am besten Patz hat, wodurch der Flächenoverhead minimiert wird. Unter Berücksichtigung des ersten freien Platzes auf der rekonfigurierbaren Fläche wird von dem Dispatcher eine interne Datenstruktur des Dispatchers solange durchsucht, bis das erste Flächenelement geeigneter Größe gefunden wird, auf dem die mindestens eine Funktion zur Ausführung gebracht werden kann. Der Flächenoverhead ist dabei nicht relevant. Wird kein freies Flächenelement ausreichender Größe gefunden, kann mindestens eine der nachfolgenden Maßnahmen ergriffen werden. Thus, the Dispatcher, taking into account the best space, can select the at least one area element in which the at least one function best fits, thereby minimizing the area overhead. Taking into account the first free space on the reconfigurable surface of the Dispatcher searches an internal data structure of the dispatcher until the first area of appropriate size is found, on which the at least one function can be executed. The area overhead is not relevant here. If no free area element of sufficient size is found, at least one of the following measures can be taken.
Das Zusammenlegen mehrerer freier Flächenelemente zu einem größeren Flächenelement. Üblicherweise wird eine Größe der rekonfigurierbaren Fläche an einen Bedarf der mindestens einen auszuführenden Funktion angepasst. Merging multiple free area elements into one larger area element. Usually, a size of the reconfigurable surface is adapted to a requirement of the at least one function to be performed.
Das Verschieben von kleinen Funktionen, die bislang in großen Flächenelementen ausgeführt werden, in kleinere, freie Flächenelemente geeigneter Größe. Dieses Verschieben von kleinen Funktionen aus großen Flächenelementen in kleinere passende Flächenelemente kann auch zu anderen Zeitpunkten erfolgen, um die Aufteilung zusätzlich zu optimieren. Moving small functions that used to be done in large area elements to smaller, free area elements of appropriate size. This shifting of small functions from large surface elements into smaller matching surface elements can also be done at other times in order to optimize the distribution in addition.
Das Ersetzen nicht mehr benötigter Funktionen, die bislang noch nicht durch Signale, bspw. vom Scheduler, entfernt wurden. The replacement of unneeded functions that have not yet been removed by signals, for example by the scheduler.
Das Ersetzen von Funktionen niedriger Priorität, was auch vom Scheduler initiiert werden kann. The replacement of low priority functions, which can also be initiated by the scheduler.
Das Ersetzen von Funktionen, deren Ergebnisse erst zu einem späteren Zeitpunkt benötigt werden, was typischerweise vom Scheduler initiiert werden kann. Replacing functions whose results are needed later, which can typically be initiated by the scheduler.
Neben der allgemeinen Nutzung der üblicherweise dynamischen Rekonfiguration erlaubt der Aufbau der Schaltungsanordnung bzw. des Systems u. a. die abwechselnde Nutzung bestimmter Flächenelemente für einen Secure Mode bzw. einen Sicherheitsmodus, der auch als Sicherheitsbetrieb bezeichnet werden kann. Hierbei werden in diesem Modus vor allem verschiedene sicherheitsrelevante Funktionen zur Ausführung gebracht. In addition to the general use of the usually dynamic reconfiguration allows the structure of the circuit or the system u. a. the alternate use of certain surface elements for a secure mode or a security mode, which can also be referred to as a security mode. In this mode, various safety-related functions are executed in particular.
Sicherheitsrelevante Funktionen überwachen in der Regel andere Funktionen auf eine korrekte Funktionsweise. Dabei werden bestimmte Zeitraster eingehalten. So wird z. B. in regelmäßigen Zeitanständen ein Ventil durch minimale Ansteue- rung beaufschlagt und die Reaktion des Ventils auf diese Ansteuerung daraufhin geprüft, ob die Betriebsparameter des Ventils von vorgegebenen Sollwerten abweichen. Eine hierzu erforderliche Kontrolle des Ventils erfolgt über mindestens eine elektronische Einrichtung, bspw. einen Sensor und/oder Aktor. In vielen Steuergeräten sind mehrere derartige sicherheitsrelevante Funktionen realisiert, der temporäre Flächenoverhead ist daher signifikant. Werden die sicherheitsrelevanten Funktionen sequentiell durch dynamische Rekonfiguration durchgewechselt, wird nur ein kleiner Teil der rekonfigurierbaren Fläche benötigt. Dies ist u. a. dann möglich, wenn derartige sicherheitsrelevante Funktionen nicht oder nur sel- ten benötigt werden. Safety-related functions usually monitor other functions for correct operation. In doing so, certain time intervals are adhered to. So z. For example, at regular intervals, a valve can be activated by a minimum of tion and the response of the valve to this control then checked whether the operating parameters of the valve deviate from predetermined setpoints. A required control of the valve via at least one electronic device, for example. A sensor and / or actuator. In many control devices several such safety-related functions are realized, the temporary area overhead is therefore significant. If the safety-relevant functions are changed sequentially by dynamic reconfiguration, only a small part of the reconfigurable surface is required. This is possible, inter alia, if such safety-relevant functions are not or only rarely needed.
Um diese sicherheitsrelevanten Funktionen auszuführen, kann es unter Umständen nötig sein, wenigstens ein Flächenelement des rekonfigurierbaren Bereichs speziell darauf vorzubereiten. Dann stehen dem wenigstens einen Flächenele- ment zusätzliche Eingaben aus anderen Komponenten, bspw. Hardware und/oder Software, oder der gesamten Schaltungsanordnung bzw. dem gesamten System zur Verfügung, die für die Überwachung der dort implementierten Funktionen notwendig sind. Dies können z. B. Zwischenergebnisse in Registern oder Signalverläufe zwischen verschiedenen Stufen einer Modul-Pipeline sein. Derartige sicherheitsrelevante Funktionen benötigen typischerweise auch Zugriff auf werte von Sensoren oder müssen Aktoren gezielt selbst ansteuern können. Dieser Zugriff erfolgt über die Port-Matrix mit entsprechender temporärer Arbitrie- rung. Die rekonfigurierbare Fläche kann bspw. als eines der folgenden Module zur Datenverarbeitung ausgebildet sein: To perform these safety-related functions, it may be necessary to prepare at least one area element of the reconfigurable area specifically for this purpose. Then, the at least one surface element is provided with additional inputs from other components, for example hardware and / or software, or the entire circuit arrangement or the entire system, which are necessary for monitoring the functions implemented there. This can z. B. intermediate results in registers or waveforms between different stages of a module pipeline. Such safety-relevant functions typically also require access to values of sensors or must be able to control actuators themselves. This access takes place via the port matrix with a corresponding temporary arithmetic. The reconfigurable surface may, for example, be designed as one of the following modules for data processing:
- als FPGA (Field Programmable Gate Array) und somit als integrierter Schaltkreis (IC), in den eine logische Schaltung programmiert werden kann. - As FPGA (Field Programmable Gate Array) and thus as an integrated circuit (IC), in which a logic circuit can be programmed.
- als CPLD (Complex Programmable Logic Device), wobei es sich um einen- as CPLD (Complex Programmable Logic Device), which is a
Schaltkreis handelt, der üblicherweise eine programmierbare Diodenmatrix um- fasst. Ein CPLD kann in Ausgestaltung einen Eingabeblock, einen Ausgabeblock sowie eine programmierbare AND/OR-Matrix und eine programmierbare Rückkopplung aufweisen. Circuit usually comprises a programmable diode matrix. A CPLD may include an input block, an output block and a programmable AND / OR matrix and a programmable feedback in design.
- als PSoC Programmable System-on-Chip) bzw. ein programmierbares, chipgebundenes System. Der PSoC kann ein Rechenwerk, einen Flash und einen RAM aufweisen. Die Ressourcen des PSoCs können auch betriebsbegleitend an einen herrschenden Bedarf an der rekonfigurierbaren Fläche dynamisch angepasst werden. - as a PSoC programmable system-on-chip) or a programmable, chip-bound system. The PSoC can be a calculator, a flash and a RAM exhibit. The PSoC's resources can also be dynamically adapted to a prevailing need for the reconfigurable surface during operation.
- als FPAA (Field-Programmable analog array) und demnach als frei program- mierbare Analoganordnung mit einem frei programmierbaren analogen Schaltkreis, der eine Matrix mit frei konfigurierbaren analogen Blöcken aufweist.  - as FPAA (Field-Programmable analog array) and thus as a freely programmable analog arrangement with a freely programmable analog circuit having a matrix with freely configurable analog blocks.
Die Flächenelemente können damit aus Blöcken oder Zellen von Schaltkreisen, die bspw. matrixartig ausgebildet und frei konfigurierbar sind, bestehen. Im Fall eines FPGAs stellen die Flächenelemente z. B. eine Sammlung der einzeln programmierbaren Zellen dar, die jeweils eine einfache digitale Funktion realisieren können. Bei einer Ausführungsform der Erfindung ist vorgesehen, dass die Zellen oder Blöcke adressierbar sind und der Dispatcher damit kleine Flächenelemente logisch in größere Flächenelemente zusammenfassen kann. The surface elements can thus consist of blocks or cells of circuits that are, for example, matrix-like and freely configurable. In the case of an FPGA, the surface elements z. B. is a collection of individually programmable cells, each of which can realize a simple digital function. In one embodiment of the invention it is provided that the cells or blocks are addressable and the dispatcher can thus logically combine small area elements into larger area elements.
Außerdem kann vorgesehen sein, dass der Dispatcher zur Zuteilung der Funktionen auf die rekonfigurierbaren Flächen und somit mindestens ein Flächenelement Größenangaben der Funktion benötigt. Diese können durch verschiedene Parameter erhalten werden: explizite Angabe als Zusatz im Funktionsspeicher, Größe eines verbrauchten Funktionsspeichers und/oder Größe der Netzliste bzw.In addition, it can be provided that the dispatcher for the allocation of the functions on the reconfigurable surfaces and thus at least one surface element size specifications of the function needed. These can be obtained by various parameters: explicit specification as an addition in the function memory, size of a used function memory and / or size of the network list or
Menge an Informationen, die für die typischerweise programmierbaren Flächenelemente (Zellen) benötigt wird. Amount of information needed for the typically programmable surface elements (cells).
Die erfindungsgemäße Schaltungsanordnung ist dazu ausgebildet, sämtliche Schritte des vorgestellten Verfahrens durchzuführen. Dabei können einzelneThe circuit arrangement according to the invention is designed to carry out all the steps of the presented method. Here are individual
Schritte dieses Verfahrens auch von einzelnen Komponenten der Schaltungsanordnung durchgeführt werden. Weiterhin können Funktionen der Schaltungsanordnung oder Funktionen von einzelnen Komponenten der Schaltungsanordnung als Schritte des Verfahrens umgesetzt werden. Außerdem ist es möglich, dass Schritte des Verfahrens als Funktionen wenigstens einer Komponente der Schaltungsanordnung oder der gesamten Schaltungsanordnung realisiert werden. Steps of this method can also be performed by individual components of the circuit arrangement. Furthermore, functions of the circuit arrangement or functions of individual components of the circuit arrangement can be implemented as steps of the method. In addition, it is possible for steps of the method to be realized as functions of at least one component of the circuit arrangement or the entire circuit arrangement.
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und den beiliegenden Zeichnungen. Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen. Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings. It is understood that the features mentioned above and those yet to be explained below can be used not only in the particular combination indicated, but also in other combinations or in isolation, without departing from the scope of the present invention.
Kurze Beschreibung der Zeichnungen Brief description of the drawings
Figur 1 zeigt in schematischer Darstellung eine erste Ausführungsform der erfindungsgemäßen Schaltungsanordnung. FIG. 1 shows a schematic representation of a first embodiment of the circuit arrangement according to the invention.
Figur 2 zeigt eine Variante einer Verbindungsstruktur bzw. Port-Matrix als eine Komponente einer zweiten Ausführungsform der erfindungsgemäßen Schaltungsanordnung in schematischer Darstellung. Figure 2 shows a variant of a connection structure or port matrix as a component of a second embodiment of the circuit arrangement according to the invention in a schematic representation.
Figur 3 zeigt ein Diagramm zu einer ersten Ausführungsform des erfindungsgemäßen Verfahrens. FIG. 3 shows a diagram of a first embodiment of the method according to the invention.
Figur 4 zeigt ein Diagramm einer zweiten Ausführungsform des erfindungsgemäßen Verfahrens. FIG. 4 shows a diagram of a second embodiment of the method according to the invention.
Ausführungsformen der Erfindung Embodiments of the invention
Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird nachfolgend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben. The invention is schematically illustrated by means of embodiments in the drawings and will be described in detail below with reference to the drawings.
Die Figuren werden zusammenhängend und übergreifend beschrieben, gleiche Bezugszeichen bezeichnen gleiche Komponenten. The figures are described in a coherent and comprehensive manner, like reference numerals designate like components.
Figur 1 zeigt einen allgemeinen Aufbau einer ersten Ausführungsform einer erfindungsgemäßen Schaltungsanordnung 1 in schematischer Darstellung. Als eine Komponente der Schaltungsanordnung 1 ist die rekonfigunerbare Fläche 3 als Bestandteil eines Hardwaremoduls 4 der Schaltungsanordnung 1 vorgesehen. Diese rekonfigunerbare Fläche 3 wird dynamisch zur Laufzeit eines Steuergeräts 12 mit verschiedenen Funktionen konfiguriert. Die Fläche 3 umfasst verschiedene Flächenelemente 5, 7, 9, 1 1 unterschiedlicher Größe. In der hier gezeigten ersten Ausführungsform ist die Schaltungsanordnung 1 als eine Komponente des Steuergeräts 12 ausgebildet. Figure 1 shows a general structure of a first embodiment of a circuit arrangement 1 according to the invention in a schematic representation. As a component of the circuit arrangement 1, the reconfigurable surface 3 is provided as part of a hardware module 4 of the circuit arrangement 1. This reconfigurable surface 3 is dynamically configured at runtime of a controller 12 having various functions. The surface 3 comprises various surface elements 5, 7, 9, 1 1 different size. In the shown here In the first embodiment, the circuit arrangement 1 is designed as a component of the control unit 12.
Funktionen, die innerhalb der rekonfigurierbaren Fläche 3 ausgeführt werden, können über eine Kommunikationsstruktur, die als Kommunikationseinheit 13 bezeichnet wird, zwischen den Flächenelementen 5, 7, 9, 1 1 miteinander kommunizieren. Die schematisch gezeigte Kommunikationseinheit 13 kann in das Hardwaremodul 4 fest integriert sein, z. B. als ein Bus bzw. ein Netzwerk, und/oder selbst rekonfigurierbar sein. Functions performed within the reconfigurable area 3 may communicate with each other via the communication structure referred to as the communication unit 13 between the area elements 5, 7, 9, 11. The communication unit 13 shown schematically may be firmly integrated into the hardware module 4, z. B. as a bus or a network, and / or be self-reconfigurable.
Die rekonfigurierbare Fläche 3 ist über eine Zuteilungsmodulschnittstelle 15 bzw. ein Dispatcher-Interface an ein Zuteilungsmodul 17 bzw. einen Dispatcher angeschlossen, das bzw. der auszuführende Funktionen in den Flächenelementen 5, 7, 9, 1 1 auswechseln kann. Wird eine Funktion vom ausführenden Flächenelement 5, 7, 9, 1 1 entfernt, speichert der Dispatcher den aktuellen Ausführungszustand 19, z. B. die Registerinhalte der Funktion, in einem Zustandsspeicher 21. Die Informationen über die Funktionen 5, 7, 9, 1 1 selbst, bspw. deren Flächenbedarf und/oder der zur Ausführung benötigten Zeitspanne, sind in einem Funktionsspeicher 23, der z. B. als Flash ausgebildet ist, hinterlegt. Die mindestens eine ausführbare Funktion ist ebenfalls in diesem Funktionsspeicher 23 bzw. Modulspeicher gespeichert und wird von dort aus über das Zuteilungsmodul 17 einem zugewiesenen Flächenelement 5, 7, 9, 1 1 bereitgestellt, typischerweise übermittelt. Welche Funktion zu welchem Zeitpunkt ausgeführt werden soll, bestimmt einThe reconfigurable surface 3 is connected via an allocation module interface 15 or a dispatcher interface to an allocation module 17 or a dispatcher, which can replace the functions to be executed in the surface elements 5, 7, 9, 11. If a function is removed from the executing surface element 5, 7, 9, 11, the dispatcher stores the current execution state 19, e.g. The information about the functions 5, 7, 9, 1 1 itself, for example. Their space requirement and / or the time required for execution, are in a function memory 23, the z. B. is designed as flash deposited. The at least one executable function is likewise stored in this function memory 23 or module memory and is provided from there via the allocation module 17 to an assigned surface element 5, 7, 9, 11, typically transmitted. Which function is to be executed at which time is determined by
Zeitplanungsmodul 25 bzw. ein Scheduler, das bzw. der mit dem Dispatcher verbunden ist und dadurch die entsprechenden Funktionen zur Ausführung auswählen kann. Hierzu kann die dargestellte Schaltungsanordnung 1 auch eine Timereinheit bzw. Uhr 27 aufweisen, die dem Scheduler als Zeitgrundlage dient. Der Scheduler reagiert auf Anforderungen 29 aus dem Zustand der Schaltungsanordnung 1 bzw. dem Systemzustand. Scheduling module 25, or a scheduler, which is connected to the dispatcher and thereby can select the appropriate functions for execution. For this purpose, the circuit arrangement 1 shown can also have a timer unit or clock 27, which serves as the time base for the scheduler. The scheduler responds to requests 29 from the state of the circuit 1 or the system state.
Die Anbindung der Funktionen an Sensoren und Aktoren als elektromechanische Einrichtungen 31 erfolgt über eine Verbindungsstruktur 33 bzw. eine Port-Matrix. Da Sensoren und Aktoren von verschiedenen Funktionen genutzt werden kön- nen, erfolgt ein Zugriffskontrollverfahren 34 bzw. eine Arbitrierung der Zugriffe durch den Dispatcher und den Scheduler. The connection of the functions to sensors and actuators as electromechanical devices 31 takes place via a connection structure 33 or a port matrix. Since sensors and actuators can be used by different functions NEN, there is an access control process 34 or an arbitration of the accesses by the dispatcher and the scheduler.
Die in Figur 1 gezeigte Schaltungsanordnung 1 kann entweder ein Teil eines größeren Systems sein oder eigenständig, z. B. auf einem separaten ASIC, implementiert werden. Zumindest Teile der Hardware-Komponenten können auch als Software-Komponenten realisiert werden. Weiterhin sind in Figur 1 Modulbeschreibungen 35 dargestellt, die ausgehend von dem Funktionsspeicher 23 an das Zuteilungsmodul 17 und weiterhin an das Hardwaremodul 4 übermittelt wer- den. The circuit arrangement 1 shown in Figure 1 can either be part of a larger system or stand alone, z. On a separate ASIC. At least parts of the hardware components can also be realized as software components. Furthermore, FIG. 1 shows module descriptions 35 which are transmitted starting from the function memory 23 to the allocation module 17 and furthermore to the hardware module 4.
Figur 2 zeigt in schematischer Darstellung eine Ausgestaltung einer umschaltbaren, als Port-Matrix ausgebildeten Verbindungsstruktur 37, die zur Ausführung eines Zugriffskontrollverfahrens bzw. einer Arbitrierung gemeinsam genutzter Ressourcen ausgebildet ist, so dass ein Zugriff auf gemeinsam genutzte Ressourcen genutzt wird. Figure 2 shows a schematic representation of an embodiment of a switchable, designed as a port matrix connection structure 37, which is designed to perform an access control method or an arbitration of shared resources, so that access to shared resources is used.
Die rekonfigurierbare Port-Matrix dient dazu, den Zugriff von weiteren Hardwareelementen 39 auf externe Eingänge und/oder Ausgänge 41 bzw. Inputs und/oder Outputs zu regeln, über die weiterhin eine Verbindung zu externen elektrome- chanischen Einheiten und somit Einrichtungen, wie z. B. Sensoren und Aktoren, bereitgestellt wird. Dazu nutzt die Port-Matrix vom Dispatcher bereitgestellte Informationen 43 darüber, über welche einprogrammierte Verbindung 45 welcher Port bzw. Anschluss der Hardwareelemente 39 mit welchem Input- und/oder Output-Port, d. h. Eingangs- und/oder Ausgangs-Anschluss, verbunden werden soll. Der Scheduler liefert Informationen 47 darüber, zu welchem Zeitpunkt eine derartige Verbindung 45 bestehen soll. Die genannten Informationen 43, 47 werden der Verbindungsstruktur 37 über eine Programmierschnittstelle 49 bzw. ein Programmier-Interface als Komponente der Verbindungsstruktur 37 bereitge- stellt. The reconfigurable port matrix serves to regulate the access of further hardware elements 39 to external inputs and / or outputs 41 or inputs and / or outputs, via which furthermore a connection to external electromechanical units and thus devices, such as e.g. As sensors and actuators is provided. For this purpose, the port matrix uses information provided by the dispatcher 43 about which programmed connection 45 which port or connection of the hardware elements 39 with which input and / or output port, d. H. Input and / or output connection, to be connected. The scheduler provides information 47 about when to make such a connection 45. The aforementioned information 43, 47 are provided to the connection structure 37 via a programming interface 49 or a programming interface as a component of the connection structure 37.
Figur 2 zeigt somit insgesamt einen beispielhaften Aufbau der Verbindungsstruktur 37 bzw. der Port-Matrix. Die verschiedenen Ports der Flächenelemente des Hardwaremoduls, für das die Fläche rekonfigurierbar ist, werden durch eine ein- fache Matrixstruktur mit programmierbaren Verbindungen 45 mit den Inputs undFIG. 2 thus shows an overall construction of the connection structure 37 or the port matrix. The various ports of the surface elements of the hardware module for which the surface is reconfigurable are defined by a simple matrix structure with programmable connections 45 with the inputs and
Outputs verbunden. Die Programmierschnittstelle übernimmt dabei die Informati- onen 43, 47 und somit Daten vom Dispatcher und Scheduler und setzt diese in der Programmierung um. Connected outputs. The programming interface assumes the information Onen 43, 47 and thus data from the Dispatcher and Scheduler and implements this in the programming.
Die hier als Matrix ausgebildete Verbindungsstruktur 37 bietet gegenüber einer bspw. als Bus ausgebildeten Implementierung, die ebenfalls als eine mögliche Realisierung vorgesehen sein kann, die Möglichkeit, in Steuergeräten einzelne Signalleitungen zu verbinden. Typischerweise besteht eine Sent-Schnittstelle aus zwei Leitungen, die direkt von mindestens einem Flächenelement einer rekonfi- gurierbaren Fläche des Hardwaremoduls ausgewertet werden kann. Eine andere Struktur der Port-Matrix benötigt hier eventuell zusätzliche Vorverarbeitungsstufen, wie z. B. eine Uhr und somit einen Timer. Mit der Matrix-Struktur können zusätzlich auch analoge Signale übermittelt werden. Bei entsprechender Auslegung der Verbindungsstruktur 37 und somit der Port-Matrix kann auch eine Verbindung zwischen den einzelnen Hardwareelementen 39 realisiert werden, falls dies nicht über die internen Kommunikationsstrukturen der rekonfigurierbaren Fläche möglich oder erwünscht ist. Zur Arbitrierung der Zugriffe auf die Inputs und/oder Outputs können diese in verschiedene Gruppen eingeteilt werden. Falls ein nur lesender, einzelner Zugriff erfolgt, kann nur ein Hardwareelement 39 den Wert des Input-Pins bzw. Eingangs-Anschlusses lesen, z. B. von Stromschnittstellen zu Sensoren wie Drehzahlfühlern für ein ESP (Elektronisches Stabilitätsprogramm). The connection structure 37 embodied here as a matrix offers the possibility of connecting individual signal lines to control devices in comparison with an implementation embodied as a bus, for example, which may likewise be provided as a possible implementation. Typically, a sent interface consists of two lines, which can be evaluated directly by at least one surface element of a reconfigurable surface of the hardware module. Another structure of the port matrix may require additional preprocessing stages, such as: As a clock and thus a timer. In addition, analog signals can also be transmitted with the matrix structure. With a suitable design of the connection structure 37 and thus of the port matrix, a connection between the individual hardware elements 39 can also be realized, if this is not possible or desired via the internal communication structures of the reconfigurable surface. To arbitrate the access to the inputs and / or outputs they can be divided into different groups. If a read-only, single access occurs, only one hardware element 39 can read the value of the input pin or input port, e.g. From power interfaces to sensors such as speed sensors for an ESP (Electronic Stability Program).
Wenn mehrere Hardwareelemente auf einen Ein- und/oder Ausgang 41 zugreifen, erfolgt dies über die Arbitierung. Bei einem nur lesenden, gemeinsamen Zugriff liefert der Ein- und/oder Ausgang 41 ein Signal, das von mehreren Hardwareelementen 39 gleichzeitig gelesen werden kann, z. B. ein Read-Signal über eine Sent-Schnittstelle. Bei einem schreibenden, einzelnen Zugriff werden Aktoren üblicherweise nur von einer Funktion betrieben. Ein gemeinsamer Zugriff ist nicht notwendig, z. B. über Schnittstellen mit einem Write-Signale. Bei einem gemischten, üblicherweise lesenden und schreibenden Zugriff ist vorgesehen, dass ein Anschluss eines Ein- und/oder Ausgangs 41 bidirektional ausgebildet ist. Die Arbitrierung legt dabei fest, dass nur ein Hardwareelement 39 schreibend auf diesen Anschluss zugreifen kann. Bei Bedarf wird dabei ein Lesen durch die Arbitrierung unterbunden. Das Diagramm aus Figur 3 zeigt beispielhaft einen möglichen Ablauf einer erstenIf several hardware elements access an input and / or output 41, this is done via the Arbitierung. In a read-only, shared access the input and / or output 41 provides a signal that can be read simultaneously by several hardware elements 39, z. B. a read signal via a sent interface. In a write, single access actuators are usually operated by only one function. A common access is not necessary, for. B. via interfaces with a write signals. In a mixed, usually read and write access is provided that a connection of an input and / or output 41 is bidirectional. The arbitration specifies that only one hardware element 39 can access this port in writing. If necessary, reading is prevented by the arbitration. The diagram of Figure 3 shows an example of a possible sequence of a first
Ausgestaltung des erfindungsgemäßen Verfahrens, wenn zwei Funktionen ab- wechselnd zur Ausführung gebracht werden. Als Beispiel dient ein Regler 51 für ein anzusteuerndes Ventil, der zur Ausführung einer Überwachungsfunktion des Ventils ausgebildet ist. Da nicht beide Funktionen parallel auf das Ventil zugreifen können, können die Funktionen unabhängig voneinander betrieben werden. Embodiment of the method according to the invention, when two functions alternately be executed. An example of this is a regulator 51 for a valve to be triggered, which is designed to carry out a monitoring function of the valve. Since both functions can not access the valve in parallel, the functions can be operated independently of each other.
Bei Ausführung des Verfahrens ist zunächst vorgesehen, dass bei einem ersten Schritt ein Scheduler 53 bzw. Zeitplanungsmodul erkennt, dass während eines regulären Betriebs der Regler 51 durch eine Testfunktion 55 ersetzt werden soll. Dies kann z. B. durch das Erreichen eines bestimmten Zeitpunkts erfolgen. Der Scheduler 53 schickt einem Dispatcher 57 bzw. einem Zuteilungsmodul den Befehl "Test für Regler" 59, wonach der Regler 51 durch die Testfunktion 55 ersetzt werden soll. When executing the method, it is initially provided that, in a first step, a scheduler 53 or scheduling module recognizes that the regulator 51 is to be replaced by a test function 55 during regular operation. This can be z. B. by reaching a certain time. The scheduler 53 sends a dispatcher 57 or an allocation module the command "test for controller" 59, after which the controller 51 is to be replaced by the test function 55.
Weiterhin sucht der Dispatcher 57 einen freien Platz im Bereich der rekonfigu- rierbaren Fläche 61 , z. B. kann der Dispatcher 57 die ebenfalls als Hardwaremodul ausgebildete Fläche des Reglers 51 weiterbenutzen. Wurde mindestens ein Flächenelement der rekonfigurierbaren Fläche gefunden, werden die notwendigen Befehle "Test Konfiguration" 65 und "Port Konfiguration" 67 für die Programmierung und der letzte Ausführungszustand an die rekonfigurierbare Fläche 61 und eine Port-Matrix 69 bzw. Verbindungsstruktur gesendet. Der SchedulerFurthermore, the dispatcher 57 seeks a free space in the area of the reconfigurable surface 61, z. For example, the dispatcher 57 may continue to use the area of the controller 51 also formed as a hardware module. If at least one surface element of the reconfigurable surface has been found, the necessary commands "test configuration" 65 and "port configuration" 67 for the programming and the last execution state are sent to the reconfigurable surface 61 and a port matrix 69 or connection structure. The scheduler
53 erhält die Information "Fläche gefunden" 71 darüber, dass mindestens ein passendes Flächenelement gefunden 71 wurde. 53 receives the information "surface found" 71 that at least one matching surface element was found 71.
In einem dritten Schritt stellt die Port Matrix 69 den Kommunikationsweg von ei- nem Aktor zu einem Flächenelement um und schält diesen neuen Pfad auf einIn a third step, the port matrix 69 converts the communication path from an actuator to a surface element and switches this new path on
Signal des Schedulers 53 mit der Information "Port freigegeben" 73 frei. Signal of the scheduler 53 with the information "Port enabled" 73 free.
Die rekonfigurierbare Fläche 63 entnimmt in einem vierten Schritt den Zustand des Reglers 51 und ersetzt diesen nach Übermittlung des Befehls "Ersetzen" 75 durch die Testfunktion 55. Die Testfunktion 55 wird nach Beendigung des Reglers 51 und Erhalt des Befehls "Ausführen" 77 ausgeführt. The reconfigurable area 63 removes the state of the regulator 51 in a fourth step and replaces it with the test function 55 after the command "replace" 75 has been transmitted. The test function 55 is executed after the controller 51 has been completed and the "execute" command 77 is received.
Der Dispatcher 57 sichert in einem fünften Schritt den aktuellen Ausführungszu stand. Der Scheduler 53 erkennt in einem sechsten Schritt, dass die Testfunktion 55 ihre Bearbeitung beendet hat und initiiert den Austausch der Testfunktion 55 durch den Regler 51 über den Befehl "Regler für Test" 79. The dispatcher 57 secures the current execution status in a fifth step. The scheduler 53 recognizes in a sixth step that the test function 55 has finished its processing and initiates the exchange of the test function 55 by the controller 51 via the command "controller for test" 79.
Die weiteren Schritte erfolgen analog wie die ersten fünf Schritte, wobei die Testfunktion 55 durch den Regler 51 unter Berücksichtigung des Befehls "Ersetzen" 75 ersetzt wird. Dabei folgt der Befehl "Regler Konfiguration" 81 , so dass der Regler 51 konfiguriert wird. The further steps are analogous to the first five steps, wherein the test function 55 is replaced by the controller 51 taking into account the command "replace" 75. In this case, the command "controller configuration" 81 follows, so that the controller 51 is configured.
Die zweite Ausführungsform des erfindungsgemäßen Verfahrens ist anhand des Diagramms aus Figur 4 verdeutlicht. Hier werden zunächst dieselben Schritte wie bei der ersten Ausführungsform aus Figur 3 ausgeführt. Außerdem wird mit dem Befehl "Zustand des Reglers" 83 dessen Zustand bestimmt. Allerdings erkennt der Scheduler 53 anschließend durch externe Signale, hier durch einen Interrupt 85 sowie dem bereitgestellten Befehl "Regler schnell" 87, dass der Regler 51 schnell zur Ausführung gebracht werden muss. Es findet daher kein Ersetzen der Testfunktion 55 statt. Die Schritte nach dem Interrupt 85 ergeben sich damit wie folgt. The second embodiment of the method according to the invention is illustrated by the diagram of FIG. Here, first, the same steps as in the first embodiment of Figure 3 are performed. In addition, with the command "state of the controller" 83 whose state is determined. However, the scheduler 53 then recognizes by external signals, here by an interrupt 85 and the provided command "controller fast" 87, that the controller 51 must be brought to execution quickly. There is therefore no replacement of the test function 55 instead. The steps after the interrupt 85 thus result as follows.
In einem ersten Schritt signalisiert der Scheduler 53 dem Dispatcher 57 lediglich, dass der Regler 51 aktiviert werden muss. In a first step, the scheduler 53 only signals to the dispatcher 57 that the controller 51 must be activated.
Der Dispatcher 57 sucht in einem zweiten Schritt ein passendes freies Flächenelement und übermittelt der rekonfigurierbaren Fläche 61 alle Informationen zur Konfiguration, einschließlich einem letzten Zustand des mindestens einen Flächenelements und dem neuen Pfad von dem Ventil zu dem mindestens einen Flächenelement. Anschließend wird der Scheduler 53 über das mindestens eine gefundene Flächenelement informiert. Dispatcher 57, in a second step, looks for a matching free area element and communicates to reconfigurable area 61 all the configuration information including a last state of the at least one area element and the new path from the valve to the at least one area element. Subsequently, the scheduler 53 is informed about the at least one surface element found.
Im dritten Schritt wird die rekonfigurierbare Fläche 61 konfiguriert und die Funktion schnellstmöglich ausgeführt. In the third step, the reconfigurable surface 61 is configured and the function is executed as quickly as possible.
Die Port-Matrix wird in einem vierten Schritt über den Befehl "Port-Konfiguration" 67 neu konfiguriert. Der Scheduler 53 gibt in einem fünften Schritt mit dem Befehl "Port freigegeben" 73 die Ports bzw. Anschlüsse für den Regler 51 frei. Zu diesem Zeitpunkt sind sowohl die Testfunktion 55 als auch der Regler 51 in Hardware realisiert, allerdings hat der Regler 51 den alleinigen Zugriff auf das Ventil. Wie mit der Test- funktion 55 weiter verfahren wird, ist der Schaltungsanordnung bzw. dem System überlassen. Das Ventil wird jedoch zumindest speziell gekennzeichnet bzw. markiert, damit es bei einer anderen Funktionsimplementierung ersetzt werden kann. The port matrix is reconfigured in a fourth step via the "Port Configuration" 67 command. The scheduler 53 releases the ports for the controller 51 in a fifth step with the command "Port enabled" 73. At this time, both the test function 55 and the controller 51 are implemented in hardware, but the controller 51 has sole access to the valve. How to proceed with the test function 55 is left to the circuit arrangement or the system. However, the valve is at least specially marked or marked so that it can be replaced in another functional implementation.

Claims

Ansprüche claims
1 . Verfahren zum Betreiben eines Steuergeräts (12) mit einem Hardwaremodul (4), das eine Anzahl Flächenelemente (5, 7, 9, 1 1 ) umfasst, wobei die Flächenelemente aus Blöcken oder Zellen von Schaltkreisen bestehen und wobei bei dem Hardwaremodul mindestens einer Funktion, die von dem Steuergerät (12) auszuführen ist, zur Ausführung eine rekonfigurierbare Fläche (3) zugeordnet wird, die mindestens ein Flächenelement (5, 7, 9, 1 1 ) des Hardwaremoduls (4) umfasst. 1 . Method for operating a control device (12) having a hardware module (4) comprising a number of surface elements (5, 7, 9, 11), the surface elements consisting of blocks or cells of circuits, and wherein the hardware module has at least one function, which is to be executed by the control unit (12) is associated with a reconfigurable surface (3) for execution, which comprises at least one surface element (5, 7, 9, 11) of the hardware module (4).
2. Verfahren nach Anspruch 1 , das dynamisch zur Laufzeit des Steuergeräts (12) ausgeführt wird. 2. The method of claim 1, which is performed dynamically at runtime of the controller (12).
3. Verfahren nach Anspruch 1 oder 2, bei dem eine Größe der rekonfigurierba- ren Fläche (3) an einen Bedarf der auszuführenden Funktion angepasst wird. 3. The method according to claim 1 or 2, wherein a size of the reconfigurable surface (3) is adapted to a requirement of the function to be performed.
4. Verfahren nach einem der voranstehenden Ansprüche, bei dem über ein Zugriffskontrollverfahren ein Zugriff auf gemeinsam genutzte Ressourcen kontrolliert wird. 4. The method according to any one of the preceding claims, in which an access control method access to shared resources is controlled.
5. Schaltungsanordnung für ein Steuergerät (12), die ein Hardwaremodul (4) aufweist, das eine Anzahl Flächenelemente (5, 7, 9, 1 1 ) umfasst, wobei die Flächenelemente aus Blöcken oder Zellen von Schaltkreisen bestehen und wobei vorgesehen ist, mindestens einer Funktion, die von dem Steuergerät (12) auszuführen ist, zur Ausführung eine rekonfigurierbare Fläche (3) zuzuordnen, die mindestens ein Flächenelement (5, 7, 9, 1 1 ) des Hardwaremoduls (4) umfasst. 5. Circuit arrangement for a control unit (12), which has a hardware module (4), which comprises a number of surface elements (5, 7, 9, 1 1), wherein the surface elements consist of blocks or cells of circuits and wherein it is provided, at least a function to be performed by the control unit (12), for execution to assign a reconfigurable surface (3) comprising at least one surface element (5, 7, 9, 1 1) of the hardware module (4).
6. Schaltungsanordnung nach Anspruch 5, die ein Zuteilungsmodul (17) aufweist, das dazu ausgebildet ist, für die mindestens eine Funktion eine rekon- figurierbare Fläche (3) auszuwählen und die mindestens eine Funktion der ausgewählten rekonfigurierbaren Fläche (3) zuzuordnen. 6. Circuit arrangement according to claim 5, which has an allocation module (17), which is designed for the at least one function a reconstituted figurative surface (3) to select and assign the at least one function of the selected reconfigurable surface (3).
7. Schaltungsanordnung nach Anspruch 5 oder 6, die ein Zeitplanungsmodul (25) aufweist, das dazu ausgebildet ist, eine Nutzung mindestens eines Flächenelements (5, 7, 9, 1 1 ) durch die mindestens eine Funktion zeitlich festzulegen. 7. Circuit arrangement according to claim 5 or 6, which has a scheduling module (25) which is adapted to schedule a use of at least one surface element (5, 7, 9, 1 1) by the at least one function.
8. Schaltungsanordnung nach einem der Ansprüche 5 bis 7, die eine Verbindungsstruktur (33, 37) mit Verbindungen (45) aufweist, die dazu ausgebildet ist, die mindestens eine auf der rekonfigurierbaren Fläche (3) ausgeführte Funktion mit einer Einheit, die außerhalb des Steuergeräts (12) angeordnet ist, zu verbinden. 8. Circuit arrangement according to one of claims 5 to 7, which has a connection structure (33, 37) with connections (45), which is adapted to the at least one on the reconfigurable surface (3) performed function with a unit outside the Control device (12) is arranged to connect.
9. Schaltungsanordnung nach einem der Ansprüche 5 bis 8, bei der zumindest ein Teil der Flächenelemente (5, 7, 9, 1 1 ) dieselbe Größe und/oder zumindest ein Teil der Flächenelemente (5, 7, 9, 1 1 ) unterschiedliche Größen aufweist. 9. Circuit arrangement according to one of claims 5 to 8, wherein at least a part of the surface elements (5, 7, 9, 1 1) the same size and / or at least a part of the surface elements (5, 7, 9, 1 1) different sizes having.
10. Steuergerät, das eine Schaltungsanordnung (1 ) nach einem der Ansprüche 5 bis 9 aufweist. 10. Control device having a circuit arrangement (1) according to one of claims 5 to 9.
PCT/EP2011/051533 2010-02-16 2011-02-03 Method for operating a controller WO2011101255A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE201010001962 DE102010001962A1 (en) 2010-02-16 2010-02-16 Method for operating a control device
DE102010001962.3 2010-02-16

Publications (1)

Publication Number Publication Date
WO2011101255A1 true WO2011101255A1 (en) 2011-08-25

Family

ID=43797513

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2011/051533 WO2011101255A1 (en) 2010-02-16 2011-02-03 Method for operating a controller

Country Status (2)

Country Link
DE (1) DE102010001962A1 (en)
WO (1) WO2011101255A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5402014A (en) * 1993-07-14 1995-03-28 Waferscale Integration, Inc. Peripheral port with volatile and non-volatile configuration
EP0919938A2 (en) * 1997-11-12 1999-06-02 Quickturn Design Systems, Inc Optimized emulation and prototyping architecture
US20040049672A1 (en) * 2002-05-31 2004-03-11 Vincent Nollet System and method for hardware-software multitasking on a reconfigurable computing platform
US20050232255A1 (en) * 2004-01-09 2005-10-20 Walton Derek T General purpose pin mapping for a general purpose application specific integrated circuit (ASIC)
DE102005010476A1 (en) 2005-03-04 2006-09-07 Daimlerchrysler Ag Control unit with configurable hardware modules

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5402014A (en) * 1993-07-14 1995-03-28 Waferscale Integration, Inc. Peripheral port with volatile and non-volatile configuration
EP0919938A2 (en) * 1997-11-12 1999-06-02 Quickturn Design Systems, Inc Optimized emulation and prototyping architecture
US20040049672A1 (en) * 2002-05-31 2004-03-11 Vincent Nollet System and method for hardware-software multitasking on a reconfigurable computing platform
US20050232255A1 (en) * 2004-01-09 2005-10-20 Walton Derek T General purpose pin mapping for a general purpose application specific integrated circuit (ASIC)
DE102005010476A1 (en) 2005-03-04 2006-09-07 Daimlerchrysler Ag Control unit with configurable hardware modules

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
JYING-LWEN CHIU: "On-line scheduling of Real time Tasks and Compact Placement Method for Dynamically Partially Reconfigurable Systems", THESIS SUBMITTED TO INSTITUTE OF COMPUTER SCIENCE AND INFORMATION ENGINEERING COLLEGE OF ENGINEERING NATIONAL CHUNG CHENG UNIVERSITY FOR THE DEGREE OF MASTER IN COMPUTER SCIENCE AND INFORMATION ENGINEERING,, 26 June 2008 (2008-06-26), pages 1 - 86, XP007918083 *
PELLIZZONI R ET AL: "Real-Time Management of Hardware and Software Tasks for FPGA-based Embedded Systems", IEEE TRANSACTIONS ON COMPUTERS, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 56, no. 12, 1 December 2007 (2007-12-01), pages 1666 - 1680, XP011194959, ISSN: 0018-9340, DOI: DOI:10.1109/TC.2007.70763 *
PLATZNER M ET AL: "Operating Systems for Reconfigurable Embedded Platforms: Online Scheduling of Real-Time Tasks", IEEE TRANSACTIONS ON COMPUTERS, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 53, no. 11, 1 November 2004 (2004-11-01), pages 1393 - 1407, XP011119495, ISSN: 0018-9340, DOI: DOI:10.1109/TC.2004.99 *
WALDER H ET AL: "Online scheduling for block-partitioned reconfigurable devices", DESIGN, AUTOMATION AND TEST IN EUROPE CONFERENCE AND EXHIBITION, 2003 MUNICH, GERMANY 3-7 MARCH 2003, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 3 March 2003 (2003-03-03), pages 290 - 295, XP010673330, ISBN: 978-0-7695-1870-1, DOI: DOI:10.1109/DATE.2003.1253622 *
XUE-GONG ZHOU ET AL: "On-line scheduling of real-time tasks for reconfigurable computing system", FIELD PROGRAMMABLE TECHNOLOGY, 2006. FPT 2006. IEEE INTERNATIONAL CONF ERENCE ON, IEEE, PI, 1 December 2006 (2006-12-01), pages 57 - 64, XP031034414, ISBN: 978-0-7803-9728-6 *
YUAN-HSIU CHEN ET AL: "Hardware Task Scheduling and Placement in Operating Systems for Dynamically Reconfigurable SoC", 1 January 2005, EMBEDDED AND UBIQUITOUS COMPUTING LECTURE NOTES IN COMPUTER SCIENCE;;LNCS, SPRINGER, BERLIN, DE, PAGE(S) 489 - 498, ISBN: 978-3-540-30807-2, XP019025677 *

Also Published As

Publication number Publication date
DE102010001962A1 (en) 2011-08-18

Similar Documents

Publication Publication Date Title
WO2005091089A1 (en) Influencing device for control apparatus
EP0577919A1 (en) Access control for coupling mask-programmed micro-controllers
EP3538960B1 (en) Sequence control of program modules
EP1997005A1 (en) Method for creating an optimized flowchart for a time-controlled distributed computer system
DE3236302A1 (en) PROGRAMMABLE CONTROL
EP2407840A1 (en) Method for operating an automation device
EP2067081A1 (en) Method for synchronizing two control devices and redundantly structured automation device
DE102016000126A1 (en) Serial bus system with coupling modules
EP1854022A1 (en) Control appliance comprising configurable hardware modules
DE102005010477A1 (en) Device and method for processing prioritized control processes
EP1700211B1 (en) Method of loading software modules
EP2732347B1 (en) Method and system for the dynamic distribution of program functions in distributed control systems
DE10326542B4 (en) Operating method and control program for a central unit of an automation system and central unit of an automation system and automation system itself
WO2001037058A1 (en) Automation device and updating method
DE102006052757A1 (en) Automation device for use with engineering system, has processing unit i.e. cell processor, provided with processing cores for controlling, monitoring and/or influencing technical processes, where processing cores execute operating systems
DE102013002648B3 (en) Master bus device for a vehicle communication bus of a motor vehicle
EP3015992B1 (en) Method for managing prioritized input data
WO2011063869A1 (en) Method for enabling sequential, non-blocking processing of statements in concurrent tasks in a control device
EP2216696B1 (en) Method and communication system for configuring a communication module containing a logic module
DE102017130552B3 (en) Method of data processing and programmable logic controller
DE102009025572A1 (en) A method for developing guaranteed real-time systems
WO2011101255A1 (en) Method for operating a controller
EP4012517A1 (en) Execution environment for executing an event-oriented control program
WO2011064045A1 (en) Method and electronic unit for producing sequences
DE102006028939B4 (en) Program pipelining method for processing streaming data in medical imaging systems

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11702194

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 11702194

Country of ref document: EP

Kind code of ref document: A1