-
Diese
Erfindung bezieht sich im Allgemeinen auf programmierbare nichtflüchtige Datenspeicher, und
im Besonderen auf die Verhinderung einer weichen Programmierung
eines EEPROM auf Grund unzureichender Programmierspannung während eines Programmiervorgangs.
-
Digitale
elektronische Anordnungen, basierend auf zum Beispiel, aber nicht
darauf beschränkt, Mikrocontrollern,
Mikroprozessoren, digitalen Signalprozessoren, programmierbaren
Logikarrays (PLA), fest verdrahteter digitale Logik und Ähnlichem,
verwenden oft einen nichtflüchtigen
Datenspeicher für die
dauerhafte Speicherung von Programm- und Steuerdaten. Eine bevorzugte
Art des nichtflüchtigen Datenspeichers
ist ein elektrisch löschbarer
programmierbarer Lesespeicher (Electrically Erasable Programmable
Read Only Memory – EEPROM).
Das Verfahren, eine EEPROM Zelle zu programmieren, dauert lange
Zeit verglichen mit der Zeit, die erforderlich ist, Daten in einen
flüchtigem
Datenspeicher, wie zum Beispiel statischen und dynamischen Speicher mit
wahlfreiem Zugriff (Static Random Access Memory – SRAM beziehungsweise Dynamic
Random Access Memory – DRAM)
zu programmieren. Außerdem
ist es, um eine Verfälschung
von programmierten Daten im EEPROM zu verhindern, notwendig, über den
gesamten Programmierzyklus hinweg einen minimalen Programmierspannungspegel
aufrecht zu erhalten. Wenn der Programmierspannungspegel zu niedrig
ist, wird unzureichende Ladung auf die EEPROM Zelle übertragen
und bewirkt eine "weiche
Programmierung" der
EEPROM Zelle. Eine weich programmierte EEPROM Zelle wird ihre Ladung
mit der Zeit verlieren, und die in dieser Datenspeicherzelle gespeicherte
korrekte Information wird auf diese Weise korrumpiert.
-
In
der EEPROM Anordnung ist ein Paar von Polysilikongates durch eine
Siliziumdioxidschicht getrennt. Im Betrieb des EEPROM wird eine
elektrische Spannung geeigneter Größenordnung über eine sehr dünne Toroxidschicht
angelegt, die ein Tunneln von Elektronen zwischen dem Halbleitersubstrat
und dem unteren Gate der der EEPROM Datenspeicherzelle bewirkt.
Die Übertragung
der Elektronen ändert die
elektrische Schwellenspannung und folglich die Leitfähigkeit
der Zelle, wodurch auf diese Weise der logische Zustand der in der
Zelle gespeicherten Daten festlegt wird. Es ist unbedingt nötig, dass
die elektrische Stromversorgungsspannung des EEPROM auf einem ausreichend
hohen elektrischen Spannungspegel aufrecht erhalten wird, um zu
sicher zu stellen, dass der Programmierspannungspegel dafür ausreichend
ist, die EEPROM Zelle vollständig
zu programmieren. Das Aufrechterhalten eines ausreichenden elektrischen
Spannungspegels ist besonders wichtig in Anwendungen mit niedriger
elektrischer Spannung, wie zum Beispiel batteriebetriebenen Anordnungen,
die komplementäre
Metalloxidsilizium (Complementary Metal Oxide Silicon – CMOS) Bauteile
verwenden, um bei elektrischen Spannungen von weniger als 6 Volt
und sogar unterhalb 2 Volt zu arbeiten.
-
Die
Verfälschung
von Daten im EEPROM ist von besonderem Belang in Anwendungen, wo
die Information kritisch ist, und die Stromversorgung nicht immer
zuverlässig
ist, wie zum Beispiel bei einer Batterieversorgung, wo die elektrische
Batteriespannung Bedingungen mit niedriger elektrischer Spannung
unterworfen ist, wie zum Beispiel auf Grund von Entladung der Batterie.
Eine solche Anwendung besteht in Sicherheitsanordnungen, in denen
langfristiger Datenspeicher ohne Verfälschung unbedingt notwendig
ist. Sicherheitsanordnungen können
Fahrzeuge und Heim- und Büroanwendungen
umfassen, in denen ein Zustand geringer Batteriespannung gerade
dann auftreten könnte,
wenn kritische Daten in das EEPROM programmiert werden. Eine Sicherheitsanordnung,
besonders mit einer Batterieversorgung in einem Fahrzeug, kann von
Sicherheitscodes oder Statusmarkierungen abhängig sein, um zu bestimmen,
ob ein Benutzer bevollmächtigt
ist und es ist sehr wichtig, dass die gespeicherte Information unverfälscht und
gültig
bleibt.
-
US 5,925,139 offenbart einen
Mikrocomputer, der einen Schaltungskomplex umfasst, der die Programmierung
eines EEPROM ermöglicht.
Dieser Schaltungskomplex umfasst auch elektrische Spannungsbooster/generatoren
und einen Boostdetektor. Der Boostdetektor stellt ein spezielles
Ausgangssignal zur Verfügung,
wenn die Ausgangsspannung des elektrischen Spannungsboosters unterhalb
eines vordefinierten Werts liegt.
-
US 5,943,263 offenbart eine
Vorrichtung, die eine Spannungsermittlungsschaltung zur Verfügung stellt,
die eine von außen
zur Verfügung
gestellte Programmierspannung überprüft und eine
Ladungspumpe einschaltet, wenn die von außen zur Verfügung gestellte
elektrische Spannung unterhalb einer Schwelle liegt.
-
Zusammenfassung der Erfindung:
-
Deshalb
ist das was erforderlich ist, ein Verfahren und eine Vorrichtung
zur Bestimmung, dass ein Programmierspannungspegel ausreichend ist, ein
EEPROM zuverlässig
zu programmieren, das nichtflüchtige
Speicherdaten aufweist.
-
Dieses
Ziel kann durch die Merkmalen der Vorrichtung und des Verfahrens
nach Anspruch 1 beziehungsweise 24 erreicht werden. Die abhängigen Ansprüche umfassen
weitere Entwicklungen der vorliegenden Erfindung.
-
Die
Erfindung überwindet
sowohl die oben identifizierten Probleme wie auch andere Mängel und Schwächen von
vorhandenen Techniken dadurch, dass sie in einer digitalen elektronischen
Anordnung, die ein EEPROM und Logikschaltungen aufweist, um Daten
in diese zu programmieren, ein Verfahren und eine Vorrichtung zur
Verfügung
stellt, um zu bestimmen, dass ein Programmierspannungspegel entsprechend
der Ansprüche
1 und 24 für
eine zuverlässig
Programmierung des EEPROM ausreichend ist. Es wird auch in Erwägung gezogen
und ist innerhalb des Schutzumfangs der Erfindung, dass die Ausführungsformen der
Erfindung gleich vorteilhaft sein können, wenn Flash Datenspeicher
programmiert wird.
-
Entsprechend
einer Ausführungsform
der vorliegenden Erfindung weist eine Baugruppe in einer integrierten
Schaltung, die eine elektronische digitale Logik- und Überwachungsschaltung,
wie zum Beispiel einen Mikrocontroller, einen Mikroprozessor, einen
digitalen Signalprozessor und Ähnliches
und ein EEPROM umfasst, darin enthaltene Schaltungen zur Steuerung
einer Ladungspumpe auf, die eine elektrische Spannung erzeugt, die
dazu verwendet wird, die EEPROM Datenspeicherzellen zu programmieren
und die resultierende Ladungspumpenspannung zu überwachen, bevor ein Programmiervorgang
in das EEPROM beginnt. Außerdem
wird eine Testlast zur Verfügung
gestellt, die mit dem Ausgang der Ladungspumpe beschaltet sein kann,
um die Last eines Programmiervorgangs in das EEPROM zu simulieren.
Die Steuerung und die Abfolge der Funktionen der Ausführungsformen
der Erfindung können durch
ein Softwareprogramm, durch eine Hardwaresteuerungslogik oder eine
Kombination von beidem ausgeführt
werden (Firmware und Steuerungslogik).
-
Entsprechend
der Ausführungsform
der vorliegenden Erfindung wird die Ladungspumpe aktiviert, bevor
ein EEPROM Programmiervorgang ausgeführt wird. Die Ladungspumpe
zieht, wenn sie läuft,
Strom von der Batterie und, wenn die Batterie keine ausreichenden
Ladung für
einen Programmiervorgang in das EEPROM aufweist, dann wird die Spannung
der Ladungspumpe keinen mindestens erwünschten minimalen Spannungswert
aufweisen. Außerdem
ist eine Testlast mit dem Ausgang der Ladungspumpe verbunden, um
die Last zu simulieren, die darauf von einem tatsächlichen
Programmiervorgang in das EEPROM ausgeübt würde. Auf diese Weise tritt
ein Zustand für
eine tatsächliche
Lastsimulation zur genauen Beurteilung des Spannungspegels der Ladungspumpe
auf, die in diesem Fall ein sehr zuverlässiger Hinweis auf den Zustand
der Batterieladung ist. Die Lastsimulation könnte ausgeführt werden, in dem ein Program miervorgang
außerhalb des
normalen EEPROM Adressraums angesprochen wird.
-
Wenn
die erwünschte
Spannung der Ladungspumpe gemessen und überprüft wird, bevor irgendein Versuch
ausgeführt
wird, einen Programmiervorgang in das EEPROM auszuführen, wird
die Möglichkeit
einer weichen Programmierung wesentlich reduziert. Entsprechend
einem Aspekt der vorliegenden Erfindung kann eine Überprüfung auf
niedrige Spannung zuerst durchgeführt werden (das heißt, gibt
es eine ausreichende Batteriespannung für einen ausreichenden Betrieb
der Test- und Steuerungslogik zum Ausführen des Tests der Ausgangsspannung
der Ladungspumpe), dann wird die Ladungspumpe, die die elektrische
Spannung erzeugt, die für
das Programmieren des EEPROM verwendet wird, eingeschaltet, und
zieht dadurch Strom von der Batterie. Eine Testlast kann ebenfalls
mit dem Ausgang der Ladungspumpe verbunden werden, um weiterhin
im Wesentlichen dieselbe Last zu simulieren, wie die des Programmiervorgangs
in das EEPROM.
-
Ein
tatsächlicher
Programmiervorgang in das EEPROM wird nicht ausgeführt, aber
die Spannung der Ladungspumpe wird unter Lastbedingungen gemessen.
Wenn die gemessene Ladungspumpenspannung bei oder über einem
erwünschten Spannungswert
liegt, dann befindet sich ausreichend Ladung in der Batterie und
der normalen Betrieb (das heißt
ein Programmiervorgang in das EEPROM) kann fortgesetzt werden, wobei
die Ladungspumpe ausgeschaltet wird, und die Anordnung bereit ist,
einen oder mehrere Datenspeicherplätze des EEPROM zu programmieren.
Wenn die gemessene Spannung der Ladungspumpe unterhalb des erwünschten
Programmierspannungswerts liegt, dann kann der Mikrocontroller heruntergefahren
werden, wodurch auf diese Weise jeglicher fehlerhafte Betrieb verhindert
wird, bis die Batterieversorgung wieder aufgeladen worden ist.
-
In
einer weiteren Ausführungsform
der Erfindung wird die Ladungspumpe aktiviert, davon erzeugte Spannung
wird gemessen, dann wird die Ladungspumpe ausgeschaltet, und nur
ein Programmiervorgang in das EEPROM wird aktiviert, im Gegensatz
zu mehr als einem Programmiervorgang, der aktiviert wird. Diese
Ausführungsform,
die einen Test erfordert, erfordert mehr Zeit vor jedem Programmiervorgang,
ist aber gründlicher
bei der Beurteilung der Batteriebedingung, bevor jeder Programmiervorgang in
das EEPROM aktiviert wird. Außerdem
ist eine Testlast während
des Spannungsmessschritts mit dem Ausgang der Ladungspumpe verbunden
(ein Programmiervorgang in das EEPROM wird nicht ausgeführt, während die
elektrische Spannung gemessen wird).
-
In
noch einer weiteren Ausführungsform
der Erfindung wird die Ladungspumpe aktiviert, die Spannung von
dieser wird gemessen, und wenn der Spannungspegel der Ladungspumpe
gleich ist wie oder größer ist
als eine erwünschte
elektrische Spannung, dann werden ein oder mehrere Programmiervorgänge in das
EEPROM ermöglicht.
Diese Ausführungsform
weist den Vorteil von Geschwindigkeit auf und kann die unbelastete
Spannung der Ladungspumpe vor jedem Programmiervorgang oder jeder Serie
von Programmiervorgängen
in das EEPROM immer noch eng überwachen.
In der Tat ermöglichen die
Spannungsvergleichs- und die Logikschaltungen dieser Ausführungsform
sowohl die Spannungspegel zu überprüfen als
auch die Datenprogrammierung in die EEPROM Datenspeicherzelle in
einem Vorgang auszuführen
(Pipelining – keine
Abschaltung der Ladungspumpe zwischen Spannungsprüfungs- und Schreibereignissen).
Außerdem
wird, wenn die Spannung der Ladungspumpe unterhalb den erwünschten
Pegel fällt,
der zugehörige
Programmiervorgang unterdrückt,
und die Mikrocontrolleranordnung kann einen Alarm erzeugen oder
herunterfahren, abhängig
von dem Design des Softwareprogramms oder der Hardwarelogik der
Mikrocontrolleranordnung.
-
Es
wird in Erwägung
gezogen und ist innerhalb des Schutzumfangs der vorliegenden Erfindung, dass
alle hierin beschrieben Schaltungen und Funktionen außer der
Batterie in einer oder mehreren integrierten Schaltungen enthalten
sein können.
Die bevorzugten Ausführungsformen
der vorliegenden Erfindung sind für veranschaulichende Zwecke
beschrieben, die eine einzelne integrierte Schaltung umfassen, aber
eine Person mit Erfahrungen in der Technik der Elektronik erkennt
leicht, dass die Ausführungsformen
der Erfindung gleichartig angewandt werden können auf eine Kombination von
Schaltungen, die in verschiedenen integrierten Schaltungsbaugruppen
hergestellt und miteinander verbunden sind unter Verwendung eines
gemeinsamen Verdrahtungssubstrats, wie zum Beispiel, aber nicht
darauf eingeschränkt,
einer gedruckten Leiterplatte oder einer Schaltungsplatine.
-
Ein
Merkmal der vorliegenden Erfindung ist, dass die Ladungspumpe zum
Beispiel durch ein Softwareprogramm des Mikrocontrollers unabhängig steuerbar
ist.
-
Ein
weiteres Merkmal der vorliegenden Erfindung ist, dass die Ladungspumpe
durch Hardwaresteuerlogik unabhängig
steuerbar ist.
-
Ein
weiteres Merkmal der vorliegenden Erfindung ist, dass die Ladungspumpe
durch Firmwareanweisungen unabhängig
steuerbar ist.
-
Ein
weiteres Merkmal ist die Überwachung der
Spannung der Ladungspumpe vor und während jedes Programmiervorgangs
in das EEPROM.
-
Noch
ein weiteres Merkmal verhindert einen Programmiervorgang in das
EEPROM, wenn die Spannung der Ladungspumpe nicht mindestens einen
erwünschten
Wert aufweist.
-
Noch
ein weiteres Merkmal ist, dem Ausgang der Ladungspumpe eine Last
beizufügen
und den Spannungspegel der Ladungspumpe zu messen, der den Ladungszustand
der Batterie anzeigt, der vorliegen wird, wenn das EEPROM programmiert
wird.
-
Ein
weiteres Merkmal ist, den Ladungszustand der Batterie durch Beurteilen
des Spannungspegels der Ladungspumpe vor dem Programmieren eines
EEPROM zu messen.
-
Noch
ein weiteres Merkmal ist, die aktuelle Spannung der Ladungspumpe
vor dem Anwenden derselben während
eines Programmiervorgangs in das EEPROM zu messen.
-
Ein
Vorteil der vorliegenden Erfindung ist, dass die Spannung der Ladungspumpe
daher vorab qualifiziert wird, wodurch eine weiche Programmierung
des EEPROM verhindert wird.
-
Ein
weiterer Vorteil ist die Bestimmung des Zustands der Batterieladung,
wenn sich diese unter den tatsächlichen
Lastbedingungen einer arbeitenden Ladungspumpe befindet.
-
Noch
ein weiterer Vorteil ist die Anordnung zu alarmieren oder herunterzufahren,
bevor ein weicher Programmiervorgang auftreten könnte.
-
Merkmale
und Vorzüge
der Erfindung werden aus der folgenden Beschreibung von derzeit
bevorzugten Ausführungsformen
offensichtlich werden, die zum Zweck der Offenbarung ausgeführt und
in Verbindung mit den begleitenden Zeichnungen durchgeführt wird.
-
Die 1 und 1A sind
schematische Blockdiagramme einer elektronischen Anordnung;
-
Die 2 und 2A sind
schematische logische Flussdiagramme einer Ausführungsform der Erfindung, die
unabhängige
und getrennte Überprüfungen der
Spannung der Ladungspumpe und Programmiervorgänge aufweist;
-
3 ist
ein schematisches logisches Flussdiagramm einer weiteren Ausführungsform
der Erfindung, wobei die Spannung der Ladungspumpe vor jedem Programmiervorgang
geprüft
wird; und
-
4 ist
ein schematisches logisches Flussdiagramm einer noch weiteren Ausführungsform
der Erfindung, die nach zuerst erfolgender Überprüfung der Spannung der Ladungspumpe
mehrfache Programmiervorgänge
aufweist.
-
Die
Erfindung ist eine batteriebetriebene digitale elektronische Anordnung,
die eine elektronische Logik- und Steuerschaltung, wie zum Beispiel einen
Mikrocontroller in einer integrierten Schaltung, einen Mikroprozessor,
einen digitalen Signalprozessor und Ähnliches aufweist; ein EEPROM,
Logikschaltkreise zum Programmieren von Daten in dieses, und Schaltkreise
zur Bestimmung, dass der Spannungspegel der Batteriestromversorgung
ausreicht, um das EEPROM zuverlässig
zu programmieren. Wenn die Batterie, die den Mikrocontroller in
einer integrierten Schaltung mit Leistung versorgt, keine ausreichende
Ladung aufweist, um eine Ladungspumpe anzutreiben, die zur Erzeugung
einer erforderlichen Spannung während
eines Programmiervorgangs in ein EEPROM notwendig ist, verhindern
die Ausführungsformen
der Erfindung jeglichen Programmiervorgang in das EEPROM, wodurch
auf diese Weise eine mögliche „weiche
Programmierung" von
diesem verhindert wird. Die vorliegende Erfindung ist besonders
nützlich
in jeder Anwendung, die eine zuverlässige Datenspeicherung erfordert,
wie zum Beispiel in Sicherheits- und industriellen Steueranordnungen.
-
Sich
jetzt auf die Figuren beziehend, werden die Details von bevorzugten
Ausführungsformen
der Erfindung schematisch veranschaulicht. Gleiche Elemente in den
Zeichnungen werden durch gleiche Bezugszeichen bezeichnet und ähnliche
Elemente werden mit gleichen Bezugszeichen mit einem anderen Suffix
dargestellt.
-
Sich
jetzt auf die 1 und 1A beziehend,
werden schematische Blockdiagramme einer elektronischen Anordnung
veranschaulicht, wobei die in 1A gezeigte
Anordnung keinen Teil der vorliegenden Erfindung ausformt. Eine
elekt ronische Anordnung wie ein Mikrocontroller in einer integrierten
Schaltung wird im Allgemeinen mit der Ziffer 100 gekennzeichnet.
Der Mikrocontroller in einer integrierten Schaltung umfasst die
Mikrocontrollerkernlogik 102, die Eingans-Ausgangs-Schnittstelle
(Input-Output – I/O) 104,
einen Lesespeicher (Read Only Memory – ROM) 108, einen
Speicher mit wahlfreiem Zugriff (Random Access Memory – RAM) 110, einen
elektrisch löschbaren
programmierbaren Lesespeicher (Electrically Erasable Programmable
Read Only Memory – EEPROM) 112,
EEPROM Programmierlogik 114, eine Ladungspumpe 116 und
einen Analog-Digital-Konverter (ADC) 118 oder einen Spannungskomparator 118a ein
(1A). Außerdem
kann eine Ladungspumpenlast 122 als Last für die Ladungspumpe 116 während deren
Tests eingeschlossen werden. Das EEPROM 112, das RAM 110 und/oder
das ROM 108 können
Teil des Mikrocontrollers in einer integrierten Schaltung 100 sein
oder können
in einer anderen integrierten Schaltung(en) vorliegen.
-
Die
Mikrocontrollerkernlogik 102 empfängt Sensorinputinformation
und steuert externe Bauteile durch die Ein/Ausgabe 104,
die auch mit Ein/Ausgabe-Pins auf der Baugruppe der integrierten
Schaltung (nicht veranschaulicht) verbunden ist. Die Mikrocontrollerkernlogik 102 liest
Programm- und Dateninformation aus dem ROM 108, dem RAM 110 und dem
EEPROM 116 über
einen Daten- und Adressbus 106. Die Mikrocontrollerkernlogik 102 kann
auch Dateninformation in das RAM 110 programmieren und steuert
die Programmierung der Dateninformation in das EEPROM 112.
Information kann im RAM 110 gespeichert werden, ist aber
flüchtig,
das heißt
sie geht verloren, wenn die Spannung abgeschaltet wird. Das ROM 108 enthält Programmanweisungen
und Dateninformation, die zum Zeitpunkt der Herstellung erzeugt
werden und weder im Feld verändert
werden können
noch während
des Betriebs des Mikrocontrollers in einer integrierten Schaltung 100.
-
In
das EEPROM 112 kann während
der Installation im Feld geschrieben werden oder dem Betrieb im
Feld, durch Aktivieren der EEPROM Programmierlogik 114,
die bewirkt, dass be stimmte EEPROM Datenspeicherzellen eine logische
1 oder eine logische 0 speichern. Eine höhere Spannung als jene, die
beim normalen Betrieb verwendet wird, wird verwendet, um Information
in das EEPROM 112 zu programmieren. Die Ladungspumpe 116 erzeugt
den erforderlichen Spannungspegel, der für das Programmieren des EEPROM 112 erforderlich
ist. Ein Problem existiert jedoch, wenn die Stromversorgungsspannung,
die zum Beispiel, aber nicht darauf beschränkt, von einer Batterie 120 zur
Verfügung
gestellt wird, nicht ausreichend ist für den einwandfreien Betrieb
der Ladungspumpe 116, das heißt, von der Ladungspumpe 116 wird
keine adäquater
Spannungspegel für
einen einwandfreien Programmiervorgang erzeugt, oder er fällt während eines
Schreibvorgangs ab.
-
Typischerweise
ist die durch die Ladungspumpe erzeugte Spannung proportional zur
Spannung der Batterie 120, und wenn die Ladung der Batterie 120 für die Last
der Ladungspumpe unzureichend ist, dann erzeugt die Ladungspumpe
keinen adäquaten
Spannungspegel für
die einwandfreie Programmierung des EEPROM 112. Eine Messung der
Spannung der Batterie 120 unter einer Bedingung für „niedrige
Spannung" ohne eine
tatsächliche Last
an der Ladungspumpe kann anzeigen, dass die Batterie 120 ausreichende
Ladung aufweist, wenn aber dann ein Programmiervorgang auftritt,
kann die Batteriespannung unter der Last der Ladungspumpe 116 abfallen
und ein niedrigere Spannung als notwendig kann erzeugt werden, was
auf diese Weise zu einer weichen Programmierung der EEPROM 112 Datenspeicherzelle
führt.
Sogar eine Voraussage des Zustands der Batterie 120 aus
den letzten Vorgängen
könnte
eine für
einen zukünftigen
einwandfreien EEPROM 112 Programmiervorgang unzureichend
geladene Batterie 120 nicht wahrnehmen. Eine Überprüfung auf
niedrige Spannung der tatsächlichen
Batteriespannung kann ausgeführt
werden, um sicherzustellen, dass die Batterie 120 ausreichende
Ladung aufweist, um die Steuer- und Testlogik der Ausführungsformen
der vorliegenden Erfindung einwandfrei zu betreiben.
-
Die
Ausführungsformen
der vorliegenden Erfindung ermöglichen,
dass die Mikrocontrollerkernlogik 102 das Ein- und Ausschalten
der Ladungspumpe 116 unabhängig steuert und vom ADC 118 Gebrauch gemacht
wird, um den Spannungspegelwert der Ladungspumpe 116 zu überwachen
(zu lesen) und den Spannungspegelwert der Ladungspumpe für die Mikrocontrollerkernlogik 102 in
einem digitalen Format verfügbar
zu machen. Der ADC 118 kann durch Verwenden eines (nicht
veranschaulichten) analogen Multiplexers vor dem ADC 118 für andere
Zwecke in dem Mikrocontroller in einer integrierten Schaltung 100 verwendet
werden. In 1A, die keinen Teil der vorliegenden
Erfindung ausformt, wird ein Spannungskomparator 118a an
Stelle des ADC 118 verwendet. Eine Referenzspannung für den Komparator 118a kann
zum Zeitpunkt der Herstellung der integrierten Schaltung festgelegt
werden, oder die Referenzspannung kann durch die Mikrocontrollerkernlogik 102 auf
einen erwünschten
Wert programmiert werden (nicht veranschaulicht).
-
Wenn
die Ladungspumpe 116 unabhängig von der Mikrocontrollerkernlogik 102 gesteuert
werden kann, und die von der Ladungspumpe 116 erzeugte
Ausgangsspannung überwacht
werden kann, kann eine realistischere Bestimmung des Ladungszustands
der Batterie 120 erzielt werden, bevor irgendein Programmiervorgang
in das EEPROM 112 versucht wird. Wenn eine Bestimmung gemacht
wird, dass der durch die Ladungspumpe 116 erzeugte Spannungspegel
für einen
Programmiervorgang in das EEPROM 112 ausreichend ist, ermöglichen
die Ausführungsformen
der Erfindung, dass der Programmiervorgang beziehungsweise die Programmiervorgänge fortfahren.
Wenn der durch die Ladungspumpe 116 erzeugte Spannungspegel
nicht für einen
Programmiervorgang in das EEPROM 112 ausreichend ist (weil
die Batterie 120 zum Beispiel keine ausreichende, unter
Lastbedingungen der Ladungspumpe 116 verbleibende Ladung
aufweist), kann die Mikrocontrollerkernlogik 102 Alarm
geben und jeden weiteren Programmiervorgang in das EEPROM 112 unterdrücken oder
kann die ganze Anordnung abschalten. Die Ausführungsformen der Erfindung
können
durch den Mikrocontroller 100 und ein Softwareprogramm,
von einer Hardwarelogiksteuereinheit oder durch eine Kombination
von beiden (in das ROM 108 eingebettete Firmware) gesteuert
werden.
-
Es
wird in Erwägung
gezogen und ist im Rahmen des Schutzumfangs der vorliegenden Erfindung,
dass alle in 1 offenbarten Schaltungen und
Funktionen, außer
der Batterie, in einer oder mehreren integrierten Schaltungen enthalten
sein können.
Die bevorzugten Ausführungsformen
der vorliegenden Erfindung werden zu veranschaulichenden Zwecken
beschrieben, die eine einzelne integrierte Schaltung umfassen, aber
eine Person mit Fertigkeit in der Technik der Elektronik wird leicht
erkennen, dass die Ausführungsformen
der Erfindung auf gleiche Weise angewandt werden können auf eine
Kombination von Schaltungen, die in verschiedenen integrierten Schaltungsbaugruppen
hergestellt und miteinander verbunden werden unter Verwendung eines
gemeinsamen Verdrahtungssubstarts, wie zum Beispiel, aber nicht
darauf eingeschränkt,
einer gedruckten Leiterplatte oder einer Schaltungsplatine.
-
Sich
jetzt auf die 2 und 2A beziehend,
werden schematische logische Flussdiagramme einer Ausführungsform
der Erfindung veranschaulicht, die unabhängige und getrennte Spannungsüberprüfungen der
Ladungspumpe und Programmiervorgänge
aufweist. In Schritt 202 wird eine Rücksetzung oder Initialisierung
der Mikrocontrollerkernlogik 102 ausgeführt. In Schritt 204 bewirkt
die Mikrocontrollerkernlogik 102, dass die Ladungspumpe 116 einschaltet,
wodurch eine Last auf die Batterie 120 bewirkt wird. Optional
kann in Schritt 216 eine Testlast (Ladungspumpenlast 122 gemäß 1)
mit der Ladungspumpe verbunden werden, um dieselbe Last auf der
Ladungspumpe zu erzeugen wie die eines tatsächlichen EEPROM 112 Programmiervorgangs.
Dies kann zum Beispiel, aber nicht darauf beschränkt, erreicht werden durch
Umschalten der Last 122 auf den Ausgang der Ladungspumpe 116 oder dadurch,
dass die Last 122 zugänglich
gemacht wird für
das Programmieren, ganz ähnlich
einer EEPROM Zelle, durch Zuweisen einer Adresse an diese in einem
Datenspeicheradressraum außerhalb
des Adressbereiches des EEPROM.
-
Der
von der Ladungspumpe 116 erzeugte Spannungspegel wird in
Schritt 206 geprüft,
und wenn er gleich oder größer ist
als ein erwünschter Spannungswert,
dann wird die Ladungspumpe 116 in Schritt 212 abgeschaltet
(Testlast wird in Schritt 218 abgeklemmt), und die Anordnung
ist bereit, in Schritt 214 mit einem normalen Programmiervorgang
in das EEPROM 112 fortzufahren. Wenn der durch die Ladungspumpe 116 erzeugte
Spannungspegel jedoch geringer ist als der erwünschte Spannungswert, dann wird
die Ladungspumpe 116 in Schritt 208 abgeschaltet
(Testlast wird in Schritt 218 abgeklemmt), und die Anordnung
wird in Schritt 210 abgeschaltet. Es wird in Erwägung gezogen
und ist innerhalb des Schutzumfangs der vorliegenden Erfindung,
dass die Anordnung alternativ dazu auch einen Alarm ausgeben oder
jeglichen beabsichtigten Programmiervorgang in das EEPROM 112 unterdrücken kann.
-
Ein
normaler Programmiervorgang in das EEPROM 112 bewirkt,
dass die Ladungspumpe in Schritt 224 eingeschaltet wird
(2A) und die Information in Schritt 226 in
das EEPROM 112 geschrieben wird. Nachdem die Information
programmiert ist, kehrt die Anordnung in Schritt 228 zur
nächsten
Aufgabe zurück.
Es wird in Erwägung
gezogen und ist innerhalb des Schutzumfangs der Erfindung, dass
ein einzelner Programmiervorgang auftreten kann und dann der Spannungspegel
am Ausgang der Ladungspumpe wie weiter oben offenbart getestet wird, oder
dass eine Reihe von Programmiervorgängen vor dem Testen der Ausgangsspannung
der Ladungspumpe auftreten kann. Die Mikrocontrollerkernlogik 102 steuert
den Betrieb der Ladungspumpe 116 unabhängig und überwacht deren Spannungspegel
am Ausgang, so dass jeglicher Algorithmus ausgeführt werden kann oder eine Kombination
davon unter Softwaresteuerung, Hardwaresteuerung, oder einer Kombination
davon.
-
Sich
jetzt auf 3 beziehend wird ein schematisches
logisches Flussdiagramm einer weiteren Ausführungsform der Erfindung veranschaulicht,
wobei die Spannung der Ladungspumpe vor jedem Programmiervorgang
geprüft
wird. In Schritt 202 wird eine Rücksetzung oder Initialisierung
der Mikrocontrollerkernlogik 102 ausgeführt. In Schritt 204 bewirkt die
Mikrocontrollerkernlogik 102, dass die Ladungspumpe 116 eingeschaltet
wird, wodurch eine Last an die Batterie 120 angelegt wird.
Außerdem
kann in Schritt 216 (2) eine
Testlast mit dem Ausgang der Ladungspumpe verbunden werden, um eine
EEPROM 112 Programmierlast zu simulieren. Der von der Ladungspumpe 116 erzeugte
Spannungspegel wird in Schritt 206 geprüft, und wenn er gleich oder größer ist
als ein erwünschter
Spannungswert, wird in Schritt 314 ein einzelner Programmiervorgang
in das EEPROM 112 ermöglicht.
In Schritt 316 wird eine Bestimmung durchgeführt, ob
es weitere Programmiervorgänge
gibt, die in das EEPROM 112 anstehen.
-
Wenn
es mehrere anstehende Programmiervorgänge gibt, überprüft diese Ausführungsform
vor dem Ermöglichen
eines weiteren Programmiervorgangs in das EEPROM 112 die
Spannungspegel am Ausgang der Ladungspumpe 116. Auf diese
Weise wird der Spannungspegel am Ausgang der Ladungspumpe 116 vorab
qualifiziert, bevor irgendein Programmiervorgang in das EEPROM 112 zugelassen wird.
Außerdem
spart diese Ausführungsform
Zeit und Batterieleistung ein, weil, wenn die Ladungspumpe einmal
aktiviert ist und durch diese eine Programmierspannung erzeugt wird,
ein Programmiervorgang sofort fortgesetzt werden kann, ohne weitere zusätzliche
Spannungsüberprüfungen auf
diese auszuführen.
-
Wenn
jedoch der durch die Ladungspumpe 116 erzeugte Spannungspegel
vor oder zwischen irgendeinem der Programmiervorgänge geringer
ist als der erwünschte
Spannungswert, dann wird die Ladungspumpe 116 in Schritt 208 abgeschaltet
und die Anordnung wird in Schritt 210 stillgelegt. Es wird in
Erwägung
gezogen und ist innerhalb des Schutzumfangs der vorlie genden Erfindung,
dass die Anordnung alternativ dazu auch einen Alarm ausgeben oder
jeglichen in das EEPROM 112 versuchten Programmiervorgang
unterdrücken
kann.
-
Auf 4 Bezug
nehmend, wird ein schematisches logisches Flussdiagramm von noch
einer weiteren Ausführungsform
der Erfindung veranschaulicht, das mehrfache Programmiervorgänge aufweist, nachdem
zuerst die Spannung der Ladungspumpe überprüft wird. In Schritt 202 wird
eine Rücksetzung oder
Initialisierung der Mikrocontrollerkernlogik 102 ausgeführt. In
Schritt 204 bewirkt die Mikrocontrollerkernlogik 102 dass
die Ladungspumpe 116 einschaltet, wodurch auf diese Weise
eine Last an die Batterie 120 angelegt wird. Außerdem kann
in Schritt 216 (2) eine Testlast mit dem Ausgang
der Ladungspumpe verbunden werden, um die Last eines EEPROM 112 Programmiervorgangs
zu simulieren. Der von der Ladungspumpe 116 erzeugte Spannungspegel
wird in Schritt 206 geprüft, und wenn dieser gleich oder
größer ist
als ein erwünschter
Spannungswert, wird in Schritt 414 ein Programmiervorgang
(einer oder mehrere) in das EEPROM 112 aktiviert.
-
Sobald
diese Ausführungsform
feststellt, dass der Spannungspegel am Ausgang der Ladungspumpe 116 gleich
oder größer ist
als ein erwünschter
Spannungswert, kann jede beliebige Anzahl von Programmiervorgängen fortfahren.
Diese Ausführungsform
spart ebenfalls Zeit und Batterieleistung, weil, sobald die Ladungspumpe
aktiviert ist und eine Programmierspannung durch diese erzeugt wird,
mehrfache Programmiervorgänge
sofort fortfahren können,
ohne dass erneut auf die erwünschte Programmierspannung überprüft werden
muss.
-
Wenn
der von der Ladungspumpe 116 erzeugte Spannungspegel vor
dem Beginn des Programmiervorgangs jedoch geringer ist als der erwünschte Spannungswert
(die erwünschten
Spannungswerte), dann wird die Ladungspumpe 116 in Schritt 208 ausgeschaltet
und die Anordnung wird in Schritt 210 stillgelegt. Es wird
in Erwägung
gezogen und ist innerhalb des Schutzumfangs der vorliegenden Erfindung,
dass die Anordnung alternativ dazu auch einen Alarm ausgeben oder
irgendeinen in das EEPROM 112 versuchten Programmiervorgang
verhindern kann.