DE60121537T2 - Verbindung von peripheren Schaltkreisen in einem Mikrocomputer - Google Patents

Verbindung von peripheren Schaltkreisen in einem Mikrocomputer Download PDF

Info

Publication number
DE60121537T2
DE60121537T2 DE60121537T DE60121537T DE60121537T2 DE 60121537 T2 DE60121537 T2 DE 60121537T2 DE 60121537 T DE60121537 T DE 60121537T DE 60121537 T DE60121537 T DE 60121537T DE 60121537 T2 DE60121537 T2 DE 60121537T2
Authority
DE
Germany
Prior art keywords
timer
data
register
peripheral circuits
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60121537T
Other languages
English (en)
Other versions
DE60121537D1 (de
Inventor
Tadahiro Kitakatsuragi-gun Ushiro
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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Publication of DE60121537D1 publication Critical patent/DE60121537D1/de
Application granted granted Critical
Publication of DE60121537T2 publication Critical patent/DE60121537T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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)

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die Erfindung betrifft einen Mikrocomputer, der mit einer Vielzahl von Peripherieschaltungen versehen ist.
  • Beschreibung des Standes der Technik
  • Ein Mikrocomputer besteht aus einer Zentraleinheit (CPU) und verschiedenen Peripherieschaltungen wie z. B. Daten- und Programmspeichern, E/A-Anschlüssen und Zeitgeber-Zählern. Mikrocomputer werden in Spezial- und Universalmodelle klassifiziert, von denen Spezialmodelle häufig ASICs (anwendungsspezifische integrierte Schaltungen) genannt werden.
  • Bei einem Spezial-Mikrocomputer sind seine Peripherieschaltungen gemäß einer speziellen Anwendung entworfen und daher kann eine effiziente Verarbeitungsleistung erwartet werden. Andererseits erfordert sein neu entworfener Abschnitt zusätzliche Entwicklungszeit, was es manchmal unmöglich macht, einen solchen Mikrocomputer rechtzeitig für die Entwicklung der Vorrichtung, in die der Mikrocomputer integriert werden soll, zu entwickeln, wenn sein Entwicklungszeitplan eng ist.
  • Ein Universal-Mikrocomputer ist so entworfen, dass er mit einem breiten Bereich von Anwendungen zurechtkommt und ist daher mit verschiedenen Funktionen versehen. Diese Funktionen und ihre Leistung erfüllen jedoch nicht immer die in einer speziellen Anwendung erforderlichen Spezifikationen. Daher ist es erforderlich, zuallererst ein Modell auszuwählen, das die gewünschten Spezifikationen erfüllt. Es ist jedoch schwierig zu beurteilen, ob ein gegebenes Modell mit Funktionen versehen ist, die die gewünschten Spezifikationen erfüllen, oder nicht, und eine unzweckmäßige Auswahl eines Modells könnte inmitten des Entwurfs eines Programms eine Änderung des zu verwendenden Modells des Mikrocomputers oder Änderungen an den Spezifikationen der Anwendung hervorrufen. Auf die eine oder andere Weise führt eine unzweckmäßige Auswahl eines Modells eines Mikrocomputers zu einer Verzögerung bei der Entwicklung einer Anwendung.
  • Ein Universal-Mikrocomputer ist so entwickelt, dass er intelligente Funktionen durch einen verriegelten Betrieb einer Vielzahl von Peripherieschaltungen erreicht. Es ist beispielsweise eine Funktion bekannt, die "Eingangserfassung" genannt wird und die durch den verriegelten Betrieb eines Zeitgeber-Zählers und eines E/A-Anschlusses verwirklicht wird.
  • Diese Funktion ermöglicht, dass der Zählwert eines Zeitgebers jedes Mal in einem Spezialregister gespeichert wird, wenn eine Anstiegs- oder Hinterflanke in einem extern Eingangssignal erfasst wird. Folglich ist diese Funktion beim Messen der Zeitdauer, für die ein externes Eingangssignal auf einem hohen oder niedrigen Pegel bleibt, nützlich.
  • Wie die Zeitdauern eines externen Eingangssignals gemessen werden, wird nun mit Bezug auf 21 beschrieben, wobei als Beispiel ein Fall aufgegriffen wird, in dem ein Zeitgeber mit einem Systemtakt mit einer Frequenz von 4 [MHz] arbeitet, und als externes Eingangssignal ein Impuls eingespeist wird, der für 1,5 [μs] auf einem hohen Pegel und für 0,5 [μs] auf einem niedrigen Pegel bleibt. Jedes Mal wenn das externe Eingangssignal EXT_IN ansteigt oder fällt, wird der Zählwert T des Zeitgebers in einem Spezialregister R gespeichert, dann wird der Zählwert T zurückgesetzt und dann startet der Zeitgeber das Zählen erneut.
  • Überdies tritt jedes Mal, wenn das externe Eingangssignal EXT_IN ansteigt oder fällt, eine Unterbrechungsanforderung auf. In der Softwareprozedur, von welcher ein Ablaufplan in 22 gezeigt ist, die ausgeführt wird, wenn eine Unterbrechungsanforderung aufgrund des externen Eingangssignals EXT_IN aufgetreten ist, wird zuerst geprüft, ob die Ursache für die Unterbrechungsanforderung eine Anstiegsflanke im externen Eingangssignal EXT_IN ist oder nicht (S801).
  • Wenn die Ursache eine Anstiegsflanke im externen Eingangssignal EXT_IN ist ("Ja" in S801), wird der Wert im Register R als Zeitdauer (nachstehend die "niedrige Zeitdauer") gespeichert, für die das externe Eingangssignal EXT_IN auf einem niedrigen Pegel bleibt (S802). Wenn nicht ("Nein" in S801), wird der Wert im Register R als Zeitdauer (nachstehend die "hohe Zeitdauer") gespeichert, für die das externe Eingangssignal EXT_IN auf einem hohen Pegel bleibt (S803).
  • Hier wird der Zählwert des Zeitgebers wiederholt in das gleiche Register geschrieben und daher ist es erforderlich, bevor das Register mit einem neuen Wert überschrieben wird, den Wert im Register zu speichern. In dem erörterten Beispiel stehen nur 0,5 [μs] für das Speichern der hohen Zeitdauer des externen Eingangssignals zur Verfügung. Dies entspricht zwei Zuständen in einer CPU, die mit einem Systemtakt mit einer Frequenz von 4 [MHz] arbeitet, und innerhalb zweier Zustände kann es unmöglich sein, zur Adresse der Softwareunterbrechungsprozedur zu springen und deren Ausführung zu vollenden.
  • In diesem Fall ist es, um die Messung möglich zu machen, erforderlich, zwei Eingangserfassungsfunktionen zu verwenden. Insbesondere wird das zu messende Signal in zwei E/A-Anschlüssen mit jeweils einer Eingangserfassungsfunktion eingegeben, und zwei Zeitgeber werden verwendet, um zwei separate Zeiten zu messen. Dies wird mit Bezug auf 23 beschrieben.
  • Bei jeder Anstiegs- oder Hinterflanke im externen Eingangssignal EXT_IN1, das in diese eingespeist wird, speichert eine Eingangserfassungsfunktion den Zählwert T1 eines Zeitgebers in einem Register R1, dann wird der Zählwert T1 zurückgesetzt und dann beginnt der Zeitgeber das Zählen erneut. Bei jeder Hinterflanke im externen Eingangssignal EXT_IN2, das in diese eingespeist wird, speichert die andere Eingangserfassungsfunktion den Zählwert T2 des anderen Zeitgebers in einem Register R2, dann wird der Zählwert T2 zurückgesetzt und dann beginnt der Zeitgeber das Zählen erneut.
  • Überdies tritt bei jeder Anstiegs- oder Hinterflanke im externen Eingangssignal EXT_IN1 und bei jeder Hinterflanke im externen Eingangssignal EXT_IN2 eine Unterbrechungsanforderung auf. Ablaufpläne der Softwareprozedur, die beim Auftreten einer Unterbrechungsanforderung ausgeführt wird, sind in 24 und 25 gezeigt.
  • Wenn eine Unterbrechungsanforderung aufgrund des externen Eingangssignals EXT_IN1 aufgetreten ist und wenn die Ursache der Unterbrechungsanforderung eine Anstiegsflanke im externen Eingangssignal EXT_IN1 ist ("Ja" in S901), wird der Wert im entsprechenden Register R1 als niedrige Zeitdauer gespeichert (S902). Wenn andererseits eine Unterbrechungsanforderung aufgrund des externen Eingangssignals EXT_IN2 aufgetreten ist, wird der Wert, der durch Subtrahieren der niedrigen Zeitdauer, die im Register R1 gespeichert ist, vom Wert im entsprechenden Register R2 berechnet wird, als hohe Zeitdauer gespeichert (S1001).
  • Bei diesem Verfahren muss jedoch ein zusätzlicher E/A-Anschluss zusätzlich zu einem zusätzlichen Zeitgeber verwendet werden. In einem Spezial-Mikrocomputer kann überdies ein Signal von einem einzelnen Anschluss verschiedenen Schaltungsblöcken zugeführt werden. Bedeutender dauert es lang, bis ein Programmierer auf dieses Verfahren trifft.
  • Selbst wenn ein Programmierer auf dieses Verfahren trifft, muss ein zusätzlicher E/A-Anschluss mit einer Eingangserfassungsfunktion frei sein. Im Verlauf der Entwicklung einer Vorrichtung, in die ein Mikrocomputer integriert werden soll, wurde, wenn die Entwicklung eines Programms für den Mikrocomputer in Gang ist, der Entwurf der Schaltungsanordnung mit dem Mikrocomputer in den meisten Fällen bereits bestimmt.
  • Wenn eine Änderung bei der Zuweisung zur Verwendung von E/A-Anschlüssen mit speziellen Funktionen inmitten des Entwurfs des Programms für den Mikrocomputer erforderlich wird, kann sie sich aus diesen Gründen auf den Entwicklungszeitplan der Vorrichtung als Ganzes auswirken. Überdies ist es fraglich, ob in der Stufe der Auswahl des Modells des Mikrocomputers vorhergesehen werden kann, dass die Messung eines einzelnen Signals nicht weniger als zwei E/A-Anschlüsse mit solchen speziellen Funktionen erfordert.
  • In einem Fall, in dem ein Universal-Mikrocomputer in eine Vorrichtung mit einer spezialisierten Operation integriert wird, entstehen in dieser Weise wahrscheinlich unerwartete Probleme, was häufig zu einer Verzögerung bei der Entwicklung der Vorrichtung als Ganzes führt.
  • In einer Situation, in der keine ausreichende Zeit für die Entwicklung eines Spezial-Mikrocomputers zur Verfügung steht und es außerdem schwierig ist zu beurteilen, ob die Peripherieschaltungsfunktionen eines Universal-Mikrocomputers die Spezifikationen der Vorrichtung als Endprodukt erfüllen oder nicht, ist es möglich, wie in der japanischen Patentanmeldung JP-A-5127913 offenbart, gleichzeitig die gewünschten Peripherieschaltungsfunktionen und das gewünschte Programm unter Verwendung eines programmierbaren Gatterfeldes zu entwickeln.
  • EP-A-0 306 962 (HITACHI LTD), 15. März 1989 (15.03.1989), offenbart einen Mikrocomputer mit einer Vielzahl von Peripherieschaltungen (E/A-Anschlüssen) mit einer Verbindungsschaltung (programmierbares Logikfeld PLA), die ermöglicht, dass die Verbindung unter der Vielzahl von Peripherieschaltungen durch Ausführung eines das PLA konfigurierenden Programms gesteuert wird.
  • Genau aufgrund der Prinzipien, auf denen ein programmierbares Gatterfeld basiert, führt jedoch die Verwendung von einem zum Verwirklichen von Peripherieschaltungsfunktionen zu einer größeren Schaltungsfläche als ansonsten. Erforderliche Peripherieschaltungsfunktionen sind überdies im Voraus unbekannt und daher ist es erforderlich, eine zusätzliche Anzahl von Gattern sicherzustellen. Dies führt zu höheren Kosten als ein Spezial-Mikrocomputer. Ferner erfordert die Herstellung eines programmierbaren Gatterfeldes einen speziellen Prozess und daher erfordert das Ausbilden desselben zusammen mit anderen Vorrichtungen auf einem einzigen Chip spezielle Verfahren. Folglich ist kein solcher Prozess bisher bei Mikrocomputern für die Integration in Vorrichtungen in praktischen Gebrauch gekommen.
  • Wie vorstehend beschrieben, erfordert ein Spezial-Mikrocomputer eine lange Entwicklungszeit. Andererseits ist es bei einem Universal-Mikrocomputer schwierig zu beurteilen, ob er mit Peripherieschaltungsfunktionen versehen ist, die die Spezifikationen der Vorrichtung erfüllen, in die er integriert werden soll. Wenn inmitten der Entwicklung des Programms festgestellt wird, dass der Universal-Mikrocomputer die Spezifikationen der Vorrichtung nicht erfüllt, ist es folglich unvermeidlich, das Modell des Universal-Mikrocomputers zu ändern oder die Spezifikationen der Vorrichtung zu ändern.
  • Selbst wenn ein Programmierer auf ein Verfahren zum Erfüllen der für die Vorrichtung erforderlichen Spezifikationen unter Verwendung der begrenzten Peripherieschaltungsfunktionen des Universal-Mikrocomputers trifft, kann es nicht immer durch Programmieren allein verwirklicht werden und kann Änderungen an der Schaltungsanordnung der Vorrichtung als Ganzes erfordern.
  • Überdies dauert es lang, bis der Programmierer auf eine solche spezielle Lösung trifft. Auf die eine oder andere Weise wird eine Verzögerung im Entwicklungszeitplan der Vorrichtung als Ganzes riskiert.
  • Beim Entwurf der Vorrichtung ist überdies vom Gesichtspunkt ihrer Herstellungskosten die Wahl des Modells des Universal-Mikrocomputers in den meisten Fällen begrenzt. Trotzdem besteht in einem Fall, in dem ein Modell, das die für die Vorrichtung erforderlichen Spezifikationen erfüllt, nur in einem höheren Preisbereich erhältlich ist, keine Wahl, außer dieses Modell zu verwenden. Dies führt zu höheren Kosten.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der Erfindung besteht darin, einen Mikrocomputer mit intelligenten Peripherieschaltungsfunktionen zu schaffen, wie sie z. B. vielmehr einem Spezial-Mikrocomputer als einem Universal-Mikrocomputer zugeordnet sind, ohne spezielle Herstellungsverfahren oder -prozesse zu verwenden oder eine lange Zeit wie bei der Entwicklung eines Spezial-Mikrocomputers aufzuwenden.
  • Um die obige Aufgabe zu erfüllen, wird gemäß der Erfindung, wie in Anspruch 1 dargelegt, ein Mikrocomputer mit einer Vielzahl von Peripherieschaltungen mit einer Verbindungsschaltung geschaffen, die ermöglicht, dass die Verbindung unter diesen Peripherieschaltungen durch die Ausführung eines Programms gesteuert wird.
  • In dieser Konfiguration ist es durch Verbinden der einzelnen Basisperipherieschaltungen mit der Verbindungsschaltung durch die Ausführung eines Programms möglich, intelligente Funktionen zu verwirklichen, wie sie z. B. durch diese einzelnen Basisperipherieschaltungen allein nicht verwirklicht werden. Dies macht es möglich, das Hervorrufen von höheren Kosten zu vermeiden, indem ein Modell mit übermäßigen Funktionen ausgewählt werden muss, wie in einem Fall, in dem ein Universal-Mikrocomputer verwendet wird. Solange die Basisperipherieschaltungen, die als erforderlich erwartet werden, in einen Mikrocomputer integriert werden, besteht überdies kein Bedarf, die Peripherieschaltungen im Einzelnen zu entwerfen. Dies hilft, die Entwicklungszeit der Vorrichtung als Ganzes, in die der Mikrocomputer integriert werden soll, zu verkürzen. Während in einem mit spezialisierten Peripherieschaltungen verse henen Mikrocomputer die Entwicklung eines Softwareprogramms einen Versuchsaufbau erfordert, ermöglicht ein erfindungsgemäßer Mikrocomputer ferner, dass seine Peripherieschaltungen zum Zeitpunkt der Korrektur des Softwareprogramms bestimmt werden. Dies trägt auch zur Verkürzung der Entwicklungszeit bei.
  • Kurz gesagt ist es mit einem erfindungsgemäßen Mikrocomputer möglich, intelligente Peripherieschaltungsfunktionen zu verwirklichen, wie sie z. B. vielmehr einem Spezial-Mikrocomputer als einem Universal-Mikrocomputer zugeordnet sind, ohne spezielle Herstellungsverfahren oder -prozesse zu verwenden oder eine lange Zeit wie bei der Entwicklung eines Spezial-Mikrocomputers aufzuwenden. Überdies ist es möglich, die Peripherieschaltungen zum Zeitpunkt des Entwurfs des Softwareprogramms zu ändern, so dass sie eine höhere Effizienz bieten.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Diese und weitere Aufgaben und Merkmale der Erfindung werden aus der folgenden Beschreibung in Verbindung mit den bevorzugten Ausführungsformen mit Bezug auf die begleitenden Zeichnungen klar, in denen:
  • 1 ein Blockdiagramm eines Mikrocomputers, der die Erfindung verkörpert, ist;
  • 2 ein Diagramm ist, das den Rückwärtszähler, der den ersten Zeitgeber bildet, zeigt;
  • 3 ein Diagramm ist, das den Rückwärtszähler, der den zweiten Zeitgeber bildet, zeigt;
  • 4 ein Diagramm ist, das die Konfiguration der Logikschaltung zeigt;
  • 5 ein Diagramm ist, das die Zwischenspeicherschaltung zeigt, die das Eingangsregister bildet;
  • 6 ein Diagramm ist, das die Zwischenspeicherschaltung zeigt, die das Ausgangsregister bildet;
  • 7 ein Diagramm ist, das einen Teil der Auswähleinrichtungen zeigt, die die Verbindungsschaltung bilden;
  • 8 ein Diagramm ist, das die anderen Auswahleinrichtungen zeigt, die die Verbindungsschaltung bilden;
  • 9 ein Diagramm ist, das die Beziehung zwischen den Zuständen der Signale, die in die Anschlüsse der in 7 gezeigten Auswahleinrichtungen einge speist werden, und der ausgewählten Anschlüsse zeigt;
  • 10 ein Ablaufplan eines Beispiels eines Programms zum Aufbauen von Peripherieschaltungen mit vorbestimmten Funktionen ist;
  • 11 ein Diagramm ist, das die Konfiguration der durch die Ausführung des in 10 gezeigten Programms aufgebauten Peripherieschaltungen zeigt;
  • 12 ein Ablaufplan eines Beispiels des Programms zum Steuern der Peripherieschaltungen ist, die wie in 11 gezeigt konfiguriert sind;
  • 13 ein Ablaufplan eines weiteren Beispiels des Programms zum Steuern der Peripherieschaltungen ist, die wie in 11 gezeigt konfiguriert sind;
  • 14 ein Diagramm ist, das die Operation der Peripherieschaltungen darstellt, die wie in 11 gezeigt konfiguriert sind;
  • 15 ein Ablaufplan eines weiteren Beispiels eines Programms zum Aufbauen von Peripherieschaltungen mit vorbestimmten Funktionen ist;
  • 16 ein Diagramm ist, das die Konfiguration der Peripherieschaltungen zeigt, die durch die Ausführung des in 15 gezeigten Programms aufgebaut werden;
  • 17 ein Ablaufplan eines Beispiels des Programms zum Steuern der Peripherieschaltungen ist, die wie in 16 gezeigt konfiguriert sind;
  • 18 ein Ablaufplan eines weiteren Beispiels des Programms zum Steuern der Peripherieschaltungen ist, die wie in 16 gezeigt konfiguriert sind;
  • 19 ein Ablaufplan noch eines weiteren Beispiels des Programms zum Steuern der Peripherieschaltungen ist, die wie in 16 gezeigt konfiguriert sind;
  • 20 ein Diagramm ist, das die Operation der Peripherieschaltungen darstellt, die wie in 16 gezeigt konfiguriert sind;
  • 21 ein Diagramm ist, das ein Beispiel der Operation zum Messen der hohen und niedrigen Zeitdauern eines externen Eingangssignals gemäß dem Stand der Technik darstellt;
  • 22 ein Ablaufplan eines Beispiels des Programms ist, das für die in 21 gezeigte Operation erforderlich ist;
  • 23 ein Diagramm ist, das ein weiteres Beispiel der Operation zum Messen der hohen und niedrigen Zeitdauern eines externen Eingangssignals gemäß dem Stand der Technik darstellt;
  • 24 ein Ablaufplan eines Beispiels des Programms ist, das für die in 23 gezeigte Operation erforderlich ist; und
  • 25 ein Ablaufplan eines weiteren Beispiels des Programms ist, das für die in 23 gezeigte Operation erforderlich ist.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nachstehend wird eine Ausführungsform der Erfindung mit Bezug auf die Zeichnungen beschrieben. 1 ist ein Blockdiagramm eines Mikrocomputers, der die Erfindung verkörpert. In dieser Fig. stellt das Bezugszeichen 1 eine CPU dar, das Bezugszeichen 2 stellt ein Eingangsregister dar, das Bezugszeichen 3 stellt ein Ausgangsregister dar, das Bezugszeichen 4 stellt eine Verbindungsschaltung dar, das Bezugszeichen 5 stellt einen ersten Zeitgeber dar, das Bezugszeichen 6 stellt einen zweiten Zeitgeber dar, das Bezugszeichen 7 stellt eine Logikschaltung dar und das Bezugszeichen 8 stellt einen Datenbus dar.
  • Wie 2 und 3 zeigen, bestehen der erste und der zweite Zeitgeber 5 und 6, die Peripherieschaltungen sind, jeweils aus einem Rückwärtszähler. Der Rückwärtszähler arbeitet in der folgenden Weise.
  • Der Zählwert wird zu einer zu einem Taktsignal (nicht dargestellt) synchronen Zeit um Eins dekrementiert. Das Zählen wird bei der Anstiegsflanke des Eingangssignals in den Anschluss "Start" begonnen und wird bei der Anstiegsflanke des Eingangssignals in den Anschluss "Stopp" gestoppt. Von den Anschlüssen OUT0 bis OUT7 werden 8-Bit-Signale ausgegeben, die den aktuellen Zählwert darstellen. Wenn ein Überlauf im Zählwert auftritt (d. h. wenn der Zählwert gleich 00 (Hex) wird), schaltet das Ausgangssignal aus dem Anschluss "Überlauf" auf einen hohen Pegel. In der Spezifikation bedeutet (Hex) eine Hexadezimalzahl.
  • An einer Anstiegsflanke im Eingangssignal in den Anschluss "Rücksetzen" wird das Rücksetzen durchgeführt. Insbesondere wird der Zählwert gleich dem Wert gesetzt, der durch die 8-Bit-Signale dargestellt ist, die in die Anschlüsse IN0 bis IN7 eingegeben werden, und das Ausgangssignal aus dem Anschluss "Überlauf" wird auf einen niedrigen Pegel geschaltet. Solange das Eingangssignal in den Anschluss "Rücksetzen" auf einem hohen Pegel bleibt, wird überdies das Eingangssignal in den Anschluss "Start" ignoriert (d. h. selbst wenn eine Anstiegsflanke im Eingangssignal in den Anschluss "Start" erscheint, wird das Zählen nicht gestartet).
  • In dieser Ausführungsform werden eine Schaltung, die eine Unterbrechungsanforderung ausgibt, wenn ein Überlauf im ersten Zeitgeber 5 auftritt, und eine Schaltung, die eine Unterbrechungsanforderung ausgibt, wenn ein Überlauf im zweiten Zeitgeber 6 auftritt, geschaffen
  • Wie 4 zeigt, besteht die Logikschaltung 7, die eine der Basiskomponenten der Peripherieschaltungen ist, aus einem ODER-Gatter 701 mit drei Eingängen, einem Flip-Flop 702, einem Inverter 703, einem UND-Gatter 704, einem UND-Gatter 705, einem ODER-Gatter 706 und einem Inverter 707.
  • Das ODER-Gatter 701 empfängt Eingangssignale IN1, IN2 und IN3. Der Flip-Flop 702 empfängt an seinem Datenanschluss D das aus seinem eigenen invertierenden Anschluss Q' ausgegebene Signal, empfängt an seinem Taktanschluss CK das aus dem ODER-Gatter 701 ausgegebene Signal und empfängt an seinem Rücksetzanschluss R ein Eingangssignal D_RESET. Der Inverter 703 empfängt ein Eingangssignal TRG.
  • Das UND-Gatter 704 empfängt das aus dem ODER-Gatter 701 ausgegebene Signal und das aus dem Inverter 703 ausgegebene Signal. Das UND-Gatter 705 empfängt das Eingangssignal TRG und das aus dem invertierenden Anschluss Q' des Flip-Flops 702 ausgegebene Signal.
  • Das ODER-Gatter 706 empfängt das aus dem UND-Gatter 704 ausgegebene Signal und das aus dem UND-Gatter 705 ausgegebene Signal. Das aus dem ODER-Gatter 706 ausgegebene Signal wird als Ausgangssignal OUT1 ausgegeben und wird auch über den Inverter 707 als Ausgangssignal OUT2 ausgegeben.
  • In der wie vorstehend beschrieben konfigurierten Logikschaltung 7 spiegeln die Ausgangssignale OUT1 und OUT2, wenn das Eingangssignal TRG auf einem niedrigen Pegel liegt, das aus dem ODER-Gatter 701 ausgegebene Signal wider. Insbesondere wenn irgendeines der Eingangssignale IN1, IN2 und IN3 auf einem hohen Pegel liegt, liegt das Ausgangssignal OUT1 auf einem hohen Pegel und das Ausgangssignal OUT2 liegt auf einem niedrigen Pegel; wenn alle Eingangssignale IN1, IN2 und IN3 auf einem hohen Pegel liegen, liegt das Ausgangssignal OUT1 auf einem niedrigen Pegel und das Ausgangssignal OUT2 liegt auf einem hohen Pegel.
  • Wenn dagegen das Eingangssignal TRG auf einem hohen Pegel liegt und wenn das Eingangssignal D_RESET auf einem hohen Pegel liegt, liegt das Ausgangssignal OUT1 auf einem hohen Pegel und das Ausgangssignal OUT2 liegt auf einem niedrigen Pegel; wenn das Eingangssignal D_RESET auf einem niedrigen Pegel liegt, werden die Ausgangssignale OUT1 und OUT2 jedes Mal, wenn irgendeines der Eingangssignale IN1, IN2 und IN3 von einem Zustand, in dem alle von ihnen auf einem niedrigen Pegel liegen, auf einen hohen Pegel schaltet, invertiert.
  • Wie 5 zeigt, besteht das Eingangsregister 2, das eine Peripherieschaltung ist, aus einer 32-Bit-Zwischenspeicherschaltung. Das Eingangsregister 2 liest die Werte der 32-Bit-Signale INREG0 bis INREG31, die in seine Anschlüsse D0 bis D31 eingegeben werden, synchron mit dem Taktsignal (nicht dargestellt) und gibt die zuletzt gelesenen Werte dieser Signale INREG0 bis INREG31 aus seinen Ausgangsanschlüssen O0 bis O31 an den Datenbus 8 aus, wenn das Signal CPU_RD, das aus einem Adressendecodierer ausgegeben wird, wenn die CPU 1 von einer vorbestimmten speziellen Adresse lesen wird, auf einem hohen Pegel liegt. Insbesondere wenn das Signal CPU_RD auf einem hohen Pegel liegt, werden die Werte der 32-Bit-Signale CPU_BUS0 bis CPU_BUS31 auf dem Datenbus 8 gleich den Werten der Signale INREG0 bis INREG31, die zuletzt durch das Eingangsregister 2 gelesen wurden.
  • Dem Eingangsregister 2 wird eine Adresse F0000000 (Hex) als Speicherbereich der CPU 1 zugewiesen. Wenn die CPU 1 einen Lesezugriff auf diese zugewiesene Adresse in einem Programm durchführt, schaltet das Signal CPU_RD auf einen hohen Pegel.
  • Wie 6 zeigt, besteht das Ausgangsregister 3, das eine Peripherieschaltung ist, aus einer 32-Bit-Zwischenspeicherschaltung. Wenn das Signal CPU_WR, das aus dem Adressendecodierer ausgegeben wird, wenn die CPU 1 eine vorbestimmte spezielle Adresse schreiben wird, auf einem hohen Pegel liegt, liest das Ausgangsregister 3 die Werte der 32-Bit-Signale CPU_BUS0 bis CPU_BUS31 auf dem Datenbus 8 über seine Anschlüsse D0 bis D31 synchron mit dem Taktsignal (nicht dargestellt) und gibt die zuletzt gelesenen Werte davon aus seinen Ausgangsanschlüssen O0 bis O31 aus. Die 32-Bit-Signale OUTREG0 bis OUTREG31, die aus den Anschlüssen O0 bis O31 des Ausgangsregisters 3 ausgegeben werden, werden in die Verbindungsschaltung 4 eingegeben.
  • Dem Ausgangsregister 3 wird eine Adresse F0000004 (Hex) als Speicherbereich der CPU 1 zugewiesen. Wenn die CPU 1 einen Schreibzugriff auf diese zugewiesene Adresse in einem Programm durchführt, schaltet das Signal CPU_WR auf einen hohen Pegel. Wenn das Signal CPU_WR auf einem niedrigen Pegel liegt, werden die Signale OUTREG0 bis OUTREG31, die aus den Anschlüssen O0 bis O31 des Ausgangsregisters 3 ausgegeben werden, unverändert gehalten.
  • Die Verbindungsschaltung 4 besteht aus den Auswahleinrichtungen 401 bis 412, die in 7 gezeigt sind, und den Auswahleinrichtungen 413 bis 416, die in 8 gezeigt sind. In jeder der Auswahleinrichtungen 401 bis 412 wird gemäß den Zuständen der Signale, die in die Anschlüsse S0, S1 und S2 eingegeben werden, einer der Anschlüsse D0, D1, D2, D3, D4 und D5 ausgewählt und das in den ausgewählten Anschluss eingegebene Signal wird aus einem Anschluss OUT ausgegeben. 9 zeigt die Beziehung zwischen den Zuständen der in die Anschlüsse S0, S1 und S2 eingegebenen Signale und dem ausgewählten Anschluss. In dieser Fig. stellt "1" einen hohen Pegel dar und "0" stellt einen niedrigen Pegel dar.
  • Wenn jedoch das in den Anschluss CS eingegebene Signal auf einem niedrigen Pegel liegt, wird, selbst wenn sich die Zustände der in die Anschlüsse S0, S1 und S2 eingegebenen Signale ändern, die Auswahl unter den Anschlüssen D0, D1, D2, D3, D4 und D5 unverändert gehalten. Mit anderen Worten, das aus dem Anschluss OUT ausgegebene Signal wird unverändert gehalten.
  • Jede der Auswahleinrichtungen 401 bis 412 empfängt an ihren Anschlüssen D0, D1, D2, D3 bzw. D5 das Signal OVERFLOW1, das aus dem Anschluss "Überlauf" des ersten Zeitgebers 5 ausgegeben wird, das Signal OVERFLOW2, das aus dem Anschluss "Überlauf" des zweiten Zeitgebers 6 ausgegeben wird, die Ausgangssignale OUT1 und OUT2 der Logikschaltung 7 und ein eine Unterbrechung verursachendes externes Eingangssignal EXT_IN/INT, das von der Außenseite des Mikrocomputers eingespeist wird. Hier bedeutet ein eine Unterbrechung verursachendes externes Eingangssignal ein Signal, dessen Anstiegs- und Hinterflanken Unterbrechungsanforderungen in der Schaltung, in die es eingespeist wird, verursachen.
  • Die Auswahleinrichtungen 401, 402, ... bzw. 412 empfangen an ihren Anschlüssen D4 das Signal OUTREG16, das aus dem Anschluss O16 des Ausgangsregisters 3 ausgegeben wird, das Signal OUTREG17, das aus dessen Anschluss O17 ausgegeben wird, ... und das Signal OUTREG27, das aus dessen Anschluss O27 ausgegeben wird.
  • Die Auswahleinrichtung 401 empfängt an ihren Anschlüssen S0, S1 bzw. S2 die Signale CPU_BUS0, CPU_BUS1 und CPU_BUS2 auf dem Datenbus 8. Die Auswahleinrichtung 402 empfängt an ihren Anschlüssen S0, S1 bzw. S2 die Signale CPU_BUS3, CPU_BUS4 und CPU_BUS5 auf dem Datenbus 8.
  • Die Auswahleinrichtung 403 empfängt an ihren Anschlüssen S0, S1 bzw. S2 die Signale CPU_BUS6, CPU_BUS7 und CPU_BUS8 auf dem Datenbus 8. Die Auswahleinrichtung 404 empfängt an ihren Anschlüssen S0, S1 bzw. S2 die Signale CPU_BUS9, CPU_BUS10 und CPU_BUS11 auf dem Datenbus 8.
  • Die Auswahleinrichtung 405 empfängt an ihren Anschlüssen S0, S1 bzw. S2 die Signale CPU_ BUS12, CPU_BUS13 und CPU_BUS14 auf dem Datenbus 8. Die Auswahleinrichtung 406 empfängt an ihren Anschlüssen S0, S1 bzw. S2 die Signale CPU_BUS15, CPU_BUS16 und CPU_BUS17 auf dem Datenbus 8.
  • Die Auswahleinrichtung 407 empfängt an ihren Anschlüssen S0, S1 bzw. S2 die Signale CPU_BUS18, CPU_BUS19 und CPU_BUS20 auf dem Datenbus 8. Die Auswahleinrichtung 408 empfängt an ihren Anschlüssen S0, S1 bzw. S2 die Signale CPU_BUS21, CPU_BUS22 und CPU_BUS23 auf dem Datenbus 8.
  • Die Auswahleinrichtung 409 empfängt an ihren Anschlüssen S0, S1 bzw. S2 die Signale CPU_BUS24, CPU_BUS25 und CPU_BUS26 auf dem Datenbus 8. Die Auswahleinrichtung 410 empfängt an ihren Anschlüssen S0, S1 bzw. S2 die Signale CPU_BUS27, CPU_BUS28 und CPU_BUS29 auf dem Datenbus 8.
  • Die Auswahleinrichtung 411 empfängt an ihren Anschlüssen S0, S1 bzw. S2 die Signale CPU_BUS0, CPU_BUS1 und CPU_BUS2 auf dem Datenbus 8. Die Auswahleinrichtung 412 empfängt an ihren Anschlüssen S0, S1 bzw. S2 die Signale CPU_BUS3, CPU_BUS4 und CPU_BUS5 auf dem Datenbus 8.
  • Die Auswahleinrichtungen 401 bis 410 empfangen alle an ihren Anschlüssen CS das Signal CPU_WR_S1, das aus dem Adressendecodierer der CPU 1 ausgegeben wird. Die Auswahleinrichtungen 411 und 412 empfangen beide an ihren Anschlüssen CS das Signal CPU_WR_S2, das aus dem Adressendecodierer der CPU 1 ausgegeben wird.
  • Den Auswahleinrichtungen 401 bis 410 ist eine Adresse F0000008 (Hex) als Speicherbereich der CPU 1 zugewiesen. Wenn die CPU 1 einen Schreibzugriff auf diese zugewiesene Adresse in einem Programm durchführt, schaltet das Signal CPU_WR_S1 auf einen hohen Pegel.
  • Den Auswahleinrichtungen 411 und 412 ist eine Adresse F000000C (Hex) als Speicherbereich der CPU 1 zugewiesen. Wenn die CPU 1 einen Schreibzugriff auf diese zugewiesene Adresse in einem Programm durchführt, schaltet das Signal CPU_WR_S2 auf einen hohen Pegel.
  • Das aus dem Anschluss OUT der Auswahleinrichtung 401 ausgegebene Signal wird als Signal START1 verwendet, das in den Anschluss "Start" des ersten Zeitgebers 5 eingegeben wird. Das aus dem Anschluss OUT der Auswahleinrichtung 402 ausgegebene Signal wird als Signal RESET1 verwendet, das in den Anschluss "Rücksetzen" des ersten Zeitgebers 5 eingegeben wird. Das aus dem Anschluss OUT der Auswahleinrichtung 403 ausgegebene Signal wird als Signal STOP1 verwendet, das in den Anschluss "Stopp" des ersten Zeitgebers 5 eingegeben wird.
  • Das aus dem Anschluss OUT der Auswahleinrichtung 404 ausgegebene Signal wird als Signal START2 verwendet, das in den Anschluss "Start" des zweiten Zeitgebers 6 eingegeben wird. Das aus dem Anschluss OUT der Auswahleinrichtung 405 ausgegebene Signal wird als Signal RESET2 verwendet, das in den Anschluss "Rücksetzen" des zweiten Zeitgebers 6 eingegeben wird. Das aus dem Anschluss OUT der Auswahleinrichtung 406 ausgegebene Signal wird als Signal STOP2 verwendet, das in den Anschluss "Stopp" des zweiten Zeitgebers 6 eingegeben wird.
  • Die aus den Anschlüssen OUT der Auswahleinrichtungen 407, 408, 409, 410 und 411 ausgegebenen Signale werden jeweils als Eingangssignale IN1, IN2, IN3, TRG und D_RESET in die Logikschaltung 7 verwendet. Das aus dem Anschluss OUT der Auswahleinrichtung 412 ausgegebene Signal wird als Signal EXT_OUT verwendet, das aus dem Mikrocomputer ausgespeist wird.
  • Jede der Auswahleinrichtungen 413 bis 416 wählt gemäß dem Zustand des in ihren Anschluss S0 eingegebenen Signals zwischen der Kombination ihrer Anschlüsse D1_0, D1_1, ... und D1_7 und der Kombination ihrer Anschlüsse D2_0, D2_1, ... und D2_7 aus und gibt 8-Bit-Signale, die in die gewählte Kombination der Anschlüsse eingegeben werden, aus ihren Ausgangsanschlüssen O0 bis O7 aus.
  • Insbesondere wenn das in den Anschluss S0 eingespeiste Signal auf einem niedrigen Pegel liegt, wird die Kombination der Anschlüsse D1_0, D1_1, ... und D1_7 gewählt, und wenn das in den Anschluss S0 eingespeiste Signal auf einem hohen Pegel liegt, wird die Kombination ihrer Anschlüsse D2_0, D2_1, ... und D2_7 gewählt. Wenn das in den Anschluss CS eingegebene Signal auf einem niedrigen Pegel liegt, wird, selbst wenn sich der Zustand des in den Anschluss S0 eingegebenen Signals ändert, die Wahl zwischen den zwei Kombinationen der Anschlüsse unverändert gehalten. Mit anderen Worten, die aus den Anschlüssen O0 bis O7 ausgegebenen Signale werden unverändert gehalten.
  • Die Auswahleinrichtungen 413 und 414 empfangen an ihren Anschlüssen D1_0, D1_1, ... D1_7, D2_0, D2_1, ... bzw. D2_7 die unteren 16-Bit-Signale OUTREG0, OUTREG1, ... OUTREG7, OUTREG8, OUTREG9, ... und OUTREG15, die aus dem Ausgangsregister 3 ausgegeben werden.
  • Die Auswahleinrichtungen 415 und 416 empfangen jeweils an ihren Anschlüssen D1_0 bis D1_7 jeweils die 8-Bit-Signale DOUT1_0 bis DOUT1_7, die aus den Ausgangsanschlüssen OUT0 bis OUT7 des ersten Zeitgebers 5 ausgegeben werden, an ihren Anschlüssen D2_0 bis D2_7 jeweils die 8-Bit-Signale DOUT2_0 bis DOUT2_7, die aus den Ausgangsanschlüssen OUT0 bis OUT7 des zweiten Zeitgebers 6 ausgegeben werden.
  • Die Auswahleinrichtungen 413, 414, 415 bzw. 416 empfangen an ihren Anschlüssen S0 die Signale CPU_BUS0, CPU_BUS1, CPU_BUS2 und CPU_BUS3 auf dem Datenbus 8.
  • Die Auswahleinrichtungen 413 bis 416 empfangen alle an ihren Anschlüssen CS ein Signal CPU_WR_S3, das aus dem Adressendecodierer der CPU 1 ausgegeben wird. Den Auswahleinrichtungen 413 bis 416 ist eine Adresse F0000010 (Hex) als Speicherbereich der CPU 1 zugewiesen. Wenn die CPU 1 einen Schreibzugriff auf diese zugewiesene Adresse in einem Programm durchführt, schaltet das Signal CPU_WR_S3 auf einen hohen Pegel.
  • Die aus den Anschlüssen O0 bis O7 der Auswahleinrichtung 413 ausgegebenen Signale werden als Signale DIN1_0 bis DIN1_7 verwendet, die in die Anschlüsse IN0 bis IN7 des ersten Zeitgebers 5 eingegeben werden. Die aus den Anschlüssen O0 bis O7 der Auswahleinrichtung 414 ausgegebenen Signale werden als Signale DIN2_0 bis DIN2_7 verwendet, die in die Anschlüsse IN0 bis IN7 des zweiten Zeitgebers 6 eingegeben werden.
  • Die aus den Anschlüssen O0 bis O7 der Auswahleinrichtung 415 ausgegebenen Signale werden als Signale INREG0 bis INREG7 verwendet, die in die Anschlüsse D0 bis D7 des Eingangsregisters 2 eingegeben werden. Die aus den Anschlüssen O0 bis O7 der Auswahleinrichtung 416 ausgegebenen Signale werden als Signale INREG8 bis INREG15 verwendet, die in die Anschlüsse D8 bis D15 des Eingangsregisters 2 eingegeben werden.
  • Ein Programm verwendet 32-Bit-Register Reg0 bis Reg31 (nicht dargestellt), um die Eingabe von dem und Ausgabe an den Datenbus 8 zu erreichen. Insbesondere schaltet das Signal CPU_BUS0 auf dem Datenbus 8 auf einen hohen Pegel, wenn das Bit im Register Reg0 auf "1" geschaltet wird, und schaltet auf einen niedrigen Pegel, wenn das Register Reg0 auf "0" geschaltet wird. Der Wert im Register Reg0 ist "1", wenn er bewertet wird, wenn das Signal CPU_BUS0 auf dem Datenbus 8 auf einem hohen Pegel liegt, und ist "0", wenn er bewertet wird, wenn das Signal CPU_BUS0 auf dem Datenbus 8 auf einem niedrigen Pegel liegt. Dieselbe Beziehung gilt zwischen dem Register Reg1 und dem CPU_BUS1 auf dem Datenbus 8, zwischen dem Register Reg2 und dem Signal CPU_BUS2 auf dem Datenbus 8, ... und zwischen dem Register Reg31 und dem Signal CPU_BUS31 auf dem Datenbus 8.
  • 10 zeigt einen Ablaufplan eines Beispiels des Programms zum Aufbauen von Peripherieschaltungen mit vorbestimmten Funktionen. Zuerst werden die Register Reg0 bis Reg29 folgendermaßen gesetzt: Reg0 = 1, Reg1 = 1, Reg2 = 0, Reg3 = 0, Reg4 = 0, Reg5 = 1, Reg6 = 0, Reg7 = 1, Reg8 = 0, Reg9 = 0, Reg10 = 1, Reg11 = 0, Reg12 = 0, Reg13 = 0, Reg14 = 1, Reg15 = 1, Reg16 = 1, Reg17 = 0, Reg18 = 1, Reg19 = 0, Reg20 = 1, Reg21 = 0, Reg22 = 0, Reg23 = 1, Reg24 = 0, Reg25 = 0, Reg26 = 1, Reg27 = 0, Reg28 = 0 und Reg29 = 1 (S101).
  • Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, in den Auswahleinrichtungen 401 bis 410 der Verbindungsschaltung 4 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F0000008 (Hex) durchgeführt (S102). Dies schaltet das Signal CPU_WR_S1, das in die Anschlüsse CS der Auswahleinrichtungen 401 bis 410 eingegeben wird, auf einen hohen Pegel und schaltet folglich die von den Auswahleinrichtungen 401 bis 410 ausgewählten Signale um.
  • Als nächstes werden die Register Reg0 bis Reg2 folgendermaßen gesetzt: Reg0 = 0, Reg1 = 0 und Reg2 = 1 (S103). Als nächstes wird die Adresse, auf die ein Zugriff durchgeführt werden soll, in der Auswahleinrichtung 411 der Verbindungsschaltung 4 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F000000C (Hex) durchgeführt (S104). Dies schaltet das Signal CPU_WR_S2, das in den Anschluss CS der Auswahleinrichtung 411 eingegeben wird, auf einen hohen Pegel und schaltet folglich die durch die Auswahleinrichtung 411 ausgewählten Signale um.
  • Infolge der in S101 bis S104 durchgeführten Operationen werden nun das Ausgangssignal OUT2 aus dem Inverter 707 der Logikschaltung 7, das Ausgangssignal OUTREG17 aus dem Anschluss O17 des Ausgangsregisters 3 und das Ausgangssignal OUT1 aus dem ODER-Gatter 706 der Logikschaltung 7 jeweils als Eingangssignal START1 in den Anschluss "Start" des ersten Zeitgebers 5, als Eingangssignal RESET1 in den Anschluss "Rücksetzen" und als Eingangssignal STOP1 in den Anschluss "Stopp" verwendet.
  • Überdies werden das Ausgangssignal OUT1 aus dem ODER-Gatter 706 der Logikschaltung 7, das Ausgangssignal OUTREG20 aus dem Anschluss O20 des Ausgangsregisters 3 und das Ausgangssignal OUT2 aus dem Inverter 707 der Logikschaltung 7 jeweils als Eingangssignal START2 in den Anschluss "Start" des zweiten Zeitgebers 6, als Eingangssignal RESET2 in den Anschluss "Rücksetzen" und als Eingangssignal STOP2 in den Anschluss "Stopp" verwendet.
  • Überdies werden das externe Eingangssignal EXT_IN/INT, das Ausgangssignal OUTREG23 aus dem Anschluss O23 des Ausgangsregisters 3 und das Ausgangssignal OUTREG24 aus dem Anschluss O24, das Ausgangssignal OUTREG25 aus dem Anschluss O25 und das Ausgangssignal OUTREG26 aus dem Anschluss O26 jeweils als Eingangssignale IN1, IN2 und IN3 in das ODER-Gatter 701 der Logikschaltung 7, als Eingangssignal TRG in den Inverter 703 und das UND-Gatter 705 und als Eingangssignal D RESET in den Anschluss R des Flip-Flops 702 verwendet.
  • Als nächstes werden die Register Reg0 bis Reg3 folgendermaßen gesetzt: Reg0 = 0, Reg1 = 1, Reg2 = 0 und Reg3 = 1 (S105). Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, in den Auswahleinrichtungen 413 bis 416 der Verbindungsschaltung 4 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F0000010 (Hex) durchgeführt (S106). Dies schaltet das Signal CPU_WR_S3, das in die Anschlüsse CS der Auswahleinrichtungen 413 bis 416 eingegeben wird, auf einen hohen Pegel und schaltet folglich die durch die Auswahleinrichtungen 413 bis 416 ausgewählten Signale um.
  • Infolge der in S105 und S106 durchgeführten Operationen werden nun die Ausgangssignale OUTREG0 bis OUTREG7 aus den Anschlüssen O0 bis O7 des Ausgangsregisters 3 als Eingangssignale DIN1_0 bis DIN1_7 in die Anschlüsse IN0 bis IN7 des ersten Zeitgebers 5 verwendet, die Ausgangssignale OUTREG8 bis OUTREG15 aus den Anschlüssen O8 bis O15 des Ausgangsregisters 3 werden als Eingangssignale DIN2_0 bis DIN2_7 in die Anschlüsse IN0 bis IN7 des zweiten Zeitgebers 6 verwendet, die Ausgangssignale DOUT1_1 bis DOUT1_7 aus den Anschlüssen OUT0 bis OUT7 des ersten Zeitgebers 5 werden als Eingangssignale INREG0 bis INREG7 in die Anschlüsse D0 bis D7 des Eingangsregisters 2 verwendet und die Ausgangssignale DOUT2_1 bis DOUT2_7 aus den Anschlüssen OUT0 bis OUT7 des zweiten Zeitgebers 6 werden als Eingangssignale INREG8 bis INREG_15 in die Anschlüsse D8 bis D15 des Eingangsregisters 2 verwendet. Folglich werden Peripherieschaltungen, wie in 11 gezeigt, aufgebaut.
  • Als nächstes werden die Werte der Register Reg0 bis Reg7 alle auf "1" gesetzt, die Werte der Register Reg8 bis Reg15 werden alle auf "1" gesetzt, der Wert des Registers Reg17 wird auf "1" gesetzt, der Wert des Registers Reg20 wird auf "1" gesetzt, der Wert des Registers R23 wird auf "0" gesetzt, der Wert des Registers R24 wird auf "0" gesetzt, der Wert des Registers R25 wird auf "0" gesetzt und der Wert des Registers R26 wird auf "1" gesetzt (S107).
  • Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Ausgangsregister 3 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F0000004 (Hex) durchgeführt (S108). Dies schaltet das Eingangssignal CPU_WR in das Ausgangsregister 3 auf einen hohen Pegel und veranlasst folglich, dass das Ausgangsregister 3 die Signale auf dem Datenbus 8 liest.
  • Infolge der in S107 und S108 durchgeführten Operationen liegen nun im ersten und im zweiten Zeitgeber 5 und 6 die Eingangssignale in die Anschlüsse IN0 bis IN7 alle auf einem hohen Pegel, das Eingangssignal in den Anschluss "Rücksetzen" liegt auf einem hohen Pegel. Überdies liegen in der Logikschaltung 7 die zwei Eingangssignale in das ODER-Gatter 701 im Gegensatz zum externen Eingangssignal EXT_IN auf einem niedrigen Pegel, das Eingangssignal in den Anschluss R des Flip-Flops 702 liegt auf einem hohen Pegel und das Eingangssignal in den Inverter 703 und eines der Eingangssignale in das UND-Gatter 705 liegen auf einem hohen Pegel.
  • Jedes Mal, wenn das externe Eingangssignal EXT_IN/INT ansteigt, steigen folglich das Eingangssignal in den Anschluss "Start" des ersten Zeitgebers 5 und das Eingangssignal in den Anschluss "Stopp" des zweiten Zeitgebers 6 an. Jedes Mal, wenn das externe Eingangssignal EXT_IN/INT fällt, steigen überdies das Eingangssignal in den Anschluss "Stopp" des ersten Zeitgebers 5 und das Eingangssignal in den Anschluss "Start" des zweiten Zeitgebers 6 an.
  • Da jedoch nun das Eingangssignal in den Anschluss "Rücksetzen" des ersten Zeitgebers 5 und das Eingangssignal in den Anschluss "Rücksetzen" des zweiten Zeitgebers 6 auf einem hohen Pegel liegen, befinden sich der erste und der zweite Zeitgeber 5 und 6 in einem Rücksetzzustand und führen folglich keine Zählung durch.
  • 12 zeigt einen Ablaufplan eines Beispiels des Programms zum Starten der Messung der hohen und niedrigen Zeitdauern des externen Eingangssignals EXT_IN/INT. Zuerst wird der Wert im Register Reg17 auf "0" gesetzt, der Wert im Register Reg20 wird auf "0" gesetzt, der Wert im Register Reg23 wird auf "0" gesetzt, der Wert im Register Reg24 wird auf "0" gesetzt, der Wert im Register Reg25 wird auf "0" gesetzt und der Wert im Register Reg26 wird auf "1" gesetzt (S201). Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Ausgangsregister 3 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F0000004 (Hex) durchgeführt (S202).
  • Infolge dieser Operationen liegen nun in der Logikschaltung 7 die zwei Eingangssignale in das ODER-Gatter 701 im Gegensatz zum externen Eingangssignal EXT_IN auf einem niedrigen Pegel, das Eingangssignal in den Anschluss R des Flip-Flops 702 liegt auf einem hohen Pegel und das Eingangssignal in den Inverter 703 und eines der Eingangssignale in das UND-Gatter 705 liegen auf einem hohen Pegel. Überdies liegen die Eingangssignale in die Anschlüsse "Rücksetzen" des ersten und des zweiten Zeitgebers 5 und 6 auf einem niedrigen Pegel und folglich stellen sich der erste und der zweite Zeitgeber 5 und 6 aus dem Rücksetzzustand wieder her.
  • Folglich wird der erste Zeitgeber 5 in einen Zustand gebracht, in dem er das Zählen mit einem Zählwert FF (Hex) an einer Hinterflanke des externen Eingangssignals EXT_IN/INT beginnt und das Zählen an einer Anstiegsflanke im externen Eingangssignal EXT_IN/INT stoppt. Andererseits wird der zweite Zeitgeber 6 in einen Zustand gebracht, in dem er das Zählen mit einem Zählwert FF (Hex) an einer Anstiegsflanke im externen Eingangssignal EXT_IN/INT beginnt und das Zählen an einer Hinterflanke im externen Eingangssignal EXT_IN/INT stoppt.
  • 13 zeigt einen Ablaufplan eines Beispiels des Programms, das ausgeführt wird, wenn eine Unterbrechungsanforderung an einer Anstiegs- oder Hinterflanke im externen Eingangssignal EXT_IN/INT auftritt, nachdem die Messung der hohen und niedrigen Zeitdauern des externen Eingangssignals EXT_IN/INT begonnen hat. Zuerst wird die Adresse, auf die ein Zugriff durchzuführen ist, im Eingangsregister 2 gesetzt. Insbesondere wird ein Lesezugriff auf die Adresse F0000000 (Hex) durchgeführt (S301). Ob die Ursache der Unterbrechungsanforderung eine Anstiegsflanke des externen Eingangssignals EXT_IN/INT ist oder nicht, wird als nächstes geprüft (S302).
  • Wenn in Schritt 302 eine Anstiegsflanke erkannt wird ("Ja" in S302), werden die Werte in den Registern Reg0 bis Reg7 in einem RAM oder dergleichen, der verwendet wird, wenn eine Softwareprozedur ausgeführt wird, gespeichert (S303). Als nächstes werden die Werte in den Registern Reg0 bis Reg7 alle auf "1" gesetzt, der Wert im Register Reg17 wird auf "1" gesetzt, der Wert im Register Reg20 wird auf "0" gesetzt, der Wert im Register Reg23 wird auf "0" gesetzt, der Wert im Register Reg24 wird auf "0" gesetzt, der Wert im Register Reg25 wird auf "0" gesetzt und der Wert im Register Reg26 wird auf "1" gesetzt (S304).
  • Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Ausgangsregister 3 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F0000004 (Hex) durchgeführt (S305). Als nächstes wird der Wert im Register Reg17 auf "0" gesetzt (S306). Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Ausgangsregister 3 gesetzt (S311).
  • Wenn dagegen in S302 keine Anstiegsflanke erkannt wird ("Nein" in S302), werden die Werte in den Registern Reg8 bis Reg15 in einem RAM oder dergleichen, der verwendet wird, wenn eine Softwareprozedur ausgeführt wird, gespei chert (S307). Als nächstes werden die Werte in den Registern Reg8 bis Reg15 alle auf "1" gesetzt, der Wert im Register Reg17 wird auf "0" gesetzt, der Wert im Register R20 wird auf "1" gesetzt, der Wert im Register Reg23 wird auf "0" gesetzt, der Wert im Register Reg24 wird auf "0" gesetzt, der Wert im Register Reg25 wird auf "0" gesetzt und der Wert im Register Reg26 wird auf "1" gesetzt (S308).
  • Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Ausgangsregister 3 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F0000004 (Hex) durchgeführt (S309). Als nächstes wird der Wert im Register Reg20 auf "0" gesetzt (S310). Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Ausgangsregister 3 gesetzt (S311).
  • Wenn die vorstehend beschriebenen Programme ausgeführt werden, variieren der Zählwert T1 des ersten Zeitgebers 5, der Zählwert T2 des zweiten Zeitgebers 6 und die Werte in den Registern Reg0 bis Reg7 und in den Registern Reg8 bis Reg15, wie in 14 gezeigt, gemäß dem externen Eingangssignal EXT_IN/INT. Hier wird angenommen, dass die niedrige Zeitdauer des externen Eingangssignals EXT_IN/INT 0,5 [μs] ist, dessen hohe Zeitdauer 1,5 [μs] ist und der erste und der zweite Zeitgeber 5 und 6 mit einem Taktsignal mit einer Frequenz von 4 [MHz] arbeiten.
  • Insbesondere wenn das externe Eingangssignal EXT_IN/INT ansteigt, wird der Zählwert T1 des ersten Zeitgebers 5 in den Registern Reg0 bis Reg7 gespeichert, dann werden die Werte in den Registern Reg0 bis Reg7 gespeichert und dann wird der erste Zeitgeber 5 vorübergehend zurückgesetzt, so dass sein Zählwert T1 auf FF (Hex) gesetzt wird. Bei der Anstiegsflanke des externen Eingangssignals EXT_IN/INT stoppt hier der erste Zeitgeber 5 das Zählen und der zweite Zeitgeber 6 beginnt das Zählen mit einem Zählwert FF (Hex).
  • Wenn dagegen das externe Eingangssignal EXT_IN/INT fällt, wird der Zählwert T2 des zweiten Zeitgebers 6 in den Registern Reg8 bis Reg15 gespeichert, dann werden die Werte in den Registern Reg8 bis Reg15 gespeichert und dann wird der zweite Zeitgeber 6 vorübergehend zurückgesetzt, so dass sein Zählwert T2 auf FF (Hex) gesetzt wird. Bei der Hinterflanke des externen Eingangssignals EXT_IN/INT stoppt hier der zweite Zeitgeber 6 das Zählen und der erste Zeitgeber 5 beginnt das Zählen mit einem Zählwert FF (Hex).
  • In den vorstehend beschriebenen Operationen sind die Werte, die gespeichert werden, wenn das externe Eingangssignal EXT_IN/INT ansteigt, die niedrige Zeitdauer, und die Werte, die gespeichert werden, wenn das externe Eingangssignal EXT_IN/INT fällt, sind die hohe Zeitdauer.
  • Wie vorstehend beschrieben, ist es im Mikrocomputer dieser Ausführungsform durch Verbinden von einzelnen Basisperipherieschaltungen (d. h. des ersten Zeitgebers 5, des zweiten Zeitgebers 6 und der Logikschaltung 7) mit der Verbindungsschaltung 4 durch die Ausführung eines Programms möglich, eine Funktion zum Messen einer hohen und einer niedrigen Zeitdauer des externen Eingangssignals EXT_IN zu verwirklichen.
  • Hier werden zwei Zeitgeber verwendet, um die hohen und niedrigen Zeitdauern des externen Eingangssignals EXT_IN zu messen, aber diese zwei Zeitgeber werden durch einen einzelnen Eingangsanschluss mit einer Unterbrechungsfunktion gesteuert. Das heißt, es besteht kein Bedarf, eine Vielzahl von Eingangsanschlüssen für die Messung eines einzigen Signals zu verwenden.
  • Im Vergleich zum vorher mit Bezug auf 21 beschriebenen Stand der Technik besteht überdies ein geringeres Risiko, dass ein in den Registern gespeichertes Messergebnis zerstört wird, indem es aufgrund einer Knappheit an Verarbeitungszeit mit dem nächsten Messergebnis überschrieben wird, soweit es um eine ähnliche Mikroprozessorverarbeitung geht. Wie aus diesen zwei Punkten klar ist, ist es möglich, Peripherieschaltungen mit intelligenten Funktionen ohne eine minimale Redundanz aufzubauen, die zu den Peripherieschaltungen eines Mikrocomputers vergleichbar sind, der für einen speziellen Zweck ausgelegt ist.
  • 15 zeigt einen Ablaufplan eines weiteren Beispiels des Programms zum Aufbauen von Peripherieschaltungen mit vorbestimmten Funktionen. Zuerst werden die Register Reg0 bis Reg29 folgendermaßen gesetzt: Reg0 = 1, Reg1 = 1, Reg2 = 0, Reg3 = 0, Reg4 = 0, Reg5 = 1, Reg6 = 0, Reg7 = 0, Reg8 = 1, Reg9 = 0, Reg10 = 0, Reg11 = 0, Reg12 = 0, Reg13 = 0, Reg14 = 1, Reg15 = 0, Reg16 = 0, Reg17 = 1, Reg18 = 0, Reg19 = 0, Reg20 = 0, Reg21 = 1, Reg22 = 0, Reg23 = 0, Reg24 = 0, Reg25 = 0, Reg26 = 1, Reg27 = 0, Reg28 = 0 und Reg29 = 1 (S401).
  • Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, in den Auswahleinrichtungen 401 bis 410 der Verbindungsschaltung 4 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F0000008 (Hex) durchgeführt (S402). Dies schaltet das Signal CPU_WR_S1, das in die Anschlüsse CS der Auswahleinrichtungen 401 bis 410 eingegeben wird, auf einen hohen Pegel und schaltet folglich die von den Auswahleinrichtungen 401 bis 410 ausgewählten Signale um.
  • Als nächstes werden die Register Reg0 bis Reg5 folgendermaßen gesetzt: Reg0 = 0, Reg1 = 0, Reg2 = 1, Reg3 = 0, Reg4 = 1 und Reg5 = 0 (S403). Als nächstes wird die Adresse, auf die ein Zugriff durchgeführt werden soll, in den Auswahleinrichtungen 411 und 412 der Verbindungsschaltung 4 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F000000C (Hex) durchgeführt (S404). Dies schaltet das Signal CPU_WR_S2, das in die Anschlüsse CS der Auswahleinrichtungen 411 und 412 eingegeben wird, auf einen hohen Pegel und schaltet folglich die durch die Auswahleinrichtungen 411 und 412 ausgewählten Signale um.
  • Infolge der in S401 bis 404 durchgeführten Operationen werden nun das Ausgangssignal OUT2 aus dem Inverter 707 der Logikschaltung 7 und die Ausgangssignale OUTREG17 und OUTREG18 aus den Anschlüssen O17 und O18 des Ausgangsregisters 3 jeweils als Eingangssignal START1 in den Anschluss "Start" des ersten Zeitgebers 5, als Eingangssignal RESET1 in den Anschluss "Rücksetzen" und als Eingangssignal STOP1 in den Anschluss "Stopp" verwendet.
  • Überdies werden das Ausgangssignal OVERFLOW1 aus dem Anschluss "Überlauf" des ersten Zeitgebers 5, das Ausgangssignal OUTREG20 aus dem Anschluss O20 des Ausgangsregisters 3 und das Ausgangssignal OUTREG21 aus dem Anschluss O21 jeweils als Eingangssignal START2 in den Anschluss "Start" des zweiten Zeitgebers 6, als Eingangssignal RESET2 in den Anschluss "Rücksetzen" und als Eingangssignal STOP2 in den Anschluss "Stopp" verwendet.
  • Überdies werden das Ausgangssignal OVERFLOW1 aus dem Anschluss "Überlauf" des ersten Zeitgebers 5, das Ausgangssignal OVERFLOW2 aus dem An schluss "Überlauf" des zweiten Zeitgebers 6, das Ausgangssignal OUTREG24 aus dem Anschluss O24 des Ausgangsregisters 3, das Ausgangssignal OUTREG25 aus dem Anschluss O25 und das Ausgangssignal OUTREG26 aus dem Anschluss O26 jeweils als Eingangssignale IN1, IN2 und IN3 in das ODER-Gatter 701 der Logikschaltung 7, als Eingangssignal TRG in den Inverter 703 und das UND-Gatter 705 und als Eingangssignal D_RESET in den Anschluss R des Flip-Flops 702 verwendet. Überdies wird das Ausgangssignal OUT1 aus dem ODER-Gatter 706 der Logikschaltung 7 als externes Ausgangssignal EXT_OUT verwendet.
  • Als nächstes werden die Register Reg0 und Reg1 folgendermaßen gesetzt: Reg0 = 0 und Reg1 = 1 (S405). Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, in den Auswahleinrichtungen 413 bis 416 der Verbindungsschaltung 4 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F0000010 (Hex) durchgeführt (S406). Dies schaltet das Signal CPU_WR_3, das in die Anschlüsse CS der Auswahleinrichtungen 413 bis 416 eingegeben wird, auf einen hohen Pegel und schaltet folglich die durch die Auswahleinrichtungen 413 bis 416 ausgewählten Signale um.
  • Infolge der in S405 und S406 durchgeführten Operationen werden nun die Ausgangssignale OUTREG0 bis OUTREG7 aus den Anschlüssen O0 bis O7 des Ausgangsregisters 3 als Eingangssignale DIN1_0 bis DIN1_7 in die Anschlüsse IN0 bis IN7 des ersten Zeitgebers 5 verwendet, die Ausgangssignale OUTREG8 bis OUTREG15 aus den Anschlüssen O8 bis O15 des Ausgangsregisters 3 werden als Eingangssignale DIN2_0 bis DIN2_7 in die Anschlüsse IN0 bis IN7 des zweiten Zeitgebers 6 verwendet. Folglich werden Peripherieschaltungen, wie in 16 gezeigt, aufgebaut.
  • Als nächstes werden die Werte in den Registern Reg0 bis Reg7 auf 06 (Hex) gesetzt, die Werte in den Registern Reg8 bis Reg15 werden auf 02 (Hex) gesetzt, der Wert im Register Reg17 wird auf "1" gesetzt, der Wert im Register Reg18 wird auf "0" gesetzt, der Wert im Register Reg20 wird auf "1" gesetzt, der Wert im Register Reg21 wird auf "0" gesetzt, der Wert im Register Reg24 wird auf "0" gesetzt, der Wert im Register Reg25 wird auf "1" gesetzt und der Wert im Register Reg26 wird auf "1" gesetzt (S407).
  • Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Aus gangsregister 3 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F0000004 (Hex) durchgeführt (S408). Dies schaltet das Eingangssignal CPU_WR in das Ausgangsregister 3 auf einen hohen Pegel und veranlasst folglich, dass das Ausgangsregister 3 die Signale auf dem Datenbus 8 liest.
  • Infolge der in S407 bis S408 durchgeführten Operationen schalten, wenn der erste und der zweite Zeitgeber 5 und 6 an ihren Anschlüssen IN0 bis IN7 die Werte 06 (Hex) bzw. 02 (Hex) empfangen, die Eingangssignale in ihre Anschlüsse "Rücksetzen" auf einen hohen Pegel. Überdies liegen nun in der Logikschaltung 7 die drei Eingangssignale in das ODER-Gatter 701 alle auf einem niedrigen Pegel, das Eingangssignal in den Anschluss R des Flip-Flops 702 liegt auf einem hohen Pegel und das Eingangssignal in den Inverter 703 und eines der Eingangssignale in das UND-Gatter 705 liegen auf einem hohen Pegel. Folglich befinden sich der erste und der zweite Zeitgeber 5 und 6 in einem Rücksetzzustand, wobei ihre Zählwerte auf 06 (Hex) bzw. 02 (Hex) gesetzt sind. Überdies wird das externe Ausgangssignal EXT_OUT auf einem hohen Pegel gehalten.
  • 17 zeigt einen Ablaufplan eines Beispiels des Programms zum Starten der Ausgabe von Impulsen mit vorbestimmten hohen und niedrigen Zeitdauern als externes Ausgangssignal EXT_OUT. Zuerst wird der Wert im Register Reg17 auf "0" gesetzt, der Wert im Register Reg18 wird auf "0" gesetzt, der Wert im Register Reg20 wird auf "0" gesetzt, der Wert im Register Reg21 wird auf "0" gesetzt, der Wert im Register Reg24 wird auf "1" gesetzt, der Wert im Register Reg25 wird auf "1" gesetzt und der Wert im Register Reg26 wird auf "0" gesetzt (S501).
  • Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Ausgangsregister 3 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F0000004 (Hex) durchgeführt (S502). Als nächstes wird der Wert im Register Reg24 auf "0" gesetzt (S503). Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Ausgangsregister 3 gesetzt (S504).
  • Infolge dieser Operationen werden die Eingangssignale in die Anschlüsse "Rücksetzen" des ersten und des zweiten Zeitgebers 5 und 6 auf einen niedrigen Pegel invertiert und folglich stellen sich der erste und der zweite Zeitgeber 5 und 6 aus dem Rücksetzzustand wieder her. Überdies wird in der Logikschaltung 7 eines der Eingangssignale in das ODER-Gatter 701 auf einen hohen Pegel und dann zurück auf einen niedrigen Pegel invertiert und außerdem wird das Eingangssignal in den Anschluss R des Flip-Flops 702 auf einen niedrigen Pegel invertiert. Folglich wird das externe Ausgangssignal EXT_OUT auf einen niedrigen Pegel invertiert. Außerdem wird das Eingangssignal in den "Start" des ersten Zeitgebers 5 auf einen hohen Pegel invertiert und dies veranlasst, dass der erste Zeitgeber 5 das Zählen mit einem Zählwert 06 (Hex) beginnt.
  • Anschließend, wenn ein Überlauf im Zählwert des ersten Zeitgebers 5 auftritt, wird das Ausgangssignal aus dem Anschluss "Überlauf" des ersten Zeitgebers 5 auf einen hohen Pegel invertiert und das Eingangssignal in den Anschluss "Start" des zweiten Zeitgebers 6 und eines der Eingangssignale in das ODER-Gatter 701 der Logikschaltung 7 werden auf einen hohen Pegel invertiert. Folglich startet der zweite Zeitgeber 6 das Zählen mit einem Zählwert 02 (Hex). Außerdem wird das externe Ausgangssignal EXT_OUT auf einen hohen Pegel invertiert und das Eingangssignal in den Anschluss "Start" des ersten Zeitgebers 5 wird auf einen niedrigen Pegel invertiert.
  • Der Überlauf im ersten Zeitgeber 5 verursacht eine Unterbrechungsanforderung. Beim Auftreten dieser Unterbrechungsanforderung wird ein Programm, wie in einem Ablaufplan in 18 gezeigt, ausgeführt. Zuerst werden die Werte in den Registern Reg0 bis Reg7 auf 04 (Hex) gesetzt, der Wert im Register Reg17 wird auf "1" gesetzt, der Wert im Register Reg18 wird auf "0" gesetzt, der Wert im Register Reg20 wird auf "0" gesetzt, der Wert im Register Reg21 wird auf "0" gesetzt, der Wert im Register Reg24 wird auf "0" gesetzt, der Wert im Register Reg25 wird auf "1" gesetzt, der Wert im Register Reg26 wird auf "0" gesetzt (S601).
  • Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Ausgangsregister 3 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F0000004 (Hex) durchgeführt (S602). Als nächstes wird der Wert im Register Reg17 auf "0" gesetzt (S603). Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Ausgangsregister 3 gesetzt (S604).
  • Infolge dieser Operationen schaltet im ersten Zeitgeber 5, wobei der in die Anschlüsse IN0 bis IN7 eingegebene Wert auf 04 (Hex) gehalten wird, das Eingangssignal in den Anschluss "Rücksetzen" auf einen hohen Pegel und dann zurück auf einen niedrigen Pegel. Folglich wird der erste Zeitgeber 5 vorübergehend zurückgesetzt, so dass sein Zählwert auf 04 (Hex) gesetzt wird. Außerdem wird das Ausgangssignal aus dem Anschluss "Überlauf" des ersten Zeitgebers 5 auf einen niedrigen Pegel invertiert, und dies schaltet alle drei Eingangssignale in das ODER-Gatter 701 der Logikschaltung 7 auf einen niedrigen Pegel.
  • Anschließend, wenn ein Überlauf im Zählwert des zweiten Zeitgebers 6 auftritt, wird das Ausgangssignal aus dem Anschluss "Überlauf" des zweiten Zeitgebers 6 auf einen hohen Pegel invertiert und eines der Eingangssignale in das ODER-Gatter 701 der Logikschaltung 7 wird auf einen hohen Pegel invertiert. Folglich wird das externe Ausgangssignal EXT_OUT auf einen niedrigen Pegel invertiert. Außerdem wird das Eingangssignal in den Anschluss "Start" des ersten Zeitgebers 5 auf einen hohen Pegel invertiert und dies veranlasst, dass der erste Zeitgeber 5 das Zählen mit einem Zählwert 04 (Hex) beginnt.
  • Der Überlauf im zweiten Zeitgeber 6 verursacht eine Unterbrechungsanforderung. Beim Auftreten dieser Unterbrechungsanforderung wird ein Programm, wie in einem Ablaufplan in 19 gezeigt, ausgeführt. Zuerst werden die Werte in den Registern Reg8 bis Reg15 auf 0A (Hex) gesetzt, der Wert im Register Reg17 wird auf "0" gesetzt, der Wert im Register Reg18 wird auf "0" gesetzt, der Wert im Register Reg20 wird auf "1" gesetzt, der Wert im Register Reg21 wird auf "0" gesetzt, der Wert im Register Reg24 wird auf "0" gesetzt, der Wert im Register Reg25 wird auf "1" gesetzt, der Wert im Register Reg26 wird auf "0" gesetzt (S701).
  • Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Ausgangsregister 3 gesetzt. Insbesondere wird ein Schreibzugriff auf die Adresse F0000004 (Hex) durchgeführt (S702). Als nächstes wird der Wert im Register Reg20 auf "0" gesetzt (S703). Als nächstes wird die Adresse, auf die ein Zugriff durchzuführen ist, im Ausgangsregister 3 gesetzt (S704).
  • Infolge dieser Operationen schaltet im zweiten Zeitgeber 6, wobei der in die Anschlüsse IN0 bis IN7 eingegebene Wert auf 0A (Hex) gehalten wird, das Eingangssignal in den Anschluss "Rücksetzen" auf einen hohen Pegel und dann zurück auf einen niedrigen Pegel. Folglich wird der zweite Zeitgeber 6 vorübergehend zurückgesetzt, so dass sein Zählwert auf 0A (Hex) gesetzt wird. Außerdem wird das Ausgangssignal aus dem Anschluss "Überlauf" des zweiten Zeitgebers 6 auf einen niedrigen Pegel invertiert, und dies schaltet alle drei Eingangssignale in das ODER-Gatter 701 der Logikschaltung 7 auf einen niedrigen Pegel.
  • Wenn die vorstehend beschriebenen Programme ausgeführt werden, variieren der Zählwert T1 des ersten Zeitgebers 5, der Zählwert T2 des zweiten Zeitgebers 6, die Werte in den Registern Reg0 bis Reg7, die Werte in den Registern Reg8 bis Reg15 und das externe Ausgangssignal EXT_OUT, wie in 20 gezeigt. Hier wird angenommen, dass der erste und der zweite Zeitgeber 5 und 6 mit einem Taktsignal mit einer Frequenz von 4 [MHz] arbeiten.
  • Zuerst wird im Anfangszustand, in dem das in 15 gezeigte Programm gerade ausgeführt wurde, das externe Ausgangssignal EXT_OUT auf einem hohen Pegel gehalten. Überdies befinden sich der erste und der zweite Zeitgeber 5 und 6 in einem Rücksetzzustand, wobei ihre Zählwerte auf 06 (Hex) bzw. 02 (Hex) gesetzt sind. Wenn das in 17 gezeigte Programm ausgeführt wird, wird, wie der Buchstabe "A" in 20 angibt, das externe Ausgangssignal EXT_OUT auf einen niedrigen Pegel invertiert und der erste Zeitgeber 5 beginnt das Zählen mit einem Zählwert 06 (Hex).
  • Eine Zeitdauer von 1,5 [μs] danach tritt ein Überlauf im ersten Zeitgeber 5 auf. Folglich wird das in 18 gezeigte Programm ausgeführt und folglich, wie der Buchstabe "B" in 20 angibt, wird das externe Ausgangssignal EXT_OUT auf einen hohen Pegel invertiert. Überdies beginnt der zweite Zeitgeber 6 das Zählen mit einem Zählwert 02 (Hex). Außerdem wird der erste Zeitgeber 5 zurückgesetzt und sein Zählwert wird auf 04 (Hex) gesetzt.
  • Eine Zeitdauer von 0,5 [μs] danach tritt im zweiten Zeitgeber 6 ein Überlauf auf. Folglich wird das in 19 gezeigte Programm ausgeführt und folglich, wie der Buchstabe "C" in 20 angibt, wird das externe Ausgangssignal EXT_OUT auf einen niedrigen Pegel invertiert. Überdies beginnt der erste Zeitgeber 5 das Zählen mit einem Zählwert 04 (Hex). Außerdem wird der zweite Zeitgeber 6 zurückgesetzt und sein Zählwert wird auf 0A (Hex) gesetzt.
  • Eine Zeitdauer von 1,0 [μs] danach tritt im ersten Zeitgeber 5 ein Überlauf auf. Folglich wird das in 18 gezeigte Programm ausgeführt und folglich, wie der Buchstabe "D" in 20 angibt, wird das externe Ausgangssignal EXT_OUT auf einen hohen Pegel invertiert. Überdies beginnt der zweite Zeitgeber 6 das Zählen mit einem Zählwert 0A (Hex). Außerdem wird der erste Zeitgeber 5 zurück gesetzt und sein Zählwert wird auf 04 (Hex) gesetzt.
  • Eine Zeitdauer von 2,5 [μs] danach tritt im zweiten Zeitgeber 6 ein Überlauf auf. Folglich wird das in 19 gezeigte Programm ausgeführt und folglich, wie der Buchstabe "E" in 20 angibt, wird das externe Ausgangssignal EXT_OUT auf einen niedrigen Pegel invertiert. Überdies beginnt der erste Zeitgeber 5 das Zählen mit einem Zählwert 04 (Hex). Außerdem wird der zweite Zeitgeber 6 zurückgesetzt und sein Zählwert wird auf 0A (Hex) gesetzt.
  • Wie vorstehend beschrieben, ist es im Mikrocomputer dieser Ausführungsform durch Verbinden einzelner Basisperipherieschaltungen (d. h. des ersten Zeitgebers 5, des zweiten Zeitgebers 6 und der Logikschaltung 7) mit der Verbindungsschaltung 4 durch die Ausführung eines Programms möglich, Impulse mit den gewünschten hohen und niedrigen Zeitdauern als externes Ausgangssignal EXT_OUT zu erzeugen.
  • In dieser Ausführungsform sind als Basisperipherieschaltungen der erste Zeitgeber 5, der zweite Zeitgeber 6 und die Logikschaltung 7 vorgesehen. Es ist jedoch auch möglich, sie gegen andere Universal-Peripherieschaltungen auszutauschen oder andere Peripherieschaltungen hinzuzufügen. Überdies sind Modifikationen in Bezug auf die Anzahl der Schaltungen, die Daten aus den/in die Peripherieschaltungen lesen/schreiben, die Bitlänge, die Form der Adressenabbildung usw. möglich. Überdies sind Modifikationen auch in Bezug auf das Verfahren zum Auswählen von Eingangssignalen/Ausgangssignalen in die/aus den Peripherieschaltungen unter Verwendung der Verbindungsschaltung, beispielsweise der Anzahl und des Verhältnisses von kombinierten Eingangs/Ausgangs-Anschlüssen, der Form der Adressenabbildung, der gesetzten Bits usw., möglich.

Claims (6)

  1. Mikrocomputer, mit einer CPU (1), einem Programm zum Betreiben der CPU (1) und mehreren Peripherieschaltungen (27), wobei der Mikrocomputer ferner versehen ist mit: einem Datenbus (8), der mit der CPU (1) bidirektional verbunden ist, um zu ermöglichen, dass von dem Programm ausgegebene Daten sich als Busdaten durch ihn bewegen; einer ersten Peripherieschaltung (3), die die Busdaten, die sich durch den Datenbus (8) bewegen, temporär zwischenspeichert und die so zwischengespeicherten Busdaten als zwischengespeicherte Daten in Übereinstimmung mit durch das Programm gegebenen Befehlen ausgibt; einer zweiten Peripherieschaltung (2), die die Daten, die in sie eingegeben werden, temporär zwischenspeichert und die so zwischengespeicherten Daten in Übereinstimmung mit durch das Programm gegebenen Befehlen auf den Datenbus (8) ausgibt; dritten Peripherieschaltungen (57), wovon jede eine individuelle Funktion hat, die interaktiv miteinander arbeiten und hiervon Peripherieschaltungsdaten ausgeben; und dadurch gekennzeichnet, dass der Mikrocomputer ermöglicht, dass das Programm die Verbindung zwischen den mehreren Peripherieschaltungen (27) ändert, und ferner dadurch, dass sie mit einer Verbindungsschaltung (4) versehen ist, die als vierte Peripherieschaltung dient, die die zwischengespeicherten Daten, die Busdaten und die Peripherieschaltungsdaten empfängt und mehrere Auswahlschaltungen (401416) enthält, wobei die Verbindungsschaltung (4) vorgegebene Daten in Übereinstimmung mit den Busdaten unter den zwischengespeicherten Daten und den Peripherieschaltungsdaten unter Verwendung einer Auswahlschaltung, die in Übereinstimmung mit durch das Programm gegebenen Befehlen gewählt wird, auswählt und die ausgewählten vorgegebenen Daten der zweiten Peripherieschaltung (2) und den dritten Peripherieschaltungen (57) zuweist und an diese ausgibt, um sie auszugeben, wobei die Zwischenverbindung zwischen den dritten Peripherieschaltungen (57) in Übereinstimmung mit den vorgegebenen Daten geändert wird.
  2. Mikrocomputer nach Anspruch 1, bei dem die dritten Peripherieschaltungen (57) eine Logikschaltung (7) zum Eingeben eines externen Signals (EXT_IN/INT) in die dritten Peripherieschaltungen enthalten.
  3. Mikrocomputer nach Anspruch 2, bei dem die dritten Peripherieschaltungen (57) eine Logikschaltung (7) zum Ausgeben eines in den dritten Peripherieschaltungen erzeugten Signals (EXT_OUT) nach außen enthalten.
  4. Mikrocomputer nach Anspruch 2, bei dem die dritten Peripherieschaltungen (57), in die das externe Signal (EXT_IN/INT) eingegeben wird, Zeitgeber (5, 6) enthalten, um Zeitdauern zu messen, in denen das externe Signal auf hohem Pegel bzw. auf niedrigem Pegel bleibt.
  5. Mikrocomputer nach Anspruch 2, bei dem die dritten Peripherieschaltungen (57), in die das externe Signal (EXT_IN/INT) eingegeben wird, einen ersten Zeitgeber (5), der mit dem Zählen bei einer Hinterflanke des externen Signals beginnt und mit dem Zählen bei einer Anstiegsflanke hiervon, die der Hinterflanke folgt, endet, und einen zweiten Zeitgeber (6), der mit dem Zählen bei einer Anstiegsflanke des externen Signals beginnt und mit dem Zählen bei einer Hinterflanke hiervon, die der Anstiegsflanke folgt, endet, enthält.
  6. Mikrocomputer nach Anspruch 3, bei dem die dritten Peripherieschaltungen (57) zum Erzeugen des nach außen auszugebenden Signals (EXT_OUT) einen ersten Zeitgeber (5) und einen zweiten Zeitgeber (6) enthalten und das Signal (EXT_OUT) erzeugen, das für eine vorgegebene Zeitdauer einen hohen Pegel hat und für eine weitere vorgegebene Zeitdauer einen niedrigen Pegel hat, indem sie die Zwischenverbindung mittels der Verbindungsschaltung (4) ändern.
DE60121537T 2000-12-26 2001-12-18 Verbindung von peripheren Schaltkreisen in einem Mikrocomputer Expired - Lifetime DE60121537T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2000395170A JP2002197049A (ja) 2000-12-26 2000-12-26 マイクロコンピュータ
JP2000395170 2000-12-26

Publications (2)

Publication Number Publication Date
DE60121537D1 DE60121537D1 (de) 2006-08-31
DE60121537T2 true DE60121537T2 (de) 2007-07-05

Family

ID=18860677

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60121537T Expired - Lifetime DE60121537T2 (de) 2000-12-26 2001-12-18 Verbindung von peripheren Schaltkreisen in einem Mikrocomputer

Country Status (7)

Country Link
US (1) US6826633B2 (de)
EP (1) EP1220109B1 (de)
JP (1) JP2002197049A (de)
KR (1) KR20020053021A (de)
CN (1) CN1199113C (de)
DE (1) DE60121537T2 (de)
TW (1) TWI223152B (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5087884B2 (ja) 2006-08-11 2012-12-05 富士通セミコンダクター株式会社 データ処理ユニット、およびこれを使用したデータ処理装置

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5597625A (en) * 1979-01-17 1980-07-25 Fanuc Ltd Bus connection system
US4654820A (en) * 1983-11-30 1987-03-31 At&T Bell Laboratories Interrupt bus structure
US5142625A (en) * 1985-06-12 1992-08-25 Minolta Camera Kabushiki Kaisha One-chip microcomputer including a programmable logic array for interrupt control
JPH01162971A (ja) * 1987-09-09 1989-06-27 Hitachi Ltd シングルチップマイクロコンピュータ
US5111423A (en) * 1988-07-21 1992-05-05 Altera Corporation Programmable interface for computer system peripheral circuit card
US4952367A (en) * 1988-08-19 1990-08-28 Motorola, Inc. Timer channel for use in a multiple channel timer system
JP2690213B2 (ja) 1991-06-07 1997-12-10 日本電気アイシーマイコンシステム株式会社 マイクロコンピュータ
JPH05127913A (ja) 1991-11-05 1993-05-25 Toshiba Corp マイクロプロセツサシステム
CN1076532A (zh) 1993-03-04 1993-09-22 牛振有 微型计算机外设故障诊断方法及其装置
JPH0876995A (ja) * 1994-09-07 1996-03-22 Matsushita Electric Ind Co Ltd マイクロプロセッサ
US5630174A (en) * 1995-02-03 1997-05-13 Cirrus Logic, Inc. Adapter for detecting whether a peripheral is standard or multimedia type format and selectively switching the peripheral to couple or bypass the system bus
US5619706A (en) * 1995-03-02 1997-04-08 Intel Corporation Method and apparatus for switching between interrupt delivery mechanisms within a multi-processor system
US6263378B1 (en) * 1996-06-03 2001-07-17 Sun Microsystems, Inc. System and method for rapid development of bootstrap device detection modules
US5854908A (en) * 1996-10-15 1998-12-29 International Business Machines Corporation Computer system generating a processor interrupt in response to receiving an interrupt/data synchronizing signal over a data bus
US6154857A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Microprocessor-based device incorporating a cache for capturing software performance profiling data
US5933656A (en) * 1997-06-18 1999-08-03 Raytheon Company System for interfacing host computer to multiple peripheral devices using daisy-chainable bus and federated computational input/output circuit card assemblies
US6044411A (en) * 1997-11-17 2000-03-28 International Business Machines Corporation Method and apparatus for correlating computer system device physical location with logical address
US6145020A (en) * 1998-05-14 2000-11-07 Advanced Technology Materials, Inc. Microcontroller incorporating an enhanced peripheral controller for automatic updating the configuration date of multiple peripherals by using a ferroelectric memory array
JP3700759B2 (ja) * 1999-06-22 2005-09-28 株式会社デンソー パルス幅検出機能を有する1チップマイクロコンピュータ
US6510473B1 (en) * 1999-08-19 2003-01-21 Micron Technology, Inc. Apparatus and method for automatically selecting an appropriate signal from a plurality of signals, based on the configuration of a peripheral installed within a computing device

Also Published As

Publication number Publication date
EP1220109B1 (de) 2006-07-19
EP1220109A2 (de) 2002-07-03
KR20020053021A (ko) 2002-07-04
US20020083220A1 (en) 2002-06-27
EP1220109A3 (de) 2004-04-28
CN1362674A (zh) 2002-08-07
JP2002197049A (ja) 2002-07-12
DE60121537D1 (de) 2006-08-31
US6826633B2 (en) 2004-11-30
CN1199113C (zh) 2005-04-27
TWI223152B (en) 2004-11-01

Similar Documents

Publication Publication Date Title
DE69127241T2 (de) Programmierbare Schaltung zur Leistungsverminderung in einer programmierbaren logischen Schaltung
DE19530100C2 (de) Integrierte Dram-Schaltung mit Reihenkopierschaltung und Verfahren
DE2916658A1 (de) Selbstprogrammierbarer mikroprozessor
DE2721319A1 (de) Einrichtung zur selbsttaetigen aenderung der prozessor/speicher-konfiguration
DE2646163B2 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE19851861A1 (de) Fehleranalysespeicher für Halbleiterspeicher-Testvorrichtungen und Speicherverfahren unter Verwendung des Fehleranalysespeichers
DE3739993C2 (de)
DE69125876T2 (de) Kennzeichenschaltung für nichtflüchtige Speicheranordnung
DE69903005T2 (de) Schaltung und vorrichtung zur karakterisierung der leistungskennwerte von integrierten schaltungen
DE2935101A1 (de) Folge-steuereinrichtung
DE69328396T2 (de) Integrierte Halbleiterschaltung und diese verwendende IC-Karte
DE69628604T2 (de) Ein-Chip-Mikrorechner mit vielen Zeitgeberzählern
DE69031361T2 (de) Taktsignalgeneratorsystem
DE69735907T2 (de) Verfahren zur Identifizierung eines Peripheriegerätes in einem Halbleitergerät
DE60121537T2 (de) Verbindung von peripheren Schaltkreisen in einem Mikrocomputer
DE3024153A1 (de) Speicher-subsystem
DE69027545T2 (de) Vorrichtung und Verfahren zum Frequenzwechsel
DE69122001T2 (de) Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle
DE10241385A1 (de) Integrierter Schaltkreis
EP0213584B1 (de) Schaltungsanordnung mit einer matrixförmigen Speicheranordnung zur variabel einstellbaren Verzögerung digitaler Signale
DE69227144T2 (de) Programmierbare logische Einheit
DE3313075C2 (de)
DE3916811A1 (de) Integrierte halbleiterschaltung mit einer internen nicht-wiederprogrammierbaren speichereinrichtung
DE69431338T2 (de) Datenverarbeitungssystem mit Busbreite-Wechselfunktion
DE60001450T2 (de) Vorrichtung zur funktionellen Widergabe einer spezifischen integrierten Halbleiterschaltung und deren Verwendung als Emulationsvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition