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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols 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.
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.
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)
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)
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 |
-
1985
- 1985-10-17 US US06/788,605 patent/US4805194A/en not_active Expired - Lifetime
-
1986
- 1986-10-15 GB GB8624710A patent/GB2181927B/en not_active Expired
- 1986-10-15 DE DE19863635106 patent/DE3635106A1/de active Granted
- 1986-10-16 JP JP61244341A patent/JPS62161236A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
GB2181927A (en) | 1987-04-29 |
GB2181927B (en) | 1989-11-29 |
GB8624710D0 (en) | 1986-11-19 |
DE3635106A1 (de) | 1987-04-23 |
US4805194A (en) | 1989-02-14 |
JPS62161236A (ja) | 1987-07-17 |
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 | |
DE3889142T2 (de) | Asynchrone Schnittstelle und Verfahren zur Datenkopplung zwischen einem Datenmodul und einem seriellen, asynchronen Pheripheriegerät. | |
DE3136128C2 (de) | ||
CH615286A5 (de) | ||
DE2334867A1 (de) | Interface-anpassungsschaltung zur steuerung eines datenflusses | |
DE3238532A1 (de) | Datenuebertragungssystem | |
DE69223428T2 (de) | Datenkommunikationssystem auf einer Serienbusbasis und Überwachungsstation zur Verwendung mit einem derartigen System | |
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. | |
DE69637013T2 (de) | Verfahren zum automatischen Anpassen von Parametern einer Schnittstelle | |
DE69326378T2 (de) | Steuerung des Austauschens von Datenpaketen in einem Netzwerk | |
DE2707820C3 (de) | Datenverarbeitungsanlage | |
DE3139959C2 (de) | Datengerät-Diagnosesystem | |
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 | |
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 |