DE102011055205A1 - Electronic control unit for use in electrical servo steering device of steering wheel system of vehicle, has microcomputer comprising CPU for storing global variable, where task of low order executes duplication method - Google Patents
Electronic control unit for use in electrical servo steering device of steering wheel system of vehicle, has microcomputer comprising CPU for storing global variable, where task of low order executes duplication method Download PDFInfo
- Publication number
- DE102011055205A1 DE102011055205A1 DE201110055205 DE102011055205A DE102011055205A1 DE 102011055205 A1 DE102011055205 A1 DE 102011055205A1 DE 201110055205 DE201110055205 DE 201110055205 DE 102011055205 A DE102011055205 A DE 102011055205A DE 102011055205 A1 DE102011055205 A1 DE 102011055205A1
- Authority
- DE
- Germany
- Prior art keywords
- order
- task
- low
- global variable
- order task
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
- 238000000034 method Methods 0.000 title claims abstract description 182
- 238000007430 reference method Methods 0.000 claims abstract description 41
- 230000008569 process Effects 0.000 claims description 75
- 230000010365 information processing Effects 0.000 claims description 22
- 230000000052 comparative effect Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 6
- 230000009467 reduction Effects 0.000 description 3
- BUHVIAUBTBOHAG-FOYDDCNASA-N (2r,3r,4s,5r)-2-[6-[[2-(3,5-dimethoxyphenyl)-2-(2-methylphenyl)ethyl]amino]purin-9-yl]-5-(hydroxymethyl)oxolane-3,4-diol Chemical compound COC1=CC(OC)=CC(C(CNC=2C=3N=CN(C=3N=CN=2)[C@H]2[C@@H]([C@H](O)[C@@H](CO)O2)O)C=2C(=CC=CC=2)C)=C1 BUHVIAUBTBOHAG-FOYDDCNASA-N 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
GEBIET DER ERFINDUNGFIELD OF THE INVENTION
Die vorliegende Erfindung bezieht sich auf eine Informationsverarbeitungsvorrichtung, bei der durch eine Aufgabe einer hohen Ordnung, die eine Priorität einer relativ hohen Ordnung hat, und eine Aufgabe einer niedrigen Ordnung, die eine Priorität einer relativ niedrigen Ordnung hat, Daten bei einem Verarbeitungsprogramm gemeinsam verwendet werden.The present invention relates to an information processing apparatus in which data is shared in a processing program by a high order task having a relatively high order priority and a low order task having a relatively low order priority ,
HINTERGRUND DER ERFINDUNGBACKGROUND OF THE INVENTION
-
[Patentdokument 1]:
JP-2002-149421 A JP-3783553 B2 JP-2002-149421 A JP-3783553 B2
Ein Verarbeitungsprogramm, das beispielsweise für eine elektronische Steuereinheit (auf die als eine ECU Bezug genommen ist), die in einem Fahrzeug angebracht ist, verwendet wird, ist angesichts eines Sicherstellens eines Steuerverhaltens und einer Sicherheit zum Ausführen eines vorbestimmten Verfahrens in Echtzeit erforderlich. Ein solches Verfahren, das eine Echtzeitnatur benötigt, führt allgemein eine Unterbrechung (englisch: interrupt) aus. Das heißt bei einem Auftreten eines Ereignisses während einer Ausführung einer Hauptroutine wird die Ausführung der Hauptroutine vorübergehend unterbrochen, um eine Unterbrechungsroutine auszuführen. Die Hauptroutine wird dann nach dem Ende der Unterbrechungsroutine wieder aufgenommen. Dies ermöglicht eine bevorzugte Ausführung des Verfahrens, das eine Priorität einer höheren Ordnung hat und das die Echtzeitnatur oder das Echtzeitverhalten benötigt.For example, a processing program used for an electronic control unit (referred to as an ECU) mounted in a vehicle is required in view of ensuring a control performance and a safety for performing a predetermined method in real time. Such a method, which requires a real-time nature, generally executes an interrupt. That is, upon occurrence of an event during execution of a main routine, the execution of the main routine is temporarily interrupted to execute an interrupt routine. The main routine is then resumed after the end of the interrupt routine. This enables a preferred embodiment of the method that has a higher order priority and that needs real time or real time behavior.
Das Verarbeitungsprogramm für ein solches Verfahren weist jeder Aufgabe, die als eine Ausführungseinheit dient, eine Prioritätsordnung bzw. eine Rangordnung zu. Bei dem vorhergehenden Beispiel entspricht die Hauptroutine einer „Aufgabe einer niedrigen Ordnung”, die eine Priorität einer relativ niedrigen Ordnung hat, während die Unterbrechungsroutine einer „Aufgabe einer hohen Ordnung” entspricht, die eine Priorität einer relativ hohen Ordnung hat. Die Daten, die durch sowohl die Aufgabe einer hohen Ordnung als auch die Aufgabe einer niedrigen Ordnung gemeinsam verwendet werden, sind als „globale Variable” definiert. Wenn eine Unterbrechung ausgeführt wird, kann ein „Ungleichlauf von Daten”, der eine Aktualisierung und eine Bezugnahme der globalen Variable begleitet, entstehen. Es sei beispielsweise ein Fall angenommen, dass ein Auftreten einer Unterbrechung bei einem Aktualisierungsverfahren und einem Bezugnahmeverfahren mehrere Daten verursacht, auf die durch eine Aufgabe zu der gleichen Zeit Bezug genommen werden sollte und auf die separat Bezug genommen wird. Es sei ferner ein Fall angenommen, dass ein Auftreten einer Unterbrechung bei einem Aktualisierungsverfahren und einem Bezugnahmeverfahren Daten verursacht, auf die durch mehrere Aufgaben gemeinsam Bezug genommen werden sollte und die nicht identisch sind. Solche Fälle stellen einen „Ungleichlauf bzw. ein Nichtübereinstimmen von Daten” dar.The processing program for such a method allocates a priority order to each task serving as an execution unit. In the previous example, the main routine corresponds to a "low order task" having a priority of a relatively low order, while the interrupt routine corresponds to a "high order task" having a priority of a relatively high order. The data shared by both the high-order task and the low-order task is defined as a "global variable". When an interrupt is executed, a "data nonuniformity" accompanying an update and reference of the global variable may result. For example, assume a case that an occurrence of an interruption in an updating method and a reference method causes a plurality of data to be referred to by a task at the same time and to which reference is made separately. It is further assumed a case that an occurrence of an interrupt in an updating method and a reference method causes data to be shared by several tasks and that are not identical. Such cases represent a "mismatch or mismatch of data".
Um mit diesem Ungleichlauf von Daten fertig zu werden, ist herkömmlicherweise eine Informationsverarbeitungsvorrichtung bekannt, die ein Unterbrechungsverbotsverfahren während der Ausführung der Aufgabe einer niedrigen Ordnung ausführt. Das heißt, während mehrere globale Variablen durch die Aufgabe einer niedrigen Ordnung aktualisiert werden oder auf dieselben Bezug genommen wird, wird eine Unterbrechung der Aufgabe einer höheren Ordnung verboten. Das Patentdokument 1 beschreibt zusätzlich ein Bereichsumschaltverfahren wie folgt. Die globale Variable wird in zwei Bereichen, einem „öffentlichen Bereich” und einem „Arbeitsbereich”, redundant gespeichert. Die Bezugnahme und die Aktualisierung der globalen Variablen werden jeweils in separaten Bereichen ausgeführt. Wenn die Bezugnahme abgeschlossen ist, werden der Arbeitsbereich und der öffentliche Bereich zueinander geschaltet.Conventionally, in order to cope with this unevenness of data, there has been known an information processing apparatus which executes an interrupt prohibition method during execution of the low-order task. That is, as several global variables are updated or referenced by the low order task, a break in the higher order task is prohibited.
Wenn jedoch das vorhergehende Unterbrechungsverbotsverfahren ausgeführt wird, wird verursacht, dass der Ausführungsstart der Aufgabe einer höheren Ordnung, die ursprünglich die Priorität einer höheren Ordnung hat, bis zu dem Abschluss des Verfahrens durch die Aufgabe einer niedrigen Ordnung wartet. Die Echtzeitnatur wird somit beschädigt. Die Technologie in dem Patentdokument 1 benötigt ferner eine „Bereichsinformationsspeicherungseinrichtung”, um die Informationen, die angeben, welcher der Bereiche einem Arbeitsbereich entspricht, und welcher der Bereiche einem öffentlichen Bereich entspricht, zu verwalten. Die Bereichsinformationsspeicherungseinrichtung muss ferner bei der Bezugnahme auf die globale Variable geprüft werden. Dies geht mit einer Erhöhung einer Verarbeitungslast einher. Zusätzlich verwendet, wenn die Aufgabe einer höheren Ordnung die Aktualisierung der globalen Variablen aus einem bestimmten Grund stoppt, die Aufgabe einer niedrigen Ordnung die alten Daten vor einer Aktualisierung. Wenn das Stoppen der Aktualisierung weiter fortgesetzt wird, wird auf die letzten Daten nach einer Aktualisierung und die vergangenen Daten vor einer Aktualisierung abwechselnd Bezug genommen. Dies verursacht ein sogenanntes Datenjagen (englisch: data hunting). Dieses Datenjagen resultiert aus der dynamischen Umschaltung zwischen dem öffentlichen Bereich und dem Arbeitsbereich.However, if the foregoing interrupt prohibition method is executed, the execution start of the higher-order task, which originally has the higher-order priority, is caused to wait until the completion of the method by the low-order task. The real-time nature is thus damaged. The technology in
ZUSAMMENFASSUNG DER ERFINDUNGSUMMARY OF THE INVENTION
Eine Aufgabe der vorliegenden Erfindung besteht darin, bei einer Informationsverarbeitungsvorrichtung einen Gleichlauf von Daten dort sicherzustellen, wo eine erste Aufgabe auf Daten Bezug nimmt, die durch eine zweite Aufgabe, die eine sich von derselben der ersten Aufgabe unterscheidende Prioritätsordnung hat, aktualisiert werden, ohne die Verarbeitungslast zu erhöhen und ein Datenjagen zu verursachen.An object of the present invention is in a Information processing apparatus to ensure synchronization of data where a first task refers to data which is updated by a second task having a priority order different from that of the first task, without increasing the processing load and causing data hunting.
Um die vorhergehende Aufgabe zu lösen, ist gemäß einem ersten Aspekt der vorliegenden Erfindung eine Informationsverarbeitungsvorrichtung geschaffen, um eine Reihe von Funktionen durch Ausführen von mehreren Aufgaben, die jeweils als eine Ausführungseinheit eines Verarbeitungsprogramms dienen, basierend auf einer Prioritätsordnung, die jeder der mehreren Aufgaben zugewiesen ist, zu realisieren. Die Vorrichtung ist dadurch charakterisiert, dass zwei Speicherbereiche bestimmt werden, um eine globale Variable zu speichern, die durch eine Aufgabe einer höheren Ordnung und eine Aufgabe einer niedrigeren Ordnung gemeinsam verwendet wird, wobei die Aufgabe einer höheren Ordnung eine relativ hohe Prioritätsordnung hat, und die Aufgabe einer niedrigen Ordnung eine relativ niedrige Prioritätsordnung hat. In einem ersten Fall, bei dem die globale Variable durch die Aufgabe einer höheren Ordnung während einer Bezugnahme auf die globale Variable durch die Aufgabe einer niedrigen Ordnung aktualisiert wird, führt hierin (i) die Aufgabe einer hohen Ordnung ein Aktualisierungsverfahren einer hohen Ordnung aus, das die globale Variable unter Verwendung eines Arbeitsbereichs, der einer der zwei Speicherungsbereiche ist, aktualisiert, führt (ii) die Aufgabe einer niedrigen Ordnung ein Bezugnahmeverfahren einer niedrigen Ordnung aus, das unter Verwendung eines öffentlichen Bereichs, der ein anderer der zwei Speicherungsbereiche ist, auf die globale Variable Bezug nimmt, und führt (iii) die Aufgabe einer niedrigen Ordnung ein Duplizierungsverfahren, das die globale Variable von dem Arbeitsbereich zu dem öffentlichen Bereich zu einem vorbestimmten Zeitpunkt getrennt von einer Periode, während der das Bezugnahmeverfahren einer niedrigen Ordnung ausgeführt wird, dupliziert, aus.In order to achieve the above object, according to a first aspect of the present invention, there is provided an information processing apparatus for performing a series of functions by executing a plurality of tasks each serving as an execution unit of a processing program based on a priority order assigned to each of the plurality of tasks is to realize. The apparatus is characterized in that two storage areas are determined to store a global variable shared by a higher order task and a lower order task, the higher order task having a relatively high order of priority, and the A low order has a relatively low order of priority. In a first case in which the global variable is updated by the task of a higher order by referring to a lower order by the task of a low order, here, the high-order task executes a high-order updating method the global variable is updated using a work area that is one of the two storage areas, (ii) the low order task performs a low order reference method that uses a public area that is another of the two storage areas refers to the global variable, and (iii) performs the low-order task of duplicating method that duplicates the global variable from the work area to the public area at a predetermined time separate from a period during which the low-order reference process is performed; out.
Es sei beispielsweise ein Fall angenommen, bei dem eine Aufgabe einer niedrigen Ordnung eine erste Unteraufgabe und eine zweite Unteraufgabe enthält, die beide auf eine vorbestimmte globale Variable gemeinsam Bezug nehmen. Hierin kann auf einen solchen Fall als ein erster Fall oder ein Bezugnahmeunterbrechungsfall einer niedrigen Ordnung Bezug genommen sein. Es sei ferner beispielsweise ein Fall angenommen, bei dem eine Aufgabe einer hohen Ordnung ein Aktualisierungsverfahren ausführt, nachdem die erste Unteraufgabe auf die globale Variable Bezug nimmt, jedoch bevor die zweite Unteraufgabe auf die globale Variable Bezug nimmt. In einem solchen Fall nimmt die erste Unteraufgabe vor dem Aktualisierungsverfahren auf die alten Daten Bezug, während die zweite Unteraufgabe nach dem Aktualisierungsverfahren auf die neuen Daten Bezug nimmt. Dies verursacht einen Fehler in dem Gleichlauf der Daten. Als ein Resultat schlägt, wenn die erste Unteraufgabe und die zweite Unteraufgabe identische Daten benötigen, die Berechnung fehl.For example, assume a case where a low-order task includes a first sub-task and a second sub-task, both of which commonly refer to a predetermined global variable. Herein, such a case may be referred to as a first case or a reference case of a low order. Further assume, for example, a case where a high-order task performs an update procedure after the first sub-task references the global variable, but before the second sub-task references the global variable. In such a case, the first sub-task prior to the update procedure references the old data, while the second sub-task references the new data after the update procedure. This causes an error in the synchronization of the data. As a result, if the first sub task and the second sub task need identical data, the calculation fails.
Zu diesem Zweck ist eine Konfiguration vorgesehen, um einen Arbeitsbereich und einen öffentlichen Bereich statisch zu bestimmen. Die Konfiguration ist dann vorgesehen, um ein Duplizierungsverfahren durchzuführen, um zu einem vorbestimmten Zeitpunkt während einer Ausführung der Aufgabe einer niedrigen Ordnung eine globale Variable von dem Arbeitsbereich zu dem öffentlichen Bereich zu duplizieren, um der ersten Unteraufgabe und der zweiten Unteraufgabe zu ermöglichen, gemeinsam auf die globale Variable Bezug zu nehmen, die in dem öffentlichen Bereich dupliziert ist. Es sei bemerkt, dass jede Aufgabe in Zeitintervallen oder Zyklen auftritt, die beispielsweise durch einen Zeitgeber eingestellt sind, und somit der Startzeitpunkt nicht grundsätzlich geändert wird. Das Duplizierungsverfahren kann somit durch Einstellen des Zeitgebers zu dem vorbestimmten Zeitpunkt ausgeführt werden.For this purpose, a configuration is provided to statically determine a work area and a public area. The configuration is then provided to perform a duplication procedure to duplicate a global variable from the work area to the public area at a predetermined time during execution of the low order task to enable the first sub task and the second sub task together to refer to the global variable that is duplicated in the public domain. It should be noted that each task occurs in time intervals or cycles set by a timer, for example, and thus the starting time is not fundamentally changed. The duplication method can thus be performed by setting the timer at the predetermined time.
Bei dieser Konfiguration ist, ohne unter einem Einfluss des Aktualisierungsverfahrens einer höheren Ordnung, das während der Aufgabe einer niedrigeren Ordnung ausgeführt wird, zu leiden, der Gleichlauf von Daten zwischen der ersten Unteraufgabe und der zweiten Unteraufgabe der Aufgabe einer niedrigen Ordnung sicherstellbar.With this configuration, without suffering from an effect of the higher order update process performed during the lower order task, the synchronization of data between the first sub task and the second sub task of the low order task can be ensured.
Die vorhergehende Konfiguration benötigt zusätzlich keine Bereichsinformationsspeicherungseinrichtung, wie z. B. ein herkömmliches Bereichsumschaltverfahren, wodurch die Reduzierung der Verarbeitungslast ermöglicht wird. Es gibt ferner einen Fall, dass das Aktualisierungsverfahren einer hohen Ordnung bei dem Bereichsumschaltverfahren aus einem bestimmten Grund stoppt. In einem solchen Fall verursacht das anschließende Bereichsumschaltverfahren, das die letzten Daten nach dem Aktualisierungsverfahren und die vergangenen Daten vor dem Aktualisierungsverfahren in dem öffentlichen Bereich abwechselnd gespeichert werden. Dadurch nimmt die Aufgabe einer niedriger Ordnung abwechselnd auf die letzten Daten und die vergangenen Daten Bezug. Dies resultiert in einem Datenjagen, um eine Steuerung zu beeinträchtigen. Bei dem Duplizierungsverfahren des vorliegenden Aspekts kann im Gegensatz dazu, selbst wenn das Aktualisierungsverfahren einer hohen Ordnung stoppt, die Aufgabe einer niedrigen Ordnung auf die letzten Daten konstant Bezug nehmen. Dies verursacht kein Datenjagen.In addition, the foregoing configuration does not require area information storage means such as e.g. For example, a conventional range switching method enables the reduction of the processing load. There is also a case that the high-order updating method in the area switching method stops for some reason. In such a case, the subsequent area switching process causes the last data after the updating process and the past data before the updating process to be alternately stored in the public area. As a result, the task of a lower order alternately references the last data and the past data. This results in data hunting to compromise control. In the duplication method of the present aspect, on the contrary, even if the updating method stops high order, the low-order task can constantly refer to the latest data. This does not cause data hunting.
Es ist als Nächstes ein Aktualisierungsunterbrechungsfall einer niedrigen Ordnung erläutert. Auf diesen kann ferner als ein zweiter Fall Bezug genommen sein. In diesem Fall nimmt eine Aufgabe einer hohen Ordnung während einer Ausführung eines Aktualisierungsverfahrens einer niedrigen Ordnung, bei dem eine Aufgabe einer niedrigen Ordnung die globale Variable aktualisiert, auf eine globale Variable Bezug. Next, a low-order update interrupt case will be explained. It may be further referred to as a second case. In this case, a high-order task during execution of a low-order update process in which a low-order task updates the global variable refers to a global variable.
Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist eine Informationsverarbeitungsvorrichtung geschaffen, um eine Reihe von Funktionen durch Ausführen von mehreren Aufgaben, die jeweils als eine Ausführungseinheit eines Verarbeitungsprogramms dienen, basierend auf einer Prioritätsordnung bzw. Rangordnung, die jeder der mehreren Aufgaben zugewiesen ist, zu realisieren. Die Vorrichtung ist durch Bestimmen von zwei Speicherungsbereichen charakterisiert, um eine globale Variable zu speichern, die durch eine Aufgabe einer hohen Ordnung und eine Aufgabe einer niedrigen Ordnung gemeinsam verwendet wird, wobei die Aufgabe einer hohen Ordnung eine relativ hohe Prioritätsordnung hat, und die Aufgabe einer niedrigen Ordnung eine relativ niedrige Prioritätsordnung hat. In einem zweiten Fall, bei dem auf die globale Variable durch die Aufgabe einer hohen Ordnung während einer Aktualisierung der globalen Variablen durch die Aufgabe einer niedrigen Ordnung Bezug genommen wird, werden hierin (i) die Aufgabe einer niedrigen Ordnung, die ein Aktualisierungsverfahren einer niedrigen Ordnung, das die globale Variable unter Verwendung eines Arbeitsbereichs, der einer der zwei Speicherungsbereiche ist, aktualisiert, ausführt, (ii) die Aufgabe einer hohen Ordnung, die ein Bezugnahmeverfahren einer hohen Ordnung, das unter Verwendung eines öffentlichen Bereichs, der ein anderer der zwei Speicherungsbereiche ist, auf die globale variable Bezug nimmt, ausführt, und (iii) die Aufgabe einer niedrigen Ordnung ausgeführt, die ein Duplizierungsverfahren ausführt, das zu einem vorbestimmten Zeitpunkt (ti, tf) getrennt von einer Periode, während der das Aktualisierungsverfahren einer niedrigen Ordnung ausgeführt wird, die globale Variable von dem Arbeitsbereich zu dem öffentlichen Bereich dupliziert.According to a second aspect of the present invention, there is provided an information processing apparatus for realizing a series of functions by performing a plurality of tasks each serving as an execution unit of a processing program based on a priority order assigned to each of the plurality of tasks , The apparatus is characterized by determining two storage areas to store a global variable shared by a high order task and a low order task, the high order task having a relatively high order of priority, and the task of low order has a relatively low order of priority. In a second case where the global variable is relieved by the task of high order during update of the global variable by the low order task, herein (i) the low order task that is a low order update method that updates the global variable using a workspace that is one of the two storage areas; (ii) the high-order task that is a high-order reference method using a public area that is another of the two storage areas is global variable related executes, and (iii) performs the low order task that executes a duplication process performed at a predetermined time (ti, tf) separate from a period during which the low order update process is performed is the global variable of the work area z u duplicated to the public area.
Es sei beispielsweise angenommen, dass eine Aufgabe einer niedrigen Ordnung eine erste Unteraufgabe, die eine erste globale Variable aktualisiert, und eine zweite Unteraufgabe, die eine zweite globale Variable aktualisiert, aufweist, und eine Aufgabe einer hohen Ordnung sowohl die erste globale Variable als auch die zweite globale Variable verwendet. In dem vorhergehenden Fall gibt es ferner einen Fall, bei dem das Bezugnahmeverfahren einer hohen Ordnung auftritt, nachdem die erste Unteraufgabe die erste globale Variable aktualisiert hat, jedoch bevor die zweite Unteraufgabe die zweite globale Variable aktualisiert. In einem solchen Fall nimmt die Aufgabe einer hohen Ordnung nach dem Aktualisierungsverfahren zu der ersten globalen Variablen auf die neuen Daten Bezug, während dieselbe auf die alten Daten der alten Daten vor dem Aktualisierungsverfahren der globalen Variablen Bezug nimmt. Dies verursacht in dem Gleichlauf der Daten einen Fehler. Dies resultiert in einem Fehler der Berechnung in dem Fall, bei dem die erste globale Variable und die zweite globale Variable einander zugeordnet sind, und zwei von der ersten globalen Variablen und der zweiten globalen Variablen benötigt werden, um die Daten zu sein, die zu einem identischen Zeitpunkt aktualisiert werden.For example, assume that a low-order task has a first sub-task that updates a first global variable and a second sub-task that updates a second global variable, and a high-order task has both the first global variable and the second second global variable used. In the foregoing case, there is also a case where the high-order reference method occurs after the first sub-task has updated the first global variable, but before the second sub-task updates the second global variable. In such a case, the high order task after the update procedure refers to the new global data on the new data while referring to the old data of the old data before the global variable updating procedure. This causes an error in the synchronization of the data. This results in an error of calculation in the case where the first global variable and the second global variable are associated with each other, and two of the first global variable and the second global variable are needed to be the data leading to one identical time to be updated.
Zu diesem Zweck ist eine Konfiguration vorgesehen, um einen Arbeitsbereich und einen öffentlichen Bereich statisch zu bestimmen. Die Konfiguration ist dann vorgesehen, um ein Duplizierungsverfahren durchzuführen, um zu einem vorbestimmten Zeitpunkt während einer Ausführung der Aufgabe einer niedrigen Ordnung eine globale Variable aus dem Arbeitsbereich zu dem öffentlichen Bereich zu duplizieren. Die vorhergehende Konfiguration ermöglicht der Aufgabe einer hohen Ordnung auf sowohl die erste globale Variable als auch die zweite globale Variable, die in dem öffentlichen Bereich dupliziert wurden, Bezug zu nehmen. Es sei bemerkt, dass jede Aufgabe in Zeitintervallen oder Zyklen auftritt, die durch beispielsweise einen Zeitgeber eingestellt sind, und somit wird der Startzeitpunkt nicht grundsätzlich geändert. Das Duplizierungsverfahren kann somit durch Einstellen des Zeitgebers zu dem vorbestimmten Zeitpunkt ausgeführt werden.For this purpose, a configuration is provided to statically determine a work area and a public area. The configuration is then provided to perform a duplication process to duplicate a global variable from the work area to the public area at a predetermined time during execution of the low-order task. The previous configuration allows the task of high order to reference both the first global variable and the second global variable duplicated in the public domain. It should be noted that each task occurs in time intervals or cycles set by, for example, a timer, and thus the starting time is not fundamentally changed. The duplication method can thus be performed by setting the timer at the predetermined time.
Dies kann den Gleichlauf von Daten zwischen der ersten globalen Variablen und der zweiten globalen Variablen in dem Bezugnahmeverfahren einer hohen Ordnung sicherstellen. Der Gleichlauf von Daten kann mit anderen Worten zwischen den mehreren globalen Variablen in dem Bezugnahmeverfahren einer hohen Ordnung sichergestellt werden.This can ensure the synchronization of data between the first global variable and the second global variable in the high order reference method. In other words, the synchronization of data can be ensured between the plural global variables in the high order reference method.
KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS
Die vorhergehenden und anderen Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung sind aus der folgenden detaillierten Beschreibung, die unter Bezugnahme auf die beigefügten Zeichnungen vorgenommen ist, offensichtlicher. Es zeigen:The foregoing and other objects, features and advantages of the present invention will become more apparent from the following detailed description made with reference to the accompanying drawings. Show it:
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELEDETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Ausführungsbeispiele wenden eine Informationsverarbeitungsvorrichtung der vorliegenden Erfindung auf eine elektrische Servolenkvorrichtung zum Unterstützen einer Lenkradmanipulation in einem Fahrzeug an. Die Ausführungsbeispiele sind unter Bezugnahme auf die Zeichnungen erläutert.Embodiments apply an information processing apparatus of the present invention to an electric power steering apparatus for assisting a steering wheel manipulation in a vehicle. The embodiments are explained with reference to the drawings.
<ERSTES AUSFÜHRUNGSBEISPIEL><FIRST EMBODIMENT>
Wenn der Fahrer das Lenkrad
Die elektrische Servolenkvorrichtung
Der RAM
Die Eingangsschaltung
Das Verarbeitungsprogramm, das der Mikrocomputer
Die Aufgabe einer hohen Ordnung ist eine Aufgabe, die ein Verfahren zum beispielsweise Sicherstellen einer Steuerantwortnatur und Sicherheit in Echtzeit ausführen muss. Die Aufgabe einer hohen Ordnung wird daher allgemein „Unterbrechungsroutine (auf die ferner als eine unterbrechende Routine Bezug genommen ist)” genannt. Mit einem Auslöser eines Auftretens eines Ereignisses wird die Aufgabe einer hohen Ordnung im Vorzug zu der Aufgabe einer niedrigen Ordnung als eine „Hauptroutine”, die sich in der Ausführung (während der Ausführung) befindet, dienend ausgeführt. Das heißt die Ausführung der Aufgabe einer niedrigen Ordnung wird durch die Ausführung der Aufgabe einer hohen Ordnung vorübergehend unterbrochen. Die Aufgabe einer niedrigen Ordnung wird von der Position eines Unterbrechens nach dem Ende oder dem Abschluss der Aufgabe einer höheren Ordnung wieder aufgenommen.The task of high order is a task that must perform a method of, for example, ensuring a control response nature and security in real time. The high-order task is therefore generally called "interrupt routine (also referred to as an interrupting routine)". With a trigger of occurrence of an event, the high order task in preference to the low order task is executed as a "main routine" which is in execution (during execution). That is, the execution of the low order task is temporarily interrupted by the execution of the high order task. The task of low order is resumed from the position of interruption after the termination or completion of the higher order task.
Die Daten, die durch sowohl die Aufgabe einer hohen Ordnung als auch die Aufgabe einer niedrigen Ordnung gemeinsam verwendet werden, sind als „globale Variable” definiert. Die globale Variable wird durch die Aufgabe einer hohen Ordnung aktualisiert und auf dieselbe wird durch die Aufgabe einer niedrigen Ordnung Bezug genommen; die globale Variable wird alternativ durch die Aufgabe einer niedrigen Ordnung aktualisiert und auf dieselbe wird durch die Aufgabe einer hohen Ordnung Bezug genommen. Bei solchen Aktualisierungs- und Bezugnahmeverfahren wird angenommen, dass auf mehrere Daten, auf die eine Aufgabe gleichzeitig Bezug nehmen sollte, aufgrund eines Auftretens eines Unterbrechens separat oder unabhängig Bezug genommen wird. Es wird ferner angenommen, dass Daten, auf die durch mehrere Aufgaben gemeinsam Bezug genommen werden sollte, für jede der mehreren Aufgaben nicht identisch werden. Diese Fälle resultieren in einem „Ungleichlauf von Daten”.The data shared by both the high-order task and the low-order task is defined as a "global variable". The global variable is updated by the high order task and is referred to by the task of low order; the global variable is alternatively updated by the task of a low order and it is referred to by the task of a high order. In such updating and referencing methods, it is assumed that multiple data to which a task should simultaneously refer is referred to separately or independently due to an occurrence of a break. It is also assumed that data that should be commonly referenced by multiple tasks does not become identical for each of the multiple tasks. These cases result in a "non-uniformity of data".
Um damit fertig zu werden, führt das vorliegende Ausführungsbeispiel ein „Duplizierungsverfahren” aus, bei dem ein Arbeitsbereich und ein öffentlicher Bereich statisch bestimmt werden, und dann zu einem vorbestimmten Zeitpunkt während der Ausführung der Aufgabe einer niedrigen Ordnung die globale Variable von dem Arbeitsbereich zu dem öffentlichen Bereich dupliziert wird. Es sei bemerkt, dass jede Aufgabe mit einem Zyklus auftritt, der durch beispielsweise einen Zeitgeber bestimmt ist; ein Startzeitpunkt wird somit nicht grundsätzlich geändert. Das Duplizierungsverfahren kann somit durch Einstellen des Zeitgebers zu dem vorbestimmten Zeitpunkt ausgeführt werden. Das Folgende erläutert das Aktualisierungs- und Bezugnahmeverfahren relativ zu der globalen Variablen zwischen einer Aufgabe einer hohen Ordnung und einer Aufgabe einer niedrigen Ordnung für jedes Ausführungsbeispiel.To cope with this, the present embodiment introduces a " Duplication method, in which a work area and a public area are statically determined, and then, at a predetermined time during execution of the low order task, the global variable is duplicated from the work area to the public area. It should be noted that each task occurs with a cycle determined by, for example, a timer; a start time is thus not changed fundamentally. The duplication method can thus be performed by setting the timer at the predetermined time. The following explains the update and reference method relative to the global variable between a high-order task and a low-order task for each embodiment.
Die ersten bis vierten Ausführungsbeispiele sind erstens relativ zu einem Verfahren in dem Fall, bei dem „die globale Variable durch die Aufgabe einer hohen Ordnung während des Bezugnahmeverfahrens auf die globale Variable durch die Aufgabe einer niedrigen Ordnung aktualisiert werden kann”. Auf diesen Fall ist als ein „erster Fall” oder ein „Bezugnahmeunterbrechungsfall einer niedrigen Ordnung” Bezug genommen. Das Verfahren gemäß dem ersten Ausführungsbeispiel ist unter Bezugnahme auf
Bezug nehmend auf
Hinsichtlich der Aufgabe V2 einer niedrigen Ordnung nehmen die Unteraufgabe X und die Unteraufgabe Y auf die globale Variable c Bezug, die zu dem Startzeitpunkt ti der Aufgabe V2 einer niedrigen Ordnung dupliziert wurde. Es gibt daher durch die Aufgabe S2 einer hohen Ordnung, die während der Ausführung der Aufgabe V2 einer niedrigen Ordnung auftritt, keinen Einfluss. Der Gleichlauf der globalen Variablen c wird somit bei den Bezugnahmeverfahren einer niedrigen Ordnung der Unteraufgabe X und der Unteraufgabe Y sichergestellt (N111).Regarding the low-order task V2, the sub-task X and the sub-task Y refer to the global variable c duplicated at the start time ti of the low-order task V2. Therefore, there is no influence by the high order task S2 that occurs during the execution of the low order task V2. The synchronism of the global variable c is thus ensured in the low-order reference methods of the sub-task X and the sub-task Y (N111).
Bei diesem Bereichsumschaltverfahren nehmen die Unteraufgabe X und die Unteraufgabe Y der Aufgabe V2 einer niedrigen Ordnung auf die Daten, die in dem Arbeitsbereich Z1 vor dem Abschluss der Unteraufgabe Y der Aufgabe V1 einer niedrigen Ordnung des vorausgehenden Zyklus gespeichert werden, Bezug. Als ein Resultat tritt, wenn der Ausführungszyklus der Aufgabe S einer hohen Ordnung schneller als der Ausführungszyklus der Aufgabe V einer niedrigen Ordnung ist, eine Datenverzögerung um einen Zyklus der Aufgabe V einer niedrigen Ordnung in dem Bezugnahmeverfahren einer niedrigen Ordnung der Aufgabe V einer niedrigen Ordnung auf. Bei dem ersten Ausführungsbeispiel, wie es in
Es sei zusätzlich der Fall angenommen, bei dem bei dem Bereichsumschaltverfahren einer herkömmlichen Technologie die Aufgabe S einer hohen Ordnung ein Aktualisierungsverfahren in dem Arbeitsbereich Z1 aus einem bestimmten Grund stoppt, wie es in
Wie im Vorhergehenden erwähnt ist, kann das erste Ausführungsbeispiel durch Ausführen des Duplizierungsverfahren den Gleichlauf zwischen den mehreren Daten sicherstellen. Verglichen mit dem Bereichsumschaltverfahren der herkömmlichen Technologie tritt zusätzlich die Datenverzögerung um einen Zyklus der Aufgabe einer niedrigen Ordnung nicht auf. Zusätzlich tritt kein Problem mit dem Datenjagen auf; das erste Ausführungsbeispiel ist bei einem System wirksam, das ein Problem mit einem solchen Datenjagen hat.As mentioned above, by carrying out the duplication method, the first embodiment can ensure the synchronization between the plural data. In addition, compared with the range switching method of the conventional technology, the data delay does not occur by one cycle of the low-order task. In addition, there is no problem with data hunting; the first embodiment is effective in a system having a problem with such data hunting.
<ZWEITES AUSFÜHRUNGSBEISPIEL><SECOND EMBODIMENT>
Das Verfahren gemäß einem zweiten Ausführungsbeispiel ist unter Bezugnahme auf
Bei der Aufgabe V1 einer niedrigen Ordnung wird der Gleichlauf der globalen Variablen c, d, auf die die Unteraufgabe X und die Unteraufgabe Y Bezug nehmen, ohne den Einfluss der Aufgabe S einer hohen Ordnung sichergestellt. Bei der Aufgabe V2 einer niedrigen Ordnung beeinflusst zusätzlich die Aufgabe S2 einer hohen Ordnung, die in der Mitte der Ausführung erzeugt wird, das Duplizierungsverfahren von den Arbeitsbereichen C1, D1 zu den öffentlichen Bereichen C2, D2 nicht, was den Gleichlauf der globalen Variablen c, d sicherstellt (N202).In the low-order task V1, the synchronism of the global variables c, d, to which the sub-task X and the sub-task Y refer, is ensured without the influence of the task S of a high order. In addition, in the low-order task V2, the high-order task S2 generated in the middle of execution does not affect the duplication process from the work areas C1, D1 to the public areas C2, D2, which causes the global variable c to synchronize. d (N202).
Bei der Aufgabe V3 einer niedrigen Ordnung tritt im Gegensatz dazu die Aufgabe S3 einer hohen Ordnung auf, um ein Aktualisierungsverfahren auszuführen, um Daten nach dem Aktualisierungsverfahren der globalen Variablen c, jedoch vor dem Duplizierungsverfahren der globalen Variablen d zu aktualisieren. Die Unteraufgabe X und die Unteraufgabe Y nehmen daher auf die globale Variable c Bezug, die die alten Daten vor dem Aktualisierungsverfahren ist, und nehmen auf die globale Variable d Bezug, die die neuen Daten nach dem Aktualisierungsverfahren ist. Als ein Resultat schlägt der Gleichlauf von Daten zwischen den globalen Variablen c, d bei dem Bezugnahmeverfahren einer niedrigen Ordnung fehl (N203).In the low order task V3, on the contrary, the high order task S3 occurs to perform an updating process to update data according to the global variable c updating method but before the global variable d duplication method. The sub-task X and the sub-task Y therefore refer to the global variable c, which the old data before the Update method, and reference the global variable d, which is the new data after the update procedure. As a result, the synchronization of data between the global variables c, d fails in the low order reference method (N203).
Bei dem zweiten Ausführungsbeispiel werden dadurch die Duplizierungsverfahren für mehrere globale Variablen vor und nach dem Aktualisierungsverfahren einer hohen Ordnung voneinander nicht separiert. Ein Bruch oder ein Fehler in dem Gleichlauf von Daten ist somit vermeidbar (N213). Das Unterbrechungsverbotsverfahren der globalen Variablen c, d ist zusätzlich gemeinsam vorgesehen. Verglichen mit dem Fall, bei dem das Unterbrechungsverbotsverfahren für jede der globalen Variablen separat ausgeführt wird, kann die Verarbeitungslast der ECU
<DRITTES AUSFÜHRUNGSBEISPIEL><THIRD EMBODIMENT>
Das Verfahren gemäß einem dritten Ausführungsbeispiel ist unter Bezugnahme auf
<VIERTES AUSFÜHRUNGSBEISPIEL><FOURTH EMBODIMENT>
Das Verfahren gemäß einem vierten Ausführungsbeispiel ist unter Bezugnahme auf
In diesem Fall bestehen zwei Probleme. Ein erstes Problem bezieht sich auf die Verzögerung von Daten, auf die die Aufgabe U einer niedrigen Ordnung Bezug nimmt. Es ist beispielsweise wünschenswert, dass die Aufgabe U2 einer niedrigen Ordnung, die nach der Aufgabe S2 einer hohen Ordnung auftaucht, auf die neueste globale Variable c Bezug nimmt. Das Duplizierungsverfahren durch die Aufgabe V2 einer niedrigen Ordnung wird jedoch nach der Aufgabe U2 einer niedrigen Ordnung ausgeführt. Die Aufgabe U2 einer niedrigen Ordnung nimmt auf die alten Daten, die durch die Aufgabe V1 einer niedrigen Ordnung des vorausgehenden Zyklus dupliziert werden, Bezug (N401).In this case, there are two problems. A first problem relates to the delay of data referred to by the low-order task U. For example, it is desirable that the low order task U2 appearing after the high order task S2 reference the most recent global variable c. However, the duplication process by the low order task V2 is performed after the low order task U2. The low order task U2 refers to the old data duplicated by the low order task V1 of the previous cycle (N401).
Ein zweites Problem bezieht sich auf den Gleichlauf von Daten, auf die die Aufgabe W einer niedrigen Ordnung Bezug nimmt. Das Duplizierungsverfahren durch die Aufgabe V1 einer niedrigen Ordnung wird während der Ausführung der Aufgabe W1 einer niedrigen Ordnung nicht ausgeführt. Es besteht somit kein Problem bei dem Gleichlauf der Daten. Das Duplizierungsverfahren durch die Aufgabe V2 einer niedrigen Ordnung wird ferner während der Ausführung der Aufgabe W2 einer niedrigen Ordnung ausgeführt. Bei der Aufgabe W2 einer niedrigen Ordnung wird somit auf die alten Daten der globalen Variablen c vor dem Aktualisierungsverfahren vor der Ausführung der Aufgabe W2 einer niedrigen Ordnung Bezug genommen, während auf die neuen Daten nach dem Aktualisierungsprozess nach der Ausführung der Aufgabe V2 einer niedrigen Ordnung Bezug genommen wird. Der Gleichlauf der Daten schlägt somit fehl (N402).A second problem relates to the synchronization of data referenced by the task W of a low order. The duplication process by the low order task V1 is not performed during the execution of the low order task W1. There is thus no problem with the synchronization of the data. The duplication process by the low order task V2 is further performed during the execution of the low order task W2. Thus, in the low-order task W2, the old data of the global variable c before the updating process before the execution of the low-order task W2 is referred, while referring to the new data after the updating process after the execution of the low-order task V2 is taken. The synchronization of the data thus fails (N402).
Die Aufgabe W2 einer niedrigen Ordnung nach der Unterbrechung der Aufgabe V2 einer niedrigen Ordnung nimmt zusätzlich auf die gleichen Daten wie die Daten, auf die zu dem Startzeitpunkt tiw der Aufgabe W2 einer niedrigen Ordnung Bezug genommen wurde, Bezug, ohne durch die Unterbrechung der Aufgabe V2 einer niedrigen Ordnung beeinflusst zu sein. Der Gleichlauf von Daten kann zwischen der ersteren Bezugnahme und der letzteren Bezugnahme in der Aufgabe W2 einer niedrigen Ordnung sichergestellt werden (N412). Das vierte Ausführungsbeispiel kann dadurch den Gleichlaufzusammenbruch von Daten in der Aufgabe einer niedrigen Ordnung, die eine relativ niedrige Prioritätsordnung hat, in den Fällen vermeiden, in denen das Duplizierungsverfahren durch eine Aufgabe einer niedrigen Ordnung, die eine relativ hohe Prioritätsordnung hat, während der Ausführung der Aufgabe einer niedrigen Ordnung, die die relativ niedrige Prioritätsordnung hat, ausgeführt wird.In addition, the low-order task W2 after the interruption of the low-order task V2 refers to the same data as the data referred to at the start time tiw of the low-order task W2, without interrupting the task V2 to be influenced by a low order. The synchronization of data can be ensured between the former reference and the latter reference in the low-order task W2 (N412). The fourth embodiment can thereby avoid the collapse of data in the low-order task having a relatively low order of priority in cases where the duplication method is performed by a low-order task having a relatively high order of priority during execution of the task Task of a low order, which has the relatively low priority order is executed.
<FÜNFTES AUSFÜHRUNGSBEISPIEL><FIVE EMBODIMENT>
Als Nächstes sind fünfte bis achte Ausführungsbeispiele relativ zu einem Verfahren in dem Fall, bei dem auf „die globale Variable als eine Aufgabe einer hohen Ordnung während einer Ausführung eines Aktualisierungsverfahrens einer globalen Variablen durch eine Aufgabe einer niedrigen Ordnung Bezug genommen werden kann”. Auf diesen Fall ist als ein „zweiter Fall” oder ein „Aktualisierungsunterbrechungsfall einer niedrigen Ordnung” Bezug genommen. Das Verfahren gemäß dem fünften Ausführungsbeispiel ist unter Bezugnahme auf
Die Aufgabe S2 einer hohen Ordnung nimmt auf die globalen Variablen e, f, die zu dem Startzeitpunkt ti der Aufgabe V2 einer niedrigen Ordnung dupliziert werden, Bezug. Der Gleichlauf der globalen Variablen e, f, auf die durch die Aufgabe S2 einer hohen Ordnung Bezug genommen wird, ist daher sichergestellt (N512).The high order task S2 refers to the global variables e, f that are duplicated at the start time ti of the low order task V2. The synchronism of the global variables e, f, referred to by the high-order task S2, is therefore ensured (N512).
Das fünfte Ausführungsbeispiel kann somit den Gleichlauf zwischen den mehreren Daten bei dem Bezugnahmeverfahren einer hohen Ordnung sicherstellen. Das Duplizierungsverfahren wird zusätzlich zu dem Startzeitpunkt ti der Aufgabe V einer niedrigen Ordnung ausgeführt. Die Daten, die durch das Aktualisierungsverfahren einer niedrigen Ordnung aktualisiert werden, werden in dem öffentlichen Bereich zu einem fixierten Zeitpunkt ungeachtet der Streuung oder Variation der Verarbeitungszeit der anschließenden Aufgabe V einer niedrigen Ordnung immer dupliziert. Dadurch wird der Zustand erreicht, bei dem die Aufgabe einer hohen Ordnung Bezug nehmen kann. Das heißt die vorhergehende Konfiguration zeichnet sich durch die Robustheit aus, die die Charakteristik gegen einen externen Faktor stabil hält.Thus, the fifth embodiment can ensure the synchronization between the plural data in the high order reference method. The duplication process is performed in addition to the start timing ti of the low-order task V. The data updated by the low-order updating process is always duplicated in the public domain at a fixed timing irrespective of the dispersion or variation of the processing time of the subsequent low-order task V. This achieves the state where the task of high order can be referred. That is, the previous configuration is characterized by the robustness that keeps the characteristic stable against an external factor.
<SECHSTES AUSFÜHRUNGSBEISPIEL><SIXTH EMBODIMENT>
Das Verfahren gemäß dem sechsten Ausführungsbeispiel ist unter Bezugnahme auf
Bei dem Bezugnahmeverfahren einer hohen Ordnung nimmt die Aufgabe S1 einer hohen Ordnung auf die globale Variable e und die globale Variable f, die nach dem Startzeitpunkt ti der Aufgabe V1 einer niedrigen Ordnung zu dem öffentlichen Bereich E2 bzw. dem öffentlichen Bereich F2 dupliziert werden, Bezug. Der Gleichlauf der globalen Variablen e, f wird somit sichergestellt. Ebenfalls in dem Bezugnahmeverfahren einer hohen Ordnung durch die Aufgabe S2 einer hohen Ordnung, die während der Ausführung der Aufgabe V2 einer niedrigen Ordnung erzeugt wird, nimmt zusätzlich die Aufgabe S2 einer hohen Ordnung auf beide globale Variablen e, f, die nach dem Startzeitpunkt ti der Aufgabe V2 einer niedrigen Ordnung in den öffentlichen Bereichen E2, F2 dupliziert werden, Bezug. Der Gleichlauf der globalen Variablen e, f ist somit sichergestellt (N602).In the high-order reference method, the high order task S1 refers to the global variable e and the global variable f duplicated after the start time ti of the low order task V1 to the public area E2 and the public area F2, respectively , The synchronization of the global variables e, f is thus ensured. Also, in the high order ordering process by the high order task S2 generated during the execution of the low order task V2, in addition, the high order task S2 is applied to both global variables e, f after the start time ti of FIG Task V2 of a low order in the public areas E2, F2 are duplicated, reference. The synchronization of the global variables e, f is thus ensured (N602).
Das Bezugnahmeverfahren einer hohen Ordnung durch die Aufgabe S3 einer hohen Ordnung wird im Gegensatz dazu nach dem Duplizierungsverfahren der globalen Variablen e von dem Arbeitsbereich E1 von X zu dem öffentlichen Bereich E2 von X, jedoch vor dem Duplizierungsverfahren der globalen Variablen f von dem Arbeitsbereich F1 von Y zu dem öffentlichen Bereich F2 von Y ausgeführt. Die Aufgabe S3 einer hohen Ordnung nimmt somit auf die alten Daten der globalen Variablen e vor den Aktualisierungsverfahren Bezug, während dieselbe auf die neuen Daten der globalen Variablen f nach dem Aktualisierungsverfahren Bezug nimmt. Der Gleichlauf der globalen Variablen e, f schlägt somit fehl (N603).The high order reference method by the high order task S3 on the contrary, according to the duplication method of the global variable e, from the work area E1 of X to the public area E2 of X but before the duplication method of the global variable f from the work area F1 of FIG Y to the public area F2 of Y executed. The high order task S3 thus references the old data of the global variable e before the updating processes while referring to the new global variable data f after the updating process. The synchronization of the global variables e, f thus fails (N603).
Bei dem sechsten Ausführungsbeispiel sind dadurch die Duplizierungsverfahren zu den mehreren globalen Variablen vor und nach dem Bezugnahmeverfahren einer hohen Ordnung nicht separat. Der Bruch oder Fehler des Gleichlaufs von Daten ist somit vermeidbar. Das gemeinsame Unterbrechungsverbotsverfahren wird zusätzlich für die globalen Variablen e, f ausgeführt. Verglichen mit dem Fall, bei dem das Unterbrechungsverbotsverfahren für jede der globalen Variablen separat ausgeführt wird, kann die Verarbeitungslast der ECU
<SIEBTES AUSFÜHRUNGSBEISPIEL><SEVENTH EMBODIMENT>
Das Verfahren gemäß einem siebten Ausführungsbeispiels ist unter Bezugnahme auf
Das siebte Ausführungsbeispiel kann somit wie das fünfte Ausführungsbeispiel den Gleichlauf zwischen den mehreren Daten bei dem Bezugnahmeverfahren einer hohen Ordnung sicherstellen. Hinsichtlich des Bezugnahmeverfahrens einer hohen Ordnung durch die Aufgabe S1' einer hohen Ordnung, die zuerst nach der Ausführung der Aufgabe V1 einer niedrigen Ordnung erzeugt wird, nimmt das fünfte Ausführungsbeispiel zusätzlich auf die Daten, die um einen Zyklus der Aufgabe einer niedrigen Ordnung (Bezug nehmend auf
<ACHTES AUSFÜHRUNGSBEISPIEL><Eighth Embodiment>
Das Verfahren gemäß dem achten Ausführungsbeispiel ist unter Bezugnahme auf
In einem solchen Fall beziehen sich sowohl die Aufgabe S1 einer hohen Ordnung als auch die Aufgabe T1 einer hohen Ordnung auf die globale Variable e, die zu dem Startzeitpunkt ti der Aufgabe V1 einer niedrigen Ordnung dupliziert wird. Es besteht somit bei dem Gleichlauf der Daten kein Problem. Es sei jedoch ein Fall angenommen, bei dem die globale Variable e während der Ausführung der Aufgabe V1 einer niedrigen Ordnung aktualisiert wird, und die Aufgabe T1 einer hohen Ordnung nach dem Abschluss oder dem Ende der Aufgabe V1 einer niedrigen Ordnung auftritt. In einem solchen Fall nimmt die Aufgabe T1 einer hohen Ordnung auf die Daten, die immer um einen Zyklus verzögert sind, Bezug (N801).In such a case, both the high order task S1 and the high order task T1 refer to the global variable e duplicated at the start time ti of the low order task V1. There is thus no problem with the synchronization of the data. However, assume a case where the global variable e is updated during the execution of the low order task V1, and the high order task T1 occurs after the completion or the end of the low order task V1. In such a case, the high order task T1 refers to the data which is always delayed by one cycle (N801).
Wie bei dem fünften Ausführungsbeispiel erläutert ist, verbessert ein Ausführen des Duplizierungsverfahrens zu dem Startzeitpunkt ti der Aufgabe V einer niedrigen Ordnung die Robustheit. Wie bei dem siebten Ausführungsbeispiel erläutert ist, ermöglicht ferner das Ausführen des Duplizierungsverfahren zu dem Abschlusszeitpunkt tf der Aufgabe V einer niedrigen Ordnung eine Bezugnahme auf die neuesten Daten. Daher kann „die Aufgabe, die die Daten, die zu einer fixierten Zeit immer aktualisiert werden, anfordert”, als die Aufgabe S einer hohen Ordnung bestimmt sein, während „die Aufgabe, die immer die neuesten Daten anfordert” als die Aufgabe T einer hohen Ordnung bestimmt ist. Beide Anforderungen oder Forderungen beider Aufgaben können dadurch gleichzeitig erfüllt werden.As explained in the fifth embodiment, performing the duplication process at the start time ti of the low-order task V improves the robustness. Further, as explained in the seventh embodiment, executing the duplication process at the completion time point tf of the low-order task V allows reference to the latest data. Therefore, "the task requesting the data which is always updated at a fixed time" may be designated as the high order task S, while "the task always requesting the latest data" is the high task Order is determined. Both requirements or requirements of both tasks can be fulfilled simultaneously.
<ANDERE AUSFÜHRUNGSBEISPIELE><OTHER EMBODIMENTS>
- (a) Die Aufgabe einer niedrigen Ordnung weist bei dem ersten, zweiten, dritten, fünften, sechsten und siebten Ausführungsbeispiel zwei von der Unteraufgabe X und der Unteraufgabe Y auf. Ohne die Notwendigkeit darauf begrenzt zu sein, kann die Aufgabe einer niedrigen Ordnung drei oder mehr Unteraufgaben aufweisen.(a) The low-order task has two of the sub-task X and the sub-task Y in the first, second, third, fifth, sixth, and seventh embodiments. Without being limited to it, the task of low order may have three or more subtasks.
- (b) Das vierte Ausführungsbeispiel veranschaulicht drei Aufgaben U, V und W einer niedrigen Ordnung. Bei dem achten Ausführungsbeispiel sind ferner zwei Aufgaben S, T einer hohen Ordnung veranschaulicht. Die Zahl der Aufgaben einer niedrigen Ordnung oder die Zahl der Aufgaben einer hohen Ordnung kann eine andere Zahl sein.(b) The fourth embodiment illustrates three tasks U, V, and W of a low order. In the eighth embodiment, two tasks S, T of a high order are further illustrated. The number of low-order tasks or the number of high-order tasks may be a different number.
- (c) Bei den ersten und fünften Ausführungsbeispielen wird das Duplizierungsverfahren zu dem Startzeitpunkt ti der Aufgabe V einer niedrigen Ordnung ausgeführt. Dieser Zeitpunkt des Duplizierungsverfahrens kann auf einen anderen Zeitpunkt ohne die Notwendigkeit des Startzeitpunkts ti eingestellt sein. Das Duplizierungsverfahren kann lediglich auf den Zeitpunkt eingestellt sein, bevor auf die globale Variable zuerst Bezug genommen wird oder dieselbe während der Ausführung der Aufgabe V einer niedrigen Ordnung aktualisiert wird. Bei dem dritten und dem siebten Ausführungsbeispiel wird das Duplizierungsverfahren zu dem Abschlusszeitpunkt tf der Aufgabe V einer niedrigen Ordnung ausgeführt. Der Zeitpunkt des Duplizierungsverfahrens kann auf einen anderen Zeitpunkt eingestellt sein, ohne die Notwendigkeit auf den Abschlusszeitpunkt tf begrenzt zu sein. Das Duplizierungsverfahren kann ferner nach dem Abschluss der Unteraufgabe Y, das schließlich während der Ausführung der Aufgabe V einer niedrigen Ordnung auf eine globale Variable Bezug nimmt oder dieselbe aktualisiert, ausgeführt werden.(c) In the first and fifth embodiments, the duplication process is performed at the start time ti of the low-order task V. This time of the duplication process may be set to another time without the need of the start time ti. The duplication method may be set only to the time before the global variable is first referenced or updated during the execution of the low-order task V. In the third and seventh embodiments, the duplication process is performed at the completion timing tf of the low-order task V. The timing of the duplication process may be set to another time without being limited to the completion time tf. The duplication method may also be executed after the completion of the sub-task Y, which eventually refers to or updates the same during the execution of the low-order task V.
- (d) Eine Informationsverarbeitungsvorrichtung gemäß der vorliegenden Erfindung kann bei verschiedenen anderen Verwendungen als die elektrische Servolenkvorrichtung, wie z. B. einem VGRS (= variable gear ratio steering wheel = Lenkrad mit einem variablen Übersetzungsverhältnis) oder einem ARS (= active rear steering wheel = aktiven Hinterlenkrad), angewendet sein. Die vorliegende Erfindung ist zusätzlich nicht auf die vorhergehenden Ausführungsbeispiele begrenzt und kann auf verschiedene modifizierte Arten und Weisen basierend auf dem Schutzbereich der vorliegenden Erfindung erreicht werden. (d) An information processing apparatus according to the present invention may be used in various uses other than the electric power steering apparatus such as a power steering apparatus. B. a VGRS (= variable gear ratio steering wheel = steering wheel with a variable gear ratio) or an ARS (= active rear steering wheel = active rear steering wheel), be applied. In addition, the present invention is not limited to the foregoing embodiments and can be achieved in various modified manners based on the scope of the present invention.
Es ist für Fachleute offensichtlich, dass an den im Vorhergehenden beschriebenen Ausführungsbeispielen der vorliegenden Erfindung verschiedene Änderungen vorgenommen sein können. Der Schutzbereich der vorliegenden Erfindung sollte jedoch durch die folgenden Ansprüche bestimmt sein.It will be apparent to those skilled in the art that various changes may be made in the embodiments of the present invention described above. The scope of the present invention However, it should be determined by the following claims.
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- JP 2002-149421 A [0001] JP 2002-149421 A [0001]
- JP 3783553 B2 [0001] JP 3783553 B2 [0001]
Claims (12)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010254749A JP5798314B2 (en) | 2010-11-15 | 2010-11-15 | Information processing device |
JP2010-254749 | 2010-11-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102011055205A1 true DE102011055205A1 (en) | 2012-05-16 |
Family
ID=45999055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201110055205 Ceased DE102011055205A1 (en) | 2010-11-15 | 2011-11-10 | Electronic control unit for use in electrical servo steering device of steering wheel system of vehicle, has microcomputer comprising CPU for storing global variable, where task of low order executes duplication method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5798314B2 (en) |
DE (1) | DE102011055205A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102492399B1 (en) * | 2016-07-27 | 2023-01-26 | 엘에스일렉트릭(주) | Apparatus for monitoring and controlling |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149421A (en) | 2000-11-15 | 2002-05-24 | Denso Corp | Information processor |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59206972A (en) * | 1983-05-10 | 1984-11-22 | Toshiba Corp | Shared memory |
JP3261766B2 (en) * | 1992-11-10 | 2002-03-04 | セイコーエプソン株式会社 | Multiprocessor system, shared variable updating device, processor unit, and shared variable updating method |
JP3617445B2 (en) * | 2000-11-20 | 2005-02-02 | 株式会社デンソー | Information processing device |
JP2002189704A (en) * | 2000-12-22 | 2002-07-05 | Yaskawa Electric Corp | Shared memory with block transfer function |
-
2010
- 2010-11-15 JP JP2010254749A patent/JP5798314B2/en not_active Expired - Fee Related
-
2011
- 2011-11-10 DE DE201110055205 patent/DE102011055205A1/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002149421A (en) | 2000-11-15 | 2002-05-24 | Denso Corp | Information processor |
JP3783553B2 (en) | 2000-11-15 | 2006-06-07 | 株式会社デンソー | Information processing device |
Also Published As
Publication number | Publication date |
---|---|
JP5798314B2 (en) | 2015-10-21 |
JP2012108582A (en) | 2012-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102016013731A1 (en) | Robotic system with features to simplify training and improve operational performance through learning | |
DE102016008985B4 (en) | Servo control system with learning control device with function for optimizing a learning memory allocation | |
DE102017102749A1 (en) | Automatic trajectory generation for controlling a drive system | |
DE102013012790A1 (en) | Numerical control device with multi-core processor | |
WO2020108709A1 (en) | Method for planning a parking process supported by a parking assistance system | |
EP0886823B1 (en) | Method of checking the operability of a computing unit | |
WO2017140504A1 (en) | Method and device for operating a controller | |
WO2009074472A1 (en) | Method for controlling and/or regulating at least one partial load transfer in a hybrid drive arrangement | |
DE102010020148B4 (en) | Method and control unit for controlling a drive train of a vehicle | |
DE102019108166B4 (en) | Method and control unit for controlling a steering system of a vehicle | |
DE102011055205A1 (en) | Electronic control unit for use in electrical servo steering device of steering wheel system of vehicle, has microcomputer comprising CPU for storing global variable, where task of low order executes duplication method | |
EP3438773A1 (en) | Processing of workpieces with model-supported error compensation | |
EP1332501B1 (en) | Memory management logic for expanding the utilization of read-only memories | |
EP1770521B1 (en) | Multiprocessor architecture and method for controlling memory access in a multiprocessor architecture | |
WO2004074665A1 (en) | Method, computer program and controller for operating an internal combustion engine | |
EP4139849A1 (en) | Method for configuring components in a system by means of multi-agent reinforcement learning, computer-readable storage medium, and system | |
DE102016206490A1 (en) | ELECTRONIC CONTROL UNIT | |
WO2021144271A1 (en) | Method and apparatus for reconfiguring an autonomous vehicle in the event of a fault | |
DE102011013833B4 (en) | display device | |
EP2018604B1 (en) | Procedure for operating a control unit | |
DE102015000291A1 (en) | Method for controlling a processing machine | |
DE112015001252T5 (en) | Electronic control unit | |
DE102009029642A1 (en) | Method for processing information and activities in a control and / or regulation system | |
EP1091290B1 (en) | Processor system with Store or Load instruction having splitting information | |
AT522186B1 (en) | Computer-implemented method for the computer-aided generation of an executable control program for controlling and / or regulating a technical process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R012 | Request for examination validly filed |
Effective date: 20140908 |
|
R016 | Response to examination communication | ||
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |