DE60215833T2 - Mehrkanalschnittstelle für die kommunikation zwischen einrichtungen - Google Patents

Mehrkanalschnittstelle für die kommunikation zwischen einrichtungen Download PDF

Info

Publication number
DE60215833T2
DE60215833T2 DE60215833T DE60215833T DE60215833T2 DE 60215833 T2 DE60215833 T2 DE 60215833T2 DE 60215833 T DE60215833 T DE 60215833T DE 60215833 T DE60215833 T DE 60215833T DE 60215833 T2 DE60215833 T2 DE 60215833T2
Authority
DE
Germany
Prior art keywords
channel
receive
data
register
send
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
DE60215833T
Other languages
English (en)
Other versions
DE60215833D1 (de
Inventor
Brian Tempe MEARS
Mark Austin FULLERTON
Nicholas Austin KOHOUT
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.)
Marvell World Trade Ltd
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Application granted granted Critical
Publication of DE60215833D1 publication Critical patent/DE60215833D1/de
Publication of DE60215833T2 publication Critical patent/DE60215833T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Small-Scale Networks (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung betrifft allgemein die Verbindungen zwischen Geräten und spezieller eine Mehrkanalschnittstelle zwischen Geräten, Schaltungen, Halbleiterchips oder dergleichen.
  • Allgemeiner Stand der Technik
  • Von elektronischen Systemen und Geräten wird gefordert, dass sie mehr Funktionen in kürzerer Zeit ausführen. Solche elektronischen Systeme und Geräte enthalten mehrere Halbleiterchips, -schaltungen oder dergleichen. Von den Halbleiterchips oder -schaltungen wird normalerweise gefordert, dass sie miteinander kommunizieren, um besondere Operationen oder Funktionen auszuführen. Um diese Kommunikation auszuführen, müssen mehrere Kommunikationsverbindungen oder -leiter die Halbleiterchips oder -schaltungen miteinander verbinden. Diese elektronischen Verbindungen können eine beträchtliche Fläche auf einem Substrat einnehmen und können auch mehrere Pins auf jedem der Chips für die Kommunikation zwischen den Chips erfordern. Komplexe Software kann ebenfalls benötigt werden, um die Kommunikation zwischen Chips oder Schaltungen zu implementieren, und um Datensignale oder -informationen genau zu verschiedenen Komponenten zu lenken oder zu adressieren, um besondere Funktionen oder Operationen auszuführen.
  • Das US-Patent Nr. 5,915,127 betrifft eine Datenverarbeitungsvorrichtung zum Bereitstellen der kontinuierlichen Wiedergabe sich bewegender Bilder in Echtzeit. Die Vorrichtung umfasst erste und zweite Speicher, eine erste Schnittstelle und eine zweite Schnittstelle.
  • Aus dem oben angeführten Grund und aus anderen Gründen, die beim Lesen und Verstehen der vorliegenden Patentschrift ersichtlich werden, besteht demgemäß ein Bedarf an einer mehrkanaligen Kommunikationsschnittstelle, die die Zahl der Verbindungen zwischen Chips und Pins auf jedem Chip minimiert. Weiterhin gibt es einen Bedarf an einer mehrkanaligen Kommunikationsschnittstelle, die die Software vereinfacht, welche zur Implementierung erforderlich ist, und Zusatzaufwand minimiert und skalierbar ist, um je nach den vorherrschenden Konstruktionsbedingungen mehr oder weniger Kommunikationskanäle bereitzustellen.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein schematisches Blockdiagramm eines elektronischen Systems gemäß der vorliegenden Erfindung.
  • 2 ist ein schematisches Blockdiagramm eines weiteren elektronischen Systems gemäß der vorliegenden Erfindung.
  • 3 ist ein schematisches Blockdiagramm einer Kommunikationsschnittstelle gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 4 ist ein schematisches Blockdiagramm einer Kommunikationsschnittstelle gemäß einer weiteren Ausführungsform der vorliegenden Erfindung.
  • 5 ist ein schematisches Blockdiagramm einer Kommunikationsschnittstelle, das Beispiele von Befehlsregistern illustriert, die zum Übertragen von Daten auf andere Chips oder Vorrichtungen gemäß der vorliegenden Erfindung verwendet werden können.
  • 6 ist eine Tabelle, die ein Beispiel für ein Bitlayout und Bitdefinitionen für ein Kanalstatusregister gemäß der vorliegenden Erfindung zeigt.
  • 7 ist eine Tabelle, die ein Beispiel für ein Bitlayout und Bitdefinitionen für ein Kanalkonfigurationsregister gemäß der vorliegenden Erfindung zeigt.
  • 8 ist eine Tabelle, die ein Beispiel für ein Bitlayout und Bitdefinitionen für ein Kanalidentifikationsregister gemäß der vorliegenden Erfindung zeigt.
  • 9 ist ein schematisches Blockdiagramm einer Kommunikationsschnittstelle, das Beispiele von Befehlsregistern illustriert, die zum Empfang von Daten von anderen Chips oder Vorrichtungen gemäß der vorliegenden Erfindung verwendet werden können.
  • 10 ist ein schematisches Blockdiagramm einer Kommunikationsschnittstelle, das Beispiele von Befehlsregistern illustriert, die zum Senden und Empfangen von Standard-Eingangs-/Ausgangs-(GPIO-)Signalen oder -Daten gemäß der vorliegenden Erfindung verwendet werden können.
  • 11 ist ein schematisches Blockdiagramm einer Quellen-Kommunikationsschnittstelle und einer Ziel-Kommunikationsschnittstelle, die durch unterschiedliche Kommunikationsverbindungen oder Pins gemäß der vorliegenden Erfindung angeschlossen werden können.
  • 12 ist eine Tabelle, die ein Beispiel für Kanalzuweisungen für eine Kommunikationsschnittstelle gemäß der vorliegenden Erfindung illustriert.
  • 13 ist ein Beispiel für Signalwellenformen zum Übertragen einer Nachricht oder von Daten zwischen einer Quellen-Kommunikationsschnittstelle und einer Ziel-Kommunikationsschnittstelle gemäß der vorliegenden Erfindung.
  • 14 ist ein Beispiel für Signalwellenformen zum Auswählen eines neuen Kanals zum Übertragen von Daten zwischen einer Quellen-Kommunikationsschnittstelle und einer Ziel-Kommunikationsschnittstelle gemäß der vorliegenden Erfindung.
  • 15 ist ein Beispiel für Signalwellenformen, das die Steuerung des Flusses von Nachrichten gemäß der vorliegenden Erfindung illustriert.
  • 16 ist ein Flussdiagramm eines Beispiels für ein Verfahren zum Übertragen von Daten zwischen Halbleiterchips oder -vorrichtungen gemäß der vorliegenden Erfindung.
  • Beschreibung der bevorzugten Ausführungsformen
  • In der folgenden detaillierten Beschreibung der bevorzugten Ausführungsformen wird auf die begleitenden Zeichnungen verwiesen, die einen Teil derselben bilden und in denen durch Illustrierung spezielle Ausführungsformen gezeigt werden, in denen die Erfindung ausgeführt werden kann. Es versteht sich, dass andere Ausführungsformen genutzt werden können und strukturelle Veränderungen vorgenommen werden können, ohne den Geltungsbereich der vorliegenden Erfindung zu verlassen.
  • Die Erfindung ist so, wie in den Ansprüchen 1 und 18 dargelegt.
  • 1 ist ein schematisches Blockdiagramm eines elektronischen Systems 100 gemäß einer Ausführungsform der vorliegenden Erfindung. Das elektronische System 100 umfasst mindestens zwei Halbleiterchips 102a und 102b, Vorrichtungen oder Schaltungen, die miteinander kommunizieren. Das elektronische System 100 kann zusätzliche Halbleiterchips, Vorrichtungen oder Schaltungen 102c und 102d umfassen. Das elektronische System 100 kann auch als einzelner Chip geformt sein, und die Schaltungen oder Vorrichtungen 102 können jeweils ein chipinternes Siliziummodul sein. Die Halbleiterchips 102a und 102c können zum Beispiel Prozessoren sein, wie zum Beispiel Zentraleinheiten (CPUs), digitale Signalprozessoren (DSPs) oder dergleichen, und die Halbleiterchips 102b und 102d können Speichervorrichtungen, periphere Einrichtungen oder dergleichen sein. Die Chips 102a und 102c sind an einen internen Bus 110, wie zum Beispiel einen Prozessorbus oder einen peripheren Bus, angeschlossen, und der interne Bus 110 ist an eine erste Kommunikationsschnittstelle 112 oder an mehrere Kanalschnittstellen zur Kommunikation zwischen den Chips 102a, 102b, 102c und 102d angeschlossen. Die erste Kommunikationsschnittstelle 112 kann eine Kommunikationsschnittstelle zwischen verschiedenen Arten von Chips sein oder kann eine Breitband-Multimedia (BB-MM)-Schnittstelle zur Kommunikation zwischen einem Multimediaprozessor und einem Basisbandchip sein. Die erste Kommunikationsschnittstelle 112 ist elektrisch an eine zweite Kommunikationsschnittstelle 114 durch mehrere ausgehende (Pin-)Verbindungen 116 und mehrere eingehende (Pin-)Verbindungen 118 angeschlossen. Die ausgehenden (Pin-)Verbindungen 116 von der ersten Kommunikationsschnittstelle 112 sind die eingehenden (Pin-)Verbindungen für die zweite Kommunikationsschnittstelle 114, und die eingehenden Verbindungen 118 zur ersten Kommunikationsschnittstelle 112 sind die ausgehenden Verbindungen von der zweiten Kommunikationsschnittstelle 114. Die zweite Kommunikationsschnittstelle 114 ist elektrisch an einen internen Bus 120 angeschlossen, und der Bus 120 ist elektrisch an die Halbleiterchips 102b und 102d angeschlossen, falls es mehr als einen Chip 102 gibt, der an die zweite Kommunikationsschnittstelle 114 angeschlossen ist.
  • 2 ist ein schematisches Blockdiagramm eines elektronischen Systems 200 gemäß einer weiteren Ausführungsform der vorliegenden Erfindung. Im elektronischen System 200 kann mindestens einer der Chips 102a und 102c (1) eine Speichervorrichtung oder dergleichen sein, die an einen Bus 204 angeschlossen ist, welcher als Prozessorbus bezeichnet werden kann. Der Prozessorbus 204 kann an einen Controller 208 für direkten Speicherzugriff (DMA) angeschlossen sein. Direkter Speicherzugriff ermöglicht das Lesen oder Schreiben direkt auf den Speicherchip 102a. Der DMA-Controller 208 kann an die erste Kommunikationsschnittstelle 112 durch den internen Bus 110 angeschlossen werden, der als Peripheriebus bezeichnet werden kann. In ähnlicher Weise kann die zweite Kommunikationsschnittstelle 114 an einen zweiten DMA-Controller 214 durch den peripheren oder internen Bus 120 angeschlossen werden, und der zweite DMA-Controller 214 kann an den Chip 102b angeschlossen werden, welcher ein Prozessor oder dergleichen sein kann. Der Chip 102b ist mit dem DMA-Controller 214 durch einen Prozessorbus 220 angeschlossen. Das elektronische System 200 kann zumindest einen zweiten Prozessorchip 102d oder weitere Vorrichtungen umfassen, die an den DMA-Controller 214 durch den Prozessorbus 220 angeschlossen sind. Die Kommunikationsschnittstellen 112 und 114 können Kommunikationsschnittstellen zur Kommunikation zwischen beliebigen Arten von Chips sein oder können BB-MM-Schnittstellen sein.
  • 3 ist ein schematisches Blockdiagramm der ersten Kommunikationsschnittstelle 112 gemäß einer Ausführungsform der vorliegenden Erfindung. Die zweite Kommunikationsschnittstelle 114 kann identisch mit der ersten Kommunikationsschnittstelle 112 sein. Die erste Kommunikationsschnittstelle 112 kann eine Busschnittstelle 300 umfassen, die an den internen Bus 110 angeschlossen ist. Die Busschnittstelle 300 umfasst mehrere Sendesteuer- oder Sendebefehlsregister 302 und mehrere Empfangssteuer oder Empfangsbefehlsregister 304. Die mehreren Sendesteuerregister 302 sind an mehrere Sendekanäle 306 angeschlossen. Die mehreren Sendekanäle 306 können auch einen oder mehrere virtuelle Standard-Eingangs-/Ausgangs-(GPIO-)Kanäle 307 umfassen. Die mehreren Sendekanäle 306 und der virtuelle GPIO-Kanal 307 sind an einen Sendesteuerblock (TX) 308 angeschlossen. Die Ausgänge des Sendesteuerblocks 308 sind die ausgehenden Verbindungen oder Pins 116. Die Empfangsbefehlsregister 304 sind an mehrere Empfangskanälen 310 angeschlossen. Die Empfangskanäle 310 sind an einen Empfangs(RX)-Steuerblock 312 angeschlossen. Jeder der Sendekanäle 306 kann einen Puffer oder eine Speichervorrichtung 314 vom Typ FIFO umfassen, und jeder der Empfangskanäle 310 kann ein Empfangs-FIFO 316 umfassen. Der GPIO-Kanal 307 kann auch einen Puffer oder eine Speichervorrichtung 314 vom Typ FIFO umfassen.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung kann der Sendesteuerblock 308 eine Verbindungssteuerung 318 und einen Kanal-Arbiter 320 umfassen. Der Kanal-Arbiter 320 bestimmt, welcher der mehreren Sendekanäle 306 zum Übertragen von Daten als Nächster aktiviert oder ausgewählt werden soll. Wie detaillierter unten beschrieben wird, könnte dies einer der mehreren Datenkanäle, ein virtueller Standard-Eingabe/Ausgabe(GPIO)-Kanal 307 oder ein Nachrichtenflusssteuerungskanal (Message Flow Control Channel, MFC channel) sein. Der Kanal-Arbiter 320 verwendet als Eingänge die Sendekanäle 306, falls vorhanden, die sich in einem „Wartezustand" befinden können und daher die Daten aus einem gewissen Grund nicht übertragen können, die Kanalnummer des aktuell aktivierten Sendekanals 306 und die Informationen von jedem der Sendekanäle 306 oder Sende-FIFOs 314, die angeben, ob sie Daten, die gesendet werden sollen, enthalten. Der Kanal-Arbiter 320 gibt die Kanalnummer des nächsten Sendekanals 306 oder des FIFO 314 aus, der zum Übertragen von Daten aktiviert werden soll.
  • Die Verbindungssteuerung 318 sendet Daten vom aktiven Sendekanal 306 oder FIFO 314 oder vom virtuellen GPIO-Kanal 307 auf eines der ausgehenden (Pin-)Verbindungen 116. Wenn die ausgehende Verbindung 116 im Leerlauf ist oder die Verbindungssteuerung 318 das Senden eines Datenblocks auf die ausgehende Verbindung 116 beendet, verwendet die Verbindungssteuerung 318 die Kanalnummer, die vom Kanal-Arbiter 320 erzeugt wird, um festzustellen, auf welchen der mehreren Sendekanäle umzuschalten ist oder welcher als Nächstes zu wählen ist. Nach dem Umschalten auf einen neuen Sendekanal 306 sendet die Verbindungssteuerung 318 wieder Daten auf das ausgewählte unter den ausgehenden (Pin-)Verbindungen 116. Es sollte bemerkt werden, dass die Verbindungssteuerung 318 und der Kanal-Arbiter 320 in Software implementiert werden können.
  • Der Empfangssteuerblock 312 kann eine Ablaufsteuereinheit 322 umfassen, die die Kanalnummer des aktuell aktiven Empfangskanals 310 oder des FIFO 316, die Zahl der Datenbits im aktuellen Byte, die übertragen worden sind, und die Datenbits selbst im aktuellen Byte, die bereits empfangen worden sind, speichert. Unter Verwendung dieser Informationen schreibt die Ablaufsteuereinheit 322 jedes Byte in den richtigen Empfangskanal 310 oder Empfangs-FIFO 316, nachdem die Ablaufsteuereinheit 322 ein komplettes Byte von Daten empfangen hat. Die Ablaufsteuereinheit 322 kann auch in Software implementiert werden.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung kann die Kommunikationsschnittstelle 112 eine Leistungsmanagementeinheit 324 umfassen. Die Leistungsmanagementeinheit 324 kann in der Busschnittstelle 300 enthalten sein oder kann außerhalb der Busschnittstelle 300 liegen. Die Leistungsmanagementeinheit 324 kann an die mehreren Sendekanäle 306, die mehreren Empfangskanäle 310, den Sende- und den Empfangssteuerblock 308 und 112 sowie die Halbleiterchips 102 (1 und 2) angeschlossen sein. Die Leistungsmanagementeinheit 324 erleichtert das Versetzen der Komponenten von System 200 in den Ruhezustand oder den Energiesparzustand oder -modus, um Energie zu sparen, wie detaillierter unten beschrieben wird. Vor dem Eintritt in den Energiesparzustand können die Komponenten einen Software-Handshake vornehmen. Die Komponenten können zum Beispiel bewirken, dass eine Anforderungsnachricht für den Ruhezustand gesendet wird, eine OK-Antwort empfangen und dann in den Schlafmodus wechseln. Das Senden und Empfangen dieser Nachrichten kann durch Verwenden eines Kanals 306 oder 307 und eines damit verknüpften Befehlsregisters 302 implementiert werden. Vor dem Senden einer Anforderungsnachricht für den Ruhezustand sollten die anfordernden Chips 102 alle ihre Daten oder Nachrichten in Sendekanäle 306 oder FIFOs 314 übertragen, um die ausgehende Aktivität zu stoppen. Vor dem Antworten mit der Nachricht über das Wechseln in den Schlafmodus sollte der Empfangschip 102 alle Nachrichten empfangen, die an ihn gerichtet sind, oder alle Empfangskanäle 310 oder FIFOs 316, die Nachrichten für den Empfangschip 102 enthalten, leeren und alle Empfangsaktivitäten beenden. Sobald die anfordernden Chips 102 die OK-Antwort für den Schlafmodus erhalten, können sie sicher in den Schlafmodus wechseln.
  • Falls der Chip 102 den Ruhezustand beendet, kann dies erfolgen, ohne die anderen Chips 102 zu benachrichtigen. Es wird jedoch empfohlen, dass der „aufwachende" Chip eine Nachricht über einen Kanal 306 oder 307 sendet, die erkennen lässt, dass er gerade aufwacht.
  • 4 ist ein schematisches Blockdiagramm der Kommunikationsschnittstelle 112, das Beispiele für einen Sendesteuerblock 308 und einen Empfangssteuerblock 312 gemäß einer weiteren Ausführungsform der vorliegenden Erfindung illustriert. Der Sendesteuerblock 308 kann einen Multiplexer oder Mux 400 umfassen, der an die mehreren Sendekanäle 306 angeschlossen ist. Der Multiplexer 400 ist an einen Parallel-Serien-Umsetzer (PISO-Umsetzer) 402 angeschlossen. Der PISO-Umsetzer 402 ist an einen Kanalwähler 404 und eine Steuerlogikschaltung 406 angeschlossen. Der Kanalwähler 404 und die Steuerlogikschaltung 406 sind jeweils an ein Kanalregister 408 angeschlossen, das auch an den PISO-Umsetzer 402 angeschlossen ist. Der Kanalwähler 404 und die Steuerlogikschaltung 406 sind auch an ein Kanalkonfigurationsregister 410 und ein Kanalstatusregister 412 angeschlossen. Das Kanalkonfigurationsregister 410 und das Kanalstatusregister 412 können Teil des Sendesteuerregister 302 (3) sein und können in der Busschnittstelle 300 enthalten sein. Ein Kanalkonfigurationsregister 410 kann mit jedem Sendekanal 306 oder jedem Empfangskanal 310 verknüpft sein und liefert Informationen über den speziellen Sendekanal 306 oder Empfangskanal 310, wie zum Beispiel die Art des Service, der gewählt wurde (DMA, Interrupt), den Schwellwert, die Art der Nachrichtenflusssteuerung und dergleichen. Ein Kanalstatusregister 412 kann ebenfalls mit jedem Sendekanal 306 und jedem Empfangskanal 310 verknüpft sein und liefert Informationen über den Kanal 306 oder 310, wie zum Beispiel, ob Kanal 306 oder 310 oder FIFO 314 in einem „Warte"-Zustand ist, leer oder voll ist und den Grad der Füllung oder die Füllmenge oder Leerheit und ob es Daten in FIFO 314 oder 316 gibt.
  • Beim Betrieb bestimmt der Kanalwähler 404, welcher Sendekanal 306 als Nächstes gewählt oder aktiviert werden soll. Der gewählte Sendekanal 306 kann ein Datenkanal, der virtuelle GPIO-Kanal 307 oder ein Nachrichtenflusssteuerungskanal (MFC) sein, wie detaillierter unten beschrieben wird. Der Kanalwähler 404 nutzt als Eingaben Konfigurationsdaten aus dem Kanalkonfigurationsregister 410 und Statusdaten aus dem Kanalstatusregister 412, um den nächsten Sendekanal 306 zu bestimmen oder auszuwählen, der zum Senden von Daten oder Informationen aktiviert werden soll. Der Kanalwähler 404 liefert als Ausgabe die Kanalnummer des nächsten Sendekanals 306 und des entsprechenden Empfangskanals 310, die ausgewählt oder aktiviert werden sollen. Der Kanalwähler 404 bestimmt, welche der Sendekanäle 306 zur Aktivierung bereit sind, als Reaktion auf die Konfigurations- und Statusdaten aus dem Kanalkonfigurationsregister 410 und dem Kanalstatusregister 412. Zum Beispiel sind die Sendekanäle 306 ohne Daten in ihren FIFOs 314 oder in einem Wartezustand zur Aktivierung nicht bereit. Ein festgelegter Algorithmus kann dazu verwendet werden, den nächsten Sendekanal 306, der zum Übertragen der Daten, die in seinem FIFO 314 enthalten sind, aktiviert werden soll, zu bestimmen. Ein beliebiger Algorithmus kann dazu verwendet werden, den nächsten Sendekanal 306 unter den bereiten Sendekanälen 306 auszuwählen. Zum Beispiel kann ein Round-Robin-Algorithmus oder Auswahlprozess verwendet werden.
  • Die Steuerlogikschaltung 406 bestimmt, wann ein neuer Sendekanal 306 aktiviert werden soll. Von der Steuerlogikschaltung 406 wird ein Freigabesignal (Strobe-Signal, STB-Signal) 414 erzeugt und durch eine ausgehende Freigabeverbindung 415 an die andere empfangende oder Ziel-Kommunikationsschnittstelle 114 (2) übertragen, wenn die Steuerlogikschaltung 406 bestimmt, dass ein neuer Kanal 306 aktiviert oder ausgewählt werden soll. Das STB-Signal 414 bewirkt auch, dass die neue Sendekanalnummer aus dem Kanalwähler 404 vom Kanalregister 408 gespeichert wird. Das Kanalregister 408 teilt die neue Sendekanalnummer dem PISO-Konverter 402, der Steuerlogikschaltung 406 und dem Multiplexer 400 mit. Der PISO-Konverter 402 sendet die neue Kanalnummer über eine ausgehende Verbindung oder einen Pin 116 oder Datenverbindung (DAT-Verbindung) auch an die andere empfangende oder Ziel-Kommunikationsschnittstelle 114.
  • Datensignale oder Nachrichten von einem aktuell ausgewählten oder aktivierten der mehreren Sendekanäle 306 oder FIFOs 314 werden von Multiplexer 400 unter Verwendung der aktuell aktivierten Kanalnummer als Funktionsauswahlbit für den Multiplexer 400 zeitlich verschachtelt. Die Daten werden von Multiplexer 400 an den PISO-Konverter 402 über tragen, oder die Daten werden vom PISO-Konverter 402 zusammen mit der Kanalnummer des Sendekanals 306, der aktiviert werden soll, aus dem Kanalregister 408 als Reaktion auf das STB-Signal 414, das vom Kanalregister 408 und dem PISO-Konverter 402 empfangen wird, gelesen. Der PISO-Konverter 402 wandelt die parallelen Daten, die aus dem Sende-FIFO 314 gelesen werden, in einen seriellen Bitstrom oder in Datensignale (DAT) 413 um, die über ausgehende Verbindungen oder Pins 116 gesendet werden. Die ausgehenden Verbindungen oder Pins 116 entsprechen den eingehenden Verbindungen oder Pins 118 der empfangenden oder Ziel-Kommunikationsschnittstelle 114. Der PISO-Konverter 402 serialisiert auch und überträgt die neue Kanalnummer, die mit dem Datenstrom DAT 413 aktiviert wird.
  • Der Empfangssteuerblock 312 umfasst einen Serien-Parallel-Umsetzer (SIPO-Konverter) 416, der an die eingehenden Verbindungen oder Pins 118 angeschlossen ist. Der SIPO-Konverter 416 ist an einen Demultiplexer 418 und ein Kanalregister 420 angeschlossen. Das Kanalregister 420 ist an den Demultiplexer 418 und eine Steuerlogikschaltung 422 angeschlossen. Der Demultiplexer 418 ist an mehrere Empfangskanäle 310 angeschlossen, und die Steuerlogikschaltung 422 ist an ein weiteres Konfigurationsregister 410 und ein weiteres Kanalstatusregister 412 angeschlossen, das Teil des Empfangsbefehlsregisters 304 sein kann und in der Busschnittstelle 300 enthalten sein kann. Beim Betrieb wandelt der SIPO-Konverter 416 kontinuierlich Datenstrom (DAT)-Signale 413 an den eingehenden Verbindungen oder Pins 118 aus seriellen Daten in parallele Daten um. Diese Daten werden sowohl zum Kanalregister 420 als auch zum Demultiplexer 418 übertragen. Das Kanalregister 420 speichert die parallelisierten eingehenden Daten als Reaktion auf das STB-Signal 414 an der Freigabeverbindung 415. Das STB-Signal 414 zeigt an, dass ein neuer Sendekanal 306 und ein neuer entsprechender Empfangskanal 310 gerade ausgewählt oder aktiviert werden. Die Steuerlogikschaltung 422 empfängt auch das STB-Signal 414 und die Kanalnummer des neuen Empfangskanals 310, der ausgewählt werden soll.
  • Die Empfangsteuerlogikschaltung 422 kann ein „Warte"-Signal 423 über eine „Warte"-Verbindung 424 zur Sendesteuerlogikschaltung 406 des Sendesteuerblocks 308 übertragen, wenn die Konfigurations- und Statusdaten aus dem Empfangskanalkonfigurationsregister 410 und dem Empfangskanalstatusregister 412 anzeigen, dass der neue Empfangskanal 310 oder FIFO 316 voll, deaktiviert ist oder anderweitig keine Daten empfangen kann. Die Steuerlogikschaltung 422 erzeugt auch ein Freigabesignal („WRITE STROBE"-Signal) 425 und sendet es an den Demultiplexer 418, wenn ein ganzes oder vollständiges Byte der Daten vom SIPO-Konverter 416 empfangen wurde. Der Demultiplexer 418 wählt den geeigneten Empfangskanal 310 als Reaktion auf die Kanalnummer aus dem Kanalregister 420 aus. Parallelisierte Daten aus dem SIPO-Konverter 416 werden dann in den ausgewählten der Empfangs-FIFOs 316 als Reaktion auf das Freigabesignal 425 geschrieben.
  • 5 ist ein schematisches Blockdiagramm der Kommunikationsschnittstelle 112, das Beispiele für Befehlsregister 302 (3) zeigt, die zum Übertragen von Signalen oder Daten an andere Chips 102 oder Vorrichtungen gemäß einer Ausführungsform der vorliegenden Erfindung verwendet werden können. Die Befehlsregister 302 werden so gezeigt, dass sie zumindest einen Teil der Busschnittstelle 300 bilden, obwohl sich die Befehlsregister 302 außerhalb der Busschnittstelle 300 befinden und unabhängig von derselben sein könnten. Die Befehlsregister 302 können ein Schnittstellenmodusregister 502, ein Sende-FIFO-Register 504, das mit jedem Kanal 306 verknüpft ist, ein Kanalstatusregister 412, das mit jedem Kanal 306 verknüpft ist, wie vorher mit Bezug auf 4 diskutiert, ein Nachrichtenende(EOM)-Register 508, das mit jedem Kanal 306 verknüpft ist, ein Kanalkonfigurationsregister 412, das mit jedem Kanal 306 verknüpft ist, wie vorher mit Bezug auf 4 diskutiert, ein Schnittstellen-Interruptidentifizierungs(ID)-Register 512, ein Sendefrequenzwahlregister 514, ein Wartezählregister 516, ein Taktstoppzeitregister 518 und ein Schnittstellenbreitenregister 520 umfassen.
  • Das Schnittstellenmodusregister 502 kann an den Chip 102 angeschlossen werden, der eine Prozessorchip-Speichervorrichtung oder eine andere Vorrichtung sein kann. Die Kommunikationsschnittstelle 112 kann in verschiedenen Betriebsarten betrieben werden, wie zum Beispiel einem Standardmodus, einem Legacy-Modus oder in anderen Modusarten. Das Schnittstellenmodusregister 502 steuert, in welchem Modus die Kommunikationsschnittstelle 112 betrieben wird.
  • Das Sende-FIFO-Register 504 schreibt Daten vom Chip 102 in den zugehörigen Sendekanal 306 oder FIFO 314. Auf das Sende-FIFO-Register 504 kann zugegriffen werden, nachdem der Sendekanal 306 oder FIFO 314 unter einen Schwellwert fällt, der im Kanalkonfigurationsregister 410 definiert ist. Auf das Sende-FIFO-Register 504 kann entweder direkt vom Prozessor, Speicher oder einem Chip 102 anderer Art nach einem Interrupt- oder Pollingsignal zugegriffen werden, oder über direkten Speicherzugriff (DMA). Wenn eine Übertragung einer Nachricht bestehend aus mehreren Bytes stattfindet, können die Bytes in der sogenannten „little endian"-Reihenfolge oder beginnend mit der rangniedrigsten Ziffer angeordnet werden.
  • Das Kanalstatusregister 412 ist an den Sendekanal 306 und an den Sendesteuerblock 308 angeschlossen. 6 zeigt ein Beispiel eines Bitlayouts und Bitdefinitionen für das Kanalstatusregister 412. Das Bitlayout des Kanalstatusregisters, das in 6 gezeigt wird, kann entweder für einen Sendekanal 306 oder einen Empfangskanal 310 verwendet werden. Das Kanalstatusregister 412 kann Informationen darüber umfassen, ob der Empfangskanal 310 ein Nachrichtenende (EOM)-Signal 602 erhalten hat; ob der Empfangskanal oder FIFO 310 oder der Sendekanal oder FIFO 306 sich in einem Wartezustand befindet; ob Empfangs-FIFO 310 oder Sende-FIFO 306 voll oder leer 606 oder 608 ist; und die Zahl der Bytes von Daten 610 entweder im FIFO 310 oder im Sende-FIFO 306.
  • Unter Rückverweis auf 5, wird das Kanalkonfigurationsregister 410 an den Sendekanal 306 und an den Sendesteuerblock 308 angeschlossen und zeigt an, dass eine ganze oder vollständige Nachricht in den entsprechenden Sende-FIFO 314 geschrieben wurde.
  • Wie vorher diskutiert, ist das Kanalkonfigurationsregister 410 an den Sendekanal 306 und an den Sendesteuerblock 308 angeschlossen. 7 zeigt ein Beispiel für ein Bitlayout und Bitdefinitionen für das Kanalkonfigurationsregister 410. Das Bitlayout des Kanalstatusregisters, das in 7 gezeigt wird, kann entweder für einen Sendekanal 306 oder einen Empfangskanal 310 verwendet werden. Das Kanalkonfigurationsregister 410 kann Informationen darüber umfassen, ob der Dienst zur frühzeitigen Beendigung der Deskriptorkette (early end of descriptor chain service, (EOC service)(ausgewählt ist 702, das heißt, ob eine Nachricht unterbrochen werden kann, bevor das Ende der Nachricht gelesen wurde; sowie die Art des Empfangs- oder Sende-FIFO-Service, der gewählt wurde, DMA oder Interrupt 704; den Schwellwert 706 des Empfangs- oder Sende-FIFO-Service; Übertragungs- und Empfangsflusssteuerung, direkte Flusssteuerung (DFC) oder Nachrichtenflusssteuerung (MFC) 708 und 710, und ob ein zugehöriger Sende-FIFO 314 freigegeben ist, um Nachrichten oder Daten zu empfangen oder zu übertragen 712.
  • Unter Rückverweis auf 5, kann das Schnittstellen-Interrupt-ID-Register 512 an den Chip 102 und an den Sendesteuerblock 308 angeschlossen werden. 8 zeigt ein Beispiel für ein Bitlayout und Bitdefinitionen für das Schnittstellen-Interrupt-ID-Register 512. Unterbrechungen (interrupts) können erzeugt werden, wenn ein Sende-FIFO 314 oder ein Empfangs-FIFO 316 seinen Schwellwert erreicht, der durch seine entsprechenden Kanalkonfigurationsregister 410 gesetzt wird, wenn ein Nachrichtenende (EOM) empfangen wird oder wenn eine DMA-Deskriptorkette erreicht wird, bevor das Ende der Nachricht gelesen ist. Das Erzeugen einer Unterbrechung bei einem frühen DMA-Ende des Kanals ist notwendig, um einen Chip 102 vom Prozessortyp über eine ungeeignete DMA-Programmierung zu informieren. Wie in 8 gezeigt, hat jede Art von Schnittstellenunterbrechung ein Bit, das mit derselben im Schnittstellen-Interrupt-ID-Register 512 verknüpft ist. Wenn eine Schnittstellenunterbrechung auftritt, wird das entsprechende Bit im Schnittstellen-Interrupt-ID-Register 512 gesetzt.
  • Unter Rückverweis auf 5, können das Sendefrequenzwahlregister 514, das Wartezählregister 516, das Taktstoppzeitregister 518 und das Schnittstellenbreitenregister 520 jeweils zwischen dem Chip 102 und dem Sendesteuerblock 308 angeschlossen werden. Das Sendefrequenzwahlregister 514 wählt die Taktfrequenz der ausgehenden Verbindung 116 aus. Das Wartezählregister 516 bestimmt die Zeit (in Übertragungstaktzyklen), die der Sendesteuerblock 308 wartet, bevor er erneut eine Übertragung an einen Empfangskanal 310, der ein Wartesignal 423 (4) gesendet hat, versucht. Jeder Sendekanal 306 hat ein unabhängiges Wartezählregister 516, das die Zeit vor einer erneuten Übertragung an den Empfangskanal 310, der das Senden des Wartesignals 423 bewirkt hat, zählt, nachdem ein Wartesignal 423 empfangen wurde. Das Taktstoppzeitregister 518 bestimmt die Zeit (in Übertragungstaktzyklen), während der ein Taktsignal aufhört durchzulaufen, nachdem eine ausgehende Verbindung 116 in den Ruhezustand übergegangen ist. Es sollte bemerkt werden, dass ein Tastsignal nur von den Schnittstellen 112 und 114 der vorliegenden Erfindung bei Bedarf erzeugt werden kann. Das Schnittstellenbreitenregister 520 legt die Breite oder Zahl der Datenverbindungen 116 fest, über welche die erste Kommunikationsschnittstelle 112 gleichzeitig zur zweiten Kommunikationsschnittstelle 114 überträgt.
  • 9 ist ein schematisches Blockdiagramm der ersten Kommunikationsschnittstelle 112, das Beispiele für Befehlsregister 304 illustriert, die zum Empfang von Daten von der zweiten Kommunikationsschnittstelle 114 gemäß einer Ausführungsform der vorliegenden Erfindung verwendet werden können. Die Befehlsregister 304 werden in 9 als Teil der Busschnittstelle 300 gezeigt, können aber auch getrennt von der Busschnittstelle 300 sein. Die Befehlsregister 304 können ein Schnittstellenmodusregister 502, ein Empfangs-FIFO-Register 600, das mit jedem Empfangskanal 310 verbunden ist, ein Kanalstatusregister 412, das mit jedem Empfangskanal 310 verbunden ist, ein Nachrichtenende (EOM)-Register 508, das mit jedem Empfangskanal 310 verbunden ist, ein Kanalstartschwellwertregister 602, das mit jedem Empfangskanal 310 verbunden ist, ein Kanalstoppschwellwertregister 604, das mit jedem Empfangskanal 310 verbunden ist, ein Schnittstellen-Interrupt-ID-Register 512, ein Weckregister 606, ein Kanalkonfigurationsregister 410, das mit jedem Empfangskanal 310 verbunden ist, und ein Schnittstellenbreitenregister 520 umfassen. Das Schnittstellenmodusregister 502, das Kanalstatusregister 412, das Nachrichtenende (EOM)-Register 508, das Schnittstellen-Interrupt-ID-Register 512, das Kanalkonfigurationsregister 410 und das Schnittstellenbreitenregister 520 sind dieselben oder ähnliche Register wie die vorher in Bezug auf die 4 und 5 beschriebenen.
  • Das Empfangs-FIFO-Register 600 ist zwischen einem zugehörigen Empfangskanal 310 oder FIFO 316 und dem Chip 102 zum Empfangen von Daten angeschlossen. Das Empfangs-FIFO-Regis ter 600 liest Daten aus dem zugehörigen der Empfangskanäle 310 oder FIFOs 316. Wenn eine Mehrbyteübertragung auftritt, können die Bytes in „little endian"-Reihenfolge angeordnet werden. Wenn die Empfangsdaten aus dem Empfangs-FIFO 316 durch das zugehörige Empfangs-FIFO-Register 600 gelesen werden, können die Daten aus dem Empfangs-FIFO 316 entfernt werden. Im Allgemeinen kann auf das Empfangs-FIFO-Register 600 zugegriffen werden, nachdem der Empfangs-FIFO 316 seinen Schwellwert, wie im Kanalkonfigurationsregister 410 definiert, überschritten hat, oder wenn eine EOM-Nachricht oder ein -signal von Schnittstelle 112 empfangen wird. Auf das Empfangs-FIFO-Register 600 kann nach einem Unterbrechungs- oder Pollingsignal von Chip 102 direkt zugegriffen werden, oder auf das Empfangs-FIFO-Register 600 kann direkt über DMA zugegriffen werden.
  • Das Kanalstartschwellwertregister 602 und das Kanalstoppschwellwertregister 604 sind jeweils zwischen einem der Empfangskanäle oder FIFOs 316 und dem Chip 102, der Daten empfängt, angeschlossen. Das Kanalstartschwellwertregister 602 und das Kanalstoppschwellwertregister 604 speichern die jeweiligen Start- bzw. Stoppschwellwerte für das zugehörige Empfangs-FIFO 316. Wenn die Menge an Daten oder Bits in einem Empfangs-FIFO 316 den gespeicherten Wert im Kanalstoppschwellwertregister 604 übersteigt, wird eine Stoppnachricht für das zugehörige Empfangs-FIFO 316 an die Quellen-Kommunikationsschnittstelle 112 gesandt, die die Daten sendet, um das zugehörige Sende-FIFO 314 in einen Wartezustand zu versetzen. Wenn die Menge der Daten oder Bits im Empfangs-FIFO 316 unter den Wert im Kanalstartschwellwertregister 602 fällt, wird eine Startnachricht für diesen Empfangs-FIFO 316 an die Quellen-Kommunikationsschnittstelle 112 gesandt, die die Daten sendet, und das zugehörige Sende-FIFO 314 wird wieder aktiviert oder aus dem Wartezustand herausgeholt, um mit dem Senden der Daten oder Nachrichten fortzufahren. Der Schwellwert, der im Kanalstoppschwellwertregister 604 gespeichert ist, sollte für ein ordnungsgemäßes Funktionieren höher als der Schwellwert sein, der vom Kanalstartschwellwertregister 602 für die Schnittstelle 112 gespeichert wird.
  • Das Weckregister 606 ist zwischen dem Empfangskanal 310 oder FIFO 316 und dem Chip 102 angeschlossen. Das Weckregister 606 wird zum Wecken des angeschlossenen Chips 102 verwendet.
  • 10 ist ein schematisches Blockdiagramm einer Kommunikationsschnittstelle 112, das Beispiele von Befehlsregistern 302 illustriert, die zum Senden und Empfangen von Standard-Eingangs-/Ausgangs-(GPIO-)Signalen 1000 oder Daten gemäß der vorliegenden Erfindung verwendet werden können. Die Befehlsregister 302 zum Ausführen von virtuellen GPIO-Funktionen können ein virtuelles GPIO-Eingangs- und Ausgangs-Pin-Level-Register 1001, das mit jedem virtuellen GPIO-Kanal 307 verbunden ist, ein virtuelles GPIO-Ausgangs-Pin-Set-Register 1002 und ein virtuelles GPIO-Pin-Clear-Register 1004, die beide mit jedem virtuellen GPIO-Kanal 307 verbunden sind, ein virtuelles GPIO-Anstiegs- und Abfallflankenfeststellregister 1006, das mit jedem virtuellen GPIO-Kanal 307 verbunden ist, ein virtuelles GPIO-Flankenfeststellstatusregister 1008, das mit jedem virtuellen GPIO-Kanal 307 verbunden ist, und ein virtuelles GPIO-Wertunterbrechungsregister 1010 umfassen. Das virtuelle GPIO-Eingangs- und Ausgangs-Pin-Level-Register 1001 ist zwischen dem virtuellen GPIO-Kanal 307 und dem Chip 102 angeschlossen und liefert den Zustand oder Status jedes GPIO-Pins 1012 zum Senden der GPIO-Daten. Die virtuellen GPIO-Ausgangs-Pin-Set- und Pin-Clear-Register 1002 steuern den Zustand jedes GPIO-Pins 1012. Der virtuelle Ausgangs-GPIO-Pin 1012 wird durch Schreiben einer 1 in das entsprechende virtuelle GPIO-Ausgangs-Pin-Set-Register 1002 eingestellt, und der virtuelle GPIO-Ausgangs-Pin 1012 wird durch Schreiben einer 1 in das entsprechende virtuelle GPIO-Pin-Clear-Register 1002 gelöscht. Das virtuelle GPIO-Anstiegs- und Abfallflankenfeststellregister 1006 ist zwischen dem virtuellen GPIO-Kanal 307 und dem Chip 102 angeschlossen. Das virtuelle GPIO-Anstiegs- und Abfallflankenfeststellregister 1006 konfiguriert den GPIO-Pin 1012 zum Feststellen entweder eines Anstiegsflankenübergangs, eines Abfallflankenübergangs oder beider. Wenn solch ein Übergang festgestellt wird, wird ein Bit im virtuellen GPIO-Flankenfeststellstatusregister 1008 gesetzt. Das virtuelle GPIO-Wertunterbrechungsregister 1010 enthält ein Konfigurationsbit, das zum Angeben, ob eine Unterbrechung erzeugt wird, wenn ein virtueller GPIO-Wert oder -Signal von der ersten Kommunikationsschnittstelle 112 über eine eingehende Verbindung 118 (1) empfangen wird, gesetzt werden kann.
  • 11 ist ein schematisches Blockdiagramm eines Beispiels für die erste Kommunikationsschnittstelle 112 und die zweite Kommunikationsschnittstelle 114, die durch verschiedene ausgehende Kommunikationsverbindungen oder Pins 116 und eingehende Kommunikationsverbindungen oder Pins 118 verbunden sind, und Beispiele von Signalen, die über jede der Verbindungen 116 und 118 zwischen der ersten Kommunikationsschnittstelle 112 und der zweiten Kommunikationsschnittstelle 114 übertragen werden können. Die ausgehenden Kommunikationsverbindungen oder Pins 116 können eine Taktverbindung oder einen Pin 1102 zum Senden eines CLK-Signals, eine Übernahmeverbindung oder einen Pin 1104 zum Senden eines STB-Signals, eine Warteverbindung oder einen Pin 1106 zum Senden eines WARTE-Signals und mehrere Datenverbindungen oder Pins 1108, die zur erleichterten Übertragung von Daten verwendet werden, DAT-Signale oder Nachrichten von der ersten Schnittstelle 112 an die zweite Schnittstelle 114 umfassen. Analog können die eingehenden Kommunikationsverbindungen oder Pins 118 auch eine Taktverbindung 1110 zum Senden eines CLK-Signals, eine Übernahmeverbindung 1112 zum Senden eines STB-Signals, eine Warte verbindung 1114 zum Senden eines WARTE-Signals und mehrere Datenverbindungen oder Pins 1116 zur Erleichterung der Übertragung von Daten, DAT-Signalen oder Nachrichten von der zweiten Schnittstelle 114 zur ersten Schnittstelle 112 umfassen. Eine Schnittstelle 112 oder 114, die Daten sendet oder überträgt, kann als Quelle oder als Quellen-Schnittstelle bezeichnet werden, und eine Schnittstelle 112 oder 114, die Daten empfängt, kann als Ziel oder Ziel-Schnittstelle bezeichnet werden.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung wird ein Beispiel für Kanalnummerzuweisungen oder -bezeichnungen für die Sende- und Empfangskanäle 306 und 310 (3) und eine Beschreibung der Funktion jedes Kanals 306 und 310 gemäß seiner Nummernzuweisung in 12 gezeigt. Kanal 0 kann ein Nullkanal zum Senden eines Nachrichtenende(EOM)-Signals sein, wie vorher diskutiert. Die Kanäle 1–7 können zum Übertragen von Daten oder Nachrichten verwendet werden. Wenn eine Quellen-Kommunikationsschnittstelle 112 das Übertragen einer Nachricht anhalten muss, ohne einen neuen Kanal 1–7 zu aktivieren, kann die Kommunikationsschnittstelle 112 Kanal 11, den leeren Kanal, aktivieren. Kanal 11 kann auch als Kanal B in hexadezimaler Notation bezeichnet werden. Kanal 13 oder D kann als virtueller GPIO-Kanal 307 verwendet werden (3). Kanal 14 oder E und Kanal 15 oder F können zum Senden von Start- und Stoppnachrichten verwendet werden, wenn die Übertragung von Daten auf ein ausgewähltes Empfangs-FIFO 316 aus einem bestimmten Grund angehalten werden muss.
  • 13 ist ein Beispiel für Wellenformen zum Übertragen der Nachricht „7B3D" über den Datenkanal 3. Die erste Wellenform ist das Takt- oder CLK-Signal 1302 und wird auf die Taktverbindung oder den Pin 1102 übertragen (11). Die zweite Wellenform ist das Daten- oder DAT-Signal 1304 und wird auf die Datenverbindungen 1108 (11) übertragen. Die dritte Wellenform ist das Übernahme- oder STB-Signal 1306 und wird auf die Übernahmeverbindung oder den Pin 1104 übertragen (11). Die vierte Wellenform ist das Wartesignal 1308 und wird auf die Warteverbindung oder den Pin 1106 übertragen (11). Einer der Datenkanäle 1–7 (12) wird durch Erzeugen eines STB-Signals oder -impulses 1310 an der Übernahmeverbindung 1104 oder dem Pin und durch Anzeige der Datenkanalnummer 1–7, in diesem Fall Kanalnummer 3, die von Impuls 1312 in 13 illustriert wird, an einer entsprechenden Datenverbindung (DAT) 1198 vor dem nächsten CLK-Signal oder dem -Impuls 1314 aktiviert. Wenn die Kommunikationsschnittstelle 112 so eingestellt ist, dass sie Anstiegsflanken, im Gegensatz zu Abfallflanken, des CLK-Signals 1302 feststellt, wird Kanal 3 ausgewählt oder er wird zum aktiven Kanal 106 und 310 zum Übertragen und Empfangen von Daten, wenn der nächste Anstiegsflankenübergang des CLK-Signals festgestellt wird. Die Datensignale oder die Nachricht „3D7B" wird über Kanal 3 auf jeden der folgenden Anstiegsflankenübergänge des CLK-Signals 1302 übertragen.
  • Wie vorher erwähnt, können die Kommunikationsschnittstellen 112 und 114 unterschiedliche Schnittstellenbreiten unterstützen. Das geeignete Bit im Schnittstellenbreitenregister 520 kann zum Bereitstellen der unterschiedlichen Schnittstellenbreiten eingestellt werden, wie zum Beispiel eine serielle Breite oder Modus (1 Bit), eine Zweibitbreite oder -modus, eine Halbbytebreite oder -modus (4 Bit) usw. In dem Beispiel, das in 13 gezeigt wird, sind die Signale 1302, 1304, 1306 und 1308 in der Halbbytebreite oder im -modus. Dementsprechend können vier Datenverbindungen oder Pins 1108 in 11, DAT(0), DAT(1), DAT(2) und DAT(3), zum Übertragen einer Nachricht im Halbbytemodus verwendet werden.
  • Wenn die Übertragung der Nachricht durch einen Datenkanal 1–7 (12) beendet ist, kann die Datenverbindung (DAT) 1108 (11) die aktive Kanalbezeichnung in Kanal 0 oder den Nullkanal ändern (12). Das Umschalten auf den Nullkanal lässt das Ende einer Nachricht (EOM) erkennen und löst das Aktivieren des Service an der Ziel-Kommunikationsschnittstelle 114 für das entsprechende Empfangs-FIFO 316 oder Kanal 310 aus. Ein Nachrichtenende (EOM)-Signal oder -Impuls 1316 wird am Ende des Datenbitstroms oder -signals 1304 in 13 gezeigt.
  • Das Aktivieren eines neuen Datenkanals 1–7 erfordert die erneute Bekräftigung des STB-Signals 1306 auf der Übernahmeverbindung oder dem Pin 1104 (11) und die Übertragung der neuen Datenkanalnummer 1–7 auf die Datenverbindungen 1108. Der neue Datenkanal 1–7 kann aktiviert werden, wenn gerade keine Datenübertragungen stattfinden, in der Mitte einer Datenübertragung auf einen anderen Datenkanal 1–7 oder direkt, nachdem die aktuelle Datenübertragung beendet wurde und der Nullkanal 0 aktiviert wurde, um das Ende einer Nachricht anzuzeigen. Im Beispiel von 14 ist Kanal 3 durch das STB-Signal oder den -Impuls 1402 aktiviert worden und sendet einen Kanalnummer „3"-Impuls 1404 auf die Datenverbindung 1108, um die Nachricht „3D7B" zu senden. Nach der Übertragung des „7B"-Signals 1406 wird ein weiteres STB-Signal oder -Impuls 1408 erzeugt und ein Datensignal 1410, das Kanalnummer 2 bezeichnet, wird auf der Datenverbindung 1108 gesendet, um Kanal 2 zum Senden der Nachricht „AE" 1412 zu aktivieren. Nach dem Nachrichtenende (EOM)-Signal 1414 wird Kanal 3 wieder durch ein STB-Signal oder -Impuls 1416 und ein Kanalnummer „3"-Signal 1418 aktiviert, um Kanal Nr. 3 zu reaktivieren und den Rest der Nachricht „3D" 1420 zu senden. Die Nachricht auf Kanal 3 kann durch die Nachricht auf Kanal 2 zwangsweise zurückgestellt werden, weil die Nachricht von Kanal 2 eine höhere Priorität haben kann.
  • Während des Empfangs der Daten kann das Empfangs-FIFO 316 (3) voll werden, was Empfangs-FIFO 316 an der Annahme neuer Daten hindern würde. Ein Beispiel für ein Flusssteue rungsverfahren zur Benachrichtigung der Quellen-Kommunikationsschnittstelle 112 über diesen Zustand kann als Direktflusssteuerung (DFC) bezeichnet werden, und ein weiteres Beispiel für ein Flusssteuerungsverfahren für den Zustand ,FIFO voll' kann als Nachrichtenflusssteuerung (MFC) bezeichnet werden. Beide Verfahren deaktivieren zeitweilig Datenübertragungen, indem sie den aktiven Sendekanal 306 oder FIFO 314 in einen "Warte"-Zustand versetzen. Wenn der aktive Sendekanal 306 sich in einem Wartezustand befindet, kann die Quellen-Kommunikationsschnittstelle 112 keine Daten durch Kanal 306 senden. Jeder Versuch, Daten zu senden, wird ignoriert. Es kann jedes Flusssteuerungsverfahren oder beide von den Kommunikationsschnittstellen 112 und 114 verwendet werden.
  • Unter Rückverweis auf 11, bekräftigt bei dem Direktflusssteuerungsverfahren die Zielschnittstelle 114 ein „Warte"-Signal 1308 über die Warteverbindung oder den Pin 1106 an die Quellenschnittstelle 112, wenn der aktive Empfangskanal 310 oder FIFO 316 deaktiviert, ungültig oder voll ist. Das „Warte"-Signal 1308 wird auch nach einem Reset gesendet und während die Datenverbindung 1108 im Ruhezustand ist, d.h. es gibt keine Daten oder Nachrichten, die gerade übertragen werden. Die Quellenschnittstelle 112 tastet das „Warte"-Signal 1308 bei jedem CLK-Impuls 1302 der CLK-Verbindung 1102 ab, während der aktive Datenkanal 1–7 in einem Wartezustand ist, solange das „Warte"-Signal 1308 bekräftigt wird. Wenn das „Warte"-Signal 1308 abfällt oder nicht mehr bekräftigt wird, kann die Datenübertragung wieder aufgenommen werden. Ein weiterer Datenkanal 1–7 kann aktiviert werden, während der aktuell aktive Kanal 1–7 durch Übertragen des STB-Signals 1306 auf der Übernahmeverbindung 1104 und durch Übertragen einer neuen Datenkanalnummer 1–7 auf einer entsprechenden Datenverbindung 1108 sich in einem Wartezustand befindet.
  • 15 ist ein Beispiel für eine Nachrichtenflusssteuerung (MFC), die Stopp- und Startnachrichten 1502 und 1504 verwendet, um einen aktiven Datenkanal 1–7 in einen Wartezustand zu versetzen. Wenn ein Empfangs-FIFO 316 ein benutzerprogrammierbares Schwellniveau, das im Kanalstoppschwellwertregister 604 eingestellt ist, übersteigt, wird der entsprechende Kanal 1–7 durch Senden einer Stoppnachricht 1502 in einen Wartezustand versetzt. Die Stoppnachricht 1502 wird durch Übertragen der Kanalnummer, z.B. Kanal 4, auf Kanal 14 oder Kanal E hexedezimal auf Datenverbindung 1116 (11) von der Zielschnittstelle 114 zur Quellenschnittstelle 112 gesendet. Dementsprechend wird ein Übernahmesignal oder -impuls zusammen mit der Stoppkanalnummer E 1502 gesendet, um den Stoppkanal 14 oder E (12) zu aktivieren. Die Nummer des Datenkanals 1–7, der in den Wartezustand versetzt werden soll, wird dann auf dem Stoppkanal E übertragen. In dem Beispiel von 15 wird ein Signal 1508, das Kanal 4 bezeichnet, auf Kanal E oder den Stoppkanal übertragen. Wenn die Quellenschnittstelle 112 die Stoppnachricht 1502 erhält, tritt der aktive Datenkanal 1–7 in einen Wartezustand ein und hört auf, Daten zu senden, bis er aus dem Wartezustand herausgeführt wird. Kanal 1–7 verlässt den Wartezustand, wenn die Quellenschnittstelle 112 eine Startnachricht 1504 erhält. Wenn Empfangs-FIFO 316 für den aktiven Kanal 1–7 unter einen vom Benutzer gewählten Schwellpegel fällt, der im Kanalstartschwellwertregister 602 festgelegt ist, wird eine Startnachricht 1504 durch Übertragen der Kanalnummer von Kanal 1–7, der reaktiviert werden soll, über Kanal 15 oder Kanal F hexadezimal auf einer ausgehenden Datenverbindung 1116 von der Zielschnittstelle 114 zur Quellenschnittstelle 112 gesendet. Dementsprechend wird in dem Beispiel von 15 ein weiteres Übernahmesignal oder -impuls 1510 auf die Übernahmeverbindung 1104 übertragen, und das Signal 1504 zur Startkanalbezeichnung „F" wird auf die Datenverbindung 1116 übertragen, gefolgt von dem Signal 1512 der Kanalnummer „4", um den Kanal 4 aus dem Wartezustand herauszuführen. Wie vorher diskutiert, können die Schwellwertpegel zum Senden der Kanalstopp- und -startnachrichten 1502 und 1504 von einem Benutzer im Kanalstoppschwellwertregister 604 und im Kanalstartschwellwertregister 602 (9) eingestellt werden. Die Nachrichtenflusssteuerung hat eine höhere Priorität als andere Nachrichten, die gerade auf den Datenverbindungen 1108 und 1116 gesendet werden, und verdrängt den anderen Nachrichtenverkehr, sobald das aktuelle Byte gesendet wird.
  • 16 ist ein Flussdiagramm eines Beispiels für ein Verfahren 1600 zur Übertragung von Daten oder Nachrichten zwischen den Halbleiterchips 102 oder anderen Vorrichtungen gemäß einer Ausführungsform der vorliegenden Erfindung. In Block 1602 werden Daten in mindestens einen der mehreren Sende-FIFOs 314 geschrieben. In Block 1604 wird ein der mehreren Sende-FIFOs 314, der Daten enthält und sich nicht in einem Wartezustand befindet, gemäß einem festgelegten Algorithmus, wie zum Beispiel einem Ringprozess (round robin) oder dergleichen, ausgewählt, um einen aktiven Kanal 1–7 zur Übertragung der Daten von der Quellenschnittstelle 112 auf die Zielschnittstelle 114 zu bilden. In Block 1606 wird ein Übernahmesignal von der Quellenschnittstelle 112 zur Zielschnittstelle 114 gesendet, um die Übertragung von Daten auszulösen. In Block 1608 wird die gewählte Kanalnummer des aktiven Kanals 1–7 über eine gewählte Datenverbindung 1108 von der Quellenschnittstelle 112 zur Zielschnittstelle 114 übertragen. In Block 1610 wird ein entsprechender der mehreren Empfangs-FIFOs 316, der nicht voll oder in einem Wartezustand ist, ausgewählt, um den aktiven Kanal 1–7 zu bilden, und in Block 1612 werden Daten oder Nachrichten über eine entsprechende Datenverbindung 1108 vom Sende-FIFO 314 des aktiven Kanals 1–7 der Quellenschnittstelle 112 zum entsprechenden der Empfangs-FIFOs 316 der Zielschnittstelle 114 übertragen. In Block 1614 wird ein Nachrichtenende (EOM)-Signal 1308 gesendet, nachdem alle Daten übertragen worden sind. In Block 1616 kann ein Wartesignal 1308 oder eine Stoppnachricht 1502 von der Zielschnittstelle 114 an die Empfangsschnittstelle 112 gesendet werden, wenn das entsprechende der Empfangs-FIFOs 316 keine Daten empfangen kann, weil er deaktiviert, unzulässig oder voll ist oder aus einem anderen Grund keine Daten empfangen kann. In Block 1618 wird das Wartesignal 1308 entfernt, oder es kann eine Startnachricht 1504 gesendet werden, wenn das entsprechende der Empfangs-FIFOs 316 nun Daten empfangen kann. In Block 1620 kann mindestens ein weiteres Sende-FIFO 314 und ein weiteres entsprechender Empfangs-FIFO 316 ausgewählt oder aktiviert werden, um einen aktiven Kanal 1–7 zu bilden, während das eine Empfangs-FIFO 316 keine Daten empfangen kann.
  • Obwohl spezielle Ausführungsformen hierin illustriert und beschrieben wurden, ist für die Fachleute auf diesem Gebiet erkennbar, dass jede Anordnung, die zum Erreichen desselben Zwecks entwickelt wurde, die spezielle Ausführungsform, die gezeigt wird, ersetzen kann. Diese Anwendung soll alle Anpassungen oder Abwandlungen der vorliegenden Erfindung erfassen. Es ist daher beabsichtigt, dass diese Erfindung nur durch die Ansprüche begrenzt wird.

Claims (24)

  1. Kommunikationsschnittstelle (112), umfassend: eine Bus-Schnittstelle (300), die an einen Bus (110) angeschlossen werden kann; mehrere Sendekanäle (306), die an die Bus-Schnittstelle angeschlossen sind; mehrere Empfangskanäle (310), die an die Bus-Schnittstelle angeschlossen sind; gekennzeichnet durch weiteres Umfassen von: einem Sendesteuerblock (308), der an die mehreren Sendekanäle angeschlossen ist, um einen der Sendekanäle, der Daten enthält und nicht im Wartezustand ist, zur Übertragung von Daten auszuwählen; einem Empfangssteuerblock (312), der an die mehreren Empfangssteuerkanäle angeschlossen ist, um einen der Empfangskanäle auszuwählen, der nicht voll oder in einem Wartezustand ist, um Daten zu empfangen; einem Stoppnachrichtenkanal, der an den Empfangssteuerblock angeschlossen und dafür ausgelegt ist, eine Stoppmeldung an eine Quelle zu senden, wenn ein ausgewählter Empfangskanal einen Stoppschwellwert erreicht, wodurch der ausgewählte Empfangskanal in einen Wartezustand versetzt wird; und einem Startnachrichtenkanal, der an den Empfangssteuerblock angeschlossen und dafür ausgelegt ist, eine Startmeldung an die Quelle zu senden, wenn der ausgewählte Empfangskanal einen Startschwellwert erreicht, wodurch der ausgewählte Empfangskanal den Wartezustand verlässt.
  2. Kommunikationsschnittstelle (112) nach Anspruch 1, die ferner einen Direktspeicherzugriffscontroller umfasst, der an die Bus-Schnittstelle angeschlossen ist.
  3. Kommunikationsschnittstelle (112) nach Anspruch 1, wobei die Bus-Schnittstelle (300) mehrere Sendesteuerregister (302) und mehrere Empfangssteuerregister (304) umfasst.
  4. Kommunikationsschnittstelle (112) nach Anspruch 3, wobei die mehreren Sendesteuerregister (302) mindestens eins der folgenden umfasst: ein Schnittstellenbreitenregister (520), das an den Sendesteuerblock (308) angeschlossen ist; ein Sende-FIFO-Register (504), das mit jedem Sendekanal (306) verknüpft ist; ein Nachrichtenende(EOM)-Register (508), das mit jedem Sendekanal verknüpft ist; ein Schnittstellen-Interruptidentifizierungsregister (512), das dem Sendesteuerblock verbunden ist; ein Sendefrequenzwahlregister (514), das mit dem Sendesteuerblock verbunden ist; ein Wartezählregister (516), das mit dem Sendesteuerblock verbunden ist; ein Taktstoppzeitregister (518), das mit dem Sendesteuerblock verbunden ist; ein Kanalkonfigurierungsregister (410), das mit jedem Sendekanal verbunden ist; und ein Kanalstatusregister (412), das mit jedem Sendekanal verbunden ist.
  5. Kommunikationsschnittstelle (112) nach Anspruch 3, wobei die mehreren Empfangssteuerregister (304) mindestens eins von folgenden umfassen: ein Empfangs-FIFO-Register (600), das mit jedem Empfangskanal (310) verbunden ist; ein Schnittstellenbreitenregister (520) zum Auswählen einer vorgegeben Zahl von Bits, die über die Kommunikationsschnittstelle vom Empfangssteuerblock (308) empfangen werden sollen; ein Kanalstoppregister (604), das mit jedem Empfangskanal verknüpft ist; ein Kanalstartregister (602), das mit jedem Empfangskanal verknüpft ist; ein Weckregister (606), das mit mindestens einem Empfangskanal verknüpft ist; ein Nachrichtenenderegister (508), das mit jedem Empfangskanal verknüpft ist; ein Kanalkonfigurierungsregister (410), das mit jedem Empfangskanal verknüpft ist; und ein Kanalstatusregister (412), das mit jedem Empfangskanal verknüpft ist.
  6. Kommunikationsschnittstelle (112) nach Anspruch 1, wobei jeder der mehreren Sendekanäle (306) und jeder der mehreren Empfangskanäle (310) eine FIFO-Speichereinrichtung (314, 316) umfasst.
  7. Kommunikationsschnittstelle (112) nach Anspruch 1, die ferner eine Leistungssteuereinheit (324) umfasst, die mit jedem der mehreren Sendekanäle (306) und Empfangskanäle (310) verbunden ist.
  8. Kommunikationsschnittstelle (112) nach Anspruch 1, wobei der Sendesteuerblock (308) einen Kanalarbiter (320) umfasst, der zum Auswählen eines nächsten der mehreren Sendekanäle (306), der aktiviert werden soll, ausgelegt ist.
  9. Kommunikationsschnittstelle (112) nach Anspruch 1, wobei der Sendesteuerblock (308) einen Verbindungscontroller (318) umfasst, der zum Senden von Daten aus einem ausgewählten Sendekanal (306) über eine ausgewählte Verbindung ausgelegt ist.
  10. Kommunikationsschnittstelle (112) nach Anspruch 1, wobei der Empfangssteuerblock (312) eine Ablaufsteuereinheit (322) umfasst, die zur Speicherung einer aktuellen aktiven Kanalnummer, einer Zahl der Bits in einem aktuellen Byte, das gerade übertragen wird, und zum Schreiben jedes Bytes in einen ausgewählten Empfangskanal der mehreren Empfangskanäle (310) ausgelegt ist.
  11. Kommunikationsschnittstelle (112) nach Anspruch 1, wobei die mehreren Sendekanäle (306) umfassen: mindestens einen Kanal (1102), der zum Senden eines Taktsignals ausgelegt ist; mindestens einen Kanal (1104), der zum Senden eines Freigabesignals ausgelegt ist; mindestens einen Kanal (1106), der zum Senden eines Wartesignals ausgelegt ist; und mindestens einen Kanal (1108), der zum Senden von Daten ausgelegt ist.
  12. Kommunikationsschnittstelle (112) nach Anspruch 1, wobei die mehreren Empfangskanäle (310) umfassen: mindestens einen Kanal (1110), der zum Senden eines Taktsignals ausgelegt ist; mindestens einen Kanal (1112), der zum Senden eines Freigabesignals ausgelegt ist; mindestens einen Kanal (1114), der zum Senden eines Wartesignals ausgelegt ist; und mindestens einen Kanal (1108), der zum Senden von Daten ausgelegt ist.
  13. Kommunikationsschnittstelle (112) nach Anspruch 1, wobei mindestens einer der mehreren Sendekanäle (306) und der mehreren Empfangskanäle (310) einen virtuellen Allzweck-Eingabe/Ausgabe-Kanal (307) umfassen.
  14. Kommunikationsschnittstelle (112) nach Anspruch 1, ferner umfassend: ein Kanalstoppschwellregister, das den Stoppschwellwert speichert, um zu bewirken, dass die Stoppmeldung an eine Quelle gesandt wird, wenn der ausgewählte Empfangskanal den Stoppschwellwert erreicht. ein Startschwellregister, das den Startschwellwert speichert, um zu bewirken, dass die Startmeldung an eine Quelle gesandt wird, wenn der ausgewählte Empfangskanal den Startschwellwert erreicht.
  15. Kommunikationsschnittstelle (112) nach Anspruch 1, die ferner mindestens einen aus einem Direktflusssteuermodus und einer Nachrichtenflusssteuerung zum Steuern eines Flusses von Daten durch die Kommunikationsschnittstelle umfasst.
  16. Kommunikationsschnittstelle (112) nach Anspruch 1, wobei der Sendesteuerblock (308) umfasst: einen Multiplexer, der mit den mehreren Sendekanälen verbunden ist; einen Parallel-ein-Serien-aus-Umsetzer (PISO), der mit dem Multiplexer verbunden ist; und einen Steuerschaltkreis, der mit dem Multiplexer und dem PISO verbunden ist und dafür ausgelegt ist, einen von den mehreren Sendekanälen zum Senden von Daten auszuwählen.
  17. Kommunikationsschnittstelle (112) nach Anspruch 1, wobei der Empfangssteuerblock (312) umfasst: einen Demultiplexer, der an die mehreren Empfangskanäle angeschlossen ist; einen Serien-ein-Parallel-aus-Umsetzer (SIPO); und eine Steuerschaltung, die an den Demultiplexer angeschlossen und dafür ausgelegt ist, einen der mehreren Empfangskanäle zum Empfangen von Daten auszuwählen.
  18. Verfahren (1600) zum Senden von Daten zwischen Halbleiterchips, gekennzeichnet durch: Schreiben (1602) von Daten in mindestens einen von mehreren Sende-FIFOs; Auswählen (1604) von einem der mehreren Sende-FIFOs, der Daten enthält, die gesendet werden sollen, und der nicht in einem Wartezustand ist; Übertragen (1612) der Daten in einen entsprechenden ausgewählten der mehreren Empfangs-FIFOs, der nicht voll oder in einem Wartezustand ist; Senden (1616) einer Stoppmeldung, wenn der entsprechende der Empfangs-FIFOs einen Stoppschwellwert erreicht, wodurch der entsprechende der FIFOs in einen Wartezustand versetzt wird; und Senden (1618) einer Startmeldung, wenn der entsprechende der Empfangs-FIFOs einen Startschwellwert erreicht, wodurch bewirkt wird, dass der entsprechende der Empfangs-FIFOs den Wartezustand verlässt.
  19. Verfahren (1600) nach Anspruch 18, ferner umfassend: Senden (1616) eines Wartesignals an einen Sendesteuerblock, wenn der entsprechende der Empfangs-FIFOs keine Daten empfangen kann; und Entfernen (1618) des Wartesignals, wenn der entsprechende der Empfangs-FIFOs Daten empfangen kann.
  20. Verfahren (1600) nach Anspruch 18, ferner umfassend das Auswählen (1620) eines weiteren der mehreren Sende-FIFOs zum Senden von Daten an einen weiteren der mehreren Empfangs-FIFOs, während der entsprechende der Empfangs-FIFOs keine Daten empfangen kann.
  21. Verfahren (1600) nach Anspruch 18, ferner umfassend: Senden (1606) eines Freigabesignals zum Initiieren einer Übertragung von Daten; Senden (1608) einer ausgewählten Kanalnummer, über die die Daten gesendet werden wollen; und Senden (1614) eines Nachrichtenendesignals, nachdem die Daten gesendet wurden.
  22. Verfahren (1600) nach Anspruch 18, ferner umfassend: Auswählen eines der mehreren Sende-FIFOs und des entsprechenden der mehreren Empfangs-FIFOs durch einen vorgegebenen Algorithmus.
  23. Verfahren (1600) nach Anspruch 18, wobei der vorgegebene Algorithmus das zyklische Multiplexverfahren ist.
  24. Verfahren (1600) nach Anspruch 18, das ferner das Auswählen einer Schnittstellenbreite aus Serienbreite, Zweibitbreite und Halbbytebreite umfasst.
DE60215833T 2001-09-21 2002-09-12 Mehrkanalschnittstelle für die kommunikation zwischen einrichtungen Expired - Lifetime DE60215833T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/961,024 US20030061431A1 (en) 2001-09-21 2001-09-21 Multiple channel interface for communications between devices
US961024 2001-09-21
PCT/US2002/029075 WO2003027863A2 (en) 2001-09-21 2002-09-12 Multiple channel interface for communications between devices

Publications (2)

Publication Number Publication Date
DE60215833D1 DE60215833D1 (de) 2006-12-14
DE60215833T2 true DE60215833T2 (de) 2007-06-28

Family

ID=25503973

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60215833T Expired - Lifetime DE60215833T2 (de) 2001-09-21 2002-09-12 Mehrkanalschnittstelle für die kommunikation zwischen einrichtungen

Country Status (8)

Country Link
US (1) US20030061431A1 (de)
EP (1) EP1428131B1 (de)
CN (1) CN100345130C (de)
AT (1) ATE344491T1 (de)
AU (1) AU2002343366A1 (de)
DE (1) DE60215833T2 (de)
TW (1) TW565772B (de)
WO (1) WO2003027863A2 (de)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760772B2 (en) * 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
US8812706B1 (en) 2001-09-06 2014-08-19 Qualcomm Incorporated Method and apparatus for compensating for mismatched delays in signals of a mobile display interface (MDDI) system
ATE509459T1 (de) * 2003-06-02 2011-05-15 Qualcomm Inc Erzeugung und umsetzung eines signalprotokolls und schnittstelle für höhere datenraten
US20040252713A1 (en) * 2003-06-13 2004-12-16 Roger Taylor Channel status management system for multi-channel LIU
US20050038946A1 (en) * 2003-08-12 2005-02-17 Tadpole Computer, Inc. System and method using a high speed interface in a system having co-processors
US8705571B2 (en) * 2003-08-13 2014-04-22 Qualcomm Incorporated Signal interface for higher data rates
CA2538308C (en) * 2003-09-10 2013-05-14 Qualcomm Incorporated High data rate interface
JP2007509533A (ja) * 2003-10-15 2007-04-12 クゥアルコム・インコーポレイテッド 高速データレートインタフェース
AU2004307162A1 (en) * 2003-10-29 2005-05-12 Qualcomm Incorporated High data rate interface
KR20060108709A (ko) 2003-11-12 2006-10-18 콸콤 인코포레이티드 향상된 링크 제어를 제공하는 고속 데이터 레이트인터페이스
EP1690404A1 (de) * 2003-11-25 2006-08-16 QUALCOMM Incorporated Schnittstelle mit hoher datenrate mit verbesserter streckensynchronisation
EP2247068B1 (de) * 2003-12-08 2013-09-25 Qualcomm Incorporated Hochgeschwindigkeits-Datenschnittstelle mit verbesserter Verknüpfungssynchronisation
EP2309695A1 (de) * 2004-03-10 2011-04-13 Qualcomm Incorporated Schnittstellenvorrichtung mit hoher Datenrate und Verfahren
KR20060130749A (ko) * 2004-03-17 2006-12-19 퀄컴 인코포레이티드 고 데이터 레이트 인터페이스 장치 및 방법
US8645566B2 (en) * 2004-03-24 2014-02-04 Qualcomm Incorporated High data rate interface apparatus and method
US7315912B2 (en) * 2004-04-01 2008-01-01 Nvidia Corporation Deadlock avoidance in a bus fabric
TWI254210B (en) * 2004-05-26 2006-05-01 Benq Corp Serial transmission control system for accessing data based on status signal, system capable of multiplex controlling to output at different times, and printer and control method thereof
US8650304B2 (en) * 2004-06-04 2014-02-11 Qualcomm Incorporated Determining a pre skew and post skew calibration data rate in a mobile display digital interface (MDDI) communication system
ATE518343T1 (de) * 2004-06-04 2011-08-15 Qualcomm Inc Schnittstellenvorrichtung und -verfahren für hohe datenraten
US7606951B2 (en) 2004-11-12 2009-10-20 Woodbridge Nancy G Memory reuse for multiple endpoints in USB device
US20060106962A1 (en) * 2004-11-17 2006-05-18 Woodbridge Nancy G USB On-The-Go implementation
US8692838B2 (en) * 2004-11-24 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US8699330B2 (en) * 2004-11-24 2014-04-15 Qualcomm Incorporated Systems and methods for digital data transmission rate control
US8539119B2 (en) * 2004-11-24 2013-09-17 Qualcomm Incorporated Methods and apparatus for exchanging messages having a digital data interface device message format
US8667363B2 (en) * 2004-11-24 2014-03-04 Qualcomm Incorporated Systems and methods for implementing cyclic redundancy checks
US20060161691A1 (en) * 2004-11-24 2006-07-20 Behnam Katibian Methods and systems for synchronous execution of commands across a communication link
US8723705B2 (en) * 2004-11-24 2014-05-13 Qualcomm Incorporated Low output skew double data rate serial encoder
US8873584B2 (en) 2004-11-24 2014-10-28 Qualcomm Incorporated Digital data interface device
TWI277907B (en) * 2005-04-20 2007-04-01 Via Tech Inc Apparatus and method for accessing digital data information
DE102005026436B4 (de) * 2005-06-08 2022-08-18 Austriamicrosystems Ag Schnittstellenanordnung, insbesondere für ein System-on-Chip, und deren Verwendung
US7603575B2 (en) * 2005-06-30 2009-10-13 Woodbridge Nancy G Frequency-dependent voltage control in digital logic
JP4499008B2 (ja) * 2005-09-15 2010-07-07 富士通マイクロエレクトロニクス株式会社 Dma転送システム
US8730069B2 (en) * 2005-11-23 2014-05-20 Qualcomm Incorporated Double data rate serial encoder
US8692839B2 (en) * 2005-11-23 2014-04-08 Qualcomm Incorporated Methods and systems for updating a buffer
US20080209089A1 (en) * 2007-02-27 2008-08-28 Integrated Device Technology, Inc. Packet-Based Parallel Interface Protocol For A Serial Buffer Having A Parallel Processor Port
US7870313B2 (en) * 2007-02-27 2011-01-11 Integrated Device Technology, Inc. Method and structure to support system resource access of a serial device implementating a lite-weight protocol
US7617346B2 (en) * 2007-02-27 2009-11-10 Integrated Device Technology, Inc. Rapid input/output doorbell coalescing to minimize CPU utilization and reduce system interrupt latency
US8094677B2 (en) * 2007-02-27 2012-01-10 Integrated Device Technology, Inc. Multi-bus structure for optimizing system performance of a serial buffer
US8516163B2 (en) * 2007-02-27 2013-08-20 Integrated Device Technology, Inc. Hardware-based concurrent direct memory access (DMA) engines on serial rapid input/output SRIO interface
WO2010027442A1 (en) * 2008-08-26 2010-03-11 Becton, Dickinson And Company Assay for chlamydia trachomatis by amplification and detection of chlamydia trachomatis cytotoxin gene
CN101442563A (zh) * 2008-12-17 2009-05-27 杭州华三通信技术有限公司 一种数据通信方法和一种以太网设备
US20100191995A1 (en) * 2009-01-26 2010-07-29 Koby Levy In-Band Sleep Protocol for Embedded Bus
US20120198005A1 (en) * 2011-02-02 2012-08-02 Research In Motion Limited Communication device and method for determining and processing contact profiles
US20150163537A1 (en) 2012-06-14 2015-06-11 Flextronics Ap, Llc Intelligent television
CN104145434B (zh) * 2012-08-17 2017-12-12 青岛海信国际营销股份有限公司 智能电视的频道切换器
US9747244B2 (en) 2013-11-22 2017-08-29 Qualcomm Incorporated Clockless virtual GPIO
US9619427B2 (en) 2014-04-21 2017-04-11 Qualcomm Incorporated Hybrid virtual GPIO
US10146727B2 (en) * 2015-04-14 2018-12-04 Qualcomm Incorporated Enhanced virtual GPIO with multi-mode modulation
US10241953B2 (en) * 2015-08-07 2019-03-26 Qualcomm Incorporated Dynamic data-link selection over common physical interface
CN105975048A (zh) * 2016-05-05 2016-09-28 高靳旭 一种dsp芯片及其构造方法
US20180357076A1 (en) * 2017-06-12 2018-12-13 Qualcomm Incorporated Method to establish operating configuration in a vgmi interface
US10515044B2 (en) * 2017-11-01 2019-12-24 Qualcomm Incorporated Communicating heterogeneous virtual general-purpose input/output messages over an I3C bus
CN112821156B (zh) * 2021-02-02 2023-01-06 深圳慧能泰半导体科技有限公司 一种电子标签芯片与type-c数据线
CN115632903B (zh) * 2022-09-22 2024-05-31 珠海格力电器股份有限公司 一种虚拟外设通信总线控制方法、装置及计算机设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088024A (en) * 1989-01-31 1992-02-11 Wisconsin Alumni Research Foundation Round-robin protocol method for arbitrating access to a shared bus arbitration providing preference to lower priority units after bus access by a higher priority unit
US5396635A (en) * 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5317749A (en) * 1992-09-25 1994-05-31 International Business Machines Corporation Method and apparatus for controlling access by a plurality of processors to a shared resource
IE922813A1 (en) * 1992-11-12 1994-05-18 Digital Equipment Internat Ltd Digital data storage system
US5758089A (en) * 1995-11-02 1998-05-26 Sun Microsystems, Inc. Method and apparatus for burst transferring ATM packet header and data to a host computer system
JP4181645B2 (ja) * 1996-02-29 2008-11-19 富士通株式会社 データ処理装置
EP0804033A3 (de) * 1996-04-26 2003-12-10 Texas Instruments Incorporated Verbesserungen an oder in Bezug auf elektronischen Bauelementen
JPH1040211A (ja) * 1996-04-30 1998-02-13 Texas Instr Inc <Ti> パケット化されたデータ通信インタフェース機器内での直接メモリアクセス優先順位を割り当てるための方法ならびにdmaチャンネル回路
US5805844A (en) * 1996-10-07 1998-09-08 Gustin; Jay W. Control circuit for an interface between a PCI bus and a module bus
US6084934A (en) * 1997-03-06 2000-07-04 International Business Machines Corporation Natural throttling of data transfer across asynchronous boundaries
US6167466A (en) * 1997-07-09 2000-12-26 Texas Instruments Incorporated Multi-channel serial port with programmable features
US6226338B1 (en) * 1998-06-18 2001-05-01 Lsi Logic Corporation Multiple channel data communication buffer with single transmit and receive memories
US6122680A (en) * 1998-06-18 2000-09-19 Lsi Logic Corporation Multiple channel data communication buffer with separate single port transmit and receive memories having a unique channel for each communication port and with fixed arbitration
EP1026593A1 (de) * 1999-02-06 2000-08-09 Motorola, Inc. Vielfachkanalsteuerung
CN1293494C (zh) * 1999-09-09 2007-01-03 上海贝尔有限公司 主从式多处理器系统中的通信接口
US6816935B1 (en) * 2001-03-02 2004-11-09 Advanced Micro Devices, Inc. Interrupt and status reporting structure and method for a timeslot bus

Also Published As

Publication number Publication date
TW565772B (en) 2003-12-11
DE60215833D1 (de) 2006-12-14
EP1428131B1 (de) 2006-11-02
CN100345130C (zh) 2007-10-24
AU2002343366A1 (en) 2003-04-07
ATE344491T1 (de) 2006-11-15
US20030061431A1 (en) 2003-03-27
EP1428131A2 (de) 2004-06-16
WO2003027863A2 (en) 2003-04-03
CN1556956A (zh) 2004-12-22
WO2003027863A3 (en) 2003-07-31

Similar Documents

Publication Publication Date Title
DE60215833T2 (de) Mehrkanalschnittstelle für die kommunikation zwischen einrichtungen
DE69836426T2 (de) Steuergerät für einen universellen seriellen Bus
DE69836307T2 (de) Signalprozessorgestützter Mehrfachbus-Kommunikationsadapter mit Multiplex
DE2560453C2 (de) Peripheriekopplungsadapter zur Steuerung der Übertragung von Informationen
DE69108434T2 (de) Mehrgruppen-Signalprozessor.
DE3751514T2 (de) Adressieranordnung für RAM-Puffer-Steuereinrichtung.
DE69413740T2 (de) Arbitrierungsverfahren zur Datenflusssteuerung durch ein E/A-Steuergerät
DE19900290B4 (de) Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle Buseinrichtung
DE3587910T2 (de) Peripheres Interface-System.
DE69532383T2 (de) Verfahren und vorrichtung zur dynamischen erzeugung und erhaltung von rahmenbasierten abfrageprogrammen für das abfragen von isochronen und asynchronen funktionen, die wartezeiten und bandbreiten für die isochronen funktionen garantieren
DE19900345B4 (de) Schnittstellenmodul für einen Universellen Seriellen Bus (USB) zur Verbindung mit einem USB über eine Programmierschnittstelle für eine USB-Funktion und Vorrichtung zum Anschluß an einen universellen seriellen Bus
EP1456722B1 (de) Datenübertragungsverfahren, serielles bussystem und anschalteinheit für einen passiven busteilnehmer
DE2230830C2 (de) Datenverarbeitungsanlage
DE19900325B4 (de) Vorrichtung und Verfahren zum Senden und Empfangen von Daten in eine und aus einer universellen seriellen Buseinrichtung
DE4307449C2 (de) Verfahren und Schaltung zur Resynchronisation einer synchronen seriellen Schnittstelle
DE4121446C2 (de) Terminal-Server-Architektur
DE69233664T2 (de) Schnittstelle eines sender-empfängers
DE19900369A9 (de) Vorrichtung und Verfahren zur Ausführung einer Steuerübertragung auf einem Universal Serial Bus
DE2647241A1 (de) Anordnung fuer eine digitale datenuebertragung
DE1299145B (de) Schaltungsanordnung zum Steuern von peripheren Ein- und Ausgabegeraeten von Datenverarbeitungssystemen
DE19900290A9 (de) Verfahren zum Betreiben einer universellen seriellen Buseinrichtung und universelle serielle Buseinrichtung
DE69520886T2 (de) System und verfahren zur verarbeitung von signaldaten und kommunikationssystem mit system zur verarbeitung von signaldaten
DE3788097T2 (de) Übertragungsschaltung für Endgerät.
DE3587336T2 (de) Ringuebertragungssystem mit variabler verbindungsreihenfolge der stationen.
DE69324323T2 (de) Mehrstationskommunikationsbussystem, sowie eine Master-Station und eine Slave-Station für den Einsatz in einem solchen System

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: MARVELL WORLD TRADE LTD., ST. MICHAEL, BB