WO2007074069A1 - Microcontroller system comprising peripheral units - Google Patents

Microcontroller system comprising peripheral units Download PDF

Info

Publication number
WO2007074069A1
WO2007074069A1 PCT/EP2006/069675 EP2006069675W WO2007074069A1 WO 2007074069 A1 WO2007074069 A1 WO 2007074069A1 EP 2006069675 W EP2006069675 W EP 2006069675W WO 2007074069 A1 WO2007074069 A1 WO 2007074069A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
values
variable
peripheral units
unit
Prior art date
Application number
PCT/EP2006/069675
Other languages
German (de)
French (fr)
Inventor
Udo Schulz
Stefan Polach
Original Assignee
Robert Bosch Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Publication of WO2007074069A1 publication Critical patent/WO2007074069A1/en

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
    • 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/23117Lookup table, interpolation between points
    • 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/25Pc structure of the system
    • G05B2219/25472Synchronise controllers, sensors, measurement with data bus
    • 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/26Pc applications
    • G05B2219/2623Combustion motor

Definitions

  • the present invention relates to a microcontroller system having an execution unit for executing program instructions and a plurality of peripheral units that provide data to be processed by the execution unit. Such data relate in particular to operating variables of a machine controlled by the microcontroller system.
  • a microcontroller system having an execution unit and a plurality of peripheral units, which deliver data to be processed by the execution unit, which further comprises a
  • a timer unit configured to supply a sequence reference signal synchronously to the peripheral units, and comprising a data collection unit configured to respectively represent data representative of operation quantities of the peripheral units provided by the peripheral units in association with a value of one of the run-reference signals Sequence reference variable to be used manuals.
  • This allows the execution unit to interrogate required values of the operation quantities from the collection unit where they are available with less delay than when requesting the peripheral units themselves. Since the values of the operation quantities in the collection unit are each associated with a value of the execution reference variable it is possible to take account of a possible change in the operating variables between the time of the measured value generation and a point in time to which the processing performed by the execution unit refers.
  • the expiration reference variable may in particular be the time.
  • a rotation angle for example, the angle of rotation of the crankshaft, can be used as a flow reference variable.
  • the peripheral units can preferably be excited by the sequence reference signal to generate a measured value of an operating variable, without it being necessary to activate the execution unit.
  • the drain reference signal may quantitatively represent the drain reference variable, for example, by periodically transmitting a digital value indicative of the numerical value of the drain reference variable.
  • the expiration reference signal may also represent increments of the expiration reference value. This reduces the bandwidth required to transmit the trace reference signal to the peripheral units, but, unless the time intervals between two increments are long compared to the peripheral unit response time and each increment is intended to trigger acquisition of the operating variables, makes the circuitry peripheral to the peripheral units
  • the data collection unit comprises a data interpolation unit for estimating the value that an operation amount of a peripheral unit contributes - A -
  • the interpolation unit may be interpolation in the strict sense, that is, with vertices at each of at least one value of the expiration reference size smaller than the given value, and at least one value of the expiration reference value larger than the given value; however, extrapolation, that is to say an estimate based on interpolation points for values of the sequence reference variable, which are all smaller than the given value, is also possible.
  • the data collection unit preferably comprises a memory array having rows and columns, wherein values of a same operation size of a same peripheral unit are stored in a same row and values of the operation quantities corresponding to an equal value of the execution reference variable are stored in a same column.
  • the microcontroller system according to the invention may in particular be part of an engine control unit.
  • the object of the invention is further achieved by a method for providing consistent values of different operating variables in a microcontroller system, in particular a microcontroller system as defined above, with the
  • Steps a) detecting values of operating variables of a plurality of peripheral units corresponding in each case to an equal value of a sequence reference variable, and b) summarizing the values of the operating variables acquired in step a) in a data record.
  • a missing value of at least one operating variable in the data record can be supplemented by calculating based on at least two values of the same
  • Operational size contained in other values of the expiration reference This calculation may take place at the time of generation of the record so that the supplemented value is immediately available when the record is accessed; It can also be done only if and when the record is accessed.
  • a data set for a predefined value of the execution reference variable can also be generated completely new by calculating a value for each operation variable of the data record on the basis of at least two values of the same operation size contained in other data records assigned to the execution reference variable.
  • a trigger signal may be sent to the peripheral units as a trace reference signal when the trace reference variable reaches a given value, and the operational quantities are respectively measured at peripheral units when the trigger signal is received there.
  • a method has the advantage of simplicity, but does not readily take into account different response times of different peripheral units to the trigger signal.
  • the time interval between two trigger signals in this method should be significantly longer than the reaction time of the peripheral units, so that all measured values generated before a first trigger signal are present before a second trigger signal is generated, and no difficulties in the assignment of the detected values to the data sets or Trigger signals are generated.
  • each peripheral unit monitors the flow reference signal quantitatively representative of the flow reference variable and measures at least one operation amount when the flow reference variable reaches a given value.
  • this embodiment offers the possibility of different reaction times of different peripheral devices. to take account of the given value for the individual peripheral units according to their reaction times differently.
  • each peripheral unit measures the expiration reference amount simultaneously with the measurement of at least one operation amount and transfers the measured values to a collection unit, and a value of the at least one operation amount corresponding to a predetermined value of the expiration reference is determined is estimated from values of the operating variable measured adjacent to this value of the sequence reference variable.
  • the estimation can be made in the collection unit itself or in the execution unit requesting its data.
  • a flow reference signal representative of the flow reference variable is preferably distributed to all peripheral devices.
  • FIG. 1 is a block diagram of a microcontroller system according to a first
  • Fig. 2 is an example of a memory map in the data collection unit of the microcontroller system of Fig. 1;
  • FIG. 3 is a flowchart of a method performed by the data collection unit during communication with the execution unit;
  • FIG. 4 is a block diagram of the microcontroller system according to a second embodiment of the invention.
  • 5 shows an example of a memory allocation in the data collection unit of the microcontroller system of FIG. 4.
  • Fig. 1 shows a block diagram of a microcontroller system according to a first
  • Embodiment of the invention With a microcontroller 1, a timer 2 and a data collection unit 3 are combined in a structural unit 4. Various peripheral units 5, which serve to measure operating variables of a machine controlled by the microcontroller system 1, in particular of an internal combustion engine, and to supply measured values to the microcontroller 1 cooperate with this module 4. Other peripheral units that serve to adjust manipulated variables of the machine according to specifications of the microcontroller 1, are omitted in Fig. 1, since they are not required for the understanding of the invention.
  • the timer 2 supplies a clock signal CLK directly to the microcontroller 1 and a trigger signal TR obtained by frequency division of the clock signal to the peripheral units 5 and the data collection unit 3.
  • the peripheral units 5 respond to the reception of the trigger signal Sampling and digitizing the current value of one of them monitored state variable of the machine and transmitting the value obtained to the data collection unit.
  • the data collection unit 3 comprises a memory area 6 organized as a matrix having a plurality of rows and columns.
  • Each operating quantity of the machine monitored by the peripheral units 5 is associated with a row of the matrix in which the measured values of the corresponding operating quantity are stored; another line may be provided to store values of the time at the respective detection times.
  • Each detection time is assigned a column of the matrix into which the measured values of the operating variables returned to a trigger signal emitted at the detection time point are entered. In this way, the columns are filled in sequence, and if all columns of memory area 6 are occupied, new measurements overwrite the column containing the oldest measurements.
  • the time that belongs to a reading is determined by its membership in a column, or it is explicitly entered in the column.
  • the data collection unit may have a counter (not shown) which counts the trigger signals and whose contents are thus representative of the time.
  • the storage of the measured values in the memory area 6 gives the microcontroller 1 the possibility of interrogating values of operating variables also indirectly, from the data collecting unit 3, directly from the peripheral units 5 and in each case specifying a point in time at which the values should correspond; so that time-consistent values in the microcontroller 1 can be processed.
  • the times for which the microcontroller 1 can interrogate measured values from the data collection unit 3 are the times corresponding to the individual columns of the memory area 6, or a request from the microcontroller 1 for measured values which corresponds to a time between the times of two adjacent columns is answered with the values of one of the two columns.
  • the data collection unit 3 may be assigned an interpolation unit 7 that responds in response to a time corresponding to a time between the times of two adjacent columns
  • Request from the microcontroller 1 returns values interpolated between the readings of the two columns. If no column exists which corresponds to a time after the requested time, the interpolation unit 7 can also generate measured values for the requested time point by extrapolation on the basis of measured values from at least two columns, which respectively correspond to times before the requested time.
  • the peripheral units 5 each have local timers 8, and the trigger signal TR has only the function of synchronizing the local timers 8 to a common output value at a given time. Since such a synchronization is required much less frequently than the triggering of the measurement processes according to the first embodiment, communication bandwidth between the central assembly 4 and the peripheral units 5 can be saved. In particular, there is the possibility of the To transmit synchronization command as a data packet on a bus between the central unit 4 and the peripheral units 5; a separate signal line for the trigger signal is not required.
  • the communication protocol used on the bus should support broadcast functionality, ie the receipt of a single data packet by a plurality of peripheral units 5 simultaneously. This makes it possible to synchronize all peripheral units 5 with each other exactly by sending a synchronization data packet once, which is important for the consistency of the measured values that they are to deliver.
  • a first approach is to configure the peripheral units 5 by sending a configuration command, i. a data packet containing a time interval between two consecutive measurements and possibly a time offset of the first measurement compared to the synchronization command.
  • a peripheral unit 5 configured by such a command supplies in the specified one
  • Periods of data packets to the data collection unit 3, which include a measurement time and at least one recorded at the measurement time of the unit 5 measured value Periods of data packets to the data collection unit 3, which include a measurement time and at least one recorded at the measurement time of the unit 5 measured value.
  • Any delay, depending on the type of peripheral unit 5, between the beginning of a measurement process and the instant at which the measured variable is actually detected can be taken into account in the configuration by configuring peripheral units 5 having different delays with different time offset values be aware of these delays. However, this presupposes that the microcontroller 1, when sending the configuration commands, knows the delays.
  • a second approach is to initiate a measurement process on a peripheral unit 5 by sending a data packet to the relevant unit which specifies the time of measurement desired by the microcontroller 1. Such a packet is sent so early before the desired measurement time that it arrives at the peripheral unit in good time before the measurement time despite possible waiting times during the transmission on the bus. It can be addressed simultaneously to a plurality of peripheral units 5, which should simultaneously perform a measurement.
  • the microcontroller 1 can supply the measured values supplied by the peripheral units 5 in the data packet Assign specified measuring time without a time information must be transmitted together with the measured values from the peripheral units 5 to the microcontroller 1. If a temporal overlap is possible, it can be provided that the microcontroller provides each data packet with an identifier, and that the peripheral units, together with the measured values obtained in response to the data packet, return its identifier in order to allocate the measured values to the microprocessor at the correct measurement time enable.
  • FIG. 2 shows, by way of example, an allocation of the memory area 6, which can result from the above-described operation of the microcontroller system.
  • a first row of the matrix arrangement designated time points ti, t 2, ..., t n solutions of MES.
  • Each memory cell with invalid content ie a memory cell containing no measured value corresponding to the measurement time of the column to which the memory cell belongs, is marked with X.
  • the invalidation can be made by setting an identification bit provided for this purpose on each memory cell or by describing the memory cell with a value which is not permitted as a measured value.
  • the peripheral units 5 configured so that measured values of the operating variables g, i of odd index j at times t with un- radians index j or measured values of quantities g, with even-numbered index i at times t, with even-numbered index j.
  • a more uniform bus load is achieved between the peripheral units 5 and the data collection unit 3, and waiting times that can occur between the measurement of a size and its transfer to the bus become small held. It is the attention of a programmer to determine the measurement times of different operating variables as far as possible in such a way that measured values of different sizes, which, in order to be able to be further processed correctly, must be related to the same time, are measured simultaneously if possible.
  • Memory area 6 contains a complete set of values of the operating variables gi to g m at a time t j , or the opposite extreme case that the peripheral units 5 are queried all at different times, with the result that each column of the memory area 6 except the time only contains a single measured value, while all other memory locations are marked as invalid.
  • FIG. 3 shows a flowchart of a processing taking place in the data collection unit 3 in the case of a request of the microcontroller 1 for a value of the quantity g stored in the memory area 6, at a time t.
  • the data collection unit 3 checks whether a measured value g, (t) of the size g is present in the storage area 6 at the given time t. If this is the case, the method immediately proceeds to step S4, in which the relevant measured value g, (t) is output.
  • step S3 g, (t) is estimated on the basis of the given times and measured values by linear or non-linear interpolation or another suitable algorithm. The result of the interpolation is output in step S4.
  • a step S5 may be provided, in which the interpolated value is added to the column of the memory area 6 corresponding to the time t, so that it is immediately available for new accesses until the column concerned is regularly overwritten with new data.
  • reference variables may be suitable in addition to the time in order to identify values of variable operating variables to be processed together.
  • any size is suitable as a reference variable, which monotonically develops in the same direction over time, and the values of the relevant variable may also be repeated periodically, as long as the period is long enough so that two columns of the memory area 6 are not identical Values belonging to the reference variable but may be included at different times.
  • the reference variable is, in particular, suitable for a phase angle related to the period of the process.
  • FIG. 4 illustrates this in a block diagram of a third embodiment of the microcontroller system according to the invention. Elements of the microcontroller system of FIG. 4 corresponding to those of the system of FIG. 1 are denoted by the same reference numerals and will not be explained again.
  • peripheral units 5 of the microcontroller system of Fig. 4 is a
  • Angle sensor 5 ' which serves for monitoring, for example, the angle of rotation of a crankshaft of a controlled by the microcontroller system engine.
  • the angle sensor 5 ' supplies measured values of the crankshaft angle via a channel 10 to the data collection unit 3 and to the remaining peripheral units 5.
  • the channel 10 can be used exclusively for transmitting the rotational angle information. retained line on which the rotation angle sensor 5 'emits, for example, with each increase in the rotation angle by a predetermined value, a pulse which is counted by the remaining peripheral units 5 and the data collection unit 3, so that a current rotation angle value on all units 3, 5 in glei - rather way is available.
  • the channel 10 may also be a logical one
  • Channel on a also used for the transmission of other information between the units 3, 5 in the multiplexed line.
  • the channel 10 is implemented on a time division multiplexed line, in each time slot associated with the channel 10 a digital data value is advantageously transmitted which quantitatively indicates the current crankshaft rotation angle, since the speed of rotation of the crankshaft due to the change between compression and Decompression of the cylinder varies over a cycle of operation of the engine, occur between successive slots of the channel 10 different changes in the angle of rotation.
  • the peripheral units 5 can be configured by the microcontroller 1 in order in each case to supply a measured value of the operating variable monitored by it at predetermined values of the rotation angle or after a predetermined change in the rotation angle. In a simple design, they approximate this requirement by using the
  • the inaccuracy resulting from the deviation of the angle value specified by the microcontroller 1 from the angle value of the measurement can be negligible, that is, the measured value of the operating variable can be used as the value of the Operating size are handled at the angle specified by the microcontroller angle value.
  • the value of the operation amount at the specified angle value can be obtained by interpolation as described above, wherein an angular velocity varying due to the change between compression Interpolation can be considered. The consideration may be based on an angular velocity expected from theoretical calculations or an engine speed fluctuation observed.
  • the data collection unit 3 is connected to the timer 2 and continuously receives a time signal from it. By recording the associated receiving time t j each time a rotational angle value ⁇ j is received, the data collecting unit 3 enters both values in a column of the memory area 6 and possibly later on measured values of the operating variables gi,..., G m , which are paired with the time value t j entering from the peripheral units 5 at the collecting unit 3, enters into the corresponding column, an occupancy of the memory area 6 as shown in Fig. 5 can be obtained. As described with reference to FIG. 2, the collecting unit 3 is able to directly output values of the operating quantities g "..., G m at a time t specified by the microcontroller 1 if they exist in the memory area 6, or they through interpolation of the im
  • Memory area 6 included values to calculate. In addition, it is possible by means of a procedure analogous to the method of FIG. 3 to also respectively determine values of operating variables which correspond to any angle of the crankshaft indicated by the microcontroller 1, directly or by interpolation and to transfer them to the microcontroller 1.
  • this control task can resort to data values present in the memory area 6, instead of triggering their detection and then the arrival of the detection results to be seen.
  • the control task can be carried out not only faster, which reduces the performance requirements of the microcontroller 1, but also with higher accuracy, which improves the efficiency of the engine.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

The invention relates to a microcontroller system comprising an execution unit (1), a plurality of peripheral units (5), which supply data that is to be processed by the execution unit (1), a signal generator (2, 5'), which is configured to synchronously deliver an operation reference signal to the peripheral units (5) and a data collection unit (3), which is configured to save data that is supplied by the peripheral units (5) and that represents operating variables of the peripheral units (5), with its respective assignment to a value of an operation reference variable that is represented by the operation reference signal.

Description

Beschreibungdescription
Titeltitle
Mikrocontrollersystem mit PeripherieeinheitenMicrocontroller system with peripheral units
Stand der TechnikState of the art
Die vorliegende Erfindung betrifft ein Mikrocontrollersystem mit einer Ausführungseinheit zum Ausführen von Programmbefehlen und einer Mehrzahl von Peripherieeinheiten, welche von der Ausführungseinheit zu verarbeitende Daten lie- fern. Derartige Daten betreffen insbesondere Betriebsgrößen einer von dem Mikrocontrollersystem gesteuerten Maschine.The present invention relates to a microcontroller system having an execution unit for executing program instructions and a plurality of peripheral units that provide data to be processed by the execution unit. Such data relate in particular to operating variables of a machine controlled by the microcontroller system.
Wenn eine solche Maschine unter Berücksichtigung mehrerer veränderlicher Betriebsgrößen gesteuert werden muss, ergibt sich das Problem, dass Messwerte dieser Betriebsgrößen, auf denen die Steuerung basiert, in Bezug auf eine Ablaufreferenzgröße wie etwa die Zeit konsistent sein müssen. Das heißt, die Messwerte, die in der Ausführungseinheit miteinander verknüpft werden, müssen auf einen gleichen Wert der Ablaufreferenzgröße, zum Beispiel also auf einen gleichen Zeitpunkt, bezogen sein. Sind sie dies nicht, können Steuerungsfehler auftreten, die um so gravierender sind, je schneller die Betriebsgrößen veränderlich sind bzw. je größer die Abweichung zwischen den Zeitpunkten ist, auf die die Messwerte sich beziehen.When such a machine needs to be controlled in consideration of a plurality of variable operation amounts, there is a problem that measurement values of those operation quantities on which the control is based must be consistent with respect to an execution reference such as time. This means that the measured values which are linked to one another in the execution unit must relate to an identical value of the execution reference variable, for example to the same time. If they are not, control errors can occur, which are all the more serious the faster the operating variables are variable or the greater the deviation between the times to which the measured values refer.
Wenn folglich die Ausführungseinheit eines Mikrocontrollersystems im Laufe der Abarbeitung eines Programm sukzessive die Werte von Betriebsgrößen von verschiedenen Peripherieeinheiten abfragt und die Peripherieeinheiten erst durch die Abfrage veranlasst werden, diese Messwerte zu erzeugen, so stellen diese nacheinander gewonnenen Messwerte notwendigerweise die Betriebsgrößen zu jeweils unterschiedlichen Zeitpunkten dar. Ein Satz von Betriebsgrößen, der den Zustand der Maschine zu einem gegebenen Zeitpunkt vollständig beschreibt, liegt nicht vor, so dass in Unkenntnis eines solchen Zustandes eine optimale Steuerung der Maschine kaum zu gewährleisten ist.Consequently, if the execution unit of a microcontroller system in the course of processing a program successively polls the values of operating variables from different peripheral units and the peripheral units are only caused by the query to generate these measured values, these successively obtained measured values necessarily represent the operating variables at respectively different points in time A set of farm sizes that fully describes the state of the machine at a given time. is not present, so that in ignorance of such a state, an optimal control of the machine is difficult to ensure.
Dies macht sich insbesondere bei der Steuerung von Verbrennungsmotoren nachteilig bemerkbar. Herkömmliche Motorsteuergeräte sind zwar in der Lage, einen Verbrennungsmotor bei stationär oder langsam veränderter Last so zu steuern, dass befriedigende Verbrauchs- und Abgaswerte erreicht werden; bei Lastwechseln, wie sie in modernen Testverfahren für die Zulassungsprüfung von Verbrennungsmotoren, insbesondere für den Kfz-Bau, vorkommen, kommt es zu erheblichen Beeinträchtigungen der Verbrauchs- und Abgaswerte.This is particularly disadvantageous in the control of internal combustion engines. Although conventional engine control units are able to control an internal combustion engine with stationary or slowly changed load so that satisfactory consumption and exhaust gas values are achieved; During load changes, as they occur in modern test procedures for the approval test of internal combustion engines, especially for the motor vehicle construction, there are significant impairments of fuel consumption and exhaust emissions.
Es wäre zwar denkbar, eine Ausführungseinheit mit hoher Verarbeitungsgeschwindigkeit zu wählen, um dadurch die jeweils zwischen den Abfragen von Messwerten durch die Ausführungseinheit verstreichende Zeit zu verringern, doch ist dies mit erheblichen Kosten verbunden und löst das Problem allenfalls zum Teil, da die Verarbeitungsgeschwindigkeit der Ausführungseinheit keinenWhile it would be conceivable to choose an execution unit with high processing speed to thereby reduce the time elapsed between the interrogation of measurements by the execution unit, this involves considerable expense and solves the problem at best in part because the processing speed of the execution unit no
Einfluss auf die Zeit hat, die die Peripherieeinheiten benötigen, um auf eine Anforderung der Ausführungseinheit einen Messwert zu erzeugen und zurückzulie- fern.Has an influence on the time required by the peripheral units to generate and return a measured value on request of the execution unit.
Es besteht daher Bedarf nach einem Mikrocontrollersystem, das geeignet ist,There is therefore a need for a microcontroller system that is suitable
Vorgänge mit zeitlich veränderlichen Betriebsgrößen mit hoher Zeitauflösung zu steuern, ohne hierfür eine extrem hohe Verarbeitungsgeschwindigkeit der Ausführungseinheit oder extrem kurze Reaktionszeiten der Peripherieeinheiten zu erfordern.To control operations with time-varying operation sizes with high time resolution, without requiring an extremely high processing speed of the execution unit or extremely short response times of the peripheral units.
Offenbarung der ErfindungDisclosure of the invention
Dieses Ziel wird erfindungsgemäß erreicht durch ein Mikrocontrollersystem mit einer Ausführungseinheit und einer Mehrzahl von Peripherieeinheiten, welche von der Ausführungseinheit zu verarbeitende Daten liefern, welches ferner eineThis object is achieved according to the invention by a microcontroller system having an execution unit and a plurality of peripheral units, which deliver data to be processed by the execution unit, which further comprises a
Zeitgebereinheit, die eingerichtet ist, ein Ablaufreferenzsignal synchron an die Peripherieeinheiten zu liefern, und eine Datensammeleinheit umfasst, die eingerichtet ist, um von den Peripherieeinheiten gelieferte, Betriebsgrößen der Peripherieeinheiten repräsentierende Daten jeweils in Zuordnung zu einem Wert ei- ner von dem Auf lauf referenzsignal repräsentierten Ablauf referenzgröße zu spei- chern. Dies ermöglicht es der Ausführungseinheit, benötigte Werte der Betriebsgrößen von der Sammeleinheit abzufragen, wo diese mit geringerer Verzögerung verfügbar sind als bei Anforderung an den Peripherieeinheiten selbst. Da die Werte der Betriebsgrößen in der Sammeleinheit jeweils in Zuordnung zu einem Wert der Ablaufreferenzgröße vorliegen, ist es möglich, eine eventuelle Veränderung der Betriebsgrößen zwischen dem Zeitpunkt der Messwerterzeugung und einem Zeitpunkt, auf den sich die von der Ausführungseinheit durchgeführte Verarbeitung bezieht, zu berücksichtigen.A timer unit configured to supply a sequence reference signal synchronously to the peripheral units, and comprising a data collection unit configured to respectively represent data representative of operation quantities of the peripheral units provided by the peripheral units in association with a value of one of the run-reference signals Sequence reference variable to be used manuals. This allows the execution unit to interrogate required values of the operation quantities from the collection unit where they are available with less delay than when requesting the peripheral units themselves. Since the values of the operation quantities in the collection unit are each associated with a value of the execution reference variable it is possible to take account of a possible change in the operating variables between the time of the measured value generation and a point in time to which the processing performed by the execution unit refers.
Die Ablaufreferenzgröße kann insbesondere die Zeit sein.The expiration reference variable may in particular be the time.
Bei einem Mikrocontrollersystem, das einen wiederkehrenden Vorgang steuert, wie etwa die Verbrennung in einem Verbrennungsmotor, kann als Ablaufreferenzgröße auch ein Drehwinkel, zum Beispiel der Drehwinkel der Kurbelwelle, herangezogen werden.In a microcontroller system that controls a recurrent process, such as combustion in an internal combustion engine, a rotation angle, for example, the angle of rotation of the crankshaft, can be used as a flow reference variable.
Die Peripherieeinheiten sind vorzugsweise durch das Ablaufreferenzsignal anregbar, einen Messwert einer Betriebsgröße zu erzeugen, ohne dass hierfür ein Tätigwerden der Ausführungseinheit erforderlich ist.The peripheral units can preferably be excited by the sequence reference signal to generate a measured value of an operating variable, without it being necessary to activate the execution unit.
Das Ablaufreferenzsignal kann die Ablaufreferenzgröße quantitativ repräsentieren, zum Beispiel durch periodisches Übertragen eines den Zahlenwert der Ablaufreferenzgröße bezeichnenden digitales Wertes.The drain reference signal may quantitatively represent the drain reference variable, for example, by periodically transmitting a digital value indicative of the numerical value of the drain reference variable.
Alternativ kann das Ablaufreferenzsignal auch Inkremente der Ablaufreferenzgröße repräsentieren. Dies verringert die zur Übertragung des Ablaufreferenzsignals an die Peripherieeinheiten erforderliche Bandbreite, macht allerdings, sofern nicht die Zeitabstände zwischen zwei Inkrementen lang im Vergleich zur Reaktionszeit der Peripherieeinheiten ist und jedes Inkrement eine Erfassung der Be- triebsgrößen auslösen soll, auf Seiten der Peripherieeinheiten Schaltungen zumAlternatively, the expiration reference signal may also represent increments of the expiration reference value. This reduces the bandwidth required to transmit the trace reference signal to the peripheral units, but, unless the time intervals between two increments are long compared to the peripheral unit response time and each increment is intended to trigger acquisition of the operating variables, makes the circuitry peripheral to the peripheral units
Errechnen der Ablaufreferenzgröße anhand der übertragenen Inkremente erforderlich.Calculate the execution reference size based on the transferred increments.
Vorzugsweise umfasst die Datensammeleinheit eine Dateninterpolationseinheit zum Abschätzen des Wertes, den eine Betriebsgröße einer Peripherieeinheit bei - A -Preferably, the data collection unit comprises a data interpolation unit for estimating the value that an operation amount of a peripheral unit contributes - A -
einem gegebenen Wert der Ablaufreferenzgröße hat, anhand von in Zuordnung zu diesem gegebenen Wert benachbarten Werten der Ablaufreferenzgröße gespeicherten Werten der Betriebsgröße. Dadurch wird die Möglichkeit geschaffen, der Ausführungseinheit wenigstens einen Schätzwert jeder Betriebsgröße zu ei- nem beliebigen Wert der Ablaufreferenzgröße zu liefern. Das heißt, es kann ein vollständiger Satz von Betriebsgrößen zu einem gegebenen Wert der Ablaufreferenzgröße bereitgestellt werden, selbst wenn nicht alle Betriebsgrößen zu diesem Wert der Ablaufreferenzgröße gemessen worden sind. Es ist unmittelbar einleuchtend, dass auf diese Weise eine hochgenaue Steuerung realisierbar ist.has a given value of the expiration reference size based on values of the operation amount stored in association with said given value of the expiration reference value. This creates the possibility of providing the execution unit with at least one estimated value of each operating variable at an arbitrary value of the execution reference variable. That is, a complete set of operational quantities may be provided at a given value of the expiration reference, even if not all operational metrics have been measured for this expiration reference value. It is immediately obvious that in this way a highly accurate control is feasible.
Die Interpolationseinheit kann eine Interpolation im engeren Sinne, das heißt mit Stützpunkten bei jeweils wenigstens einem Wert der Ablaufreferenzgröße, der kleiner als der gegebene Wert ist, und wenigstens einem Wert der Ablaufreferenzgröße, der größer als der gegebene Wert ist, sein; es kommt aber auch eine Extrapolation, das heißt eine Abschätzung basierend auf Stützpunkten für Werte der Ablaufreferenzgröße, die sämtlich kleiner als der gegebene Wert sind, in Betracht.The interpolation unit may be interpolation in the strict sense, that is, with vertices at each of at least one value of the expiration reference size smaller than the given value, and at least one value of the expiration reference value larger than the given value; however, extrapolation, that is to say an estimate based on interpolation points for values of the sequence reference variable, which are all smaller than the given value, is also possible.
Die Datensammeleinheit umfasst vorzugsweise eine Speichermatrix mit Zeilen und Spalten, wobei Werte einer gleichen Betriebsgröße einer gleichen Peripherieeinheit in einer gleichen Zeile gespeichert sind und einem gleichen Wert der Ablaufreferenzgröße entsprechende Werte der Betriebsgrößen in einer gleichen Spalte gespeichert sind.The data collection unit preferably comprises a memory array having rows and columns, wherein values of a same operation size of a same peripheral unit are stored in a same row and values of the operation quantities corresponding to an equal value of the execution reference variable are stored in a same column.
Das erfindungsgemäße Mikrocontrollersystem kann insbesondere Teil eines Motorsteuergerätes sein.The microcontroller system according to the invention may in particular be part of an engine control unit.
Das Ziel der Erfindung wird ferner erreicht durch ein Verfahren zum Bereitstellen von konsistenten Werten verschiedener Betriebsgrößen in einem Mikrocontrol- lersystem, insbesondere einem Mikrocontrollersystem wie oben definiert, mit denThe object of the invention is further achieved by a method for providing consistent values of different operating variables in a microcontroller system, in particular a microcontroller system as defined above, with the
Schritten: a) Erfassen von jeweils einem gleichen Wert einer Ablaufreferenzgröße entsprechenden Werten von Betriebsgrößen mehrerer Peripherieeinheiten, und b) Zusammenfassen der in Schritt a) erfassten Werte der Betriebsgrößen in einem Datensatz.Steps: a) detecting values of operating variables of a plurality of peripheral units corresponding in each case to an equal value of a sequence reference variable, and b) summarizing the values of the operating variables acquired in step a) in a data record.
Ein in dem Datensatz fehlender Wert wenigstens einer Betriebsgröße kann er- gänzt werden durch Berechnen anhand von wenigstens zwei Werten derselbenA missing value of at least one operating variable in the data record can be supplemented by calculating based on at least two values of the same
Betriebsgröße, die in anderen Werten der Ablaufreferenzgröße zugeordneten Datensätzen enthalten sind. Diese Berechnung kann zur Zeit der Erzeugung des Datensatzes stattfinden, so dass der ergänzte Wert sofort verfügbar ist, wenn auf den Datensatz zugegriffen wird; sie kann aber auch erst erfolgen, falls und wenn auf den Datensatz zugegriffen wird.Operational size contained in other values of the expiration reference. This calculation may take place at the time of generation of the record so that the supplemented value is immediately available when the record is accessed; It can also be done only if and when the record is accessed.
Entsprechend kann auch ein Datensatz zu einem vorgegebenen Wert der Ablaufreferenzgröße komplett neu erzeugt werden, indem für jede Betriebsgröße des Datensatzes ein Wert anhand von wenigstens zwei Werten derselben Betriebs- große berechnet wird, die in anderen Werten der Ablaufreferenzgröße zugeordneten Datensätzen enthalten sind.Correspondingly, a data set for a predefined value of the execution reference variable can also be generated completely new by calculating a value for each operation variable of the data record on the basis of at least two values of the same operation size contained in other data records assigned to the execution reference variable.
Dabei kann in Schritt a) ein Triggersignal als ein Ablaufreferenzsignal an die Peripherieeinheiten gesendet werden, wenn die Ablaufreferenzgröße einen gege- benen Wert erreicht, und die Betriebsgrößen werden jeweils an Peripherieeinheiten gemessen, wenn dort das Triggersignal empfangen wird. Ein solches Verfahren hat den Vorteil der Einfachheit, berücksichtigt aber nicht ohne Weiteres unterschiedliche Reaktionszeiten verschiedener Peripherieeinheiten auf das Triggersignal. Außerdem sollte der Zeitabstand zwischen zwei Triggersignalen bei diesem Verfahren deutlich länger sein als die Reaktionszeit der Peripherieeinheiten, damit alle auf ein erstes Triggersignal hin erzeugten Messwerte vorliegen, bevor ein zweites Triggersignal erzeugt wird, und keine Schwierigkeiten bei der Zuordnung der erfassten Werte zu den Datensätzen bzw. Triggersignalen entstehen.In this case, in step a), a trigger signal may be sent to the peripheral units as a trace reference signal when the trace reference variable reaches a given value, and the operational quantities are respectively measured at peripheral units when the trigger signal is received there. Such a method has the advantage of simplicity, but does not readily take into account different response times of different peripheral units to the trigger signal. In addition, the time interval between two trigger signals in this method should be significantly longer than the reaction time of the peripheral units, so that all measured values generated before a first trigger signal are present before a second trigger signal is generated, and no difficulties in the assignment of the detected values to the data sets or Trigger signals are generated.
Einer weiterentwickelten Ausgestaltung zufolge überwacht in Schritt a) jede Peripherieeinheit das für die Ablaufreferenzgröße quantitativ repräsentative Ablaufreferenzsignal und misst wenigstens eine Betriebsgröße, wenn die Ablaufreferenzgröße einen gegebenen Wert erreicht. Diese Ausgestaltung bietet insbesondere die Möglichkeit, unterschiedliche Reaktionszeiten verschiedener Peripherieein- heiten zu berücksichtigen, indem der gegebene Wert für die einzelnen Peripherieeinheiten entsprechend ihrer Reaktionszeiten unterschiedlich festgelegt wird.According to a further developed embodiment, in step a), each peripheral unit monitors the flow reference signal quantitatively representative of the flow reference variable and measures at least one operation amount when the flow reference variable reaches a given value. In particular, this embodiment offers the possibility of different reaction times of different peripheral devices. to take account of the given value for the individual peripheral units according to their reaction times differently.
Einer weiter bevorzugten Ausgestaltung zufolge misst in Schritt a) jede Periphe- rieeinheit gleichzeitig mit der Messung wenigstens einer Betriebsgröße die Ablaufreferenzgröße und übergibt die gemessenen Werte an eine Sammeleinheit, und ein Wert der wenigstens einen Betriebsgröße, der einem vorgegebenen Wert der Ablaufreferenzgröße entspricht, wird anhand von für diesem vorgegebenen Wert benachbarte Werte der Ablaufreferenzgröße gemessenen Werten der Be- triebsgröße abgeschätzt. Die Abschätzung kann in der Sammeleinheit selbst o- der auch in der von ihr Daten anfordernden Ausführungseinheit vorgenommen werden. Durch die Verknüpfung von Messwerten der Betriebsgröße und der Ablaufreferenzgröße in der Peripherieeinheit ist sichergestellt, dass unabhängig von Übertragungsverzögerungen zwischen den Peripherieeinheiten und der Daten- sammeleinheit eine Zusammenfassung von zu einem gleichen Wert der Ablaufreferenzgröße erfassten Betriebsgrößen stets möglich ist.According to a further preferred embodiment, in step a), each peripheral unit measures the expiration reference amount simultaneously with the measurement of at least one operation amount and transfers the measured values to a collection unit, and a value of the at least one operation amount corresponding to a predetermined value of the expiration reference is determined is estimated from values of the operating variable measured adjacent to this value of the sequence reference variable. The estimation can be made in the collection unit itself or in the execution unit requesting its data. By linking measured values of the operating variable and the sequence reference variable in the peripheral unit, it is ensured that, regardless of transmission delays between the peripheral units and the data collection unit, it is always possible to combine operating variables acquired to the same value of the execution reference variable.
Ein für die Ablaufreferenzgröße repräsentatives Ablaufreferenzsignal wird vorzugsweise an alle Peripherieeinheiten verteilt.A flow reference signal representative of the flow reference variable is preferably distributed to all peripheral devices.
Weitere Merkmale und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen unter Bezugnahme auf die beigefügten Figuren. Es zeigen:Further features and advantages of the invention will become apparent from the following description of embodiments with reference to the accompanying figures. Show it:
Fig. 1 ein Blockdiagramm eines Mikrocontrollersystems gemäß einer ersten1 is a block diagram of a microcontroller system according to a first
Ausgestaltung der Erfindung;Embodiment of the invention;
Fig. 2 ein Beispiel einer Speicherbelegung in der Datensammeleinheit des Mikrocontrollersystems der Fig. 1;Fig. 2 is an example of a memory map in the data collection unit of the microcontroller system of Fig. 1;
Fig. 3 ein Flussdiagramm eines von der Datensammeleinheit während der Kommunikation mit der Ausführungseinheit ausgeführten Verfahrens;FIG. 3 is a flowchart of a method performed by the data collection unit during communication with the execution unit; FIG.
Fig. 4 ein Blockdiagramm des Mikrocontrollersystems gemäß einer zweiten Ausgestaltung der Erfindung; und Fig. 5 ein Beispiel einer Speicherbelegung in der Datensammeleinheit des Mik- rocontrollersystems der Fig. 4.4 is a block diagram of the microcontroller system according to a second embodiment of the invention; and 5 shows an example of a memory allocation in the data collection unit of the microcontroller system of FIG. 4.
Fig. 1 zeigt ein Blockdiagramm eines Mikrocontrollersystems gemäß einer erstenFig. 1 shows a block diagram of a microcontroller system according to a first
Ausgestaltung der Erfindung. Mit einem Mikrocontroller 1 sind ein Zeitgeber 2 und eine Datensammeleinheit 3 in einer Baueinheit 4 zusammengefasst. Mit dieser Baueinheit 4 wirken diverse Peripherieeinheiten 5 zusammen, die dazu dienen, Betriebsgrößen einer von dem Mikrocontrollersystem 1 gesteuerten Ma- schine, insbesondere eines Verbrennungsmotors, zu messen und Messwerte an den Mikrocontroller 1 zu liefern. Weitere Peripherieeinheiten, die dazu dienen, Stellgrößen der Maschine gemäß Vorgaben vom Mikrocontroller 1 einzustellen, sind in der Fig. 1 weggelassen, da sie für das Verständnis der Erfindung nicht erforderlich sind.Embodiment of the invention. With a microcontroller 1, a timer 2 and a data collection unit 3 are combined in a structural unit 4. Various peripheral units 5, which serve to measure operating variables of a machine controlled by the microcontroller system 1, in particular of an internal combustion engine, and to supply measured values to the microcontroller 1 cooperate with this module 4. Other peripheral units that serve to adjust manipulated variables of the machine according to specifications of the microcontroller 1, are omitted in Fig. 1, since they are not required for the understanding of the invention.
In der in Fig. 1 gezeigten Ausgestaltung liefert der Zeitgeber 2 ein Taktsignal CLK direkt an den Mikrocontroller 1 und ein durch Frequenzteilung des Taktsignals erhaltenes Triggersignal TR an die Peripherieeinheiten 5 und die Datensammeleinheit 3. Die Peripherieeinheiten 5 reagieren auf den Empfang des Trig- gersignals durch Abtasten und Digitalisieren des aktuellen Wertes einer von ihnen überwachten Zustandsgröße der Maschine und Übermitteln des erhaltenen Wertes an die Datensammeleinheit 3.In the embodiment shown in FIG. 1, the timer 2 supplies a clock signal CLK directly to the microcontroller 1 and a trigger signal TR obtained by frequency division of the clock signal to the peripheral units 5 and the data collection unit 3. The peripheral units 5 respond to the reception of the trigger signal Sampling and digitizing the current value of one of them monitored state variable of the machine and transmitting the value obtained to the data collection unit. 3
Die Datensammeleinheit 3 umfasst einen als eine Matrix mit einer Mehrzahl von Zeilen und Spalten organisierten Speicherbereich 6. Jeder von den Peripherieeinheiten 5 überwachten Betriebsgröße der Maschine ist eine Zeile der Matrix zugeordnet, in welcher die Messwerte der entsprechenden Betriebsgröße gespeichert werden; eine weitere Zeile kann vorgesehen sein, um Werte der Zeit zu den jeweiligen Erfassungszeitpunkten zu speichern. Jedem Erfassungszeitpunkt wiederum ist eine Spalte der Matrix zugeordnet, in welche die jeweils auf ein an dem Erfassungszeitpunkt ausgesandtes Triggersignal hin zurückgelieferten Messwerte der Betriebsgrößen eingetragen werden. Auf diese Weise werden die Spalten der Reihe nach gefüllt, und wenn alle Spalten des Speicherbereiches 6 belegt sind, wird mit neuen Messwerten jeweils diejenige Spalte, die die ältesten Messwerte enthält, überschrieben. Der Zeitpunkt, der zu einem Messwert gehört, ist anhand seiner Zugehörigkeit zu einer Spalte ermittelbar, oder er wird explizit in die Spalte eingetragen. Hierzu kann die Datensammeleinheit einen (nicht dargestellten) Zähler aufweisen, der die Triggersignale zählt und dessen Inhalt somit für die Zeit repräsentativ ist.The data collection unit 3 comprises a memory area 6 organized as a matrix having a plurality of rows and columns. Each operating quantity of the machine monitored by the peripheral units 5 is associated with a row of the matrix in which the measured values of the corresponding operating quantity are stored; another line may be provided to store values of the time at the respective detection times. Each detection time, in turn, is assigned a column of the matrix into which the measured values of the operating variables returned to a trigger signal emitted at the detection time point are entered. In this way, the columns are filled in sequence, and if all columns of memory area 6 are occupied, new measurements overwrite the column containing the oldest measurements. The time that belongs to a reading is determined by its membership in a column, or it is explicitly entered in the column. For this purpose, the data collection unit may have a counter (not shown) which counts the trigger signals and whose contents are thus representative of the time.
Die Speicherung der Messwerte in dem Speicherbereich 6 gibt dem Mikrocontrol- ler 1 die Möglichkeit, Werte von Betriebsgrößen anstatt direkt von den Peripherieeinheiten 5 auch indirekt, von der Datensammeleinheit 3, abzufragen und dabei jeweils einen Zeitpunkt, dem die Werte entsprechen sollen, zu spezifizieren, so dass zeitlich konsistente Werte im Mikrocontroller 1 verarbeitet werden können.The storage of the measured values in the memory area 6 gives the microcontroller 1 the possibility of interrogating values of operating variables also indirectly, from the data collecting unit 3, directly from the peripheral units 5 and in each case specifying a point in time at which the values should correspond; so that time-consistent values in the microcontroller 1 can be processed.
Einer einfachen Ausgestaltung zufolge sind die Zeitpunkte, für die der Mikrocontroller 1 Messwerte aus der Datensammeleinheit 3 abfragen kann, die den einzel- nen Spalten des Speicherbereichs 6 entsprechenden Zeitpunkte, bzw. eine Anfrage des Mikrocontrollers 1 nach Messwerten, die einem Zeitpunkt zwischen den Zeitpunkten von zwei benachbarten Spalten entspricht, wird mit den Werten einer der zwei Spalten beantwortet. Alternativ kann der Datensammeleinheit 3 eine Interpolationseinheit 7 zugeordnet sein, die als Antwort auf eine einem Zeit- punkt zwischen den Zeitpunkten von zwei benachbarten Spalten entsprechendeAccording to a simple embodiment, the times for which the microcontroller 1 can interrogate measured values from the data collection unit 3 are the times corresponding to the individual columns of the memory area 6, or a request from the microcontroller 1 for measured values which corresponds to a time between the times of two adjacent columns is answered with the values of one of the two columns. Alternatively, the data collection unit 3 may be assigned an interpolation unit 7 that responds in response to a time corresponding to a time between the times of two adjacent columns
Anfrage des Mikrocontrollers 1 Werte zurückliefert, die zwischen den Messwerten der zwei Spalten interpoliert sind. Falls keine Spalte existiert, die einem Zeitpunkt nach dem abgefragten Zeitpunkt entspricht, kann die Interpolationseinheit 7 Messwerte für den abgefragten Zeitpunkt auch durch Extrapolation anhand von Messwerten aus wenigstens zwei Spalten erzeugen, die jeweils Zeitpunkten vor dem abgefragten Zeitpunkt entsprechen.Request from the microcontroller 1 returns values interpolated between the readings of the two columns. If no column exists which corresponds to a time after the requested time, the interpolation unit 7 can also generate measured values for the requested time point by extrapolation on the basis of measured values from at least two columns, which respectively correspond to times before the requested time.
Einer weiterentwickelten, ebenfalls mit Bezug auf Fig. 1 beschriebenen Ausgestaltung zufolge verfügen die Peripherieeinheiten 5 jeweils über lokale Zeitgeber 8, und das Triggersignal TR hat lediglich die Funktion, zu einem gegebenen Zeitpunkt die lokalen Zeitgeber 8 auf einen gemeinsamen Ausgangswert zu synchronisieren. Da eine solche Synchronisation wesentlich seltener erforderlich ist als das Triggern der Messvorgänge gemäß der ersten Ausgestaltung, kann Kommunikationsbandbreite zwischen der zentralen Baueinheit 4 und den Peri- pherieeinheiten 5 eingespart werden. Insbesondere besteht die Möglichkeit, den Synchronisationsbefehl als ein Datenpaket auf einem Bus zwischen der zentralen Baueinheit 4 und den Peripherieeinheiten 5 zu übertragen; eine eigene Signalleitung für das Triggersignal wird nicht benötigt. Das auf dem Bus eingesetzte Kommunikationsprotokoll sollte eine Broadcast- Funktionalität, d.h. den Empfang eines einzigen Datenpakets durch eine Vielzahl von Peripherieeinheiten 5 gleichzeitig, unterstützen. Dadurch ist es möglich, durch einmaliges Senden eines Synchronisations- Datenpakets alle Peripherieeinheiten 5 untereinander exakt zu synchronisieren, was für die Konsistenz der Messwerte, die sie liefern sollen, wichtig ist.According to a further developed embodiment, also described with reference to FIG. 1, the peripheral units 5 each have local timers 8, and the trigger signal TR has only the function of synchronizing the local timers 8 to a common output value at a given time. Since such a synchronization is required much less frequently than the triggering of the measurement processes according to the first embodiment, communication bandwidth between the central assembly 4 and the peripheral units 5 can be saved. In particular, there is the possibility of the To transmit synchronization command as a data packet on a bus between the central unit 4 and the peripheral units 5; a separate signal line for the trigger signal is not required. The communication protocol used on the bus should support broadcast functionality, ie the receipt of a single data packet by a plurality of peripheral units 5 simultaneously. This makes it possible to synchronize all peripheral units 5 with each other exactly by sending a synchronization data packet once, which is important for the consistency of the measured values that they are to deliver.
Um Messwerte der Betriebsgrößen zu gewinnen und von den Peripherieeinheiten an die Datensammeleinheit 3 zu übertragen, gibt es verschiedene Ansätze, die in einem Mikrocontrollersystem allein oder auch in Kombination miteinander realisiert werden können.In order to obtain measured values of the operating variables and to transmit them from the peripheral units to the data collecting unit 3, there are various approaches that can be implemented in a microcontroller system alone or in combination with one another.
Ein erster Ansatz ist, die Peripherieeinheiten 5 durch Zusendung eines Konfigurationsbefehls zu konfigurieren, d.h. eines Datenpaketes, das einen Zeitabstand zwischen zwei aufeinander folgenden Messungen sowie evtl. einen Zeitoffset der ersten Messung gegenüber dem Synchronisationsbefehl enthält. Eine durch ei- nen solchen Befehl konfigurierte Peripherieeinheit 5 liefert in den spezifiziertenA first approach is to configure the peripheral units 5 by sending a configuration command, i. a data packet containing a time interval between two consecutive measurements and possibly a time offset of the first measurement compared to the synchronization command. A peripheral unit 5 configured by such a command supplies in the specified one
Zeitabständen Datenpakete an die Datensammeleinheit 3, die einen Messzeitpunkt und wenigstens einen zu dem Messzeitpunkt von der betreffenden Einheit 5 aufgenommenen Messwert enthalten. Eine eventuell je nach Typ der Peripherieeinheit 5 unterschiedliche Verzögerung zwischen dem Beginn eines Messvor- ganges und dem Zeitpunkt, an welchem die Messgröße tatsächlich erfasst wird, kann beim Konfigurieren berücksichtigt werden, indem Peripherieeinheiten 5, die unterschiedliche Verzögerungen aufweisen, mit unterschiedlichen Zeitoffset- Werten konfiguriert werden, die diese Verzögerungen berücksichtigen. Dies setzt allerdings voraus, dass der Mikrocontroller 1, wenn er die Konfigurationsbefehle sendet, die Verzögerungen kennt. Alternativ ist es möglich, einer solchen Verzögerung jeweils in den einzelnen Peripherieeinheiten 5 Rechnung zu tragen, indem jede Peripherieeinheit 5 einen Messvorgang jeweils rechtzeitig vor dem durch die Konfigurierung festgelegten Zeitpunkt beginnt, so dass der erhaltene Messwert tatsächlich diesem festgelegten Zeitpunkt entspricht. Ein zweiter Ansatz ist, einen Messvorgang an einer Peripherieeinheit 5 jeweils durch Zusendung eines Datenpakets an die betreffende Einheit auszulösen, das den vom Mikrocontroller 1 gewünschten Zeitpunkt der Messung spezifiziert. Ein solches Paket wird so früh vor dem gewünschten Messzeitpunkt abgeschickt, dass es trotz möglicher Wartezeiten bei der Übertragung auf dem Bus rechtzeitig vor dem Messzeitpunkt an der Peripherieeinheit eintrifft. Es kann an mehrere Peripherieeinheiten 5 gleichzeitig adressiert werden, die gleichzeitig eine Messung durchführen sollen. Wenn die Zeitspanne zwischen dem Absenden eines Datenpakets an die Peripherieeinheiten 5 und der Lieferung der Messwerte von den Peripherieeinheiten 5 an den Mikrocontroller 1 klein im Vergleich zum Zeitabstand zwischen nacheinander abgesandten Datenpaketen ist, kann der Mikrocontroller 1 von den Peripherieeinheiten 5 gelieferte Messwerte jeweils dem im Datenpaket spezifizierten Messzeitpunkt zuordnen, ohne dass eine Zeitinformation zusammen mit den Messwerten von den Peripherieeinheiten 5 an den Mikro- Controller 1 übertragen werden muss. Wenn eine zeitliche Überschneidung möglich ist, kann vorgesehen werden, dass der Mikrocontroller jedes Datenpaket mit einer Kennung versieht, und dass die Peripherieeinheiten zusammen mit den in Reaktion auf das Datenpaket gewonnenen Messwerten dessen Kennung zurückliefern, um dem Mikroprozessor die Zuordnung der Messwerte zum richtigen Messzeitpunkt zu ermöglichen.Periods of data packets to the data collection unit 3, which include a measurement time and at least one recorded at the measurement time of the unit 5 measured value. Any delay, depending on the type of peripheral unit 5, between the beginning of a measurement process and the instant at which the measured variable is actually detected can be taken into account in the configuration by configuring peripheral units 5 having different delays with different time offset values be aware of these delays. However, this presupposes that the microcontroller 1, when sending the configuration commands, knows the delays. Alternatively, it is possible to take account of such a delay in each of the individual peripheral units 5, in that each peripheral unit 5 starts a measuring process in each case in good time before the time specified by the configuration, so that the measured value obtained actually corresponds to this specified time. A second approach is to initiate a measurement process on a peripheral unit 5 by sending a data packet to the relevant unit which specifies the time of measurement desired by the microcontroller 1. Such a packet is sent so early before the desired measurement time that it arrives at the peripheral unit in good time before the measurement time despite possible waiting times during the transmission on the bus. It can be addressed simultaneously to a plurality of peripheral units 5, which should simultaneously perform a measurement. If the time span between the sending of a data packet to the peripheral units 5 and the delivery of the measured values from the peripheral units 5 to the microcontroller 1 is small in comparison to the time interval between consecutively sent data packets, the microcontroller 1 can supply the measured values supplied by the peripheral units 5 in the data packet Assign specified measuring time without a time information must be transmitted together with the measured values from the peripheral units 5 to the microcontroller 1. If a temporal overlap is possible, it can be provided that the microcontroller provides each data packet with an identifier, and that the peripheral units, together with the measured values obtained in response to the data packet, return its identifier in order to allocate the measured values to the microprocessor at the correct measurement time enable.
Fig. 2 zeigt exemplarisch eine Belegung des Speicherbereiches 6, die sich aus der oben beschriebenen Arbeitsweise des Mikrocontrollersystems ergeben kann. Eine erste Zeile der Matrixanordnung bezeichnet Zeitpunkte ti, t2, ..., tn von Mes- sungen. Die anderen Zeilen enthalten jeweils, soweit vorhanden, Messwerte g,(tj), i=l, ..., m, j=l, ..., n der Betriebsgröße g, zur Zeit t,. Jede Speicherzelle mit ungültigem Inhalt, d.h. eine Speicherzelle, die keinen Messwert enthält, der dem Messzeitpunkt der Spalte entspricht, zu dem die Speicherzelle gehört, ist mit X gekennzeichnet. Die Kennzeichnung als ungültig kann erfolgen, indem ein hierfür an jeder Speicherzelle vorgesehenes Kennzeichnungsbit gesetzt wird, oder indem die Speicherzelle mit einem Wert beschrieben wird, der als Messwert nicht zulässig ist.FIG. 2 shows, by way of example, an allocation of the memory area 6, which can result from the above-described operation of the microcontroller system. A first row of the matrix arrangement designated time points ti, t 2, ..., t n solutions of MES. The other lines contain, if present, measured values g, (t j ), i = 1,..., M, j = 1,..., N of the operating variable g, at time t ,. Each memory cell with invalid content, ie a memory cell containing no measured value corresponding to the measurement time of the column to which the memory cell belongs, is marked with X. The invalidation can be made by setting an identification bit provided for this purpose on each memory cell or by describing the memory cell with a value which is not permitted as a measured value.
Im Beispiel der Fig. 2 sind die Peripherieeinheiten 5 so konfiguriert, dass Mess- werte der Betriebsgrößen g, mit ungeradzahligem Index i zu Zeiten tj mit unge- radzahligem Index j bzw. Messwerte von Größen g, mit geradzahligem Index i zu Zeitpunkten t, mit geradzahligem Index j geliefert werden. Indem nicht sämtliche Betriebsgrößen gleichzeitig gemessen und an die Datensammeleinheit 3 übertragen werden, wird eine gleichmäßigere Auslastung des Busses zwischen den Peripherieeinheiten 5 und der Datensammeleinheit 3 erreicht, und Wartezeiten, die zwischen der Messung einer Größe und ihrer Übertragung auf den Bus auftreten können, werden gering gehalten. Dabei obliegt es der Aufmerksamkeit eines Programmierers, die Messzeitpunkte verschiedener Betriebsgrößen nach Möglichkeit so festzulegen, dass Messwerte verschiedener Größen, die, um kor- rekt weiter verarbeitet werden zu können, auf einen gleichen Zeitpunkt bezogen sein müssen, nach Möglichkeit gleichzeitig gemessen werden.In the example of FIG. 2, the peripheral units 5 configured so that measured values of the operating variables g, i of odd index j at times t with un- radians index j or measured values of quantities g, with even-numbered index i at times t, with even-numbered index j. By not simultaneously measuring and transmitting all operation quantities to the data collection unit 3, a more uniform bus load is achieved between the peripheral units 5 and the data collection unit 3, and waiting times that can occur between the measurement of a size and its transfer to the bus become small held. It is the attention of a programmer to determine the measurement times of different operating variables as far as possible in such a way that measured values of different sizes, which, in order to be able to be further processed correctly, must be related to the same time, are measured simultaneously if possible.
Es liegt auf der Hand, dass eine Vielzahl anderer Belegungen des Speicherbereiches 6 im Rahmen der Erfindung möglich sind, so etwa der bei der oben be- schriebenen ersten Ausgestaltung auftretende Extremfall, dass jede Spalte desIt is obvious that a multiplicity of other assignments of the memory area 6 are possible within the scope of the invention, such as the extreme case occurring in the first embodiment described above, that each column of the memory area 6
Speicherbereiches 6 einen kompletten Satz von Werten der Betriebsgrößen gi bis gm zu einem Zeitpunkt tj enthält, oder der entgegengesetzte Extremfall, dass die Peripherieeinheiten 5 allesamt zu verschiedenen Zeiten abgefragt werden, mit der Folge, dass jede Spalte des Speicherbereiches 6 außer der Zeitangabe lediglich einen einzigen Messwert enthält, während alle übrigen Speicherplätze als ungültig gekennzeichnet sind.Memory area 6 contains a complete set of values of the operating variables gi to g m at a time t j , or the opposite extreme case that the peripheral units 5 are queried all at different times, with the result that each column of the memory area 6 except the time only contains a single measured value, while all other memory locations are marked as invalid.
Fig. 3 zeigt ein Flussdiagramm einer in der Datensammeleinheit 3 ablaufenden Verarbeitung im Falle einer Anforderung des Mikrocontrollers 1 nach einem Wert der in dem Speicherbereich 6 gespeicherten Größe g, zu einem Zeitpunkt t. DerFIG. 3 shows a flowchart of a processing taking place in the data collection unit 3 in the case of a request of the microcontroller 1 for a value of the quantity g stored in the memory area 6, at a time t. Of the
Zeitpunkt t kann einer der Zeitpunkte t, , j=l, 2, ... sein, zu denen Messwerte wenigstens bestimmter Betriebsgrößen vorliegen, er kann aber auch beliebig zwischen zwei solchen Zeitpunkten liegen. Die Datensammeleinheit 3 prüft in Schritt Sl, ob ein Messwert g,(t) der Größe g, zum angegebenen Zeitpunkt t im Spei- cherbereich 6 vorhanden ist. Wenn dies der Fall ist, geht das Verfahren unmittelbar zu Schritt S4 über, in welchem der betreffende Messwert g,(t) ausgegeben wird. Wenn ein Messwert für g,(t) nicht vorhanden ist, sei es, weil eine dem Zeitpunkt t entsprechende Spalte im Speicherbereich 6 insgesamt fehlt, oder weil eine solche Spalte zwar vorhanden ist, aber für die Größe g, keinen Messwert ent- hält, geht das Verfahren über zu Schritt S2, in welchem die der Größe g, zuge- ordnete Zeile des Speicherbereiches 6 nach Messwerten abgesucht wird und dem gewünschten Zeitpunkt benachbarte Zeitpunkte t+, t unter den Zeitpunkten t, , j=l, 2, ... ermittelt und diesen Zeitpunkten t+, t entsprechende Messwerte g,(t+), g,(t) gelesen werden. In Schritt S3 wird g,(t) anhand der vorgefundenen Zeitpunk- te und Messwerte durch lineare oder nichtlineare Interpolation oder einen anderen geeigneten Algorithmus abgeschätzt. Das Ergebnis der Interpolation wird in Schritt S4 ausgegeben.Time t can be one of the times t,, j = 1, 2,..., For which measured values of at least certain operating variables are present, but it can also be arbitrary between two such times. In step S1, the data collection unit 3 checks whether a measured value g, (t) of the size g is present in the storage area 6 at the given time t. If this is the case, the method immediately proceeds to step S4, in which the relevant measured value g, (t) is output. If a measured value for g, (t) does not exist, it is because a column corresponding to the time t is missing altogether in the memory area 6, or because such a column is present, but for the quantity g, contains no measured value, the method goes to step S2, in which the size g, added to ordered line of the memory area 6 is searched for measured values and the desired time adjacent points in time t + , t at the times t,, j = l, 2, ... determined and these times t + , t corresponding measured values g, (t + ) , g, (t) are read. In step S3, g, (t) is estimated on the basis of the given times and measured values by linear or non-linear interpolation or another suitable algorithm. The result of the interpolation is output in step S4.
Es kann ein Schritt S5 vorgesehen werden, in welchem der interpolierte Wert in die der Zeit t entsprechende Spalte des Speicherbereiches 6 nachgetragen wird, so dass sie bei neuerlichen Zugriffen so lange sofort verfügbar ist, bis die betreffende Spalte turnusgemäß mit neuen Daten überschrieben wird.A step S5 may be provided, in which the interpolated value is added to the column of the memory area 6 corresponding to the time t, so that it is immediately available for new accesses until the column concerned is regularly overwritten with new data.
Je nach Anwendung des Mikroprozessorsystems können neben der Zeit auch andere Referenzgrößen geeignet sein, um zusammen zu verarbeitende Werte von veränderlichen Betriebsgrößen zu identifizieren. Generell ist jede beliebige Größe als Referenzgröße geeignet, die sich mit der Zeit monoton in eine gleiche Richtung entwickelt, wobei die Werte der betreffenden Größe sich auch periodisch wiederholen dürfen, sofern die Periode lang genug ist, so dass nicht zwei Spalten des Speicherbereiches 6 zu gleichen Werten der Referenzgröße gehörende, aber zu verschiedenen Zeitpunkten aufgenommene Messwerte enthalten können. Für die Steuerung von Drehbewegungen oder anderen periodisch wiederkehrenden Vorgängen ist als Referenzgröße insbesondere ein auf die Periode des Vorganges bezogener Phasenwinkel geeignet.Depending on the application of the microprocessor system, other reference variables may be suitable in addition to the time in order to identify values of variable operating variables to be processed together. In general, any size is suitable as a reference variable, which monotonically develops in the same direction over time, and the values of the relevant variable may also be repeated periodically, as long as the period is long enough so that two columns of the memory area 6 are not identical Values belonging to the reference variable but may be included at different times. For the control of rotational movements or other periodically recurring processes, the reference variable is, in particular, suitable for a phase angle related to the period of the process.
Fig. 4 veranschaulicht dies an einem Blockdiagramm einer dritten Ausgestaltung des erfindungsgemäßen Mikrocontrollersystems. Elemente des Mikrocontroller- systems aus Fig. 4, die solchen des Systems aus Fig. 1 entsprechen, sind mit den gleichen Bezugszeichen versehen und werden nicht erneut erläutert. Unter den Peripherieeinheiten 5 des Mikrocontrollersystems von Fig. 4 befindet sich einFIG. 4 illustrates this in a block diagram of a third embodiment of the microcontroller system according to the invention. Elements of the microcontroller system of FIG. 4 corresponding to those of the system of FIG. 1 are denoted by the same reference numerals and will not be explained again. Among the peripheral units 5 of the microcontroller system of Fig. 4 is a
Winkelsensor 5', der zur Überwachung beispielsweise des Drehwinkels einer Kurbelwelle eines von dem Mikrocontrollersystem gesteuerten Motors dient. Der Winkelsensor 5' liefert Messwerte des Kurbelwellenwinkels über einen Kanal 10 an die Datensammeleinheit 3 und an die übrigen Peripherieeinheiten 5. Der Ka- nal 10 kann eine ausschließlich der Übertragung der Drehwinkelinformation vor- behaltene Leitung sein, auf der der Drehwinkelsensor 5' beispielsweise bei jeder Zunahme des Drehwinkels um einen vorgegebenen Wert einen Impuls aussendet, der von den übrigen Peripherieeinheiten 5 und der Datensammeleinheit 3 gezählt wird, so dass ein aktueller Drehwinkelwert an allen Einheiten 3, 5 in glei- eher Weise zur Verfügung steht. Alternativ kann der Kanal 10 auch ein logischerAngle sensor 5 ', which serves for monitoring, for example, the angle of rotation of a crankshaft of a controlled by the microcontroller system engine. The angle sensor 5 'supplies measured values of the crankshaft angle via a channel 10 to the data collection unit 3 and to the remaining peripheral units 5. The channel 10 can be used exclusively for transmitting the rotational angle information. retained line on which the rotation angle sensor 5 'emits, for example, with each increase in the rotation angle by a predetermined value, a pulse which is counted by the remaining peripheral units 5 and the data collection unit 3, so that a current rotation angle value on all units 3, 5 in glei - rather way is available. Alternatively, the channel 10 may also be a logical one
Kanal auf einer auch für die Übertragung anderer Informationen zwischen den Einheiten 3, 5 im Multiplex genutzten Leitung sein. Insbesondere wenn der Kanal 10 auf einer im Zeitmultiplex genutzten Leitung implementiert ist, wird in jedem zu dem Kanal 10 gehörenden Zeitfenster zweckmäßigerweise ein digitaler Da- tenwert übertragen, der den aktuellen Kurbelwellendrehwinkel quantitativ angibt, denn da die Drehgeschwindigkeit der Kurbelwelle aufgrund des Wechsels zwischen Kompression und Dekompression der Zylinder im Laufe eines Arbeitszyklus des Motors variiert, treten zwischen aufeinanderfolgenden Zeitfenstern des Kanals 10 unterschiedliche Änderungen des Drehwinkels auf.Channel on a also used for the transmission of other information between the units 3, 5 in the multiplexed line. In particular, if the channel 10 is implemented on a time division multiplexed line, in each time slot associated with the channel 10 a digital data value is advantageously transmitted which quantitatively indicates the current crankshaft rotation angle, since the speed of rotation of the crankshaft due to the change between compression and Decompression of the cylinder varies over a cycle of operation of the engine, occur between successive slots of the channel 10 different changes in the angle of rotation.
Wie in der Ausgestaltung der Fig. 1 sind die Peripherieeinheiten 5 durch den Mik- rocontroller 1 konfigurierbar, um jeweils bei vorgegebenen Werten des Drehwinkels oder nach einer vorgegebenen Änderung des Drehwinkels einen Messwert der von ihm überwachten Betriebsgröße zu liefern. Einer einfachen Ausge- staltung zufolge erfüllen sie diese Anforderung näherungsweise, indem sie denAs in the embodiment of FIG. 1, the peripheral units 5 can be configured by the microcontroller 1 in order in each case to supply a measured value of the operating variable monitored by it at predetermined values of the rotation angle or after a predetermined change in the rotation angle. In a simple design, they approximate this requirement by using the
Messwert dann erzeugen, wenn ein vom Winkelsensor 5' gemeldeter aktueller Winkelwert den vom Mikrocontroller 1 vorgegebenen soeben überschreitet, und liefern jeweils Datenpakete an die Sammeleinheit 3, die in Zuordnung zu dem vom Winkelsensor 5' gemeldeten aktuellen Winkelwert den bei diesem Winkel- wert gemessenen Wert der Messgröße enthalten.Generate the measured value when a current angle value reported by the angle sensor 5 'just exceeds the value specified by the microcontroller 1, and deliver data packets to the collecting unit 3 which, in association with the current angle value reported by the angle sensor 5', determine the value measured at this angle value the measured variable included.
Wenn der Abstand zwischen nacheinander von dem Winkelsensor 5' ausgegebenen Drehwinkelwerten klein ist, kann die aus der Abweichung des vom MikroController 1 spezifizierten Winkelwertes von dem Winkelwert der Messung resul- tierende Ungenauigkeit vernachlässigbar sein, das heißt, der gemessene Wert der Betriebsgröße kann als Wert der Betriebsgröße bei dem vom Mikrocontroller spezifizierten Winkelwert gehandhabt werden. Wenn eine höhere Genauigkeit erwünscht ist, kann der Wert der Betriebsgröße beim spezifizierten Winkelwert wie oben beschrieben durch Interpolation erhalten werden, wobei eine aufgrund des Wechsels zwischen Kompression variierende Winkelgeschwindigkeit bei der Interpolation berücksichtigt werden kann. Die Berücksichtigung kann auf einer anhand von theoretischen Berechnungen erwarteten oder einer am Motor beobachteten Schwankung der Winkelgeschwindigkeit basieren.If the distance between rotational angle values issued successively by the angle sensor 5 'is small, the inaccuracy resulting from the deviation of the angle value specified by the microcontroller 1 from the angle value of the measurement can be negligible, that is, the measured value of the operating variable can be used as the value of the Operating size are handled at the angle specified by the microcontroller angle value. When a higher accuracy is desired, the value of the operation amount at the specified angle value can be obtained by interpolation as described above, wherein an angular velocity varying due to the change between compression Interpolation can be considered. The consideration may be based on an angular velocity expected from theoretical calculations or an engine speed fluctuation observed.
Die Datensammeleinheit 3 ist an den Zeitgeber 2 angeschlossen und empfängt von diesem fortlaufend ein Zeitsignal. Indem die Datensammeleinheit 3 jedes Mal bei Empfang eines Drehwinkelwertes φj die zugehörige Empfangszeit tj aufzeichnet, beide Werte in einer Spalte des Speicherbereiches 6 einträgt und ggf. später Messwerte der Betriebsgrößen gi, ..., gm, die gepaart mit dem Zeitwert tj von den Peripherieeinheiten 5 kommend an der Sammeleinheit 3 eingehen, in die entsprechende Spalte einträgt, kann eine Belegung des Speicherbereiches 6 wie in Fig. 5 gezeigt erhalten werden. Wie mit Bezug auf Fig. 2 beschrieben, ist die Sammeleinheit 3 hier in der Lage, Werte der Betriebsgrößen g„ ..., gm zu einem vom Mikrocontroller 1 spezifizierten Zeitpunkt t unmittelbar auszugeben, wenn diese im Speicherbereich 6 vorhanden sind, oder sie durch Interpolation vom imThe data collection unit 3 is connected to the timer 2 and continuously receives a time signal from it. By recording the associated receiving time t j each time a rotational angle value φ j is received, the data collecting unit 3 enters both values in a column of the memory area 6 and possibly later on measured values of the operating variables gi,..., G m , which are paired with the time value t j entering from the peripheral units 5 at the collecting unit 3, enters into the corresponding column, an occupancy of the memory area 6 as shown in Fig. 5 can be obtained. As described with reference to FIG. 2, the collecting unit 3 is able to directly output values of the operating quantities g "..., G m at a time t specified by the microcontroller 1 if they exist in the memory area 6, or they through interpolation of the im
Speicherbereich 6 enthaltenen Werten zu berechnen. Darüber hinaus besteht die Möglichkeit, durch eine zum Verfahren der Fig. 3 analoge Vorgehensweise auch jeweils Werte von Betriebsgrößen, die einem beliebigen vom Mikrocontroller 1 angegebenen Winkel der Kurbelwelle entsprechen, unmittelbar oder durch Inter- polation zu ermitteln und an den Mikrocontroller 1 zu übergeben.Memory area 6 included values to calculate. In addition, it is possible by means of a procedure analogous to the method of FIG. 3 to also respectively determine values of operating variables which correspond to any angle of the crankshaft indicated by the microcontroller 1, directly or by interpolation and to transfer them to the microcontroller 1.
Auf diese Weise kann, wenn in an sich bekannter Weise eine bestimmte Steuerungsaufgabe durch einen Interrupt bei einem vorgegebenen vom Winkelsensor erfassten Winkelwert ausgelöst wird, diese Steuerungsaufgabe auf in dem Spei- cherbereich 6 vorhandene Datenwerte zurückgreifen, anstatt deren Erfassung auszulösen und dann das Eintreffen der Erfassungsergebnisse abzuwarten. Durch den Wegfall der Wartezeit kann die Steuerungsaufgabe nicht nur schneller ausgeführt werden, was die Anforderungen an die Leistungsfähigkeit des Mikro- controllers 1 verringert, sondern auch mit höherer Genauigkeit, was die Wirt- schaftlichkeit des Motors verbessert. In this way, if, in a manner known per se, a specific control task is triggered by an interrupt at a predetermined angle value detected by the angle sensor, this control task can resort to data values present in the memory area 6, instead of triggering their detection and then the arrival of the detection results to be seen. By eliminating the waiting time, the control task can be carried out not only faster, which reduces the performance requirements of the microcontroller 1, but also with higher accuracy, which improves the efficiency of the engine.

Claims

Ansprüche claims
1. Mikrocontrollersystem mit einer Ausführungseinheit (1) und einer Mehrzahl von Peripherieeinheiten (5), welche von der Ausführungseinheit (1) zu verarbeitende Daten liefern, gekennzeichnet durch eine Signalge- bereinheit (2, 5'), die eingerichtet ist, ein Ablaufreferenzsignal synchron an die Peripherieeinheiten (5) zu liefern, und eine Datensammeleinheit (3), die eingerichtet ist, um von den Peripherieeinheiten (5) gelieferte, Betriebsgrößen der Peripherieeinheiten (5) repräsentierende Daten jeweils in Zuordnung zu einem Wert einer von dem Ablaufreferenzsignal repräsentierten Ablauf referenzgröße zu speichern.A microcontroller system comprising an execution unit (1) and a plurality of peripheral units (5) which provide data to be processed by the execution unit (1), characterized by a signal generator unit (2, 5 ') arranged to synchronize an execution reference signal to the peripheral units (5), and a data collecting unit (3) arranged to represent data supplied from the peripheral units (5) to operational quantities of the peripheral units (5) in association with a value of a sequence of reference values represented by the sequence reference signal, respectively save.
2. Mikrocontrollersystem nach Anspruch 1, dadurch gekennzeichnet, dass die Peripherieeinheiten (5) durch das Ablaufreferenzsignal anregbar sind, einen Messwert einer Betriebsgröße zu erzeugen.2. Microcontroller system according to claim 1, characterized in that the peripheral units (5) can be excited by the sequence reference signal to generate a measured value of an operating variable.
3. Mikrocontrollersystem nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Ablaufreferenzgröße die Zeit ist.3. microcontroller system according to claim 1 or 2, characterized in that the expiration reference variable is the time.
4. Mikrocontrollersystem nach Anspruch 1 oder 2, dadurch gekennzeich- net, dass die Ablaufreferenzgröße ein Drehwinkel ist.4. microcontroller system according to claim 1 or 2, marked thereby, that the expiration reference variable is a rotation angle.
5. Mikrocontrollersystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Ablaufreferenzsignal die Ablaufreferenzgröße quantitativ repräsentiert.5. microcontroller system according to one of the preceding claims, characterized in that the expiration reference signal quantitatively represents the expiration reference variable.
6. Mikrocontrollersystem nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass das Ablaufreferenzsignal Inkremente der Ablaufreferenzgröße repräsentiert. 6. microcontroller system according to one of claims 1 to 4, characterized in that the expiration reference signal represents increments of the expiration reference size.
7. Mikrocontrollersystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Datensammeleinheit (3) eine Dateninterpolationseinheit (7) zum Abschätzen des Wertes, den eine Betriebsgröße einer Peripherieeinheit (5) bei einem gegebenen Wert der Ablauf- referenzgröße hat, anhand von in Zuordnung zu dem gegebenen Wert benachbarten Werten der Ablaufreferenzgröße gespeicherten Werten der Betriebsgröße umfasst.7. A microcontroller system according to any one of the preceding claims, characterized in that the data collecting unit (3) a data interpolation unit (7) for estimating the value that an operating amount of a peripheral unit (5) for a given value of the process reference size, based on in association to the given value of adjacent values of the execution reference variable stored values of the operation quantity.
8. Mikrocontrollersystem nach einem der vorhergehenden Ansprüche, da- durch gekennzeichnet, dass die Datensammeleinheit (3) eine Speichermatrix (6) mit Zeilen und Spalten umfasst, wobei Werte einer gleichen Betriebsgröße einer gleichen Peripherieeinheit (5) in einer gleichen Zeile gespeichert sind und einem gleichen Wert der Ablaufreferenzgröße entsprechende Werte der Betriebsgrößen in einer gleichen Spalte gespei- chert sind.8. Microcontroller system according to one of the preceding claims, characterized in that the data collection unit (3) comprises a memory array (6) with rows and columns, wherein values of a same operating size of a same peripheral unit (5) are stored in a same row and one same value of the execution reference variable corresponding values of the operating variables are stored in a same column.
9. Mikrocontrollersystem nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es Teil eines Motorsteuergeräts ist.9. microcontroller system according to any one of the preceding claims, characterized in that it is part of an engine control unit.
10. Verfahren zum Bereitstellen von konsistenten Werten verschiedener Betriebsgrößen in einem Mikrocontrollersystem, insbesondere nach einem der vorhergehenden Ansprüche, mit den Schritten: a) Erfassen von jeweils einem gleichen Wert einer Ablaufreferenzgröße entsprechenden Werten von Betriebsgrößen mehrerer Periphe- rieeinheiten, b) Zusammenfassen der in Schritt a) erfassten Werte der Betriebsgrößen in einem Datensatz.10. A method for providing consistent values of different operating variables in a microcontroller system, in particular according to one of the preceding claims, comprising the steps of: a) detecting values of operating variables of a plurality of peripheral units corresponding in each case to an equal value of a sequence reference variable, b) grouping together in step a) recorded values of the operating variables in a data record.
11. Verfahren nach Anspruch 10, gekennzeichnet durch den Schritt: c) Ergänzen (S3) eines in dem Datensatz fehlenden Werts wenigstens einer Betriebsgröße durch Berechnen anhand von wenigstens zwei Werten derselben Betriebsgröße, die in anderen Werten der Ablaufreferenzgröße zugeordneten Datensätzen enthalten sind. A method according to claim 10, characterized by the step of: c) supplementing (S3) a value of at least one operation quantity missing in the data record by calculating from at least two values of the same operation quantity contained in other data sets associated with the execution reference variable.
12. Verfahren nach Anspruch 10, gekennzeichnet durch den Schritt: c) Erzeugen (S3) eines Datensatzes zu einem vorgegebenen Wert der Ablaufreferenzgröße, indem für jede Betriebsgröße des Datensatzes ein Wert anhand von wenigstens zwei Werten derselben Betriebsgröße berechnet wird, die in anderen Werten der Ablaufreferenzgröße zugeordneten Datensätzen enthalten sind.12. The method according to claim 10, characterized by the step of: c) generating (S3) a data set for a predefined value of the process reference variable by calculating a value for each operating quantity of the data set on the basis of at least two values of the same operating variable; Sequence reference associated with records are included.
13. Verfahren nach Anspruch 10, 11 oder 12, dadurch gekennzeichnet, dass in Schritt a) ein Triggersignal als ein Ablaufreferenzsignal an die Peri- pherieeinheiten gesendet wird, wenn die Ablaufreferenzgröße einen gegebenen Wert erreicht, und die Betriebsgrößen jeweils bei Empfang des Triggersignals gemessen werden.13. A method according to claim 10, 11 or 12, characterized in that in step a) a trigger signal is sent as an expiration reference signal to the peripheral units when the expiration reference reaches a given value and the operational quantities are respectively measured upon receipt of the trigger signal ,
14. Verfahren nach Anspruch 10, 11 oder 12, dadurch gekennzeichnet, dass in Schritt a) jede Peripherieeinheit das für die Ablaufreferenzgröße quantitativ repräsentative Ablauf referenzsignal überwacht und wenigstens eine Betriebsgröße misst, wenn die Ablaufreferenzgröße einen gegebenen Wert erreicht.14. The method of claim 10, 11 or 12, characterized in that in step a) each peripheral unit monitors the flow reference variable quantitatively representative process reference signal and measures at least one operating variable when the execution reference variable reaches a given value.
15. Verfahren nach Anspruch 10, 11 oder 12, dadurch gekennzeichnet, dass in Schritt a) jede Peripherieeinheit (5) gleichzeitig mit der Messung wenigstens einer Betriebsgröße die Ablaufreferenzgröße misst und die gemessenen Werte an eine Sammeleinheit (3) übergibt.15. The method of claim 10, 11 or 12, characterized in that in step a) each peripheral unit (5) simultaneously with the measurement of at least one operating variable measures the expiration reference variable and passes the measured values to a collecting unit (3).
16. Verfahren nach Anspruch 15, dadurch gekennzeichnet, dass ein für die16. The method according to claim 15, characterized in that one for the
Ablaufreferenzgröße repräsentatives Ablaufreferenzsignal an alle Peripherieeinheiten verteilt wird. Sequence reference variable representative outflow reference signal is distributed to all peripheral units.
PCT/EP2006/069675 2005-12-23 2006-12-13 Microcontroller system comprising peripheral units WO2007074069A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE102005061866 2005-12-23
DE102005061866.9 2005-12-23
DE102006008634.1 2006-02-24
DE102006008634A DE102006008634A1 (en) 2005-12-23 2006-02-24 Microcontroller system, has data collecting unit arranged to store data provided by peripheral units and representing operating variables of peripheral units in appropriation to value of functional reference variables

Publications (1)

Publication Number Publication Date
WO2007074069A1 true WO2007074069A1 (en) 2007-07-05

Family

ID=37808239

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2006/069675 WO2007074069A1 (en) 2005-12-23 2006-12-13 Microcontroller system comprising peripheral units

Country Status (2)

Country Link
DE (1) DE102006008634A1 (en)
WO (1) WO2007074069A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007038542A1 (en) * 2007-08-16 2009-02-19 Robert Bosch Gmbh Accompanying chip for a microcontroller
DE102007062394A1 (en) * 2007-12-20 2009-06-25 Endress + Hauser Process Solutions Ag Field device and method for checking the calibration of a field device
DE102014003776A1 (en) * 2014-03-15 2015-09-17 Schneider Electric Automation Gmbh Method for detecting a time-variable physical measured variable and corresponding measuring device and measured value processing device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1098236A2 (en) * 1999-11-05 2001-05-09 Robert Bosch Gmbh Transmission device
DE10048780A1 (en) * 2000-09-29 2002-04-18 Bosch Gmbh Robert Operational control in vehicle using independent sensor and control unit, employs delay ensuring sensor information readiness for read-in and processing
US20020091497A1 (en) * 1999-01-12 2002-07-11 Otto Ruck Coordinate measuring apparatus
US20020185998A1 (en) * 1999-10-22 2002-12-12 Rolf Beck Method for determining measuring points on a workpiece and a measuring system therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020091497A1 (en) * 1999-01-12 2002-07-11 Otto Ruck Coordinate measuring apparatus
US20020185998A1 (en) * 1999-10-22 2002-12-12 Rolf Beck Method for determining measuring points on a workpiece and a measuring system therefor
EP1098236A2 (en) * 1999-11-05 2001-05-09 Robert Bosch Gmbh Transmission device
DE10048780A1 (en) * 2000-09-29 2002-04-18 Bosch Gmbh Robert Operational control in vehicle using independent sensor and control unit, employs delay ensuring sensor information readiness for read-in and processing

Also Published As

Publication number Publication date
DE102006008634A1 (en) 2007-06-28

Similar Documents

Publication Publication Date Title
EP1756986B1 (en) Method for establishing a global time base in a timed communications system and associated communications system
EP1810096B1 (en) Method for exchanging data between stations from different networks
EP1368935A2 (en) Synchronous, clocked communication system with local input/output components and method for integrating local input/output components into such a system
EP2359539B1 (en) Data transmission protocol
DE102009045386A1 (en) Method for operating a fieldbus interface
DE3317567A1 (en) TIME MULTIPLEX REMOTE CONTROL SYSTEM
EP2759096B1 (en) Method and apparatus for coupling a first sensor to at least one second sensor
DE10340165A1 (en) Sensor connection procedure for vehicle TTCAN networks synchronizes sensor or actuator to bus system clock during fast clock first phase
DE10030358A1 (en) Method and device for serial data transmission between a position measuring system and a processing unit
DE10145218A1 (en) Method and device for time determination in a bus system and bus system
EP2440981A1 (en) Method and device for monitoring errors in an overall system comprising a plurality of installations
DE2551680C2 (en) Method and device for addressing a central memory, in particular in an electronic fuel injection system for internal combustion engines
WO2007074069A1 (en) Microcontroller system comprising peripheral units
WO2011120802A1 (en) Method for testing signal and module activites in a timer module and timer module
EP1428340B1 (en) Method and device for producing program interruptions in subscribers to a bus system, and corresponding bus system
EP2932634B1 (en) Assigning timestamps to received data packets
EP2438712A1 (en) Method for operating a data transfer system, data transfer system and computer program product
WO2007101658A1 (en) Method for recording input signal variations
EP2804059B1 (en) Method for transferring data between a position measuring device and an associated processing unit and a position measuring device for the same
DE102012219180A1 (en) Arithmetic unit for a control unit and operating method therefor
EP1495375A2 (en) Measuring device for process engineering and operating method for a measuring device
WO2009127697A1 (en) Method for automatically generating a time schedule for distributed applications or processes in a digital network which communicate via a common time-controlled data bus
EP2287693B1 (en) Method for synchronous acquiring and recording of process and/or status data and automation system
DE10048747B4 (en) Process and processing of process signals
EP2396531B1 (en) Method and device for receiving and transmitting operating data of an internal combustion engine

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase

Ref document number: 06819953

Country of ref document: EP

Kind code of ref document: A1