DE10143142A1 - Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält - Google Patents

Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält

Info

Publication number
DE10143142A1
DE10143142A1 DE10143142A DE10143142A DE10143142A1 DE 10143142 A1 DE10143142 A1 DE 10143142A1 DE 10143142 A DE10143142 A DE 10143142A DE 10143142 A DE10143142 A DE 10143142A DE 10143142 A1 DE10143142 A1 DE 10143142A1
Authority
DE
Germany
Prior art keywords
memory
pointer
memory area
eeprom
record
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
Application number
DE10143142A
Other languages
English (en)
Inventor
Alexander Steinert
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Paragon AG
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE10143142A priority Critical patent/DE10143142A1/de
Priority to EP02760126A priority patent/EP1423788A2/de
Priority to JP2003529310A priority patent/JP2005502972A/ja
Priority to PCT/DE2002/003051 priority patent/WO2003025748A2/de
Priority to KR10-2004-7003214A priority patent/KR20040051585A/ko
Priority to US10/488,719 priority patent/US20040237628A1/en
Publication of DE10143142A1 publication Critical patent/DE10143142A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

Es wird ein Verfahren zum Betreiben einer Schaltungsanordnung vorgeschlagen, die einen Mikrocontroller (10) und ein EEPROM (11) enthält. Im EEPROM (11) wird ein erster Speicherbereich (29) mit zumindest einem Datensatzspeicher (DA1, DA2, DA3) und zumindest ein zweiter Speicherbereich (30) mit zumindest einem Datensatzspeicher (DB1, DB2, DB3) vorgesehen. Ein in einem dritten Speicherbereich (31) angeordneter Pointer (P1, P2, P3) verweist auf den jeweils gültigen Speicherbereich (29, 30). Der Mikrocontroller (10) speichert in einem Schritt (53) einen Datensatz in den ungültigen Speicherbereich (29, 30) und ändert in einem nachfolgenden Schritt (54) den Pointer (P1, P2, P3) derart, dass der ungültige zum gültigen Speicherbereich (29, 30) wird. Die beiden Schritte (53, 54) werden zyklisch wiederholt. Bei einem auftretenden Fehler während eines Speichervorgangs steht in dem als gültig gekennzeichneten Speicherbereich (29, 30) stets ein korrekter Datensatz zur Verfügung.

Description

    Stand der Technik
  • Die Erfindung geht aus von einem Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält, nach der Gattung des unabhängigen Anspruchs. Aus der DE-A 197 16 520 ist ein gattungsgemäßes Verfahren bekannt geworden, bei dem Betriebsgrößen von Elektromotoren erfasst werden. Zur Speicherung vorgesehen sind insbesondere die Betriebsstunden. Als Langzeitspeicher kann ein PROM, ein EPROM oder ein EEPROM vorgesehen sein.
  • Bei einem PROM werden die abzulegenden Datensätze durch irreversibles Programmieren der PROM-Speicherzellen gespeichert. Ein EPROM kann durch das Löschen des Speicherinhalts am Ende eines Nutzungszyklus weiter verwendet werden. Da beide Speichertypen die Speicherung eines Datensatzes in derselben Speicherzelle während eines Nutzungszyklus nur einmal zulassen, sind für einen Betriebsstundenzähler zahlreiche Speicherzellen zu reservieren.
  • Die flexibelste Lösung sieht ein EEPROM vor, dessen Speicherzellen elektrisch beschreib- und löschbar sind. Den Vorteilen des Einsatzes eines EEPROMs stehen aber auch Nachteile gegenüber. Das EEPROM kann vorübergehend in einen undefinierten Betriebszustand gelangen, wenn während eines Speichervorgangs die Betriebsspannung zusammenbricht. Die Folge ist ein fehlerhaft hinterlegter Datensatz.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Betreiben einer Schaltungsanordnung anzugeben, die einen Mikrocontroller und ein EEPROM enthält, bei dem das EEPROM zuverlässige Datensätze enthält.
  • Die Aufgabe wird durch die im unabhängigen Anspruch angegebenen Merkmale gelöst.
  • Vorteile der Erfindung
  • Das erfindungsgemäße Verfahren sieht zunächst vor, dass im EEPROM ein erster und zumindest ein zweiter Speicherbereich zur Speicherung zumindest eines Datensatzes vorgesehen werden. Weiterhin wird ein dritter Speicherbereich angelegt, der einen Pointer enthält, welcher auf den gültigen Speicherbereich zeigt. Der Mikrocontroller speichert in einem ersten Schritt einen Datensatz in den ungültigen Speicherbereich und ändert in einem zweiten Schritt den Pointer, so dass der ungültige zum gültigen Speicherbereich wird. Die beiden Schritte werden zyklisch wiederholt.
  • Ein wesentlicher Vorteil des erfindungsgemäßen Verfahrens liegt darin, dass in jedem Betriebszustand ein gültiger Datensatz zumindest in einem der wenigstens zwei Speicherbereichen abgelegt ist. Eine Störung im Betriebsablauf, insbesondere ein Abschalten der Spannungsversorgung während eines Schreibvorgangs, die zur Folge haben kann, dass ein Speichervorgang eines Datensatzes in einen Speicherbereich fehlschlägt, hat keine Auswirkungen auf den korrekt abgelegten Datensatz im anderen Speicherbereich. Es kann daher jeder-Zeit auf den zuletzt abgespeicherten Datensatz im anderen Speicherbereich zurückgegriffen werden.
  • Eine besonders vorteilhafte Weiterbildung sieht die Einbindung einer Resetanordnung in das erfindungsgemäße Verfahren vor. Eine erkannte Störung im Programmablauf oder eine Inbetriebnahme der Schaltungsanordnung löst einen Reset aus. Erfindungsgemäß ist vorgesehen, dass der Mikrocontroller nach einem Reset in einem ersten Startschritt den Pointer ausliest und in einem zweiten Startschritt den Datensatz aus dem gültigen Speicherbereich ausliest, auf den der Pointer zeigt.
  • Das erfindungsgemäße Verfahren eignet sich insbesondere für Schaltungsanordnungen, deren Betriebsspannung von einem Benutzer jederzeit ein- bzw. abgeschaltet werden kann. Da der Pointer nach einem Reset stets auf einen gespeicherten Datensatz zeigt, der in einem normalen Betriebszustand abgespeichert wurde, kann den weiteren Verfahrensschritten immer ein korrekter Datensatz zugrunde gelegt werden.
  • Eine vorteilhafte Ausgestaltung sieht vor, dass der Pointer als Bitpointer realisiert ist. Der Bitpointer zeigt anhand des niederwertigsten Bits eines ggf. längeren Datensatzes, beispielsweise eines Bytes, auf den jeweils gültigen Speicherbereich. Die Maßnahme weist den Vorteil auf, dass ein während des Änderns des Speicherinhalts des Pointers auftretender Fehler, beispielsweise durch einen Spannungseinbruch, lediglich dazu führt, dass der Pointer anstelle auf den einen korrekten Datensatz in einem Speicherbereich auf den ebenfalls korrekten Datensatz im anderen Speicherbereich zeigt.
  • Aufgrund der sequentiellen Arbeitsweise des Mikrocontrollers kann ausgeschlossen werden, dass mehr als ein Speichervorgang fehlerhaft durchgeführt wird. Ein im zumindest vorangegangenen Zyklus hinterlegter korrekter Datensatz steht daher in jedem Fall nach einem Reset zur Verfügung.
  • Eine andere vorteilhafte Maßnahme sieht einen Timer vor, der die zyklische Wiederholung des ersten und zweiten Schritts steuert. Der Timer kann im Mikrocontroller enthalten sein. In Abhängigkeit von Taktzyklen, die vorzugsweise von einem Quarzgenerator vorgegebenen werden, veranlasst der Timer den ersten Schritt, in welchem ein Datensatz in den derzeit noch ungültigen Speicherbereich gespeichert wird. Im zweiten Schritt wird der Pointer geändert, so dass der Pointer vom ungültigen auf den nunmehr gültigen Speicherbereich zeigt. Die Maßnahme weist den Vorteil auf, dass unabhängig vom Programmablauf im Mikrocontroller nach vorgegebenen Zeiten das erfindungsgemäße Verfahren mit den beiden Schritten stattfindet.
  • Eine andere vorteilhafte Ausgestaltung sieht vor, dass die zu speichernden Datensätze von Zyklus zu Zyklus inkrementiert oder dekrementiert werden. Mit dieser Maßnahme ist auf einfachste Weise ein Betriebszeitzähler realisierbar. Das Maß für die Betriebszeit kann mit der Taktfrequenz in Verbindung mit dem Timer vorgegeben werden. Das erfindungsgemäße Verfahren stellt sicher, dass bei einem fehlerhaften Speichervorgang nicht zum Verlust der Betriebszeit führt, da bei einem Reset auf den zuvor im anderen Speicherbereich gespeicherten korrekten Datensatz zurückgegriffen wird.
  • Das erfindungsgemäße Verfahren eignet sich insbesondere zur Verwendung für Vorrichtungen in einem Kraftfahrzeug. Aufgrund der nur begrenzt zur Verfügung stehenden elektrischen Energie im abgeschalteten Zustand des Kraftfahrzeugs ist es vorteilhaft, wenn die Schaltungsanordnung vollständig abgeschaltet werden kann. Ein ggf. auftretender Fehler beim Speichern eines Datensatzes während des Abschaltvorgangs hat dann keine weiteren Auswirkungen, da bei der Wiederinbetriebnahme auf den zuletzt korrekt gespeicherten Datensatz zurückgegriffen wird. Eine Einsatzmöglichkeit in einem Kraftfahrzeug ist bei einem Luftgütesensor gegeben, der die Qualität der Aussenluft erfasst und der Steuersignale an eine Klimaanlage abgibt. Anhand des Betriebszeitzählers können sowohl Kurzzeit- als auch Langzeitkorrekturen des Sensorsignals vorgenommen werden.
  • Weitere vorteilhafte Ausgestaltungen des erfindungsgemäßen Verfahrens ergeben sich aus weiteren abhängigen Ansprüchen und aus der folgenden Beschreibung.
  • Fig. 1 zeigt ein Blockschaltbild einer Schaltungsanordnung, in der ein erfindungsgemäßes Verfahren gemäß Fig. 2 abläuft.
  • Die Schaltungsanordnung enthält einen Mikrocontroller 10, ein EEPROM 11 und eine Resetanordnung 12. Sowohl die Resetanordnung 12 als auch das EEPROM 11 sind mit einer Stromversorgungsleitung 13 verbunden, die über einen Schalter 14 mit einer Energiequelle 15 verbindbar ist.
  • Die Resetanordnung 12 gibt ein Resetsignal 16 an einen Prozessorkern 17 ab. Dem Prozessorkern 17 werden weiterhin zugeführt ein Taktsignal 18, das von einem Taktgenerator 19 bereitgestellt ist, sowie ein Timersignal 20, das ein Timer 21 bereitstellt.
  • Der Mikrocontroller 10 enthält einen Resetspeicher 22, einen Datensatzspeicher 23, einen Pointerspeicher 24, einen Datensatzoffsetspeicher 25 sowie einen Pointeroffsetspeicher 26.
  • Der Mikrocontroller 10 kommuniziert mit dem EEPROM 11 über einen bidirektionalen Datenbus 27 sowie über einen Adressbus 28.
  • Das EEPROM 11 enthält einen ersten, zweiten, dritten und vierten Speicherbereich 29, 30, 31, 32. Der erste Speicherbereich 29 enthält einen ersten, zweiten und dritten Datensatzspeicher DA1, DA2, DA3. Der zweite Speicherbereich 30 enthält ebenfalls einen ersten, zweiten und dritten Datensatzspeicher DB1, DB2, DB3. Der dritte Speicherbereich 31 enthält einen ersten, zweiten und dritten Pointer P1, P2, P3. Der vierte Speicherbereich 32 enthält einen ersten und zweiten Datenoffsetspeicher OA, OB sowie einen Pointeroffsetspeicher OP.
  • Fig. 2 zeigt ein erfindungsgemäßes Verfahren, das nach einem Start S in einem ersten Startschritt 50 einen Resetvorgang vorsieht. In einem zweiten Startschritt 51 ist ein Auslesen des Pointers P1, P2, P3 vorgesehen. In einem dritten Startschritt 52 wird ein Datensatz entweder aus dem ersten oder zweiten Speicherbereich 29, 30 ausgelesen, je nachdem auf welchen Speicherbereich 29, 30 der Pointer P1, P2, P3 als dem gültigen Speicherbereich 29, 30 zeigt.
  • In einem ersten Schritt 53 wird ein Datensatz in einen Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 gespeichert, der in dem als ungültig gekennzeichneten ersten bzw. zweiten Speicherbereich 29, 30 liegt. In einem zweiten Schritt 54 wird der Pointer P1, P2, P3 geändert, so dass er auf den nunmehr gültigen ersten oder zweiten Speicherbereich 29, 30 zeigt.
  • Das erfindungsgemäße Verfahren zum Betreiben der Schaltungsanordnung arbeitet folgerdermaßen:
    Zunächst wird die Stromversorgungsleitung 13 über den Schalter 14 mit der Energiequelle 15, beispielsweise eine Batterie, verbunden. Die Resetanordnung 12, die im Mikrocontroller 10 enthalten sein kann, stellt das Resetsignal 16 bereit. Das Resetsignal 16 veranlasst den Mikrocontroller 10 zu einem Neustart eines Ablaufprogramms. Die für einen Reset benötigte Information, im allgemeinen eine Startadresse, ist im Resetspeicher 23 gespeichert. Der Resetspeicher 23 ist vorzugsweise in einem ROM enthalten, dessen Inhalt herstellerseitig festgelegt ist. Das ROM kann im Mikrocontroller 10 enthalten sein.
  • Nach dem Start S, der durch Betätigen des Schalters 14 eingeleitet wird, wird der erste Startschritt 50 durchgeführt, der dem Resetvorgang entspricht.
  • Der Mikrocontroller 10 steht über den Datenbus 27 und den Adressbus 28 mit dem EEPROM 11 in Verbindung. Der Begriff "EEPROM" (Electrical Erasable and Programmable Memory) wird hier verwendet für einen Speichertyp, der nach dem Abschalten der Betriebsspannung seinen Inhalt nicht verliert und dessen Speicherzellen mehrfach beschreibbar sind. Das EEPROM kann im Mikrocontroller 10 enthalten sein, der in diesem Fall bereits als Mikroprozessor bezeichnet werden kann.
  • Im dritten Speicherbereich 31 des EEPROMs 11 ist der Pointer P1, P2, P3 untergebracht. Der Pointer P1, P2, P3 ist ein Datensatz, aus dem hervorgeht, ob der erste oder zweite Speicherbereich 29, 30 des EEPROMs 11 gültig ist bzw. ungültig ist. Vorzugsweise wird der Pointer P1, P2, P3 als Bitpointer realisiert, so dass nur ein Bit benötigt wird, das den Zustand 0 oder 1 aufweist. Bei der Realisierung des Bitpointers mit beispielsweise einem Byte, wird die Information vorzugsweise im niederwertigsten Bit kodiert.
  • Anstelle eines Pointers sind im gezeigten Ausführungsbeispiel der erste, zweite und dritte Pointer P1, P2, P3 gezeigt. Welcher der drei Pointer P1, P2, P3 die aktuelle Information enthält, ergibt sich aus dem im Pointeroffsetspeicher OP gespeicherten Datensatz, der im vierten Speicherbereich 32 des EEPROMs 11 untergebracht ist. Der Mikrocontroller 10 erreicht den geltenden Pointer P1, P2, P3 durch lesen der im Pointeroffsetspeicher OP hinterlegten Offsetadresse, die vorzugsweise zu einer dem Mikrocontroller 10 bekannten Basisadresse zu addieren ist. Anstelle der drei gezeigten Pointer P1, P2, P3 können noch weitere Pointer enthalten sein, die sich lediglich durch die Adresse im EEPROM 11 unterscheiden.
  • Der wesentliche Grund für das Vorsehen der unterschiedlichen Pointer P1, P2, P3 liegt in der aus technischen Gründen begrenzten Anzahl, Daten in das EEPROM 11 in dieselbe Speicherstelle schreiben zu können. Deshalb wird der Offset im Pointeroffsetspeicher OP nach einer vorgegebenen Anzahl von Speichervorgängen geändert auf einen anderen Wert, der auf den nächsten Pointer P1, P2, P3 führt. Der Pointer P1, P2, P3 "wandert" gewissermaßen durch das EEPROM 11. Die Information darüber, wieviel Speichervorgänge seit Inbetriebnahme des EEPROMs 11 aufgetreten sind, kann in einer nicht näher gezeigten Speicherzelle des EEPROMs 11 hinterlegt sein. Vorteilhafterweise kann die Information über die Anzahl der bereits erfolgten Speichervorgängen aus dem im Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 gespeicherten Datensatz ermittelt werden. Diese Ausgestaltung ist beispielsweise im Rahmen eines Betriebszeitzählers möglich, der folgendermaßen realisierbar ist:
    Der Zeittakt wird vom Mikrocontroller 10 mittels des Taktgenerators 19, der vorzugsweise ein Quarzgenerator ist, und mittels des Timers 21 festgelegt. Ein Zeittakt von beispielsweise 10 Sekunden ermöglicht mit einem Zähler, der drei Byte binäre Speicherzellen aufweist, eine maximale Zeitvorgabe von etwa 46603 Stunden. Der Betriebszeitzähler wird vorzugsweise im Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 des EEPROMs 11 untergebracht. Ein Datenverlust, der durch einen fehlerhaften Speichervorgang auftreten kann ist unter allen Umständen zu vermeiden. Erfindungsgemäß ist deshalb die Aufteilung auf den ersten und den wenigstens einen weiteren Speicherbereich 29, 30 vorgesehen. Der erste Speicherbereich enthält den ersten, zweiten und dritten Datensatzspeicher DA1, DA2, DA3 und der zweite Speicherbereich enthält den ersten, zweiten und dritten Datensatzspeicher DB1, DB2, DB3.
  • Der Grund dafür, dass anstelle jeweils eines Datensatzspeichers mehrere Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 vorgesehen sind, liegt wieder darin, dass die maximale Anzahl von Schreibvorgängen in dieselbe Speicherzelle des EEPROMs 11 begrenzt ist. Nach einer vorgegebenen Anzahl von Speichervorgängen kann deshalb mit dieser Maßnahme auf einen anderen Datensatzspeicher gewechselt werden werden. Ebenso wie beim Pointer P1, P2, P3 ist auch hier, vorzugsweise ausgehend von einer Basisadresse, ein Offset zu addieren, der vorzugsweise in den Datenoffsetspeichern OA, OB hinterlegt ist. Der erste Datenoffsetspeicher OA enthält den Offset für die Datensatzspeicher DA1, DA2, DA3 im ersten Speicherbereich 29 und der zweite Datenoffsetspeicher OB enthält den Offset für die Datensatzspeicher DB1, DB2, DB3 im zweiten Speicherbereich 30. Die Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 "wandern" gewissermaßen durch das EEPROM 11.
  • Zur weiteren Erläuterung wird lediglich Bezug genommen auf den ersten Datensatzspeicher DA1 im ersten Speicherbereich 29 und den ersten Datensatzspeicher DB1 im zweiten Speicherbereich 30. Nach Ablauf der vom Timer 21 vorgegebenen Zeit addiert der Prozessorkern 17 zu einem die Zeit widerspiegelnden Datensatz eine Einheit, beispielsweise eine Eins und speichert den derart festgelegten neuen Datensatz in entweder den ersten Datensatzspeicher DA1 oder den ersten Datensatzspeicher DB1 in Abhängigkeit davon, welcher Speicherbereich 29, 30 vom Pointer P1 als ungültig gekennzeichnet ist. Hinsichtlich der Pointer P1, P2, P3 wird im Folgenden ebenfalls ausschließlich Bezug genommen auf den Pointer P1. Den die Betriebszeit widerspiegelnde Datensatz kann der Prozessorkern 17 beispielsweise aus dem Datensatzspeicher DA1 bzw. DB1 lesen, der sich in dem vom Pointer P1 als gültig gekennzeichneten Speicherbereich 29, 30 befindet. Vorzugsweise ist im Mikrocontroller 10 für diesen Datensatz ein RAM-Speicher 23 angelegt. Ebenso sind vorzugsweise der Pointerspeicher 24, der Datensatzoffsetspeicher 25 sowie der Pointeroffsetspeicher 26 als RAM-Speicher vorhanden.
  • Dem erfindungsgemäß vorgesehenen ersten Schritt S3, in dem ein Datensatz in den ersten Datensatzspeicher DA1, DB1 des als ungültig gekennzeichneten Speicherbereichs 29, 30 gespeichert wird, folgt ein erfindungsgemäß vorgesehener zweiter Schritt 54, in dem der Pointer P1 geändert wird auf einen Wert, der den anderen Speicherbereich 29, 30, in den zuletzt ein Datensatz gespeichert wurde, zum gültigen Speicherbereich 29, 30 erklärt.
  • Anstelle der im Ausführungsbeispiel gezeigten zwei Speicherbereichen 29, 30 können weitere Speicherbereiche vorhanden sein. Das Ausführungsbeispiel mit lediglich zwei Speicherbereichen 29, 30 weist den Vorteil auf, dass der Pointer P1, P2, P3 als Bitpointer realisierbar ist, der im einfachsten Fall lediglich ein Speicherbit aufweisen muss, das den Wert 0 oder 1 annimmt.
  • Im weiteren Verlauf werden der erste und zweite Schritt 53, 54 zyklisch abgearbeitet. Sollte nun zu irgendeinem Zeitpunkt, beispielsweise durch Öffnen des Schalters 14, ein fehlerhafter Wert im Datensatzspeicher DA1, DB1 hinterlegt worden sein, so steht in jedem Fall der im zurückliegenden Zyklus abgelegte Datensatz im entsprechend anderen Datensatzspeicher DA1, DB1 noch zur Verfügung, weil der Bitpointer P1 noch auf den alten gültigen Datensatzspeicher DA1, DB1 zeigt.
  • Falls es zu einem fehlerhaften Speichervorgang im Pointer P1 kommen sollte, so hat dies keine Auswirkungen auf die Daten in den Datensatzspeichern DA1, DB1. Im Falle eines Betriebszeitzählers tritt in 50% der Fehlerfälle ein Zeitfehler von einem Zyklus auf. Im beschriebenen Ausführungsbeispiel würde der Fehler nur 10 Sekunden betragen.
  • Nach jedem Abschalten der Betriebsspannung auf der Stromversorgungsleitung 13 entweder durch den Schalter 14 oder durch ein anderes Ereignis wird die Resetschaltung 12 aktiv und erzeugt das Resetsignal 16. Bei einem Initialisieren des Mikrocontrollers 10 wird im bereits beschriebenen ersten Startschritt der Pointer P1 ausgelesen und im zweiten Startschritt 51 der Datensatz aus dem ersten Datensatzspeicher DA1, DB1 des gültigen Speicherbereichs 29, 30 ausgelesen und dem weiteren Programmlauf zugrunde gelegt. Ggf. ist zusätzlich der Pointeroffsetspeicher OP auszulesen, sofern mehrere Pointer P1, P2, P3 aufgrund der begrenzten Schreibzyklenzahl des EEPROMs 11 vorgesehen sind. Ebenso ist ggf. zusätzlich der Offset für den Datensatzspeicher aus dem ersten oder zweiten Datenoffsetspeicher OA, OB auszulesen, sofern anstelle lediglich eines Datensatzspeichers DA1, DB1 im ersten bzw. zweiten Speicherbereich 29, 30 aufgrund der begrenzten Speicherzyklenzahl des EEPROMs 11 weitere Datensatzspeicher DA2, DA3 im ersten Speicherbereich 29 und entsprechend weitere Datensatzspeicher DB2, DB3 im zweiten Speicherbereich 30 vorhanden sind. Den gültigen Datenoffsetspeicher OA, OB ermittelt der Mikrocontroller 10 anhand des Inhalts des Pointers P1, P2, P3.
  • Das erfindungsgemäße Verfahren ist insbesondere geeignet zur Verwendung für Vorrichtungen, die in einem Kraftfahrzeug eingebaut sind. In dieser Verwendung besteht zumindest im abgestellten Zustand des Kraftfahrzeugs nur eine begrenzte Energiemenge zum Betreiben der Schaltungsanordnung zur Verfügung, so dass eine Möglichkeit zur vollständigen Abschaltung der Schaltungsanordnung mittels des Schalters 14 zweckmäßig ist. Das erfindungsgemäße Verfahren ermöglicht trotz der vollständigen Abschaltungsmöglichkeit und den dadurch möglicherweise auftretenden Datenfehler bei einem Speichervorgang im EEPROM 11 während des Abschaltvorgangs dennoch ein sicheres Betreiben der Schaltungsanordnung. Eine bevorzugte Verwendung in einem Kraftfahrzeug ist bei einem Luftgütesensor gegeben, der einen Betriebszeitzähler zur Korrektur der Signale hinsichtlich Kurzzeit und hinsichtlich Langzeitänderungen verwenden kann.

Claims (10)

1. Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller (10) und ein EEPROM (11) enthält, dadurch gekennzeichnet, dass im EEPROM (11) ein erster Speicherbereich (29) mit einem Datensatzspeicher (DA1, DA2, DA3) und zumindest ein zweiter Speicherbereich (30) mit einem Datensatzspeicher (DB1, DB2, DB3) vorgesehen werden, dass ein dritter Speicherbereich (31) vorgesehen wird, der zumindest einen Pointer (P1, P2, P3) enthält, welcher auf den gültigen Speicherbereich (29, 30) zeigt, dass der Mikrocontroller (10) in einem Schritt (53) einen Datensatz in den Datensatzspeicher (DA1, DA2, DA3 bzw. DB1, DB2, DB3) des ungültigen Speicherbereichs (29, 30) speichert und in einem nachfolgenden Schritt (54) den Pointer (P1, P2, P3) ändert, so dass der ungültige zum gültigen Speicherbereich (29, 30) wird und dass die beiden Schritte (53, 54) zyklisch wiederholt werden.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Mikrocontroller (10) vor den beiden Schritten (53, 54) in einem ersten Startschritt (50) nach einem von der Resetanordnung (12) ausgelösten Reset (16) den Pointer (P1, P2, P3) ausliest und in einem zweiten Startschritt (51) den Datensatz aus dem gültigen Speicherbereich (29, 30) ausliest.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass der Pointer (P1, P2, P3) als Bitpointer realisiert ist.
4. Verfahren nach Anspruch 1 und 3, dadurch gekennzeichnet, dass im zweiten Schritt (54) eine Inkrementierung des Bitpointers (P1, P2, P3) vorgesehen ist.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Timer (21) vorgesehen ist, der die beiden Schritte (53, 54) zeitlich festlegt.
6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Datensatz zwischen den beiden Schritten (53, 54) inkrementiert wird.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Datensatzspeicher (DA1, DA2, DA3) im ersten Speicherbereich (29) und der Datensatzspeicher (DB1, DB2, DB3) im zweiten Speicherbereich (30) jeweils einen Speicherplatz von drei Bytes aufweist.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Datensatz einem Betriebszeitzähler entspricht.
9. Verwendung des Verfahrens nach einem der vorhergehenden Ansprüche für Vorrichtungen in einem Kraftfahrzeug.
10 Verwendung nach Anspruch 9 in einem Luftgütesensor.
DE10143142A 2001-09-04 2001-09-04 Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält Ceased DE10143142A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE10143142A DE10143142A1 (de) 2001-09-04 2001-09-04 Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält
EP02760126A EP1423788A2 (de) 2001-09-04 2002-08-21 Verfahren zum betreiben einer schaltungsanordnung, die einen mikrocontroller und ein eeprom enthält
JP2003529310A JP2005502972A (ja) 2001-09-04 2002-08-21 マイクロコントローラおよびeepromを含む回路装置の駆動方法
PCT/DE2002/003051 WO2003025748A2 (de) 2001-09-04 2002-08-21 Verfahren zum betreiben einer schaltungsanordnung, die einen mikrocontroller und ein eeprom enthält
KR10-2004-7003214A KR20040051585A (ko) 2001-09-04 2002-08-21 마이크로컨트롤러와 eeprom을 구비한 회로장치작동방법
US10/488,719 US20040237628A1 (en) 2001-09-04 2002-08-21 Method for operating a circuit arrangement containing a microcontroller and an eeprom

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10143142A DE10143142A1 (de) 2001-09-04 2001-09-04 Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält

Publications (1)

Publication Number Publication Date
DE10143142A1 true DE10143142A1 (de) 2003-01-30

Family

ID=7697555

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10143142A Ceased DE10143142A1 (de) 2001-09-04 2001-09-04 Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält

Country Status (6)

Country Link
US (1) US20040237628A1 (de)
EP (1) EP1423788A2 (de)
JP (1) JP2005502972A (de)
KR (1) KR20040051585A (de)
DE (1) DE10143142A1 (de)
WO (1) WO2003025748A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1818821A2 (de) 2005-12-09 2007-08-15 Robert Bosch Gmbh Verfahren zum Aktualisieren einer Einrichtung

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10144617A1 (de) * 2001-09-11 2003-01-30 Bosch Gmbh Robert Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält
JP2005338926A (ja) 2004-05-24 2005-12-08 Toshiba Corp 携帯可能電子装置
JP5264459B2 (ja) * 2008-12-17 2013-08-14 パナソニック株式会社 半導体記憶装置
CN105828802B (zh) 2013-12-23 2020-08-04 高露洁-棕榄公司 用于口腔使用的薄膜组合物
CN110021327B (zh) * 2018-01-10 2021-01-12 力旺电子股份有限公司 由差动存储器胞组成的非易失性存储器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479637A (en) * 1990-08-31 1995-12-26 Gemplus Card International Method and device for updating information elements in a memory

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5870520A (en) * 1992-12-23 1999-02-09 Packard Bell Nec Flash disaster recovery ROM and utility to reprogram multiple ROMS
GB9307623D0 (en) * 1993-04-13 1993-06-02 Jonhig Ltd Data writing to eeprom
GB2290890B (en) * 1994-06-29 1999-03-24 Mitsubishi Electric Corp Information processing system
KR100265375B1 (ko) * 1996-04-18 2000-09-15 윤종용 영상 처리기기의 사용시간 표시방법
DE19716520B4 (de) * 1997-04-19 2007-04-19 Robert Bosch Gmbh Als Schaltung ausgebildete Vorrichtung zur Erfassung von Betriebsgrößen von Elektromotoren sowie Elektromotor
US6021508A (en) * 1997-07-11 2000-02-01 International Business Machines Corporation Parallel file system and method for independent metadata loggin
US5999712A (en) * 1997-10-21 1999-12-07 Sun Microsystems, Inc. Determining cluster membership in a distributed computer system
US6449734B1 (en) * 1998-04-17 2002-09-10 Microsoft Corporation Method and system for discarding locally committed transactions to ensure consistency in a server cluster
DE19839680B4 (de) * 1998-09-01 2005-04-14 Robert Bosch Gmbh Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
US6105099A (en) * 1998-11-30 2000-08-15 International Business Machines Corporation Method for synchronizing use of dual and solo locking for two competing processors responsive to membership changes
US7774469B2 (en) * 1999-03-26 2010-08-10 Massa Michael T Consistent cluster operational data in a server cluster using a quorum of replicas
US6453426B1 (en) * 1999-03-26 2002-09-17 Microsoft Corporation Separately storing core boot data and cluster configuration data in a server cluster
US6785678B2 (en) * 2000-12-21 2004-08-31 Emc Corporation Method of improving the availability of a computer clustering system through the use of a network medium link state function
US7016946B2 (en) * 2001-07-05 2006-03-21 Sun Microsystems, Inc. Method and system for establishing a quorum for a geographically distributed cluster of computers
US7320085B2 (en) * 2004-03-09 2008-01-15 Scaleout Software, Inc Scalable, software-based quorum architecture
US20050283641A1 (en) * 2004-05-21 2005-12-22 International Business Machines Corporation Apparatus, system, and method for verified fencing of a rogue node within a cluster
US20060100981A1 (en) * 2004-11-04 2006-05-11 International Business Machines Corporation Apparatus and method for quorum-based power-down of unresponsive servers in a computer cluster
GB0501697D0 (en) * 2005-01-27 2005-03-02 Ibm Controlling service failover in clustered storage apparatus networks
US7631016B2 (en) * 2005-05-04 2009-12-08 Oracle International Corporation Providing the latest version of a data item from an N-replica set

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5479637A (en) * 1990-08-31 1995-12-26 Gemplus Card International Method and device for updating information elements in a memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1818821A2 (de) 2005-12-09 2007-08-15 Robert Bosch Gmbh Verfahren zum Aktualisieren einer Einrichtung
EP1818821A3 (de) * 2005-12-09 2007-12-19 Robert Bosch Gmbh Verfahren zum Aktualisieren einer Einrichtung

Also Published As

Publication number Publication date
US20040237628A1 (en) 2004-12-02
WO2003025748A3 (de) 2004-01-29
EP1423788A2 (de) 2004-06-02
KR20040051585A (ko) 2004-06-18
WO2003025748A2 (de) 2003-03-27
JP2005502972A (ja) 2005-01-27

Similar Documents

Publication Publication Date Title
EP0477309B1 (de) Vorrichtung zur funktionsüberwachung eines elektrischen verbrauchers, seiner ansteuerung und der dazugehörigen verbindungen
DE3418235C2 (de)
DE3345863C2 (de)
EP0195885B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes einer elektronischen Zählschaltung
WO1989000641A1 (en) Process and device for controlling technical installations and machines
DE1524239A1 (de) Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten
EP0281550B1 (de) Schaltungsanordnung zur addition, speicherung und wiedergabe elektrischer zählimpulse
DE3823038A1 (de) Verfahren zur ueberwachung einer batterie
DE19809726A1 (de) Interface für einen Datenknoten eines Datennetzes
DE102012102856A1 (de) Vorrichtung und Verfahren zum Lesen und Speichern von Daten
EP0224707B1 (de) Schaltungsanordnung zum selbsttätigen Überwachen mehrerer analoger elektrischer Signale
DE10143142A1 (de) Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält
EP0519089B1 (de) Einlesen von Betriebsparametern in einen funktionsbereiten Näherungsschalter
DE3247910C2 (de)
EP0203409B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes eines digitalen Zählers
DE4404131A1 (de) Batteriefreie Datenpufferung
EP0233861B1 (de) Verfahren zur programmierung eines nichtflüchtigen speichers
DE10144617A1 (de) Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält
EP1864363A1 (de) Verfahren zur speicherung von individuellen daten eines niederspannungs-leistungsschalters
EP0572019A2 (de) Verfahren zum Betreiben einer Datenverarbeitungsanlage
DE4409286C1 (de) Verfahren zum Erkennen der Ursache eines Reset-Vorgangs eines durch einen Mikroprozessor gesteuerten Systems sowie Schaltung zum Durchführen des Verfahrens
EP1134632B1 (de) Vorrichtung zur Erkennung von Funktionseinheiten
DE8816458U1 (de) Gerät zur laufenden Überwachung des Betriebes eines Kfz
EP1461701B1 (de) Programmgesteuerte einheit mit überwachungseinrichtung
EP0268597B1 (de) Verfahren zum abspeichern von daten

Legal Events

Date Code Title Description
OAV Publication of unexamined application with consent of applicant
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: PARAGON AG, 33129 DELBRUECK, DE

8131 Rejection