DE10052877A1 - Mikrocontroller - Google Patents
MikrocontrollerInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23308—Transfer program from ram to eprom, flash, card
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/23—Pc programming
- G05B2219/23345—Memory is eeprom
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25265—Flash memory
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25341—Single chip programmable controller
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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),
- - 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.
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)
| 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)
| 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)
| 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 | ルネサスエレクトロニクス株式会社 | 半導体集積回路、メモリモジュール、記憶媒体、及び半導体集積回路の救済方法 |
-
2000
- 2000-10-19 DE DE10052877A patent/DE10052877B4/de not_active Expired - Lifetime
- 2000-10-19 KR KR10-2000-0061457A patent/KR100375217B1/ko not_active Expired - Fee Related
- 2000-10-20 US US09/693,773 patent/US6839774B1/en not_active Expired - Lifetime
- 2000-10-21 TW TW089122200A patent/TW486668B/zh not_active IP Right Cessation
- 2000-10-23 IT IT2000TO000999A patent/IT1320721B1/it active
Cited By (6)
| 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 |