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ältInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/104—Embedded 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
- 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.
- 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.
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)
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)
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)
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 |
-
2001
- 2001-09-11 DE DE10144617A patent/DE10144617A1/de not_active Ceased
-
2002
- 2002-08-23 WO PCT/DE2002/003088 patent/WO2003025754A2/de not_active Application Discontinuation
- 2002-08-23 JP JP2003529316A patent/JP2005502973A/ja active Pending
- 2002-08-23 KR KR10-2004-7003509A patent/KR20040031069A/ko not_active Application Discontinuation
- 2002-08-23 EP EP02798673A patent/EP1425669A2/de not_active Withdrawn
- 2002-08-23 US US10/489,410 patent/US20040237008A1/en not_active Abandoned
Patent Citations (2)
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 |