WO2005091089A1 - Beeinflussungsgerät für steuergeräte - Google Patents

Beeinflussungsgerät für steuergeräte Download PDF

Info

Publication number
WO2005091089A1
WO2005091089A1 PCT/EP2005/002742 EP2005002742W WO2005091089A1 WO 2005091089 A1 WO2005091089 A1 WO 2005091089A1 EP 2005002742 W EP2005002742 W EP 2005002742W WO 2005091089 A1 WO2005091089 A1 WO 2005091089A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
data
influencing device
list
influencing
Prior art date
Application number
PCT/EP2005/002742
Other languages
English (en)
French (fr)
Inventor
Robert Leinfeller
Ortwin Franzen
Hans-Günther LIMBERG
Marc Dressler
Paul Gruber
Original Assignee
Dspace Digital Signal Processing And Control Engineering 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 Dspace Digital Signal Processing And Control Engineering Gmbh filed Critical Dspace Digital Signal Processing And Control Engineering Gmbh
Priority to US10/598,946 priority Critical patent/US8645918B2/en
Publication of WO2005091089A1 publication Critical patent/WO2005091089A1/de

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3656Software debugging using additional hardware using a specific debug interface
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/21Pc I-O input output
    • G05B2219/21109Field programmable gate array, fpga as I-O module
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23334Use of table with addresses for different modules, write new table if modified

Definitions

  • the invention relates to an influencing device for influencing at least one control device with at least one control device microcontroller and with at least one control device debug interface, the influencing device having at least one programmable unit, at least one data transmission interface for connecting the influencing device to an operating unit and at least one influencing device Debug interface for connecting the influencing device with the control unit debug interface of the control unit comprises.
  • Influencing devices of the type described above are known from practice and are used above all in applied research and industrial development wherever control devices are to be developed and used.
  • a control device is understood to mean any type of electronic device with the aid of which technical-physical processes are influenced.
  • a control unit usually comprises at least one computing unit, e.g. B. in the form of a processor or microcontroller, memory and input / output interfaces (I / O interfaces) in order to be able to carry out calculations depending on internally stored parameters or internal calculation variables and / or on measured - or at least externally provided - variables and in order to be able to act on external processes equally by outputting electrical signals.
  • Control devices thus do not simply act as controls in the control-technical sense, but are also particularly suitable for solving complex control tasks. If the following is used for control devices, controls and the process of controlling, devices and activities according to the more general definition given above are always included.
  • microcontrollers are always mentioned below. This is understood to mean electronic computer units with assigned electronic memory, regardless of whether the memory is completely or partially realized in one component with the computer unit, or whether the computer unit and the associated memory are present as separate components.
  • the controller designed in the mathematical model is transferred to a real-time-capable simulation unit, which usually outperforms a standard series control unit in terms of both computing power and I / O capabilities and with the real physical process interactively communicates. Since the transfer of the abstractly formulated controller from a modeling tool to the simulation unit is largely automated, the second phase is called rapid control prototyping (RCP) or function prototyping.
  • RCP rapid control prototyping
  • control algorithm is transferred - usually fully automated - as part of the control unit implementation to the (series) control unit that will ultimately be used in practice.
  • the control device which can basically be used in the real process, is often first subjected to a test before it is used, in that the real process with which the control device is ultimately supposed to interact is partially or completely simulated by a real-time-capable simulation unit and the control device is stimulated by signal test patterns (hardware-in-the-loop simulation).
  • the control device tested in this way is ultimately used in the real process and operated interactively with it.
  • control unit applications it is usually necessary to make adjustments to the control unit or to the functions implemented in the control unit. For this purpose, it is necessary, on the one hand, to be able to observe, record and analyze the status of the control unit, that is to say all the data input or output by the control unit and also used internally, in a timely manner by data acquisition. On the other hand, it is necessary to be able to change the parameters or parameter sets on which the functions / control algorithms are based, ie key figures, lines or fields, by means of write access to the memory of the control unit.
  • the processes described are generally referred to as control unit applications.
  • function bypassing in which the control device calls a real-time-capable simulation unit signals a control unit function, but the control unit itself does not carry out the function, but merely accepts and continues to use the result of the function calculated on the simulation unit as an alternative; the control unit function is bypassed.
  • influencing devices gain access to control devices.
  • interventions in the hardware of the control device are usually necessary, since the influencing device in this case works like a memory emulator and, for example, via an adapter that takes the place of a memory module of the control device or from a specially provided slot the board of the control unit is picked up and accesses the address and data bus of the control unit microcontroller (dSPACE product catalog 2004, p. 292-293).
  • the influencing device itself contains, as the central element, a memory that can be accessed from both sides (dual-port memory, DPMEM) and a data transmission interface via which the influencing device is connected to an operating unit.
  • DPMEM dual-port memory
  • the double-accessible memory can now be read and written by an operator on the part of the operating unit, the data stored in the double-accessible memory of the influencing device being able to be read automatically by the control unit microcontroller, since the double-accessible memory can be on the data and address bus of the control unit microcontroller is in the address space of the microcontroller.
  • control unit microcontroller In practice, however, not only are the changes to the hardware described, but also modifications or additions to the control device program running on the control device. This is necessary, for example, in order to make internal data stored in the integrated memory of the control unit microcontroller observable and changeable.
  • additional software services are implemented in the control unit, which copy internal data of the control unit microcontroller into a memory area of the microcontroller which lies within the address space of the control unit microcontroller that can be reached via the external address and data bus.
  • there are also software services that copy data from the address space of the control unit microcontroller that can be reached via the external address and data bus into the internal memory area of the control unit microcontroller.
  • an address list and a data list are therefore provided in the address space of the control unit microcontroller, the address list containing those addresses in the address space of the control unit microcontroller whose data are either read and placed in a place within the Data list are to be stored, or the address list contains those addresses in the address space of the control unit microcontroller whose contents are to be described with corresponding data from the data list.
  • the procedure described above is u. a. disadvantageous because the address and data lists as well as the software services occupy additional storage space within the control unit and the execution of the software services binds computing power of the control unit microcontroller, which is not required for the exclusive execution of the control functions of the control unit.
  • the behavior of the control device in the control device application can therefore under certain circumstances hardly be comparable to the behavior that the control device would show without the additional execution of the software services serving the application.
  • serial interfaces see, for example, dSPACE Product Catalog 2004, pp. 84-85
  • an intervention in the hardware of the control unit is no longer necessary compared to the use of a parallel interface.
  • the control unit must be equipped with additional software services in order to exchange data via the serial interface, e.g. B. with an influencing device.
  • the present invention is based on influencing devices of this type.
  • the address and data lists described above - used in the method using a parallel interface - as well as the software services for copying data from and into the data lists are also used in the serial method, so that overall a higher load on the control unit Microcontrollers as well as a higher memory expenditure on the control unit due to the larger number of software services.
  • Modern control devices are increasingly equipped with microcontrollers that have a debug interface, such as. B. NEXUS (IEEE-ISTO 5001: "The NEXUS 5001 Forum Standard for a Global Embedded Processor Debug Interface", 2003).
  • a debug interface such as. B. NEXUS (IEEE-ISTO 5001: "The NEXUS 5001 Forum Standard for a Global Embedded Processor Debug Interface", 2003).
  • Debug interfaces offer extensive options for observing and influencing the states of the microcontroller and they enable runtime observation and control (debugging) of the microcontroller, in particular tracking the program code execution and the data accessed and changed. Because debug interfaces are an integral part of the microcontroller hardware, they can be used to achieve significantly faster access to the microcontroller than is possible with a software-based communication interface.
  • the applicant is known from practice to use an influencing device for the application of a control device with a control device debug interface, which uses the control device debug interface to influence the control device, although address in the control device's memory continues to be used. and data lists are created and the software services described above are used to copy data into and from the data lists.
  • control unit microcontroller is also significantly burdened in this solution.
  • the object of the invention is therefore to design an influencing device for influencing a control device such that the control device is less loaded by the control device application than is the case when using known influencing devices.
  • the influencing device comprises at least one memory for at least one address list and at least one data list
  • the addresses stored in the address list denoting storage locations in the address space of the control unit microcontroller and using the influencing device debug section reads all data from the storage locations determined by the contents of the address list in the address space of the control unit microcontroller and can be stored in the data list of the influencing device and / or the data stored in the data list of the influencing device to the data stored by the contents of the address list certain storage locations in the address space of the control unit microcontroller can be stored.
  • the influencing device can exchange data at least via two interfaces, namely a data transmission interface and an influencing device debug interface.
  • control device debug interface which, in the sense of the invention in question, at least partially realizes the functionality in order to automatically use a suitable command set of the interface to automatically control the state of the control device microcontroller and, for. T. even the units assigned to him in the control unit, such as. B. its external memory, read out and actively influence.
  • Control unit debug interfaces are therefore distinguished by the properties described above, and this term is also used here to mean interfaces that are not primarily intended as “debug interfaces” and are therefore not explicitly designated as such which, however, offer the corresponding observation and influencing options with regard to the control unit microcontroller and the electronic units assigned to it.
  • the data transmission interface is used for data exchange between the influencing device and an operating unit, which as a rule represents the interface used by a human user - the applicator.
  • the control unit is an independent computer on which application software is operated, i.e. programs for data acquisition, visualization and analysis, as well as programs for user-friendly input and management of parameter sets, which are to be tested on the control unit with which the control unit uses the Influencing device is connected.
  • Influencing devices are usually designed to be as small as possible in size and separate from the operating unit, since they are installed, for example, inside a motor vehicle, but it is entirely conceivable that the influencing device according to the invention and the operating unit are implemented in one unit.
  • the influencing device also comprises at least one programmable unit which controls, for example, the internal data flow from the data transmission interface to the influencing device debug interface and vice versa.
  • the influencing device according to the invention furthermore has a memory in which at least one address list and at least one data list are stored, that is to say those lists which are stored and managed on the control device when known influencing devices are used.
  • the data stored in the address list designate storage locations in the address space of the control unit microcontroller, it being possible either to read the data stored in the referenced storage locations from the control unit and to store them in appropriate locations in a data list of the influencing device (data acquisition), or else to write the data contained in a data list of the influencing device to corresponding storage locations in the control device, which are predetermined by the contents of the address lists of the influencing device (parameterization).
  • the data lists are consequently not only used for the interaction between the influencing device and the control unit, but also for the interaction between the influencing device and the control unit, because the data records specified by the control unit are written to the data lists in order to be transmitted from there to the control unit how data records of measured state variables of the control device are initially stored in the data list in order to be automatically transmitted from there to the operating unit.
  • the control device connected to the influencing device no longer has to be adapted by modification of the control device software, which considerably simplifies the development process of the control device since there is no need to integrate software services as well as address and data lists in cooperation with the control unit manufacturer into the control unit, which is necessary with every new software version.
  • a particularly advantageous embodiment of the influencing device according to the invention results in particular when the programmable unit of the influencing device is a programmable logic module.
  • the influencing device debug interface is additionally implemented with the aid of the programmable unit - now in the form of a programmable logic module - there are considerable advantages, for example, compared to the implementation of the control device debug interface with a microcontroller. This is due to the fact that a microcontroller can usually only process instructions sequentially, whereas programmable logic modules can also perform several functions in parallel.
  • a field programmable gate array (FPGA) is particularly preferably used as the programmable logic module in the influencing device according to the invention.
  • the memory for the address and data lists is preferably provided as part of the programmable unit, which results in very short access times to the lists, in particular when frequently used functionalities are also carried out by the programmable unit.
  • a list application unit as part of the programmable unit, which after its activation automatically stores complete data lists or their contents from the influencing device in storage locations in the address space of the control unit microcontroller, which are predetermined by the data in the corresponding address lists.
  • the list application unit also serves to describe the data lists of the influencing device with data that are read from the storage locations in the address space of the control unit microcontroller, the storage locations being determined by the data in corresponding address lists.
  • the described configuration of the influencing device according to the invention considerably relieves the load on the control device or the control device microcontroller, and much higher transmission rates can be achieved between the influencing device and the control device. Ultimately, this also makes it possible to implement further functions on the influencing device, so that various development processes can apparently be carried out in parallel with the control device for the user of the influencing device.
  • bypass unit on the programmable unit of the influencing device, together with a bypass memory that can be written to the bypass unit and can be written on one or two sides and a bypass interface for connecting the Bypass unit and the bypass memory with an external simulation unit.
  • a strategy for conflict avoidance is implemented with simultaneous activation of different functional units of the programmable unit.
  • the prioritization and arbitration unit allows the various units provided on the programmable unit - such as. B. the list application unit and the bypass unit - priorities assignable, and the prioritizing and arbitration unit then decides on the basis of the priorities assigned to the execution order of the different units by activating them. At the same time, the prioritization and arbitration unit then establishes a data connection between the respectively enabled unit and the control unit.
  • the invention also includes a method for using a preferred influencing device with a bypass unit for advantageously realizing the function bypassing, the address list and / or data list described also being used for bypassing.
  • FIG 3 shows the schematic structure of an influencing device known from the prior art.
  • the figures each show an influencing device 1 which is connected to a control device 2, the control device 2 comprising at least one control device microcontroller 3 and a control device debug interface 4.
  • the control unit microcontroller 3 does not necessarily have to be a computer unit in which the processor and assigned memory are implemented in one component, but the control unit microcontroller 3 can just as well consist, for example, of a processor and a separately implemented memory module.
  • control unit debug interface 4 shown in FIGS. 1 and 3 is usually implemented in one unit with the control unit microcontroller 3 (on-chip debug port), but of course the influencing device 1 according to the invention can also be used together with a control unit 2 are used, the control unit debug interface 4 of which is executed separately from the control unit microcontroller 3.
  • the operating unit 7 is a single-user computer with suitable software in order to visualize the data coming from the control unit 2 and recorded and forwarded by the influencing device 1 and to analyze them in the broadest sense. Furthermore, software is also operated on the operating unit 7, which is used to configure the influencing device 1 or with the changes of parameters localized on the control device 2 and can be transmitted to the control device 2 via the influencing device 1.
  • the data transmission interface 6 is a serial standard interface, in particular a USB interface or an Ethernet interface.
  • each of the influencing devices 1 shown has an influencing device debug interface 8 which is functionally necessary in order to establish a connection between control device 2 and influencing device 1.
  • the address space 10 of the control device microcontroller 3 which comprises the addresses A0 to An, is indicated within the control device 2.
  • Address space is to be understood here to mean all addresses accessible by the control unit microcontroller 3, that is to say also those addresses which, for example, cannot be accessed via an external address bus of the control unit microcontroller 3.
  • an address list 11 and a data list 12 are created on the control device 2.
  • Address list 11 and data list 12 occupy additional storage space in addition to the storage space occupied by the control software that is normally operated on control unit 2.
  • the addresses A10, A20 and A30 are first stored in address list 11.
  • the additionally required software services indicated with S1, S2 and S3 now serve to copy the original data D1, D2 and D3 from the storage locations A10, A20 and A30 into the data list 12.
  • this data is transmitted from the control device 2 to the influencing device 1 by further software services to be implemented on the control device and not shown in FIG. 3.
  • control device application when using an influencing device 1 known from the prior art, places a considerable load on the control device 2, on the one hand due to the possibly very large memory requirement on the control device 2 Saving of address list 11, data list 12 and of additional software services, on the other hand, the runtime behavior of the control functions of the control unit may be greatly influenced, since the indicated software services (S1, S2, S3) must also be processed by the control unit microcontroller 3.
  • the address list 11 and the data list 12 are stored in the memory 9 of the influencing device 1 according to the invention.
  • the contents of the corresponding storage locations in the address space 10 of the control unit microcontroller 3 can be called up directly, and they can subsequently be found in the data list 12 provided for this purpose in the memory 9 of the Influencing device 1 are stored.
  • the data can be transmitted via other interfaces, such as, for example, in the influencing device 1 known from the prior art.
  • the data transmission interface 6 are transmitted to the outside.
  • the data stored in the data list 12 can be transferred via the control unit debug interface 4 directly into the address space 10 of the control unit microcontroller 3, specifically to the addresses which are specified by the address list 11 on the influencing device 1.
  • any modifications in the address space 10 of the control device microcontroller 3 are omitted in the case of the pure control device application.
  • the runtime behavior of the control device 2 is therefore not, or only insignificantly, caused by the reading or writing of memory 9 of the control device 2 takes place within the scope of the control device applications.
  • the influencing device debug interface 8 is implemented within the programmable unit 5.
  • the programmable unit 5 is a programmable logic module
  • this preferred arrangement results in considerable advantages with regard to the execution speed of various operations on the influencing device 1. especially provided to implement the programmable unit 5 by a field programmable gate array (FPGA).
  • FPGA field programmable gate array
  • the memory 9, which houses the address list 11 and the data list 12, is provided in the preferred embodiment according to FIG. 1 within the same programmable unit 5.
  • Fig. 2 shows an influencing device 1 according to the invention that has a variety of additional components and functions that are in different functional units such.
  • B. a list application unit 13, a single value application unit 14 or a tool interface unit 15, are implemented together in the programmable unit 5.
  • the list application unit 13 automates the transfer of data from the data lists 12 (not shown in FIG. 2) to the locations within the address space 10 of the control device 2 designated by the addresses in the address lists 11. Conversely, the list application unit 13 ensures also to ensure that complete parameter sets are called up from the address space 10 of the control unit microcontroller 3 and transferred together into the corresponding data lists 12 in the influencing device 1.
  • address lists 11 and data lists 12 are created within the memory 9, it is provided in particular that the address lists 11 and / or the data lists 12 can be given priorities, the priorities determining the processing sequence in which the list applications Unit 13 edited the lists.
  • the influencing device 1 it is possible to select a subset of lists from a plurality of address lists 11 and a plurality of data lists 12 which are to be made accessible for processing by the list application unit 13. This makes it possible, for example, to select and switch between different application modes. By periodically calling the list application unit 13, it is thus possible in a simple manner to continuously monitor and evaluate entire sets of state variables of the control unit 2 (data acquisition).
  • the single-value application unit 14 essentially serves to read out or optionally describe individual states or memory contents from the address space 10 of the control unit microcontroller 3; it is therefore particularly suitable for manual and targeted changes to control unit parameters or for random monitoring of one interesting state of the control unit 2.
  • the programmable unit 5 comprises a tool interface unit 15, via which it is possible to additionally connect an external device 16 to the influencing device 1.
  • the external device 16 can, for example, be a further influencing device 1, which should alternatively be able to access the control device 2 via the control device debug interface 4, or the external device 16 can be an original debug tool, for example act, which can also selectively access the control unit 2.
  • the influencing device 1 can also be equipped with a bypass unit 17, a bypass memory 18 and a bypass interface 19, the bypass unit 17 and the bypass interface 19 preferably being implemented with the programmable unit 5.
  • the bypass memory 18 is a memory that can be accessed on both sides and that provides both a read / write access on the part of the control unit 2 and a write / read access on the part of a simulation unit 20 which is via the bypass Interface 19 is connected to the influencing device 1.
  • the bypass memory 18 is a memory that can only be accessed from one side, but this does not have to have a disadvantageous effect on the functional bypassing.
  • function bypassing what is particularly important is a quick calculation of the functions outsourced to a simulation unit 20, as well as a fast data transmission of the result values calculated in the simulation unit 20 to the control unit 2.
  • the Bypass interface 19 is a serial interface that allows the highest data transfer rates.
  • the bypass interface 19 is an LVDS interface.
  • the simulation unit 20 For function bypassing, it is fundamentally necessary that the simulation unit 20 both request data from the control device 2 and read it out via the influencing device 1, and can itself transmit data via the influencing device 1 and write it into the control device 2.
  • the reading of data from the control unit 2 by the simulation unit 20 begins with the simulation unit 20 specifying all the data to be read out from the control unit 2 to the influencing unit 1, in particular to the bypass unit 17 or the bypass memory 18 transmits.
  • the specification of all data to be read out from the control unit consists in the specification of at least one memory location in the address space 10 of the control unit microcontroller 3 and the specification of the size of the memory area of interest which emanates from there.
  • the influencing device 1, in particular the bypass unit 18, now reads the data specified in this way from the control device 2 using the debug interfaces 4, 8, and finally the influencing device 1 reads the data from the Control unit 2 read data via the bypass interface 19 to the simulation unit 20.
  • control device 2 If a function of the control device 2 is now to be calculated not by the control device microcontroller 3, but rather outsourced on the simulation unit 20, that is to say by function bypassing, the control device 2 first makes a request to the calculation of this outsourced bypass function to the Influencing device 1 is sent via the debug interfaces 4, 8, the request being immediately forwarded from the influencing device 1 to the simulation unit 20 so that the bypass function on the simulation unit 20 can be calculated as quickly as possible.
  • the simulation unit 20 now evaluates the request for calculating the bypass function and reads out the data (arguments of the function) necessary for the function calculation from the control unit 2 using the method described above.
  • the simulation unit 20 After the simulation unit 20 has calculated the outsourced function on the basis of the data read out from the control unit 2, the simulation unit 20 writes the result of the function calculation according to the method described above via the influencing device 1 into the control unit 2 or to corresponding storage locations in Address space 10 of the control unit microcontroller 3.
  • the previously described method of function bypassing using the influencing device 1 according to the invention is independent of the address list 11 and the data list 12 in the memory 9 of the influencing device 1.
  • the address list 11 and the data list 12 of the influencing device 1 are also of particular importance with regard to function bypassing.
  • the influencing device 1 reads the data from the storage locations in the address list 11 specified in the address space 10 of the control unit microcontroller 3 and storing the retrieved data in the data list 12 automatically, in particular by using the list application unit 13.
  • control device 2 If the control device 2 signals a necessary bypass operation of a control device function to the influencing device 1, all the data necessary for the calculation of the bypass function can be read by the control device 2 as a unit by using the address list 11 and used on the influencing device 1 the debug interfaces 4, 8 are stored.
  • all the data necessary for calculating the bypass function are stored in the data list 12, they are automatically or after request change by the simulation unit 20, transferred to the simulation unit 20, where they are used directly to calculate the bypass function.
  • the calculation results of the bypass function by the simulation unit 20 are then transmitted to the influencing device 1 and stored there either in the data list 12 and / or the bypass memory 18. From here, the calculation results have to be stored again in certain storage locations in the address space 10 of the control unit microcontroller 3, the storage locations either having already been stored in the address list 11, or else being specified by the simulation unit 20.
  • This method of function bypassing makes it possible to dispense with the constant transfer of the storage locations in the address space 10 of the control unit microcontroller 3 from which read or write is to be carried out, as a result of which the data transfer between the simulation unit 20 and the influencing device 1 significantly reduced. Furthermore, the time required for bypassing a control device function is decisively shortened, which is also due to the fact that the collective transfer of data between the influencing device 1 and the control device 2 via the debug interfaces 4, 8 using the address list 11 and / or the data list 12 can be processed considerably faster than carrying out the transmission of the same data by means of a large number of individual transfers.
  • a prioritizing arbitration unit 21 is implemented with the programmable unit 5.
  • the prioritization and arbitration unit 21 allows the various units 13, 14, 15, 17 to be assigned priorities, on the basis of which the prioritization and arbitration unit 21 executes a sequence of execution by activating the different units 13, 14, 15, 17 can set.
  • the task of prioritizing and arbitration unit 21 also includes establishing a data connection between the respectively enabled unit and the control unit 2.
  • the preferred exemplary embodiment shown in FIG. 2 allows a control device application to be carried out simultaneously, that is to say a data acquisition associated with extensive data transmission and function bypassing, which is practically unsatisfactory when using influencing devices 1 known from the prior art is possible because the data transmission based on software services from control device 2 to influencing device 1 is far more time-consuming and leads to unacceptable response times.
  • the priority of the bypass unit 17 is chosen higher than the priority of the list application unit 13, which in turn is to be located higher than the priority of the single value application unit 14, and when the lowest priority is assigned to the tool interface unit 15.
  • the priority of the bypass unit 17 is chosen higher than the priority of the list application unit 13, which in turn is to be located higher than the priority of the single value application unit 14, and when the lowest priority is assigned to the tool interface unit 15.
  • a coordination unit 22 is provided in the influencing device 1, which via a coordination interface 23 with one or more of the units 13, 14, 17 of the pro- is connected to the programmable unit 5, the coordination interface 23 being integrated in particular in the programmable unit 5.
  • the coordination unit 22 in the preferred exemplary embodiment is connected to the control unit 7 via the data transmission interface 6 and / or to the simulation unit 20 via the bypass interface 19 and / or also to the bypass memory 18 ,
  • the coordination unit 22 is thus able to send data or instructions from the operating unit 7 and / or from the simulation unit 20 to the addressed units 13, 14, 15, 17 of the programmable unit 5 for further processing direct and / or to transmit the data originating from a unit 13, 14, 15, 17 of the programmable unit 5 to the operating unit 7 and / or the simulation unit 20.
  • connections represent communication paths between their endpoints, they can actually represent a separate physical connection, but they do not have to. This is e.g. B. when looking at the bypass memory 18 shown in FIG. 2, which has three connections, although it is only accessible on one or two sides. It is apparent to the person skilled in the art that a plurality of communication partners, in the present case bypass unit 17, bypass interface 19 and coordination unit 22, can access another unit, for example via a common physical communication path, in this case the bypass memory 18.
  • a further preferred embodiment of an influencing device 1 according to the invention makes it possible to provide the data received from the coordination unit 22, in particular data which are transmitted to the operating unit 7, with a time stamp. This is advantageous because the time information of the timestamp and the temporal classification z. B. allows measured data, as well as, for example, a temporal synchronization of several influencing devices 1 operated in a network enables.
  • An alternative preferred embodiment of the influencing device 1 according to the invention shapes the one passing through the programmable unit 5 Data already has a time stamp so that this work step can no longer be carried out by the coordination unit 22. In this variant, too, time advantages can be achieved compared to the use of the coordination unit 22.
  • the coordination unit 22 is used in particular to interpret configuration instructions originating from the operating unit 7 and / or from the simulation unit 20 and to configure the influencing device 1 accordingly. For example, it is even possible to set up the influencing device 1 according to the invention not only for a special type of control unit debug interface 8, but also to adapt it to practically any interface standards.
  • the coordination unit 22 preferably also has connections via which external trigger signals 24 and internal trigger signals 25 can be registered and evaluated, which is why it is easily possible with the coordination unit 22 to provide corresponding units 13, 14, 15, 17 to activate the programmable unit 5.
  • the coordination unit 22 is implemented by a separate computing unit outside the programmable unit 5, in particular by a microcontroller.
  • the coordination unit 22 is formed by a programmable logic module or as part of the programmable unit 5.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Dargestellt beschrieben ist ein Beeinflussungsgerät (1) zur Beeinflussung mindestens eines Steuergeräts (2) mit mindestens einem Steuergerät-Microcontroller (3) und mit mindestens einer Steuergerät-Debug-Schnittstelle (4), wobei das Beeinflussungsgerät (1) zumindest eine programmierbare Einheit (5), wenigstens eine Datenübertragungs-Schnittstelle (6) zur Verbindung des Beeinflussungsgeräts (1) mit einer Bedieneinheit (7) und mindestens eine Beeinflussungsgerät-­Debug-Schnittstelle (8) zur Verbindung des Beeinflussungsgeräts (1) mit der Steuergerät-Debug-Schnittstelle (4) des Steuergeräts (2) umfaßt. Das erfindungsgemäße Beeinflussungsgerät (1) löst die Aufgabe, das Steuergerät (2) durch Steuergeräte-Applikation weniger zu belasten durch mindestens eine Adreßliste (11) und mindestens eine Datenliste (12), die in einem Speicher (9) des Beeinflussungsgeräts vorgesehen sind.

Description

Beeinflussungsgerät für Steuergeräte
Die Erfindung betrifft ein Beeinflussungsgerät zur Beeinflussung mindestens eines Steuergeräts mit mindestens einem Steuergerät-Microcontroller und mit mindestens einer Steuergerät-Debug-Schnittstelle, wobei das Beeinflussungsgerät zumindest eine programmierbare Einheit, wenigstens eine Datenübertragungs-Schnittstelle zur Verbindung des Beeinflussungsgeräts mit einer Bedieneinheit und mindestens eine Beeinflussungsgerät-Debug- Schnittstelle zur Verbindung des Beeinflussungsgeräts mit der Steuergerät-Debug-Schnittstelle des Steuergeräts umfaßt.
Beeinflussungsgeräte der oben beschriebenen Art sind aus der Praxis bekannt und finden vor allem in der angewandten Forschung und der industriellen Entwicklung überall dort ihren Einsatz, wo Steuergeräte entwickelt und zum Einsatz gebracht werden sollen.
Unter einem Steuergerät wird im folgenden jegliche Art von elektronischen Geräten verstanden, mit deren Hilfe technisch-physikalische Prozesse beeinflußt werden. Üblicherweise umfaßt ein solches Steuergerät zumindest eine Recheneinheit, z. B. in Form eines Prozessors oder Microcontrollers, Speicher sowie Eingabe-/Ausgabeschnittstellen (I/O-Schnittstellen), um Berechnungen in Abhängigkeit von intern gespeicherten Parametern bzw. internen Rechengrößen und/oder von gemessenen - jedenfalls von extern bereitgestellten - Größen durchfuhren zu können und um gleichermaßen durch Ausgabe von elektrischen Signalen auf externe Vorgänge einwirken zu können. Steuergeräte wirken damit im regelungstechnischen Sinne nicht einfach nur als Steuerungen, sondern sie sind insbesondere auch dazu geeignet, komplexe Regelungsaufgaben zu lösen. Wenn im folgenden von Steuergeräten, Steuerungen und dem Vorgang des Steuerns die Rede ist, sind stets auch Vorrichtungen und Tätigkeiten nach der oben angegebenen allgemeineren Definition umfaßt.
Weiterhin ist im folgenden stets von verschiedenen Microcontrollern die Rede. Darunter werden elektronische Rechnereinheiten mit zugeordnetem elektronischen Speicher verstanden, unabhängig davon, ob der Speicher vollstän- dig oder teilweise in einem Bauteil mit der Rechnereinheit realisiert ist, oder ob Rechnereinheit und zugeordneter Speicher als voneinander getrennte Bauteile vorliegen.
Der Einsatz von Beeinflussungsgeräten wird durch die nachfolgende Darstel- lung des Entwicklungsprozesses deutlich, den Steuergeräte - zumindest im Rahmen umfangreicherer Aufgabenstellungen - in der Praxis durchlaufen.
Am Anfang einer regelungstechnischen Aufgabenstellung steht zunächst die mathematische Modellierung und Simulation eines technisch-physikalischen Prozesses, dem ein wunschgemäßes dynamisches Verhalten aufgeprägt werden soll. Anhand des resultierenden abstrakten mathematischen Modells lassen sich verschiedene Regelungskonzepte, die ebenfalls ausschließlich als mathematische Modellvorstellung vorliegen, im Rahmen numerischer Simulationen erproben; dieser Schritt stellt die Phase der Modellierung und des Reglerentwurfes meist auf Basis computergestützter Modellierungswerkzeuge dar.
In einem zweiten Schritt wird der im mathematischen Modell entworfene Regler auf eine echtzeitfähige Simulations-Einheit übertragen, die meist so- wohl in ihrer Rechenleistung wie auch hinsichtlich ihrer I/O-Fähigkeiten ein übliches Serien-Steuergerät bei weitem übertrifft und mit dem echten physikalischen Prozeß wechselwirkend in Verbindung steht. Da die Übertragung des abstrakt formulierten Reglers von einem Modellierungswerkzeug auf die Simulations-Einheit weitestgehend automatisiert erfolgt, wird in der zweiten Phase von Rapid-Control-Prototyping (RCP) oder Funktions-Prototyping gesprochen.
Ist das regelungstechnische Problem mit dem auf der Simulations-Einheit betriebenen Regler gelöst, wird der Regelungsalgorithmus im Rahmen der Steu- ergeräte-Implementierung - meist voll automatisiert - auf das letztendlich in der Praxis einzusetzende (Serien-) Steuergerät übertragen.
Das nun im realen Prozeß grundsätzlich einsetzbare Steuergerät wird vor seinem Einsatz häufig zunächst einem Test unterzogen, indem der reale Prozeß, mit dem das Steuergerät letztendlich Wechselwirken soll, teilweise oder vollständig durch eine echtzeitfähige Simulations-Einheit simuliert und das Steu- ergerät durch Signal-Testmuster stimuliert wird (Hardware-in-the-Loop-Simu- lation). Das derart getestete Steuergerät wird letztendlich in den realen Prozeß eingesetzt und mit ihm wechselwirkend betrieben.
Trotz der zuvor durchgeführten umfangreichen Tests ist es meist notwendig, Abstimmungen am Steuergerät bzw. an den im Steuergerät implementierten Funktionen vorzunehmen. Dazu ist es zum einen notwendig, den Zustand des Steuergeräts, also alle vom Steuergerät ein- bzw. ausgegebenen wie auch intern verwendeten Daten per Daten- Akquisition zeitnah beobachten, aufzeich- nen und analysieren zu können. Zum anderen ist es notwendig, durch schreibenden Zugriff auf den Speicher des Steuergeräts die den Funktio- nen/Regelungsalgorithmen zu Grunde liegenden Parameter bzw. Parametersätze, also Kennzahlen, -linien oder -felder, verändern zu können. Die beschriebenen Vorgänge werden insgesamt als Steuergeräte- Applikationen be- zeichnet.
Sollen nicht nur Parameter von Funktionen des Steuergeräts, also im Speicher des Steuergeräts abgelegte Daten, sondern die im Steuergerät implementierten Funktionen selbst testweise verändert werden, kommt das sogenannte Funkti- ons-Bypassing zum Einsatz, bei dem das Steuergerät einer echtzeitfähigen Simulations-Einheit den Aufruf einer Steuergeräte-Funktion signalisiert, das Steuergerät selbst die Funktion jedoch nicht ausführt, sondern lediglich das Ergebnis der auf der Simulations-Einheit ersatzweise berechneten Funktion entgegennimmt und weiterverwendet; es findet also ein Bypass der Steuerge- räte-Funktion statt.
In beiden geschilderten Szenarien - der Steuergeräte-Applikation und dem Funktions-Bypassing - ist es notwendig, einen besonderen Zugang zum Steuergerät zu schaffen, über den eine Beobachtung und aktive Beeinflussung des Steuergeräts möglich ist. Dies ist die Aufgabe von Beeinflussungsgeräten im Sinne der hier in Rede stehenden Erfindung.
Aus der Praxis sind im wesentlichen zwei Methoden bekannt, über die Beeinflussungsgeräte Zugang zu Steuergeräten erlangen. Bei Nutzung einer parallelen Schnittstelle sind üblicherweise Eingriffe in die Hardware des Steuergeräts notwendig, da das Beeinflussungsgerät in diesem Fall wie ein Speicher-Emulator arbeitet und beispielsweise über einen Adapter, der an die Stelle eines Speicherbausteins des Steuergeräts tritt oder von einem extra dafür vorgesehenen Steckplatz auf der Platine des Steuergeräts aufgenommen wird und auf den Adreß- und Datenbus des Steuergerät- Microcontrollers zugreift (dSPACE Produktkatalog 2004, S. 292-293). Das Beeinflussungsgerät selbst enthält dabei als zentrales Element einen zweiseitig zugreifbaren Speicher (Dual-Port-Memory, DPMEM) und eine Datenübertra- gungs- Schnittstelle, über die das Beeinflussungsgerät mit einer Bedieneinheit verbunden ist. Der zweiseitig zugreifbare Speicher kann nun seitens der Bedieneinheit von einem Applikateur gelesen und beschrieben werden, wobei die in den zweiseitig zugreifbaren Speicher des Beeinflussungsgeräts abgelegten Daten automatisch von dem Steuergerät-Microcontroller gelesen wer- den können, da sich der zweiseitig zugreifbare Speicher durch die Ankopp- lung an den Daten- und Adreßbus des Steuergerät-Microcontrollers im Adreß- raum des Microcontrollers befindet.
Allerdings werden in der Praxis nicht nur die beschriebenen Veränderungen an der Hardware sondern auch Modifikationen an bzw. Ergänzungen zu dem auf dem Steuergerät ablaufenden Steuergeräte-Programm vorgenommenen. Dies ist beispielsweise deshalb notwendig, um auch interne, im integrierten Speicher des Steuergerät-Microcontrollers abgelegte Daten beobachtbar und veränderbar zu machen. Dazu werden zusätzliche Softwaredienste im Steuer- gerät implementiert, die interne Daten des Steuergerät-Microcontrollers in einen Speicherbereich des Microcontrollers kopieren, der innerhalb des über den externen Adreß- und Datenbus erreichbaren Adreßraum des Steuergerät- Microcontrollers liegt. Umgekehrt gibt es ebenfalls Softwaredienste, die Daten aus dem über den externen Adreß- und Datenbus erreichbaren Adreßraum des Steuergerät-Microcontrollers in den internen Speicherbereich des Steuergerät-Microcontrollers kopieren.
Für das Übertragen der Daten werden deshalb im Adreßraum des Steuergerät- Microcontrollers eine Adreßliste und eine Datenliste vorgesehen, wobei die Adreßliste jene Adressen im Adreßraum des Steuergerät-Microcontrollers beinhaltet, deren Daten entweder gelesen und an einen Platz innerhalb der Datenliste abgelegt werden sollen, oder wobei die Adreßliste jene Adressen im Adreßraum des Steuergerät-Microcontrollers beinhaltet deren Inhalte mit entsprechenden Daten aus der Datenliste beschrieben werden sollen.
Das oben beschriebene Verfahren ist u. a. deshalb nachteilig, weil die Adreß- und Datenlisten sowie die Softwaredienste zusätzlichen Speicherplatz innerhalb des Steuergeräts belegen und die Ausführung der Softwaredienste Rechenleistung des Steuergerät-Microcontrollers bindet, die für die ausschließliche Ausführung der Steuerungsfunktionen des Steuergeräts nicht benötigt wird. Das Verhalten des Steuergeräts bei der Steuergeräte- Applikation kann deshalb unter Umständen kaum noch mit dem Verhalten vergleichbar sein, das das Steuergerät ohne die zusätzliche Ausführung der der Applikation dienenden Softwaredienste zeigen würde.
Eine weitere aus der Praxis bekannte Methode des Zugriffs eines Beeinflussungsgerätes auf ein Steuergerät besteht in der Nutzung von seriellen Schnittstellen (siehe z. B. dSPACE Produktkatalog 2004, S. 84-85), mit denen moderne Steuergeräte üblicherweise ausgestattet sind. Hier ist ein Eingriff in die Hardware des Steuergeräts gegenüber der Nutzung einer parallelen Schnitt- stelle, nicht mehr erforderlich. Allerdings muß das Steuergerät mit zusätzlichen Softwarediensten ausgestattet werden, um einen Datenaustausch über die serielle Schnittstelle z. B. mit einem Beeinflussungsgerät, vornehmen zu können. Von Beeinflussungsgeräten dieser Art geht die vorliegende Erfindung aus.
Die oben beschriebenen - beim Verfahren unter Nutzung einer parallelen Schnittstelle verwendeten - Adreß- und Datenlisten wie auch die Softwaredienste zum kopieren von Daten aus den und in die Datenlisten werden auch beim seriellen Verfahren verwendet, so daß sich insgesamt eine höhere Bela- stung des Steuergerät-Microcontrollers wie auch ein höherer Speicheraufwand auf dem Steuergerät auf Grund der größeren Anzahl von Softwarediensten ergibt.
Moderne Steuergeräte werden zunehmend mit Microcontrollern ausgestattet, die eine Debug-Schnittstelle aufweisen, wie z. B. NEXUS (IEEE-ISTO 5001 : "The NEXUS 5001 Forum Standard for a Global Embedded Processor Debug Interface", 2003).
Debug-Schnittstellen bieten weitreichende Möglichkeiten der Beobachtung und Beeinflussung von Zuständen des Microcontrollers und sie ermöglichen eine Laufzeit-Beobachtung und -Kontrolle (Debugging) des Microcontrollers, insbesondere also die Verfolgung der Programmcode- Ausführung und der dabei zugegriffen und veränderten Daten. Dadurch, daß Debug-Schnittstellen integraler Teil der Microcontroller-Hardware sind, lassen sich mit ihnen deut- lieh schnellere Zugriffe auf den Microcontroller realisieren, als es durch eine softwarebasierte Kommunikations-Schnittstelle möglich ist.
Der Anmelderin ist aus der Praxis bekannt, zur Applikation eines Steuergeräts mit einer Steuergerät-Debug-Schnittstelle ein Beeinflussungsgerät zu verwen- den, das zur Beeinflussung des Steuergeräts die Steuergerät-Debug-Schnitt- stelle nutzt, wobei jedoch weiterhin im Speicher des Steuergeräts Adreß- und Datenlisten angelegt und die oben beschriebenen Softwaredienste zum kopieren von Daten in die und aus den Datenlisten verwendet werden.
Durch Verwendung der im Speicher des Steuergerät-Microcontrollers lokalisierten Adreß- und Datenlisten und entsprechender Softwaredienste zum kopieren und versenden von Daten in die bzw. aus den Listen wird jedoch auch bei dieser Lösung der Steuergerat-Microcontroller erheblich belastet.
Der oben beschriebenen Einsatz von Softwarediensten auf dem Steuergerät führt insbesondere auch dazu, daß es praktisch kaum möglich ist, an dem Steuergerät gleichzeitig sowohl eine Steuergerät-Applikation als auch ein Funktions-Bypassing vorzunehmen, da die auf Softwarediensten basierende Datenkommunikation schnell zu einer starken Belastung des Steuergerät- Microcontrollers und damit zu unakzeptablen Antwortzeiten bei der Datenübertragung zwischen Beeinflussungsgerät und Steuergerät führt. Aus diesem Grund sind in der Praxis auch nur Beeinflussungsgeräte bekannt, mit denen entweder die Applikation von Steuergeräten oder aber ein Funktions- Bypassing mit dem Steuergerät betrieben werden kann, nicht jedoch beides gleichzeitig. Ein weiterer Nachteil bei Verwendung von Softwarediensten auf dem Steuergerät ist, daß die Softwaredienste zunächst auf dem Steuergerät implementiert werden müssen, was zumeist eine intensive Zusammenarbeit mit dem und damit eine enge Bindung an den Steuergerät-Hersteller notwendig macht. Dies wird in der industriellen Entwicklung immer weniger akzeptiert.
Aufgabe der Erfindung ist es daher, ein Beeinflussungsgerät zur Beeinflussung eines Steuergeräts derart auszugestalten, daß das Steuergerät durch die Steuergerät- Applikation weniger belastet wird, als dies bei Nutzung bekannter Beeinflussungsgeräte der Fall ist.
Die zuvor hergeleitete und aufgezeigte Aufgabe ist erfindungsgemäß im wesentlichen dadurch gelöst, daß das Beeinflussungsgerät mindestens einen Speicher für mindestens eine Adreßliste und mindestens eine Datenliste um- faßt, wobei die in der Adreßliste gespeicherten Adressen Speicherorte im Adreßraum des Steuergerät-Microcontrollers bezeichnen und wobei unter Nutzung der Beeinflussungsgerät-Debug-Schnitts elle Daten aus den durch die Inhalte der Adreßliste bestimmten Speicherorten im Adreßraum des Steuergerät-Microcontrollers lesbar und in der Datenliste des Beeinflussungsgerats ablegbar sind und/oder die in der Datenliste des Beeinflussungsgeräts abgelegten Daten an den durch die Inhalte der Adreßliste bestimmten Speicherorten im Adreßraum des Steuergerät-Microcontrollers ablegbar sind.
Das erfϊndungsgemäße Beemflussungsgerat kann zumindest über zwei Schnittstellen, nämlich eine Datenübertragungs-Schnittstelle und eine Beein- flussungsgerät-Debug-Schnittstelle Daten austauschen.
Der Datenaustausch mit dem zu beeinflussenden Steuergerät wird dabei über die Steuergerät-Debug-Schnittstelle vollzogen, die im Sinne der hier in Rede stehenden Erfindung zumindest teilweise die Funktionalität realisiert, um über einen geeigneten Befehlssatz der Schnittstelle automatisch den Zustand des Steuergerät-Microcontrollers und z. T. sogar der ihm im Steuergerät zugeordneten Einheiten, wie z. B. seines externen Speichers, auslesen und aktiv beeinflussen zu können. Steuergerät-Debug-Schnittstellen zeichnen sich also durch die oben beschriebenen Eigenschaften aus und unter dieser Bezeichnung werden hier folglich auch solche Schnittstellen verstanden, die zwar nicht in erster Linie als "Debug-Schnittstellen" vorgesehen sind und deshalb nicht explizit als solche be- zeichnet werden, die jedoch die entsprechenden Beobachtungs- und Beeinflussungsmöglichkeiten bezüglich des Steuergerät-Microcontrollers und der ihm zugeordneten elektronischen Einheiten bieten.
Durch Verwendung solcher Schnittstellen ist es also bei Verwendung des er- findungsgemäßen Beeinflussungsgeräts möglich, weitestgehend auf auf dem Steuergerät eingesetzte Softwaredienste zu verzichten, die die beschriebene Funktionalität der Steuergerät-Debug-Schnittstellen umsetzen.
Die Datenübertragungs-Schnittstelle dient zum Datenaustausch zwischen dem Beeinflussungsgerät und einer Bedieneinheit, die im Regelfall die von einem menschlichen Benutzer - dem Applikateur - verwendete Schnittstelle darstellt. Üblicherweise ist die Bedieneinheit ein eigenständiger Rechner, auf dem Applikations-Software betrieben wird, also Programme zur Datenerfassung, -Visualisierung und -analyse sowie Programme zur benutzerfreundlichen Eingabe und Verwaltung von Parametersätzen, die auf dem Steuergerät zu erproben sind, mit dem die Bedieneinheit über das Beeinflussungsgerät verbunden ist.
Die Existenz der Datenübertragungs-Schnittstelle impliziert nicht, daß es sich bei dem erfindungsgemäßen Beeinflussungsgerät und der Bedieneinheit um zwei verschiedene, voneinander getrennte gerätetechnische Einheiten handelt. Üblicherweise werden Beeinflussungsgeräte von ihren Abmessungen her möglichst klein und von der Bedieneinheit getrennt ausgeführt, da sie beispielsweise innerhalb eines Kraftfahrzeugs montiert werden, jedoch ist durch- aus vorstellbar, daß das erfindungsgemäße Beeinflussungsgerät und die Bedieneinheit in einer gerätetechnischen Einheit realisiert sind.
Das erfindungsgemäße Beeinflussungsgerät umfaßt außerdem wenigstens eine programmierbare Einheit, die beispielsweise den internen Datenfluß von der Datenübertragungs-Schnittstelle zu der Beeinflussungsgerät-Debug-Schnitt- stelle und umgekehrt steuert. Das erfindungsgemäße Beeinflussungsgerät verfügt weiterhin über einen Speicher, in dem wenigstens eine Adreßliste und wenigstens eine Datenliste abgelegt sind, also jene Listen, die bei Verwendung bekannter Beeinflus- sungsgeräte auf dem Steuergerät gespeichert und verwaltet werden.
Die in der Adreßliste gespeicherten Daten bezeichnen dabei Speicherorte im Adreßraum des Steuergerät-Microcontrollers, wobei es entweder möglich ist, die an den referenzierten Speicherorten abgelegten Daten aus dem Steuergerät zu lesen und an entsprechenden Stellen in einer Datenliste des Beeinflussungsgeräts abzulegen (Datenakquisition), oder aber die in einer Datenliste des Beeinflussungsgeräts enthaltenen Daten an entsprechende Speicherorte im Steuergerät zu schreiben, die durch der Inhalte der Adreßlisten des Beeinflussungsgeräts vorgegeben sind (Parametrierung).
Die Datenlisten werden folglich nicht nur bei der Interaktion zwischen Beeinflussungsgerät und Steuergerät verwendet, sondern auch beim Zusammenwirken von Beeinflussungsgerät und Bedieneinheit, denn die durch die Bedieneinheit vorgegebenen Datensätze werden in die Datenlisten geschrieben, um von dort aus weiter in das Steuergerät übertragen zu werden, genauso wie Datensätze von gemessenen Zustandsgrößen des Steuergeräts zunächst in den Datenliste abgelegt werden, um von dort aus automatisch weiter zur Bedieneinheit übertragen zu werden.
Aufgrund der erfindungsgemäßen Ausgestaltung des Beeinflussungsgeräts, insbesondere aufgrund der Speicherung der Adreß- und Datenliste im Speicher des Beeinflussungsgeräts, muß das mit dem Beeinflussungsgerät in Verbindung stehende Steuergerät nicht mehr durch Modifikation der Steuergeräte-Software angepaßt werden, was den Entwicklungsprozeß des Steuergeräts wesentlich vereinfacht, da die Notwendigkeit entfällt, Software-Dienste sowie Adreß- und Datenlisten in Zusammenarbeit mit dem Steuergeräte-Hersteller in das Steuergerät zu integrieren, was mit jedem sich neu ergebenden Softwarestand erforderlich ist.
Neben diesem, den Entwicklungsprozeß betreffenden Vorteil, besteht ein weiterer technischer Vorteil des erfindungsgemäßen Beeinflussungsgeräts darin, daß der Ablauf des Steuerungsprogramms auf dem Steuergerät durch den Zugriff über die Steuergerät-Debug-Schnittstelle deutlich weniger beeinflußt wird, als es bei Verwendung von Software-Diensten auf dem Steuergerät der Fall ist, da diese zusätzlich von dem Steuergerät-Microcontroller ausge- führt werden müssen, wohingegen die Funktionalität von Steuergerät-Debug- Schnittstellen größtenteils rein schaltungstechnisch implementiert ist und so der parallele Betrieb der Steuergerät-Debug- Schnittstelle zum Steuergerät- Microcontroller möglich ist. Selbstverständlich sind geringfügige Beeinflussungen des Steuergerät-Microcontrollers durch die Steuergerät-Debug- Schnittstelle möglich, beispielsweise dann, wenn die Steuergerät-Debug- Schnittstelle auf eine Ressource des Steuergerät-Microcontrollers zugreift, die dieser zeitgleich verwenden möchte.
Eine besonders vorteilhafte Ausgestaltung des erfindungsgemäßen Beeinflus- sungsgeräts ergibt sich insbesondere dann, wenn die programmierbare Einheit des Beeinflussungsgeräts ein programmierbarer Logikbaustein ist. Wenn darüber hinaus zusätzlich die Beeinflussungsgerät-Debug-Schnittstelle mit Hilfe der programmierbaren Einheit - nun also in Form eines programmierbaren Logikbausteins - realisiert ist, ergeben sich erhebliche Vorteile beispielsweise gegenüber der Implementierung der Steuergerät-Debug-Schnittstelle mit einem Microcontroller. Dies ist darin begründet, daß ein Microcontroller üblicherweise Anweisungen nur sequentiell bearbeiten kann, wohingegen programmierbare Logikbausteine mehrere Funktionen auch parallel ausfuhren können. Besonders bevorzugt wird bei dem erfindungsgemäßen Beeinflus- sungsgerät als programmierbarer Logikbaustein ein Field Programmable Gate Array (FPGA) verwendet.
Mit einem derart ausgebildeten Beeinflussungsgerät lassen sich über die Beeinflussungsgerät- und die Steuergerät-Debug-Schnittstelle Übertragungsraten erzielen, die unter Umständen um ein Vielfaches über denjenigen liegen, die mit den bekannten Softwarediensten für die Kommunikation auf einem Steuergerät erzielbar sind.
Ganz allgemein hat es sich für das erfindungsgemäße Beeinflussungsgerät als vorteilhaft herausgestellt, wenn auch über die beschriebene Grundfunktionalität hinausgehende Eigenschaften an einem Ort zentral durch die program- mierbare Einheit implementiert werden. Aus diesem Grund wird bevorzugt auch der Speicher für die Adreß- und Datenlisten als Teil der programmierbaren Einheit vorgesehen, wodurch sich sehr kurze Zugriffszeiten auf die Listen ergeben, insbesondere dann, wenn häufig verwendete Funktionalitäten eben- falls durch die programmierbare Einheit vorgenommen werden.
Ganz wesentlich betrifft dies z. B. eine Listen- Applikations-Einheit als Bestandteil der programmierbaren Einheit, die nach ihrer Aktivierung selbständig vollständige Datenlisten bzw. deren Inhalte von dem Beeinflussungsgerät in Speicherorten im Adreßraum des Steuergerät-Microcontrollers ablegt, die durch die Daten in den entsprechenden Adreßlisten vorgegeben sind. Umgekehrt dient die Listen- Applikations-Einheit auch dazu, die Datenlisten des Beeinflussungsgeräts mit Daten zu beschreiben, die aus den Speicherorten im Adreßraum des Steuergerät-Microcontrollers gelesen werden, wobei die Spei- cherorte durch die Daten in entsprechenden Adreßlisten bestimmt sind.
Durch die beschriebene Ausgestaltung des erfindungsgemäßen Beeinflussungsgeräts wird das Steuergerät bzw. der Steuergerät-Microcontroller erheblich entlastet, und es können weitaus höhere Übertragungsraten zwischen Be- einflussungsgerät und Steuergerät erzielt werden. Dies ermöglicht es letztendlich auch, weitere Funktionen auf dem Beeinflussungsgerät zu realisieren, so daß sich für den Benutzer des Beeinflussungsgeräts verschiedene Entwicklungsprozesse mit dem Steuergerät scheinbar parallel ausführen lassen.
Besondere Bedeutung kommt in diesem Zusammenhang dem Merkmal zu, auf der programmierbaren Einheit des Beeinflussungsgeräts zusätzlich eine By- pass-Einheit vorzusehen, zusammen mit einem der Bypass-Einheit zugeordneten, ein- oder zweiseitig beschreibbaren Bypass- Speicher und einer Bypass- Schnittstelle zur Verbindung der Bypass-Einheit und des Bypass-Speichers mit einer externen Simulations-Einheit. Die Funktionsweise der Bypass- Einheit und der anderen ihr zugeordneten Elemente wird weiter unten ausführlicher erläutert.
Sobald mehr als eine funktioneile Einheit auf der programmierbaren Einheit des Beeinflussungsgeräts implementiert ist, ist die Gefahr eines Konflikts bei gleichzeitiger Ausführung der unterschiedlichen Einheiten gegeben. Durch ein weiteres Merkmal, dem eine besondere Bedeutung zukommt, nämlich der Priorisier- und Arbitrier-Einheit, wird in einer bevorzugten Ausführungsform des erfindungsgemäßen Beeinflussungsgeräts eine Strategie zur Konfliktvermeidung bei gleichzeitiger Aktivierung unterschiedlicher Funktionseinheiten der programmierbaren Einheit umgesetzt. Durch die Priorisier- und Arbitrier- Einheit sind den verschiedenen, auf der programmierbaren Einheit vorgesehenen Einheiten - wie z. B. der Listen- Applikations-Einheit und der Bypass- Einheit - Prioritäten zuweisbar, und die Priorisier- und Arbitrier-Einheit entscheidet dann anhand der den genannten Einheiten zugeordneten Prioritäten über die Ausführungsreihenfolge der unterschiedlichen Einheiten durch deren Freischaltung. Gleichzeitig wird dann durch die Priorisier- und Arbitrier- Einheit eine Datenverbindung zwischen der jeweils freigeschalteten Einheit und dem Steuergerät hergestellt.
Wesentlich ist also, daß durch Freischalten verschiedener Einheiten auf der programmierbaren Einheit des Beeinflussungsgeräts und gegebenenfalls durch schnelles Umschalten zwischen verschiedenen aktivierten Einheiten verschiedene Datenquellen bzw. -senken über einen einzigen gemeinsamen Datenpfad, nämlich die Datenverbindung zwischen der Steuergerät-Debug-Schnittstelle und der Beeinflussungsgerät-Debug-Schnittstelle, kommunizieren können. Aufgrund der erheblichen Geschwindigkeitssteigerung können die verschiedenen Einheiten auch bei sehr anspruchsvollen Anwendungen quasi parallel betrieben werden.
Neben dem erfindungsgemäßen Beeinflussungsgerät umfaßt die Erfindung auch ein Verfahren zum Einsatz eines bevorzugten Beeinflussungsgeräts mit einer Bypass-Einheit zur vorteilhaften Realisierung des Funktions- Bypassings, wobei auch für das Bypassing die beschriebene Adreßliste und/oder Datenliste verwendet wird.
Im einzelnen gibt es nun mehrere Möglichkeiten, das erfindungsgemäße Beeinflussungsgerät auszugestalten und weiterzubilden. Dazu wird verwiesen sowohl auf die dem Patentanspruch 1 nachgeordneten Patentansprüche als auch auf die Beschreibung eines in der Zeichnung dargestellten Ausführungs- beispiels des erfindungsgemäßen Beeinflussungsgeräts. In der Zeichnung zeigen Fig. 1 die schematische Struktur eines erfindungsgemäßen Beeinflussungsgeräts,
Fig. 2 eine weitere schematische Darstellung eines erfindungsgemäßen Beeinflussungsgeräts und
Fig. 3 die schematische Struktur eines aus dem Stand der Technik bekannten Beeinflussungsgeräts.
Die Figuren zeigen jeweils ein Beeinflussungsgerät 1, das mit einem Steuergerät 2 verbunden ist, wobei das Steuergerät 2 zumindest einen Steuergerät- Microcontroller 3 und eine Steuergerät-Debug- Schnittstelle 4 umfaßt. Bei dem Steuergerät-Microcontroller 3 muß es sich nicht zwangsläufig um eine Rechnereinheit handeln, bei der Prozessor und zugeordneter Speicher in einem Bauteil realisiert sind, sondern genauso gut kann der Steuergerät- Microcontroller 3 beispielsweise aus einem Prozessor und einem separat ausgeführten Speicherbaustein bestehen.
Die in den Fig. 1 und 3 dargestellte Steuergerät-Debug-Schnittstelle 4 ist üblicherweise in einer Einheit mit dem Steuergerät-Microcontroller 3 ausgeführt (On-Chip-Debug-Port), natürlich kann jedoch das erfindungsgemäße Beeinflussungsgerät 1 auch zusammen mit einem Steuergerät 2 verwendet werden, dessen Steuergerät-Debug-Schnittstelle 4 separat von dem Steuergerät- Microcontroller 3 ausgeführt ist.
Fig. 3 zeigt die Verwendung eines aus dem Stand der Technik bekannten Beeinflussungsgeräts 1, das eine programmierbare Einheit 5 sowie eine Datenübertragungs-Schnittstelle 6 umfaßt, über die ein bidirektionaler Datenaus- tausch zwischen Beeinflussungsgerät 1 und einer Bedieneinheit 7 ermöglicht wird. Die Bedieneinheit 7 ist in den dargestellten Ausführungsbeispielen ein Einzelplatzrechner mit einer geeigneten Software, um die von dem Steuergerät 2 stammenden und durch das Beeinflussungsgerät 1 aufgenommenen und weitergeleiteten Daten zu visualisieren und im weitesten Sinne zu analysieren. Ferner wird auf der Bedieneinheit 7 aber auch Software betrieben, die der Konfiguration des Beeinflussungsgeräts 1 dient, oder mit der Veränderungen von auf dem Steuergerät 2 lokalisierten Parametern festgelegt und dem Steuergerät 2 über das Beeinflussungsgerät 1 übermittelt werden können. Die Datenübertragungs-Schnittstelle 6 ist in den dargestellten Ausführungsbeispielen eine serielle Standard-Schnittstelle, insbesondere eine USB-Schnittstelle oder eine Ethernet-Schnittstelle.
Darüber hinaus weist jedes der dargestellten Beeinflussungsgeräte 1 eine Be- einflussungsgerät-Debug-Schnittstelle 8 auf, die funktionsnotwendig ist, um eine Verbindung zwischen Steuergerät 2 und Beeinflussungsgerät 1 herzu- stellen.
In der den Stand der Technik beschreibenden Fig. 3 ist innerhalb des Steuergeräts 2 der Adreßraum 10 des Steuergerät-MicrocontiOllers 3 angedeutet, der die Adressen A0 bis An umfaßt. Unter Adreßraum seien hier alle durch den Steuergerät-Microcontroller 3 zugreifbaren Adressen verstanden, also auch solche Adressen, die beispielsweise über einen externen Adreßbus des Steuergerät-Microcontrollers 3 nicht zugreifbar sind. Um Daten aus dem Adreßraum 10 des Steuergerät-Microcontrollers 3 in das Beeinflussungsgerät 1 und von dort aus in die Bedieneinheit 7 zu übertragen, werden auf dem Steuergerät 2 eine Adreßliste 11 sowie eine Datenliste 12 angelegt. Adreßliste 11 und Datenliste 12 belegen dabei zusätzlichen Speicherplatz neben dem Speicherplatz, der von der regulär auf dem Steuergerät 2 betriebenen Steuerungssoftware belegt wird.
Um die Daten Dl, D2 und D3 in den Adressen A10, A20 und A30 dem Beeinflussungsgerät 1 verfügbar zu machen, werden zunächst die Adressen A10, A20 und A30 in Adreßliste 11 abgelegt. Die zusätzlich benötigten und mit Sl, S2 und S3 angedeuteten Softwaredienste dienen nun dazu, die Originaldaten Dl, D2 und D3 aus den Speicherorten A10, A20 und A30 in die Datenliste 12 zu kopieren. Diese Daten werden bei Verwendung eines bekannten Beeinflussungsgeräts 1 durch weitere, auf dem Steuergerät zu implementierende und in Fig. 3 nicht weiter dargestellte Softwaredienste von dem Steuergerät 2 auf das Beeinflussungsgerät 1 übertragen. Fig. 3 macht deutlich, daß die Steuergeräte- Applikation bei Verwendung eines aus dem Stand der Technik bekannten Be- einflussungsgeräts 1 das Steuergerät 2 erheblich belastet, einerseits durch den unter Umständen sehr großen Speicherbedarf auf dem Steuergerät 2 durch Speichern von Adreßliste 11, Datenliste 12 und von zusätzlichen Softwarediensten, andererseits wird das Laufzeitverhalten der Steuerungsfunktionen des Steuergeräts gegebenenfalls stark beeinflußt, da die angedeuteten Softwaredienste (Sl, S2, S3) zusätzlich von dem Steuergerät-Microcontroller 3 bearbeitet werden müssen.
Fig. 1 zeigt die vergleichbare Situation unter Verwendung eines erfindungsgemäßen Beeinflussungsgeräts 1. Im Speicher 9 des Beeinflussungsgeräts 1 sind erfindungsgemäß die Adreßliste 11 und die Datenliste 12 abgelegt. Durch Übergabe der in der Adreßliste 11 enthaltenen Daten an die Beeinflussungsge- rät-Debug-Schnittstelle 8 sind die Inhalte der entsprechenden Speicherorte im Adreßraum 10 des Steuergerät-Microcontrollers 3 direkt abrufbar, und sie können nachfolgend in der dazu vorgesehenen Datenliste 12 im Speicher 9 des Beeinflussungsgeräts 1 abgelegt werden. Von dort aus können die Daten genau wie bei dem aus dem Stand der Technik bekannten Beeinflussungsgerät 1 über andere Schnittstellen, wie z. B. die Datenübertragungs-Schnittstelle 6, nach außen übertragen werden. Dem gleichen Prinzip folgend können die in der Datenliste 12 abgelegten Daten über die Steuergerät-Debug-Schnittstelle 4 direkt in den Adreßraum 10 des Steuergerät-Microcontrollers 3 übertragen werden und zwar an die Adressen, die durch die Adreßliste 11 auf dem Beeinflussungsgerät 1 benannt sind.
Wie aus Fig. 1 ersichtlich ist, entfallen bei Verwendung des erfindungsgemäßen Beeinflussungsgeräts 1 im Falle der reinen Steuergeräte- Applikation jeg- liehe Modifikationen im Adreßraum 10 des Steuergerät-Microcontrollers 3. Damit wird das Laufzeitverhalten des Steuergeräts 2 nicht, oder nur unwesentlich, durch das im Rahmen der Steuergeräte-Applikationen erfolgende Auslesen oder Beschreiben von Speicher 9 des Steuergeräts 2 beeinflußt.
Fig. 1 stellt ebenfalls dar, daß in einer bevorzugten Ausführungsform die Be- einflussungsgerät-Debug-Schnittstelle 8 innerhalb der programmierbaren Einheit 5 realisiert wird. Insbesondere dann, wenn die programmierbare Einheit 5 ein programmierbarer Logikbaustein ist, ergeben sich aus dieser bevorzugten Anordnung erhebliche Vorteile hinsichtlich der Ausführungsgeschwindigkeit von verschiedenen Operationen auf dem Beeinflussungsgerät 1. Es ist insbe- sondere vorgesehen, die programmierbare Einheit 5 durch ein Field Program- mable Gate Array (FPGA) zu realisieren.
Aus dem gleichen Grund wird auch der die Adreßliste 11 und die Datenliste 12 beherbergende Speicher 9 in der bevorzugten Ausführungsform nach Fig. 1 innerhalb derselben programmierbaren Einheit 5 vorgesehen.
Fig. 2 zeigt ein erfindungsgemäßes Beeinflussungsgerät 1, daß eine Vielzahl zusätzlicher Komponenten und Funktionen aufweist, die in verschiedenen Funktions-Einheiten wie z. B. einer Listen- Applikations-Einheit 13, einer Einzelwert- Applikations-Einheit 14 oder einer Werkzeug- Schnittstellen- Einheit 15, gemeinsam in der programmierbaren Einheit 5 realisiert sind.
Die Listen- Applikations-Einheit 13 automatisiert die Übertragung von Daten aus den in Fig. 2 nicht dargestellten Datenlisten 12 in die durch die Adressen in den Adreßlisten 11 bezeichneten Stellen innerhalb des Adreßraums 10 des Steuergeräts 2. Umgekehrt sorgt die Listen- Applikations-Einheit 13 auch dafür, daß komplette Parametersätze aus dem Adreßraum 10 des Steuergerät- Microcontrollers 3 abgerufen und gemeinsam in die entsprechenden Datenli- sten 12 im Beeinflussungsgerät 1 übertragen werden.
Für den Fall, daß mehrere Adreßlisten 11 und Datenlisten 12 innerhalb des Speichers 9 angelegt sind, ist insbesondere vorgesehen, daß die Adreßlisten 11 und/oder die Datenlisten 12 mit Prioritäten versehen werden können, wobei die Prioritäten festlegen, in welcher Bearbeitungsreihenfolge die Listen- Applikations-Einheit 13 die Listen bearbeitet.
Darüber hinaus ist es in einer weiteren bevorzugten Ausführungsform des Beeinflussungsgeräts 1 möglich, aus mehreren Adreßlisten 11 und mehreren Datenlisten 12 eine Untermenge von Listen auszuwählen, die einer Bearbeitung durch die Listen- Applikations-Einheit 13 zugänglich gemacht werden sollen. Dadurch ist es beispielsweise möglich, zwischen verschiedenen Applikations-Modi auszuwählen und umzuschalten. Durch periodisches Aufrufen der Listen- Applikations-Einheit 13 ist es somit auf einfache Weise möglich, ganze Sätze von Zustandsgrößen des Steuergeräts 2 kontinuierlich zu beobachten und auszuwerten (Daten- Akquisition).
Die Einzelwert- Applikations-Einheit 14 dient im wesentlichen dazu, einzelne Zustände bzw. Speicherinhalte aus dem Adreßraum 10 des Steuergerät- Microcontrollers 3 auszulesen oder wahlweise zu beschreiben, sie eignet sich deshalb insbesondere zur manuellen und gezielten Veränderung von Steuergeräteparametern, oder zur stichprobenartigen Beobachtung eines interessieren- den Zustandes des Steuergeräts 2.
In einem weiteren bevorzugten Ausführungsbeispiel eines erfindungsgemäßen Beeinflussungsgeräts 1 umfaßt die programmierbare Einheit 5 eine Werkzeug- Schnittstellen-Einheit 15, über die es möglich ist, ein externes Gerät 16 an das Beeinflussungsgerät 1 zusätzlich anzuschließen. Bei dem externen Gerät 16 kann es sich beispielsweise um ein weiteres Beeinflussungsgerät 1 handeln, das alternativ auf das Steuergerät 2 über die Steuergerät-Debug-Schnittstelle 4 zugreifen können soll, oder es kann sich bei dem externen Gerät 16 beispielsweise um ein originäres Debug- Werkzeug handeln, das ebenfalls wahlweise auf das Steuergerät 2 zugreifen kann.
Das erfindungsgemäße Beeinflussungsgerät 1 kann darüber hinaus mit einer Bypass-Einheit 17, einem Bypass- Speicher 18 und einer Bypass-Schnittstelle 19 ausgestattet sein, wobei die Bypass-Einheit 17 und die Bypass-Schnittstelle 19 vorzugsweise mit der programmierbaren Einheit 5 realisiert werden.
Bei dem Bypass- Speicher 18 handelt es sich um einen zweiseitig zugreifbaren Speicher, der sowohl einen Schreib-/Lese-Zugriff seitens des Steuergeräts 2 wie auch einen Schreib-/Lesezugriff seitens einer Simulations-Einheit 20 ge- stattet, die über die Bypass-Schnittstelle 19 mit dem Beeinflussungsgerät 1 verbunden ist. In einem weiteren, hier nicht dargestellten, vorteilhaften Ausfuhrungsbeispiel ist der Bypass-Speicher 18 ein lediglich einseitig zugreifbarer Speicher, was sich jedoch auf das Funktions-Bypassing nicht nachteilig auswirken muß. Beim Funktions-Bypassing kommt es in besonderem Maße auf eine schnelle Berechnung der auf einer Simulations-Einheit 20 ausgelagerten Funktionen an, genauso wie auch auf eine schnelle Datenübertragung der in der Simulations-Einheit 20 berechneten Ergebniswerte in das Steuergerät 2. Aus diesem Grund ist die Bypass-Schnittstelle 19 eine serielle Schnittstelle, die höchste Datenübertragungsraten erlaubt. In dem in Fig. 2 dargestellten bevorzugten Ausführungsbeispiel ist die Bypass-Schnittstelle 19 eine LVDS-Schnittstelle.
Für das Funktions-Bypassing ist es auch bei Verwendung eines erfmdungs- gemäßen Beeinflussungsgeräts 1 notwendig, für jede durch Bypassing zu umgehende Steuergerät-Funktion, einen Softwaredienst auf dem Steuergerät 2 zu betreiben. Aufgabe eines solchen Softwaredienstes ist es, dem Beeinflussungsgerät 1 und dadurch mittelbar auch der Simulations-Einheit 20 zu signalisieren, daß eine extern zu berechnende Steuergeräte-Funktion aufgerufen worden ist, wodurch unmittelbar auf der Simulations-Einheit 20 eine entsprechende Ersatzfunktion berechnet wird, wobei die von der Simulations-Einheit 20 berechneten Ergebnisse in dem ein- oder zweiseitig zugreifbaren Bypass- Speicher 18 abgelegt und von dort aus in das Steuergerät 2 über die programmierbare Einheit 5 zurück übertragen werden können.
Für das Funktions-Bypassing ist es grundsätzlich notwendig, daß die Simulations-Einheit 20 sowohl Daten aus dem Steuergerät 2 anfordern und über das Beeinflussungsgerät 1 auslesen, als auch selbst Daten über das Beeinflussungsgerät 1 übertragen und in das Steuergerät 2 schreiben kann. Das Lesen von Daten aus dem Steuergerät 2 durch die Simulations-Einheit 20 beginnt damit, daß die Simulations-Einheit 20 die Spezifikation aller aus dem Steuergerät 2 auszulesenden Daten an das Beeinflussungsgerät 1, insbesondere an die Bypass-Einheit 17 bzw. den Bypass- Speicher 18 überträgt. Die Spezifikation aller aus dem Steuergerät auszulesenden Daten besteht in dem bevorzug- ten Ausführungsbeispiel in der Angabe mindestens eines Speicherorts im Adreßraum 10 des Steuergerät-Microcontrollers 3 und der Angabe der Größe des von dort ausgehenden, interessierenden Speicherbereichs. Das Beeinflussungsgerät 1 , insbesondere die Bypass-Einheit 18 liest nun die so spezifizierten Daten aus dem Steuergerät 2 unter Nutzung der Debug-Schnittstellen 4, 8 aus, und abschließend werden die von dem Beeinflussungsgerät 1 aus dem Steuergerät 2 gelesenen Daten über die Bypass-Schnittstelle 19 an die Simulations-Einheit 20 übertragen.
Das für das Funktions-Bypassing funktionsnotwendige Schreiben von Daten von der Simulations-Einheit 20 in das Steuergerät 2 über das Beeinflussungsgerät 1 beginnt mit der Übertragung der Spezifikation der zu beschreibenden Speicherorte im Adreßraum 10 des Steuergerät-Microcontrollers 3 und der Daten selbst, die an diesen Speicherorten abgelegt werden sollen. Diese Daten werden vorzugsweise im Bypass-Speicher 18 des Beeinflussungsgeräts 1 ab- gelegt. Anschließend werden die Daten von dem Beeinflussungsgerät 1 unter Nutzung der Debug-Schnittstellen 4, 8 in den spezifizierten Speicherorten im Adreßraum 10 des Steuergerät-Microcontrollers 3 abgelegt.
Soll nun eine Funktion des Steuergeräts 2 nicht durch den Steuergerät- Microcontroller 3, sondern ausgelagert auf der Simulations-Einheit 20 - also per Funktions-Bypassing - berechnet werden, wird von dem Steuergerät 2 zunächst eine Anforderung zur Berechnung dieser ausgelagerten Bypass- Funktion an das Beeinflussungsgerät 1 über die Debug-Schnittstellen 4, 8, verschickt, wobei die Anforderung unverzüglich von dem Beeinflussungsgerät 1 an die Simulations-Einheit 20 weitergeleitet wird, damit die Bypass- Funktion auf der Simulations-Einheit 20 möglichst verzögerungsfrei berechnet werden kann. Die Simulations-Einheit 20 wertet nun die Anforderung zur Berechnung der Bypass-Funktion aus und liest die zur Funktionsberechnung notwendigen Daten (Argumente der Funktion) nach dem oben beschriebenen Verfahren aus dem Steuergerät 2 aus.
Nachdem die Simulations-Einheit 20 die ausgelagerte Funktion auf Grundlage der aus dem Steuergerät 2 ausgelesenen Daten berechnet hat, schreibt die Simulations-Einheit 20 das Ergebnis der Funktionsberechnung nach der oben beschriebenen Methode über das Beeinflussungsgerät 1 in das Steuergerät 2 bzw. an entsprechende Speicherorte im Adreßraum 10 des Steuergerät- Microcontrollers 3.
Die zuvor ausführlich beschriebene Methode des Funktions-Bypassing unter Nutzung des erfindungsgemäßen Beeinflussungsgeräts 1 ist unabhängig von der Adreßliste 11 und der Datenliste 12 im Speicher 9 des Beeinflussungsgeräts 1.
In einem weiteren besonders bevorzugten Ausführungsbeispiel des erfin- dungsgemäßen Beeinflussungsgeräts 1 kommt der Adreßliste 11 und der Datenliste 12 des Beeinflussungsgeräts 1 jedoch auch bezüglich des Funktions- Bypassing eine besondere Bedeutung zu.
Durch Verwendung der Adreßliste 11 und/oder der Datenliste 12 beim Funk- tions-Bypassing lassen sich erhebliche Vorteile gegenüber der oben beschriebenen "klassischen" Methode des Bypassings erzielen. Um die Adreßliste 11 und/oder die Datenliste 12 für das Bypassing einer Steuergeräte-Funktion durch eine korrespondierende Bypass-Funktion auf der Simulations-Einheit 20 verwenden zu können, ist es zunächst notwendig, daß die Speicherorte der Daten im Adreßraum 10 des Steuergerät-Microcontrollers 3, die zur Berechnung der Bypass-Funktion notwendig sind, in der Adreßliste 11 abgelegt sind bzw. einmalig abgelegt werden; diese Daten müssen für jede einzelne durch Bypassing zu umgehende Steuergeräte-Funktion in der Adreßliste 11 bzw. mehren Adreßlisten 11 abgelegt werden und zwar nur einmal für beliebig viele Bypass- Vorgänge dieser Funktion.
Um die Vorteile der Verwendung der Adreßliste 11 und/oder der Datenliste 12 für das Bypassing auszuschöpfen, ist es - wie bei der Steuergeräte- Applikation auch - vorteilhaft, wenn das Beeinflussungsgerät 1 das Lesen der Daten aus den in der Adreßliste 11 angegebenen Speicherorten im Adreßraum 10 des Steuergerät-Microcontrollers 3 und das Ablegen der abgerufenen Daten in der Datenliste 12 automatisch vornimmt, insbesondere durch Verwendung der Listen- Applikations-Einheit 13.
Wenn das Steuergerät 2 einen notwendigen Bypass- Vorgang einer Steuergeräte-Funktion an das Beeinflussungsgerät 1 signalisiert, können alle für die Berechnung der Bypass-Funktion notwendigen Daten durch Verwendung der Adreßliste 11 als eine Einheit von dem Steuergerät 2 gelesen und auf dem Beeinflussungsgerät 1 unter Nutzung der Debug-Schnittstellen 4, 8 abgelegt werden. Wenn alle zur Berechnung der Bypass-Funktion notwendigen Daten in der Datenliste 12 abgelegt sind, werden sie automatisch, oder nach Anfor- derung durch die Simulations-Einheit 20, zur Simulations-Einheit 20 übertragen, wo sie unmittelbar zur Berechnung der Bypass-Funktion herangezogen werden. Die Berechnungsergebnisse der Bypass-Funktion durch die Simulations-Einheit 20 werden dann zu dem Beeinflussungsgerät 1 übertragen und dort entweder in der Datenliste 12 und/oder dem Bypass- Speicher 18 abgelegt. Von hier aus müssen die Berechnungsergebnisse wieder in bestimmten Speicherorten im Adreßraum 10 des Steuergerät-Microcontrollers 3 abgelegt werden, wobei die Speicherorte entweder bereits in der Adreßliste 11 abgelegt worden sind, oder aber von der Simulations-Einheit 20 angegeben werden.
Durch diese Methode des Funktions-Bypassing kann auf die ständige Übertragung der Speicherorte im Adreßraum 10 des Steuergerät-Microcontrollers 3, aus denen gelesen oder in die geschrieben werden soll, verzichtet werden, wodurch sich die Datenübertragung zwischen der Simulations-Einheit 20 und dem Beeinflussungsgerät 1 erheblich reduziert. Weiterhin wird dadurch die für das Bypassing einer Steuergeräte-Funktion benötigte Zeit entscheidend verkürzt, was unter anderem auch daran liegt, daß die Sammelübertragung von Daten zwischen dem Beeinflussungsgerät 1 und dem Steuergerät 2 über die Debug-Schnittstellen 4, 8 unter Ausnutzung der Adreßliste 11 und/oder der Datenliste 12 erheblich schneller abwickelbar ist, als die Durchführung der Übertragung der gleichen Daten durch eine Vielzahl von Einzeltransfers.
Da in der bevorzugten Ausführungsform des erfindungsgemäßen Beeinflussungsgeräts 1 nach Fig. 2 mehrere Funktions-Einheiten 13, 14, 15, 17 mit Hil- fe der programmierbaren Einheit 5 implementiert sind, besteht potentiell die Gefahr eines Ressourcen-Konflikts, sofern gleichzeitig aktivierte Funktions- Einheiten 13, 14, 15, 17 auf dieselbe Ressource zugreifen, wie z. B. auf die Beeinflussungsgerät-Debug-Schnittstelle 8.
Zum Zweck der Kollisionsvermeidung wird deshalb zusätzlich eine Priorisier- Arbitrier-Einheit 21 mit der programmierbaren Einheit 5 umgesetzt. Die Priorisier- und Arbitrier-Einheit 21 gestattet es, den verschiedenen Einheiten 13, 14, 15, 17 Prioritäten zuzuweisen, anhand derer die Priorisier- und Arbitrier- Einheit 21 eine Ausführungsreihenfolge durch Freischaltung der unterschied- liehen Einheiten 13, 14, 15, 17 festlegen kann. Zur Aufgabe der Priorisier- und Arbitrier-Einheit 21 gehört zudem, eine Datenverbindung zwischen der jeweils freigeschalteten Einheit und dem Steuergerät 2 herzustellen.
Das Zusammentreffen mehrerer Eigenschaften des hier beschriebenen bevor- zugten Ausführungsbeispiels eines erfindungsgemäßen Beeinflussungsgeräts 1 (Entlastung des Steuergerät-Microcontrollers 3 durch Elimination von Softwarediensten bei der Daten-Akquisition, konsequente Nutzung der Steuerge- rät-Debug-Schnittstelle 4, hardwaremäßige Umsetzung der Funktions- Einheiten in der programmierbaren Einheit 5) führt dazu, daß sich unter- schiedliche Funktions-Einheiten auf effektive Weise einen einzigen Zugang zum Steuergerät 2 teilen können und es führt auch dazu, daß für den Anwender des erfindungsgemäßen Beeinflussungsgeräts 1 quasi eine gleichzeitige Benutzung des Steuergeräts 2 durch unterschiedliche Funktions-Einheiten möglich wird.
Insbesondere erlaubt das in Fig. 2 dargestellte bevorzugte Ausführungsbeispiel die gleichzeitige Durchführung einer Steuergerät- Applikation, also einer mit umfangreicher Datenübertragung verbundenen Daten-Akquisition und ein Funktions-Bypassing, was bei Verwendung von aus dem Stand der Technik bekannten Beeinflussungsgeräten 1 praktisch nicht in befriedigender Weise möglich ist, da die auf Softwarediensten basierende Datenübertragung von Steuergerät 2 zu Beeinflussungsgerät 1 weitaus zeitaufwendiger ist und zu nicht mehr akzeptablen Antwortzeiten führt.
In der Praxis hat es sich als besonders vorteilhaft herausgestellt, wenn die Priorität der Bypass-Einheit 17 höher gewählt wird als die Priorität der Listen- Applikations-Einheit 13, die wiederum höher anzusiedeln ist als die Priorität der Einzelwert- Applikations-Einheit 14, und wenn die geringste Priorität der Werkzeug-Schnittstellen-Einheit 15 zugewiesen wird. Je nach Anwendungs- fall kann es jedoch auch sinnvoll sein, der Werkzeug-Schnittstellen-Einheit 15 die höchste Priorität zu geben, insbesondere dann, wenn als externes Gerät 16 auch ein Beeinflussungsgerät 1 verwendet wird.
In einer weiteren bevorzugten Ausführungsform ist in dem Beeinflussungsge- rät 1 eine Koordinations-Einheit 22 vorgesehen, die über eine Koordinations- Schnittstelle 23 mit einer oder mehrerer der Einheiten 13, 14, 17 der pro- grammierbaren Einheit 5 verbunden ist, wobei die Koordinations-Schnittstelle 23 insbesondere in die programmierbare Einheit 5 integriert ist.
Darüber hinaus ist die Koordinations-Einheit 22 in dem bevorzugten Ausfüh- rungsbeispiel mit der Bedieneinheit 7 über die Datenübertragungs- Schnittstelle 6 und/oder mit der Simulations-Einheit 20 über die Bypass- Schnittstelle 19 und/oder auch mit dem Bypass-Speicher 18 verbunden. Damit ist die Koordinations-Einheit 22 in der Lage, von der Bedieneinheit 7 und/oder von der Simulations-Einheit 20 stammende Daten bzw. Anweisun- gen an die adressierten Einheiten 13, 14, 15, 17 der programmierbaren Einheit 5 zur weiteren Bearbeitung zu leiten und/oder die von einer Einheit 13, 14, 15, 17 der programmierbaren Einheit 5 stammenden Daten an die Bedieneinheit 7 und/oder die Simulations-Einheit 20 zu übermitteln.
In diesem Zusammenhang ist eine allgemeine Anmerkung zu den in den Figuren dargestellten Verbindungen zwischen verschiedenen Einheiten angebracht. Grundsätzlich stellen die Verbindungen Kommunikationswege zwischen ihren Endpunkten dar, sie können tatsächlich eine separate physikalische Verbindung darstellen, müssen dies jedoch nicht. Dies wird z. B. bei Betrachtung des in Fig. 2 dargestellten Bypass- Speichers 18 deutlich, der drei Verbindungen aufweist, obwohl er nur ein- oder zweiseitig zugreifbar ist. Für den Fachmann ist ersichtlich, daß mehrere Kommunikationspartner, im vorliegenden Fall also Bypass-Einheit 17, Bypass-Schnittstelle 19 und Koordinations-Einheit 22, beispielsweise über einen gemeinsamen physikalischen Kommunikationsweg auf einen weitere Einheit zugreifen können, hier also den Bypass-Speicher 18.
Ein weitere bevorzugte Ausführungsform eines erfindungsgemäßen Beeinflussungsgeräts 1 gestattet es, die von der Koordinations-Einheit 22 empfangenen Daten, insbesondere Daten, die an die Bedieneinheit 7 übermittelt wer- den, mit einem Zeitstempel zu versehen. Dies ist deshalb vorteilhaft, weil die Zeitinformation des Zeitstempels sowohl die zeitliche Einordnung z. B. gemessener Daten erlaubt, als auch beispielsweise eine zeitliche Synchronisation mehrerer in einem Netzwerk betriebener Beeinflussungsgeräte 1 ermöglicht.
Eine alternative bevorzugte Ausführungsform des erfindungsgemäßen Beeinflussungsgeräts 1 prägt den, die programmierbare Einheit 5 durchlaufenden Daten bereits einen Zeitstempel auf, so daß dieser Arbeitsschiitt nicht mehr von der Koordinations-Einheit 22 vorzunehmen ist. Auch bei dieser Variante lassen sich zeitliche Vorteile gegenüber der Nutzung der Koordinations- Einheit 22 erzielen.
Die Koordinations-Einheit 22 dient insbesondere dazu, von der Bedieneinheit 7 und/oder von der Simulations-Einheit 20 stammende Konfigurationsanweisungen zu interpretieren und das Beeinflussungsgerät 1 entsprechend zu konfigurieren. So ist es beispielsweise sogar möglich, das erfindungsgemäße Be- einflussungsgerät 1 nicht nur für einen speziellen Typ von Steuergerät-Debug- Schnittstellen 8 einzurichten, sondern es an praktisch beliebige Schnittstellen- Standards anzupassen.
Wie in Fig. 2 dargestellt, verfügt die Koordinations-Einheit 22 vorzugsweise auch über Anschlüsse, über die externe Triggersignale 24 wie auch interne Triggersignale 25 registriert und ausgewertet werden können, weshalb es mit der Koordinations-Einheit 22 leicht möglich ist, entsprechende Einheiten 13, 14, 15, 17 der programmierbaren Einheit 5 zu aktivieren.
Die Koordinations-Einheit 22 wird in dem bevorzugten Ausführungsbeispiel nach Fig. 2 durch eine separate Recheneinheit außerhalb der programmierbaren Einheit 5 realisiert, insbesondere durch einen Microcontroller. In einer ebenfalls bevorzugten, jedoch nicht dargestellten Variante des Beeinflussungsgeräts 1 wird die Koordinations-Einheit 22 dagegen durch einen pro- grammierbaren Logikbaustein, oder als Teil der programmierbaren Einheit 5 ausgebildet.

Claims

Patentansprüche:
1. Beeinflussungsgerät (1) zur Beeinflussung mindestens eines Steuergeräts (2) mit mindestens einem Steuergerät-Microcontroller (3) und mit mindestens einer Steuergerät-Debug-Schnittstelle (4), wobei das Beeinflussungsgerät (1) zumindest eine programmierbare Einheit (5), wenigstens eine Datenübertragungs-Schnittstelle (6) zur Verbindung des Beeinflussungsgeräts (1) mit einer Bedieneinheit (7) und mindestens eine Beeinflussungsgerät-Debug-Schnitt- stelle (8) zur Verbindung des Beeinflussungsgeräts (1) mit der Steuergerät- Debug-Schnittstelle (4) des Steuergeräts (2) umfaßt, dadurch gekennzeichnet, daß das Beeinflussungsgerät (1) zusätzlich mindestens einen Speicher (9) für mindestens eine Adreßliste (11) und mindestens eine Datenliste (12) umfaßt, wobei die in der Adreßliste (11) gespeicherten Daten Speicherorte im Adreßraum (10) des Steuergerät-Microcontrollers (3) bezeichnen, und wobei unter Nutzung der Beeinflussungsgerät-Debug-Schnittstelle (8) Daten aus den durch die Inhalte der Adreßliste (11) bestimmten Speicherorten im Adreßraum (10) des Steuergerät-Microcontrollers (3) lesbar und in der Datenliste (12) ablegbar sind und/oder die in der Datenliste (12) abgelegten Daten an den durch die Inhalte der Adreßliste (11) bestimmten Speicherorten im Adreßraum (10) des Steuergerät-Microcontrollers (3) ablegbar sind.
2. Beeinflussungsgerät nach Anspruch 1, dadurch gekennzeichnet, daß die programmierbare Einheit (5) die Beeinflussungsgerät-Debug-Schnittstelle (8) umfaßt.
3. Beeinflussungsgerät nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die programmierbare Einheit (5) ein programmierbarer Logikbaustein ist, insbesondere ein Field Programmable Gate Array (FPGA).
4. Beeinflussungsgerät nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß der Speicher (9) für die Adreßliste (11) und für die Datenliste (12) in der programmierbaren Einheit (5) vorgesehen ist.
5. Beeinflussungsgerät nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die programmierbare Einheit (5) eine Listen-Applikations- Einheit (13) umfaßt, und durch Aktivierung der Listen- Applikations-Einheit (13) die Listen- Applikations-Einheit (13) entweder das Abrufen der Daten aus den in der Adreßliste (11) angegebenen Speicherorten im Adreßraum (10) des Steuergerät-Microcontrollers (3) und das Ablegen der abgerufenen Daten in der Datenliste (12), oder das Schreiben der in der Datenliste (12) abgelegten Daten in die durch die Inhalte der Adreßliste (11) bestimmten Speicherorte im Adreßraum (10) des Steuergerät-Microcontrollers (3) automatisch vornimmt.
6. Beeinflussungsgerät nach Ansprüche 5, dadurch gekennzeichnet, daß im Falle mehrerer Adreßlisten (11) und/oder mehrerer Datenlisten (12) durch Vergabe von Prioritäten für die Adreßlisten (11) und/oder Datenlisten (12) eine Bearbeitungsreihenfolge durch die Listen- Applikations-Einheit (13) be- stimmbar ist.
7. Beeinflussungsgerät nach Anspruch 5 oder 6, dadurch gekennzeichnet, daß im Falle mehrerer Adreßlisten (11) und/oder mehrerer Datenlisten (12) eine Untermenge von Adreßlisten (11) und/oder eine Untermenge von Daten- listen (12) bestimmbar ist, die durch die Listen-Applikations-Einheit (13) bearbeitet wird.
8. Beeinflussungsgerät nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, daß die programmierbare Einheit (5) eine Einzelwert-Applikations- Einheit (14) umfaßt, mit der beliebige Speicherorte im Adreßraum (10) des Steuergerät-Microcontrollers (3) auslesbar sind und/oder mit der ein Wert in einem beliebigen Speicherort im Adreßraum (10) des Steuergerät- Microcontrollers (3) ablegbar ist.
9. Beeinflussungsgerät nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, daß die programmierbare Einheit (5) eine Werkzeug-Schnittstellen- Einheit (15) umfaßt, zum Anschluß mindestens eines externen Geräts (16) an das Beeinflussungsgerät (1).
10. Beeinflussungsgerät nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, daß die programmierbare Einheit (5) eine Bypass-Einheit (17) um- faßt, mit einem zugeordneten ein- oder zweiseitig zugreifbarem Bypass- Speicher (18), einer zugeordneten Bypass-Schnittstelle (19) zur Verbindung der Bypass-Einheit (17) und des Bypass- Speichers (18) mit einer externen Simulations-Einheit (20), wobei Daten zwischen dem Steuergerät (2) und der Simulations-Einheit (20) unter Verwendung des Bypass-Speichers (18) und der Bypass-Einheit (17) bidirektional lesend und schreibend austauschbar sind.
11. Beeinflussungsgerät nach Anspruch 10, dadurch gekennzeichnet, daß die programmierbare Einheit (5) die Bypass-Schnittstelle (19) umfaßt, wobei die
Bypass-Schnittstelle (19) insbesondere eine serielle Datenübertragung realisiert und vorzugsweise als LVDS-Schnittstelle ausgeführt ist.
12. Beeinflussungsgerät nach einem der Ansprüche 1 bis 11, dadurch gekenn- zeichnet, daß die programmierbare Einheit (5) eine Priorisier- und Arbitrier- Einheit (21) umfaßt, wobei über die Priorisier- und Arbitrier-Einheit (21) den verschiedenen Einheiten (13, 14, 15, 17) der programmierbaren Einheit (5) Prioritäten zuweisbar sind, und die Priorisier- und Arbitrier-Einheit (21) anhand der den Einheiten (13, 14, 15, 17) zugeordneten Prioritäten die Ausfüh- rungsreihenfolge durch Freischaltung der unterschiedlichen Einheiten (13, 14, 15, 17) untereinander bestimmt und eine Datenverbindung zwischen der jeweils freigeschalteten Einheit und dem Steuergerät (2) herstellt.
13. Beeinflussungsgerät nach Anspruch 12, dadurch gekennzeichnet, daß die Priorität der Bypass-Einheit (17) höher ist als die Priorität der Listen- Applikations-Einheit (13), und/oder daß die Priorität der Listen- Applikations- Einheit (13) höher ist als die Priorität der Einzel wert- Applikations-Einheit (13), und/oder daß die Priorität der Einzelwert- Applikations-Einheit (14) höher ist als die Priorität der Werkzeug-Schnittstellen-Einheit (15).
14. Beeinflussungsgerät nach Anspruch 12, dadurch gekennzeichnet, daß die Priorität der Werkzeug-Schnittstellen-Einheit (15) höher ist als die alle anderen Einheiten.
15. Beeinflussungsgerät nach einem der Ansprüche 1 bis 14, dadurch gekennzeichnet, daß das Beeinflussungsgerät (1) eine Koordinations-Einheit (22) umfaßt, die mit einer oder mehrerer der Einheiten (13, 14, 17) der programmierbaren Einheit (5) über eine Koordinations-Schnittstelle (23) und/oder mit dem Bedienrechner (7) über die Datenübertragungs-Schnittstelle (6) und/oder mit der Simulations-Einheit (20) über die Bypass-Schnittstelle (19) und/oder mit dem Bypass- Speicher (18) verbunden ist.
16. Beeinflussungsgerät nach Anspruch 15, dadurch gekennzeichnet, daß die Koordinations-Einheit (22) vom Bedienrechner (7) und/oder von der Simulations-Einheit (20) stammende Daten bzw. Anweisungen an die adressierten Einheiten (13, 14, 15, 17) der programmierbaren Einheit (5) zur weiteren Bearbeitung leitet und/oder die von einer Einheit (13, 14, 15, 17) der programmierbaren Einheit (5) stammenden Daten an den Bedienrechner (7) und/oder die Simulations-Einheit (20) übermittelt.
17. Beeinflussungsgerät nach Anspruch 15 oder 16, dadurch gekennzeichnet, daß die Koordinations-Einheit (22) empfangene Daten mit einem Zeitstempel versieht, insbesondere Daten, die an die Bedieneinheit (7) übermittelt werden.
18. Beeinflussungsgerät nach einem der Ansprüche 15 bis 17, dadurch ge- kennzeichnet, daß die Koordinations-Einheit (22) von der Bedieneinheit (7) und/oder von der Simulations-Einheit (20) stammende Konfigurationsanweisungen interpretiert und das Beeinflussungsgerät (1) entsprechend konfiguriert.
19. Beeinflussungsgerät nach einem der Ansprüche 15 bis 18, dadurch gekennzeichnet, daß die Koordinations-Einheit (22) externe Triggersignale (24) und/oder interne Triggersignale (25) registriert und entsprechende Einheiten (13, 14, 15, 17) der programmierbaren Einheit (5) aktiviert.
20. Beeinflussungsgerät nach einem der Ansprüche 15 bis 19, dadurch gekennzeichnet, daß die Koordinations-Einheit (22) entweder durch eine separate Recheneinheit außerhalb der programmierbaren Einheit (5), insbesondere durch einen Microcontroller oder durch einen programmierbaren Logikbaustein realisiert ist, oder als Teil der programmierbaren Einheit (5) ausgebildet ist.
21. Verfahren zur Beeinflussung eines Steuergeräts mit einem Beeinflussungsgerät nach einem der Ansprüche 10 bis 20, dadurch gekennzeichnet, daß das Bypassing mindestens einer Steuergeräte-Funktion durch eine korrespondierende Bypass-Funktion auf der Simulations-Einheit (20) unter - zumindest teilweiser - Verwendung der Adreßliste (11) und/oder der Datenliste (12) durchgeführt wird.
22. Verfahren nach Anspruch 21, dadurch gekennzeichnet, daß die Speicherorte der zur Berechnung der Bypass-Funktion notwendigen Daten im Adreßraum (10) des Steuergerät-Microcontrollers (3) in der Adreßliste
(11) abgelegt sind, das Beeinflussungsgerät (1) das Lesen der Daten aus den in der Adreßliste (11) angegebenen Speicherorten im Adreßraum (10) des Steuergerät- Microcontrollers (3) und das Ablegen der abgerufenen Daten in der Datenliste
(12) automatisch vornimmt, insbesondere unter Verwendung der Listen- Applikations-Einheit (13), die in der Datenliste (12) abgelegten Daten automatisch, oder nach Anforderung durch die Simulations-Einheit (20), zur Simulations-Einheit (20) übertragen werden, die Berechnungsergebnisse der Bypass-Funktion durch die Simulations- Einheit (20) auf das Beeinflussungsgerät (1) übertragen und in der Datenliste (12) und/oder dem Bypass-Speicher (18) abgelegt werden und die in dem Beeinflussungsgerät (1) abgelegten Berechnungsergebnisse der Bypaß-Funktion aus der Datenliste (12) und/oder dem Bypass-Speicher (18) in bestimmten Speicherorten im Adreßraum (10) des Steuergerät- Microcontrollers (3) abgelegt werden, wobei die Speicherorte entweder in der Adreßliste (11) abgelegt sind, oder von der Simulations-Einheit (20) übertragen werden, insbesondere mit den Berechnungsergebnissen der Bypass- Funktion.
23. Verfahren nach einem der Ansprüche 21 oder 22, wobei das Beeinflussungsgerät (1) eine Koordinations-Einheit (22) aufweist, dadurch gekennzeichnet, daß die Koordinations-Einheit (22) vom Bedienrechner (7) und/oder von der Simulations-Einheit (20) stammende Daten bzw. Anweisungen an die adressierten Einheiten (13, 14, 15, 17) der programmierbaren Einheit (5) zur weiteren Bearbeitung leitet und/oder die von einer Einlieit (13, 14, 15, 17) der programmierbaren Einheit (5) stammenden Daten an den Bedienrechner (7) und/oder die Simulations-Einheit (20) übermittelt.
24. Verfahren nach Anspruch 23, dadurch gekennzeichnet, daß die Koordinations-Einheit (22) empfangene Daten mit einem Zeitstempel versieht, insbesondere Daten, die an die Bedieneinheit (7) übermittelt werden.
25. Verfahren nach Anspruch 23 oder 24, dadurch gekennzeichnet, daß die Koordinations-Einheit (22) von der Bedieneinheit (7) und/oder von der Simulations-Einheit (20) stammende Konfigurationsanweisungen inteφretiert und das Beeinflussungsgerät (1) entsprechend konfiguriert.
26. Verfahren nach einem der Ansprüche 23 bis 25, dadurch gekennzeichnet, daß die Koordinations-Einheit (22) externe Triggersignale (24) und/oder interne Triggersignale (25) registriert und entsprechende Einheiten (13, 14, 15, 17) der programmierbaren Einheit (5) aktiviert.
PCT/EP2005/002742 2004-03-15 2005-03-15 Beeinflussungsgerät für steuergeräte WO2005091089A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/598,946 US8645918B2 (en) 2004-03-15 2005-03-15 Influencing device for control apparatus

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE102004012738.7 2004-03-15
DE102004012738 2004-03-15
DE102004027033A DE102004027033B4 (de) 2004-03-15 2004-06-02 Beeinflussungsgerät für Steuergeräte und Verfahren zur Beeinflussung eines Steuergeräts
DE102004027033.3 2004-06-02

Publications (1)

Publication Number Publication Date
WO2005091089A1 true WO2005091089A1 (de) 2005-09-29

Family

ID=34963948

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2005/002742 WO2005091089A1 (de) 2004-03-15 2005-03-15 Beeinflussungsgerät für steuergeräte

Country Status (3)

Country Link
US (1) US8645918B2 (de)
DE (1) DE102004027033B4 (de)
WO (1) WO2005091089A1 (de)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007017865A1 (de) 2007-04-13 2008-11-13 Dspace Digital Signal Processing And Control Engineering Gmbh Adaptions-Element und Testanordnung sowie Verfahren zum Betrieb derselben
EP2009525A1 (de) * 2007-06-22 2008-12-31 dSPACE digital signal processing and control engineering GmbH Testvorrichtung zum Testen wenigstens eines elektronischen Steuerungssystems und Verfahren dazu
WO2010025746A1 (de) * 2008-09-03 2010-03-11 Dspace Digital Signal Processing And Control Engineering Gmbh Kommunikationssystem und schnittstellengerät fur ein kommunikationssystem
US8099564B1 (en) * 2007-08-10 2012-01-17 Xilinx, Inc. Programmable memory controller
WO2017084779A1 (de) * 2015-11-19 2017-05-26 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zum betreiben eines steuergeräts sowie zum externen bypassing eingerichtetes steuergerät
CN108763077A (zh) * 2018-05-24 2018-11-06 上海微小卫星工程中心 基于星上在轨可重构fpga软件的验证测试系统

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006062555B4 (de) 2006-12-29 2018-08-16 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Beobachtung eines Steuergeräts
DE102007012304A1 (de) * 2007-03-14 2008-09-18 Robert Bosch Gmbh Schnittstelle in einem Fahrzeug und Verfahren zum Datenaustausch
DE102008048985A1 (de) * 2008-09-25 2010-04-08 Anapur Ag Verfahren zur Prüfung eines Automatisierungssystems und Prüfgerät zum Prüfen eines Automatisierungssystems
US8166344B2 (en) 2009-01-28 2012-04-24 Dspace Digital Signal Processing And Control Engineering Gmbh Method for controlling an operating mechanism and a manipulation unit
US8074118B2 (en) 2009-01-28 2011-12-06 Dspace Digital Signal Processing And Control Engineering Gmbh Method for influencing a control unit and manipulation unit
US8171341B2 (en) 2009-01-28 2012-05-01 Dspace Digital Signal Processing And Control Engineering Gmbh Method for controlling an operating mechanism and a manipulation unit
DE102010007244A1 (de) 2010-02-09 2011-08-11 TraceTronic GmbH, 01189 Verfahren zur Überprüfung eingebetteter Systeme
DE102011052511A1 (de) 2011-08-09 2013-02-14 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Verarbeitung von Daten in einem Beeinflussungsgerät
DE102011052512A1 (de) 2011-08-09 2013-02-14 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Verarbeitung von Daten in einem Beeinflussungsgerät
EP2557463A1 (de) 2011-08-09 2013-02-13 dSPACE digital signal processing and control engineering GmbH Verfahren zur Verarbeitung von Daten in einem Beeinflussungsgerät
EP2557462B1 (de) 2011-08-09 2014-01-01 dSPACE digital signal processing and control engineering GmbH Verfahren zur Verarbeitung von Daten in einem Beeinflussungsgerät
US20150019775A1 (en) * 2013-03-14 2015-01-15 Microchip Technology Incorporated Single Wire Programming and Debugging Interface
CN103631176B (zh) * 2013-08-30 2017-01-25 天津大学 基于fpga的超高速工业控制器
EP2869145B1 (de) 2013-10-29 2016-04-27 dSPACE digital signal processing and control engineering GmbH Verfahren zur Beeinflussung eines Steuerprogramms eines Steuergerätes
DE102013113686A1 (de) 2013-12-09 2015-06-11 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Beeinflussung eines Steuerprogramms eines Steuergerätes
CN105556402A (zh) 2013-12-09 2016-05-04 帝斯贝思数字信号处理和控制工程有限公司 用于影响控制设备的控制程序的方法
EP2881814A1 (de) 2013-12-09 2015-06-10 dSPACE digital signal processing and control engineering GmbH Verfahren zur Beeinflussung eines Steuerprogramms eines Steuergerätes
EP2924522B1 (de) 2014-03-28 2016-05-25 dSPACE digital signal processing and control engineering GmbH Verfahren zur Beeinflussung eines Steuerprogramms
EP3396549A1 (de) 2017-04-28 2018-10-31 dSPACE digital signal processing and control engineering GmbH Adapter für die verbindung eines eingebetteten systems mit einem bedienrechner und verfahren zum anpassen eines adapters
DE102018109831A1 (de) 2017-04-28 2018-10-31 Dspace Digital Signal Processing And Control Engineering Gmbh Adapter für die Verbindung eines eingebetteten Systems mit einem Bedienrechner und Verfahren zum Anpassen eines Adapters
CN108873732B (zh) * 2017-05-11 2024-06-07 北京航天耐特科技有限公司 用于微控制器的接口模块和接口方法
CN112947262A (zh) * 2021-04-16 2021-06-11 西南科技大学 一种fpga开发板

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10106504A1 (de) * 2001-02-13 2002-08-29 Bosch Gmbh Robert Verfahren und Vorrichtung zum Emulieren von Steuer- und/oder Regelfunktionen eines Steuer- oder Regelgeräts

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7152027B2 (en) * 1998-02-17 2006-12-19 National Instruments Corporation Reconfigurable test system
US6145122A (en) * 1998-04-27 2000-11-07 Motorola, Inc. Development interface for a data processor
US7162713B2 (en) * 2000-03-14 2007-01-09 Arc International Difference engine method and apparatus
DE10030988A1 (de) * 2000-06-30 2002-01-10 Bosch Gmbh Robert Elektronisches System zur Entwicklung von Software und ein Verfahren zum Eingriff auf interne Daten der Software
US6826746B2 (en) * 2001-03-08 2004-11-30 International Business Machines Corporation Debugger probe for object oriented programming
US20020144235A1 (en) * 2001-03-30 2002-10-03 Charles Simmers Debugging embedded systems
DE10228610A1 (de) * 2001-06-27 2003-01-16 Bosch Gmbh Robert Verfahren zum Überprüfen eines auf einer elektronischen Recheneinheit ablaufenden Steuerprogramms
US7155426B2 (en) * 2001-09-20 2006-12-26 International Business Machines Corporation SQL debugging using stored procedures
US20030074650A1 (en) * 2001-10-17 2003-04-17 Tankut Akgul Debugger operating system for embedded systems
JP2003173270A (ja) * 2001-12-06 2003-06-20 Canon Inc ソフトウェアデバッグ装置
DE10235610A1 (de) * 2002-08-02 2004-02-19 Robert Bosch Gmbh Verfahren zum Überprüfen einer Steuergerätefunktion
US6978399B2 (en) * 2002-09-12 2005-12-20 International Business Machines Corporation Debug thread termination control points
DE10303490A1 (de) * 2003-01-30 2004-08-12 Robert Bosch Gmbh Steuergerät für ein Kraftfahrzeug und Kommunikationsverfahren dafür
US7370319B2 (en) * 2003-02-11 2008-05-06 V.I. Laboratories, Inc. System and method for regulating execution of computer software
US7251808B2 (en) * 2003-09-11 2007-07-31 International Business Machines Corporation Graphical debugger with loadmap display manager and custom record display manager displaying user selected customized records from bound program objects
US7284156B2 (en) * 2003-09-19 2007-10-16 International Business Machines Corporation Debugging a grid environment using ghost agents
US7669186B2 (en) * 2005-11-16 2010-02-23 Sun Microsystems, Inc. Debugging applications at resource constrained virtual machines using dynamically installable lightweight agents

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10106504A1 (de) * 2001-02-13 2002-08-29 Bosch Gmbh Robert Verfahren und Vorrichtung zum Emulieren von Steuer- und/oder Regelfunktionen eines Steuer- oder Regelgeräts

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
HANSELMANN H: "Automotive control: from concept to experiment to product", COMPUTER-AIDED CONTROL SYSTEM DESIGN, 1996., PROCEEDINGS OF THE 1996 IEEE INTERNATIONAL SYMPOSIUM ON DEARBORN, MI, USA 15-18 SEPT. 1996, NEW YORK, NY, USA,IEEE, US, 15 September 1996 (1996-09-15), pages 129 - 134, XP010198777, ISBN: 0-7803-3032-3 *
IEEE INDUSTRY STANDARDS AND TECHNOLOGY ORGANIZATION: "The Nexus 5001 Forum (TM) - Standard for a global embedded Processor Debug Interface - Version 2.0", INET, 23 December 2003 (2003-12-23), XP002334117, Retrieved from the Internet <URL:http://www.nexus5001.org/standard/ieee_isto_5001_2003.pdf> [retrieved on 20050630] *
OTTERBACH R: "Rapid Control Prototyping - neue Möglichkeiten und Werkzeuge", VDI/VDE-FACHTAGUNG: STEUERUNG UND REGELUNG VON FAHRZEUGEN UND MOTOREN - AUTOREG 2004, 2 March 2004 (2004-03-02), MANNHEIM, XP009050013 *
VOJIN OKLOBDZIJA: "The Computer Engineering Handbook", 2002, CRC PRESS, BOCA RATON, XP002334293 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007017865A1 (de) 2007-04-13 2008-11-13 Dspace Digital Signal Processing And Control Engineering Gmbh Adaptions-Element und Testanordnung sowie Verfahren zum Betrieb derselben
US8019911B2 (en) 2007-04-13 2011-09-13 Dspace Digital Signal Processing And Control Enineering Gmbh System and method for testing and calibrating a control unit using an adaptation unit
EP2009525A1 (de) * 2007-06-22 2008-12-31 dSPACE digital signal processing and control engineering GmbH Testvorrichtung zum Testen wenigstens eines elektronischen Steuerungssystems und Verfahren dazu
US8290755B2 (en) 2007-06-22 2012-10-16 Dspace Digital Signal Processing And Control Engineering Gmbh System for testing at least one electronic control unit and method
US8099564B1 (en) * 2007-08-10 2012-01-17 Xilinx, Inc. Programmable memory controller
WO2010025746A1 (de) * 2008-09-03 2010-03-11 Dspace Digital Signal Processing And Control Engineering Gmbh Kommunikationssystem und schnittstellengerät fur ein kommunikationssystem
US9160558B2 (en) 2008-09-03 2015-10-13 Dspace Digital Signal Processing And Control Engineering Gmbh Communication system and interface device for a communication system
WO2017084779A1 (de) * 2015-11-19 2017-05-26 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zum betreiben eines steuergeräts sowie zum externen bypassing eingerichtetes steuergerät
CN108139723A (zh) * 2015-11-19 2018-06-08 帝斯贝思数字信号处理和控制工程有限公司 用于运行控制器的方法以及设置用于外部旁路的控制器
US10684600B2 (en) 2015-11-19 2020-06-16 Dspace Digital Signal Processing And Control Engineering Gmbh Method for operating a control device and for external bypassing of a configured control device
CN108763077A (zh) * 2018-05-24 2018-11-06 上海微小卫星工程中心 基于星上在轨可重构fpga软件的验证测试系统
CN108763077B (zh) * 2018-05-24 2022-04-19 上海微小卫星工程中心 基于星上在轨可重构fpga软件的验证测试系统

Also Published As

Publication number Publication date
US8645918B2 (en) 2014-02-04
US20080065239A1 (en) 2008-03-13
DE102004027033A1 (de) 2005-10-13
DE102004027033B4 (de) 2009-07-02

Similar Documents

Publication Publication Date Title
WO2005091089A1 (de) Beeinflussungsgerät für steuergeräte
DE102004025875B4 (de) Funktionsblock mit Boolescher Logik
DE4222043C1 (de)
DE102008014153B4 (de) Verfahren, Steuergerät und Steuerungssystem zur Steuerung eines Automatisierungssystems
DE102007017865A1 (de) Adaptions-Element und Testanordnung sowie Verfahren zum Betrieb derselben
DE102013103242B4 (de) Feldgerät, Kommunikations-Chip und Verfahren zum Zugreifen auf ein Feldgerät
EP2685382B1 (de) Verfahren und Vorrichtung zum Erstellen und Testen eines Steuergeräteprogramms
EP2325708B1 (de) Echtzeit-Laufzeitsystem und Funktionsmodul für ein solches Laufzeitsystem
EP2098926B1 (de) Verfahren und Vorrichtung zum Programmieren und/oder Konfigurieren einer Sicherheitssteuerung
DE102006062555B4 (de) Verfahren zur Beobachtung eines Steuergeräts
DE102008010864A1 (de) Verfahren zum Betreiben eines Feldgerätes
EP3542232A1 (de) Steuerung für eine industrielle automatisierungsanlage und verfahren zum programmieren und betreiben einer derartigen steuerung
WO2013072425A1 (de) Verfahren, computerprogramm, computerlesbares medium und recheneinheit zur bedienung von feldgeräten
DE102007045926A1 (de) Schnittstelle zwischen einem Fertigungsmanagementsystem und einem Automatisierungssystem
EP2707999B1 (de) Signalverarbeitungssystem und verfahren zur verarbeitung von signalen in einem busknoten
EP3080668B1 (de) Verfahren zur beeinflussung eines steuerprogramms eines steuergeräts
WO2018036708A1 (de) Gateway und verfahren zur anbindung eines datenquellensystems an ein it-system
EP1714197B1 (de) Gerätetreiber für feldgeräte der prozessautomatisierungstechnik
EP1889128B1 (de) Verfahren und vorrichtung zur umschaltung bei einem speicher für ein steuergerät
EP1758001A2 (de) Verfahren und System zum Abbilden der Struktur einer Automatisierungsanlage auf einem Rechner
DE102008023873A1 (de) Verfahren zum Betrieb eines Antriebssystems
DE10394242T5 (de) Verfahren und Instrument zur Zuweisung von Rechenressourcen in einem verteilten Steuersystem
EP1770455B1 (de) Steuereinrichtung und Datenträger für eine Steuereinrichtung
DE10125384B4 (de) Vorrichtung und Verfahren zur Inbetriebnahme und Diagnose von Steuerungssystemen
DE102021133935A1 (de) Technik zur Parametrierung und/oder Konfiguration für eine auf einer speicherprogrammierbaren Steuerung basierenden Vorrichtung

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

122 Ep: pct application non-entry in european phase
WWE Wipo information: entry into national phase

Ref document number: 10598946

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 10598946

Country of ref document: US