DE69835787T2 - Microcontroller mit internem und externem Speicher - Google Patents

Microcontroller mit internem und externem Speicher Download PDF

Info

Publication number
DE69835787T2
DE69835787T2 DE69835787T DE69835787T DE69835787T2 DE 69835787 T2 DE69835787 T2 DE 69835787T2 DE 69835787 T DE69835787 T DE 69835787T DE 69835787 T DE69835787 T DE 69835787T DE 69835787 T2 DE69835787 T2 DE 69835787T2
Authority
DE
Germany
Prior art keywords
memory
microcontroller
reset
circuit
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69835787T
Other languages
English (en)
Other versions
DE69835787D1 (de
Inventor
Craig Palmer Lexington Bush
David Brian Lexington Langer
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.)
Lexmark International Inc
Original Assignee
Lexmark International Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lexmark International Inc filed Critical Lexmark International Inc
Application granted granted Critical
Publication of DE69835787D1 publication Critical patent/DE69835787D1/de
Publication of DE69835787T2 publication Critical patent/DE69835787T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7814Specially adapted for real time processing, e.g. comprising hardware timers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Microcomputers (AREA)
  • Stored Programmes (AREA)
  • Memory System (AREA)
  • Control By Computers (AREA)

Description

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

Claims (14)

  1. Steuereinheit mit einem Mikrocontroller (10) und einem externen Speicher (18), dadurch gekennzeichnet, dass die Steuereinheit folgendes umfasst: einen Schaltkreis (30) zur Auswahl eines Basisspeichers, auf den der Mikrocontroller (10) als Reaktion auf einen vom Mikrocontroller (10) versandten Befehl zugreift, umfassend: a. einen Eingang (48) zum Empfang des vom Mikrocontroller (10) kommenden Befehls, wobei der Befehl den Schaltkreis (30) selektiv instruiert, einen Reset für den Mikrocontroller (10) auszuführen, und dem Mikrocontroller (10) anzeigt, auf einen internen Speicher (14) als Basisspeicher zuzugreifen, oder den Schaltkreis (30) selektiv instruiert, einen Reset für den Mikrocontroller (10) auszuführen, und dem Mikrocontroller (10) anzeigt, auf den äußeren Speicher (18) als Basisspeicher zuzugreifen,
  2. einen Reset-Ausgang für das Aussenden eines Reset-Signals zum Mikrocontroller (10), c. einen Ausgang für die Speicherauswahl (32) für die Übermittlung eines Speicherauswahlsignals an den Mikrocontroller (10), und d. einen logischen Schaltkreis, der folgende Aufgaben erfüllt: i. Verarbeitung des vom Mikrocontroller (10) versandten Befehls, ii. das selektive Aussenden eines Speicherauswahlsignals für den internen Speicher auf dem Ausgang für die Speicherauswahl (32) als Reaktion auf den vom Mikrocontroller (10) versandten Befehl, während der Mikrocontroller (10) das Reset-Signal bearbeitet, und iii. das selektive Aussenden eines Speicherauswahlsignals für den externen Speicher auf dem Ausgang für die Speicherauswahl (32) in Reaktion auf den vom Mikrocontroller versandten Befehl, während der Mikrocontroller (10) das Reset-Signal verarbeitet.
  3. Steuereinheit nach Anspruch 1, wobei der Mikrocontroller (10) ferner einen 8-Bit Mikrocontroller umfasst.
  4. Steuereinheit nach Anspruch 1, wobei der externe Speicher (18) ferner einen programmierbaren Flash-Speicher umfasst.
  5. Steuereinheit nach Anspruch 1, wobei der externe Speicher (18) eine größere Speicherkapazität als der interne Speicher (14) aufweist.
  6. Steuereinheit nach Anspruch 1, wobei der Schaltkreis (30) auf dem Ausgang für die Speicherauswahl ein Speicherauswahlsignal für den internen Speicher ausgibt während auf dem Reset-Ausgang (34) als Reaktion auf einen Anschalt-Reset ein Reset-Signal ausgegeben wird.
  7. Steuereinheit nach Anspruch 1, wobei der externe Speicher (18) ferner einen Code zur Druckersteuerung umfasst.
  8. Steuereinheit nach Anspruch 1, wobei der interne Speicher (14) ferner einen Code zur Programmierung des Flash-Speichers umfasst.
  9. Verfahren zur Auswahl eines Basisspeichers, auf den ein Mikrocontroller (10) zugreift, umfassend die folgenden Verfahrensschritte: a. Übermitteln eines Befehls vom Mikrocontroller (10) an einen Schaltkreis (30), wobei der Befehl den Schaltkreis (30) selektiv instruiert, einen Reset am Mikrocontroller (10) auszuführen, und dem Mikrocontroller anzeigt, auf einen internen Speicher als Basisspeicher zuzugreifen, oder den Schaltkreis (30) selektiv instruiert, einen Rest am Mikrocontroller (10) auszuführen, und dem Mikrocontroller (10) anzeigt, auf einen externen Speicher als Basisspeicher zuzugreifen, b. Empfang eines Befehls an einem Eingang (48) des Schaltkreises, c. Verarbeitung des vom Mikrocontroller (10) kommenden Befehls am Eingang (48) des Schaltkreises (30) mit einer Logikschaltung, wobei die Befehlsverarbeitung folgendes umfasst: i. das selektive Erzeugen eines Basisspeicherauswahlsignals für den internen Speicher, und ii. das selektive Erzeugen eines Basisspeicherauswahlsignals für den externen Speicher; d. Übermitteln eines Reset-Signals an den Mikrocontroller (10) vom Schaltkreis (30) auf einem Reset-Ausgang (34) des Schaltkreises (30), e. Empfang des Reset-Signals auf dem Reset-Eingang (26) des Mikrocontrollers (10), f. der Mikrocontroller (10) nimmt als Reaktion auf das am Reset-Eingang (26) empfangene Reset-Signal die Reset-Prozedur auf, g. selektives Senden eines Speicherauswahlsignals auf dem Ausgang des Schaltkreises (10) für die Speicherauswahl (32), wobei das Speicherauswahlsignal entweder ein Speicherauswahlsignal für den internen Speicher oder für den externen Speicher ist, h. Empfang des Speicherauswahlsignals auf einem Speicherauswahleingang (22) des Mikrocontrollers (10), wobei der Mikrocontroller (10) während der Reset-Prozedur das Speicherauswahlsignal auf dem Speicherauswahleingang (22) empfängt, i. Zugriff auf den externen Speicher (18) als Basisspeicher durch den Mikrocontroller (10) nachdem der Mikrocontroller (10) die Reset-Prozedur ausgeführt hat, für den Fall, dass das vom Schaltkreis (30) übermittelte Speicherauswahlsignal ein Speicherauswahlsignal für den externen Speicher ist, und j. Zugriff auf den internen Speicher als Basisspeicher durch den Mikrocontroller (10) nachdem der Mikrocontroller (10) die Reset-Prozedur ausgeführt hat, für den Fall, dass das vom Schaltkreis (30) übermittelte Speicherauswahlsignal ein Speicherauswahlsignal für den internen Speicher ist.
  10. Verfahren nach Anspruch 8, wobei der Mikrocontroller (10) ferner einen 8-Bit Mikrocontroller umfasst.
  11. Verfahren nach Anspruch 8, wobei der externe Speicher (18) ferner einen programmierbaren Flash-Speicher umfasst.
  12. Verfahren nach Anspruch 8, wobei der Schaltkreis als Reaktion auf einen Anschalt-Reset auf dem Ausgang für die Speicherauswahl (32) ein Speicherauswahlsignal für den internen Speicher ausgibt.
  13. Verfahren nach Anspruch 8, wobei der externe Speicher (18) ferner einen Code zur Druckersteuerung umfasst.
  14. Verfahren nach Anspruch 8, wobei der interne Speicher (14) ferner einen Code zur Programmierung des Flash-Speichers umfasst.
DE69835787T 1997-05-12 1998-05-12 Microcontroller mit internem und externem Speicher Expired - Fee Related DE69835787T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/854,611 US5893923A (en) 1997-05-12 1997-05-12 Microcontroller utilizing a circuit to select during reset process an internal or external memory as base memory
US854611 2001-05-14

Publications (2)

Publication Number Publication Date
DE69835787D1 DE69835787D1 (de) 2006-10-19
DE69835787T2 true DE69835787T2 (de) 2007-09-13

Family

ID=25319159

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69835787T Expired - Fee Related DE69835787T2 (de) 1997-05-12 1998-05-12 Microcontroller mit internem und externem Speicher

Country Status (7)

Country Link
US (1) US5893923A (de)
EP (1) EP0878765B1 (de)
JP (1) JPH11120077A (de)
KR (1) KR100488630B1 (de)
CN (1) CN1175339C (de)
DE (1) DE69835787T2 (de)
TW (1) TW499641B (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100321745B1 (ko) * 1998-06-29 2002-06-20 박종섭 외부메모리액세스를위한마이크로컨트롤러유닛
WO2000038081A1 (de) * 1998-12-21 2000-06-29 Infineon Technologies Ag Programmgesteuerte einheit mit internen und externen speichern
JP4144990B2 (ja) * 2000-01-14 2008-09-03 富士通株式会社 データ処理システム及び初期化方法
KR100353814B1 (ko) * 2000-08-18 2002-09-27 주식회사 하이닉스반도체 확장된 램 억세스 명령어를 억세스하는 시간을 향상시킨램 억세스 장치
US6813707B1 (en) * 2001-03-23 2004-11-02 Cisco Technology Inc. Enhancing instruction execution using built-in macros
US20120210858A1 (en) * 2010-10-26 2012-08-23 Aai Corporation Fuze internal oscillator calibration system, method, and apparatus
CN103434280A (zh) * 2013-08-19 2013-12-11 倪俊 一种具有新型存储方法的3d打印机
DE102015119802A1 (de) * 2015-11-16 2017-05-18 Weidmüller Interface GmbH & Co. KG Verfahren zum Laden eines sicheren Speicherabbilds eines Mikrocontrollers und Anordnung mit einem Mikrocontroller

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4374418A (en) * 1979-06-27 1983-02-15 Burroughs Corporation Linear microsequencer unit cooperating with microprocessor system having dual modes
US4287560A (en) * 1979-06-27 1981-09-01 Burroughs Corporation Dual mode microprocessor system
US4649511A (en) * 1983-07-25 1987-03-10 General Electric Company Dynamic memory controller for single-chip microprocessor
JPS6068441A (ja) * 1983-09-22 1985-04-19 Fujitsu Ltd ワンチツプ・マイクロ・コンピユ−タ
US5222226A (en) * 1988-03-18 1993-06-22 Fujitsu Limited Single-chip microprocessor having variable memory address mapping
EP0414811B1 (de) * 1988-05-03 1997-02-19 Wang Laboratories, Inc. Mikroprozessor mit äusserem steuerungsspeicher
JPH0378049A (ja) * 1989-08-21 1991-04-03 Mitsubishi Electric Corp マイクロコンピュータ
US5361365A (en) * 1989-11-06 1994-11-01 Sharp Kabushiki Kaisha Microprocessor for selectively performing cold and warm starts
JP2597409B2 (ja) * 1989-12-28 1997-04-09 三菱電機株式会社 マイクロコンピュータ
US5283792A (en) * 1990-10-19 1994-02-01 Benchmarq Microelectronics, Inc. Power up/power down controller and power fail detector for processor
JPH04195546A (ja) * 1990-11-28 1992-07-15 Nec Corp マイクロコンピュータのテストモード設定回路
KR930008042B1 (ko) * 1991-04-03 1993-08-25 삼성전자 주식회사 마이크로 콘트롤러 유닛
JPH06214670A (ja) * 1991-04-29 1994-08-05 Intel Corp コンピュータ装置およびそれを初期化する方法
JP2872466B2 (ja) * 1991-10-07 1999-03-17 チッソ株式会社 複合強化ポリプロピレン樹脂組成物の製造方法
DE4222043C1 (de) * 1992-07-04 1993-07-22 Kloeckner Moeller Gmbh
US5408639A (en) * 1992-07-21 1995-04-18 Advanced Micro Devices External memory access control for a processing system
US5426769A (en) * 1993-08-26 1995-06-20 Metalink Corp. System and method for producing input/output expansion for single chip microcomputers
US5535417A (en) * 1993-09-27 1996-07-09 Hitachi America, Inc. On-chip DMA controller with host computer interface employing boot sequencing and address generation schemes
JP3684590B2 (ja) * 1994-04-25 2005-08-17 カシオ計算機株式会社 リセット制御装置及びリセット制御方法
US5737748A (en) * 1995-03-15 1998-04-07 Texas Instruments Incorporated Microprocessor unit having a first level write-through cache memory and a smaller second-level write-back cache memory
US5737760A (en) * 1995-10-06 1998-04-07 Motorola Inc. Microcontroller with security logic circuit which prevents reading of internal memory by external program
JP4312272B2 (ja) * 1995-10-06 2009-08-12 モトローラ・インコーポレイテッド 内部メモリへのアクセスを制限するマイクロコントローラ

Also Published As

Publication number Publication date
CN1175339C (zh) 2004-11-10
DE69835787D1 (de) 2006-10-19
EP0878765A2 (de) 1998-11-18
US5893923A (en) 1999-04-13
EP0878765B1 (de) 2006-09-06
CN1199884A (zh) 1998-11-25
KR100488630B1 (ko) 2005-09-07
TW499641B (en) 2002-08-21
KR19980086928A (ko) 1998-12-05
EP0878765A3 (de) 2005-05-18
JPH11120077A (ja) 1999-04-30

Similar Documents

Publication Publication Date Title
DE3876780T2 (de) Mikrorechner mit eingebauter chipauswahl und programmierbarer busdehnung.
DE69031705T2 (de) Zum Anschluss einer Erweiterungseinheit geeignetes Rechnersystem
DE69226606T2 (de) Speicherschaltung mit zwei Betriebsarten
DE60317347T2 (de) Speicherschaltung mit nichtflüchtigem ram und ram
DE69936524T2 (de) Betriebsweise und schaltkreis eines speichers mit seriellem zugriff
DE60132780T2 (de) Mehrere ausnehmbare nichtflüchtige speicherkarten mit serieller verbindung zu einem zentralrechner
EP1744236B1 (de) Konfiguration von Bauelementen bei einem Übergang von einem Niedrigleistungs-Betriebsmodus in einen Normalleistungs-Betriebsmodus
DE102006007201A1 (de) Vorrichtung und Verfahren zur Datenspeicherung mit nichtflüchtigen Speichern
DE69414960T2 (de) Halbleiterspeichergerät zur Ausführung einer Speicherprüfung
DE69835787T2 (de) Microcontroller mit internem und externem Speicher
DE2711679C2 (de) Schaltungsanordnung zum Anschluss eines Feldes von Speichern mit wahlfreiem Zugriff an einen Datenbus
DE2926322A1 (de) Speicher-subsystem
DE69600364T2 (de) Vorrichtung zur Inbetriebnahme einer Halbleiterschaltung
DE69432063T2 (de) Bussteuereinrichtung
EP0347970B1 (de) Verfahren zum Prüfen eines Festwertspeichers und Anordnung zur Durchführung des Verfahrens
DE4137336C2 (de) IC-Karte
DE69803215T2 (de) Programmierbare speicherzelle
CH636699A5 (de) Einrichtung zur fortlaufenden ermittlung eines ueber eine messperiode konstanter dauer gemittelten wertes eines verbrauchs.
DE102005013237A1 (de) Einrichtung in einer Speicherschaltung zum Festlegen von Wartezeiten
DE102009057547B4 (de) Nichtflüchtige Speichereinrichtung
DE10006970B4 (de) Netzwerk-Controller
DE69908519T2 (de) Halbleiterschaltung mit Produktspezifikationsänderungsfunktion
EP1567938B1 (de) Speichersystem mit mehreren speichercontrollern and verfahren zu deren synchronisierung
EP1085387B1 (de) Speichersteuerung zum Durchführen von Schaltbefehlen für den Zugriff auf Speicherzellen
DE10223167B4 (de) Verfahren und Vorrichtung zum Testen von Speichereinheiten in einer digitalen Schaltung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee