DE10115630C2 - Steuerschaltung mit Datensicherung und Verfahren zur Datensicherung - Google Patents
Steuerschaltung mit Datensicherung und Verfahren zur DatensicherungInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24137—Non 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.
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.
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.
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)
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)
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)
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 | 自動車用電子制御システム |
-
2001
- 2001-03-29 DE DE10115630A patent/DE10115630C2/de not_active Expired - Fee Related
Patent Citations (3)
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)
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 |