Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR OPERATING A CONTROL UNIT
Document Type and Number:
WIPO Patent Application WO/2011/009670
Kind Code:
A1
Abstract:
The invention relates to a method for operating a control unit which has at least one hardware component, a microcontroller and an interface, wherein user software is run on the microcontroller in a user mode, and the at least one hardware component and the interface are operated in the user mode and wherein in a test mode test software (20), which is separate from the user software, is run on the microcontroller, and the at least one hardware component and the interface are operated in the test mode.

More Like This:
Inventors:
MUTTER MICHAEL (DE)
FLOREANI BRUNO (DE)
ROBINSON GREG (AU)
Application Number:
PCT/EP2010/057688
Publication Date:
January 27, 2011
Filing Date:
June 02, 2010
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
MUTTER MICHAEL (DE)
FLOREANI BRUNO (DE)
ROBINSON GREG (AU)
International Classes:
G06F11/22; G06F9/445; G06F11/36
Foreign References:
DE10014561A12001-09-27
EP0973092A22000-01-19
US5987625A1999-11-16
Attorney, Agent or Firm:
ROBERT BOSCH GMBH (DE)
Download PDF:
Claims:
Ansprüche

1 . Verfahren zum Betreiben eines Steuergeräts (38) das mindestens eine

Hardware-Komponente (42, 44, 46), einen Microcontroller (49) und eine Schnittstelle (50) aufweist, wobei in einem Anwendermodus auf dem Microcontroller (49) eine Anwender-Software ausgeführt wird und die mindestens eine Hardware-Komponente (42, 44, 46) sowie die Schnittstelle (50) in dem Anwendermodus betrieben werden, und wobei in einem Testmodus auf dem Microcontroller (49) eine Test-Software (20), die von der Anwender-Software getrennt ist, ausgeführt wird und die mindestens eine Hardware-

Komponenten (42, 44, 46) sowie die Schnittstelle (50) in dem Testmodus betrieben werden.

2. Verfahren nach Anspruch 1 , bei dem entweder die Anwender-Software oder die Test-Software (20) hochgefahren wird.

3. Verfahren nach Anspruch 1 oder 2, bei dem auf dem Steuergerät (38) eine Startup-Software (28) ausgeführt wird, die darüber entscheidet, mit welcher Software das Steuergerät (38) betrieben wird.

4. Verfahren nach Anspruch 4, bei dem mit der Startup-Software (28) Unterbrechungs-Abfragen zu einer ausgeführten Software umgeleitet werden.

5. Verfahren nach Anspruch 3 oder 4, bei dem mit der Startup-Software (28) ein Datensatz zu einer ausgeführten Software gelesen wird.

6. Verfahren nach einem der voranstehenden Ansprüche, bei dem auf dem Steuergerät (38) eine zusätzliche Reprogrammierungs-Software (24) ausgeführt wird.

7. Verfahren nach einem der voranstehenden Ansprüche, bei dem die Hardware-Komponenten (42, 44, 46) und/oder die Schnittstelle (50) über die Schnittstelle (50) getestet werden bzw. wird. 8. Steuergerät, das mindestens eine Hardware-Komponente (42, 44, 46), einen

Microcontroller (49) und eine Schnittstelle (50) aufweist, wobei in einem Anwendermodus auf dem Microcontroller (49) eine Anwender-Software auszuführen ist und die mindestens eine Hardware-Komponente (42, 44, 46) sowie die Schnittstelle (50) in dem Anwendermodus betrieben werden, und wobei in einem Testmodus auf dem Microcontroller (49) eine Test-Software (20), die von der Anwender-Software getrennt ist, auszuführen ist und die mindestens eine Hardware-Komponente (42, 44, 46) sowie die Schnittstelle (50) in dem Testmodus zu betreiben sind. 9. Steuergerät nach Anspruch 8, bei dem der Microcontroller (49) einen ersten

Speicherbereich (48), der zum Speichern der Anwender-Software ausgebildet ist, und einen davon getrennten zweiten Speicherbereich (54), der zum Speichern der Test-Software (20) ausgebildet ist, aufweist.

Description:
Titel

Verfahren zum Betreiben eines Steuergeräts Die Erfindung betrifft ein Verfahren zum Betreiben eines Steuergeräts und eine

Anordnung zum Betreiben eines Steuergeräts.

Stand der Technik Elektronische Steuergeräte (Electronic Control Units, ECUs), die bspw. zur Umsetzung von Steuerfunktionen innerhalb eines Fahrzeugs ausgebildet sind, benötigen u. a. eine Schnittstelle. Diese ermöglicht das Testen von Hardwarekomponenten des Steuergeräts, sobald die Hardware-Komponenten des Steuergeräts in einem Gehäuse hierfür angeordnet sind und somit kein direkter Zugang zu den Hardwarekomponenten des Steuergeräts mehr gegeben ist. Dabei wird vorausgesetzt, dass es möglich ist, die Schnittstelle (Interface) auch während der Produktion bspw. durch ein Update anzupassen, ohne dabei jedoch eine bereits in dem Steuergerät installierte Kunden-Software zu verändern. Ein Verfahren zum Testen von Software einer Steuereinheit eines Fahrzeugs ist aus der Druckschrift DE 103 03 489 A1 bekannt. Hierbei wird durch ein Testsystem eine von der Steuereinheit steuerbare Regelstrecke wenigstens teilweise simuliert, wobei Ausgangssignale von der Steuereinheit erzeugt werden und diese Ausgangssignale der Steuereinheit zu ersten Hardware-Bausteinen über eine erste Verbindung übertragen werden und Signale von zweiten Hardware-

Bausteinen als Eingangssignale zur Steuereinheit über eine zweite Verbindung übertragen werden. Die Ausgangssignale werden als erste Steuerwerte in der Software bereitgestellt und zusätzlich über eine Kommunikationsschnittstelle bezogen auf die Regelstrecke in Echtzeit zum Testsystem übertragen.

Offenbarung der Erfindung Vor diesem Hintergrund werden ein Verfahren und ein Steuergerät mit den Merkmalen der unabhängigen Patentansprüche vorgestellt. Weitere Ausgestaltungen der Erfindung ergeben sich durch die abhängigen Patentansprüche.

Mit dem Verfahren können die Hardware-Komponenten über die Schnittstelle getestet werden. Das Verfahren kann üblicherweise für ein Steuergerät eines Fahrzeugs verwendet werden. Im Testmodus können nicht nur die Hardware- Komponenten, sondern auch die Schnittstelle selbst getestet werden, da diese üblicherweise auch als Hardware-Komponente ausgebildet ist. Die Schnittstelle ist als Bus-Schnittstelle bzw. Bus-Interface ausgebildet, die durch Ausführen der Anwender-Software auf dem Microcontroller normal betrieben wird. Falls die Test-Software ausgeführt wird, übernimmt die Schnittstelle u. a. die Funktion einer Test-Schnittstelle.

Ein Spezialfall ist gegeben, wenn eine der Hardwarekomponenten als ein zweiter Microcontroller ausgebildet ist, z. B. aus Redundanzgründen bzw. für einen Notlauf. Dann kann dieser zweite Microcontroller optional im Testmodus vom Hauptprozessor des ersten Microcontrollers, auf dem entweder die Anwender-Software oder die Test-Software ausgeführt wird, dazu veranlasst werden, ebenfalls in einen Testmodus mit einem separaten Programm zu wechseln. Es besteht aber auch die Option, dass der genannte zweite Microcontroller genauso wie die übrigen Hardware-Komponenten behandelt wird. Die im Rahmen der Erfindung beschriebene Technik ist übertragbar, so dass diese für Steuergeräte eines Fahrzeugs aber auch für alle anderen Arten von Steuergeräten, bspw. Computer, Kommunikationseinrichtungen, mechanische Vorrichtungen, bspw. für Türen usw., eingesetzt werden kann. Es wird insgesamt eine flexible Software-Technik bereitgestellt, die es gestattet, dass ein Einsatz zusätzlicher Hardware für das Steuergerät nicht nötig ist.

Die Software, die üblicherweise in einem Steuergerät des Fahrzeugs zur Anwendung kommt, umfasst spezielle Anwender- bzw. Kunden-Software, die u. a. dazu ausgebildet ist, Funktionen auszuführen, durch die eine selbsttätige Um- oder Reprogrammierung dieser Anwender-Software möglich ist. In geschützten und getrennten Speicherbereichen innerhalb des Steuergeräts sind die genannten Software-Module für den Anwendermodus einerseits und den Testmodus andererseits, die separat gebootet werden können, gespeichert. Die Reprogrammierungs-Software ist dazu ausgebildet, Updates bzw. Aktualisierun- gen der Test-Software durchzuführen oder zu erlauben, ohne dabei die Anwender-Software zu beeinflussen. Die typischerweise für die Test-Software vorgesehene Reprogrammierungs-Software kann weiterhin die Einschalt- bzw. Startup- Software umfassen, die dazu ausgebildet ist, zu entscheiden, wann eine nächste Version der Test-Software zur Anwendung oder Ausführung kommt. Falls eine beschriebene Reprogrammierungs-Software in einer Ausgestaltung nicht vorhanden ist, kann alternativ eine Startup-Software als zusätzliche Software vorgesehen sein, die dazu programmiert ist zu entscheiden, wann die Test-Software zur Anwendung kommt. Durch Umsetzung der Erfindung ergibt sich u. a., dass eine Aktualisierung bzw. ein Update der Test-Software möglich ist, ohne dass hierbei die Anwender- Software beeinträchtigt oder beeinflusst wird. Der Testmodus und somit ein Screening kann auch während der Herstellung und/oder Produktion des Steuergeräts ausgeführt werden. Weiterhin ist es möglich, die Test-Software auch wäh- rend der Produktion zu verändern und dadurch zu optimieren. Erweiterte und komplexe Test-Software kann zur Beschleunigung der Rechengeschwindigkeit eingeführt werden, ohne dabei die Qualität oder Planung der Anwender-Software zu beeinflussen. Daraus ergibt sich u. a. die Möglichkeit, dass automatische Tests für das Steuergerät ausgeführt werden können. Außerdem können Schnitt- stellen des Steuergeräts oder eines Testgeräts verkleinert und Strategien zur

Kontrolle paralleler Testverfahren umgesetzt werden. Üblicherweise sind die Anforderungen der Test-Software von Anforderungen des Anwenders oder Kunden getrennt. Bei der Entwicklung und Produktion des Steuergeräts kann die Schnittstelle als

Test-Schnittstelle (Testinterface) zum Einsatz kommen, die derart ausgebildet ist, dass während der Entwicklung und/oder Produktion keine Änderungen der Anwender bzw. Kunden-Software innerhalb des Steuergeräts und keine zusätzliche Hardware, die weitere Kosten verursacht, nötig sind. Außerdem wird die Ge- schwindigkeit der Schnittstelle nicht beeinträchtigt. Mit herkömmlichen Steuerge- räten ist es üblicherweise nicht möglich, diese genannten Anforderungen zu erfüllen.

Im Rahmen der Erfindung kann alternativ oder ergänzend vorgesehen sein, dass für einen Test, eine Anwender- bzw. Kundenfunktion und ggf. das Bootprogramm voneinander getrennte, unabhängige Softwareprogramme existieren, die in getrennten Speicherbereichen eines Microcontrollers des Steuergeräts abgelegt werden. Mittels eines von außen an das Steuergerät angelegten Musters oder einer bestimmten Signalsequenz, das bzw. die im Anwendungsbetrieb nicht auf- treten kann, wird dann mit der Start-Software entschieden, welche der beiden

Softwaren, ob nun die Test-Software oder die Anwender-Software nach einem Reset des Steuergeräts ausgeführt werden soll.

Durch die Trennung der Software bzw. der Programme wird u. a. erreicht, dass diese vollkommen unabhängig voneinander erstellt und im Steuergerät reprogrammiert werden können. Dadurch wird z. B. bei einer Änderung eines Testprogramms, das von der Test-Software ausgeführt wird, keine erneute Kundenfreigabe erforderlich. Änderungen und/oder Optimierungen des Testmodus sind daher auch sehr viel leichter in eine laufende Serie einzubringen.

Weiterhin hat der Umstand, dass beide Programme bzw. beide Arten der Software auf demselben Microcontroller laufen, den Vorteil, dass das Testprogramm Zugriff auf das gesamte Steuergerät hat und somit keine speziellen Testinterfaces in die Hardware eingebaut werden müssen, die ansonsten zusätzliche Kos- ten und zusätzlichen Testaufwand aufgrund der dann erheblich erhöhten Komplexität zur Folge hätten. Außerdem ist so keine Abstimmung zwischen der Test- Software bzw. dem Testprogramm und der Anwender-Software bzw. dem Kundenprogramm erforderlich, da sie nicht gleichzeitig auf dem Steuergerät laufen können. Die Hardware, Interrupts etc. können dabei von den beiden Program- men auf unterschiedliche, für den jeweiligen Zweck optimale Art genutzt werden.

Als Kommunikationsschnittstelle zur Bereitstellung einer Verbindung zu einem Teststeuerungscomputer wird die vorhandene, ansonsten durch die Anwender- Software genutzte Schnittstelle genutzt, ohne dies in der Anwender-Software in irgendeiner Form berücksichtigen zu müssen. Das beschriebene Steuergerät ist dazu ausgebildet, sämtliche Schritte des vorgestellten Verfahrens durchzuführen. Dabei können einzelne Schritte dieses Verfahrens auch von einzelnen Komponenten des Steuergeräts durchgeführt werden. Weiterhin können Funktionen des Steuergeräts oder Funktionen von einzel- nen Komponenten des Steuergeräts als Schritte des Verfahrens umgesetzt werden. Außerdem ist es möglich, dass Schritte des Verfahrens als Funktionen einzelner Komponenten des Steuergeräts oder des Steuergeräts realisiert werden.

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Be- Schreibung und den beiliegenden Zeichnungen.

Es versteht sich, dass die voranstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, oh- ne den Rahmen der vorliegenden Erfindung zu verlassen.

Kurze Beschreibung der Zeichnungen

Figur 1 zeigt eine schematische Darstellung zu einer Integration einer Schnittstel- Ie als Test-Schnittstelle in einem Steuergerät nach dem Stand der Technik.

Figur 2 zeigt eine schematische Darstellung zu einer ersten Ausführungsform eines erfindungsgemäßen Verfahrens zur Integration einer Schnittstelle als Test- Schnittstelle in einem Steuergerät.

Figur 3 zeigt eine schematische Darstellung zu einer zweiten Ausführungsform eines erfindungsgemäßen Verfahrens zur Integration einer Schnittstelle als Test- Schnittstelle in einem Steuergerät. Figur 4 zeigt in schematischer Darstellung eine Ausführungsform einer erfindungsgemäßen Anordnung.

Ausführungsformen der Erfindung Die Erfindung ist anhand von Ausführungsformen in den Zeichnungen schematisch dargestellt und wird nachfolgend unter Bezugnahme auf die Zeichnungen ausführlich beschrieben. Die Figuren werden zusammenhängend und übergreifend beschrieben, gleiche

Bezugszeichen bezeichnen gleiche Komponenten.

Die schematische Darstellung des Stands der Technik in Figur 1 umfasst eine Anwendung 2 für ein Steuergerät, die eine Anwendungs-Software eines Kunden sowie eine Test-Software für eine Test-Schnittstelle gemeinsam umfasst. Dabei werden die Anwendungs-Software und die Test-Software von der Anwendung 2 ausgeführt. Dieser Anwendung 2 sind weiterhin Anwendungs-Unterbrechungen 4 (Interrupts) zugeordnet. Außerdem ist hier eine Reprogrammierungs-Software 6, die eine Reprogrammierungs-Software des Kunden umfasst, gezeigt. Dieser Re- programmierungs-Software 6 ist eine Unterbrechungs- bzw. Interrupt-Vektor-

Tabelle 8 zugeordnet. Zwischen der Interrupt-Vektor-Tabelle 8 und den Anwendungs-Unterbrechungen 4 besteht eine Verbindung 10, über die die Anwendungs-Unterbrechungen 4 mit Interrupt-Vektoren eines Microcontrollers des Steuergeräts verbunden sind. Die Reprogrammierungs-Software 6 ist zur Aus- führung 12 der Anwendung 2 ausgebildet, falls während eines Bet riebs des

Steuergeräts keine Anfrage zu einer Reprogrammierung vorliegt.

Figur 2 zeigt schematisch eine Darstellung zur Umsetzung einer Test- Schnittstellentechnik für ein Steuergerät im Rahmen einer ersten Ausführungs- form des erfindungsgemäßen Verfahrens in einem Testmodus. Dabei ist eine

Anwendung 16 gezeigt, die Anwender-Software eines Kunden umfasst, wobei die Anwender-Software zur Durchführung der Anwendung ausgeführt wird. Dieser Anwendung 16 sind Anwendungs-Unterbrechungen 18 zugeordnet. Getrennt von der Anwendung 16 ist weiterhin eine Test-Software 20 vorgesehen.

Diese Test-Software 20 ist somit von der Anwender-Software für die Anwendung 16 hinsichtlich eines Speicherorts räumlich und außerdem auch funktionell getrennt. Der Test-Software 20 sind weiterhin Test-Software-Interrupts (Unterbrechungen) 22 zugeordnet. Es ist zudem vorgesehen, dass die Anwendung 16 ei- nen allgemeinen Dienst (Common Service) zum Starten der Test-Software 20 aufweist. Eine Reprogrammierungs-Software 24 ist anwenderspezifisch ausgewählt. Dieser Reprogrammierungs-Software 24 sind Reprogrammierungs-Unterbrechungen 26, eine Startup-Software 28 sowie eine Unterbrechungs- bzw. Interrupt-Vektor- Tabelle 30 zugeordnet. Dabei ist vorgesehen, dass die Startup-Software 28, die auch als Einschalt-Software bezeichnet wird, dazu ausgebildet ist, zu entscheiden, welche Software, ob nun die Anwender-Software der Anwendung 16 zur Durchführung eines Anwendermodus oder die Test-Software zur Durchführung des Testmodus ausgeführt wird. Die Interrupt-Vektor-Tabelle 30 ist dazu ausge- bildet, eine Verbindung 32 zwischen aktuell ausgeführten Software-Interrupts und

Interrupt-Vektoren eines Microcontrollers des Steuergeräts bereitzustellen. Eine Entscheidung 34 darüber, welche Software durchgeführt wird, wird von der Startup-Software 28 getroffen. Bei Ausführung des Verfahrens ist vorgesehen, dass eine nicht gezeigte Schnittstelle des Steuergeräts bei Ausführung der Anwender- Software als herkömmliche Schnittstelle betrieben wird. Falls die Test-Software

20 ausgeführt wird, wird diese Schnittstelle als Test-Schnittstelle betrieben.

Die in Figur 3 gezeigte schematische Darstellung zu einer zweiten Ausführungsform zur Umsetzung der im Rahmen der Erfindung vorgesehenen Test- Schnittstellentechnik in einem Testmodus unterscheidet sich von der in Figur 2 gezeigten Ausführungsform durch das Fehlen der Reprogrammierungs-Software 24 sowie der Reprogrammierungs-Unterbrechungen 26. Ähnlich wie in dem anhand von Figur 2 dargestellten Beispiel ist die Interrupt-Vektor-Tabelle 30 zur Bereitstellung einer Verbindung 32 zu den Software-Unterbrechungen, d. h. den Anwendungs-Unerbrechungen 18 und/oder den Schnittstellen-Unterbrechungen

22 ausgebildet. Eine Auswahl einer auszuführenden Software und demnach eine Entscheidung 34 darüber, ob die Anwender-Software, mit der die Anwendung 16 auszuführen ist, oder ob die Test-Software 20 ausgeführt wird, wird von der Startup-Software 28 getroffen.

Bei Durchführung des Verfahrens gemäß mindestens einer der anhand von Figur 2 oder 3 beschriebenen Ausführungsformen ist vorgesehen, dass die Test- Software 20 in einer festgelegten Weise angesteuert und somit zur Umsetzung von Funktionen im Testmodus aufgefordert wird. Somit ergibt sich, dass die Test- Software nicht mehr verändert werden muss, sobald diese geschrieben bzw. ver- fasst ist. Außerdem ist das Verfahren dazu geeignet, die Test-Software 20 in ei- ner festgelegten Weise auszuführen, so dass auch hier eine Änderung der Anwender-Software nicht nötig ist. Die Ausführung kann über ein Zurücksetzen bzw. Reset oder durch direkte Ausführung der Startup-Software 28 erfolgen. Das Verfahren ist betriebssicher auszuführen. Eine Speicherung der beschriebenen unterschiedlichen Software-Module kann in getrennten Speicherbereichen eines nichtflüchtigen Speichers (nonvaletibe memory, NVM) oder eines initialisierten Arbeitsspeichers (RAM) erfolgen.

Die Test-Software 20 weist in Ausgestaltung einen allgemeinen Wert zum auto- matischen Beenden eines Betrieb im Testmodus auf. Mit dem Verfahren wird ein

Anruf der Anwendungs-Software in einen nichtflüchtigen Speicher oder einen initialisierten Arbeitsspeicher gespeichert.

Die Ausführung kann über einen Reset oder direkt über die Startup-Software 28 erfolgen.

Die Startup-Software 28 ist dazu geeignet, Anfragen für Unterbrechungen für eine jeweils ausgeführte Software in einer festgelegten Weise umzuleiten, so dass die bereits geschriebene Software nicht mehr verändert werden muss. Außerdem ist die Startup-Software 28 dazu ausgebildet, Datensätzen von der jeweils ausgeführten Software, d. h. der Anwendungs-Software oder der Test-Software, in festgelegter Weise auszuführen.

Figur 4 zeigt in schematischer Darstellung eine Ausführungsform einer erfin- dungsgemäßen Anordnung mit einem Steuergerät 38, das innerhalb eines Gehäuses 40 angeordnet ist. Dieses Steuergerät 38 umfasst mehrere Hardware- Komponenten 42, 44, 46, die zur Umsetzung von Funktionen des Steuergeräts 38 ausgebildet sind. Während eines normalen, anwenderbezogenen Betriebs des Steuergeräts 38 läuft auf einem Microcontroller 49 eine Anwender-Software, die in einem ersten Speicherbereich 48 gespeichert ist. Außerdem umfasst das

Steuergerät 38 eine Schnittstelle 50, über die eine Verbindung 52 der Hardware- Komponenten 42, 44, 46 zu Geräten außerhalb des Gehäuses 40 des Steuergeräts 38 möglich ist. Auf einem zweiten Speicherbereich 54 des Microcontrollers 49 ist, von der Anwender-Software getrennt, eine Test-Software gespeichert. Bei einer ersten Be- triebssituation wird die Anwender-Software ausgeführt, in diesem Fall funktioniert die Schnittstelle 50 in herkömmlicher Weise anwenderspezifisch. In einer zweiten, alternativen Betriebssituation wird die separate Test-Software ausgeführt, so dass die Schnittstelle 50 die Funktion einer Test-Schnittstelle übernimmt.