DE3635106C2 - - Google Patents

Info

Publication number
DE3635106C2
DE3635106C2 DE3635106A DE3635106A DE3635106C2 DE 3635106 C2 DE3635106 C2 DE 3635106C2 DE 3635106 A DE3635106 A DE 3635106A DE 3635106 A DE3635106 A DE 3635106A DE 3635106 C2 DE3635106 C2 DE 3635106C2
Authority
DE
Germany
Prior art keywords
data
bit
block
words
frame error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3635106A
Other languages
English (en)
Other versions
DE3635106A1 (de
Inventor
Jan S. Redwood City Calif. Us Wesolowski
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.)
Ampex Corp
Original Assignee
Ampex Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ampex Corp filed Critical Ampex Corp
Publication of DE3635106A1 publication Critical patent/DE3635106A1/de
Application granted granted Critical
Publication of DE3635106C2 publication Critical patent/DE3635106C2/de
Granted legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Communication Control (AREA)
  • Dc Digital Transmission (AREA)

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Empfang von über einen seriellen Kommunikationskanal übertragenen Daten sowie eine Anordnung zu dessen Durchführung nach dem Oberbegriff des Patentanspruchs 1 bzw. dem Oberbegriff des Patentanspruchs 8.
Da moderne Fernsehgeräte zur Aussendung und Aufzeichnung komplexer werden, wird gemäß neuerer Systemphilosophie eine immer größere Anzahl von Teilen implementiert. Dabei handelt es sich unter anderem um die Realisierung einer Vielzahl von unterschiedlichen Geräteteilen, die jeweils eine eigene Ope­ ration durchführen, so daß sie für die Integration in ein einziges System miteinander kommunizieren müssen. Auf Grund der neuerlichen Digitalisierung von immer mehr Schaltungsan­ ordnungen werden in den heute gebräuchlichen Kommunika­ tionssystemen Digitaldaten für den Informationstransfer und die Steuerung verwendet. Speziell werden in einer Anzahl von Geräten aus Einfachheitsgründen serielle Datenübertragungen in asynchroner Form durchgeführt, um Daten- und Steuerin­ formation zwischen den Geräten zu transferieren.
Bei einer großen Anzahl von asynchron in einem seriellen Da­ tenformat miteinander kommunizierenden Geräten ist die Re­ alisierung von Kommunikationsprotokollen erforderlich, wel­ che standardisiert und für mehr als einen Gerätetyp verwend­ bar sind. Die natürliche Entwicklung der Systemphilosophie hat zu hierarchischen Protokollen wie beispielsweise Überwa­ chungsprotokollen, geführt. Ein Überwachungsprotokoll ist als Vorgang für einen Kommunikationskanal zum Zwecke der Übertragung von Steuer- und Datennachrichten von einem Gerä­ teteil zu anderen Geräten definiert. Das Überwachungsproto­ koll definiert die Priorität und die Prioritätsreihenfolge für die Kommunikation der das System bildenden Geräte rela­ tiv zueinander; das Format, die Betriebsarten und die Kommu­ nikationstypen, die mit dem Protokoll möglich sind; sowie spezielle bei der Implementierung des Protokolls verwendete Steuerzeichen.
Es ist generell beabsichtigt, daß das Überwachungsprotokoll Teil der Gesamtsystemphilosophie ist und die Verbindung pro­ grammierbarer und nichtprogrammierbarer Geräte ermöglicht, die zur Realisierung eines Operationssystems mit einer defi­ nierten Funktion erforderlich ist. Diese Art von Protokoll ermöglicht auch eine schnelle neue Ausgestaltung eines Sy­ stems, um unter Verwendung einer gegebenen Gruppe von Gerä­ ten oder Anlagen, welche nicht die gleichen sein müssen, mehr als eine definierte Funktion zu realisieren.
Ein speziell vorteilhafter Typ eines seriellen Datenkommuni­ kationsprotokolls, von dem das Verfahren der gattungsgemäßen Art ausgeht, ist in der von der SMPTE empfohlenen Norm RP113 beschrieben, die in "SMPTE Journal", Mai 1982 veröffentlicht ist. Diese höherwertigen Protokolle setzen digitale Steuer­ schnittstellen voraus, welche als nach anderen Normen arbei­ tend definiert sind. Beispielsweise setzt das genannte SMPTE-Protokoll eine digitale Schnittstelle voraus, welche nach einer vorgeschlagenen nationalen amerikanischen Norm ANSI PH22.207M arbeitet.
Programmierbare Mikroprozessoren können zur Implementierung von Kommunikationssteuerung in Fernsehgeräten verwendet wer­ den. Ihre Programmierflexibilität kann mit großem Vorteil bei der Realisierung eines Kommunkationsprotokolls verwendet werden, das für verschiedene Zwecke anwendbar und mit vielen Gerätearten kompatibel ist. Generell gehören kleine Mikro­ prozessoren zu einer Familie kompatibler integrierter Schaltkreise, welche Kommunikationsschnittstellenschal­ tungen für serielle Daten enthalten. Diese Schaltkreis­ familien besitzen ein genormtes Kommunikationsprotokoll, das generell seriell und synchron, jedoch mit höherwertigeren und komplexeren Fernsehprotokollen inkompatibel ist. Die Schnittstellen-Schaltkreise sind gewöhnlich mit Überwa­ chungsprotokollen inkompatibel, da sie die für die Kom­ munikation erforderlichen speziell definierten Steuerwörter nicht erzeugen oder detektieren. In vielen standardsierten asynchronen Kommunikations-Schaltkreisen ist speziell die in dem genannten SMPTE-Protokoll vorgesehene Unterbrechungs­ wortdetektierung für den Empfang und die Unterbrechungswort­ erzeugung bei der Übertragung nicht vorhanden. Das Unterbre­ chungszeichen gemäß dem genannten Protokoll ist durch 17 bis 20 Abstands-Bits gefolgt von wenigstens zwei Markierungs- Bits definiert, welche jeder Datenkommunikation vorausgehen.
Weiterhin besitzen viele in Verbindung mit kleinen Mikropro­ zessoren vewendete digitale Kommunikationsschnittstellen- Schaltkreise Möglichkeiten zur Detektierung eines seriellen Datenfehlers auf der Basis von Zeittakt- und Steuer-Bits, wie beispielsweise Start- und Stop-Bits. Treten diese Bits nicht in einem vorgegebenen Intervall auf, so erzeugt die Kommunikationsschnittstelle ein Datenzeittaktfehler-Signal, das oft als Datenrahmen-Fehlersignal bezeichnet wird und an­ zeigt, daß die seriellen Daten zwischen den beiden Steuer­ bits fehlerhaft sind. Wird in Verbindung mit diesen Schalt­ kreisen ein höherwertigeres Überwachungsprotokoll verwendet, so können die speziellen Zeichen des Protokolls bewirken, daß die Datenrahmenfehler-Schaltungsanordnung der Kom­ munikationsschnittstelle anzeigt, daß es sich bei einem Wort mit einem Fehler um gute Daten handelt oder daß vollständig gute Daten einen Fehler aufweisen. Dies ergibt sich durch Zeittaktung der speziellen Wörter eines Überwachungspro­ tokolls, die gegenüber normalen Datenwörtern eine unter­ schiedliche Anzahl von Bits besitzen und welche durch Stan­ dard-Kommunikaktionsschnittstellen-Schaltkreise nicht in einfacher Weise detektierbar sind.
Es sind zwar spezialisierte Kommunikationsschnittstellen- Schaltkreise verfügbar, die mit Übewachungsprotokollen kom­ patibel sind. Diese sind jedoch teurer als standardisierte Schnittstellen-Schaltkreise. Weiterhin sind die speziali­ sierten Schnittstellen-Schaltkreise mit bestimmten Familien von kleinen Mikroprozessoren inkompatibel, die, hinsichtlich Kosten und Größe, spezielle Vorteile bei der Verwendung in Fernsehgeräten besitzen.
Aus der US-PS 37 29 586 ist eine Schaltungsanordnung zur Erzeugung eines Datenrahmen-Fehlersignals bekannt geworden, das dann erzeugt wird, wenn empfangene Daten nicht richtig synchronisiert sind. Es handelt sich dabei um eine digitale Schaltungsanordnung zur Erzeugung eines "Fensters", das die Parameter für eine Neusynchronisation festlegt. Es wird dabei eine Entscheidung darüber getroffen, ob empfangene Daten einer Neusynchronisation zu unterwerfen sind. Diese Neusynchronisation erfolgt unmittelbar dann, wenn ein Bild­ rahmen-Fehlersignal erzeugt wird. Dies kann zu Fehlern füh­ ren, weil Datenwörter verloren gehen können.
Eine Schaltungsanordnung der vorstehend genannten Art ist auch aus der US-PS 40 10 325 bekannt geworden. Dabei erfolgt keine Übertragung von Datenwörtern mit einer Standard-Bit­ länge pro Datenwort gemeinsam mit Steuerwörtern, deren Bit­ länge größer als die Standard-Bitlänge der Datenwörter ist, über einen seriellen Kommunikationskanal. Hinsichtlich der Neusynchronisation treten dabei entsprechende Probleme wie bei der Schaltungsanordnung nach der US-PS 37 29 586 auf.
Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren der in Rede stehenden Art und eine Anordnung zu dessen Durchführung anzugeben, das bzw. die es beim Empfang bitseriell übertragener Daten ermöglicht, Steuerwörter mit einer von einer Standardlänge abweichende Bitlänge zu erken­ nen, ohne den Empfang nachfolgender Daten zu beeinflussen.
Diese Aufgabe wird bei einem Verfahren der eingangs genann­ ten Art erfindungsgemäß durch die Merkmale des kennzeichnenden Teils des Patentanspruchs 1 gelöst.
Eine Anordnung zu dessen Durchführung ist erfindungsgemäß durch die Merkmale des kennzeichnenden Teils des Patentan­ spruchs 8 gekennzeichnet.
Weiterbildungen sowohl hinsichtlich des erfindungsgemäßen Verfahrens als auch hinsichtlich der erfindungsgemäßen Anordnung sind Gegenstand von entsprechenden Unteransprüchen.
Die Erfindung wird im folgenden anhand von in den Figuren der Zeichnung dargestellten Ausführungsbeispiele näher erläutert. Es zeigt
Fig. 1 ein Systemblockschaltbild eines Kommunikationssystems für serielle Daten mit einem Mikroprozessor und einer Kommunikationsschnittstellen-Anordnung, die über einen seriellen Kommunikationskanal miteinander kommuniziert;
Fig. 2 ein detailliertes Schaltbild des Kommunikationssystems für serielle Daten gemäß Fig. 1;
Fig. 3 eine bildliche Darstellung eines Datenblocks des SMPTE-Kommunikationsprotokolls, wie es im System nach Fig. 2 verwendet wird;
Fig. 4 eine bildliche Darstellung unterschiedlicher Betriebszustände und Bit-Formate des Kommunikationssystems für serielle Daten gemäß Fig. 2;
Fig. 5A bis 5C jeweils ein Signaldiagramm verschiedener Signale für das Kommunikationssystem für serielle Daten nach Fig. 2;
Fig. 6 ein detailliertes Flußdiagramm eines Programms, das einen Kommunikationskanal für den Mikroprozessor des Systems nach Fig. 2 steuert;
Fig. 7 ein detailliertes Flußdiagramm eines Unterprogramms TOCP, das zur Informationsübertragung gemäß dem im System nach Fig. 2 verwendeten SMPTE-Protokoll Anwendung findet; und
Fig. 8 ein detailliertes Flußdiagramm eines Unterprogramms FMCP, das zum Informationsempfang gemäß dem im System nach Fig. 2 verwendeten SMPTE-Protokoll zur Anwendung kommt.
Fig. 1 zeigt generell eine Datenempfangsanordnung mit einem Mikroprozessor 10, der über eine digitale Kommunikationsschnittstellen-Anordnung 12 mit einem seriellen Kommunikationskanal 14 kommuniziert, der eine Sendeleitung Tx und eine Empfangsleitung Rcv aufweist. Die Kommunikationsschnittstellen-Anordnung 12 bildet in Verbindung mit Teilen A50, A66 eines Datenempfangsprogramms nach Fig. 8 eine Biterkennungsschaltung sowie mit einem Teil A62 dieses Programms eine Datenrahmen-Fehlererkennungsschaltung. Bitserielle Daten werden über die Sendeleitung Tx ausgesendet und über die Empfangsleitung Rcv empfangen. Die Kommunikationsschnittstellen-Anordnung 12 faßt die ankommenden seriellen Bits in Wörter einer vorgegebenen Bit-Länge zusammen und überträgt sie gesteuert von diesen zum Mikroprozessor 10. Abgehende Daten werden der Kommunikationsschnittstellen-Anordnung 12 vom Mikroprozessor in bitparallelen Wörtern zugeführt, welche dann in serielle Form überführt und über die Sendeleitung Tx ausgegeben werden.
Die Kommunikationsschnittstellen-Anordnung 12 spricht auf Steuerbefehle vom Mikroprozessor 10 an, um Daten auszusenden und zu empfangen. Zur Unterstützung der Kommunikationsoperation kann sie weiterhin Statusinformation zum Mikroprozessor liefern. Die Kommunikationsschnittstellen-Anordnung 12 ist für die serielle Datenkommunikation notwendig, da der Mikroprozessor 10 mit einer viel höheren Geschwindigkeit bzw. Baud-Folgefrequenz betrieben wird, wie dies für eine serielle Datenkommunikation der Fall ist, wobei lediglich die Zuordnung zu einzelnen Kommunikationsfunktionen zu einer Verlangsamung führt. Darüber hinaus erfolgt der Datentransfer für den Mikroprozessor 10 von Hause aus parallel, wobei die Schnittstellenanordnung für serielle Daten die Zusammenfassung der empfangenen Bits in Mehrbit- Wörter und die Zerlegung von Mehrbit-Wörtern in serielle Übertragungen besorgt. Normalerweise kann der Mikroprozessor 10 eine Vielzahl von Kommunikationskanälen und Schnittstellenanordnungen 12 steuern. Der in ein System integrierte Mikroprozessor 10 dient dazu, mit einer höherwertigeren Anordnung in der Steuerhierarchie zu kommunizieren und eine Systemfunktion für diese auszuführen oder als Überwachungssteuerung zu arbeiten. Um die Erläuterung der Erfindung übersichtlich zu halten, ist lediglich ein serieller Kommunikationskanal eines Systems dargestellt. Ersichtlich kann jedoch auch eine Ausdehnung auf Systeme vorgenommen werden.
Gemäß dem detaillierten Schaltbild einer bevorzugten Ausführungsform nach Fig. 2 kommuniziert der Mikroprozessor 10 über einen bidirektionalen Datenbus 11 mit einer Breite von 8 Bit mit der Schnittstellenanordnung 12, die durch einen asynchronen Kommunikationsschnittstellenadapter gebildet wird - nachfolgend auch kurz als Adapter bezeichnet. Der Mikroprozessor 10 und der Adapter 12 sind vorzugsweise standardisierte integrierte Schaltkreise der gleichen Schaltkreisfamilie. In der dargestellten Ausführungsform kommen Schaltkreise MC6800 und MC6850 der Firma Motorola Corporation in Schaumburg Illinois zur Anwendung. Die Funktionsweise dieser Schaltkreise ist im einzelnen in Datenblättern der Firma Motorola für die Schaltkreisfamilie 6800 beschrieben. Die Anschlußbezeichnung der Schaltkreise 10 und 12 sind diesen Datenblättern entnommen und werden im folgenden zur Kenntlichmachung von Signalverbindungen zu den Schaltkreisen verwendet. Die Funktionsweise der Schaltkreise 10, 12 als Funktion der in die bezeichneten Anschlüsse eingespeisten Signale ergibt sich aus den vorgenannten Datenblättern. Invertierte Signale sind mit einem Querstrichsymbol versehen, um negative wahre logische Pegel anzuzeigen.
Der Mikroprozessor 10 wird von einer Systemtaktstufe 16 gesteuert, die hochfrequente Taktsignale in einen Eingang CLK des Prozessors einspeist. Dieser Takt wird intern heruntergeteilt, um ein externes Taktsignal E mit einer Frequenz von 1 MHz auf einer Ausgangsleitung 15 des Mikroprozessors zur Zeittaktung und Speichertransferprozessen zu erzeugen. Der Systemtakt steuert einen Haupt-Speicherzeittaktzyklus, wobei der Takt E, der synchron mit dem Systemtakt bzw. mit einer Phase des Systemtaktes ist, für den Datentransfer zu und von sich vom Hauptspeicher unterscheidenden peripheren Geräten verwendet werden kann. Aus Übersichtlichkeitsgründen sind externe Speicher für den Mikroprozessor 10, wobei es sich um RAMS und ROMS handelt, nicht dargestellt.
Der Mikroprozessor 10 besitzt weiterhin Datenausgänge D0 bis D7 zur Übertragung oder zum Empfang eines Digitalwortes mit einer Breite von 8 Bit über den Datenbus 11. Ein Lese/Schreib-Steuerausgang R/ dient zur Festlegung der Richtung der Daten auf dem Datenbus 11, wobei ein hoher logischer Pegel Daten zum Mikroprozessor 10 und ein tiefer logischer Pegel Daten von diesem weg führt. Adreßausgänge A0 bis A15 ermöglichen eine Speicherabbildung von gesteuerten peripheren Geräten und eine Auswahl des Auslesens bzw. Einschreibens aus dem bzw. in den speziellen Speicherraum. Die Adreßausgänge A0 bis A15 werden durch einen Adreßdecoder 18 decodiert, welcher aus Kombinationen der Adreß-Bits Auswahlsignale S1, S2, . . ., SN erzeugt. Der Adreßdecoder 18 wird durch das Ausgangssignal von einem mit VMA bezeichneten Anschluß des Mikroprozessors 10 wirksam geschaltet. Dieses Signal erzeugt der Mikroprozessor zur Adressierung eines virtuellen Speichers in seinem Speicherraum. Der Mikroprozessor 10 dient zur Handhabung von Unterbrechungssignalen an einem Eingang durch Überführung der Programmsteuerung in eine Unterbrechungsvektoradresse.
Der Adapter 12 enthält mit dem Datenbus 11 verbundene bidirektionale Datenanschlüsse D0 bis D7. Über diese Anschlüsse werden Daten- und Steuerinformation vom Mikroprozessor 10 zum Adapter 12 sowie vom Adapter zum Mikroprozessor geführt. Der Adapter 12 wird synchron mit dem externen Takt des Mikroprozessors 10 betrieben, da ein Takteingang E über die Taktleitung 15 mit dem Ausgangsanschluß E des Mikroprozessors verbunden ist. Ein Lese/Schreib-Steuereingang R/ des Adapters 12 ist mit dem Lese/Schreib-Steuerausgang R/ des Mikroprozessors 10 verbunden und legt die Richtung des Datentransfers vom Adapter fest.
Für den Adapter 12 erfolgt die Festlegung, ob die digitale Information im Falle einer Schreiboperation Daten- oder Steuerinformation ist, oder im Falle einer Leseoperation Daten- oder Statusinformation ist, über ein logisches Ausgangssignal A0 auf der Mikroprozessor-Adreßleitung A0, die mit einem Registerauswahleingang RS des Adapters verbunden ist. Die vom Adapter 12 übertragene Information stellt Daten dar wenn eine Leitung 17 ein Signal mit hohem logischen Pegel führt, während sie Steuer- oder Statusinformation darstellt, wenn diese Leitung ein Signal mit tiefem logischen Pegel führt. Der Adapter 12 wird über ein Signal mit tiefem logischen Pegel auf der zu einem Eingang führenden Auswahlleitung S3 wirksam geschaltet.
Der Adapter 12 enthält weiterhin einen seriellen Datenausgang TxD, welcher mit einem invertierenden Eingang eines Zweiphasen-Leitungstreibers 26 verbunden ist. Ein nicht-invertierender Eingang dieses Leitungstreibers 26 ist mit einer positiven logischen Spannung +V verbunden. Ein Signal von einem Sendebereitschaftsausgang wird in einem Inverter 24 gepuffert und invertiert, bevor es in einen Freigabeeingang EN des Leitungstreibers 26 eingespeist wird. Serielle Ausgangsdaten vom Ausgang TxD werden auf der Sendeleitung Tx als zweiphasiges Signal (positive und negative logische Pegel) zwischen Leitern B und A zu einem mit dem Kommunikationskanal 14 verbundenen Empfangsgerät übertragen. Wenn der Adapter auf Sendung gesteuert ist, so sendet er synchron mit einem in einen Eingang TxC eingespeisten Sendetakt serielle Daten-Bits zum Leitungstreiber 26, bis ein internes Senderegister leer ist.
Zum asynchronen Empfang von serieller Dateninformation ist der Adapter über einen Empfangseingang RxD mit dem Ausgang eines Leitungsempfängers 28 verbunden. Zweiphasenleiter B und A der Empfangsleitung Rcv sind mit dem Kommunikations­ kanal 14 verbunden und nehmen Daten von einem angeschlossenen Sendegerät auf. Der Leitungsempfänger 28 empfängt über ein zwischen einer Quelle positiver logischer Spannung +V und Erde liegendes Widerstandsnetzwerk 32, 34 und 36 zweiphasige serielle Daten. Ein nicht-invertierender Eingang des Leitungsempfängers 28 ist mit einem Anschluß des mittleren Widerstandes 34 des Netzwerkes und ein invertierender Eingang des Leitungsempfängers mit dem anderen Anschluß des Widerstandes 34 verbunden. Der Leitungsempfänger 28 puffert und überführt die zweiphasige digitale Information des Empfangskanals Rcv in ein Signal mit einem einzigen logischen Pegel, das in den Empfangseingang RxD des Adapters 12 eingespeist wird.
Das Senden und der Empfang von seriellen digitalen Bits wird durch einen Sendetakt und einen Empfangstakt zeitlich getaktet, die gewöhnlich mit einem Mehrfachen der Baud-Folgefrequenz erzeugt werden. Bei der vorliegenden speziellen Ausführungsform erzeugt eine Taktschaltung 20 ein hochfrequentes Taktsignal mit einer Frequenz von 0,6144 MHz (16·38,40 kHz) für den Sendetakteingang TxC des Adapters, wobei das gleiche Taktsignal in den Empfangstakteingang RxC über ein Logikgatter 22 eingespeist wird.
Der in den Eingang RxC eingespeiste Empfangstakt von der Taktschaltung 20 wird durch einen logischen Pegel an einem Ausgang Q einer bistabilen Schaltung 30 in Form eines D-Flip-Flops wirksam geschaltet und gesperrt. Die bistabile Schaltung 30 ist mit ihrem Direktsetzeingang und mit ihrem Eingang D an eine positive logische Spannung +V angeschaltet. Die bistabile Schaltung 30 besitzt einen mit dem Ausgang des Leitungsempfängers 28 verbundenen Takteingang CLK. Weiterhin kann die bistabile Schaltung 30 durch ein Auswahlsignal auf einer Leitung 38 rückgesetzt werden, das durch den Adreßdecoder 18 erzeugt und in einen Direkt-Rücksetzeingang eingespeist wird.
Der Adapter 12 empfängt Daten-Bytes vom Mikroprozessor 10 über den Datenbus 11 und speichert sie in einem internen Übertragungsregister, bis der Mikroprozessor 10 einen Befehl zur Übertragung gibt. Danach überführt der Adapter 12 die im Übertragungsregister gespeicherten Bytes in serielle Form. Während der Übertragung addiert der Adapter 12 zu jedem seriellen Wort ein Anfangsbit, ein Paritäts-Bit und ein Endbit. Die seriellen Daten-Bits werden in zeitlich getakteten Intervallen gemäß dem Sendetakt übertragen, bis das Übertragungsregister leer ist. Die Bedingung, die das Leersein des Übertragungsdatenregisters anzeigt, wird dem Mikroprozessor 10 durch ein in seinen Eingang IRQ vom Adapter 12 eingespeistes Unterbrechungssignal angezeigt.
Um von Sende- auf Empfangsbetrieb umzuschalten, muß der Adapter 12 mit einem richtigen Steuerwort geladen werden. Dann wird der Lesebetrieb aktiviert, um Daten von einem Empfangsregister im Adapter 12 über den Datenbus 11 zum Mikroprozessor 10 zu übertragen. Das Empfangsregister wird asynchron vom Leitungsempfänger 28 gefüllt, welcher Daten in den Eingang RxD des Adapters 12 einspeist. Wenn das Empfangsregister voll ist, meldet es diesen Zustand durch Unterbrechen des Mikroprozessors 10 mit einem Signal . Die Aufnahme der seriellen Daten vom Leitungsempfänger 28 wird durch den Empfangstakt am Eingang RxC zeitlich getaktet, um die seriellen Daten in Bit-Intervalle zwecks ihrer Verkettung in Wörter mit 8 Bit zu trennen. Der Adapter 12 trennt Anfangs-, Paritäts- und Endbit von den seriellen Daten vor deren Übertragung in einem Wort mit 8 Bit in den Mikroprozessor 10.
Der Adapter 12 enthält eine Fehlerdetektorschaltung zur Bestimmung von Datenrahmen- und Paritätsfehlern in den empfangenen seriellen Datenwörtern. Die Fehlerdetektorschaltung dient zum Schutz des Kommunikationssystems gegen Datenrahmenfehler und Zeittaktfehler, wenn sich die Baud-Folgefrequenz des sendenden Gerätes ändert oder die serielle Übertragung unterbrochen wird. Die Schaltung enthält einen Datenrahmenfehlerzähler, welcher das Intervall von einem Anfangsbit bis zu einem Endbit zeitlich taktet. Tritt ein Endbit nicht auf, bevor der Zähler durch zählendes Intervall zeitlich ausläuft, wird durch den Adapter 12 ein Datenrahmenfehlersignal erzeugt. Dieses Datenrahmenfehlersignal für jedes Datenwort kann durch den Mikroprozessor 10 durch Anforderung eines Status-Byte vom Status-Register des Adapters 12 gelesen werden, wenn die Daten gelesen werden. Das Status-Register zeigt auch an, ob ein Paritätsfehler für das letzte empfangene Wort vorhanden ist; weiterhin zeigt es auch den Status der Sende- und Empfangsregister an. Das Auftreten eines Anfangsbits nach einem Datenrahmenfehler führt zu einem erneuten Starten des Abtastens des Adapters 12 und des Datenrahmenfehlerzählers, um die Zeittaktung des Rahmens des nächsten Datenwortes zu starten.
Anhand der Fig. 3 und 4 wird im folgenden ein Teil des generellen Überwachungsprotokolls gemäß der SMPTE-Empfehlung RP113 beschrieben. Der Mikroprozessor 10 bzw. der "Tributpflichtige", wie er im Protokoll genannt wird, kann einen von fünf Hauptoperationszuständen besitzen. Im ersten Zustand bzw. Leerlaufzustand führt der Mikroprozessor 10 keine Kommunikationen sondern andere Systemoperationen aus. Der Leerlaufzustand für den speziellen Kommunikationskanal wird lediglich als Funktion eines speziellen Steuerwortes bzw. Pausezeichens des Protokolls erregt. Der nächste Zustand ist der aktive Zustand und damit die Voraussetzung für einen Übergang zu den anderen Operationszuständen. Der Mikroprozessor 10 tritt immer dann in diesen Zustand ein, wenn ein Pausezeichen empfangen und detektiert wird. Die anderen drei aktiven Zustände sind ein Abfrage-, Auswahl- und Gruppenauswahlzustand, welche durch spezielle Programmierung im Mikroprozessor gehandhabt werden können. Die Beschreibung dieser Zustände ist jedoch für das Verständnis der Erfindung nicht erforderlich.
Für das in Fig. 2 dargestellte Kommunikationssystem besteht der aktive Operationszustand aus Kommunikationen mit dem in Fig. 3 dargestellten Format. Für Datenempfang wird ein Pausezeichen detektiert und dann über den Kommunikationskanal ein Datenblock von einem Kommunikationsgerät empfangen. Andererseits wird für das Senden das Pausezeichen erzeugt und sodann ein Datenblock über den Kommunikationskanal übertragen. Jedem Datenblock muß ein Pausezeichen vorausgehen, so daß jedes Kommunikationsgerät des Systems fähig sein muß, dieses spezielle Zeichen zu erzeugen und es zu empfangen bzw. zu detektieren. Jeder Datenblock besteht aus einer Vielzahl von Wörtern mit 8 Bit einschließlich eines Byte- Zählwortes, worauf die Anzahl von Datenwörtern mit 8 Bit in dieser Byte-Zählung folgt. Der Datenblock wird durch ein Prüfsummenwort mit 8 Bit beendet, welches das Komplement der Summation aller Datenblockwörter einschließlich der Byte-Zählung ist.
Die Operationszustände des Kommunikationssystems sind in Fig. 4 dargestellt und darin durch serielle Bits repräsentiert. Es ist darauf hinzuweisen, daß dargestellte Einsen und Nullen lediglich ein Beispiel für Markierungen und Abstände sind und leicht durch entgegengesetzte Pegel ersetzt werden können. Für dieses spezielle Protokoll wird jedoch ein Leerlaufzustand durch die Übertragung aller Einsen in den seriellen Bit-Stellen repräsentiert. Das Pausezeichen bzw. das spezielle Startzeichen für den Datenblock wird durch 17 bis 20 Abstands-Bits gebildet, die in einem Minimum von zwei Markierungs-Bits oder Einsen enden, wobei dieses Zeichen zur Synchronisation aller mit der Schnittstelle verbundenen Geräte dient. Danach beginnt der durch eine Vielzahl von seriellen Standard-Datenwörtern gebildete Datenblock. In diesem Protokoll enthält das serielle Standard-Datenwort ein Anfangsbit, 8 Datenbits, ein Paritäts-Bit sowie ein Endbit.
Fig. 5A zeigt den Zeittakt des Empfangs des Pausezeichens und des Datenblocks relativ zur Datenrahmen-Fehlersignal-Erzeugung durch den Adapter 12 ohne die erfindungsgemäßen Maßnahmen. Gemäß Fig. 5A wird das Pausezeichen durch 15 bis 20 Abstands-Bits gebildet, die durch wenigstens 2 Markierungs-Bits beendet werden. Der Leerlaufzustand des Kanals bewirkt keine Erzeugung eines Datenrahmen-Fehlersignals, da dieser gesamte Markierungszustand die Tastung und den Fehlerzähler nicht rücksetzt. Wenn der Adapter 12 das Pausezeichen empfängt, so setzt das erste Abstands-Bit die Datenrahmenfehlerschaltung zurück. Beim elften Bit wird ein Datenrahmen-Fehlersignal erzeugt, da der Adapter ein Endbit in diesem Zeitpunkt im Datenwort zu sehen erwartet. Nach Erzeugung dieses Datenrahmen-Fehlersignals nimmt das Gerät jedoch an, daß der an seinem Eingang noch vorhandene logische Nullpegel den Beginn des nächsten Wortes anzeigt. Am Ende des nächsten Wortintervalls (11 Bits) sucht der Adapter wiederum das Endbit, wobei jedoch, wenn das Pausezeichen bereits beendet ist, diese Zeitperiode unmittelbar nach der Unterbrechung oder während eines der Bits des ersten Wortes auftreten kann. Ob ein Datenrahmen-Fehlersignal erzeugt wird oder nicht, wird durch den Bit-Wert festgelegt, bei dem die Bestimmung durchgeführt wird. Da diese Bestimmung in der Mitte des ersten Wortes stattfindet, kann sie einen Datenrahmenfehler erzeugen oder nicht und einen zweiten Fehler bedingen. Die Schnittstellenanordnung detektiert das Ende des Pausezeichens nicht. Weiterhin wird das erste Wort zeitlich nicht richtig getaktet, so daß an seinem Ende eine falsche Datenrahmenfehleranzeige erzeugt werden kann.
Diese Probleme werden durch Detektieren des Starts des Pausezeichens und seiner Beendigung sowie durch neues zeitliches Takten der Datenrahmenfehlerschaltung auf das erste echte Datenwort gelöst. Der Start des Pausezeichens wird als erster Datenfehler einer neuen Datenübertragung detektiert. Dies erfolgt im Mikroprozessor 10 durch Lesen des Status des Adapters 12, um festzulegen, ob ein empfangenes Byte einen Datenrahmenfehler aufweist. Tritt der Datenrahmenfehler nach dem Empfang des letzten Wortes eines Datenblocks auf, so wird er als Beginn eines Pausezeichens gewertet. Der Unterbrechungsdetektor ist normalerweise bis dahin abgeschaltet, so daß die Datenrahmenfehlerschaltung normale Datenrahmenfehler detektiert. Im Zeitpunkt des Starts einer Unterbrechung setzt der Mikroprozessor 10 die bistabile Schaltung 30 über den Adreßdecoder 18 und die Auswahlleitung 38 zurück. Die Signalverläufe für diese Operation sind in Fig. 5B für das Ausgangssignal des Leitungsempfängers 28 dargestellt, das die seriellen Daten in den Adapter 12 eingibt. In Fig. 5C sind die Signalverläufe für das Ausgangssignal am Ausgang Q der bistabilen Schaltung 30 dargestellt.
Das Rücksetzen der bistabilen Schaltung 30 bewirkt die Abschaltung des Empfangstaktes vom Empfangseingang RxC des Adapters 12. Dies bewirkt, daß der Adapter aufhört, ankommende Bits anzunehmen, und daß der Datenrahmenfehlerzähler auf seinem laufenden Zählwert gehalten wird. Der Empfangstakt wird abgeschaltet, bis das Pausezeichen an einer Flanke 40 mit den letzten beiden Markierungs-Bits endet. Der Übergang von einer logischen 0 auf eine logische 1 dieser Markierungs-Bits taktet die bistabile Schaltung 30, wodurch der positive logische Pegel von seinem Eingang D auf seinen Ausgang Q übertragen wird. Der positive logische Pegel am Ausgang Q der bistabilen Schaltung 30 in einer Flanke 33 schaltet den Empfangstakt wirksam, um die Zeittaktung der vom Leitungsempfänger 28 ankommenden Bits wiederum zu beginnen. Nach Detektierung des Datenrahmenfehlers wird der Datenrahmenfehlerzähler durch einen vom Mikroprozessor zum Adapter gesendeten Rücksetzbefehl rückgesetzt. Da die Annahme von ankommenden Bits abgeschaltet ist, bis sich das Pausezeichen ändert, wird der Datenrahmenfehlerzähler zeitlich neu richtig getaktet, um mit dem ersten Anfangsbit in einer Flanke 46 des ersten Worts im Datenblock zu zählen, wie dies sein muß. Danach wird der Unterbrechungsdetektor des Systems abgeschaltet und es werden Datenrahmenfehler durch den Adapter 12 zeitlich normal getaktet. Da das Pausezeichen bereits festgestellt worden ist und das Ende des Datenblockes (Prüfsumme) noch nicht detektiert worden ist, sind die während dieser Zeit erzeugten Datenrahmenfehler als wahre Datenfehler bekannt und werden als solche durch den Mikroprozessor 10 erkannt.
Die Fig. 6, 7 und 8 zeigen Programmflußdiagramme der Operationsfunktionen des in einem ROM-Speicher des Mikroprozessors 10 gespeicherten Programms zur Steuerung des seriellen Datenflusses durch den Kommunikationskanal 14. Normalerweise ist diese Programmierung Teil eines größeren Programms und wird in diesem Zusammenhang erläutert. Allerdings wird lediglich das Kommunikations-Teilprogramm zur Erläuterung der Erfindung im einzelnen beschrieben. Fig. 6 zeigt das Auslösungs-Teilprogramm in einem Block A10, das zur Aussendung von Steuerwörtern vom Mikroprozessor 10 zum Adapter 12 verwendet wird, wodurch das für das System gewünschte Datenformat angezeigt wird. Dieses Datenformat kann die Anzahl von Bits in einem Wort, ungerade oder gerade Parität, die Anzahl von Endbits und die Baud-Folgefrequenz enthalten, wie dies durch den Kommunikationstaktgenerator 20 festgelegt wird. Nach der Auslösung startet das Programm generell eine oder mehrere Hauptprogrammschleifen (nicht dargestellt), welche die durch den Mikroprozessor 10 ausgeführten Operationen enthalten, wenn ein Leerlaufkommunikationszustand für diesen Kanal vorliegt.
Das Kommunikations-Teilprogramm gemäß Fig. 6 wird durch ein konventionelles Unterbrechungshandhabungs-Teilprogramm A12 eingeführt, wenn der Adapter 12 den Mikroprozessor 10 unterbricht. Das Unterbrechungshandhabungs-Teilprogramm ordnet weitere Kommunikations-Ein/Ausgabe- und Periphergeräte-Unterbrechungen zur Bedienung des Kommunikationskanals 14 und des Adapters 12. Unter der Annahme, daß das Programm keine Anforderungen für die Bedienung höherwertigerer Geräte aufweist und daß die Unterbrechung wirksam geschaltet wird, wird die Programmsteuerung auf das Kommunikations-Teilprogramm überführt.
Erfolgt der Eintritt in das Kommunikations-Teilprogramm, so beginnt das Programm mit dem Lesen des Status-Byte und einem Datenwort aus dem Empfangsregister des Adapters 12 in einem Block A14. Das aus dem Adapter 12 ausgelesene Datenwort wird in einem Block A16 in einer CPTEMP bezeichneten Stelle des Mikroprozessorspeichers zwischengespeichert. Danach liest der Mikroprozessor 10 in einem Block A18 ein Kommunikationskennzeichen, das im Speicher gespeichert wird, um den Status des Kommunikations-Datenkanals und anderer Operationskennzeichen anzuzeigen.
Das Kommunikationskennzeichen zeigt an, ob das Kommunikationssystem sich in einem Sende- oder Empfangsbetrieb befindet und überführt die Steuerung auf der Basis dieser Entscheidung von einem Entscheidungsblock A20 entweder zu einem Block A22 oder einem Block A24. Wenn der Kommunikationskennzeichen-Status anzeigt, daß sich das System in einem Sendebetrieb befindet, so wird die Steuerung in den Block A22 überführt, in dem ein Sende-Unterprogramm TOCP abgerufen wird. Legt das Programm andererseits fest, daß sich das System in einem Empfangsbetrieb befindet, so wird die Steuerung in den Block A24 überführt, in dem ein Empfangs-Unterprogramm FMCP abgerufen wird.
Fig. 7 zeigt das Systemflußdiagramm des Sende-Unterprogramms TOCP. Über den Kommunikationskanal 14 zu übertragende Daten werden in einem Sendedatenpuffer in einem RAM-Speicher des Mikroprozessors in dem in Fig. 3 dargestellten Format gespeichert. Vor dem Beginn des Aussendens eines Datenblocks wird durch den Mikroprozessor ein Pausezeichen erzeugt und es ergeht ein Befehl an den Adapter 12, das spezielle Zeichen zu übertragen. Das Zeichen wird durch Befehle erzeugt, welche den Adapter 12 veranlassen, eine Folge von Abstands- oder Markierungszeichen spezieller Länge zu erzeugen. Das Sende- Unterprogramm TOCP wird dann zur Erzeugung des Restes des Datenblockes eingeführt. In einem Entscheidungsblock A26 wird zunächst bestimmt, ob eine Sende-Byte-Zählung TBYTCNT Null ist. Ist dies der Fall, so handelt es sich um eine Anzeige, daß alle Bytes im Datenblock gesendet worden sind und das Unterprogramm den Sendebetrieb beenden sollte. Dazu wird in Blöcken A40 bis A46 ein Beendigungsweg genommen, um zunachst ein Sendekennzeichen im Kommunikationskennzeichenwort rückzusetzen, ein Pausezeichen im Kommunikationskennzeichenwort rückzusetzen und den Empfangsbetrieb wirksam zu schalten. Das Rücksetzen des Pausezeichens schaltet das System wirksam, um die Detektion des Starts des Pausezeichens zu beginnen. Danach löscht das Programm in einem Block A46 die Unterbrechung oder schaltet diese wirksam, um eine empfangene Nachricht handhaben zu können.
Ist jedoch ein Datenblock nicht vollständig übertragen worden, so überführt ein negativer Zweig von der Entscheidung im Block A26 die Steuerung zu einem Entscheidungsblock A28. In diesem Block wird bestimmt, ob das Unterprogramm das letzte Byte des Datenblocks sendet oder nicht. Ist der Test bestätigend, so wird die Steuerung zu einem Block A30 überführt, in dem eine im Sendedatenregister gespeicherte Prüfsumme für den Block zum Adapter 12 gesendet wird. Ist das letzte Wort nicht gesendet worden, so nimmt das Programm einen Weg zu einem Block A32, in dem die zu sendenden Daten aus dem Senderegister ausgelesen werden. Dieses Datenwort wird dann in einem Block A34 zum Adapter 12 gesendet. Danach wird in einem Block A36 ein Sendedatenregister-Zeiger TBUF inkrementiert und in einem Block A38 die Sende-Wort-Zählung TBYTCNT dekrementiert. Nach dem Rücksetzen der Speicherzeiger wird in einem Block A46 die Unterbrechung gelöscht, um das System zum Empfang von Daten oder zur Ubertragung eines weiteren Wortes vom Sendedatenregisters während des nächsten Zyklus vorzubereiten.
Fig. 8 zeigt ein detailliertes Flußdiagramm des Empfangs- Unterprogramms FMCP, das durch das Unterbrechungshandhabungs-Unterprogramm und das Kommunikations-Unterprogramm eingegeben wird, wenn der Adapter 12 dem Mikroprozessor 10 anzeigt das ein volles Wort im Empfangsregister zusammengesetzt ist und zu einem Empfangsdatenregister des Mikroprozessors übertragen werden soll. Das Empfangsdatenregister besitzt das in Fig. 3 dargestellte Format und enthält ebenso wie das Senderegister Worträume für Byte-Zähldaten und eine Prüfsumme. Nachdem das Empfangs-Unterprogramm durch die Übertragungssteuerung von dem Unterbrechungshandhabungs-Unterprogramm und dem Haupt-Kommunikations-Unterprogramm eingegeben ist, erfolgt sofort eine Prüfung durch das System dahingehend, ob das Empfangskennzeichen im Kommunikationskennzeichenwort in einem Block A48 zurückgesetzt ist. Ist das Empfangskennzeichen abgeschaltet, so läuft das Programm aus und nimmt keine Daten vom Adapter 12 auf.
Ist das Empfangskennzeichen wirksam geschaltet, so schreitet das Programm zu einem Block A50 fort, in dem ein Test durchgeführt wird, um zu bestimmen, ob das empfangene Datenwort Teil eines Pausezeichens ist. Das erste Pause-Byte wird durch den ersten Datenrahmenfehler angezeigt, der nach dem Rücksetzen des Pausezeichens gefunden und ein Datenwort mit insgesamt nur Nullen erzeugt wurde. Ist dies ein Anfangs-Unterbrechungs-Byte, so ist der Start eines Pausezeichens detektiert worden. In einem Block A52 wird dann das Ende der Unterbrechungsfeststellung durch Rücksetzen der bistabilen Schaltung 30 bestimmt. Da die Rücksetzleitung der bistabilen Schaltung 30 sich in der Speicherabbildung des Mikroprozessors 10 befindet, betätigt die Adressierung der der Rücksetzleitung zugeordneten Speicherstelle diese Stufe. Nachdem die bistabile Schaltung 30 im Block A52 geschaltet ist, setzt der Mikroprozessor den Adapter 12 zurück, um den Datenrahmenfehlerzähler rückzusetzen und die Aufnahme eines neuen Datenwortes vorzubereiten, wenn der Empfangstakt schließlich wieder wirksam geschaltet wird. Das Programm schaltet danach in einem Block A56 das Empfangskennzeichen wirksam und löscht den der Empfangsprüfsumme zugeteilten Raum im Empfangsdatenpuffer.
Das Programm fährt in einem Block A60 durch Rücksetzen der Kommunikationskennzeichen im Kommunikationskennzeichenwort fort und setzt das Pausezeichen in einem Block A62. Das Setzen des Pausezeichens zeigt dem Programm an, daß es sich um den ersten detektierten Datenrahmen­ fehler handelt und daß das System nunmehr bereit ist, die Beendigung des Pausezeichens zu überwachen. Das Programm kehrt dann zurück, bis die nächste Unterbrechung eine Überführung der Steuerung auf den Beginn des Starts des Empfangsprogramms FMCP bewirkt. Das Programm schreitet zu den Blöcken A48 bis A50 fort. Da das nächste empfangene Wort kein Unterbrechungs-Byte ist, schreitet das Programm zu einem Block A64 fort, in dem es eine Prüfung hinsichtlich eines Empfangsfehlerkennzeichens im Kommunikationskennzeichenwort durchführt. Ist das Empfangsfehlerkennzeichen gesetzt, so ist dies eine Anzeige dafür, daß entweder eines der vorhergehenden Wörter oder das vorhandene Wort fehlerhaft ist, wobei das Programm sofort ausläuft. Das Programm läuft beim Empfang eines Fehlers durch Setzen des Empfangsfehlerkennzeichens im Kommunikationskennzeichenwort im Block A96 und nachfolgendes Setzen eines Kennzeichens für ein in Ordnung befindliches System in einem Block A98 auf einen fehlerhaft empfangene Daten anzeigenden Wert RCVBAD aus.
Wird das Fehlerkennzeichen im Block A64 nicht gesetzt, so fährt das Programm in einem Block A66 mit einem Test hinsichtlich des Setzens des Pausezeichens fort. Ist das Unterbrechungskennzeichen nicht gesetzt, so bedeutet das, daß das Programm sich irgendwo in der Mitte zwischen dem Lesen von Daten befindet und zu einem Block A76 fortschreiten kann. Ist das Pausezeichen jedoch gesetzt, so ist das eine Anzeige dafür, daß das System das erste Wort des Datenblockes, d. h. die Byte-Zählung, empfangen hat. Das Programm muß daher die Byte-Zählung speichern und den Empfang des Restes des Datenblockes vorbereiten. Dies erfolgt im Datenblock durch Rücksetzen des Pausezeichens in einem Block A68 und nachfolgende Prüfung hinsichtlich eines Kommunikationsfehlers in einem Block A70. Wird ein Kommunikationsfehler gefunden, so wird das Programm zu dem die Blöcke A96 und A98 umfassenden Auslaufweg überführt, wie dies oben beschrieben wurde.
Ist jedoch kein Kommunikationsfehler vorhanden, so werden in einem Block A72 die empfangenen Daten, welche in der mit CPTEMP bezeichneten Speicherstelle gespeichert wurden, gegen eine Konstante getestet, um zu bestimmen, ob die Byte-Zählung richtig ist. Ist dies der Fall, so schreitet das Programm zu einem Block A74 fort, in dem die Byte-Zählzahl in die mit RBYTCNT bezeichnete Speicherstelle gebracht wird. Die beiden Wege im Programm kommen nunmehr in einem Block 76 zusammen, in dem der Wert in der Speicherstelle CPTEMP in die durch den Zeiger RBUFPTR adressierte Empfangspufferstelle geladen wird. Der Wert in der Speicherstelle CPTEMP wird dann in einem Block A78 der Empfangsprüfsumme hinzuaddiert und der Empfangsregisterzeiger in einem Block A80 inkrementiert. Danach wird in einem Block A82 die Empfangs-Byte-Zählung RBYTCNT dekrementiert und ein Test verwendet, um zu bestimmen, ob dies das letzte Byte im Datenblock ist. Ist dies der Fall, so läuft das Programm durch Speicherung des Kommunikationskennzeichens in einem Block A88 aus, bevor es zum Haupt-Unterprogramm zurückkehrt.
Wurde das letzte Byte nicht empfangen so nimmt das Programm einen anderen Weg zu einem Block A86, in dem das Empfangsfehlerkennzeichen getestet wird. Ist dieses gesetzt, so läuft das Programm durch einen durch die Blöcke A96 und A98 im oben beschriebenen Sinne gebildeten Fehlerweg aus. Sodann wird die Empfangsprüfsumme getestet, um zu bestimmen, ob sie gleich Null ist. Da das letzte Byte jedes Datenblocks eine Prüfsumme ist, muß die Addition aller Datenblock-Bytes im Ergebnis zur Erzeugung einer Null führen. Ist dies nicht der Fall, so sind die Daten nicht richtig empfangen worden und es wird vor der Programmrückkehr wiederum der Fehler durch einen Auslaufweg durch die Blöcke A96 und A98 festgestellt.
Weisen die Daten jedoch keine Fehler auf, so wird das Empfangsdatenregister in einem Block A92 in seine endgültige Bestimmung überführt. Dabei kann es sich um die Verwendung in einem der Unterprogramme des Hauptprogramms des Mikroprozessors 10 oder um die Ausnutzung durch einen anderen Kommunikationskanal und ein anderes Programm handeln. Der Block A92 repräsentiert die Übertragung der Daten entweder zu einem sie für eine Neuaussendung haltenden Register oder zur Verwendung durch ein anderes Programm des Mikroprozessors 10. Danach wird in einem Block A94 im Systemkennzeichen für die Kommunikation ein Bit gesetzt, das anzeigt, daß die Empfangsdaten in Ordnung sind, bevor das Programm ausläuft.

Claims (9)

1. Verfahren zum Empfang von Daten, die über einen seri­ ellen Kommunikationskanal in Form einer Folge von Datenworten mit einer Standard-Bitlänge pro Datenwort gemeinsam mit Steuerwörtern übertragen werden, deren Bitlänge größer ist als die Standard-Bitlänge der Datenwörter, wobei die Bitlänge der Wörter empfangsseitig erfaßt und ein Datenrahmen-Fehlersignal erzeugt wird, wenn die erfaßte Bitlänge von der Standard-Bitlänge abweicht, dadurch gekennzeichnet, daß nach der Erzeugung des Datenrahmen-Fehlersignals im Zuge des Empfangs eines Steuerworts die empfangsseiti­ ge Einordnung übertragener Daten in Datenwörter bis zum Ende dieses Steuerworts unterbrochen und erst nach dem Ende des Steuerworts wieder fortgesetzt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Steuerwort den Anfang eines Blocks von Datenwörtern bezeichnet.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß das Steuerwort ein Pausezeichen (Break) zur Aktivierung eines empfangsseitigen Geräts ist.
4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeich­ net, daß bei Erzeugung des Datenrahmen-Fehlersignals festgestellt wird, ob derzeit ein Block von Datenwör­ tern empfangen wird, und wenn kein Block von Datenwör­ tern empfangen wird, festgestellt wird, ob ein Steuer­ wort empfangen wird.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, daß zur Feststellung, ob derzeit ein Block von Datenwörtern empfangen wird, die Anzahl der Datenwörter während des Empfangs des Blocks von Datenwörtern gezählt wird und ermittelt wird, ob die gezählte Anzahl kleiner als eine empfangsseitig gespeicherte, einen Sollwert für die Anzahl an Datenworten pro Block repräsentierende Zahl ist.
6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß die über den Kommunikationskanal zugeführten Daten abhängig von empfangsseitig erzeug­ ten Taktimpulsen erfaßt werden und für die Unterbre­ chung des Datenempfangs die Erzeugung der Taktimpulse gesperrt wird.
7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, daß die Erzeugung der Taktimpulse abhängig von Daten mit einem das Ende des Steuerworts repräsentierenden, vorbestimmten Inhalt fortgesetzt wird.
8. Anordnung zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 7, bei welchem jedes der über den Kommunikationskanal (14) Bit-seriell übertragenen Datenwörter eine vorbestimmte Anzahl Bits und die Steuerwörter eine Anzahl Bits größer als die vorbe­ stimmte Anzahl haben und die Wörter Bits enthalten, die den Anfang und das Ende des Worts bezeichnen, umfas­ send:
eine abhängig von Taktimpulsen einer Taktschaltung (20) die über den Kommunikationskanal (14) übertrage­ nen Bits aufnehmende und erkennende Biterkennungs­ schaltung (12, A50, A66),
eine Datenrahmen-Fehlererkennungsschaltung (12, A62), die das um die vorbestimmte Anzahl Bits nach einem von der Biterkennungsschaltung (12, A50, A66) erfaßten Anfangsbit später empfangene Bit daraufhin überprüft, ob es ein Endbit ist, und ein Datenrahmen-Fehlersignal erzeugt, wenn es kein Endbit ist,
gekennzeichnet durch
ein zwischen die Taktschaltung (20) und die Biterken­ nungsschaltung (12, A50, A66) geschaltetes Logikgatter (22) zum Sperren der Taktimpulse und
eine das Logikgatter (22) abhängig von dem Datenrahmen- Fehlersignal der Datenrahmen-Fehlererkennungsschaltung (12, A62) und dem Zustand des von der Biterkennungs­ schaltung (12, A50, A66) aufgenommenen Bits steuernde bistabile Schaltung (30), die auf das Datenrahmen- Fehlersignal hin in ihren das Logikgatter (22) für die Taktimpulse sperrenden einen Zustand und bei Erkennen des Endes eines Steuerworts in ihren das Logikgatter (22) für die Taktimpulse freigegebenden anderen Zustand schaltet.
9. Anordnung nach Anspruch 8, dadurch gekennzeichnet, daß die bistabile Schaltung (30) ein D-Flip-Flop ist, das vom Datenrahmen-Fehlersignal rücksetzbar ist und hierbei ein das Logikgatter (22) sperrendes Sperrsignal erzeugt, und das vom nächsten empfangenen Bit, welches zur Bezeichnung des Endes des Steuerworts einen vorbe­ stimmten Zustand hat, triggerbar ist und hierbei ein das Logikgatter (22) freigebendes Freigabesignal erzeugt.
DE19863635106 1985-10-17 1986-10-15 Kommunikationsverfahren und -system fuer serielle daten Granted DE3635106A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/788,605 US4805194A (en) 1985-10-17 1985-10-17 Serial data communication system

Publications (2)

Publication Number Publication Date
DE3635106A1 DE3635106A1 (de) 1987-04-23
DE3635106C2 true DE3635106C2 (de) 1993-06-17

Family

ID=25144996

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19863635106 Granted DE3635106A1 (de) 1985-10-17 1986-10-15 Kommunikationsverfahren und -system fuer serielle daten

Country Status (4)

Country Link
US (1) US4805194A (de)
JP (1) JPS62161236A (de)
DE (1) DE3635106A1 (de)
GB (1) GB2181927B (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR900701112A (ko) * 1988-02-29 1990-08-17 기따다 데쯔야 직렬제어장치 및 그 제어방법
US5056113A (en) * 1988-09-22 1991-10-08 Megasoft Inc. Data communication system
US4947317A (en) * 1988-10-12 1990-08-07 Pitney Bowes Inc. Communication protocol for a three nodes system having dedicated connections and bit indicating function of exchanged message
US5025454A (en) * 1989-07-17 1991-06-18 The Johns Hopkins University Pulse to zero digital (PZ) modulation
US5208809A (en) * 1990-06-14 1993-05-04 At&T Bell Laboratories Communication network node
US5418930A (en) * 1991-09-05 1995-05-23 International Business Machines Corporation Circuit for interfacing asynchronous to synchronous communications
US5253274A (en) * 1992-04-15 1993-10-12 International Business Machines Corporation Means to differentiate between commands and data on a communications link
US5396503A (en) * 1993-02-19 1995-03-07 Hewlett-Packard Company Method and system for communicating data
JP3099703B2 (ja) * 1995-02-22 2000-10-16 株式会社デンソー 通信システム
KR100200217B1 (ko) * 1996-10-30 1999-06-15 윤종용 오동작을 방지할 수 있는 다기능 일체형 복합전자제품 및 오동작 방지방법
JPH10198633A (ja) * 1997-01-08 1998-07-31 Mitsubishi Electric Corp シリアルデータ転送装置
DE69929727T2 (de) * 1998-04-28 2006-07-20 Sanyo Electric Co., Ltd., Moriguchi Vorrichtung zur seriellen Übertragung von Daten
TWI306562B (en) 2006-03-20 2009-02-21 Htc Corp Data transmission method, host, and the transmission circuit thereof
CN100552659C (zh) * 2006-05-24 2009-10-21 宏达国际电子股份有限公司 资料传输方法与其传输电路
EP2207299B1 (de) * 2008-12-30 2012-07-25 ST-Ericsson SA Taktsignalsteuerung
US8542775B2 (en) * 2010-11-12 2013-09-24 Csr Technology Inc. Serial data interface for software-defined radio system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1020365B (de) * 1953-03-30 1957-12-05 Hazeltine Corporation, Washington, D. C. (V. St. A.) Verfahren und Einrichtung zur Nachrichtenübermittlung durch binäre elektrische Nachrichtenimpulse
US3729586A (en) * 1971-09-23 1973-04-24 Northern Electric Co Digital guard-time circuit for use in a frame synchronization circuit
JPS5138803A (de) * 1974-09-28 1976-03-31 Omron Tateisi Electronics Co
US4030072A (en) * 1974-12-18 1977-06-14 Xerox Corporation Computer system operation and control
US4106091A (en) * 1975-02-18 1978-08-08 Motorola, Inc. Interrupt status indication logic for polled interrupt digital system
US4010325A (en) * 1975-10-30 1977-03-01 Gte Automatic Electric Laboratories Incorporated Framing circuit for digital signals using evenly spaced alternating framing bits
US4093981A (en) * 1976-01-28 1978-06-06 Burroughs Corporation Data communications preprocessor
JPS5294996A (en) * 1976-02-06 1977-08-10 Kansai Electric Power Co Inc:The Method for long distance supervisory data transmission
US4056779A (en) * 1976-04-05 1977-11-01 Motorola, Inc. Vehicular repeater
US4048440A (en) * 1976-11-08 1977-09-13 Bell Telephone Laboratories, Incorporated Asynchronous-to-synchronous data concentration system
US4375103A (en) * 1980-09-17 1983-02-22 International Business Machines Corp. Method and apparatus of signalling request to send clear to send delay
US4558409A (en) * 1981-09-23 1985-12-10 Honeywell Information Systems Inc. Digital apparatus for synchronizing a stream of data bits to an internal clock
GB2113432A (en) * 1981-12-15 1983-08-03 Little Genius Limited Data protection system
US4488294A (en) * 1982-03-30 1984-12-11 At&T Bell Laboratories Establishing and supporting data traffic in private branch exchanges
JPS59158651A (ja) * 1983-02-28 1984-09-08 Casio Comput Co Ltd ブレ−ク信号伝送方式
JPH0782414B2 (ja) * 1983-05-24 1995-09-06 日本電気株式会社 情報処理装置
US4538272A (en) * 1983-12-22 1985-08-27 Gte Automatic Electric Incorporated Prioritized clock selection circuit

Also Published As

Publication number Publication date
GB2181927B (en) 1989-11-29
DE3635106A1 (de) 1987-04-23
GB8624710D0 (en) 1986-11-19
JPS62161236A (ja) 1987-07-17
GB2181927A (en) 1987-04-29
US4805194A (en) 1989-02-14

Similar Documents

Publication Publication Date Title
DE3635106C2 (de)
DE2647241C2 (de) Übertragungseinrichtung für die synchrone Datenübertragung
DE60004035T2 (de) Verfahren und vorrichtung für datenübertragung
EP2702495B1 (de) Verfahren und vorrichtung zur an speichergrössen angepassten seriellen datenübertragung
DE69026331T2 (de) Station zu Station Vollduplexkommunikation bei Kommunikationsnetzwerken
DE3889142T2 (de) Asynchrone Schnittstelle und Verfahren zur Datenkopplung zwischen einem Datenmodul und einem seriellen, asynchronen Pheripheriegerät.
DE3136128C2 (de)
DE69734260T2 (de) Zugriffskontrollverfahren in einem Kommunikationssystem
CH615286A5 (de)
DE2334867A1 (de) Interface-anpassungsschaltung zur steuerung eines datenflusses
DE3238532A1 (de) Datenuebertragungssystem
DE69917624T2 (de) Automatische ratenerkennung für asynchrone serielle kommunikation
EP0419959A2 (de) Schaltungsanordnung zum Überprüfen der Einhaltung festgelegter Übertragungsbitraten bei der Übertragung von Nachrichtenzellen
DE2707783B2 (de) Datenverarbeitungsanlage
DE68913028T2 (de) Empfangs- und Bearbeitungssystem für PCM-TDM-mehrwegübertragene HDLC-Rahmen, insbesondere für Datenvermittler.
DE69817925T2 (de) Chipkartenleser unter Verwendung eines schnellen Übertragungsprotokolls
DE68921706T2 (de) Synchrone Multiplexübertragungseinrichtung.
DE3280423T2 (de) Datenuebertragungssystem.
DE2707820C3 (de) Datenverarbeitungsanlage
DE69026127T2 (de) Verfahren zur Erhöhung der Rahmenausnutzung bei CSMA/CD-Übertragung
DE2423195A1 (de) Wartungsvorrichtung
DE3889334T2 (de) Verfahren und vorrichtung zur feststellung des anfangs einer nachricht.
DE4218499C2 (de) Fehlererfassungseinrichtung für ein Übertragungssystem
DE102019207542A1 (de) Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
EP2538618A1 (de) Verfahren zur Übertragung von Datenpaketen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition