DE3814622A1 - Ausgangsimpuls-erzeugungsvorrichtung - Google Patents

Ausgangsimpuls-erzeugungsvorrichtung

Info

Publication number
DE3814622A1
DE3814622A1 DE3814622A DE3814622A DE3814622A1 DE 3814622 A1 DE3814622 A1 DE 3814622A1 DE 3814622 A DE3814622 A DE 3814622A DE 3814622 A DE3814622 A DE 3814622A DE 3814622 A1 DE3814622 A1 DE 3814622A1
Authority
DE
Germany
Prior art keywords
output
command
memory
time
pulse
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE3814622A
Other languages
English (en)
Other versions
DE3814622C2 (de
Inventor
Masayoshi Tachibana
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Publication of DE3814622A1 publication Critical patent/DE3814622A1/de
Application granted granted Critical
Publication of DE3814622C2 publication Critical patent/DE3814622C2/de
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/26Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
    • F02D41/28Interface circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Programmable Controllers (AREA)
  • Feedback Control In General (AREA)
  • Electrotherapy Devices (AREA)

Description

Die Erfindung betrifft eine im folgenden auch einfach als Impulsgenerator bezeichnete Ausgangsimpuls-Erzeugungsvorrichtung zum Erzeugen und Liefern bzw. Ausgeben eines Ausgangsimpulses einer willkürlichen Wellenform nach Maßgabe eines von einer Zentraleinheit (CPU) gelieferten Befehls.
Ein (Ausgangs-)Impulsgenerator vermag einen Ausgangsimpuls auf der Grundlage von Daten zum Bezeichnen einer Ausgangsgröße eines zu erzeugenden Impulses und Daten zum Bezeichnen eines (einer) Ausgabezeittakts oder Zeitmarke der Ausgangsgröße, die jeweils von einer Zentraleinheit geliefert werden, zu erzeugen. Eine Vorrichtung, die einen solchen Ausgangsimpuls zu liefern vermag, ist mit einer Betätigungseinrichtung bzw. einem Stelltrieb kombiniert und wird für die Steuerung verschiedener Geräte benutzt. Beispielsweise ist ein (derartiger) Impulsgenerator für die Brennkraftmaschinen-Regelung bei Kraftfahrzeugen in der JP-Patentveröffentlichung 60-2510 beschrieben. Diese Vorrichtung ist nachstehend anhand von Fig. 1 erläutert.
Gemäß Fig. 1 setzt eine nicht dargestellte Zentraleinheit Zeitpunkte TA, TB, TC und TD von Zustandsänderungen (Änderungen in der Ausgabe- oder Ausgangsgröße) von entsprechenden Ausgangsimpulsen A, B, C bzw. D (vgl. Fig. 2) in entsprechenden Registern 101, 102, 103 bzw. 104. Außerdem setzt sie die Ausgangsgrößen DA, DB, DC und DD an den betreffenden Zustandsänderungs-Zeitpunkten in Registern 105, 106, 107 bzw. 108. Ein einen Bezugszeitpunkt bezeichnendes, durch einen Zeitgeberzähler 109 erzeugtes Bezugszeitpunktsignal sowie die in den Registern 101 und (bis) 104 gespeicherten Zeitpunkte TA-TD werden auf Zeitteilbasis durch einen Umschalter 110 umgeschaltet und in einem Vergleicher oder Komparator 111 miteinander verglichen. Das entsprechende Vergleichsergebnis wird auf Zeitteilbasis durch einen Umschalter 112 umgeschaltet und sequentiell an die G-Klemmen von D-Typ-Flipflops 113, 114, 115 und 116 angelegt. Die Ausgangsgrößen DA-DD werden durch die Flipflops 113-116 nach Maßgabe des Vergleichsergebnisses verriegelt oder verklinkt (latched), und es werden Ausgangsimpulse A, B, C und D erzeugt.
Wenn der Impulsgenerator gemäß Fig. 1 vier Ausgangsgrößen A, B, C und D (Fig. 2) liefert, bewirkt die nicht dargestellte Zentraleinheit die Verarbeitung oder Verknüpfung nach Fig. 3.
Genauer gesagt: nach dem Setzen oder Vorgeben der Ausgangsgrößen DA-DD und der Zeitpunkte TA-TD in den Registern 101-108 durch die Zentraleinheit führt letztere andere Operationen aus, bis in Abhängigkeit von einem Koinzidenzausgangssignal vom Komparator 111 ein Unterbrechungsbefehl geliefert wird. In diesem Fall setzt die Zentraleinheit die nächsten Größen in den entsprechenden Registern. In Fig. 3 stehen bis für die betreffenden, durch die Unterbrechungsbefehle zur Zentraleinheit unterteilten Verarbeitungsabschnitte. Mittels der obigen Verarbeitung kann die Zentraleinheit andere Operationen während einer Zeit ausführen, die von der Zeit vom Zeitpunkt, zu dem die Zentraleinheit eine Unterbrechung empfängt, zu dem Zeitpunkt, zu dem die Zeitpunktdaten TA-TD und die Ausgangsdaten DA-DD aktualisiert werden, verschieden ist.
Die bisherige Anordnung nach Fig. 1 ist mit den folgenden Mängeln behaftet: Da die Vergleichs- und Verriegelungsoperationen in jedem Kanal auf Zeitteilbasis erfolgen (ein Impuls entsprechend einem Kanal), sind auch dann, wenn die gesetzten (vorgegebenen) Zeitpunkte des Ausgangs(zeit)takts oder der -zeitmarke der Ausgangsgrößen A-D auf die durch die gestrichelte Linie in Fig. 4A gezeigte Weise koinzidieren, die Zeitpunkte der Ausgangsimpulse A, B, C und D fortlaufend um ts (gegeneinander) verschoben. Dabei bedeutet ts eine für die Umschaltoperation der Umschalter 110 und 112 erforderliche Zeitspanne. Aus dem angegebenen Grund wird die Genauigkeit des Impulsausgabezeitpunkts beeinträchtigt.
Da nur eine Impulszustandsänderung zu einem gegebenen Zeitpunkt zwischen Unterbrechungsbefehlen zur Zentraleinheit an den ersten und zweiten Zeitpunkten gesteuert werden kann, müssen die Vorder- und Hinterflanken für jeden Impuls auch im Fall von periodischen Impulsen gesetzt bzw. eingestellt (set) werden. Infolgedessen vergrößert sich die (Betriebs-)­ Belastung der Zentraleinheit. Da außerdem eine Mindestzeitspanne zwischen Zustandsänderungen im Ausgangsimpuls durch Betriebstakte beeinflußt wird, kann kein Impuls einer schmalen Breite oder Hochgeschwindigkeitsimpuls erzeugt werden.
Aufgabe der Erfindung ist damit die Schaffung einer Aus­ gangsimpuls-Erzeugungsvorrichtung bzw. eines Impulsgenerators, mit der bzw. dem unter Vermeidung der geschilderten Mängel des Standes der Technik ein Impuls schmaler Breite bzw. ein Hochgeschwindigkeitsimpuls erzeugt werden kann.
Diese Aufgabe wird bei einer Ausgangsimpuls-Erzeugungsschaltung (bzw. Impulsgenerator) gelöst durch eine Zentral(prozessor)einheit (CPU), die einen eine Ausgangsgröße enthaltenden Befehl zu jedem Zeitpunkt eines zu erzeugenden Impulses ausgibt, einen an die Zentraleinheit angeschlossenen Befehlsspeicher zum Speichern des Befehls, einen Zeitgeberzähler zum Erzeugen von Bezugssignalen, welche Bezugszeitpunkte bezeichnen bzw. angeben, einen an den Befehlsspeicher und den Zeitgeberzähler angeschlossenen Arbeitsfolgeregler, einen an den Zeitgeberzähler und den Arbeitsfolgeregler angeschlossenen Ausgangsspeicher zum Speichern der Ausgangsgröße des Impulses zum genannten Zeitpunkt durch bzw. über den Arbeitsfolgeregler (5) und eine an die Zentraleinheit und den Ausgangsspeicher angeschlossene Ausgangsschaltung zum Auslesen der Ausgangsgröße des Impulses aus einer Adresse des Ausgangsspeichers, entsprechend dem Bezugszeitpunkt, und zum Formen des Impulses aus der aus dem Ausgangsspeicher ausgelesenen Ausgangsgröße, wobei der Arbeitsfolgeregler anschließend die im Befehlsspeicher (ab)gespeicherten Befehle ausliest und dann, wenn eine Differenz zwischen einem in einem ausgelesenen Befehl gesetzten Zeitpunkt und einem durch ein Bezugszeitpunktsignal bezeichneten Bezugszeitpunkt kleiner ist als eine durch die Speicherkapazität des Ausgangsspeichers vorbestimmte Zeitdauer, den Befehl ausführt und in den Ausgangsspeicher die aus dem ausgeführten Befehl ausgelesene Ausgangsgröße einschreibt.
Erfindungsgemäß führt der Arbeitsfolgeregler (sequencer) den Befehl aus, wenn eine Zeitdifferenz zwischen einem durch einen Befehl bezeichneten Zeitpunkt und einem Bezugszeitpunkt kleiner ist als eine Zeitdauer, die durch die Speicherkapazität des Ausgangs- oder Ausgabespeichers vorherbestimmt ist, d. h. wenn die Ausgangsgröße in den Ausgangsspeicher eingeschrieben werden kann. Sodann schreibt der Arbeitsfolgeregler eine Ausgangsgröße in den Ausgangsspeicher ein, bevor eine Ausgangs- oder Ausgabeschaltung einen Impuls liefert. Aus diesem Grund können die Ausgangssignale von einer Anzahl von Kanälen (eine Anzahl von Impulsen) im voraus in den Ausgangsspeicher eingeschrieben werden. Letzterer liefert eine Ausgangsgröße jedes Kanals entsprechend jeder Bezugszeit in Synchronismus mit den Bezugszeitpunktsignalen. Demzufolge können Impulse mit hoher Zeitgenauigkeit von der Ausgangsschaltung erhalten werden.
Erfindungsgemäß ist der Zeitpunkt oder die Zeitmarke (timing), zu dem bzw. bei der eine Ausgangsgröße durch den Arbeitsfolgeregler in den Ausgangsspeicher eingeschrieben wird, nicht mit dem bzw. der synchronisiert, zu dem bzw. bei der die Ausgangsgröße durch den Ausgangsspeicher in die Ausgangsschaltung eingeschrieben wird. Demzufolge ist keine 1 : 1-Entsprechung zwischen einem Befehl und einer Impulszustandsänderung erforderlich. Wenn z. B. ein Impuls einer konstanten Periode erzeugt werden soll, kann ein einziger Befehl eine Anzahl von Zustandsänderungen eines Impulses an einer Anzahl von Zeitpunkten bezeichnen. Aus diesem Grund kann die Zahl der Befehlsvorschriften verkleinert sein, und die Belastung der Zentraleinheit kann daher verringert werden.
Bei der erfindungsgemäßen Anordnung wird weiterhin eine Ausgangsgröße im voraus durch den Arbeitsfolgeregler eingeschrieben, und die eingeschriebene (oder eingelesene) Ausgangsgröße wird in Synchronismus mit einem Bezugszeitpunkt in die Ausgangsschaltung eingelesen. Demzufolge wird zwischen zwei Zustandsänderungen eines Ausgangssignals durch einen dem Zeitgeberzähler zugeführten Takt eine Mindestzeitspanne bestimmt, die durch einen Unterbrechungsbefehl (an interrupt) zur Zentraleinheit nicht beeinflußt wird. Infolgedessen kann ohne weiteres ein Impuls einer schmalen Breite oder ein Hochgeschwindigkeitsimpuls erzeugt werden. Da weiterhin Ausgangsgrößen von einer Anzahl von Kanälen mit dem gleichen Zeittakt (at the same timing) ausgelesen werden können, treten die Impulsverzögerungen gemäß Fig. 4B nicht auf.
Im folgenden ist eine bevorzugte Ausführungsform der Erfindung im Vergleich zum Stand der Technik anhand der Zeichnung näher erläutert. Es zeigt
Fig. 1 ein Blockschaltbild einer (eines) herkömmlichen Ausgangsimpuls-Erzeugungsvorrichtung bzw. Impulsgenerators,
Fig. 2 ein Zeitsteuerdiagramm eines Beispiels für Zustandsänderungen von Ausgangsgrößen in bezug auf Zeitpunkte von Ausgangsimpulsen,
Fig. 3A und 3B ein Ablaufdiagramm zur Erläuterung einer Operation des herkömmlichen Impulsgenerators,
Fig. 4A und 4B Zeitsteuerdiagramme zur Erläuterung der zu lösenden Probleme beim herkömmlichen Impulsgenerator,
Fig. 5 ein Blockschaltbild der Gesamtanordnung einer Ausführungsform der Erfindung,
Fig. 6 eine graphische Darstellung des Formats eines in einem Befehlsspeicher zu speichernden Befehls,
Fig. 7A bis 7G graphische Darstellungen von verschiedenen Arten von Befehlen,
Fig. 8 eine Ansicht von Darstellungen von Befehlen für die Erzeugung von Impulsen entsprechend denen nach Fig. 2,
Fig. 9 ein Blockschaltbild der Anordnung des Befehlsspeichers nach Fig. 5,
Fig. 10 ein Zeitsteuerdiagramm zur Darstellung einer Beziehung zwischen einem Systemtakt und einer Zugriffszeitmarke für eine Zentraleinheit (Fig. 5),
Fig. 11 ein detailliertes Blockschaltbild eines Arbeitsfolgereglers (sequencer) nach Fig. 5,
Fig. 12A bis 12D Ablaufdiagramme zur Erläuterung einer Operation des Arbeitsfolgereglers nach Fig. 5,
Fig. 13 ein Blockschaltbild eines Zeitgeberzählers (timer counter) nach Fig. 5,
Fig. 14 ein Zeitsteuerdiagramm zur Darstellung einer Beziehung zwischen einem Systemtakt und einem Zeitgebertakt,
Fig. 15 ein detailliertes Blockschaltbild eines Ausgangsspeichers nach Fig. 5 und
Fig. 16 ein detailliertes Blockschaltbild einer Ausgangsschaltung.
Die Fig. 1 bis 4 sind eingangs bereits erläutert worden.
Gemäß Fig. 5 umfaßt ein(e) Ausgangsimpuls-Erzeugungsvorrichtung oder Impulsgenerator 1 eine Zentraleinheit (CPU) 3, einen Befehlsspeicher 4 zum Speichern von Befehlen, die von der Zentraleinheit 3 geliefert und für die Erzeugung von Ausgangsimpulsen benutzt werden, einen Zeitgeberzähler 6 zur Lieferung eines Bezugszeitpunktsignals, das einen Bezugszeitpunkt bezeichnet, einen mit dem Befehlsspeicher 4 und dem Zeitgeberzähler 6 gekoppelten Arbeitsfolgeregler 5, der sequentiell die im Befehlsspeicher 4 gespeicherten Befehle auszuführen vermag, einen an den Arbeitsfolgeregler 5 und den Zeitgeberzähler 6 angeschlossenen Ausgabe- oder Ausgangsspeicher 7, der jede Ausgangsgröße zu einem entsprechenden Zeitpunkt zu speichern vermag, zu dem der Arbeitsfolgeregler 5 einen entsprechenden Befehl ausführt, sowie eine an den Ausgangsspeicher 7 und die Zentraleinheit 3 angeschlossene Ausgabe- oder Ausgangsschaltung 8 zum Erzeugen eines Ausgangsimpulses nach Maßgabe einer in Synchronismus mit dem Bezugszeitpunkt vom Zeitgeberzähler 6 aus dem Ausgangsspeicher 7 ausgelesenen Ausgangsgröße.
Gemäß Fig. 6 enthält jeder im Befehlsspeicher 4 gespeicherte Befehl 2 Wörter (1 Wort entsprechend 2 Bytes) von insgesamt 32 Bits. Jeder Befehl umfaßt einen INST-Teil (2 Bits), einen CH#-Teil (2 Bits), einen MODE-Teil (4 Bits) und einen T- oder Zeitpunktteil (24 Bits) von den unteren Bits her. Der T-Teil oder -Bereich ist in einen T0-Teil (8 Bits, niedrigstwertiges Byte), einen T1-Teil (8 Bits) und einen T2-Teil (8 Bits, höchstwertiges Byte) unterteilt. Der INST- Teil oder -Bereich entspricht einem Code zum Identifizieren jedes Befehls. Der CH#-Teil stellt einen Code zum Bezeichnen (specifying) eines von vier Kanälen (zum Erzeugen oder Liefern von z. B. Ausgangsimpulsen A, B, C und D gemäß Fig. 2) dar. Wenn dabei ein Befehl, der keine Beziehung zu den Kanälen besitzt, verarbeitet wird, kann ein Befehlscode über die INST- und CH#-Teile dargestellt (described) werden. Der MODE-Teil repräsentiert einen Code für die Angabe einer Ausgangsgröße oder eines Ausgangszustandes eines spezifizierten Kanals. Der T-Teil repräsentiert einen Code zum Bezeichnen eines Zeitpunkts, zu dem eine Ausgangsgröße eines Impulses geändert wird oder sich ändert. Gemäß den Fig. 7A bis 7G werden beispielsweise sieben Arten von Befehlen vorgesehen oder bereitgestellt, deren Funktionen nachstehend beschrieben sind.
Fig. 7A, Befehl NOP
Der Befehl NOP wird erzeugt, wenn der INST-Teil = 00 und der CH#-Teil = 00. Der Befehl verursacht keine Änderung in der Ausgangsgröße eines Impulses; er wird zum Auffüllen eines unbelegten Speicherbereichs des Befehlsspeichers 4 benutzt. In diesem Befehl werden MODE- und T-Teile vernachlässigt.
Fig. 7B, Befehl TRANS
Der Befehl TRANS wird erzeugt, wenn INST-Teil = 01. Dieser Befehl veranlaßt die Impulse von allen Kanälen, eine Ausgangszustandsänderung, die durch den MODE-Teil bezeichnet ist, zu einem durch den T-Teil bezeichneten Zeitpunkt herbeizuführen. Bei Ausführung dieses Befehls bewirkt der Arbeitsfolgeregler 5 das Neueinschreiben von 00 in die INST- und CH#-Teile zwecks Erzeugung des Befehls NOP.
Fig. 7C, Befehl TRANS ALL
Der Befehl TRANS ALL wird erzeugt, wenn INST-Teil = 00 und CH#-Teil = 01. Dieser Befehl veranlaßt die Impulse aller Kanäle zu einer durch den MODE-Teil bezeichneten Zustandsänderung zu einem durch den T-Teil bezeichneten Zeitpunkt. Bei Ausführung des Befehls bewirkt der Arbeitsfolgeregler 5 das Neueinschreiben von 00 in die INST- und CH#-Teile zwecks Erzeugung des Befehls NOP.
Fig. 7D, Befehl TRANS ADD
Der Befehl TRANS ADD wird erzeugt, wenn der INST-Teil = 10. Dieser Befehl veranlaßt einen Impuls eines durch den CH#- Teil bezeichneten Kanals zu einer durch den MODE-Teil bezeichneten Zustandsänderung zu einem durch den T-Teil bezeichneten Zeitpunkt. Zudem dient dieser Befehl zum Addieren eines Zeitintervalls, das in einem bezeichneten Register unter mehreren Registern zum Speichern von Zeitintervallen (oder -abständen) zwischen periodischen Impulsen (später anhand von Fig. 11 noch näher zu beschreiben) gespeichert ist, zu einem durch den T-Teil bezeichneten Zeitpunkt und zum Wieder- oder Neueinschreiben (rewrite) des Additionsergebnisses als neuer Vorgabe- oder Soll-Zeitpunkt in den T-Teil. Dieser Befehl eignet sich zum Darstellen eines periodischen Impulses, weil er einen Impuls veranlassen kann, wiederholt die gleiche Änderung durchzuführen.
Fig. 7E, Befehl TRANS ADD ALL
Dieser Befehl wird erzeugt, wenn der INST-Teil = 00 und der CH#-Teil = 10. Dieser Befehl veranlaßt die Impulse aller Kanäle zu einer durch den MODE-Code (oder -Teil) bezeichneten Zustandsänderung zu einem durch den T-Teil bezeichneten Zeitpunkt. Zudem dient dieser Befehl zum Addieren eines Zeitintervalls, das in einem bezeichneten der Register zum Speichern von Zeitintervallen (zwischen Impulsen) (noch zu beschreiben) gespeichert ist, zu einem durch den T-Teil bezeichneten Zeitpunkt und zum Neueinschreiben des Additionsergebnisses als neuer Zeitpunkt in den T-Teil. Ähnlich wie der Befehl TRANS ADD, eignet sich dieser Befehl zum Darstellen (for description) eines periodischen Impulses, weil er einen Impuls veranlassen kann, wiederholt die gleiche Änderung durchzuführen.
Fig. 7F, Befehl LOADITV
Dieser Befehl wird erzeugt, wenn der INST-Teil = 11. Dieser Befehl dient zum Einschreiben von Zeitintervallen, die für die Erzeugung von durch den T-Teil bezeichneten periodischen Impulsen nötig sind, in die Register im Arbeitsfolgeregler 5. Zum Speichern der Zeitintervalle sind 16 Paare von Registern vorgesehen. Eines der 16 Registerpaare wird durch Daten im MODE-Teil bezeichnet. In diesem Befehl ist die Darstellung im CH#-Teil vernachlässigt.
Fig. 7G, Befehl SELITV
Dieser Befehl wird erzeugt, wenn der INST-Teil = 00 und der CH#-Teil = 11. Dieser Befehl dient zum Wählen eines durch den MODE-Teil bezeichneten Registerpaars aus den 16 Registerpaaren für die Speicherung von Zeitintervallen, die für die Erzeugung von periodischen Impulsen nötig sind. In diesem Befehl ist die Darstellung im T-Teil vernachlässigt.
Fig. 8 veranschaulicht ein Beispiel, nach dem die Zustände von Ausgangsimpulsen A-D gemäß Fig. 2 mittels der vorstehend beschriebenen Befehle dargestellt (described) sind.
Gemäß Fig. 8 dient die Darstellung (description) von zum Ausgeben von Ausgangsgrößen "0" zu einem Zeitpunkt "0" von vier Kanälen entsprechend Ausgangsimpulsen A, B, C und D. Die Darstellung von dient zum Ausgeben von Ausgangsgrößen "1" und "0" zu Zeitpunkten 4 bzw. 12 aus dem Kanal A. Die Darstellung von dient zum Ausgeben der Ausgangsgröße "1" zum Zeitpunkt 12 aus dem Kanal B. Die Darstellung von dient zum Ausgeben der Ausgangsgröße "1" zum Zeitpunkt 4 aus dem Kanal C, zum Invertieren der Ausgangsgröße "1" in "0" und Ausgeben von "1" zum Zeitpunkt 9, zum Invertieren der Ausgangsgröße "0" und Ausgeben der Ausgangsgröße "1" zum Zeitpunkt 11 sowie zum Ausgeben der Ausgangsgröße "0" zum Zeitpunkt 14. Die Darstellung von dient zum Setzen oder Vorgeben (setting) eines Zeitintervalls von periodischen Impulsen in einem durch RO bezeichneten Register der 16 Registerpaare, zum Ausgeben der Ausgangsgröße "1" zum Zeitpunkt 1 aus dem Kanal D, zum Addieren des Zeitintervalls 6 zum Zeitpunkt 1 zwecks Neueinschreibens des Additionsergebnisses 7 als neuer Zeitpunkt in den T-Teil und Ausgebens der Ausgangsgröße "0" zum Zeitpunkt 3, (sowie zum Addieren des Zeitintervalls 6 zum Zeitpunkt 3 zwecks Neueinschreibens des Additionsergebnisses 9 als neuer Zeitpunkt in den T-Teil. Die Darstellung von dient zum Darstellen eines Befehls für unveränderten Zustand eines Impulses in einem unbelegten Speicherbereich des Befehlsspeichers 4. Die Impulse A bis D gemäß Fig. 2 können mittels der vorstehend beschriebenen Befehle bezeichnet werden.
Fig. 9 veranschaulicht im einzelnen die Anordnung bzw. den Aufbau des Befehlsspeichers 4 zum Speichern der Befehle. Gemäß Fig. 9 kann ein Randomspeicher (RAM) 21 mit einer Kapazität von 16 Bits × 32 Wörter 16 Befehle speichern. Da ein Zugriff zum Randomspeicher 21 durch sowohl die Zentraleinheit (CPU) 3 als auch den Arbeitsfolgeregler 5 erfolgt, ist eine Vermittlungsschaltung (arbitration circuit) 22 zum Vermitteln von Benutzungsanforderungen von diesen Einheiten vorgesehen. Ein Schalter 23 dient zum Umschalten von Adressen des Randomspeichers 21 von Zentraleinheit 3 und Arbeitsfolgeregler 5 nach Maßgabe eines Ausgangssignals von der Vermittlungsschaltung 22.
Bei dieser Ausführungsform ist eine Zeitspanne, die für Auslese- und Einschreiboperationen am Befehlsspeicher 4 benötigt wird, gleich einer Zyklus- oder Periodenzeit des Systemtakts SCK zum Definieren einer Operation des Arbeitsfolgereglers 5 eingestellt. Eine für Auslese- und Einschreiboperationen bezüglich der Zentraleinheit 3 erforderliche Zeitspanne ist auf das Dreifache der Zyklus- oder Periodenzeit des Systemtakts SCK eingestellt.
Da jedoch dann, wenn die Zentraleinheit 3 Daten aus dem Befehlsspeicher 4 ausliest oder in diesen einschreibt, ein -Signal (Anforderungssignal von der Zentraleinheit 3 zum Befehlsspeicher 4) gemäß Fig. 10 beim ersten Takt des Systemtakts SCK nicht wirksam ist, wird eine Adresse des Befehlsspeichers 4 nicht bezeichnet oder spezifiziert. Außerdem ist der Arbeitsfolgeregler 5 so gesetzt, daß er den Randomspeicher 21 während zweier aufeinanderfolgender Takte des Systemtakts SCK nicht benutzt.
Die Vermittlungsschaltung 22 führt eine Vermittlung (arbitration) am Arbeitsfolgeregler 5 wie folgt durch: Eine Zugriffsanforderung vom Arbeitsfolgeregler 5 zum Befehlsspeicher 4 besitzt gegenüber derjenigen von der Zentraleinheit 3 Priorität. Im Intervall gemäß Fig. 10 ist oder wird eine Anforderung von der Zentraleinheit 3 zum Befehlsspeicher 4 nicht spezifiziert, so daß nur der Arbeitsfolgeregler 5 den Randomspeicher 21 im Befehlsspeicher 4 benutzen kann.
In Intervallen und können sowohl Zentraleinheit 3 als auch Arbeitsfolgeregler 5 den Randomspeicher 21 benutzen. Wenn der Arbeitsfolgeregler 5 im Intervall keine Benutzungsanforderung für den Randomspeicher 21 liefert, kann die Zentraleinheit 3 den Randomspeicher 21 im Intervall benutzen, und es können Auslesedaten zu einem durch angegebenen Zeitpunkt gewonnen werden. Wenn der Arbeitsfolgeregler 5 im Intervall keine Benutzungsanforderung für den Randomspeicher 21 liefert, kann die Zentraleinheit 3 den Randomspeicher 21 in diesem Intervall benutzen, wobei zu einem Zeitpunkt Auslesedaten gewonnen werden können. Die Zentraleinheit 3 kann somit Ausgabedaten vom Befehlsspeicher 4 in einem der Intervalle bzw. zu einem der Zeitpunkte oder erlangen. Zu diesem Zweck muß ein Verriegelungskreis (latch) 24 an der Seite der Klemme D 0 der Zentraleinheit 3 angeschlossen sein, um aus dem Randomspeicher 21 ausgelesene Daten zu speichern.
Da der Arbeitsfolgeregler 5 nicht aufeinanderfolgend Benutzungsanforderungen des Randomspeichers 21 ausgibt, kann die Zentraleinheit 3 dann, wenn der Arbeitsfolgeregler 5 eine Benutzungsanforderung in den Intervallen und liefert, den Randomspeicher 21 im Intervall benutzen. Wenn der Arbeitsfolgeregler 5 im Intervall eine Benutzungsanforderung liefert, kann die Zentraleinheit 3 den Randomspeicher 21 in den Intervallen und benutzen, d. h. belegen. Wenn die Zentraleinheit 3 und der Arbeitsfolgeregler 5 insbesondere dieselbe Adresse des Randomspeichers 21 anfordern, sind eine Adresse des Befehls, den der Arbeitsfolgeregler 5 ausführt, und eine Adresse, welche die Zentraleinheit 3 anfordert, jeweils gleich. Zur Verhinderung einer Störung in der Ausführung des Befehls durch den Arbeitsfolgeregler 5, und um zu verhindern, daß die Zentraleinheit eine unvollständige Größe aus dem Randomspeicher 21 ausliest, wird die Zentraleinheit für eine Benutzungsanforderung des Randomspeichers 21 in einen Wartezustand gesetzt, bis der Arbeitsfolgeregler 5 die Ausführung des Befehls abgeschlossen hat.
Mit der beschriebenen Vermittlung können Wartezeiten für Benutzungsanforderungen des Randomspeichers 21 von der Zentraleinheit 3 und vom Arbeitsfolgeregler 5 minimiert werden.
Der Arbeitsfolgeregler 5 ist nachstehend im einzelnen beschrieben. Gemäß Fig. 11 umfaßt der Arbeitsfolgeregler 5 eine 8-Bit-Addier/Subtrahierstufe 31, einen Programmzähler (PC) 32 zum Erzeugen oder Liefern von Adressen des Befehlsspeichers 4, verschiedene Arten von Registern 33 bis 49 und eine Steuereinheit 50 zum Steuern der Addier/Subtrahierstufe 31, des Programmzählers 32 und der Register 33 bis 49.
Der Programmzähler 32 ist ein 4-Bit-Zähler. Da der Befehlsspeicher 4 (Fig. 9) eine Kapazität von 32 Wörtern besitzt, sind 5 Bits erforderlich zum Bezeichnen einer Adresse des Befehlsspeichers 4. Aus diesem Grund wird das Signal PC 0 von der Steuereinheit 50 als niedrigstwertiges Bit (LSB) der 5 Bits benutzt. Der Programmzähler 32 wird in Abhängigkeit von Signalen INC und RESET von der Steuereinheit 50 inkrementiert bzw. rückgesetzt.
Ein Befehl vom Befehlsspeicher 4 wird dem Arbeitsfolgeregler 5 über einen 16-Bit-Datenbus zugeführt. Da dieser Befehl durch den Arbeitsfolgeregler 5 in Einheiten von 8 Bits ausgeführt wird, ist der Datenbus in einen oberen Bytebus (HBYTE) 51 und einen unteren Bytebus (LBYTE) 52 unterteilt.
Ein Byte des vom Befehlsspeicher 4 über den Bytebus 52 eingegebenen Befehls, d. h. der INST-Teil, der CH#-Teil und der MODE-Teil, wird im 8-Bit-IR-Register 33 gespeichert. Die im IR-Register 33 gespeicherten INST- und CH#-Teile werden der Steuereinheit 50 zugeführt. Letztere dekodiert anschließend den Befehl von den INST- und CH#-Teilen zur Durchführung der nötigen Steuerung. Das IR-Register 33 ist so ausgelegt, daß die INST- und CH#-Teile als "00" neu eingeschrieben werden können, d. h. daß die Inhalte im Befehlsspeicher 4 neu eingeschrieben werden können.
Das niedrigstwertige und das höchstwertige Byte T 0 bzw. T 2 des T-Teils des vom Befehlsspeicher 4 über den oberen Bytebus 51 eingegebenen Befehls werden jeweils in T0- und T2- Registern 34 bzw. 35 gespeichert. Das mittlere Byte T 1 wird in einem T1-Register 35 gespeichert. Die Ausgangssignale von den Registern 34 bis 36 werden über einen AL-Bus 54 in Einheiten von 8 Bits der einen Eingangsklemme oder Addier/ Subtrahierstufe 31 zugeführt. Andererseits werden 24-Bit- Daten des Bezugszeitpunkts TC 0 in Einheiten von 8 Bits in GT0-, GT1-, GT2-Registern 38, 39 bzw. 40 gespeichert. Die Register 38 bis 40 dienen zum Speichern von Ausgangsgrößen vom Zeitgeberzähler 6, weil eine Störung auftreten würde, wenn die Ausgangssignale vom Zeitgeberzähler 6 während der Ausführung eines Befehls durch den Arbeitsfolgeregler 5 variieren. Die Ausgangssignale der Register 38 bis 40 werden in Einheiten von 8 Bits über einen AH-Bus 53 an die andere Eingangsklemme der Addier/Subtrahierstufe 31 angelegt. Ausgangssignale von ITV0-, ITV1- und ITV2-Registern 41, 42 bzw. 43 können in Einheiten von 8 Bits über den AH- Bus 53 zugeführt oder geliefert werden. Die Registergruppen 41 bis 43 speichern Daten zur Angabe der Zeitintervalle von Zyklusperioden, die über die Busse 51 und 52 eingegeben werden. Jede Registergruppe 41 bis 43 umfaßt 16 Register. Der im IR-Register 33 gespeicherte 4-Bit-MODE-Teil wird im 4-Bit-ITVR-Register 37 gespeichert. Eine der Registergruppen 41 bis 43 mit jeweils 16 Registern wird mittels des im Register 37 gespeicherten MODE-Teils gewählt.
Die Addier/Subtrahierstufe 31 führt eine Rechnung mit einem Ausgangssignal auf dem AL-Bus 54 + einem Ausgangssignal auf dem AH-Bus 53 oder einem Ausgangssignal auf dem AL-Bus 54 - eines Ausgangssignals auf dem AH-Bus 53 durch. Zur Durchführung der Addition/Subtraktion von 24 Bits mittels der 8-Bit-Addier/Subtrahierstufe 31 ist ein 4-Bit-Kennzeichenregister 44 vorgesehen, welches Übertragkennzeichen CY0 für Subtraktion und Übertragkennzeichen CY1 für Addition speichert, wobei ein LZ-Kennzeichen gesetzt werden soll, wenn die unteren 5 Bits der durch Addition/Subtraktion erhaltenen Daten gleich "0" sind, während ein UZ-Kennzeichen gesetzt werden soll, wenn die oberen 3 Bits der durch Addition/Subtraktion erhaltenen Daten gleich "0" sind. Jedes im Kennzeichenregister 44 gespeicherte Kennzeichen wird der Steuereinheit 50 zugeführt.
Die Daten des Operationsergebnisses der Addier/Subtrahierstufe 31 werden in 8-Bit-TMP0- und 8-Bit-TMP1-Registern 45 bzw. 46 gespeichert. Ausgangssignale von dem TMP0- und TMP1-Registern 45 bzw. 46 werden jeweils auf obere und untere Bytebusse 51 bzw. 52 ausgegeben.
Die Steuereinheit 50 zur Steuerung des Arbeitsfolgereglers 5 umfaßt z. B. ein PLA (programmierbares logisches Array). Die Steuereinheit 50 enthält eine Rückkopplungsstrecke über 5-Bit-Register 48 und 49, so daß sie damit den Arbeitsfolgeregler bildet. Die INST- und CH#-Signale vom IR-Register 33, die verschiedenen Kennzeichen (flags) vom Kennzeichenregister 44 und das erneuerte Zeitpunktsignal TINC werden der Steuereinheit 50 zugespeist. Bezüglich des Befehlsspeichers 4 liefert die Steuereinheit 50 die Signale INC, RESET und PC 0 zum Bezeichnen einer Adresse im Befehlsspeicher 4, das eine Zugriffsanforderung zum Randomspeicher 21 repräsentierende Signal , das das Auslesen/Einschreiben am Randomspeicher 21 bezeichende Signal RD/WR und das ein Ende bzw. Abschluß der Befehlsausführung repräsentierende Signal ENDCMD. Bezüglich des Ausgangsspeichers 7 liefert die Steuereinheit 50 das einen Einschreibbefehl zu einem bezeichnenden Kanal repräsentierende Signal WR, das im RALL-Register 47 gesetzte Signal WRA zum Anfordern des Einschreibens einer einzelnen Größe in alle Kanäle und das Signal R 0, welches das Einschreiben von "0" in alle Kanäle anfordert.
Die unteren 5 Bits des mit dem oberen Bytebus 51 verbundenen T0-Registers 34 werden zum Ausgangsspeicher 7 als ADRS- Signal für die Bezeichnung einer Adresse im Ausgangsspeicher 7 ausgegeben. Die Inhalte in den CH#- und MODE-Teilen des niedrigstwertigen Bytes eines im IR-Register 33 gespeicherten Befehls werden zum Ausgangsspeicher 7 als Kanalbezeichnungssignal bzw. Einschreibdaten ausgegeben.
Die Fig. 12A bis 12D sind Ablaufdiagramme zur Verdeutlichung der Operation des Arbeitsfolgereglers 5 mit dem beschriebenen Aufbau. Wie im Ablaufdiagramm von Fig. 12A dargestellt, liest der Arbeitsfolgeregler 5 ein erstes Wort eines Befehls aus dem Befehlsspeicher 4 aus, wobei er eine Art des Befehls anhand des INST-Teils des ersten Worts erkennt, worauf sich der Programmfluß zu einem Ausführungsteil für diesen Befehl verzweigt.
Zum Bezeichnen einer Adresse im Befehlsspeicher 4 wird das von der Steuereinheit 50 ausgegebene Signal PC 0 auf "0" gesetzt; zudem werden das erste Wort des Befehls in die IR- und T0-Register 33 bzw. 34 des Arbeitsfolgereglers 5 eingelesen und das RALL-Register 47 zurückgesetzt. Gleichzeitig wird eine Ausgangsgröße (Bezugszeitpunkt) vom Zeitgeberzähler 6 in die GT0-, GT1- und GT2-Register 38, 39 bzw. 40 eingelesen (Schritt ).
Sodann werden die Werte bzw. Größen (Daten) in den INST- und CH#-Teilen des IR-Registers 33 geprüft, worauf sich der Programmfluß zu einem Ausführungsteil für jeden Befehl verzweigt (Schritt ).
Der Arbeitsfolgeregler 5 bewirkt die Ausführung des Befehls TRANS, wenn der INST-Teil = "0", des Befehls TRANSADD, wenn "10" gilt, und des Befehls "LOADITV", wenn "11" gilt.
Wenn der Befehl TRANS bestimmt ist und die Differenz zwischen einem Bezugszeitpunkt, der in den GT0-, GT1- und GT2- Registern 38, 39 bzw. 40 gespeichert ist und vom Zeitgeberzähler 6 geliefert wird, und einem Soll-Zeitpunkt des in den T0-, T1- und T2-Registern 34, 35 bzw. 36 gespeicherten Befehls unter 32 Wörtern für jeden Kanal des Ausgangsspeichers 7 liegt, werden die Daten des Befehls TRANS in den Ausgangsspeicher 7 eingeschrieben. Da durch die 8-Bit-Addier/ Subtrahierstufe 31 24-Bit-Daten verarbeitet werden, werden 24 Bits in Einheiten von Bytes dreimal verarbeitet (Schritt f 12A; Schritte und gemäß Fig. 12B). Bei dieser Operation werden die Größen oder Werte der UZ- und LZ-Kennzeichen in jeder 1-Byte-Operation geprüft. Wenn anhand der Größen dieser Kennzeichen bestimmt oder festgestellt wird, daß die Differenz zwischen dem Bezugszeitpunkt und dem Vorgabe- oder Soll-Zeitpunkt 32 Wörter oder mehr beträgt, werden die Programmzähler 32 inkrementiert und die Ausführung des Befehls beendet (Schritt gemäß Fig. 12B). Wenn festgestellt wird, daß die Differenz zwischen dem Bezugszeitpunkt und dem Soll-Zeitpunkt des Befehls weniger als 32 Wörter beträgt, werden das Signal PC 0 auf "0" rückgesetzt, die INST- und CH#-Teile zur Erzeugung des Befehls NOP jeweils zu "0" umgeschrieben und die Inhalte der T0- und IR-Register 34 bzw. 33 durch das erste Wort des Befehls NOP umgeschrieben bzw. neu eingeschrieben. Gleichzeitig werden die CH#- und MODE-Teile des IR-Registers 33 sowie die Inhalte der unteren 5 Bits des T0-Registers 34 und des RALL-Registers 47 zum Ausgangsspeicher 7 ausgegeben. Anschließend werden der Programmzähler 32 inkrementiert und die Ausführung des Befehls abgeschlossen (Schritte und gemäß Fig. 12B).
Wenn der Arbeitsfolgeregler 5 den Befehl TRANSADD ausliest, wird eine ähnliche Operation wie für den Befehl TRANS durchgeführt. Genauer gesagt: Wenn anhand der Größen der UZ- und LZ-Kennzeichen bei 1-Byte-Operation in der Addier/Subtrahierstufe 31 festgestellt wird, daß die durch Subtrahieren des vom Zeitgeberzähler 6 ausgegebenen Bezugszeitpunkts vom Soll-Zeitpunkt des Befehls erhaltene Größe weniger als 32 Wörter bei jedem Kanal des Ausgangsspeichers 7 beträgt, werden der Programmzähler 32 inkrementiert und die Ausführung des Befehls abgeschlossen (Schritt gemäß Fig. 12A; Schritte bis und gemäß Fig. 12C). Es ist darauf hinzuweisen, daß im Schritt gemäß Fig. 12C zur Bestimmung der Größe des UZ-Kennzeichens mittels der Operation T 0 - GT 0 die Inhalte der T0- und ITV0-Register 34 bzw. 41 zusammenaddiert werden und das Additionsergebnis in das TMP0- Register 45 eingeschrieben wird.
Wenn die Differenz zwischen dem Soll-Zeitpunkt und dem Bezugszeitpunkt weniger als 32 Wörter beträgt, wird das Signal PC 0 auf "0" rückgesetzt, und die Inhalte der IR- und TMP0-Register 33 bzw. 45 werden auf ein erstes Wort des Befehls gesetzt. Beim Neueinschreiben des ersten Worts wird der T0-Teil des Befehls aktualisiert. Sodann werden die Inhalte der T1- und ITV1-Register 35 bzw. 42 und die Größe des CY1-Kennzeichens zusammenaddiert, wobei das Additionsergebnis im TMP1-Register 46 gespeichert wird. Gleichzeitig werden die Inhalte der CH#- und MODE-Teile des IR-Registers 33, die unteren 5 Bits des Inhalts des T0-Registers und der Inhalt des RALL-Registers 47 zum Ausgangsspeicher 7 ausgegeben (Schritt gemäß Fig. 12C). Außerdem werden die Inhalte der T2- und ITV2-Register 36 bzw. 43 und das CY1-Kennzeichen zusammenaddiert, wobei die resultierenden Daten im TMP0-Register 45 gespeichert werden (Schritt gemäß Fig. 12C). Sodann werden das Signal PC 0 auf "1" gesetzt und die Inhalte der TMP0- und TMP1-Register 45 bzw. 46 jeweils in die T2- bzw. T1-Teile eines zweiten Worts des Befehls eingeschrieben (Schritt gemäß Fig. 12C). Schließlich werden der Programmzähler 32 inkrementiert und die Ausführung des Befehls beendet oder abgeschlossen (Schritt gemäß Fig. 12C).
Wenn der Befehl LOADITV ausgeführt werden soll (vgl. Fig. 12A), werden der MODE-Teil eines im IR-Register 33 gespeicherten Befehls und der im T0-Register 34 gespeicherte T0-Teil jeweils in den ITVR- und ITV0-Registern 37 bzw. 41 abgespeichert (Schritt gemäß Fig. 12A). Sodann werden gemäß Fig. 12D das Signal PC 0 auf "1" gesetzt und die Inhalte der T1- und T2-Teile des Befehls in die ITV1- und ITV2-Register 42 bzw. 43 eingelesen (Schritt gemäß Fig. 12D). Danach werden der Programmzähler 32 inkrementiert und die Ausführung des Befehls abgeschlossen (Schritt gemäß Fig. 12D).
In den Ablaufdiagrammen gemäß Fig. 12A bis 12D werden die Prozesse, die durch gleiche, in Kreisen stehende Zahlen bezeichnet sind, während einer Taktperiode des Systemtakts SCK ausgeführt (Fig. 10). Für die Ausführung des Befehls TRANSADD, welcher die längste Verarbeitungszeit erfordert, sind daher maximal 9 Takte erforderlich (Fig. 12A und 12C). Wenn daher 16 Befehle TRANSADD im Befehlsspeicher 4 dargestellt sind, werden für die Ausführung aller 16 Befehle maximal 16 × 9 = 144 Takte SCK benötigt. Wenn das Signal TINC zur Angabe, daß der Inhalt des Zeitgeberzählers 6 aktualisiert wird oder ist, der Steuereinheit 50 zugespeist wird, hält der Arbeitsfolgeregler 5 die Ausführung des Befehls während der 2-SCK-Taktperiode an. Während dieser Periode liefert der Ausgangsspeicher 7 eine Impulsausgangsgröße einer Adresse im Ausgangsspeicher 7 entsprechend dem aktualisierten Bezugszeitpunkt.
Fig. 13 veranschaulicht die Anordnung bzw. den Aufbau des Zeitgeberzählers 6, der eine Länge von 24 Bits aufweist, dessen Ausgangssignal durch den in den vorbestimmten Zeitintervallen oder Zeitabständen erzeugten Zeitgebertakt TCK aktualisiert wird und der 24-Bit-Bezugszeitpunktdaten und das Signal TINC zur Angabe, daß der Zeitpunkt eben aktualisiert wird, ausgibt.
Bei dieser Ausführungsform ist gemäß Fig. 14 das Verhältnis zwischen einer Zyklusperiode des Zeitgebertaktes TCK und derjenigen des Systemtakts SCK auf 6 : 1 eingestellt. Aus diesem Grund sind 32 Wörter × 6 = 192 Takte SCK nötig, um alle im Ausgangsspeicher 7 gespeicherten Impulsausgangsgrößen zur Ausgangsschaltung 8 zu übertragen.
Wie erwähnt, beträgt die Operationszeitdauer des Arbeitsfolgereglers maximal 144. Da während dieser 144-SCK-Taktperiode das Ausgangssignal des Zeitgeberzählers 6 144 ÷ 6 = 24 Mal aktualisiert wird, beendet der Arbeitsfolgeregler 5 die Abtastung des Befehlsspeichers 4 während einer Periode entsprechend 24 × 2 = 48 Takten SCK. Für die Ausführung aller im Befehlsspeicher 4 gespeicherten Befehle reicht daher eine maximale Periode von 192 Takten SCK aus. Dies steht in Übereinstimmung mit einer Zeit entsprechend 192 Takten SCK, die - wie erwähnt - für die Übertragung der Impulsausgangsgrößen vom Ausgangsspeicher 7 zur Ausgangsschaltung 8 erforderlich ist.
Fig. 15 veranschaulicht den Aufbau des Ausgangsspeichers 7 im einzelnen. Gemäß Fig. 15 weist ein Randomspeicher (RAM) 61 eine Kapazität von 16 Bits × 32 Wörtern für jeden Kanal auf. Der Randomspeicher 61 ist in Einheiten von 34 Bits unterteilt, so daß die 16-Bit-Daten den MODE-Daten eines Befehls, d. h. 4 Kanälen, entsprechen können. Aus dem Ausgangsspeicher 7 werden Daten in Einheiten von 16 Bits ausgelesen. Der Randomspeicher 61 ist jedoch so ausgelegt, daß die Einschreiboperation in Einheiten von Kanälen erfolgen kann.
Der Adreßeingang des Randomspeichers 61 nimmt das Signal ADRS vom Arbeitsfolgeregler 5 oder die unteren 5 Bits des Signals TC 0 (Bezugszeitpunktsignal) vom Zeitgeberzähler 6 über einen Wähler 62 ab. Ausgangssignale von 4-Bit-Wählern 63 bis 66 werden Dateneingängen D 10 bis D 13 des Randomspeichers 61 zugeführt.
Eine Dateneinheit "0" wird zum einen Eingang jedes Wählers 63 bis 66 zugeführt, während der vom Arbeitsfolgeregler 5 ausgegebene 4-Bit-MODE-Code dem anderen Eingang zugespeist wird. Der MODE-Code oder das Signal WR 0 wird selektiv von den Wählern 63 bis 66 ausgegeben, und zwar in Übereinstimmung oder nach Maßgabe der Größe des Signals WR 0 (welches das Einschreiben von "0" in alle Kanäle anfordert), das vom Arbeitsfolgeregler 5 ausgegeben oder geliefert wird, zwecks Klarmeldungsbezeichnung.
Ein Decodierer 67 decodiert den vom Arbeitsfolgeregler 5 ausgegebenen CH#-Code und setzt das Ausgangssignal eines Kanals entsprechend dem decodierten Ergebnis auf den Pegel "1" in Synchronismus mit dem Signal WR (d. h. einem Befehlssignal zum Einschreiben von Daten in einen bezeichneten Kanal), das vom Arbeitsfolgeregler 5 ausgegeben oder geliefert wird. Ein Ausgangssignal von jedem der Kanäle 0CH bis 3 CH wird (jeweils) einem Eingang eines jeden von 4 ODER- Gliedern 68 bis 71 zugeführt. Ein Ausgangssignal von einem ODER-Glied 72 wird dem jeweiligen anderen Eingang jedes ODER-Gliedes 68 bis 71 zugespeist. Wenn das vom Arbeitsfolgeregler 5 ausgegebene Signal WRA (d. h. ein Befehlssignal zum Einschreiben der gleichen Größe in alle Kanäle) oder das Signal WR 0 (d. h. ein Befehlssignal zum Einschreiben von "0" in alle Kanäle) auf "1" gesetzt wird, setzt das ODER-Glied 72 alle Ausgangssignale von den ODER-Gliedern 68 bis 71 auf "0", um Daten in alle Kanäle des Randomspeichers 61 einzuschreiben. Ausgangssignale von den ODER-Gliedern 68 bis 71 werden dem Randomspeicher 61 als Einschreibsignale WR 0 bis WR 3 für das Einschreiben von Daten in den Randomspeicher 61 zugeliefert. Ein erneuertes Zeitpunktsignal, d. h. das Signal TINC, wird vom Zeitgeberzähler 6 zur Klemme RD als Lesesignal zum bzw. für den Randomspeicher 61 geliefert, so daß die Leseoperation mit dem erneuerten Zeitpunkt des Zeitgeberzählers 6 synchronisiert ist.
Wenn bei der beschriebenen Anordnung des Ausgangsspeichers 7 Daten in den Randomspeicher 61 eingeschrieben werden, liefert der Arbeitsfolgeregler 5 das Signal ADRS (die unteren fünf Bits des T0-Registers) als Adresse zum Randomspeicher 61. Wenn durch den Arbeitsfolgeregler 5 die Befehle TRANS und TRANSADD ausgeführt werden, werden die vom Arbeitsfolgeregler 5 zum Ausgangsspeicher 7 gelieferten Signale WRA und WR 0 deaktiviert (disabled), wobei der MODE-Code nur in einen durch den CH#-Code bezeichneten Kanal eingeschrieben wird. Wenn die Befehle TRANS ALL und TRANSADD ALL ausgeführt werden sollen, wird das Signal WRA unwirksam gemacht, und der gleiche MODE-Code wird in alle Kanäle des Ausgangsspeichers 7 eingeschrieben. Der Arbeitsfolgeregler 5 schreibt Daten in den Randomspeicher 61 ein, wenn die Differenz zwischen einem durch jeden Befehl bezeichneten Zeitpunkt und einem Bezugszeitpunkt vom Zeitgeberzähler 6 unterhalb von 32 Wörtern für jeden Kanal des Randomspeichers 61 während der Ausführung der Befehle TRANS, TRANS ALL, TRANSADD und TRANSADD ALL liegt.
Wenn Daten aus dem Randomspeicher 61 ausgelesen werden sollen, werden die unteren 5 Bits des Signals TC 0 (Fig. 13) vom Zeitgeberzähler 6 dem Randomspeicher 61 als Adresse zugespeist. Eine Auslesezeitmarke wird durch das Signal TINC bestimmt, das als erneutes Zeitpunktsignal vom Zeitgeberzähler 6 dient. Da bei Durchführung einer Ausleseoperation Dateneinheiten aus allen Kanälen gleichzeitig ausgelesen werden, tritt keine Differenz zwischen den Auslesezeitpunkten der Kanäle auf. Nachdem die Dateneinheit aus dem Randomspeicher 61 ausgelesen ist, wird das vom Arbeitsfolgeregler 5 stammende Signal WR 0 (d. h. ein Befehlssignal zum Einschreiben von "0" in alle Kanäle) aktiviert oder wirksam gemacht. Infolgedessen wählen alle Wähler 63 bis 66 den Eingang "0", und die Signale WR 0 bis WR 3 für das Einschreiben von "0" werden gleichzeitig zu allen Kanälen des Randomspeichers 61 geliefert, so daß (die Größe) "0" in alle Kanäle des Randomspeichers 61 eingeschrieben wird.
Demzufolge werden nicht die gleichen Daten aus dem Randomspeicher 61 ausgelesen, nachdem das Ausgangssignal des Zeitgeberzählers 6 32mal aktualisiert (worden) ist.
Fig. 16 veranschaulicht die Ausgangsschaltung 8 im einzelnen, und zwar eine Schaltung bezüglich eines einzigen Kanals. Vier Schaltungen gemäß Fig. 16 bilden die Ausgangsschaltung 8 mit vier Kanälen. Die unteren 2 Bits, d. h. DOn 0 und DOn 1 von 4 Bits, nämlich DOn 0, DOn 1, DOn 2 und DOn 3, der über einen n-ten Kanal aus dem Randomspeicher 61 ausgelesenen Daten (welche den MODE-Code bilden) werden jeweils an die J- und K-Klemmen eines JK-Flipflops 81 angelegt. Der Q-Ausgang des JK-Flipflops 81 ist mit der ersten Klemme POn 0 der Ausgangsklemme 82 verbunden, wobei ein Bit DOn 2 zur zweiten Klemme POn 1 der Ausgangsklemme 82 geliefert wird. Weiterhin wird das höchstwertige Bit (MSB) DOn 3 des MODE- Codes der Zentraleinheit 3 als Unterbrechungssignal INTRn zugespeist.
Bei der vorstehend beschriebenen Anordnung variiert die Ausgangsgröße von der Ausgangsschaltung 8 in Abhängigkeit von einer Darstellung des MODE-Teils eines Befehls, wie dies aus der folgenden Tabelle hervorgeht.
Wie aus der obigen Tabelle hervorgeht, können die Ausgangszustände eines Impulses oder mehrere Impulse, der bzw. die von der Ausgangsschaltung 8 ausgegeben wird bzw. werden, in Übereinstimmung mit einer Darstellung (description) des MODE-Teils eines Befehls verschiedentlich geändert werden.

Claims (8)

1. Ausgangsimpuls-Erzeugungsschaltung (bzw. Impulsgenerator), gekennzeichnet durch
eine Zentral(prozessor)einheit (CPU) (3), die einen eine Ausgangsgröße enthaltenden Befehl zu jedem Zeitpunkt eines zu erzeugenden Impulses ausgibt,
einen an die Zentraleinheit (3) angeschlossenen Befehlsspeicher (4) zum Speichern des Befehls,
einen Zeitgeberzähler (6) zum Erzeugen von Bezugssignalen, welche Bezugszeitpunkte bezeichnen bzw. angeben,
einen an den Befehlsspeicher (4) und den Zeitgeberzähler angeschlossenen Arbeitsfolgeregler (5),
einen an den Zeitgeberzähler und den Arbeitsfolgeregler angeschlossenen Ausgangsspeicher (7) zum Speichern der Ausgangsgröße des Impulses zum genannten Zeitpunkt durch bzw. über den Arbeitsfolgeregler (5) und
eine an die Zentraleinheit und den Ausgangsspeicher (7) angeschlossene Ausgangsschaltung (8) zum Auslesen der Ausgangsgröße des Impulses aus einer Adresse des Ausgangsspeichers, entsprechend dem Bezugszeitpunkt, und zum Formen des Impulses aus der aus dem Ausgangsspeicher (7) ausgelesenen Ausgangsgröße,
wobei der Arbeitsfolgeregler (5) anschließend die im Befehlsspeicher (4) (ab)gespeicherten Befehle ausliest und dann, wenn eine Differenz zwischen einem in einem ausgelesenen Befehl gesetzten Zeitpunkt und einem durch ein Bezugszeitpunktsignal bezeichneten Bezugszeitpunkt kleiner ist als eine durch die Speicherkapazität des Ausgangsspeichers (7) vorbestimmte Zeitdauer, den Befehl ausführt und in den Ausgangsspeicher die aus dem ausgeführten Befehl ausgelesene Ausgangsgröße einschreibt.
2. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Arbeitsfolgeregler (5) Mittel (WR 0) zum Einschreiben von Daten "0" in Speicherbereiche des Ausgangsspeichers (7), aus dem bzw. denen vorbestimmte Daten ausgelesen worden sind, aufweist.
3. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß
der Befehl einen ersten Befehl zum Bezeichnen eines Zeitintervalls oder -abstands, das bzw. der eine Impulsperiode eines periodischen Impulses spezifiziert, und einen zweiten Befehl zum Bezeichnen eines ersten Zeitpunkts, zu dem ein erster periodischer Impuls ausgegeben wird, umfaßt und
der Arbeitsfolgeregler (5) eine Einrichtung zum Addieren des Zeitintervalls zum genannten ersten Zeitpunkt und zum Neueinschreiben des Befehls mittels des Additionsergebnisses zur Bildung eines zweiten Zeitpunkts, zu dem ein zweiter, auf den ersten periodischen Impuls folgender periodischer Zeitpunkt ausgegeben wird, aufweist.
4. Vorrichtung nach Anspruch 3, dadurch gekennzeichnet, daß
der Arbeitsfolgeregler (5) eine Anzahl von Registern (41, 42, 43) zum Speichern der Zeitintervalle aufweist und
der im Befehlsspeicher (4) gespeicherte Befehl einen dritten Befehl zum Speichern eines einzelnen Zeitintervalls in jedem der Register (41-43) sowie einen vierten Befehl zum Wählen eines der Zeitintervalle umfaßt.
5. Vorrichtung nach Anspruch 1, dadurch gekennzeichnet, daß der Ausgangsspeicher (7) eine Anzahl von Speicherbereichen aufweist, deren Zahl derjenigen von Ausgangsklemmen (82) der Ausgangsschaltung (8) entspricht, und die in den Speicherbereichen gespeicherten Daten zur gleichen Zeit ausgelesen werden.
6. Vorrichtung nach Anspruch 5, dadurch gekennzeichnet, daß ein im Befehlsspeicher (4) gespeicherter Befehl einen Befehl zum Einschreiben der gleichen Ausgangsgröße in die mehreren Speicherbereiche zur gleichen Zeit umfaßt.
7. Impulserzeugungsvorrichtung, gekennzeichnet durch
einen Befehlsspeicher (4) zum Speichern eines von einer Zentral(prozessor)einheit (CPU) (3) gelieferten Befehls, der eine Ausgangsgröße für jeden Zeitpunkt eines zu erzeugenden Impulses aufweist,
einen Arbeitsfolgeregler (5) zum anschließenden Auslesen der Ausgangsgröße aus dem Befehlsspeicher zwecks Ausführung des ausgelesenen Befehls und Erzeugung der Ausgangsgröße,
einen Ausgangsspeicher (7) zum Speichern der vom Arbeitsfolgeregler (5) gelieferten Ausgangsgröße und
eine Ausgangsschaltung (8) zum Auslesen der Ausgangsgröße aus einer Adresse des Ausgangsspeichers (7), entsprechend einem von einem Zeitgeberzähler (6) gelieferten Bezugszeitpunktsignal, und zum Formen des Impulses aus der ausgelesenen Ausgangsgröße.
8. Vorrichtung nach Anspruch 7, dadurch gekennzeichnet, daß der Arbeitsfolgeregler (5) den aus dem Befehlsspeicher (4) ausgelesenen Befehl nur dann ausführt, wenn die Differenz zwischen dem durch den Befehl bezeichneten Zeitpunkt und dem durch das Bezugszeitpunktsignal, das vom Zeitgeberzähler (6) geliefert wird, bezeichneten Bezugszeitpunkt kleiner ist als durch die Speicherkapazität des Ausgangsspeichers (7) bestimmte Zeitdauer.
DE3814622A 1987-04-30 1988-04-29 Ausgangsimpuls-erzeugungsvorrichtung Granted DE3814622A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62106831A JP2549656B2 (ja) 1987-04-30 1987-04-30 出力パルス発生装置

Publications (2)

Publication Number Publication Date
DE3814622A1 true DE3814622A1 (de) 1988-11-17
DE3814622C2 DE3814622C2 (de) 1989-11-23

Family

ID=14443689

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3814622A Granted DE3814622A1 (de) 1987-04-30 1988-04-29 Ausgangsimpuls-erzeugungsvorrichtung

Country Status (4)

Country Link
US (1) US5021990A (de)
JP (1) JP2549656B2 (de)
KR (1) KR910004639B1 (de)
DE (1) DE3814622A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0401763A2 (de) * 1989-06-05 1990-12-12 Matsushita Electric Industrial Co., Ltd. Taktsignalgeneratorsystem

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2536102B2 (ja) * 1988-11-17 1996-09-18 日本電気株式会社 デ―タ処理装置
JP2536103B2 (ja) * 1988-11-17 1996-09-18 日本電気株式会社 デ―タ処理装置
US5313622A (en) * 1990-08-16 1994-05-17 National Instruments Timing apparatus and method for generating instruction signals
JP2561750B2 (ja) * 1990-10-30 1996-12-11 三菱電機株式会社 パルス発生回路
DE4142825A1 (de) * 1990-12-26 1992-07-02 Mitsubishi Electric Corp Synchronisierter taktgenerator
JP2914317B2 (ja) * 1996-09-25 1999-06-28 日本電気株式会社 マイクロコンピュータ

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3119650A1 (de) * 1980-05-22 1982-05-13 Barr & Stroud Ltd., Glasgow, Scotland Funktionsgenerator
DE3417816A1 (de) * 1984-05-14 1985-11-14 Siemens AG, 1000 Berlin und 8000 München Programmierbares schaltnetz

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5399142A (en) * 1977-02-08 1978-08-30 Toshiba Corp Ignition control system
SE408985B (sv) * 1977-12-27 1979-07-16 Philips Svenska Ab Pulsgenerator
JPS5660857A (en) * 1979-10-22 1981-05-26 Nippon Denso Co Ltd Ignition timing control device of internal combustion engine for automobile
FR2485641A1 (fr) * 1980-06-26 1981-12-31 Renault Procede et dispositif de commande electronique d'allumage pour moteur a combustion interne
EP0069889B1 (de) * 1981-07-03 1988-05-11 Nissan Motor Co., Ltd. Zündsystem für Brennkraftmaschinen
JPS5866108A (ja) * 1981-10-16 1983-04-20 Hitachi Ltd 内燃機関の電子制御装置
JPS602510A (ja) * 1983-06-15 1985-01-08 Kuroda Kogyo:Kk 垂直コンベア

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3119650A1 (de) * 1980-05-22 1982-05-13 Barr & Stroud Ltd., Glasgow, Scotland Funktionsgenerator
DE3417816A1 (de) * 1984-05-14 1985-11-14 Siemens AG, 1000 Berlin und 8000 München Programmierbares schaltnetz

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A.H. SEIDMAN, "Integrated Circuits Applica- tions Handbook", John Wiley& Sons, New York 1983, S.259-273 u. 387-388 *
G. UHLIG, "Digitale Funktionserzeugung nach dem Tabellenverfahren" in: Elektron. Nach- richtentech., Berlin 33 (1983), 1, S.16-18 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0401763A2 (de) * 1989-06-05 1990-12-12 Matsushita Electric Industrial Co., Ltd. Taktsignalgeneratorsystem
EP0401763A3 (de) * 1989-06-05 1994-06-29 Matsushita Electric Industrial Co., Ltd. Taktsignalgeneratorsystem

Also Published As

Publication number Publication date
KR910004639B1 (ko) 1991-07-08
US5021990A (en) 1991-06-04
KR880013320A (ko) 1988-11-30
DE3814622C2 (de) 1989-11-23
JPS63271601A (ja) 1988-11-09
JP2549656B2 (ja) 1996-10-30

Similar Documents

Publication Publication Date Title
DE3586421T2 (de) Anzeigegeraet.
DE3687787T2 (de) Speicherzugriff-steuerungsschaltung.
DE2145120A1 (de) Digitales Datenverarbeitungsgerat
DE2030812A1 (de) Modulare Datenrechnersysteme
DE2855673C2 (de)
DE2359258A1 (de) Echtzeitsteuerungsanordnung fuer eine simulationsvorrichtung
DE1499200B2 (de) Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung
DE3900248C2 (de) Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2432608A1 (de) Speicheranordnung fuer datenverarbeitungseinrichtungen
DE2952631C2 (de) Schaltungsanordnung zur Diagnose einer Datenverarbeitungsanlage
DE1810413A1 (de) Verfahren zum kontinuierlichen Austauschen von Daten zwischen einer Datenverarbeitungsanlage und externen Geraeten
DE2854782A1 (de) Datenverarbeitungssystem
DE2935101C2 (de)
DE112013002975T5 (de) Eingabe/Ausgabe-Vorrichtung, programmierbare logische Steuervorrichtung und Operationsverfahren
DE3814622C2 (de)
CH692311A5 (de) Datenverarbeitungsanlage zum Erzeugen eines Unterbruchsignals.
DE1953364A1 (de) Wahlausfuehrungsschaltung fuer programmgesteuerte Datenverarbeiter
DE69328913T2 (de) Seriendatenübertragungsanordnung
DE69031361T2 (de) Taktsignalgeneratorsystem
DE1499191B2 (de) Elektronische einrichtung fuer eine datenverarbeitungsanlage
DE69122001T2 (de) Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle
DE3219900A1 (de) Rechnerschnittstelle
EP0203409A1 (de) Verfahren und Anordnung zum nichtflüchtigen Speichern des Zählerstandes eines digitalen Zählers
DE2242279C3 (de) Schaltungsanordnung zur Ermittlung von Fehlern in einer Speichereinheit eines programmgesteuerten Datenvermittlungssystems

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee