DE69935036T2 - Arbitrierungsschema für ein serielles Interface - Google Patents

Arbitrierungsschema für ein serielles Interface Download PDF

Info

Publication number
DE69935036T2
DE69935036T2 DE69935036T DE69935036T DE69935036T2 DE 69935036 T2 DE69935036 T2 DE 69935036T2 DE 69935036 T DE69935036 T DE 69935036T DE 69935036 T DE69935036 T DE 69935036T DE 69935036 T2 DE69935036 T2 DE 69935036T2
Authority
DE
Germany
Prior art keywords
transmission
preamble
collision
peripheral
arrangement
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
DE69935036T
Other languages
English (en)
Other versions
DE69935036D1 (de
Inventor
Kevin Ross
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.)
NXP BV
Original Assignee
Koninklijke Philips Electronics NV
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22754719&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69935036(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE69935036D1 publication Critical patent/DE69935036D1/de
Application granted granted Critical
Publication of DE69935036T2 publication Critical patent/DE69935036T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

  • Die Erfindung bezieht sich auf das Gebiet der Kommunikation, und insbesondere auf das Gebiet der Datenkommunikation zwischen einer Host-Anordnung und einer peripheren Anordnung über ein serielles Interface.
  • Die Verwendung eines seriellen Interfaces zwischen Komponenten ist oft einem parallelen Interface vorzuziehen. Die Verwendung eines seriellen Interfaces für die Kommunikation der Daten kann signifikante Kostenersparnis schaffen. Die Kosten der Mittel, um die serielle Information zu transportieren, sind geringer als die für ein paralleles Interface. Wenn eine verdrahtete Verbindung verwendet wird, werden weniger Drähte zwischen den Anordnungen benötigt; wenn eine drahtlose Verbindung verwendet wird, werden weniger Kanäle zwischen den Anordnungen benötigt. Die kommunizierenden Anordnungen sind auch weniger kostspielig, weil die Verbindungsschnittstellen, wie z.B. Anschlusspads auf einer integrierten Schaltung oder Pins auf einer gedruckten Schaltung oft kostspieliger sind als die Schaltkreise, die erforderlich sind, um Daten zwischen der parallelen und der seriellen Form umzuwandeln. Und, insbesondere im Entwerfen integrierter Schaltungen, ist die Anzahl verfügbarer Verbindungsschnittstellen oft eine feste Beschränkung, sowohl vom Gesichtspunkt der Kosten als auch der Machbarkeit. Um die Vorteile eines seriellen Interfaces zu erreichen, wird typisch ein Einkanal-Kommunikationspfad für Kommunikation zu und von jeder Anordnung bereitgestellt.
  • Verglichen mit einem parallelen Interface aber bringt ein seriellen Interface Limitierungen mit sich. Das parallele Interface ist von Natur aus schneller als ein serielles Interface, da in einem parallelen Interface vielfache Bits der Information gleichzeitig übertragen werden. Andererseits ist in bestimmten Hochgeschwindigkeitsanwendungen der Verzögerungsversatz zwischen Pins eines parallelen Interfaces problematisch, und ein serielles Höchstgeschwindigkeitsinterface wird bevorzugt. Um wettbewerbsfähig zu sein, muss ein serielles Interface in Hinsicht auf Geschwindigkeit typisch am oberen Ende des Machbarkeitsspektrums arbeiten. Das heißt beispielsweise, dass, wenn das Interface einen Durchsatz von 8 Megabit pro Sekunde liefern muss, ein paralleles 8-Bit-Interface mit 8 Verbindungen oder Kanälen entworfen werden könnte, wobei jedes bei 1 Megabit pro Se kunde arbeitet. Das serielle Interface muss andererseits mit einem Verbindungskanal entworfen werden, der bei 8 Megabit pro Sekunde arbeitet. Wegen der typischen höheren erforderlichen Verbindungsgeschwindigkeit sind serielle Interface in Hinsicht auf Entwurfsoptionen, die bei niedrigeren Geschwindigkeiten verfügbar sein können, limitiert.
  • Ein übliches Protokoll, das für Einkanalkommunikation verwendet wird, ist ein „Kollisionsverhütung"-Protokoll. Wenn eine Anordnung Information zum Senden hat, wartet sie auf eine Ruhepause auf dem Kommunikationskanal, dann überträgt sie ihre Information. Durch Warten vor dem Kommunizieren, bis der Kanal unbenutzt ist, stört eine Anordnung nicht absichtlich eine andere Anordnung, die schon den einen Kommunikationskanal verwendet. Aber in diesem Protokoll ist es möglich, dass bei zwei Anordnungen jede den Kanal überwacht, eine Ruhepause detektiert und dann jede ihre jeweilige Übertragung beginnt. Zwei (oder mehr) gleichzeitige Übertragungen auf einem einzelnen Kanal werden als eine „Kollision" bezeichnet und keine Übertragung ist an ihrem beabsichtigten Empfänger wiederherstellbar. Um die Wahrscheinlichkeit von Kollisionen zu kompensieren, liefern typische Protokolle einen Kollisionsaufbereitungsplan. Traditionell fordert das Protokoll, dass jeder Sender den Kanal überwacht, um eine Kollision zu detektieren und passende Maßnahmen vorzunehmen, wenn eine Kollision detektiert wird. Typisch ist die passende Maßnahme, die Übertragung zu beenden (allgemein „Zurückweichen" genannt), dann die Übertragung bei der nächsten detektierten Ruhepause wieder aufzunehmen. Um nach einer Kollision wiederholte Kollisionen zwischen den gleichen Anordnungen zu vermeiden, fordert das Protokoll typisch, dass jede Anordnung eine erneute Übertragung nach einer zufälligen Dauer der Ruhepause versucht. Auf diese Art nimmt die Anordnung mit der kürzeren zufälligen Dauer die Übertragung wieder auf und die Anordnung mit der längeren zufälligen Dauer detektiert diese Übertragung und wartet bis zur nächsten Ruhepause.
  • Kollisionsdetektion ist ein etwas komplexer Prozess, da die Übertragung von Information von einer Anordnung typisch den Empfang einer möglichen Übertragung von einer anderen Anordnung über denselben Kanal stört. Im Allgemeinen erfordert Kollisionsdetektion, dass der Sender ein Signal überträgt, dass von einer Übertragung von einer anderen Anordnung überwältigt werden kann. Beispielsweise kann der Sender einen Hochimpedanzzustand „übertragen", indem er weder einen logischen „High"-Wert noch einen logischen „Low"-Wert überträgt. Die übertragende Anordnung überwacht den Kommunikationskanal während der Dauer des Hochimpedanzzustands. Wenn dieser Sender der einzige Sender ist, der auf dem Kommunikationskanal kommuniziert, bleibt der Kommunikationskanal in einem Hochimpedanzzustand oder driftet in einen bekannten logischen Zustand. Wenn anderseits ein anderer Sender auf diesem Kanal überträgt, ändert der Kommunikationskanal als Antwort auf die andere Übertragung den Zustand. Wenn die übertragende Anordnung den sich ändernden Zustand detektiert, erklärt sie eine Kollision, weicht zurück, und versucht in der nächsten Ruhepause ein erneutes Übertragen. Weil eine Kollision die Übertragung jeder Anordnung zerstört, ist auch die andere übertragende Anordnung in gleicher Weise konfiguriert, auf Kollisionen hin zu überwachen und weicht zurück, wenn die Kollision detektiert wird. Wie es für Fachleute offensichtlich ist, führt das Szenario Kollisionsdetektion – Zurückweichen – erneutes Übertragen zu Durchsatzverzögerungen, und die Wahrscheinlichkeit von Kollisionen und ihre negativen Effekte auf Durchsatz werden multiplikativ, da das Volumen des Verkehrs über die Kanäle wegen des wiederholten erneuten Übertragens zunimmt.
  • Ein Kollisions-Detektions-Mechanismus ist aus einem Artikel mit dem Titel „Random Access Switched Local Computer Network with Priority Function", veröffentlicht in National Telecommunications Conference, US, New York, IEEE vol. conf. 1980 S. 37401–37406 (EPO Referenz XP000810896) von I. Iida et. al. bekannt. Iida zeigt eine verwendete Kollisionsdetektion, in der unterschiedliche Präambeldauern für Meldungen unterschiedlicher Priorität verwendet werden. Meldungen mit der niedrigsten Priorität haben überhaupt keine Präambel. Stationen brechen Übertragung als Antwort auf Kollisionen nur während der Datenübertragung nach der Präambel ab. Kollisionen während Übertragung der Präambel werden ignoriert. Wenn Übertragungen unterschiedlicher Meldungen unterschiedlicher Priorität zu etwa derselben Zeit starten, wird die Meldung mit der niedrigsten Priorität abgebrochen, weil ihre Präambel als erste endet, sodass ihre übertragende Station die erste ist, um aufgrund von Kollision abzubrechen. Übertragung dieser Meldung mit der niedrigsten Priorität muss später wieder versucht werden.
  • Wie von Iida offenbart, erfordern alle Stationen komplexe Kollisionsdetektion. Außerdem erfordert der von Iida offenbarte Mechanismus Unterbrechung der Datenübertragung, wenn eine Kollision auftritt und eine erneute Übertragung der Daten zu einer späteren Zeit.
  • Das Szenario Kollisionsdetektion – Zurückweichen – erneutes Übertragen ist besonders problematisch für Hochgeschwindigkeits-Peripherieanordnungen wie Magnet platten, CDs und Ähnliches. Typisch hat die periphere Anordnung zu bestimmten Zeiten Zugriff auf die Daten, wie z.B. wenn sich der passende Bereich einer rotierenden Platte unter dem Lesekopf der Anordnung befindet. Wenn die Daten nicht kommuniziert werden können, wenn die Daten für Zugriff verfügbar sind, muss die periphere Anordnung einen Speicherpuffer enthalten, um die Daten zu halten, bevor sie übertragen werden können, oder eine Umdrehung verlieren und dabei die Transferrate reduzieren. Zusätzliche Kollisionen oder zusätzliche Verzögerungen, die hervorgerufen werden, während auf eine Wiederübertragungsmöglichkeit gewartet wird, erfordern zusätzliche Speicherpuffer oder eine Einstellung von Datenzugriff, bis Pufferplatz verfügbar wird. Wegen der Zufallsnatur von Kollisionen und der oben erwähnten Abhängigkeit von dem Verkehrsvolumen ist es schwierig, einen gegebenen Durchsatz sicherzustellen, ohne ein Überangebot an Speicher bereitzustellen. Das heißt, um einen gegebenen Durchsatz ungeachtet der Auswirkung von Kollisionen sicherzustellen, muss die Menge an bereitgestelltem Speicher ausreichend sein, die Effekte des schlimmstmöglichen Kollisionsszenariums zu puffern; folglich wird das meiste des für Kollisionskompensation bereitgestellten Speichers während normalen Betriebs mit durchschnittlichen Auftreten von Kollisionen ungenutzt sein.
  • Es ist eine Aufgabe dieser Erfindung ein Kommunikationssystem, ein Verfahren und eine periphere Anordnung für serielle Kommunikation zu schaffen, die einen Durchsatz haben, der unabhängig von der Wahrscheinlichkeit von Kollisionen ist. Es ist eine weitere Aufgabe dieser Erfindung, die Notwendigkeit für Kollisionsdetektion in einer peripheren Anordnung zu beseitigen. Es ist eine weitere Aufgabe dieser Erfindung, die Notwendigkeit für Speicherpuffer in der peripheren Anordnung zu minimieren.
  • Diese und andere Aufgaben werden durch Schaffen eines Systems gemäß Anspruch 1 gelöst. Dieses System verwendet ein kollisionsbasiertes Protokoll, das sicherstellt, dass eine Anordnung in einem Netzwerk einen Kollisionskonflikt immer „gewinnt". Eine Anordnung gemäß dieser Erfindung, für die sichergestellt ist, in einem Kollisionskonflikt immer zu gewinnen, muss keinen Kollisionsdetektor haben und auch nicht die Speicherressourcen, die typisch verwendet werden, um die Effekte einer Kollision zu puffern.
  • Die Erfindung wird detaillierter und als Beispiel mit Bezug auf die begleitende Zeichnung erklärt. In dieser zeigen:
  • 1 ein Beispielblockschaltbild eines seriellen Kommunikationssystems gemäß dieser Erfindung;
  • 2 Beispieltimingdiagramme eines seriellen Kommunikationssystems gemäß dieser Erfindung;
  • 3 Beispiel-Timingdiagramme einer peripheren Übertragung gemäß dieser Erfindung;
  • 4 ein Beispielblockschaltbild eines Kollisionsdetektors gemäß dieser Erfindung;
  • 5 ein Beispielblockschaltbild eines alternativen Kollisionsdetektors gemäß dieser Erfindung; und
  • 6 ein Beispiel-Timingdiagramm einer Host-Übertragung gemäß eines Aspekts dieser Erfindung.
  • 1 zeigt ein Beispielblockschaltbild eines seriellen Kommunikationssystems gemäß dieser Erfindung. Gezeigt wird in diesem System eine periphere Anordnung 100 und eine Host-Anordnung 200, die miteinander über einen Einkanal-Kommunikationspfad 50 kommunizieren. Typisch sind Ressourcen wie Steuerungsschaltkreise und Speicher in einer peripheren Computeranordnung wie ein Plattenlaufwerk kostbar im Vergleich zu den Ressourcen, die auf dem Host-Computer, an den die periphere Anordnung angeschlossen ist, verfügbar sind. Zum leichteren Verständnis wird diese Erfindung mit diesem Host-Peripherie-Paradigma präsentiert. Fachleuten wird deutlich sein, dass die hier präsentierten Beispiele auf Kommunikationsanordnungen im Allgemeinen, die übliche Kommunikationspfade zum Übertragen und Empfangen verwenden, angewendet werden können.
  • Der Einkanal-Kommunikationspfad 50 kann ein verdrahtetes oder drahtloses Medium oder Kombinationen von Medien sein. Der Einkanal-Kommunikationspfad 50 ist, wie sein Name impliziert, auf Übertragungen von nur einer Anordnung zu jedem Zeitpunkt limitiert. Vielfache Signale können über diesen Kommunikationspfad 50 gleichzeitig übertragen werden, wie z.B. Takt- und Datensignale auf separaten Drähten, aber nur von einer Anordnung gleichzeitig. Wenn in dem gezeigten System von 1 beide Anordnungen 100, 200 versuchen, während desselben Zeitintervalls zu übertragen, sind weder Anordnung 100 noch 200 in der Lage, die übertragene Information von dem anderen während des Zeitintervalls korrekt zu empfangen.
  • Die Beispielperipherieanordnung 100 von 1 enthält eine Datenquelle 110 und einen Sender 120, um Daten 111 von der Quelle 110 zu der Host-Anordnung 200 zu kommunizieren. Der Sender 120 bewirkt auch jegliche Transformationen der Daten, die zur Übertragung erforderlich sind, wie z.B. Umwandlung von paralleler zu serieller Form, Umwandlung in eine modulierte Form und ähnliches. Die transformierten Daten 121 von dem Sender 120 werden als ein peripheres Übertragungssignal über ein Pad 150, beispielsweise ein Eingangs/Ausgangs-Pad einer integrierten Schaltung kommuniziert. Wie einem Fachmann deutlich wäre: wenn der Kommunikationspfad 50 ein drahtloses Medium ist, repräsentiert der Pad 150 die Komponenten, die verwendet werden, um die Übertragung über dieses Medium zu bewirken, wie z.B. eine RF-Antenne, ein akustischer Wandler, ein Infrarotwandler und ähnliches. In 1 ist ein optionales Übertragungssperrsignal 122 gezeigt, das in einer bevorzugten Ausführungsform verwendet wird, um den Sender 120 von dem Empfänger 160 zu isolieren, wenn Signale von dem Host 200 empfangen werden.
  • Die Beispiel-Host-Anordnung 200 von 1 enthält einen entsprechenden Pad 250, der das den transformierten Daten 121 entsprechende periphere Übertragungssignal empfängt und ein empfangenes Signal 256 an einen Empfänger 260 liefert. Der Pad 250 und Empfänger 260 bewirken eine Transformation des peripheren Übertragungssignals auf Pfad 50 in Daten 261, die den Originaldaten 111 entsprechen. Wenn beispielsweise der Kommunikationspfad 50 über eine RF-Übertragung geht, empfangen der Pad 250 und Empfänger 260 die RF-Modulation der Originaldaten 111 und demodulieren sie in die Form der Daten 261. Die Daten 261 werden für anschließende Bearbeitung an den Datenprozessor 270 geliefert, beispielsweise zur Bearbeitung durch ein Applikationsprogramm, das auf der Host-Anordnung 200 ausgeführt wird. Die Beispiel-Host-Anordnung 200 enthält einen Kollisionsdetektor 280, der Kollisionen auf dem Kommunikationspfad 50 detektiert, wie hier vorher diskutiert wurde. Die Host-Anordnung 200 enthält auch ein optionales Übertragungssperrsignal 222, das in einer bevorzugten Ausführungsform verwendet wird, um den Sender 220 von dem Empfänger 260 zu isolieren, wenn Signale von der peripheren Anordnung 100 empfangen werden, und den Sender 220 zu isolieren, wie von dem Kollisionsdetektor 280 gefordert.
  • In gleicher Weise enthält auch die Beispiel-Host-Anordnung 200 eine Datenquelle 210 und Sender 220 zur Kommunikation von Daten 211 von der Quelle 210 zu der peripheren Anordnung 100. Der Sender 220 transformiert die Daten 211 in eine für Übertragung geeignete Form 221, wie oben mit Bezug auf den Sender 120 diskutiert wurde. Die transformierten Daten 221 von dem Sender 220 werden als ein Host-Übertragungssignal über ein Pad 250 kommuniziert. Entsprechend empfängt die Beispielperipheriean ordnung 100 über den Pad 150 das Host-Übertragungssignal und übergibt ein empfangenes Signal 156 an einen Empfänger 160. Der Pad 150 und Empfänger 160 bewirken eine Transformation des Host-Übertragungssignals in Daten 161, die den Host-Daten 211 entsprechen. In dem Beispiel der peripheren Anordnung 100 als Plattenlaufwerk kann der Datenprozessor 170 die Daten 161 von dem Empfänger 160 nur zu der Datenquelle 110 für anschließenden Zugriff als Daten 111 speichern.
  • Die periphere Anordnung 100 enthält einen Controller 190 und die Host-Anordnung 200 enthält einen Controller 290, deren Wirkungsweise am besten mit Bezug auf die Timing-Diagramme von 2 verstanden wird. 2A zeigt Übertragungen 301, 303 von dem Host 200 und Übertragungen 401, 403 von der peripheren Anordnung 100 über den Kommunikationspfad 50 ohne Kollision. 2B zeigt Übertragungen 311, 313 von dem Host 200 und Übertragungen 411, 413 von der peripheren Anordnung 100 über den Kommunikationspfad 50 mit einer Kollision 399.
  • Timing-Diagramm A von 2A zeigt zwei Übertragungen 301, 303 von der Host-Anordnung 200, entsprechend dem Signalknoten 221 von 1. Timing-Diagramm B zeigt entsprechende Host-Übertragungen 302, 304 auf dem Kommunikationspfad 50. Der Controller 290 in dem Host 200 beginnt die Übertragung 301 zu einer Zeit 351, zu der der Kommunikationspfad 50 frei von anderen Übertragungen ist. Nicht gezeigt: die Übertragung 302 wird danach durch den Empfänger 160 in der peripheren Anordnung 100 detektiert und anschließend von dem Datenprozessor 170 verarbeitet. Während dieses Empfangs der Daten 302 von dem Host verhindert der Controller 190 Übertragungen 121 von dem Sender 120. Am Ende 352 der Host-Übertragung 302, wenn der Kommunikationspfad 50 wieder frei ist, erlaubt der Controller 190 in der peripheren Anordnung 100 dem Sender 120 die Übertragung 401 zu übertragen, wie in Timing-Diagramm C von 2A gezeigt ist, entsprechend dem Signalknoten 121 von 1. Die Übertragung 401 bildet die periphere Übertragung 402 auf dem Kommunikationspfad 50. Ähnlich erlaubt der Controller 190 zu der Zeit 355 nach dem Ende 354 der peripheren Übertragung 402, während der Kommunikationspfad 50 frei ist, dem Sender 120 eine andere Übertragung, 403, als periphere Übertragung 404 auf dem Kommunikationspfad 50. Danach, zu einem anderen freien Intervall 356 des Kommunikationspfads 50, erlaubt der Controller 290 in dem Host 200 den Sender 220 die Übertragung 303 als Host-Übertragung 304 auf dem Kommunikationspfad 50 zu übertragen. Dieser Prozess geht weiter, wobei jede Anordnung 100, 200 für eine Ruheperiode auf dem Kommunikationspfad 50 wartet, um eine Übertragung zu beginnen.
  • Wie in 2A gezeigt, gibt es begrenzte Zeitverzögerungen zwischen beispielsweise der Zeit 352, wann die Host-Übertragung 302 endet, der Zeit 362, wann die Übertragung 401 an der peripheren Anordnung 100 beginnt, und der Zeit 353, wann das periphere Signal 402 auf dem Kommunikationspfad 50 erscheint. Nicht gezeigt: es gibt auch eine begrenzte Verzögerung zwischen wann das periphere Signal 402 auf dem Kommunikationspfad 50 erscheint und wann dieses periphere Signal 402 durch den Empfänger 260 der Host-Anordnung 200 detektiert wird. Während dieses gesamten Verzögerungsintervalls, von der Zeit, wann die Host-Übertragung 302 endet, und der Zeit, dass das periphere Signal 402 durch den Empfänger 260 detektiert wird, bemerkt die Host-Anordnung 200 nicht, dass die periphere Anordnung 100 Übertragung 401 begonnen hat.
  • In 2B ist eine Kollision 399 gezeigt, die sich wegen der Verzögerung zwischen dem Beginnen einer Übertragung 411 auf der peripheren Anordnung 100 und der Detektion der entsprechenden peripheren Übertragung 412 an dem Host 200 ergeben kann. In Timing-Diagramm F von 2B ist gezeigt, dass die periphere Anordnung 100 zu einer Zeit 373 nach dem Ende 372 der Host-Übertragung 312 eine Übertragung 411 beginnt. Die Übertragung 411 erscheint zur Zeit 374 auf dem Kommunikationspfad 50 als periphere Übertragung 412. Während dieser Zeit bemerkt der Controller 290 am Host 200 das Beginnen der Übertragung 411 an der peripheren Anordnung 100 nicht. Eigentlich erlaubt der Controller 290 dem Sender 220 eine Übertragung 313 zur Zeit 376 zu beginnen, die zur Zeit 377 auf dem Kommunikationspfad 50 als Host-Übertragung 314 erscheint, wie in Timing-Diagrammen D und E von 2B gezeigt. Die Zeiten 376, 377 können vor oder nach den Zeiten 373 beziehungsweise 374 auftreten, und sind als nach den Zeiten 373, 374 auftretend in 2B gezeigt. Wenn sowohl die Host-Übertragung 314 als auch die periphere Übertragung 412 auf dem Einkanal-Kommunikationspfad 50 erscheinen, passiert eine Kollision 399. Solange, wie beide Übertragungen 314, 412 auf dem Einkanal-Kommunikationspfad 50 erscheinen, geht die Kollision 399 weiter und beide Übertragungen 314 und 412 werden voneinander verfälscht, wie durch die gestrichelten Linien von 2B gezeigt.
  • Gemäß dieser Erfindung detektiert der Kollisionsdetektor 280 in der Host-Anordnung 200 die Kollision 399 und als Antwort darauf beendet der Controller 290 die Übertragung 313 zur Zeit 378, vor der erforderlichen Dauer, um die gesamte beabsichtigte Host-Übertragung zu senden. Die Kollision 399 wird auf dem Kommunikationspfad 50 zur Zeit 379 durch die entsprechende Beendigung der Host-Übertragung 314 beendet. Zu einer etwas späteren Zeit 381, während der nächsten Ruheperiode des Kommunikationspfads 50, erlaubt der Controller 290 dem Sender 220 die Übertragung 313 für ihre gesamte beabsichtigte Dauer 321 wieder zu übertragen, in 2B als Übertragung 313' und entsprechende Host-Übertragung 314' gezeigt. Danach geht der Prozess weiter, wie durch die Übertragung 413 von der peripheren Anordnung 100 und der entsprechenden peripheren Übertragung 414 auf dem Kommunikationspfad 50 gezeigt.
  • Gemäß dieser Erfindung bricht die periphere Anordnung 100 ihre Übertragung 411 nicht ab, wenn die Kollision passiert. Jede periphere Übertragung hat ihre beabsichtigte Dauer 421, die erforderliche Zeit, um die beabsichtigte Übertragung 411 zu übertragen. Gemäß dieser Erfindung: wenn die periphere Anordnung 100 erst einmal eine Übertragung beginnt, geht die Übertragung für diese gesamte beabsichtigte Dauer 421 weiter, selbst wenn wahrscheinlich Kollisionen auf dem Einkanal-Kommunikationspfad 50 auftreten. Diese fortgesetzte Übertragung ist besonders nützlich für Anordnungen, die zeitabhängige Daten liefern, wie z.B. Magnetplattenlaufwerke, Magnetbandlaufwerke, CD-Laufwerke, Videoplattenlaufwerke und Ähnliches. In solchen Anordnungen wird auf Daten nur zugegriffen, wenn der Lesemechanismus über den Bereich des Mediums, das die Daten enthält, fliegt. Durch Schaffen einer sichergestellten Übertragung, wenn die Übertragung erst einmal startet, können in diesen Anordnungen von dem Medium gelesene Daten direkt übertragen werden, wobei dabei die Notwendigkeit für Datenpuffer innerhalb der Anordnung minimiert wird. Das heißt, wenn das Lesen von Daten beginnt, wenn der Einkanal-Kommunikationspfad 50 frei ist, können aufeinander folgende Datenelemente auf dem Medium kontinuierlich übertragen werden, wenn der Lesekopf über sie fliegt, ohne Sorge um Kollisionsstörungen.
  • Eine gleiche Paketgröße für Übertragungen von dem Host 200 und der peripheren Anordnung 100 angenommen, stellt dieses Szenario der ununterbrochenen Übertragung auch einen Durchsatz von der peripheren Anordnung von mindestens der halben Bandbreite des Kommunikationspfads 50 sicher, minus dem mit diesem Szenario verbundenen Overhead, ungeachtet der Wahrscheinlichkeit von Kollisionen. Das heißt, mit der gegebenen Bandbreite des Kommunikationspfads und dem mit diesem Protokoll verbundenen Overhead kann der Durchsatz der peripheren Anordnung ohne Rücksicht auf die Wahrscheinlichkeit von Kollisionen bestimmt werden. Da der Durchsatz von Kollisionen unabhängig ist, sind die zusätzlichen Komponenten, die typisch von einer Anordnung erforderlich sind, die Informationen über einen Einkanal-Kommunikationspfad überträgt, wie z.B. Kollisionsdetektoren, Kollisionspuffer, Mittel zur Wiederübertragung und Ähnliches, in einer peripheren, gemäß dieser Erfindung implementierten Anordnung nicht erforderlich.
  • Man beachte, dass während des Kollisionszeitraums 399 die Host-Übertragung 314 und die periphere Übertragung 412 durch einander verfälscht werden. Die Verfälschung der Host-Übertragung 314 während der Kollisionszeitdauer 399 hat keine Folgen, weil die Host-Übertragung 314 als Host-Übertragung 314' wieder übertragen wird. Die Verfälschung der peripheren Übertragung 412 aber ist permanent, da die periphere Anordnung 100 sich der Kollision nicht bewusst ist und die Übertragung 412 nicht wieder übertragen wird. Gemäß dieser Erfindung enthält jede periphere Übertragung eine Präambel und einen Datenstrom, wie in 2B als Präamble 412a und Datenstrom 412b der peripheren Übertragung 412 gezeigt ist. Die Präambel 412a enthält keine Information, oder Information, die nach Verfälschung wiederhergestellt werden kann, während der Datenstrom 412b die Information enthält, die nicht wiederhergestellt werden kann, außer durch eine Wiederübertragung des Datenstroms 412b. Beispielsweise enthält die entsprechende Übertragung 411 eine Präambel 411a, die durch den Sender 120 an die Daten 111 von der Datenquelle 110 angehängt wird, wobei der Datenstrom 411b den Daten 111 entspricht. Die angehängte Präambel 411a kann eine vorher festgelegte Sequenz, eine Zufallssequenz oder eine Sequenz, die beispielsweise Diagnoseinformation enthält, die sich auf die periphere Anordnung 100 beziehen, sein. Da solche Diagnoseinformation typisch in anderen Präambeln wiederholt werden, gilt der Verlust dieser Information als unbedeutend und erfordert keine Wiederübertragung der Übertragung 411. In einer bevorzugten Ausführungsform dieser Erfindung ist die Präambel so strukturiert, um schnell von der Host-Anordnung 200 detektierbar zu sein, wobei die erforderliche Länge der Präambel reduziert wird, wie unten erläutert wird.
  • Die Zeitdauer der peripheren Präambelzeitspanne 411a und der entsprechenden Zeitspanne 412a müssen ausreichend lang sein, um sicherzustellen, dass die Host-Übertragung 314 von dem Einkanal-Kommunikationspfad 50 entfernt wird, bevor der Datenstrom 412b auf dem Einkanal-Kommunikationspfad 50 erscheint.
  • 3 zeigt Beispiel-Zeitdiagramme zum Bestimmen der erforderlichen Dauer der peripheren Präambelzeitspanne. Timing-Diagramme A, D, E und F von 3 repräsentieren Signale an Signalknoten 121, 256, 281 beziehungsweise 221 von 1. Timing-Diagramme B und C repräsentieren Signale auf dem Kommunikationspfad 50, worin die Signale an jedem Ende 50a, 50b des Kommunikationspfads 50 einen Zeitversatz wegen der Zeit, die für die Signale zum Durchlaufen des Pfads 50 notwendig ist, haben. Mit Bezug auf die Timing-Diagramme A und B von 3: eine Übertragung 520 an Knoten 121 erscheint als eine periphere Übertragung 521 an dem Kommunikationspfad 50a nach einer Pad-Verzögerung 501. Die Pad-Verzögerung 501 ist ein Verzögerung, die mit der Ausbreitung einer Ausgabe an dem Pad 150 in Zusammenhang steht. Die periphere Übertragung 521 bei 50a breitet sich zum entgegengesetzten Ende 50b des Kommunikationspfads 50 nach einer Pfadverzögerung 502 aus, wie die periphere Übertragung 522. Die periphere Übertragung 522 bei 50b breitet sich zu dem Empfänger 260 und Kollisionsdetektor 280 nach einer Pad-Verzögerung 503 aus, was die Verzögerung ist, die mit einer Ausbreitung einer Eingabe an dem Pad 250 in Zusammenhang steht.
  • Timing-Diagramm F zeigt eine Übertragung 550 von dem Sender 220 der Host-Anordnung 200, die als Host-Übertragung 551 nach einer Pad-Verzögerung 511 an dem Host-Ende 50b des Kommunikationspfads 50 erscheint. In dem Beispiel von 3 wird angenommen, dass die Host-Übertragung 550 vor der periphere Übertragung 521 auf dem Kommunikationspfad 50 vorhanden ist. Wenn die periphere Übertragung 521 an dem peripheren Ende 50a des Kommunikationspfads 50 erscheint, passiert eine Kollision 399a. Diese Kollision 399a breitet sich zu dem Host-Ende 50b des Kommunikationspfads 50 aus, gezeigt als Kollision 399b. Diese Kollision 399b breitet sich nach einer Pad-Verzögerung 503 zu dem Kollisionsdetektor 280 aus. Verzögerungszeit 504a repräsentiert die Zeit, die für den Kollisionsdetektor 280 notwendig ist, um die Kollision 399c zu detektieren, und Verzögerungszeit 504b repräsentiert die Zeit, die für die Steuerung 290 notwendig, um die Übertragung 550 abzubrechen. Weil die Steuerungsverzögerung 504b typisch viel kürzer ist als die Zeit 504a, die für den Kollisionsdetektor 280 notwendig ist, um die Kollision zu detektieren, wird ein einziger Kollisionsdetektionsverzögerungsterm 504 verwendet, um sowohl die Detektion der Kollision als auch den entsprechenden Abbruch von Übertragungen anzuzeigen. Man beachte, dass die Kollisionsdetektionsverzögerung 504, unten erläutert, unter Verwendung eines Szenario des ungünstigsten Falles bestimmt wird, beispielsweise wenn die Übertragung 550 gerade vor der Zeit passiert, wo der Host 200 feststellt, dass die periphere Anordnung 100 überträgt. Der Abbruch der Übertragung 550 zur Zeit 551 resultiert in Beendigung der Kollision 399b an dem Host-Ende 50b des Kommunikationspfads 50 nach einer Pad-Verzögerung 505, die gleich der zuvor erwähnten Pad-Verzögerung 511 ist. Entsprechend endet die Kollision 339a 541 nach einer Pfadverzöge rung 506 von dem Host-Ende 50b des Kommunikationspfads 50 zu dem peripheren Ende 50a, wie in dem Timing-Diagramm B von 3 gezeigt.
  • Gemäß dieser Erfindung endet die Präambel 521a der peripheren Übertragung 521 nicht vor der Beendung 541 der Kollision 339a an dem peripheren Ende 50a des Kommunikationspfads 50. Deshalb endet die Präambel 520a der Übertragung 520 nicht vor einer Pad-Verzögerung 507 vor der Beendung 541 der Kollision 339a. Also, unter Verwendung von D(x), um die Verzögerung zu repräsentieren, die mit den erwähnten Dauern x (500507) von 3 in Zusammenhang stehen, ist die minimale periphere Präambeldauer: D(500) = D(501) + D(502) + D(503) + D(504) + D(505) + D(506) – D(507). (1)
  • D(507) ist die Verzögerung, die mit der Ausbreitung einer Ausgabe an dem Pad 150 in Zusammenhang steht, und ist gleich der zuvor erwähnten Pad-Verzögerung 501. Also ist die minimale periphere Präambeldauer: D(500) = D(502) + D(503) + D(504) + D(505) + D(506) (2)
  • In einer typischen Umgebung sind die Pad-Verzögerungen 501, 503, 505 im Wesentlichen gleich, wie es auch die Pfad-Verzögerungen 502 und 506 sind. Also ist die minimale periphere Präambeldauer in einer solchen Umgebung: D(500) = 2·(Pad-Verzögerung + Pfad-Verzögerung) + D(504) (3)
  • In einer bevorzugten Umgebung, in der die periphere Anordnung eine Hochgeschwindigkeits-Datenzugriffsanordnung ist, die mit einem Host-Computer kommuniziert, ist die Pfadverzögerung im Wesentlichen erheblich kleiner als die Pad-Verzögerung 501, 503, 505 und die Detektionsverzögerung 504. Deshalb kann in der bevorzugten Umgebung die periphere Präambeldauer angenähert werden als: Periphere Präambel-Dauer ≥ 2·Pad-Verzögerung + Kollisionsdetektionsdauer (4)
  • Die Kollisionsdetektionsverzögerungszeit 504 hängt von den Mitteln ab, die zum Detektieren einer Kollision eingesetzt werden. Kollisionsdetektionstechniken sind in der Technik üblich. Typisch wird Kollisionsdetektion durch Überwachen des Kommunikationspfads bewirkt, wenn der Anordnungssender in einen inaktiven Zustand gebracht wird, der durch eine Übertragung von einer anderen Anordnung überwältigt werden kann, wie z.B. einen Hochimpedanzzustand. 4 zeigt eine Beispielimplementierung eines Kollisionsdetektors 280, der einen Hochimpedanzzustand während der Datenübertragung enthält, und 5 zeigt eine Beispielimplementierung eines Kollisionsdetektors 280 mit einem Hochimpedanzzustand, der unabhängig von den Datenzuständen ist.
  • In 4 sind die Transistoren T1 und T2 als konventionelle Pull-Down-Transistoren mit offenem Kollektor konfiguriert. Wenn das Eingangssignal 221 „High" ist, schaltet der Transistor T1 ein, wobei er die Spannung am Knoten 251 auf „Low" zieht. Wenn das Eingangssignal 221 „Low" ist, schaltet der Transistor T1 ab, und die Spannung am Knoten 251 hängt von dem Zustand des Transistors T2 ab. Wenn der Transistor T2 auch abgeschaltet ist, wird die Spannung am Knoten 251 durch die positive Spannungsquelle 601 auf „High" gezogen. In dieser Beispielausführungsform sind alle inaktive Anordnungen, das sind Anordnungen, die nicht senden, so konfiguriert, dass ihre Ausgangstransistoren T1, T2 abgeschaltet sind. Das Exklusiv-NOR-Gatter 610 bewirkt einen Vergleich zwischen den Logikpegeln an dem Eingang 221 und dem Ausgang 251 des Transistors T1. Während normalen Betriebs bewirkt Transistor T1 eine Inversion des Eingangs 221; das Exklusiv-NOR-Gatter 610 setzt einen logischen Wert „High" an seinem Ausgang 611 durch, wenn der Eingang 221 und Ausgang 251 gleich sind, was eine mögliche Kollision anzeigt. Man beachte, dass während der Transistor T1 einen Übergang durchläuft, das Exklusiv-NOR-Gatter 610 wahrscheinlich eine mögliche Kollision aufgrund der zuvor erwähnten Verzögerung 511, die mit der Ausbreitung einer Ausgabe von dem Pad 250 in Zusammenhang steht, anzeigt. Das Kollisionstestsignal 625 wird nur aktiviert, nachdem der Transistor T1 nicht länger in einem Übergangszustand ist. Das UND-Gatter 620 liefert das Kollisionssignal 281, das immer dann aktiviert wird, wenn der Eingang 221 und Ausgang 251 des Transistors T1 gleich sind und das Kollisionstestsignal 625 aktiviert ist.
  • In 5 bringt ein Tri-State-Puffer 640 den Knoten 251 immer dann in einen Hochimpedanzzustand, wenn ein Steuerungssignal 222 aktiviert wird. In 5 ist ein Aktivitätsdetektor 630 gezeigt, der immer dann ein Aktivitätssignal 631 liefert, wenn eine gültige Eingangssequenz am Knoten 256 auftritt. Ein solcher Detektor 630 ist in der Technik üblich und wird beispielsweise verwendet, um den Host oder die periphere Anordnung darauf aufmerksam zu machen, dass Daten ankommen. Das Aktivitätssignal 631 wird mit dem Kollisionstestsignal 625 über ein UND-Gatter 620 durchgelassen, das immer dann ein Kollisionstestsignal 281 aktiviert, wenn Aktivität detektiert wird, während das Kollisionstestsignal aktiviert ist. Nach Aktivieren des Hochimpedanzzustands an Knoten 251 wird das Kollisionstestsignal 265 bis nach der mit der Ausbreitung des Signals 251 durch den Pad 250 und den Aktivitätsdetektor 630 in Zusammenhang stehende Verzögerung nicht aktiviert.
  • Unter Verwendung der Beispielkollisionsdetektoren 280 von 4 und 5 kann man also sehen, dass die Kollisions-Detektionszeit mindestens so groß ist wie die Zeit, um einen Hochimpedanzzustand anzulegen plus die Pad-Verzögerung. Das heißt, in diesen Beispielausführungsformen werden Kollisionen eine begrenzte Zeit, nachdem der Pad 250 in einen Hochimpedanzzustand versetzt wurde, detektiert.
  • Der Beispielausgangspad 250 von 4 wird jedes Mal in einen Hochimpedanzzustand gebracht, wenn der Knoten 221 auf „Low" gebracht wird. Das heißt effektiv, dass der Hochimpedanzzustand im Zustand der Daten enthalten ist. Wenn ein Return-to-zero-Format für Übertragungen verwendet wird, wird ein Hochimpedanzzustand für jede Zeitspanne der Übertragung sichergestellt. Also ist die zuvor erwähnte minimale Kollisionsdetektionszeit die Zeitspanne der Übertragung plus einer Pad-Verzögerung. Aber wie Fachleuten gemeinhin bekannt ist, hat der Beispielausgangspad 250 von 4 eine limitierte Übertragungsgeschwindigkeit, weil er auf einen passiven Pull-Up angewiesen ist, um den Knoten 251 in einen Zustand hoher Spannung zu bringen. Wenn ein Betrieb bei höherer Geschwindigkeit gefordert ist, wird eine Konfiguration ähnlich zu 5, unten erläutert, bevorzugt.
  • 5 zeigt eine explizite Steuerung 222, um den Pad 250 in einen Hochimpedanzzustand zu versetzen. Wie oben bemerkt wurde, erfordern Hochgeschwindigkeitsschaltungen Hochgeschwindigkeitsübertragungen, die typisch durch Anordnungen niedriger Impedanz bewirkt werden. In einer bevorzugten Ausführungsform einer Host-Anordnung 200 für Hochgeschwindigkeitskommunikation wird der Pad 250 selten in einen Hochimpedanzzustand gebracht, wobei er dabei überwiegend Hochgeschwindigkeitsdurchsatz erlaubt.
  • In einer bevorzugten Ausführungsform dieser Erfindung enthält jede Host-Übertragung eine Präambel, wie beispielsweise durch Präambel 311a der Übertragung 311 in 2B gezeigt. Gemäß einem Aspekt dieser Erfindung tritt der Hochimpedanzzustand am Ende der Präambel 311a auf und ist so strukturiert, dass der nachfolgende Datenstrom 311b bei hoher Geschwindigkeit übertragen werden kann, ohne Sorge um Kollisionen. Das heißt, wenn der Host die Übertragung des Datenstromanteils jeder Übertragung beginnt, geht die Übertragung des Datenstroms ohne Unterbrechung weiter. Diese Ausführungsform eliminiert die Reduzierung von Geschwindigkeit, die typisch durch wiederholte Kollisionsprüfungen während der Datenübertragung verursacht wird.
  • Die Struktur der Host-Präambel und des Hochimpedanzzustands für die zuvor erwähnte Ausführungsform ist leicht mit Bezug auf das Timing-Diagramm von 6 zu verstehen. Wie oben bemerkt, gewinnt die periphere Anordnung 100 eine Kollision immer, aber verursacht nicht absichtlich Kollisionen. Das heißt, wenn die periphere Anordnung 100 Daten von dem Host 200 empfängt, hindert der Controller 190 den Sender 120 am Übertragen, bis die Host-Übertragung abgeschlossen ist. Gemäß diesem Aspekt der Erfindung dient die Präambel 720a dazu, die periphere Anordnung 100 darauf aufmerksam zu machen, dass in Kürze Daten erscheinen. Die Verzögerung, die durch Ausbreiten der Präambel 720a hervorgerufen wird, enthält Pad-Verzögerung 701, um die Präambel 720a zum Ausgang des Pads 250 auszubreiten, plus Pfad-Verzögerung 702 über den Kommunikationspfad 50, plus die Pad-Verzögerung 703, um die Präambel 720a als den Eingang von Pad 250 auszubreiten, plus die Verzögerung 704, die für den Empfänger 160 notwendig ist, die in der Präambel 702a enthaltenen Daten zu detektieren. In einer bevorzugten Ausführungsform enthält der Anfangsanteil der Host-Präambel 720a Daten, die in derselben Form wie die Daten in dem Datenstrom 720 formatiert sind, so dass dieselben Schaltkreise, die verwendet werden, um Daten aus dem Datenstrom 720 zu detektieren, verwendet werden, um Daten in dem Datenstrom 720a zu detektieren. Wie oben angemerkt: wenn die periphere Anordnung 100 Daten empfängt, hindert der Controller 190 den Sender 120 am Übertragen, bis die Host-Übertragung abgeschlossen ist.
  • In Timing-Diagramm F in 6 ist eine Übertragung 730 von der peripheren Anordnung 100 gezeigt, die bei 741 beginnt, genau vor der Detektion der empfangenen Daten von dem Host, bei 742. Gemäß dieser Erfindung, wie oben diskutiert: wenn eine Übertragung von der peripheren Anordnung 100 gestartet wird, geht sie weiter, bis sie abgeschlossen ist, und die Host-Anordnung 200 muss zurückweichen. Gemäß diesem alternativen Aspekt dieser Erfindung: wenn die Host-Anordnung 200 erst einmal eine Übertragung eines Datenstroms 720 nach der Präambel 720ba beginnt, geht die Übertragung ununterbrochen weiter. Deshalb hat die Präambel 720a in dieser bevorzugten Ausführungsform eine ausreichende Dauer, um eine Übertragung 730 von der peripheren Anordnung 100 zu detektieren, die gerade vor der Detektion der Präambel 720a an der peripheren Anordnung bei 742 startet. Die Übertragung 730 erleidet eine Pad-Verzögerung 705, da sie sich zu dem Ausgang des Pads 150 ausbreitet, plus die Pfad-Verzögerung 706 über den Kommunikationspfad 50 plus eine Pad-Verzögerung 707 über den Pad 250, plus die Verzögerungszeit 708, die notwendig ist, um die ausgebreitete periphere Übertragung 730 durch den Kollisi ons-Detektor 280 der Host-Anordnung 200 zu detektieren. Zur Zeit 743, wenn die periphere Übertragung 730 an dem Host-Ende 50a des Kommunikationspfads 50 erscheint, ist der Ausgangspad 250 in einem Hochimpedanzzustand 721, sodass die periphere Übertragung 730 detektiert werden kann. Wie in dem Timing-Diagramm A von 6 gezeigt, geht die Präambel 720a vor der Zeit 743, in der die periphere Übertragung 730 ankommt, in einen Hochimpedanzzustand (z) 721. Der Pad 250 wird für mindestens eine Pad-Verzögerung bevor das Kollisionstestsignal 625 geltend gemacht wird, um die Übertragung 730 zu detektieren, in den Hochimpedanzzustand gebracht.
  • Unter Verwendung der obigen Nomenklatur mit Bezug auf die periphere Präambelverzögerung ist die minimale Host-Präambeldauer: D(700) = D(701) + D(702) + D(703) + D(704) + D(705) + D(706) + D(707) + D(708). (5)
  • Wie oben bemerkt, sind in der Umgebung einer peripheren Hochgeschwindigkeitsanordnung 100, die mit einem Host-Computer 200 kommuniziert, die Pfadverzögerungen D(702), D(706) im Wesentlichen kleiner als die Pad-Verzögerungen D(701), D(703), D(705), D(707), die näherungsweise gleich sind. Wie auch oben bemerkt, ist der Aktivitätsdetektor 630 in dem Kollisionsdetektor 280 gleich den Detektoren, die verwendet werden, um die periphere Anordnung darauf aufmerksam zu machen, dass Daten ankommen. Das heißt, die Aktivitätsverzögerung D(708) ist typisch die gleiche wie die Datendetektionsverzögerung D(704). Um den Bezug zu erleichtern, wird diese Verzögerungsdauer D(704), D(708) als Detektionsverzögerung bezeichnet. Also wird die Präambeldauer spezifiziert als: Host-Präambel-Dauer ≥ 4·Pad-Verzögerung + 2·Detektions-Verzögerung (6)
  • Man beachte, dass in dieser Ausführungsform die Host-Präambeldauer auch gleich der oben diskutierten Kollisionsdetektionsverzögerung ist. Deshalb kann Gleichung (4) oben umgeschrieben werden zu: Periphere Präambel-Dauer ≥ 6·Pad-Verzögerung + 2·Detektions-Verzögerung. (4')
  • Man beachte auch, dass der Aktivitätsdetektor 630 typisch ein synchroner Prozess ist und, aufgrund der asynchronen Beziehung zwischen dem Host 200 und der peripheren Anordnung 100, eine zusätzliche Detektionsverzögerungsdauer für die Fälle notwendig sein kann, wo die periphere Übertragung gerade nach dem Start des Aktivitätsdetektionszyklus ankommt. Deshalb wird in einer bevorzugten Ausführungsform Gleichung (4') ausgedrückt als: Periphere Präambel-Dauer ≥ 6·Pad-Verzögerung + 3·Detektions-Verzögerung (4'')
  • Mit üblicher 'Technologie sind typische Pad-Verzögerungen von 3 Nanosekunden üblich, wie auch Detektionsverzögerungen von 10 Nanosekunden. Deshalb sind die minimalen Host- und peripheren Präambeldauern in dieser Technologie 32 beziehungsweise 48 Nanosekunden. Wie Fachleuten offensichtlich sein würde, würden längere Dauern spezifiziert werden, um spezifische Umweltfaktoren, wie z.B. Pfadverzögerungen, Temperaturabhängigkeiten, Komponententoleranzen usw. mit einzuberechnen.
  • Eine Übertragungsausbreitungsverzögerung kann als die Zeit definiert werden, die notwendig ist, eine Übertragung von einem Sender 120, 220 bei einem entsprechenden Empfänger 260 beziehungsweise 160 zu detektieren. Mit dieser Terminologie ist die Übertragungsausbreitungsverzögerung gleich zwei Pad-Verzögerungen plus die Pfadverzögerung und Gleichungen (6) und (4'') können neu formuliert werden als: Host-Präambel-Dauer ≥ 2·Übertragungs-Ausbreitungsverzögerung (7) Periphere Präambel-Dauer ≥ 3·Übertragungs-Ausbreitungsverzögerung (8)
  • Das Vorangegangene illustriert nur die Prinzipien der Erfindung. Zum Beispiel: obwohl die Erfindung vor allem für eine serielle Einkanalverbindung geeignet ist, können die Prinzipien dieser Erfindung auf eine aus einer Vielzahl von Einkanalverbindungen, die eine parallele Verbindung bilden, angewendet werden. Obwohl die Erfindung unter Verwendung eines Host-Peripherie-Paradigmas präsentiert wird, können die Prinzipien dieser Erfindung auf alternative Paradigmen, die sich einen Kommunikationspfad teilen, angewendet werden. Zum Beispiel kann in einem Kommunikationsnetzwerk jede Anordnung programmierbar sein, entweder als Host-Anordnung 200 oder als eine periphere Anordnung 100 in 1 zu arbeiten. Wenn eine Anordnung auf dem Netzwerk im Wesentlichen nicht unterbrochenen Übertragungszugriff erfordert, beispielsweise wenn sie eine Video- oder Audio-Clip für sofortige Präsentation liefert, kann sie programmiert werden, als kollisionsgewinnende periphere Anordnung zu arbeiten; zu anderen Zeiten können andere Anordnungen dieser kollisionsgewinnenden Rolle zugeordnet werden.
  • Die Erfindung kann in Hardware, Software oder als Kombination beider implementiert werden. Beispielsweise kann der Kollisionsdetektor 280 ein Programm sein, das in regelmäßigen Abständen den logischen Wert des Kommunikationspfads 50 liest und ihn mit dem logischen Wert der Daten vergleicht, die dieser überträgt. Die in 1, 4 und 5 präsentierten funktionalen Aufteilungen sind nur für illustrative Zwecke. Beispielsweise kann der Kollisionsdetektor 280 in den Empfänger 260, den Sender 220 oder den Pad 250 integriert werden. Obwohl die Beispielschaltungen von 4 und 5 gezeigt sind, Bipolar- und Feldeffekttransistoren zu verwenden, werden ähnlich alternative Ausführungsformen, die die beschriebenen Funktionen bewirken, dem Fachmann offensichtlich sein.

Claims (12)

  1. Kommunikationssystem, das Folgendes umfasst: – eine erste Anordnung (100), die einen ersten Sender (120) umfasst, der konfiguriert ist, eine erste Übertragung (411) auf einem Einkanal-Kommunikationspfad (50) zu übertragen, wobei die erste Übertragung (411) eine erste Präambel (411a) und einen ersten Datenstrom (411b) umfasst, und – eine zweite Anordnung (200), die Folgendes umfasst: – einen zweiten Sender (220), der konfiguriert ist, eine zweite Übertragung (313) auf dem Einkanal-Kommunikationspfad (50) zu übertragen, – einen Kollisionsdetektor (280), der konfiguriert ist, eine Kollision (281) zu detektieren, wenn die erste Übertragung (411) von der ersten Anordnung (100) stattfindet, während der zweite Sender die zweite Übertragung (313) überträgt; und – einen funktionsfähig an den zweiten Sender (220) und den Kollisionsdetektor (280) gekoppelten Controller, der konfiguriert ist, die zweite Übertragung (313) zu beenden, wenn die Kollision (281) detektiert wird; dadurch gekennzeichnet, dass die erste Anordnung (100) konfiguriert ist, die erste Übertragung (411) ohne Kollisionsdetektion zum Unterbrechen der ersten Übertragung während der ersten Präambel (411a) und dem ersten Datenstrom (411b) fortzusetzen, wobei die erste Präambel (411a) eine erste Präambeldauer hat, die mindestens so lang ist wie zwei Übertragungslaufzeitverzögerungen zwischen der ersten Anordnung und der zweiten Anordnung plus einer Kollisionsdetektionsverzögerung für die zweite Anordnung zum Detektieren der Kollision (281).
  2. Kommunikationssystem nach Anspruch 1, in dem Kollisionsdetektor (280) der zweiten Anordnung (200) konfiguriert ist, Kollisionen zu detektieren, um die zweite Übertragung nur während einer zweiten Präambel zu einem Beginn einer zweiten Übertragung, die länger als genannte erste Präambel ist, zu unterbrechen.
  3. Kommunikationssystem nach Anspruch 1, in dem die zweite Übertragung (313) eine zweite Präambel (720a) und einen zweiten Datenstrom (720b) enthält, wobei die zweite Präambel (720a) eine zweite Präambeldauer hat, die mindestens so lang ist wie viermal die Übertragungslaufzeitverzögerungen zwischen der ersten Anordnung (100) und der zweiten Anordnung (200) plus einer Kollisionsdetektionsverzögerung, wobei der Kollisionsdetektor konfiguriert ist, die Kollision (281) innerhalb der zweiten Präambeldauer (700) zu detektieren.
  4. Kommunikationssystem nach Anspruch 3, in dem der zweite Datenstrom (720b) nach der zweiten Präambel (720a) übertragen wird und der zweite Sender konfiguriert ist, die zweite Übertragung (313) nach dem Einleiten der Übertragung des zweiten Datenstroms (720b) unabhängig von der ersten Übertragung (411) weiter zu übertragen.
  5. Kommunikationssystem nach Anspruch 3, wobei die zweite Übertragung an einem Ende der zweiten Präambel (720a) einen Zustand hoher Impedanz umfasst, wobei der Kollisionsdetektor konfiguriert ist, die Kollision während des Zustands hoher Impedanz zu detektieren.
  6. Periphere Anordnung zur Verwendung in einem Kommunikationssystem, die eine Host-Anordnung enthält, wobei die Host-Anordnung konfiguriert ist, eine Folge von Host-Übertragungen (312, 314) auf einem Einkanal-Kommunikationspfad (50) zu übertragen und die periphere Anordnung Folgendes umfasst: – einen Empfänger, der konfiguriert ist, ein Ende einer ersten Host-Übertragung (312) der Folge von Host-Übertragungen (312, 314) auf dem Einkanal-Kommunikationspfad (50) zu detektieren, – einen funktionsfähig an den Empfänger gekoppelten Sender, wobei der Sender konfiguriert ist, auf dem Einkanal-Kommunikationspfad (50) nach dem Ende der ersten Host-Übertragung (312) eine periphere Übertragung (411) einzuleiten, wobei die periphere Übertragung (411) eine erste Präambel (411a) und einen ersten Datenstrom (411b) enthält, dadurch gekennzeichnet, dass der Sender konfiguriert ist, die periphere Übertragung (411) ohne Kollisionsdetektion von Host-Übertragungen (312, 314) zum Unterbrechen der ersten Übertragung während der ersten Präambel (411a) und dem ersten Datenstrom (411b) fortzusetzen, wobei die erste Präambel (411a) eine erste Präambeldauer hat, die mindestens so lang ist wie zwei Übertragungslaufzeitverzögerungen zwischen der ersten Anordnung und der zweiten Anordnung plus einer Kollisionsdetektionsverzögerung für die zweite Anordnung zum Detektieren der Kollision (399).
  7. Periphere Anordnung nach Anspruch 6, die weiter eine funktionsfähig an den Sender gekoppelte Datenquelle enthält, wobei die Datenquelle konfiguriert ist, Daten (111) bereitzustellen, um den Datenstrom (411b) zu bilden.
  8. Periphere Anordnung nach Anspruch 7, wobei der Sender konfiguriert ist, die periphere Übertragung in weiterer Abhängigkeit von den zeitabhängigen Daten einzuleiten.
  9. Periphere Anordnung nach Anspruch 8, in der die Datenquelle mindestens eine aus Magnetbandlaufwerk, Magnetplattenlaufwerk, Compact-Disc-Laufwerk und Bildplattenlaufwerk ist.
  10. Verfahren zum Steuern von Datenfluss zwischen einer ersten Anordnung und einer zweiten Anordnung an einem Einkanal-Kommunikationspfad (50), das folgende Schritte umfasst: Einleiten einer ersten Übertragung (411) auf dem Einkanal-Kommunikationspfad (50) von der ersten Anordnung (100), wobei die erste Übertragung (411) eine erste beabsichtigte Dauer (421) hat, einschließlich einer ersten Präambel (411a) und eines ersten Datenstroms (411b), Einleiten einer zweiten Übertragung (313) auf dem Einkanal-Kommunikationspfad von der zweiten Anordnung (200), wobei die zweite Übertragung (313) eine zweite beabsichtigte Dauer (321) hat, Detektieren einer Kollision (281), wenn die erste Übertragung (411) und die zweite Übertragung (313) während eines gemeinsamen Zeitintervalls (399) stattfinden, und Beenden nur der zweiten Übertragung (313) während der zweiten beabsichtigten Dauer (321), wenn die Kollision (281) detektiert wird, gekennzeichnet durch Fortsetzen der ersten Übertragung (411) für die erste beabsichtigte Dauer (421) ohne Kollisionsdetektion zum Unterbrechen der ersten Übertragung während der ersten Präambel (411a) und dem ersten Datenstrom (411b), wobei die erste Präambel (411a) eine erste Präambeldauer hat, die mindestens so lang ist wie zwei Übertragungslaufzeitverzögerungen zwischen der ersten Anordnung und der zweiten Anordnung plus einer Kollisionsdetektionsverzögerung für die zweite Anordnung zum Detektieren der Kollision (399).
  11. Verfahren nach Anspruch 10, in dem das genannte Detektieren der Kollision zum Unterbrechen der zweiten Übertragung nur während einer zweiten Präambel an einem Beginn der zweiten Übertragung, die länger ist als die genannte erste Präambel, durchgeführt wird.
  12. Verfahren nach Anspruch 10, in dem die zweite Übertragung (313) eine zweite Präambel (720a) und einen zweiten Datenstrom (720b) enthält, wobei die zweite Präambel (720a) eine zweite Präambeldauer hat, die mindestens so lang ist wie viermal die Übertragungslaufzeitverzögerungen zwischen der ersten Anordnung und der zweiten Anordnung plus einer Kollisionsdetektionsverzögerung, wobei die Kollision nur während der zweiten Präambeldauer detektiert wird.
DE69935036T 1998-12-01 1999-11-18 Arbitrierungsschema für ein serielles Interface Expired - Lifetime DE69935036T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US203634 1998-12-01
US09/203,634 US6483847B1 (en) 1998-12-01 1998-12-01 Arbitration scheme for a serial interface
PCT/EP1999/008928 WO2000033514A1 (en) 1998-12-01 1999-11-18 Arbitration scheme for a serial interface

Publications (2)

Publication Number Publication Date
DE69935036D1 DE69935036D1 (de) 2007-03-22
DE69935036T2 true DE69935036T2 (de) 2007-11-22

Family

ID=22754719

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69935036T Expired - Lifetime DE69935036T2 (de) 1998-12-01 1999-11-18 Arbitrierungsschema für ein serielles Interface

Country Status (5)

Country Link
US (1) US6483847B1 (de)
EP (1) EP1051821B1 (de)
CN (1) CN1227869C (de)
DE (1) DE69935036T2 (de)
WO (1) WO2000033514A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4595195B2 (ja) * 1999-12-28 2010-12-08 パナソニック株式会社 セキュリティシステム
FR2803711B1 (fr) * 2000-01-06 2002-04-05 Cit Alcatel Procede de gestion de collision d'appels dans un canal de type canal d
WO2005039120A2 (en) * 2003-10-15 2005-04-28 Koninklijke Philips Electronics N.V. Communication system and anti-collision method
JP4311234B2 (ja) * 2004-03-08 2009-08-12 沖電気工業株式会社 通信タイミング制御装置、通信タイミング制御方法、ノード及び通信システム
JP4173122B2 (ja) * 2004-09-03 2008-10-29 沖電気工業株式会社 通信制御装置、通信制御方法、ノード及び通信システム
EP1894116A1 (de) * 2005-06-10 2008-03-05 Freescale Semiconductor, Inc. Verfahren und einrichtung zur rahmensynchronisation
US9047415B2 (en) 2005-06-10 2015-06-02 Freescale Semiconductor, Inc. Device and method for media access control
CN103338470B (zh) * 2013-06-14 2016-03-23 中国联合网络通信集团有限公司 频谱需求预测方法及装置
US9209842B2 (en) 2013-09-09 2015-12-08 Texas Instruments Incorporated Method and circuitry for transmitting data

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL8005458A (nl) 1980-10-02 1982-05-03 Philips Nv Kommunikatiesysteem en station geschikt hiervoor.
US4412326A (en) * 1981-10-23 1983-10-25 Bell Telephone Laboratories, Inc. Collision avoiding system, apparatus and protocol for a multiple access digital communications system including variable length packets
JPS5913444A (ja) * 1982-07-14 1984-01-24 Fuji Xerox Co Ltd 再送制御方式
JPS604347A (ja) * 1983-06-22 1985-01-10 Fuji Xerox Co Ltd デイジタル信号伝送システムの障害対策方式
JPS6043942A (ja) 1983-07-28 1985-03-08 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 多重アクセスデ−タ通信システム
US4701909A (en) * 1986-07-24 1987-10-20 American Telephone And Telegraph Company, At&T Bell Laboratories Collision detection technique for an optical passive star local area network using CSMA/CD
DE69114792T2 (de) * 1990-09-04 1996-04-18 Hewlett Packard Co Verfahren und Gerät zur Auswertung der Knoten in einem Rechnernetzwerk.
JP3160350B2 (ja) * 1991-05-30 2001-04-25 株式会社リコー 通信網制御方法
FR2677473B1 (fr) 1991-06-05 1995-04-07 Telemecanique Procede et bus d'arbitrage pour transmission de donnees serie.
US5453987A (en) * 1994-02-15 1995-09-26 The Mitre Corporation Random access protocol for multi-media networks
US5664105A (en) * 1994-10-04 1997-09-02 Fluke Corporation Method and apparatus for network analysis
US5699515A (en) * 1995-01-23 1997-12-16 Hewlett-Packard Company Backoff scheme for access collision on a local area network
US6172983B1 (en) * 1997-03-13 2001-01-09 Siemens Information And Communication Networks, Inc. Hub dominated method and system for managing network collisions
US5982779A (en) * 1997-05-28 1999-11-09 Lucent Technologies Inc. Priority access for real-time traffic in contention-based networks
US6256317B1 (en) * 1998-02-19 2001-07-03 Broadcom Homenetworking, Inc. Packet-switched multiple-access network system with distributed fair priority queuing

Also Published As

Publication number Publication date
CN1227869C (zh) 2005-11-16
DE69935036D1 (de) 2007-03-22
US6483847B1 (en) 2002-11-19
WO2000033514A1 (en) 2000-06-08
EP1051821A1 (de) 2000-11-15
EP1051821B1 (de) 2007-01-31
CN1296687A (zh) 2001-05-23

Similar Documents

Publication Publication Date Title
DE69233664T2 (de) Schnittstelle eines sender-empfängers
DE69636547T2 (de) Integrierter Repeater
DE69931896T2 (de) Fairness-schema für eine serielle schnittstelle
DE69833708T2 (de) Kommunikationsverfahren für eine medienunabhängige Schnittstelle (MII) für ein hochintegriertes Ethernet-Netzelement
DE60309679T2 (de) Vorrichtung und verfahren zur reduzierung des leistungsverbrauchs eines senders und empfängers, gekoppelt über eine serielle differenzialedatenverbindung
DE69935036T2 (de) Arbitrierungsschema für ein serielles Interface
DE19900369A9 (de) Vorrichtung und Verfahren zur Ausführung einer Steuerübertragung auf einem Universal Serial Bus
DE19900290A9 (de) Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle Buseinrichtung
DE19960005A1 (de) Speichermodulsystem und Halbleiterspeicherbauelement mit Dateneingabe- und/oder Datenausgabesteuerung
DE3331233C3 (de)
DE19900369A1 (de) Vorrichtung und Verfahren zur Ausführung einer Steuerübertragung auf einem Universal Serial Bus
WO2009109590A1 (de) Kommunikationssystem mit einem can-bus und verfahren zum betreiben eines solchen kommunikationssystems
US4516122A (en) Communication system with collision detection and forced collision
WO2011161153A1 (de) Verfahren und vorrichtung zur datenübertragung mit variabler bitlänge
DE69931537T2 (de) Netzsystem
EP2087647B1 (de) Vorrichtung und verfahren zur manipulation von kommunikations-botschaften
DE3103786A1 (de) Datenuebertragungssystem
EP1941668A1 (de) Teilnehmerschnittstelle zwischen einem flexray-kommunikationsbaustein und einem flexray-teilnehmer und verfahren zur übertragung von botschaften über eine solche schnittstelle
DE102017008945B3 (de) Schaltung zur Kopplung eines Feldbusses und eines Lokalbusses
DE10296700T5 (de) Flusssteuerungssystem zur Verringerung der Speicherpufferanforderungen und zur Herstellung einer Prioritätsbedienung zwischen Netzen
DE60014178T2 (de) Vorrichtung und verfahren zur speicherteilung in einer konfiguration mit einzelring-datenbusverbindung
DE4191735C2 (de) Synchroner/asynchroner Datenbus im Multiplexbetrieb
DE60015939T2 (de) Verfahren und schaltung um an zwei enden getakten daten zu empfangen
DE102020128430A1 (de) Feldbussystem mit umschaltbarer slew-rate
DE2629401C2 (de)

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: NXP B.V., EINDHOVEN, NL

8328 Change in the person/name/address of the agent

Representative=s name: EISENFUEHR, SPEISER & PARTNER, 10178 BERLIN