DE60033752T2 - Verfahren, System und Vorrichtung zum Bestimmen dass ein Programmierspannungspegel ausreichend zur sicheren Programmierung eines EEPROMs ist - Google Patents

Verfahren, System und Vorrichtung zum Bestimmen dass ein Programmierspannungspegel ausreichend zur sicheren Programmierung eines EEPROMs ist Download PDF

Info

Publication number
DE60033752T2
DE60033752T2 DE60033752T DE60033752T DE60033752T2 DE 60033752 T2 DE60033752 T2 DE 60033752T2 DE 60033752 T DE60033752 T DE 60033752T DE 60033752 T DE60033752 T DE 60033752T DE 60033752 T2 DE60033752 T2 DE 60033752T2
Authority
DE
Germany
Prior art keywords
eeprom
programming
charge pump
voltage
processor
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 - Lifetime
Application number
DE60033752T
Other languages
English (en)
Other versions
DE60033752D1 (de
Inventor
Willem Marneweck
Meiling Tempe Chen
Willem Chandler Smit
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
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 Microchip Technology Inc filed Critical Microchip Technology Inc
Application granted granted Critical
Publication of DE60033752D1 publication Critical patent/DE60033752D1/de
Publication of DE60033752T2 publication Critical patent/DE60033752T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • G11C16/225Preventing erasure, programming or reading when power supply voltages are outside the required ranges
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Microcomputers (AREA)

Description

  • 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.

Claims (34)

  1. Vorrichtung zur Verhinderung einer weichen Programmierung eines elektrisch löschbaren programmierbaren Lesespeichers (EEPROM), wobei besagte Vorrichtung nachfolgendes umfasst: einen Prozessor (102); ein EEPROM (112); eine Ladungspumpe (116), die eine EEPROM Programmierspannung erzeugt; gekennzeichnet durch eine steuerbare Testlast (122), die so gesteuert werden kann, dass sie während des Testens mit der Ladungspumpe (116) verbunden ist und während des Programmierens abgekoppelt ist; einen Analog Digital Konverter (188a), der mit der Ladungspumpe (116) und mit besagtem Prozessor für das Testen verbunden ist, wenn die erzeugte EEPROM Programmierspannung sich mindestens auf einem gewünschten Spannungspegel befindet; und eine Programmierlogikschaltung (114), die mit besagtem Prozessor verbunden und mit besagter Ladungspumpe (116) verbunden ist, wobei der Prozessor besagte Programmierlogik steuert, um die EEPROM Programmierung zu verhindern, wenn die von besagtem Analog Digital Konverter bestimmte EEPROM Programmierspannung (188a) sich nicht mindestens auf dem gewünschten Spannungspegel befindet.
  2. Vorrichtung gemäß Anspruch 1, wobei der Prozessor (102) die zentrale Logik eines Mikrocontrollers ist.
  3. Vorrichtung gemäß Anspruch 1, wobei der Prozessor (102) ein Mikroprozessor ist.
  4. Vorrichtung gemäß Anspruch 1, wobei der Prozessor (102) aus einer Vielzahl von Mikroprozessoren besteht.
  5. Vorrichtung gemäß Anspruch 1, wobei der Prozessor (102) ein digitaler Signalprozessor ist.
  6. Vorrichtung gemäß Anspruch 1, wobei der Prozessor (102) digitale Logik umfasst.
  7. Vorrichtung gemäß Anspruch 1, wobei der Prozessor (102) ein programmierbares Logikarray umfasst.
  8. Vorrichtung gemäß Anspruch 1, wobei der Prozessor (102) ein Mikrocontroller ist.
  9. Vorrichtung entsprechend einem der vorangegangenen Ansprüche, wobei das EEPROM (112) ein Flash ROM ist.
  10. Vorrichtung entsprechend einem der vorangegangenen Ansprüche, die weiterhin für den Anschluss an eine Batteriestromversorgung (120) angepasst ist.
  11. Vorrichtung entsprechend einem der vorangegangenen Ansprüche, wobei besagte Programmierlogikschaltung (114) eine Vielzahl von Operationen auf besagtem EEPROM (112) ausführt, sobald die EEPROM Programmierspannung als dem erwünschten Spannungspegel entsprechend qualifiziert wurde.
  12. Vorrichtung entsprechend einem der vorangegangenen Ansprüche 1 bis 11, wobei besagte Programmierlogikschaltung (114) einen Programmiervorgang auf besagtem EEPROM ausführt nach jedem Zeitpunkt, zu dem die EEPROM Programmierspannung als dem erwünschten Spannungspegel entsprechend qualifiziert wurde.
  13. Vorrichtung entsprechend einem der vorangegangenen Ansprüche, die weiterhin einen Speicher mit wahlfreiem Zugriff (RAM) (110), einen Lesespeicher (ROM) (108) und eine Input-Output (I/O) Schnittstellenschaltung (104) umfasst.
  14. Vorrichtung gemäß Anspruch 13, wobei besagter Prozessor (102), besagtes EEPROM (112), besagte Logikschaltung (114), besagte Ladungspumpe (116), besagtes RAM (110), besagtes ROM (110) und besagte Input-Output (I/O) Schnittstellenschaltung (104) auf einer einzelnen integrierten Schaltung hergestellt sind.
  15. Vorrichtung gemäß Anspruch 13, wobei besagter Prozessor (102), besagtes EEPROM (112), besagte Logikschaltung (114), besagte Ladungspumpe (116), besagtes RAM (110), besagtes ROM (110) und besagte Input-Output (I/O) Schnittstellenschaltung (104) auf einer Vielzahl von integrierten Schaltungen hergestellt sind.
  16. Vorrichtung gemäß Anspruch 15, wobei besagte Vielzahl von integrierten Schaltungen miteinander verbunden ist durch ein Verdrahtungssubstrat, das aus der Gruppe ausgewählt ist, die aus einer gedruckten Leiterplatte und einer gedruckten Verdrahtungsplatte besteht.
  17. Vorrichtung entsprechend einem der vorangegangenen Ansprüche, wobei die Programmierlogikschaltung (114) ein Prozessor (102) ist, der von einem Softwareprogramm gesteuert wird.
  18. Vorrichtung entsprechend einem der vorangegangenen Ansprüche 1 bis 16, wobei die Programmierlogikschaltung (114) eine anwendungsspezifische Logikschaltung ist.
  19. Vorrichtung gemäß Anspruch 19, wobei die anwendungsspezifische Logikschaltung von Firmware gesteuert wird.
  20. Vorrichtung entsprechend einem der vorangegangenen Ansprüche 1 bis 16, wobei die Programmierlogikschaltung (114) ein von Firmware gesteuerter Prozessor (102) ist.
  21. Vorrichtung entsprechend einem der vorangegangenen Ansprüche 1 bis 20, wobei besagte Testlast (122) programmierbar ist, um mit besagter Ladungspumpe (116) verbunden zu werden.
  22. Vorrichtung gemäß Anspruch 21, wobei besagte Testlast (122) mit besagter Ladungspumpe (116) verbunden ist, in dem besagte Testlast außerhalb des Adressbereiches des besagten EEPROM adressiert wird.
  23. Vorrichtung entsprechend einem der vorangegangenen Ansprüche 1 bis 22, wobei die Größe der Testlast gleich der Größe der Last einer EEPROM Zelle ist, die programmiert werden soll.
  24. Verfahren zur Verhinderung einer weichen Programmierung eines elektrisch löschbaren programmierbaren Lesespeichers (EEPROM) in einer elektronischer Anordnung, wobei besagtes Verfahren die nachfolgenden Schritte umfasst: Erzeugen einer EEPROM Programmierspannung (204) mit einer Ladungspumpe (116); Verbinden einer Testlast (122) mit besagter Ladungspumpe (116) vor dem Umwandeln besagter Programmierspannung; Umwandeln besagter an besagte Testlast (122) angelegter Programmierspannung in einen digitalen Wert mittels eines Analog Digital Konverters (188a); Bestimmen, ob die erzeugte EEPROM Programmierspannung gleich oder größer ist als ein erwünschter Spannungswert (206); wenn ja, eine EEPROM Programmierlogik zu aktivieren, um ein EEPROM zu programmieren, und wenn nicht, die EEPROM Programmierlogik zu deaktivieren, um die Programmierung des EEPROM (208) zu verhindern, wobei besagte Testlast (122) von besagter Ladungspumpe (116) entkoppelt wird, bevor besagte EEPROM Programmierlogik aktiviert wird.
  25. Verfahren gemäß Anspruch 24 wobei dieses nach dem Schritt die EEPROM Programmierlogik zu aktivieren weiterhin den Schritt umfasst, eine einzelne Programmieroperation auf das EEPROM auszuführen.
  26. Verfahren entsprechend einem der vorangegangenen Ansprüche 24 bis 25, wobei dieses nach dem Schritt die EEPROM Pro grammierlogik zu aktivieren weiterhin den Schritt umfasst, eine Vielzahl von Programmieroperationen auf das EEPROM auszuführen.
  27. Verfahren gemäß Anspruch 26, wobei dieses nach dem Schritt eine einzelne Programmieroperation auf das EEPROM auszuführen weiterhin die Wiederholung der Schritte umfasst, die erzeugte EEPROM Programmierspannung zu bestimmen, die EEPROM Programmierlogik zu aktivieren und eine einzelne Programmieroperation auszuführen, bis alle Daten in das EEPROM geschrieben worden sind.
  28. Verfahren gemäß Anspruch 24, wobei der Schritt des Verbindens einer Testlast den Schritt umfasst, die Testlast außerhalb des Adressbereichs des EEPROM zu adressieren.
  29. Verfahren entsprechend einem der vorangegangenen Ansprüche 24 bis 28, welches weiterhin nachfolgende Schritte umfasst: Abschalten der Ladungspumpe und Warnen der elektronischen Anordnung betreffend einer niedrigen erzeugten EEPROM Programmierspannung, wenn die erzeugte EEPROM Programmierspannung niedriger ist als ein erwünschter Spannungswert.
  30. Verfahren gemäß Anspruch 29, wobei der Schritt, die elektronische Anordnung betreffend einer niedrigen erzeugten EEPROM Programmierspannung zu warnen den Schritt umfasst, die elektronische Anordnung abzuschalten.
  31. Verfahren gemäß Anspruch 24, wobei der Schritt, eine Testlast zu verbinden, nach dem Erzeugen der EEPROM Programmierspannung ausgeführt wird.
  32. Verfahren gemäß Anspruch 24, wobei die Testlast gleich ist einer Last einer EEPROM Zelle, deren Programmierung beabsichtigt ist.
  33. Verfahren gemäß Anspruch 24, wobei nach dem Entkoppeln der Testlast die EEPROM Programmierspannung ausgeschaltet wird und der Normalbetrieb der besagten Anordnung fortfährt.
  34. Verfahren gemäß Anspruch 26, wobei die EEPROM Programmierspannung vor jedem Schritt der Ausführung einer Programmieroperation überprüft wird.
DE60033752T 1999-09-24 2000-09-22 Verfahren, System und Vorrichtung zum Bestimmen dass ein Programmierspannungspegel ausreichend zur sicheren Programmierung eines EEPROMs ist Expired - Lifetime DE60033752T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US405450 1999-09-24
US09/405,450 US6166960A (en) 1999-09-24 1999-09-24 Method, system and apparatus for determining that a programming voltage level is sufficient for reliably programming an eeprom

Publications (2)

Publication Number Publication Date
DE60033752D1 DE60033752D1 (de) 2007-04-19
DE60033752T2 true DE60033752T2 (de) 2007-11-08

Family

ID=23603749

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60033752T Expired - Lifetime DE60033752T2 (de) 1999-09-24 2000-09-22 Verfahren, System und Vorrichtung zum Bestimmen dass ein Programmierspannungspegel ausreichend zur sicheren Programmierung eines EEPROMs ist

Country Status (7)

Country Link
US (1) US6166960A (de)
EP (1) EP1087404B1 (de)
JP (1) JP2001155491A (de)
KR (1) KR20010070100A (de)
CN (1) CN1292553A (de)
AT (1) ATE356409T1 (de)
DE (1) DE60033752T2 (de)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112918A (ja) * 1998-10-09 2000-04-21 Nec Corp フラッシュeeprom内蔵マイクロコンピュータ
JP2001156274A (ja) 1999-11-29 2001-06-08 Nec Corp 半導体記憶装置、その製造方法
JP3606166B2 (ja) * 2000-06-21 2005-01-05 セイコーエプソン株式会社 半導体装置
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US6892310B1 (en) * 2000-10-26 2005-05-10 Cypress Semiconductor Corporation Method for efficient supply of power to a microcontroller
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US6510085B1 (en) * 2001-05-18 2003-01-21 Advanced Micro Devices, Inc. Method of channel hot electron programming for short channel NOR flash arrays
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US7844437B1 (en) 2001-11-19 2010-11-30 Cypress Semiconductor Corporation System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US7234159B1 (en) 2003-01-07 2007-06-19 Altera Corporation Method and apparatus for controlling evaluation of protected intellectual property in hardware
AU2003226898B2 (en) * 2003-03-19 2008-07-24 Widex A/S Method of programming a hearing aid by a programming device
JP4124692B2 (ja) 2003-04-25 2008-07-23 シャープ株式会社 不揮発性半導体記憶装置
US7170315B2 (en) * 2003-07-31 2007-01-30 Actel Corporation Programmable system on a chip
US7521960B2 (en) 2003-07-31 2009-04-21 Actel Corporation Integrated circuit including programmable logic and external-device chip-enable override control
US7023745B2 (en) * 2003-12-29 2006-04-04 Intel Corporation Voltage detect mechanism
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
JP4549711B2 (ja) * 2004-03-29 2010-09-22 ルネサスエレクトロニクス株式会社 半導体回路装置
CA2462497A1 (en) * 2004-03-30 2005-09-30 Dspfactory Ltd. Method and system for data logging in a listening device
US8069436B2 (en) 2004-08-13 2011-11-29 Cypress Semiconductor Corporation Providing hardware independence to automate code generation of processing device firmware
US8286125B2 (en) 2004-08-13 2012-10-09 Cypress Semiconductor Corporation Model for a hardware device-independent method of defining embedded firmware for programmable systems
US20060044899A1 (en) * 2004-08-27 2006-03-02 Ellis Robert W Method and apparatus for destroying flash memory
US7382177B2 (en) * 2004-10-25 2008-06-03 Micron Technology, Inc. Voltage charge pump and method of operating the same
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US8135363B2 (en) 2005-02-12 2012-03-13 Broadcom Corporation Method and system for an integrated circuit supporting auto-sense of voltage for drive strength adjustment
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
JP4982110B2 (ja) * 2005-06-02 2012-07-25 株式会社東芝 半導体集積回路装置
US8089461B2 (en) 2005-06-23 2012-01-03 Cypress Semiconductor Corporation Touch wake for electronic devices
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7911834B2 (en) * 2006-05-15 2011-03-22 Apple Inc. Analog interface for a flash memory die
US8000134B2 (en) * 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7551486B2 (en) * 2006-05-15 2009-06-23 Apple Inc. Iterative memory cell charging based on reference cell value
US7568135B2 (en) * 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
US7639542B2 (en) 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
US7639531B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US7701797B2 (en) * 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
US7613043B2 (en) * 2006-05-15 2009-11-03 Apple Inc. Shifting reference values to account for voltage sag
US7626865B2 (en) 2006-06-13 2009-12-01 Micron Technology, Inc. Charge pump operation in a non-volatile memory device
KR100816155B1 (ko) * 2006-12-28 2008-03-21 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 멀티레벨 셀 프로그램 방법
EP1965339A1 (de) * 2007-02-27 2008-09-03 EM Microelectronic-Marin SA Überprüfer von Energie, die über eine Antenne empfangen wird, um die Datenkorruption beim Schreiben in einen nichtflüchtigen Speicher eines Transponders zu vermeiden
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8516025B2 (en) 2007-04-17 2013-08-20 Cypress Semiconductor Corporation Clock driven dynamic datapath chaining
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8242815B2 (en) 2007-04-26 2012-08-14 Freescale Semiconductor, Inc. Microcontroller unit and method therefor
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US7532027B2 (en) * 2007-09-28 2009-05-12 Adtron, Inc. Deliberate destruction of integrated circuits
US7905641B2 (en) * 2008-08-14 2011-03-15 Peckham Jr Alfred H Roller skate wheel hub cap with integral illumination system
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
JP5328525B2 (ja) 2009-07-02 2013-10-30 ルネサスエレクトロニクス株式会社 半導体装置
CN102623058B (zh) * 2012-03-26 2015-01-07 北京兆易创新科技股份有限公司 非易失存储器的擦除电压产生电路及方法
US8634267B2 (en) 2012-05-14 2014-01-21 Sandisk Technologies Inc. Flash memory chip power management for data reliability and methods thereof
US9318161B2 (en) * 2012-11-16 2016-04-19 Freescale Semiconductor, Inc. Non-volatile memory robust start-up using analog-to-digital converter
US9318163B2 (en) 2013-03-07 2016-04-19 Freescale Semiconductor, Inc. Robust memory start-up using clock counter
CN109767803A (zh) * 2013-08-09 2019-05-17 慧荣科技股份有限公司 数据储存装置及其电压保护方法
CN103456370B (zh) * 2013-08-22 2017-06-30 上海华虹宏力半导体制造有限公司 存储器的监测装置
CN108445317A (zh) * 2018-03-12 2018-08-24 南瑞集团有限公司 一种电动汽车充电设施试验检测***及测试方法
WO2021081686A1 (zh) * 2019-10-28 2021-05-06 深圳市大疆创新科技有限公司 一种控制方法、设备、芯片及存储介质
CN112259150B (zh) * 2020-10-20 2023-08-04 深圳市泰祺科技有限公司 一种eeprom存储器编程精度校正电路及方法
KR20220148551A (ko) * 2021-04-29 2022-11-07 삼성전자주식회사 스토리지 장치 및 메모리 시스템

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5199032A (en) * 1990-09-04 1993-03-30 Motorola, Inc. Microcontroller having an EPROM with a low voltage program inhibit circuit
US5274827A (en) * 1991-02-25 1993-12-28 Delco Electronics Corporation Method for EEPROM write protection using threshold voltage projection
US5508971A (en) * 1994-10-17 1996-04-16 Sandisk Corporation Programmable power generation circuit for flash EEPROM memory systems
DE69525554T2 (de) * 1994-10-19 2002-06-20 Intel Corp Spannungsversorgungen für flash-speicher
US5925139A (en) * 1996-03-25 1999-07-20 Sanyo Electric Co., Ltd. Microcomputer capable of preventing writing errors in a non-volatile memory
US6038190A (en) * 1996-06-07 2000-03-14 Inside Technologies Electrically erasable and programmable non-volatile memory protected against power supply failure
US5943263A (en) * 1997-01-08 1999-08-24 Micron Technology, Inc. Apparatus and method for programming voltage protection in a non-volatile memory system
JP3884810B2 (ja) * 1997-01-21 2007-02-21 株式会社ルネサステクノロジ 高電圧発生装置

Also Published As

Publication number Publication date
ATE356409T1 (de) 2007-03-15
DE60033752D1 (de) 2007-04-19
EP1087404A3 (de) 2004-03-24
CN1292553A (zh) 2001-04-25
EP1087404B1 (de) 2007-03-07
JP2001155491A (ja) 2001-06-08
EP1087404A2 (de) 2001-03-28
US6166960A (en) 2000-12-26
KR20010070100A (ko) 2001-07-25

Similar Documents

Publication Publication Date Title
DE60033752T2 (de) Verfahren, System und Vorrichtung zum Bestimmen dass ein Programmierspannungspegel ausreichend zur sicheren Programmierung eines EEPROMs ist
DE102007047150B4 (de) Elektroniksteuerung
DE3923545A1 (de) Vorrichtung und verfahren zum testen von an einer gleichstromquelle angeschlossenen elektrischen verbrauchern eines kraftfahrzeuges
DE19716520B4 (de) Als Schaltung ausgebildete Vorrichtung zur Erfassung von Betriebsgrößen von Elektromotoren sowie Elektromotor
DE8817191U1 (de) Anordnung für definierte Schaltung eines Mikrorechners in Wartebetriebsart
DE2913900A1 (de) Ueberwachungsverfahren und einrichtung fuer die elektrische anlage eines kraftfahrzeugs
DE102007054353B4 (de) Prognose für einen Verlust einer Hochspannungsisolierung
DE10341786A1 (de) Elektronische Fahrzeugsteuervorrichtung
DE102004033836B3 (de) Vorrichtung und Verfahren zur Ermittlung von Betriebsparametern einer Batterie
DE4442636C2 (de) System und Verfahren zum Testen einer elektronischen Schaltung
DE19644858A1 (de) Energiespeicherschutzvorrichtung für ein Fahrzeuginsassenschutzsystem
EP1928702B1 (de) Steuergerät für den personenschutz
DE102019115853A1 (de) Überprüfung des betriebs von batterieschützen während des fahrzeugbetriebs ohne leistungsverlust
DE60104845T2 (de) System und verfahren zur diagnose von fehlerzuständen in der energieversorgung einer elektrischen last
DE60025558T2 (de) Anomaliendetektionsvorrichtung für Stromversorgungsschaltung
EP3132271B1 (de) Verfahren und vorrichtung zum ermitteln eines innenwiderstandes eines versorgungsnetzes zur energieversorgung einer personenschutzeinrichtung eines fahrzeugs
DE60307329T2 (de) Verfahren zum programmieren eines hörgeräts mittels einer programmiervorrichtung
DE10215206A1 (de) Testgerät für Halbleitervorrichtungen und Testverfahren für Halbleitervorrichtungen
DE60009231T2 (de) Verfahren und Vorrichtung zum Betrieb eines integrierten "Hubs" für Kraftfahrzeugsignale während Niedrigspannungsbedingungen
DE19634049A1 (de) Verfahren zur Meßwerterfassung
EP0732793A1 (de) Schaltungsvorrichtung, insbesondere für sicherheitskritische Systeme in Fahrzeugen zur Personenbeförderung
WO1997037357A1 (de) Schaltungsanordnung mit einer testschaltung
DE60204327T2 (de) Anschlu element für ein elektrisches fahrzeug
DE102010043100B4 (de) Verfahren und Vorrichtung zur Diagnose einer Funktionsfähigkeit einer Energieversorgungseinrichtung
DE10319119A1 (de) Interne Erzeugung einer Referenzspannung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition