DE10030980A1 - Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller - Google Patents
Verfahren zur Steuerung des Programmablaufs in einem MikrocontrollerInfo
- Publication number
- DE10030980A1 DE10030980A1 DE10030980A DE10030980A DE10030980A1 DE 10030980 A1 DE10030980 A1 DE 10030980A1 DE 10030980 A DE10030980 A DE 10030980A DE 10030980 A DE10030980 A DE 10030980A DE 10030980 A1 DE10030980 A1 DE 10030980A1
- Authority
- DE
- Germany
- Prior art keywords
- microcontroller
- information
- program
- microprocessor
- hardware
- 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/2736—Tester hardware, i.e. output processing circuits using a dedicated service processor for test
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Automation & Control Theory (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Control By Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zur Steuerung des Ablaufs eines auf mindestens einem Mikroprozessor (2; 12) eines Mikrocontrollers (1; 11) ablauffähigen Programms. Um den Ablauf eines auf mindestens einem Mikroprozessor (2; 12) eines Mikrocontrollers (1; 11) ablauffähigen Programms möglichst derart zu steuern, dass das Programm an unterschiedliche Controller-Steps eines Mikrocontrollers (1) flexibel angepasst werden kann, wird vorgeschlagen, dass aus mindestens einem Informationsregister (6) des Mikrocontrollers (1) Informationen über die Hardware des Mikrocontrollers (1) eingelesen werden und in Abhängigkeit von den eingelesenen Informationen mindestens ein Schalter betätigt wird, durch den der Ablauf des Programms gesteuert wird.
Description
Die vorliegende Erfindung betrifft ein Verfahren zur
Steuerung des Ablaufs eines auf mindestens einem
Mikroprozessor eines Mikrocontrollers ablauffähigen
Programms. Die Erfindung betrifft des weiteren einen
Mikrocontroller mit mindestens einem Mikroprozessor, wobei
auf dem mindestens einen Mikroprozessor ein Programm
ablauffähig ist. Schließlich betrifft die vorliegende
Erfindung ein Steuerelement, insbesondere Read-Only-Memory,
Random-Access-Memory oder Flash-Memory. Das Steuerelement
wird in einem Steuergerät insbesondere eines Kraftfahrzeugs
eingesetzt. Alternativ kann das Steuerelement auch in einer
Testvorrichtung zum Testen eines Mikrocontrollers, eines
Steuergeräts und/oder eines auf mindestens einem
Mikroprozessor des Mikrocontrollers ablauffähiger. Programms
eingesetzt werden.
Aus dem Stand der Technik sind Mikrocontroller bekannt, die
mindestens einen Mikroprozessor, einen Analog/Digital
(A/D)-Wandler, einen Digital/Analog (D/A)-Wandler, einen
Datenbus, interne Steuerelemente (z. B. ein Read-Only-
Memory) und/oder weitere Bauelemente umfassen. Mindestens
ein derartiger Mikrocontroller ist bspw. Teil eines
Steuergerätes für ein Kraftfahrzeug. Das Steuergerät dient
zur Steuerung/Regelung von technischen Vorgängen und
Prozessen (Brennkraftmaschine, Getriebe, Fahrwerk,
Klimaanlage) in dem Kraftfahrzeug. In einem Steuerelement
- einem internen oder externen Speicherelement - des
Mikrocontrollers ist ein Steuerprogramm zur Ausführung der
Steuerung/Regelung abgespeichert. Das Steuerprogramm ist
auf mindestens einem der Mikroprozessoren des
Mikrocontrollers ablauffähig. Ein derartiger
Mikrocontroller kann aber auch Teil eines Steuergerätes für
eine beliebige andere Steuerungs-/Regelungsanwendung sein.
Die Mikrocontroller unterschiedlicher Hersteller, aber auch
die Mikrocontroller des gleichen Herstellers und sogar die
Mikrocontroller innerhalb einer Controller-Familie des
gleichen Herstellers können hardwaremäßig unterschiedlich
ausgebildet sein. Die verschiedenen Mikrocontroller
unterscheiden sich bspw. durch die verwendeten Bauelemente.
Die unterschiedlichen Versionen eines Mikrocontrollers
innerhalb einer Controller-Familie werden als Controller-
Steps bezeichnet. Die einzelnen Controller-Steps können
einen unterschiedlichen Umfang an Funktionalitäten (sog.
Features) und/oder unterschiedliche fehlerhafte
Funktionalitäten aufweisen. Die fehlerhaften
Funktionalitäten müssen durch sog. Workarounds umgangen
werden, wobei versucht wird, die fehlerhafte Funktionalität
mittels anderer Funktionalitäten nachzubilden.
Unter Hardware gemäß der vorliegenden.
Es sind bspw. Mikrocontroller bekannt, bei denen der A /D-
Wandler einen Analog- in einen Digitalwert wandelt, diesen
zur Anzeige bringt und dann durch Setzen eines Bits einen
Interrupt auslöst. Bei einem Mikrocontroller eines
bestimmten Controller-Steps ist jedoch der Fehler bekannt,
dass ein Interrupt-Bit gesetzt wird. Dieser Fehler läßt
sich dadurch umgehen, dass das Interrupt-Bit nach einer
vorgebbaren Zeitdauer nach Beginn der A/D-Wandlung gesetzt
wird. Die Zeitdauer wird so gewählt, dass die A/D-Wandlung
auch im sog. Worst Case beendet ist. Der fehlerbehaftete
ereignisgetriggerte Interrupt wird also durch einen
zeitgetriggerten Interrupt umgangen.
Bei anderen Mikrocontrollern eines bestimmten Controller-
Steps funktionieren bestimmte Befehlssequenzen nicht.
Dieser Fehler kann dadurch umgangen werden, dass die
fehlerhaften Befehlssequenzen vermieden und die
Funktionalität dieser Sequenzen entweder nicht zur
Verfügung steht oder aber durch andere Befehlssequenzen
emuliert wird.
Aus den oben beschriebenen Gründen unterschiedlicher
Funktionalitäten und notwendiger Workarounds wird das auf
dem mindestens einen Mikroprozessor des Mikrocontrollers
ablauffähige Programm nach dem Stand der Technik an den
jeweiligen Controller-Step angepasst. Die Folge sind jedoch
eine Vielzahl unterschiedlicher Programme, die bei
Software-Updates alle gepflegt werden müssen. Soll bei
einem Mikrocontroller für ein Steuergerät einer
Brennkraftmaschine bspw. ein neue, kraftstoffsparendes
Steuerprogramm durch einen Software-Update implementiert
werden, müssen die Steuerprogramme sämtlicher Controller-
Steps überarbeitet und dem entsprechenden Mikrocontroller
zugeordnet werden. Das stellt einen erheblichen Arbeits-
und Kostenaufwand dar. Auch das Zuordnen der Software-
Updates an die verschiedenen Mikrocontroller des
entsprechenden Controller-Steps stellt einen erheblichen
verwaltungstechnischen Aufwand dar.
Aus dem Stand der Technik sind darüber hinaus
Mikrocontroller bekannt, die Teil einer Testvorrichtung zum
Testen eines weiteren Mikrocontrollers, eines Steuergeräts
und/oder eines auf mindestens einem Mikroprozessor des
weiteren Mikrocontrollers ablauffähigen Programms sind. In
dem Steuerelement des Mikrocontrollers ist dann ein
Testprogramm abgespeichert. Das Testprogramm ist auf
mindestens einem der Mikroprozessoren des Mikrocontrollers
der Testvorrichtung ablauffähig. Der weitere
Mikrocontroller ist bspw. Teil eines Steuergeräts für ein
Kraftfahrzeug. Mit der Testvorrichtung kann die Bestückung
des weiteren Mikrocontrollers oder des kompletten
Steuergeräts mit Bauelementen und das Steuerprogramm des
weiteren Mikrocontrollers überprüft werden. Für einen
optimalen Test des weiteren Mikrocontrollers, des
Steuergeräts und des Steuerprogramms, sollte das
Testprogramm an den Controller-Step des weiteren
Mikrocontrollers des Steuergeräts angepaßt sein. Nach dem
Stand der Technik wird entweder auf einen derart
optimierten Test verzichtet, oder aber für jeden
Controller-Step ein eigenes Testprogramm zur Verfügung
gestellt. Die Pflege dieser Testprogramme ist äußerst
arbeits- und kostenintensiv.
Aus dem Stand der Technik sind Mikrocontroller bekannt, die
sog. Informationsregister aufweisen, in denen Informationen
über die Hardware des Mikrocontrollers abgespeichert sind.
Die Informationsregister sind vorzugsweise nur lesbar
ausgebildet und enthalten bspw. Informationen über den
Hersteller des Mikrocontrollers, die herstellende Abteilung
oder das herstellende Werk, über den Mikrocontroller-Typ,
die Mikrocontroller-Familie, den Mikrocontroller-Step oder
die Mikrocontroller-Revisionsnummer, über die Größe und die
Art des internen Speicherelements oder über die Art der
Programmierung des internen Speicherelements. Die
Informationsregister können in dem Mikrocontroller
außerhalb des Mikroprozessors angeordnet sein, sie können
aber auch Bestandteil des Mikroprozessors sein.
Aufgabe der vorliegenden Erfindung ist es, den Ablauf eines
auf mindestens einem Mikroprozessor eines Mikrocontrollers
ablauffähigen Programms möglichst derart zu steuern, dass
das Programm an die unterschiedlichen Controller-Steps
eines Mikrocontrollers flexibel angepasst werden kann.
Zur Lösung dieser Aufgabe schlägt die Erfindung ausgehend
von dem Verfahren der Eingangs genannten Art vor, dass aus
mindestens einem Informationsregister eines
Mikrocontrollers Informationen über die Hardware des
Mikrocontrollers eingelesen werden und in Abhängigkeit von
den eingelesenen Informationen mindestens ein Schalter
betätigt wird, durch den der Ablauf des Programms gesteuert
wird.
Erfindungsgemäß wird also vorgeschlagen, den Ablauf eines
auf dem Mikrocontroller ablauffähigen Programme dadurch zu
steuern, dass zunächst die Hardware, bspw. der Controller-
Step, eines Mikrocontrollers ermittelt wird. Die Hardware
eines Mikrocontrollers kann durch Bestückung des
Controllers mit unterschiedlichen Bauelementen verändert
werden. Es sind aber auch Mikrocontroller bekannt, bei
denen die Hardware über einen programmierbaren Mikrocode
- also Software - konfiguriert werden kann. Bei derartigen
Mikrocontrollern ist es denkbar, dass zur Steuerung des
Programms zusätzlich zu den Informationen aus den
Informationsregistern noch Informationen über den Mikrocode
eingelesen werden.
Der Mikrocontroller, über dessen Hardware Informationen
eingelesen werden, kann der Mikrocontroller sein, auf dem
das zu steuernde Pragramm abläuft, oder aber auch ein
weiterer Mikrocontroller sein. In Abhängigkeit von den
ermittelten Hardware-Informationen werden dann bestimmte
Schalter derart gesetzt, dass bestimmte Workarounds und
bestimmte Programm-Funktionalitäten aktiviert bzw.
deaktiviert werden. Der Programmablauf wird also an die
Hardware eines Mikrocontrollers angepasst.
Die einzulesenden Informationen über die Hardware des
Mikrocontrollers umfassen bspw. den Hersteller, den Typ,
die Art und die Größe der für den Mikrocontroller
verwendeten Bauelemente. Diesen Informationen sind genaue
Angaben darüber zugeordnet, welche Funktionalitäten bei
welchem Informationsinhalt vorhanden bzw. nicht vorhanden
sind oder welche Fehler bei, welchem Informationsinhalt
auftreten und durch welche Workarounds die Fehler umgangen
werden können. Es ist denkbar, dass der Inhalt der
Informationsregister unmittelbar zur Betätigung der
Schalter herangezogen wird.
Gemäß einer vorteilhaften Weiterbildung der vorliegenden
Erfindung wird vorgeschlagen, dass Informationen über
mindestens einen Mikroprozessor des Mikrocontrollers
und/oder über mindestens ein weiteres Bauelement des
Mikrocontrvllers eingelesen werden. Das weitere Bauelement
ist bspw. als ein internes Speicherelement, ein A/D-
Wandler, ein D/A-Wandler oder ein Datenbus, bspw. ein
Controller Area Network (CAN)-Bus, des weiteren
Mikrocontrollers ausgebildet. Ganz allgemein gesagt, können
über all diejenigen weiteren Bauteile des Mikrocontrollers
Informationen eingelesen werden, die eine Anpassung des
Programmablaufs erforderlich machen könnten.
Gemäß einer bevorzugten Ausführungsform der vorliegenden .
Erfindung wird vorgeschlagen, dass der Ablauf eines auf dem
mindestens einen Mikroprozessor des Mikrocontrollers einer
Testvorrichtung ablauffähigen Testprogramms zum Testen
eines weiteren Mikrocontrollers, eines Steuergeräts
und/oder eines auf mindestens einem Mikroprozessor des
weiteren Mikrocontrollers ablauffähigen Steuerprogramme in
Abhängigkeit von den Informationen über die Hardware des
weiteren Mikrocontrollers gesteuert wird. Gemäß dieser
Ausführungsform ist also der Mikrocontroller Teil einer
Testvorrichtung und der weitere Mikrocontroller Teil eines
Steuergeräts für ein Kraftfahrzeug. Auf mindestens einem
der Mikroprozessoren des Mikrocontrollers der
Testvorrichtung ist ein Testprogramm ablauffähig, mit dem
der weitere Mikrocontroller, das komplette Steuergerät bzw.
ein auf mindestens einem der Mikroprozessoren des weiteren
Mikrocontrollers ablauffähiges Steuerprogramm getestet
wird. Der Ablauf des Testprogramms wird in Abhängigkeit von
den Hardware-Informationen über den weiteren
Mikrocontroller des Steuergeräts gesteuert bzw.
konfiguriert. Das Testprogramm kann somit individuell an
die Hardware des weiteren Mikrocontrollers angepasst
werden. Es können auf die Hardware gezielt abgestimmte
Testmuster durchlaufen werden. Auf diese Weise kann
wesentlich gründlicher, genauer und zuverlässiger getestet
werden, und der Vorgang des Testens wird wesentlich
erleichtert, da ein Tester nicht erst für jede Hardware
bzw. für jedes Steuerprogramm das entsprechende
Testprogramm auswählen muss. Dies geschieht nach dem
erfindungsgemäßen Verfahren vielmehr vollautomatisch.
Es sind bspw. verschiedene Mikrocontroller-Steps einer
Controller-Familie bekannt, die sich dadurch unterscheiden,
dass ein Speicherelement bei einem Step on-chip und bei
einem anderen Step off-chip angeordnet ist. Das
Testprogramm kann mit dem erfindungsgemäßen Verfahren auf
eine besonders einfache, und zuverlässige Weise entsprechend
dem jeweiligen Mikrocontroller-Step konfiguriert und der
Ablauf des Programms entsprechend gesteuert werden.
Gemäß einer alternativen Ausführungsform der vorliegenden
Erfindung wird vorgeschlagen, dass der Ablauf eines auf
mindestens einem Mikroprozessor des Mikrocontrollers eines
Steuergeräts ablauffähigen Steuerprogramms zur
Steuerung/Regelung von technischen Vorgängen und Prozessen
insbesondere in einem Kraftfahrzeug in Abhängigkeit von den
Informationen über die Hardware des Mikrocontrollers
gesteuert wird. Gemäß dieser alternativen Ausführungsform
ist der Mikrocontroller also Teil eines Steuergeräte. Auf
mindesatens einem der Mikroprozessoren des Mikrocontrollers
des Steuergeräts ist ein Steuerprogramm ablauffähig ist.
Der Ablauf des Steuerprogramms wird in Abhängigkeit der
Hardware des Mikrocontrollers gesteuert, auf dem das
Steuerprogramm ablauffähig ist. Auf diese Weise kann für
verschiedene Mikrocontroller unterschiedlicher Hardware ein
einziges Steuerprogramm eingesetzt werden. Es muss nur noch
ein Steuerprogramm gewartet werden. Bei neuen Controller-
Steps wird das Steuerprogramm entsprechend erweitert. Die
Erweiterung besteht insbesondere in einer Definition der
Schalter und einer Programmierung von zusätzlichen
Funktionalitäten und/oder Modifikationen (Hinzufügen,
Entfernen, Ändern des Programms) bzgl. Workarounds.
Software-Updates des Steuerprogramms können dadurch
wesentlich einfacher und kostengünstiger durchgeführt
werden.
Von besonderer Bedeutung ist die Realisierung des
erfindungsgemäßen Verfahrens in Form eines Steuerelements,
das für ein Steuergerät insbesondere eines Kraftfahrzeugs
oder für eine Testvorrichtung zum Testen eines
Mikrocontrollers, eines Steuergeräts und/oder eines auf
mindestens einem Mikroprozessor des Mikrocontrollers
ablauffähigen Programms vorgesehen ist. Dabei ist auf dem
Steuerelement ein Programm abgespeichert, das auf einem
Rechengerät, insbesondere auf einem Mikroprozessor,
ablauffähig und zur Ausführung des erfindungsgemäßen
Verfahrens geeignet ist. In diesem Fall wird also die
Erfindung durch ein auf dem Steuerelement abgespeichertes
Programm realisiert, so dass dieses mit dem Programm
versehene Steuerelement in gleicher Weise die Erfindung
darstellt wie das Verfahren, zu dessen Ausführung das
Programm geeignet ist. Als Steuerelement kann insbesondere
ein elektrisches Speichermedium zur Anwendung kommen,
beispielsweise ein Read-Only-Memory oder ein Flash-Memory.
Als eine weitere Lösung der Aufgabe der vorliegenden
Erfindung wird vorgeschlagen, dass der Mikrocontroller
Mittel zum Einlesen von Informationen über die Hardware
eines Mikrocontrollers aus mindestens einem
Informationsregister des Mikrocontrollers und mindestens
einen in Abhängigkeit von den eingelesenen Informationen
betätigbaren Schalter zur Steuerung des Ablaufs des auf dem
mindestens einen Mikroprozessor des Mikrocontrollers
ablauffähigen Programms aufweist.
Gemäß einer vorteilhaften Weiterbildung der vorliegenden
Erfindung wird vorgeschlagen, dass die Mittel zum Einlesen
von Informationen Informationen über mindestens einen
Mikroprozessor des Mikrocontrollers und/oder über
mindestens ein weiteres Bauelement des Mikrocontrollers
einlesen. Die Informationen über das mindestens eine
weitere Bauelement des Mikrocontrollers umfassen
vorteilhafterweise Informationen über ein internes
Speicherelement, einen Analog/Digital (A/D)-Wandler, einen
Digital/Analog (D/A)-Wandler und/oder mindestens einen
Datenbus.
Gemäß einer bevorzugten Ausführungsform der vorliegenden
Erfindung wird vorgeschlagen, dass der Mikrocontroller Teil
einer Testvorrichtung zum Testen eines weiteren
Mikrozontrollers, eines Steuergeräts und/oder eines auf
mindestens einem Mikroprozessor des weiteren
Mikrozontrollers ablauffähigen Programms ist. Gemäß dieser
Ausführungsform sind der Mikrocontroller, auf dem das zu
steuernde Programm abläuft, und der weitere
Mikrocontroller, in Abhängigkeit dessen Hardware der
Programmablauf gesteuert wird, zwei getrennte
Mikrocontroller. Der Ablauf eines auf dem Mikrocontroller
ablauffähigen Testprogramms wird in Abhängigkeit von den
über den weiteren Mikrocontroller bsgw, eines Steuergeräts
eingelesenen Informationen gesteuert.
Gemäß einer alternativen Ausführungsform der vorliegenden
Erfindung wird vorgeschlagen, dass dar Mikrocontroller Teil
eines Steuergeräts zur Steuerung/Regelung von technischen
Vorgängen und Prozessen insbesondere in einem Kraftfahrzeug
ist. Gemäß dieser alternativen Ausführungsform wird bspw.
der Ablauf eines auf dem Mikrocontroller ablauffähigen
Steuerprogramms in Abhängigkeit von den über diesen
Mikrocontroller eingelesenen Informationen gesteuert.
Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der
Erfindung ergeben sich aus der nachfolgenden Beschreibung
von Ausführungsbeispielen der Erfindung, die in der
Zeichnung dargestellt sind. Dabei bilden alle beschriebenen
oder dargestellten Merkmale für sich oder in beliebiger
Kombination den Gegenstand der Erfindung, unabhängig von
ihrer Zusammenfassung in den Patentansprüchen oder deren
Rückbeziehung sowie unabhängig von ihrer Formulierung bzw.
Darstellung in der Beschreibung bzw. in der Zeichnung. Es
zeigen:
Fig. 1 einen erfindungsgemäßen Mikrocontroller gemäß
einer ersten bevorzugten Ausführungsform der
Erfindung;
Fig. 2 einen erfindungsgemäßen Mikrocontroller gemäß
einer zweiten bevorzugten Ausführungsform der
Erfindung; und
Fig. 3 ein Ablaufdiagramm eines erfindungsgemäßen
Verfahrens gemäß einer bevorzugten
Ausführungsfarm.
In Fig. 1 ist ein Mikrocontroller in seiner Gesamtheit mit
dem Bezugszeichen 1 bezeichnet. Der Mikrocontroller 1 weist
einen Mikroprozessor 2, ein als Flash-Memory ausgebildetes
internes Speicherelement 3, einen Analog/Digital (A/D)-
Wandler 4 und einen als Controller Area Network (CAN)-Bus
ausgebildeten Datenbus 5 auf. In einem Informationsregister
6 des Mikrocontrollers 1 sind Informationen über die
Hardware des Mikrocontrollers abrufbar abgelegt.
Die Mikrocontroller unterschiedlicher Hersteller, aber auch
die Mikrocontroller des gleichen Herstellers und sogar die
Mikrocontroller innerhalb einer Controller-Familie des
gleichen Herstellers können hardwaremäßig unterschiedlich
ausgebildet sein. Die verschiedenen Mikrocontroller
unterscheiden sich bspw. durch die verwendeten Bauelemente.
Die unterschiedlichen Versionen eines Mikrocontrollers
innerhalb einer Controller-Familie werden als Controller-
Steps bezeichnet. Die Controller-Steps sind noch einmal in
verschiedene Revisionen unterteilt. Die einzelnen
Controller-Steps oder Revisionen können einen
unterschiedlichen Umfang an Funktionalitäten (sog.
Features) und/oder unterschiedliche fehlerhafte
Funktionalitäten aufweisen. Die fehlerhaften
Funktionalitäten müssen durch sog. Workarounds umgangen
werden, wobei versucht wird, die fehlerhafte Funktionalität
mittels anderer Funktionalitäten nachzubilden.
Die in dem Informationsregister 6 abgelegten Informationen
umfassen bspw. Informationen über den Hersteller des
Mikrocontrollers 1, die herstellende Abteilung oder das
herstellende Werk, über den Mikrocontroller-Typ, die
Mikrocontroller-Familie, den Mikrocontroller-Step oder die
Mikrocontroller-Revisionsnummer, über die Größe und die Art
des internen Speicherelements 3 oder über die Art der
Programmierung des internen Speicherelements 3.
Der Mikrocontroller 1 ist Teil eines Steuergeräts 7 zur
Steuerung/Regelung von technischen Vorgängen und Prozessen
insbesondere in einem Kraftfahrzeug. In einem externen
Speicherelement 8 ist ein auf dem Mikroprozessor 2 des
Mikrocontrollers 1 ablauffähiges Steuerprogramm
gespeichert. Das Steuerprogramm muss auf den Umfang der
Funktionalitäten des Mikrocontrollers 1 (welche
Befehlssequenzen dürfen in dem Steuerprogramm enthalten
sein?), auf die fehlerhaften Funktionalitäten (welche
Befehlssequenzen sollten vermieden werden und durch welche
Workarounds können sie umgangen werden?) und auf die
Hardware des Mikrocontrollers 1 abgestimmt sein.
Gemäß der vorliegenden Erfindung wird vorgeschlagen, dass
der Ablauf des Steuerprogramms in Abhängigkeit von den in
dem Informationsregister 6 abgelegten Informationen über
die Hardware des Mikrocontrollers 1 gesteuert wird (vgl.
Fig. 3). Nach dem Start des erfindungsgemäßen Verfahrens in
Funktionsblock 30 werden in Funktionsblock 31 zunächst
Informationen über die Hardware des Mikrocontrollers 1 aus
dem Informationsregister 6 eingelesen. In Abhängigkeit der
eingelesenen Informationen werden in Funktionsblock 32
Schalter gesetzt, durch die der Ablauf des Steuerprogramms
beeinflussbar ist. Anschließend wird das Steuerprogramm mit
den gesetzten Schaltern durchlaufen, was symbolisch durch
Funktionsblock 33 angedeutet ist. In Funktionsblock 34 ist
das Verfahren beendet.
Mithilfe der Schalter können Befehlssequenzen für bestimmte
Funktionalitäten des Mikrocontrollers 1 oder bestimmte
Workarounds aktiviert bzw. deaktiviert werden. Außerdem
kann das Steuerprogramm durch die Schalter an die Hardware
des Mikrocontrollers 1 angepaßt werden. So wird bspw. durch
Informationen über die Art und Größe des internen
Speicherelements 3 bzw. des externen Speicherelements 8
definiert, innerhalb welcher Speicherbereiche auf das
interne Speicherelement 3 zugegriffen werden kann bzw. auf
den externen Speicher zugegriffen werden muss. Aus Gründen
einer kürzeren Zugriffszeit wird vorzugsweise auf das
interne Speicherelement 3 zugegriffen. Wenn in dem internen
Speicherelement 3 während des Programmablaufs Adaptions-
und/oder Diagnosewerte abgelegt werden, kann aus
Informationen über die Größe des internen Speicherelements
3 festgelegt werden, in welchem Umfang diese Werte
abgespeichert werden. Bei einem kleinen internen
Speicherelement 3 kann bspw. nur ein Teilumfang der
theoretisch abspeicherbaren Werte abgespeichert werden.
Durch Informationen über die Art der Programmierung des
internen Speicherelements 3 können die in dem
Steuerprogramm abgelegten Programmieralgorithmen angepasst
werden.
In Fig. 2 ist ein zweites Ausführungsbeispiel des
erfindungsgemäßen Mikrocontrollers in seiner Gesamtheit mit
dem Bezugszeichen 11 bezeichnet. Der Mikrocontroller 11
weist einen Mikroprozessor 12, ein als Flash-Memory
ausgebildetes internes Speicherelement 13, einen
Analog/Digital (A/D)-Wandler 14 und einen als Controller
Area Network (CAN)-Bus ausgebildeten Datenbus 15 auf. Der
Mikrocontroller 11 steht über den Datenbus 15 mit einem
Steuergerät 7 in Verbindung. Das Steuergerät 7 weist einen
weiteren Mikrocontroller 1 auf, der u. a. auch ein
Informationsregister 6 aufweist, in dem Informationen über
die Hardware des Mikrocontrollers 1 abrufbar abgelegt sind.
Der Mikrocontroller 11 ist Teil einer Testvorrichtung 17
zum Testen des weiteren Mikrocontrollers 1, des kompletten
Steuergeräts 7 und/oder eines auf mindestens einem
Mikroprozessor 2 des weiteren Mikrocontrollers 1
ablauffähigen Steuerprogramms zur Steuerung/Regelung von
technischen Vorgängen und Prozessen insbesondere in einem
Kraftfahrzeug. In einem externen Speicherelement 18 ist ein
auf dem Mikroprozessor 12 des Mikrocontrollers 11
ablauffähiges Testprogramm gespeichert. Das Testprogramm
muss auf den Umfang der Funktionalitäten des weiteren
Mikrocontrollers 1 (welche Bauelemente das weiteren
Mikrocontrollers 1 und welche Befehlssequenzen des
Steuerprogramms dürfen von dem Testprogramm getestet
werden 7), auf die fehlerhaften Funktionalitäten (welche
Bauelemente und welche Befehlssequenzen sollten von dem
Testprogramm vermieden werden 7) und auf die Hardware des
Mikrocontrollers 1 abgestimmt sein, um den weiteren
Mikrocontroller 1 bzw. das Steuerprogramm möglichst
umfangreich, genau und zuverlässig testen zu können.
Die einzelnen Bauelemente 2, 3, 4, 5, 6, 8 und 12, 13, 14,
15, 16, 18 der Mikrocontroller 1, 11 sind entweder über
physische Leitungen oder über mindestens einen Datenbus
untereinander verbunden.
Gemäß der vorliegenden Erfindung wird vorgeschlagen, dass
der Ablauf des Testprogramms in Abhängigkeit von den in dem
Informationsregister 6 des weiteren Mikrocontrollers 1
abgelegten Informationen über die Hardware des
Mikrocontrollers 1 gesteuert wird (vgl. Fig. 3). Nach dem
Start des erfindungsgemäßen Verfahrens in Funktionsblock 30
werden in Funktionsblock 31 zunächst Informationen über die
Hardware des Mikrocontrollers 1 aus dem
Informationsregister 6 eingelesen. In Abhängigkeit der
eingelesenen Informationen werden in Funktionsblock 32
Schalter gesetzt, durch die der Ablauf des Testprogramms
auf dem Mikroprozessor 12 des Mikrocontrollers 11
beeinflussbar ist. Anschließend wird das Testprogramm mit
den gesetzten Schaltern durchlaufen, was symbolisch durch
Funktionsblock 33 angedeutet ist. In Funktionsblock 34 ist
das Verfahren beendet.
Claims (10)
1. Verfahren zur Steuerung des Ablaufs eines auf
mindestens einem Mikroprozessor (2; 12) eines
Mikrocontrollers (1; 11) ablauffähigen Programms, dadurch
gekennzeichnet, dass aus mindestens einem
Informationeregister (6) eines Mikrocontrollers (1)
Informationen über die Hardware des Mikrocontrollers (1)
eingelesen werden und in Abhängigkeit von den eingelesenen
Informationen mindestens ein Schalter betätigt wird, durch
den der Ablauf des Programms gesteuert wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet,
dass Informationen über mindestens einen Mikroprozessor (2)
des Mikrocontrollers (1) und/oder über mindestens ein
weiteres Bauelement des Mikrocontrollers (1) eingelesen
werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch
gekennzeichnet, dass der Ablauf eines auf dem mindestens
einen Mikroprozessor (12) des Mikrocontrollers (11) einer
Testvorrichtung (17) ablauffähigen Testprogramms zum Testen
eines weiteren Mikrocontrollers (1), eines Steuergeräts (7)
und/oder eines auf mindestens einem Mikroprozessor (2) des
weiteren Mikrocontrollers (1) ablauffähigen Steuerprogramme
in Abhängigkeit von den Informationen über die Hardware des
weiteren Mikrocontrollers (1) gesteuert wird.
4. Verfahren nach Anspruch 1 oder 2, dadurch
gekennzeichnet, dass der Ablauf eines auf mindestens einem
Mikroprozessor (2) des Mikrocontrollers (1) eines
Steuergeräts (7) ablauffähigen Steuerprogramms zur
Steuerung/Regelung von technischen Vorgängen und Prozessen
insbesondere in einem Kraftfahrzeug in Abhängigkeit von den
Informationen über die Hardware des Mikrocontrollers (1)
gesteuert wird.
5. Steuerelement, insbesondere Read-Only-Memory, oder
Flash-Memory, für ein Steuergerät (7) einer
Brennkraftmaschine insbesondere eines Kraftfahrzeugs oder
für eine Testvorrichtung (17) zum Testen eines
Mikrocontrollers (1), eines Steuergeräts (7) und/oder eines
auf mindestens einem Mikroprozessor (2) des
Mikrocontrollers (1) ablauffähigen Programms, wobei auf dem
Steuerelement ein Programm abgespeichert ist, das auf einem
Rechengerät, insbesondere auf einem Mikroprozessor (2; 12),
ablauffähig und zur Ausführung eines Verfahrens nach einem
der Ansprüche 1 bis 4 geeignet ist.
6. Mikrocontroller (1; 11) mit mindestens einem
Mikroprozessor (2; 12), wobei auf dem mindestens einen
Mikroprozessor (2; 12) ein Programm ablauffähig ist,
dadurch gekennzeichnet, dass der Mikrocontroller (1; 11)
Mittel zum Einlesen von Informationen über die Hardware
eines Mikrocontrollers (1) aus mindestens einem
Informationeregister (6) des Mikrocontrollers (1) und
mindestens einen in Abhängigkeit von den eingelesenen
Informationen betätigbaren Schalter zur Steuerung des
Ablaufs des auf dem mindestens einen Mikroprozessor (2; 12)
des Mikrocontrollers (1; 11) ablauffähigen Programms
aufweist.
7. Mikrocontroller (1; 1) nach Anspruch 6, dadurch
gekennzeichnet, dass die Mittel zum Einlesen Informationen
über mindestens einen Mikroprozessor (2) des
Mikrocontrollers (1) und/oder über mindestens einen
weiteres Bauelement des Mikrocontrollers (1) einlesen.
8. Mikrocontroller (1; 11) nach Anspruch 7, dadurch
gekennzeichnet, dass die Informationen über das mindestens
eine weitere Bauelement des Mikrocontrollers (1)
Informationen über ein internes Speicherelement (3), einen
Analog/Digital (A/D)-Wandler (4), einen Digital/Analog
(D/A)-Wandler und/oder mindestens einen Datenbus (5)
umfassen.
9. Mikrocontroller (11) nach einem der Ansprüche 6 bis 8,
dadurch gekennzeichnet, dass der Mikrocontroller (11) Teil
einer Testvorrichtung (17) zum Tasten eines weiteren
Mikrocontrollers (1), eines Steuergeräts (7) und/oder eines
auf mindestens einem Mikroprozessor (2) des weiteren
Mikrocontrollers (1) ablauffähigen Programms ist.
10. Mikrocontroller (1) nach einem der Ansprüche 6 bis 8,
dadurch gekennzeichnet, dass der Mikrocontroller (1) Teil
eines Steuergeräts (7) zur Steuerung/Regelung von
technischen Vorgängen und Prozessen insbesondere in einem
Kraftfahrzeug ist.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10030980A DE10030980A1 (de) | 2000-06-30 | 2000-06-30 | Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller |
JP2001197681A JP2002099307A (ja) | 2000-06-30 | 2001-06-29 | マイクロコントローラ内のプログラムシーケンスの制御方法,メモリ素子,マイクロコントローラ。 |
US09/897,870 US20020073361A1 (en) | 2000-06-30 | 2001-07-02 | Method for controlling the program run in a microcontroller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10030980A DE10030980A1 (de) | 2000-06-30 | 2000-06-30 | Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10030980A1 true DE10030980A1 (de) | 2002-01-10 |
Family
ID=7646773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10030980A Ceased DE10030980A1 (de) | 2000-06-30 | 2000-06-30 | Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller |
Country Status (3)
Country | Link |
---|---|
US (1) | US20020073361A1 (de) |
JP (1) | JP2002099307A (de) |
DE (1) | DE10030980A1 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004024536A1 (de) * | 2004-05-18 | 2005-12-15 | Robert Bosch Gmbh | Verfahren zum Betrieb eines Systems |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4489414A (en) * | 1981-10-28 | 1984-12-18 | Hal Computers Limited | Computer peripheral testing equipment |
FR2549256B1 (fr) * | 1983-06-22 | 1985-11-29 | Philips Ind Commerciale | Procede et machine automatiques pour tester simultanement des systemes informatiques |
US4933941A (en) * | 1988-06-07 | 1990-06-12 | Honeywell Bull Inc. | Apparatus and method for testing the operation of a central processing unit of a data processing system |
JP3463757B2 (ja) * | 1993-04-08 | 2003-11-05 | 株式会社日立製作所 | エンジン制御装置及びこれに用いる空気流量計 |
US5410544A (en) * | 1993-06-30 | 1995-04-25 | Intel Corporation | External tester control for flash memory |
US5422305A (en) * | 1993-10-29 | 1995-06-06 | Texas Instruments Incorporated | Method of forming implanted silicon resonant tunneling barriers |
US6182203B1 (en) * | 1997-01-24 | 2001-01-30 | Texas Instruments Incorporated | Microprocessor |
US6189084B1 (en) * | 1997-07-14 | 2001-02-13 | Horiba, Ltd. | Debugging method and monitoring method for analysis instruments |
US6175913B1 (en) * | 1997-09-12 | 2001-01-16 | Siemens Ag | Data processing unit with debug capabilities using a memory protection unit |
US6067633A (en) * | 1998-03-31 | 2000-05-23 | International Business Machines Corp | Design and methodology for manufacturing data processing systems having multiple processors |
-
2000
- 2000-06-30 DE DE10030980A patent/DE10030980A1/de not_active Ceased
-
2001
- 2001-06-29 JP JP2001197681A patent/JP2002099307A/ja active Pending
- 2001-07-02 US US09/897,870 patent/US20020073361A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2002099307A (ja) | 2002-04-05 |
US20020073361A1 (en) | 2002-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19744230B4 (de) | Steuergeräte für ein System und Verfahren zum Betrieb eines Steuergeräts | |
EP2318920B1 (de) | Steuergerät für ein fahrzeug und verfahren für eine datenaktualisierung für ein steuergerät für ein fahrzeug | |
DE10115729B4 (de) | Vielseitiges Boot-Verfahren für eine Anwendungs-Software eines Mikrocontrollers | |
EP3128383B1 (de) | Feldgerät | |
DE102007029285A1 (de) | Testvorrichtung zum Testen wenigstens eines elektronischen Steuerungssystems sowie Verfahren zum Betreiben einer Testvorrichtung | |
DE102005013285B4 (de) | Verfahren zum Konfigurieren eines Steuergeräts und Steuergerät | |
DE10106504A1 (de) | Verfahren und Vorrichtung zum Emulieren von Steuer- und/oder Regelfunktionen eines Steuer- oder Regelgeräts | |
DE102007062395A1 (de) | Verfahren zum Parametrieren eines Feldgerätes der Prozessautomatisierungstechnik | |
WO2012016805A1 (de) | Verfahren zur rekonfiguration von softwareparametern in einem mikrocontroller sowie mikrocontroller und steuergerät | |
DE10064025B4 (de) | Verfahren zum Booten eines Mikroprozessors sowie Mikroprozessor mit einem bedingten deterministischen Rücksetzvektor | |
DE10030980A1 (de) | Verfahren zur Steuerung des Programmablaufs in einem Mikrocontroller | |
EP1563358A2 (de) | Verfahren zur sicheren überprüfung eines speicherbereiches eines mikrocontrollers in einem steuergerät und steuergerät mit einem geschützten mikrocontroller | |
DE10200242B4 (de) | Verfahren zur Funktionsüberwachung eines Steuergeräts | |
DE102005001430A1 (de) | Verfahren zur Beschreibung von Speicherinhalten und zur Beschreibung des Transfers von Speicherinhalten | |
LU503412B1 (de) | Steuersystem, steuergerät und verfahren zur bereitstellung eines steuer- und/oder regelsignals | |
EP1593007A2 (de) | Verfahren zur ermittlung der verarbeitungsreihenfolge von funktionsbausteinen eines automatisierungssystems und automatisierungssystem | |
DE102005060161A1 (de) | Verfahren zur Verarbeitung und Erzeugung von Diagnosedaten in einem Softwareentwicklungsprozess | |
EP3948449B1 (de) | Verfahren und engineering-system zur änderung eines programms einer industriellen automatisierungskomponente | |
DE19748181B4 (de) | Verfahren zum Prüfen einer Funktion oder Einrichtung eines Fahrzeugs | |
DE102013003593A1 (de) | Verfahren zum Durchführen eines Löschungsvorgangs in einem beschreibbaren Speicherelement | |
DE102018221786B4 (de) | Anordnung mit einem ersten Steuergerät für ein Fahrzeug und einem zweiten Steuergerät für ein Fahrzeug; wobei das erste Steuergerät und das zweite Steuergerät jeweils Getriebesteuergeräte sind und in Abhängigkeit von in einer Software enthaltenen Anweisungen ein Getriebe des Fahrzeugs steuern oder regeln | |
DE19917940A1 (de) | Speicherbauteil einer Rechnereinheit | |
DE19949048A1 (de) | Verfahren und Vorrichtung zur Steuerung von Prozessen in einem Fahrzeug | |
DE69803851T2 (de) | Verfahren zur steuerung eines integrierten mikroprozessors mit einem festwertprogrammspeicher und intergrierte schaltung zur durchführung dieses verfahrens | |
DE102006033181A1 (de) | Verfahren zur Steuerung von einem Fahrprogramm und Steuerungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8131 | Rejection |