-
HINTERGRUND DER ERFINDUNG
-
Die vorliegende Erfindung bezieht sich auf einen eingebetteten Controller, auf Verfahren und auf ein Entwicklungswerkzeug für eingebettete Controller.
-
Bisher gibt es als eine eingebettete oder integrierte Software, einen eingebetteten Controller und ein Entwicklungswerkzeug für eingebettete Software ein Verfahren zum automatischen Generieren des Schnittstellenprogramms eines Basisprogramms gemäß den Eingabeinformationen von einer Programmierperson (z. B.
JP 2002-2 29 791 A , S. 4 und
1(b)).
-
Außerdem gibt es bisher ein Verfahren zum automatischen Generieren des Quellcodes unter Verwendung der Steuersystem-Entwurfsunterstützungs-Software (MATLAB und Simulink) zum Generieren der eingebetteten Software (z. B. die Veröffentlichung der CyberNet System Co. Ltd., ”MATLAB Expo 2002 model-based control system design conference material”, S. 103–126).
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Zum Beispiel sind das Entwicklungswerkzeug für eingebettete Controller und der Entwicklungsprozess zur Verbesserung der Entwicklungseffizienz der Software für den eingebetteten Controller in dem elektronischen Controller für ein Fahrzeug erforscht worden. Sie sind erforderlich, um den Quellcode der Software für den eingebetteten Controller automatisch zu generieren und um die Wiederverwendung der Software zu erhöhen. Bei dem herkömmlichen eingebetteten Controller richtet das Schnittstellenmittel einen Teil des Basismanagementmittels ein. (Zum Beispiel
JP 2002-2 29 791 A ). Somit muss das gesamte Schnittstellenmittel geändert werden, selbst wenn ein Teil von zwei oder mehr Steuerbetriebsmitteln geändert wird. Das heißt, es gibt ein Problem, dass ein Teil des Schnittstellenmittels, das ursprünglich nicht geändert werden soll, neu generiert werden muss.
-
Eine Aufgabe der vorliegenden Erfindung ist die Lösung des oben erwähnten Problems und die Steigerung der Wiederverwendung des eingebetteten Controllers.
-
Nun gibt es bisher ein Verfahren zum automatischen Generieren des Quellcodes des Steuerbetriebsmittels unter Verwendung des MATLAB und des Simulink (z. B. die Veröffentlichung der CyberNet System Co. Ltd., ”MATLAB Expo 2002 model-based control system design conference material”, S. 103–126).
-
Selbst dann, wenn das Steuerbetriebsmittel durch das oben erwähnte Verfahren generiert wurde, war ein manueller Betrieb erforderlich, um die Übergabe der Daten zwischen dem automatisch generierten Steuerbetriebsmittel und dem Steuerbetriebsmittel und das Management der in dem gesamten eingebetteten Controller verwendeten Variablen zu integrieren.
-
Es besteht ein Problem, dass es eine Zeit dauert, den Quellcode zu beschreiben, wenn der Quellcode des Schnittstellenmittels durch eine Person beschrieben wird.
-
Es ist eine Aufgabe der vorliegenden Erfindung, das oben erwähnte Problem zu lösen und die Produktivität des eingebetteten Controllers zu verbessern.
-
Zur Lösung der oben erwähnten Aufgabe wird gemäß der vorliegenden Erfindung ein Controller mit den Merkmalen des Patentanspruchs 1 und ein entsprechendes jeweiliges Verfahren nach Anspruch 5 und nach Anspruch 6 sowie ein Entwicklungswerkzeug nach Anspruch 7 vorgeschlagen.
-
Die oben erwähnte Aufgabe wird insbesondere dadurch gelöst, dass z. B. für jede Steuersoftwarekomponente in dem eingebetteten Controller der vorliegenden Erfindung die entsprechend zugeordnete Schnittstellensoftwarekomponente geschaffen wird.
-
In einem Entwicklungswerkzeug für eingebettete Controller kann das Steuerbetriebsmittel (Steuersoftwarekomponente) als eine Funktion in dem Quellcode des Programms beschrieben, wobei die zur Berechnung des Steuerbetriebs verwendeten Bezugnahmedaten ein Argument der Funktion sind, wobei die durch das Steuerbetriebsmittel berechneten Steuerdaten das Argument der Funktion sind, das auf den Rückgabewert oder auf die Adresse der Funktion zeigt, ferner umfassend; ein Analysemittel, das aus dem Quellcode des Steuerbetriebsmittels die spezifizierten Informationen entnimmt; ein Schnittstellengenerierungsmittel, das für jedes Steuerbetriebsmittel auf der Grundlage eines Analyseergebnisses des Analysemittels das entsprechende für das verwandte bzw. zugeordnete Steuerbetriebsmittel vorgesehene Schnittstellenmittel (Schnittstellensoftwarekomponente) generiert.
-
KURZBESCHREIBUNG DER ZEICHNUNG
-
1 ist eine erläuternde Zeichnung der vorliegenden Erfindung.
-
2 ist ein Systemdiagramm eines elektronischen Controllers für ein Fahrzeug gemäß einer Ausführungsform der vorliegenden Erfindung.
-
3 ist ein Systemdiagramm des dezentralen eingebetteten Controllers gemäß einer Ausführungsform der vorliegenden Erfindung.
-
4 ist ein Prinzipschaltbild der Software für den eingebetteten Controller.
-
5 ist ein Prinzipschaltbild der Anwendungssoftware.
-
6 ist ein Ablaufplan der Aufgabenverarbeitungssoftware.
-
7 ist ein Blockschaltplan der Drehmoment-Grundsteueranwendung.
-
8 ist eine Veranschaulichung des C-Quellcodes der Steuersoftwarekomponenten.
-
9 ist eine Veranschaulichung des C-Quellcodes der Schnittstellensoftware.
-
10 ist eine Ansicht, die die Definitionsinformationen und das Drehmoment-Basissteuersystem zeigt.
-
11 ist ein Ablaufplan des Drehmoment-Grundsteuersystems.
-
12 ist ein Systemdiagramm des E/A-Betriebsteils in dem dezentralen Steuersystem.
-
13 ist ein Softwareentwicklungs-Prozessablaufplan für den eingebetteten Controller.
-
14 ist eine Ansicht, die das eingebettete Softwareentwicklungsmittel 1 zeigt.
-
15 ist eine Ansicht, die das eingebettete Softwareentwicklungsmittel 2 zeigt.
-
16 ist eine Ansicht, die das eingebettete Softwareentwicklungsmittel 3 zeigt.
-
17 ist ein Ablaufplan der automatischen Generierung der Schnittstellensoftware.
-
18 ist ein Ablaufplan der Entnahme von Steuersoftwarekomponenten-Informationen.
-
19 ist Schnittstellensoftwaregenerierungs-Ablaufplan.
-
20 ist eine Veranschaulichung der Mitteilungszuweisung des Netzes für eingebettete Software.
-
21 ist eine Veranschaulichung des Mitteilungszuweisungsdienstes des Netzes für eingebettete Software.
-
AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
Anhand der Zeichnung wird eine Ausführungsform der vorliegenden Erfindung erläutert.
-
Als ein Beispiel für den eingebetteten Controller in dieser Ausführungsform wird der Fahrzeugsteuer-Controller behandelt.
-
1 zeigt die Grundkonfiguration der Anwendungssoftware, auf die die vorliegende Erfindung angewendet wird. Die Bezugszeichen 1A, ... 1B und 1C bezeichnen Steuersoftwarekomponenten, wobei die Aktualisierungslogik der Steuervariablen beschrieben wird. In der vorliegenden Erfindung entspricht dies dem Steuerbetriebsmittel. 2A, ... 2B und 2C bezeichnen die Schnittstellensoftware, die den Steuersoftwarekomponenten entspricht.
-
In der vorliegenden Erfindung entspricht dies dem Schnittstellenmittel.
-
Das Bezugszeichen 3 bezeichnet die in der Anwendungssoftware ausgeführte Basislogik, z. B. die Steuerbasissoftware, wobei die Reihenfolge der Aktualisierung der Variablen, d. h. die Ausführungssequenz der Steuersoftwarekomponenten, beschrieben wird. In der vorliegenden Erfindung entspricht dies dem Steuerbasis-Verarbeitungsmittel.
-
Das Bezugszeichen 4 sind externe Eingabedaten. Die externen Informationen werden durch Messen, z. B. durch den in der Hardware enthaltenen Sensor, oder durch Kommunizieren mit anderen Anwendungssoftwares und Controller erhalten.
-
In der vorliegenden Erfindung entspricht dies dem Mittel zur Verarbeitung externer Eingaben. Das Bezugszeichen 5 bezeichnet eine Informationsausgabe nach außen. Die Ausgabe nach außen wird durch Ansteuern eines in der Hardware enthaltenen Stellglieds oder durch Kommunizieren mit anderen Anwendungen und Controller ausgeführt.
-
In der vorliegenden Erfindung entspricht dies dem Mittel zur Verarbeitung externer Ausgaben. Das Bezugszeichen 6 bezeichnet das Betriebssystem, das die Aufgabensteuerung und das Unterbrechungsmanagement der eingebetteten Software ausführt. In der vorliegenden Erfindung entspricht dies dem Basismanagementmittel. Den Softwarekomponenten und der Schnittstellensoftware sind 1A und 2A bzw. 1B und 2B zugeordnet. Somit wird lediglich die Schnittstellensoftware 2C geändert, wenn z. B. die Softwarekomponente 1C geändert wird. Das heißt, die Schnittstellensoftware 2A und 2B kann ohne Änderung verwendet werden.
-
Das heißt, es gibt eine Wirkung, dass die Wiederverwendung der eingebetteten Software, die die Schnittstellensoftware besitzt, durch Anwendung der in 1 gezeigten Konfiguration verbessert wird. Obgleich in 1 lediglich eine Hierarchie der Anwendung ausgedrückt ist, ist die vorliegende Erfindung nicht auf eine Hierarchie beschränkt, sondern wird auf alle Hierarchien angewendet. Beispielsweise können die Softwarekomponenten 1A selbst die in 1 gezeigte Konfiguration besitzen. Diese Konfiguration ist bei der so genannten hierarchischen eingebetteten Softwarekonfiguration effektiv.
-
2 zeigt das Fahrzeug, wo die vorliegende Erfindung angewendet wurde.
-
In diesem Beispiel besitzt das Fahrzeug 7 einen Motor 8, eine Steuereinheit (ECU) 10, die z. B. den Motor 8 steuert, ein Automatikgetriebe (AT) 9, eine Steuereinheit (ECU) 20, die das Automatikgetriebe 9 steuert, und ein Fahrpedal A, das vom Fahrer betätigt wird. Außerdem kann die Steuereinheit (ECU) 20 eine Steuereinheit für die Drosselklappe und nicht für das Automatikgetriebe, d. h. eine andere Steuereinheit als eine für den Motor, sein.
-
3 zeigt die Grundkonfiguration des dezentralen Steuersystems für ein Fahrzeug.
-
Das dezentrale Steuersystem für ein Fahrzeug umfasst: eine Steuereinheit (ECU) 10, die einen Prozessor 13, einen Speicher 12, eine eingebettete Software 11, eine Datensenke 14, eine Datenquelle 15, einen Analogeingang 41 für den A/D-Umsetzungsausgang des Eingangssignals z. B. zu einem Luftstromsensor, einen Digitaleingang 42 für Impulse z. B. von einem Kurbelwinkelsensor, einen Analogausgang 51 für die Spannung, die die Peripheriegeräte ansteuert, und einen Digitalausgang 52 für Impulse, die die Peripheriegeräte ansteuern, enthält; und eine Steuereinheit (ECU) 20, die die gleiche Konfiguration wie die ECU 10 aufweist.
-
4 zeigt ein Beispiel der Konfiguration der eingebetteten Software 11. Wie in 4 gezeigt ist, umfasst die eingebettete Software 11 eine Anwendungssoftware 111 und eine Basissoftware 112. Die Basissoftware 112 umfasst ein Echtzeit-Betriebssystem (RTOS) 1121 und ein Basis-Eingabe/Ausgabe-System (BIOS) 1122. Das RTOS 1121 startet die Aufgabe des Zeitzyklus und die Aufgabe, die mit dem externen Eingang synchronisiert, und schafft eine Unterbrechungsfreigabeverarbeitung und einen Aufrufdienst für andere Aufgaben für die Anwendungssoftware 111.
-
Das BIOS 1122 empfängt die Forderung von der Anwendungssoftware 111 und liest die externen Eingabedaten 4 und gibt die externen Ausgabedaten 5 aus. Durch Anwendung der Konfiguration aus 4 ist es möglich, den Teil (BIOS), der in der eingebetteten Software von der Hardware abhängt, die Echtzeitsteuerfunktionen wie etwa die Unterbrechungssignalverarbeitung und die Zeitgeberverarbeitung usw., von dem Anwendungsteil, der von dem gesteuerten System abhängt, wie etwa die Zündungssteuerung usw. des Motors und die Gangschaltungssteuerung, zu trennen. Zum Beispiel gibt es einen Vorteil, dass lediglich das BIOS geändert wird, wenn sich die CPU ändert, während die Anwendungssoftware so, wie sie ist, verwendet werden kann,
-
5 zeigt ein Beispiel der Konfiguration der Anwendungssoftware.
-
Zum Beispiel umfasst die Anwendungssoftware 111 eine Aufgabe, die mit einem festen Zyklus gestartet wird wie eine Aufgabe mit einem 10 ms-Zyklus, eine Aufgabe, die synchron zu dem externen Signal gestartet wird wie die zur Motorumdrehung synchronisierte Aufgabe 1112 usw. mit einem Start wie der Zyklus der Zehn-ms-Aufgabe 1111, die sich mit einem konstantem Zyklus mit dem externen Signal synchronisiert, und eine Aufgabe, die ausgeführt wird, wenn der Prozessor nicht verwendet wird, wie die Hintergrundaufgabe 1113. Jede dieser Aufgaben umfasst die Aufgabenverarbeitungs-Basissoftware und die Steueranwendung.
-
Beispielsweise umfasst die 10-ms-Zyklus-Aufgabe eine 10-ms-Aufgabenverarbeitungs-Basissoftware, eine Diagnosesteuerung 11112, eine Kraftstoffkorrektursteuerung 11113, eine drehmomentbasierte Steuerung 11114 und andere Steuerungen. Das Symbol ”...” in der Figur bedeutet, dass die Steuerlogik nicht auf die oben erwähnten drei Logikarten beschränkt ist.
-
6 zeigt den Betrieb der Basissoftware 11111 für die 10-ms-Aufgabenverarbeitung. Das RTOS 1121 führt die Startverarbeitung der Basissoftware 11111 für die 10-ms-Aufgabenverarbeitung aus.
-
Im Ergebnis wird die Verarbeitung der Basissoftware 11111 für die 10-ms-Aufgabenverrabeitung ausgeführt. In Schritt S1 wird für das BIOS 1122 und für den neuesten Wert des Sensors, der den Eingabewert zu dem Luftstromsensor usw. aktualisiert, die Verarbeitung einer externen Eingabe angefordert. In Schritt S2 wird die Diagnosesteuerung 11112 ausgeführt. Daraufhin werden einige Steuerungen ausgeführt. In Schritt S3 wird die Kraftstoffkorrektursteuerung 11113 ausgeführt. In Schritt S4 wird die Drehmomentgrundsteuerung 11114 ausgeführt. In Schritt S5 wird für das BIOS 1122 die Verarbeitung der externen Ausgabe angefordert und die Verarbeitung abgeschlossen.
-
Durch Anwendung der in 5 und 6 gezeigten Konfiguration als die Anwendungssoftware wird es ermöglicht, die Eingabeverarbeitung S1 von außen, die Steuerungsverarbeitung S2, S3, S4 mit unterschiedlichen Zielen und die Ausgabeverarbeitung S5 nach außen in der gleichen Aufgabe zu verarbeiten.
-
7 zeigt eine Grundkonfiguration der Drehmomentgrundsteuerungs-Anwendungssoftware, auf die die vorliegende Erfindung angewendet wird. 1D, 1E und 1F sind die Steuersoftwarekomponenten, von denen z. B. die Drehmomentsteuerung, die Variable A und die Aktualisierungslogik der Steuervariablen der Drosselöffnung beschrieben werden. 2D, ..., 2E und 2F sind eine Schnittstellensoftware, die jeweils den Steuersoftwarekomponenten 2D, 2E und 2F entspricht. 3A ist die Drehmomentgrundsteuerungs-Basissoftware, wobei die Reihenfolge der Aktualisierung der Variablen der Steuersoftwarekomponenten in der Drehmomentgrundsteuerung, d. h. die Ausführungssequenz, beschrieben wird. 4 sind externe Eingabedaten, die vom BIOS 1122 erhalten werden. Die externen Informationen werden beispielsweise durch Messen mit dem Sensor und Kommunizieren mit anderen Anwendungen und Controllern erhalten.
-
Das Bezugszeichen 5 bezeichnet die vom BIOS 1122 nach außen ausgegebenen Informationen. Die Ausgabe nach außen wird dadurch ausgeführt, dass ein Stellglied angesteuert wird oder dass mit anderen Anwendungen und Controllern kommuniziert wird. Dadurch, dass die in 7 gezeigte Konfiguration angewendet wird, wird lediglich die Schnittstellensoftware 2D geändert, wenn z. B. die Softwarekomponente 1D, die das Solldrehmoment betreibt, geändert wird, während die Schnittstellensoftware 2E und 2F verwendet werden kann, ohne dass sie geändert wird. Das heißt, es gibt eine Wirkung, dass die Wiederverwendung der eingebetteten Software, die die Schnittstellensoftware aufweist, durch Anwendung der in 7 gezeigten Konfiguration verbessert wird.
-
8 zeigt ein Beispiel der in 7 gezeigten Steuersoftwarekomponente 1F.
-
C11 ist hier eine Kopfdatei (TVO_Calculate.h), wenn die Softwarekomponente 1 zum Aktualisieren der Drosselöffnung (künftig TVO) mit der Sprache C beschrieben wird. C12 ist eine Quelldatei (TVO_Calculate.c), wenn die Softwarekomponente 1 zum Aktualisieren der TVO mit der Sprache C beschrieben wird. In C11 wird der Prototyp der Funktion zum Erneuern der TVO vereinbart. Das heißt, es werden die Extern-Vereinbarung (extern) der Funktion, der Typ (void) des Rückgabewerts der Funktion, der Funktionsname (TVO_Calculate), der Typ des Eingabewerts der Funktion, der Variablenname (unsigned short TargetTorque, ..., unsigned short Variable_A) und die Variable, die die Funktion aktualisiert, mit einem Wort, der Typ des Ausgabewerts der Softwarekomponente und der Zeiger des Variablennamens (unsigned short TVO), vereinbart. Ob das Argument der Funktion eine Eingabevariable oder eine Ausgabevariable ist, wird danach beurteilt, ob am Kopf des Variablennamens die Kennung (*) angebracht ist, die das Zeigerargument zeigt. Die Ausgabevariable entspricht in der vorliegenden Erfindung den Steuerdaten, die durch die Steuerbetriebsmittel in dem eingebetteten Controller berechnet werden.
-
C12 beschreibt die Funktion zum Erneuern der TVO. Das heißt, es werden der Typ (void) des Rückgabewerts der Funktion, der Funktionsname (TVO_CAlculate), der Typ und der Variablenname (unsigned short TargetTorque, ..., unsigned short Variable A) des Eingabewerts, der das Argument der Funktion ist, die Variable, die die Funktion aktualisiert, mit einem Wort, der Typ des Ausgabewerts der Softwarekomponente und der Zeiger des Variablennamen (unsigned short TVO), definiert und es wird die Methode (*TVO = Target-Torque*Kt + Variable_A*Ka) des Erneuerns der TVO beschrieben. Target Torque und Variable_A sind Variablen und Kt und Ka Konstanten.
-
9 zeigt die C-Quellcodes C21, C22 und C23 als ein Beispiel der in 7 gezeigten Schnittstellensoftware 2F. Sie entsprechen den in C11 und C12 aus 8 erläuterten Steuersoftwarekomponenten. C21 ist eine C-Quelldatei zur Variablenvereinbarung (TVO.c). C22 ist eine C-Kopfdatei (TVO.c), die den Variablenbezugnahmebefehl definiert, und C23 ist die C-Kopfdatei (TVO_Update.h), die den Variablenaktualisierungsbefehl definiert.
-
In C21 wird die Variablenvereinbarung (unsigned short TVO) der TVO, d. h. der Ausgabevariablen der entsprechenden Softwarekomponenten C11 und C12, ausgeführt. In C22 werden die Definition (#define TVO_Get() TVO) des Befehls, auf den die Variable Bezug nimmt, und der Typ und der Name (extern unsigned short TVO) der Variablen, d. h. die Extern-Variablenvereinbarung der TVO, ausgeführt, damit die weitere Schnittstellensoftware auf die in C21 deklarierte Variable TVO Bezug nehmen kann.
-
In C23 wird der Befehl definiert, der ausgeführt wird, wenn die Steuerbasissoftware 3 die Aktualisierung der Variablen TVO anfordert. Das heißt, durch den Befehl wird die beschriebene C-Kopfdatei gelesen, um auf die Eingabevariable (#include ”TVO.h”-#include ”variable_A”) Bezug zu nehmen, wird der Befehlsname zur Aktualisierung der Variablen definiert (#define TVO_Update()¥), wird der Funktionsname der tatsächlich aufgerufenen Steuersoftwarekomponente C12 beschrieben (TVO_Calculate ...), wird der Befehl zur Bezugnahme auf die Steuervariable, die zu einer Eingangsgröße der Funktion zum Erneuern der TVO wird, aufgerufen (TargetTorque_Get() ... variableA_Get()) und wird die Adresse der Variablen TVO als eine Ausgangsgröße der Funktion bestimmt, für die TVO erneuert wird (& TVO).
-
In 9 ist der Befehl, der zur Aktualisierung der Variablen durch die Softwarekomponenten C11 und C12, die der Schnittstellensoftware C21–C23 entsprechen, aufgerufen wird, lediglich TVO_Update(). Wenn die Aktualisierung der Variablen gefordert wird (TVO_Update()), sammelt die Schnittstellensoftware die Eingabewerte, die erforderlich sind, um die Funktion zum Aktualisieren der Variablen aufzurufen (TargetTorque_Get() ... variableA_Get()) und bestimmt sie die Variable als eine Ausgangsgröße (& TVO). Daraufhin wird die Funktion zur Aktualisierung der Variablen aktualisiert und anschließend aufgerufen (TVO_Calculate()).
-
Dadurch, dass die in 9 gezeigte Konfiguration angewendet wird, kann, wenn z. B. von der Steuerbasissoftware die Aktualisierung der Variablen angefordert wird, die Variable in dem üblichen Befehlsformat aktualisiert werden, das vollständig weder die Zahl und den Typ des Eingangswerts der in den Steuersoftwarekomponenten beschriebenen Funktion noch den Variablennamen beachtet. Außerdem kann der Betrieb des Aktualisierens und der Vereinbarung der E/A-Variablen von den Steuersoftwarekomponenten getrennt werden, wobei die Unabhängigkeit der Steuersoftwarekomponenten verbessert wird.
-
10 zeigt als ein Beispiel der Steuerbasissoftware die Steuerbasissoftware C31 der drehmomentbasierten Steuerung, durch die die Motorleistung gesteuert wird (im Folgenden drehmomentbasiertes Steuersystem genannt). In C311 werden die in dem drehmomentbasierten Steuerbasis-Steuerteil 3A aus 7 ausgeführten Steuersoftwarekomponenten definiert und werden die durch die entsprechende Schnittstellensoftware definierten Informationen gelesen. Außerdem werden in C312 die Variablen definiert, für die in der Steuerbasissoftware 3 die Simultanität gefordert ist. Außerdem werden in C313 die Eingabeverarbeitung, die Ausgabeverarbeitung, der BS-Dienst und die Ausführungssequenzen der von der Steuerbasissoftware ausgeführten Softwarekomponenten definiert.
-
11 zeigt die Ausführungsverarbeitung in dem drehmomentbasierten Steuerbasis-Steuerteil 3. In C313 aus 10 wird die Ausführungssequenz der Steuerbasissoftware 3 definiert. In Schritt S31 wird die Unterbrechung-deaktiviert-Verarbeitung (BS-Dienst) aufgerufen und die Aufgabenausführung, die mit dem externen Signal synchronisiert, verhindert. Im Ergebnis wird die Simultanität des Eingabewerts erhalten. In Schritt S32 wird aus den externen Eingabedaten 4 die Motordrehzahl gelesen. In Schritt S33 wird von den externen Eingabedaten 4 der Niederdrückungsgrad des Fahrpedals gelesen. In Schritt S34 wird die Unterbrechung-deaktiviert-Freigabeverarbeitung (BS-Dienst) aufgerufen. In Schritt S35 wird die Aktualisierung der Variablen zur Bestimmung des Zieldrehmoments (Softwarekomponentenausführung) gefordert. In Schritt S36 wird die Aktualisierung der Variablen zur Bestimmung der Solldrosselklappenöffnung (Softwarekomponentenausführung) gefordert. In Schritt S37 wird die Solldrosselklappenöffnung für die elektronisch extern gesteuerte Drosselklappe befohlen (externe Ausgabeverarbeitung) und die Verarbeitung abgeschlossen.
-
Durch die wie in 10 und 11 gezeigte Bildung der Steuerbasissoftware gibt es die folgenden Vorteile. Der Teil, wo in der eingebetteten Software die Variable berechnet wird, d. h. die in 7 gezeigten Steuersoftwarekomponenten 1D, 1E und 1F, wird häufig geändert, um die Steuercharakteristik wie das Austesten der Steuerlogik und die Zeitkonstante usw. einzustellen.
-
Obgleich es einen Teil gibt, wo die Änderung verhältnismäßig niedrig ist, wie einen Teil, wo die Reihenfolge der Aktualisierung der Variable geliefert werden, d. h. einen in 10 und 11 gezeigten Teil der Steuerbasissoftware, können der Teil, wo es viele Änderungen gibt, und der Teil, wo es wenig Änderungen gibt, abgetrennt werden, indem die Steuerbasissoftware wie in 10 und 11 gezeigt gebildet wird. Somit gibt es einen Vorteil, dass die Wiederverwendung der Steuerbasissoftwarekomponente verbessert wird.
-
12 zeigt ein Beispiel der Konfiguration der BIOS-Schnittstellensoftware. Das Bezugszeichen 11321 bezeichnet die BIOS-Schnittstellensoftware, die der Luftstromsensoreingangsgröße entspricht, das Bezugszeichen 11322 die BIOS-Schnittstellensoftware, die dem Kurbelwinkeleingangswert entspricht, das Bezugszeichen 11323 die BIOS-Schnittstellensoftware, die der Einspritzmenge entspricht, und das Bezugszeichen 11324 die BIOS-Schnittstellensoftware, die der Solldrosselklappenöffnung entspricht. Die Konfiguration der BIOS-Schnittstellensoftware ist ähnlich der der in 9 gezeigten Schnittstellensoftware. Dadurch, dass die in 12 gezeigte Konfiguration angewendet wird, kann, wenn z. B. von der Steuerbasissoftware die Aktualisierung des externen Eingangswerts gefordert wird, der externe Eingangswert in dem üblichen Befehlsformat aktualisiert werden, das vollständig weder die Zahl und den Typ des Eingangswerts der in den Steuersoftwarekomponenten beschriebenen Funktion noch den Variablennamen beachtet. Außerdem kann der Betrieb der Aktualisierung und der Vereinbarung der E/A-Variablen von den Steuersoftwarekomponenten getrennt werden, wobei die Unabhängigkeit der Steuersoftwarekomponenten verbessert wird. Ähnlich ist es für eine externe Ausgabe. Außerdem kann der Betrieb der Aktualisierung und der Vereinbarung der E/A-Variablen vom BIOS getrennt werden, wobei die Unabhängigkeit vom BIOS verbessert wird.
-
In 13 ist das Entwicklungsverfahren für die eingebettete Software gezeigt. Das in 13 gezeigte Werkzeug enthält das Programm, die Software und die Vorrichtung.
-
Durch das Steuerlogik-Entwurfswerkzeug 61 wird das Steuermodell 62 konstruiert. Auf der Grundlage des Steuermodells 62 wird durch das Entwicklungswerkzeug 63 für eingebettete Software der Quellcode 64 der eingebetteten Software erzeugt. Ferner wird unter Verwendung des Quellcode-Kompilierungswerkzeugs 65 die Binärdatei 66 der eingebetteten Software erzeugt. Außerdem wird die eingebettete Software unter Verwendung des Softwareschreibwerkzeugs 67 in die Steuereinheit (ECU) 10 geschrieben.
-
In 14 bis 16 ist das Beispiel des Softwareentwicklungswerkzeugs 63 gezeigt.
-
14 zeigt das Entwicklungswerkzeug 63A für eingebettete Software als ein Beispiel für ein Entwicklungswerkzeug 63 für eingebettete Software.
-
Durch das Softwarekomponenten-Generierungswerkzeug 631A werden aus dem Steuermodell 62 die Softwarekomponenten 1 generiert. Das Schnittstellensoftware-Generierungswerkzeug 632A generiert die entsprechende Schnittstellensoftware 2, die als generierte Softwarekomponenten 1 bezeichnet wird.
-
15 zeigt das Entwicklungswerkzeug 638 für eingebettete Software als ein Beispiel für ein Entwicklungswerkzeug 63 für eingebettete Software. Durch das Softwarekomponenten-Generierungswerkzeug 631B werden aus dem Steuermodell 62 die Softwarekomponenten 1 generiert. Das Schnittstellensoftware-Generierungswerkzeug 632B empfängt von dem Softwarekomponenten-Generierungswerkzeug 631B die Informationen, die erforderlich sind, um die Schnittstellensoftware zu generieren und erzeugt die den Softwarekomponenten 1 entsprechende Schnittstellensoftware 2.
-
16 zeigt das Entwicklungswerkzeug 63C für eingebettete Software als ein Beispiel für ein Entwicklungswerkzeug 63 für eingebettete Software.
-
Durch das Softwarekomponenten-Generierungswerkzeug 631A werden aus dem Steuermodell 62 die Softwarekomponenten 1 generiert. Das Schnittstellensoftware-Generierungswerkzeug 632A generiert die entsprechende Schnittstellensoftware 2, die sich auf das Steuermodell 62 bezieht. Durch Anwendung der Konfiguration des in den 14, 15 und 16 gezeigten Entwicklungswerkzeugs für eingebettete Software wird es möglich, die Softwarekomponenten für die eingebettete Software und die Schnittstellensoftware automatisch zu generieren. Somit verschwindet die Notwendigkeit, manuell zu codieren. Ferner kann die Austestarbeit verringert werden, da sich der Codierfehler verringert. Im Ergebnis verbessert sich die Entwicklungseffizienz der Software.
-
17, 18 und 19 zeigen die konkrete Prozedur der automatischen Generierung der Schnittstellensoftware.
-
17 zeigt die Verarbeitung des Schnittstellensoftware-Generierungsmittels 632. In Schritt S41 werden Informationen über die Steuersoftwarekomponenten entnommen, während in Schritt S42 die Schnittstellensoftware generiert wird. In 18 ist der ausführliche Inhalt von Schritt S41 gezeigt. Außerdem ist in 19 der ausführliche Inhalt von S42 gezeigt.
-
18 zeigt Einzelheiten der Verarbeitung S41 zur Entnahme von Steuersoftwarekomponenten-Informationen als ein Beispiel der in 8 gezeigten Steuersoftwarekomponenten.
-
Ganz zuerst wird in Schritt S411 der Dateiname entnommen. Das heißt, es werden der in 8 gezeigte Dateiname ”TVO_Calculate.c” aus C11 und C12 sowie der Dateiname ”TVO_Calculate.h” entnommen. Nachfolgend wird in Schritt S412 der Funktionsname entnommen. Das heißt, es wird der in dem in 8 gezeigten C11 beschriebene Funktionsname ”TVO_Calculate” entnommen. In Schritt S413 wird die Anzahl der E/A-Variablen entnommen. Das heißt, es wird die E/A-Variable der Funktion ”TVO_Calculate” aus dem in 8 gezeigten C12 gezählt. In Schritt S414 wird anhand der in S413 gezählten Anzahl der Variablen der E/A-Variablenname entnommen. Das heißt, es werden die in C12 in 8 gezeigten ”Target Torque” und ”variable_A” als Eingabevariablen entnommen, während ”TVO” als eine Ausgabevariable entnommen wird. Die Ausgabevariable wird durch ein in den Kopf des Variablennamens gesetztes ”&” identifiziert, das das Zeigerargument bezeichnet. In Schritt S415 wird die E/A-Variablenform entnommen. Das heißt, es werden der Variablentyp ”unsigned short” von ”Target Torque” usw. in dem in 8 gezeigten C12 entnommen. Die erwähnte Eingabevariable entspricht in dem Entwicklungswerkzeug für eingebettete Controller in der vorliegenden Erfindung den Bezugnahmedaten. Die erwähnte Ausgabevariable entspricht in dem Entwicklungswerkzeug für eingebettete Controller in der vorliegenden Erfindung den Steuerdaten.
-
15 zeigt die Einzelheiten der Schnittstellensoftware-Generierungsverarbeitung S42.
-
Das Beispiel der Generierung der Schnittstellensoftware wird anhand von 9 erläutert. In Schritt S421 wird aus den in Schritt S411 entnommenen Dateinamen der Softwarekomponenten die Datei der Schnittstellensoftware generiert. Das heißt, dadurch, dass das Zeichen nach dem in dem eingebetteten Controller als Trennzeichen definierten ”_” gelöscht wird, wird aus ”TVO_Calculate.c” und ”TVO_Calculate.h” der Softwarekomponentenname ”TVO” erhalten.
-
Die folgenden Dateien werden als den Softwarekomponenten entsprechende Schnittstellensoftware generiert. Die Datei ”Name der entnommenen Schnittstellensoftware” + .c”, die Datei ”Name der entnommenen Schnittstellensoftware” + ”.h”, die Datei ”Name der entnommenen Schnittstellensoftware” + ”Update.h”. Das heißt, diese sind die in 9 gezeigten ”TVO.c”, ”TVO.h”, ”TVO_Update.h”
-
Nachfolgend werden in Schritt S422 in der Datei ”Name der entnommenen Software” + ”.c” der Name der Ausgabevariablen der in Schritt S414 entnommenen Softwarekomponente und der Vereinbarungsteil der Variablen, die zu einer Ausgangsgröße der Softwarekomponente wird, mit den Typinformationen über die Ausgabevariable der in S415 entnommenen Softwarekomponente generiert. Das heißt, an die Quelldatei wird der Befehl ausgegeben, der der Variablen mit dem Variablennamen der entnommenen Ausgabevariablen den Typ der entnommenen Ausgabevariablen in dem Speicher zuweist. Dies ist das in 9 in C21 gezeigte ”unsigned short TVO;”. In diesem Fall ist der Teil ”unsigned Short” der Typ der Ausgabevariablen, während der Teil ”TVO” der Variablenname der Ausgabevariablen ist. In Schritt S423 wird anhand des Namens der Ausgabevariablen der in Schritt S414 entnommenen Softwarekomponente der Bezugnahmebefehl der Ausgabevariablen der Softwarekomponente generiert. Das heißt, dies ist das in 9 in C22 gezeigte ”#define TVO_Get() TVO”. Dies ist als ein Makro mit dem Namen ”Variablenname der Ausgabevariablen” + ”_Get()” definiert, wobei der Inhalt zu einem Ausgabevariablennamen wird. Somit wird der Makro für die Bezugnahme durch die Variable der Bezugnahme davor in dem Quellcode ersetzt, wenn der Makro in dem Quellcode beschrieben ist und der Quellcode mit einem Präprozessor umgesetzt wird. In Schritt S424 wird anhand des Namens der E/A-Variablen der in Schritt S414 entnommenen Softwarekomponente sowie der Typinformationen über die Eingabevariable der in Schritt S415 entnommene Softwarekomponente ein Ausgabevariablen-Aktualisierungsbefehl generiert. Das heißt, dies ist das in 9 gezeigte C23. Der Makro ”Output variable name” + ”_Update()” wird als ein Ausgabevariablen-Aktualisierungsbefehl definiert. In der Operationsfunktion ”TVO_Calculate” wird der Inhalt des Makros der in Schritt S412 entnommenen Ausgabevariablen zugeordnet. In dem Argument der Funktion werden der Zeiger ”&TVO”, der die Adresse der Ausgabevariablen ”TVO” bestimmt, die Eingabevariable ”Target Torque”, der Bezugnahmebefehl ”Target Torque_Get()” und das ”variable A_Get()” des in Schritt S414 entnommenen ”variable_A” zugeordnet. Unter Anwendung der in 17, 18 und 19 gezeigten Konfiguration kann die Schnittstellensoftware 2 aus den Steuersoftwarekomponenten 1 und dem Steuermodell 62 automatisch generiert werden. Somit verschwindet die Notwendigkeit, manuell zu codieren. Ferner kann die Austestarbeit verringert werden, da sich der Codierfehler verringert. Im Ergebnis verbessert sich die Entwicklungseffizienz der Software.
-
20 zeigt das Prinzipschaltbild der Netzmitteilungszuweisung der eingebetteten Software.
-
Insbesondere zeigt 20 ein Beispiel der Zuweisung von Softwarekomponentenmitteilungen. Der Softwarekomponenten-Server 73 ist mit dem Netz 71 verbunden. Der Client-PC 72 ist über das Netz 71 mit dem Softwarekomponenten-Server 73 verbunden, wobei gemäß der Forderung vom Client-PC 72 die Softwarekomponente 1 übertragen wird. Der Client-PC 72 kann die empfangene Softwarekomponente 1 in die elektronisch gesteuerte Einheit (ECU) 10B schreiben. Außerdem wird es möglich, dass sich die ECU 10A dadurch, dass sie die Netzverbindungsfunktion für die ECU 10A an sich bereitstellt, über das Netz 71 selbst mit dem Softwarekomponenten-Server 73 verbindet und die Softwarekomponente aktualisiert. Dadurch, dass die in dieser Ausführungsform gezeigte eingebettete Software in dem Netz verteilt wird, können die folgenden Vorteile erhalten werden. In der eingebetteten Software der vorliegenden Erfindung wird die entsprechende Schnittstellensoftware 2 nur dann geändert, wenn die Steuersoftwarekomponente 1 geändert wird, während die Grundbestandteile der Steuerbasissoftware und der Aufgabenverarbeitungs-Basissoftware usw. nicht geändert werden. Somit gibt es einen Vorteil, dass die Änderung der Software in der Dienstleistungsfabrik leicht wird. Außerdem gibt es einen Vorteil, dass im Vergleich zu dem Fall, dass das Ganze übertragen wird, die übertragene Datenmenge abnehmen kann, wenn lediglich die Softwarekomponente übertragen wird.
-
21 zeigt die Skizze eines Beispiels des Dienstes zur Zuweisung einer eingebetteten Softwarenachricht.
-
Der Client-PC 72 ist über das Netz 71 mit der Steuersoftwarekomponenten-Verkaufshomepage 74 verbunden. Nachdem in der Steuersoftwarekomponenten-Verkaufshomepage 74 die herunter zu ladende Softwarekomponente 1 ausgewählt worden ist, wird der Client-PC 72 mit dem Zahlungsabwicklungssystem 75 verbunden und die Abwicklung der Kaufzahlung ausgeführt. Daraufhin wird von dem Softwarekomponenten-Server 73 die Steuersoftwarekomponente 1 herunter geladen und in die Steuereinheit (ECU) 10 geschrieben.
-
Durch Anwendung der in 21 gezeigten Konfiguration werden die folgenden Vorteile erhalten.
-
Dadurch, dass das Kontosystem und die Homepage nicht nur für die Dienstleistungsfabrik, sondern auch für den allgemeinen Anwender bestätigt werden, wird es möglich, die eingebettete Software zu schreiben. Das heißt, dadurch, dass der Anwender die eingebettete Software des eingebetteten Controllers des Hauselektrogeräteerzeugnisses, das Geschwindigkeitsschaltmuster des Automatikwechselgetriebes und die Laufbetriebsart eines Fahrzeugs in dem Netz kauft, wird es möglich, dass er den von ihm bevorzugten eingebetteten Controller herstellt. Wenn das Steuerbetriebsmittel die Vereinbarung der in dem eingebetteten Controller verwendeten Variablen, des Eingabeprozesses und der Aktualisierung usw. ausführt, gibt es in dem Steuerbetriebsmittel neben der Betriebslogik zusammen die folgenden Funktionen.
-
Beispielsweise gibt es die Verarbeitung zum Zuordnen des Betriebsergebnisses an der spezifischen Adresse des Speichers des eingebetteten Controllers, die Verarbeitung zur Bezugnahme auf eine Variable, die im Betrieb das Ausgabeereignis eines anderen Steuerbetriebsmittels ist, die Bezugnahmeverarbeitung der Variablen, die das Betriebsergebnis generiert, und die Generierung der Ausführungsschnittstelle zur Ausführung durch das Steuerbasismittel. Das heißt, dass bei der Änderung der Betriebslogik andere Funktionsänderungen als die der Betriebslogik und der Verifizierungen erforderlich sind. Das heißt, es wird das Problem verursacht, dass die Mannstunden gemäß der Softwareentwicklung für den eingebetteten Controller zunehmen.
-
Zur Lösung des oben erwähnten Problems ist für das Schnittstellenmittel in dem eingebetteten Controller in der vorliegenden Erfindung die Ausgabevariablen-Bezugnahmefunktion vorgesehen, dass ein anderes Schnittstellenmittel auf die Ausgabevariable, die das Schnittstellenmittel besitzt, Bezug nimmt.
-
Zur Lösung des oben erwähnten Problems ist für das Schnittstellenmittel in dem eingebetteten Controller in der vorliegenden Erfindung die Eingabevariablen-Sammelfunktion vorgesehen, die Eingabevariablen sammelt, die verwendet werden, wenn das Steuerbetriebsmittel, das dem Schnittstellenmittel entspricht, unter Verwendung der Ausgabevariablen-Bezugnahmefunktion in einem anderen Schnittstellenmittel oder in sich selbst berechnet.
-
Zur Lösung des oben erwähnten Problems spezifiziert das Schnittstellenmittel die durch das Steuerbetriebsmittel zu berechnenden Steuerdaten und ordnet es die Ausführung der Operationsverarbeitung durch das Steuerbetriebsmittel, wobei auf die durch das Schnittstellenmittel gesammelten und für den Betrieb durch das Steuerbetriebsmittel verwendeten Daten Bezug genommen wird, wenn das Steuerbetriebsmittel berechnet. Das heißt, für das Schnittstellenmittel ist die Ausgabevariablen-Aktualisierungsfunktion vorgesehen.
-
Die Software für den eingebetteten Controller kann in denjenigen Teil, der häufig geändert wird oder die Steuerlogik der Variablen, und in denjenigen Teil, der wiederverwendet wird, wenn er nahezu dauerhaft ist, oder die Reihenfolge der Aktualisierung der Variablen, klassifiziert werden.
-
Es gibt ein Problem, dass es erforderlich ist, denjenigen Teil der Reihenfolge der Aktualisierung der Variablen zu ändern, der nicht geändert werden sollte, obgleich es die Änderung der Steuerlogik der Variablen in der Software für den eingebetteten Controller ist, wenn dies ein Programm ist.
-
Zur Lösung des oben erwähnten Problems definiert in dem eingebetteten Controller in der vorliegenden Erfindung das Steuerbasis-Verarbeitungsmittel die Art des Steuerbetriebsmittels, durch das die Ausführung geordnet wird, und die Ausführungssequenz des Steuerbetriebsmittels, das Mittel zur Verarbeitung externer Eingaben, das Mittel zur Verarbeitung externer Ausgaben und das Basismanagementmittel. Das Steuerbasis-Verarbeitungsmittel ordnet die Ausführung des Mittels zur Verarbeitung externer Eingaben, des Steuerbetriebsmittels, des Mittels zur Verarbeitung externer Ausgaben und des Basismanagementmittels.
-
Wenn ein Steuerbetriebsmittel zwei oder mehr Variablen bedient, ist es erforderlich, das entsprechende Steuerbetriebsmittel zu ändern und die Methode des Bedienens einer bestimmten Variablen zu ändern. Somit gibt es ein Problem, dass das Steuerbetriebsmittel, durch das der Betrieb erfolgt, ebenfalls für die Variable geändert wird, für die das Betriebsmittel nicht geändert wird.
-
Zur Lösung des oben erwähnten Problems wird in dem eingebetteten Controller in der vorliegenden Erfindung angenommen, dass die Variable zur Bezugnahme für das andere Steuerbetriebsmittel und für das Mittel zur externen Ausgabe eine pro Steuerbetriebsmittel ist.
-
Obgleich es die Versionssteigerung eines Teils der Software ist, wenn die Software des eingebetteten Controllers geändert wird, war es erforderlich, die gesamte Software über das Aufzeichnungsmedium wie etwa eine CD-ROM zu verteilen.
-
Zur Lösung des oben erwähnten Problems werden in der vorliegenden Erfindung das Steuerbetriebsmittel-Servermittel, das das Steuerbetriebsmittel hält und überträgt, und das Steuerbetriebsmittel-Verkaufsmittel, das das Steuerbetriebsmittel verkauft, in dem Netz verbunden, wenn die Mitteilungszuweisung des eingebetteten Controllers bedient wird.
-
Die Erzeugung einer reichen Funktion und die Vergrößerung der Steuersoftware für den eingebetteten Controller werden im Hintergrund der Erzeugung der Steuersystemelektronik typischerweise durch X-by-Wire und in dem Hybridsystem und rechtliche Beschränkungen der Emissionsanforderung und die OBD-Beschränkung usw. für die Fahrzeugsteuerung beschleunigt.
-
Außerdem gibt es ein Problem des Entwurfs und der Erzeugung der Steuersoftware, die eine reiche Funktion erzeugt und effizient vergrößert.
-
Zur Lösung des oben erwähnten Problems ist in der vorliegenden Erfindung der eingebettete Controller in das Fahrzeug eingebaut, der den Motor und das Wechselgetriebe usw. steuert.