DE3035506A1 - Daten-dialogsystem - Google Patents

Daten-dialogsystem

Info

Publication number
DE3035506A1
DE3035506A1 DE19803035506 DE3035506A DE3035506A1 DE 3035506 A1 DE3035506 A1 DE 3035506A1 DE 19803035506 DE19803035506 DE 19803035506 DE 3035506 A DE3035506 A DE 3035506A DE 3035506 A1 DE3035506 A1 DE 3035506A1
Authority
DE
Germany
Prior art keywords
data
bit
control
processor
character
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.)
Ceased
Application number
DE19803035506
Other languages
English (en)
Inventor
James C. Framingham Mass. Raymond
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.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Italia SpA
Honeywell Information Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Information Systems Italia SpA, Honeywell Information Systems Inc filed Critical Honeywell Information Systems Italia SpA
Publication of DE3035506A1 publication Critical patent/DE3035506A1/de
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Description

Die vorliegende Erfindung bezieht sich auf ein Daten-Dialogsystem nach dem Gattungsbegriff des Anspruches 1. Sie betrifft insbesondere einen Dialog-Leitungsadapter für die elektrische Schnittstellenbildung zwischen einem Dialogprozessor und einem hochwertigen Breitband-Datenverbindungs-Dialogkanal in einem Datenverarbeitungssystem.
Hardwareadapter sind in Nachrichtensystemen verwendet worden, um die Informationsübertragung zwischen einer Dialog-Übertragungsleitung und einem Datenverarbeitungssystem zu ermöglichen. Hierbei werden große Anforderungen an die Adapter gestellt. Diesen Anforderungen ist man bisher gerecht geworden, indem man den Hardwareaufwand und dadurch die Herstellungskosten und die Größe der Geräte erhöht hat.
Das Wesen eines Dialogs liegt in der gleichzeitigen Informationsübertragung in zwei Richtungen. Die Hardwareadapter erforderten somit zwei getrennte Systeme, wobei das eine System dem Empfang und das andere System dem Senden der Information diente. Es ist ferner bekannt, daß Nachrichten veränderliche Längen aufweisen können und aus Datenbytes mit einer veränderlichen Anzahl von Bits bestehen können. Kostengründe und Raumerfordernisse setzen der erzielbaren Flexibilität bei Adaptern eine Grenze, sofern diese Flexibilität durch rein hardwaremäßige Maßnahmen erzielt werden soll.
Die sich durch die Komplexität der Hardware bei Dialogadaptern ergebenden Probleme sind teilweise durch Dialogsteuerungen umgangen worden, die neben einer gewissen Hardware ein Firmware-Steuersystem aufweisen. Während die Duplizierung des gesamten Systems für Sende- und Empfangsoperationen vermieden wurde, ist bei diesen Anordnungen der Hardwareaufwand immer noch beträchtlich aufgrund der ineffizienten Vermischung von Firmware- und Hardwarefunktionen. Dies führt zu einem Kompromiß hinsichtlich der
Informationsübertragungsgeschwindigkeit bei den bekannten Systemen. Ferner ist die Datenverarbeitungskapazität dieser Dialogsteuerungen relativ begrenzt, so daß Breitband-Dialogverbindungen mit diesen Systemen schwierig wenn überhaupt zu verwirklichen sind.
Es ist daher die Aufgabe der vorliegenden Erfindung, ein Hardware/Firmware-Dialogleitungs-Steuersystem anzugeben, das mit hoher Datenübertragungsgeschwindigkeit einen bidirektionalen Verkehr mit einem hochwertigen Breitband-Dialogkanal gestattet. Hierbei soll insbesondere die Übertragung von Nachrichten in einem bitorientierten HDLC-Format erfolgen. Durch eine erhöhte Datenverarbeitungskapazität soll die Verarbeitungslast des Haupt-Dialogprozessors vermindert werden und dadurch die Leistung des Systems erhöht werden. Der Dialogleitungsadapter soll ferner in der Lage sein, das Adressenfeld, das Verbindungssteuerfeld, das Textsteuerbyte, das Logiksteuerfeld, das Textfeld und ein Bandsprossen-Prüffolgefeld in den übertragenen Nachrichten zu überwachen. Eine Überwachung, Steuerung und Umschaltung von Nachrichten mit variabler Bytegröße soll möglich sein. Schließlich sollen zyklische Redundanzprüfungen sowohl während Sende- als auch Empfangsoperationen möglich sein, und es soll ein geeignetes Prüfzeichen den Nachrichten beigefügt werden.
Die Lösung dieser Aufgabe gelingt gemäß dem kennzeichnenden Teil des Anspruches 1 bzw. der weiteren unabhängigen Ansprüche. Vorteilhafte Ausgestaltungen der Erfindung sind den Unteransprüchen entnehmbar.
Die Erfindung sieht eine neuartige Hardware/Firmwaresteuerung in einem Dialog-Leitungsadapter vor, um von dem Dialogprozessor zu sendende bzw. zu empfangende Steuerworte am Beginn einer Datenübertragungsoperation aufzunehmen und geeignete durch die
Firmware gesteuert Operationen hinsichtlich der Datenfolge auszuführen. Hierdurch kann eine zyklische Redundanzprüfung, eine Bytegrößensteuerung, eine erweitere und variable Feldformatsteuerung, eine Teilsteuerung bezüglich des letzten Bytes und eine Blockübertragungssteuerung bezüglich der gesendeten und empfangenen Daten durchgeführt werden.
Anhand eines in den Figuren der beiliegenden Zeichnung dargestellten Ausführungsbeispieles sei im folgenden die Erfindung näher erläutert. Es zeigen:
Fig. 1 bis 12 logische Blockdiagramme der detaillierten Schaltkreise des erfindungsgemäßen Dialog-Leitungsadapters. Jede der Figuren 1-12 ist in zwei Hälften (z.B. Figur 1a und Figur 1b) unterteilt, die aneinandergefügt ein logisches Blockdiagramm ergeben. Figur 1 veranschaulicht den Mehrleitungs-Dialogprozessor (MLCP) und die Datendialoggerät-(DCE)-Schnittstellenanschlüsse für den Dialogadapter BHCLA. Figur 2 zeigt ganz allgemein die Adressen- und Steuer-Decodierlogik. Figur 3 veranschaulicht die System- und Test-Taktsteuerlogik. Figur 4 stellt die MLCP-Eingangsmultiplexer und Testmultiplexerlogik dar.
Figur 5 veranschaulicht die DCE-Empfänger- und Treiberschaltkreise.
Figur 6 zeigt die FIFO-Speicher-Sende- und Steuerlogik. Figur 7 veranschaulicht die Sende-Adreßzähler- und Steuerspeicherlogik. Figur 8 zeigt den Sende-Mikroprozessor und die Befehlssteuerlogik. Figur 9 veranschaulicht die Empfangsadreßzähler- und Steuerspeicherlogik. Figur 10 zeigt den Empfangs-Mikroprozessor und die zugeordnete Logik. Figur 11 stellt die Empfangs-Befehlssteuerlogik dar und Figur 12 zeigt die FIFO-Speicher-Empfangs- und Steuerlogik.
Fig. 13 ein Blockdiagramm eines Systems, in welchem die Erfindung Anwendung findet.
Fig. 14a und 14b ein schematisches Blockdiagramm des erfindungsgemäßen Adapters BHCLA.
Fig. 15a bis 15g das Format verschiedener Steuer- und Statusworte, wie sie bei dem erfindungsgemäßen System verwendet werden.
Fig. 15h das HDLC-Bandsprossenformat, wie es für von dem System behandelte Nachrichten benutzt wird.
Fig. 16a ein schematische Blockdiagramm des 4 Bit-Sende-Mikroprozessor, wie er bei dem erfindungsgemäßen System verwendet wird.
Fig. 16b den in dem System verwendeten Empfangs-Mikroprozessorschaltkreis, wobei zwei 4 Bit-Mikroprozessoren gemäß Fig. 16a aneinandergereiht werden, um einen 8 Bit Mikroprozessor für die Handhabung der empfangenen Daten zu bilden.
Fig. 17a ein Blockdiagramm zur Veranschaulichung der grundlegenden Funktionen, wie sie durch das
Sende-Mikroprogramm ausgeführt werden, das in näheren Einzelheiten im Anhang A niedergelegt ist.
Fig. 17b ein Blockdiagramm zur Veranschaulichung der grundlegenden Funktionen, wie sie durch das Empfangs-Mikroprogramm ausgeführt werden, das in näheren Einzelheiten im Anhang B niedergelegt ist.
Fig. 18a bis 18c eine Signalquellentabelle, in welcher jedes in dem erfindungsgemäßen System verwendete Signal alphabetisch zusammen mit dem Schaltkreiselement aufgelistet ist, von dem das Signal herstammt.
Anhang A eine Mikroprogramm-Befehlsliste mit den anwendbaren Befehlen und Parameterdefinitionen für die Sende-Steuerfirmware des erfindungsgemäßen Dialogleitungsadapters.
Anhang B eine Mikroprogramm-Befehlsliste der anwendbaren Befehle und Parameterdefinitionen für die Empfangs-Steuerfirmware des erfindungsgemäßen Dialogleitungsadapters.
Figur 13 zeigt in einem Blockdiagramm ein Computersystem mit einem Mehrleitungs-Dialogprozessor 10 (MLCP = Multiline communications processor) der über einen gemeinsamen hier als Megabus 13 bezeichneten Dialogbus elektrisch mit einer Zentraleinheit 11 (CPU = central processor unit) und einer Hauptspeichereinheit 12 (MEM = main memory unit) in Verbindung steht.
Der Megabus 13 gibt einen Informationspfad zwischen irgendwelchen zwei Einheiten des Systems vor. Die Informationspfade weisen einen asynchronen Aufbau auf, wodurch Einheiten mit unterschiedlicher Arbeitsgeschwindigkeit in wirksamer Weise miteinander verkehren können. Der Bus gestattet Informationsübertragungen einschließlich Dialoganforderungen, Steueranweisungen, Statussignalen und Datenübertragungen zwischen der Hauptspeichereinheit 12 und dem Prozessor MLCP-10.
Irgendeine Systemeinheit, die einen Dialog mit irgendeiner anderen Systemeinheit anfordert, gibt eine Buszyklusanforderung aus. Wenn der Buszyklus gewährt wird, so wird aus der anfordernden Einheit die Haupteinheit und die adressierte Einheit wird zur Nebeneinheit. Manche Dialoge erfordern sowohl einen Antwortzyklus als auch einen Anforderungszyklus. Beispielsweise kann sich die Haupteinheit selbst als eine Nebeneinheit identifizieren und anzeigen, daß eine Antwort gefordert wird. Wenn die angeforderte Information verfügbar wird, so nimmt die Nebeneinheit die Rolle der Haupteinheit ein und löst eine Übertragung zu der anfordernden Einheit aus. Eine detaillierte Hintergrundbeschreibung des Megabussystems gemäß Figur 13 kann der US-PS 3 993 981 entnommen werden.
Bei der Behandlung der Buszyklusanforderungen besitzt die Zentraleinheit CPU-11 die geringste Priorität, der Prozessor MLCP-10 besitzt die zweitniedrigste Priorität und die Speichereinheit MEM-12 besitzt die höchste Priorität. Der Prozessor MLCP-10 führt ferner einen Dialog mit einem Dialogleitungsadapter 14 (BHCLA = broadband high level data link control communication line adapter) und anderen Dialogleitungsadaptern 15 aus. Der Adapter BHCLA-14 kann seinerseits direkt an ein Datenverarbeitungsgerät wie beispielsweise eine Zentraleinheit CPU oder an irgendein Datenterminalgerät DTE (DTE = data terminal equipment) angeschlossen sein. Bei einem Fernanschluß kann der Adapter BHCLA-14 über ein örtliches Datendialoggerät DCE-16 (DCE = data communications equipment) und ein Dialogkabel 17 an ein externes Datendialoggerät DCE-18 innerhalb des Datendialognetzwerkes DCN (DCN = data communication network) angeschlossen sein. Das externe Dialoggerät DCE-18 kann seinerseits an ein externes Terminalgerät DTE-19 angeschlossen sein. Die Dialoggeräte DCE besitzen sowohl die Fähigkeit, die binären Informationsströme zu modulieren als auch zu demodulieren, und sie können daher verwendet werden, um die Information entweder zu empfangen oder zu senden.
Der Adapter BHCLA-14 kann mit irgendeinem DCE-Schnittstellentyp kompatibel sein, der für die Verarbeitung von Datengruppen des Typs EIARS-232-C, MIL 18-C oder EIARS-XYZ, CCITT V.35 oder BELL 301 bzw. 303 geeignet ist. Das bevorzugte hier beschriebene Ausführungsbeispiel der Erfindung ist mit den Schnittstelleneinheiten des Typs BELL 301 bzw. 303 kompatibel.
Der Prozessor MLCP-10 der bei dem vorliegenden Ausführungsbeispiel zur Anwendung gelangt ist ein bekannter Mehrleitungs-Dialogprozessor, wie er von der Firma Honeywell Information Systems Inc. hergestellt wird und in der DE-OS 29 21 897 dargestellt und beschrieben ist. Für das weitere Verständnis der Arbeitsweise dieses Prozessors sei auf das Benutzer-Programmhandbuch "Honeywell Series 60 (Level 6) Communications Handbook" Bestellnummer AT97 REV.2, vom Oktober 1978 verwiesen.
Der Adapter BHCLA gemäß der vorliegenden Erfindung ist schematisch in dem Blockdiagramm der Figuren 14a und 14b und detailliert in den Logikdiagrammen der Figuren 1 bis 12 dargestellt.
Anhand der Figuren 14a und 14b sei der Aufbau und die Wirkungsweise des erfindungsgemäßen Leitungsadapters nachstehend in seinen Grundzügen beschrieben. Der Adapter BHCLA umfaßt ein Paar von Schnittstellenanschlüssen 21 und 100, die an den Prozessor MLCP-10 und das interne Dialoggerät DCE-16 (Fig. 13) angeschlossen sind. Grundsätzlich zeigt Fig. 14a die Sendeschaltkreise des Adapters und Fig. 14b die Empfangsschaltkreise.
Der Prozessor MLCP übt die Steuerung über das System mittels einer Gruppe von MLCP-Adreßdecodier- und Steuerlogikschaltkreisen 48 aus, die von dem Prozessor Adreßsignale ADDR, Steuersignale CONT, ein Tastsignal STRB, ein Hauptlöschsignal MCLR und Taktsignale SYSCLK bzw. TCLK über den Schnittstellenanschluß 21 empfangen. Aufgrund dieser Signale geben die Logikschaltkreise 48 eine Vielzahl von Steuer- und Zeittaktsignale an die restlichen Schaltkreise des Sende- und Empfangssystems aus, um die notwendigen Zeittakt- und Steuerfunktionen auszulösen. Die Sendeschaltkreise umfassen ein Sende-Steuerwortregister 24 und ein erweitertes Sende-Steuerwortregister 22. Diese Register empfangen von dem Prozessor MLCP entsprechende 8-Bit und 4 Bit Steuerworte. Das Format des erweiterten Sende-Steuerwortes ist in Figur 15a gezeigt und die beiden Formate für das Sende-Steuerwort sind in Figur 15b (Bandsprossenstartformat) und Figur 15c (Bandsprossenendformat) dargestellt.
Ein Sende-FIFO-Pufferspeicher 26 speichert temporär von dem Prozessor MLCP empfangene Steuerwortdaten und Nachrichtendaten. Die Wirkungsweise der FIFO-Speicherschaltkreise ist dergestalt, daß empfangene 8 Bit-Daten- und Steuerbytes vom Eingang des Speichers zu dessen Ausgang rasch durchlaufen, so daß eine Warteschlange von Daten- und Steuerbytes gebildet wird. Diese Bytes werden über den Multiplexer 28 zu dem Sende-Mikroprozessor 34 übertragen und von dort über den DCE-Schnittstellenverbinder 100 bitseriell auf den Dialogkanal geschoben. Die Steuerung dieser Operation erfolgt durch die Steuerfirmware, die in dem Steuerspeicher 32 gespeichert ist. Ein Adressenzähler 30 und ein Befehlsausführungs-Steuerschaltkreis 36 steuern die Bearbeitung der Firmwarebefehle, um gemäß der Erfindung geeignete Sende-Steueroperation auszuführen. Die gesendete bitserielle
Datenfolge wird über einen Datenbit-Synchronisierschaltkreis 40 und einen DCE-Treiberschaltkreis 42 auf den Anschluß 100 gegeben. Ein Sende-Taktsignal, das von dem Dialoggerät DCE erhalten und von dem Empfängerschaltkreis 42 empfangen wird, wird an den Daten-Synchronisationsschaltkreis 40 angelegt, um die Datenfolge zu dem Dialogkanal zu synchronisieren. Ein zyklischer Redundanz-Prüfgenerator CRC-38 (CRC = Cyclic redundancy check) überwacht die Bitfolge und liefert CRC-Prüfdaten an den Mikroprozessor 34 für Fehlerkorrekturzwecke.
Steuerinformation wird ebenfalls dem Dialogkanal über das DCE-Steuerwortregister 50, das sekundäre Speicherregister 52 und die 4 Bit-DCE-Treiberschaltkreise 54 zugeführt. Ein Unterbrechungssteuerschaltkreis 46 speist über den Anschluß 21 ein Unterbrechungssignal TCRICC in den Prozessor MLCP ein, um eine geeignete Unterbrechung und Antwortanweisungen auf diese Unterbrechung zu bilden. Testmodus-Logikschaltkreise 56 sind ebenfalls in dem System vorgesehen; sie bilden aber kein wesentliches Merkmal der vorliegenden Erfindung und werden daher nicht weiter beschrieben.
Die Empfangsschaltkreise des Adapters BHCLA umfassen gemäß Figur 14b DCE-Empfänger 76, 78 und 90, um von dem Dialoggerät DCE über den Anschluß 100 Taktsignale, Datenbitsignale und ein 4-Bit-Statussignal zu empfangen. Die Datenbits werden von dem Empfänger 78 zu dem Datenbit-Synchronisierschaltkreis 74 übertragen und von dort dem Empfangs-Mikroprozessor 66 zugeführt. Dieser setzt unter Steuerung durch die Empfängerfirmware, die in dem Steuerspeicher 70 gespeichert ist, die Datenbits in parallele Bytes um, und er führt eine CRC-Fehlerprüfung mit dem CRC-Generator 80, sowie eine Vielzahl von zusätzlichen Überwachungs-, Formatierungs- und Steuerfunktionen gemäß der vorliegenden Erfindung aus. Ein Empfangs-Adreßzähler 68 und ein Befehlsbearbeitungs-Steuerschaltkreis 72 liefern die erforderliche Firmware-Bearbeitungssteuerung.
Der Prozessor MLCP liefert Steuerinformation über ein Empfangs-Steuerwort, das in dem Empfangs-Steuerwortregister 62 gespeichert ist und über einen Multiplexer 64 an den Mikroprozessor 66 angelegt wird. Ein Empfangs-Unterbrechungssteuerschaltkreis 58 liefert Unterbrechungs- und Antwortanweisungen von den Empfängerschaltkreisen zu dem Prozessor MLCP über den Schnittstellenanschluß 21.
Die zusammengesetzten empfangenen Datenbytes werden von dem Mikroprozessor 66 zu einem FIFO-Pufferspeicherschaltkreis 88 übertragen und sodann in die Empfangs-FIFO-Speicherschaltkreise 34 eingegeben. Diese letzteren umfassen ebenso wie die Sende-FIFO-Speicherschaltkreise 26 einen Abschnitt für Nachrichtendaten und einen Abschnitt für Statusdaten. Die FIFO-Speicherschaltkreise 34 werden ebenfalls von den empfangenen Bytes rasch durchlaufen, so daß am Ausgang automatisch eine Warteschlange von Bytes für die Übertragung durch den Multiplexer 82 zu dem Prozessor MLCP in Form der Signale LADAT auf der 8 Bit-Ausgangsleitung 83 gebildet wird.
Der Multiplexer 82 ermöglicht ebenfalls dem Prozessor MLCP das Lesen der Geräteidentifikation, wenn dieses auf eine empfangene Unterbrechungsanweisung antwortet und das Lesen des Empfangs-Statussignales, das von dem Dialoggerät DCE über die Empfänger 90 geliefert wird. Zusätzlich werden Adapterbereitschafts- und Unterlauf-Steuersignale durch den Steuerschaltkreis 86 erzeugt und diese Signale werden ebenfalls über den Multiplexer 82 dem Prozessor MLCP zugeführt. Ein Empfänger-Resynchronisierschaltkreis 60 resynchronisiert automatisch auf Anweisung von entweder der Sende- oder der Empfangsfirmware die Empfängerschaltkreise in Bezug auf den Dialogkanal vor einem Datenempfang. Die Empfängerschaltkreise werden auf diese Weise im voraus in einen Zustand gebracht, durch den der Prozessor MLCP in geeigneter rascher Weise auf eine empfangene Unterbrechungsanweisung antworten kann.
Grundsätzlich ist die Wirkungsweise der Sendeschaltkreise des Adapters BHCLA folgende. Der Prozessor MLCP initialisiert das System durch Aktivierung der Decodierlogik 48 beim Beginn einer Sendeoperation. Der Prozessor MLCP wählt einen bestimmten Adapter aus und er bildet geeignete Register über die Adreß- und Steuerleitungen, die an die Decodierlogik 48 angeschlossen sind. Die Geräte-Identifizierungsinformation wird zu dem Prozessor MLCP über den Multiplexer 82 gesendet, um diesem die Identität des antwortenden Adapters zu signalisieren. Der Prozessor MLCP überträgt DCE-Steuerbits zu dem Dialoggerät DCE über das DCE-Steuerwortregister 50, um eine geeignete Antwort an das Dialoggerät DCE zu liefern. Danach liest der Prozessor MLCP den DCE-Status über die Empfänger 90 und den Multiplexer 82, um festzustellen, ob das Dialoggerät DCE bereit ist, gesendete Daten zu empfangen.
Als nächstes lädt der Prozessor MLCP Steuerwortregister 22 und 24 und er beginnt sodann mit der Übertragung von Daten- und Steuerbytes zu dem FIFO-Speicher 26. Der Prozessor MLCP fährt fort, den FIFO-Speicher mit Sendedaten solange zu laden, bis der Speicher gefüllt ist, was durch das Sende-Adapterbereitschaftssignal TAR angezeigt wird, welches durch den Schaltkreis 86 erzeugt wird. Wenn dies der Fall ist, so signalisiert die Unterbrechungssteuerung 46 dem Prozessor MLCP eine Einstellung der Lieferung von Sendedaten.
Sobald das Dialoggerät DCE bereit ist, Daten zu empfangen, werden durch das Sende-Mikroprogramm im Steuerspeicher 32 Sendeschaltkreise bereitgestellt, um Daten- und Steuerbytes am Ausgang des FIFO-Speichers 26 zu übernehmen und zu dem Dialogkanal zu senden.
Während dieser Operation werden Daten auf den Dialogkanal in bitserieller Weise gesendet, wobei jedesmal eine Bandsprosse in Übereinstimmung mit dem Bandsprossenformat gemäß Figur 15h übertragen wird. Die über den Mikroprozessor 34 wirksame Sendefirmware steuert das System so, daß mit der Bandsprossenfolge schrittgehalten wird. Am Beginn einer jeden Bandsprossen-Übertragungszeit prüft das Mikroprogramm, ob gültige Daten am Ausgang des FIFO-Speichers 26 vorliegen und wenn dies der Fall ist, so wird eine Anfangs-Hinweisfolge übertragen und der zyklische Redundanzprüfgenerator CRC-38 ausgelöst.
Wenn am Ausgang des FIFO-Speichers keine gültigen Daten vorliegen, so sendet das Programm Hinweis- oder Abbruch-Bitfolgen, wie sie durch das Bit TIFM festgelegt sind, das in dem Register 22 (Figur 15a) gespeichert ist. Beim Senden einer Nachrichtenbandsprosse überträgt das Programm Bytes von dem FIFO-Speicher in dem Mikroprozessor 34 und verursacht ein Herausschieben der Daten aus dem Mikroprozessor Bit für Bit auf den Dialogkanal, wobei dies über den Bitsynchronisierschaltkreis 40 und den Treiber 44 erfolgt. Am Ende eines jeden Byteintervalles wird eine neue Gruppe von Daten- und Steuerzeichen aus dem FIFO-Speicher in den Mikroprozessor geschoben. Ein Sende-Bytegrößenzähler in dem Speicher mit wahlfreiem Zugriff (RAM) des Mikroprozessors wird mit einem Bytegrößencode geladen, wobei der Code aus den TBS-Bits in dem Sendesteuerwort (Fig. 15b) gebildet wird. Dieser Code ermöglicht dem Mikroprozessor die Steuerung der Bytegröße in Übereinstimmung mit dem TBS-Code.
Wenn das Programm ein TEOF-Bit mit dem Wert "1" in dem Byte feststellt, das von dem FIFO-Speicher (Fig. 15c) übertragen wird, so löst es das Ende einer Bandsprossen-Sendefolge aus. Das nächste zu dem Kanal gesendete Zeichen ist dadurch als letztes Zeichen des Textfeldes der Bandsprosse bekannt. Nachdem dieses Zeichen übertragen worden ist, ist die erste 8 Bit-Hälfte des CRC-Prüfzeichens von dem CRC-Generator 38 übertragen, komplementiert und zu dem Kanal gesendet. Danach wird die zweite 8 Bit-Hälfte des CRC-Prüfzeichens gesendet, um das FCS-FeId zu vervollständigen.
Als nächstes steuert das Programm das System so, daß eine Abschluß-Hinweisfolge während des nächsten Byteintervalles übertragen wird, um die Übertragung der Bandsprosse zu vervollständigen. Der Unterbrechungs-Steuerschaltkreis 46 wird zur Erzeugung einer Unterbrechung an den Prozessor MLCP veranlaßt und die Steuerwortregister 22 und 24 werden zurückgestellt. Aufgrund der Unterbrechung liest der Prozessor MLCP den DCE-Status über den Multiplexer 82 und er prüft das TU-Bit in dem DCE-Statuswort (Fig. 15g), um festzustellen, ob ein Unterlaufzustand aufgetreten ist. Wenn das TU-Bit zurückgestellt ist, so wird kein Unterlauf angezeigt.
Wenn während des Bandsprossen-Sendeintervalles keine gültigen Datenbytes am Ausgang des FIFO-Speichers verfügbar sind, so wird ein Unterlaufzustand deklariert und der Mikroprozessor sendet eine Abbruchfolge aus, auf die eine Reihe von Hinweisfolgen folgt. Wenn später gültige Daten am Ausgang des FIFO-Speichers festgestellt werden, so werden diese abgelegt bis das TEOF-Bit mit dem Wert "1" in dem Sendesteuerwort festgestellt wird, woraufhin das Unterlaufbit TU des DCE-Statuswortes gesetzt wird und der Unterbrechungssteuerschaltkreis 46 die Unterbrechungsanweisung an den Prozessor MLCP erzeugt.
Während des Empfangsmodus ist die allgemeine Wirkungsweise des Systems folgende: Der Prozessor MLCP lädt ein Empfangssteuerwort (Fig. 15g) in das Register 62 und es wird eine Resynchronisierungsanweisung von der Decodierlogik 48 ausgegeben, um den Resynchronisierungsschaltkreis 60 zu triggern und die Empfangshardware auszulösen. Hierbei werden die FIFO-Speicherschaltkreise gelöscht und es wird das System für einen Empfangszyklus vorbereitet.
Während jeder negativen Umschaltung des Empfangs-Taktsignales am Empfänger 76 wird ein Datenbit am Empfänger 78 in einen Bit-Pufferschaltkreis in der Datenbit-Synchronisierlogik 74 übertragen. Danach verschiebt die Empfangsfirmware das Datenbit in den Mikroprozessor und es wird eine Prüfung auf das Vorliegen einer Hinweisfolge 01111110 durchgeführt. Wenn diese Hinweisfolge festgestellt wird, so schaut das Programm nach dem ersten nachfolgenden Nicht-Hinweiszeichen, das als das erste Zeichen der empfangenen Nachrichten Bandsprosse festgestellt wird. Zu diesem Zeitpunkt stellt das System den CRC-Generator 80 so ein, daß er in allen Stellen den Wert "1" aufweist, um ihn für die Erzeugung des CRC-Prüfzeichens vorzubereiten. Das System tritt in eine durch das Mikroprogramm gesteuerte Schieberegister-Subroutine ein, um dem Zusammensetzen der empfangenen Zeichen zu beginnen.
Nach einer Verzögerung entsprechend der Übertragungszeit von 32 Bit tritt das Empfangsprogramm in eine Datenübertragungs-Subroutine ein, woraufhin ein zusammengesetztes Zeichen parallel in den FIFO-Puffer 88 geladen wird. Das Programm überträgt sodann das Zeichen in dem Datenabschnitt des FIFO-Speichers 84, stellt den Puffer 88 zurück und lädt ein Statuszeichen mit dem Wert "0" in allen Bitpositionen aus dem Puffer 88 in den Statusabschnitt des FIFO-Speichers 84.
Durch einen erneuten Eintritt in die Schieberegister-Subroutine wird das nächste empfangene Zeichen zusammengesetzt und es wird danach durch die Datenübertragungs-Steuersubroutine das Zeichen in den Puffer 88 und sodann zusammen mit dem Statusbyte in den
FIFO-Speicher 84 geladen.
Diese Reihe von Operationen setzt sich fort bis eine Hinweisfolge bezüglich des Endes der empfangenen Bandsprosse festgestellt wird. Das Programm geht sodann weiter zu der Ausspül-Steuersubroutine, woraufhin das letzte empfangene Zeichen rechtsbündig ausgerichtet wird und auf einen Teilbytezustand überprüft wird. Das Programm erzeugt das dem letzten Zeichen zugeordnete Statuswort und entnimmt diesem die Bytegröße und die Information bezüglich einer Teilbytegröße, um festzustellen, ob ein Teilbytezustand vorliegt. Danach wird das gespeicherte CRC-Prüfzeichen mit 8 Bit aufeinmal aus dem CRC-Generator 80 ausgelesen und eine Restprüfung ausgeführt. Wenn der Wert des CRC-Restes unkorrekt ist, so wird das RFCSE-Bit des Empfangsstatuswortes zusammen mit dem REOF-Bit gesetzt, um den FCS-Fehlerzustand anzuzeigen und um anzuzeigen, daß das Ende der Bandsprosse erreicht worden ist. Danach wird das letzte Datenbyte und das Statusbyte in den FIFO-Speicher 84 geladen. Das Programm vervollständigt sodann die Bandsprossenfolge durch Übertragung des FCS-Wortes (als zwei 8 Bit-Bytes), das von dem Dialoggerät DCE empfangen wird, zu dem FIFO-Speicher (wenn dies durch das Empfangs-Steuerwort festgelegt ist).
Wenn, bevor irgendwelche empfangenen Zeichen in den FIFO-Speicher geladen werden, ein FIFO-Gefüllthinweis vorliegt, so wird ein Überlaufzustand angezeigt. Aufgrund dieses Zustandes verarbeitet der Adapter BHCLA den Rest der Bandsprosse unter Nichtbeachtung der restlichen Zeichen. Wenn das das Ende der Bandsprosse anzeigende Bit EOF festgestellt wird, so wird ein Empfangs-Statuswort in den FIFO-Speicher geladen, das RO- und REOF-Bits im gesetzten Zustand aufweist, um die Zustände Überlauf und Ende der Bandsprosse anzuzeigen.
Wenn eine empfangene Bandsprosse mit einer Abbruchfolge endet (8 Bits mit dem Wert "1"), so wird das CRC-Zeichen nicht beachtet und es wird das RA-Bit des Empfangs-Statuswortes zusammen mit dem REOF-Bit gesetzt, um diese Situation dem Prozessor MLCP zu signalisieren.
Zu jedem Zeitpunkt, wo Daten- und Statuszeichen am Ausgang des FIFO-Speichers 84 verfügbar sind, erzeugt die Empfangs- und Unterbrechungssteuerung 58 eine Unterbrechungsanweisung an den Prozessor MLCP. Der Prozessor MLCP antwortet über die Decodier-Steuerschaltkreis 48, in dem über den Multiplexer 82 die Empfangsstatus- und Datenworte gelesen werden. Durch jede solche Leseoperation wird der Inhalt des FIFO-Speichers verschoben, um die nächsten Status- und Datenzeichen verfügbar zu machen. Der Prozessor MLCP liest als nächstes den DCE-Status über den Empfänger 90 und er beobachtet das Ausgangssignal des Steuerschaltkreises 86. Wenn dieses Ausgangssignal ein RAR-Bit im gesetzten Zustand aufweist, so liest der Prozessor MLCP ein weiteres Paar von Daten- und Statuszeichen aus dem FIFO-Speicher 84. Der Prozessor MLCP fährt mit diesem Zyklus solange fort, wie das RAR-Bit auf den Wert "1" gesetzt bleibt. Wenn das RAR-Bit auf den Wert "0" umschaltet, so wird die Empfangs-Unterbrechungssteuerung 58 zurückgestellt und der Prozessor MLCP hört auf, Daten aus dem FIFO-Speicher zu lesen. Immer wenn ein weiteres Zeichen am Ausgang des FIFO-Speichers auftritt, so schaltet das RAR-Bit erneut auf den Wert "1" um, und die Unterbrechungssteuerung 58 erzeugt eine weitere MLCP-Unterbrechung, um die Übertragung der empfangenen Daten- und Statuszeichen an den Prozessor MLCP wieder aufzunehmen.
Wenn das REOF-Bit in dem Empfangs-Statuswort gesetzt ist, um das Ende einer Bandsprosse anzuzeigen, so weis der Prozessor MLCP, daß das letzte Zeichen des Textfeldes der Bandsprosse an dem Ausgang des FIFO-Speichers ansteht. Der Prozessor MLCP liest das letzte Zeichen zusammen mit dem letzten Statuszeichen und prüft das letztere, um festzustellen, ob ein Überlaufzustand vorliegt oder ob ein Bandsprossenabbruch oder ein FCS-Fehlerzustand vorliegt. Ferner wird das Statuszeichen inspiziert, um festzustellen, ob das letzte Byte ein Teilbyte ist, und welche Größe das letzte Byte aufweist. Der Prozessor MLCP beendet sodann die Bandsprossenfolge durch Lesen des FCS-Prüfzeichens (in Form von zwei 8 Bit-Bytes) am Ausgang des FIFO-Speichers.
Die logischen Blockdiagramme gemäß den Figuren 1 bis 12 werden nicht Element für Element in Einzelheiten beschrieben, um die Beschreibung nicht unnötig aufzublähen. Die Elemente gemäß den Figuren 1 bis 12 finden Anwendung in der allgemeinen Hardwareschaltung gemäß Figur 14, wobei durch die nachstehende Tabelle mit Kreuzverweisen die Zuordnung zwischen den Schaltkreiselementen in Figur 14 und entsprechenden Hardwareelementen in den Figuren 1 bis 12 gegeben wird. In den Figuren 1 bis 12 werden Element-Referenzcodes wie beispielsweise "01B01" und "08B04" verwendet um die Schaltkreiselemente zu bezeichnen. Die letzten beiden Ziffern eines derartigen fünfstelligen Codes geben die Figur an, in der das Element auftritt. Somit treten alle Elemente, deren Bezeichnungen mit "01" enden, in Figur 1 auf und alle Elemente deren Bezeichnungen mit "04" enden, treten in Figur 4 auf usw. Jeder Block innerhalb des allgemeinen Schaltschemas in Figur 14 ist durch ein oder mehrere Logikelemente in der detaillierten Darstellung gemäß den Figuren 1 bis 12 in folgender Weise verwirklicht:
Die Verbindungen zwischen den Hardwareelementen in den Figuren 1 bis 12 sind dort, wo sie nicht durch eine oder mehrere Leitungen veranschaulicht sind, durch Signalhinweise angegeben. So ist beispielsweise der Anschlußstift 01 des Verbinders 01B01 in Fig. 1a mit "CNTRL1-00" bezeichnet. Die Quelle dieses Signales sowie die Quelle aller anderen Signale kann leicht anhand der Signal-Quellentabelle in den Figuren 18a bis 18c bestimmt werden. So entnimmt man beispielsweise Figur 18a, daß das Signal CNTRL1-00 von dem Element 01B01 herrührt (siehe Spalte 1, Zeile 14 in Figur 18a).
Die detaillierten logischen Blöcke gemäß der Figuren 1 bis 12 veranschaulichen bekannte integrierte logische Schaltkreischips, die von verschiedenen Herstellern im Handel erhältlich sind. Ein individueller Identifizierungscode für den Bausteintyp ist auf jedem Element angegeben. Beispielsweise ist das JK-Flip-Flop 07D02 (Fig. 2b) ein integrierter Standardchip des Typs 74LS112. Einige der dargestellten Schaltkreiselemente sind nur von bestimmten Herstellern erhältlich. Die Mikroprozessoren 01B08, B1C10 und 07C10 sind Mikroprozessoren des Typs 2901 der Firma Advanced Micro-Devices (A.M.D.). Ferner sind die programmierbaren Festwertspeicher (PROM) gemäß den Figuren 7b und 9b unter der Typnummer 82S137 von der Firma Signetics Corporation erhältlich.
Anhand der Figuren 1 bis 12 und des Anhanges A sei die Arbeitsweise des Adapters BHCLA aufgrund von Ausgangs-Steuersignalen beschrieben, die er zur Auslösung von dem Prozessor MLCP zugeführt erhält.
Vor der Beschreibung der logischen Blockdiagramme sei eine kurze Beschreibung des durch die Firmware vorgegebenen Mikroprogrammes gegeben, das in dem System verwendet wird. Das erste zu beschreibende Mikroprogramm ist im Anhang A niedergeschrieben und betrifft das Sendeprogramm.
Unter Bezugnahme auf die Zeile 22500 im Anhang A gibt eine erste Spalte, die mit dem Zeichen $ beginnt, den Start eines Befehles an. Der Vermerk INIT001 nach dem Zeichen $ ist ein Adreßhinweis. Der Adreßhinweis wird als Referenz bei Verzweigungsbefehlen benutzt. Die nächste Spalte mit der Angabe "MMP" stellt den Befehl selbst dar. Es gibt 10 Grundbefehle in dem Firmwareprogramm, die in dem Abschnitt zwischen den Zeilen 18800 und 20800 des Anhanges A definiert sind. Gemäß der Zeile 22500 ist die dritte Spalte für die Operandenfelder des Befehls reserviert. Im vorliegenden Fall gibt es fünf Operanden, die mit 0# beginnen und mit QR enden. Die vierte Spalte die mit einem (/) beginnt, ist das Erläuterungsfeld für den Befehl und die fünfte, sechste und siebte Spalte beinhalten die hexadezimale Adresse des Befehles in dem programmierbaren Festwertspeicher PROM gemäß dem bevorzugten Ausführungsbeispiel. Die sechste und siebte Spalte beziehen sich auf den Inhalt unter der angegebenen hexadezimalen Adresse. Die Sendefirmware umfaßt somit eine Breite von 24 Bit. Speziell ergibt sich der Inhalt unter der hexadezimalen Adresse 070000 durch folgende Bitkombination: 0000 gefolgt von 0111 gefolgt von 0000 gefolgt von 0000 gefolgt von 0000 gefolgt von 0000. Diese Bits entsprechen den Bitpositionen 0-23.
Unter Bezugnahme auf die Befehlsliste, die mit der Zeile 18800 beginnt, ist erkennbar, daß dem ersten Befehl MMP (Zeile 19000) das Wort "Mikro" vorangeht. Hierdurch wird der Befehl als ein Mikrobefehl gekennzeichnet. Der Befehl MMP (MMP = modify microprozessor) bewirkt eine Änderung entweder des Inhalts des Speichers RAM mit wahlfreiem Zugriff des Mikroprozessors, der bei einer Sendeoperation benutzt wird, oder eine Veränderung in dem Q-Register des Mikroprozessors.
Es sei darauf verwiesen, daß der während einer Sendeoperation verwendete Mikroprozessor ein 4 Bit-Mikroprozessor gemäß Fig. 16a ist. Bei einer Empfangsoperation sind zwei 4 Bit-Mikroprozessoren zusammengeschaltet, um gemäß Figur 16b einen 8 Bit-Mikroprozessor zu bilden. In Zeile 19200 erscheint ein Befehl TAMN (test and modify next) durch welchen ein nächster in der Reihenfolge auftretender Mikrobefehl getestet und modifiziert wird. Bei der Ausführung dieses Befehles erfolgt ein Test einer Funktion, die durch einen Testfeldoperanden vorgegeben ist und aufgrund des Ergebnisses dieses Tests wird ein nächster in der Folge auftretender Mikrobefehl entweder bearbeitet oder unterdrückt.
Der Befehl SC (subcommand) in Zeile 19400 setzt, stellt zurück oder lädt entsprechend dem SC Operandenfeld angegebene Flip-Flops in der Hardware gemäß der Erfindung.
Der Befehl BR (branch) in Zeile 19600 dient der Verzweigung von einer laufenden Adresse auf eine Adresse, die in dem BRADDR-Operandenfeld angegeben ist.
Der Befehl BRSC (branch and subcommand) kombiniert die Funktionen der Befehle SC und BR.
Der Befehl UDSCR (updating or data set control register) in Zeile 20000 bewirkt das Einschreiben eines MLCP-Signales in ein Register des Adapters BHCLA.
Der Befehl RCRCR (reset of the cyclic redundancy check register) in Zeile 20200 bewirkt das Laden des CRC-Senderegisters mit dem Binärwert "1" in allen Bitpositionen.
Der Befehl UCRCR (update of the CRC-Register) in Zeile 20400 bewirkt das Anlegen des nächsten Sende-Datenbits an das CRC-Register.
Der Befehl RER (reading of an external register) in Zeile 20600 bewirkt das Einlesen der von dem Prozessor MLCP empfangenen Information in den Mikroprozessor.
Der Befehl ZERO in Zeile 20800 stellt ein Mittel dar, um alle unbenutzten Speicherplätze in dem Firmwareprogramm auf den Binärwert "0" zu setzen.
Die Operandenfelder der Befehlsgruppe sollen nunmehr beschrieben werden. In jedem der Operandenfelder der verschiedenen Befehle unterscheidet das Worttypfeld WTFLD zugunsten der Hardware einen Befehl von dem anderen. Beispielsweise ist ersichtlich, daß, soweit es die Hardware betrifft, die Befehle BR und BRSC die gleichen sind. Die Befehlgruppen, beginnend mit dem Befehl MMP bis zu dem Befehl RER, unterscheiden sich in der ersichtlichen Weise durch die Worttypfelder. Beispielsweise besitzt der Befehl MMP ein Operandenfeld (WTFLD/0), durch welches angezeigt wird, daß das Worttypfeld in allen Binärstellen auf den Wert "0" gesetzt ist. Der Befehl TAMN zeigt an, daß das Worttypfeld mit 3 Bit auf den Wert 001 gesetzt ist. Bei dem Befehl SC ist das Worttypfeld auf den Wert 010 gesetzt. Ferner ist das Worttypfeld für den Befehl RER auf 111 gesetzt. Das Worttypfeld ist in Zeile 2400 des Anhanges A definiert, wobei ersichtlich ist, daß das Feld mit dem Bit 16 beginnt und 3 Bit umfaßt. Insbesondere betreffen die Bits 16, 17 und 18 irgendeines Speicherplatzes in dem Festwertspeicher PROM das Worttypfeld. Gemäß dem logischen Blockdiagramm in Figur 8 decodiert der Decodierer 09B08 die Bits 16, 17 und 18, um einen der 8 Befehlstypen zu erhalten. Es ergeben sich somit 0-7 Befehle.
Es sei darauf verwiesen, daß jeder der Befehle zwei Zeilen von Operandenfelder besitzt. Die erste Zeile der Operandenfelder bezieht sich auf Felder die vorgegeben werden, wenn jeder Befehl geschrieben wird. Die zweite Zeile der Operandenfelder zeigt permanent definierte Operandenfelder an, die beim Schreiben des Befehls nicht vorgegeben werden. Es sei vermerkt, daß das Worttypfeld in der zweiten Zeile der Operandenfelder auftritt und somit ein Feld darstellt, das permanent vorliegt und durch das Programm nicht verändert wird. Ein zweites Operandenfeld in der zweiten Zeile der Operandenfelder ist durch das Feld ISCFLD (ISC = inhibit of a subcommand) vorgegeben, welches im Fall der Befehle SC, BR und BRSC auftritt. Dieses Feld mit einem Bit besitzt den Wert "0" beim Vorliegen eines Befehles SC oder BRSC, durch den die Ausführung einer Subanweisung ermöglicht wird. Nur bei dem Befehl BR besitzt dieses Feld den Wert "1", wodurch der Subanweisungsbefehl SC gesperrt wird. Gemäß Zeile 2600 ist erkennbar, daß das ISC-FeId im Bit 12 eines Speicherplatzes in dem Festwertspeicher PROM auftritt.
Aus Figur 8 ist ersichtlich, daß das ISC-FeId in Form des Bits TUCM13+00 einem Decodierer 09C08 am Anschlußstift 4 zugeführt wird.
Das IFW-FeId (IFW = inhibit file write) dient einer Datei-Schreibsperre und wird bei den Befehlen BR und BRSC benutzt. Bei jedem der Befehle wird dieses 2 Bit-Feld auf den Wert 00 gesetzt. Gemäß Zeile 2700 des Mikroprogrammes ist erkennbar, daß das IFW-FeId mit dem Bit 0 beginnt. Die beiden Bits dieses Feldes werden dem Mikroprozessor 01B08 in Figur 8 zugeführt. Insbesondere werden die Bits an die Anschlußstifte 6 und 7 des Mikroprozessors angelegt. Ein Bit mit dem Wert "0" an den Anschlußstiften 5, 6 und 7 des Mikroprozessors 01B08 unterbindet das Einschreiben von Information in den Speicher RAM des Mikroprozessors.
Das K-FeId (K = konstant) ist ein Konstantenfeld, das sowohl als invariables Feld in der zweiten Zeile der Operandenfelder für den Befehl RER als auch als variables Feld bei vielen anderen Befehlen wie beispielsweise dem Befehl MMP verwendet wird. Das K-FeId bildet ein Mittel, um einen Konstantenwert dem System bei logischen oder arithmetischen Funktionen zuzuführen. Aus Zeile 2500 des Anhanges A ist ersichtlich, daß das Konstantenfeld ein 4 Bit-Feld ist, das mit dem Bit 20 beginnt.
Im Falle des Befehles RER weist das K-FeId in allen Bitpositionen den Wert "1" auf.
Das Sende-Mikroprogramm befindet sich in 6 programmierbaren Festwertspeichern PROM01C07, 04C07, 07C07, 10C07, 07D07 und 10D07 wie dies in Figur 7 gezeigt ist. Bezüglich Figur 7 sei darauf verwiesen, daß die Signale TUCM00 bis TUCM23 die 24 Ausgangssignale der vorstehend erwähnten Steuerspeicher PROM darstellen.
Anhand der Sendebefehle in den Zeilen 19000 bis 20800 in dem Anhang A seien nun die Operandenfelder erläutert, die bei der Ausführung eines jeden Befehles benutzt werden.
Das erste zu erläuternde Feld ist das K-FeId, welches das Konstantenfeld darstellt. Dieses Feld wird benutzt, um dem Programm die Einfügung einer Konstante oder einer Maske bei der Ausführung zu gestatten. Gemäß dem Speicherplatz 2500 tritt das Konstantefeld zwischen den Bits 20 und 23 auf. Das 4 Bit-Konstantenfeld erscheint in dem Schaltkreis gemäß Figur 8 in Form der Signale TUCM 20 bis TUCM 23. Diese Signale werden am Ausgang des Festwertspeichers PROM 07D07 ausgegeben. Die Signale des Konstantenfeldes werden über die festverdrahteten Tri-State-UND-Knoten 07A08, 05A08, 03A08 und 01A08 den Dateneingängen des Mikroprozessors 01B08 zugeführt.
Das Konstantenfeld wird von folgenden Befehlen benutzt: MMP, TAMN, SC, UDCSR, RCRCR, UCRCR.
Die Felder FA und FB werden benutzt, um den internen 64 Bit-RAM-Speicher des Mikroprozessors 01B08 zu adressieren. Der interne RAM-Speicher umfaßt 16 Worte mit 4 Bit. Der interne RAM-Speicher des Mikroprozessors besitzt zwei Ausgangsanschlüsse, die in Figur 16a mit A und B bezeichnet sind. Um den internen Speicher RAM zu adressieren, sind somit zwei Adreßfelder erforderlich. Diesem Zweck dienen die Felder FA und FB. Die Felder FA und FB werden an die Adreßeingänge A und B des Speichers RAM angelegt, um die Auswahl der Anschlüsse A und B zu steuern. Aus den Zeilen 3300 bis 4900 des Mikroprogrammes ist ersichtlich, daß die Felder FA und FB jeweils aus 4 Bit bestehen. Das Feld FA tritt zwischen den Bits 12 und 15 auf, während das Feld FB zwischen den Bits 8 und 11 auftritt. Unter Bezugnahme auf die 4 jedem der festgelegten Felder zugeordneten Spalten ist ersichtlich, daß beispielsweise in Zeile 3600 bei Verwendung eines Programmidentifizierers A0 durch einen Programmierer der Programmassembler eine hexadezimale Null erzeugen wird. In gleicher Weise erzeugt der Programmassembler eine hexadezimale 4 (0100), wenn ein Programmidentifizierer A4 benutzt wird. Diese hexadezimalen Zahlen treten in den Bits 12-15 auf. Das Signal des A-Feldes tritt am Ausgang des PROM 1C07 in Figur 7 auf, während das Signal des B Feldes am Ausgang des PROM04C07 auftritt. Diese Signale der Felder FA und FB werden an die Adreßeingänge ARAM und BRAM des Mikroprozessors 01B08 in Figur 8 angelegt.
Das Feld FA wird bei folgenden Befehlen benutzt: MMP, TAMN, UDSCR, RCRCR und UCRCR. Das Feld FB wird bei folgenden Befehlen benutzt: MMP, USC, UDSCR, RCRCR, UCRCR und RAR.
Das OP-FeId (OP = operation code) steht in Zeile 5400 des Mikroprogrammes. Das OP-FeId tritt in zwei verschiedenen Feldern unter den Bits 2 bis 7 und unter dem Bit 19 auf. Die Bits in diesem Operationscodefeld legen die arithmetische bzw. logische Funktion fest, die durch den Microprozessor auszuführen ist. Die logischen Funktionen, die durch den Mikroprozessor ausgeführt werden können, sind zwischen den Zeilen 5600 und 8500 des Anhanges A definiert. Entsprechend sind die arithmetischen Funktionen zwischen den Zeilen 8800 und 12700 definiert. Bezüglich der logischen Funktionen gibt beispielsweise die logische Funktion AORB in Zeile 5900 vor, daß die am Eingang des Speichers RAM des Mikroprozessors auftretenden und durch die Adreßeingangssignale adressierten Daten mit den Daten einer logischen ODER-Verknüpfung unterzogen werden, die an dem Speicherplatz stehen, der durch die B-Adreßeingangsignale des Microprozessors adressiert wird. In der zweiten Spalte in der Zeile 5900 gibt der Buchstabe C in dem Ausdruck "062C" an, daß der Wert 062 ein Oktalwert ist. Der Oktalwert wird den Bits 2 bis 7 und dem Bit 19 zugeführt, wie dies die Zeile 5400 anzeigt. Die logischen auszuführenden Funktionen sind in dem Kommentarfeld in der dritten Spalte für das Feld OP beschrieben. Derartige Kommentare treten ebenfalls in der dritten Spalte der arithmetischen Funktionen in den Zeilen 8800 bis 12700 auf.
Gemäß den Zeilen 7200 bis 8500 des Sendeprogrammes bezieht sich der Buchstabe D auf Daten auf den Dateneingangsleitungen des Mikroprozessors 01B08 und der Buchstabe Q bezieht sich auf Daten, die in dem internen Q-Register des Mikroprozessors gespeichert sind. Die logische Funktion AND betrifft die logische UND-Funktion, NOT betrifft eine logische Invertierung, XOR betrifft eine logische Exklusiv-ODER-Funktion, XNOR betrifft eine logische Exklusiv-NOR-Funktion und der Ausdruck "ALUZ" gibt an, daß die interne Arithmetik- und Logikeinheit ALU des Mikroprozessors an ihrem Ausgang auf den Wert "0" gesetzt ist.
Bezüglich der arithmetischen Funktionen des Feldes OP zwischen den Speicherplätzen 8800 und 12700 des Sendeprogrammes bezeichnet P eine Additionsoperation, M eine Subtraktionsoperation, 1C eine Einerkomplementbildung und 2C eine Zweierkomplementbildung. Als weiteres Beispiel bezeichnet die Funktion QM1 in Zeile 11000 die Subtraktion einer 1 von dem Inhalt des Q-Registers des Mikroprozessors.
Die Signale des OP-Feldes treten an den Ausgängen der Festwertspeicher PROM10C07, 07C07 und 10D07 auf. Diese Signale sind mit TUCM02 bis TUCM07 und mit TUCM 19 bezeichnet. Sie werden den Befehlseingängen 0-5 und dem Übertragseingang CN des Mikroprozessors 01B08 zugeführt.
Gemäß der Befehlsauflistung beginnend mit Zeile 18800 im Anhang A ist erkennbar, daß das OP-Feld bei der Bearbeitung aller Befehle, mit Ausnahme der Befehle BR, BRSC und ZERO, benutzt wird.
Das FD-Feld (FD = file destination) ist als Datei-Bestimmungsfeld bezeichnet. Aus den Zeilen 13200 bis 13700 ist ersichtlich, daß das FD-Feld 2 Bit umfaßt und mit dem Bit 0 beginnt. Das FD-Feld gibt vor, wo das Ausgangssignal der Recheneinheit ALU des Mikroprozessors gespeichert ist und ob eine Verschiebung vor der Speicherung der Daten aufzutreten hat. Beispielsweise gibt ein QR-Befehl vor, daß die Daten in dem Q-Register des Mikroprozessors ohne Verschiebung gespeichert sind. Der FR-Befehl zeigt an, daß das Ausgangssignal der Recheneinheit ALU in dem internen RAM-Speicher gespeichert ist, wobei die Adresse durch die B-RAM-Adreßeingänge des Mikroprozessors vorgegeben ist. Der Befehl SRQF zeigt an, daß der Inhalt des Q-Registers nach rechts zu verschieben ist und sodann zurückzuspeichern ist, und daß das Ausgangssignal der Recheneinheit ALU in den internen RAM-Speicher nach einer Rechtsverschiebung zu laden ist. Der Befehl SLQF zeigt an, daß die in dem Q-Register des Mikroprozessors gespeicherte Information um 1 Bit nach links zu verschieben ist und sodann in dem Q-Register zu speichern ist und daß das Ausgangssignal der Recheneinheit ALU um 1 Bit nach links verschoben werden muß und in dem internen RAM-Speicher zu speichern ist.
Bezüglich des Mikroprozessors 01B08 in Figur 8 gibt das Signal TQRQZZ am Ausgang S1 des Mirkoprozessors das am weitesten rechts stehende Bit des Q-Registers an. Der Ausgang S1 ist mit dem Eingang S4 d.h. mit dem am weitesten links liegenden Eingang des internen RAM-Speichers des Mikroprozessors (Fig. 16a) verbunden. Somit wird während der Bearbeitung eines Befehls SRQF bzw. SLQF bei einer Rechtsverschiebung der Ausgang S1 an den Eingang S4 und bei einer Linksverschiebung der Ausgang S4 an den Eingang S1 angelegt.
Es sei vermerkt, daß die Anschlüsse S1 und S4 bidirektionale Stiftanschlüsse sind. Auf diese Weise wird ein 8 Bit-Schieberegister gebildet, in dem das Q-Register mit 4 Bit mit einem 4 Bit-Speicherplatz in dem internen RAM-Speicher verbunden ist. Während eines SRCF-Befehles wird das Ausgangssignal des UND-Gatters 03D08 an den Eingang S2 des Mikroprozessors angelegt. Auf diese Weise wird ein zyklisches Redundanz-Prüfzeichen von dem CRC-Generator 03C08 in den Mikroprozessor geschoben. Die beiden dem FD-Feld entsprechenden Signale sind durch die Signale TUCM00 und TUCM01 an den Ausgängen des Festwertspeichers PROM10C07 in Figur 7 vorgegeben. Diese Signale werden an die Befehlsbits 7 und 8 des Mikroprozessors 01B08 angelegt. Dieses FD-Feld wird von jedem Befehl, mit Ausnahme der Befehle BR, BRSC und ZERO, benutzt.
Das TST-Feld (TST = test) ist ein Testfeld, das nur durch den Befehl TAMN benutzt wird. Gemäß den Zeilen 14400 bis 15400 im Anhang A sind in der ersten Spalte sieben Hardwarefunktionen angegeben, die durch den Befehl TAMN getestet werden können. Das Testfeld umfaßt vier Bits an den Bitpositionen 8 bis 11, wie dies in der Zeile 14400 angegeben ist. Die vier Bits entsprechen den Signalen TUCM 08 bis TUCM11 am Ausgang des Festwertspeichers PROM04C07. Die Signale TUCM09 bis TUCM11 werden an die Auswahleingänge des Multiplexers 10A08 in Figur 8 angelegt.
Gemäß den Zeilen 14400 bis 15400 des Programmes wird die Hardwarefunktion TRDY durch den Auftritt des Binärwertes "0" in allen Signalen TUCM08 bis TUCM11 vorgegeben. Diese Hardwarefunktion zeigt an, daß das nächste Sendebit zum Test bereit ist. Wenn es sich herausstellt, daß das Bit nicht bereit ist, so wird der nächste Befehl in der Folge ausgeführt. Stellt sich heraus, daß das nächste Sendebit bereit ist, so wird jedoch der nächste Befehl in der Folge als ein NO OP-Befehl behandelt. Die Hardwarefunktion TFMNE wird getestet, wenn eine oktale 3 auf den Leitungen TUCM08 bis TUCM11 auftritt. Der nächste Befehl in der Folge wird insbesondere ausgeführt, wenn der Sende-FIFO-Speicher leer ist. Wenn der Sende-FIFO-Speicher nicht leer ist, so wird jedoch der nächste Befehl in der Folge als ein NO OP-Befehl behandelt. Das TST-Feld wird nur mit dem Befehl TAMN benutzt.
Das SC-Feld (SC = subcommand) gibt das Subanweisungsfeld vor und wird nur durch den Befehl SC in Zeile 19400 des Programmes benutzt. Das SC-Feld ist in den Zeilen 15900 bis 17000 des Anhanges A definiert. Das Feld ist ein 3 Bit-Feld, das mit dem Bit 13 beginnt und 8 verschiedene Funktionen festlegt. Die Signale TUCM13 bis TUCM15 des Subanweisungsfeldes treten an den Ausgängen des Festwertspeichers 01C07 auf und sie werden an die Auswahleingänge des Decodierers 09C08 in Figur 8 angelegt. Aus den Zeilen 15900 bis 17000 des Programmes ist ersichtlich, daß der Auftritt einer hexadezimalen Null aus den Leitungen TUCM13-15 den Auftritt einer Rückstellung der Sendebit-Bereitschaftsfunktion vorgibt. Der Auftritt einer hexadezimalen Eins auf den Leitungen TUCM13-15 gibt das Schreiben eines Sendebit-Puffersignales vor, wie dies in dem Kommentarfeld in Spalte 3 angegeben ist.
Es ist somit ersichtlich, daß die an den Decodierer 09C08 angelegten Signale TUCM13-15 dazu führen, daß eines der Ausgangssignale des Decodierers auf den Logikpegel "0" abgesenkt wird.
Dies geschieht während der Bearbeitung entweder eines SC- oder eines BRSC-Befehles, wie dies durch die Befehlsliste in den Zeilen 18800 bis 20800 angegeben ist. Es sei darauf verwiesen, daß das SC-Feld bei der Bearbeitung der Befehle SC und BRSC benutzt wird.
Das XR-Feld (XR = external register) stellt das externe Register dar, das nur während der Bearbeitung des Befehles RER gemäß der Zeile 20600 im Anhang A benutzt wird. In den Zeilen 17700 bis 17800 ist angegeben, daß das XR-Feld eines von fünf verschiedenen Registern auswählt, dessen Inhalt in den Mikroprozessor 01B08 über die Dateneingangsleitungen zu übertragen ist. Das XR-Feld umfaßt die Bitpositionen 12-15 und liegt in Form der Signale TUCM12 bis TUCM15 am Ausgang des Festwertspeichers PROM01C07 vor. Das Signal TUCM12 wird den Auswahleingängen der Multiplexer 02C06 und 06C06 zugeführt. Die Signale TUCM13-15 werden UND-Gattern 05D08, 06D08 und 07D08 entsprechend zugeführt.
Das BRADDR-Feld (BRADDR = branch adress) wird gemäß den Zeilen 19600 und 19800 nur durch die Befehle BR und BRSC benutzt, wobei auf einen Speicherplatz verwiesen wird, zu dem eine Verzweigung erfolgen soll. Gemäß der Zeile 1700 des Programmes ist erkennbar, daß die Verzweigungsadresse des BRADDR-Feldes ein 10 Bit-Feld ist, das mit dem Bit 2 beginnt. Gemäß Figur 7 ist das BRADDR-Feld durch die Signale TUCM02 bis TUCM11 an den Ausgängen der Festwertspeicher PROM10C07, 07C07 und 04C07 vorgegeben. Diese Signale werden ihrerseits an die 4 Bit-Aufwärtszähler 01A07, 04A07 und 07A07 angelegt, um die sechs Festwertspeicher PROM des Programmsteuerspeichers in Figur 7 zu adressieren.
Das Format des Empfangs-Mikroprogrammes entspricht in etwa demjenigen des Sende-Mikroprogrammes, so daß nur dem Fachmann erkennbare Unterschiede zu erwähnen sind. Die Empfangs-Firmware ist in den Festwertspeichern PROM01C09, 04C09, 07C09, 10C09, 04D09, 07D09 und 10D09 gemäß Figur 9 gespeichert. Es sei darauf verwiesen, daß im Falle der Empfangsfirmware sieben Festwertspeicher gegenüber sechs Festwertspeichern bei der Sendefirmware vorgesehen sind. Der zusätzliche Festwertspeicher ist erforderlich, da das Empfangs-Steuerwort gegenüber dem 24 Bit-Wort im Falle des Sende-Steuerwortes ein 28 Bit-Wort ist. Der Empfänger benutzt zwei zusammengeschaltete 4 Bit-Mikroprozessoren gemäß den Figuren 16b und 10b, um eine 8 Bit-Datenstrecke in dem Empfänger zu bilden. Der von dem Empfänger benutzte zusätzliche Festwertspeicher entspricht den zusätzlichen 4 Bits, die durch das K-Feld gefordert werden. Die von dem Empfänger verwendeten beiden Mikroprozessoren sind durch die Mikroprozessoren 01C10 und 07C10 in Figur 10 gegeben. Das Empfangs-Mikroprogramm ist im Anhang B niedergelegt und beginnt mit Zeile 21100. Die Befehlsliste befindet sich in den Zeilen 17500 bis 19300 des Anhanges B und die Operandenfelder sind zwischen den Speicherplätzen 1700 und 17000 definiert.
Die Bits eines jeden Operandenfeldes entsprechen unmittelbar den Signalen RUCM des Empfängers. Beispielsweise besteht das in Zeile 2500 des Anhanges B definierte K-Feld aus 8 Bit und beginnt mit dem Bit 20 des Empfangsprogramm-Steuerspeichers. Diese Bits entsprechen den Signalen RUCM20 bis RUCM27, die an den Ausgängen der Festwertspeicher PROM07D09 und 04D09 auftreten.
Diese Signale RUCM werden über die logischen UND-Knoten 01B10 bis 08B10 an die Dateneingänge der Microprozessoren 01C10 und 07C10 angelegt. Insbesondere werden die Signale RUCM20 bis RUCM23 über die logischen UND-Knoten den Dateneingängen des Mikroprozessors 01C10 zugeführt, während die Signale RUCM24 bis RUCM27 den Dateneingängen des Mikroprozessors 07C10 zugeführt werden. Die Signale der Felder FA und FB, die in den Zeilen 3300 bis 4900 des Anhanges B definiert sind, werden jedem der Mikroprozessoren 01C10 und 07C10 zugeführt. Insbesondere werden die Signale des Feldes FA den A-RAM-Adreßeingängen beider Mikroprozessoren und die Signale des Feldes FB werden den B-RAM-Adreßeingängen der Mikroprozessoren zugefügt. Die Signale der Felder OP und FD werden jedem Mikroprozessor zugeführt. Insbesondere werden die Signale ROCM02 bis ROCM07 des Feldes OP an die Befehlsbits 0-5 des Mikroprozessors 01C10 und an die Befehlsbits 0-5 des Mikroprozessors 07C10 angelegt. Das Signal RUCM19 entsprechend dem Bit 19 des Feldes OP wird jedoch nur dem Übertragseingang CN des Mikroprozessors 07C10 zugeführt. Der Übertragseingang des Mikroprozessors 01C10 ist mit dem Übertragsausgang des Mikroprozessors 07C10 verbunden. Die Bits 0 und 1 des Feldes FD werden an die Befehlsbits 7 und 8 eines jeden Mikroprozessors angelegt.
Die Bits der Felder TST und SC, wie sie durch die Zeilen 14400 bis 17000 des Anhanges B definiert sind, sollen nachfolgend während der Beschreibung der Betriebsweise des Systems beschrieben werden. Die Bits 8 bis 11 des TST-Feldes entsprechen den Signalen RUCM08 bis RUCM11, die an die B-RAM-Adreßeingänge der Mikroprozessoren 01C10 und 07C10 angelegt werden und die Bits 13 bis 15 des CS-Feldes entsprechen den Signalen RUCM 13 bis RUCM15, die an die A-RAM-Adreßeingänge der Mikroprozessoren angelegt werden. Die Signale RUCM13-15 werden den Eingängen eines Decodierers 08C11 zugeführt. Die durch das TST-Feld festgelegten Hardwarefunktionen werden in dem Kommentarfeld in der dritten Spalte des Anhanges B beschrieben. Das SC-Feld legt eine von 8 Zahlen fest, wie dies in der zweiten Spalte angezeigt ist. Die Auswirkung einer solchen durch die Leitungen RUCM13-15 angelegten Zahl ist durch das Kommentarfeld in der dritten Spalte veranschaulicht, wobei der Ausdruck RCX auf einen Empfänger verweist.
Ein weiterer Unterschied zwischen der Empfangs- und Sende-Firmware liegt in dem FD-Feld des Empfangsprogrammes vor. Dies bedeutet, daß die Befehle SRQF und SLQF in dem Empfangs-Mikroprozessoren 01C10 und 07C10 unterschiedlich verwendet werden. Beispielsweise wird während der Bearbeitung des Befehles CRQF das am weitesten rechts stehende Bit des Q-Registers des Mikroprozessors an dem Anschluß S2 abgegeben, der mit der am weitesten links liegenden Bitposition des Q-Registers des Mikroprozessors 07C10 verbunden ist. Ferner wird das am weitesten rechts liegende Bit des internen Speichers RAM des Mikroprozessors 01C10 über den Anschluß S3 des Mikroprozessors dem Anschluß S4 des Mikroprozessors 07C10 zugeführt, der zu der am weitesten links liegenden Bitposition des internen Speichers RAM des Mikroprozessors 07C10 führt.
Ferner wird das am weitesten rechts liegende Bit des Q-Registers im Mikroprozessor 07C10 über den Anschluß S1 dem Anschluß S4 des Mikroprozessors 01C10 zugeführt, der mit der am weitesten links liegenden Bitposition des internen RAM-Speichers des Mikroprozessors 01C10 verbunden ist. Auf diese Weise wird ein 16-Bit-Schieberegister gebildet, das aus einem 8 Bit-Q-Register und einem 8 Bit-RAM-Speicher besteht und das sowohl für Links- als auch für Rechtsverschiebungen verwendet werden kann. Während einer Rechtsverschiebung SRQF wird ein Empfangs-Datenbit von dem Dialoggerät DCE am Anschluß S2 des Mikroprozessors 01C10 empfangen und in das am weitesten links liegende Bit des Q-Registers dieses Mikroprozessors verschoben.
Während einer Linksverschiebung SLQF wird das Ausgangssignal des NAND-Gatters 04D11 über einen logischen Tri-State-UND-Knoten 12D10 dem Anschluß S3 des Mikroprozessors 07C10 zugeführt, wobei dieser Anschluß mit der am weitesten rechts liegenden Bitposition des internen RAM-Speichers dieses Mikroprozessors verbunden ist. Es ist somit ersichtlich, daß während einer Rechtsverschiebung die Anschlüsse S1 und S3 des Mikroprozessors 01C10 mit den Anschlüssen S2 und S4 des Mikroprozessors 07C10 verbunden werden. Während einer Linksverschiebung werden die Anschlüsse S2 und S4 des Mikroprozessors 07C10 entsprechend mit den Anschlüssen S1 und S3 des Mikroprozessors 01C10 verbunden. Bei den Anschlüssen S4 und S1 der Mikroprozessoren 01C10 und 07C10 handelt es sich um bidirektionale Anschlüsse.
Es seien nun zunächst die Ausgangs-Steuerfunktionen des Prozessors MLCP für die Auslösung des Adapters BHLCA beschrieben. Die Systemauslösung beginnt, wenn ein Hauptlöschsignal von dem Prozessor MLCP am Anschluß 24 des Anschlußverbinders 01B01 empfangen wird. Das Signal wird danach über den Inverter 10A02 und die NOR-Gatter 09B02 und 10B02 geführt, um Register und Flip-Flops innerhalb des Adapters BHCLA zurückzustellen. Zusätzlich werden die Zähler 01A07, 04A07 und 07A07 auf den Wert "0" zurückgestellt. Die Zähler sind 10 Bit-Zähler und sie liefern Eingangssignale an den Sende-Steuerspeicher, der die Festwertspeicher PROM01C07, 04C07, 07C07, 10C07, 07D07 und 10D07 umfaßt. Die Sendefirmware wird dadurch initialisiert und schreitet zu den Zeilen 22300 und 22400 gemäß dem Anhang A fort.
Ein 238ns-Systemtaktsignal wird von dem Prozessor MLCP am Anschlußstift 18 des Anschlußverbinders 01B01 empfangen und den Eingängen der ODER-Gatter 04D03 zugeführt. Das Ausgangssignal des Gatters 04D03 wird über den Inverter 04C03 dem System zugeführt. Insbesondere wird der Systemtakt den Takteingängen der Zähler 01A07, 04A07 und 07A07 zugeführt. Aufgrund des Systemtaktes werden die Zähler normalerweise fortgeschaltet, um aufeinanderfolgende Speicherplätze in dem Sende-Programmsteuerspeicher zu adressieren.
Die Bitsignale TUCM16-18 am Ausgang des Festwertspeichers PROM10D07 legen fest, welcher der 8 Befehlstypen auszuführen ist. Die Bits werden dem Decodierer 09B08 zugeführt, um auf einer der 8 Ausgangsleitungen des Decodierers den Binärwert "0" zu setzen. Während eines Verzweigungsbefehles BR oder eines Verzweigungs-Subanweisungsbefehles BRSC schaltet der Bitausgang 3 des Decodierers 09B08 auf den Logikpegel "0" um, wobei dieses Signal den Ladeeingängen der Sende-Programmzähler in Figur 7 zugeführt wird. Die durch die Signale TUCM02 bis TUCM11 vorgegebene 10 Bit-Verzweigungsadresse wird daraufhin in die Sende-Programmzähler geladen. Aus Zeile 24500 des Sende-Mikroprogrammes im Anhang A ist erkennbar, daß der Mikroprozessor von dem hexadezimalen Speicherplatz 010 auf den hexadezimalen Speicherplatz 022 anstatt auf den hexadezimalen Speicherplatz 011 für den nächsten Befehl in der Folge verzweigt.
Es liegt auf der Hand, daß das Sendeprogramm in einer einzigen Programmschleife verharrt, wie dies durch die Zeilen 23100 bis 23400 angezeigt ist, bis der Prozessor MLCP zusätzlich zu dem Hauptlöschsignal eine Initialisierungsinformation liefert.
Das Hauptlöschsignal von dem Prozessor MLCP wird ferner den Rückstelleingängen der Zähler 01A09, 04A09 und 07A09 zugeführt, um diese Zähler zurückzustellen. Diese Empfangs-Programmzähler dienen der Adressierung des Empfangs-Programmsteuerspeichers, der die Festwertspeicher PROM01C09, 04C09, 07C09, 10C09, 04D09, 07D09 und 10D09 umfaßt. Die Programmzähler werden daraufhin so eingestellt, daß sie auf die Zeile 21900 des Empfangs-Mikroprogrammes in dem Anhang D verweisen. Die Bitsignale RUCM16-18 am Ausgang des Festwertspeichers PROM10D09 legen den auszuführenden Befehlstyp fest. Diese Bits werden dem Decodierer 06A11 zugeführt, um eine der 8 Ausgangsleitungen des Decodierers auf den Logikpegel "0" zu setzen. Während eines BR- oder BRSC-Befehles wird das Ausgangsbit 3 des Decodierers auf den Logikpegel
"0" gesetzt. Die Zähler 01A09, 04A09 und 07A09 werden daraufhin mit den Bits geladen, die durch die Signale RUCM02 bis RUCM11 vorgegeben sind und auf eine nächste Adresse in dem Empfangs-Programmsteuerspeicher verweisen. Eine andere Adresse als die nächste in der Folge wird hierdurch während eines Verzweigungsbefehls vorgegeben.
In Zeile 22400 des Empfangsprogrammes gemäß Anhang B ist beispielsweise ein Verzweigungsbefehl dargestellt. Aus den letzten drei Spalten ist ersichtlich, daß eine Verzweigung von dem hexadezimalen Speicherplatz 009 zu dem hexadezimalen Speicherplatz 012 anstatt zu dem nächstfolgenden hexadezimalen Speicherplatz 00A erfolgt. Nach dem Empfang des Hauptlöschsignales von dem Prozessor MLCP verbleibt der Empfänger in einer Programmschleife gemäß den Zeilen 21600 bis 21800, bis eine weitere Initialisierungsinformation empfangen wird. Der Prozessor MLCP stellt zunächst die Art des Adapters BHCLA fest, an den er angeschlossen ist. Da der Prozessor MLCP außer an den Adapter BHCLA an eine Vielzahl von Einheiten angeschlossen ist, muß er eine bestimmte Adresse an den Adapter BHCLA liefern. Beispielsweise werden die Signale ADDRS1 bis ADDRS3 durch den Prozessor MLCP an die Stifte 4-6 des Anschlußverbinders 01B01 angelegt. Das Signal ADDRS3 muß den Logikpegel "0" aufweisen, um entweder den Sende-Adressendecodierer oder den Empfangs-Adressendecodierer zu adressieren. Der Sende-Adressendecodierer ist durch den Decodierer 01A02 vorgegeben, während der Empfangs-Adressendecodierer durch den Decodierer 04A02 vorgegeben ist. Zusätzlich muß das Signal ADDRS2 den Logikpegel "1" und das Signal ADDRS1 den Logikpegel "0" aufweisen, um den Sende-Adressendecodierer zu adressieren. Wenn das Signal ADDRS2 den Logikpegel "1" und das Signal ADDRS1 den Logikpegel "0" aufweist, so wird jedoch der Empfangs-Adressendecodierer adressiert.
Der Prozessor MLCP liefert als nächstes die Steuersignale
CNTRL1 bis CNTRL3 an die Stifte 1 bis 3 des Anschlußverbinders 01B01, um die durch den Adapter BHCLA auszuführende Funktion vorzugeben. Grundsätzlich zeigen diese Steuersignale an, welche Register zu laden und zu entladen sind. Die Steuersignale werden den Decodierern 01A02 und 04A02 zugeführt. Während einer MLCP-Operation schaltet daher ein Ausgangssignal eines der beiden Decodierer auf den Logikpegel "0" um. Da mehrere Geräte an den Prozessor MLCP angeschlossen sind, muß dieser zunächst feststellen, welcher Gerätetyp unter dieser Adresse angeschlossen ist. Ein Logikpegel "1" auf jeder der Steuerleitungen veranlaßt das Ausgangsbit 7 des Decodierers zur Einnahme des Logikpegels "0". Dies kann sowohl beim Sende- als auch beim Empfangsdecodierer auftreten. Wenn der Logikpegel "0" am Ausgangsbit 7 eines der beiden Decodierer auftritt, so wird es dem ODER-Gatter 01D02 zugeführt, worauf der Ausgang des ODER-Gatters auf den Logikpegel "0" umschaltet. Der Ausgang des ODER-Gatters 02D02 schaltet daraufhin ebenfalls auf den Logikpegel "0" um. Das Ausgangssignal des Gatters 01D02 wird den Auswahleingängen der Multiplexer 01B04 und 04B04 zugeführt. Wenn der Auswahleingang den Logikpegel "0" besitzt, so werden die Eingänge 0 des Multiplexers ausgewählt. Die Eingänge 0 des Multiplexers 01B04 befinden auf dem Logikpegel "1". Der 4 Bit-Eingang des Multiplexers 04B04 ist jedoch durch die Bitkombination 0110 gegeben. Für andere Geräte sind unterschiedliche Codes in die Multiplexer eingegeben, um das Gerät zu identifizieren.
Das Ausgangssignal des Gatters 02D02 wird den Ausgangs-Freigabeeingängen der Multiplexer 01B04 und 04B04 zugeführt. Wenn der Ausgangs-Freigabeeingang des Multiplexers den Logikpegel "0" aufweist, so werden die zuvor erwähnten Codes über die Multiplexer den Leitungsadapter-Datenleitungen LADAT0 bis LADAT7 zugeführt und über die festverdrahteten Tri-State-Knoten 01D04 bis 08D04 auf den Anschlußverbinder 01C01 geschaltet. Die Signale werden hierdurch dem Prozessor MLCP zugeführt, um das adressierte Gerät zu identifizieren. Sodann wird mit dem Initialisierungsprozeß fortgefahren.
Der Prozessor MLCP lädt als nächstes das DCE-Steuerwortregister, das die 4 Bit-Register 08A04 und 11A04 umfaßt. Die Adressen- und Steuerleitungen der Sendeadreß- und Empfangsadreßdecodierer werden daraufhin in der zuvor beschriebenen Weise gesetzt. In Abhängigkeit davon, welcher der Decodierer freigegeben ist, wird das Ausgangsbit 5 des Decodierers auf den Logikpegel "0" umgeschaltet. Aufgrund dessen schaltet das Ausgangssignal des NOR-Gatters 03D02 auf den Logikpegel "1" um, der dem UND-Gatter 03C02 zugeführt wird. Der Prozessor MLCP liefert ferner ein Tastsignal über den Anschlußstift 25 des Anschlußverbinders 01B01 und den Inverter 08A02 an einen zweiten Eingang des UND-Gatters 03C02. Das Ausgangssignal des UND-Gatters schaltet daraufhin auf den Logikpegel "0" um, der dem Takteingang der Register 08A04 und 11A04 zugeführt wird. Der Prozessor MLCP liefert DCE-Steuerdaten (Fig. 15f) über die Anschlußstifte 17, 18 und 20-25 des Anschlußverbinders 01C01 an die Dateneingänge der Register 08A04 und 11A04. Beim Takten der Register werden die Daten in diese Register geladen.
Wie beispielsweise durch die Zeile 23100 des Anhanges A veranschaulicht, taktet das Mikroprogramm periodisch durch einen Befehl UDSCR das Register 08B04, um den Inhalt des Registers 08A04 zu laden. Es sei darauf verwiesen, daß der Befehl UDSCR das Ausgangsbit 4 des Decodierers 09B08 zur Umschaltung auf den Logikpegel "0" veranlaßt. Dieser Logikpegel wird einem Eingang des UND-Gatters 07B04 zugeführt. Das Ausgangssignal dieses Gatters spricht auf das Systemtaktsignal an und wird dem Takteingang des Registers 08B04 zugeführt. Das Ausgangssignal des Registers 08B04 liefert Steuersignale an das interne Dialoggerät DCE. Dabei werden die Signale den Treibern 01C05, 02C05, 06C05 und 08C05 zugeführt und die Ausgangssignale der Treiber werden über die Logikelemente gemäß Figur 5 und über den Anschlußverbinder 02D01 an das interne Dialoggerät DCE angelegt.
Zur Vervollständigung der Initialisierungsoperation wird Statusinformation (Figur 15g) von dem internen Dialoggerät DCE über den Adapter BHCLA in den Prozessor MLCP gelesen. Unter Steuerung durch den Prozessor MLCP kann das Ausgangsbit 2 entweder des Sende-Adressendecodierers 01A02 oder des Empfangs-Adressendecodierers 04A02 auf den Logikpegel "0" umgeschaltet werden. Dieses Signal wird dem ODER-Gatter 03D02 zugeführt, dessen Ausgang auf den Logikpegel "0" umschaltet und das Ausgangsignal des Gatters 02D02 auf den Logikpegel "0" setzt. Während dieser Zeitperiode befinden sich die Auswahleingänge der Multiplexer 01B04 und 04B04 auf dem Logikpegel "1", um die Eingänge 1 der Multiplexer auszuwählen. Die DCE-Statusinformation wird von dem internen Dialoggerät DCE dem Anschlußverbinder 02D01 zugeführt und an die Bausteine 03A05 bis 08A05 angelegt.
Die DCE-Statusinformation umfaßt die Signale DCEREZ, DCEDSR, DCECTS und DCECDZ, die über den Anschlußverbinder 02D01 an den EIARS-232-C-Empfänger 01A05, einen Hochziehwiderstand 02A05, und Schnittstellenempfängern A06A05-A08A05 vom Typ Bell 301 und 303 zugeführt werden. Das Ausgangssignal des Empfängers 01A05 wird über den Inverter 01B05 einem Eingang des Multiplexers 02B04 zugeführt. Die Ausgangssignale der Empfänger 06A05 bis 08A05 werden den restlichen 3 Eingängen für den Pegel "1" des Multiplexers 01B04 zugeführt. Wenn der Ausgangs-Freigabeeingang des Multiplexers 01B04 auf den Logikpegel "0" umschaltet, so werden die Eingangssignale mit dem Pegel "1" des Multiplexers an die Leitungsadapter-Datenleitungen 0-3 angelegt, die in der zuvor beschriebenen Weise auf den Prozessor MLCP zurückgeführt sind. Der Prozessor MLCP prüft daraufhin die DCE-Statusinformation, um den Operationsstatus des internen Dialoggerätes DCE festzustellen. In Abhängigkeit von dem gerade vorliegenden Status des internen Dialoggerätes DCE löst der Prozessor MLCP
Sende- und Empfangsoperationen aus.
Eine Sendeoperation wird ausgelöst, wenn das Ausgangssignal des UND-Gatters 12A06 auf den Logikpegel "1" umschaltet. Wenn dies geschieht, sind die Eingangsregister aller FIFO-Speicherschaltkreise 01B06, 03B06, 05B06 und 07B06 leer. Das Ausgangssignal des UND-Gatters 12A06 wird einem Eingang des UND-Gatters 11C06 zugeführt, woraufhin das Ausgangssignal des Gatters auf den Logikpegel "1" umschaltet. Es sei darauf verwiesen, daß das erste Bit des DCE-Steuerregisters 08A04, welches das Bit RTS des DCE-Steuerwortes (Fig. 15f) speichert, den Logikpegel "1" aufweisen muß und daß das Sendebereitschaftssignal (Fig. 15g) von dem Dialoggerät DCE (am Anschlußstift 25 des Anschlußverbinders 02D01), das dem ersten Bit des DCE-Statusmultiplexers 01B04 zugeführt wird, ebenfalls den Logikpegel "1" aufweisen muß. Dieses Signal wird über das Gatter 11C06 zugeführt. Das JK-Flip-Flop 11D06 wird hierdurch gesetzt und veranlaßt die Umschaltung des UND-Gatters 12D06 an seinem Ausgang auf den Logikpegel "0". Das Ausgangssignal des UND-Gatters 12D06 wird dem Anschlußstift 11 des Anschlußverbinders 01B01 zugeführt, wodurch dem Prozessor MLCP der Beginn einer Sendeoperation angezeigt wird.
Aufgrund dessen gibt der Prozessor MLCP in der zuvor beschriebenen Weise die Adressen- und Steuersignale an den Sendeadreßdecodierer 01A02 aus. Daraufhin schaltet das Ausgangsbit 2 des Decodierers auf den Logikpegel "0" um. Selbstverständlich bleibt während dieser Periode das Ausgangsbit 2 des Empfängeradressendecodierers 04A02 auf dem Logikpegel "1", so wie dies ebenfalls bezüglich der Ausgangssignale der Adressendecodierer 01A02 und 04A02 der Fall ist.
Das Ausgangssignal des Gatters 11C06 wird ebenfalls einem Eingang des Gatters 03A04 zugeführt. Wie zuvor erwähnt, befindet sich das Ausgangsbit 2 des Decodierers 04A02 auf dem Logikpegel "1". Dieses Signal wird dem zweiten Eingang des Gatters zugeführt. Das Ausgangssignal des Gatters 03A04 schaltet auf den Logikpegel "0" um, der über den Inverter 05A04 dem "1"-Pegeleingang des Multiplexers 04B04 zugeführt wird. Da eine Geräteidentifikation durch den Prozessor MLCP während dieser Zeitperiode nicht gelesen wird, befindet sich der Auswahleingang des Multiplexers 04B04 auf dem Logikpegel "1", wodurch die "1"-Pegeleingänge des Multiplexers ausgewählt werden. Die erste Ausgangsstufe des Multiplexers 04B04 befindet sich somit auf dem Logikpegel "1", der über den festverdrahteten Tri-State-UND-Knoten 05B04 an den Anschlußstift 5 des Anschlußverbinders 01C01 angelegt wird. Dem Prozessor MLCP wird dadurch angezeigt, daß die Eingangsregister der FIFO-Speicher in Fig. 6 bereit sind, Sende-Steuer- und Dateninformationen zu empfangen. Der Prozessor MLCP lädt daraufhin das erweiterte Sende-Steuerwort (Fig. 15a) in das Register (Fig. 6). Insbesondere legt der Prozessor MLCP diese Steuerdateninformation über die Anschlußstifte 22-25 des Anschlußverbinders 01C01 in Figur 1 an die Eingänge des Registers 06A06 an. Zusätzlich liefert der Prozessor MLCP Adressen- und Steuerleitungsinformation an den Decodierer 01A02, der das Ausgangsbit 1 auf den Logikpegel "0" umschaltet und hierdurch die Eingänge des Registers 06A06 freigibt. Der Prozessor MLCP legt ferner ein Tastsignal über den Anschlußstift 25 des Anschlußverbinders 01B01 an den Takteingang des Registers 06A06 an, um das Register mit den Steuerdaten zu laden. Es sei vermerkt, daß die Information in dem Register 06A06 bei der Sendeoperation in der weiter unten noch zu beschreibenden Weise benutzt wird.
Der Prozessor MLCP legt als nächstes Adressen- und Steuerinformation an den Decodierer 01A02 an, um das Ausgangsbit 0 des Decodierers auf den Logikpegel "0" umzuschalten, der über einen Tastimpuls von dem Prozessor MLCP über das UND-Gatter 06B02 gegeben wird. Zum Zeitpunkt des Tastimpulses legt der Prozessor MLCP eine zusätzliche Sendesteuerinformation an Datenleitungen an, die zu den Eingängen des Registers 01A06 führen. Das "0"-Ausgangssignal des Gatters 06B02 wird dem Takteingang des Registers 01A06 zugeführt, um das Register mit einem Sende-Steuerwort (Fig. 16b) zu laden. Die Ausgangssignale des Registers 01A06 werden den Eingängen der FIFO-Speicher 01B06 und 03B06 zugeführt. Die FIFO-Speicher 01B06, 03B06, 05B06 und 07B06 bilden einen FIFO-Sendepuffer mit einer Breite von 16 Bit und einer Tiefe von 64 Bit. Die FIFO-Speicher 01B06 und 03B06 enthalten Sendesteuerinformation, während die FIFO-Speicher 05B06 und 07B06 Sendedaten enthalten. Für jedes vom Prozessor MLCP gelieferte Datenzeichen wird somit ebenfalls ein Steuerzeichen geliefert.
In dem Fall wo das Ausgangsbit 3 des Registers 01A06 den Logikpegel "1" aufweist, wird dieses Ausgangssignal über den Inverter 04A06 dem Gatter 11C06 zugeführt und setzt dessen Ausgangssignal auf den Logikpegel "0". Weitere Unterbrechungsanforderungen an den Prozessor MLCP werden dadurch gesperrt.
Bis hierin kann das Laden des Registers 01A06 als Laden des Sende-Steuerwortregisters bezeichnet werden. Die Operation, unter welcher der Prozessor MLCP das Register 06A06 lädt, sei als Laden des erweiterten Steuerwortregisters bezeichnet. Die Operation, betreffend das Lesen der DCE-Statusinformation (Fig. 15g), sei von nun an als Status-Leseoperation bezeichnet.
Insbesondere tritt die Status-Leseoperation auf, wenn der Prozessor MLCP an den Auswahleingängen der Multiplexer 01B04 und 04B04 den Logikpegel "1" vorgibt und den Ausgang-Freigabeeingang der Multiplexer auf den Logikpegel "0" setzt. Zu diesem Zeitpunkt werden die vier den "1"-Pegeleingängen des Multiplexers 01B04 zugeführten DCE-Statusbitsignale über den Multiplexer dem Prozessor MLCP mittels der Tri-State-Knoten 01D04 bis 04D04 zugeführt. Gleichzeitig werden die "1"-Pegeleingänge des Multiplexers 04B04 über die Tri-State-Knoten 05D04 bis 08D04 dem
Prozessor MLCP zugeführt. Das Ausgangssignal des Inverters 05A04 wird sowohl bei Sende- als auch bei Empfangsoperationen benutzt und soll weiter unten beschrieben werden. Die nächsten zwei "1"-Pegeleingänge des Multiplexers 04B04 befinden sich immer auf dem Logikpegel "0". Der letzte "1"-Pegeleingang des Multiplexers 04B04 wird durch den Ausgang Q des JK-Flip-Flops 06A04 vorgegeben und wird während Sendeoperationen in der noch weiter unten zu beschreibenden Weise benutzt.
Das Laden eines ersten Datenzeichens von dem Prozessor MLCP sei nunmehr beschrieben. Der Prozessor MLCP liefert Daten an die CP-Datenleitungen, die zu den Eingängen der FIFO-Speicher 05B06 und 07B06 führen. Gleichzeitig liefert der Prozessor MLCP Adressen- und Steuersignale an den Decodierer 01A02, um das Ausgangsbit 6 des Decodierers auf den Logikpegel "0" umzuschalten, welcher Pegel über ein NAND-Gatter 01B02 dem Inverter 01C02 zugeführt wird, um dessen Ausgang auf den Logikpegel "0" umzuschalten.
Das Ausgangssignal des Gatters 01B02 wird ferner den Ladeeingängen der Sende-FIFO-Puffer in Figur 6 zugeführt, wodurch Sendedaten in die FIFO-Speicher 05B06 und 07B06 geladen werden. Ferner wird die zuvor durch den Prozessor MLCP in das Register 01A06 geladene Steuerinformation in die FIFO-Speicher 01B06 und 03B06 geladen. Auf diese Weise wird ein Sende-Steuerwort jedesmal in den FIFO-Sendepuffer geladen, wenn ein Sende-Datenwort in den Puffer geladen wird. Da das Sende-Steuerwort ebenfalls in dem Register 01A06 geladen ist, muß das Register nicht aufgefrischt werden, es sei denn, der Prozessor MLCP fordert ein unterschiedliches Steuerwort für ein unterschiedliches Datenwort an. Das heißt, es kann mehr als ein Datenwort im Zusammenhang mit dem gleichen Steuerwort benutzt werden. Typischerweise wird das Steuerwort nicht verändert bis ein letztes Zeichen einer gesendeten Datennachricht empfangen worden ist. In diesem Fall wird das Ausgangsbit
3 des Registers 01A06 auf den Logikpegel "1" gesetzt.
Das Ausgangssignal des Inverters 01C02 wird ferner dem Setzeingang des Flip-Flops 13A06 vom D-Typ zugeführt. Der gesetzte Zustand des Flip-Flops wird durch das Sende-Mikroprogramm abgefragt, um anzuzeigen, ob die Sende- und Steuerinformation gerade in dem FIFO-Sendepuffer gespeichert ist. Diese Abfrage erfolgt durch die TFMNE-Version des TAMN-Befehles gemäß der Zeile 62100 des Anhanges A. Das Flip-Flop 13A06 wird durch die RSDFMCB-Version des SC-Befehles zurückgestellt, was sich aus der Zeile 62200 des Sendeprogrammes ergibt. Es sei darauf verwiesen, daß bei einer vorliegenden Subanweisung SC diese tatsächlich mit einem Verzweigungsbefehl BR kombiniert sein kann, wie dies im Falle des Befehles BRSC gemäß der Zeile 62200 der Fall ist.
Der Prozessor MLCP fährt sodann fort, die Datenzeichen in den FIFO-Sendepuffer gemäß Figur 6 zu laden. Der Prozessor MLCP ist nur in der Lage, neue Daten in den FIFO-Pufferspeicher zu laden, wenn die Eingangsregister der FIFO-Pufferspeicher leer sind. Der Prozessor MLCP wiederholt somit die zuvor beschriebene Status-Leseoperation und lädt sodann ein Datenzeichen. Der Leerzustand der FIFO-Eingangsregister wird durch das Ausgangsbit 0 des Multiplexers 04B04, d.h. durch das TAR/RAR-Bit 4 in Figur 15g angezeigt. Wenn dieses Ausgangsbit den Logikpegel "1" aufweist, so sind die FIFO-Eingangsregister leer. Wenn dieses Ausgangsbit jedoch den Logikpegel "0" aufweist, so tritt der Prozessor MLCP in einen Wartezustand ein und wartet den Zeitpunkt ab, wo die Eingangsregister der FIFO-Speicher leer sind. Der Prozessor MLCP tritt in einen Wartezustand während einer Status-Leseoperation ein, wenn das Ausgangsbit 2 des Decodierers 01A02 den Logikpegel "0" aufweist. Dieser Pegel wird dem UND-Gatter 06B02 zugeführt. Zu diesem Zeitpunkt setzt der Prozessor MLCP die Steuerleitung am Anschlußstift 20 des Anschlußverbinders 01B01 auf den Logikpegel
"0", der einem zweiten Eingang des Gatters 04B02 zugeführt wird. Das Ausgangssignal des Gatters schaltet hierdurch auf den Logikpegel "0" um, welcher Pegel über das Gatter 12C06 das JK-Flip-Flop 11D06 zurückstellt. Das Ausgangssignal des UND-Gatters 12D06 wird hierdurch auf den Logikpegel "1" gesetzt, um Unterbrechungsanforderungen an den Prozessor MLCP zu sperren. Der Prozessor MLCP tritt somit in einen Wartezustand ein.
Während dieser Zeitperiode entfernt das Sende-Firmwareprogramm Sendeoperationsworte von dem FIFO-Sendepuffer, wodurch die Eingangsregister der Puffer freigemacht werden. In diesem Fall schaltet das den Leerzustand anzeigende Ausgangssignal des Eingangsregisters der FIFO-Pufferspeicher auf den Logikpegel "1" um, wodurch das Ausgangssignal des UND-Gatters 12A06 ebenfalls auf den Logikpegel "1" umschaltet. Dieser Logikpegel bringt über das Gatter 11C06 das Flip-Flop 11D06 in einen gesetzten Zustand. Das Ausgangssignal des Gatters 12D06 schaltet hierdurch auf den Logikpegel "0" um, um den Prozessor MLCP zu unterbrechen. Dem Prozessor MLCP wird hierdurch mitgeteilt, daß ein nächstes Datenzeichen in den FIFO-Sendepuffer geladen werden kann.
Der zuvor beschriebene Prozeß setzt sich fort, bis der Prozessor MLCP bereit ist, das letzte Datenzeichen einer Sende-Datennachricht weiterzuleiten. Zu diesem Zeitpunkt löst der Prozessor MLCP eine Ladesteuerwort-Registeroperation aus, während welcher das Register 01A06 mit einem das Ende einer Bandsprosse anzeigenden Sendesteuerwort (Fig. 15c) geladen wird, wodurch das Ausgangsbit 3 des Registers auf dem Logikpegel "1" umschaltet. Der Prozessor MLCP löst sodann eine FIFO-Sendepuffer-Ladeoperation aus, in der das dem Register 01A06 gespeicherte das Ende einer Bandsprosse anzeigende Steuerwort in die FIFO-Speicher 01B06 und 03B06 geladen wird und in der das letzte Datenzeichen der Sende-Datennachricht in die FIFO-Speicher
05B06 und 07B06 geladen wird. Der Logikpegel "1" am Bitausgang 3 des Registers 01A06 wird durch die Sendefirmware abgefragt, um anzuzeigen, daß ein letztes Datenzeichen in den FIFO-Sendepuffer geladen ist. Zusätzlich wird das Ausgangsbit 3 des Registers 01A06 in der zuvor beschriebenen Weise über das Gatter 11C06 an das Flip-Flop 11D06 angelegt, um weitere Unterbrechungsanforderungen an den Prozessor MLCP zu sperren.
Der FIFO-Sendepuffer in Figur 6 trennt die Operation des Prozessors MLCP von derjenigen der Sendesteuerlogik. Die Operation der Sendesteuerlogik sei nunmehr beschrieben. Vor Beendigung der Beschreibung der Sendesteuerlogik sei eine Beschreibung des Lesens eines endgültigen Status durch den Prozessor MLCP gegeben, wodurch festgestellt wird, ob eine Nachrichtenbandsprosse erfolgreich an das interne Dialoggerät DCE geliefert wurde.
Wie zuvor beschrieben, befindet sich die Sendefirmware in dem Sende-Programmsteuerspeicher der sechs Festwertspeicher PROM01C07, 04C07, 07C07, 10C07, 07D07 und 10D07. Die Festwertspeicher PROM werden durch den Sendeprogrammzähler adressiert, der die Zähler 01A07, 04A07 und 07A07 umfaßt. Bei normalem Ablauf wird der Inhalt des Sendeprogrammzählers fortlaufend durch den Systemtakt erhöht. Während des Verzweigungsbefehles kann jedoch der Sendeprogrammzähler mit einer Information geladen werden, die auf eine Adresse verweist, welche sich von der nächstfolgenden Adresse innerhalb des Programmes unterscheidet.
Die Mikrobefehls-Steuerlogik umfaßt das Flip-Flop 09A08 vom D-Typ, den Multiplexer 10A08, den Decodierer 09B08 und den Decodierer 09C08. Bezüglich des Befehlsdecodierers 09B08 entsprechen die Bitausgänge 0-7 der Oktalzahl, die durch die drei Bits in dem Feld WT des Sende-Firmwareprogrammes vorgeben sind.
Betrachtet man beispielsweise die Speicherplätze 19000 bis 20800 des Sendeprogrammes und hierbei insbesondere die Zeilen 20200 und 20300 so ist erkennbar, daß die 3 Bits des Feldes WT eine Oktalzahl 5 vorgeben. Wenn somit ein RCRCR-Befehl bearbeitet wird, so schaltet der Bitausgang 5 des Decodierers auf den Logikpegel "0" um, während die restlichen Ausgänge des Decodierers 09B08 auf dem Logikpegel "1" verbleiben. Der Decodierer 09B08 wird durch das Flip-Flop 09A08 freigegeben, das sich normalerweise im gesetzten Zustand befindet. Der Ausgang Q des Flip-Flops befindet sich somit auf dem Logikpegel "0". Das Flip-Flop 09A08 kann in Folge der Bearbeitung eines TAMN-Befehles zurückgestellt werden. In diesem Fall schaltet der Ausgang Q des Flip-Flops auf den Logikpegel "1" um, wodurch der Decodierer 09B08 gesperrt wird. Wenn somit der auf den Befehl TAMN folgende Befehl bearbeitet wird, so verbleiben die Ausgangssignale des Decodierers 09B08 alle auf dem Logikpegel "1". Wenn ein TAMN-Befehl bearbeitet wird, so schaltet das Ausgangsbit des Decodierers 09B08 auf den Logikpegel "0", welcher Pegel dem Freigabeeingang des Multiplexers 10A08 zugeführt wird. Während der Bearbeitung aller Befehle mit Ausnahme des Befehles TAMN befindet sich der Bitausgang 1 des Decodierers 09B08 auf dem Logikpegel "1". Der Ausgang D1 des Multiplexers (Anschlußstift 06) befindet sich somit auf dem Logikpegel "1", wodurch das Flip-Flop 09A08 im gesetzten Zustand verbleibt. Der Ausgang Q[mit Überstrich] des Flip-Flops befindet sich somit auf dem Logikpegel "0" und der nächste auftretende Firmwarebefehl wird in normaler Weise bearbeitet.
Wenn ein TAMN-Befehl bearbeitet wird, so befindet sich jedoch der Freigabeeingang des Multiplexers 10A08 auf dem Logikpegel "0". Der durch die Auswahleingänge des Multiplexers 10A08 ausgewählte Multiplexereingang kann die Umschaltung des Multiplexerausganges D1 auf den Logikpegel "0" hervorrufen. Bei Vervollständigung der Ausführung des Befehles TAMN veranlaßt der
Logikpegel "0" die Rückstellung des Flip-Flops 09A08. Der Ausgang Q[mit Überstrich] des Flip-Flops schaltet daraufhin auf den Logikpegel "1" um, um den nächsten Befehl in dem Sende-Firmwareprogramm nicht zur Kenntnis zu nehmen.
Der Decodierer 09C08 ist ein Subanweisungsdecodierer, der Subanweisungen erzeugt. Wenn ein Subanweisungsbefehl zu bearbeiten ist, so schaltet das Ausgangsbit 2 (Anschlußstift 13) des Decodierers 09B08 auf den Logikpegel "0" um. In gleicher Weise schaltet bei der Bearbeitung eines Verzweigungsbefehles das Ausgangsbit 3 des Decodierers auf den Logikpegel "0" um. Die Bitausgänge 2 und 3 des Decodierers werden dem Gatter 11C08 zugeführt, dessen Ausgang auf einen Freigabeeingang des Decodierers 09C08 geführt ist. Wenn somit ein Subanweisungs- oder Verzweigungsbefehl bearbeitet wird, so schaltet der Ausgang des Gatters 11C08 auf den Logikpegel "0" um. Wenn sich der Bitausgang 3 des PROM01C07 ebenfalls auf dem Logikpegel "0" befindet, so schaltet eines der 8 Ausgangssignale des Decodierers 09C08 in Abhängigkeit von den 3 Eingangssignalen auf den Logikpegel "0" um. Die drei Eingangssignale des Decodierers 09C08 sind durch die 3 Bits des SC-Feldes des Sende-Firmwareprogrammes in den Zeilen 15900 bis 17000 vorgegeben. Wenn somit beispielsweise die STCRI-Version des SC- oder des BRSC-Befehles bearbeitet wird, so wird ein Oktalcode mit dem Wert 3 den Eingängen des Decodierers 09C08 zugeführt und das Ausgangsbit 8 des Decodierers schaltet auf den Logikpegel "0" um.
Gemäß Figur 16a besteht der Sende-Mikroprozessor grundsätzlich aus drei Teilen, nämlich aus einem Speicher mit wahlfreiem Zugriff RAM für 16 Worte mit 4 Bit, einem Q-Register und einer Arithmetik- und Logikeinheit ALU. Der Speicher RAM wird für die temporäre Speicherung von Sendedaten, der Sende-Steuerinformation und des Sendestatus verwendet. Das Q-Register wird für die temporäre Speicherung verschiedener Steuerinformationen benutzt. Die arithmetischen und logischen Operationen werden durch die Recheneinheit ALU ausgeführt. Eine Links/Rechts-Verschiebeeinrichtung, die die Register 120 und 122 umfaßt, ist ebenfalls vorgesehen, so daß die Ergebnisse der Recheneinheit ALU entweder nach links oder nach rechts verschoben werden können, bevor sie in dem Speicher RAM oder in dem Q-Register zurückgespeichert werden.
Wie zuvor erläutert, ist der Mikroprozessor in der Lage, eine Anzahl verschiedener Befehlstypen zu bearbeiten, die durch die Daten festgelegt sind, die von den Festwertspeichern PROM an die neun Befehls-Eingangsleitungen des Mikroprozessors angelegt werden. Acht Adreßleitungen von dem Sende-Steuerprogrammspeicher werden auf die A-RAM-Adreßleitungen und die B-RAM-Adreßleitungen des Mikroprozessors geschaltet, um die A- und B-Anschlußadressen des Speichers RAM festzulegen. Daten werden von irgendeiner der folgenden 6 Quellen in den Mikroprozessor geliefert: Steuerspeicher 07D07, Register 06A06 und vier FIFO-Speicher 01B06, 03B06, 05B06 und 07B06, die über die zwei Multiplexer 02C06 und 06C06 ausgewählt werden. Das Verfahren zum Einlesen von Daten in jede dieser Quellen wird weiter unten beschrieben. Es sei darauf verwiesen, daß die Daten dem Mikroprozessor über die vier festverdrahteten UND-Schaltkreise 01A08 bis 07A08 zugeführt werden.
Der Mikroprozessor 01B08 besitzt zusätzlich zu den Verschiebeausgängen, die zuvor beschrieben wurden, zwei weitere Ausgänge. Der erste dieser Ausgänge ist durch das Daten-Ausgangsbit 1 vorgegeben, das an das Flip-Flop 02C08 angeschlossen ist. Der zweite Ausgang ist der einen Wert 0 der sendenden Recheneinheit ALU anzeigende Ausgang, der dem sechsten Eingang des Multiplexers 10A08 und dem Inverter 13A08 zugeführt wird. Der Ausgang des Inverters 13A08 ist auf den siebten Eingang des Multiplexers 10A08 geführt. Diese Beschaltung des Multiplexers 10A08, der für den Befehl TAMN verantwortlich ist, bildet ein Mittel, um durch das Mikroprogramm die Ergebnisse irgendeiner Operation innerhalb des Mikroprozessors 01B08 zu testen. Ein Beispiel für die Version ALUEZ des Befehles TAMN ist in Zeile 35900 des Anhanges A gegeben. Bei diesem Befehl wird der Inhalt des RAM-Speicherplatzes E mit der durch das Programm gelieferten hexadezimalen Konstanten 1 einer logischen UND-Verknüpfung unterzogen. Wenn das Ergebnis dieser Operation zu dem Wert "0" führt, so wird der Verzweigungsbefehl in Zeile 36000 bearbeitet. Wenn das Ergebnis der Operation nicht den Wert "0" ergibt, so wird der Verzweigungsbefehl in Zeile 36000 unterdrückt und der nächste Befehl MMP in Zeile 36100 ausgeführt. Ein Beispiel für die Version ALUEZ des Befehles TAMN ist in Zeile 36500 gezeigt. Bei diesem Befehl wird der Inhalt des RAM-Speicherplatzes vier von den Daten auf den Daten-Eingangsleitungen des Mikroprozessors 01B08 subtrahiert, wobei diese Daten in diesem Fall einen hexadezimalen Konstantenwert C vorgeben. Wenn das Ergebnis dieser Operation einen von 0 abweichenden Wert ergibt, so wird der Befehl in Zeile 36600 in normaler Weise bearbeitet. Wenn das Ergebnis der Operation dem Wert 0 entspricht, so wird jedoch der Befehl in Zeile 36600 unterdrückt und der nächste Befehl in Zeile 36800 ausgeführt.
Das Sende-Mikroprogramm ist für das Senden von Daten auf einer Bit für Bit-Basis zu dem internen Dialoggerät DCE verantwortlich. Der erste Datentyp ist durch die Hinweis- oder Abbruchfolge gegeben, die zwischen den Bandsprossen übertragen wird und die auch als Zwischenbandsprosse-Füllzeitfolgen bekannt sind. Eine Hinweisfolge wird durch ein "0"-Bit gefolgt von sechs "1"-Bits, auf die ein "0"-Bit folgt, d.h. durch den Hexadezimalwert 7E definiert. Eine Abbruchfolge ist durch den Hexadezimalwert FF definiert. Diese Hinweis- und Abbruchfolgen werden durch ein Sende-Mikroprogramm erzeugt, das durch den Prozessor MLCP mittels Steuerinformation festgelegt wird, welche in das erweiterte Steuerwortregister 06A06 geladen wird.
Der zweite Datentyp ist durch den Bandsprossenbeginn-Hinweis vorgegeben, der automatisch durch das Sende-Mikroprogramm vor dem Senden des ersten Datenzeichens einer jeden Bandsprosse erzeugt wird. Der dritte Datentyp ist durch die Datenzeichen der Bandsprosse vorgegeben, die alle durch den Mikroprozessor MLCP über die FIFO-Speicher 05B06 und 07B06 geliefert werden. Der vierte Datentyp ist durch die FCS-Daten vorgegeben, die durch das Sendeprogramm unter Verwendung des CRC-Registers 03C08 erzeugt werden. Diese Fehlerprüffolge wird unter Verwendung eines jeden Datenbits der durch den Prozessor MLCP gelieferten Bandsprosse errechnet und am Ende der Bandsprosse übertragen, nachdem das letzte durch den Prozessor MLCP gelieferte Zeichen übertragen worden ist. Der fünfte Datentyp ist durch den Bandsprossenende-Hinweis vorgegeben, der automatisch durch das Sendeprogramm erzeugt wird und nach der Übertragung der FCS-Daten gesendet wird. Der sechste gesendete Datentyp ist durch die Abbruchfolge vorgegeben, die automatisch durch das Sendeprogramm immer dann erzeugt und gesendet wird, wenn ein Unterlaufzustand aufgetreten ist.
Ein neues Datenbit wird dem internen Dialoggerät DCE an jeder Sende-Bitgrenze gesendet, d.h. bei jeder positiv verlaufenden Flanke des Sendetaktes von dem internen Dialoggerät DCE, wobei dies in der nachfolgenden Weise geschieht. Der Sendetakt wird von dem internen Dialoggerät DCE an dem Anschlußstift 02 des Anschlußverbinders 02D01 abgenommen. Dieses Signal wird dem Eingangsempfänger 03A05 zugeführt. Der Ausgang dieses Empfängers ist mit dem Eingang des Empfängers 03D05 verbunden. Das Ausgangssignal des Empfängers 03B05 wird dem Eingang des Multiplexers 11C04 zugeführt. Insbesondere wird dieses Ausgangssignal dem Eingang 0 des ersten Schaltkreises dieses Multiplexers zugeführt. Das Ausgangssignal am Anschlußstift 04 des ersten Schaltkreises dieses Multiplexers wird dem Flip-Flop 01D08 und
02D08 zugeführt. Berücksichtigt man, daß das nächste Sende-Datenbit hierdurch in der unten beschriebenen Weise von dem Flip-Flop 02C08 verschoben wird und daß der Ausgang Q (Stiftanschluß 09) dieses Flip-Flops auf den Dateneingang des Flip-Flops 02D08 geführt ist, so ist erkennbar, daß das nächste Sende-Datenbit hierdurch von dem Flip-Flop 02C08 zu dem Flip-Flop 02D08 mit der positiven Flanke des Sende-Taktsignales verschoben wird. Der Ausgang Q des Flip-Flops 02D08 ist auf den Eingang des Treibers 04C05 geführt. Das Ausgangssignal dieses Treibers ist an eine Zenerdiode 04D05 angeschlossen und das Ausgangssignal der Zenerdiode ist mit dem Anschlußstift 6 des Anschlußverbinders 02D01 verbunden. Auf diese Weise werden die Sendedaten dem internen Dialoggerät DCE zugeführt.
Wie zuvor erwähnt, wird das Sende-Taktsignal ebenfalls dem Takteingang des Flip-Flops 01D08 zugeführt. Da über einen Hochziehwiderstand ein Logikpegel "1" an den Dateneingang dieses Flip-Flops angelegt wird, nimmt der Ausgang Q (Anschlußstift 09) dieses Flip-Flops bei jeder positiven Umschaltung des Sendetaktes den Logikpegel "1" ein. Dieser Setzzustand des Flip-Flops 01D08 wird benutzt, um dem Sendeprogramm anzuzeigen, daß das vorangegangene Sende-Datenbit aus dem Flip-Flop 02C08 heraus in das Flip-Flop 02D08 verschoben worden ist und daß es für das Sendeprogramm an der Zeit ist, das nächste Sende-Datenbit in das Flip-Flop 02C08 zu laden. Das Sendeprogramm überwacht das Flip-Flop 01D08 mittels der Version TRDY des Befehles TAMN, wie dies beispielsweise in der Zeile 29900 des Sendeprogrammes im Anhang A gezeigt ist. Hier führt der Zustand des Flip-Flops 01D08 zur Unterdrückung des Verzweigungsbefehles in der Zeile 30000 und statt dessen zur Ausführung des Befehles in der Zeile 30300. Bei der Feststellung des Setzzustandes des Bereitschafts-Flip-Flops 01D08 stellt das Sende-Mikroprogramm dieses Flip-Flop mittels der Version RSTRDY des SC- oder BRSC-Befehles zurück, wie dies beispielsweise in Zeile 30300 gezeigt ist. Nach der Rückstellung des Sendebereitschaft-Flip-Flop auf diese Weise liefert das Sendeprogramm das nächste Bit der Sendedaten zu dem Flip-Flop 02C08 in der unten erläuterten Weise.
Zu jedem Bitübertragungszeitpunkt muß ein neues Sende-Datenbit in das Flip-Flop 02C08 geladen werden. Dies geschieht durch die Version WRTBB des SC-Befehles, wie er beispielsweise in Zeile 35600 des Sendeprogrammes gezeigt ist. Wenn dieser Befehl bearbeitet ist, wird das nächste Sende-Datenbit, das in der am weitesten rechts liegenden Bitposition des RAM-Speicherplatzes E gespeichert ist, an das Datenausgangsbit 1 des Mikroprozessors 01B08 angelegt. Dieses Bit wird seinerseits dem Dateneingang des Daten-Flip-Flops 02C08 zugeführt. Dieser spezielle SC-Befehl veranlaßt die Umschaltung des ersten Ausganges des Decodierers 09C08 auf den Logikpegel "0" und sodann zurück auf den Logikpegel "1". Dieses Signal wird dem Takteingang des Sende-Bitpuffer-Flip-Flops 02C08 zugeführt und veranlaßt die Speicherung des nächsten Sende-Datenbits in diesem Flip-Flop bei der Bearbeitung dieses Befehls. Diese Operation, bei der ein neues Sende-Datenbit in das Flip-Flop 02C08 geladen wird, sei nachfolgend als das Laden des Sende-Bitpuffers bezeichnet.
Während des Wartens auf die Lieferung von Sendedaten für die Bandsprosse durch den Prozessor MLCP erzeugt und sendet das Sende-Mikroprogramm Füllzeichen entweder für Hinweis- oder Abbruchfolgen. Dies geschieht bitweise durch Laden des geeigneten Datenbits in das Flip-Flop 02C08 bei jeder Bitgrenze in der zuvor erläuterten Weise. Ob Hinweis- oder Abbruchfolgen gesendet werden, wird durch den Prozessor MLCP festgestellt, wie dies weiter unten erläutert ist.
Die Größe eines jeden Bytes wird durch einen 4 Byte-Zähler gesteuert, der in einem der 60 RAM-Speicherplätze des Sende-Mikroprozessors 01B08 enthalten ist. Dieser Zähler wird anfänglich auf einen Zählstand von 8 durch einen MMP-Befehl geladen, der die Bits des Konstantefeldes des Steuerspeichers 07D07 über die festverdrahteten UND-Schaltkreise 01A08 bis 07A08 an die Dateneingänge des Mikroprozessors anlegt. Siehe beispielsweise Zeile 52800 in dem Sende-Mikroprogramm des Anhanges A. Zu jedem Bit-Sendezeitpunkt wird dieser Zähler um 1 erniedrigt (Zeile 50900) und durch die Version ALUEZ des Befehles TAMN getestet, ob ein Wert von Null erreicht worden ist, wodurch das Auftreten einer Bytegrenze angezeigt wird (Zeile 51000). Das Auftreten des Nullzustandes sei nachstehend als Sende-Bytegrenze bezeichnet.
Bei jeder Bytegrenze muß das Mikroprogramm das nächste Hinweis- oder Abbruch-Füllzeichen erzeugen und speichern, das bei den nächstfolgenden 8 Bit-Zeitpunkten in das Sende-Bitpuffer-Flip-Flop 02C08 verschoben wird. Ob ein Hinweis oder ein Abbruch zu erzeugen ist, wird durch das Bit 3 des erweiterten 4 Bit-Sende-Steuerwortes festgelegt, das in dem Register 06A06 gespeichert ist. Der Inhalt dieses Registers wird in den Sende-Mikroprozessor 01B08 durch die Version TXCW des Befehles RER gelesen (Zeile 65600). Wenn ein RER-Befehl bearbeitet wird, so schalten die 7 Ausgänge des Decodierers 09B08 auf den Logikpegel "0" um, der einem Eingang des Gatters 05D08 zugeführt wird. Während der Bearbeitung der Version TXCW des Befehles RER befindet sich das Ausgangssignal des Festwertspeichers PROM01C07, das dem Gatter 05D08 zugeführt wird, ebenfalls auf dem Logikpegel "0". Der Ausgang des Gatters 05D08 ist mit den Freigabeeingängen F des Registers 06A06 verbunden. Hierdurch wird der Ausgang des Registers 06A06 freigegeben. Diese Ausgangssignale werden über die 4 festverdrahteten UND-Knoten 01A08 bis 07A08 dem Dateneingangsanschluß des Mikroprozessors 01B08 zugeführt. Auf diese Weise wird das zuvor durch den Prozessor MLCP gelieferte Steuerwort in den Sende-Mikroprozessor für die weitere Verwendung geladen.
Es sei vermerkt, daß während der Bearbeitung des Befehles RER der Ausgang des Inverters 13C08, der mit einem Ausgang-Freigabeanschluß 08 des Festwertspeichers PROM 07D07 verbunden ist, den Logikpegel "1" aufweist, wodurch die Ausgänge dieses Festwertspeichers PROM gesperrt werden. Mit anderen Worten werden von diesem Festwertspeicher PROM Dateneingangssignale an den Sende-Mikroprozessor zu allen Zeitpunkten angelegt, mit Ausnahme während der Bearbeitung des RER-Befehles.
Nachdem das erweiterte Steuerwort in der zuvor beschriebenen Weise in den Mikroprozessor gelesen worden ist, wird das TIFM-Bit (Bit 3 in Fig. 15a) geprüft, um festzustellen, ob eine Hinweis- oder eine Abbruchfolge zu erzeugen ist. Das Bit wird durch den TAMN-Befehl (Zeile 65700) getestet. Eine Hinweis- oder eine Abbruchfolge wird sodann gemäß den Zeilen 65900 bis 66600 erzeugt und in einen Speicherplatz des Speichers RAM im Mikroprozessor gespeichert. Die so erzeugte Hinweis- oder Abbruchfolge wird Bit für Bit bei den nachfolgenden Bitgrenzen (Zeile 50800) ausgesendet. Nachdem jedes Bit ausgegeben ist, wird das Register des Speichers RAM um eine Bitposition nach rechts verschoben, wie dies den Zeilen 51600 bis 51800 des Sendeprogrammes entnehmbar ist.
Dieses Verfahren der Erzeugung der Hinweis- oder Abbruchfolgen und der Übertragung derselben wird solange wiederholt, bis der Prozessor MLCP Sendedaten für die Bandsprosse liefert, wie dies nachstehend beschrieben wird. Es sei darauf verwiesen, daß dieses allgemeine Verfahren bezüglich des Herausschiebens von Datenzeichen und der Bytegrößensteuerung dieser Zeichen für alle Daten das gleiche ist. Der einzige bedeutende Unterschied, der im Falle bestimmter Datentypen auftreten kann, liegt darin, daß in einigen Fällen die Zeichengröße geringer als 8 Bit sein kann. In diesem Fall wird der Bytegrößenzähler innerhalb des Speichers RAM anstelle von 8 bei jeder Bytegrenze auf den geeigneten Wert eingestellt.
Bei jeder Bytegrenze prüft das Sendeprogramm, ob die vorangegangene Unterbrechung vervollständigt worden ist. Dies geschieht durch die Version TCRI des Befehles TAMN gemäß Zeile 60900 im Anhang A. Dieser Befehl bildet ein Mittel zum Testen des Sende-Unterbrechungs-Flip-Flops 11D06. Wenn die vorangegangene Unterbrechung tatsächlich vervollständigt worden ist, so wird der auf dem Befehl TAMN folgende Befehl bearbeitet (Zeile 61000). Wenn die vorangegangene Unterbrechung nicht vervollständigt worden ist, so wird der folgende Befehl nicht beachtet und statt dessen der nächstfolgende Befehl ausgeführt (Zeile 61100). Es sei darauf verwiesen, daß der Prozessor MLCP ein Bit mit dem Wert "1" in die Bitposition 3 (Anschlußstift 09) des Registers 01A06 geladen hat, das nach Invertierung durch das Gatter 04A06 mit dem Logikpegel "0" am Eingang des Gatters 11C06 ansteht und somit den Ausgang dieses Gatters auf dem Logikpegel "0" hält und das Setzen des Unterbrechungs-Flip-Flops 11D06 verhindert. Wenn an einer Bytegrenze das Sendeprogramm herausfindet, daß die vorangegangene Unterbrechung vervollständigt worden ist, so bearbeitet das Sendeprogramm die Version RSTFMCB des Befehles SC (Zeile 61900). Die Ausführung dieses Befehles veranlaßt die Umschaltung des Ausgangsbits 5 des Decodierers 09B08 auf den Logikpegel "0". Dieses Signal wird dem Rückstelleingang des zuvor erwähnten Registers 01A06 zugeführt, wodurch das gesamte Register auf den Logikzustand "0" zurückgestellt wird. Dies führt dazu, daß der Bitausgang 3 den Logikpegel "0" einnimmt und nach Invertierung durch den Inverter 04A06 den Logikpegel "1" am Eingang des Gatters 11C06 besitzt. Der Ausgang des Gatters 11C06 schaltet nunmehr auf den Logikpegel "1" um, wodurch das Flip-Flop FD06 gesetzt wird und eine Unterbrechung an den Prozessor MLCP in der zuvor erläuterten Weise erzeugt wird. Da der Prozessor MLCP auf diese Unterbrechung antwortet, in dem er erneut das Bit 3 des Registers 01A06 setzt, wodurch Unterbrechungen nach dieser ersten Unterbrechung blockiert werden, ist erkennbar, daß zu jedem Bytezeitpunkt eine Unterbrechung an den Prozessor MLCP erzeugt wird. Wenn der Prozessor MLCP bereit ist, Daten für die Bandsprosse zu liefern, so antwortet er auf diese Zwischenbandsprosse-Unterbrechung durch Laden von Daten in die FIFO-Sendepuffer 05B06 und 07B06 in der zuvor erläuterten Weise anstelle des Ladens der Bitposition 3 des Registers 01A06 mit dem Logikpegel "1".
Bei jeder Bytegrenze zwischen den Bandsprossen testet das Sendeprogramm den FIFO-Sendepufferspeicher, um zu sehen, ob Steuerinformation für Daten einer Bandsprosse geliefert worden ist. Wenn Daten an den Ausgängen der FIFO-Pufferspeicher verfügbar sind, so befinden sich dies anzeigende Ausgänge eines jeden der vier Pufferspeicher 01B06 bis 07B06 auf dem Logikpegel "1" und dieser Pegel wird dem Gatter 11A06 zugeführt. Das Ausgangssignal dieses Gatters besitzt den Logikpegel "1", wenn die Ausgangsregister der FIFO-Pufferspeicher Daten aufweisen. Dies wird durch Sendeprogramm durch die Version TFMOR des Befehles TAMN getestet (Zeile 53900 im Anhang A). Wenn das Ausgangsregister keine Daten aufweist, so wird eine zusätzliche Hinweis- oder Abbruchfolge erzeugt und in der zuvor erläuterten Weise übertragen.
Wenn der FIFO-Sendepufferspeicher in Figur 6 verfügbare Daten aufweist, so liest das Mikroprogramm die Steuerinformation und Sendedaten in den internen Speicher RAM des Sende-Mikroprozessors. Da die Datenstrecke der Sende-Steuerlogik nur eine Breite von 4 Bit aufweist, erfordert das Laden der Sendedaten und der Steuerinformation mit 16 Bit 4 getrennte Befehle. Es werden 4 Versionen des Befehles RER benutzt, nämlich die Versionen TCWL, TCWR, TDL und TDR (Zeilen 58400 bis 58700 des Sendeprogrammes). Wenn das Steuerwort gelesen wird, d.h. wenn entweder ein TCWL- oder ein TCWWR-Befehl bearbeitet wird, so ist der Ausgang des Gatters 06D08 mit dem Ausgangs-Freigabeeingang des Multiplexers 02C06 verbunden und besitzt den Logikpegel "0", wodurch Daten entweder von dem FIFO-Pufferspeicher 01B06 oder 03B06 über die 4 festverdrahteten UND-Knoten 01A08, 03A08, 05A08 und 07A08 in den Sende-Mikroprozessor 01B08 geladen werden können.
Ferner befindet sich während der Bearbeitung des TCWL-Befehles der Auswahleingang des Multiplexers 02C06 auf dem Logikpegel "0", wodurch die Biteingänge 0 ausgewählt werden, die mit der linken Hälfte des Steuerwortes, d.h. mit dem FIFO-Pufferspeicher 01B06 verbunden sind. Wenn eine Version TCWL des Befehles RER bearbeitet wird, so befindet sich der Auswahleingang des Multiplexers 02C06 auf dem Logikpegel "1", wodurch die Biteingänge 1 freigegeben werden, die an den FIFO-Pufferspeicher 03B06 angeschlossen sind. Wenn Daten von dem FIFO-Pufferspeicher gelesen werden, was bei der Bearbeitung der Versionen TDL oder TDR des Befehles RER geschieht, so befindet sich der Ausgang des Gatters 07D08, der an die Auswahleinrichtung 06C06 angeschlossen ist, auf dem Logikpegel "0", sodaß Daten zu dem Sende-Mikroprozessor übertragen werden, die sich entweder in dem FIFO-Pufferspeicher 05B06 oder 07B06 befinden. Wenn ferner der Befehl TDL bearbeitet wird, so befindet sich der Auswahleingang des Multiplexers 06C06 auf dem Logikpegel "0", wodurch die Biteingänge 0 zum Anschluß an den FIFO-Pufferspeicher 05B06 ausgewählt werden. Wenn der Befehl TDR bearbeitet wird, so befindet sich der Auswahleingang des Multiplexers 06C06 auf dem Logikpegel "1" und die Biteingänge 1 des FIFO-Pufferspeichers 07B06 werden freigegeben.
Nachdem die Daten- und Steuerinformation in den Mikroprozessor gelesen worden ist, muß ein Ausgangs-Tastimpuls an den FIFO-Sendepuffer ausgegeben werden, um die Ausgangsregister zurückzustellen und die Fortschaltung des nächsten Daten- und Steuerwortes in das Ausgangsregister zu ermöglichen. Dies geschieht durch die Version RSTFMOR des Befehles SC (Zeile 58800). Bei der Ausführung dieses Befehls schalten das Ausgangsbit 2 des
Decodierers 09B08 und das Ausgangsbit 6 des Decodierers 09C08 beide auf den Logikpegel "0" um, wodurch das Flip-Flop 09D08 gesetzt wird. Der Ausgang Q (Anschlußstift 05) dieses Flip-Flops, der auf die vier FIFO-Sendepuffer geführt ist, schaltet auf den Logikpegel "1" um und stellt die Ausgangsregister der vier FIFO-Pufferspeicher zurück. Dieses Flip-Flop wird zurückgestellt, sobald ein weiterer Befehl bearbeitet wird. Nach dieser Operation können neue Sendedaten und Steuerinformation in die Ausgangsregister der FIFO-Pufferspeicher verschoben werden.
Das Sendeprogramm verwendet den TAMN-Befehl, um das jedem Sende-Datenzeichen zugeordnete Steuerwort zu überprüfen. Das TEOF-Bit (Bit 3 in Fig. 15c) stellt das Bandsprossenende-Steuerbit dar und ist solange zurückgestellt, bis der Prozessor MLCP das letzte Zeichen der Bandsprosse geliefert hat. Andere Bits in dem Steuerwort werden benutzt, um das Format der Bandsprosse festzulegen. Die festgelegten Parameter geben an, ob die Bandsprosse (Fig. 15h) ein erweitertes Adreßfeld, ein erweitertes Steuerfeld, ein logisches Steuerfeld oder ein Test-Steuerbyte enthält. Zusätzlich geben drei Bits die Bytegröße des Testfeldes der Bandsprosse vor. Diese Bits werden benutzt, wenn die Bandsprosse kein Teststeuerbyte aufweist, da in diesem Fall die Bytegrößeninformation innerhalb der Bandsprosse selbst enthalten ist und durch das Sendeprogramm im geeigneten Zeitpunkt entnommen und sodann später benutzt wird, um im geeigneten Zeitpunkt die Größe eines jeden der Testfeldbytes zu steuern. Es sei betont, daß die Verfügbarkeit dieser Steuerfunktionen und die durch das Sende-Steuerprogramm ausgeführte Verarbeitung im bedeutendem Umfang die an den Prozessor MLCP gestellten Anforderungen vermindert. Auf diese Weise wird eine größere Durchgangsleistung des Systems verwirklicht. Es sei erneut vermerkt, daß nach Lieferung des anfänglichen Steuerwortes durch den Prozessor MLCP es nicht erforderlich ist, irgendeine weitere Steuerinformation so lange zu liefern, bis das letzte Zeichen der Bandsprosse aufgetreten ist.
Nachdem das Sende-Steuerprogramm das Vorliegen des ersten Zeichens einer Bandsprosse festgestellt hat, erzeugt und überträgt es eine Eröffnungshinweisfolge vor der Übertragung dieses ersten Zeichens. Es löst ferner die zyklische Redundanzprüfung CRC des SC-Befehles aus (Zeile 59400 im Anhang A). Die Bearbeitung dieses Befehles veranlaßt die Umschaltung des Ausgangsbits 7 des Decodierers 09C08, das an den Setzeingang des CRC-Generators 03C08 angeschlossen ist, auf den Logikpegel "0", wodurch der CRC-Generator in allen Bitpositionen auf den Wert "1" eingestellt wird.
Wenn die Bandsprosse gesendet wird, so wird jedes Bit zwischen dem Anfangs- und Endhinweis mittels des UDSCR-Befehles (Zeile 36600) an das CRC-Register angelegt. Wenn dieser Befehl aufgeführt wird, verbleibt das Ausgangsbit 5 des Decodierers 09B08 auf dem Logikpegel "1", aber das Ausgangsbit 6 schaltet auf den Logikpegel "0" um. Diese Signale werden über das Gatter 07B08 dem Gatter 07C08 und dem Freigabeeingang des CRC-Generators zugeführt. Der Systemtakt am Gatter 07C08 veranlaßt an dessen Ausgang den Auftritt des Logikpegels "1", der dem Takteingang des CRC-Generators zugeführt wird. Es sei darauf verwiesen, daß der Ausgang des Datenbit-Puffer-Flip-Flops 02C08 auf den Dateneingang des CRC-Generators geführt ist. Da der Freigabeeingang sich in der zuvor erwähnten Weise auf dem Logikpegel "1" befindet, wird durch den Takteingang ein neues Sende-Datenbit in den CRC-Generator geschoben.
Das Sendeprogramm überwacht die Datenfolge, wenn diese zu dem internen Dialoggerät DCE gesendet wird, und es erzeugt und fügt ein "0"-Datenbit zu jedem Zeitpunkt ein, wo eine Folge von fünf aufeinanderfolgenden "1"-Bits auftritt, wie dies durch das HDLC-Protokoll gefordert wird. Diesbezüglich sei auf die Zeilen 35900 bis 36100 und 36700 bis 37500 des Programmes im Anhang A verwiesen.
Nachdem das Sendeprogramm das Senden des Starthinweises der Bandsprosse beendet hat, sendet es das erste Datenzeichen, das von dem FIFO-Sendepuffer in der zuvor beschriebenen Weise erhalten wird. Nachdem das erste Datenzeichen übertragen worden ist, prüft das Programm erneut das FIFO-Ausgangsregister durch die Version TFMOR des Befehles TAMN, um festzustellen, ob ein weiteres Zeichen verfügbar ist. Vorausgesetzt, dies ist der Fall, liest das Programm sodann das Steuerwort und das Datenzeichen in den Speicher RAM des Sende-Mikroprozessors. Unter der Voraussetzung, daß das Bit 3 des Steuerwortes, d.h. das Bandsprossenende-Hinweisbit TEOF nicht gesetzt ist, sendet das Sendeprogramm ein zweites Zeichen in der gleichen zuvor beschriebenen Weise aus. Dieses Verfahren wird sodann für jedes Zeichen der Bandsprosse wiederholt.
Wenn während des Sendens einer Bandsprosse in der zuvor beschriebenen Weise der Ausgang des FIFO-Pufferspeichers sich als nicht bereit herausstellt, so wird ein vorliegender Unterlaufzustand angenommen. In diesem Fall führt das Programm die Version SCUNDRN des Befehls SC aus, wodurch das Sende-Unterlauf-Flip-Flop 06A04 in den gesetzten Zustand gelangt (Zeile 12600 des Programmes). Wenn später der Prozessor MLCP den endgültigen Status am Ende der Bandsprosse liest, so wird ihm der Unterlaufzustand mittels des Signales TUNDRN angezeigt, das dem vierten Bit des Multiplexers 04B04 durch das Flip-Flop 06A04 zugeführt wird. Währenddessen erzeugt das Sende-Steuerprogramm eine einzige Abbruchfolge und überträgt diese Bit für Bit zu dem internen Dialoggerät DCE. Eine auf diese Weise abgebrochene Bandsprosse zeigt dem externen Terminalgerät DTE den Fehlerzustand in dem sendenden Terminalgerät DTE an. Nachdem die einzelne Abbruchfolge übertragen ist, fährt das Sendeprogramm fort, Hinweisfolgen zu erzeugen und zu senden, während auf den Auftritt des Endes einer Bandsprosse gewartet wird und alle vorangegangenen
Unterbrechungen an den Prozessor MLCP vervollständigt werden. Dieses Merkmal des Adapters BHCLA betreffend das Senden von nur einer Abbruchfolge gefolgt durch Hinweisfolgen, stellt ein wesentliches Merkmal dar, da durch dieses in geeigneter Weise die Nachricht unterbrochen wird, die Sendeleitung aber nicht in den aktiven Zustand versetzt wird. Es sei vermerkt, daß dies gänzlich durch die Sendelogik des Adapters BHCLA ausgeführt wird, ohne daß eine irgendeine Mitwirkung des bereits überlasteten Prozessors MLCP erforderlich ist.
Jedes Zeichen der Bandsprosse wird dem FIFO-Pufferspeicher durch das Sendeprogramm entnommen und seriell Bit für Bit zu dem internen Dialoggerät DCE in der zuvor beschriebenen Weise geschoben. Jedes Zeichen wird in der erforderlichen Weise überwacht, wobei dies in erster Linie zum Zwecke der Bytegrößensteuerung des Textfeldes der Nachricht geschieht. Wenn beispielsweise die Bandsprosse ein Test-Steuerbyte TCB (Fig. 15h) enthält, so überwacht das Programm die Bandsprosse zunächst über die Adreßfeldbytes und sodann über die Steuerfeldbytes. Sodann wird beim Empfang des Teststeuerbytes die Bytegrößeninformation diesem Byte entnommen und innerhalb eines Speicherplatzes des Speichers RAM des Mikroprozessors gespeichert. Das Programm überwacht sodann das logische Steuerfeld LCF und schaltet sodann beim Empfang des ersten Textsteuerbytes die Bytegröße von 8 Bit entsprechend dem Adressen-, Steuer- und Teststeuerbyte und dem logischen Steuerfeldteil der Bandsprosse auf die Bytegröße, die durch das Teststeuerbyte festgelegt ist. Dieses Verfahren wird solange wiederholt, bis das Hinweisbit für das Ende der Bandsprosse in dem Steuerwort sich in dem zurückgestellten Zustand befindet.
Der Prozessor MLCP kann weitere Formatänderungen durch die Verwendung des Sendesteuerwortes (Fig. 15d) festlegen. Das Bit TCFX (Bit 0) des Steuerwortes zeigt im gesetzten "1"-Zustand das Vorliegen eines erweiterten Steuerfeldes in der Bandsprosse an. Das Bit TAFX (Bit 1) zeigt im gesetzten Zustand das Vorliegen eines erweiterten Adreßfeldes an. Das Bit TTCB (Bit 2) zeigt im gesetzten Zustand das Vorliegen eines Textsteuerbytes TCB (Fig. 15h) in der Bandsprosse an und das Bit TLCF (Bit 7) zeigt im gesetzten Zustand das Vorliegen des logischen Steuerfeldes LCF an. Die Bits TBS (Bits 4, 5 und 6) legen die Bytegröße des Textfeldteiles der Bandsprosse fest. Das Bit TEOF (Bit 3) ist normalerweise zurückgestellt und wird gesetzt, um das letzte Zeichen der Bandsprosse anzuzeigen. Diese Steuerbits in dem Steuerwort werden über die FIFO-Pufferspeicher 10B06 und 03B06 in das Steuerwortregister 10A08 übertragen und von dem Sendeprogramm gelesen und bearbeitet.
Der Prozessor MLCP kann einen "Bitfolgemodus" durch Eingabe des Codes 011 in die Bitpositionen des Steuerwortes TBS festlegen. Diese Betriebsweise dient der Übertragung von Daten aus beispielsweise einem Computerspeicher in einen anderen Computerspeicher, wobei die Daten keinen speziellen Zeichenaufbau, wie beispielsweise während eines Programmes oder eines Speicherausdruckes aufweisen. In diesem Fall ist es erwünscht, die Datenbytes mit 8 Bit in der Weise zu übertragen, daß das hochrangigste Bit zuerst übertragen wird. Wenn der Bitfolgemodus festgelegt ist, wobei dies entweder direkt durch den Prozessor MLCP über das Sendesteuerwort oder indirekt durch den Inhalt des Textsteuerbytes in der Datenfolge selbst festgelegt sein kann, so ordnet das Sendesteuerprogramm jedes Zeichen vor der Übertragung zu dem internen Dialoggerät DCE. Dies geschieht durch die Befehle in den Zeilen 88600-91600 der Mikroprogrammliste im Anhang A.
Ein weiteres bedeutendes Merkmal bezüglich der von dem Prozessor MCLP gelieferten Steuerworte liegt in der Verwendung des Bits TBFM in dem erweiterten Steuerwort (Fig. 15a). Normalerweise sendet das Programm einen Starthinweis und beginnt mit der Übertragung der Bandsprosse, sobald die in den Eingang des FIFO-Pufferspeichers geladenen Daten den Ausgang dieses Pufferspeichers erreichen und durch das Sendesteuerprogramm abgefragt werden. Dies ist nicht immer erwünscht, da der Prozessor MLCP fortfahren muß, Zeichen mit einer hohen Geschwindigkeit zu liefern, um mit der hohen Übertragungsgeschwindigkeit Schritt zu halten oder andernfalls der Gefahr des Auftritts eines Unterlauffehlers zu unterliegen.
Gemäß der Erfindung, wo der Prozessor MLCP das Bit TBFM in dem erweiterten Steuerwort im Register 06A06 setzt, erfaßt jedoch das Sendeprogramm diesen Zustand und sendet Hinweisfolgen, ohne daß tatsächliche Daten von dem FIFO-Pufferspeicher entfernt und gesendet werden. Diese Betriebsweise setzt sich solange fort, wie das Bit TBFM gesetzt ist. Der Prozessor MLCP kann sodann bis zu 64 Zeichen mit einer Geschwindigkeit in den FIFO-Pufferspeicher laden, die der vorherrschenden Situation angepaßt ist. Dies bedeutet, daß der Prozessor MLCP wenn er andere Operationen auszuführen hat und nicht einzig dem Adapter BHCLA zugeordnet ist, den FIFO-Sendepuffer mit geringer Priorität laden kann, ohne daß er sich um einen Unterlaufzustand bekümmern muß. Wenn andererseits der Prozessor MLCP die hohe Datenübertragungsgeschwindigkeit verarbeiten kann, so stellt er das Bit TBFM zurück, um dem Programm die Übertragung der Bandsprosse sofort zu gestatten.
Wenn das Bit TEOF in dem Steuerwort im gesetzten Zustand festgestellt wird (Fig. 15c), so liegt das letzte Datenzeichen der Nachricht vor. Der erste Schritt beim Beenden einer Bandsprosse liegt in der Übertragung des letzten Datenzeichens. Die Übertragung dieses Zeichen entspricht der Übertragung aller vorangegangenen Zeichen mit der Ausnahme, daß dieses Byte ein Teilbyte sein kann, was durch das Steuerbit TPLB angezeigt wird und mit der Ausnahme, daß dieses Byte irgendeine Größe zwischen ein und acht Bit aufweisen kann, was durch die TLBS-Bits 4, 5 und 6 des Bandsprossenende-Steuerwortes vorgegeben wird.
Der nächste Schritt am Ende einer Bandsprosse ist die Übertragung der CRC-Folge von 16 Bit, die für die Bandsprosse berechnet wurde und sich nun in dem CRC-Generator 03C08 befindet. Die ersten 8 Bit der CRC-Folge werden bitweise in dem Mikroprozessor gelesen, komplementiert und in dem internen Speicher RAM des Mikroprozessor gespeichert und sodann bitweise in der gleichen Weise wie die anderen Sende-Datenzeichen zu dem internen Dialoggerät DCE geschoben. Dieser Prozeß wiederholt sich für die restlichen 8 Bit des CRC-Registers. Das Einlesen des Inhalts des CRC-Registers in den Sende-Mikroprozessor geschieht durch den Befehl RCRCR gemäß den Zeilen 114200 bis 115000 des Sendeprogrammes im Anhang A.
Dieser Befehl ähnelt dem zuvor beschriebenen Befehl UCRCR mit der Ausnahme, daß in diesem Fall das Ausgangsbit 5 des Decodierers 09B08 das dem Freigabeeingang des CRC-Generators 03C08 zugeführt wird, auf den Logikpegel "0" geschaltet ist, wodurch die errechnete CRC-Folge herausgeschoben werden kann und keine neue Berechnung ausgeführt wird. Nachdem die gesamte komplementierte CRC-Folge, die in dem HDLC-Protokoll als FCS-Folge bezeichnet ist, übertragen worden ist, wird eine Endhinweisfolge erzeugt, gespeichert und Bit für Bit durch das Sendesteuerprogramm herausgeschoben. Sodann wird eine endgültige Unterbrechung an den Prozessor MLCP in der unten beschriebenen Weise erzeugt.
Der vorstehende Absatz beschreibt die Normaloperation beim Bandsprossenende. Die Sendesteuerlogik bildet jedoch eine Anzahl von Variationen und Zusätzen zu diesem Normalverfahren. Diese
Variationen werden durch den Prozessor MLCP ausgewählt und der Sendesteuerlogik mittels des Sendesteuerwortes mitgeteilt, das dem letzten Sendedatenzeichen zugeordnet ist (Fig. 15c). Dies bedeutet, daß das Programm, nachdem es das letzte Datenzeichen und das zugeordnete Steuerwort von dem FIFO-Sendepufferspeicher gelesen hat, diese Bits überprüft, um zu sehen, ob eine spezielle Operation gefordert ist. Zunächst legt das Steuerbit TNFCS fest, ob die errechnete TRC-Folge gesendet werden soll oder nicht. Dies bedeutet, daß in dem Fall, wo der Anwender seine eigene Prüffolge zu erzeugen wünscht, diese der Sendesteuerlogik als Teil der Sendedatenfolge zugeführt werden kann. Zweitens kann der Anwender wünschen, die Bandsprosse mit einer Abbruchfolge anstatt mit einer Hinweisfolge zu beenden, um das Bandsprossen-Abbruchverfahren vorzugeben. Dies geschieht, wenn das Bit TA auf den Wert "1" gesetzt ist. Drittens ist ein Verfahren in der Weise vorgesehen, daß die Empfangslogik eine Resynchronisationsanweisung bezüglich des Senders ausgeben kann, sobald der Sender die Übertragung der Bandsprosse vervollständigt hat. Dies geschieht, wenn das Steuerbit TRR auf den Wert "1" gesetzt ist. Dies gestattet dem Anwender eine Resynchronisierung des Empfängers, sobald der Sender die Übertragung der Bandsprosse vervollständigt hat, wobei das Rücksenden einer Nachricht an den Empfänger von dem externen sendenden Terminalgerät TDE nicht abgewartet werden muß. Diese Empfänger-Resynchronisierung geschieht durch die Version SCRRSYN des Befehles SC, wie er beispielsweise in Zeile 188900 des Anhanges A dargestellt ist.
Am Ende der Bandsprosse erzeugt das Sendeprogramm eine Unterbrechung an den Prozessor MLCP. Dies geschieht durch die Version STCRI des Befehles SC (Zeile 132700). Durch die Ausführung dieses Befehles wird der Bitausgang 3 des Decodierers 09C08, der dem Setzeingang des Flip-Flops 11D06 zugeführt wird, auf den Logikpegel "0" umgeschaltet, worauf dieses Flip-Flop in den gesetzten Zustand gelangt und somit eine Sendeunterbrechung in der zuvor beschriebenen Weise erzeugt. Es sei darauf verwiesen, daß das Flip-Flop 11D06 gesetzt und die Unterbrechung erzeugt wird, auch wenn sich nicht alle Eingänge des Gatters 11C06 auf dem Logikpegel "1" befinden. Insbesondere wird die Unterbrechung weiterhin erzeugt, auch wenn das Sendebereitschaftssignal von dem internen Dialoggerät DCE ausgeschaltet worden ist. Aufgrund dieser Unterbrechung liest der Prozessor MLCP den DCE-Status in der zuvor beschriebenen Weise.
Zu diesem Zeitpunkt prüft der Prozessor MLCP das Ausgangsbit 4 (Anschlußstift 12) des Multiplexers 04B04, das über den festverdrahteten UND-Knoten 08D04 an den Anschlußstift 9 des Anschlußverbinders 01C01 angelegt wird und zu diesem Zeitpunkt den Zustand des Unterlauf-Flip-Flops 06A04 wiedergibt, wobei durch diese Prüfung festgestellt wird, ob die Bandsprosse in richtiger Weise übertragen wurde oder ob ein Unterlauf-Fehlerzustand aufgetreten ist. Nun führt der Prozessor MLCP eine Sende-Warteoperation aus, wodurch der sowohl mit dem Unterbrechungs-FF 11D06 und mit dem Unterlauf-Flip-Flop 06A04 verbundene Ausgang des Gatters 12C06 auf den Logikpegel "0" umschaltet und diese Flip-Flops zurückstellt. Hierdurch wird sodann der Unterbrechungszustand von dem Prozessor MLCP entfernt.
Das Sendesteuerprogramm befindet sich nun erneut in dem Zwischenbandsprossenzustand. Wie zuvor erläutert, werden in diesem Zustand Hinweis- oder Abbruchfolgen übertragen, während darauf gewartet wird, daß der Prozessor MLCP das erste Datenzeichen einer neuen Bandsprosse liefert. Eine Unterbrechung wird normalerweise an den Prozessor MLCP bei jeder Bytegrenze erzeugt. Wenn der Prozessor MLCP die Sendeoperationen beenden will, anstatt weitere Bandsprossen zu senden, so können diese in jedem Byteintervall erzeugten Unterbrechungen als Zeittakt verwendet werden. Insbesondere kann beispielsweise der Prozessor MLCP auf drei solche
Unterbrechungen warten, bevor die Sendeanforderung-Steuerleitung zu dem internen Dialoggerät DCE zurückgestellt wird. Hierdurch wird sichergestellt, daß die gerade übertragene Nachricht vollständig durch den Empfänger in dem externen Terminalgerät DTE empfangen wurde.
Die Empfangsoperation beginnt, wenn der Prozessor MLCP ein Empfangssteuerwort (Fig. 15d) in die Register 01A10 und 05A10 lädt. Dieses Registerpaar ist nachstehend als Empfangs-Steuerwortregister bezeichnet. Beim Laden dieser Register legt der Prozessor MLCP zunächst die anwendbare Steuerinformation an die acht Leitungen CPDAT an. Der Prozessor MLCP verbindet sodann die sechs Adreß- und Steuerleitungen mit dem Empfangsadressendecodierer 04A02, um den Bitausgang 1 dieses Decodierers, der auf den Freigabeeingang des Empfangssteuerwortregisters geführt ist, zur Umschaltung auf den Logikpegel "0" zu veranlassen. Der Prozessor MLCP gibt als nächstes ein Tastsignal aus, das den Takteingängen des Empfangs-Steuerwortregisters zugeführt wird und dadurch die auf den Eingangs-Datenleitungen anstehende Steuerinformation in das Steuerwortregister lädt.
Der Prozessor löst nunmehr die Empfangssteuerlogik aus, indem er eine Operation ausführt, die als Empfangsresynchronisierung bezeichnet ist. Der Prozessor MLCP verbindet die sechs Adreß- und Steuerleitungen mit dem Empfangsadreßdecodierer 04A02, um den mit dem Gatter 07B02 verbundenen Bitausgang 4 des Decodierers zur Umschaltung auf den Logikpegel "0" zu veranlassen. Der Ausgang dieses Gatters wird einem Eingang des Gatters 07C02 zugeführt. Der Prozessor MLCP gibt sodann ein Tastsignal aus, das dem zweiten Eingang des Gatters 07C02 zugeführt wird, woraufhin am Ausgang dieses Gatters ein positiv verlaufender Impuls auftritt. Dieses Signal wird seinerseits dem Flip-Flop 07D02 zugeführt und setzt dieses. Das Ausgangssignal des Flip-Flops wird durch die Empfangssteuerlogik in der unten beschriebenen Weise abgefragt. Diese Resynchronisierungoperation kann zu einem beliebigen Zeitpunkt ausgeführt werden und sie kann ebenfalls in gleicher Weise durch den Mikroprozessor MLCP über den Sendeadressendecodierer 01A02 ausgeführt werden.
Hierdurch wird der anfängliche Aufbau des Empfängerteiles des Adapters BHCLA durch den Mikroprozessor MLCP vervollständigt. Die Empfängersteuerlogik und das Empfangssteuerprogramm im Anhang B sei nunmehr erläutert, um zu zeigen, wie sie Empfangsdaten und Empfangsstatusinformation für den Prozessor MLCP liefern. Sodann soll beschrieben werden, wie Unterbrechungen an den Prozessor MLCP erzeugt werden und wie der Prozessor MLCP auf diese Unterbrechungen antwortet, in dem er das empfangene Datenzeichen und Statuswort liest. Es sei darauf verwiesen, daß bei der folgenden Erläuterung alle Programm- und Zeilenhinweise sich auf das Empfangsprogramm im Anhang B beziehen, sofern keine anderen Hinweise erfolgen. Ferner bezieht sich jeder Mikroprozessorhinweis auf das Empfangs-Mikroprozessorpaar 01C10 und 07C10, das weiter unten beschrieben wird. Schließlich betrifft jeder Hinweis hinsichtlich der FIFO-Pufferspeicher die Kombination der vier FIFO-Empfangspufferspeicher 01B12, 03B12, 06B12 und 08B12, die weiter unten beschrieben wird.
Zunächst sei eine Einführung in Empfangssteuerlogik gegeben. Diese Steuerlogik besteht grundsätzlich aus vier Teilen, nämlich dem Programmadreßzähler, dem Programmsteuerspeicher, der Befehlsbearbeitungslogik und dem Mikroprozessorpaar. Die Empfangs-Programmadreßzähler umfassen die Zählerregister 01A09, 04A09 und 07A09, deren Operation zuvor beschrieben wurde. Der Empfangssteuerspeicher umfaßt die Festwertspeicher PROM01C09, 04C09, 07C09, 10C09, 04D09, 07D09 und 10D09, die ebenfalls bereits zuvor erwähnt wurden. Die Befehlsbearbeitungslogik umfaßt den Basisbefehlsdecodierer 06A11, den Subanweisungsdecodierer 08C11, den TAMN-Mulitplexer 09A11 und das Flip-Flop 08A11. Jede dieser Komponenten ist zuvor beschrieben worden. Die Wirkungsweise dieser Elemente stimmt mit derjenigen der äquivalenten Elemente der Sendesteuerlogik überein, d.h. mit dem Basisbefehldecodierer 09B08, dem Subanweisungsdecodierer 09C08, dem TAMN-Multiplexer 10A08 und dem Flip-Flop 09A08.
Der 8 Bit-Empfangs-Mikroprozessor, der die beiden 4 Bit-Mikroprozessoren 01C10 und 07C10 umfaßt, ist ebenfalls bereits beschrieben worden. Ein 8 Bit-Datenbyte wird auf die 8 Dateneingangsleitungen des Mikroprozessorpaares über die festverdrahteten UND-Knoten 01B10 bis 08B10 von dem Empfangs-Steuerwortregistern 01A10 und 05A10 während AR-Befehlen und von den Festwertspeichern PROM04D09 und 07D09 während aller anderen Befehle gegeben. Die 8 Datenausgangsleitungen des Empfangs-Mikroprozessorpaares sind auf den FIFO-Empfangspufferspeicher 04A12 geschaltet, in welchem Empfangsdaten und Statusbytes temporär gespeichert werden, bevor sie in den geeigneten Teil der FIFO-Empfangsspeicher in Figur 12a geladen werden. Zusätzlich wird das hochrangige Bit des Mikroprozessors 01C10, d.h. das Datenbit 0 dem Dateneingangsanschluß des Empfangs-CRC-Generatorschaltkreis 04C11 zugeführt. Der Ergebnisausgang der Rechenwerksoperation beider 4 Bit-Mikroprozessoren ist im UND-Knoten 06D10 festverdrahtet und wird über diesen dem TAMN-Multiplexer 09A11 zugeführt. Dieses Signal wird ferner dem Inverter 13A11 zugeführt, dessen Ausgang einem weiteren Eingang des TAMN-Multiplexers zugeführt ist. Es sei vermerkt, daß das Signal ALUEZ beider Mikroprozessoren den Logikpegel "1" aufweisen muß, bevor das zusammengesetzte Signal diesen Logikpegel erreicht und anzeigt, daß das Gesamt-Ausgangssignal beider Mikroprozessoren den Wert "0" aufweist. Die Verschiebe-Ein/Ausgangs-Anschlußstifte sind in der zuvor beschriebenen Weise angeschlossen.
Das Empfangssteuerprogramm überwacht das Empfangs-Resynchronisierungs-Flip-Flop 07D02, das entweder durch den Prozessor MLCP direkt oder durch das Sendesteuerprogramm in der zuvor beschriebenen Weise gesetzt werden kann, um festzustellen, ob eine Resynchronisierungsanweisung empfangen worden ist. Ein Test dieses Flip-Flops wird durch die Version RCRSYN des Befehles TAMN gemäß Zeile 27800 im Anhang B verwirklicht. Wenn das Flip-Flop zurückgestellt ist, so wird die Verzweigung in der Zeile 27900 unterdrückt, und das Programm wird mit dem Befehl in Zeile 28200 fortgesetzt. Wenn es jedoch gesetzt ist, so wird die Verzweigung in Zeile 27900 ausgeführt und das Programm mit Zeile 30000 fortgesetzt. Hierdurch wird die erforderliche interne Initialisierung für die Synchronisierung ausgeführt und es wird ein Subanweisungsbefehl RSRCRSYN bearbeitet, um das Resynchronisierungs-Flip-Flop zurückzustellen (siehe Zeile 31700 im Anhang B). Das Verfahren der Eingabe eines jeden Empfangs-Datenbits sei hier beschrieben. Die Daten werden von dem internen Dialoggerät DCE über den Anschlußstift 14 des Anschlußverbinders 02D01 empfangen. Dieses Signal wird über den Empfängerschaltkreis 05A05 zu dem Empfängerschaltkreis 05B05, sodann zu dem Multiplexer 11D04 und schließlich zu dem Dateneingang des Flip-Flops 02C11 geleitet. Der Empfangstakt wird von dem internen Dialoggerät DCE über den Anschlußstift 10 des Anschlußverbinders 02D01 empfangen. Dieses Signal wird über den Empfängerschaltkreis 04A05 zu dem Empfängerschaltkreis 04B05 und sodann über den Multiplexer 11C04 und den Inverter 12D04 zu den Takteingängen der Flip-Flops 01C11 und 02C11 geleitet. Beide Flip-Flops werden somit durch die negativ verlaufende Flanke des Empfangstaktes am Anschlußstift 10 des Anschlußverbinders 02D01 getriggert. Bezüglich des Flip-Flops 02C11 wird das nächste Empfangs-Datenbit in dieses Flip-Flop geladen. Das Flip-Flop 01C11 wird gesetzt, um das Vorliegen eines neuen Empfangs-Datenbits im Flip-Flop 02C11 anzuzeigen. Das Programm fragt diesen Zustand durch die Version RRDY des Testbefehles gemäß Zeile 26700 an. Wenn das Bereitschafts-Flip-Flop 01C11 gesetzt ist, bevor eine Verzweigung zur Verarbeitung des neuen Bits erfolgt, so stellt das Programm dieses Flip-Flop mittels des Subanweisungsbefehls RSRRDY in Zeile 27100 zurück.
Wie zuvor ist erneut festzustellen, daß der Subanweisungsbefehl SC mit dem Verzweigungsbefehl BR kombiniert werden kann, um den Befehl BRSC gemäß Zeile 27100 zu bilden.
Nach der Feststellung, daß ein neues Empfangs-Datenbit zur Verarbeitung durch den Testbefehl RRDY verfügbar ist, verschiebt das Empfangssteuerprogramm als nächstes das Datenbit in den Mikroprozessor. Dies geschieht durch die Version SRQF des Befehles MMP (Zeile 37000). Wenn dieser Befehl bearbeitet wird, befindet sich das Eingangssignal des Inverters 03B11 auf dem Logikpegel "0" und das Ausgangssignal des Inverters, das dem UND-Gatter 03C11 zugeführt wird, weist den Logikpegel "1" auf. Das andere Eingangssignal des Gatters 03C11 befindet sich zu diesem Zeitpunkt ebenfalls auf dem Logikpegel "1", so daß das Ausgangssignal, das dem Gatter 02D11 zugeführt wird, den Logikpegel "1" besitzt. Der Ausgang des Flip-Flops 02C11, der an den anderen Eingang des Gatters 02D11 angeschlossen ist, wird nun über dieses Gatter dem Links-Schiebeeingang des Q-Registers des Mikroprozessors 01C10 zugeführt.
Es sei vermerkt, daß die Bits 7 und 8 des Befehls am Eingang des Mikroprozessorpaares eine Rechtsverschiebung zu diesem Zeitpunkt vorgeben, wobei das laufende Datenbit in das Q-Register des Mikroprozessorpaares verschoben wird. Speziell wird die Rechtsverschiebung ausgeführt, da das Ausgangsbit 3 des Festwertspeichers PROM10C09 am Anschlußstift 1 den Logikpegel "1" und das Ausgangsbit 2 am Anschlußstift 12 den Logikpegel "0" aufweist. Auf diese Weise wird jedes neue Empfangs-Datenbit in den Empfangs-Mikroprozessor verschoben. Diese Operation sei nachstehend als Eingangs-Empfangsoperation für das nächste Datenbit bezeichnet.
Bei Beginn der Empfangsoperation wird jedes Datenbit in der zuvor beschriebenen Weise in den Mikroprozessor geschoben. Jedes neue
Bit wird zusammen mit den vorangegangenen 7 Bits in einem Speicherplatz innerhalb des internen Speichers RAM des Mikroprozessors gespeichert. Diese 8 Bits werden zu jedem Zeitpunkt überprüft, um festzustellen, ob sie eine Hinweisfolge 01111110 (Zeile 39900 im Anhang B) vorgeben. Diese Feststellung einer Hinweisfolge zeigt an, daß eine Zeichensynchronisierung erzielt worden ist. Diese Hinweisfolge und irgendwelche zusätzlichen Hinweisfolgen werden durch das Empfangsprogramm gestrichen, während nach dem ersten Nicht-Hinweis- bzw. Nicht-Abbruch-Zeichen (11111111) gesucht wird. Das erste so gefundene Zeichen ist das erste Zeichen einer Bandsprosse.
Das Steuerprogramm liest das Empfangs-Steuerwortregister 01A10 und 05A10 zu verschiedenen Zeitpunkten, um das Formt der Bandsprosse festzustellen, wie es durch den Prozessor MLCP vorgegeben ist. Die Eingabe erfolgt durch den Befehl RER (Zeile 73900). Die Ausführung dieses Befehles veranlaßt die Umschaltung des Ausgangsbits 7 des Befehlsdecodierers 06A11 auf den Logikpegel "0". Dieses Signal wird einem Eingang des Inverters 09B11 zugeführt, dessen Ausgang den Festwertspeichern PROM04D09 und 07D09 zugeführt wird. Der sich ergebende Logikpegel "1" an den Freigabeeingängen dieser Festwertspeicher PROM setzt deren Ausgänge auf den hohen Impedanzzustand. Es sei vermerkt, daß während der Ausführung aller anderen Befehle die Ausgänge dieser Festwertspeicher PROM, die das Konstantenfeld des Befehles enthalten, freigegeben sind. Das sich auf dem Logikpegel "0" befindliche Ausgangsbit 7 des Decodierers 07A11 wird ferner den Freigabeeingängen der Empfangs-Steuerwortregister 01A10 und 05A10 zugeführt. Das Empfangssteuerwort wird somit über die festverdrahteten UND-Knoten 01B10 bis 08B10 an die Eingangs-Datenanschlüsse des Empfangs-Mikroprozessors angelegt. Es sei darauf verwiesen, daß die Steuerwortregister während aller anderer Befehle gesperrt sind.
Die durch den Befehl RER erhaltene Steuerinformation wird durch den Befehl TAMN geprüft, um das Format der Bandsprosse festzustellen
(Zeile 74000). Die durch den Prozessor MLCP zur Verarbeitung durch das Empfangssteuerprogramm gelieferte Steuerinformation legt das Format der Bandsprosse fest und umfaßt Information betreffend das Adreßfeld (Bit RAFX), das Steuerfeld (Bit RCFX), das logische Steuerfeld (Bit RLCF), das Textsteuerbyte (Bit RTCB) und die Bitgröße (Bit RBS) für den Testfeldteil der Bandsprosse (Figur 15d). Das Empfangsprogramm verarbeitet jede Bandsprosse entsprechend diesen Steuerbits in einer ähnlichen Weise, wie dies hinsichtlich der zuvor beschriebenen Sendeoperation der Fall war. Ferner gestattet ein zusätzliches Steuerbit RFCSIE die Eingabe der empfangenen Folge FCS gegenüber dem Normalfall, wo die zyklische Redundanzprüfung CRC gänzlich durch den Adapter BHLCA ausgeführt wird.
Der Adapter BHCLA führt die Fehlerprüfung für jede Nachricht mittels einer CRC-Prüfeinrichtung durch. Diese Logik umfaßt die CRC-Schaltkreise 04C11, 06B11, 07B11, 06C11 und 04D11. Zu Beginn jeder Bandsprosse wird die Subanweisung BSRFCSR ausgeführt, um den CRC-Generator 04C11 zu initialisieren und in allen Bitpositionen auf den Wert "1" zu setzen, (siehe Zeile 69500 im Anhang B). Die Ausführung dieser Subanweisung veranlaßt die Umschaltung des Ausgangbits 7 des Subanweisungs-Decodierers 08C11, das dem Setzeingang des CRC-Generators 04C11 zugeführt wird, auf den Logikpegel "0", wodurch alle Bits des CRC-Generators gesetzt werden. Wenn sodann jedes Bit der Nachricht empfangen wird, so wird ein Befehl FUCSR ausgeführt, um das neue Bit in den CRC-Generator zu laden (Zeile 38600). Während der Ausführung dieses Befehls wird das dem CRC-Generator zuzuführende Datenbit am Bitausgang 0 des Anschlußstiftes 39 des Mikroprozessors 01C10 freigegeben und daraufhin dem Dateneingang des CRC-Generators zugeführt. Das Ausgangsbit 6 des Befehlsdecodierers 06A11 schaltet auf den Logikpegel "0" um und wird über das Gatter 06B11 dem Gatter 06C11 zugeführt, um den nächsten Systemtaktimpuls über das Gatter 06C11 dem Takteingang des CRC-Generators zuzuführen. Da das Ausgangsbit 5 des Befehlsdecodierers, das dem Freigabeeingang des CRC-Generators zugeführt wird, während der Ausführung dieses
Befehls den Logikpegel "1" aufweist, wird der CRC-Generator fortgeschrieben und nicht ausgeschaltet.
Nachdem das erste Nicht-Hinweis- bzw. Nicht-Abbruchzeichen empfangen ist, werden Empfangs-Datenbits weiter in den internen Speicher RAM des Mikroprozessors in der zuvor beschriebenen Weise geschoben. Da Bandsprossen mit weniger als 32 Bits illegale bzw. ungültige Bandsprossen sind, ist die gesonderte Verschiebung, Speicherung und Verzögerung erforderlich, um dem Programm die vollständige Streichung solcher kurzen Bandsprossen ohne die Übertragung irgendwelcher Daten- oder Statusinformation zu dem Prozessor MLCP zu gestatten. Vier RAM-Speicherplätze mit 8 Bit werden kombiniert, um ein logisches Schieberegister mit 32 Bit zu bilden, wobei die Verschiebung gemäß den Zeilen 37600 bis 38400 erfolgt. Irgendwelche Datenbits mit dem Wert "0", die aus Transparenzgründen in der durch das HDLC-Protokoll festgelegten Weise durch den externen Sender eingefügt werden, werden durch das Empfangs-Steuerlogikprogramm von der Nachricht abgetrennt.
Der FIFO-Empfangsspeicher umfaßt 4 FIFO-Schaltkreise 01B12 bis 08B12 für 16 Worte mit vier Bit, die zusammengeschaltet sind, um einen FIFO-Speicher für 64 Worte mit 16 Bit zu bilden. Die FIFO-Schaltkreise 01B12 und 03B12 werden benutzt, um Empfangsstatusinformation zu speichern, und die FIFO-Schaltkreise 06B12 und 08B12 werden benutzt, um die empfangenen Daten zu speichern. Die Information wird in jedes FIFO-Paar von dem Register 04A12 übertragen, dessen 8 Ausgangssignale an die Dateneingänge der 2 FIFO-Paare angelegt werden (Fig. 12a). Dieses FIFO-Pufferspeicherregister 04A12 wird seinerseits direkt von dem 8 Bit-Empfangs-Mikroprozessor geladen.
Nachdem 32 Bit der Bandsprosse empfangen worden sind, wodurch eine gültige Bandsprosse angezeigt wird, wird das erste Zeichen der
Nachricht in den FIFO-Empfangsspeicher in der folgenden Weise geladen. Zunächst muß das Empfangsprogramm die FIFO-Speicher testen, um zu sehen, ob die Eingangsregister leer sind. Der Bereitschaftszustand des Eingangsregisters eines jeden FIFO-Speichers wird durch den Logikpegel "1" an dem entsprechenden Leer-Ausgang angezeigt. Die Leer-Ausgänge eines jeden der vier FIFO-Speicher 01B12, 03B12, 06B12 und 08B12 werden in dem UND-Gatter 12B12 kombiniert. Das Ausgangssignal dieses Gatters besitzt den Logikpegel "1", wenn die vier FIFO-Speicher verfügbar sind. Dieses Signal und somit die Verfügbarkeit der FIFO-Speicher wird durch die Version RFMIR des Testbefehles getestet (Zeile 77600).
Es sei vermerkt und dies wird nachstehend beschrieben, daß Daten- und Statusinformation, die durch das Empfangssteuerprogramm in den Eingang des FIFO-Speichers geladen wird, normalerweise periodisch von unten durch den Prozessor MLCP dem FIFO-Speicher entnommen wird und daß somit die Eingangsregister normalerweise leer sind. In dem Fall, wo die Eingangsregister nicht verfügbar sind, was jetzt zu irgendeinem Zeitpunkt während der Verarbeitung der Bandsprosse der Fall sein kann, wird das Vorliegen eines Überlaufzustandes angenommen. In diesem Fall wartet das Steuerprogramm bis zum Auftritt des Endes der Bandsprosse und bis die Eingangsregister leer sind und lädt sodann ein Statuswort mit einem zur Anzeige des Überlaufzustandes gesetzten Bit in den Statusteil des FIFO-Speichers. Ein weiteres Bit in diesem Statuswort wird gesetzt, um das Ende der Bandsprosse anzuzeigen, und ein drittes Bit wird gesetzt, wenn die Bandsprosse abgebrochen wurde. Der Prozessor MLCP wird somit über den Überlauffehler, d.h. die fehlenden Daten informiert. Es wird kein Versuch unternommen, zusätzliche Empfangsdaten für die laufende Bandsprosse zu dem Prozessor MLCP zu übertragen, da irgendwelche derartigen Daten bedeutungslos sein würden und nur die Arbeitslast des bereits überlasteten Prozessors MLCP erhöhen würden.
Nachdem das Programm festgestellt hat, daß die Eingangsregister des FIFO-Speichers verfügbar sind, fährt es fort, das Empfangs-Datenzeichen und das zugeordnete Statuswort in den FIFO-Speicher zu laden. Dies ist ein Zweischrittverfahren, sowohl für das Statuswort als auch für die Daten. Das heißt, zunächst wird der Status oder die Daten in das Register 04A12, das nachstehend als FIFO-Empfangspufferspeicher bezeichnet ist, geladen und sodann in das geeignete Paar von FIFO-Speichern übertragen.
Das jedem Datenzeichen zugeordnete Statuswort besitzt den Wert "0" in allen Bitpositionen. Dieses wird durch den Subanweisungsbefehl RSRFMB (Zeile 16500) erzeugt. Wenn dieser Befehl bearbeitet wird, so schaltet das Ausgangsbit 4 des Subanweisungsdecodierers 08C11, das dem Rückstelleingang des FIFO-Empfangspufferspeichers zugeführt wird, auf den Logikpegel "0" um, wodurch dieses Register in allen Bitpositionen auf den Wert "0" zurückgestellt wird.
Dieses Statuswort mit dem Wert "0" wird nun zu den FIFO-Status-Speichern 01B12 und 03B12 mittels des Subanweisungsbefehls WRRFMS (Zeile 165200) übertragen. Wenn dieser Befehl bearbeitet wird, so schaltet das Ausgangsbit 2 des Subanweisungsdecodierers 08C11, das dem Setzeingang des Flip-Flops 08D11 zugeführt wird, auf den Logikpegel "0" um, wodurch dieses Flip-Flop gesetzt wird und am Ausgang Q (Anschlußstift 05) den Logikpegel "1" ausgibt. Bei der Ausführung des nächsten keine Subanweisung betreffenden Befehls wird dem Eingang CK dieses Flip-Flops der Logikpegel "1" zugeführt, woraufhin der Ausgang Q beim Anlegen des nächsten Systemtaktes auf den Logikpegel "0" zurückschaltet. Diese Umschaltfolge des Ausganges Q des Flip-Flops 08D11, die auf die Ladeeingänge der FIFO-Statusspeicher 01B12 und 03B12 einwirkt, veranlaßt die Übertragung des zuvor in das Register 04A12 geladenen Statuszustandes mit dem Wert "0" in den Statusteil des FIFO-Speichers.
Das empfangene Datenzeichen wird nunmehr von dem internen Speicher RAM des Empfangs-Mikroprozessors zunächst in den FIFO-Pufferspeicher und sodann in den Datenteil des FIFO-Speichers übertragen. Die Übertragung zu dem Puffer erfolgt durch den Subanweisungsbefehl WRRFMBD (Zeile 165500). Wenn dieser Befehl bearbeitet wird, so wird das zusammengesetzte empfangene Zeichen an den 8 Datenausgangsanschlüssen des Mikroprozessorpaares 01C10 und 07C10 freigegeben und dem Dateneingang des FIFO-Empfangspufferspeichers 04A12 zugeführt. Zur gleichen Zeit schaltet das Ausgangsbit 5 des Subanweisungsdecodierers 08C11, das einem Eingang des Gatters 10D11 zugeführt wird, zuerst auf den Logikpegel "0" und sodann zurück auf den Logikpegel "1", wodurch ein negativ verlaufender Impuls erzeugt wird. Dieser dem Gatter 10D11 zugeführte Impuls veranlaßt am Ausgang des Gatters, der auf den Takteingang des FIFO-Pufferspeichers geschaltet ist, Umschaltungen, durch die das Datenzeichen in den Puffer geladen wird.
Das empfangene und auf diese Weise in den FIFO-Puffer geladene Datenzeichen wird nunmehr durch die Version WRRFMD des Subanweisungsbefehles (Zeile 165600) in die FIFO-Empfangsdatenspeicher 06B12 und 08B12 übertragen. Die Bearbeitung dieses Befehles veranlaßt die Umschaltung des Ausgangbits 3 des Subanweisungsdecodierers 08C11, das mit dem Flip-Flop 09D11 verbunden ist, auf den Logikpegel "0", wodurch das Flip-Flop gesetzt wird und der Ausgang Q auf den Logikpegel "1" umschaltet. Bei der Bearbeitung des nächsten keine Subanweisung betreffenden Befehls befindet sich der Eingang CK dieses Flip-Flops auf dem Logikpegel "1", wodurch bei der Zuführung des nächsten Systemtaktes der Ausgang Q auf den Logikpegel "0" zurückschaltet. Die Umschaltfolge am Ausgang Q, die den Ladeeingängen der FIFO-Empfangsdatenspeicher 06B12 und 08B12 zugeführt wird, veranlaßt, daß das empfangene zuvor in dem Register 04A12 gespeicherte Datenzeichen in den Datenteil des FIFO-Empfangsspeichers übertragen wird.
Die restliche Bandsprosse wird nunmehr durch das Empfangssteuerprogramm in der gleichen zuvor beschriebenen Weise verarbeitet. Insbesondere wird jedes von dem internen Dialoggerät DCE empfangene Datenbit in den Mikroprozessor verschoben, an das CRC-Register angelegt, mit anderen Bits kombiniert und in Zeichen umgesetzt, in der erforderlichen Weise verarbeitet und zusammen mit dem "0"-Statuswort in den FIFO-Speicher geladen. Alle Null-Datenbits, die der Transparenz wegen durch den externen Sender eingefügt werden, werden durch das Programm entfernt (siehe beispielsweise Anhang B Zeilen 34000 bis 35100 und 41000 bis 41400).
Die Bandsprosse wird unter Steuerung durch das Empfangssteuerwort (Fig. 15g) verarbeitet, die durch den Prozessor MLCP in die Register 01A10 und 05A10 geladen wird, um die Größe eines jeden Datenzeichens in einer ähnlichen Weise festzustellen, wie dies bei dem zuvor beschriebenen Senden von Daten der Fall war. Insbesondere legt das RCFX-Bit 0 im gesetzten Zustand ein erweitertes Steuerfeldformat fest, der gesetzte Zustand des RAFX-Bit 1 gibt ein erweitertes Adreßfeldformat vor, der gesetzte Zustand des RTCD-Bit 2 zeigt die Anwesenheit eines Textsteuerbytes an, der gesetzte Zustand des RCLF-Bits 7 zeigt das Vorhandensein eines logischen Steuerfeldes an, die RBS-Bits 4, 5 und 6 geben die Bytegröße der Textfeldbytes vor, und das RFCSIE-Bit 3 legt fest, ob die empfangene FCS-Folge am Ende der Nachricht eingegeben werden soll oder nicht, wie dies weiter unten erläutert wird. Die vorstehenden Bitangaben erfolgten bezüglich der Mikroprozessorsignale ROPID0 bis ROPID7, die gewünschtenfalls in die Register 01A10 und 05A10 zurückübertragen werden können. Diese Bits beziehen sich ebenfalls auf die Datenbits CPDAT0 bis CPDAT7 von dem Prozessor MLCP an dem Anschlußverbinder 01C01. Empfangene Datenzeichen mit weniger als 8 Bit werden in dem Speicher RAM des Mikroprozessors durch Empfangssteuerprogramm ausgerichtet, bevor sie in den FIFO-Speicher zur Übertragung zu dem Prozessor MLCP geladen werden (Zeilen 156300 bis 158500). Wenn der zuvor bei der Sendeoperation beschriebene Bitfolgemodus wirksam ist, so wird jedes Zeichen abgehakt, bevor es in den FIFO-Speicher geladen wird (Zeilen 160000 bis 163900). Dieses Verfahren wird fortgesetzt, bis das Ende einer Bandsprosse in der unten beschriebenen Weise auftritt.
In dem HDLC-Protokoll wird das Ende einer Bandsprosse durch eines von zwei eindeutigen Bitmustern in der Datenfolge festgelegt. Insbesondere zeigt eine Kette von sieben aufeinanderfolgenden "1"-Bits eine abgebrochene Bandsprosse an, während eine Folge 01111110 das Ende einer normalen nicht abgebrochenen Bandsprosse anzeigt. Das Empfangssteuerprogramm prüft jedes Datenbit zusammen mit zuvor empfangenen Datenbits bei der Suche nach den zuvor beschriebenen Folgen (siehe beispielsweise Zeilen 39800 bis 40400 im Anhang B). Es sei vermerkt, daß jede Folge zu jedem Zeitpunkt auftreten kann und nicht nur an einer Zeichengrenze. Wenn das Ende der Bandsprosse auftritt, so führt das Empfangsprogramm eine Reihe von Endoperationen aus und erzeugt ein von dem Wert "0" verschiedenes Statuswort, das Information über die gerade empfangene Bandsprosse enthält, wobei das Statusbyte in den FIFO-Statusspeicher geladen wird.
Wenn eine Abbruchfolge festgestellt wird, so wird dieser Zustand an den Prozessor MLCP mittels eines speziellen Bits RA berichtet, das zur Anzeige des Abbruchzustandes reserviert ist und in dem Empfangs-Statuswort (Fig. 15e) enthalten ist. Das Empfangsprogramm setzt ferner ein Bit REOF für das Ende der Bandsprosse und speichert dieses vervollständigte Statusbyte in dem Speicher RAM des Empfangs-Mikroprozessors. In gleicher Weise wird, wenn der zuvor beschriebene Überlaufzustand während der Bandsprosse aufgetreten ist, das Bit RO benutzt, um im gesetzten Zustand diesen Fehler anzuzeigen. Das Empfangsprogramm vervollständigt diese Operation durch Übertragung des Empfangs-Statuswortes zu dem Statusteil des FIFO-Speichers.
Wenn zusätzliche 8 Bits mit dem Wert "1" empfangen werden, so liegt ein Idol-Verbindungszustand vor. Das heißt, daß durch den Empfang von 15 aufeinanderfolgenden Bits mit dem Wert "1" der Idolzustand angezeigt wird. Dieser Zustand wird mittels einer Status-Übertragungsoperation an den Prozessor MCLP berichtet, wie dies zuvor bei gesetztem Abbruchbit RA erfolgte; aber das Bit REOF für das Ende der Bandsprosse ist zurückgestellt. Es sei darauf verwiesen, daß zu jedem Zeitpunkt, wo ein Statusbyte in den Statusteil des FIFO-Speichers geladen wird, ein Datenzeichen, auch wenn es ein Leerzeichen ist, ebenfalls dem Datenteil des FIFO-Speichers zugeführt wird, um einen 16-Bit-Speicherplatz des FIFO-Speichers vollständig zu füllen.
Bandsprossen werden normalerweise durch eine Hinweisfolge beendet, wie dies zuvor beschrieben wurde (Fig. 15h). Die 16 dieser Hinweisfolge vorangehenden Bits sind durch die FCS-Fehlerprüfbits vorgegeben, die in dem Speicher RAM des Empfangs-Mikroprozessors für eine mögliche weitere Benutzung gespeichert sind. Die den FCS-Bits vorangehenden Bits umfassen das letzte Datenzeichen der Bandsprosse. Die Feststellung der Hinweisfolge für das Ende der Bandsprosse durch das Empfangssteuerprogramm löst eine Reihe von Operationen aus, die die Verarbeitung des letzten Datenzeichens das Prüfen des CRC-Restes, die Erzeugung eines Statuswortes für das Ende der Bandsprosse und wahlweise die Übertragung der empfangenen FCS-FoIge zu dem Prozessor MLCP umfassen.
Das letzte Byte der Bandsprosse wird durch das Steuerprogramm in folgender Weise bearbeitet. Zunächst wird die Anzahl der Bits dieses empfangenen Zeichens gezählt, wenn der Endhinweis festgestellt wird, und dieser Zählstand wird mit der Bytegröße verglichen, um festzustellen, ob das letzte Zeichen ein vollständiges Byte oder nur ein Teilbyte war. Ein Speicherplatz mit 8 Bit des RAM-Speichers wird benutzt, um temporär das empfangene Statuswort am Ende jeder Bandsprosse zu speichern. Die Bitposition 7 dieses Wortes (Bit RPLB in Fig. 15e) wird durch das
Empfangssteuerprogramm gesetzt, um ein Teilbyte anzuzeigen, oder es wird im Rückstellzustand belassen, um ein vollständiges Byte anzuzeigen (Zeilen 132900 bis 133200). Das Programm erzeugt und lädt ebenfalls einen eindeutigen Wert in die RLDS-Bitposition dieses Statusbytes, um die Anzahl der Bits in diesem letzten Zeichen anzuzeigen (Zeilen 133400 bis 139100).
Das Empfangssteuerprogramm führt sodann die folgenden Schritte aus, die alle den zuvor beschriebenen Verfahrensschritten ähnlich sind. Wenn das letzte Byte weniger als 8 Bit enthält, so wird es in dem Speicher RAM des Mikroprozessors rechtsbündig ausgerichtet (Zeilen 194200 bis 196300). Wenn der Bitfolgemodus wirksam ist, so werden die Zeichen abgehakt (Zeilen 204100 bis 208000). Schließlich wird dieses letzte Byte in den FIFO-Speicher geladen (Zeilen 232900 und 233000).
Das Empfangssteuerprogramm vervollständigt nun das Statuswort für das Ende der Bandsprosse, dessen Erzeugung zuvor gestartet wurde, und es lädt dieses in der folgenden Weise in den FIFO-Speicher. Es sei vermerkt, daß die Fälle mit abgebrochener Bandsprosse und Überlaufzustand, die zuvor erläutert wurden, hier keine Anwendung finden und daß somit die zugeordneten Statusbits RA und RO im rückgestellten Zustand verbleiben. Das Programm setzt das Hinweisbit REOF für das Ende der Bandsprosse. Das einzig verbleibende Statusbit in Form des FCS-Fehlerindikators RFCSE wird in der unten erläuterten Weise fortgeschrieben.
Um die Unversehrtheit der Bandsprosse zu prüfen, muß die CRC-Folge geprüft werden, die aufgrund aller Bits der Bandsprosse zwischen dem Anfangs- und Endhinweis (mit Ausnahme der aus Transparenzgründen eingefügten Nullbits) erzeugt wurde. Zuerst liest das Empfangssteuerprogramm den CRC-Rest von dem CRC-Generator 04C11, in dem die Berechnung stattgefunden hat. Dies geschieht durch eine Reihe von 16 RFCSR-Befehlen (Zeilen 186600 bis 190300 und 192200 bis 192900). Die Ausführung eines jeden RFCSR-Befehles verschiebt 1 Bit der angesammelten CRC-Folge von dem CRC-Generator in den Empfangsmikroprozessor.
Insbesondere wird das Ausgangssignal des CRC-Generators dem einen Eingang des invertierenden UND-Gatters 04D11 zugeführt. Der Ausgang dieses Gatters wird über den festverdrahteten UND-Knoten 12D10 dem am weitesten rechts liegenden Bit des Registers zugeführt, das sich innerhalb des Speichers RAM des Empfangs-Mikroprozessors befindet. Während dieser Befehlsbearbeitung schaltet das Ausgangsbit 5 des Befehlsdecodierers 06A11, das dem Inverter 07B11 zugeführt wird, auf den Logikpegel "0" um. Der Ausgang des Inverters 07B11, der in der oben erwähnten Weise mit dem Gatter 04D11 verbunden ist, schaltet auf den Logikpegel "1" um, um die Daten von dem Ausgang des CRC-Generators in der zuvor beschriebenen Weise zu dem Mikroprozessor zu übertragen. Wenn der Befehl RFCSR bearbeitet wird, so legen die Schiebesteuereingänge des Empfangs-Mikroprozessors (Befehl-Eingangsbits 6, 7 und 8) eine Linksverschiebung bezüglich des Eingangsbits fest. Bei dieser Befehlsausführung schaltet das Ausgangsbit 5 des Befehlsdecodierers 06A11, das dem Gatter 06B11 zugeführt wird, auf den Logikpegel "0" um. Der Ausgang dieses Gatters, der dem Gatter 06C11 zugeführt ist, schaltet auf den Logikpegel "1" um, wodurch der nächste Systemtakt über dieses Gatter an den Takteingang des CRC-Generators angelegt werden kann, um das nächste CRC-Bit herauszuschieben. Da sich das Ausgangsbit 6 des Befehlsdecodierers 06A11, das dem Freigabeeingang des CRC-Generators zugeführt wird, auf dem Logikpegel "1" befindet, führt der CRC-Generator eine Herausschiebeoperation anstelle einer CRC-Fortschreibungsoperation aus.
Der CRC-Rest, der in den Mikroprozessor verschoben worden ist, wird nun durch das Empfangssteuerprogramm geprüft, um festzustellen, ob eine fehlerfreie Bandsprosse empfangen worden ist. Es sei vermerkt, daß der Rest in den Mikroprozessor gelesen wird und daß 8 Bits zu jedem Zeitpunkt anstelle des gesamten Restes in einer Operation geprüft werden. Der tatsächliche Rest für eine fehlerfreie Bandsprosse ist durch den Hexadezimalwert F0B8 gegeben. Da jedoch der Rest zuerst durch das Gatter 04D11 invertiert wurde und sodann von rechts nach links anstatt von links nach rechts in den Mikroprozessor geschoben wurde, ist der Wert für eine fehlerfreie Bandsprosse innerhalb des Mikroprozessors durch den Hexadezimalwert E2F0 vorgegeben. Das FCS-Fehlerindikatorbit RFCSE in dem zuvor beschriebenen Statuswort wird durch das Programm gesetzt, wenn dieser Wert nicht festgestellt wird, bzw. bleibt zurückgestellt wenn dieser Wert vorliegt (Zeilen 190400 bis 190700 und 193000 bis 193300).
Das Empfangssteuerprogramm hat nunmehr die Erzeugung des Statuswortes für das Ende der Bandsprosse beendet. Das Programm überträgt nun dieses Statusbyte in die FIFO-Statusspeicher 01B12 und 03B12, wobei dies in einem zweistufigen Verfahren unter Verwendung des FIFO-Empfangspufferspeichers 04A12 erfolgt (Zeilen 232600 und 232700). Zunächst wird die Subanweisung WRRFMBS bearbeitet, um das Statuswort von dem Speicher RAM des Empfangs-Mikroprozessors zu dem FIFO-Empfangspuffer 04A12 zu übertragen. Insbesondere wird bei der Befehlsausführung das im RAM-Speicherplatz 5 befindliche Statuswort auf die Ausgangs-Datenleitungen des Mikroprozessors gegeben, die an die Dateneingänge des FIFO-Puffers angeschlossen sind. Das Ausgangsbit 5 des Subanweisungsdecodierers 08C11, das dem Gatter 10D11 zugeführt wird, schaltet auf den Wert "0" während dieser Befehlsausführung um und kehrt sodann am Ende der Befehlsausführung auf den Logikpegel "1" zurück. Der Ausgang dieses Gatters der mit dem FIFO-Pufferspeicher 04A12 verbunden ist, schaltet in gleicher Weise um, um das Statuswort in den FIFO-Puffer zu laden. Als nächstes wird die WRRFMS-Subanweisung in der zuvor beschriebenen Weise ausgeführt, um das Statuswort von dem FIFO-Puffer 04A12 in die FIFO-Statusspeicher
01B12 und 03B12 zu übertragen.
Hiermit wird im Normalfall die Operation der Empfangssteuerlogik beendet. Wenn jedoch der Anwender die Prüfung der tatsächlichen von dem externen Sender empfangenen FCS-Folge wünscht, so setzt der Prozessor MLCP das RFCSIE-Bit 4 des Empfangs-Steuerwortregisters 01A10. Das Steuerprogramm prüft dieses Bit, wenn es mit der Verarbeitung des Endes der Bandsprosse beginnt (Zeile 187100). Im gesetzten Zustand wird die zuvor beschriebene Überprüfung des CRC-Restes in den CRC-Registern 04C11 nicht ausgeführt. Statt dessen wird die empfangene FCS-Folge mit 16 Bit, die durch das Steuerprogramm in dem Speicher RAM des Mikroprozessors gespeichert worden ist, in den Datenteil des FIFO-Speichers geladen, wobei ein Byte mit 8 Bit zu jedem Zeitpunkt in zwei getrennten Operationen übertragen wird (Zeilen 211500 bis 212500, 213400 bis 214400 und 232900 bis 233000).
Es liegt auf der Hand, daß bei den zuvor beschriebenen Vorgängen die Verfügbarkeit der Eingangsregister des FIFO-Speichers immer durch den Testbefehl RFMIR geprüft wird, bevor irgendein Versuch erfolgt, Daten- und Statusinformation in den FIFO-Speicher zu laden. Wenn diese Register am Beginn einer Bandsprosse oder während einer Bandsprosse nicht verfügbar sind, so liegt ein Unterlaufzustand der zuvor beschriebenen Art vor. Am Ende einer Bandsprosse, d.h. nachdem der Endhinweis empfangen worden ist, wartet jedoch das Empfangssteuerprogramm erforderlichenfalls bis zur Verfügbarkeit des FIFO-Speichers und liefert sodann das letzte Datenzeichen und das Statuswort für das Ende der Bandsprosse (und erforderlichenfalls FSC-Bytes) an den FIFO-Speicher. Auf diese Weise wird eine Bandsprosse, wenn sie einmal durch das Empfangsprogramm empfangen ist, nicht durch irgendwelche folgenden Bandsprossen überlaufen und zerstört.
Zusätzliche von dem internen Dialoggerät DCE empfangene Daten werden nun mit der Hinweisfolge synchronisiert zu Zeichen zusammengesetzt und in der gleichen zuvor beschriebenen Weise verarbeitet. Das heißt, alle nachfolgenden Bandsprossen werden in der gleichen gerade erläuterten Weise bearbeitet. Es versteht sich, daß der Endhinweis für eine Bandsprosse ebenfalls als Anfangshinweis für die nächste Bandsprosse dienen kann.
Die Beschreibung der Empfangssteuerlogik und des Empfangssteuerprogrammes ist hiermit beendet. Der FIFO-Empfangsspeicher trennt wirksam die Steuerfunktion von der Unterbrechungsfunktion des Prozessors MLCP. Das heißt, daß die in den Eingang des FIFO-Speichers in der zuvor beschriebenen Weise geladene Daten- und Statusinformation, durch den FIFO-Speicher hindurchgeschoben werden, die Erzeugung einer Unterbrechung für den Prozessor MLCP erzeugen und sodann von dem Prozessor MLCP für eine Verarbeitung abgerufen werden. Das Zusammenwirken mit dem Prozessor MLCP wird nachstehend beschrieben.
Durch das Empfangs-Steuerprogramm in das Eingangsregister des FIFO-Empfangsspeichers geladene Daten- und Statusinformation wird zu dem Ausgangsregister des FIFO-Speichers durchgeschoben. Das den Füllzustand anzeigende Ausgangssignal eines jeden FIFO-Speichers 01B12, 03B12, 06B12 und 08B12 nimmt den Logikpegel "1" ein, um anzuzeigen, daß das Ausgangssignal dieses speziellen 4 Bit-Abschnittes des Daten/Statuswortes mit 16 Bit bereitliegt. Das Ausgangs-Bereitschaftssignal eines jeden der 4 FIFO-Speicher wird einem Eingang des UND-Gatters 11B12 zugeführt. Das Ausgangssignal dieses Gatters nimmt den Logikpegel "1" immer dann ein, wenn vollständiges Daten/Statuswort mit 16 Bit für die Übertragung zu dem Prozessor MLCP verfügbar ist. Wenn dieses Signal, das an den Eingang CJ des Flip-Flops 11C12 angelegt wird, den Logikpegel "1" aufweist, so bringt es dieses Flip-Flop in den gesetzten Zustand beim Auftritt des nächsten Systemtaktes.
Wenn das Ausgangssignal dieses Flip-Flops, das an einen Eingang des Gatters 11D12 angeschlossen ist, den Logikpegel "1" aufweist, so schaltet das Ausgangssignal des Gatters 11D12, das an den Anschlußstift 9 des Anschlußverbinders 01B01 angeschlossen ist, auf den Logikpegel "0" um. Der Logikpegel dieses Signales dient als Unterbrechungssignal an den Prozessor MLCP, um diesem anzuzeigen, daß Empfangsdaten und Statusinformation zur Übertragung bereitstehen.
Wie zuvor beschrieben, zeigt der Wechsel des Signales am Anschlußstift 9 des Anschlußverbinders 01B01 von dem Logikpegel "1" auf den Logikpegel "0" dem Prozessor MLCP an, daß Statusinformation und Daten in dem FIFO-Empfangsspeicher verfügbar sind. Der Prozessor MLCP antwortet auf diese Unterbrechung, indem er zuerst das Empfangs-Statuswort liest und sodann das Empfangs-Datenzeichen von dem geeigneten Abschnitt des FIFO-Empfangsspeichers. Zunächst sei darauf verwiesen, daß die 8 Datenausgänge der FIFO-Statusspeicher 01B12 und 03B12 den Dateneingängen 1 der Multiplexer 02C12 und 06C12 zugeführt werden und daß die 8 Datenausgänge der FIFO-Datenspeicher 06B12 und 08B12 an die Dateneingänge 0 jener Multiplexer geführt sind. Wenn der Auswahleingang am Anschlußstift 1 der Multiplexer den Logikpegel "0" aufweist, so werden die Empfangsdaten durch den Multiplexer ausgewählt, und wenn der Auswahleingang den Logikpegel "1" aufweist, so werden die Statuseingänge ausgewählt. Die 8 Ausgangssignale dieser Multiplexer werden 8 festverdrahteten UND-Knoten 01D04 bis 08D04 zugeführt und von diesen an die Anschlußstifte 1 bis 6, 8 und 9 des Anschlußverbinders 01V01 angelegt, wobei der Prozessor MLCP an diese Anschlußstifte angeschlossen ist und die Daten- und Statusinformation zugeführt erhält.
Die Ausgänge der zuvor erwähnten Multiplexer besitzen normalerweise den hohen Impedanzzustand; wenn jedoch der Prozessor MLCP die Empfangsdaten oder das Statuswort von den FIFO-Speichern liest, so schaltet der Freigabeeingang F auf den Logikpegel "0" um und gestattet die Informationsübertragung von den ausgewählten FIFO-Ausgängen zu dem Prozessor MLCP. Der Prozessor MLCP liest den Empfangsstatus, indem er Adressen- und Steuersignale an den Empfangsadressendecodierer 04A02 anlegt. Dadurch schaltet der Bitausgang 0 auf den Logikpegel "0", während der Bitausgang 6 auf dem Logikpegel "1" verbleibt. Da der Bitausgang 0 dem Gatter 04D02 zugeführt wird, schaltet dessen mit dem Freigabeeingang der Multiplexer 02C12 und 06C12 verbundener Ausgang auf den Logikpegel "0" um, wodurch diese Multiplexer aktiviert werden. Da der mit dem Bitausgang 6 des Decodierers 04A02 verbundene Auswahleingang dieser Multiplexer den Logikpegel "1" aufweist, werden die Ausgänge der FIFO-Statusspeicher 01B12 und 03B12 ausgewählt und die Statusinformation dem Prozessor MLCP zugeführt.
Der Prozessor MLCP liest als nächstes das empfangene Datenzeichen in einer ähnlichen Weise wie zuvor, mit der Ausnahme, daß die Adressen- und Steuerleitungen zu dem Empfangsadressendecodierer den Bitausgang 6 zur Umschaltung auf den Logikpegel "0" veranlassen und der Bitausgang 0 auf dem Logikpegel "1" verbleibt. Da das Ausgangsbit 6 ebenfalls dem Gatter 04D02 in der gleichen Weise wie der Bitausgang zuvor zugeführt wird, werden die Multiplexer 02C12 und 06C12 aktiviert. Da sich aber der Auswahleingang dieser Multiplexer auf dem Logikpegel "0" befindet, werden die Ausgänge der FIFO-Speicher 06B12 und 08B12 ausgewählt, und es werden Empfangsdaten dem Prozessor MLCP zugeführt. Das Ausgangsbit 6 des Decodierers 04A02 wird ebenfalls dem Gatter 02B02 zugeführt. Bei der Aktivierung des Tastsignales durch den Prozessor MLCP, das dem zweiten Eingang dieses Gatters zugeführt wird, wird am Ausgang dieses Gatters ein positiv verlaufender Impuls erzeugt. Dieses Signal wird den "Aus"-Eingängen der vier FIFO-Daten- und Statusspeicher 01B12, 03B12, 06B12 und 08B12 zugeführt, wodurch den FIFO-Speichern mitgeteilt wird, daß die 16 Bit der Information aus den Ausgangsregistern abgerufen wurde. Hierdurch können die nächsten Daten in den vier FIFO-Speichern in die Ausgangsregister fortgeschaltet werden. Es sei vermerkt, daß in der zuvor beschriebenen Weise Ausgangsdaten nur dann in den FIFO-Speichern verfügbar sind, wenn das Ausgangssignal des UND-Gatters 11B12 den Logikpegel "1" aufweist.
Der Prozessor MLCP hat somit auf die erste Empfangs-Unterbrechung durch Übertragung des Empfangsstatus und der Empfangsdaten geantwortet. Das Statuswort mit dem Wert "0" zeigt an, daß das zugeordnete Datenzeichen ein gültiges Zeichen war, daß ein Ende der Bandsprosse nicht aufgetreten ist und daß kein Überlauf- oder Abbruchzustand vorlag. Der Prozessor MLCP legt nunmehr Adressen- und Steuersignale an den Adressendecodierer 04A02 an, um das Ausgangsbit 2 des Decodierers auf den Logikpegel "0" zu setzen. Sodann führt der Prozessor MLCP eine der beiden unten beschriebenen Operationen aus.
Zunächst kann der Prozessor MLCP das Signal am Anschlußstift 20 des Anschlußverbinders 01B01 auf den Logikpegel "0" umschalten. Dieses Signal und das Ausgangsbit 2 des Decodierers 04A02 werden beide den Eingängen des Gatters 05B02 zugeführt, woraufhin der Ausgang dieses Gatters, der mit dem Eingang des Gatters 13B12 verbunden ist, auf den Logikpegel "0" umschaltet. Der Ausgang des Gatters 13B12, der mit dem Rückstelleingang des Unterbrechungs-Flip-Flops 11C12 verbunden ist, nimmt ebenfalls den Logikpegel "0" ein und stellt dieses Flip-Flop zurück, wodurch zumindest momentan das Unterbrechungssignal von dem Prozessor MLCP entfernt wird. Der Prozessor MLCP ist somit in den Wartezustand eingetreten. Da der Ausgang des Gatters 11B12 dem Eingang CJ des Unterbrechungs-Flip-Flops 11C12 zugeführt ist, wird dieses Flip-Flop erneut beim Auftritt des Systemtaktes gesetzt, sobald Daten am Ausgang des FIFO-Speichers in der zuvor beschriebenen Weise verfügbar sind. Hierdurch wird der Prozessor MLCP erneut unterbrochen, und es wird die vorstehende Status- und Datenleseoperation wiederholt.
Als zweites kann der Prozessor MLCP eine DCE-Statusleseoperation ähnlich derjenigen ausführen, die zuvor hinsichtlich der Sendeoperation beschrieben wurde. Es sei vermerkt, daß das Ausgangsbit 2 des Decodierers 04A02 den Logikpegel "0" aufweist, während die anderen Ausgangsbits der Decodierer 01A02 und 04A02, insbesondere das Ausgangsbit 2 des Decodierers 01A02, den Logikpegel "1" aufweisen. Das Ausgangsbit 2 des Decodierers 04A02 wird einem Eingang des Gatters 03D02 zugeführt. Das Ausgangssignal des Gatters 03D02 mit dem Logikpegel "0" wird einem Eingang des Gatters 02D02 zugeführt. Dessen Ausgangsignal mit dem Logikpegel "0" wird dem Freigabeeingang des Multiplexers 04B04 zugeführt und gibt den Ausgang des Inverters 05A04 am Anschlußstift 5 des Anschlußverbinders 01C01 frei.
Es sei darauf verwiesen, daß beide Eingangssignale des Gatters 01D02, die durch die Decodierer 01A02 und 04A02 geliefert werden, den Logikpegel "1" aufweisen und dadurch das dem Auswahleingang des Multiplexers 04B04 zugeführte Ausgangssignal den Logikpegel "1" besitzt. Dieses Signal wählt die Signale an den Eingängen 1 aus, welche Signale das Ausgangsignal des Inverters 05A04 umfassen. Ferner weisen die 2 Eingänge des Selektors 03A04 einen solchen Pegel auf, daß das Ausgangs-Bereitschaftssignal von dem Gatter 11B12, das dem Selektor 03A04 ebenfalls zugeführt wird, über diesen Selektor zu dem Inverter 05A04 und somit auf den Prozessor MLCP geschaltet wird. Der Prozessor MLCP testet dieses Bit, um festzustellen, ob ein weiteres Zeichen und zugeordnete Statusworte an den Ausgängen des FIFO-Speichers verfügbar sind. Ist dies der Fall, so wiederholt der Prozessor MLCP die zuvor beschriebene Übertragung von Empfangsdaten und Statusinformation. Ist dies nicht der Fall, so führt der Prozessor MLCP die zuvor beschriebene Operation aus, wodurch das Unterbrechungs-Flip-Flop zurückgestellt wird und in einen Wartezustand eingetreten wird. Der Adapter BHCLA wird den Prozessor MLCP unterbrechen, wenn der Ausgang des FIFO-Speichers erneut bereitgestellt wird.
Der Prozessor MLCP fährt fort, die zuvor angegebenen Operationen zu wiederholen. Jedesmal, wenn eine Unterbrechung empfangen wird und der FIFO-Bereitschaftsindikator des DCE-Statuswortes gesetzt ist, liest der Prozessor MLCP zuerst das empfangene Statuswort, prüft es und gibt sodann das empfangene Datenzeichen ein. Insbesondere prüft der Prozessor MLCP das Hinweisbit REOF (Bit 3) des Statuswortes für das Ende der Bandsprosse. Dieses Bit bleibt zurückgestellt, bis das letzte Zeichen der Bandsprosse vorliegt. Zu diesem Zeitpunkt prüft der Prozessor MLCP das Statuswort in näheren Einzelheiten, um festzustellen, ob die Bandsprosse abgebrochen wurde oder ein Überlauf aufgetreten ist, und wenn dies wie im Normalfall nicht geschehen ist, ob ein FCS-Fehler vorliegt, ob das letzte Byte ein Teilbyte ist und wieviele Bits in dem zugeordneten letzten Byte der Nachricht gültig sind. Diese Statusbits sind natürlich die gleichen Bits, die zuvor bei der Empfangssteuerlogik beschrieben wurden.
Nachdem diese letzte Unterbrechung für die gerade vorliegende Bandsprosse bestätigt worden ist, kann eine weitere Unterbrechung auftreten. Wenn der Prozessor MLCP das empfangene Statuswort eingibt und es prüft, so wird durch den Wert "0" der Start einer neuen Bandsprosse angezeigt oder es kann möglicherweise das Abbruchbit oder Überlaufbit gesetzt sein, um den Leerlaufverbindungszustand oder einen Überlaufzustand für eine vollständig fehlende Bandsprosse anzuzeigen. Wenn zusätzliche Bandsprossen durch die Empfangssteuerlogik empfangen und verarbeitet werden, so werden sie in der zuvor beschriebenen Weise in den FIFO-Speicher geladen und erzeugen Unterbrechungen an den Prozessor MLCP. Das Statuswort mit dem Wert "0" zeigt das Vorliegen von Bandsprossendaten an. Der Prozessor MLCP fährt fort, auf Unterbrechungen durch die Übertragung von Statusinformation und Daten solange zu antworten, wie diese auftreten. Der Prozessor MLCP kann der Empfangssteuerlogik befehlen, die gesamte Statusinformation und die Daten in dem FIFO-Speicher zu irgendeinem Zeitpunkt zu streichen, indem das Empfangs-Resynchronisierverfahren ausgeführt wird, das weiter vorne beschrieben wurde. Der Prozessor MLCP kann auch Unterbrechungen von den FIFO-Empfangsspeichern sperren, indem der Empfänger ausgeschaltet wird, d.h. indem der Logikpegel "0" in die Bitposition 6 des DCE-Steuerregisters 08A04/11A04 geladen wird. Der Logikpegel "0" dieses Bits, der dem Gatter 11D12 zugeführt wird, sperrt weitere Empfangsunterbrechungen, indem der Ausgang dieses Gatters auf dem Logikpegel "1" gehalten wird. Sendeunterbrechungen können in gleicher Weise gesperrt werden. Der Prozessor MLCP schaltet den Sender aus, indem er den Logikpegel "0" in die Bitposition 7 des DCE-Steuerregisters 08A04/11A04 lädt, welcher Logikpegel dem einen Eingang des Gatters 12D06 zugeführt wird. Der Ausgang dieses Gatters, der das Sende-Unterbrechungssignal für den Prozessor MLCP bildet, wird hierdurch auf dem Logikpegel "1" gehalten, wodurch der Auftritt von Unterbrechungen verhindert wird.
Anhang A
Anhang B

Claims (11)

1. Daten-Dialogsystem mit einem Dialogprozessor zur Erzeugung von über einen Dialogkanal zu übertragenden Datenzeichen und zur Erzeugung von bei der Übertragung der Datenzeichen die auszuführenden Steuerfunktionen anzeigenden Steuerzeichen und mit einem Adapter für den Anschluß des Prozessors an den Dialogkanal, gekennzeichnet durch
eine Einrichtung für den Empfang und die Speicherung eines Steuerzeichens, das von dem Prozessor beim Start eines Datenübertragungszyklus übertragen wird;
einen Pufferspeicher für den Empfang und die Speicherung von von dem Prozessor übertragenen Datenzeichen;
eine Verarbeitungseinrichtung für die Übertragung von in dem Pufferspeicher gespeicherten Datenzeichen in bitserieller Weise auf den Dialogkanal;
eine Einrichtung zur Erzeugung eines Zeichengröße-Steuercodes aus dem gespeicherten Steuerzeichen; und
eine auf den Zeichengröße-Steuercode ansprechende Steuereinrichtung zur Steuerung der Verarbeitungseinrichtung, um für jedes übertragene Zeichen eine Anzahl von Bits auf den Dialogkanal zu übertragen, die der durch den Steuercode repräsentierten Anzahl entspricht.
2. Daten-Dialogsystem mit einem Dialogprozessor zur Erzeugung von über einen Dialogkanal zu übertragenden Datenzeichen und zur Erzeugung von bei der Übertragung der Datenzeichen die auszuführenden Steuerfunktionen anzeigenden Steuerzeichen und mit einem Adapter für den Anschluß des Prozessors an den Dialogkanal, gekennzeichnet durch
eine Einrichtung für den Empfang und die Speicherung eines Steuerzeichens, das von dem Prozessor übertragen wird;
einen Pufferspeicher für den Empfang und die Speicherung von von dem Prozessor übertragenen Datenzeichen;
eine Verarbeitungseinrichtung für die Übertragung von in dem Pufferspeicher gespeicherten Datenzeichen in bitserieller Weise auf den Dialogkanal;
eine Einrichtung zur Erzeugung eines Bitfolgemodus-Steuercodes aus dem gespeicherten Steuerzeichen; und
eine auf den Bitfolgemodus-Steuercode ansprechende Steuereinrichtung zur Steuerung der Verarbeitungseinrichtung, um die gespeicherten Datenzeichen auf den Kanal in einer Weise zu übertragen, bei der das hochrangige Bit zuerst kommt.
3. Daten-Dialogsystem mit einem Dialogprozessor zur Erzeugung von über einen Dialogkanal zu übertragenden Datenzeichen und zur Erzeugung von bei der Übertragung der Datenzeichen die auszuführenden Steuerfunktionen anzeigenden Steuerzeichen und mit einem Adapter für den Anschluß des Prozessors an den Dialogkanal, gekennzeichnet durch
eine Einrichtung für den Empfang und die Speicherung von Startbandsprosse- und Endbandsprosse-Steuerzeichen, die von dem Prozessor am Beginn und Ende eines Datenübertragungszyklus entsprechend übertragen werden;
einen FIFO-Pufferspeicher für den Empfang und die Speicherung von von dem Prozessor übertragenen Datenzeichen;
eine Verarbeitungseinrichtung für die Übertragung von am Ausgang des Pufferspeichers anstehenden Datenzeichen in bitserieller Weise auf den Dialogkanal; eine Einrichtung für die Erzeugung von zu dem Dialogprozessor zu übertragenden Status- und Unterbrechungssignalen;
eine Einrichtung für die Erzeugung eines Pufferleer-Steuersignales, wenn der Pufferspeicher von Datenzeichen entleert ist bevor das Endbandsprossen-Steuerzeichen empfangen wird; und
eine auf das Pufferleer-Steuersignal ansprechende Steuereinrichtung zur Steuerung der Verarbeitungseinrichtung, um Füllzeichen auf den Dialogkanal zu übertragen und die Statuseinrichtung zu setzen, so daß sie Unterlaufzustand anzeigt, und um eine Unterbrechungsanweisung an den Dialogprozessor zu erzeugen, wenn das Endbandsprossen-Steuerzeichen empfangen wird.
4. Dialogsystem nach Anspruch 3, dadurch gekennzeichnet, daß die Füllzeichen eine Abbruchfolge, gefolgt von einer Reihe von Hinweisfolgen, umfassen.
5. Daten-Dialogsystem mit einem Dialogprozessor zur Verarbeitung von von einem Dialogkanal empfangenen Datenzeichen und zur Erzeugung von Steuerzeichen, die während des Empfangs der Datenzeichen auszuführende Steuerfunktionen anzeigen, und mit einem Adapter für den Anschluß des Prozessors an den Dialogkanal, gekennzeichnet durch
eine Einrichtung für den Empfang und die Speicherung eines Steuerzeichens, das von dem Prozessor beim Start eines Datenempfangszyklus übertragen wird;
eine Verarbeitungseinrichtung für den bitseriellen Empfang von Daten von dem Dialogkanal und für die Anordnung der empfangenen Bits in bitparallelen Datenzeichen;
eine Einrichtung für die Übertragung der zusammengesetzten bitparallelen Zeichen zu dem Dialogprozessor;
eine Einrichtung für die Erzeugung eines Zeichengröße-Steuercodes aus dem gespeicherten Steuerzeichen; und eine auf den Zeichengröße-Steuercode ansprechende Steuereinrichtung für die Steuerung der Verarbeitungseinrichtung, um die empfangenen Datenbits in bitparallele Zeichen umzuformen, die eine Anzahl von Bits aufweisen, welche der durch den Steuercode dargestellten Anzahl entspricht.
6. Daten-Dialogsystem mit einem Dialogprozessor zur Verarbeitung von über einen Dialogkanal empfangenen Datenzeichen und zur Erzeugung von Steuerzeichen, die während des Empfangs der Datenzeichen auszuführende Steuerfunktionen anzeigen, und mit einem Adapter für den Anschluß des Prozessors an den Dialogkanal, gekennzeichnet durch
eine Verarbeitungseinrichtung für den bitseriellen Datenempfang von dem Dialogkanal und für die Zusammensetzung der empfangenen Bits in bitparallele Datenzeichen;
einen FIFO-Pufferspeicher für den Empfang und die Speicherung der zusammengesetzten bitparallelen Datenzeichen;
eine Einrichtung zum Laden eines Statuszeichens in den Pufferspeicher zusammen mit jedem Datenzeichen;
eine Einrichtung zur Übertragung von Daten- und Statuszeichen am Ausgang des Pufferspeichers zu dem Dialogprozessor;
eine Einrichtung für die Eingabe eines Bandsprossenendcodes in das Statuszeichen, welches dem letzten Datenzeichen einer empfangenen Nachrichtenbandsprosse zugeordnet ist;
eine Einrichtung zur Erzeugung eines Puffervoll-Steuersignales, wenn die verfügbaren Speicherplätze des Pufferspeichers geleert sind, bevor das letzte Datenzeichen in diesen eingegeben ist; und
eine auf das Puffervoll-Steuersignal ansprechende Steuereinrichtung zur Steuerung der Verarbeitungseinrichtung, um einen Überlaufcode in das dem letzten Datenzeichen beigefügte Statuszeichen einzufügen, wodurch dem Dialogprozessor ein Hinweis auf einen Überlaufzustand gegeben wird.
7. Daten-Dialogsystem mit einem Dialogprozessor zur Verarbeitung von über einen Dialogkanal empfangener Datenzeichen und zur Erzeugung von Steuerzeichen, die während des Empfangs der Datenzeichen auszuführende Steuerfunktionen anzeigen, und mit einem Adapter für den Anschluß des Prozessors an den Dialogkanal, gekennzeichnet durch
eine Verarbeitungseinrichtung für den bitseriellen Empfang von Daten von dem Dialogkanal und für die Zusammensetzung der empfangenen Bits in bitparallele Datenzeichen;
einen FIFO-Pufferspeicher für den Empfang und die Speicherung der zusammengesetzten bitparallelen Datenzeichen;
eine Einrichtung zum Laden eines Statuszeichens zusammen mit jedem Datenzeichen in den Pufferspeicher;
eine Einrichtung zur Übertragung von Daten- und Statuszeichen am Ausgang des Pufferspeichers in den Dialogprozessor;
eine Einrichtung zur Eingabe eines Bandsprossenendcodes in das dem letzten Datenzeichen einer empfangenen Nachrichtenbandsprosse zugeordnete Statuszeichen; und
eine Steuereinrichtung zur Steuerung der Verarbeitungseinrichtung, um die Anzahl der Bits in dem letzten Datenzeichen festzustellen und ein Größen-Steuercode für das letzte Zeichen in das dem letzten Datenzeichen beigeordnete Statuszeichen einzugeben, wobei der Steuercode die Anzahl der Bits in dem letzten Zeichen vorgibt.
8. Dialogsystem nach Anspruch 7, gekennzeichnet durch eine zusätzliche Steuereinrichtung zur Steuerung der Verarbeitungseinrichtung, um einen Teil-Steuercode für das letzte Zeichen in das Statuszeichen einzugeben, welches das letzte Datenzeichen begleitet, wenn die Anzahl der Bits in dem letzten Datenzeichen geringer als die Anzahl der Bits in den vorangehenden Datenzeichen ist.
9. Daten-Dialogsystem mit einem Dialogprozessor zur Erzeugung von über einen Dialogkanal zu übertragenden Datenzeichen und zur Erzeugung von bei der Übertragung der Datenzeichen die auszuführenden Steuerfunktionen anzeigenden Steuerzeichen und mit einem Adapter für den Anschluß des Prozessors an den Dialogkanal, gekennzeichnet durch
eine Einrichtung für den Empfang und die Speicherung eines Steuerzeichens, das von dem Prozessor beim Start eines Datenübertragungszyklus übertragen wird;
einen Pufferspeicher für den Empfang und die Speicherung von von dem Prozessor übertragenen Datenzeichen, wobei die Zeichen in einer Bandsprosse gruppiert sind, die ein Textfeld und ein Steuerfeld umfaßt;
eine Verarbeitungseinrichtung für die Übertragung der in dem Pufferspeicher gespeicherten Datenzeichen in bitserieller Weise zu dem Dialogkanal; und
eine Einrichtung zur Erzeugung eines Feldgröße-Steuercodes aus dem gespeicherten Steuerzeichen, wobei der Steuercode der Verarbeitungseinrichtung die Größe des Steuerfeldes in der Bandsprosse anzeigt.
10. Daten-Dialogsystem nach Anspruch 1, gekennzeichnet durch
eine Einrichtung zur Ausführung einer zyklischen Redundanzfehlerprüfung bezüglich der auf dem Dialogkanal übertragenen Datenzeichen; und
eine Einrichtung zur Übertragung eines Prüffolgezeichens auf den Kanal nach dem letzten Datenzeichen einer Bandsprosse übertragener Datenzeichen.
11. Datendialogsystem nach Anspruch 10, gekennzeichnet durch
eine Einrichtung zur Übertragung eines Bandsprossenende-Steuerzeichens zusammen mit dem letzten Datenzeichen in dieser Bandsprosse; und eine Einrichtung zur Erzeugung eines zyklischen Redundanzprüfsperr-Steuercodes aus dem Bandsprossenende-Steuerzeichen, wobei die Verarbeitungseinrichtung auf den Sperr-Steuercode anspricht, um eine Übertragung der Datenzeichen ohne die zyklische Redundanzfehlerprüfung zu gestatten.
DE19803035506 1979-09-28 1980-09-19 Daten-dialogsystem Ceased DE3035506A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/079,961 US4261035A (en) 1979-09-28 1979-09-28 Broadband high level data link communication line adapter

Publications (1)

Publication Number Publication Date
DE3035506A1 true DE3035506A1 (de) 1981-07-02

Family

ID=22153922

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19803035506 Ceased DE3035506A1 (de) 1979-09-28 1980-09-19 Daten-dialogsystem

Country Status (7)

Country Link
US (1) US4261035A (de)
JP (1) JPS5651145A (de)
AU (1) AU539541B2 (de)
BE (1) BE885417A (de)
CA (1) CA1150847A (de)
CH (1) CH645470A5 (de)
DE (1) DE3035506A1 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3276916D1 (en) * 1981-09-18 1987-09-10 Rovsing As Christian Multiprocessor computer system
EP0113166A3 (de) * 1982-09-30 1986-10-29 Honeywell Information Systems Inc. Interaktives Datenverarbeitungssystem
US4510581A (en) * 1983-02-14 1985-04-09 Prime Computer, Inc. High speed buffer allocation apparatus
US4642755A (en) * 1983-03-31 1987-02-10 At&T Bell Laboratories Shared memory with two distinct addressing structures
US4644547A (en) * 1984-06-28 1987-02-17 Westinghouse Electric Corp. Digital message format for two-way communication and control network
EP0244544B1 (de) * 1986-04-30 1991-01-16 International Business Machines Corporation Hochgeschwindigkeitsleitungsadapter für eine Übertragungssteuerung
EP0265571B1 (de) * 1986-10-29 1991-12-27 International Business Machines Corporation Empfangs- und Sendemechanismen für die Leitungsabtaster einer Übertragungssteuerung
US4823312A (en) * 1986-10-30 1989-04-18 National Semiconductor Corp. Asynchronous communications element
US5241660A (en) * 1986-10-30 1993-08-31 National Semiconductor Corporation Buffered asynchronous communications element with receive/transmit control and status reporting
US4882727A (en) * 1987-03-11 1989-11-21 Aristacom International, Inc. Adaptive digital network interface
US4958342A (en) * 1987-03-11 1990-09-18 Aristacom International, Inc. Adaptive digital network interface
US4890254A (en) * 1987-03-11 1989-12-26 Aristacom International, Inc. Clock disabling circuit
US4855948A (en) * 1987-10-08 1989-08-08 International Business Machines Corporation Bypass booster mechanisms for the line scanners of a communication controller
EP0325077B1 (de) * 1988-01-22 1992-09-09 International Business Machines Corporation Abtasterschnittstelle für Leitungsadapter einer Übertragungssteuerung
US5155810A (en) * 1989-01-10 1992-10-13 Bull Hn Information Systems Inc. Dual FIFO peripheral with combinatorial logic circuitry
US5274762A (en) * 1989-12-15 1993-12-28 Ncr Corporation Method for high speed data transfer
US5255372A (en) * 1990-08-31 1993-10-19 International Business Machines Corporation Apparatus for efficiently interconnecing channels of a multiprocessor system multiplexed via channel adapters
US5537624A (en) * 1991-02-12 1996-07-16 The United States Of America As Represented By The Secretary Of The Navy Data repacking circuit having toggle buffer for transferring digital data from P1Q1 bus width to P2Q2 bus width
US5517533A (en) * 1992-03-04 1996-05-14 Digital Equipment Corporation Parallel implementation of run length coding apparatus and method
US5412782A (en) 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US5414740A (en) * 1992-12-17 1995-05-09 International Business Machines Corporation Synchronous communication system having multiplexed information transfer and transition phases
DE69330399T2 (de) * 1992-12-18 2002-05-02 Advanced Micro Devices, Inc. HDLC-Empfänger
CA2107046A1 (en) * 1993-01-08 1994-07-09 James Allan Kahle Method and system for increased instruction dispatch efficiency in superscalar processor system
US5428611A (en) * 1993-05-28 1995-06-27 Digital Equipment Corporation Strong framing protocol for HDLC and other run-length codes
US5553228A (en) * 1994-09-19 1996-09-03 International Business Machines Corporation Accelerated interface between processors and hardware adapters
US6314485B1 (en) * 1997-11-14 2001-11-06 Agere Systems Guardian Corp. Automatic status register
US7206881B2 (en) * 2002-09-16 2007-04-17 Telefonaktiebolaget Lm Ericsson (Publ) Arrangement and method for controlling dataflow on a data bus
US6907484B2 (en) * 2002-09-24 2005-06-14 Sun Microsystems, Inc Method and apparatus for atomically changing selected bits within a register

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2209136B2 (de) * 1971-03-03 1974-01-31 International Business Machines Corp., Armonk, N.Y. (V.St.A.) Steuer- und Anpassungsschaltung für Datenverarbeitungsanlagen
DE2500087A1 (de) * 1974-01-03 1975-07-10 Cii Honeywell Bull System zur fernuebertragung von daten ueber leitungen zwischen einer datenverarbeitungseinheit und datenstationen
US4071887A (en) * 1975-10-30 1978-01-31 Motorola, Inc. Synchronous serial data adaptor

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4204888A (en) * 1975-05-19 1980-05-27 The Foundation: The Research Institute Of Electric And Magnetic Alloys High damping capacity alloy
US4124888A (en) * 1975-12-24 1978-11-07 Computer Automation, Inc. Peripheral-unit controller apparatus
US4133030A (en) * 1977-01-19 1979-01-02 Honeywell Information Systems Inc. Control system providing for the transfer of data in a communications processing system employing channel dedicated control blocks
US4126764A (en) * 1977-05-18 1978-11-21 Honeywell Information Systems Inc. Partial byte receive apparatus for digital communication systems
US4205200A (en) * 1977-10-04 1980-05-27 Ncr Corporation Digital communications system utilizing controllable field size

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2209136B2 (de) * 1971-03-03 1974-01-31 International Business Machines Corp., Armonk, N.Y. (V.St.A.) Steuer- und Anpassungsschaltung für Datenverarbeitungsanlagen
DE2500087A1 (de) * 1974-01-03 1975-07-10 Cii Honeywell Bull System zur fernuebertragung von daten ueber leitungen zwischen einer datenverarbeitungseinheit und datenstationen
US4071887A (en) * 1975-10-30 1978-01-31 Motorola, Inc. Synchronous serial data adaptor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MARTIN, J., Die Organisation von Datennetzen, Hanser-Verlag, München, 1972, S. 56-60 *

Also Published As

Publication number Publication date
CH645470A5 (fr) 1984-09-28
AU6150480A (en) 1981-03-26
CA1150847A (en) 1983-07-26
JPH0357667B2 (de) 1991-09-02
BE885417A (fr) 1981-01-16
JPS5651145A (en) 1981-05-08
US4261035A (en) 1981-04-07
AU539541B2 (en) 1984-10-04

Similar Documents

Publication Publication Date Title
DE3035506A1 (de) Daten-dialogsystem
DE69329684T2 (de) Vorrichtung mit hauptrechnerindikationssignalen
DE3043894C2 (de)
DE3586487T2 (de) Kohaerentes interface mit zurueckgeschleiften sende- und empfangsspeichern.
DE3546664C2 (en) Operating communication bus network for processors
DE69334165T2 (de) Netzwerkanpassungseinrichtung mit hauptrechnerunterbrechung und indikationsverwaltung
DE69323290T2 (de) Netzwerkanpassungseinrichtung mit Hauptrechnerindikationoptimierung
DE69122585T2 (de) Rekonfigurierbares Mehrzwecksystem zum Verarbeiten serieller Bitströme
DE69124743T2 (de) Vorrichtung zur Speicherung und Durchschaltung und Verfahren zur Datensicherung während der Speicherung
DE3786298T2 (de) Verfahren und Schalter zum Vermitteln von Informationen.
DE3114961C2 (de)
DE69331024T2 (de) Verfahren und Vorrichtungen zur Bildung von Protokollen
DE3248215C2 (de)
DE69634358T2 (de) Verzögerungsverringerung in der übertragung von gepufferten daten zwischenzwei gegenseitig asynchronen bussen
DE3222390A1 (de) Kanal-schnittstellenschaltungsanordnung
DE69326935T2 (de) Verfahren und Vorrichtung zur Übertragung von einem Datenstrom mit hoher Bitfolgefrequenz über unabhängige digitale Kommunikationskanäle
DE2921897A1 (de) Hardware/firmware-dialogsteuerlogik- system
DE3048614A1 (de) Datenverarbeitungssystem mit pruefeinrichtung
DE2821348A1 (de) Digitales dialogsystem
DE2854397A1 (de) Pufferspeichereinheit fuer ein datenverarbeitungssystem
DE19900245A1 (de) Vorrichtung und Verfahren zum Senden und Empfangen von USB-Isochrondaten
DE2400047A1 (de) Anordnung zur uebertragung von datenzeichen zwischen einer datenverarbeitungseinrichtung und einer uebertragungsleitung
DE2801611A1 (de) Verfahren und anordnung zum adressieren und speichern von daten in speichern mit wahlfreiem zugriff
DE3887552T2 (de) Zeitsteuerung für Doppelanschluss.
DE3586919T2 (de) Verfahren zur steuerung von informationsuebertragung.

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 3/04

8127 New person/name/address of the applicant

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US

8131 Rejection