-
GEBIET DER
ERFINDUNG
-
Die
Erfindung betrifft das Gebiet der Mikrocontroller. Insbesondere
bezieht sich die Erfindung auf die Erweiterung des nutzbaren Speichers,
der auf einem Mikrocontroller zur Verfügung steht.
-
HINTERGRUND
DER ERFINDUNG
-
Mikrocontroller
stellen ein gutes Verhältnis zwischen
Kosten und Leistungen für
solche Anwendungen zur Verfügung,
welche keine extensiven Rechnerleistungen benötigen und für welche keine teuren Komponenten
verwendet werden können.
Ein Mikrocontroller ist üblicherweise
ein monolithisches Bauteil umfassend eine CPU (Central Processing Unit),
ein ROM (Read Only Memory) und ein RAM (Random Access Memory). Das
ROM enthält
den Befehlssatz für
die CPU und das RAM nimmt temporäre,
variable Daten auf, welche von der CPU zur Ausführung der von dem ROM ausgelesenen
Instruktionen benötigt
werden.
-
Oftmals
ist ein Mikrocontroller in der Lage, ein internes ROM, das einen
Teil des Mikrocontrollers darstellt, sowie ein externes ROM anzusprechen.
Ein solcher Typ Mikrocontroller wird beispielsweise durch die
US 5,067,077 offenbart.
Typischerweise weist das externe ROM eine größere Speicherkapazität im Vergleich
zum internen ROM auf. Beispielsweise kann das interne ROM eine Kapazität von 32
KByte aufweisen, während
der Mikrocontroller in der Lage ist, ein externes ROM mit einer
Kapazität
von 64 KByte anzusprechen.
-
Der
Mikrocontroller spricht üblicherweise entweder
das interne oder das externe ROM als Basisspeicher an, und zwar
in Abhängigkeit
des Eingangssignals auf einem der Eingangskontakte des Mikrocontrollers.
Dieser Eingangskontakt wird üblicherweise
als externer Zugangskontakt oder EA-Kontakt bezeichnet. Liegt beispielsweise
das Signal auf dem EA-Kontakt auf dem Tiefpegel (low), wird der
Mikrocontroller auf den externen Speicher als Basisspeicher zugreifen,
falls das Signal auf dem EA-Kontakt einen Hochpegel (high) annimmt,
wird der Mikrocontroller auf den internen Speicher als Basisspeicher
zugreifen.
-
Für den Fall,
dass der interne Speicher als Basisspeicher zugeordnet ist, werden
alle Daten mit Adressen im Bereich des internen Speichers durch einen
Zugriff auf den internen Speicher abgerufen. Wird jedoch nach einer
Adresse oberhalb des Bereichs des internen Speichers nachgefragt,
wird das Datenelement durch einen Zugriff auf den externen Speicher
ausgelesen. Für
den Fall, dass der interne Speicher als Basisspeicher verwendet
wird, werden alle Speicheradressen des internen Speichers zugänglich sein
und Speicheradressen des externen Speichers oberhalb der höchsten Adresse
des internen Speichers werden ebenso zugänglich sein. Folglich werden
in diesem Betriebsmodus die unteren Adressen des externen Speichers,
welche zu den Adressen des internen Speichers korrespondieren, nicht
zugänglich
sein. Für
den Fall, dass der externe Speicher als Basisspeicher verwendet
wird, werden alle Datenwerte für
Adressen innerhalb des Bereichs des externen Speichers durch einen
Zugriff auf den externen Speicher ausgelesen. In diesem Betriebsmodus
sind die Adressen des internen Speichers vollständig unzugänglich.
-
Obwohl
der Zugriff auf den gesamten zur Verfügung stehenden Speicher im
internen Speicher und im externen Speicher einfach erscheint, stellt
die Zuordnung der Steuerung für
diesen Zugriff zum Mikrocontroller eine schwierige Aufgabe dar.
Ein mögliches
Verfahren, um dies zu realisieren, besteht darin, einen Ausgang
des Mikrocontrollers mit dem EA-Kontakt zu verbinden. Folglich kann
der Mikrocontroller den Signalpegel auf dem EA-Kontakt zu jeder
Zeit ändern,
um einen Zugriff des jeweils anderen Speichers als Basisspeicher
zu ermöglichen.
Unglücklicherweise
führt der
Betrieb des Mikrocontrollers in diesem Betriebsmodus zu einer nicht
stabilen Betriebsbedingung. Als Folge empfehlen die meisten Hersteller
von Mikrocontrollern, den Signalpegel auf dem EA-Kontakt nach einem
erfolgten Reset beizubehalten, weiterhin garantieren sie nicht den
sicheren Betrieb des Mikrocontrollers bei einer hiervon abweichenden
Einstellung.
-
Aus
dieser Beschränkung
folgt, dass ein Teil des Speichers, welcher der Kapazität des internen Speichers
entspricht, für
den Fall verschwendet wird, dass der externe Speicher als Basisspeicher
verwendet wird, da in diesem Betriebsmodus ein Zugriff auf den internen
Speicher nicht möglich
ist. Gemäß der anderen
Variante wird ein Teil des Speichers, mit einer Kapazität des externen
Speichers unterhalb der höchsten
Adresse des internen Speichers verschwendet, für den Fall, dass der interne
Speicher als Basisspeicher fungiert, da in diesem Betriebsmodus
dieser Bereich des externen Speichers nicht zugänglich ist. Natürlich ist
es möglich,
für den
Fall, dass ein höherer
Speicherbedarf besteht, Mikrocontroller einzusetzen, welche auf
einen größeren Speicheradressbereich
zugreifen können.
Allerdings sind solche Mikrocontroller teurer und schwächen den Kostenvorteil
ab, welcher sich aus der Verwendung von günstigen Mikrocontrollern ergibt.
-
Es
besteht daher die Notwendigkeit, ein Verfahren anzugeben, welches
kostengünstig
ist, und welches es dem Mikrocontroller zuverlässig erlaubt, den gesamten
zur Verfügung
stehenden internen und externen Speicher auszuwählen und auf diesen zurückzugreifen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
voranstehend genannte und weitere Aufgaben werden durch einen Schaltkreis
erfüllt,
welcher die Auswahl eines Basisspeichers, auf den der Mikrocontroller
zugreift, als Reaktion auf einen vom Mikrocontroller stammenden
Befehl ermöglicht.
Ein Signaleingang empfängt
den vom Mikrocontroller stammenden Befehl. Der Befehl weist den
Schaltkreis selektiv an, am Mikrocontroller einen Reset auszuführen und
ferner dem Mikrocontroller zu signalisieren, auf den internen Speicher
als Basisspeicher zuzugreifen. Entsprechend wird der Befehl den Schaltkreis
selektiv instruieren einen Reset am Mikrocontroller auszuführen und
ein Signal an den Mikrocontroller auszugeben, sodass dieser einen
Zugriff auf den externen Speicher als Basisspeicher vollzieht. Ein
Reset-Ausgang wird dazu verwendet, um ein Reset-Signal an den Mikrocontroller
zu senden, ein Ausgang für
die Speicherauswahl wird dazu verwendet, um ein Speicherauswahlsignal
an den Mikrocontroller zu versenden.
-
Gemäß einer
bevorzugten Ausgestaltung wird der Mikrocontroller durch den Befehl
selektiv instruiert nur eine der beiden voranstehend genannten Prozeduren
zur selben Zeit auszuführen.
Die Wahl zwischen den beiden Prozeduren gründet sich auf dem Befehlsinhalt,
wobei dieser Befehlsinhalt von Mal zu Mal unterschiedlich sein kann.
Falls sich aus dem Befehlsinhalt ergibt, dass der interne Speicher als
Basisspeicher Verwendung finden soll, wird der Schaltkreis als Folge
auf den Befehl angewiesen einen Reset am Mikrocontroller auszuführen und
dem Mikrocontroller anzuzeigen, dass dieser auf den internen Speicher
als Basisspeicher zugreifen soll. Entsprechend wird für den Fall,
dass sich aus dem Befehlsinhalt ergibt, dass der externe Speicher
den Basisspeicher darstellen soll, der Schaltkreis als Folge des
Befehls instruiert, einen Reset am Mikrocontroller auszuführen und
dem Mikrocontroller anzuzeigen, dass dieser auf den externen Speicher
als Basisspeicher zugreifen soll.
-
Ein
logischer Schaltkreis bearbeitet den vom Mikrocontroller empfangenen
Befehl und sendet selektiv ein Speicherauswahlsignal für den internen Speicher
auf den Speicherauswahlausgang als Folge auf den empfangenen, vom
Mikrocontroller ausgehenden Befehl aus, während ein Reset auf dem Mikrocontroller
vollzogen wird und verschickt selektiv ein Speicherauswahlsignal
für den
externen Basisspeicher auf dem Speicherauswahlausgang als Antwort
auf einen vom Mikrocontroller empfangenen Befehl, während die
Abarbeitung des Resetsignals auf dem Mikrocontroller erfolgt.
-
Wie
im Folgenden beschrieben, verschickt der Mikrocontroller Befehle
zum logischen Schaltkreis und der logische Schaltkreis sendet Signale zum
Mikrocontroller als Antwort. Es ist unmittelbar verständlich,
dass die Befehle und die Signale bezüglich des Signaltyps übereinstimmen
können
und gleiche Kommunikationsformen umfassen können. Die beiden Ausdrücke, Befehle
und Signale, sind im Hinblick auf die Klarheit in der vorliegenden
Beschreibung unterschiedlich gewählt,
sodass die jeweilige Richtung der Kommunikation zwischen Mikrocontroller
und logischem Schaltkreis besser verständlich ist. Die Kommunikation
vom Mikrocontroller zum logischen Schaltkreis wird in den meisten
Fällen
als eine Ausgabe von Befehlen bezeichnet und die Kommunikation vom
logischen Schaltkreis zum Mikrocontroller wird meist als eine Ausgabe
von Signalen bezeichnet.
-
Da
die Steuerung des Schaltkreises über den
Mikrocontroller erfolgt, kann der Mikrocontroller bestimmen, wenn
er einen Zugriff auf den externen Speicher als Basisspeicher durchführen will
oder der Zugriff auf den internen Speicher als Basisspeicher erfolgen
soll. Da das Basisspeicher-Auswahlsignal an den Mikrocontroller
im Verlauf eines Resets verschickt wird, der durch den Schaltkreis
unter Steuerung des Mikrocontrollers ausgelöst wird, wird das Signal auf
dem EA-Kontakt nach
dem Vollzug des Resets einer Veränderung
unterliegen und als Folge wird der Mikrocontroller entsprechend
den Empfehlungen des Herstellers auf stabile Art und Weise betrieben.
-
Für bevorzugte
Ausgestaltungsbeispiele der Erfindung ist der Mikrocontroller ein
8-Bit-Mikrocontroller und der externe Speicher ist ein programmierbarer
Flash-Speicher,
der externe Speicher weist eine größere Speicherkapazität im Vergleich
zum inneren Speicher auf, der externe Speicher umfasst einen Befehlssatz
zur Steuerung des Druckers, der interne Speicher umfasst den Befehlssatz
zur Programmierung des Flash-Speichers und der Schaltkreis verschickt
das Speicherauswahlsignal für
den internen Speicher auf dem Speicherauswahlausgang, während das
Reset-Signal über
den Reset-Ausgang als Folge eines Resets beim Hochfahren ausgegeben
wird.
-
Für das erfindungsgemäße Verfahren
zur Auswahl eines Basisspeichers für den Zugriff durch den Mikrocontroller
wird ein Befehl vom Mikrocontroller zum Schaltkreis verschickt.
Der Befehl weist den Schaltkreis selektiv an, am Mikrocontroller
einen Reset auszuführen
und dem Mikrocontroller anzuzeigen, auf den internen Speicher als
Basisspeicher zuzugreifen. Anderenfalls weist der Befehl den Schaltkreis
selektiv an, am Mikrocontroller einen Reset auszuführen und
dem Mikrocontroller anzuzeigen, auf den externen Speicher als Basisspeicher
zuzugreifen.
-
Der
Befehl wird auf einem Eingang des Schaltkreises empfangen und dieser
vom Mikrocontroller stammende, über
einen Eingang des Schaltkreises empfangene Befehl wird durch den
logischen Schaltkreis verarbeitet. Die Verarbeitung umfasst das selektive
Erzeugen eines Speicherauswahlsignals für den internen Speicher und
entsprechend das Erzeugen eines Speicherauswahlsignals für den externen
Speicher.
-
Ein
Reset-Signal wird an den Mikrocontroller übermittelt, und zwar über einen
Reset-Ausgang des Schaltkreises, woraufhin das Reset-Signal auf
dem Reset-Eingang
des Mikrocontrollers empfangen wird. Der Mikrocontroller tritt als
Folge des Empfangs des Reset-Signals auf dem Reset-Eingang in eine
Reset-Prozedur ein. Das Speicherauswahlsignal wird selektiv auf
einem Speicherauswahlausgang des Schaltkreises ausgegeben, wobei
das Speicherauswahlsignal entweder das Speicherauswahlsignal für den internen
Speicher oder das Speicherauswahlsignal für den externen Speicher ist.
Das Speicherauswahlsignal wird auf einem Speicherauswahleingang des
Mikrocontrollers während
der Reset-Prozedur empfangen.
-
Für den Fall,
dass das empfangene, vom Schaltkreis stammende Speicherauswahlsignal
ein Speicherauswahlsignal für
den externen Speicher ist, wird der Mikrocontroller auf den externen
Speicher als Basisspeicher zugreifen, nachdem der Mikrocontroller
die Reset-Prozedur durchlaufen hat. Für den Fall, dass das empfangene,
vom Schaltkreis kommende Speicherauswahlsignal ein Speicherauswahlsignal
für den
internen Speicher ist, wird der Mikrocontroller auf den internen
Speicher als Basisspeicher zugreifen, nachdem der Mikrocontroller
die Reset-Prozedur durchlaufen hat.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
Weitere
Vorteile der Erfindung werden durch den Bezug auf die detaillierte
Beschreibung und bevorzugte Ausgestaltungen unter Beachtung der nachfolgenden
Zeichnungen klarer werden, wobei letztere zur besseren Darstellung
von Details nicht skaliert sind und übereinstimmende Bezugszeichen in
den unterschiedlichen Ansichten übereinstimmende
Elemente darstellen und wobei Folgendes gezeigt wird:
-
1 zeigt
ein funktionales Blockdiagramm, welches einen ASIC mit einem Mikrocontroller
und einem externen Speicher darstellt;
-
2 zeigt
ein erstes Ausführungsbeispiel für die vom
ASIC empfangenen und ausgesandten Signale; und
-
3 zeigt
ein zweites Ausführungsbeispiel der
vom ASIC empfangenen und ausgesandten Signale.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Bezug
nehmend auf die Figuren wird in 1 ein Mikrocontroller 10,
etwa ein TMP90CM38 hergestellt von Toshiba, gezeigt. Der Mikrocontroller 10 umfasst
eine CPU 12 und ein ROM 14, das vorliegend als
interner Speicher 14 bezeichnet wird. Die CPU 12 und
der interne Speicher 14 sind elektrisch mittels eines Busses 16 miteinander
elektrisch verbunden. Der Mikrocontroller 10 ist ferner
elektrisch mit einem externen Speicher 18 über den
Bus 16 verbunden.
-
Wie
voranstehend beschrieben, kann ein Zugriff entweder auf den internen
Speicher 14 oder den externen Speicher 18 als
Basisspeicher durch den Mikrocontroller erfolgen. Wiederum wird,
für den
Fall, dass der interne Speicher 14 als Basisspeicher verwendet
wird, jener Bereich des externen Speichers 18, welcher
mit dem Adressraum des internen Speichers 14 übereinstimmt,
für den
Mikrocontroller 10 nicht zugänglich sein. Entsprechend wird,
für den Fall,
dass der externe Speicher 18 als Basisspeicher zugänglich ist,
kein Teil des internen Speichers 14 durch den Mikrocontroller 10 zugänglich sein.
-
Die
Auswahl des Basisspeichers zwischen dem internen Speicher 14 und
dem externen Speicher 18 erfolgt über den Signalpegel, welcher
auf dem EA-Kontakt 22 anliegt. Beispielsweise kann für den Fall,
dass der Signalpegel auf dem EA-Kontakt 22 auf
dem Tiefpegel liegt, der externe Speicher 18 als Basisspeicher
ausgewählt
werden, und für
den Fall, dass der Signalpegel auf dem EA-Kontakt 22 einen
Hochpegel annimmt, kann der interne Speicher 14, als Basisspeicher
ausgewählt
werden. Es ist jedoch unmittelbar ersichtlich, dass die Zuordnung
eines bestimmten Signalpegels auf dem EA-Kontakt zu einer bestimmten
Speicherauswahl als Basisspeicher für unterschiedliche Mikrocontroller 10 unterschiedlich
ausfallen kann. Zusätzlich
kann der Mikrocontroller 10 eine Serie von Eingängen (nicht
dargestellt) aufweisen, durch welche der Basisspeicher entweder
als interner Speicher 14 oder als einer oder mehrere externe
Speicher 18 wählbar
ist. Alle diese Konfigurationen und Modifikationen sind mit der
vorliegenden Erfindung kompatibel und fallen noch in deren Sinnbereich.
-
Wie
voranstehend beschrieben, wird eine Umschaltung des Signalpegels
auf dem EA-Kontakt 22 nach einer vollendeten Reset-Prozedur
den Betrieb des Mikrocontrollers 10 unstabil werden lassen und
stellt daher keine bevorzugte Betriebsweise dar. Es wird bevorzugt,
den Signalpegel auf dem EA-Kontakt 22 während der Reset-Prozedur zu
schalten, wobei dies durch ein Signal auf dem Reset-Kontakt 26 des
Mikrocontrollers 10 initiiert wird. Der Mikrocontroller 10 ist
selbst nicht in der Lage eine solche Abfolge von Schritten auszuführen.
-
Beispielsweise
wird für
den Fall, dass der Mikrocontroller 10 durch das Aussenden
eines Signals von einem seiner eigenen Ausgänge zum Reset 26 eine
Reset-Prozedur beginnt,
dieser nicht mehr in der Lage sein, den Signalpegel auf dem EA-Kontakt 22 während der
Reset-Prozedur umzuschalten, auch wenn ein entsprechender Ausgangswert
dem EA-Kontakt 22 zugeordnet wurde. Der Grund hierfür liegt
darin, dass während
der Reset-Prozedur der Mikrocontroller 10 nicht in der
Lage ist, andere Signale als jene, welche spezifisch für die Reset-Prozedur festgelegt
sind, zu verarbeiten.
-
Folglich
wird gemäß einer
ersten Ausgestaltung der vorliegenden Erfindung ein Schaltkreis 30, beispielsweise
ein anwendungsspezifischer integrierter Schaltkreis (ASIC) elektrisch
mit dem Mikrocontroller 10 verbunden. Der Schaltkreis 30 umfasst eine
Schaltungslogik, die auf Grund einer Ansteuerung durch den Mikrocontroller
in der Lage ist, die gewünschten
Schritte für
das Auswahlverfahren des Basisspeichers, die der Mikrocontroller 10 nicht
mehr selbst ausführen
kann, zu vollziehen.
-
Der
Schaltkreis weist einen Ausgang für die Speicherauswahl 32 auf,
der elektrisch mit dem EA-Kontakt 22 des Mikrocontrollers 10 mittels
der Leitung 24 verbunden ist. Ein Eingang 48 ist
elektrisch mit dem Ausgang 42 des Mikrocontrollers 10 mittels
eines Busses 16 verbunden und der Reset-Ausgang 34 ist
elektrisch mit dem Reset 26 des Mikrocontrollers 10 über die
Leitung 28 verbunden.
-
Wenn
der Mikrocontroller 10 beispielsweise wünscht, den Basisspeicher vom
internen Speicher 14 auf den externen Speicher 18 umzuschalten,
sendet dieser einen Befehl vom Ausgang 42 auf den Bus 16,
welcher vom Eingang 48 des Schaltkreises 30 empfangen
wird. 2 zeigt einige der vom Schaltkreis 30 empfangenen
und ausgesandten Signale im zeitlichen Verlauf. Die Spur 36 stellt
die Übertragung eines
Bytes 20 auf dem Bus 16 dar, was das Befehlssignal
darstellt, welches vom Mikrocontroller 10 an den Schaltkreis 30 ausgesandt
wird.
-
In
einer alternativen Ausgestaltung kann der Befehl anstatt über den
Bus 16 über
zwei Signalleitungen versandt werden. Gemäß dieser Ausgestaltung zeigt
eine der Signalleitungen an, welcher Basisspeicher auszuwählen ist,
die andere Signalleitung wird hin- und hergeschaltet, um den Schaltkreis 30 zu
veranlassen, am Mikrocontroller 10 ein Reset auszulösen. Gemäß einer
weiteren Ausgestaltung wird lediglich eine Signalleitung anstatt
eines Busses 16 verwendet. Die Übermittlung eines initialen
Signalpegels auf dieser einzelnen Signalleitung zur Umschaltung
von einem inaktiven Zustand auf einen aktiven Zustand würde zu einer
Aktivierung des Schaltkreises 30 zur Realisierung eines
Reset-Verfahrens führen,
woraufhin die Signalleitung zu ihrem ursprünglich inaktiven Zustand zurückkehren
wird. Die Wahl für
den Basisspeicher – entweder
der interne Speicher 14 oder der externe Speicher 18 – wird an den
Schaltkreis mittels Festlegung der Zeitdauer übermittelt, während der
Mikrocontroller 10 das Signal auf der Signalleitung im
aktiven Zustand behält. Beispielsweise
kann ein relativ langes aktives Signal anzeigen, dass der interne
Speicher 14 als Basisspeicher ausgewählt werden soll, und ein relativ
kurzes aktives Signal kann anzeigen, dass der externe Speicher 18 als
Basisspeicher auszuwählen
ist.
-
Nachdem
der vom Mikrocontroller 10 ausgesandte Befehl vom Schaltkreis 30 über den
Bus 16 empfangen wurde, wird dieser mittels einer Schaltungslogik
im Schaltkreis 30 verarbeitet. Die Schaltungslogik weist
den Schaltkreis an, ein Reset-Signal auf dem Reset-Ausgang 34 zum
Reset 26 des Mikrocontrollers 10 über die
Leitung 28 zu verschicken. Dies wird grafisch in 2 dargestellt,
wobei der Kurvenverlauf 38 für eine vorbestimmte Anzahl
von Taktpulsen auf den Niedrigpegel gesetzt wird. Nachdem der Mikrocontroller 10 das
Signal am Reset 26 empfangen hat, beginnt er mit der Reset-Prozedur.
-
Während der
Mikrocontroller die Reset-Prozedur durchläuft, sendet der Schaltkreis 30 ein
Signal auf dem Ausgang für
die Speicherauswahl 32 zum EA-Kontakt 22 auf der Leitung 24.
Dies ist in 2 als Kurvenverlauf 40 dargestellt,
der auf einen Niedrigpegel abfällt,
welcher im vorliegenden Beispiel die Auswahl des externen Speichers
als Basisspeicher repräsentiert.
Nachdem der Mikrocontroller 10 die Reset-Prozedur durchlaufen
hat, was durch ein Zurückgehen
des Kurvenverlaufs 38 auf den Hochpegel angezeigt wird,
befindet sich der Mikrocontroller 10 in einem Betriebsmodus,
bei dem der externe Speicher 18 als Basisspeicher ausgewählt ist.
Gemäß einer bevorzugten
Ausgestaltung wird das dem Reset 26 zugeführte Signal
lediglich zur Ausführung
eines Resets am Mikrocontroller 10 und nicht für Weiteres
im System verwendet. Folglich kann der Mikrocontroller 10 nach
dem Durchlaufen der Reset-Prozedur die weiteren Systemkomponenten
ansprechen, um den Zustand, in dem sich das System vor dem Reset
befunden hat, zu ermitteln.
-
3 zeigt
den zeitlichen Signalverlauf für den
Fall, bei dem der Mikrocontroller 10 bereits auf den externen
Speicher 18 als Basisspeicher zugreift. Folglich erzeugt
für dieses
Beispiel der Schaltkreis 30 ein Speicherauswahlsignal für den internen
Speicher, indem der Signalpegel auf der Leitung 24 während der
Reset-Prozedur auf
den Hochpegel gesetzt wird, was durch den Kurvenverlauf 30,
der vom Tiefpegel auf den Hochpegel übergeht, dargestellt wird.
-
Gemäß einer
bevorzugten Ausgestaltung können
zwei unterschiedliche Befehle vom Mikrocontroller 10 zum
Schaltkreis 30 mittels des Busses 16 übermittelt
werden. Ein Befehl weist den Schaltkreis 30 an, ein Reset
einzuleiten und den externen Speicher 18 als Basisspeicher
auszuwählen.
Der andere Befehl instruiert den Schaltkreis 30, ein Reset
auszulösen
und den internen Speicher 14 als Basisspeicher auszuwählen. Folglich
kann gemäß der bevorzugten
Ausgestaltung der Mikrocontroller 10 entweder den internen
Speicher 14 oder den externen Speicher 18 als
Basisspeicher auswählen,
und zwar unabhängig
davon, welcher der beiden als Basisspeicher vor dem Reset genutzt
wurde. Folglich ist die bevorzugte Ausgestaltung nicht nur auf ein
Hin- und Herschalten zwischen dem internen Speicher 14 und
dem externen Speicher 18 als Basisspeicher beschränkt.
-
Gemäß einer
alternativen Ausgestaltung weist ein einzelner Befehl den Schaltkreis 30 an,
den externen Speicher 18 als Basisspeicher auszuwählen, falls
der Basisspeicher derzeit der interne Speicher 14 ist.
Entsprechend weist der Befehl den Schaltkreis 30 an, den
internen Speicher als Basisspeicher auszuwählen, falls der Basisspeicher
gegenwärtig
der externe Speicher 18 ist. Dieses alternative, auf einen
einzigen Befehl basierende Ausführungsbeispiel
führt dazu,
dass der Betrieb des Schaltkreises 30 beschränkt ist,
sodass dieser nur zwischen der Auswahl des internen Speichers 14 oder des
externen Speichers 18 als Basisspeicher hin- und herwechseln
kann.
-
Die
vorliegende Erfindung weist einen weiten Anwendungsbereich auf,
beispielsweise für
Drucker. Für
eine solche Anwendung wäre
der externe Speicher 18 bevorzugt ein Flash-Speicher und
hätte eine größere Speicherkapazität im Vergleich
zum internen Speicher 14. Der interne Speicher 14 kann
den Befehlssatz zur Flash-Programmierung enthalten, wodurch es möglich ist,
den externen Flash-Speicher 18 zu programmieren. Folglich
kann während
des Herstellungsverfahrens ein leerer oder unbeschriebener Speicher
als externer Flash-Speicher 18 in die Druckereinrichtung
eingesetzt werden und der interne Speicher 14 des Mikrocontrollers 10 würde bereits die
notwendigen Instruktionen zur Programmierung des externen Speichers 18 enthalten.
Hiermit verbunden ist, dass nach einem Reset beim Hochfahren (Power-On
Reset – POR)
der Schaltkreis 30 ein Auswahlsignal für den internen Speicher als
Basisspeicher an den Mikrocontroller 10 übermittelt,
sodass die Befehlsfolgen zur Flash-Programmierung im internen Speicher 14 zur
Verfügung
stehen und der Mikrocontroller 10 in einen Betriebsmodus
gesetzt wird, bei dem der externe Speicher 18 neu programmiert werden
kann.
-
Da
Programme zur Druckersteuerung üblicherweise
einen höheren
Speicherbedarf im Vergleich zu Befehlsfolgen für die Flash-Programmierung
notwendig machen, wird das Programm zur Druckersteuerung bevorzugt
im externen Speicher 18 abgelegt. Eine solche Verwendung
des internen Speichers 14 und des externen Speichers 18 wird
besonders bevorzugt, da der kurze Befehlssatz zur Flash-Programmierung,
der im internen Speicher 14 abgelegt ist, üblicherweise
weniger oft überarbeitet wird
im Vergleich zum Programm für
die Druckersteuerung, welches im externen Flash-Speicher 18 vorliegt
und welches auf einfache Art und Weise auf den neusten Stand gebracht
werden kann. Ferner wäre es
nicht von Vorteil, das Programm zur Druckersteuerung auf den internen
Speicher 14 und den externen Speicher 18 derart
aufzuteilen, dass der Mikrocontroller 10 für den Zugriff
auf den gesamten Programmumfang ein Reset durchführen muss, da dies die Druckroutinen
unterbrechen würde
und als Folge wenigstens eine Verschlechterung der Druckeffizienz resultieren
würde.
Allerdings ist ein Reset vor der Neuprogrammierung des externen
Flash-Speichers 18 unproblematisch, bei dem die Befehlsfolgen
zur Flash-Programmierung im internen Speicher 14 ausgeführt wurden,
dies wäre
ein geeigneter Standardmodus für
das System, um es nach einem mit dem Hochfahren verbundenen Reset
zur Verfügung
zu stellen.
-
Voranstehend
wird die Erfindung insbesondere anhand ausgewählter Ausführungsbeispiele beschrieben,
es ist jedoch unmittelbar ersichtlich, dass die Erfindung auch für unterschiedliche
Modifikationen, welche sich einfach und unmittelbar erschließen, anwendbar
ist.