DE10115630C2 - Steuerschaltung mit Datensicherung und Verfahren zur Datensicherung - Google Patents

Steuerschaltung mit Datensicherung und Verfahren zur Datensicherung

Info

Publication number
DE10115630C2
DE10115630C2 DE10115630A DE10115630A DE10115630C2 DE 10115630 C2 DE10115630 C2 DE 10115630C2 DE 10115630 A DE10115630 A DE 10115630A DE 10115630 A DE10115630 A DE 10115630A DE 10115630 C2 DE10115630 C2 DE 10115630C2
Authority
DE
Germany
Prior art keywords
volatile memory
memory
data
microcontroller
control circuit
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.)
Expired - Fee Related
Application number
DE10115630A
Other languages
English (en)
Other versions
DE10115630A1 (de
Inventor
Michael Deppert
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.)
Vossloh Schwabe Deutschland GmbH
Original Assignee
Vossloh Schwabe Elektronik 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 Vossloh Schwabe Elektronik GmbH filed Critical Vossloh Schwabe Elektronik GmbH
Priority to DE10115630A priority Critical patent/DE10115630C2/de
Publication of DE10115630A1 publication Critical patent/DE10115630A1/de
Application granted granted Critical
Publication of DE10115630C2 publication Critical patent/DE10115630C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24137Non volatile memory to store program on power loss

Description

Die Erfindung betrifft eine Steuerschaltung, insbeson­ dere für Vorschaltgeräte und ein Verfahren zur Datensiche­ rung.
Es sind Vorschaltgeräte bekannt, die beispielsweise zum Betrieb von Leuchtstofflampen eingerichtet sind und deren Betrieb von einem zu dem Vorschaltgerät gehörigen Mikrocon­ troller gesteuert und/oder überwacht wird. Der Mikrocontrol­ ler ist über eine geeignete Datenübertragungsleitung an eine übergeordnete Steuerung angebunden. Zur Stromversorgung des Mikrocontrollers dient z. B. die an dem Vorschaltgerät anlie­ gende Netzspannung.
Der Mikrocontroller arbeitet unter der Steuerung eines Programms anhand von Daten, die das Vorschaltgerät von außen erhalten hat oder die beim Betrieb des Vorschaltgerät er­ zeugt, bzw. gewonnen worden sind.
In vielen Fällen ist es zu wünschen, dass die Daten nach einem Wegfall oder Ausfall der Betriebsspannung des Vorschaltgeräts bei Weiterbetrieb des Vorschaltgeräts wieder zur Verfügung stehen. Es ist deshalb erforderlich, diese zu halten. Dazu sind nichtflüchtige Speicher geeignet. Die Speicherung der im Betrieb veränderlichen Daten in einem beliebig programmierbaren nichtflüchtigen Speicher stellt jedoch einen Hardwareaufwand dar, der nicht unerheblich ist. Es ist ein entsprechender Speicherbaustein erforderlich.
Aus der JP 09330104 A ist eine elektrische Schaltung für Kraftfahrzeuge bekannt, die beim Abschalten der Zündung Daten aus einem Mikrocontroller in einen EEPROM lädt. Zur Pufferung der Betriebsspannung für den Mikrocontroller ist ein Kondensator oder ein gesonderter Leitungszweig vorhan­ den, der beispielsweise über ein angeschlossenes Relais führt.
Aus der DE 195 00 453 A1 ist außerdem ein mit einem Mikrocontroller versehenes Motorsteuergerät bekannt, das einen vorhandenen Flash-EEPROM als Datenspeicher nutzt. Die­ ser speichert jedoch keine sich ständig verändernden Be­ triebsdaten ab.
Aus der DE 33 23 435 A1 ist eine Mikroprozessoranord­ nung bekannt, die einen lediglich begrenzt wiederbeschreib­ baren EEPROM zur Datensicherung nutzt. Die Mikroprozessor­ anordnung dient beispielsweise zur Steuerung eines Funkge­ räts. Um die Zahl der Schreibvorgänge auf dem EEPROM be­ schränkt zu halten, wird vor Durchführung eines Schreibvor­ gangs geprüft, ob der RAM abzuspeichernde Daten enthält und ob sonstige Bedingungen erfüllt sind, zu denen beispiels­ weise gehört, dass der Mikrocontroller ordnungsgemäß arbei­ tet. Der Schreibvorgang wird nur durchgeführt, wenn diese Bedingungen erfüllt sind.
Davon ausgehend ist es Aufgabe der Erfindung, eine Steuerschaltung anzugeben, die die Speicherung von Daten bei Betriebsspannungsausfall mit geringem Hardwareaufwand ge­ stattet.
Diese Aufgabe wird mit einer Steuerschaltung gemäß An­ spruch 1 gelöst. Außerdem löst das Verfahren nach Anspruch 9 diese Aufgabe.
Bei der erfindungsgemäßen Steuerschaltung werden alle betriebsveränderlichen Daten in einem flüchtigen Speicher (RAM) gehalten. Sie werden während des normalen Betriebs des Mikrocontrollers nicht oder nur selten in den nichtflüchti­ gen Speicher übertragen. Die Datensicherung erfolgt z. B. nur bei Betriebsspannungswegfall. Dadurch können als nichtflüch­ tige Speicher sehr kostengünstige, meist am oder im Mikro­ controller ohnehin vorhandene Speicher genutzt werden, die zum Teil besondere Programmierroutinen benötigen. Solche Speicher sind beispielsweise FLASH-Speicher oder auch EE- PROMs. Das Programmieren solcher Speicher benötigt meist relativ viel Zeit. Außerdem können weitere Einschränkungen, beispielsweise hinsichtlich der Anzahl der zulässigen Schreibvorgänge oder der Richtung der Änderung der einzelnen Bits existieren. Weitere, möglicherweise existierende Ein­ schränkungen, insbesondere bei FLASH-Speichern oder EEPROMs ist die Löschfähigkeit. Häufig können solche Speicher nur im Ganzen gelöscht werden, oder durch besonders zeitaufwendige oder energieintensive Löschvorgänge gelöscht oder über­ schrieben werden. Solche Speicher sind häufig dazu vorgese­ hen, Betriebsprogramme oder auch andere Programme (Firmware) zu speichern. Das erfindungsgemäße Konzept gestattet es, diese Speicher zur Datensicherung heranzuziehen. Dies er­ spart erheblich Hardwareaufwand wie er erforderliche wäre, wenn die zu speichernden Daten in gesonderten nichtflüchti­ gen Speichern abgelegt würden, oder wie er erforderlich wä­ re, um flüchtige Speicher mit einer Stützspannung zu ver­ sorgen.
Es ist auch möglich, die Datenübertragung von dem flüchtigen Speicher (RAM) in den nichtflüchtigen Prozessor­ speicher (FLASH oder EEPROM) von Zeit zu Zeit durchzuführen, um für den Fall eines Prozessorabsturzes aktuelle Daten be­ reit zu haben. Die Datensicherungsroutine kann die gleiche sein, wie sie auch ansonsten (bei Betriebsspannungswegfall) verwendet wird, um die Anzahl der Schreibzyklen zu minimie­ ren. Die Datensicherung kann von Zeit zu Zeit (zeitgesteu­ ert) oder auch ereignisgesteuert erfolgen. Letzteres z. B. indem die Anzahl der Änderungen des Inhalts des flüchtigen Speichers oder zumindest von Speicherabschnitten desselben erfasst werden. Die Datensicherung wird dann ausgelöst, wenn die Anzahl der Änderungsvorgänge eine vorbestimmte Grenze übersteigt.
Das Verfahren ist sowohl dann anwendbar, wenn der flüchtige Speicher und der Mikrocontroller auf einem gemein­ samen Chip untergebracht sind als auch wenn diese auf ge­ trennten Chips realisiert sind.
Es wird als vorteilhaft angesehen, den nichtflüchtigen Speicher (FLASH oder EEPROM) in Speicherbereiche zu unter­ teilen, die jeweils gesondert als Speicherblock ansprechbar sind. Dies hat den Vorteil, der Vergrößerung der Anzahl der möglichen Datensicherungen, insbesondere bei solchen nicht­ flüchtigen Speichern, die lediglich eine begrenzte Anzahl von Schreibvorgängen zulassen. Es werden dann die Datensi­ cherungen jeweils solange in bislang unbenutzten Speicher­ blöcken vorgenommen, bis alle Speicherblöcke "verbraucht" sind. Erst dann wird bei einer erneuten Datensicherungsan­ forderung der gesamte nichtflüchtige Speicher gelöscht, be­ vor die Datensicherung erfolgt.
Es ist auch möglich, bereits benutzte Speicherblöcke nochmals zu nutzen, ohne diese vorher zu löschen. Dies ins­ besondere bei FLASH-Speichern oder EEPROMs, allerdings nur wenn beim Überspeichern des betreffenden Speicherblocks alle beteiligten Bits (Speicherzellen) in der zulässigen Program­ mierrichtung umgeschaltet werden. Beispielsweise gestatten viele FLASH-Speicher nur die Programmierung von "1" auf "0". Ändern sich die Daten jedoch derart, dass Bits von "0" auf "1" gesetzt werden müssen, muss jeweils das komplette Seg­ ment gelöscht und somit auf "1" gesetzt werden, was Zeit und besondere Behandlung beansprucht. Es wird deshalb als vor­ teilhaft angesehen, einen bereits programmierten Speicher­ block zunächst daraufhin zu überprüfen, ob er die zu si­ chernden Daten aufnehmen kann. Dies ist dann der Fall, wenn der Vergleich der zu speichernden Daten mit den gespeicher­ ten Daten ergibt, dass nur Speicherzellen von "1" auf "0", nicht aber von "0" auf "1" gesetzt werden müssen. Diese Vor­ gehensweise ist sowohl bei nichtflüchtigen Speichern möglich und zweckmäßig, deren Speicher in einzelne Speicherblöcke unterteilt ist, als auch bei solchen nichtflüchtigen Spei­ chern, deren Speicherbereich nicht unterteilt ist.
Die Aufteilung des nichtflüchtigen Speichers in Spei­ cherblöcke eröffnet außerdem die Möglichkeit der Umgehend defekter Speicherzellen. Dies sind beispielsweise Speicher­ zellen, die beim Löschen nicht auf den gewünschten Wert (z. B. 1) gesetzt werden können oder solche, die sich auch nach mehrmaligen Versuchen als nicht programmierwillig er­ weisen, d. h. beispielsweise nicht von "1" auf "0" gesetzt werden können. Solche Speicherblöcke können als fehlerhaft gekennzeichnet und bei nachfolgender Programmierung umgangen werden. Weiterhin ist es möglich, die Überschreitung einer bestimmten Maximalzeit defekter Speicherblöcke dem Benutzer zu signalisieren. Dies lässt eine Geräteschwäche und somit die Gefahr des späteren Ausfalls erkennen, ohne dass das Gerät bereits ausgefallen wäre.
In der Zeichnung ist ein Ausführungsbeispiel der Erfin­ dung veranschaulicht. Es zeigen:
Fig. 1 ein Vorschaltgerät mit einer Steuereinrichtung, die einen Mikrocontroller enthält, als Block­ schaltbild,
Fig. 2 einen nichtflüchtigen Speicher, der Steuereinrich­ tung nach Fig. 1, als Blockschaltbild,
Fig. 3 einen Ablauf beim Starten des Vorschaltgeräts, als Ablaufplan,
Fig. 4 die Datenrettung des Mikrocontrollers beim Ausfall oder Wegfall der Versorgungsspannung als Flussbild und
Fig. 5 die Datenrettung einer erweiterten Ausführungsform der erfindungsgemäßen Steuerschaltung als Fluss­ bild.
In Fig. 1 ist ein Vorschaltgerät 1 veranschaulicht, das zum Betrieb einer Lampe 2, beispielsweise einer Gasent­ ladungslampe dient. Zu dem Vorschaltgerät gehört eine elek­ tronische Schaltung 3, die die Lampe 2 bedarfsentsprechend mit elektrischer Leistung versorgt. Dazu gehören die Ein­ stellung von Lampenstrom, Lampenspannung oder Lampenleistung sowie sonstige Betriebsparameter wie Betriebsfrequenz usw. Die Schaltung 3 von einer Steuerschaltung 4 gesteuert, die einen Mikrocontroller 5 enthält.
Der Mikrocontroller 5 ist über eine Puffereinrichtung 6 an eine Spannungsversorgungsleitung 7 angeschlossen. Diese kann gegebenenfalls über geeignete Spannungsumsetzermittel an ein Spannungsversorgungsnetz angeschlossen sein. Außerdem kann die Schaltung 3 an die gleiche Spannungsversorgungs­ leitung 7 oder an anderweitige Spannungsversorgungseinrich­ tungen angeschlossen sein.
Die Puffereinrichtung 6 wird im Wesentlichen durch ei­ nen Pufferkondensator Cp gebildet, dessen gespeicherte La­ dung ausreicht, den Mikrocontroller 5 eine zur Datensiche­ rung ausreichende Zeit lang weiter zu betreiben. Dies ist beispielsweise eine Zeitspanne von etwa 1 Sekunde. Sind an die Spannungsversorgungsleitung 7 weitere Verbraucher (z. B. die Schaltung 3) angeschlossen, dient eine Entkopplungsdiode D dazu, den Pufferkondensator von den anderen Verbrauchern zu trennen und nur zur Stromversorgung des Mikrocontrollers 5 heranzuziehen.
Der Mikrocontroller 5 ist an eine Detektorschaltung 8 angeschlossen, deren Eingang mit der Spannungsversorgungs­ leitung 7 verbunden ist. An ihrem Ausgang 9 gibt die Detek­ torschaltung 8 ein Signal an den Mikrocontroller 5 ab, wenn sie feststellt, dass die an der Spannungsversorgungsleitung 7 vorhandene Spannung einen festgelegten Grenzwert unter­ schreitet. Das Signal an dem Ausgang 9 ist ein Digitalsig­ nal.
Der Mikrocontroller 5 ist über eine Kommunikationsein­ richtung 11 mit einer Signalleitung 12 verbunden, die eine Busleitung oder eine sonstige Leitung sein kann, die infor­ mationstragende Signale führt. Diese Signale können dazu vorgesehen sein, die Helligkeit der Lampe 2, sowie das Ein- und Ausschalten derselben festzulegen. Außerdem kann der Mikrocontroller 5 über die Kommunikationseinrichtung 11 und die Signalleitung 12 Informationen, beispielsweise über den Betriebszustand, Fehlerzustände usw., nach außen geben.
Der Mikrocontroller 5 steht mit einem flüchtigen Spei­ cher mit wahlfreiem Zugriff (RAM) 14 in Verbindung, der so­ wohl als separater Baustein als auch als Teil des Mikrocon­ trollerchips realisiert sein kann. Der flüchtige Speicher 14 kann sowohl gelesen als auch beschrieben werden, wobei die Lese- und Schreibvorgänge prinzipiell beliebig oft in kurzer Zeit und mit geringem Energieaufwand von statten gehen.
Außerdem steht der Mikrocontroller 5 mit einem nicht­ flüchtigen Speicher 15 in Verbindung, der als separater Bau­ stein oder als Teil des Mikrocontrollers mit diesem auf ei­ nem gemeinsamen Chip realisiert sein kann. Der nichtflüchti­ ge Speicher 15 ist beispielsweise als so genannter FLASH- Speicher oder als EEPROM ausgebildet. Er kann beliebig oft gelesen werden, wobei die Lesevorgänge mit geringem Aufwand und in kurzer Zeit durchführbar sind. Hinsichtlich der Schreibvorgänge bedarf er jedoch in der Regel einer besonde­ ren Behandlung. Beispielsweise ist der nichtflüchtige Spei­ cher 15 so ausgebildet, dass seine einzelnen Speicherzellen (Bits) nur in einer Richtung, beispielsweise nur von "1" auf "0", einzeln gesetzt werden können. Der Rückweg von "0" auf "1" ist dann beispielsweise nur blockweise oder im Ganzen durch Löschen des gesamten Speichers oder einzelner Spei­ cherblöcke desselben möglich. Es wird dazu auf Fig. 2 ver­ wiesen. In dieser ist die Aufteilung des nichtflüchtigen Speichers 15 in einzelne logische Speicherblöcke 1 bis n schematisch veranschaulicht.
Ein FLASH-Speicher ist als nichtflüchtiger Speicher 15 in der Regel bei verfügbaren Mikrocontrollern 5 integriert vorhanden. Dieser Speicher dient in der Regel zur Aufnahme von Programmen oder sonstigen Daten, die beim Betrieb des Mikrocontrollers 5 und des Vorschaltgeräts 1 nicht verändert werden. Bei dem vorliegenden Vorschaltgerät wird der Spei­ cher 15 jedoch zur Datensicherung herangezogen. Dies ergibt sich aus der nachfolgenden Funktionsbeschreibung des Vor­ schaltgeräts 1:
Das Vorschaltgerät 1 hält alle im Betrieb veränderli­ chen Daten ausschließlich in dem Speicher 14 solange die Betriebsspannung anliegt. Fällt die Betriebsspannung weg, durchläuft das in dem Mikrocontroller 5 laufende Programm eine Datensicherungsroutine, in der alle zu rettenden Daten in den nichtflüchtigen Speicher 15 übertragen werden. Im Einzelnen ist der Betrieb wie folgt:
Wird das Vorschaltgerät 1 an die Versorgungsspannung angeschlossen, erhält die Spannungsversorgungsleitung 7 erstmalig Betriebsspannung. Der Mikrocontroller 5 prüft ge­ mäß Fig. 3 nun als erstes, ob der Speicher 15 (Info-Flash) vollständig leer ist. Dies ist der Fall, wenn sich alle Bits im Zustand "1" befinden. Dieser Zustand kann nach der aller­ ersten Inbetriebnahme (nach der Produktion) vorliegen, wenn der Speicher 15 nicht vorprogrammiert worden ist.
Wenn erkannt wird, dass der Speicher 15 vollständig gelöscht ist, wird eine Routine (Programm) aufgerufen, die den ersten Speicherblock 1 des betreffenden Segments des Speichers 15 mit vordefinierten Daten aus einem ROM (Read Only Memory) beschrieben. Der ROM kann durch einen Abschnitt der Speichers 15 gebildet sein, der nachfolgenden, weiter unten beschriebenen, Löschoperationen entzogen ist. Er kann auch mit einem gesonderten Baustein realisiert sein, der mit dem Mikrocontroller 5 verbunden ist.
In dem Speicher 15 wird ein Byte zur Kennzeichnung der Nummer des aktiven Speicherblocks innerhalb des betreffenden Segments, wie es in Fig. 2 dargestellt ist, verwendet. So­ bald die Daten aus dem ROM in den betreffenden aktiven Spei­ cherblock übertragen sind, wird der Inhalt des aktiven Spei­ cherblock (im Beispiel Speicherblock Nr. 1) komplett in den flüchtigen Speicher 14 kopiert. Dieser bildet gewissermaßen ein Spiegelbild der in dem betreffenden Speicherblock 1 des Speichers 15 gehaltenen Daten und wird als <iFlash_mirror_ab< (information Flash mirror array of ram bytes) bezeichnet. Das als Hauptanwendung bezeichnete Pro­ gramm, das auf dem Mikrocontroller zur Steuerung der Schal­ tung 13 abläuft, arbeitet nun ausschließlich mit der Spei­ cherkopie <iFlash_mirror_ab<.
Im Laufe des Betriebs des Vorschaltgeräts 1 kann das Speicherabbild sowohl konstant bleiben als auch je nach Ein­ tritt verschiedener Ereignisse verändert werden. In jedem Fall sind jedoch die Daten, d. h. der Inhalt <iFlash_mirror_ab< zu sichern, wenn die Betriebsspannung des Mikrocontrollers 5 wegfällt. Dies um zu ermöglichen, dass dieser nach Wiedereinschalten der Betriebsspannung seinen Betrieb so aufnimmt, wie er ihn zuletzt aufrecht erhalten hat. Dazu enthält das Vorschaltgerät 1 die Detektorschaltung 8 und die Pufferschaltung 6. Fällt die Spannung an der Span­ nungsversorgungsleitung 7 unter eine Schwellspannung, zeigt dies die Detektorschaltung 8 dem Mikrocontroller 5 unmittel­ bar an. Der Pufferkondensator Cp sichert jedoch den Weiter­ betrieb des Mikrocontrollers 5 solange, bis die Daten aus dem flüchtigen Speicher 14 in den nichtflüchtigen Speicher 15 übertragen sind. Dazu muss der Mikrocontroller 5, sobald er das Betriebsspannungsausfallsignal von der Detektorschal­ tung 8 bekommt, den Inhalt von <iFlash_mirror_ab< in den Speicher 15 schreiben. Dazu wird, wie in Fig. 4 veranschau­ licht ist, in einem Abfrageblock 21 geprüft, ob die Daten in dem aktuellen Block des Speichers 15 (im Beispiel Block 1) mit dem Inhalt von iFlash_mirror_ab (Speicherinhalt des Speichers 14) übereinstimmen. Ist dies der Fall, ist kein Schreibvorgang erforderlich. Der aktuelle Speicherblock des Speichers 15 enthält bereits die aktuellen Daten. Es findet kein Schreibvorgang statt, was der Schonung des nur begrenzt wiederbeschreibbaren FLASH-Speichers 15 dient.
Wird jedoch beim Vergleich der Speicher 14 und 15 (Ab­ frageblock 21, Fig. 4) keine Übereinstimmung festgestellt, wird in Abfrageblock 22 ein weiterer Test durchgeführt. In diesem wird geprüft, ob die Informationen aus dem Speicher 14 in den aktuellen Speicherblock des Speichers 15 übertra­ gen werden können. Dies ist vor allem dann erforderlich, wenn die Daten in dem Speicher 15 nur in einer Richtung ge­ schrieben werden können, d. h. beispielsweise nur von "1" auf "0" gesetzt werden können. In diesem Fall prüft eine ent­ sprechende Routine, ob in dem aktiven Speicherblock des Speichers 15 an allen Bit-Positionen, an denen der Speicher 14 eine "1" enthält, ebenfalls eine "1" vorhanden ist. Ist dies der Fall, werden die Daten aus dem Speicher 14 in den aktuellen Speicherblock des Speichers 15 übertragen. Wenn beispielsweise bei mehreren aufeinander folgenden Datensi­ cherungsaktionen jeweils festgestellt wird, dass in dem Speicher 14 nur neue "0" aber keine neue "1" aufgetreten sind, können die Daten immer wieder in den gleichen Spei­ cherblock des Speichers 15 übertragen werden (siehe Aktions­ block 23 in Fig. 4).
Stellt sich bei dem Test gemäß Block 22 in Fig. 4 je­ doch heraus, dass der aktuelle Speicherblock des Speichers 15 an solchen Stellen "0" enthält, an denen die Daten des Speichers 14 "1" aufweist, wird zunächst geprüft, ob noch nicht benutzte Speicherblöcke vorhanden sind (Abfrageblock 24 in Fig. 4) und es wird der nächstfolgende Speicherblock zum aktuellen Speicherblock gemacht (Block 25 in Fig. 4). Dieser enthält nur "1", von denen einige beim Speichern des Inhalts des Speichers 14 auf "0" gesetzt werden.
Sind jedoch keine unbenutzten (nichtbeschriebenen) Speicherblöcke mehr vorhanden, verzweigt der Abfrageblock 24 der Fig. 4 zu einer Löschroutine, die den Speicher 15 voll­ ständig, oder zumindest soweit er als Sicherungsspeicher dienen soll, vollständig löscht. Dies symbolisiert Aktions­ block 26 in Fig. 4. Nach dem Löschen des Speichers 15 wird der erste Speicherblock des Speichers 15 zum aktuellen Spei­ cherblock (Aktionsblock 27). Der Speichervorgang wird dann mit diesem Speicherblock durchgeführt.
Der Stützkondensator Cp ist so bemessen, dass die ge­ samte, in Fig. 4 veranschaulichte, Routine mit der auf dem Kondensator Cp vorhandenen Restladung durchführbar ist.
Die Datensicherungsroutine kann, wie Fig. 4 weiter veranschaulicht, außerdem noch einen Abfrageblock 28 enthal­ ten, der prüft, ob bei dem Schreibvorgang ein Fehler auf­ tritt. Falls dies der Fall ist, wird zum nächst vorhandenen Speicherblock übergegangen, indem zu dem Abfrageblock 24 verzweigt wird. Auf diese Weise können fehlerhafte Speicher­ blöcke in dem nichtflüchtigen Speicher umgangen werden und es kann dennoch in der begrenzten zur Verfügung stehenden Zeit eine erfolgreiche Datensicherung durchgeführt werden.
Es ist, wie Fig. 5 veranschaulicht, darüber hinaus möglich, die Anzahl der defekten Speicherblöcke zu regi­ strieren, um eine Fehlermeldung auszugeben, bevor der Spei­ cher 15 nicht mehr beschreibbar ist. Eine entsprechende Rou­ tine ist in Fig. 5 veranschaulicht. Zusätzlich zu den vor­ beschriebenen Abfrage- und Funktionsblöcken 21 bis 28, ist ein Programmabschnitt vorgesehen, der die auftretenden Schreibfehler zählt. Der Abfrageblock 28 verzweigt, wenn beim Schreiben ein Fehler auftritt, zu einem Zählerblock 29, der eine Variable FEHLER inkrementiert, wenn ein Fehler auf­ getreten ist. Ein nachfolgender Abfrageblock 31 vergleicht die Variable FEHLER mit einem Maximalwert MAX. Wenn die An­ zahl der auftretenden Fehler größer ist als der Maximalwert, wird mittels eines Funktionsblocks 32 ein Fehlersignal aus­ gegeben. Die Ausgabe kann über die Signalleitung 12 oder einen Signalgeber erfolgen. Sie kann auch darin bestehen, dass ein entsprechendes Fehler-Bit in den nachfolgend ausge­ wählten Speicherblock geschrieben wird, um bei Wiederstart des Systems und Vorschaltgeräts 1 das Fehlersignal zu senden oder auszugeben.
Ein Vorschaltgerät 1 ist mit einer Mikrocontroller ge­ steuerten Steuerschaltung 4 ausgerüstet, die ihre Betriebs­ daten vollständig in einem RAM-Abzug hält. Zur Datensiche­ rung bei Betriebsspannungsausfall nutzt der Mikrocontroller seinen internen FLASH-Speicher oder einen internen EEPROM oder anderweitige kostengünstige und an sich nur zur perma­ nenten Datenhaltung vorgesehenen Speicher. Dieser wird nur dann beschrieben, wenn sich beim Datensichern herausstellt, dass die aktuellen Daten von den gespeicherten Daten abwei­ chen. Die Datensicherung erfolgt vorzugsweise in einem rei­ nen Schreibvorgang. Nur dann wenn der Speicher voll ist und keine wiederbeschreibbaren Bereiche mehr vorhanden sind, wird der Speicher im Ganzen, bzw. das betreffende Speicher­ segment gelöscht, um neu beschreibbare Bereiche (Speicher­ blöcke) bereit zu stellen. Dieses Verfahren gestattet die Datensicherung mit geringstem Hardwareaufwand auf kosten­ günstige Weise, ohne Beeinträchtigung der Lebensdauer des Vorschaltgeräts.

Claims (13)

1. Steuerschaltung (4), insbesondere für Vorschaltgeräte (1),
mit einem Mikrocontroller (5), der zur Steuerung einer elektronischen Schaltung (3) dient und der einen nicht­ flüchtigen Speicher (14) und einen flüchtigen Speicher (15) aufweist, in dem betriebsveränderliche, permanent erforderliche Daten gespeichert sind,
mit einer Detektorschaltung (8) zur Erfassung eines Betriebsspannungsausfalls, die ein Spannungsausfall­ signal an den Mikrocontroller liefert, wenn die Be­ triebsspannung unter einen vorgegebenen Grenzwert fällt,
mit einer Pufferschaltung (6) zur kurzzeitigen Strom­ versorgung des Mikrocontrollers (5) nach Wegfall der Betriebsspannung,
mit einem Programm zum Betrieb des Mikrocontrollers (5), wobei das Programm einen Programmabschnitt ent­ hält, der bei Empfang des Ausfallsignals, um die Daten aus dem flüchtigen Speicher (14) in den nichtflüchtigen Speicher (15) zu übertragen, in dem flüchtigen Speicher (14) vorhandenen Daten mit Daten in dem nichtflüchtigen Speicher (15) vergleicht und die in dem flüchtigen Speicher vorhandenen Daten nur dann in den nichtflüch­ tigen Speicher (15) überträgt, wenn die Daten des flüchtigen Speichers (14) von den Daten des nichtflüch­ tigen Speichers (15) voneinander abweichen.
2. Steuerschaltung nach Anspruch 1, dadurch gekennzeich­ net, dass der nichtflüchtige Speicher (15) ein FLASH- Speicher ist.
3. Steuerschaltung nach Anspruch 1, dadurch gekennzeich­ net, dass der nichtflüchtige Speicher (15) ein EEPROM ist.
4. Steuerschaltung nach Anspruch 1, dadurch gekennzeich­ net, dass der nichtflüchtige Speicher (15) und der Mi­ krocontroller (5) auf einem gemeinsamen Chip unterge­ bracht sind.
5. Steuerschaltung nach Anspruch 1, dadurch gekennzeich­ net, dass der nichtflüchtige Speicher (15) ein Speicher ist, dessen Speicherzellen (16) ihren logischen Wert einzeln nur in einer Richtung (1 → 0) und in Gegen­ richtung (0 → 1) nur gruppenweise ändern können.
6. Steuerschaltung nach Anspruch 5, dadurch gekennzeich­ net, dass die Speicherzellen (16) ihren Wert in Gegen­ richtung (0 → 1) nur gemeinsam ändern können.
7. Steuerschaltung nach Anspruch 1, dadurch gekennzeich­ net, dass zumindest alle für den Betrieb des Mikrocon­ trollers (5) erforderlichen Daten, auf die Schreibzu­ griff erforderlich ist, bei normalem Betrieb des Mikro­ controllers (5) in dem flüchtigen Speicher (14) bereit­ gehalten werden.
8. Steuerschaltung nach Anspruch 1, dadurch gekennzeich­ net, dass der nichtflüchtige Speicher (15) in Speicher­ bereiche (Speicherblock 1 bis Speicherblock 0) unter­ teilt ist, die jeweils gesondert als Speicherblock an­ sprechbar sind.
9. Verfahren zum Betrieb eines Mikrocontrollers (5) und zum Sichern von Daten des Mikrocontrollers (5) in einem nichtflüchtigen Speicher (15) bei Betriebsspannungs­ verlust, bei dem:
  • a) ein Spannungsausfallsignal erzeugt und von dem Mikrocontroller (5) empfangen wird, der noch über eine verbleibende Zeit aus einem Puffer mit Be­ triebsleistung versorgt wird,
  • b) der Mikrocontroller (5) seine in einem flüchtigen Speicher (15) vorhandenen Daten in den nichtflüch­ tigen Speicher (15) überträgt, indem er seine in einem flüchtigen Speicher (14) vorhandenen Daten mit Daten in dem nichtflüchtigen Speicher (15) vergleicht und diese nur dann in den nichtflüchti­ gen Speicher (15) überträgt, wenn die Daten von­ einander abweichen.
10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass in dem nichtflüchtigen Speicher (15) ein überschreibba­ rer Bereich gesucht wird, in dem die einzelnen Spei­ cherzellen (16) beim Überschreiben der vorhandenen Zu­ stände nur in einer Richtung (1 → 0) zu überschreiben sind.
11. Verfahren nach Anspruch 10, dadurch gekennzeichnet, dass der nichtflüchtige Speicher (15) vor dem Beschrei­ ben gelöscht wird, wenn sich kein Bereich findet, in den die zu sichernden Daten durch ausschließliche Ände­ rung der Zustände der Speicherzellen in nur einer Rich­ tung (1 → 0) einschreibbar sind.
12. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass der nichtflüchtige Speicher (15) in logische Blöcke aufgeteilt wird, deren Programmierbarkeit überprüft wird, wobei nicht vollständig programmierbare Blöcke als fehlerhaft registriert werden.
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass die Anzahl fehlerhafter Blöcke geprüft und ein Fehlersignal ausgegeben wird, wenn die Anzahl einen Maximalwert (MAX) übersteigt.
DE10115630A 2001-03-29 2001-03-29 Steuerschaltung mit Datensicherung und Verfahren zur Datensicherung Expired - Fee Related DE10115630C2 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE10115630A DE10115630C2 (de) 2001-03-29 2001-03-29 Steuerschaltung mit Datensicherung und Verfahren zur Datensicherung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10115630A DE10115630C2 (de) 2001-03-29 2001-03-29 Steuerschaltung mit Datensicherung und Verfahren zur Datensicherung

Publications (2)

Publication Number Publication Date
DE10115630A1 DE10115630A1 (de) 2002-10-31
DE10115630C2 true DE10115630C2 (de) 2003-06-12

Family

ID=7679593

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10115630A Expired - Fee Related DE10115630C2 (de) 2001-03-29 2001-03-29 Steuerschaltung mit Datensicherung und Verfahren zur Datensicherung

Country Status (1)

Country Link
DE (1) DE10115630C2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004037785A1 (de) * 2004-08-03 2006-03-16 Endress + Hauser Gmbh + Co. Kg Feldgerät für die Automatisierungstechnik

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4436219B2 (ja) * 2004-09-10 2010-03-24 富士通株式会社 情報処理装置及び電源制御方法
JP4097649B2 (ja) * 2004-12-09 2008-06-11 ファナック株式会社 数値制御装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3323435A1 (de) * 1983-06-29 1985-01-03 Siemens AG, 1000 Berlin und 8000 München Mikroprozessoranordnung
DE19500453A1 (de) * 1994-06-16 1995-12-21 Bosch Gmbh Robert Verfahren zur Optimierung von Daten und/oder Programmteilen für programmierte Steuergeräte und Steuergerät
JPH09330104A (ja) * 1996-06-10 1997-12-22 Unisia Jecs Corp 自動車用電子制御システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3323435A1 (de) * 1983-06-29 1985-01-03 Siemens AG, 1000 Berlin und 8000 München Mikroprozessoranordnung
DE19500453A1 (de) * 1994-06-16 1995-12-21 Bosch Gmbh Robert Verfahren zur Optimierung von Daten und/oder Programmteilen für programmierte Steuergeräte und Steuergerät
JPH09330104A (ja) * 1996-06-10 1997-12-22 Unisia Jecs Corp 自動車用電子制御システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004037785A1 (de) * 2004-08-03 2006-03-16 Endress + Hauser Gmbh + Co. Kg Feldgerät für die Automatisierungstechnik

Also Published As

Publication number Publication date
DE10115630A1 (de) 2002-10-31

Similar Documents

Publication Publication Date Title
DE10040890C1 (de) System und Verfahren zum sicheren Hochtemperaturbetrieb eines Flash-Speichers
DE69726304T2 (de) Nichtflüchtiger schreibbarer speicher mit programmierungsaufhebungsbefehl
DE10159901B4 (de) Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher
EP0195885B1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes einer elektronischen Zählschaltung
DE69930439T2 (de) Elektrische Vorrichtung mit integriertem Flashspeicher
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
EP1089219A2 (de) Verfahren zur Sicherung eines Datenspeichers
DE102010045581B4 (de) Verfahren und Vorrichtung zum Programmieren von Daten in nicht-flüchtige Speicher
DE3401783A1 (de) Programmierbare steuerung
DE19964012A1 (de) Verfahren und Einrichtung zum Refresh des Speicherinhalts einer Speicherzelle eines Festwertspeichers
EP1037140B1 (de) Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten
DE10115630C2 (de) Steuerschaltung mit Datensicherung und Verfahren zur Datensicherung
EP3378006B1 (de) Verfahren zum laden eines sicheren speicherabbilds eines mikrocontrollers und anordnung mit einem mikrocontroller
DE10014561A1 (de) Verfahren zur Programmierung eines Steuergerätes
DE112017005483T5 (de) Elektronische Steuereinheit und Datenschutzverfahren für diese
DE60312859T2 (de) Verfahren und basis-schaltkreis zur überwachung des betriebs eines mikrokontrollers
EP1625592B1 (de) Vorrichtung und verfahren zum behandeln eines zustands eines speichers
DE10030990A1 (de) Verfahren zum Beschreiben und Löschen eines nichtflüchtigen Speicherbereichs
DE60030236T2 (de) Elektronischer Steuerapparat, der eine Modusüberprüfungsfunktion hat
DE102005018790A1 (de) Integrierter Schaltkreis und Verfahren zum Betreiben und parallelen Testen von integrierten Schaltkreisen
DE102016202684A1 (de) Datenmanagementvorrichtung und datenmanagementprogramm
EP0715313B1 (de) Verfahren zur Programmierung eines elektrisch löschbaren, nichtflüchtigen Speichers in einem elektronischen Rechengerät sowie Steuergerät zur Verwendung bei dem Verfahren
DE102005050288A1 (de) System zur Durchführung von Softwareupdates in Embeddded Systemen sowie ein Verfahren dazu
DE102014223839A1 (de) Elektronische Steuereinheit
DE19818853B4 (de) Integrierte Logikschaltungsanordnung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8304 Grant after examination procedure
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: VOSSLOH-SCHWABE DEUTSCHLAND GMBH, 73660 URBACH, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee