[go: up one dir, main page]

DE10052877A1 - Mikrocontroller - Google Patents

Mikrocontroller

Info

Publication number
DE10052877A1
DE10052877A1 DE10052877A DE10052877A DE10052877A1 DE 10052877 A1 DE10052877 A1 DE 10052877A1 DE 10052877 A DE10052877 A DE 10052877A DE 10052877 A DE10052877 A DE 10052877A DE 10052877 A1 DE10052877 A1 DE 10052877A1
Authority
DE
Germany
Prior art keywords
control unit
memory
data
microcontroller
volatile memory
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.)
Granted
Application number
DE10052877A
Other languages
English (en)
Other versions
DE10052877B4 (de
Inventor
Jong-Keun Ahn
Bum-Seok Yu
Sang-Joo Ra
Jong-In Kim
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE10052877A1 publication Critical patent/DE10052877A1/de
Application granted granted Critical
Publication of DE10052877B4 publication Critical patent/DE10052877B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23308Transfer program from ram to eprom, flash, card
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23345Memory is eeprom
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25265Flash memory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25341Single chip programmable controller
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Microcomputers (AREA)
  • Read Only Memory (AREA)

Abstract

Die Erfindung bezieht sich auf einen Mikrocontroller mit einer mit mehreren Bussen (170) verbundenen Zentralprozessoreinheit (CPU), einer Modussteuereinheit (110) zur Erzeugung von Modussteuersignalen für die Einstellung verschiedener Betriebsarten, einer Kommunikationsschnittstelle und einem elektrisch wiederbeschreibbaren, nichtflüchtigen Speicher (130). DOLLAR A Erfindungsgemäß wird durch geeignete Auslegung der Speichersteuereinheit bewirkt, dass beim Schreiben eines Steuerprogramms für den Mikrocomputer in den nichtflüchtigen Speicher abhängig von einem Programmierbefehl die CPU die Steuerung des nichtflüchtigen Speichers nicht beeinflusst. Insbesondere können in einem Programmiermodus die CPU, die Busse, I/O-Anschlüsse und die Kommunikationsschnittstelle des Mikrocontrollers deaktiviert werden. Die Speichersteuereinheit empfängt einen Schreibbefehl und eine Adresse von außerhalb des Mikrocontrollers und steuert den Betrieb des nichtflüchtigen Speichers basierend auf dem Schreibbefehl und der Adresse ohne Eingriff der CPU. DOLLAR A Verwendung in der Mikrocontrollertechnologie.

Description

Die Erfindung bezieht sich auf einen Mikrocontroller nach dem Oberbegriff des Anspruchs 1.
Die Verwendung von VLSI-Chipschaltkreisen in digitalen Daten­ verarbeitungssystemen bzw. Computern hat zu Vorteilen hin­ sichtlich kleinerer Abmessung, niedrigerem Gewicht, geringe­ ren Kosten, reduziertem Leistungsverbrauch und höherer Zuver­ lässigkeit geführt. Entsprechende VLSI-Schaltkreise, wie Ein­ zelchip-Computer, d. h. Mikrocomputer oder Mikrocontroller, erlauben die Nutzung von Computerelektronik in praktisch al­ len heutigen Anwendungen sowohl zu Hause als auch kommerziell in der Industrie.
Ein Steuer- oder Anwendungssoftware-Programm zum Betrieb ei­ nes Mikrocontrollers ist typischerweise in einem Festwert­ speicher (ROM), wie einem maskenprogrammierten Festwertspei­ cher, kurz Masken-ROM, einem löschbaren und programmierbaren Festwertspeicher (EPROM), einem elektrisch löschbaren und programmierbaren Festwertspeicher (EEPROM) oder einem Flash- EEPROM gespeichert. Es ist allgemein bekannt, dass es nicht möglich ist, den Inhalt eines eingebauten maskenprogrammier­ ten Festwertspeichers zu ändern, sobald dieser gespeichert ist. Ein in einem Masken-ROM gespeichertes Programm kann da­ her nicht erneuert werden. Im Gegensatz dazu kann ein Mikro­ controller mit einem eingebauten EPROM, EEPROM oder Flash- EEPROM insgesamt neu beschrieben oder teilweise aktualisiert werden, wenn ein Steuerprogramm desselben zu ändern ist.
Gegenwärtig finden Mikrocontroller mit eingebauten Flash- Speichern in einer Vielzahl von Anwendungen breiten Gebrauch, wie in Mobiltelefonen, Anrufer-ID-Boxen, CD-ROM-Treibern, DVD-Spielern, Smartcards und Settop-Boxen. Solche Mikrocont­ roller mit eingebautem Flash-Speicher können programmiert werden, während sie auf einer gedruckten Leiterplatte eines Systems montiert sind, d. h. in einem "Onboard"-Zustand.
Ein typischer Mikrocontroller kann eine Zentralprozessorein­ heit (CPU), ein eingebautes Flash-EEPROM zur Speicherung ei­ nes Steuerprogramms für die CPU, ein ROM zur Speicherung ei­ nes Schreibprogramms für das Schreiben des Steuerprogramms in den Flash-Speicher, einen Speicher mit wahlfreiem Zugriff (RAM) zur Speicherung temporärer Daten und eine Modussteuer­ einheit zum Einstellen verschiedener Betriebsarten des Mikro­ controllers enthalten.
Bei einem z. B. in der Patentschrift US 5.872.994 beschriebe­ nen Mikrocontroller mit eingebautem Flash-Speicher wird in einer Onboard-Schreibbetriebsart eine Steuerprogrammquelle über einen Adapter mit einer seriellen Kommunikationsschnitt­ stelle oder einem Eingabe/Ausgabe-Anschluss verbunden. Wenn eine Modussteuereinheit durch ein vom Eingabe/Ausgabe-An­ schluss oder dergleichen zugeführtes Datensignal auf einem Datenbus die Onboard-Schreibbetriebsart erkennt, verbindet sie die serielle Kommunikationsschnittstelle, einen Flash- Speicher, ein RAM und eine CPU mit Datenbussen. In dieser Be­ triebsart liest die CPU das Steuerprogramm über die serielle Kommunikationsschnittstelle aus der Steuerprogrammquelle ge­ mäß dem im ROM gespeicherten Schreibprogramm und speichert temporär das Steuerprogramm in das RAM.
Das ROM des bekannten Mikrocontrollers ist jedoch nur in ei­ nem Onboard-Schreibmodus aktiv, während es in anderen Be­ triebsarten inaktiv ist. Dementsprechend limitiert der Einbau eines solchen ROMs in einen Mikrocontrollerchip den Vorteil der Chipabmessungsreduktion des Mikrocontrollers. Es ist auch eine alternative Onboard-Schreibmethode bekannt, bei der ein RAM anstelle eines ROM verwendet wird, um ein Schreibprogramm zu speichern. Diese Methode reduziert die Abmessung des Mik­ rocontrollers, da das ROM zur Speicherung eines Schreibpro­ gramms nicht mehr benötigt wird. Dennoch beinhaltet diese Technologie noch ein RAM als wesentliches Element.
Des weiteren beinhaltet der bekannte Mikrocontroller einen Datenempfangszeitdetektor, der die Lesegeschwindigkeit eines von einer Programmquelle zugeführten Programms durch Überwa­ chen der Systemtaktgeschwindigkeit während eines Onboard- Schreibvorgangs detektiert. Bei hoher Lesegeschwindigkeit speichert die CPU temporär das Programm in das RAM oder einen Puffer der CPU, bevor sie das Programm in den Flash-Speicher schreibt. Bei niedriger Lesegeschwindigkeit schreibt die CPU hingegen das Programm direkt in den Flash-Speicher. Außerdem kann der Mikrocontroller nach dem Stand der Technik die Zeit­ periode für einen Schreibvorgang oder einen Flash-Lösch­ vorgang variieren. Diese Merkmale neigen jedoch dazu, den Aufwand und die Schaltkreiskomplexität des Mikrocontrollers zu erhöhen.
Weitere Beispiele bekannter Mikrocomputer mit eingebautem Flash-Speicher sind in den Patentschriften US 5.398.208 und US 5.493.534 beschrieben, auf die insoweit verwiesen werden kann.
Der Erfindung liegt als technisches Problem die Bereitstel­ lung eines Mikrocontrollers der eingangs genannten Art zugrunde, mit dem sich eine vergleichsweise geringe Chipab­ messung bei relativ geringem Aufwand erreichen lässt.
Die Erfindung löst dieses Problem durch die Bereitstellung eines Mikrocontrollers mit den Merkmalen des Anspruchs 1. Der erfindungsgemäße Mikrocontroller ist in der Lage, Onboard- Programmiervorgänge unter Verwendung eines elektrisch wieder­ beschreibbaren nichtflüchtigen Speichers durchzuführen, ohne zusätzliche Speicher zum Speichern eines Steuerprogrammsatzes und entsprechender Daten zu benötigen. Der Mikrocontroller lässt sich unabhängig von der Systemumgebung auf eine kon­ stante Löschzeit und Programmierzeit auslegen, so dass Prob­ leme hinsichtlich zu weitgehender Löschung und Schreibstörung vermieden werden. Der Mikrocontroller benötigt relativ wenig Chipfläche, was die Herstellungskosten senkt. Die erfindungs­ gemäße Onboard-Programmierarchitektur ist für alle Mikrocont­ roller mit beliebigen Typen elektrisch programmierbarer, nichtflüchtiger Halbleiterspeicher unabhängig von deren Leis­ tungsvermögen anwendbar, d. h. sie ist sowohl für Mikrocompu­ ter der höheren wie auch der niedrigeren Preisklasse einsetz­ bar.
Der erfindungsgemäße Mikrocontroller beinhaltet eine Spei­ chersteuereinheit für den elektrisch wiederbeschreibbaren nichtflüchtigen Speicher und eine Modussteuereinheit zum Ein­ stellen verschiedener Betriebsarten, wie eines "Tool"- oder "Werkzeug"-Modus und eines "Nutzerprogrammier"-Modus. Im Werkzeugmodus werden die Zentralprozessoreinheit und eine oder mehrere vorhandene Kommunikationsschnittstellen deakti­ viert. Die Speichersteuereinheit steuert dann einen internen Vorgang, wie einen Lese-, Schreib- oder Löschvorgang, für den elektrisch wiederbeschreibbaren nichtflüchtigen Speicher ohne Eingriff der Zentralprozessoreinheit basierend auf einem se­ riell zugeführten Satz aus einem Befehl, einer Adresse und Daten. Im Nutzerprogrammiermodus empfängt die Zentralprozes­ soreinheit einen Befehl bezüglich eines internen Vorgangs so­ wie dazugehörig eine Adresse und Daten und stellt die Spei­ chersteuereinheit abhängig von dem Befehl ein. Im Fall eines Lese- oder Löschvorgangs leitet die Zentralprozessoreinheit die Adresse an die Speichersteuereinheit weiter, im Fall ei­ nes Schreibvorgangs auch die entsprechenden Daten. Während eines Schreibvorgangs hält die Speichersteuereinheit dann die Zentralprozessoreinheit an.
Vorteilhafte Weiterbildungen der Erfindung sind in den Unter­ ansprüchen angegeben.
Vorteilhafte Ausführungsformen der Erfindung sind in den Zeichnungen dargestellt und werden nachfolgend beschrieben. Hierbei zeigen:
Fig. 1 ein Blockschaltbild eines ersten erfindungsgemäßen Mikrocontrollers,
Fig. 2 ein Blockschaltbild wesentlicher Bestandteile des Mikrocontrollers von Fig. 1,
Fig. 3 ein Zeitsteuerungsdiagramm eines Nutzerprogrammiermo­ dus des Mikrocontrollers von Fig. 1,
Fig. 4 bis 7 Darstellungen zur Illustration von Schlüsselre­ gistern, eines Nutzerprogrammiersteuerregisters, ei­ nes Nutzerprogrammierfehlerregisters bzw. eines Sek­ torschutzhinweisregisters innerhalb einer Speicher­ steuereinheit von Fig. 1 und
Fig. 8 ein Blockschaltbild eines zweiten erfindungsgemäßen Mikrocontrollers.
Im folgenden werden vorteilhafte Ausführungsbeispiele der Er­ findung unter Bezugnahme auf die Zeichnungen näher erläutert, wobei im wesentlichen nur die jeweils erfindungsrelevanten Komponenten gezeigt sind, während der Übersichtlichkeit hal­ ber allgemein bekannte Komponenten, wie Schaltkreisblöcke, elementare Strukturen und architekturbezogene Funktionalitä­ ten, nicht näher gezeigt und beschrieben werden.
Fig. 1 veranschaulicht einen ersten erfindungsgemäßen Mikro­ controller 100 in Form einer Einzelchip-Datenverarbeitungs­ vorrichtung mit z. B. 32 Bit. Der Mikrocontroller 100 beinhal­ tet eine Modussteuereinheit 110, eine Zentralprozessoreinheit (CPU) 120, einen elektrisch löschbaren und programmierbaren, nichtflüchtigen Halbleiterspeicher (EEP-NVM) 130, wie ein EEPROM oder ein Flash-EEPROM, der als Programmspeicher des Mikrocontrollers 100 verwendet wird. Die CPU 120 und der EEP- NVM 130 sind mit Bussen 170 verbunden, die einen Adressbus 172, einen Datenbus 174 mit z. B. 32 Bit sowie einen Steuerbus 176 umfassen.
Die Modussteuereinheit 110 empfängt Modusauswahlsignale RE­ SET#, TEST0, TEST1 und TEST2, die über einen Eingangsanschluß 112 dem Mikrocontroller 100 von außen zugeführt werden, und erzeugt Modussteuersignale MCS zum Einstellen verschiedener Betriebsarten in jedem Abschnitt des Mikrocontrollers 100. Bevorzugt werden die MCS von einer Logikkombination der Mo­ dusauswahlsignale RESET# und TEST0 bis TEST2 abgeleitet. Mög­ liche Betriebsarten des Mikrocomputers 100 umfassen einen "Tool"- oder "Werkzeug"-Modus als einen ersten Programmiermo­ dus, einen "Nutzerprogrammier"-Modus als einen zweiten Pro­ grammiermodus, mehrere Testmodi etc.
Der Mikrocontroller 100 beinhaltet des weiteren eine oder mehrere bitprogrammierbare Kommunikationsschnittstellen 150, die wenigstens eine serielle Schnittstelle und/oder wenigs­ tens eine parallele Schnittstelle umfassen. Beispielhafte Kommunikationsschnittstellen, die erfindungsgemäß verwendbar sind, umfassen solche vom Typ synchrone SIO, UART oder I2C. Die Kommunikationsschnittstelle 150 ist selektiv in Abhängig­ keit von den Modussteuersignalen MCS der Modussteuereinheit 110, der internen Moduseinstellsignale oder des Modusein­ stellbefehls mit den internen Bussen 170 gekoppelt und kann bei Bedarf Eingabe/Ausgabe(I/O)-Anschlüsse beinhalten, die bitprogrammierbar sein können. Alternativ können für den Mik­ rocontroller 100 zusätzlich zu Kommunikationsschnittstellen I/O-Anschlüsse verwendet werden, um externe Kommunikationsge­ räte anzubinden. Die CPU 120 steuert den EEP-NVM 130, die I/O-Anschlüsse 140 und die Kommunikationsschnittstellen 150 in Abhängigkeit von den Betriebsarten des Mikrocontrollers 100.
Der Mikrocontroller 100 weist zusätzlich eine NVM-Steuerein­ heit 160 mit einer seriellen Schnittstelle, siehe Bezugszei­ chen 164 von Fig. 2, und einer parallelen Schnittstelle, sie­ he Bezugszeichen 166 von Fig. 2, auf. Die serielle Schnitt­ stelle der NVM-Steuereinheit 160 weist einen seriellen An­ schluss 162 mit einem Takteingabeanschluss SCL und einem I/O- Anschluss SDA für serielle Daten auf. Dabei kann der serielle Anschluss 162 in anderen Ausführungsformen der Erfindung zu­ sätzlich einige weitere Anschlüsse umfassen, wie einen An­ schluss für eine Spannungsversorgung VDD, einen Anschluss für Masse VSS, Testanschlüsse und einige reservierte Anschlüsse.
Die NVM-Steuereinheit 160 empfängt einen Befehl und eine Ad­ resse von außerhalb des Mikrocomputers 100 über den I/O- Datenanschluss SDA, die I/O-Anschlüsse 140 oder die Kommuni­ kationsschnittstelle 150 und steuert direkt die Betriebsvor­ gänge des EEP-NVM 130 auf der Basis des Befehls und der Ad­ resse ohne Einwirkung der CPU 120.
Im Werkzeugmodus, in welchem der Mikrocontroller 100 mit ei­ nem Satz von Steuerprogrammen zur Steuerung des Mikrocontrol­ lers 100 programmiert wird, empfängt die NVM-Steuereinheit 160 über den I/O-Datenanschluss SDA einen Satz aus einem Mo­ dusbefehl, Daten und einer Adresse von außerhalb des Mikro­ controllers 100 und steuert direkt den Betrieb des EEP-NVM 130 auf der Basis des Befehls und der Adresse ohne Einwir­ kung der CPU 120.
In einem derartigen seriellen Programmiermodus des Mikrocont­ rollers 100 ordnet die NVM-Steuereinheit 160 die seriellen Daten einschließlich eines Befehlfeldes von z. B. 4 Bit, eines Adressfeldes von z. B. 20 Bit und eines Datenfeldes in einem parallelen Datenformat an und führt dem EEP-NVM 130 parallel eine Adresse ADDR und Daten DATA zusammen mit einigen Steuer­ signalen CONT zu. Anschließend steuert die NVM-Steuereinheit 160 einen Schreibvorgang des EEP-NVM 130 basierend auf dem Schreibbefehl und der Adresse. Nach Abschluß des obigen Pro­ grammiervorgangs kann der EEP-NVM 130 als Boot-Speicher des Mikrocontrollers 100 verwendet werden.
Wie oben angegeben, ist der erfindungsgemäße Mikrocontroller in der Lage, einen Onboard-Programmiervorgang ohne irgendwel­ che anderen Speicher außer dem EEP-NVM 130 durchzuführen, wie ein ROM und/oder ein RAM, wodurch eine geringere Chipabmes­ sung und niedrigere Kosten erzielt werden.
Andere Betriebsarten, wie beispielsweise der zu einem Schreibmodus des EEP-NVM 130 gehörigen Nutzerprogrammiermo­ dus, Mikrocontroller-Testmodi und andere Betriebsarten des EEP-NVM, d. h. zugehörige Lösch- und Lesemodi, werden durch einen Moduseinstellbefehl gesetzt, der von einem externen Steuerprogrammquellengerät abgegeben wird, wie einer ROM- Schreibeinheit oder einem Hauptcomputer. In diesem zweiten Programmiermodus deaktiviert die Modussteuereinheit 110 den seriellen I/O-Anschluß 162, der mit der NVM-Steuereinheit 160 verbunden ist, und die CPU 120 empfängt über die Kommunikati­ onsschnittstelle 150 einen Befehl für einen internen Vorgang, um diesen Befehl zu decodieren. Anschließend setzt die CPU 120 in der NVM-Steuereinheit 160 zugehörige Steuerbits in Re­ aktion auf den decodierten Befehl für einen internen Vorgang. Wenn der decodierte Befehl einen Lese- oder Lösch-Vorgang an­ zeigt, entnimmt die CPU 120 die betreffende Adresse von der Kommunikationsschnittstelle 150 und sendet sie zur NVM- Steuereinheit 160. Wenn der decodierte Befehl einen Schreib­ vorgang anzeigt, sendet die CPU 120 die betreffende Adresse und die zugehörigen Daten von der Kommunikationsschnittstelle 150 zur NVM-Steuereinheit 160. Danach hält die NVM- Steuereinheit 160 die CPU 120 an, bis der Schreibvorgang für den EEP-NVM 130 abgeschlossen ist.
Wenn ein EEPROM oder ein Flash-EEPROM als der EEP-NVM 130 verwendet wird, beinhaltet der Mikrocontroller 100 vorzugs­ weise eine Steuereinheit 180 zur Lösch- und Programmierzeit­ steuerung. Diese Steuereinheit 180 erlaubt ein Löschen oder Programmieren des EEPROM oder des Flash-Speichers mit einer konstanten Lösch- oder Programmiergeschwindigkeit unabhängig von der Umgebung des Systems, für das der erfindungsgemäße Mikrocontroller 100 eingesetzt wird. Die Steuereinheit 180 zur Programmier- und Löschzeitsteuerung beinhaltet einen nicht gezeigten Taktgenerator zur Erzeugung eines Lösch- und/oder Programmiersynchronisiertaktsignals ICLK konstanter Frequenz, das dazu dient, den EEPROM oder Flash-Speicher zu takten. Dadurch kann das EEPROM oder der Flash-Speicher mit konstanter Geschwindigkeit unabhängig von einem Systemhaupt­ taktsignal gelöscht oder programmiert werden, das an den Mik­ rocontroller 100 von außen angelegt wird, was Probleme bezüg­ lich übermäßigem Löschen und Schreibstörung für das EEPROM oder den Flash-Speicher vermeidet.
Fig. 2 zeigt als Blockdiagramm exemplarische Verbindungen der CPU 120, des EEP-NVM 130 und der NVM-Steuereinheit 160. Wie daraus ersichtlich, beinhaltet der EEP-NVM 130 ein nicht- flüchtiges Speicherzellenfeld 132, wie ein EEPROM-Zellenfeld, ein Flash-Speicherzellenfeld oder ein ferroelektrisches Spei­ cherzellenfeld. Des weiteren weist der EEP-NVM 130 einen Da­ tenpuffer 134 zum temporären Speichern von Daten während ei­ ner langen Schreibdauer für z. B. EEPROMs oder Flash-Speicher auf. Zum selben Zweck kann die CPU 120 auch eine Registerda­ tei 122 aufweisen.
Im Fall der Verwendung eines EEPROM oder Flash-Speichers für den EEP-NVM 130 beinhaltet dieser eine Steuerschaltung 136 für hohe Spannung, wie eine Ladungspumpschaltung, zur Durch­ führung seiner Programmier- und Löschvorgänge. Des weiteren ist ein jeweiliges Speicherzellenfeld des EEPROMs oder Flash- Speichers in mehrere Sektoren SEC1, SEC2, . . ., SECn unter­ teilt und mit einer Löschsperrfunktion und/oder Schreibsperr­ funktion für jeden einzelnen Sektor ausgerüstet, so dass das EEPROM oder der Flash-Speicher lösch- und/oder programmierge­ sperrte Sektoren erkennen und ein fehlerhaftes Löschen und/oder Beschreiben von lösch- und/oder schreibgesperrten Zellensektoren verhindern kann. Diese Funktionen werden wei­ ter unten näher erläutert.
Die NVM-Steuereinheit 160 weist eine serielle Schnittstelle 164 und eine Speicherschnittstellenschaltung 166 auf. Die se­ rielle Schnittstelle 164 dient zur Anbindung von Komponenten außerhalb des Mikrocontrollers 100 im Werkzeugmodus. Die Speicherschnittstellenschaltung 166 weist ein Adressenregis­ ter 166a, ein Datenregister 166b, eine Steuerregisterschal­ tung 166c und einen Adressenselektor 166d auf.
Im Werkzeugmodus werden Adressen, Daten und Befehle von der seriellen Schnittstelle 164 dem Adressenregister 166a, dem Datenregister 166b und der Steuerregisterschaltung 166c zuge­ führt. Außerdem sind das Adressenregister 166a an den Adress­ bus 172, das Datenregister 166b an den Datenbus 174 und die Steuerregisterschaltung 166c an den Steuerbus 176 angeschlos­ sen. Im Nutzerprogrammiermodus empfängt jedoch die CPU 120 einen Befehl für einen internen Vorgang über die Kommunikati­ onsschnittstelle 150, um diesen Befehl zu decodieren. An­ schließend setzt die CPU 120 in der Steuerregisterschaltung 166c Steuerbits fest. Wenn der decodierte Befehl einen Lese- oder Löschvorgang anzeigt, holt sich die CPU 120 Adressen von der Kommunikationsschnittstelle 150 und legt sie im Adressen­ register 166a ab. Wenn der decodierte Befehl einen Schreib­ vorgang anzeigt, holt sich die CPU 120 Adressen und Daten von der Kommunikationsschnittstelle 150 und legt die Adressen im Adressenregister 166a und die Daten im Datenregister 166b über den Adressbus 172 bzw. den Datenbus 174 ab. Anschließend hält die NVM-Steuereinheit 160 die CPU 120 an, bis der Schreibvorgang für den EEP-NVM 130 abgeschlossen ist.
Die Betriebsarten des Mikrocontrollers 100 einschließlich des Werkzeugmodus, des Nutzerprogrammiermodus und einiger Testmo­ di werden durch eine jeweilige Kombination der Modusauswahl­ befehlssignale RESET# und REST0 bis TEST2 festgesetzt, die dem Eingangsanschluß 112 der Modussteuereinheit 110 zugeführt werden.
Im Werkzeugmodus deaktiviert die Modussteuereinheit 110 die CPU 120 und die Kommunikationsschnittstelle 150, bis ein an­ derer Betriebsmodus aktiviert wird. Im Werkzeugmodus werden der Befehl, die Adresse und die Daten vorzugsweise seriell der NVM-Steuereinheit 160 über den seriellen I/O-Anschluss 162 zugeführt. Dadurch ist der Mikrocontroller 100 in der La­ ge, eine Onboard-Programmierung des EEP-NVM 130 ohne einen weiteren Schreibprogrammspeicher, wie ein ROM oder ein RAM, auszuführen. Die NVM-Steuereinheit 160 schreibt direkt einen Steuerprogrammsatz, d. h. entsprechende Daten, in den adres­ sierten Bereich des EEP-NVM 130 gemäß der empfangenen Adres­ se. Der so programmierte EEP-NVM 130 kann als Boot-Speicher des Mikrocontrollers 100 verwendet werden. Es versteht sich, dass ein solcher Steuerprogrammsatz auch in einem Offboard- Zustand des Mikrocontrollers 100 in den EEP-NVM 130 unter Verwendung eines ROM-Schreibgerätes, eines Hauptcomputers oder dergleichen geschrieben werden kann.
Im Nutzerprogrammiermodus deaktiviert die Modussteuereinheit 110 den seriellen I/O-Anschluss 162. Die CPU 120 liest einen Moduseinstellbefehl von der Kommunikationsschnittstelle 150 und setzt vorzugsweise fünf Stellen der Internbetrieb- Steuerbits der Steuerregisterschaltung 166c mittels Decodie­ ren des Befehls. Wenn der decodierte Befehl für einen inter­ nen Vorgang einen Lese- oder Löschvorgang anzeigt, bewegt die CPU 120 eine Adresse von der Kommunikationsschnittstelle 150 zum Adressenregister 166a. Wenn der decodierte Befehl einen Schreibvorgang anzeigt, bewegt die CPU 120 eine Adresse und Daten von der Kommunikationsschnittstelle 150 zum Adressenre­ gister 166a bzw. zum Datenregister 166b. Danach hält die NVM- Steuereinheit 160 die CPU 120 an, bis der Schreibvorgang für den EEP-NVM 130 abgeschlossen ist.
Im Nutzerprogrammiermodus gibt die CPU 120 einen Schreibbe­ fehl ab, welcher der NVM-Steuereinheit 160 anzeigt, dass der EEP-NVM 130 in einen Schreibvorgang für ein Aktualisierungs­ programm eintritt, das zu einem Teil des im EEP-NVM 130 ge­ speicherten Steuerprogrammsatzes gehört. Der Befehl wird über die NVM-Steuereinheit 160 an den EEP-NVM 130 übertragen. Das Aktualisierungsprogramm, d. h. ein Teil des Steuerprogrammsat­ zes, wird der NVM-Steuereinheit 160 über die Busse 170 von einem Gerät außerhalb des Mikrocontrollers 100 zugeführt und zur Aktualisierung des im EEP-NVM 130 gespeicherten Steuer­ programmsatzes verwendet. Das Aktualisierungsprogramm wird ebenfalls in den EEP-NVM 130 geschrieben, während der Mikro­ controller 100 auf einer Leiterplatte eines Systems montiert ist. Andererseits hält die NVM-Steuereinheit 160 die CPU 120 dadurch an, dass sie ein CPU-Haltesignal HALT in Reaktion auf den Schreibbefehl von der CPU 120 erzeugt. Wie in Fig. 3 dar­ gestellt, die ein Zeitsteuerungsdiagramm des Nutzerprogram­ miermodus zeigt, hält ein CPU-Wartesignal die Verarbeitung durch die CPU 120 an, während das Aktualisierungsprogramm in den EEP-NVM 130 geschrieben wird. Während dieser CPU-Warte­ zeit werden sowohl ein Freigabesignal HVE für hohe Spannung als auch ein Programmier-/Löschsteuersignal Programmieren/Lö­ schen für EEPROMs und Flash-Speicher aktiv.
Fig. 4 veranschaulicht Schlüsselregister, die in der NVM- Steuereinheit 160 enthalten sind. Gemäß Fig. 4 sind vier Re­ gister KR1-KR4 mit je acht Bit vorgesehen. Die Schlüsselre­ gister KR1-KR4 verhindern, dass innerhalb der NVM-Steuer­ einheit 160 auf die Steuerregister zugegriffen wird, solange nicht erste bis vierte vorgegebene Schlüsselwerte in das je­ weilige Register KR1-KR4 geschrieben werden. Speziell können die Register in der Steuerregisterschaltung 166c nur dann be­ schrieben werden, wenn die Register KR1-KR4 die ersten bis vierten Schlüsselwerte enthalten, z. B. die Werte "01011010" (= 5A hexadezimal), "10100101" (= A5 hexadezimal), "01011010" bzw. "10100101".
Fig. 5 veranschaulicht ein Format eines in der NVM-Steuer­ einheit 160 enthaltenen, bitprogrammierbaren Nutzerprogram­ miersteuerregisters mit 16 Bit. Gemäß Fig. 5 beinhaltet das bitprogrammierbare Register ein Hochgeschwindigkeitsbit FAST, Zugriffzyklusbits ACC0-ACC2 zum Zuweisen von Zugriffszyklen für den EEP-NVM, ein Softwaredatenschutz-Sperrbit SDPD, ein Bit STRSTP zum Starten und Stoppen des Betriebs, ein Sektor­ programmierfreigabebit SPGM, ein Optionssektorprogrammier­ freigabebit OSPGM, ein Sektorlöschfreigabebit SERS insbeson­ dere für EEPROMs und ein Optionssektorlöschfreigabebit OSERS insbesondere für EEPROMs. Alle sechzehn Bit des bitprogram­ mierbaren Registers sind anfänglich auf logisch "0" gesetzt.
Wenn das Hochgeschwindigkeitsbit FAST auf logisch "1" gesetzt wird, ist der interne Schaltungsaufbau des EEP-NVM 130 für einen Betriebsmodus mit hoher Geschwindigkeit konfiguriert, z. B. für einen Verschachtelungsmodus. Die Zugriffszyklusbits ACC0 bis ACC2 bezeichnen Zugriffszyklen für den EEP-NVM. Bei­ spielsweise bezeichnen "000" 3 Zyklen, "001" 1 Zyklus, "010" 2 Zyklen und "011" den Zustand "Bank gesperrt".
Das Konfigurieren der Nutzerprogrammiersteuerregister beginnt mit dem Setzen des Softwaredatenschutz-Sperrbits SPDP und ei­ nes der Bits SPGM, OSPGM, SERS und OSERS auf logisch "1". In diesem Zustand beginnt der EEP-NVM 130 mit dem Betrieb, wenn das Bit STRSTP auf logisch "1" gesetzt wird. Während des Be­ triebs des EEP-NVM 130 hält die CPU 120 an und verbleibt in einem Wartezustand, wie oben beschrieben. Die CPU 120 arbei­ tet nicht vor Abschluss des Betriebs des EEP-NVM 130.
Fig. 6 veranschaulicht ein Format eines in der NVM-Steuer­ einheit 160 enthaltenen Nutzerprogrammierfehlerregisters. Wie aus Fig. 6 ersichtlich, enthält das Fehlerregister ein Konfi­ gurationsfehlerbit CFGERR, ein Programmierfehlerbit PGMERR und ein Spannungsfehlerbit VTGERR.
Das Konfigurationsfehlerbit CFGERR ist auf logisch "1" ein­ gestellt, wenn mehr als zwei der Bits SPGM, OSPGM, SERS und OSERS des Nutzerprogrammiersteuerregisters von Fig. 5 gleichzeitig auf logisch "1" gesetzt sind. Sobald das Konfi­ gurationsfehlerbit CFGERR auf logisch "1" gesetzt wurde, kann auf das Nutzerprogrammiersteuerregister nicht mehr zugegrif­ fen werden, bis das Bit CFGERR auf logisch "0" zurückgesetzt wurde.
Das Programmierfehlerbit PGMERR wird auf logisch "1" gesetzt, wenn ein Programmierdatenwert nicht mit einem programmierten Datenwert im Programmierbetrieb übereinstimmt. Der program­ mierte Datenwert wird intern direkt nach dem Programmiervor­ gang mit dem programmierten Datenwert verglichen. Das Span­ nungsfehlerbit VTGERR ist auf logisch "1" gesetzt, wenn Be­ triebsspannungen, wie Programmierspannungen und Löschspannun­ gen eines EEPROM oder Flash-Speichers, unter untere Grenzwer­ te abfallen oder über obere Grenzwerte ansteigen.
Fig. 7 veranschaulicht ein Format eines in der NVM-Steuer­ einheit 160 enthaltenen Sektorschutzhinweisregisters für den Fall, dass der EEP-NVM 130 von einem EEPROM oder Flash- Speicher mit 256 Kbyte gebildet ist, dessen Speicherzellen­ feld in sechzehn Sektoren mit je 2 Kbyte und sieben Sektoren mit je 32 Kbyte aufgeteilt ist. Wie aus Fig. 7 ersichtlich, bilden Bits L0 bis LF Schutzmarkierungen für die sechzehn Sektoren mit je 2 Kbyte, und Bits U1 bis U7 bilden Schutzmar­ kierungen für die sieben Sektoren mit je 32 Kbyte. Wenn ein jeweiliges Hinweisbit auf logisch "1" gesetzt wird, wird der zugehörige Sektor bzgl. Löschen/Programmieren gesperrt. Es sei angemerkt, dass das Sektorschutzhinweisregister statt in der NVM-Steuereinheit im Zellenfeld des EEP-NVM oder dessen Peripherie implementiert sein kann.
Fig. 8 veranschaulicht einen zweiten erfindungsgemäßen Mikro­ controller 100', der in seinem Aufbau im wesentlichen demje­ nigen von Fig. 1 mit der Ausnahme entspricht, dass er zusätz­ lich ein Puffer-RAM 190, wie ein statisches RAM (SRAM) oder ein ferroelektrisches RAM (FRAM), beinhaltet und I/O-An­ schlüsse 140 statt oder zusätzlich zur Kommunikationsschnitt­ stelle 150 vorgesehen sind. Der Pufferspeicher 190 ist mit den Bussen 170 verbunden und wird zur temporären Speicherung von Daten, wie einem Aktualisierungsprogramm, z. B. während des Nutzerprogrammiermodus verwendet, in dem das Aktualisie­ rungsprogramm, d. h. heißt ein Teil des Steuerprogramms, in den EEP-NVM 130 geschrieben wird. In diesem Fall stellt die CPU 120 die Steuerregisterschaltung 166c der NVM-Steuerein­ heit 160 (siehe Fig. 2) so ein, dass die im Pufferspeicher 190 gespeicherten Daten über die NVM-Steuereinheit 160 in den EEP-NVM 130 geschrieben werden. Außerdem wird der Pufferspei­ cher 190 durch die Modussteuereinheit 110 im Werkzeugmodus, in welchem der Mikrocontroller mit einem kompletten Satz von Steuerprogrammen programmiert wird, zusammen mit der CPU 120, den I/O-Anschlüssen 140, den Kommunikationsschnittstellen 150 und den Bussen 170 deaktiviert.
Alternativ werden externe Daten temporär in einer Registerda­ tei 122 innerhalb der CPU 120 gespeichert. In diesem Fall stellt die CPU 120 die Steuerregisterschaltung 166c der NVM- Steuereinheit 160 so ein, dass die in der Registerdatei 122 gespeicherten Daten z. B. während des Nutzerprogrammiermodus über die NVM-Steuereinheit 160 in den EEP-NVM 130 geschrieben werden.
In einer weiteren erfindungsgemäßen Ausführungsform werden externe Daten temporär in einem Datenpuffer 134 des EEP-NVM 130, siehe Fig. 2, gespeichert. Die CPU 120 stellt dann die Steuerregisterschaltung 166c der NVM-Steuereinheit 160 so ein, dass die im Datenpuffer 134 gespeicherten Daten während Betriebsarten wie z. B. des Nutzerprogrammiermodus über die NVM-Steuereinheit 160 in den EEP-NVM 130 geschrieben werden.
Im übrigen entspricht die Funktionsweise des Mikrocontrollers von Fig. 8 derjenigen des Mikrocontrollers von Fig. 1, mit Ausnahme der oben beschriebenen Unterschiede hinsichtlich des Datenpufferbetriebs.
Die oben erläuterten Ausführungsbeispiele zeigen, dass die Erfindung einen Mikrocontroller bereitstellt, der in der Lage ist, einen Onboard-Programmierbetrieb ohne jegliche weitere Speicher außer dem EEP-NVM zum Speichern von Daten oder eines Steuerprogramms auszuführen. Außerdem kann der Mikrocontrol­ ler eine konstante Löschdauer und eine konstante Programmier­ dauer unabhängig von der Systemumgebung besitzen, so dass keine Probleme hinsichtlich übermäßiger Löschung und Schreib­ störung auftreten. Zudem benötigt der Mikrocontroller nur ei­ ne reduzierte Chipfläche, was die Herstellungskosten senkt. Die erfindungsgemäße Onboard-Programmierarchitektur ist für alle Mikrocontroller beliebigen Typs mit elektrisch program­ mierbaren, nichtflüchtigen Halbleiterspeichern unabhängig von deren Leistungsvermögen anwendbar, d. h. die erfindungsgemäße Architektur kann für Mikrocontroller mit elektrisch program­ mierbaren, nichtflüchtigen Halbleiterspeichern sowohl der hö­ heren als auch der niedrigeren Preisklasse benutzt werden.

Claims (22)

1. Mikrocontroller mit
  • - einer Zentralprozessoreinheit (120), die an eine Mehrzahl von Bussen (170) angeschlossen ist,
  • - einer Modussteuereinheit (110) zur Erzeugung von Mo­ dussteuersignalen zum Einstellen von Betriebsarten des Mikro­ controllers in Reaktion auf ein Modusauswahlsignal,
  • - einer mit den Bussen verbundenen Kommunikations­ schnittstelle (150) zur externen Geräteanbindung und
  • - einem elektrisch wiederbeschreibbaren, nichtflüchti­ gen Speicher (130),
dadurch gekennzeichnet, dass
  • - der elektrisch wiederbeschreibbare, nichtflüchtige Speicher (130) zur Speicherung von Daten und eines Steuerpro­ gramms dient und
  • - eine mit dem elektrisch wiederbeschreibbaren, nicht­ flüchtigen Speicher verbundene Speichersteuereinheit (160) vorgesehen ist, die funktionell mit den Bussen (170) und/oder der Kommunikationsschnittstelle (150) gekoppelt ist, um einen Befehl für den nichtflüchtigen Speicher, eine Adresse und/oder Daten in Abhängigkeit von den Modussteuersignalen zu empfangen,
2. Mikrocontroller nach Anspruch 1, weiter dadurch ge­ kennzeichnet, dass die Speichersteuereinheit (160) eine se­ rielle Schnittstelle enthält und über die Kommunikations­ schnittstelle und/oder die serielle Schnittstelle den Befehl für den nichtflüchtigen Speicher sowie die Adresse und/oder die Daten empfängt.
3. Mikrocontroller nach Anspruch 1 oder 2, weiter da­ durch gekennzeichnet, dass die Speichersteuereinheit (160) in einer der Betriebsarten direkt ohne Einwirkung der Zentral­ prozessoreinheit (120) die Daten und die Adresse aus dem nichtflüchtigen Speicher (130) liest und/oder in diesen schreibt.
4. Mikrocontroller nach einem der Ansprüche 1 bis 3, weiter dadurch gekennzeichnet, dass die Speichersteuereinheit (160) in einer der Betriebsarten die Zentralprozessoreinheit (120) anhält und die Daten und die Adresse direkt aus dem nichtflüchtigen Speicher (130) liest und/oder in diesen schreibt.
5. Mikrocontroller nach einem der Ansprüche 1 bis 4, weiter dadurch gekennzeichnet, dass der Befehl für den nicht­ flüchtigen Speicher (130) einen internen Vorgang für densel­ ben anzeigt, insbesondere einen Lesevorgang, einen Schreib­ vorgang oder einen Löschvorgang.
6. Mikrocontroller nach einen der Ansprüche 1 bis 5, weiter dadurch gekennzeichnet, dass die Speichersteuereinheit (160) den Befehl für den nichtflüchtigen Speicher und die Ad­ resse im Lesebetrieb oder im Löschbetrieb empfängt.
7. Mikrocontroller nach einem der Ansprüche 1 bis 6, weiter dadurch gekennzeichnet, dass die Speichersteuereinheit (160) im Schreibbetrieb einen Satz aus dem Befehl für den nichtflüchtigen Speicher, einer Adresse und Daten empfängt.
8. Mikrocontroller nach einem der Ansprüche 1 bis 7, weiter dadurch gekennzeichnet, dass die Speichersteuereinheit während eines Programmiermodus den internen Betrieb des nichtflüchtigen Speichers steuert, wobei die Zentralprozes­ soreinheit angehalten wird und in einem inaktiven Zustand bleibt.
9. Mikrocontroller nach Anspruch 8, weiter dadurch ge­ kennzeichnet, dass die Speichersteuereinheit den Befehl für den nichtflüchtigen Speicher sowie die Adresse und/oder die Daten über die serielle Schnittstelle von außerhalb des Mikro­ controllers seriell empfängt.
10. Mikrocontroller nach Anspruch 8 oder 9, weiter da­ durch gekennzeichnet, dass die empfangenen Daten aus einem Steuerprogrammsatz bestehen, der eine Liste von Programmin­ struktionen und Programmdaten zum Programmieren des Mikro­ controllers umfasst.
11. Mikrocontroller nach einem der Ansprüche 8 bis 10, weiter dadurch gekennzeichnet, dass die Speichersteuereinheit einen Steuerprogrammsatz und Daten seriell empfängt und den Steuerprogrammsatz und die Daten parallel in den nichtflüch­ tigen Speicher (130) schreibt.
12. Mikrocontroller nach einen der Ansprüche 1 bis 11, weiter dadurch gekennzeichnet, dass die Zentralprozessorein­ heit einen Befehl für einen internen Vorgang des nichtflüch­ tigen Speichers über die Kommunikationsschnittstelle empfängt und decodiert, um mehrere Steuerbits der Speichersteuerein­ heit in Reaktion auf den decodierten Befehl zu schreiben.
13. Mikrocontroller nach Anspruch 12, weiter dadurch ge­ kennzeichnet, dass die Speichersteuereinheit die Zentralpro­ zessoreinheit in Reaktion auf den ihr von dort zugeführten Schreibbefehl anhält, während ein Aktualisierungsprogramm in den nichtflüchtigen Speicher geschrieben wird.
14. Mikrocontroller nach Anspruch 12 oder 13, weiter da­ durch gekennzeichnet, dass die in der Speichersteuereinheit enthaltene serielle Schnittstelle in einem inaktiven Zustand bleibt.
15. Mikrocontroller nach einem der Ansprüche 12 bis 14, weiter gekennzeichnet durch einen mit den Bussen verbundenen Pufferspeicher, eine in der Zentralprozessoreinheit enthalte­ ne Registerdatei und einen im nichtflüchtigen Speicher ent­ haltenen Datenpuffer zum temporären Speichern eines Steuer­ programmsatzes und von Daten.
16. Mikrocontroller nach einem der Ansprüche 1 bis 15, weiter dadurch gekennzeichnet, dass die Speichersteuereinheit einen Satz aus einem Steuerregister, einem Adressenregister und einem Datenregister beinhaltet, die funktionell mit einem der Busse oder der seriellen Schnittstelle verbunden sind.
17. Mikrocontroller nach Anspruch 16, weiter dadurch ge­ kennzeichnet, dass das Steuerregister, das Adressenregister und das Datenregister über einen Adressdecoder an einen Ad­ ressbus gekoppelt sind.
18. Mikrocontroller nach Anspruch 16 oder 17, weiter da­ durch gekennzeichnet, dass die Speichersteuereinheit des wei­ teren einen Multiplexer zum selektiven Ausgeben eines Aus­ gangssignals eines Adressbusses oder des Adressenregisters in Reaktion auf ein Adressenauswahlsignal vom Steuerregister aufweist.
19. Mikrocontroller nach einem der Ansprüche 16 bis 18, weiter dadurch gekennzeichnet, dass die Speichersteuereinheit ein Sektorschutzhinweisregister aufweist, um ein falsches Schreiben in einen schreibgesperrten Zellensektor zu verhin­ dern.
20. Mikrocontroller nach einem der Ansprüche 1 bis 19, weiter gekennzeichnet durch eine Programmier-/Lösch- Zeitsteuereinheit, um den nichtflüchtigen Speicher unabhängig von einer Systemumgebung, in welcher der Mikrocontroller an­ gebracht ist, auf einer konstanten Programmier-/Lösch­ geschwindigkeit zu halten.
21. Mikrocontroller nach Anspruch 20, weiter dadurch ge­ kennzeichnet, dass die Programmier-/Lösch-Zeitsteuereinheit einen Taktgenerator zur Erzeugung eines synchronen Program­ mier-/Lösch-Taktsignals unabhängig von einem an den Mikro­ controller angelegten Haupttakt aufweist.
22. Mikrocontroller nach einem der Ansprüche 1 bis 21, weiter dadurch gekennzeichnet, dass die Zentralprozessorein­ heit während eines Programmiermodus Adressen und Daten von der Kommunikationsschnittstelle zur Speichersteuereinheit be­ wegt und die Speichersteuereinheit einen Lese- oder Schreib­ vorgang für den nichtflüchtigen Speicher ohne Einwirkung der Zentralprozessoreinheit ausführt.
DE10052877A 1999-10-21 2000-10-19 Mikrocontroller Expired - Lifetime DE10052877B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1999-45785 1999-10-21
KR19990045785 1999-10-21
KR2000-61457 2000-10-19
KR10-2000-0061457A KR100375217B1 (ko) 1999-10-21 2000-10-19 전기적으로 재기입 가능한 불휘발성 메모리를 구비하는마이크로컨트롤러

Publications (2)

Publication Number Publication Date
DE10052877A1 true DE10052877A1 (de) 2001-08-02
DE10052877B4 DE10052877B4 (de) 2008-07-03

Family

ID=26636224

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10052877A Expired - Lifetime DE10052877B4 (de) 1999-10-21 2000-10-19 Mikrocontroller

Country Status (5)

Country Link
US (1) US6839774B1 (de)
KR (1) KR100375217B1 (de)
DE (1) DE10052877B4 (de)
IT (1) IT1320721B1 (de)
TW (1) TW486668B (de)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1380907A1 (de) * 2002-07-12 2004-01-14 ABB Research Ltd. Elektronische Einheit für ein Feldgerät
WO2003104976A3 (en) * 2002-06-06 2004-06-03 Koninkl Philips Electronics Nv Method and apparatus for writing data to a non-volatile memory
EP1457880A1 (de) 2003-03-10 2004-09-15 Samsung Electronics Co., Ltd. Verfahren, Schaltungen und Datenstrukturen zur Programmierung von elektronischen Geräten
JP2005292863A (ja) * 2003-03-10 2005-10-20 Samsung Electronics Co Ltd 電子装置をプログラムする方法及び回路並びにデータ構造

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US7765095B1 (en) 2000-10-26 2010-07-27 Cypress Semiconductor Corporation Conditional branching in an in-circuit emulation system
US7185162B1 (en) * 2000-10-26 2007-02-27 Cypress Semiconductor Corporation Method and apparatus for programming a flash memory
US7406674B1 (en) 2001-10-24 2008-07-29 Cypress Semiconductor Corporation Method and apparatus for generating microcontroller configuration information
JP2003140835A (ja) * 2001-11-02 2003-05-16 Nec Gumma Ltd データ記憶装置
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
JP4136359B2 (ja) * 2001-11-15 2008-08-20 株式会社ルネサステクノロジ マイクロコンピュータ
US6971004B1 (en) 2001-11-19 2005-11-29 Cypress Semiconductor Corp. System and method of dynamically reconfiguring a programmable integrated circuit
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
US7774190B1 (en) 2001-11-19 2010-08-10 Cypress Semiconductor Corporation Sleep and stall in an in-circuit emulation system
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US7770113B1 (en) 2001-11-19 2010-08-03 Cypress Semiconductor Corporation System and method for dynamically generating a configuration datasheet
KR20030073824A (ko) * 2002-03-13 2003-09-19 주식회사 레인콤 범용 직렬 버스를 이용한 시스템의 펌웨어 업그레이드방법 및 장치
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
KR100878527B1 (ko) * 2002-07-08 2009-01-13 삼성전자주식회사 Nand 형 플래쉬 메모리 제어기와 제어기에서 사용되는클럭제어방법
US7761845B1 (en) 2002-09-09 2010-07-20 Cypress Semiconductor Corporation Method for parameterizing a user module
US7295049B1 (en) 2004-03-25 2007-11-13 Cypress Semiconductor Corporation Method and circuit for rapid alignment of signals
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
US7707586B2 (en) * 2004-09-08 2010-04-27 Intel Corporation Operating system independent agent
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
CN101189371B (zh) * 2005-02-07 2012-01-18 海珀里昂催化国际有限公司 单壁碳纳米管催化剂
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
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
US7487287B2 (en) * 2006-02-08 2009-02-03 Atmel Corporation Time efficient embedded EEPROM/processor control method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US9564902B2 (en) 2007-04-17 2017-02-07 Cypress Semiconductor Corporation Dynamically configurable and re-configurable data path
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
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
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US8092083B2 (en) 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) * 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
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
US8874831B2 (en) 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
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
US9448964B2 (en) 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
US20110142074A1 (en) * 2009-12-16 2011-06-16 William Henry Lueckenbach Serial communication module with multiple receiver/transmitters
US8966253B1 (en) * 2010-06-01 2015-02-24 Xilinx, Inc. Method and apparatus for authenticating a programmable device bitstream
US8909941B1 (en) 2011-03-31 2014-12-09 Xilinx, Inc. Programmable integrated circuit and a method of enabling the detection of tampering with data provided to a programmable integrated circuit
JP2013250965A (ja) * 2012-05-02 2013-12-12 Semiconductor Energy Lab Co Ltd 半導体装置およびその駆動方法
US9214959B2 (en) 2013-02-19 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for skip layer data decoding
US10372551B2 (en) * 2013-03-15 2019-08-06 Netlist, Inc. Hybrid memory system with configurable error thresholds and failure analysis capability
US9274889B2 (en) 2013-05-29 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data processing using global iteration result reuse
US8959414B2 (en) 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
US8917466B1 (en) 2013-07-17 2014-12-23 Lsi Corporation Systems and methods for governing in-flight data sets in a data processing system
US8817404B1 (en) 2013-07-18 2014-08-26 Lsi Corporation Systems and methods for data processing control
US8908307B1 (en) 2013-08-23 2014-12-09 Lsi Corporation Systems and methods for hard disk drive region based data encoding
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US9298720B2 (en) 2013-09-17 2016-03-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for fragmented data recovery
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
KR102140592B1 (ko) * 2013-10-18 2020-08-03 에스케이하이닉스 주식회사 데이터 저장 장치
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
CN111198836B (zh) * 2018-11-20 2024-05-07 阿里巴巴集团控股有限公司 数据处理装置和计算设备
CN112115066A (zh) * 2019-06-20 2020-12-22 北京忆芯科技有限公司 基于存储命令处理时间预测而调度存储命令的介质接口控制器及其方法
CN111506333B (zh) * 2020-04-27 2023-05-16 湖北三江航天红峰控制有限公司 一种双dsp程序在线升级方法及系统
CN113836059B (zh) * 2021-11-26 2022-03-29 广州智慧城市发展研究院 一种应用于eeprom存储器的控制系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW231343B (de) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
JP3281127B2 (ja) 1993-07-28 2002-05-13 シャープ株式会社 Otpマイコン
CN1046168C (zh) 1993-07-29 1999-11-03 爱特梅尔股份有限公司 用于微控制器的可遥控改编程序的程序存储器
JPH0844628A (ja) * 1994-08-03 1996-02-16 Hitachi Ltd 不揮発性メモリ、およびそれを用いたメモリカード、情報処理装置、ならびに不揮発性メモリのソフトウェアライトプロテクト制御方法
US5826068A (en) * 1994-11-09 1998-10-20 Adaptec, Inc. Integrated circuit with a serial port having only one pin
US5606710A (en) * 1994-12-20 1997-02-25 National Semiconductor Corporation Multiple chip package processor having feed through paths on one die
JP3693721B2 (ja) 1995-11-10 2005-09-07 Necエレクトロニクス株式会社 フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法
JP3076239B2 (ja) * 1996-01-17 2000-08-14 日本電気アイシーマイコンシステム株式会社 オンボード書込制御方法
US5950222A (en) * 1996-03-14 1999-09-07 Sanyo Electric Co., Ltd. Microcomputer using a non-volatile memory
US6226724B1 (en) * 1997-09-03 2001-05-01 Motorola, Inc. Memory controller and method for generating commands to a memory
JP4229482B2 (ja) * 1997-10-24 2009-02-25 株式会社ルネサステクノロジ フラッシュメモリ内蔵マイクロコンピュータ
JP4587500B2 (ja) * 1998-11-11 2010-11-24 ルネサスエレクトロニクス株式会社 半導体集積回路、メモリモジュール、記憶媒体、及び半導体集積回路の救済方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003104976A3 (en) * 2002-06-06 2004-06-03 Koninkl Philips Electronics Nv Method and apparatus for writing data to a non-volatile memory
CN100430888C (zh) * 2002-06-06 2008-11-05 Dsp集团瑞士股份公司 把数据写入非易失性存储器的方法和设备
EP1380907A1 (de) * 2002-07-12 2004-01-14 ABB Research Ltd. Elektronische Einheit für ein Feldgerät
EP1457880A1 (de) 2003-03-10 2004-09-15 Samsung Electronics Co., Ltd. Verfahren, Schaltungen und Datenstrukturen zur Programmierung von elektronischen Geräten
JP2005292863A (ja) * 2003-03-10 2005-10-20 Samsung Electronics Co Ltd 電子装置をプログラムする方法及び回路並びにデータ構造
US7831740B2 (en) 2003-03-10 2010-11-09 Samsung Electronics Co., Ltd. Method and circuit for programming electronic devices

Also Published As

Publication number Publication date
US6839774B1 (en) 2005-01-04
TW486668B (en) 2002-05-11
KR20010070149A (ko) 2001-07-25
KR100375217B1 (ko) 2003-03-07
ITTO20000999A1 (it) 2002-04-23
IT1320721B1 (it) 2003-12-10
DE10052877B4 (de) 2008-07-03
ITTO20000999A0 (it) 2000-10-23

Similar Documents

Publication Publication Date Title
DE10052877A1 (de) Mikrocontroller
DE3587661T2 (de) Ein-Chip-Mikrocomputer.
DE69815258T2 (de) Elektrisch programmier- und löschbarer nichtflüchtiger Speicher mit einem lese- und/oder schreibgeschützen Bereich einschliesslich zugehöriger elektronischer Schaltung
DE19615956C2 (de) Ein nicht-flüchtiger, an einen DRAM-Bus anschließbarer Halbleiterspeicher und Verfahren zu dessen Betrieb
DE10159901B4 (de) Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher
DE4114410C2 (de)
DE102008003944B4 (de) Speichersystem und Programmierverfahren für ein Speichersystem
DE69227499T2 (de) Einen Flashspeicher verwendendes Speichergerät
DE3852833T2 (de) Nichtflüchtiger Speicher.
DE102006016247A1 (de) Speicher, Datenverarbeitungssystem, Steuereinheit und Steuerverfahren
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE102004039178A1 (de) Speichersteuerschaltung, Smartcard und Lesesteuerverfahren
DE102005035084B4 (de) Speicherbauelemente und Programmierverfahren
DE112004003005B4 (de) Nicht-Flüchtiges Speicherbauelement
DE69831985T2 (de) Mikrocomputer mit Flash-EEPROM
DE112005003436B4 (de) Halbleiterbauelement, Adressenzuordnungsverfahren und Verifizierungsverfahren
DE102004012279B3 (de) Verfahren und Vorrichtung zum Speicherselbsttest von eingebetteten Speichern in Halbleiterchips
DE69119101T2 (de) Nichtflüchtiges Halbleiterspeichersystem
DE102005057112A1 (de) Nichtflüchtiges Speicherbauelement und Programmierverfahren
DE112004003009B4 (de) Nicht-flüchtiger Speicher und Verfahren zum Festlegen von Information eines Nicht-flüchtigen Speichers
DE60221607T2 (de) Nichtflüchtiger Halbleiterspeicher und Informationsgerät
DE68926158T2 (de) Einchip-Mikrorechner mit EPROM
DE10230132A1 (de) Nichtflüchtige Halbleiterspeichervorrichtung mit Sicherungsspeicherblock
DE69514449T2 (de) Speicheranordnung
DE3916811C2 (de)

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R071 Expiry of right