DE10144617A1 - 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
DE10144617A1
DE10144617A1 DE10144617A DE10144617A DE10144617A1 DE 10144617 A1 DE10144617 A1 DE 10144617A1 DE 10144617 A DE10144617 A DE 10144617A DE 10144617 A DE10144617 A DE 10144617A DE 10144617 A1 DE10144617 A1 DE 10144617A1
Authority
DE
Germany
Prior art keywords
memory
record
data record
microcontroller
data
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
DE10144617A
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 DE10144617A priority Critical patent/DE10144617A1/de
Priority to PCT/DE2002/003088 priority patent/WO2003025754A2/de
Priority to US10/489,410 priority patent/US20040237008A1/en
Priority to JP2003529316A priority patent/JP2005502973A/ja
Priority to EP02798673A priority patent/EP1425669A2/de
Priority to KR10-2004-7003509A priority patent/KR20040031069A/ko
Publication of DE10144617A1 publication Critical patent/DE10144617A1/de
Ceased legal-status Critical Current

Links

Classifications

    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/104Embedded memory devices, e.g. memories with a processing device on the same die or ASIC memory designs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Microcomputers (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. Nach Ablauf einer vorgegebenen Anzahl von Speichervorgängen eines Datensatzspeichers in einen Datensatzspeicher (DA1, DA2, DA3; DB1, DB2, DB3) des EEPROMs (11) wird der Datensatz in einen anderen Datensatzspeicher (DA1, DA2, DA3; DB1, DB2, DB3) gespeichert. Das erfindungsgemäße Verfahren ermöglicht die Aufhebung der aus technischen Gründen bedingten begrenzten Anzahl von Speichervorgängen in eine bestimmte Speicherzelle eines EEPROMs (11).

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 innerhalb derselben Speicherzelle während eines Nutzungszyklus nur einmal zulassen, sind für beispielsweise einen Betriebszeitzä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 auch Nachteile gegenüber. Die Speicherzellen eines EEPROMs können aus technischen Gründen nicht beliebig oft beschrieben werden. Die Anzahl der Speichervorgänge ist beispielsweise auf etwa 10000 begrenzt. Ein weiteres Problem tritt auf, wenn während des Speichervorgangs des EEPROMs die Betriebsspannung zusammenbricht. In diesem Fall kann der Inhalt der zu beschreibenden Speicherzelle in einen undefinierten Zustand gelangen, mit, der Folge, dass fehlerhafte Datensätze hinterlegt sind.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Betreiben einer Schaltungsanordnung anzugeben, die einen Mikrocontroller und ein EEPROM enthält, bei dem die technisch bedingte Grenze der Anzahl von Speichervorgängen überwunden wird.
  • Die Aufgabe wird durch die im unabhängigen Anspruch angegebenen Merkmale gelöst.
  • Vorteile der Erfindung
  • Das erfindungsgemäße Verfahren sieht vor, dass jeweils nach einer vorgegebenen Anzahl von Speichervorgängen eines Datensatzes in einen Datensatzspeichers eines EEPROMs der Datensatz in einen anderen Datensatzspeicher gespeichert wird. Mit dieser Maßnahme wird sichergestellt, dass die maximal angegebene Anzahl von Speichervorgängen in und dieselbe Speicherzelle des EEPROMs nicht überschritten wird und das dennoch die erforderliche Anzahl von Speichervorgängen eines Datensatzes sichergestellt ist.
  • Vorteilhafte Weiterbildungen und Ausgestaltungen des erfindungsgemäßen Verfahrens ergeben sich aus abhängigen Ansprüchen.
  • Eine besonders vorteilhafte Weiterbildung des erfindungsgemäßen Verfahrens sieht eine Speicherung eines Offset- Datensatzes in einem Offset-Datenspeicher vor. Die geltende Adresse des Datensatzspeichers kann somit auf einfachste Weise aus dem Offset-Datensatzspeicher ausgelesen werden. Mit dem Offset-Datensatz steht somit dem Mikrocontroller jederzeit, insbesondere nach einem Start, die geltende Adresse des Datensatzes zur Verfügung.
  • Eine vorteilhafte Ausgestaltung sieht vor, dass die Anzahl der Speichervorgänge aus dem Datensatz selbst ermittelt wird. Mit dieser Maßnahme ist eine besonders einfache Realisierung des Offset-Datensatzspeichers möglich, dadurch, dass er identisch sein kann mit dem Datensatzspeicher.
  • Eine besonders vorteilhafte Weiterbildung sieht vor, dass im EEPROM ein erster und zumindest ein zweiter Speicherbereich zur Speicherung des 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 vorangehenden Programmschritt den Datensatz in den ungültigen Speicherbereich und ändert in einem nachfolgenden Programmschritt den Pointer, so dass der ungültige zum gültigen Speicherbereich wird. Die beiden Programmschritte werden zyklisch wiederholt.
  • Ein wesentlicher Vorteil dieser Weiterbildung 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 in das EEPROM, das zur Folge haben kann, dass ein Speichervorgang eines Datensatzes fehlschlägt, hat keine Auswirkungen auf den korrekt abgelegten Datensatz im anderen Speicherbereich. Es kann daher jederzeit auf den zuletzt abgespeicherten Datensatz im anderen Speicherbereich zurückgegriffen werden.
  • Eine andere vorteilhafte Weiterbildung sieht die Einbindung einer Reset-Anordnung 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 Startschritt den Offset-Datenspeicher ausliest, um den geltenden Datensatzspeicher zu ermitteln. Sofern Datensatzspeicher gemäß der zuvor beschriebenen vorteilhaften Weiterbildung in mehreren Speicherbereichen angelegt sind, wird in einem anderen Startschritt der Pointer ausgelesen, der auf den gültigen Speicherbereich 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 in Verbindung mit dem Offset-Datensatzspeicher nach einem Reset es dem Mikrocontroller stets ermöglicht, auf einen korrekt gespeicherten Datensatz zurückzugreifen, kann den weiteren Verfahrensschritten stets ein korrekter Datensatz zugrundegelegt werden.
  • 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 Speicherung des Datensatzes zeitlich beeinflusst. Sofern der Datensatz vor jedem Speichervorgang geändert wird, ist mit dieser Maßnahme auf einfachste Weise ein Betriebszeitzähler realisierbar. Der Timer kann auch die zyklische Wiederholung der Programmschritte zum Abspeichern des Datensatzes in den jeweils ungültigen Speicherbereich steuern. Der Timer kann im Mikrocontroller enthalten sein.
  • Die Weiterbildung des erfindungsgemäßen Verfahrens mit den mehreren Speicherbereichen und dem Pointer stellt sicher, dass bei einem fehlerhaften Speichervorgang eines die Betriebszeit wiedergebenden Datensatzes in einen Speicherbereich 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. Wenn eine Speicherung eines Datensatzes jede 10 sek vorgesehen ist, wäre die Anzahl der zulässigen Speichervorgänge von beispielsweise 10000 nach einer Betriebsdauer von nur etwa 28 Stunden bereits erreicht. Das erfindungsgemäße Verfahren schafft hier mit einfachen Maßnahmen Abhilfe, so dass Betriebszeiten von einigen tausend Stunden erreicht werden, die für Kraftfahrzeuge relevant sind.
  • Aufgrund der nur begrenzt zur Verfügung stehenden elektrischen Energie im abgeschaltete Zustand des Kraftfahrzeugs ist es weiterhin 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 Außenluft 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 Controller 10 enthält einen Resetspeicher 22, einen Datensatzspeicher 23, einen Pointerspeicher 24, einen Offset- Datensatzspeicher 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 30enthä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 Offset-Datenspeicher OA, OB sowie einen Pointer- Offsetspeicher 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 Offset-Datenspeichers OA, OB vorgesehen. In einem dritten Startschritt 52 wird der Pointer P1, P2, P3 aus dem Pointer Offsetspeicher OP abhängig vom Offset ausgelesen. In einem vierten Startschritt 53 wird ein Datensatz entweder aus dem ersten oder zweiten Speicherbereich 29, 30 ausgelesen, je nach dem, auf welchen Speicherbereich 29, 30 der Pointer P1, P2, P3 als den gültigen Speicherbereich 29, 30 zeigt.
  • In einem ersten Schritt 54 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 55 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 folgendermaßen:
    Zunächst wird die Stromversorgungsleitung 13 über den Schalter 14 mit der Energiequelle 15, beispielsweise einer Batterie, verbunden. Die Resetanordnung 12, die im Mikrocontroller 10 enthalten sein kann, stellt das Resetsignal 16 bereit. Das Resetsignal 16 veranlasst den Mikrocontroller 10zu 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 5 wird der erste Startschritt 50 durchgeführt, der dem Resetvorgang entspricht.
  • Der Mikrocontroller 10 steht über den Datenbus 27 und den Adressbus 26 mit dem EEPROM 11 in Verbindung. Der Begriff "EEPROM" (electrical irresable programable 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 codiert.
  • Anstelle des 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 nach dem zweiten Startschritt 51, in welchem der Offset sowohl für den Pointer P1, P2, P3 als auch für den Datensatzspeicher DA1, DA2, DA3 entweder im ersten Speicherbereich 29 oder des Datensatzspeichers DB1, DB2, DB3 im zweiten Speicherbereich 30.
  • Der Offset für den geltenden Pointer P1, P2, P3 kann aus dem Pointer-Offsetspeicher OP entnommen werden. Aus dem danach feststehenden geltenden Pointer P1, P2, P3 kann auf den geltenden Offset-Datensatzspeicher OA, OB geschlossen werden, aus dem die Adresse des geltenden Datensatzspeichers DA1, DA2, DA3 entweder im ersten Speicherbereich 29 oder des Datensatzspeichers DB1, DB2, DB3 im zweiten Speicherbereich 30 geschlossen werden.
  • In einer speichersparenden Ausgestaltung können die Offsetspeicher OP, OA, OB eingespart werden. Unter der Voraussetzung, dass eine entsprechende Unterscheidung möglich ist, kann die geltende Adresse aus einem der Datensatzspeicher DA1, DA2, DA3 bzw. Datensatzspeicher DB1, DB2, DB3 ermittelt werden. Ggf. sind die Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 an allen reservierten Speicherplätzen abzufragen und auf ihren Inhalt hin zu untersuchen.
  • Anhand der Information über den Offset kann dann entschieden werden, welcher der Pointer P1, P2, P3 die aktuelle Information enthält. Anstelle der drei gezeigten Pointer P1, P2, P3 können noch weitere Pointer enthalten sein, die sich lediglich durch die unterschiedliche Lage im EEPROM 11 unterscheiden. Der Grund für das Vorsehen der unterschiedlichen Pointer P1, P2, P3 liegt wiederum an der begrenzten Anzahl, Daten in das EEPROM 11 an dieselbe Speicherstelle schreiben zu können. Deshalb wird der Offset im Pointer-Offsetspeicher OP oder der aus den Datensatzspeicher DA1, DA2, DA3 bzw. Datensatzspeicher DB1, DB2, DB3 ermittelte Offset nach einer vorgegebenen Anzahl von Speichervorgängen geändert auf einen anderen Wert, der auf den jeweils nächsten Pointer P1, P2, P3 führt. Der Pointer P1, P2, P3 "wandert" gewissermaßen durch das EEPROM 11.
  • Aufgrund der begrenzten Anzahl von Speichervorgängen in eine bestimmte Speicherzelle sind anstelle jeweils eines Datensatzspeichers mehrere Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 vorgesehen. Nach der vorgegebenen Anzahl von Speichervorgängen wird deshalb auf einen anderen Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 gewechselt. Ebenso wie beim Pointer P1, P2, P3 ist auch hier, vorzugsweise ausgehend von einer Basisadresse, ein Offset zu addieren, der vorzugsweise in den Offsetdatenspeichern OA, OB hinterlegt ist. Der erste Offsetdatenspeicher OA enthält den Offset für die Datensatzspeicher DA1, DA2, DA3 im ersten Speicherbereich 29 und der zweiten Offsetdatenspeicher OB enthält den Offset für die Datensatzspeicher DB1, DB2, DB3 im zweiten Speicherbereich 30. Zur Einsparung der Offset- Datensatzspeicher OA, OB ist es wieder möglich, die entsprechende Information aus einem der Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 zu erhalten, sofern die dort hinterlegte Information die entsprechende Unterscheidung ermöglicht. Die Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 "wandern" gewissermaßen durch das EEPROM 11.
  • Eine einfache Möglichkeit, aus den abgelegten Datensätzen die Anzahl der Speichervorgänge zu erhalten, besteht darin, dass die Datensätze vor jedem Speichervorgang inkrementiert oder dekrementiert werden. 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. In Abhängigkeit vom Programmablauf addiert der Prozessorkern 17 zu einem Datensatz eine Einheit, beispielsweise ein Bit 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 ausschliesslich Bezug genommen auf den Pointer P1. Den zuletzt gespeicherten Datensatz kann der Prozessorkern 17 entweder aus dem Datensatzspeicher DA1 oder dem Datensatzspeicher DB1 lesen, je nachdem, welchen Datensatzspeicher DA1 bzw. DB1 vom Pointer P1 als gültig gekennzeichnet ist. Vorzugsweise ist im Mikrocontroller 10 für diesen Datensatz ein RAM-Speicher angelegt. Vorzugsweise sind weitere RAM-Speicher vorhanden und zwar neben dem Datensatzspeicher 23, der Pointerspeicher 24, der Offset-Datensatzspeicher 25 sowie der Pointer- Offsetspeicher 26.
  • Dem ersten Schritt 54, in dem ein Datensatz in den ersten Datensatzspeicher DA1, DB1 des als ungültig gekennzeichneten Speicherbereichs 29, 30 gespeichert wird, folgt ein vorgesehener zweiter Schritt 55, 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 54, 55 zyklisch abgearbeitet. Sollte nun zu irgendeinem Zeitpunkt, beispielsweise durch Öffnen des Schalters 14, ein fehlerhafter Wert im ersten Datensatzspeicher DA1, DB1 hinterlegt worden sein, so steht in jedem Fall der im zurückliegende 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 mit dem korrekten Inhalt 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.
  • 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 dritten Startschritt 52 der Pointer P1 ausgelesen und im vierten Startschritt 53 der Datensatz aus dem Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 des gültigen Speicherbereichs 29, 30 ausgelesen und dem weiteren Programmlauf zugrundegelegt.
  • Eine besonders vorteilhafte Ausführung sieht die Realisierung eines Betriebszeitzählers vor. Geeignet ist der Timer 21, der dafür sorgt, dass ein Speichern der Datensätze in die Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 zu den fest vom Timer 21 vorgegebenen Zeiten erfolgt. 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 sek ermöglicht mit einem Zähler, der 3 Byte binäre Speicherzellen aufweist, eine maximale Zeitvorgabe von etwa 46603 Stunden. Bei dem bereits eingangs genannten Beispiel, bei dem jede 10 sek ein Datensatz gespeichert werden soll, wäre die Anzahl der zulässigen Speichervorgänge in einen Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 von beispielsweise 10000 nach einer Betriebsdauer von nur etwa 28 Stunden erreicht. Durch das Vorsehen von mehreren Datensatzspeichern DA1, DA2, DA3 bzw. DB1, DB2, DB3 kann die genannte Zeitvorgabe von etwa 46603 Stunden erreicht werden durch das Reservieren von entsprechend vielen Datensatzspeichern DA1, DA2, DA3 bzw. Datensatzspeichern DB1, DB2, DB3.
  • Ein Datenverlust, der durch einen fehlerhaften Speichervorgang auftreten kann, ist einem Betriebszeitzähler unter allen Umständen zu vermeiden. Die vorgesehene Aufteilung der Datensatzspeicher DA1, DA2, DA3 bzw. DB1, DB2, DB3 auf den ersten und wenigstens den zweiten Speicherbereich 29, 30 sorgt dafür, dass stets ein korrekter Datensatz mit der Betriebszeit zur Verfügung steht.
  • 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 die Vorgabe einer beliebigen Betriebszeit, unabhängig von der zulässigen Anzahl von Speichervorgängen in eine bestimmte Speicherzelle des EEPROMs 11. Die Weiterbildung des erfindungsgemäßen Verfahrens ermöglicht trotz der vollständigen Abschaltungsmöglichkeit und den dadurch möglicherweise auftretenden Datenfehler bei einem Speichervorgang in das EEPROM 11 während des Abschaltens dennoch ein sicheres Betreiben der Schaltungsanordnung. Eine bevorzugte Verwendung in einem Kraftfahrzeug ist bei einem Luftgütesensor gegeben, der den Betriebszeitzähler zur Korrektur der Signale hinsichtlich Kurzzeit- und hinsichtlich Langzeitänderungen verwenden kann.

Claims (11)

1. Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller (10) und ein EEPROM (11) enthält, dadurch gekennzeichnet, dass nach einer vorgegebenen Anzahl von Speichervorgängen eines Datensatzes in einen Datensatzspeicher (DA1, DA2, DA3; DB1, DB2, DB3) des EEPROMs (11) der Datensatz in einen anderen Datensatzspeicher (DA1, DA2, DA3; DB1, DB2, DB3) gespeichert wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Speicherung eines Offset-Datensatzes vorgesehen ist, aus dem die Adresse des Datensatzspeichers (DA1, DA2, DA3; DB1, DB2, DB3) ermittelt wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Anzahl der Speichervorgänge aus dem Datensatz ermittelt wird.
4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Offset-Datensatz identisch ist mit dem im Datensatzspeicher (DA1, DA2, DA3; DB1, DB2, DB3) gespeicherten Datensatz.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass im EEPROM (11) ein erster und zumindest ein zweiter Speicherbereich (29, 30) für den Datensatzspeicher (DA1, DA2, DA3; DB1, DB2, DB3) vorgesehen werden, dass ein dritter Speicherbereich vorgesehen wird, der einen Pointer (P1, P2, P3) enthält, welcher auf den gültigen Speicherbereich (29, 30) zeigt, dass der Mikrocontroller (10) in einem ersten Schritt (54) einen Datensatz in den ungültigen Speicherbereich (29, 30) speichert und in einem zweiten nachfolgenden Schritt (55) den Pointer (P1, P2, P3) ändert, so dass der ungültige zum gültigen Speicherbereich (29, 30) wird, und dass die beiden Schritte (54, 55) zyklisch wiederholt werden.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Mikrocontroller (10) vor den beiden Schritten (54, 55) in einem Startschritt (52) nach einem Reset den Pointer (P1, P2, P3) und in einem weiteren Startschritt (53) den Datensatz aus dem gültigen Speicherbereich (29, 30) ausliest.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Datensatz vor jedem Speichern inkrementiert oder dekrementiert wird.
8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass der Datensatz jeweils nach einer von einem Timer (21) festgelegten Zeit gespeichert wird.
9. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass der Datensatz einem Betriebszeitzähler entspricht.
10. Verwendung des Verfahrens nach einem der vorhergehenden Ansprüche für Vorrichtungen in einem Kraftfahrzeug.
11. Verwendung nach Anspruch 10 in einem Luftgütesensor.
DE10144617A 2001-09-11 2001-09-11 Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält Ceased DE10144617A1 (de)

Priority Applications (6)

Application Number Priority Date Filing Date Title
DE10144617A DE10144617A1 (de) 2001-09-11 2001-09-11 Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält
PCT/DE2002/003088 WO2003025754A2 (de) 2001-09-11 2002-08-23 Verfahren zum betreiben einer schaltungsanordnung, die einen mikrocontroller und ein eeprom enthält
US10/489,410 US20040237008A1 (en) 2001-09-11 2002-08-23 Method for operating a circuit arrangement containing a microcontroller and an eeprom
JP2003529316A JP2005502973A (ja) 2001-09-11 2002-08-23 マイクロコントローラおよびeepromを含む回路装置の駆動方法
EP02798673A EP1425669A2 (de) 2001-09-11 2002-08-23 Verfahren zum betreiben einer schaltungsanordnung, die einen mikrocontroller und ein eeprom enthält
KR10-2004-7003509A KR20040031069A (ko) 2001-09-11 2002-08-23 마이크로컨트롤러와 eeprom을 구비한 회로장치의작동방법

Applications Claiming Priority (1)

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

Publications (1)

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

Family

ID=7698564

Family Applications (1)

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

Country Status (6)

Country Link
US (1) US20040237008A1 (de)
EP (1) EP1425669A2 (de)
JP (1) JP2005502973A (de)
KR (1) KR20040031069A (de)
DE (1) DE10144617A1 (de)
WO (1) WO2003025754A2 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005338926A (ja) 2004-05-24 2005-12-08 Toshiba Corp 携帯可能電子装置
JP2007115442A (ja) * 2005-10-18 2007-05-10 Mitsumi Electric Co Ltd 燃料電池制御回路

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4312928A1 (de) * 1992-04-21 1993-10-28 Vaillant Joh Gmbh & Co Verfahren zum optimalen Ausnutzen der Speicherkapazität eines Eeprom
JPH10188584A (ja) * 1996-12-19 1998-07-21 Nec Eng Ltd 記憶制御装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5561632A (en) * 1994-01-26 1996-10-01 Sony Corporation Nonvolatile semiconductor flash memory
DE19716520B4 (de) * 1997-04-19 2007-04-19 Robert Bosch Gmbh Als Schaltung ausgebildete Vorrichtung zur Erfassung von Betriebsgrößen von Elektromotoren sowie Elektromotor
FR2787601A1 (fr) * 1998-12-22 2000-06-23 Gemplus Card Int Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire
DE10143142A1 (de) * 2001-09-04 2003-01-30 Bosch Gmbh Robert Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4312928A1 (de) * 1992-04-21 1993-10-28 Vaillant Joh Gmbh & Co Verfahren zum optimalen Ausnutzen der Speicherkapazität eines Eeprom
JPH10188584A (ja) * 1996-12-19 1998-07-21 Nec Eng Ltd 記憶制御装置

Also Published As

Publication number Publication date
WO2003025754A2 (de) 2003-03-27
EP1425669A2 (de) 2004-06-09
US20040237008A1 (en) 2004-11-25
JP2005502973A (ja) 2005-01-27
WO2003025754A3 (de) 2003-10-16
KR20040031069A (ko) 2004-04-09

Similar Documents

Publication Publication Date Title
DE3418235C2 (de)
AT389716B (de) Verfahren zur steuerung einer elektrischen, von einem prozessor gesteuerte anlage bei einer stoerung in der stromspeisung und anordnung zur durchfuehrung des verfahrens
DE4012109C2 (de) Vorrichtung zur Funktionsüberwachung eines elektrischen/elektronischen Schaltmittels, seines angeschlossenen Verbrauchers, einer Ansteuerung und seiner Verbindungsleitung
DE3345863C2 (de)
EP0195885B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes einer elektronischen Zählschaltung
DE4331703C2 (de) Elektronische Einrichtung
DE3734088C2 (de) Betriebsunterbrechungsschaltung
DE3723024A1 (de) Verfahren und vorrichtung zur steuerung von technischen anlagen und maschinen
EP0224707B1 (de) Schaltungsanordnung zum selbsttätigen Überwachen mehrerer analoger elektrischer Signale
DE69927571T2 (de) Datenprozessor und Verfahren zum Verarbeiten von Daten
DE3811658C2 (de)
DE10143142A1 (de) Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält
DE3247910C2 (de)
EP0203409B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes eines digitalen Zählers
EP0233861B1 (de) Verfahren zur programmierung eines nichtflüchtigen speichers
DE4404131A1 (de) Batteriefreie Datenpufferung
DE10144617A1 (de) Verfahren zum Betreiben einer Schaltungsanordnung, die einen Mikrocontroller und ein EEPROM enthält
DE1474032A1 (de) Geraet zur Programmunterbrechung und zur Ausloesung eines Unterprogramms in einem digitalen Prozessrechner
DE19603116C2 (de) Verfahren und Vorrichtung zur Kompensation der Blindleistung in Wechselstromnetzen
DE4409286C1 (de) Verfahren zum Erkennen der Ursache eines Reset-Vorgangs eines durch einen Mikroprozessor gesteuerten Systems sowie Schaltung zum Durchführen des Verfahrens
EP1461701B1 (de) Programmgesteuerte einheit mit überwachungseinrichtung
DE2505475C3 (de) Verfahren und Vorrichtung zur Fehlerprüfung bei einem programmierbaren Logikwerk für die Ausführung logischer Operationen
EP0268597B1 (de) Verfahren zum abspeichern von daten
EP0715313A2 (de) Verfahren zur Programmierung eines elektrisch löschbaren, nichtflüchtigen Speichers in einem elektronischen Rechengerät sowie Steuergerät zur Verwendung bei dem Verfahren
DE102006003890A1 (de) Verfahren zum Speichern von Betriebszustandsdaten eines Elektromotors sowie ein Elektromotor zur Durchführung eines solchen Verfahrens

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