DE102017101470B4 - Kommunikation von gpio zu gpio in einem verketteten netzwerk mit mehreren knoten - Google Patents

Kommunikation von gpio zu gpio in einem verketteten netzwerk mit mehreren knoten Download PDF

Info

Publication number
DE102017101470B4
DE102017101470B4 DE102017101470.5A DE102017101470A DE102017101470B4 DE 102017101470 B4 DE102017101470 B4 DE 102017101470B4 DE 102017101470 A DE102017101470 A DE 102017101470A DE 102017101470 B4 DE102017101470 B4 DE 102017101470B4
Authority
DE
Germany
Prior art keywords
transceiver
data
bus
node
downstream
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.)
Active
Application number
DE102017101470.5A
Other languages
English (en)
Other versions
DE102017101470A1 (de
Inventor
Martin Kessler
William Hooper
Lewis F. Lahr
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.)
Analog Devices Inc
Original Assignee
Analog Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/411,846 external-priority patent/US10872049B2/en
Application filed by Analog Devices Inc filed Critical Analog Devices Inc
Publication of DE102017101470A1 publication Critical patent/DE102017101470A1/de
Application granted granted Critical
Publication of DE102017101470B4 publication Critical patent/DE102017101470B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/403Bus networks with centralised control, e.g. polling
    • 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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

Master-Knoten-Sendeempfänger (102, 120) in einem Kommunikationssystem (100) mit niedriger Latenz, umfassend:einen Downstream-Sendeempfängerschaltkreis zumZuweisen, über einen Bus (106) zu einer Downstream-Vorrichtung, einer virtuellen Portkennung an einen GPIO-Pin (General Purpose Input/Output) der Downstream-Vorrichtung, wobei die virtuelle Portkennung einen virtuellen Port identifiziert, undZuweisen, über den Bus (106) zu der Downstream-Vorrichtung, des GPIO-PIN als einen Eingangspin oder einen Ausgangspin.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Die vorliegende Anmeldung beansprucht Priorität der vorläufigen US-Patentanmeldung Nr. 62/289,066 , eingereicht am 29.1.2016 mit dem Titel „GPIO-TO-GPIO COMMUNICATION ON A MULTI-NODE DAISY-CHAINED NETWORK“. Diese Prioritätsanmeldung wird hiermit durch Bezugnahme vollständig aufgenommen.
  • STAND DER TECHNIK
  • Mit abnehmender Größe von elektronischen Komponenten und zunehmenden Erwartungen an die Leistungsfähigkeit werden mehr Komponenten in zuvor nicht damit ausgestattete oder weniger damit ausgestattete Vorrichtungen aufgenommen. In einigen Umgebungen weist die zum Austauschen von Signalen zwischen diesen Komponenten (z.B. in einem Fahrzeug) verwendete Kommunikationsinfrastruktur dicke und schwere Kabelbündel auf.
    Als Druckschriften zum Stand der Technik sind zu nennen DE 10 2015 117 673 A1 , US 2014/0101351 A1 , US 2013/0080677 A1 und US 2013/0111099 A1 .
  • Figurenliste
  • Durch Bezugnahme auf die folgende ausführliche Beschreibung in Verbindung mit den beigefügten Zeichnungen werden Ausführungsformen ohne Weiteres verständlich. Um diese Beschreibung zu erleichtern, kennzeichnen gleiche Bezugszahlen gleiche Strukturelemente. Ausführungsformen werden in den Figuren der beigefügten Zeichnungen beispielhaft und nicht als Beschränkung dargestellt.
    • 1 ist eine Blockdarstellung eines beispielhaften Zweidraht-Kommunikationssystems gemäß verschiedenen Ausführungsformen.
    • 2 ist eine Blockdarstellung eines Knotensendeempfängers, der in einem Knoten des Systems von 1 enthalten sein kann, gemäß verschiedenen Ausführungsformen.
    • 3 ist eine Darstellung eines Teils eines zur Kommunikation in dem System von 1 verwendeten Synchronisations-Steuerrahmens gemäß verschiedenen Ausführungsformen.
    • 4 ist eine Darstellung eines zur Kommunikation in dem System von 1 verwendeten Superrahmens gemäß verschiedenen Ausführungsformen.
    • 5 zeigt beispielhafte Formate für einen Synchronisations-Steuerrahmen in verschiedenen Betriebsmodi des Systems von 1 gemäß verschiedenen Ausführungsformen.
    • 6 zeigt beispielhafte Formate für einen Synchronisations-Steuerrahmen in verschiedenen Betriebsmodi des Systems von 1 gemäß verschiedenen Ausführungsformen.
    • 7 ist eine Blockdarstellung verschiedener Komponenten des Busprotokollschaltkreises von 2 gemäß verschiedenen Ausführungsformen.
    • 8-11 zeigen Beispiele für Informationsaustausch auf einem Zweidrahtbus gemäß verschiedenen Ausführungsformen der hier beschriebenen Busprotokolle.
    • 12 zeigt eine Ringtopologie für den Zweidrahtbus und ein darauf basierendes unidirektionales Kommunikationsschema darauf gemäß verschiedenen Ausführungsformen.
    • 13 zeigt schematisch eine Vorrichtung, die in dem System von 1 als Knoten oder Host dienen kann, gemäß verschiedenen Ausführungsformen.
    • 14 zeigt ein Beispiel für Informationsaustausch auf einem Zweidrahtbus gemäß verschiedenen Ausführungsformen der hier beschriebenen Busprotokolle.
    • 15 ist eine Blockdarstellung einer Anordnung, bei der ein Slave-Knoten mit einer Energiespeichervorrichtung und einer Peripherievorrichtung gekoppelt ist, gemäß verschiedenen Ausführungsformen.
    • 16 zeigt eine Ausführungsform des Systems von 1 zusammen mit einem Flussdiagramm eines Verfahrens, das durch einen Host zum selektiven Routen von Audio in dem System ausgeführt werden kann.
    • 17 ist ein Flussdiagramm eines Verfahrens, das durch einen Slave-Knoten während des selektiven Routens von Audio in dem System wie in 16 abgebildet ausgeführt werden kann, gemäß verschiedenen Ausführungsformen.
    • 18 zeigt eine Ausführungsform des Systems von 1, bei der ein Slave-Knoten einen drahtlosen Sendeempfänger als Peripherievorrichtung aufweist.
    • 19 zeigt eine Ausführungsform des Systems von 1, bei dem ein Host mit einem drahtlosen Sendeempfänger gekoppelt ist.
    • 20-23 zeigen beispielhafte Anordnungen eines Mikrofons, eines Mikrofonkabels und einer Audioempfangsvorrichtung, die in dem System von 1 enthalten sein können, gemäß verschiedenen Ausführungsformen.
    • 24 zeigt eine Anordnung, bei der sich ein Slave-Knoten in der Nähe einer mit einem Dach eines Fahrzeugs gekoppelten Antenne befindet, gemäß verschiedenen Ausführungsformen.
    • 25 zeigt eine Anordnung mehrerer Arten von audiovisuellen Geräten als Slave-Knoten in dem System von 1 gemäß verschiedenen Ausführungsformen.
    • 26 zeigt einen Roboterarm und eine Anordnung des Systems von 1 zur Ermöglichung von Kommunikation zwischen Sensoren und Aktoren des Roboterarms gemäß verschiedenen Ausführungsformen.
    • 27 ist eine Blockdarstellung einer Anordnung von Komponenten des Systems von 1 mit Sende- und Empfangs-Postkästen gemäß verschiedenen Ausführungsformen.
    • 28 zeigt eine Anordnung von Slave-Knoten und zugeordneten Peripherievorrichtungen in einem Fahrzeug gemäß verschiedenen Ausführungsformen.
    • 29 ist eine Blockdarstellung einer Anordnung von Elementen des Systems von 1 und eines Busmonitors gemäß verschiedenen Ausführungsformen.
    • 30 ist ein Flussdiagramm eines Verfahrens zum Beginnen des Betriebs eines Busmonitors gemäß verschiedenen Ausführungsformen.
    • 31-34 zeigen verschiedene Register, mit denen Kommunikation von GPIO zu GPIO unterstützt werden kann, gemäß verschiedenen Ausführungsformen.
    • 35 zeigt einen beispielhaften Automaten im Master-Knoten zum Verwalten von GPIO-Datenaktualisierungen gemäß verschiedenen Ausführungsformen.
    • 36 und 37 zeigen Beispiele für Systemverhalten mit mehreren Slave-Knoten, die als Eingaben in einen virtuellen Port abgebildet werden, und einem Master-Knoten, der als Ausgabe vom virtuellen Port abgebildet wird, gemäß verschiedenen Ausführungsformen.
    • 38 gibt eine Visualisierung auf Systemebene von GPIO-über-Distanz-Logik gemäß verschiedenen Ausführungsformen.
    • 39 und 40 zeigen beispielhafte GPIODnMSK-Crossbars für GPIO-über-Distanz-Eingangs- und -Ausgangspins gemäß verschiedenen Ausführungsformen.
    • 41 zeigt beispielhafte GPIO-über-Distanz-Funktionalität in einer beispielhaften Anordnung von Master- und Slave-Knoten gemäß verschiedenen Ausführungsformen.
    • 42 und 43 zeigen verschiedene GPIODnMSK- und GPIODINV-Einstellungen und ihre Auswirkungen auf die Werte von GPIOOEN für verschiedene Beiträge von Slave-Knoten gemäß verschiedenen Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Mit abnehmender Größe von elektronischen Komponenten und zunehmenden Erwartungen an die Leistungsfähigkeit werden mehr Komponenten in zuvor nicht damit ausgestattete oder weniger damit ausgestattete Vorrichtungen aufgenommen. Dieser Trend in Richtung vergrößerter Ausstattung wurde herkömmlicherweise durch die zum Austauschen von Signalen zwischen Komponenten verwendete Kommunikationsinfrastruktur begrenzt. Zum Beispiel hat die starke Vermehrung von Sensoren wie Mikrofonen, Kameras usw. in Automobilen (und anderen geschlossenen und/oder mobilen Systemen wie robotischen Systemen) zu einer übermäßigen Menge an Verdrahtung zwischen Komponenten geführt. Diese übermäßige Verdrahtung wird durch eine Zunahme der Systemkomplexität und des Gewichts und eine Abnahme der Leistungsfähigkeit und Zuverlässigkeit begleitet.
  • Es werden hier Kommunikationssysteme beschrieben, die TDM-Kommunikation (Zeitmultiplex) mit niedriger Latenz über einen Zweidrahtbus (z.B. eine verdrillte Doppeldrahtleitung) bereitstellen. In diesen Systemen können bidirektionale synchrone Daten (z.B. digitales Audio), Takt- und Synchronisationssignale durch den Zweidrahtbus bereitgestellt werden, wodurch direkte Verbindungen von Punkt zu Punkt zwischen Knoten auf dem Bus unterstützt werden und erlaubt wird, dass mehrere aneinandergereihte Knoten an verschiedenen Orten TDM-Kanalinhalt beitragen oder verbrauchen. Diese Kommunikationssysteme ermöglichen Downstream-Verkehr (z.B. von einem Master-Knoten zu einem letzten Slave-Knoten), Upstream-Verkehr (z.B. zu einem Master-Knoten von einem Slave-Knoten) und Stromversorgungsübertragung über denselben Zweidrahtbus.
  • In der folgenden ausführlichen Beschreibung wird auf die beigefügten Zeichnungen verwiesen, die einen Teil hiervon bilden, wobei gleiche Zahlen durchweg gleiche Teile kennzeichnen und in denen zur Veranschaulichung Ausführungsformen gezeigt sind, die praktiziert werden können. Es versteht sich, dass andere Ausführungsformen benutzt und strukturelle oder logische Änderungen vorgenommen werden können, ohne vom Schutzumfang der vorliegenden Offenbarung abzuweichen. Die folgende ausführliche Beschreibung ist deshalb nicht im einschränkenden Sinne zu deuten.
  • Verschiedene Operationen können als mehrere diskrete Aktionen oder Operationen der Reihe nach auf eine Weise beschrieben werden, die für das Verständnis des beanspruchten Gegenstands am hilfreichsten ist. Die Reihenfolge der Beschreibung sollte jedoch nicht als Folgerung aufgefasst werden, dass diese Operationen notwendigerweise reihenfolgeabhängig sind. Insbesondere können diese Operationen nicht in der Präsentationsreihenfolge ausgeführt werden. Beschriebene Operationen können in einer anderen Reihenfolge als die beschriebene Ausführungsform ausgeführt werden. Bei zusätzlichen Ausführungsformen können verschiedene zusätzliche Operationen ausgeführt und/oder beschriebene Operationen weggelassen werden.
  • Für die Zwecke der vorliegenden Offenbarung bedeutet der Ausdruck „A und/oder B“ (A), (B) oder (A und B). Für die Zwecke der vorliegenden Offenbarung bedeutet der Ausdruck „A, B und/oder C“ (A), (B), (C), (A und B), (A und C), (B und C) oder (A, B und C).
  • Verschiedene Komponenten können hier im Singular erwähnt oder dargestellt sein (z.B. ein „Prozessor“, eine „Peripherievorrichtung“ usw.), aber dies dient nur zur leichteren Besprechung, und jegliche im Singular erwähnten Elemente können gemäß den vorliegenden Lehren mehrere solche Elemente umfassen.
  • Die Beschreibung verwendet die Ausdrücke „bei einer Ausführungsform“ oder „bei Ausführungsformen“, die sich jeweils auf eine oder mehrere derselben oder verschiedener Ausführungsformen beziehen können. Ferner sind die Ausdrücke „umfassend“, „enthaltend“, „aufweisend“ und dergleichen, so wie sie mit Bezug auf Ausführungsformen der vorliegenden Offenbarung verwendet werden, synonym. Im vorliegenden Gebrauch kann sich der Begriff „Schaltkreise“ auf Folgendes beziehen oder Teil davon sein oder umfassen: eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung und optische Schaltung, einen Prozessor (geteilt, dediziert oder gruppiert) und/oder einen Speicher (geteilt, dediziert oder gruppiert), die ein oder mehrere Software- oder Firmwareprogramme ausführen, eine kombinatorische Logikschaltung und/oder andere geeignete Hardware, die die beschriebene Funktionalität bereitstellen. Ein Master-Knoten kann hier auch als eine Master-„Vorrichtung“ bezeichnet werden; ähnlich kann ein Slave-Knoten hier als eine Slave-„Vorrichtung“ bezeichnet werden.
  • Alle hier beschriebenen Ausführungsformen können gemäß beliebigen geeigneten verwandten Ausführungsformen ausgeführt werden, die in beliebigen der vorbekannten Patenteinreichungen offenbart werden, deren Priorität die vorliegende Anmeldung beansprucht. Insbesondere können beliebige der Ausführungsformen des in beliebigen der vorbekannten Einreichungen offenbarten A2B-Systems (Automotive Audio Bus) in beliebiger Kombination mit den hier beschriebenen Ausführungsformen implementiert werden. Zum Beispiel können Stromversorgungsumschaltung und Diagnostik in den hier beschriebenen Zweidraht-Kommunikationssystemen enthalten sein, so wie es in der vorläufigen US-Anmeldung Nr. 61/845,542 , eingereicht am 12.7.2013, besprochen wird. In einem anderen Beispiel können Decodierer in den hier beschriebenen Zweidraht-Kommunikationssystemen enthalten sein, so wie es in der vorläufigen US-Anmeldung Nr. 61/843,902 , eingereicht am 8.7.2013, besprochen wird. In einem anderen Beispiel können digitale Phasendetektoren in den hier beschriebenen Zweidraht-Kommunikationssystemen enthalten sein, wie in der vorläufigen US-Anmeldung Nr. 61/843,896 , eingereicht am 8.7.2013, besprochen wird. In einem anderen Beispiel können die hier beschriebenen Zweidraht-Kommunikationssysteme die Zustandsautomatenfunktionalität umfassen, die in der vorläufigen US-Anmeldung Nr. 61/843,891 , eingereicht am 8.7.2013, besprochen wird.
  • 1 ist eine Blockdarstellung eines beispielhaften Halbduplex-Zweidraht-Kommunikationssystems 100 gemäß verschiedenen Ausführungsformen. Das System 100 umfasst einen Host 110, einen Master-Knoten 102 und mindestens einen Slave-Knoten 104. In 1 sind drei Slave-Knoten (0, 1 und 2) dargestellt. Die Abbildung von drei Slave-Knoten 104 in 1 ist lediglich beispielhaft und das System 100 kann je nach Wunsch einen, zwei oder mehr Slave-Knoten 104 umfassen.
  • Der Master-Knoten 102 kann über einen Zweidrahtbus 106 mit den Slave-Knoten 104 kommunizieren. Der Bus 106 kann verschiedene Zweidraht-Busverbindungen zwischen angrenzenden Knoten auf dem Bus 106 zur Verbindung der Knoten auf dem Bus 106 auf aneinandergereihte Weise umfassen. Zum Beispiel kann der Bus 106 wie in 1 dargestellt eine Verbindung umfassen, die den Master-Knoten 102 mit dem Slave-Knoten 0 koppelt, eine Verbindung, die den Slave-Knoten 0 mit dem Slave-Knoten 1 koppelt, und eine Verbindung, die den Slave-Knoten 1 mit dem Slave-Knoten 2 koppelt. Die Verbindungen des Busses 106 können jeweils aus einer einzelnen verdrillten Doppeldrahtleitung (z.B. einer nicht abgeschirmten verdrillten Doppeldrahtleitung) gebildet sein.
  • Der Host 110 kann einen Prozessor umfassen, der den Master-Knoten 102 programmiert und als Ursprung und Empfänger verschiedener auf dem Bus 106 übertragener Nutzinformationen wirkt. Insbesondere kann der Host 110 der Master von I2S-Kommunikation (Inter-Integrated Circuit Sound) sein, die auf dem Bus 106 geschieht. Der Host 110 kann über einen I2S-/Zeitmultiplex- bzw. -TDM-Bus und/oder einen I2C-Bus (Inter-Integrated Circuit) mit dem Master-Knoten 102 kommunizieren. Bei einigen Ausführungsformen kann der Master-Knoten 102 ein Sendeempfänger (z.B. der nachfolgend mit Bezug auf 2 besprochene Knotensendeempfänger 120) sein, der sich in einem Gehäuse des Hosts 110 befindet. Der Master-Knoten 102 kann über den I2C-Bus für Konfiguration und Rücklesen durch den Host 110 programmierbar sein und kann dafür ausgelegt sein, Takt, Synchronisation und Framing für alle Slave-Knoten 104 zu erzeugen. Bei einigen Ausführungsformen kann eine Erweiterung des I2C-Steuerbusses zwischen dem Host 110 in dem Master-Knoten 102 in die über den Bus 106 übertragenen Datenströme eingebettet werden, wodurch der Host 110 direkt auf Register und Statusinformationen für den einen oder die mehreren Slave-Knoten 104 zugreifen kann und auch Kommunikation von I2C zu I2C über Distanz ermöglicht wird, um es dem Host 110 zu erlauben, die Peripheriegeräte 108 zu steuern.
  • Der Master-Knoten 102 kann „Downstream-Signale“ (z.B. Datensignale, Stromversorgungssignale usw., die von dem Master-Knoten 102 weg auf dem Bus 106 übertragen werden) erzeugen und „Upstream-Signale“ (die z.B. auf dem Bus 106 in Richtung des Master-Knotens 102 übertragen werden) empfangen. Der Master-Knoten 102 kann ein Taktsignal für synchrone Datenübertragung über den Bus 106 bereitstellen. Im vorliegenden Gebrauch kann „synchrone Daten“ Daten umfassen, die kontinuierlich mit einem festen Zeitintervall zwischen zwei sukzessiven Übertragungen zu/von demselben Knoten auf dem Bus 106 gestreamt werden (z.B. Audiosignale). Bei einigen Ausführungsformen kann das durch den Master-Knoten 102 bereitgestellte Taktsignal von einer dem Master-Knoten 102 durch den Host 110 bereitgestellten I2S-Eingabe abgeleitet werden. Ein Slave-Knoten 104 kann ein adressierbarer Netzwerkverbindungspunkt sein, der ein mögliches Ziel für downstream auf dem Bus 106 oder upstream auf dem Bus 106 übertragene Datenrahmen repräsentiert. Ein Slave-Knoten 104 kann auch eine mögliche Quelle von Downstream- oder Upstream-Datenrahmen repräsentieren. Das System 100 kann Übertragung von Steuerinformationen und anderen Daten in beiden Richtungen über den Bus 106 von einem Knoten zum nächsten erlauben. Einer oder mehrere der Slave-Knoten 104 können auch durch über den Bus 106 übertragene Signale mit Strom versorgt werden.
  • Insbesondere kann jeder des Master-Knotens 102 und der Slave-Knoten 104 einen positiven Upstream-Anschluss (als „AP“ bezeichnet), einen negativen Upstream-Anschluss (als „AN“ bezeichnet), einen positiven Downstream-Anschluss (als „BP“ bezeichnet) und einen negativen Downstream-Anschluss (als „BN“ bezeichnet) umfassen. Der positive und negative Downstream-Anschluss eines Knotens können mit dem positiven bzw. negativen Upstream-Anschluss des angrenzenden Downstream-Knotens gekoppelt sein. Wie in 1 gezeigt, kann der Master-Knoten 102 einen positiven und negativen Upstream-Anschluss umfassen, aber diese Anschlüsse können nicht verwendet werden; bei anderen Ausführungsformen kann der Master-Knoten 102 keinen positiven und negativen Upstream-Anschluss umfassen. Der letzte Slave-Knoten 104 auf dem Bus 106 (in 1 der Slave-Knoten 2) kann einen positiven und negativen Downstream-Anschluss umfassen, aber diese Anschlüsse können nicht verwendet werden; bei anderen Ausführungsformen kann der letzte Slave-Knoten 104 auf dem Bus einen positiven und negativen Downstream-Anschluss nicht umfassen.
  • Wie nachfolgend ausführlich besprochen wird, kann der Master-Knoten 102 periodisch einen Synchronisationssteuerrahmen downstream senden, gegebenenfalls zusammen mit Daten, die für einen oder mehrere der Slave-Knoten 104 bestimmt sind. Zum Beispiel kann der Master-Knoten 102 alle 1024 Bit (was einen Superrahmen repräsentiert) mit einer Frequenz von 48 kHz einen Synchronisationssteuerrahmen senden, was zu einer effektiven Bitrate auf dem Bus 106 von 49,152 Mbps führt. Es können andere Raten unterstützt werden, darunter zum Beispiel 44,1 kHz. Der Synchronisationssteuerrahmen kann es den Slave-Knoten 104 erlauben, den Anfang jedes Superrahmens zu identifizieren, und kann außerdem in Kombination mit Bitübertragungsschichtcodierung/-signalisierung jedem Slave-Knoten 104 erlauben, seinen internen Betriebstakt aus dem Bus 106 abzuleiten. Der Synchronisationssteuerrahmen kann eine Präambel zur Signalisierung des Starts der Synchronisation sowie Steuerfelder, die verschiedene Adressierungsmodi (z.B. normal, Rundsendung, Entdeckung), Konfigurationsinformationen (z.B. Schreiben in Register der Slave-Knoten 104), Übermittlung von I2C-Informationen, Fernsteuerung bestimmter GPIO-Pins (Vielzweck-Eingabe/-Ausgabe) an den Slave-Knoten 104 und andere Dienste umfassen. Ein Teil des Synchronisationssteuerrahmens nach der Präambel und den Nutzinformationsdaten kann verwürfelt werden, um die Wahrscheinlichkeit zu verringern, dass Informationen in dem Synchronisationssteuerrahmen für eine neue Präambel gehalten werden, und um das Spektrum diesbezüglicher elektromagnetischer Emissionen zu verflachen.
  • Der Synchronisationssteuerrahmen kann zwischen den Slave-Knoten 104 (gegebenenfalls zusammen mit anderen Daten, die von dem Master-Knoten 102 kommen können, aber zusätzlich oder als Alternative von einem oder mehreren Upstream-Slave-Knoten 104 oder von einem Slave-Knoten 104 selbst kommen können) weitergeleitet werden, bis er den letzten Slave-Knoten 104 (d.h. den Slave-Knoten 2 in 1) erreicht, der durch den Master-Knoten 102 als der letzte Slave-Knoten 104 konfiguriert wurde oder sich selbst als der letzte Slave-Knoten 104 identifiziert hat. Auf den Empfang des Synchronisationssteuerrahmens hin kann der letzte Slave-Knoten 104 einen Synchronisationsantwortrahmen senden, dem etwaige Daten folgen, die er senden darf (z.B. einen 24-Bit-Audioabtastwert in einem designierten Zeitschlitz). Der Synchronisationsantwortrahmen kann dann upstream zwischen Slave-Knoten 104 (gegebenenfalls zusammen mit Daten von Downstream-Slave-Knoten 104) weitergeleitet werden, und auf der Basis des Synchronisationsantwortrahmens kann jeder Slave-Knoten 104 in der Lage sein, einen etwaigen Zeitschlitz zu identifizieren, in dem dem Slave-Knoten 104 gestattet ist, zu senden.
  • Bei einigen Ausführungsformen kann bzw. können einer oder mehrere der Slave-Knoten 104 im System 100 mit einer Peripherievorrichtung 108 gekoppelt sein und damit kommunizieren. Zum Beispiel kann ein Slave-Knoten 104 dafür ausgelegt sein, wie nachfolgend besprochen unter Verwendung von I2S, Impulsdichtemodulation (PDM), TDM und/oder von I2C-Protokollen Daten von der zugeordneten Peripherievorrichtung 108 zu lesen und/oder Daten in diese zu schreiben. Obwohl die „Peripherievorrichtung“ 108 hier im Singular erwähnt werden kann, dient dies einfach zur leichteren Besprechung, und ein einzelner Slave-Knoten 104 kann mit null, einer oder mehr Peripherievorrichtungen gekoppelt sein. Beispiele für Peripherievorrichtungen, die in der Peripherievorrichtung 108 enthalten sein können, wären ein DSP (digitaler Signalprozessor), ein FPGA (Field Programmable Gate Array), eine ASIC (anwendungsspezifische integrierte Schaltung), ein ADC (Analog-Digital-Wandler), ein DAC (Digital-Analog-Umsetzer), ein Codec, ein Mikrofon, ein Mikrofonarray, ein Lautsprecher, ein Audioverstärker, ein Protokollanalysierer, ein Beschleunigungsmesser oder anderer Bewegungssensor, ein Umgebungsbedingungssensor (z.B. ein Temperatur-, Feuchtigkeits- und/oder Gassensor), ein verdrahteter oder drahtloser Kommunikations-Sendeempfänger, eine Anzeigevorrichtung (z.B. ein Touchscreen-Display), eine Benutzeroberflächenkomponente (z.B. eine Taste, eine Wahlscheibe oder ein anderes Steuerelement), eine Kamera (z.B. eine Videokamera), eine Speichervorrichtung oder eine beliebige andere geeignete Vorrichtung, die Daten sendet und/oder empfängt. Es werden hier mehrere Beispiele für verschiedene Peripherievorrichtungskonfigurationen detailliert besprochen.
  • Bei einigen Ausführungsformen kann die Peripherievorrichtung 108 eine beliebige Vorrichtung umfassen, die für I2S-Kommunikation (Inter-Integrated Circuit Sound) konfiguriert ist; die Peripherievorrichtung 108 kann über das I2S-Protokoll mit dem zugeordneten Slave-Knoten 104 kommunizieren. Bei einigen Ausführungsformen kann die Peripherievorrichtung 108 eine beliebige Vorrichtung umfassen, die für I2C-Kommunikation (Inter-Integrated Circuit) konfiguriert ist; die Peripherievorrichtung 108 kann über das I2C-Protokoll mit dem zugeordneten Slave-Knoten 104 kommunizieren. Bei einigen Ausführungsformen kann ein Slave-Knoten 104 mit keiner Peripherievorrichtung 108 gekoppelt sein.
  • Ein Slave-Knoten 104 und seine zugeordnete Periphierievorrichtung 108 können in getrennten Gehäusen enthalten und mittels einer verdrahteten oder drahtlosen Kommunikationsverbindung gekoppelt sein oder können in einem gemeinsamen Gehäuse enthalten sein. Zum Beispiel kann ein als Peripherievorrichtung 108 verbundener Lautsprecher zusammen mit der Hardware für einen zugeordneten Slave-Knoten 104 (z.B. den nachfolgend mit Bezug auf 2 besprochenen Knoten-Sendeempfänger 120) eingehaust sein, so dass die Hardware für den zugeordneten Slave-Knoten 104 in einem Gehäuse enthalten ist, das andere Lautsprecherkomponenten enthält. Dasselbe kann für eine beliebige Art von Peripherievorrichtung 108 gelten.
  • Wie oben besprochen, kann der Host 110 unter Verwendung von mehrkanaligen I2S- und I2C-Kommunikationsprotokollen mit dem Master-Knoten 102 kommunizieren und ihn steuern. Insbesondere kann der Host 110 über I2S Daten zu einem (nicht dargestellten) Rahmenpuffer im Master-Knoten 102 senden, und der Master-Knoten 102 kann Daten aus dem Rahmenpuffer lesen und die Daten auf dem Bus 106 senden. Analog kann der Master-Knoten 102 über den Bus 106 empfangene Daten im Rahmenpuffer speichern und kann dann die Daten über I2S zu dem Host 110 senden.
  • Jeder Slave-Knoten 104 kann interne Steuerregister aufweisen, die durch Übermittlungen vom Master-Knoten 102 konfiguriert werden können. Im Folgenden wird eine Anzahl solcher Register ausführlich besprochen. Jeder Slave-Knoten 104 kann Downstream-Daten empfangen und die Daten erneut weiter downstream senden. Jeder Slave-Knoten 104 kann Upstream-Daten empfangen und/oder erzeugen und/oder Daten upstream weiter senden und/oder Daten zu einer Upstream-Transaktion hinzufügen.
  • Kommunikation auf dem Bus 106 kann in periodischen Superrahmen erfolgen. Jeder Superrahmen kann mit einem Downstream-Synchronisationssteuerrahmen beginnen; in Perioden der Downstream-Übertragung (auch als „Downstream-Teile“ bezeichnet), Upstream-Übertragung (auch als „Upstream-Teile“ bezeichnet) und keiner Übertragung (wobei der Bus 106 nicht angesteuert wird) aufgeteilt werden; und kurz vor der Übertragung eines weiteren Downstream-Synchronisationssteuerrahmens enden. Der Master-Knoten 102 kann (durch den Host 110) mit einer Anzahl von Downstream-Teilen, die zu einem oder mehreren der Slave-Knoten 104 zu senden sind, und einer Anzahl von Upstream-Teilen zum Empfang von einem oder mehreren der Slave-Knoten 104 programmiert werden. Jeder Slave-Knoten 104 kann (durch den Master-Knoten 102) mit einer Anzahl von Downstream-Teilen, die den Bus 106 hinunter weiterzusenden sind, einer Anzahl von Downstream-Teilen, die zu verbrauchen sind, einer Anzahl von Upstream-Teilen, die den Bus 106 hinauf weiterzusenden sind, und einer Anzahl von Upstream-Teilen, in denen der Slave-Knoten 104 durch den Slave-Knoten 104 von der zugeordneten Peripherievorrichtung 108 empfangene Daten senden kann, programmiert werden. Kommunikation auf dem Bus 106 wird nachfolgend ausführlicher mit Bezug auf 2-12 besprochen.
  • Jeder des Master-Knotens 102 und der Slave-Knoten 104 kann einen Sendeempfänger zum Verwalten von Kommunikation zwischen Komponenten des Systems 100 umfassen. 2 ist eine Blockdarstellung eines Knoten-Sendeempfängers 120, der in einem Knoten (z.B. dem Master-Knoten 102 oder einem Slave-Knoten 104) des Systems 100 von 1 enthalten sein kann, gemäß verschiedenen Ausführungsformen. Bei einigen Ausführungsformen kann in jedem der Knoten des Systems 100 ein Knoten-Sendeempfänger 120 enthalten sein, und dem Knoten-Sendeempfänger 120 kann über einen Master- bzw. MSTR-Pin ein Steuersignal zugeführt werden, um anzugeben, ob der Knoten-Sendeempfänger 120 als Master (z.B. wenn der MSTR-Pin hoch ist) oder Slave (z.B. wenn der MSTR-Pin niedrig ist) handeln soll.
  • Der Knoten-Sendeempfänger 120 kann einen Upstream-Sendeempfänger 122 und einen Downstream-Sendeempfänger 124 umfassen. Der Upstream-Sendeempfänger 122 kann mit dem oben mit Bezug auf 1 besprochenen postiven und negativen Upstream-Anschluss gekoppelt sein und der Downstream-Sendeempfänger 124 kann mit dem oben mit Bezug auf 1 besprochenen positiven und negativen Downstream-Anschluss gekoppelt sein. Bei einigen Ausführungsformen können der Upstream-Sendeempfänger 122 und der Downstream-Sendeempfänger 124 jeweils Differenzsignalisierungs- bzw. DS-Sendeempfänger sein. Bei einigen Ausführungsformen kann der Upstream-Sendeempfänger 122 ein Niederspannungs-DS- bzw. LVDS-Sendeempfänger sein, und der Downstream-Sendeempfänger 124 kann ein LVDS-Sendeempfänger sein. Jeder Knoten im System 100 kann mit dem Bus 106 wechselstromgekoppelt sein, und Datensignale können auf dem Bus 106 (z.B. über den Upstream-Sendeempfänger 122 und/oder den Downstream-Sendeempfänger 124) unter Verwendung einer vorbestimmten Form von DS (z.B. LVDS oder Mehrpunkt-LVDS (MLVDS) oder ähnlicher Signalisierung) mit entsprechender Codierung zur Bereitstellung von Timinginformationen über den Bus 106 (z.B. Differenz-Manchestercodierunng, Biphasenmarkierungscodierung, Manchestercodierung, NRZI-Codierung (Non-Return-To-Zero, Inverted) mit Lauflängenbeschränkung oder einer beliegen anderen geeigneten Codierung) übermittelt werden. Bei einigen Ausführungsformen kann der Bus 106 durch ein Koaxialkabel bereitgestellt werden, und die Upstream- und Downstream-Signale können asymmetrische Signale sein, die das Koaxialkabel ansteuern.
  • Der Upstream-Sendeempfänger 122 und der Downstream-Sendeempfänger 124 können mit den Busprotokollschaltkreisen 126 kommunizieren, und der Busprotokollschaltkreis 126 kann neben anderen Komponenten mit einem Phasenregelkreis (PLL) 128 und einem Spannungsreglerschaltkreis 130 kommunizieren. Wenn der Knoten-Sendeempfänger 120 heraufgefahren wird, kann der Spannungsreglerschaltkreis 130 ein Signal „Stromversorgung gut“ setzen, das vom PLL 128 als ein Einschaltrücksetzen verwendet wird.
  • Wie oben erwähnt, kann bzw. können einer oder mehrere der Slave-Knoten 104 im System 100 Stromversorgung erhalten, die gleichzeitig mit Daten über dem Bus 106 übertragen wird. Zur Stromversorgungsverteilung (die optional ist, da einige der Slave-Knoten 104 dafür ausgelegt sein können, dass ihnen ausschließlich lokale Stromversorgung zugeführt wird), kann der Master-Knoten 102 ein Gleichstrombias auf die Busverbindung zwischen dem Masterknoten 102 und dem Slave-Knoten 0 legen (z.B. durch Verbinden eines der Downstream-Anschlüsse mit einer durch einen Spannungsregler bereitgestellten Spannungsquelle und des anderen Downstream-Anschlusses mit Masse). Das Gleichstrombias kann eine vorbestimmte Spannung sein, wie etwa 5 V, 8 V, die Spannung einer Autobatterie oder eine höhere Spannung. Jeder sukzessive Slave-Knoten 104 kann seine Upstream-Busverbindung selektiv anzapfen, um (z.B. unter Verwendung des Spannungsreglerschaltkreises 130) Stromversorgung wiederzugewinnen. Mit dieser Stromversorgung kann man den Slave-Knoten 104 selbst (und gegebenenfalls eine oder mehrere mit dem Slave-Knoten 104 gekoppelte Peripherievorrichtungen 108) mit Strom versorgen. Ein Slave-Knoten 104 kann auch selektiv die Busverbindung downstream für den nächsten Slave-Knoten 104 in der Reihe entweder mit der wiedergewonnenen Stromversorgung aus der Upstream-Busverbindung oder aus einer lokalen Stromversorgung vorspannen. Zum Beispiel kann der Slave-Knoten 0 das Gleichstrombias auf der Upstream-Busverbindung 106 verwenden, um Stromversorgung für den Slave-Knoten 0 selbst und/oder für eine oder mehrere zugeordnete Peripherievorrichtungen 108 wiederzugewinnen und/oder der Slave-Knoten 0 kann Stromversorgung aus seiner Upstream-Busverbindung 106 wiedergewinnen, um seine Downstream-Busverbindung 106 vorzuspannen.
  • Bei einigen Ausführungsformen kann somit jeder Knoten im System 100 dem folgenden Downstream-Knoten über eine Downstream-Busverbindung Stromversorgung zuführen. Die Stromversorgung von Knoten kann auf sequenzierte Weise durchgeführt werden. Nach dem Entdecken und Konfigurieren des Slave-Knotens 0 über den Bus 106 kann der Master-Knoten 102 zum Beispiel den Slave-Knoten 0 anweisen, seiner Downstream-Busverbindung 106 Stromversorgung zuzuführen, um den Slave-Knoten 1 mit Strom zu versorgen; nachdem der Slave-Knoten 1 entdeckt und konfiguriert ist, kann der Master-Knoten 102 den Slave-Knoten 1 anweisen, seiner Downstream-Busverbindung 106 Stromversorgung zuzuführen, um dem Slave-Knoten 2 Stromversorgung zuzuführen (und so weiter für zusätzliche mit dem Bus 106 gekoppelte Slave-Knoten 104). Bei einigen Ausführungsformen können ein oder mehrere der Slave-Knoten 104 lokal mit Strom versorgt werden, statt aus ihrer Upstream-Busverbindung mit Strom oder zusätzlich dazu versorgt zu werden. Bei einigen solchen Ausführungsformen kann man mit der lokalen Stromquelle für einen gegebenen Slave-Knoten 104 einen oder mehrere Downstream-Slave-Knoten mit Strom versorgen.
  • Bei einigen Ausführungsformen kann ein Upstream-Filterungsschaltkreis 132 zwischen dem Upstream-Sendeempfänger 122 und dem Spannungsreglerschaltkreis 130 angeordnet sein, und ein Downstream-Filterungsschaltkreis 131 kann zwischen dem Downstream-Sendeempfänger 124 und dem Spannungsreglerschaltkreis 130 angeordnet sein. Da jede Verbindung des Busses 106 Wechselstrom-(Signal-) und Gleichstrom-(Stromversorgungs-)Komponenten führen kann, können der Upstream-Filterungsschaltkreis 132 und der Downstream-Filterungsschaltkreis 131 die Wechselstrom- und Gleichstromkomponenten trennen, die Wechselstromkomponenten dem Upstream-Sendeempfänger 122 und dem Downstream-Sendeempfänger 124 zuführen und die Gleichstromkomponenten dem Spannungsregler 130 zuführen. Wechselstromkopplungen auf der Leitungsseite des Upstream-Sendeempfängers 122 und Downstream-Sendeempfängers 124 isolieren im Wesentlichen die Sendeempfänger 122 und 124 von der Gleichstromkomponente auf der Leitung, um schnelle bidirektionale Kommunikation zu erlauben. Wie oben besprochen kann die Gleichstromkomponente für Stromversorgung angezapft werden und der Upstream-Filterungsschaltkreis 132 und der Downstream-Filterungsschaltkreis 131 können zum Beispiel ein Feritt, eine Gleichtaktdrossel oder eine Induktivität umfassen, um die den Spannungsreglerschaltkreisen 130 zugeführte Wechselstromkomponente zu verringern. Bei einigen Ausführungsformen kann der Upstream-Filterungsschaltkreis 132 in dem Upstream-Sendeempfänger 122 enthalten sein, und/oder der Downstream-Filterungsschaltkreis 131 kann in dem Downstream-Sendeempfänger 124 enthalten sein; bei anderen Ausführungsformen kann sich der Filterungsschaltkreis außerhalb der Sendeempfänger 122 und 124 befinden. Rückstrom kann von dem Upstream-Filterungsschaltkreise 122 und dem Downstream-Filterungsschaltkreise 131 durch einen VSSN-Anschluss bereitgestellt werden, der durch den Knoten-Sendeempfänger 120 hindurch an VSS (z.B. Masse) angeschlossen sein kann. Der Upstream-Filterungsschaltkreis 132 und der Downstream-Filterungsschaltkreis 131 können Gleichspannungsanschlüsse sowohl zur Stromverbindung als auch Rückstromverbindung umfassen.
  • Der Knoten-Sendeempfänger 120 kann einen Sendeempfänger 127 für I2S-, TDM- und PDM-Kommunikation zwischen dem Knoten-Sendeempfänger 120 und einer externen Vorrichtung 155 umfassen. Obwohl die „externe Vorrichtung 155“ hier im Singular erwähnt werden kann, ist dies einfach zur leichteren Darstellung, und es können mehrere externe Vorrichtungen über den I2S/TDM/PDM-Sendeempfänger 127 mit dem Knoten-Sendeempfänger 120 kommunizieren. Wie in der Technik bekannt ist, dient das I2S-Protokoll zum Führen von pulscodemodulierten bzw. PCM-Informationen (z.B. zwischen Audiochips auf einer Leiterplatte). Im vorliegenden Gebrauch kann sich „I2S/TDM“ auf eine Erweiterung des I2S-Stereo-(Zweikanal-)Inhalts auf mehrere Kanäle unter Verwendung von TDM beziehen. Wie in der Technik bekannt ist, kann PDM in Sigma-Delta-Umsetzern verwendet werden, und insbesondere kann das PDM-Format ein überabgetastetes 1-Bit-Sigma-Delta-ADC-Signal vor Dezimierung repräsentieren. Das PDM-Format wird oft als das Ausgabeformat für digitale Mikrofone verwendet. Der I2S/TDM/PDM-Sendeempfänger 127 kann sich mit dem Busprotokollschaltkreis 126 und Pins zur Kommunikation mit der externen Vorrichtung 155 in Kommunikation befinden. In 2 sind sechs Pins BCLK, SYNC, DTX[1:0] und DRX[1:0] dargestellt; der BCLK-Pin kann für einen I2S-Bit-Takt verwendet werden, der SYNC-Pin kann für ein I2S-Rahmensynchronisationssignal verwendet werden und die Pins DTX[1:0] und DRX[1:0] werden zum Senden bzw. Empfangen von Datenkanälen verwendet. Obwohl in 2 zwei Sendepins (DTX[1:0]) und zwei Empfangspins (DRX[1:0]) dargestellt sind, kann eine beliebige gewünschte Anzahl von Empfangs- und/oder Sendepins verwendet werden.
  • Wenn der Knoten-Sendeempfänger 120 im Master-Knoten 102 enthalten ist, kann die externe Vorrichtung 155 den Host 110 umfassen und der I2S/TDM/PDM-Sendeempfänger 127 kann (hinsichtlich BCLK und SYNC) einen I2S-Slave bereitstellen, der Daten vom Host 110 empfangen und Daten synchron mit einem I2S-Schnittstellentakt des Hosts 110 zu dem Host 110 senden kann. Insbesondere kann ein I2S-Rahmensynchronisationssignal am SYNC-Pin als Eingabe vom Host 110 empfangen werden, und der PLL 128 kann mit diesem Signal Takte erzeugen. Wenn der Knoten-Sendeempfänger 120 in einem Slave-Knoten 104 enthalten ist, kann die externe Vorrichtung 155 eine oder mehrere Peripherievorrichtungen 108 umfassen und der I2S/TDM/PDM-Sendeempfänger 127 kann einen I2S-Taktmaster (für BCLK und SYNC) bereitstellen, der I2S-Kommunikation mit der Peripherievorrichtung 108 steuern kann. Insbesondere kann der I2S/TDM/PDM-Sendeempfänger 127 ein I2S-Rahmensynchronisationssignal am SYNC-Pin als Ausgabe bereitstellen. Register in dem Knoten-Sendeempfänger 120 können bestimmen, welche und wie viele I2S/TDM-Kanäle als Datenschlitze über dem Bus 106 gesendet werden. Ein Register für den TDM-Modus (TDMMODE) im Knoten-Sendeempfänger 120 kann einen Wert speichern, wie viele TDM-Kanäle zwischen aufeinanderfolgende SYNC-Impulse auf einen TDM-Sende- oder -Empfangspin passen. Zusammen mit Kenntnis der Kanalgröße kann der Knoten-Sendeempfänger 120 automatisch die BCLK-Rate setzen, um diese der Menge an Bit in der Abtastzeit (z.B. 48 kHz) anzupassen.
  • Der Knoten-Sendeempfänger 120 kann einen Sendeempfänger 129 für I2C-Kommunikation zwischen dem Knoten-Sendeempfänger 120 und einer externen Vorrichtung 157 umfassen. Obwohl die „externe Vorrichtung 157“ hier im Singular erwähnt werden kann, dient dies lediglich zur leichteren Darstellung, und es können mehrere externe Vorrichtungen über den I2C-Sendeempfänger 129 mit dem Knoten-Sendeempfänger 120 kommunizieren. Wie in der Technik bekannt ist, verwendet das i2C-Protokoll Takt-(SCL-) und Daten-(SDA-)Leitungen zur Bereitstellung von Datentransfer. Der i2C-Sendeempfänger 129 kann sich mit dem Busprotokollschaltkreis 126 und Pins zur Kommunikation mit der externen Vorrichtung 157 in Kommunikation befinden. in 2 sind vier Pins ADR1, ADR2, SDA und SCL dargestellt; ADR1 und ADR2 können zum Modifizieren der I2C-Adressen verwendet werden, die der Knoten-Sendeempfänger 120 verwendet, wenn der Knoten-Sendeempfänger 120 als I2C-Slave handelt (z.B. wenn er im Master-Knoten 102 enthalten ist), und SDA und SCL werden für die seriellen Daten- bzw. seriellen Taktsignale von I2C verwendet. Wenn der Knoten-Sendeempfänger 120 im Master-Knoten 102 enthalten ist, kann die externe Vorrichtung 157 den Host 110 umfassen, und der I2C-Sendeempfänger 129 kann einen I2C-Slave bereitstellen, der Programmieranweisungen vom Host 110 empfangen kann. Insbesondere kann ein serielles I2C-Taktsignal am SCL-Pin als Eingabe vom Host 110 für Registerzugriffe empfangen werden. Wenn der Knoten-Sendeempfänger 120 in einem Slave-Knoten 104 enthalten ist, kann die externe Vorrichtung 157 eine Peripherievorrichtung 108 umfassen, und der I2C-Sendeempfänger 129 kann einen I2C-Master bereitstellen, um es dem I2C-Sendeempfänger zu erlauben, eine oder mehrere Peripherievorrichtungen gemäß Anweisungen zu programmieren, die durch den Host 110 bereitgestellt und über den Bus 106 zum Knoten-Senderempfänger 120 gesendet werden. Insbesondere kann der I2C-Sendeempfänger 129 das serielle I2C-Taktsignal am SCL-Pin als Ausgabe bereitstellen.
  • Der Knoten-Sendeempfänger 120 kann einen Interrupt-Anforderungs- bzw. IRQ-Pin in Kommunikation mit dem Busprotokollschaltkreis 126 umfassen. Wenn der Knoten-Sendeempfänger 120 über den I2C-Sendeempfänger 129 in dem Master-Knoten 102 enthalten ist, kann der Busprotokollschaltkreis 126 über den IRQ-Pin ereignisgesteuerte Interrupt-Anforderungen in Richtung des Hosts 110 bereitstellen. Wenn der Knoten-Sendeempfänger 120 in einem Slave-Knoten 104 enthalten ist (z.B. wenn der MSTR-Pin niedrig ist), kann der IRQ-Pin als GPIO-Pin mit Interrupt-Anforderungsfähigkeit dienen.
  • Das System 100 kann in einem beliebigen einer Anzahl verschiedener Betriebsmodi arbeiten. Die Knoten auf dem Bus 106 können jeweils ein Register aufweisen, das angibt, welcher Betriebsmodus gerade freigegeben ist. Es folgen Beschreibungen von Beispielen für verschiedene Betriebsmodi, die implementiert werden können. in einem Standby-Betriebsmodus wird Busaktivität verringert, um globale Stromersparnisse zu ermöglichen; der einzige erforderliche Verkehr ist eine minimale Downstream-Präambel zum Synchronisierthalten der PLLjedes Knotens (z.B. des PLL 128). im Standby-Betriebsmodus werden Lese- und Schreibvorgänge über den Bus 106 nicht unterstützt. in einem Entdeckungs-Betriebsmodus kann der Master-Knoten 102 vorbestimmte Signale auf dem Bus 106 aussenden und auf geeignete Antworten warten, um die Topologie der auf dem Bus 106 verteilten Slave-Knoten 104 abzubilden . in einem normalen Betriebsmodus kann voller Registerzugriff zu und von den Slave-Knoten 104 sowie Zugriff zu und von Peripherievorrichtungen 108 über den Bus 106 verfügbar sein. Der Normalmodus kann global durch den Host 110 mit oder ohne synchrone Upstream-Daten und mit oder ohne synchrone Downstream-Daten konfiguriert werden.
  • 3 ist eine Darstellung eines Teils eines Synchronisationssteuerrahmens 180, der zur Kommunikation im System 100 verwendet wird, gemäß verschiedenen Ausführungsformen. Insbesondere kann der Synchronisationssteuerrahmen 180 wie nachfolgend besprochen zur Datentaktwiedergewinnung und PLL-Synchronisation verwendet werden. Da Kommunikation über den Bus 106 in beiden Richtungen stattfinden kann, kann wie oben erwähnt Kommunikation zeitlich zu Downstream-Teilen und Upstream-Teilen gemultiplext werden. In einem Downstream-Teil können ein Synchronisationssteuerrahmen und Downstream-Daten vom Master-Knoten 102 gesendet werden, während in einem Upstream-Teil ein Synchronisationsantwortrahmen und Upstream-Daten von jedem der Slave-Knoten 104 zum Master-Knoten 102 gesendet werden können. Der Synchronisationssteuerrahmen 180 kann eine Präambel 182 und Steuerdaten 184 umfassen. Jeder Slave-Knoten 104 kann dafür ausgelegt sein, die Präambel 182 des empfangenen Synchronisationssteuerrahmens 180 als Zeitbasis zum Speisen des PLL 128 zu verwenden. Um dies zu ermöglichen, folgt eine Präambel 182 nicht den „Regeln“ gültiger Steuerdaten 184 und kann somit ohne Weiteres von den Steuerdaten 184 unterschieden werden.
  • Zum Beispiel kann bei einigen Ausführungsformen Kommunikation auf dem Bus 106 unter Verwendung eines differentiellen Manchester-Codierungsschemas des Typs Takt zuerst, Übergang an null codiert werden. Gemäß einem solchen Codierungsschema beginnt jede Bitzeit mit einem Taktübergang. Wenn der Datenwert null ist, geht das codierte Signal in der Mitte der Bitzeit wieder über. Wenn der Datenwert eins ist, geht das codierte Signal nicht wieder über. Die in 5 dargestellte Präambel 182 kann gegen das Codierungsprotokoll verstoßen (z.B. indem es Taktübergänge aufweist, die nicht am Anfang der Bitzeiten 5, 7 und 8 auftreten), was bedeutet, dass die Präambel 182 mit keinem legalen (z.B. korrekt codierten) Muster für die Steuerdaten 184 übereinstimmen kann. Außerdem kann die Präambel 182 nicht reproduziert werden, indem ein legales Muster der Steuerdaten 184 genommen und der Bus 106 für eine Einzelbitzeit- oder für eine Mehrfachbitzeitdauer auf hoch oder niedrig gezwungen wird. Die in 5 dargestellte Präambel 182 ist lediglich beispielhaft, und der Synchronisationssteuerrahmen 180 kann andere Präambeln 182 umfassen, die auf eine beliebige geeignete Weise gegen die durch die Steuerdaten 184 verwendete Codierung verstoßen können.
  • Der Busprotokollschaltkreis 126 kann einen Differenz-Manchester-Decodiererschaltkreis umfassen, der auf einem von dem Bus 106 wiedergewonnenen Takt läuft und der den Synchronisationssteuerrahmen 180detektiert, um einen Rahmen-SYNC-Indikator zum PLL 128 zu senden. Auf diese Weise kann der Synchronisationssteuerrahmen 180 detektiert werden, ohne einen Systemtakt oder einen schnelleren Überabtastungstakt zu verwenden. Folglich können die Slave-Knote 104 ein PLL-Synchronisationssignal vom Bus 106 empfangen, ohne eine Kristall-Taktquelle an den Slave-Knoten 104 zu erfordern.
  • Wie bereits erwähnt, kann Kommunikation auf dem Bus 106 in periodischen Superrahmen auftreten. 4 ist eine Darstellung eines Superrahmens 190 gemäß verschiedenen Ausführungsformen. Wie in 4 gezeigt, kann ein Superrahmen mit einem Synchronisationssteuerrahmen 180 beginnen. Wenn der Synchronisationssteuerrahmen 180 als Timingquelle für den PLL 128 verwendet wird, kann die Frequenz, mit der Superrahmen übermittelt werden („die Superrahmenfrequenz“) dieselbe wie die Synchronisationssignalfrequenz sein. Bei einigen Ausführungsformen, bei denen Audiodaten auf dem Bus 106 übertragen werden, kann die Superrahmenfrequenz dieselbe wie die in dem System 100 verwendete Audioabtastfrequenz sein (z.B. entweder 48 kHz oder 44,1 kHz), es kann aber jede beliebige geeignete Superrahmenfrequenz verwendet werden. Jeder Superrahmen 190 kann in Perioden der Downstream-Übertragung 192, Perioden der Upstream-Übertragung 194 und Perioden mit keiner Übertragung 196 (z.B. wenn der Bus 106 nicht angesteuert wird) aufgeteilt werden.
  • In 4 ist der Superrahmen 190 mit einer anfänglichen Periode der Downstream-Übertragung 192 und einer späteren Periode der Upstream-Übertragung 194 gezeigt. Die Periode der Downstream-Übertragung 192 kann einen Synchronisationssteuerrahmen 180 und X Downstream-Datenschlitze 198 umfassen, wobei X null sein kann. Im Wesentlichen alle Signale auf dem Bus 106 können leitungscodiert sein, und ein Synchronisationssignal, das Downstream vom Master-Knoten 102 zu dem letzten Slave-Knoten 104 (z.B. dem Slave-Knoten 2 in 1) in Form der Synchronisationspräambel 182 in dem Synchronisationssteuerrahmen 180 weitergeleitet wird, wie oben besprochen. Downstream können synchrone TDM-Daten in den X Downstream-Datenschlitzen 198 nach dem Synchronisationssteuerrahmen 180 enthalten sein. Die Downstream-Datenschlitze 198 können gleiche Breite aufweisen. Wie oben besprochen, kann der PLL 128 den Takt, den ein Knoten zum Timen von Kommunikation über den Bus 106 verwendet, bereitstellen. Bei einigen Ausführungsformen, bei denen der Bus 106 zum Übertragen von Audiodaten verwendet wird, kann der PLL 128 mit einem Vielfachen der Audioabtastfrequenz arbeiten (z.B. 1024 Mal die Audioabtastfrequenz, was zu 1024-Bit-Takten in jedem Superrahmen führt).
  • Die Periode der Upstream-Übertragung 194 kann einen Synchronisationsantwortrahmen 197 und Y Upstream-Datenschlitze 199 umfassen, wobei Y null sein kann. Bei einigen Ausführungsformen kann jeder Slave-Knoten 104 einen Teil der Downstream-Datenschlitze 198 verbrauchen. Der letzte Slave-Knoten (z.B. der Slave-Knoten 2 in 1) kann (nach einer in einem Register des letzten Slave-Knotens gespeicherten vorbestimmten Antwortzeit) mit einem Synchronisationsantwortrahmen 197 antworten. Upstream können synchrone TDM-Daten durch jeden Slave-Knoten 104 in den Upstream-Datenschlitzen 199 direkt nach dem Synchronisationsantwortrahmen 197 hinzugefügt werden. Die Upstream-Datenschlitze 199 können gleiche Breite aufweisen. Ein Slave-Knoten 104, der nicht der letzte Slave-Knoten ist (z.B. die Slave-Knoten 0 und 1 in 1), kann den empfangenen Synchronisationsantwortrahmen 197 mit seiner eigenen Upstream-Antwort ersetzen, wenn ein Lesen eines seiner Register in dem Synchronisationssteuerrahmen 180 des Superrahmens 190 angefordert wurde oder wenn ein Fern-I2C-Lesen in dem Synchronisationssteuerrahmen 180 des Superrahmens 190 angefordert wurde.
  • Der Synchronisationssteuerrahmen 180 kann wie oben besprochen jede Downstream-Übertragung beginnen. Bei einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 64 Bit lang sein, es kann aber eine beliebige andere geeignete Länge verwendet werden. Der Synchronisationssteuerrahmen 180 kann wie oben erwähnt mit der Präambel 182 beginnen. Bei einigen Ausführungsformen kann, wenn der Synchronisationssteuerrahmen 180 durch einen Slave-Knoten 104 zu einem Downstream-Slave-Knoten 104 weiter gesendet wird, die Präambel 182 durch den sendenden Slave-Knoten 104 erzeugt werden, statt wieder gesendet zu werden.
  • Die Steuerdaten 184 des Synchronisationssteuerrahmens 180 können Felder umfassen, die zum Steuern von Transaktionen über den Bus 106 verwendete Daten enthalten. Beispiele für diese Felder werden nachfolgend besprochen, und einige Ausführungsformen sind in 5 dargestellt. Insbesondere zeigt 5 beispielhafte Formate für den Synchronisationssteuerrahmen 180 im Normalmodus, I2C-Modus und Entdeckungs-Modus gemäß verschiedenen Ausführungsformen. Bei einigen Ausführungsformen können im Standby-Modus eine völlig andere Präambel 182 oder ein völlig anderer Synchronisationssteuerrahmen 180 verwendet werden, so dass die Slave-Knoten 104 den gesamten Synchronisationssteuerrahmen 180 erst dann empfangen müssen, wenn ein Übergang zum Normalmodus gesendet wird.
  • Bei einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Zähl- bzw. CNT-Feld umfassen. Das CNT-Feld kann eine beliebige geeignete Länge aufweisen (z.B. 2 Bit) und kann (modulo der Länge des Feldes) von dem in dem vorherigen Superrahmen verwendeten Wert aus inkrementiert werden. Ein Slave-Knoten 104, der einen CNT-Wert empfängt, der nicht erwartet wird, kann dafür programmiert sein, ein Interrupt zurückzugeben.
  • Bei einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Knotenadressierungsmodus- bzw. NAM-Feld umfassen. Das NAM-Feld kann eine beliebige geeignete Länge (z.B. 2 Bit) aufweisen und kann zum Steuern des Zugriffs auf Register eines Slave-Knotens 104 über den Bus 106 verwendet werden. Im Normalmodus können Register eines Slave-Knotens 104 auf der Basis der ID des Slave-Knotens 104 und der Adresse des Registers gelesen und/oder beschrieben werden. Broadcast-Transaktionen sind Schreibvorgänge, die durch jeden Slave-Knoten 104 ausgeführt werden sollten. Bei einigen Ausführungsformen kann das NAM-Feld vier Knotenadressierungsmodi bereitstellen, darunter „keine“ (z.B. Daten an keinen konkreten Slave-Knoten 104 adressiert), „normal“ (z.B. Daten-Unicast an einen spezifischen Slave-Knoten 104, der in dem nachfolgend besprochenen Adressenfeld spezifiziert wird), „Broadcast“ (z.B. an alle Slave-Knoten 104 adressiert) und „Entdeckung“.
  • Bei einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein I2C-Feld umfassen. Das I2C-Feld kann eine beliebige geeignete Länge aufweisen (z.B. 1 Bit) und kann zur Angabe verwendet werden, dass die Periode der Downstream-Übertragung 192 eine I2C-Transaktion umfasst. Das I2C-Feld kann angeben, dass der Host 110 Anweisungen gegeben hat, aus der Ferne auf eine Peripherievorrichtung 108 zuzugreifen, die mit Bezug auf einen zugeordneten Slave-Knoten 104 als ein I2C-Slave wirkt.
  • Bei einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Knotenfeld umfassen. Das Knotenfeld kann eine beliebige geeignete Länge aufweisen (z.B. 4 Bit) und kann zur Angabe verwendet werden, welcher Slave-Knoten für normale und I2C-Zugriffe adressiert wird. Im Entdeckungsmodus kann mit diesem Feld eine Kennung für einen neu entdeckten Slave-Knoten 104 in einem Knoten-ID-Register des Slave-Knotens 104 programmiert werden. Jeder Slave-Knoten 104 im System 100 kann eine eindeutige ID zugewiesen bekommen, wenn der Slave-Knoten 104 durch den Master-Knoten 102 entdeckt wird, wie nachfolgend besprochen. Bei einigen Ausführungsformen hat der Master-Knoten 102 keine Knoten-ID, während der Master-Knoten 102 bei anderen Ausführungsformen eine Knoten-ID aufweisen kann. Bei einigen Ausführungsformen ist der an den Master-Knoten 102 auf dem Bus 106 angeschlossene Slave-Knoten 104 (z.B. der Slave-Knoten 0 in 1) der Slave-Knoten 0 und jeder sukzessive Slave-Knoten 104 hat eine Nummer, die um 1 größer als beim vorherigen Slave-Knoten ist. Dies ist jedoch lediglich beispielhaft, und es kann ein beliebiges geeignetes Slave-Knoten-Identifikationssystem verwendet werden.
  • Bei einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Lese-/Schreib- bzw. RW-Feld umfassen. Das RW-Feld kann eine beliebige geeignete Länge aufweisen (z.B. 1 Bit) und kann verwendet werden, um zu steuern, ob normale Zugriffe Lesevorgänge (z.B. RW==1) oder Schreibvorgänge (z.B. RW==0) sind.
  • Bei einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Adressenfeld umfassen. Das Adressenfeld kann eine beliebige geeignete Länge aufweisen (z.B. 8 Bit) und kann zur Adressierung spezifischer Register eines Slave-Knotens 104 durch den Bus 106 verwendet werden. Für I2C-Transaktionen kann das Adressenfeld mit I2C-Steuerwerten, wie etwa START/STOP, WAIT, RW und DATA VLD, ersetzt werden. Für Entdeckungs-Transaktionen kann das Adressenfeld einen vorbestimmten Wert aufweisen (z.B. wie in 5 dargestellt).
  • Bei einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Datenfeld umfassen. Das Datenfeld kann eine beliebige geeignete Länge aufweisen (z.B. 8 Bit) und kann für normale, I2C- und Broadcast-Schreibvorgänge verwendet werden. Der RESPCYCS-Wert, multipliziert mit 4, kann verwendet werden, um zu bestimmen, wie viele Zyklen eines neu entdeckten Knotens zwischen dem Start des Empfangs des Synchronisationssteuerrahmens 180 und dem Start des Sendens des Synchronisationsantwortrahmens 197 vergehen gelassen werden sollten. Wenn das NAM-Feld Entdeckungsmodus angibt, können die Knotenadressen- und Datenfelder, die nachfolgend besprochen werden, als ein RESPCYCS-Wert codiert werden, der, wenn er mit einem geeigneten optionalen Multiplikator (z.B. 4) multipliziert wird, die Zeit in Bit vom Ende des Synchronisationssteuerrahmens 180 zum Start des Synchronisationsantwortrahmens 197 angibt. Dadurch kann ein neu entdeckter Slave-Knoten 104 den richtigen Zeitschlitz für Upstream-Übertragung bestimmen.
  • Bei einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Feld für zyklische Redundanzprüfung (CRC) umfassen. Das CRC-Feld kann eine beliebige geeignete Länge aufweisen (z.B. 16 Bit) und kann zum Senden eines CRC-Werts für die Steuerdaten 184 des Synchronisationssteuerrahmens 180 nach der Präambel 182 verwendet werden. Bei einigen Ausführungsformen kann die CRC gemäß dem CCITT-CRC-Fehlerdetektionsschema berechnet werden.
  • Bei einigen Ausführungsformen kann mindestens ein Teil des Synchronisationssteuerrahmens 180 zwischen der Präambel 182 und dem CRC-Feld verwürfelt werden, um die Wahrscheinlichkeit zu verringern, dass eine Sequenz von Bit in diesem Intervall periodisch mit der Präambel 182 übereinstimmt (und somit durch den Slave-Knoten 104 als Anfang eines neuen Superrahmens 190 fehlinterpretiert werden kann), und auch um elektromagnetische Emissionen wie oben erwähnt zu verringern. Bei einigen solchen Ausführungsformen kann das CNT-Feld des Synchronisationssteuerrahmens 180 von Verwürfelungslogik verwendet werden, um sicherzustellen, dass die verwürfelten Felder von einem Superrahmen zum nächsten verschieden verwürfelt werden. Verschiedene Ausführungsformen des hier beschriebenen Systems 100 können das Verwürfeln weglassen.
  • Es können andere Techniken verwendet werden, um sicherzustellen, dass die Präambel 182 eindeutig durch die Slave-Knoten 104 identifiziert werden kann, oder um die Wahrscheinlichkeit zu verringern, dass die Präambel 182 an einer anderen Stelle in dem Synchronisationssteuerrahmen 180 auftraucht, zusätzlich zu oder anstelle von Techniken wie Verwürfelung und/oder Fehlercodierung wie oben besprochen. Zum Beispiel kann eine längere Synchronisationssequenz verwendet werden, um so die Wahrscheinlichkeit zu verringern, dass eine bestimmte Codierung des Rests des Synchronisationssteuerrahmens 180 mit ihr übereinstimmt. Zusätzlich oder als Alternative kann der Rest des Synchronisationssteuerrahmens so strukturiert werden, dass die Synchronisationssequenz nicht auftreten kann, wie etwa durch Platzieren von festen „0“- oder „1“-Werten an geeigneten Bit.
  • Der Master-Knoten 102 kann Lese- und Schreibanforderungen zu den Slave-Knoten 104 senden, darunter sowohl für Kommunikation auf dem Bus 106 spezifische Anforderungen als auch I2C-Anforderungen. Zum Beispiel kann der Master-Knoten 102 Lese- und Schreibanforderungen (die unter Verwendung des RW-Felds angegeben werden) (unter Verwendung der NAM- und Knotenfelder) zu einem oder mehreren designierten Slave-Knoten 104 senden und kann angeben, ob die Anforderung eine für den Bus 106 spezifische Anforderung für den Slave-Knoten 104, eine I2C-Anforderung für den Slave-Knoten 104 oder eine I2C-Anforderung ist, die zu einer mit dem Slave-Knoten 104 an einem oder mehreren I2C-Ports des Slave-Knotens 104 gekoppelten I2C-kompatiblen Peripherievorrichtung 108 weiterzuleiten ist.
  • Nunmehr mit Bezug auf Upstream-Kommunikation kann der Synchronisationsantwortrahmen 197 jede Upstream-Übertragung beginnen. Bei einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 eine Länge von 64 Bit aufweisen, es kann aber eine beliebige andere geeignete Länge verwendet werden. Der Synchronisationsantwortrahmen 197 kann auch eine Präambel umfassen, wie oben mit Bezug auf die Präambel 182 des Synchronisationssteuerrahmens 180 besprochen, gefolgt von einem Datenteil. Am Ende einer Downstream-Übertragung kann der letzte Slave-Knoten 104 auf dem Bus 106 warten, bis der RESPCYCS-Zähler abgelaufen ist, und dann mit dem Übertragen eines Synchronisationsantwortrahmens 197 upstream beginnen. Wenn ein Upstream-Slave-Knoten 104 das Ziel einer normalen Lese- oder Schreibtransaktion geworden ist, kann ein Slave-Knoten 104 seinen eigenen Synchronisationsantwortrahmen 197 erzeugen und den von downstream empfangenen ersetzen. Wenn irgendein Slave-Knoten 104 zum erwarteten Zeitpunkt keinen Synchronisationsantwortrahmen 197 von einem Downstream-Slave-Knoten 104 sieht, erzeugt der Slave-Knoten 104 seinen eigenen Synchronisationsantwortrahmen 197 und beginnt, ihn upstream zu senden.
  • Der Datenteil des Synchronisationsantwortrahmens 197 kann Felder umfassen, die Daten enthalten, mit denen Antwortinformationen zum Master-Knoten 102 zurückübermittelt werden. Beispiele für diese Felder werden nachfolgend besprochen, und in 6 sind einige Ausführungsformen dargestellt. Insbesondere zeigt 6 beispielhafte Formate für den Synchronisationsantwortrahmen 197 im Normalmodus, I2C-Modus und Entdeckungsmodus gemäß verschiedenen Ausführungsformen.
  • Bei einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein Zähl- bzw. CNT-Feld umfassen. Das CNT-Feld kann eine beliebige geeignete Länge aufweisen (z.B. 2 Bit) und kann zum Übertragen des Werts des CNT-Felds in dem zuvor empfangenen Synchronisationssteuerrahmen 180 verwendet werden.
  • Bei einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein Bestätigungs- bzw. ACK-Feld umfassen. Das ACK-Feld kann eine beliebige geeignete Länge aufweisen (z.B. 2 Bit) und kann durch einen Slave-Knoten 104 eingefügt werden, um einen in dem vorherigen Synchronisationssteuerrahmen 180 empfangenen Befehl zu bestätigen, wenn dieser Slave-Knoten 104 den Synchronisationsantwortrahmen 197 erzeugt. Beispielhafte Indikatoren, die im ACK-Feld übermittelt werden können, wären Warten, Bestätigen, Nichtbestätigen (NACK) und Neuversuch. Bei einigen Ausführungsformen kann das ACK-Feld für Übertragung einer Bestätigung durch einen Slave-Knoten 104 bemessen werden, dass er eine Broadcast-Nachricht empfangen und verarbeitet hat (indem z.B. eine Broadcast-Bestätigung zum Master-Knoten 102 gesendet wird). Bei einigen Ausführungsformen kann ein Slave-Knoten 104 auch angeben, ob der Slave-Knoten 104 Daten zu senden hat (was zum Beispiel für bedarfsgesteuerte Upstream-Übertragungen verwendet werden könnte, wie etwa Nicht-TDM-Eingaben von einem Tastenfeld oder Touchscreen oder für priorisierte Upstream-Übertragung, wie etwa wenn der Slave-Knoten 104 einen Fehler oder Notfallzustand melden möchte).
  • Bei einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein I2C-Feld umfassen. Das I2C-Feld kann eine beliebige geeignete Länge aufweisen (z.B. 1 Bit) und kann zum Senden des Werts des I2C-Felds in dem zuvor empfangenen Synchronisationssteuerrahmen 180 verwendet werden.
  • Bei einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein Knotenfeld umfassen. Das Knotenfeld kann eine beliebige geeignete Länge aufweisen (z.B. 4 Bit) und kann zum Senden der ID des Slave-Knotens 104 verwendet werden, der den Synchronisationsantwortrahmen 197 erzeugt.
  • Bei einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein Datenfeld umfassen. Das Datenfeld kann eine beliebige geeignete Länge aufweisen (z.B. 8 Bit), und sein Wert kann von der Art von Transaktion und der ACK-Antwort des Slave-Knotens 104 abhängen, der den Synchronisationsantwortrahmen 197 erzeugt. Für Entdeckungstransaktionen kann das Datenfeld den Wert des RESPCYCS-Felds in dem zuvor empfangenen Synchronisationssteuerrahmen 180 umfassen. Wenn das ACK-Feld ein NACK angibt oder wenn der Synchronisationsantwortrahmen 197 auf eine Broadcast-Transaktion antwortet, kann das Datenfeld einen Broadcast-Bestätigungs- bzw. BA-Indikator (in dem der letzte Slave-Knoten 104 angeben kann, ob der Broadcast-Schreibvorgang ohne Fehler empfangen wurde), einen Entdeckungsfehler- bzw. DER-Indikator (der angibt, ob ein neu entdeckter Slave-Knoten 104 in einer Entdeckungstransaktion mit einem existierenden Slave-Knoten 104 übereinstimmt) und einen CRC-Fehler- bzw. CER-Indikator (der angibt, ob ein NACK durch einen CRC-Fehler verursacht wurde) umfassen.
  • Bei einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein CRC-Feld umfassen. Das CRC-Feld kann eine beliebige geeignete Länge aufweisen (z.B. 16 Bit) und kann zum Senden eines CRC-Werts für den Teil des Synchronisationsantwortrahmens 197 zwischen der Präambel und dem CRC-Feld verwendet werden.
  • Bei einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein Interruptanforderungs- bzw. IRQ-Feld umfassen. Das IRQ-Feld kann eine beliebige geeignete Länge aufweisen (z.B. 1 Bit) und kann zur Angabe verwendet werden, dass ein Interrupt von einem Slave-Knoten 104 signalisiert wurde.
  • Bei einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein IRQ-Knoten- bzw. IRQNODE-Feld umfassen. Das IRQNODE-Feld kann eine beliebige geeignete Länge aufweisen (z.B. 4 Bit) und kann zum Senden der ID des Slave-Knotens 104, der das durch das IRQ-Feld präsentierte Interrupt signalisiert hat, verwendet werden. Bei einigen Ausführungsformen fügt der Slave-Knoten 104 zum Erzeugen des IRQ-Felds seine eigene ID in das IRQNODE-Feld ein.
  • Bei einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein zweites CRC- bzw. CRC-4-Feld umfassen. Das CRC-4-Feld kann eine beliebige geeignete Länge aufweisen (z.B. 4 Bit) und kann zum Senden eines CRC-Werts für das IRQ- und IRQNODE-Feld verwendet werden.
  • Bei einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein IRQ-Feld, ein IRQNODE-Feld und ein CRC-4-Feld als die letzten Bit des Synchronisationsantwortrahmens 197 (z.B. die letzten 10 Bit) umfassen. Wie oben besprochen, können diese Interrupt-bezogenen Felder ihren eigenen CRC-Schutz in Form von CRC-4 aufweisen (und somit nicht durch das vorhergehende CRC-Feld geschützt sein). Jeder Slave-Knoten 104, der dem Master-Knoten 102 ein Interrupt signalisieren muss, fügt seine Interrupt-Informationen in diese Felder ein. Bei einigen Ausführungsformen kann ein Slave-Knoten 104 mit einem anstehenden Interrupt höhere Priorität als jeder weiter downstream befindliche Slave-Knoten 104 aufweisen, bei dem auch ein Interrupt ansteht. Der letzte Slave-Knoten 104 auf dem Bus 106 (z.B. der Slave-Knoten 2 in 1) kann diese Interrupt-Felder immer auffüllen. Wenn der letzte Slave-Knoten 104 kein Interrupt anstehend hat, kann der letzte Slave-Knoten 104 das IRQ-Bit auf null und das IRQNODE-Feld auf seine Knoten-ID setzen und den korrekten CRC-4-Wert bereitstellen. Der Zweckmäßigkeit halber kann ein Synchronisationsantwortrahmen 197, der ein Interrupt überträgt, hier als „Interrupt-Rahmen“ bezeichnet werden.
  • Bei einigen Ausführungsformen kann mindestens ein Teil des Synchronisationsantwortrahmens 197 zwischen der Präambel 182 und dem CRC-Feld verwürfelt werden, um Emissionen zu verringern. Bei einigen solchen Ausführungsformen kann das CNT-Feld des Synchronisationsantwortrahmens 197 von Verwürfelungslogik verwendet werden, um sicherzustellen, dass die verwürfelten Felder von einem Superrahmen zum nächsten verschieden verwürfelt werden. Verschiedene Ausführungsformen des hier beschriebenen Systems 100 können das Verwürfeln weglassen.
  • Es können andere Techniken verwendet werden, um sicherzustellen, dass die Präambel 182 eindeutig durch die Slave-Knoten 104 identifiziert werden kann, oder um die Wahrscheinlichkeit zu verringern, dass die Präambel 182 an einer anderen Stelle in dem Synchronisationsantwortrahmen 197auftaucht, zusätzlich zu oder anstelle von Techniken wie Verwürfelung und/oder Fehlercodierung wie oben besprochen. Zum Beispiel kann eine längere Synchronisationssequenz verwendet werden, um so die Wahrscheinlichkeit zu verringern, dass eine bestimmte Codierung des Rests des Synchronisationssteuerrahmens 180 mit ihr übereinstimmt. Zusätzlich oder als Alternative kann der Rest des Synchronisationsantwortrahmens so strukturiert werden, dass die Synchronisationssequenz nicht auftreten kann, wie etwa durch Platzieren von festen „0“- oder „1“-Werten an geeigneten Bits.
  • 7 ist eine Blockdarstellung des Busprotokollschaltkreises 126 von 2 gemäß verschiedenen Ausführungsformen. Der Busprotokollschaltkreis 126 kann einen Steuerschaltkreis 154 zur Steuerung des Betriebs des Knoten-Sendeempfängers 120 gemäß dem hier beschriebenen Protokoll für den Bus 106 umfassen. Insbesondere kann der Steuerschaltkreis 154 die Erzeugung von Synchronisationsrahmen zur Übertragung (z.B. Synchronisationssteuerrahmen oder Synchronisationsantwortrahmen wie oben besprochen), die Verarbeitung empfangener Synchronisationsrahmen und die Ausführung von Steueroperationen, die in empfangenen Synchronisationssteuerrahmen spezifiziert werden, steuern. Der Steuerschaltkreis 154 kann programmierbare Register umfassen, wie nachfolgend besprochen. Der Steuerschaltkreis 154 kann Synchronisationssteuerrahmen erzeugen und empfangen, geeignet auf empfangene Nachrichten (die z.B. einem Synchronisationssteuerrahmen zugeordnet sind, wenn der Busprotokollschaltkreis 126 in einem Slave-Knoten 104 enthalten ist, oder von einer I2C-Vorrichtung, wenn der Busprotokollschaltkreis 126 in einem Master-Knoten 102 enthalten ist reagieren und das Framing auf die verschiedenen Betriebsmodi (z.B. normal, Entdeckung, Standby usw.) einstellen.
  • Wenn der Knoten-Sendeempfänger 120 Daten zur Übertragung auf dem Bus 106 erstellt, kann der Präambelschaltkreis 156 dafür ausgelegt sein, Präambeln für Synchronisationsrahmen zur Übertragung zu erzeugen und Präambeln von empfangenen Synchronisationsrahmen zu empfangen. Bei einigen Ausführungsformen kann eine Downstream-Synchronisationssteuerrahmen-Präambel alle 1024 Bit durch den Master-Knoten 102 gesendet werden. Wie oben besprochen, können sich ein oder mehrere Slave-Knoten 104 mit der Downstream-Synchronisationssteuerrahmen-Präambel synchronisieren und aus der Präambel lokale phasensynchronisierte Master-Takte erzeugen.
  • Der Schaltkreis 158 zum Einfügen der zyklischen Redundanzprüfung (CRC) kann dafür ausgelegt sein, eine oder mehrere CRC für Synchronisationsrahmen zur Übertragung zu erzeugen. Ein Rahmen-/Komprimierschaltkreis 160 kann dafür ausgelegt sein, ankommende Daten von dem I2S/TDM/PDM-Sendeempfänger 127 (z.B. von einem dem Sendeempfänger 127 zugeordneten Rahmenpuffer) und/oder dem I2C-Sendeempfänger 129 zu nehmen, die Daten gegebenenfalls zu komprimieren und gegebenenfalls Paritätsprüfbits oder Fehlerkorrekturcodes (ECC) für die Daten zu erzeugen. Ein Multiplexer (MUX) 162 kann eine Präambel von dem Präambelschaltkreis 156, Synchronisationsrahmen und Daten zu einem Stream zur Übertragung multiplexen. Bei einigen Ausführungsformen kann der Übertragungsstream vor der Übertragung durch einen Verwürfelungsschaltkreis 164 verwürfelt werden.
  • Zum Beispiel kann bei einigen Ausführungsformen der Rahmen-/Komprimierschaltkreis 160 ein Fließkomma-Komprimierungsschema anwenden. Bei einer solchen Ausführungsform kann der Steuerschaltkreis 154 3 Bit übertragen, um anzugeben, wie viele wiederholte Vorzeichenbit sich in der Zahl befinden, gefolgt von einem Vorzeichenbit und N-4 Datenbit, wobei N die Größe der über den Bus 106 zu übertragenden Daten ist. Die Verwendung von Datenkomprimierung kann, wenn gewünscht, durch den Master-Knoten 102 konfiguriert werden.
  • Bei einigen Ausführungsformen kann der in den Knoten-Sendeempfänger 120 eintretende Empfangs-Stream durch den Entwürfelungsschaltkreis 166 entwürfelt werden. Ein Demultiplexer (DEMUX) 168 kann die Präambel, Synchronisationsrahmen und Daten aus dem Empfangs-Stream demultiplexen. Ein CRC-Prüfschaltkreis 159 auf der Empfangsseite kann empfangene Synchronisationsrahmen auf die korrekte CRC prüfen. Wenn der CRC-Prüfschaltkreis 159 einen CRC-Fehler in einem ankommenden Synchronisationssteuerrahmen 180 identifiziert kann der Steuerschaltkreis 154 über den Fehler benachrichtigt werden und führt keinerlei Steuerbefehle in den Steuerdaten 184 des Synchronisationssteuerrahmens 180 aus. Wenn der CRC-Prüfschaltkreis 159 einen CRC-Fehler in einem ankommenden Synchronisationsantwortrahmen 197 identifiziert, kann der Steuerschaltkreis 154 über den Fehler benachrichtigt werden und kann ein Interrupt zur Übertragung zum Host 110 in einem Interrupt-Rahmen erzeugen. Ein Deframe-/Dekomprimierschaltkreis 170 kann Empfangsdaten annehmen, gegebenenfalls ihre Parität prüfen, gegebenenfalls Fehlerdetektion und - korrektur (z.B. Einfachfehlerkorrektur- Doppelfehlerdetektion (SECDED)) durchführen, gegebenenfalls die Daten dekomprimieren und kann die Empfangsdaten in den I2S/TDM/PDM-Sendeempfänger 127 (z.B. einen dem Sendeempfänger 127 zugeordneten Rahmenpuffer) und/oder den I2C-Sendeempfänger 129 schreiben.
  • Wie oben besprochen, können Upstream- und Downstream-Daten auf dem Bus 106 in TDM-Datenschlitzen in einem Superrahmen 190 übertragen werden. Der Steuerschaltkreis 154 kann Register umfassen, die der Verwaltung dieser Datenschlitze auf dem Bus 106 gewidmet sind, für die nachfolgend eine Anzahl von Beispielen besprochen wird. Wenn der Steuerschaltkreis 154 in einem Master-Knoten 102 enthaltenist , können die Werte in diesen Registern durch den Host 110 in den Steuerschaltkreis 154 programmiert werden. Wenn der Steuerschaltkreis 154 in einem Slave-Knoten 104 enthalten sind, können die Werte in diesen Registern durch den Master-Knoten 102 in den Steuerschaltkreis 154 programmiert werden.
  • Bei einigen Ausführungsformen kann der Steuerschaltkreis 154 ein Register für Downstream-Schlitze (DNSLOTS) umfassen. Wenn der Knoten-Sendeempfänger 120 im Master-Knoten 102 enthalten ist, kann dieses Register die Werte der Gesamtzahl von Downstream-Datenschlitzen halten. Dieses Register kann auch die Anzahl der Datenschlitze definieren, die für kombiniertes I2S/TDM/PDM-Empfangen durch den I2S/TDM/PDM-Sendeempfänger 127 im Master-Knoten 102 verwendet werden. In einem Slave-Knoten 104 kann dieses Register die Anzahl der Datenschlitze definieren, die Downstream zum nächsten Slave-Knoten 104 geleitet werden, bevor oder nachdem lokal erzeugte Downstream-Schlitze hinzugefügt werden, wie nachfolgend ausführlicher mit Bezug auf LDNSLOTS besprochen wird.
  • Bei einigen Ausführungsformen kann der Steuerschaltkreis 154 ein Register von lokalen Downstream-Schlitzen (LDNSLOTS) umfassen. Dieses Register kann in dem Master-Knoten 102 unbenutzt sein. In einem Slave-Knoten 104 kann dieses Register die Anzahl der Datenschlitze definieren, die der Slave-Knoten 104 verwenden und nicht weitersenden wird. Als Alternative kann dieses Register die Anzahl der Schlitze definieren, die der Slave-Knoten 104 zu der Downstream-Datenstrecke 106 beitragen kann.
  • Bei einigen Ausführungsformen kann der Steuerschaltkreis 154 ein Register für Upstream-Schlitze (UPSLOTS) umfassen. Im Master-Knoten 102 kann dieses Register den Wert der Gesamtzahl von Upstream-Datenschlitzen halten. Dieses Register kann auch die Anzahl der Schlitze definieren, die durch den I2S/TDM/PDM-Sendeempfänger 127 im Master-Knoten 102 zum I2S/TDM-Senden verwendet wird. In einem Slave-Knoten 104 kann dieses Register die Anzahl der Datenschlitze definieren, die upstream weitergeleitet werden, bevor der Slave-Knoten 104 beginnt, seine eigenen Daten hinzuzufügen.
  • Bei einigen Ausführungsformen kann der Steuerschaltkreis 154 ein Register von lokalen Upstream-Schlitzen (LUPSLOTS) umfassen. Dieses Register kann im Master-Knoten 102 unbenutzt sein. In einem Slave-Knoten 104 kann dieses Register die Anzahl von Datenschlitzen definieren, die der Slave-Knoten 104 zu den von downstream empfangenen Daten hinzufügt, bevor sie upstream gesendet werden. Dieses Register kann auch die Anzahl der Datenschlitze definieren, die für kombiniertes I2S/TDM/PDM-Empfangen durch den I2S/TDM/PDM-Sendeempfänger 127 im Slave-Knoten 104 verwendet wird.
  • Bei einigen Ausführungsformen kann der Steuerschaltkreis 154 ein Register für Broadcast-Downstream-Schlitze (BCDNSLOTS) umfassen. Dieses Register kann im Master-Knoten 102 unbenutzt sein. In einem Slave-Knoten 104 kann dieses Register die Anzahl der Broadcast-Datenschlitze definieren. Bei einigen Ausführungsformen können Broadcast-Datenschlitze immer am Anfang des Datenfeldes kommen. Die Daten in den Broadcast-Datenschlitzen können von mehreren Slave-Knoten 104 benutzt werden und können durch alle Slave-Knoten 104 downstream geleitet werden, gleichgültig, ob sie benutzt werden oder nicht.
  • Bei einigen Ausführungsformen kann der Steuerschaltkreis 154 ein Register für das Schlitzformat (SLOTFMT) umfassen. Dieses Register kann das Format von Daten für Upstream- und Downstream-Übertragungen definieren. Die Datengröße für den I2S/TDM/PDM-Sendeempfänger 127 kann durch dieses Register auch bestimmt werden. Bei einigen Ausführungsformen umfassen gültige Datengrößen 8, 12, 16, 20, 24, 28 und 32 Bit. Dieses Register kann auch Bits zum Freigeben von Fließkomma-komprimierung für Downstream- und Upstream-Verkehr umfassen. Wenn Fließkomma-Komprimierung freigegeben ist, kann die I2S/TDM-Datengröße 4 Bit größer als die Datengröße über dem Bus 106 sein. Alle Knoten im System 100 können dieselben Werte für SLOTFMT aufweisen, wenn Datenschlitze freigegeben sind, und die Knoten können durch einen Broadcast-Schreibvorgang programmiert werden, so dass alle Knoten mit demselben Wert aktualisiert werden.
  • 8-11 zeigen Beispiele für Informationsaustausch auf dem Bus 106 gemäß verschiedenen Ausführungsformen der hier beschriebenen Busprotokolle. Insbesondere zeigen 8-11 Ausführungsformen, bei denen jeder Slave-Knoten 104 mit einem oder mehreren Lautsprechern und/oder einem oder mehreren Mikrofonen als die Peripherievorrichtung 108 gekoppelt ist. Dies ist lediglich beispielhaft, da jede gewünschte Anordnung der Peripherievorrichtung 108 gemäß den hier beschriebenen Techniken mit jedem bestimmten Slave-Knoten 104 gekoppelt werden kann.
  • Zum Anfang zeigt 8 Signalisierungs- und Timingbetrachtungen für bidirektionale Kommunikation auf dem Bus 106 gemäß verschiedenen Ausführungsformen. Die in 8 abgebildeten Slave-Knoten 104 weisen verschiedene Anzahlen von Sensor-/Aktorelementen auf, und somit können verschiedene Mengen an Daten zu den verschiedenen Slave-Knoten 104 gesendet oder von diesen empfangen werden. Speziell weist der Slave-Knoten 1 zwei Elemente auf, der Slave-Knoten 4 weist vier Elemente auf und der Slave-Knoten 5 weist drei Elemente auf, so dass die durch den Master-Knoten 102 übertragenen Daten zwei Zeitschlitze für den Slave-Knoten 1, vier Zeitschlitze für den Slave-Knoten 4 und drei Zeitschlitze für den Slave-Knoten 5 umfassen. Ähnlich hat der Slave-Knoten 0 drei Elemente, der Slave-Knoten 2 drei Elemente, der Slave-Knoten 3 drei Elemente, der Slave-Knoten 6 ein Element und der Slave-Knoten 7 vier Elemente, so dass durch diese Slave-Knoten 104 upstream übertragene Daten die entsprechende Anzahl von Zeitschlitzen umfassen. Es sollte beachtet werden, dass keine Einszu-eins- Korrelation zwischen Elementen und Zeitschlitzen bestehen muss. Zum Beispiel kann ein in der Peripherievorrichtung 108 enthaltenes Mikrofonarray mit drei Mikrofonen einen digitalen Signalprozessor umfassen, der Signale von den drei Mikrofonen (und möglicherweise auch von dem Master-Knoten 102 oder von anderen Slave-Knoten 104 empfangene Informationen) kombiniert, um eine einzige Datenprobe zu produzieren, die abhängig von der Art von Verarbeitung einem einzelnen Zeitschlitz oder mehreren Zeitschlitzen entsprechen könnte.
  • In 8 sendet der Master-Knoten 102 einen Synchronisationssteuerrahmen (SCF), gefolgt von Daten für Lautsprecher, die mit spezifischen Slave-Knoten 104 (SD) gekoppelt sind. Jeder sukzessive Slave-Knoten 104 leitet den Synchronisationssteuerrahmen weiter und leitet auch mindestens etwaige für Downstream-Slave-Knoten 104 bestimmte Daten weiter. Ein bestimmter Slave-Knoten 104 kann alle Daten weiterleiten oder kann für diesen Slave-Knoten 104 bestimmte Daten entfernen. Wenn der letzte Slave-Knoten 104 den Synchronisationssteuerrahmen empfängt, sendet dieser Slave-Knoten 104 den Synchronisationsantwortrahmen (SRF), gegebenenfalls gefolgt von etwaigen Daten, die der Slave-Knoten 104 senden darf. Jeder sukzessive Slave-Knoten 104 leitet den Synchronisationsantwortrahmen zusammen mit etwaigen Daten von Downstream-Slave-Knoten 104 weiter und fügt gegebenenfalls Daten von einem oder mehreren mit den bestimmten Slave-Knoten 104 gekoppelten Mikrofonen (MD) ein. In dem Beispiel von 8 sendet der Master-Knoten 102 Daten zu Slave-Knoten 1, 4 und 5 (in 8 als aktive Lautsprecher abgebildet) und empfängt Daten von Slave-Knoten 7, 6, 3, 2 und 0 (in 8 als Mikrofonarrays abgebildet).
  • 9-11 zeigen verschiedene beispielhafte Datenübertragungsoperationen in dem System 100. In 9-11 sind die SCF als zwischen angrenzenden Knoten zeitlich synchronisiert dargestellt, während die SRF als zwischen angrenzenden Knoten zeitverzögert dargestellt sind; dies dient lediglich zur leichteren Veranschaulichung, und sowohl die SCF als auch die SRF können von Knoten zu Knoten ähnliche Zeitverzögerungen aufweisen. Schlitz „Y“ könnte auch Teil der Downstream-Daten sein.
  • 9 zeigt schematisch die dynamische Entfernung von Daten aus einer Downstream-Übertragung und Einfügung von Daten in eine Upstream-Übertragung vom Standpunkt des Downstream-Sendeempfängers 124 aus gesehen gemäß verschiedenen Ausführungsformen. In 9 sendet der Master-Knoten 102 wie in 8 einen Synchronisationssteuerrahmen (SCF), gefolgt von Daten für die Slave-Knoten 1, 4 und 5 (SD) in umgekehrter Reihenfolge (z.B. folgen Daten für den Slave-Knoten 5 Daten für den Slave-Knoten 4, denen Daten für den Slave-Knoten 1 folgen usw.) (siehe die als MASTER bezeichnete Zeile). Wenn der Slave-Knoten 1 diese Übertragung empfängt, entfernt der Slave-Knoten 1 seine eigenen Daten und leitet nur den Synchronisationssteuerrahmen, gefolgt von den Daten für die Slave-Knoten 5 und 4, zu dem Slave-Knoten 2 weiter. Die Slave-Knoten 2 und 3 leiten die Daten unverändert weiter (siehe die mit SLAVE 2 bezeichnete Zeile), so dass die durch Slave-Knoten 1 weitergeleiteten Daten durch Slave-Knoten 4 empfangen werden (siehe die mit SLAVE 3 bezeichnete Zeile). Der Slave-Knoten 4 entfernt seine eigenen Daten und leitet nur den Synchronisationssteuerrahmen, gefolgt von den Daten für den Slave-Knoten 5, zu dem Slave-Knoten 5 weiter, und ähnlich entfernt der Slave-Knoten 5 seine eigenen Daten und leitet nur den Synchronisationssteuerrahmen zu dem Slave-Knoten 6 weiter. Der Slave-Knoten 6 leitet den Synchronisationssteuerrahmen zu dem Slave-Knoten 7 weiter (siehe die mit SLAVE 6 bezeichnete Zeile).
  • An diesem Punkt sendet der Slave-Knoten 7 den Synchronisationsantwortrahmen (SRF), gefolgt von seinen Daten (siehe die mit SLAVE 6 bezeichnete Zeile) zu dem Slave-Knoten 6. Der Slave-Knoten 6 leitet den Synchronisationsantwortrahmen zusammen mit den Daten von Slave-Knoten 7 und seinen eigenen Daten zu dem Slave-Knoten 5 weiter, und der Slave-Knoten 5 leitet seinerseits den Synchronisationsantwortrahmen zusammen mit den Daten von den Slave-Knoten 7 und 6 zu dem Slave-Knoten 4. Der Slave-Knoten 4 hat keine Daten hinzuzufügen und leitet somit einfach die Daten zu dem Slave-Knoten 3 weiter (siehe die mit SLAVE 3 bezeichnete Zeile), der die Daten zusammen mit seinen eigenen Daten zu dem Slave-Knoten 2 weiterleitet (siehe die mit SLAVE 2 bezeichnete Zeile), der seinerseits die Daten zusammen mit seinen eigenen Daten zu dem Slave-Knoten 1 weiterleitet. Der Slave-Knoten 1 hat keine Daten hinzuzufügen und leitet also die Daten zu dem Slave-Knoten 0 weiter, der die Daten zusammen mit seinen eigenen Daten weiterleitet. Als Ergebnis empfängt der Master-Knoten 102 den Synchronisationsantwortrahmen, gefolgt von den Daten von dem Slave-Knoten 7, 6, 3, 2 und 0 (siehe die mit MASTER bezeichnete Zeile).
  • 10 zeigt ein anderes Beispiel für die dynamische Entfernung von Daten aus einer Downstream-Übertragung und Einfügung von Daten in eine Upstream-Übertragung vom Standpunkt des Downstream-Sendeempfängers 124 aus gesehen wie in 9, obwohl in 10 die Slave-Knoten 104 sowohl mit Sensoren als auch Aktoren als die Peripherievorrichtung 108 gekoppelt sind, so dass der Master-Knoten 102 Daten downstream zu allen Slave-Knoten 104 sendet und Daten von allen Slave-Knoten 104 zurückempfängt. Außerdem sind in 10 die Daten auf der Basis der Knotenadresse geordnet, für die sie bestimmt sind oder von der sie stammen. Der mit „Y“ bezeichnete Datenschlitz kann für eine Datenintegritätsprüfung oder Datenkorrektur verwendet werden; bei einigen Ausführungsformen kann der als „Y“ bezeichnete Datenschlitz zusätzlich oder als Alternative in den Downstream-Daten enthalten sein.
  • 11 zeigt ein anderes Beispiel für die dynamische Entfernung von Daten aus einer Downstream-Übertragung und Einfügung von Daten in eine Upstream-Übertragung vom Standpunkt des Downstream-Sendeempfängers 124 aus gesehen wie in 9, obwohl in 11 die Daten downstream und upstream in sequentieller Reihenfolge statt umgekehrter Reihenfolge übermittelt werden. Pufferung in jedem Slave-Knoten 104 erlaubt selektives Hinzufügen, Entfernen und/oder Weiterleiten von Daten.
  • Wie bereits besprochen, kann jeder Slave-Knoten 104 Daten aus Downstream- oder Upstream-Übertragungen entfernen und/oder kann Daten zu Downstream- oder Upstream-Übertragungen hinzufügen. Somit kann zum Beispiel der Master-Knoten 102 zu jedem einer Anzahl von Slave-Knoten 104 eine getrennte Probe von Daten senden und jeder solche Slave-Knoten 104 kann seine Datenprobe entfernen und nur Daten weiterleiten, die für Downstream-Slaves bestimmt sind. Dagegen kann ein Slave-Knoten 104 Daten von einem Downstream-Slave-Knoten 104 empfangen und die Daten zusammen mit zusätzlichen Daten weiterleiten. Ein Vorteil davon, so wenig Informationen wie notwendig zu übertragen, besteht darin, die Menge an kollektiv durch das System 100 verbrauchtem Strom zu verringern.
  • Das System 100 kann auch Broadcast-Übertragungen (und Multicast-Übertragungen) vom Master-Knoten 102 zu den Slave-Knoten 104 unterstützen, speziell mittels Konfiguration der Downstream-Schlitzbenutzung der Slave-Knoten 104. Jeder Slave-Knoten 104 kann die Broadcast-Übertragung verarbeiten und sie zum nächsten Slave-Knoten 104 weiterleiten, obwohl ein bestimmter Slave-Knoten 104 die Broadcast-Nachricht „verbrauchen" (d.h. die Broadcast-Übertragung nicht zum nächsten Slave-Knoten 104 weiterleiten) kann.
  • Das System 100 kann auch Upstream-Übertragungen (z.B. von einem bestimmten Slave-Knoten 104 zu einem oder mehreren anderen Slave-Knoten 104) unterstützen. Solche Upstream-Übertragungen können Unicast-, Multicast- und/oder Broadcast-Upstream-Übertragungen umfassen. Mit Upstream-Adressierung wie oben mit Bezug auf Downstream-Übertragungen besprochen kann ein Slave-Knoten 104 auf der Basis der Konfiguration der Upstream-Schlitzbenutzung der Slave-Knoten 104 bestimmen, ob Daten aus einer Upstream-Übertragung zu entfernen sind oder nicht und/oder ob eine Upstream-Übertragung zu dem nächsten Upstream-Slave-Knoten 104 weiterzuleiten ist oder nicht. Somit können die Daten zum Beispiel durch einen bestimmten Slave-Knoten 104 zu einem oder mehreren anderen Slave-Knoten 104 zusätzlich zu oder anstelle von dem Weiterleiten der Daten zu dem Master-Knoten 102 weitergeleitet werden. Solche Slave-Slave-Beziehungen können zum Beispiel über den Master-Knoten 102 konfiguriert werden.
  • Somit können bei verschiedenen Ausführungsformen die Slave-Knoten 104 als aktive/intelligente Repeaterknoten mit der Möglichkeit zum selektiven Weiterleiten, Abwerfen und Hinzufügen von Informationen wirken. Die Slave-Knoten 104 können im Allgemeinen solche Funktionen ausführen, ohne unbedingt alle Daten zu decodieren/zu untersuchen, da jeder Slave-Knoten 104 den relevanten Zeitschlitz bzw. die relevanten Zeitschlitze kennt, in denen er Daten empfangen/senden wird, und daher Daten aus einem Zeitschlitz entfernen oder Daten zu diesem hinzufügen kann. Obwohl die Slave-Knoten 104 möglicherweise nicht alle Daten decodieren/untersuchen müssen, können die Slave-Knoten 104 typischerweise die Daten, die sie senden/weiterleiten neu takten . Dies kann die Robustheit des Systems 100 verbessern.
  • Bei einigen Ausführungsformen kann der Bus 106 für unidirektionale Kommunikation in einer Ringtopologie ausgelegt sein. Zum Beispiel zeigt 12 eine Anordnung 1200 mit dem Master-Knoten 102 und vier Slave-Knoten 104 in einer Ringtopologie und zeigt Signalisierungs- und Timingbetrachtungen für unidirektionale Kommunikation in der Anordnung 1200 gemäß verschiedenen Ausführungsformen. Bei solchen Ausführungsformen können die Sendeempfänger 120 in den Knoten einen Nur-Empfangs-Sendeempfänger (MASTER IN) und einen Nur-Sende-Sendeempfänger (MASTER OUT) umfassen, statt zwei bidirektionale Sendeempfänger für Upstream- und Downstream-Kommunikation. Bei dem in 12 dargestellten Verbindungsschicht-Synchronisationsschema sendet der Master-Knoten 102 einen Synchronisationssteuerrahmen (SCF) 180, dem gegebenenfalls „Downstream“-Daten 1202 für die drei mit verschiedenen Slave-Knoten 104 gekoppelten Lautsprecher folgen (die Daten für die verschiedenen Lautsprecher können in einer beliebigen geeigneten Reihenfolge angeordnet werden, wie oben mit Bezug auf 8-11 besprochen), und jeder sukzessive Slave-Knoten 104 leitet den Synchronisationssteuerrahmen 180 zusammen mit etwaigen „Upstream“-Daten von vorherigen Slave-Knoten 104 und „Upstream“-Daten von sich selbst weiter, um „Upstream“-Daten 1204 bereitzustellen (z.B. können die Daten von den acht verschiedenen Mikrofonen in einer beliebigen geeigneten Reihenfolge angeordnet werden, wie oben mit Bezug auf 8-11 besprochen).
  • Wie hier beschrieben, können Daten auf eine beliebige einer Anzahl von Weisen zwischen Elementen des Systems 100 übermittelt werden. Bei einigen Ausführungsformen können Daten als Teil einer Menge von synchronen Datenschlitzen durch einen Slave-Knoten 104 (z.B. unter Verwendung der Datenschlitze 199) upstream oder durch einen Slave-Knoten 104 oder einen Master-Knoten 102 (z.B. unter Verwendung der Datenschlitze 198) downstream gesendet werden. Das Volumen solcher Daten kann durch Ändern der Anzahl von Bit in einem Datenschlitz oder durch Aufnehmen zusätzlicher Datenschlitze eingestellt werden. Daten können auch durch Aufnahme in einen Synchronisationssteuerrahmen 180 oder einen Synchronisationsantwortrahmen 197 in dem System 100 übermittelt werden. Auf diese Weise übermittelte Daten können I2C-Steuerdaten vom Host 110 (mit einer Antwort von einer einem Slave-Knoten 104 zugeordneten Peripherievorrichtung 108); Zugriffe auf Register der Slave-Knoten 104 (z.B. zur Entdeckung und Konfiguration von Schlitzen und Schnittstellen), die Schreibzugriff vom Host 110/Master-Knoten 102 auf einen Slave-Knoten 104 und Lesezugriff von einem Slave-Knoten 104 auf den Host 110/Master-Knoten 102 umfassen können; und Ereignissignalisierung über Interrupts von einer Peripherievorrichtung 108 zum Host 110 umfassen. Bei einigen Ausführungsformen können generel-purpose-input-outpuo-Pins, GPIO-Pins, zum Übermitteln von Informationen von einem Slave-Knoten 104 zum Master-Knoten 102 verwendet werden (indem man z.B. den Master-Knoten 102 die GPIO-Pins über I2C abfragen lässt oder indem man einen Knoten-Sendeempfänger 120 eines Slave-Knotens 104 ein Interrupt an einem Interrupt-Anforderungspin erzeugen lässt). Zum Beispiel kann bei einigen solchen Ausführungsformen ein Host 110 Informationen über I2C zum Master-Knoten 102 senden und der Master-Knoten 102 kann dann diese Informationen über die GPIO-Pins zum Slave senden. Es können beliebige der hier besprochenen Arten von Daten, so wie sie über den Bus 106 übertragen werden, unter Verwendung eines beliebigen oder mehrerer dieser Kommunikationspfade übertragen werden. Es können hier andere Arten von Daten und Datenkommunikationstechniken in dem System 100 offenbart werden.
  • Ausführungsformen der vorliegenden Offenbarung können unter Verwendung einer beliebigen geeigneten Hardware und/oder Software zum Konfigurieren wie gewünscht zu einem System implementiert werden. 13 zeigt schematisch eine Vorrichtung 1300, die als Host oder Knoten (z.B. ein Host 110, ein Master-Knoten 102 oder ein Slave-Knoten 104) in dem System 100 dienen kann, gemäß verschiedenen Ausführungsformen. In 13 ist eine Anzahl von Komponenten als in der Vorrichtung 1300 enthalten dargestellt, aber eine beliebige oder mehrere dieser Komponenten können je nachdem wie es für die Anwendung geeignet ist, weggelassen oder dupliziert sein.
  • Außerdem kann die Vorrichtung 1300 bei verschiedenen Ausführungsformen eine oder mehrere der in 13 dargestellten Komponenten nicht enthalten, aber die Vorrichtung 1300 kann einen Schnittstellenschaltkreis zur Kopplung mit der einen oder den mehreren Komponenten umfassen. Zum Beispiel kann die Vorrichtung 1300 keine Anzeigevorrichtung 1306 umfassen, kann aber einen Anzeigevorrichtungs-Schnittstellenschaltkreis (z.B. einen Verbinder und Treiberschaltkreise) umfassen, mit dem eine Anzeigevorrichtung 1306 gekoppelt werden kann. In einer anderen Menge von Beispielen kann die Vorrichtung 1300 keine Audioeingabevorrichtung 1324 oder Audioausgabevorrichtung 1308 umfassen, kann aber einen Audioeingangs- oder Audioausgangsschnittstellenschaltkreis (z.B. Verbinder und unterstützende Schaltkreise) umfassen, mit dem eine Audioeingabevorrichtung 1324 oder Audioausgabevorrichtung 1308 gekoppelt werden kann.
  • Die Vorrichtung 1300 kann den Knoten-Sendeempfänger 120 gemäß beliebigen der hier offenbarten Ausführungsformen zur Verwaltung von Kommunikation auf dem Bus 106, wenn die Vorrichtung 1300 mit dem Bus 106 gekoppelt ist, umfassen. Die Vorrichtung 1300 kann eine Verarbeitungsvorrichtung 1302 (z.B. eine oder mehrere Verarbeitungsvorrichtungen) umfassen, die in dem Knoten-Sendeempfänger 120 enthalten oder von dem Knoten-Sendeempfänger 120 getrennt sein können. Im vorliegenden Gebrauch kann sich der Ausdruck „Verarbeitungsvorrichtung“ auf eine beliebige Vorrichtung oder einen Teil einer Vorrichtung beziehen, die bzw. der elektronische Daten aus Registern und/oder Speicher verarbeitet, um diese elektronischen Daten in andere elektronische Daten zu transformieren, die in Registern und/oder Speicher gespeichert werden können. Die Verarbeitungsvorrichtung 1302 kann einen oder mehrere digitale Signalprozessoren (DSP), anwendungsspezifische integrierte Schaltungen (ASIC), Zentralverarbeitungseinheiten (CPU), Grafikverarbeitungseinheiten (GPU), Kryptoprozessoren oder beliebige andere geeignete Verarbeitungsvorrichtungen umfassen. Die Vorrichtung 1300 kann einen Speicher 1304 umfassen, der selbst eine oder mehrere Speichervorrichtungen umfassen kann, wie etwa flüchtigen Speicher (z.B. dynamischen Direktzugriffsspeicher (DRAM)), nichtflüchtigen Speicher (z.B. Festwertspeicher (ROM)), Flash-Speicher, Halbleiterspeicher und/oder eine Festplatte.
  • Bei einigen Ausführungsformen kann der Speicher 1304 zum Speichern einer Arbeitskopie und einer permanenten Kopie von Programmierungsanweisungen verwendet werden, die bewirken, dass die Vorrichtung 1300 beliebige geeignete der hier offenbarten Techniken ausführt. Bei einigen Ausführungsformen sind maschinenzugängliche Medien (darunter nicht vergängliche computerlesbare Speichermedien), Verfahren, Systeme und Vorrichtungen zum Ausführen der oben beschriebenen Techniken Anschauungsbeispiele für hier offenbarte Ausführungsformen zur Kommunikation über einen Zweidrahtbus. Zum Beispiel können auf computerlesbaren Medien (z.B. dem Speicher 1304) Anweisungen gespeichert sein, die, wenn sie durch eine oder mehrere in der Verarbeitungsvorrichtung 1302 enthaltene Verarbeitungsvorrichtungen ausgeführt werden, bewirken, dass die Vorrichtung 1300 beliebige der hier offenbarten Techniken ausführt.
  • Bei einigen Ausführungsformen kann die Vorrichtung 1300 einen anderen Kommunikationschip 1312 (z.B. einen oder mehrere andere Kommunikationschips) umfassen. Der Kommunikationschip 1312 kann zum Beispiel für Verwaltung drahtloser Kommunikation zum Transfer von Daten zu und von der Vorrichtung 1300 ausgelegt sein. Der Ausdruck „drahtlos“ und seine Ableitungen können verwendet werden, um Schaltungen, Vorrichtungen, Systeme, Verfahren, Techniken, Kommunikationskanäle usw. zu beschreiben, die Daten mittels Verwendung modulierter elektromagnetischer Strahlung mittels eines nichtfesten Mediums übermitteln können. Aus dem Ausdruck folgt nicht, dass die zugeordneten Vorrichtungen keinerlei Drähte enthalten, obwohl sie bei einigen Ausführungsformen keine enthalten könnten.
  • Der Kommunikationschip 1312 kann beliebige von mehreren drahtlosen Standards oder Protokollen implementieren, darunter, aber ohne Beschränkung darauf, Standards des IEEE (Institute for Electrical and Electronic Engineers) wie Wi-Fi (Familie IEEE 802.11), die Standards IEEE 802.16 (z.B. IEEE 802.16-Ergänzung von 2005), das LTE-Projekt (Long-Term Evolution) zusammen mit etwaigen Ergänzungen, Aktualisierungen und/oder Revisionen (z.B. das Advanced-LTE-Projekt, das UMB-Projekt (Ultra Mobile Broadband) (auch als „3GPP2“ bezeichnet) usw.). Mit IEEE 802.16 kompatible BWA-Netzwerke (Broadband Wireless Access) werden im Allgemeinen als WiMAX-Netzwerke bezeichnet, wobei die Abkürzung für Worldwide Interoperability for Microwave Access steht, wobei es sich um eine Zertifizierungskennzeichnung für Produkte handelt, die Konformitäts- und Interoperabilitätsprüfungen für die IEEE 802.16-Standards bestehen. Der eine oder die mehreren Kommunikationschips 1312 können gemäß einem GSM (Global System for Mobile Communication), GPRS (General Packet Radio Service), UMTS (Universal Mobile Telecommunications System), HSPA (High Speed Packet Access), E-HSPA (Evolved HSPA) oder einem LTE-Netz arbeiten. Der eine oder die mehreren Kommunikationschips 1312 können gemäß EDGE (Enhanced Data for GSM Evolution), GERAN (GSM EDGE Radio Access Network), UTRAN (Universal Terrestrial Radio Access Network) oder E-UTRAN (Evolved UTRAN) arbeiten. Der eine oder die mehreren Kommunikationschips 1312 können gemäß CDMA (Code Division Multiple Access), TDMA (Time Division Multiple Access), DECT (Digital Enhanced Cordless Telecommunications), EV-DO (Evolution-Data Optimized) und Ableitungen davon, sowie beliebigen anderen drahtlosen Protokollen, die als 3G, 4G, 5G und darüber hinaus gekennzeichnet sind, arbeiten. Der Kommunikationschip 1312 kann bei anderen Ausführungsformen gemäß anderen drahtlosen Protokollen arbeiten. Die Vorrichtung 1300 kann eine Antenne 1322 umfassen, um drahtlose Kommunikation zu ermöglichen und/oder um andere drahtlose Übermittlungen (wie etwa AM- oder FM-Radioübertragungen) zu empfangen.
  • Bei einigen Ausführungsformen kann der Kommunikationschip 1312 verdrahtete Kommunikation unter Verwendung eines anderen Protokolls als des hier beschriebenen Protokolls für den Bus 106 verwalten. Verdrahtete Kommunikation kann elektrische, optische oder beliebige andere geeignete Kommunikationsprotokolle umfassen. Beispiele für verdrahtete Kommunikationsprotokolle, die durch den Kommunikationschip 1312 ermöglicht werden können, wären Ethernet, CAN (Controller Area Network), I2C, MOST (Media-Oriented Systems Transport) oder ein beliebiges anderes geeignetes verdrahtetes Kommunikationsprotokoll.
  • Wie oben erwähnt, kann der Kommunikationschip 1312 mehrere Kommunikationschips umfassen. Zum Beispiel kann ein erster Kommunikationschip 1312 drahtloser Kommunikation mit kürzerer Reichweite, wie etwa Wi-Fi oder Bluetooth, gewidmet sein und ein zweiter Kommunikationschip 1312 kann drahtloser Kommunikation größerer Reichweite, wie etwa GPS, EDGE, GPRS, CDMA, WiMAX, LTE, EV-DO oder anderen gewidmet sein. Bei einigen Ausführungsformen kann ein erster Kommunikationschip 1312 drahtloser Kommunikation gewidmet sein und ein zweiter Kommunikationschip 1312 kann verdrahteter Kommunikation gewidmet sein.
  • Die Vorrichtung 1300 kann einen Batterie-/Stromversorgungsschaltkreis 1314 umfassen. Der Batterie-/Stromversorgungsschaltkreis 1314 kann eine oder mehrere Energiespeichervorrichtungen (z.B. Batterien oder Kondensatoren) und/oder einen Schaltkreis zum Koppeln von Komponenten der Vorrichtung 1300 mit einer von der Vorrichtung 1300 getrennten Energiequelle (z.B. Netzstromversorgung, durch eine Autobatterie bereitgestellte Spannung usw.) umfassen. Zum Beispiel kann der Batterie-/Stromversorgungsschaltkreis 1314 den Upstream-Filterungsschaltkreis 132 und den Downstream-Filterungsschaltkreis 131 umfassen, die oben mit Bezug auf 2 besprochen werden, und könnte durch das Bias auf dem Bus 106 geladen werden.
  • Die Vorrichtung 1300 kann eine Anzeigevorrichtung 1306 umfassen (oder einen entsprechenden Schnittstellenschaltkreis, wie oben besprochen). Die Anzeigevorrichtung 1306 kann zum Beispiel beliebige visuelle Indikatoren umfassen, wie etwa ein Heads-Up-Display, einen Computermonitor, einen Projektor, ein Touchscreen-Display, eine Flüssigkristallanzeige (LCD), eine Leuchtdiodenanzeige oder einen Flachbildschirm.
  • Die Vorrichtung 1300 kann eine Audioausgabevorrichtung 1308 (oder einen entsprechenden Schnittstellenschaltkreis, wie oben besprochen) umfassen. Die Audioausgabevorrichtung 1308 kann zum Beispiel eine beliebige Vorrichtung umfassen, die einen hörbaren Indikator erzeugt, wie etwa Lautsprecher, Headsets oder Ohrhörer.
  • Die Vorrichtung 1300 kann eine Audioeingabevorrichtung 1324 umfassen (oder einen entsprechenden Schnittstellenschaltkreis, wie oben besprochen). Die Audioeingabevorrichtung 1324 kann eine beliebige Vorrichtung umfassen, die ein Signal erzeugt, das einen Ton repräsentiert, wie etwa Mikrofone, Mikrofonarrays oder Digitalinstrumente (z.B. Instrumente mit einem MIDI-Ausgang (Musical Instrument Digital Interface)).
  • Die Vorrichtung 1300 kann eine GPS-Vorrichtung 1318 (Global Positioning System) umfassen (oder einen entsprechenden Schnittstellenschaltkreis, wie oben besprochen). Die GPS-Vorrichtung 1318 kann sich mit einem satellitengestützten System in Kommunikation befinden und kann einen Ort der Vorrichtung 1300 empfangen, so wie es in der Technik bekannt ist.
  • Die Vorrichtung 1300 kann eine weitere Ausgabevorrichtung 1310 umfassen (oder einen entsprechenden Schnittstellenschaltkreis, wie oben besprochen). Beispiele für die andere Ausgabevorrichtung 1310 wären ein Audiocodec, ein Videocodec, ein Drucker, ein verdrahteter oder drahtloser Sender, um anderen Vorrichtungen Informationen bereitzustellen, oder eine zusätzliche Speicherungsvorrichtung. Zusätzlich können beliebige geeignete der hier besprochenen Peripherievorrichtungen 108 in der weiteren Ausgabevorrichtung 1310 enthalten sein.
  • Die Vorrichtung 1300 kann eine weitere Eingabevorrichtung 1320 umfassen (oder einen entsprechenden Schnittstellenschaltkreis, wie oben besprochen). Beispiele für die weitere Eingabevorrichtung 1320 wären ein Beschleunigungsmesser, ein Kreisel, eine Bildaufnahmevorrichtung, eine Tastatur, eine Cursorsteuervorrichtung, wie etwa eine Maus, ein Stift, ein Touchpad, ein Strichcodeleser, ein QR-Codeleser (Quick Response) oder ein RFID-Leser (Hochfrequenzidentifikation). Zusätzlich können beliebige geeignete der hier besprochenen Sensoren oder Peripherievorrichtungen 108 in der weiteren Eingabevorrichtung 1320 enthalten sein.
  • Beliebige geeignete der oben mit Bezug auf die Vorrichtung 1300 beschriebenen Anzeige-, Eingabe-, Ausgabe-, Kommunikations- oder Speichervorrichtungen können als die Peripherievorrichtung 108 im System 100 dienen. Als Alternative oder zusätzlich können beliebige der oben mit Bezug auf die Vorrichtung 1300 beschriebenen Anzeige-, Eingabe-, Ausgabe-, Kommunikations- oder Speichervorrichtungen in einem Host (z.B. dem Host 110) oder einem Knoten (z.B. einem Master-Knoten 102 oder einem Slave-Knoten 104) enthalten sein.
  • Dezimierung zur Unterstützung niedrigerer Abtastraten und Verwendung mehrerer Schlitze zur Unterstützung höherer Abtastraten
  • Bei einigen Ausführungsformen können die Knoten des Busses 106 eine einzige Audioabtastrate hoher Bandbreite (z.B. 44,1 kHz - 48 kHz) unterstützen. Viele digitale Audiosignale können jedoch das durch den Bus 106 unterstützte volle Audiospektrum nicht immer erfordern. Zum Beispiel können einige Audio-Rauschlöschungsanwendungen die volle Bandbreite für einige der über den Bus 106 übertragenen Audiosignale nicht erfordern. Durch Dezimieren von Signalen, die nicht volle Bandbreite erfordern, können mehrere Kanäle in einen einzigen Audiostrom „gepackt“ und unabhängig auf dem Bus 106 zu verschiedenen Slave-Knoten 104 verteilt werden. Zum Beispiel kann ein dezimierter Audiostrom mehrkanalige Rauschlöschungsströme, Mehrkanal-Aktiv-Tonaudio oder andere Ströme niedrigerer Bandbreite umfassen. Kleinere Abtastraten als 40 kHz können zum Beispiel für Übertragung der menschlichen Sprache, Audio mit niedrigerer Qualität und FM-Radio angemessen sein.
  • In einem isochronen digitalen Audionetzwerk (z.B. dem Bus 106) erfordern herkömmliche Ansätze zur Bereitstellung mehrerer Ströme von Audio gewöhnlich, dass alle Ströme mit einer Abtastrate bereitgestellt werden, die durch die Bedürfnisse des Kanals mit der höchsten Audiobandbreite ausgewählt wird. Alle anderen Kanäle können dazu gezwungen werden, diese selbe hohe Abtastaudiorate aufrechtzuerhalten, und deshalb kann digitaler Durchsatz verschwendet werden, wenn diese hohe Abtastaudiorate nicht notwendig ist. Da der Gesamt-Digitalbus-Durchsatz begrenzt ist, kann diese herkömmliche Redundanz die Anzahl möglicher zu übertragender Kanäle verringern.
  • Wenn stattdessen Audio dezimiert wird, kann der Bus 106 Übertragung mehrerer Kanäle von Audio in einem einzigen Audioschlitz erlauben, indem der Stream im Master-Knoten 102 gemultiplext und einer oder mehrere der Kanäle in den Slave-Knoten 104 selektiv angehört oder empfangen werden.
  • Wenn ein digitales Audiosignal eine höhere Abtastrate als die Superrahmenrate des Busses 106 erfordert, ist es auch möglich, den Bus 106 zu verwenden, um die höhere Abtastrate zu unterstützen, indem das Audiosignal (z.B. in mehreren Datenschlitzen in einem einzigen Superrahmen 190) über mehrere Kanäle übertragen wird. Zum Beispiel kann ein Slave-Knoten 104 mehrere Datenschlitze verwenden, um mit einer höheren Abtastrate als die Superrahmenrate zu übertragen (z.B. zwei Datenschlitze zur Verdopplung der Superrahmenrate, vier Datenschlitze zur Vervierfachung der Superrahmenrate usw.). Abtastraten von mehr als 48 kHz können zum Beispiel für Audio höherer Qualität (z.B. professionelles Audio) und DVD-Audio wünschenswert sein.
  • Um zweimal und viermal die Abtastraten in einem Slave-Knoten 104 zu unterstützen, kann der Master-Knoten 102 zwei- oder viermal die Menge an TDM-Datenkanälen an seiner Abtastfrequenzschnittstelle zum Host 110 benutzen. Um die Abtastrate zu vergrößern, können mehrere ganze Kanäle und/oder Bruchteile eines Kanals verwendet werden.
  • Bei einigen Ausführungsformen können Daten für eine einzelne Peripherievorrichtung 108 (die mit einem Slave-Knoten 104 assoziiert ist) mehrere der Downstream-Datenschlitze 198 einnehmen. Diese Daten können zum Beispiel Audiodaten sein. Bei einigen Ausführungsformen können Daten von einer einzelnen Peripherievorrichtung 108 (die mit dem Slave-Knoten 104 assoziiert ist) mehrere der Upstream-Datenschlitze 199 einnehmen. Zum Beispiel zeigt 14 ein Beispiel für Informationsaustausch auf dem Zweidrahtbus 106 gemäß verschiedenen Ausführungsformen der hier beschriebenen Busprotokolle. Wie in der Zeile „MASTER SENDEN“ von 14 gezeigt, kann ein Downstream-Datenschlitz durch Lautsprecherdaten eingenommen werden, die für den mit dem Slave-Knoten 1 assoziierten Lautsprecher bestimmt werden, und zwei Downstream-Datenschlitze (SD2(1) und SD2(2)) können durch Lautsprecherdaten eingenommen werden, die für den mit Slave-Knoten 2 assoziierten Lautsprecher bestimmt sind. Der mit Slave-Knoten 2 assoziierte Lautsprecher kann somit Daten mit zweimal der Rate des mit Slave-Knoten 1 assoziierten Lautsprechers empfangen. Analoge Verwendung mehrerer Datenschlitze kann in den Upstream-Datenschlitzen 199 auftreten.
  • Bei einigen Ausführungsformen kann ein bestimmter Datenschlitz in den Upstream-Datenschlitzen 199 eines ersten Superrahmens 190 Daten von einer ersten Peripherievorrichtung umfassen, während dieser bestimmte Datenschlitz in den Upstream-Datenschlitzen 199 eines zweiten Superrahmens 190 Daten von einer zweiten, anderen Peripherievorrichtung umfassen kann. Wie zum Beispiel nach dem ersten Synchronisationsantwortrahmen in der Zeile „MASTER-EMPFANGEN“ von 14 gezeigt, kann der erste Upstream-Datenschlitz durch Mikrofondaten von dem mit Slave-Knoten 1 assoziierten Mikrofon eingenommen werden und der zweite Upstream-Datenschlitz kann durch Mikrofondaten von dem mit Slave-Knoten 0 (MD0A) assoziierten Mikrofon A eingenommen werden. Wie nach dem zweiten Synchronisationsantwortrahmen in der Zeile „MASTER-EMPFANGEN“ von 14 gezeigt, kann der erste Upstream-Datenschlitz wieder durch Mikrofondaten von dem mit Slave-Knoten 1 assoziierten Mikrofon eingenommen werden, aber der zweite Upstream-Datenschlitz kann durch Mikrofondaten von dem mit Slave-Knoten 0 (MD0B) assoziierten Mikrofon B eingenommen werden. Das mit Slave-Knoten 1 assoziierte Mikrofon kann somit Daten auf dem Bus 106 mit zweimal der Rate der mit Slave-Knoten 104 assoziierten Mikrofone bereitstellen. Analoge Verwendung mehrerer Datenschlitze kann in den Downstream-Datenschlitzen 198 auftreten. Obwohl 14 ein Beispiel zeigt, in dem sich mehrere mit demselben Slave-Knoten assoziierte Peripherievorrichtungen einen bestimmten Upstream-Datenschlitz teilen, können sich bei einigen Ausführungsformen mehrere mit verschiedenen Slave-Knoten assoziierte Peripherievorrichtungen einen bestimmten Upstream-Datenschlitz teilen.
  • Wie oben erwähnt kann ein Slave-Knoten 104, der über einen I2S/TDM-Bus (z.B. unter Verwendung des I2S/TDM/PDM-Sendeempfängers 127 des Knotensendeempfängers 120) mit einer Peripherievorrichtung 108 gekoppelt ist, mit einer Rate von weniger als der Superrahmenrate mit der Peripherievorrichtung 108 kommunizieren. Eine Einstellung im Slave-Knoten 104 kann bestimmen, um welchen Faktor die Slave-Peripheriekommunikation relativ zu der Superrahmenrate verringert ist (z.B. um einen Faktor zwei, einen Faktor vier usw.), und mehrere mit dem Slave-Knoten 104 gekoppelte Peripherievorrichtungen 108 (oder mehrere Kanäle zu einer einzelnen Peripherievorrichtung 108) können sich einen Kommunikationsschlitz zwischen dem Slave-Knoten 104 und dem Master-Knoten 102 teilen, indem zeitlich gemultiplext wird (z.B. können sich zwei Peripherievorrichtungen 108 beim Einbringen von Daten in einen gegebenen Kommunikationsschlitz zwischen dem Master-Knoten 102 und dem Slave-Knoten 104 abwechseln). Bei einigen Ausführungsformen kann, wenn eine Peripherievorrichtung 108 mit „verringerter Datenrate“ eine lange Zeit braucht, um Daten zu dem Slave-Knoten 104 zurückzusenden, wenn die Datenrate verringert ist, der Slave-Knoten 104 an einer ganzen Anzahl von Superrahmen vor dem Zeitpunkt, zu dem die Daten zu dem Master-Knoten 102 gesendet werden sollten (wobei die ganze Zahl in dem Slave-Knoten 104 gespeichert wird), ein SYNC-Signal zu der Peripherievorrichtung 108 senden.
  • Bei einigen Ausführungsformen kann der I2S/TDM/PDM-Sendeempfänger 127 des Knotensendeempfängers 120 relativ zu der Superrahmenrate mit einer verringerten Rate laufen. Die zulässigen verringerten Raten bei einer Superrahmenrate von 48 kHz wären zum Beispiel 24 kHz, 12 kHz, 6 kHz, 4 kHz, 3 kHz, 2,4 kHz, 2 kHz, 1,71 kHz und 1,5 kHz. Der Knotensendeempfänger 127 kann Daten senden, die durch den I2S/TDM/PDM-Sendeempfänger 127 upstream oder downstream empfangen werden. Die I2S/TDM/PDM-Sendeempfänger 127 verschiedener der Slave-Knoten 104 können mit verschiedenen Raten laufen. Bei einigen Ausführungsformen kann der I2S/TDM/PDM-Sendeempfänger 127 des Master-Knotens 102 mit der höchsten Datenrate in dem System 100 laufen.
  • Bei einigen Ausführungsformen können die Datenschlitze auf dem Bus 106 dafür ausgelegt sein, mit einer vollen kontinuierlichen Audiorate (z.B. 48 kHz) laufengelassen zu werden oder mit einer verringerten Rate laufengelassen zu werden, indem Datenschlitze für die Superrahmen 190, die keine Daten enthalten, übersprungen werden (z.B. wenn es nur Mikrofonknoten mit „verringerter Abtastrate“ als Peripherievorrichtungen 108 im System 100 gibt). Dieser Ansatz kann Strom sparen, indem das Aktivitätsniveau auf dem Bus 106 verringert wird, ohne die Kanalbandbreite auf dem Bus 106 zu vergrößern.
  • Bei einigen Ausführungsformen können die Datenschlitze auf dem Bus 106 dafür ausgelegt sein, mit einer vollen kontinuierlichen Audiorate laufengelassen zu werden oder mit einer verringerten Rate laufengelassen zu werden, indem Bus-Datenschlitze für einen bestimmten Slave-Knoten 104 in mehrere I2S/TDM-Kanäle zeitaufgeteilt werden, ohne Datenschlitze für Superrahmen 190 zu überspringen. Dieser Ansatz kann vorteilhaft sein, wenn verschiedene Arten von Peripherievorrichtungen 108 mit Slave-Knoten 104 auf dem Bus 106 gekoppelt sind (z.B. ein mit einem Slave-Knoten 104 gekoppelter Mehrachsen-Beschleunigungsmesser, ein mit einem anderen Slave-Knoten 104 gekoppelter Mikrofon- oder Verstärkerknoten usw.). Dieser Ansatz kann die Kanalbandbreite auf dem Bus 106 vergrößern und etwas Strom sparen.
  • Ein Knoten auf dem Bus 106 kann ein oder mehrere Register (z.B. im Speicher 1304) zum Speichern von Konfigurationsinformationen in Bezug auf einen Betrieb mit verringerter Rate umfassen. Zum Beispiel kann ein I2SRRATE-Register ein Feld RRDIV definieren, mit dem die Superrahmenrate bis herunter auf die verringerte I2S-Rate geteilt werden kann. Zum Beispiel kann bei einer Superrahmenrate von 48 kHz RRDIV bei einigen Ausführungsformen für eine verringerte Rate von 24 kHz, 12 kHz, 6 kHz, 4 kHz, 3 kHz, 2,4 kHz, 2 kHz, 1,71 kHz oder 1,5 kHz gesetzt werden. Das I2SRRATE-Register kann auch ein Steuerbit RBUS umfassen, mit dem Schlitze verringerter Datenrate auf dem Bus 106 ermöglicht werden können. Bei einigen Ausführungsformen kann das I2SRRATE-Register als Nur-Master, Auto-Broadcast, definiert werden, um sicherzustellen, dass der Wert in allen Knoten eines Busses derselbe ist, während dies bei anderen Ausführungsformen nicht der Fall sein muss.
  • Ein I2SRATE-Register kann ein Feld (z.B. ein 3-Bit-Feld) umfassen, mit dem die Slave-Knoten-I2S/TDM-Rate als ganzzahliges Vielfaches der Superrahmenrate ausgewählt ist, oder ist ein Bruchteil der Superrahmenrate. Das I2SRATE-Register kann auch ein REDUCE-Bit umfassen, mit dem der Umgang mit RX-Daten in einem Slave-Knoten 104 vergrößerter Rate gesteuert wird, indem Verringerung oder Duplikation von I2S/TDM-Daten festgehalten werden, um die Superrahmenrate zu erreichen. Ein SHARE-Feld kann das Ermöglichen des Teilens von Datenschlitzen auf dem Bus 106 erlauben.
  • Ein I2SRRCTL-Register kann Bits bereitstellen, mit denen es einer Verarbeitungsvorrichtung 1302 eines Knotens erlaubt wird, einen Vollratenrahmen zu verfolgen, der neue Abtastwerte verringerter Rate enthält. Setzen eines ENVLSB-Bit in dem I2SRRCTL-Register kann dazu führen, dass das niedrigstwertige Bit (LSB) jedes Datenkanals gesetzt ist, wenn ein neuer Abtastwert gesendet wird, und andernfalls gelöscht wird. Setzen eines ENXBIT-Bit im I2SRRCTL-Register kann dazu führen, dass ein zusätzliches Bit nach dem LSB des Datenworts jedes Datenkanals benutzt wird. Dieses zusätzliche Bit kann gesetzt werden, wenn ein neuer Abtastwert gesendet wird, und andernfalls gelöscht werden. Bei einigen Ausführungsformen kann die Datenwortlänge kleiner als die Kanalbreiten sein (z.B. ein 24-Bit-Datenwort in einem 32-Bit-I2S-Kanal), und dieses zusätzliche Bit kann neue Abtastwerte angeben (während die übrigen Bits im Kanal immer noch fehlerhafte Daten angeben können). Setzen eines ENSTRB-Bits im I2SRRCTL-Register kann den ADR1-Pin als ein Strobe konfigurieren, das den Rahmen angibt, wo Daten verringerter Rate aktualisiert werden. Setzen eines ENCHAN-Bit im I2SRRCTL-Register kann für einen „Vollraten“-Knoten den Knoten dafür konfigurieren, einen zusätzlichen I2S/TDM-Datenkanal zu produzieren, um den Rahmen anzugeben, wo Daten reduzierter Rate aktualisiert werden.
  • Ein I2SRRSOFFS-Register kann Felder bereitstellen, die zum Bewegen der SYNC-Flanke in einem Slave-Knoten 104 verringerter Rate um Superrahmeninkremente verwendet werden. Das RRSOFFSET-Feld des I2SRRSOFFS-Registers kann einen Wert speichern, der zum Bewegen der SYNC-Flanke eines Slave-Knotens 104 verringerter Rate zeitlich früher um eine Anzahl von Superrahmen verwendet wird. Mit diesem Register kann die Latenz von Daten verringerter Rate minimiert werden, die über den Bus 106 transferiert werden, wenn I2S/TDM RECEIVE-Daten mehr als einen Superrahmen 190 Zugriffszeit erfordern. Bei einigen Ausführungsformen kann in einem Slave-Knoten 104 verringerter Rate die aktive SYNC-Flanke zwei Superrahmen 190 auftreten, bevor die Daten zum Host 110 oder einem anderen Prozessor gesendet werden sollten. Setzen von RRSOFFSET auf N kann bewirken, dass die SYNC-Flanke N Superrahmen früher auftritt. Die Empfangsdaten können immer noch im selben Superrahmen 190 auf dem Bus 106 gesendet werden, ungeachtet des RRSOFFSET-Werts.
  • Übertragen von Hilfsstrom und Batteriestrom
  • Wie bereits besprochen, können die Slave-Knoten 104 lokal durch ihre eigene Energiequelle mit Strom versorgt werden und/oder können Strom aus dem Bus 106 extrahieren. Bei einigen Ausführungsformen kann ein Slave-Knoten 104 Hilfsausgangsstrom extrahieren, um einen Verstärker mit Strom zu versorgen, der als Peripherievorrichtung 108 mit dem Slave-Knoten 104 assoziiert ist, um genug Audio durch den Verstärker (und möglicherweise in Kombination mit anderen Verstärkern, die mit denselben oder anderen Slave-Knoten 104 verbunden sind) zu erzeugen, um Lautsprecher anzusteuern. Der Verstärker kann „intelligent“ sein (z.B. mit seiner eigenen digitalen Signalverarbeitungsfähigkeit) oder nicht (z.B. ohne digitale Signalverarbeitung).
  • Übertragen von Hilfsstrom über den Bus 106 kann besonders in Notfallsituationen vorteilhaft sein, bei denen die primäre lokale Stromquelle für einen Slave-Knoten 104 ausfällt; z.B. können in einem Fahrzeug immer noch Warnnachrichten oder andere Hinweise über das Audiosystem übertragen werden. Das Extrahieren von Hilfsstrom aus dem Bus 106 kann auch die Kosten eliminieren, die mit der Verbindung und Verdrahtung einer lokalen Stromquelle mit dem Slave-Knoten 104 (zum Beispiel in Assoziation mit einem aktiven Lautsprecher) assoziiert sind.
  • Außerdem kann bei Ausführungsformen, bei denen der Bus 106 Strom für die Slave-Knoten 104 liefert, der Bus 106 einen Strom bereitstellen, der lokale Stromspeicherung unterstützt (z.B. zum Laden einer oder mehrerer Batterien, Kondensatoren, Superkondensatoren) und dadurch zusätzliche lokale oder Phantomstromversorgung zur Versorgung einer mit einem Slave-Knoten 104 assoziierten Peripherievorrichtung 108 (z.B. eines Audioverstärkers) weniger notwendig oder überflüssig macht. Bei einigen Ausführungsformen kann man mit dem begrenzten aus dem Bus 106 kommenden Strom einen Slave-Knoten 106 speisen, der eine lokale Energiespeichervorrichtung aufweist, wobei die Energiespeichervorrichtung in Zeiten der Spitzenstromanforderung die notwendige Energie liefert, während sie zu Zeiten mit geringer Stromanforderung geladen wird. Dies kann besonders vorteilhaft sein, wenn es auf Audiosignale mit hohem Scheitelfaktor angewandt wird. Bei einigen Ausführungsformen kann auch eine lokale Batterie in lokal mit Strom versorgten Slave-Knoten 104 nützlich sein (z.B. zum Verringern der Drahtstärke für die lokale Stromversorgung).
  • 15 ist eine Blockdarstellung einer Anordnung 1500, in der ein Slave-Knoten 104 mit einer Energiespeichervorrichtung 1502 und einer Peripherievorrichtung 108 (z.B. einem Lautsprecher) gekoppelt ist. Bei einigen Ausführungsformen kann der Slave-Knoten 104 Strom aus dem Bus 106 extrahieren (wie z.B. oben mit Bezug auf 1 und 2 besprochen) und kann diesen Strom mindestens teilweise zum Speichern von Energie in der Energiespeichervorrichtung 1502 verwenden. Die Energiespeichervorrichtung 1502 kann eine beliebige geeignete Energiespeichervorrichtung umfassen, wie etwa einen Kondensator oder eine Batterie. Insbesondere kann der (nicht gezeigte) Knotensendeempfänger 120 des Slave-Knotens 104 einen Stromversorgungsschaltkreis 1314 zum Empfangen einer Vorspannung über den Bus 106 und zum Bereitstellen von Energie aus der Vorspannung für die Energiespeichervorrichtung 1502 umfassen. Der Slave-Knoten 104 kann die Energiespeichervorrichtung 1502 selektiv benutzen, um den Lautsprecher 108 anzusteuern. Bei einigen Ausführungsformen kann der Slave-Knoten 104 die Energiespeichervorrichtung 1502 selektiv verwenden, um Stromversorgung auf den Bus 106 zu legen, um einem anderen Slave-Knoten 104 Strom bereitzustellen. Die Energiespeichervorrichtung 1502 kann an einen Verstärker, einen Sendeempfänger und/oder andere Komponenten oder Peripherievorrichtungen 108 (z.B. einen digitalen Signalprozessor, ADC, DAC, einen Batterieverwaltungsschaltkreis usw.) angeschlossen werden.
  • Knoten mit sowohl einem Lautsprecher als auch einem Mikrofon als Peripherievorrichtungen
  • Bei einigen Ausführungsformen kann ein Slave-Knoten 104 mit einem Lautsprecher als Peripherievorrichtung 108 (zum größten Teil unter Verwendung von Downstream-Kommunikation), einem Mikrofon als Peripherievorrichtung 108 (zum größten Teil unter Verwendung von Upstream-Kommunikation) oder einer Kombination von einem Lautsprecher und einem Mikrofon (unter Verwendung sowohl von Upstream- als auch von Downstream-Kommunikation, so wie es durch den Bus 106 unterstützt wird) assoziiert sein. Die Anzahl der Lautsprecher und Mikrofone für einen Slave-Knoten 104 kann abhängig von der Anwendung unterschiedlich sein und kann eine beliebige geeignete Kombination sein. Es wird hier eine Anzahl von Beispielen für Slave-Knoten 104 besprochen, die sowohl mit Lautsprechern als auch Mikrofonen als Peripherievorrichtungen assoziiert sind. Bei einigen dieser Ausführungsformen kann ein Peripherievorrichtungs-Kommunikationsschaltkreis (wie etwa der I2S/TDM/PDM-Sendeempfänger 127, der I2C-Sendeempfänger 129 oder ein oder mehrere GPIO-Pins mit Interrupt-Anforderungsfähigkeit) eines Knotensendeempfängers 120 eines Slave-Knotens 104 mit mindestens einem Lautsprecher und mindestens einem Mikrofon kommunizieren. Der Host 110 kann (über den Master-Knoten 102) Daten auf den Bus 106 pushen, um mit diesen Vorrichtungen zu kommunizieren und/oder (über den Master-Knoten 102) Daten von dem Bus 106 von diesen Vorrichtungen zu empfangen.
  • Erfassung in Kollisionen
  • Bei einigen Ausführungsformen, bei denen das System 100 in einem Fahrzeug enthalten ist, kann der Bus 106 ein digitales Netzwerk als Hilfe zum Verständnis von Fahrzeugintegrität und Schwere eines Unfalls während Kollisionen bereitstellen. Mit Mikrofonen und/oder anderen Sensoren (die in der Peripherievorrichtung 108 enthalten sind) kann man den Zustand der Umgebung in der Nähe des zugeordneten Slave-Knotens 104 erfassen, und die erfassten Informationen können upstream oder downstream zu einer Anwendung gesendet werden, die Informationen in Bezug auf die Sicherheit und Integrität des Fahrzeugs sammeln möchte. Beispiele für andere Erfassungen wären unter anderem Ultraschallsensoren, visuelle Sensoren oder elektromechanische Sensoren (z.B. Beschleunigungsmesser und Kreisel).
  • Konferenzsysteme
  • Bei einigen Ausführungsformen kann das System 100 durch ein Mikrofon, das mit einem Slave-Knoten 104 (oder mehreren Slave-Knoten 106) assoziiert ist, abgetastetes Audio an einen Lautsprecher verteilen, der mit einem anderen Slave-Knoten 104 (oder mehreren anderen Slave-Knoten 104) assoziiert ist. Zum Beispiel kann der Bus 106 beschaffte lokale Mikrofoninformationen innerhalb eines Fahrzeugs (z.B. Autos, Limousinen, Busse, Minivans, Flugzeuge usw.) verteilen, so dass Audiokommunikation zwischen Passagier und Fahrer, Fahrer zu Rücksitz oder zwischen einem beliebigen Paar von Orten bereitgestellt werden kann. Einige Ausführungsformen des Systems 100 können durch ein mit einem beliebigen der Slave-Knoten 104 assoziiertes Mikrofon abgetastetes Audio zu vielen anderen Slave-Knoten 104 in einem durch den Bus 106 bereitgestellten Audionetzwerk rundsenden. Der Bus 106 kann auch beliebige andere Daten zwischen zwei beliebigen geeigneten Punkten (z.B. Nachrichten, Daten-Dateien, Inhaltsströme usw.) übertragen.
  • Bei einigen Ausführungsformen kann ein Slave-Knoten 104 einen Peripherievorrichtungs-Kommunikationsschaltkreis (wie etwa den I2S/TDM/PDM-Sendeempfänger 127, den I2C-Sendeempfänger 129 des Knotensendeempfängers 120 oder einen oder mehrere GPIO-Pins mit Interrupt-Anforderungsfähigkeit) zur Kommunikation mit einem Mikrofon und einem Konferenzschaltungs-Benutzeroberflächenelement (z.B. als Peripherievorrichtungen 108) umfassen. Ein Benutzer kann das Konferenzschaltungs-Benutzeroberflächenelement betätigen, wenn der Benutzer Audio vom Mikrofon einer anderen mit dem Bus 106 gekoppelten Vorrichtung bereitstellen möchte. Das Konferenzschaltungs-Benutzeroberflächenelement kann zum Beispiel eine Schaltfläche, eine Gestenerkennungsvorrichtung, ein Mikrofon (z.B. gekoppelt mit einer Verarbeitungsvorrichtung, die Spracherkennungsaufgaben ausführen kann, um Befehle zum Beginnen und Enden einer Konferenzschaltung zu erkennen) oder ein designierter Teil einer Touchscreen-Anzeige sein. Bei Betätigung des Konferenzschaltungs-Benutzeroberflächenelements durch einen Benutzer kann der Slave-Knoten 104 Daten vom Mikrofon upstream und/oder downstream auf dem Bus 104 zum Empfang und/oder zur Wiedergabe durch eine oder mehrere andere Vorrichtungen (z.B. Knoten oder den Host 110) bereitstellen. Bei einigen Ausführungsformen kann der Host 110 die Mikrofondaten empfangen und sie zur Wiedergabe zu einem anderen Slave-Knoten 104 auf dem Bus 106 routen. Der Slave-Knoten 104 kann auch Routen von Daten als Reaktion auf Betätigung des Konferenzschaltungs-Benutzeroberflächenelements bereitstellen, um die Quelle der Mikrofondaten und/oder das gewünschte Ziel bzw. die gewünschten Ziele für die Mikrofondaten anzugeben.
  • Zum Beispiel zeigt 16 eine Anordnung 1600 eines Hosts 110, eines Master-Knotens 102 und zweier Slave-Knoten 104 und ihrer zugeordneten Peripherievorrichtungen 108 zusammen mit einem Flussdiagramm eines Verfahrens 1602, das durch den Host 110 der Anordnung 1600 ausgeführt werden kann, um selektiv Audio in der Anordnung 1600 umher zu routen. In der Anordnung 1600 kann ein Slave-Knoten 0 mit einem einzelnen Lautsprecher assoziiert sein, während der Slave-Knoten 1 mit einem Lautsprecher, einem Mikrofon und einer Schaltfläche assoziiert sein kann, die als das oben besprochene Konferenzschaltungs-Benutzeroberflächenelement wirkt. Das Verfahren 1602 kann einen „hostzentrischen“ Ansatz zum Routen von Daten in der Anordnung 1600 repräsentieren.
  • In 1604 kann der Host 110 dem Slave-Knoten 0 Musik 0 bereitstellen. Die Musik 0 repräsentiert einen beliebigen gewünschten Datenstrom, der während „nominalen“ Betriebs zu dem Slave-Knoten 0 geroutet wird. Bei einigen Ausführungsformen kann die Musik 0 Videodaten, Sprachdaten oder beliebige andere geeignete Daten sein. Der Host 110 kann die Musik 0 in 1604 über den Bus 106 dem Slave-Knoten 0 über den Master-Knoten 102 unter Verwendung beliebiger der hier offenbarten Busprotokolle bereitstellen.
  • In 1606 kann der Host 110 dem Slave-Knoten 1 Musik 1 bereitstellen. Die Musik 1 repräsentiert einen beliebigen gewünschten Datenstrom, der während „nominalen“ Betriebs zu dem Slave-Knoten 1 geroutet wird. Bei einigen Ausführungsformen kann die Musik 1 Videodaten, Sprachdaten oder beliebige andere geeignete Daten sein. Der Host 110 kann die Musik 1 in 1606 über den Bus 106 dem Slave-Knoten 1 über den Master-Knoten 102 unter Verwendung beliebiger der hier offenbarten Busprotokolle bereitstellen.
  • In 1608 kann der Host 110 Schaltflächendaten von dem Slave-Knoten 1 empfangen. Die Schaltflächendaten können einen Zustand der Schaltfläche angeben (z.B. ob die Schaltfläche durch einen Benutzer gedrückt wurde). Der Host 110 kann über den Bus 106 Schaltflächendaten von dem Slave-Knoten 1 in 1608 über den Master-Knoten 102 unter Verwendung beliebiger der hier offenbarten Busprotokolle empfangen.
  • In 1610 kann der Host 110 Mikrofondaten von dem Slave-Knoten 1 empfangen. Die Mikrofondaten können Audiodaten sein, die durch das Mikrofon erfasst werden, das mit dem Slave-Knoten 1 als Peripherievorrichtung 108 assoziiert ist. Der Host 110 kann Mikrofondaten von dem Slave-Knoten 1 in 1610 über den Bus 106 über den Master-Knoten 102 unter Verwendung beliebiger der hier offenbarten Busprotokolle empfangen.
  • In 1612 kann der Host 110 bestimmen, ob die in 1608 empfangenen Schaltflächendaten angeben, dass die Schaltfläche von einem Benutzer gedrückt wurde. Wenn der Host 110 in 1612 bestimmt, dass die Schaltfläche nicht gedrückt wurde, kann der Host 110 zu 1604 zurückkehren und weiter dem Slave-Knoten 0 Musik 0 bereitstellen.
  • Wenn der Host 110 in 1612 bestimmt, dass die Schaltfläche gedrückt wurde, kann der Host 110 zu 1614 voranschreiten und die Mikrofondaten von dem Slave-Knoten 1 dem Slave-Knoten 0 bereitstellen. Der Host 110 kann die Mikrofondaten dem Slave-Knoten 0 anstelle der Musik 0 bereitstellen, wobei die Musik 0 für die Mikrofondaten unterbrochen wird. Der Slave-Knoten 0 kann die Mikrofondaten seinem assoziierten Lautsprecher bereitstellen, um somit das durch das Mikrofon, das mit Slave-Knoten 1 assoziiert ist, gesammelte Audio dem Lautsprecher bereitzustellen, der mit Slave-Knoten 0 assoziiert ist. Der Host 110 kann die Mikrofondaten über den Bus 106 dem Slave-Knoten 0 in 1614 über den Master-Knoten 102 unter Verwendung beliebiger der hier offenbarten Busprotokolle bereitstellen.
  • In 1616 kann der Host 110 das Bereitstellen von Musik 1 für den Slave-Knoten 1 beenden (um den Lautsprecher, der mit Slave-Knoten 1 assoziiert ist, abzustellen, während das mit dem Slave-Knoten 1 assoziierte Mikrofon seine Daten zu anderen Vorrichtungen auf dem Bus sendet) und kann dann zu 1612 zurückkehren, um zu bestimmen, ob die Schaltfläche immer noch gedrückt ist. Bei einigen Ausführungsformen kann der Host 110 die Lautstärke der Musik 1 in 1616 verringern, statt ihre Bereitstellung zu beenden. Bei einigen Ausführungsformen kann der Host 110 die Lautstärke der Musik 1 in 1616 stummschalten, statt ihre Bereitstellung zu beenden.
  • 17 ist ein Flussdiagramm eines Verfahrens 1700, das durch den Slave-Knoten 0 der Anordnung 1600 von 16 während des selektiven Routens von Audio um die Anordnung 1500 ausgeführt werden kann, gemäß verschiedenen Ausführungsformen. Das Verfahren 1700 kann einen „Slave-zentrischen“ Ansatz zum Routen von Daten in der Anordnung 1600 repräsentieren.
  • In 1702 kann der Slave-Knoten 0 Musik 0 vom Host 110 empfangen. Wie oben mit Bezug auf 1604 besprochen, repräsentiert die Musik 0 einen beliebigen gewünschten Datenstrom, der während des „nominalen“ Betriebs zu dem Slave-Knoten 0 geroutet wird. Bei einigen Ausführungsformen kann die Musik 0 Videodaten, Sprachdaten oder beliebige andere geeignete Daten sein. Der Host 110 kann dem Slave-Knoten 0 in 1702 über den Bus 106 die Musik 0 über den Master-Knoten 102 unter Verwendung beliebiger der hier offenbarten Busprotokolle bereitstellen.
  • In 1704 kann der Slave-Knoten 0 die Musik 0 dem Lautsprecher bereitstellen, der als Peripherievorrichtung 108 mit dem Slave-Knoten 0 assoziiert ist. Als Reaktion kann der Lautsprecher die Musik 0 als hörbares Signal ausgeben.
  • In 1706 kann der Slave-Knoten 0 Schaltflächendaten von dem Slave-Knoten 1 empfangen. Die Schaltflächendaten können einen Zustand der mit dem Slave-Knoten 1 assoziierten Schaltfläche angeben (z.B. ob die Schaltfläche durch einen Benutzer gedrückt wurde). Bei einigen Ausführungsformen kann der Slave-Knoten 0 die Schaltflächendaten direkt über den Bus 106 von dem Slave-Knoten 1 empfangen (z.B. ohne dass die Daten zuerst den Master-Knoten 102 durchlaufen müssen). Bei einigen Ausführungsformen kann der Slave-Knoten 0 die Schaltflächendaten über den Master-Knoten 102 und/oder über den Host 110 von dem Slave-Knoten 1 empfangen. Im Allgemeinen kann der Slave-Knoten 0 in 1706 unter Verwendung beliebiger der hier offenbarten Busprotokolle Schaltflächendaten von dem Slave-Knoten 1 empfangen.
  • In 1708 kann der Slave-Knoten 0 Mikrofondaten von dem Slave-Knoten 1 empfangen. Die Mikrofondaten können Audiodaten sein, die durch das Mikrofon erfasst werden, das als Peripherievorrichtung 108 mit dem Slave-Knoten 1 assoziiert ist. Bei einigen Ausführungsformen kann der Slave-Knoten 0 die Mikrofondaten direkt über den Bus 106 von dem Slave-Knoten 1 empfangen (z.B. ohne dass die Daten zuerst den Master-Knoten 102 durchlaufen müssen). Bei einigen Ausführungsformen kann der Slave-Knoten 0 die Mikrofondaten über den Master-Knoten 102 und/oder über den Host 110 von dem Slave-Knoten 1 empfangen. Im Allgemeinen kann der Slave-Knoten 0 in 1708 unter Verwendung beliebiger der hier offenbarten Busprotokolle Mikrofondaten von dem Slave-Knoten 1 empfangen.
  • In 1710 kann der Slave-Knoten 0 bestimmen, ob die in 1706 empfangenen Schaltflächendaten angeben, dass die Schaltfläche von einem Benutzer gedrückt wurde. Wenn der Slave-Knoten 0 in 1710 bestimmt, dass die Schaltfläche nicht gedrückt wurde, kann der Slave-Knoten 0 zu 1702 zurückkehren und weiter die Musik 0 von dem Host 110 empfangen.
  • Wenn der Slave-Knoten 0 in 1710 bestimmt, dass die Schaltfläche gedrückt wurde, kann der Slave-Knoten 0 zu 1712 voranschreiten und die Mikrofondaten dem Lautsprecher bereitstellen, der mit dem Slave-Knoten 0 assoziiert ist. Der Slave-Knoten 0 kann die Mikrofondaten dem Lautsprecher anstelle der Musik 0 bereitstellen und die Musik für die Mikrofondaten unterbrechen. Der Slave-Knoten 0 kann dann zu 1710 zurückkehren, um zu bestimmen, ob die Schaltfläche immer noch gedrückt wird.
  • Routen von Sprachanrufen
  • Bei einigen Ausführungsformen kann das System 100 ein digitales Audionetzwerk zum Routen ankommender und abgehender Sprachanrufe von einem einzigen Empfänger bereitstellen (z.B. Umherrouten von Anrufen zwischen verschiedenen Positionen in einem Fahrzeug). Durch wirksames Einsetzen der Downstream- und Upstream-Kanäle mit niedriger Latenz können qualitativ hochwertige Sprachanrufe auf vielerlei Weise in einem Fahrzeug umhergeroutet werden.
  • Bei einigen Ausführungsformen kann ein Slave-Knoten 104 einen Peripherievorrichtungs-Kommunikationsschaltkreis (wie etwa den I2S/TDM/PDM-Sendeempfänger 127, den I2C-Sendeempfänger 129 des Knotensendeempfängers 120 oder einen oder mehrere GPIO-Pins mit Interrupt-Anforderungsfähigkeit), die mit einem drahtlosen Sendeempfänger als Peripherievorrichtung 108 gekoppelt sind, umfassen. Der drahtlose Sendeempfänger kann Sprachanrufe empfangen und der Slave-Knoten 104 kann die Sprachanrufe repräsentierende Daten (z.B. upstream oder downstream) auf den Bus 106 legen.
  • Zum Beispiel zeigt 18 eine Ausführungsform des Systems 100, bei der ein drahtloser Sendeempfänger in der mit dem Slave-Knoten 1 assoziierten Peripherievorrichtung 108 enthalten ist. Der Slave-Knoten 1 kann Sprachanrufdaten von dem drahtlosen Sendeempfänger empfangen und kann sie anderen Vorrichtungen im System 100 (upstream und/oder downstream) gemäß beliebigen der hier offenbarten Busprotokolle bereitstellen. Der Slave-Knoten 1 kann Daten auch von beliebigen anderen Vorrichtungen im System 100 empfangen und sie zur Aufnahme in eine abgehende Sprachübertragung gemäß beliebigen der hier offenbarten Busprotokolle dem drahtlosen Sendeempfänger bereitstellen.
  • In einem anderen Beispiel zeigt 19 eine Ausführungsform des Systems 100, bei der ein drahtloser Sendeempfänger 1902 (z.B. unter Verwendung eines beliebigen geeigneten Kommunikationsprotokolls) mit dem Host 110 gekoppelt ist. Der Host 110 kann Daten von dem drahtlosen Sendeempfänger 1902 empfangen und sie gemäß beliebigen der hier offenbarten Busprotokolle anderen Vorrichtungen im System 100 bereitstellen. Der Host 110 kann Daten auch von beliebigen der anderen Vorrichtungen im System 100 empfangen und sie gemäß beliebigen der hier offenbarten Busprotokolle zur Aufnahme in eine abgehende Sprachübertragung dem drahtlosen Sendeempfänger 1902 bereitstellen.
  • Kommunikationsempfänger und -sender
  • Wie oben mit Bezug auf drahtlose Sendeempfänger von Sprachanrufen besprochen, kann anstelle von oder zusätzlich zu dem Bereitstellen von Lautsprechern und Mikrofonen als Peripherievorrichtungen 108 für Slave-Knoten 104, die mit dem Bus 106 verbunden sind, ein Slave-Knoten 104 auch mit einem oder mehreren Kommunikationssendeempfängern als Peripherievorrichtung 108 assoziiert werden. Beispiele für solche Sendeempfänger wären Bluetooth-Module, Nahfeldsendeempfänger, drahtlose Internet-Sendeempfänger, Ethernet-Sendeempfänger, EAVB-Sendeempfänger (Ethernet Audio Video Bridging), Sendeempfänger, die zum Übertragen von Daten in loT-Anwendungen (Internet of Things) verwendet werden, usw. Das System 100 kann effektiv eine Bitübertragungsschicht-Kommunikationsstrecke bereitstellen, die den Bus 106 erweitert, um nicht nur Downstream- und Upstream-Audiokommunikation bereitzustellen, sondern auch Streaming-Kommunikation. Audio, Video und beliebige geeignete Informationen können unter Verwendung des Busses synchron übertragen werden (wobei Daten gleichzeitig mit Audio-I2S/TDM, I2C, IRQ, usw. gleichzeitig übertragen werden, wie oben mit Bezug auf den I2S/TDM/PDM-Sendeempfänger 127 und den I2C-Sendeempfänger 129 besprochen). Diese Funktionalität kann besonders zum Abliefern und Empfangen von zeitcodierten Medien vorteilhaft sein, oder in Anwendungen, bei denen Timing zwischen verschiedenen Datenströmen wichtig ist. Die oben mit Bezug auf 18 und 19 besprochenen Ausführungsformen können auch für beliebige geeignete Kommunikationsempfänger und -sender gelten.
  • Zum Beispiel kann bei einigen Ausführungsformen ein mit dem Slave-Knoten 104 assoziiertes Bluetooth-Modul mit einer mobilen Vorrichtung kommunizieren, um Signale über Bluetooth zu dem Bus 106 (z.B. zu einem Slave-Knoten 104 oder dem Master-Knoten 102) zu senden, so dass das Signal an andere Vorrichtungen im System 100 abgeliefert werden kann (z.B. kann ein Audiosignal durch Lautsprecher wiedergegeben werden, die mit den Slave-Knoten 104 assoziiert sind, die mit dem Bus 106 verbunden sind). Allgemeiner können die hier offenbarten Busprotokolle als Brücke zu anderen Kommunikationssystemen und/oder zum Überbrücken mehrerer Kommunikationssysteme verwendet werden.
  • Routen von Inhalt
  • Bei einigen Ausführungsformen kann das System 100 ein digitales Audionetzwerk bereitstellen, das Übertragung von Audioinhalt lokal zu einem beliebigen oder mehreren der Slave-Knoten 104 erlaubt. Zum Beispiel kann das System 100 dafür ausgelegt sein, selektiv Audio zu verschiedenen Teilen des digitalen Audionetzwerks (z.B. hinteren Kanälen, vorderen Kanälen, einem Lautsprecher an einem bestimmten Sitz des Fahrzeugs usw.) zu routen. Beispiele für diese Funktionalität wurden oben mit Bezug auf 16 und 17 besprochen. Zusätzlich zu Audio kann ein solches selektives Routen auf eine beliebige andere Art von Streaming-Inhalt angewandt werden.
  • Bei einigen Ausführungsformen kann die durch das System 100 ermöglichte Kommunikation zwischen Knoten verwendet werden, um Audiosignale von vielen in den Peripherievorrichtungen 108 enthaltenen Mikrofonen zu sammeln, um Übersprechen und/oder Echo in dem durch das System 100 implementierten digitalen verteilten Audionetzwerk zu vermeiden. Insbesondere können verschiedene Slave-Knoten 104 auf dem Bus 106 die auf dem Bus 106 übertragenen Audiosignale kennen und können ihre Audioausgabe zur Kompensation als Reaktion darauf anpassen . Wie oben mit Bezug auf 16 und 17 angegeben, können Steuerentscheidungen darüber, wie mehrere Audioquellen ordnungsgemäß zu kompensieren sind, auf verteilte Weise (z.B. durch Verarbeitungsvorrichtungen 1302, die in einem oder mehreren der Slave-Knoten 104 enthalten sind) oder auf zentralisierte Weise (z.B. durch Verarbeitungsvorrichtungen 1302, die in dem Master-Knoten 102 oder dem Host 110 enthalten sind) getroffen werden.
  • Strahlformung
  • Bei einigen Ausführungsformen kann die Fähigkeit des Systems 100, synchronen Audioinhalt an mehrere Slave-Knoten 104 auf dem Bus 106 abzuliefern und von diesem zu sammeln, Strahlformungsanwendungen unterstützen. Solche Anwendungen können Detektieren, wo sich ein Lautsprecher befindet, und/oder Bilden eines Strahls zur Sicherstellung, dass ausgegebenes Audio auf einen bestimmten Bereich fokussiert ist (aber mit verringerter oder keiner Hörbarkeit außerhalb des Bereichs) umfassen. Beliebige geeignete Anwendungen für fokussiertes Senden oder Empfangen von Audio können das System 100 auch zu seinem Vorteil nutzen .
  • Konnektivität für Mikrofone
  • Bei einigen Ausführungsformen kann man mit dem System 100 eine digitale Mikrofonverbindung bereitstellen, die mit existierenden analogen Mikrofonen, Verbindern und Vorverstärkern kompatibel ist und unter Verwendung von standardmäßiger abgeschirmter Dreileiter-Mikrofonverkabelung arbeitet.
  • Es sind vorherige Versuche unternommen worden, digitale Mikrofone für professionelles Audio und Beschallung einzuführen. Bei diesen Versuchen wurde das Audiosignal direkt in der Kapsel von analog in digital umgesetzt und dann digital übertragen. Dieser Ansatz erfordert angepasste Mikrofone, spezielle digitale Verkabelung und digitale Empfänger und war somit nicht mit dem Rest des Ökosystems von professionellem Audio kompatibel.
  • Mit dem System 100 kann man ein digitales Verbindungssystem bereitstellen, indem ein in einem standardmäßigen positiven XLR-Verbinder eines Mikrofons (oder einem anderen mit einem Mikrofon verbundenen Gehäuse) enthaltener ADC unter Verwendung des Knotensendeempfängers 120 mit dem Bus 106 verbunden wird. Der ADC kann direkt mit dem Ausgang eines beliebigen existierenden analogen dynamischen, Electret- oder Kondensatormikrofons gekoppelt werden und kann über standardmäßige Mikrofon-„Phantom Power“ von 48 V mit Strom versorgt werden. Der ADC kann das analoge Mikrofonsignal in ein digitales Signal umsetzen, und dieses digitale Signal kann (über den Knotensendeempfänger 120) unter Verwendung von Standard-Mikrofonverkabelung über den Bus 106 übertragen werden. Bei den meisten Ausführungsformen können für Kommunikation über den Bus 106 die charakteristischen Hochfrequenzsignale auf einer gemeinsamen Menge von Leitern mit dem analogen Mikrofonsignal niedrigerer Frequenz kombiniert werden, ohne dass sie sich stören, so dass beide auf demselben Kabel übertragen und ohne Weiteres je nach Wunsch getrennt werden können. Da der Bus 106 aus Zweidrahtverbindungen gebildet ist, kann eine Verbindung durch Standard-Mikrofonverkabelung bereitgestellt werden, und weil Kommunikation über den Bus 106 typischerweise mit einer viel höheren Frequenz als Standard-Audio durchgeführt wird, können Übermittlungen über den Bus 106 auf der Mikrofonverkabelung für Rückwärts-/Vorwärtskompatibilität mit dem existierenden analogen Mikrofonsignal kombiniert werden.
  • Am Empfangsende eines Mikrofons kann eine Anzahl verschiedener Verbindungsanordnungen verwendet werden. Bei einigen Ausführungsformen kann ein Verbindungselement den Knotensendeempfänger 120 und eine digitale Ausgabe umfassen, die zur Verbindung mit einer Audioempfangsvorrichtung (z.B. einem Mischer oder einer Audioeingabevorrichtung) in ein standardmäßiges S/PDIF-, AES/EBU-, AES42- oder anderes digitales Format umgesetzt werden kann. Bei einigen Ausführungsformen kann ein Verbindungselement auch den Knotensendeempfänger und ein DAC umfassen und kann ein analoges Signal zu dem Standard-Mikrofoneingang senden. Zu Vorteilen eines solchen Ansatzes können die Verwendung einer rauschärmeren digitalen Verbindung anstelle einer analogen Verbindung gehören. Bei einigen Ausführungsformen kann ein Verbindungselement an einen analogen Mikrofoneingang angeschlossen werden, wobei das über den Knotensendeempfänger 120 übertragene Signal außerhalb des Audiobands ist und somit mit analogen Geräten rückwärtskompatibel ist. Bei einigen Ausführungsformen kann ein Verbindungselement eine zweifache Empfängerverbindung sowohl für die digitale Ausgabe als auch das analoge Signal umfassen, wodurch ein Benutzer die Möglichkeit erhält, für verschiedene Anwendungen zwischen dem digitalen Signal und dem analogen Signal auszuwählen (z.B. das Analogsignal für einen sekundären Vorverstärker und Umsetzung).
  • Bei einigen Ausführungsformen könnten der Knotensendeempfänger 120 und ein DAC direkt in einen XLR-Verbinder oder eine Verbindungsbox mit Stromversorgung durch „Phantom Power“ von 48 V eingebaut werden. Die gesamte Anordnung könnte ein Standard-Mikrofonkabel umfassen, wobei sich der Knotensendeempfänger 120 und Umsetzer in den Mikrofonverbindern befinden.
  • Diese Ausführungsformen können auf mehrere Mikrofoneinstellungen angewandt und verwendet werden, um eine „Digital-Snake“ zu erzeugen. Bei solchen Ausführungsformen können mehrere Mikrofonsignale (entweder analog oder digital) kombiniert und über ein Standard-Mikrofonkabel über den Bus 106 übertragen werden, ohne dass irgendein großer Mehrfachleiter oder spezialisierte digitale Verkabelung erforderlich ist. Am Empfangsende kann ein Knotensendeempfänger 120 jeden Audioeingangskanal zur Verbindung mit Standard-Audiohardware wie oben besprochen trennen.
  • 20-23 zeigen beispielhafte Anordnungen eines Mikrofons 2002, eines Mikrofonkabels 2010 und einer Audioempfangsvorrichtung 2020, die in dem System 100 enthalten sein können, gemäß verschiedenen Ausführungsformen. In jeder dieser Anordnungen weist ein Mikrofon 2002 einen Kabelverbinder 2004 auf. Das Mikrofonkabel 2010 weist einen ersten Verbinder 2006 zur Kopplung mit dem Kabelverbinder 2004 und einen zweiten Verbinder 2012 zur Kopplung mit der Audioempfangsvorrichtung 2020 auf. Ein oder mehrere Leiter koppeln den ersten Verbinder 2006 und den zweiten Verbinder 2012 zur Übertragung von Daten zwischen ihnen. Der eine oder die mehreren Leiter können zum Beispiel Standard-Mikrofonverkabelung sein. Die Audioempfangsvorrichtung 2020 kann einen Kabelverbinder 2018 zur Kopplung mit dem zweiten Verbinder 2012 des Mikrofonkabels 2010 aufweisen. Bei einigen Ausführungsformen können der Kabelverbinder 2004, der erste Verbinder 2006, der zweite Verbinder 2012 und der Kabelverbinder 2018 XLR-Verbinder sein oder eine beliebige andere geeignete Geometrie aufweisen.
  • 20 zeigt eine Anordnung 2000, bei der ein ADC 2008 in oder nahe dem ersten Verbinder 2006 angeordnet ist und eine digitale Ausgabe aus dem analogen Mikrofonsignal erzeugt, die einem in oder nahe dem zweiten Verbinder 2012 angeordneten Knotensendeempfänger 120 zugeführt wird. Die Ausgabe des Knotensendeempfängers 120 kann vier Drähte umfassen, die Upstream-Signale zur Übertragung auf einem Upstream-Paar der vier Drähte und/oder Downstream-Signale zur Übertragung auf einem Downstream-Paar der vier Drähte bereitstellen. Die digitale Ausgabe des ADC 2008 kann parallel zur Ausgabe des Knotensendeempfängers 120 (z.B. auf ihrem eigenen Draht oder ihren eigenen Drähten) bereitgestellt werden. Der Kabelverbinder 2018 der Audioempfangsvorrichtung 2020 kann die vier Drähte, die die Ausgabe des Knotensendeempfängers 120 übermitteln, empfangen und diese Signale auf diesen vier Drähten zum Bus 106 routen und kann die Drähte, die die digitale Ausgabe des ADC 2008 übermitteln, empfangen und diese digitale Ausgabe zu einem beliebigen geeigneten digitalen Audioeingang routen.
  • 21 zeigt eine Anordnung 2100, bei der ein ADC 2008 in oder nahe dem ersten Verbinder 2006 angeordnet ist und eine digitale Ausgabe aus dem analogen Mikrofonsignal erzeugt. Diese digitale Ausgabe wird einem Knotensendeempfänger 120 zugeführt, der in oder nahe dem zweiten Verbinder 2012 angeordnet ist. Wie oben mit Bezug auf 20 besprochen, kann die Ausgabe des Knotensendeempfängers 120 vier Drähte umfassen, die Upstream-Signale zur Übertragung auf einem Upstream-Paar der vier Drähte und/oder Downstream-Signale zur Übertragung auf einem Downstream-Paar der vier Drähte bereitstellen. Die digitale Ausgabe des ADC 2008 kann parallel einem DAC 2016 zugeführt werden, der in oder nahe dem zweiten Verbinder 2012 angeordnet ist. Die analoge Ausgabe des DAC 2016 kann parallel dem Ausgang des Knotensendeempfängers 120 zugeführt werden (z.B. auf ihrem eigenen Draht oder ihren eigenen Drähten). Der Kabelverbinder 2018 der Audioempfangsvorrichtung 2020 kann die vier Drähte, die die Ausgabe des Knotensendeempfängers 120 übermitteln, empfangen und die Signale auf diesen vier Drähten zum Bus 106 routen und kann die Drähte, die die analoge Ausgabe des DAC 2016 übermitteln, empfangen und diese analoge Ausgabe zu einem beliebigen geeigneten analogen Audioeingang routen.
  • 22 zeigt eine Anordnung 2200, bei der ein ADC 2008 in oder nahe dem ersten Verbinder 2006 angeordnet ist und eine digitale Ausgabe aus dem analogen Mikrofonsignal erzeugt, die einem Knotensendeempfänger 120 zugeführt wird, der auch in oder nahe dem ersten Verbinder 2006 angeordnet ist. Die Ausgabe des Knotensendeempfängers 120 kann vier Drähte umfassen, die Upstream-Signale zur Übertragung auf einem Upstream-Paar der vier Drähte und/oder Downstream-Signale zur Übertragung auf einem Downstream-Paar der vier Drähte bereitstellen. Die analoge Ausgabe des Mikrofons 2002 kann mit der Ausgabe des Knotensendeempfängers 120 kombiniert werden (z.B. auf einem gemeinsamen Satz von mindestens vier Drähten). Der Kabelverbinder 2018 der Audioempfangsvorrichtung 2020 kann die vier Drähte, die die Ausgabe des Knotensendeempfängers 120, kombiniert mit der analogen Ausgabe des Mikrofons 2002, übermitteln, empfangen und diese vier Drähte zu dem Bus 106 und zu einem beliebigen geeigneten analogen Audioeingang routen. Wie oben besprochen können, da sich die über den Bus 106 übermittelten Signale im Allgemeinen bezüglich Frequenz nicht mit analogen Audiosignalen überlappen, die Signale auf demselben Satz von Leitern übertragen und die gewünschten Signale extrahiert werden (z.B. durch Filtern oder durch die Unfähigkeit der letztendlichen Empfangsvorrichtung, Signale in dem anderen Frequenzband zu erkennen).
  • 23 zeigt eine Anordnung 2300, bei der ein ADC 2008 in oder nahe dem ersten Verbinder 2006 angeordnet ist und eine digitale Ausgabe aus dem analogen Mikrofonsignal erzeugt. Diese digitale Ausgabe wird einem Knotensendeempfänger 120 zugeführt, der in oder nahe dem zweiten Verbinder 2012 angeordnet ist. Wie oben mit Bezug auf 20 besprochen, kann die Ausgabe des Knotensendeempfängers 120 vier Drähte umfassen, die Upstream-Signale zur Übertragung auf einem Upstream-Paar der vier Drähte und/oder Downstream-Signale zur Übertragung auf einem Downstream-Paar der vier Drähte bereitstellen. Die digitale Ausgabe des ADC 2008 kann in dem zweiten Verbinder 2012 parallel dem Ausgang des Knotensendeempfängers 120 zugeführt werden (z.B. auf ihrem eigenen Draht oder ihren eigenen Drähten), und das analoge Mikrofonsignal von dem Mikrofon 2002 kann in dem zweiten Verbinder 2012 parallel beiden zugeführt werden (z.B. auf seinem eigenen Draht oder seinen eigenen Drähten). Der Kabelverbinder 2018 der Audioempfangsvorrichtung 2020 kann die vier Drähte, die die Ausgabe des Knotensendeempfängers 120 übermitteln, empfangen und die Signale auf diesen vier Drähten zum Bus 106 routen, die Drähte, die das analoge Mikrofonsignal übermitteln, empfangen und dieses Analogsignal zu einem beliebigen geeigneten analogen Audioeingang routen und die Drähte, die die digitale Ausgabe des ADC 2008 übermitteln, empfangen und dieses digitale Signal zu einem beliebigen geeigneten digitalen Audioeingang routen.
  • Obwohl 20-23 verschiedene Komponenten an verschiedenen Orten in einem Mikrofonkabel 2010 zeigen, sind diese Anordnungen lediglich beispielhaft, und die Komponenten können so umgeordnet werden, wie es geeignet ist. Zum Beispiel können bei einigen Ausführungsformen einige oder alle der Komponenten (z.B. der ADC 2008, der Knotensendeempfänger 120 und/oder der DAC 2016) in dem Kabelverbinder 2004 oder dem Kabelverbinder 2018 angeordnet sein. Wie oben besprochen, kann sich bei einigen Ausführungsformen das analoge Mikrofonsignal Leiter mit dem durch den Knotensendeempfänger 120 erzeugten Verkehr auf dem Bus 106 und/oder der digitalen Repräsentation des analogen Mikrofonsignals, die durch den ADC 2008 erzeugt wird, teilen.
  • Funkempfänger als Knoten auf dem Bus
  • Wie oben mit Bezug auf drahtlose Sendeempfänger von Sprachanrufen besprochen, kann, anstelle von oder zusätzlich zu Bereitstellung von Lautsprechern und Mikrofonen als Peripherievorrichtung 108 für mit dem Bus 106 verbundene Slave-Knoten 104 ein Slave-Knoten 104 auch mit einem oder mehreren Funkempfängern als Peripherievorrichtung 108 assoziiert sein, wie etwa FM-Empfängern (Frequenzmodulation), AM-Empfängern (Amplitudenmodulation), Satellitenfunkempfängern, Fernseh-Medienempfängern oder anderen Funk-Signalempfängern. in einer herkömmlichen Fahrzeugumgebung weist ein Empfänger eine Antenne auf, die an einem Dach, Heckfenster, Heckspoiler oder anderen Teil des Fahrzeugs angebracht ist, wobei ein langer Draht die Antenne wieder mit einer Funkkopfeinheit vorne im Fahrzeug verbindet. Bei diesem herkömmlichen Ansatz kann es aufgrund des langen Drahts zu elektromagnetischen Störungen kommen, die es erfordern, dass andere fahrzeuginterne Elektronik sorgfältig entworfen und kontrolliert wird, damit die Frequenz des über den langen Draht geführten Signals nicht gestört wird.
  • Um diese Probleme zu mindern und Entwurfsflexibilität und Leistungsfähigkeit zu verbessern, kann bei einigen Ausführungsformen des Systems 100 ein Knotensendeempfänger 120 (der z.B. in einem Slave-Knoten 104 enthalten ist) einen Peripherievorrichtungs-Kommunikationsschaltkreis umfassen, der sich mit einer Antenne in Kommunikation befindet, die mit einem Dach oder anderen Teil eines Fahrzeugs gekoppelt ist, und der Peripherievorrichtungs-Kommunikationsschaltkreis kann über eine verdrahtete Verbindung mit der Antenne kommunizieren. Der Knotensendeempfänger 120 kann sich in der Nähe der Antenne befinden, und die durch die Antenne empfangenen Daten können über den Bus 106 zu einer Kopfeinheit (z.B. einem Master-Knoten 102 oder einem Host 110, der in einer Kopfeinheit enthalten ist) übermittelt werden, statt über einen einzigen langen Leiter, der die Antenne mit der Kopfeinheit koppelt. Dies kann das Problem der elektromagnetischen Störungen verringern oder beseitigen, indem die empfangenen Daten digital in Frequenzbändern übertragen werden, die nicht so leicht durch andere fahrzeuginterne Elektronik gestört werden.
  • 24 zeigt eine Anordnung 2400, bei der sich ein Slave-Knoten 104 in der Nähe einer mit einem Dach eines Fahrzeugs gekoppelten Antenne 2404 befindet, gemäß verschiedenen Ausführungsformen. Die Antenne 2404 (und ein etwaiger zugeordneter Funkempfängerschaltkreis) kann eine Peripherievorrichtung 108 des Slave-Knotens 104 sein und kann empfangene Funkdaten über einen beliebigen geeigneten Peripherievorrichtungs-Kommunikationsschaltkreis dem Slave-Knoten 104 bereitstellen. Der Slave-Knoten 104 kann die empfangenen Funkdaten (z.B. in unverarbeiteter oder verarbeiteter Form) über den Bus 106 einem Master-Knoten 102 in einer Kopfeinheit 2402 des Fahrzeugs bereitstellen.
  • Der Peripherievorrichtungs-Kommunikationsschaltkreis, der mit der Antenne kommuniziert (z.B. der I2S/TDM/PDM-Sendeempfänger 127, der I2C-Sendeempfänger 129 und/oder ein oder mehrere GPIO-Pins mit Interrupt-Anforderungsfähigkeit des Knotensendeempfängers 120) kann mit existierenden I2S- und/oder I2C-Schnittstellen für einen mit der Antenne assoziierten Funkempfänger eine Schnittstelle bilden und somit kann der Knotensendeempfänger 120 ohne Weiteres eine Schnittstelle mit einem Funkempfänger bilden. Bei einigen Ausführungsformen kann der Knotensendeempfänger 120 auch einen Abtastratenumsetzer (z.B. eingebaut) bereitstellen, um die empfangenen Funksignale (die gewöhnlich auf einer geeigneten Trägerfrequenz festliegen) zu verarbeiten, bevor die empfangenen Funksignale (z.B. mit der der Superrahmenrate entsprechenden Audioabtastfrequenz) über den Bus 106 übertragen werden. Die vom Funkempfänger empfangenen Daten können dann upstream oder downstream zu einem Slave-Knoten 104 auf dem Bus 106 (z.B. zu einem Lautsprecher oder zu einer anderen Zustellung an einen Benutzer) übertragen werden.
  • Transportieren von komprimiertem Video
  • Wie oben besprochen kann zusätzlich zu oder anstelle von Übertragung von Audio über den Bus 106 Video über den Bus 106 übertragen werden. Bei einigen Ausführungsformen kann auch komprimiertes Video (oder Video mit niedriger Qualität, wie etwa eine nach hinten sehende Kamera oder ein Rücksitz-Videomonitor) mit einer geeigneten Datenrate über den Bus 106 übertragen werden. Zum Beispiel kann komprimiertes Video von einer Kamera übertragen werden oder komprimiertes Video für ein Videodisplay übertragen werden.
  • Benutzeroberflächen-Bedienelemente
  • In dem System 106 können Mikrofone und beliebige geeignete Sensoren als Peripherievorrichtungen 108 enthalten sein, um Benutzeroberflächen bereitzustellen oder um Audioanwendungen zu verbessern. Anwendungen von Mikrofonen und/oder Sensoren in einer Fahrzeugumgebung wären zum Beispiel freihändige Benutzeroberflächen (z.B. Sprachsteuerung/- befehle), Telematik, Fahrerüberwachung, Notfall-/Pannenhilfe und Gestenerkennungsanwendungen. Zum Beispiel können Mikrofone in einen Sitzgurt oder einen beliebige geeigneten Ort in einem Fahrzeug eingebettet sein. Der Bus 106 kann einen effizienten Kommunikationskanal zum Übertragen der durch die Mikrofone und beliebige geeignete Sensoren gesammelten Audiodaten bereitstellen. Bei einigen Ausführungsformen können auch beliebige geeignete I2C-Vorrichtungen, wie etwa Gestenerkennungssensoren, Drucktasten, Speichervorrichtungen, Displays usw. in dem System 100 enthalten sein (da z.B. die Peripherievorrichtungen 108 mit dem in dem Knotensendeempfänger 120 enthaltenen I2C-Sendeempfänger 129 kommunizieren können).
  • Backplane-Konnektivität
  • Bei einigen Ausführungsformen kann das System 100 zur Verbindung verschiedener Subsysteme (die z.B. in verschiedenen Steuerplatinen oder auf derselben Platine enthalten sein können) mit niedriger Latenz verwendet werden. Insbesondere kann man mit dem System 100 mehrere Platinen verketten, um ein viel größeres System zu erzeugen. Das System 100 kann auch die Platinen mit kleineren Vorrichtungen über denselben Bus 106 verbinden. Konferenzraum, Unterhaltungssysteme, Interkom-Systeme, intelligente Wohnungen, Überwachungssysteme und Notfallsysteme können unter anderem den Bus 106 wirksam einsetzen, um die Subsysteme miteinander zu verbinden.
  • Bei einigen Ausführungsformen kann man mit dem System 100 audiovisuelle Geräte für eine Aufführungsbühne, ein Aufnahmestudio oder eine beliebige andere geeignete Unterhaltungsumgebung miteinander verbinden. Die zur Verbindung audiovisueller Geräte benötigte Verdrahtung kann vorteilhafterweise relativ zu herkömmlichen Dickkabeltechniken durch Verwendung des Zweidrahtbusses 106 verringert werden. Die audiovisuellen Geräte können Lautsprecher, Mischpulte, Musikinstrumente, Zeitcodierungsgeräte, Beleuchtungsgeräte, Verstärker, Videoanzeigen, Pyrotechnik und beliebige andere geeignete Geräte umfassen. Zum Beispiel zeigt 25 eine Anordnung 2500, bei der mehrere Arten audiovisueller Geräte einen Knotensendeempfänger 120 enthalten und somit als Slave-Knoten 104 wirken und auf dem Bus 106 kommunizieren können. Insbesondere kann ein Master-Pult 2502 den Host 110 und den Master-Knoten 102 umfassen, und die Knotensendeempfänger 120 können in einem Mischpult 2504, einem Musikinstrument 2506, Beleuchtungsgeräten 2508, einem Verstärker 2510, einem Lautsprecher 2512 und einem Pyrotechnikpult 2514 enthalten oder damit gekoppelt sein. Jedes dieser Geräte kann als eine Peripherievorrichtung 108 wirken und kann unter Verwendung eines beliebig geeigneten Peripherievorrichtungs-Kommunikationsschaltkreises (z.B. des I2S/TDM/PDM-Sendeempfängers 127, des I2C-Sendeempfängers 129 und/oder eines oder mehrerer GPIO-Pins mit Interrupt-Anforderungsfähigkeit) mit seinem zugeordneten Knotensendeempfänger 120 kommunizieren. Daten von diesen Geräten können auf dem Bus 106 durch die Knotensendeempfänger 120 gemäß beliebigen der hier offenbarten Busprotokolle anderen Geräten bereitgestellt werden.
  • Das System 100 kann zur Verbindung von Geräten in einer beliebigen geeigneten Umgebung verwendet werden. Zum Beispiel kann man mit dem System 100 medizinische Geräte mit vielen Sensoren oder Subsystemen (z.B. für Patientenüberwachungsanwendungen) auf die in Bezug auf 25 besprochene Weise miteinander verbinden. Die Verwendung des Zweidrahtbusses 106 kann die diese Sensoren und Systeme verbindende Verdrahtung relativ zu herkömmlichen Ansätzen verringern.
  • Vibrationsmessung
  • Bei einigen Ausführungsformen kann man mit dem System 100 Mikrofone und andere Sensoren miteinander verbinden, die dafür ausgelegt sind, viele Teile eines Materials, wie etwa eines Kohlefasermaterials, zu überwachen, wenn das Material einer Belastungsprüfung unterzogen wird, oder während des Gebrauchs. Die Materialien können zum Beispiel Blätter aus Material, Objekte, Schienen, Brücken, Fahrzeuge oder Gebäude umfassen. Diese Mikrofone und andere Sensoren und/oder Vorrichtungen, die Stimuli zur Bauteilprüfung von Materialien oder Objekten erzeugen, können auch unter Verwendung des Busses 106 in dem System 100 gemäß beliebigen der hier offenbarten Busprotokolle effektiv verbunden werden.
  • Steuersysteme
  • Bei einigen Ausführungsformen kann das System 100 wie oben besprochen eine verkettete Kommunikationsarchitektur mit niedriger Latenz bereitstellen. Aufgrund der niedrigen Latenz und Synchronität bei Datenübertragung des Systems 100 kann das System 100 einen effektiven Kommunikationskanal für Steuersysteme bereitstellen, insbesondere Steuersysteme, die aus verringerter Verdrahtung Nutzen ziehen können und/oder Steuersysteme, die mit dem durch den Bus 106 gelieferten Strom arbeiten können. Steuersysteme können das System 100 vorteilhafterweise verwenden, um Befehle zwischen Knoten auf dem Bus 106 oder Daten, die mit dem Zustand der Knoten auf dem Bus 106 assoziiert sind, zu übermitteln, um Steuerfunktionen auszuführen.
  • Wenn das System 100 in Systemen mit Anforderungen bezüglich Fehlertoleranz implementiert wird, können die Slave-Knoten 104 auf dem Bus in einer Ringkonfiguration verbunden werden, bei der beliebige der Slave-Knoten 104 als der letzte Slave-Knoten 104 vorgesehen werden können. Beispiele für Ringkonfigurationen werden oben mit Bezug auf 12 besprochen. Wenn eine Busstrecke im Ring ausfällt, kann die Ringkonfiguration eine fehlertolerante Konfiguration zum Aufrechterhalten von Konnektivität zwischen Knoten bereitstellen. Der Bus 106 kann auch den hier besprochenen Knotenentdeckungsmechanismus zu seinem Vorteil nutzen , um den richtigen letzten Slave-Knoten 104 im Ring zu entdecken, um sich von dem Fehler zu erholen.
  • Verteilte Verarbeitung über Kommunikationsstrecken mit niedriger Latenz
  • Das System 100 kann zum Verteilen von Verarbeitungsoperationen zwischen verschiedenen Slave-Knoten 104 verwendet werden. Wie oben besprochen kann dies für Steuersysteme vorteilhaft sein, bei denen es wünschenswert ist, lokale Verarbeitung in den Knoten auszuführen, während immer noch über eine die Knoten miteinander verbindende Kommunikationsstrecke mit niedriger Latenz verfügt wird. Zum Beispiel können Sicherungs-/Sicherheitsfunktionen zwischen mehreren Slave-Knoten 104 verteilt werden. Ein Slave-Knoten 104 kann einen Mechanismus implementieren, um zu verhindern, dass eine oder mehrere diesem Slave-Knoten 104 zugeordnete Peripherievorrichtungen 108 (z.B. Vorrichtungen, die ein robotisches Glied überwachen und steuern) zu viel Kraft ausüben oder zu früh auf lokal detektierte Probleme reagieren. Das System 100 kann verteilte lokale Verarbeitung ermöglichen, die die unmittelbare Notwendigkeit, Informationen von den Slave-Knoten 104 zu einem zentralisierten Prozessor (mit dem Potential, das System zubeeinträchtigen ) zu senden, mindern oder vermeiden kann.
  • Bei einigen Ausführungsformen kann ein Slave-Knoten 104 die Rundsendefunktionalität des Systems 100 verwenden, um andere Sensoren/Servos/Aktoren, die als Peripherievorrichtungen 108 für andere Slave-Knoten 104 wirken, abzuhören und um entsprechend zu reagieren, ohne sich auf einen Zentralprozessor (z.B. im Host 110) zu verlassen.
  • Durch wirksames Einsetzen der durch das System 100 ermöglichten verteilten Verarbeitung können künstliche Glieder und andere Robotikanwendungen eine Verarbeitung verliehen bekommen, die Muskelgedächtnis äquivalent ist, wobei die Slave-Knoten 104 den Zustand ihrer Umgebungen und ihren eigenen Zustand unabhängig verarbeiten und darauf reagieren können, ohne den Eingriff durch den Master-Knoten 102 und/oder den Host 110.
  • Künstliche Glieder
  • Verschiedene Ausführungsformen des Systems 100 können vorteilhafterweise auf die Steuersysteme angewandt werden, die oft in künstlichen/robotischen Gliedern und in der Robotik allgemein anzutreffen sind. Die Sensoren und Aktoren und solche Sensoren und Aktoren, die robotische Systeme benutzen, können als Peripherievorrichtungen 108 für Slave-Knoten 104 auf dem Bus 106 dienen. Bei einigen Ausführungsformen können diese Sensoren und Aktoren auch durch den Bus 106 wie oben besprochen mit Strom versorgt werden. Vorteilhafterweise kann Verdrahtung anstelle eines großen Bündels von Drähten auf ein verkettetes Zweidrahtsystem reduziert werden, wodurch Vorteile bezüglich Formfaktor der Robotik bereitgestellt werden.
  • Ein Beispiel ist ein robotisches Bein, bei dem das Kniegelenk Informationen von einem oder mehreren Fußsensoren benötigt und das Fußgelenk Informationen von einem oder mehreren Kniesensoren benötigt. Herkömmlicherweise würde ein zentralisierter Prozessor mit den Sensoren und Aktoren unter Verwendung vieler Drähte verbunden. Unter Verwendung des Systems 100 kann die Anzahl der Drähte von diesem herkömmlichen Ansatz aus reduziert werden, um somit schnellere lokalisierte Verarbeitung zu ermöglichen, da Informationen gemäß beliebigen der hier offenbarten Busprotokolltechniken global über den Bus 106 verteilt werden.
  • Zum Beispiel zeigt 26 ein robotisches Glied 2600 mit einem Kniegelenk 2602, einer Fußgelenkmitte 2604 und einem Fußgelenk 2606. 26 zeigt auch eine Anordnung 2608 des Systems 100, mit dem es Sensoren und Aktoren für das robotische Glied 2600 ermöglicht werden kann, Daten auf dem robotischen Glied 2600 zu übermitteln. Insbesondere kann die Anordnung 2608 einen Slave-Knoten 0 mit einer Peripherievorrichtung 108 mit einem Kniesensor, einen Slave-Knoten 1 mit einer Peripherievorrichtung 108 mit dem Knieaktor, einen Slave-Knoten 2 mit einer Peripherievorrichtung 108 mit einem Fußgelenkmittensensor, einen Slave-Knoten 3 mit einer Peripherievorrichtung 108 mit einem Fußgelenkmittenaktor, einem Slave-Knoten 4 mit einer Peripherievorrichtung 108 mit einem Fußsensor und einen Slave-Knoten 5 mit einer Peripherievorrichtung 108 mit einem Fußaktor umfassen. Durch beliebige der in den Peripherievorrichtungen 108 enthaltenen Sensoren erzeugte Daten können zu den zugeordneten Slave-Knoten 104 übermittelt werden und können dann upstream und/oder downstream übermittelt werden, um so letztendlich einen oder mehrere der anderen Slave-Knoten 104 zu erreichen (z.B. zur Verwendung beim Ansteuern beliebiger der in den Peripherievorrichtungen 108 enthaltenen Aktoren).
  • Dieselben wie oben mit Bezug auf robotische Glieder besprochenen Vorteile können auch für beliebige robotische Systeme gelten, die viele kleinere Subsysteme von Elektronik (die jeweils gewisse lokale Verarbeitung für das Subsystem ausführen) umfassen. Die Verwendung des Systems 100 in der Robotik zur Verbindung von Sensoren und Servos ist nicht auf das Verbinden von Sensoren und Aktoren beschränkt, sondern das System 100 kann verwendet werden, um beliebige geeignete elektronische Vorrichtungen zu verbinden, wie etwa Speicher, Prozessoren, Lautsprecher, Mikrofone, Lampen, Funkempfänger usw. Zum Beispiel kann das System 100 auf ein Netzwerk von Körpersensoren in einer Spielanwendung, Erforschung der Körperbewegung oder Steuerung anderer Maschinerie durch Körperbewegung angewandt werden.
  • Sensor- oder Vorrichtungsnetzwerke
  • Mit dem System 100 kann man beliebige geeignete Steuersysteme implementieren, um Verkabelung zu verringern, während eine Kommunikationsstrecke mit niedriger Latenz bereitgestellt wird. Diese Steuersysteme wären zum Beispiel Maschinerie (schwere großformatige industrielle Maschinerie), Fertigungsliniengeräte (mit vielen Steuerungen und Sensoren), Drohnen (autonome fliegende Roboter), autonome Steuersysteme, angetriebene Steuersysteme usw. In vielen dieser Steuersysteme können Vorrichtungen wie Sensoren (oder Sensorblöcke), Controller und/oder Aktoren (z.B. kleine Aktoren) synchron arbeiten, um ihre jeweiligen Funktionen bereitzustellen, und das System 100 kann eine effektive Kommunikationsstrecke mit niedriger Latenz zwischen diesen Vorrichtungen ohne übermäßige Mengen an Verdrahtung (und Gewicht) bereitstellen, während diese Vorrichtungen mit Strom versorgt werden. Sensornetzwerke allgemein können auch die Merkmale des Systems 100 ausnutzen, um die Verdrahtung zu verringern, und können auch den Bus 106 als Stromversorgungsnetzwerk für die Sensoren benutzen.
  • Verteilte Intelligenzunterstützung
  • Bei einigen Ausführungsformen können der Slave-Knoten 104 und der Host 110 jeweils Empfangs- und Sende-Postkästen zur Kommunikation untereinander umfassen, empfangen und senden. Einige Ausführungsformen können I2C für die Postkastenkommunikation verwenden; die I2C-Schnittstelle eines Slave-Knotens 104 (z.B. durch den I2C-Sendeempfänger 129 verwaltet) kann als I2C-Slave konfiguriert werden, so dass eine Verarbeitungsvorrichtung den Slave-Knoten 104 über I2C programmieren und Lesevorgänge und/oder Schreibvorgänge an den Postkästen einleiten kann.
  • Bei einigen Ausführungsformen kann der Knotensendeempfänger 120 für einen Slave-Knoten 104 Empfangs- und Sende-Register umfassen, die als Eingangs- und Ausgangs-„Postkästen“ für Kommunikation zwischen einer Verarbeitungsvorrichtung 1302 des Hosts 110 und einer Verarbeitungsvorrichtung 1302 des Slave-Knotens 104 (z.B. einer von dem Knotensendeempfänger 120 getrennten Verarbeitungsvorrichtung) verwendet werden können. Der Host 110 und der Slave-Knoten 104 können durch ein Interrupt, das beim Abschluss des Datenschreibens in den Postkasten ausgelöst wird, über Daten in ihren jeweiligen Postkästen benachrichtigt werden. Der Knotensendeempfänger 120 kann dafür ausgelegt werden, beim Abschluss eines Datenschreibens in einen relevanten Postkasten ein Interrupt für eine in dem Slave-Knoten 104 enthaltene Verarbeitungsvorrichtung 1302 zu erzeugen.
  • 27 ist eine Blockdarstellung einer Anordnung 2700, bei der ein Slave-Knoten 0 einen Knotensendeempfänger 120 mit einem Empfangspostkasten 2710 und einem Sendepostkasten 2712 umfasst, womit mit einem Empfangspostkasten 2704 und einem Sendepostkasten 2708 eines Hosts 110 (über einen Master-Knoten 102) kommuniziert werden kann. Insbesondere können dem Empfangspostkasten 2710 zugeführte Daten über ein durch den Knotensendeempfänger 120 erzeugtes Interrupt zu der Verarbeitungsvorrichtung 1302 des Slave-Knotens 0 übermittelt werden, und die Verarbeitungsvorrichtung 1302 des Slave-Knotens 0 kann den Knotensendeempfänger 120 benachrichtigen, dass sich Daten zur Übertragung zum Host 110 im Sendepostkasten 2712 befinden.
  • Der Knotensendeempfänger 120 kann eine Anzahl von Registern zur Steuerung dieser Postkästen umfassen. Bei einigen Ausführungsformen können Register MBOX0CTL und MBOX1CTL Felder bereitstellen, um diese Postkästen freizugeben und um Richtung, Nachrichtenlänge und Interrupt-Freigaben für die Postkästen zu steuern.
  • Postkasten 0 kann als Vorgabe als ein Empfangspostkasten konfiguriert werden (z.B. der Empfangspostkasten 2710, in den der Host 110 schreibt und den eine Verarbeitungsvorrichtung 1302 des Slave-Knotens 104 liest). Postkasten 1 kann als Vorgabe als ein Sendepostkasten konfiguriert werden (z.B. der Sendepostkasten 2712, in den eine Verarbeitungsvorrichtung 1302 des Slave-Knotens 104 schreibt und den der Host 110 liest).
  • Ein MBxLEN-Feld des MBOXxCTL -Registers kann die Länge des zugeordneten Postkastens definieren. Wenn dieses Feld 0 ist, kann MBOXxB0 das letzte Byte des Postkastens sein. Wenn dieses Feld 1 ist, kann MBOXxB1 das letzte Byte des Postkastens sein. Wenn dieses Feld 2 ist, kann MBOXxB2 das letzte Byte des Postkastens sein. Wenn dieses Feld 3 ist, kann MBOXxB3 das letzte Byte des Postkastens sein.
  • Für einen freigegebenen Empfangspostkasten kann, wenn ein MBxFIEN-Bit des MBOXxCTL-Registers gesetzt ist, ein Interrupt für die Verarbeitungsvorrichtung 1302 des Slave-Knotens 104 auftreten, nachdem das letzte Byte des zugeordneten Postkastens durch den Host 110 geschrieben wird und der Knotensendeempfänger 120 bestimmt, dass kein Busneuversuch notwendig war. Wenn ein MBxEIEN-Feld des MBOXxCTL-Registers gesetzt ist, kann ein Interrupt für den Host 110 auftreten, nachdem das letzte Byte des zugeordneten Postkastens durch die Verarbeitungsvorrichtung 1302 des Slave-Knotens 104 gelesen wird.
  • Für einen freigegebenen Sendepostkasten kann, wenn das MBxFIEN-Feld gesetzt ist, ein Interrupt für den Host 110 auftreten, nachdem das letzte Byte des zugeordneten Postkastens durch die Verarbeitungsvorrichtung 1302 des Slave-Knotens 104 geschrieben wird. Wenn das MBxEIEN-Feld gesetzt ist, kann ein Interrupt für die Verarbeitungsvorrichtung 1302 des Slave-Knotens 104 auftreten, nachdem das letzte Byte des zugeordneten Postkastens durch den Host 110 gelesen wird und der Knotensendeempfänger 120 bestimmt, dass kein Busneuversuch notwendig war.
  • Bei einigen Ausführungsformen können Register MBOX0STAT und MBOX1STAT Statusinformationen für die Postkästen bereitstellen. Wenn ein Postkasten gefüllt ist, kann ein zugeordnetes MBxFULL-Bit des MBOXxSTAT-Registers auf hoch gehen und das MBxEMPTY-Bit kann auf niedrig gehen. Wenn ein Postkasten geleert ist, kann ein zugeordnetes MBxEMPTY-Bit des MBOXxSTAT-Registers auf hoch gehen, und das MBxFULL-Bit kann auf niedrig gehen. Die Bit MBxEIRQ und MBxFIRQ, die in dem MBOXxSTAT-Register enthalten sind, können auf hoch gehen, wenn der zugeordnete Postkasten ein Interrupt für den Host 110 oder lokalen Prozessor (z.B. die Verarbeitungsvorrichtung 1302 des Slave-Knotens 104) signalisiert, und kann auf niedrig gehen, wenn das Interrupt durch den Host 110 oder lokalen Prozessor verarbeitet wird.
  • Bei einigen Ausführungsformen können Register MBOX0Bn und MBOX1Bn Postkastendaten enthalten. Jeder Postkasten kann in einigen Beispielen bis zu 32 Bit Daten halten. Ein MBxLEN-Feld in dem MBOXxBn-Register kann die Anzahl aktiver Byte im Postkasten definieren. Bei einigen Ausführungsformen kann jeder Postkasten 8-, 16-, 24- oder 32-Bit-Nachrichten unterstützen.
  • Sensorunterstützung
  • Bei einigen Fahrzeuganwendungen kann das System 100 eine Anordnung von Slave-Knoten 104 auf dem Bus 106 zur Verbindung von zwei Mikrofonen umfassen, die sich auf der linken bzw. rechten Seite des Fahrgastraums befinden, sowie einen Umgebungssensor, der mit einem Slave-Knoten 104 auf dem Bus 106 gekoppelt und zwischen den Mikrofonen und in der Nähe der Windschutzscheibe positioniert ist. Der Umgebungssensor kann Temperatur und Feuchtigkeit (z.B. für Kondensschutz- und Klimatisierungsfunktionen) und/oder Umgebungsgase (z.B. Ammoniak, Kohlenmonoxid, Stickstoffdioxid) zum Luftumleiten zur Verbesserung des Passagierkomforts messen. Die Mikrofone können zum Beispiel MEMS-Mikrofonarrays (mikroelektromechanische Systeme) sein.
  • Bei einigen Ausführungsformen umfasst der Knotensendeempfänger 120 eines Slave-Knotens 104 einen Peripherievorrichtungs-Kommunikationsschaltkreis (z.B. den I2S/TDM/PDM-Sendeempfänger 127, den I2C-Sendeempfänger 129 und/oder einen oder mehrere GPIO-Pins mit Interrupt-Anforderungsfähigkeit) in Kommunikation mit einem Umgebungssensor (wie etwa einem Feuchtigkeitssensor, Temperatursensor und/oder Gassensor) in einem Fahrzeug. Bei einigen Ausführungsformen kann der Host 110 eine Steueranweisung für ein Klimatisierungssystem im Fahrzeug auf der Basis von Daten von einem Umgebungssensor erzeugen, die über einen Slave-Knoten 104, den Bus 106 und den Master-Knoten 102 zum Host 110 übertragen werden. Zum Beispiel zeigt 28 eine Anordnung 2800 des Systems 100, bei der ein Slave-Knoten 0 (auf der linken Seite des Fahrgastraums) eine Peripherievorrichtung 108 mit einem Mikrofon und einem Lautsprecher aufweist, ein Slave-Knoten 1 (in der Nähe einer Windschutzscheibe 2802) eine Peripherievorrichtung 108 mit einem Feuchtigkeits- und/oder Temperatursensor aufweist, ein Slave-Knoten 2 eine Peripherievorrichtung 108 mit einem Gassensor aufweist und ein Slave-Knoten 3 (auf der rechten Seite des Fahrgastraums) eine Peripherievorrichtung 108 mit einem Mikrofon und einem Lautsprecher aufweist.
  • Wenn Mikrofone in Fahrzeugen auf der linken und rechten Seite des Fahrgastraums (z.B. zur Geräuschminderung und/oder Strahlformung) enthalten sind, kann die zum Koppeln dieser Mikrofone verwendete Verkabelung durch Zwischen-Slave-Knoten 104 unterbrochen werden, die mit den Peripherievorrichtungen gekoppelt sind, die Klimatisierungsfunktionen (HVAC-Funktionen (Heating Ventilation and Air Conditioning) und/oder Luftüberwachungsfunktionen) in der Nähe des Windschutzscheibenbereichs ausführen. In einigen Szenarien kann eine Peripherievorrichtung für einen Slave-Knoten 104 einen Feuchtigkeits- und/oder Temperatursensor umfassen, der Feuchtigkeits- und/oder Temperaturinformationen bereitstellen kann, die die Messung des Taupunkts an der Windschutzscheibenoberfläche gestattet und Vorhersagen von Windschutzscheibenkondensation ermöglichen , so dass das HVAC-System im Fahrzeug „gerade rechtzeitig“ arbeiten kann, um Beschlagen der Scheiben zu verhindern. Ein solches System kann gegenüber „immer eingeschalteten“ oder manuell gesteuerten HVAC-Systemen sowohl Energie sparen als auch die Sicherheit während des Fahrzeugbetriebs verbessern, indem Beschlagen der Windschutzscheibe vermieden wird. Ein Beispiel für einen Feuchtigkeits- und/oder Temperatursensor, der bei einigen Ausführungsformen verwendet werden kann, ist der von Measurement Specialties in Hampton, Virginia, USA, hergestellte HTU21D-Sensor. Ähnlich können Daten, die durch einen Gassensor erzeugt werden, der die Anwesenheit unerwünschter Chemikalien in der Luft des Fahrzeugfahrgastraums detektiert, verwendet werden, um Betrieb des HVAC-Systems im Fahrzeug auszulösen, um die Ventilation zu verbessern und die Chemikalienkonzentration zu verringern. Ein Beispiel für einen Gassensor, der bei einigen Ausführungsformen verwendet werden kann, ist der von SGX Sensortech in der Schweiz hergestellte Sensor MiCS-6814.
  • Integrierter Beschleunigungsmesser
  • Bei einigen Ausführungsformen kann ein Slave-Knoten 104 mit einer Peripherievorrichtung 108 assoziiert sein, die einen in dieselbe Platine wie der Knotensendeempfänger 120 (z.B. der Upstream-Sendeempfänger 122 und/oder der Downstream-Sendeempfänger 124) integrierten Beschleunigungsmesser (z.B. einen Mehrachsen-Beschleunigungsmesser) umfasst. Audioeingänge und -ausgänge, wie etwa Mikrofone und Lautsprecher, können auch mit derselben Platine gekoppelt sein. Eine Anwendung für eine solche Ausführungsform kann Straßengeräuschlöschung sein, bei der die Vibration des Chassis gemessen und das Geräusch durch die Audiokomponentenausgelöscht wird .
  • Testgeräteunterstützung
  • Bei einigen Ausführungsformen kann ein Knotensendeempfänger 120 in einem „Busmonitormodus“ oder „BMM“ konfiguriert sein, bei dem der Knotensendeempfänger 120 Upstream- und/oder Downstream-Aktivität auf einem Segment des Busses 106 sowohl auf Master- als auch auf Slave-Knoten-Verhalten (z.B. welche Signale von Master und/oder Slave kommen und/oder zu ihm gehen) überwacht. Bei einigen Ausführungsformen überwacht der Upstream-Sendeempfänger 122 des Knotensendeempfängers 120 Daten, die downstream kommen, und stellt diese einem Protokollanalysator (z.B. über einen I2S-Bus unter Verwendung des I2S/TDM/PDM-Sendeempfängers 127) zu. Ein im Busmonitormodus arbeitender Knotensendeempfänger 120 kann hier als „Busmonitor“ oder „BM“ bezeichnet werden. In diesem Modus kann der Downstream-Sendeempfänger 124 des Knotensendeempfängers 120 gesperrt werden. Ein Busmonitor kann nicht mit anderen Slave-Knoten 104 verkettet werden, kann aber das Paar von Drähten gerade upstream eines zu überwachenden Slave-Knotens 104 anzapfen und kann durch den Master-Knoten 102 entdeckt werden, obwohl er nicht über alle Funktionalität eines Knotensendeempfängers 120 in einem typischen Slave-Knoten 104 verfügt. Der Busmonitor kann anfänglich durch einen Prozessor konfiguriert werden, der mit dem Busmonitor kommuniziert (z.B. über ein I2C-Protokoll).
  • Somit kann bei einigen Ausführungsformen ein als Busmonitor wirkender Knotensendeempfänger 120 einen Peripherievorrichtungs-Kommunikationsschaltkreis (z.B. den I2S/TDM/PDM-Sendeempfänger 127, den I2C-Sendeempfänger 129 und/oder einen oder mehrere GPIO-Pins mit Interrupt-Anforderungsfähigkeit) umfassen, um ein über den Bus 106 von einer Upstream-Vorrichtung empfangenes Signal einem Protokollanalysator bereitzustellen. Bei einigen Ausführungsformen kann der Downstream-Sendeempfänger 124 eines im Busmonitormodus arbeitenden Knotensendeempfängers 120 gesperrt sein. Der Upstream-Sendeempfänger 122 kann dafür ausgelegt sein, Daten nur zu empfangen, nicht zu senden.
  • 29 ist eine Blockdarstellung einer Anordnung 2900 von Elementen des Systems 100 und eines Busmonitors gemäß verschiedenen Ausführungsformen. In der Anordnung 2900 kann eine Busmonitorvorrichtung 2902 einen Busmonitor 2906 und eine über I2C und/oder I2S (z.B. unter Verwendung des I2S/TDM/PDM-Sendeempfängers 127 und/oder des I2C-Sendeempfängers 129 des Busmonitors) mit dem Busmonitor 2906 in Kommunikation befindliche Verarbeitungsvorrichtung 2908 umfassen. Die Verarbeitungsvorrichtung 2908 kann die Form beliebiger der oben mit Bezug auf 13 besprochenen Verarbeitungsvorrichtungen 1302 annehmen. Der BMM 2906 kann die zwei Drähte des Busses 106 gerade upstream des Slave-Knotens 1 anzapfen, und zwischen dem BMM 2906 und dem Bus 106 kann ein Isolationsschaltkreis 2904 angeordnet sein. Der Isolationsschaltkreis 2904 kann einen analogen Schaltkreis zum Isolieren des Busses 106 von der Last des BMM 2906 umfassen.
  • Bei einigen Ausführungsformen kann der Busmonitormodus einem Knotensendeempfänger 120 ermöglichen, als passiver BM zu wirken, der hier auch als Sniffer bezeichnet wird. Ein BM kann seinen I2S-Port zum Senden von Verkehr von dem Bus 106 zu einem Protokollanalysator verwenden. Ein BM kann insofern passiv in dem System 100 sein, als er Steuerschreibvorgänge des Bussynchronisationssteuerrahmens 180 untersucht, um seine Buseigenschaften so zu konfigurieren, dass sie mit denen des Slave-Knotens 104 übereinstimmen, den der BM überwacht, reagiert aber nicht auf Synchronisationssteuerrahmen 180.
  • Der Upstream-Sendeempfänger 122 kann sowohl Upstream- als auch Downstream-Daten sehen, da der BM nicht verkettet ist. Bei einigen Ausführungsformen kann beim Empfang von Downstream-Daten über den Upstream-Sendeempfänger 122 ein BM einen empfangenen Synchronisationssteuerrahmen 180 und seine entsprechenden Downstream-Datenschlitze 198 in einem Downstream-Rahmenpuffer laden. Bei einigen Ausführungsformen kann ein BM beim Empfang von Upstream-Daten über den Upstream-Sendeempfänger 122 einen empfangenen Synchronisationsantwortrahmen und seine entsprechenden Upstream-Datenschlitze in einen Upstream-Rahmenpuffer laden. Der BM kann sowohl Downstream- als auch Upstream-Daten zur Bereitstellung für einen Protokollanalysator (z.B. die Verarbeitungsvorrichtung 2908) dem I2S/TDM/PDM-Sendeempfänger 127 zuführen.
  • Der Knotensendeempfänger 120 kann ein oder mehrere Register zur Unterstützung des BMM umfassen. Bei einigen Ausführungsformen kann der Knotensendeempfänger 120 ein BMMCFG-Register umfassen. Das BMMCFG-Register kann ein BMMEN-Bit (zur Angabe, ob der Knotensendeempfänger 120 im BMM arbeiten soll oder nicht), ein BMMRXEN-Bit (zum Freigeben oder Sperren des Upstream-Sendeempfängers 122, wenn sich der Knotensendeempfänger im BMM befindet) und einen BMMNDSC-Knoten (zur Angabe, ob die Herauffahr- und Entdeckungsprozesse des Systems 100 stattfinden sollen, bevor oder nachdem der BM angeschlossen und freigegeben ist) umfassen.
  • 30 ist ein Flussdiagramm eines Verfahrens 3000 zum Beginnen des Betriebs eines BM gemäß verschiedenen Ausführungsformen. Das Verfahren 3000 kann durch die Verarbeitungsvorrichtung 2908 in der Busmonitorvorrichtung 2902 ausgeführt werden und kann als mit Bezug auf den BM 2906 ausgeführt beschrieben werden.
  • In 3002 kann die Verarbeitungsvorrichtung 2908 BMM in dem BM 2906 freigeben. Vor dem Freigeben des BMM kann der BM 2906 als Vorgabe zu einer Standardkonfiguration für den Knotensendeempfänger 120 kommen. Freigeben des BMM in 3002 kann Setzen des oben besprochenen BMMEN-Bit umfassen.
  • In 3004 kann die Verarbeitungsvorrichtung 2908 nach Anschluss des BM an die Strecke des Busses 106 upstream eines zu überwachenden Slave-Knotens 104 (z.B. des Slave-Knotens 1 von 29) den Upstream-Sendeempfänger 122 in dem BM 2906 freigeben. Freigeben des Upstream-Sendeempfängers 122 in 3004 kann Setzen des oben besprochenen BMMRXEN-Bit umfassen.
  • In 3006 kann die Verarbeitungsvorrichtung 2908 den I2S/TDM/PDM-Sendeempfänger 127 des BM 2906 zur Übertragung unter Verwendung von über den I2C-Sendeempfänger 129 gesendeten Befehlen konfigurieren.
  • In 3008 kann, nachdem der BM 2906 durch den Host 110 entdeckt ist und der PLL 128 des BM 2906 einrastet, die Verarbeitungsvorrichtung 2908 über den I2S/TDM/PDM-Sendeempfänger 127 des BM 2906 Daten von dem Bus 106 empfangen. Wie bereits erwähnt, kann der BM 2906 Steuerschreibvorgänge des Bussynchronisationssteuerrahmens 180 untersuchen, um seine Buseigenschaften (z.B. die Werte von DNSLOTS und UPSLOTS) so zu konfigurieren, dass sie mit denen des Slave-Knotens 104, der überwacht wird (z.B. des Slave-Knotens 1 von 29) übereinstimmen.
  • Ein BM kann das Segment des Busses 106, an das es angeschlossen ist, herausfinden und kann auch die Konfiguration des Downstream-Slave-Knotens 104 erfahren, wenn dem BM erlaubt ist, den Bus 106 während der Entdeckung zu überwachen. Einige überwachte Parameter können für den gesamten Bus 106 (z.B. alle Slave-Knoten 104), einige für den unmittelbar downstream befindlichen Slave-Knoten 104 und einige für weiter downstream liegende Slave-Knoten 104 gelten. Der BM kann die Entdeckung überwachen, die Parameter von einer neueren Entdeckung speichern, bekannte Einstellungen verwenden oder verschiedene Parametervarianten versuchen, bis erfolgreiche Decodierung erzielt wurde (z.B. Musikdaten erfolgreich decodiert wurden).
  • Bei einigen Ausführungsformen können die downstream auf dem Bus 106 übertragenen Nutzinformationen nur untersucht werden, wenn der Host 110 diese Funktionalität mit einer Steueranweisung freigibt, die mittels des Master-Knotens 102 zu einem Slave-Knoten 104 weitergeleitet wird, der als BM wirken soll. Bei einigen solchen Ausführungsformen kann, wenn der BM nicht entsprechend mittels des Master-Knotens 102 konfiguriert wird, der BM nur Synchronisationssteuer- und Antwortrahmendaten ausgeben („sniffen“), aber nicht die Nutzinformationen in den Datenschlitzen. Dies kann einen gewissen Grad an Inhaltsschutz bereitstellen, da die Daten verwürfelt sind und ein BM nur auf die Nutzinformationsdaten zugreifen kann, wenn es der Host 110 erlaubt.
  • Kommunikation von GPIO zu GPIO
  • Bei einigen Ausführungsformen kann ein Knotensendeempfänger 120 mittels GPIO (General-Purpose Input or Output) als Eingang oder Ausgang für allgemeine Zwecke die Kommunikation zwischen mehreren Knotensendeempfängern 120 ohne Eingriff des Hosts 110 nach anfänglicher Programmierung unterstützen. Bei einigen solchen Ausführungsformen kann der Host 110 nur für das anfängliche Einrichten virtueller Ports der Knotensendeempfänger 120 erforderlich sein.
  • Bei einigen Ausführungsformen kann eine Anzahl von virtuellen Ports (z.B. 8 virtuelle Ports) verwendet werden. Der Master-Knoten 102 kann die virtuellen Ports (die auch als „GPIO-Busports“, „virtuelle Portabbilder“ oder „virtuelle Portspiegel“ bezeichnet werden können) verwalten und der Zustand ist zu sehen, indem man ein (nachfolgend besprochenes) GPIODDAT-Register von dem Master-Knoten 102 liest. Es kann eine Anzahl von Registern (z.B. 10 oder 11 Register) verwendet werden, um es jedem Knotensendeempfänger 120 (z.B. dem Slave-Knoten 104) zu erlauben, GPIO-Pins auf virtuelle Ports abzubilden. Bei einigen Ausführungsformen können GPIO-Pins Eingänge (die virtuelle Ports ändern können) oder Ausgänge (die virtuelle Ports widerspiegeln können) sein. Bei einigen Ausführungsformen können mehrere virtuelle Ports auf einem GPIO-Ausgangspin abgebildet werden (wobei z.B. die Werte miteinander OR-verknüpft werden). Bei einigen Ausführungsformen können mehrere GPIO-Eingangspins auf einen virtuellen Port abgebildet werden. Zum Beispiel können mehrere GPIO-Eingangspinwerte miteinander OR-verknüpft werden, selbst wenn sie von mehreren Knotensendeempfängern 120 kommen.
  • 31-43 zeigen verschiedene Beispiele für GPIO-zu-GPIO-Kommunikationssysteme und -techniken. Beliebige der in diesen Figuren dargestellten oder nachfolgend mit Bezug auf diese besprochenen Ausführungsformen können mit beliebigen der anderen hier offenbarten Ausführungsformen kombiniert werden. Die Verwendung oder Darstellung bestimmter Anzahlen von Elementen in diesen Figuren (z.B. 8 Bit in einem GPIODEN-Register, wie in 31 dargestellt) sind lediglich Beispiele, und die Systeme und Techniken können auf eine beliebige gewünschte und geeignete Anzahl von beliebigen Elementen angewandt werden oder diese integrieren. Außerdem können hier der Klarheit halber konkrete Namen für Register, Variablen, Datenschlitze usw. verwendet werden, aber beliebige wie hier beschrieben verwendete Datenstrukturen können beliebige geeignete Namen oder andere Kennungen aufweisen.
  • Bei einigen Ausführungsformen können Register oder andere Datenstrukturen verwendet werden, um Daten in Bezug auf GPIO-zu-GPIO-Funktionalität zu speichern. Nachfolgend werden verschiedene beispielhafte Register und ihre Funktionsweise mit Bezug auf 31-34 besprochen. Zum Beispiel zeigt 31 ein Beispiel für ein Register zur GPIO-über-Distanz-Freigabe (GPIODEN), das ein Freigabebit für jeden GPIO-Pin eines Knotensendeempfängers 120 bereitstellen kann. Setzen eines dieser Bit kann es dem lokalen Knotensendeempfänger 120 ermöglichen, einen GPIO-Pin auf einen oder mehrere virtuelle Ports abzubilden. Bei einigen Ausführungsformen muss der Pin für GPIO gemäß der nachfolgenden Tabelle 1 verfügbar sein. Bei einigen Ausführungsformen ist, wenn IOxOEN in einem GPIOOEN-Register (wobei ein Bit IOxOEN jedem Vielzweck-IO-Pin x entspricht) gesetzt ist, der Pin ein Ausgang für GPIO über Distanz. Andernfalls ist der Pin ein Eingang für GPIO über Distanz. Bei einigen Ausführungsformen muss es nicht notwendig sein, IOxIEN (in einem GPIOIEN-Register, analog zum GPIOOEN-Register konfiguriert) zu setzen. Tabelle 1. Bestimmen von Pinverfügbarkeit für GPIO
    IO-Bit Pinname Pin für GPIO in Master verfügbar Pin für GPIO in Slave verfügbar
    IO0 IRQ/IO0 Niemals Immer
    IO1 ADR1/IO1 Immer Immer
    IO2 ADR2/IO2 wenn CCLKEN==0 wenn CCLKEN==0
    IO3 DTX0 wenn TX0EN==0 wenn TX0EN==0
    IO4 DTX1 wenn TX1EN==0 wenn TX1EN==0
    IO5 DRX0 wenn RX0EN==0 & PDM0EN==0 wenn RX0EN==0 & PDM0EN==0
    IO6 DRX1 wenn RX1EN==0 & PDM1EN==0 wenn RX1EN==0 & PDM1EN==0
    IO7 IO7 Immer Immer
  • 32 zeigt ein Beispiel für ein GPIO-über-Distanz-Masken-Register (GPIODnMSK), das die Abbildungsfunktion zwischen GPIO-Pins und virtuellen Ports in einem Knotensendeempfänger 120 steuern kann. Bei einigen Ausführungsformen aktualisiert der lokale Knotensendeempfänger 120, wenn der GPIO-Pin ein Eingang ist, den virtuellen Port, der dem IODnMSK-Bit entspricht, das hoch ist. Wenn der PGIO-Pin ein Ausgang ist, können die virtuellen Ports, die den lODnMSK-Bit entsprechen, die hoch sind, miteinander OR-verknüpft werden, um den GPIO-Ausgangswert zu produzieren.
  • 33 zeigt ein Beispiel für ein GPIO-über-Distanz-Daten-Register (GPIODDAT), das die Werte der virtuellen Ports eines Knotensendeempfängers 120 bereitstellen kann. Bei einigen Ausführungsformen kann dieses Register nur gelesen werden. Bei einigen Ausführungsformen kann der Host 110 dieses Register von dem Master-Knoten 102 immer lesen.
  • 34 zeigt ein Beispiel für ein GPIO-über-Distanz-Inversions-Register (GPIODINV), das Invertierung von GPIO-Pins als Eingänge oder Ausgänge ermöglichen kann. Die Invertierung kann auf dem Weg herein von dem Pin angewandt werden, wenn der GPIO-Pin ein Eingang eines virtuellen Ports ist. Die Invertierung kann auf dem Weg hinaus zum GPIO-Pin angewandt werden, wenn der Pin ein Ausgang eines virtuellen Ports ist. Wenn mehrere Knotensendeempfänger 120 denselben virtuellen Port aktualisieren, kann man mit den GPIODINV-Registereinstellungen das Verhalten von verdrahtetem OR in verdrahtetes AND umändern. Um zum Beispiel ein verdrahtetes AND mehrerer Aktiv-Hoch-GPIO-Bit zu erzeugen, sollten die GPIO-Eingänge und der GPIO-Ausgang invertiert werden.
  • Bei einigen Ausführungsformen können, wenn mehr als ein Knotensendeempfänger 120 einen GPIO-Eingang aufweist, der auf denselben virtuellen Port abgebildet wird, die Eingangspins als ein verdrahtetes OR in dem virtuellen Port behandelt werden. Wenn der virtuelle Port niedrig (inaktiv) ist, kann jede Anforderung zum Setzen des virtuellen Ports zu einem Rundsende-Schreiben von dem Master-Knoten 102 führen, das alle GPIODDAT-Register über die Knotensendeempfänger 120 der Slave-Knoten 104 im System hinweg aktualisiert. Wenn der virtuelle Port hoch (aktiv) ist, führt jede Anforderung des Löschens des virtuellen Ports zu einem Spezialbefehl vom Master-Knoten 102, der es allen Slave-Knoten 104 erlaubt, über die Anforderung abzustimmen. Wenn irgendwelche der Slave-Knoten 104 die Anforderung zurückweisen, erfährt der Master-Knoten 102 die Zurückweisung der Anforderung und die GPIODDAT-Register behalten ihre Werte. Wenn keine der Slave-Knoten 104 die Anforderung zurückweisen, erfährt der Master-Knoten 102 eine Annahme der Anforderung und lässt den aktualisierten GPIODDAT-Wert folgen.
  • 35 zeigt einen beispielhaften Automaten zum Verwalten von GPIODDAT-Aktualisierungen. Bei einigen Ausführungsformen kann der Automat durch den Master-Knoten 102 oder durch eine beliebige andere geeignete Vorrichtung im System 100 ausgeführt werden. Der Klarheit halber wird der Automat von 35 nachfolgend als durch den Master-Knoten 102 ausgeführt besprochen. Von dem Leerlaufzustand 3502 aus kann der Master-Knoten 102 zu dem Prüfzustand 3504 übergehen, wenn der Master-Knoten 102 bestimmt, einen Bus-GPIO-Port zu löschen oder der Master-Knoten 102 zusammen mit einer Anforderung des Löschens eines Bus-GPIO-Ports einen Synchronisationsantwortrahmen (SRF) empfängt. Der Master-Knoten 102 kann im Prüfzustand 3504 bleiben, bis eine Bestätigung (ACK) oder Nichtbestätigung (NACK) empfangen wird; wenn ein NACK empfangen wird (was bedeutet, dass mindestens ein Slave-Knoten 104 nicht „zugestimmt“ hat, den Bus-GPIO-Port zu löschen), kann der Master-Knoten 102 zum Leerlaufzustand 3502 zurückkehren, ohne den Bus-GPIO-Port zu ändern. Wenn kein NACK sondern ein ACK empfangen wird, während sich der Master-Knoten 102 im Prüfzustand befindet, kann der Master-Knoten 102 zum Aktualisierungszustand 3506 übergehen und den neuen Wert Rundsende-Schreiben. Der Master-Knoten 102 kann im Aktualisierungszustand 3506 bleiben, bis die Aktualisierung bestätigt wird; nachdem die Aktualisierung bestätigt ist, kann der Master-Knoten 102 zum Leerlaufzustand 3502 zurückkehren. Vom Leerlaufzustand 3502 aus kann der Master-Knoten 102 direkt zum Aktualisierungszustand 3506 übergehen, wenn der Master-Knoten 102 bestimmt, einen Bus-GPIO-Port zu setzen, oder der Master-Knoten 102 zusammen mit der Anforderung des Setzens eines Bus-GPIO-Ports einen Synchronisationsantwortrahmen (SRF) empfängt (ohne den Prüfzustand 3504 zu durchlaufen).
  • Das folgende Beispiel zeigt ein konkretes Benutzungsszenario für die hier beschriebene GPIO-über-Distanz-Funktionalität. Vom DRX1-Pin des Master-Knotens zum ADR1/IO1-Pin des Slave-Knotens 2:
    • • Schreiben von 0x04 in das Master-Knoten-GPIOD6MSK zur Abbildung von DRX1 auf den virtuellen Port 2
    • • Schreiben von 0x40 in das Master-Knoten-GPIODEN zum Ermöglichen von GPIO-über-Distanz-Zugriff auf DRX1
    • • Schreiben von 0x02 in die 2 GPIOOEN von Slave-Knoten 2 zum Freigeben von GPIO-Ausgabe für ADR1/IO1
    • • Schreiben von 0x04 in 2 GPIOD2MSK von Slave-Knoten 2, um den virtuellen Port 2 auf ADR1/IO1 abzubilden
    • • Schreiben von 0x02 in 2 GPIODEN von Slave-Knoten 2 zum Freigeben von GPIO-über-Distanz-Zugriff auf ADR1/IO1
    • • Immer wenn DRX1 an dem Master-Knoten 102 einen Übergang vollzieht, kann der Master-Knoten 102 den Automaten von 35 durchlaufen
    • • Immer wenn Slave-Knoten 2 ein Rundsende-Schreiben in GPIODDAT erfährt, wird der Wert von Bit 2 von GPIODDAT auf den ADR1/IO1 Pin gesteuert
  • Vom DTX1-Pin des Slave-Knotens 1 zum ADR1/IO1-Pin des Master-Knotens 102:
    • • Schreiben von 0x10 in 1 GPIOD4MSK von Slave-Knoten 1 zum Abbilden von DTX1 auf den virtuellen Port 4
    • • Schreiben von 0x10 in GPIODEN von Slave-Knoten 1 zum Freigeben von GPIO-über-Distanz-Zugriff auf DTX1
    • • Schreiben von 0x02 in GPIOOEN des Master-Knotens 102 zum Freigeben von GPIO-Ausgabe für ADR1/IO1
    • • Schreiben von 0x10 in GPIOD2MSK des Master-Knotens 102 zum Abbilden des virtuellen Ports 4 auf ADR1/IO1
    • • Schreiben von 0x02 in GPIODEN des Master-Knotens 102 zum Freigeben von GPIO-über-Distanz-Zugriff auf ADR1/IO1
    • • Immer wenn DTX1 auf Slave-Knoten 1 den Übergang vollzieht, kann Slave-Knoten 1 einen speziellen Synchronisationsantwortrahmen (SRF) senden, der eine Änderung auf dem virtuellen Port 4 und eine Änderungsrichtung (setzen oder löschen) angibt
    • • Immer wenn der Master-Knoten diesen speziellen Synchronisationsantwortrahmen (SRF) empfängt, kann er den Automaten von 35 durchlaufen
    • • Wenn Slave-Knoten 1 die Prüfung des aktualisierten Werts von GPIODDAT empfängt, kann er die Änderung an dem virtuellen Port 4 als durchgeführt markieren
  • Von ADR1/IO1-Pins an den Slave-Knoten 0 bis 2 zum ADR1/IO1-Pin des Master-Knotens 102:
    • • Schreiben von 0x01 in GPIOD2MSK von Slave-Knoten 2 zum Abbilden von ADR1/IO1 auf den virtuellen Port 0
    • • Schreiben von 0x02 in GPIODEN des Slave-Knotens 2 zum Freigeben von GPIO-über-Distanz-Zugriff auf ADR1/IO1
    • • Schreiben von 0x01 in GPIOD2MSK von Slave-Knoten 1 zum Abbilden von ADR1/IO1 auf den virtuellen Port 0
    • • Schreiben von 0x02 in GPIODEN des Slave-Knotens 1 zum Freigeben von GPIO-über-Distanz-Zugriff auf ADR1/IO1
    • • Schreiben von 0x01 in GPIOD2MSK des Slave-Knotens 0 zum Abbilden von ADR1/IO1 auf den virtuellen Port 0
    • • Schreiben von 0x02 in GPIODEN des Slave-Knotens 0 zum Freigeben von GPIO-über-Distanz-Zugriff auf ADR1/IO1
    • • Schreiben von 0x02 in GPIOOEN des Master-Knotens 102 zum Freigeben von GPIO-Ausgabe für ADR1/IO1
    • • Schreiben von 0x01 in GPIOD2MSK des Master-Knotens 102 zum Abbilden des virtuellen Ports 0 auf ADR1/IO1
    • • Schreiben von 0x02 in GPIODEN des Master-Knotens 102 zum Freigeben von GPIO-über-Distanz-Zugriff auf ADR1/IO1
    • • Immer wenn der Master-Knoten 102 einen Synchronisationsantwortrahmen (SRF) empfängt, der eine Änderung an dem virtuellen Port angibt, kann er den Automaten von 35 durchlaufen
    • • Wenn ein Rundsende-Schreiben in GPIODDAT mit einem ACK abgeschlossen wird, kann der Wert von GPIODDAT im Master-Knoten 102 aktualisiert werden, und der Wert von Bit 0 kann auf dem ADR1/IO1-Pin widergespiegelt werden
  • 36 und 37 zeigen Beispiele für Systemverhalten, wobei mehrere Slave-Knoten 104 als Eingaben in den virtuellen Port 0 abgebildet werden und der Master-Knoten 102 als eine Ausgabe von dem virtuellen Port 0 abgebildet wird. in 36 fordert Slave-Knoten 0 ein Löschen des virtuellen Ports 0 an, das zurückgewiesen wird. Insbesondere geht der GPIO-Pin auf Slave-Knoten 0 von hoch zu niedrig, ein Synchronisationsantwortrahmen (SRF) mit einer Löschanforderung wird durch Slave-Knoten 0 erzeugt. Der Master-Knoten 102 geht zum Prüfzustand (gemäß dem in 35 dargestellten Automaten) und sendet einen Synchronisationssteuerrahmen (SCF), um zu prüfen, ob Port 0 gelöscht werden kann. Diese Anforderung wird durch Slave-Knoten 2 zurückgewiesen, weil der GPIO-Eingangspin hoch ist.
  • In 37 fordert Slave-Knoten 2 ein Löschen des virtuellen Ports 0 an, das angenommen wird. Nachdem der GPIO-Pin an Slave-Knoten 2 von hoch zu niedrig geht, wird ein Synchronisationsantwortrahmen (SRF) mit einer Löschanforderung durch Slave-Knoten 2 erzeugt. Der Master-Knoten 102 geht zum Prüfzustand (gemäß dem in 35 dargestellten Automaten) und sendet einen Synchronisationssteuerrahmen (SCF), um zu prüfen, ob Port 0 gelöscht werden kann. Diese Anforderung wird angenommen und der Master-Knoten 102 geht zum Aktualisierungszustand. Nachdem das Rundsende-Schreiben von GPIODDAT abgeschlossen ist, geht der Ausgangs-GPIO-Pin an dem Master-Knoten 102 von hoch zu niedrig.
  • Die verschiedenen Ausführungsformen von GPIO-über-Distanz-Funktionalität zugrundeliegende Logik kann eine beliebige einer Anzahl von Formen annehmen. Zum Beispiel stellt 38 eine Visualisierung auf Systemebene von GPIO-über-Distanz-Logik wie hier besprochen bereit. 39 und 40 zeigen beispielhafte GPIODnMSK-Crossbars für GPIO-über-Distanz-Eingangs- bzw. Ausgangspins, wie hier besprochen.
  • Wie oben besprochen, kann GPIO-über-Distanz-Funktionalität OR-Logik umfassen, die Eingangspins von verschiedenen Slave-Knoten 104 zu einem virtuellen Port (z.B. einem virtuellen 8-Bit-Port) kombiniert. In jedem Slave-Knoten 104 kann ein Bit von dem virtuellen Port für jeden Ausgangspin ausgewählt werden. AND-Logik kann durch Invertieren von Eingängen und Ausgängen erzielt werden, wie oben besprochen. 41 zeigt beispielhafte GPIO-über-Distanz-Funktionalität in einer beispielhaften Anordnung des Master-Knotens 102 und der Slave-Knoten 104. In der Anordnung von 41 weist jeder der Slave-Knoten 0, 1 und 2 als Teil seiner zugeordneten Peripherievorrichtungen 108 einen Lautsprecher auf. Die Slave-Knoten 0,1 und 2 können separat Übersteuerungssignale von ihren Lautsprechern zum Host 110 (z.B. einen Datenspeicher) über GPIO-über-Distanz senden und der Host 110 kann gleichzeitig ein Stummschaltungssignal zu allen Lautsprechern der Slave-Knoten 0, 1 und 2 senden. Bei einigen Ausführungsformen kann Latenz von GPIO zu GPIO 3 Audiotaktzyklen oder weniger (z.B. 62,5 Mikrosekunden oder weniger) betragen.
  • 42 und 43 zeigen verschiedene GPIODnMSK- und GPIODINV-Einstellungen und ihre Auswirkungen auf die Werte von GPIOOEN für verschiedene Beiträge von Slave-Knoten 104. In 42 ist die „0“ an dem virtuellen Port, Bit 0, eine Konsequenz der „niedrigen“ Eingabe an GPIO-Pin 2, des nichtinvertierenden Bit „0“ an Position 2 in GPIODINV, der eingabefreigebenden „0“ in Position 2 von GPIOOEN und der „1“ an Position 0 in GPIOD2MSK. Die „1“ an dem virtuellen Port, Bit 1, ist eine Konsequenz der „hohen“ Eingabe an GPIO-Eingangspin 4, des invertierenden Bit „1“ an Position 4 in GPIODINV, der eingabefreigebenden „0“ in Position 4 von GPIOOEN und der „1“ an Position 1 in GPIOD4MSK. Die „1“ an dem virtuellen Port Bit 2, ist eine Konsequenz der „niedrigen“ Eingabe an GPIO-Eingangspin 7, des invertierenden Bit „1“ an Position 7 in GPIODINV, der eingabefreigebenden „0“ in Position 7 von GPIOOEN und der „1“ an Position 2 in GPIOD7MSK.
  • 43 fügt die Ausgangspins zu den Eingangspineinstellungen von 42 hinzu. Insbesondere ist die „niedrige“ Ausgabe an GPIO-Pin 0 eine Konsequenz der „0“ an dem virtuellen Port, Bit 3, der „1“ in Position 3 von GPIOD0MSK, der ausgabefreigebenden „1“ in Position 0 von GPIOOEN und der nichtinvertierenden „0“ an Position 0 von GPIODINV. Die „hohe“ Ausgabe an GPIO-Pin 3 ist eine Konsequenz der „1“ an dem virtuellen Port, Bit 4, der „1“ in Position 4 von GPIOD3MSK, der ausgabefreigebenden „1“ in Position 3 von GPIOOEN und der nichtinvertierenden „0“ an Position 3 von GPIODINV. Die „niedrige“ Ausgabe an GPIO-Pin 5 ist eine Konsequenz der „1“ an dem virtuellen Port, Bit 4, der „1“ in Position 4 von GPIOD5MSK, der ausgabefreigebenden „1“ in Position 5 von GPIOOEN und der invertierenden „1“ an Position 5 von GPIODINV. Bei einigen Ausführungsformen von GPIODnMSK muss der Pin für GPIO verfügbar (z.B. nicht für I2S/TDM oder PDM benutzt) sein.
  • Beliebige der hier beschriebenen Ausführungsformen können in einer beliebigen gewünschten Kombination mit GPIO-zu-GPIO-Kommunikationsfunktionalität gemäß beliebigen der hier offenbarten Ausführungsformen kombiniert werden.
  • Die folgenden Absätze geben Beispiele für verschiedene der hier offenbarten Ausführungsformen.
  • Beispiel A1 ist ein Slave-Knoten-Sendeempfänger für Kommunikation mit niedriger Latenz, umfassend: einen Upstream-Sendeempfängerschaltkreis zum Empfangen eines ersten Signals, das über einen Zweidrahtbus von einer Upstream-Vorrichtung gesendet wird, und zum Bereitstellen eines zweiten Signals über den Zweidrahtbus für die Upstream-Vorrichtung; einen Downstream-Sendeempfängerschaltkreis zum Bereitstellen eines dritten Signals downstream über den Zweidrahtbus in Richtung einer Downstream-Vorrichtung und zum Empfangen eines vierten Signals über den Zweidrahtbus von der Downstream-Vorrichtung; und einen Taktschaltkreis zum Erzeugen eines Taktsignals in dem Slave-Knoten-Sendeempfänger auf der Basis einer Präambel eines Synchronisationssteuerrahmens in dem ersten Signal, wobei Timing des Empfangs und der Bereitstellung von Signalen über den Zweidrahtbus durch den Slave-Knoten-Sendeempfänger auf dem Taktsignal basiert.
  • Beispiel A2 kann den Gegenstand von Beispiel A1 umfassen und kann ferner spezifizieren, dass der Synchronisationssteuerrahmen mit Downstream-Daten in einem Superrahmen des ersten Signals assoziiert ist, die Downstream-Daten mehrere Datenschlitze umfassen und Daten für eine einzelne Peripherievorrichtung in Kommunikation mit dem Slave-Knoten-Sendeempfänger zwei oder mehr der mehreren Datenschlitze einnehmen.
  • Beispiel A3 kann den Gegenstand von Beispiel A2 umfassen und kann ferner spezifizieren, dass die Daten für die einzelne Peripherievorrichtung Audiodaten sind.
  • Beispiel A4 kann den Gegenstand beliebiger der Beispiele A1-A3 umfassen und kann ferner Folgendes spezifizieren: das erste Signal umfasst einen ersten Synchronisationssteuerrahmen und zugeordnete erste Downstream-Daten und einen zweiten Synchronisationssteuerrahmen und zugeordnete zweite Downstream-Daten; die ersten Downstream-Daten umfassen einen Datenschlitz mit einem bestimmten Index und mit Daten für eine erste Peripherievorrichtung in Kommunikation mit dem Slave-Knoten-Sendeempfänger; und die zweiten Downstream-Daten umfassen einen Datenschlitz mit dem bestimmten Index und mit Daten für eine zweite Peripherievorrichtung, die von der ersten Peripherievorrichtung verschieden ist, in Kommunikation mit dem Slave-Knoten-Sendeempfänger.
  • Beispiel A5 kann den Gegenstand von Beispiel A4 umfassen und kann ferner spezifizieren, dass die erste und zweite Peripherievorrichtung verschiedene Mikrofone sind.
  • Beispiel A6 kann den Gegenstand beliebiger der Beispiele A1-A5 umfassen und kann ferner Folgendes spezifizieren: Das zweite Signal umfasst einen Synchronisationsantwortrahmen, der Synchronisationsantwortrahmen ist mit Upstream-Daten in einem Superrahmen des zweiten Signals assoziiert, die Upstream-Daten umfassen mehrere Datenschlitze und Daten mit Ursprung in einer einzigen Peripherievorrichtung in Kommunikation mit dem Slave-Knoten-Sendeempfänger nehmen zwei oder mehr der mehreren Datenschlitze ein.
  • Beispiel A7 kann den Gegenstand von Beispiel A6 umfassen und kann ferner spezifizieren, dass die Daten mit Ursprung in der einzigen Peripherievorrichtung Audiodaten sind.
  • Beispiel A8 kann den Gegenstand beliebiger der Beispiele A1-A7 umfassen und kann ferner Folgendes spezifizieren: das zweite Signal umfasst einen ersten Synchronisationsantwortrahmen und assoziierte erste Upstream-Daten und einen zweiten Synchronisationsantwortrahmen und assoziierte zweite Upstream-Daten;
  • die ersten Upstream-Daten umfassen einen Datenschlitz mit einem bestimmten Index und mit Daten mit Ursprung in einer ersten Peripherievorrichtung in Kommunikation mit dem Slave-Knoten-Sendeempfänger; und die zweiten Upstream-Daten umfassen einen Datenschlitz mit dem bestimmten Index und mit Daten mit Ursprung in einer von der ersten Peripherievorrichtung verschiedenen zweiten Peripherievorrichtung in Kommunikation mit dem Slave-Knoten-Sendeempfänger.
  • Beispiel A9 kann den Gegenstand von Beispiel A8 umfassen und kann ferner spezifizieren, dass die erste und zweite Peripherievorrichtung verschiedene Mikrofone sind.
  • Beispiel A10 kann den Gegenstand beliebiger der Beispiele A1-A9 umfassen und kann ferner Folgendes umfassen: einen Stromversorgungsschaltkreis zum Empfangen einer Vorspannung über den Zweidrahtbus von der Upstream-Vorrichtung und Bereitstellen von Energie aus der Vorspannung für eine mit dem Slave-Knoten-Sendeempfänger gekoppelte Energiespeichervorrichtung.
  • Beispiel A11 kann den Gegenstand beliebiger der Beispiele A1-A10 umfassen und kann ferner einen Peripherievorrichtungs-Kommunikationsschaltkreis zur Kommunikation mit mindestens einem Lautsprecher und mindestens einem Mikrofon umfassen.
  • Beispiel A12 kann den Gegenstand von Beispiel A11 umfassen und kann ferner spezifizieren, dass der Peripherievorrichtungs-Kommunikationsschaltkreis einen I2S-Sendeempfänger (Inter-Integrated Circuit Sound), einen TDM-Sendeempfänger (Zeitmultiplex), einen PDM-Sendeempfänger (Impulsdichtemodulation), einen I2C-Sendeempfänger (Inter-Integrated Circuit) oder einen GPIO-Pin (General Purpose Input/Output) umfasst.
  • Beispiel A13 kann den Gegenstand beliebiger der Beispiele A1-A12 umfassen und kann ferner einen Peripherievorrichtungs-Kommunikationsschaltkreis zur Kommunikation mit einem Mikrofon und einem Konferenzschaltungs-Benutzeroberflächenelement umfassen, wobei ein Benutzer das Konferenzschaltungs-Benutzeroberflächenelement betätigt, wenn der Benutzer Audio von dem Mikrofon einer anderen mit dem Zweidrahtbus gekoppelten Vorrichtung bereitstellen möchte, und wobei das zweite Signal Daten umfasst, die aus dem Mikrofon stammen, wenn das Konferenzschaltungs-Benutzeroberflächenelement betätigt wird.
  • Beispiel A14 kann den Gegenstand beliebiger der Beispiele A1-A13 umfassen und kann ferner einen Peripherievorrichtungs-Kommunikationsschaltkreis zum Kommunizieren mit einem drahtlosen Sendeempfänger umfassen, wobei der drahtlose Sendeempfänger Sprachanrufe empfangen soll und wobei der Upstream-Sendeempfängerschaltkreis Daten, die die Sprachanrufe repräsentieren, in das zweite Signal aufnehmen sollen.
  • Beispiel A15 kann den Gegenstand beliebiger der Beispiele A1-A14 umfassen und kann ferner spezifizieren, dass die Upstream-Vorrichtung mit einem drahtlosen Sendeempfänger gekoppelt ist, wobei der drahtlose Sendeempfänger Sprachanrufe empfangen soll und der Upstream-Sendeempfängerschaltkreis Daten, die Sprachanrufe repräsentieren, in dem ersten Signal empfangen soll.
  • Beispiel A16 kann den Gegenstand beliebiger der Beispiele A1-A15 umfassen und kann ferner spezifizieren, dass eine Hostvorrichtung mit einer Master-Vorrichtung des Zweidrahtbusses gekoppelt ist, die Hostvorrichtung mit einem drahtlosen Sendeempfänger gekoppelt ist, der drahtlose Sendeempfänger Sprachanrufe empfangen soll und der Upstream-Sendeempfängerschaltkreis Daten, die die Sprachanrufe repräsentieren, in dem ersten Signal empfangen soll.
  • Beispiel A17 kann den Gegenstand beliebiger der Beispiele A1-A16 umfassen und kann ferner einen Peripherievorrichtungs-Kommunikationsschaltkreis in Kommunikation mit einer Antenne, die mit einem Dach oder anderen Teil eines Fahrzeugs gekoppelt ist, umfassen, wobei der Peripherievorrichtungs-Kommunikationsschaltkreis über eine verdrahtete Verbindung mit der Antenne kommuniziert.
  • Beispiel A18 kann den Gegenstand von Beispiel A17 umfassen und kann ferner spezifizieren, dass die Upstream-Vorrichtung eine Master-Vorrichtung ist, die sich in der Haupteinheit des Fahrzeugs befindet.
  • Beispiel A19 kann den Gegenstand beliebiger der Beispiele A1-A18 umfassen und kann ferner spezifizieren, dass der Slave-Knoten-Sendeempfänger in einem Lautsprecher, einem Mischpult, einem Musikinstrument, Zeitcodierungsgeräten, einem Verstärker, einer Videoanzeige oder einem Pyrotechnikpult enthalten ist.
  • Beispiel A20 kann den Gegenstand beliebiger der Beispiele A1-A19 umfassen und kann ferner einen Peripherievorrichtungs-Kommunikationsschaltkreis in Kommunikation mit einem Sensor oder einem Aktor an einem Gelenk eines robotischen Gliedes umfassen.
  • Beispiel A21 kann den Gegenstand beliebiger der Beispiele A1-A20 umfassen und kann ferner einen Empfangspostkasten und einen Sendepostkasten umfassen, wobei die Hostvorrichtung ein Interrupt zur Übertragung zu der Downstream-Vorrichtung erzeugen soll, wenn Daten dem Sendepostkasten bereitgestellt werden, und die Downstream-Vorrichtung ein Interrupt zur Übertragung zur Hostvorrichtung erzeugen soll, wenn Daten dem Empfangspostkasten bereitzustellen sind.
  • Beispiel A22 kann den Gegenstand beliebiger der Beispiele A1-A21 umfassen und kann ferner einen Peripherievorrichtungs-Kommunikationsschaltkreis in Kommunikation mit einem Feuchtigkeits- oder Temperatursensor in einem Fahrzeug umfassen.
  • Beispiel A23 kann den Gegenstand beliebiger der Beispiele A1-A22 umfassen und kann ferner einen Peripherievorrichtungs-Kommunikationsschaltkreis in Kommunikation mit einem Gassensor in einem Fahrzeug umfassen.
  • Beispiel A24 kann den Gegenstand beliebiger der Beispiele A1-A23 umfassen und kann ferner einen Peripherievorrichtungs-Kommunikationsschaltkreis umfassen, um das erste Signal oder das zweite Signal einem Protokollanalysator zuzuführen, und wobei der Downstream-Sendeempfängerschaltkreis gesperrt ist.
  • Beispiel A25 kann den Gegenstand beliebiger der Beispiele A1-A24 umfassen und kann ferner spezifizieren, dass Daten downstream in dem Synchronisationssteuerrahmen gesendet werden.
  • Beispiel A26 kann den Gegenstand beliebiger der Beispiele A1-A25 umfassen und kann ferner spezifizieren, dass Daten upstream in einem Synchronisationsantwortrahmen gesendet werden.
  • Beispiel B1 ist ein Master-Knoten-Sendeempfänger zur Kommunikation mit niedriger Latenz, umfassend: einen I2S-Empfänger (Inter-Integrated Circuit Sound) zum Empfangen eines I2S-Signals von einer Hostvorrichtung, wobei das I2S-Signal Taktinformationen bereitstellt; einen Taktschaltkreis zum Erzeugen eines Taktsignals auf der Basis der Taktinformationen; und einen Downstream-Sendeempfängerschaltkreis zum Leiten eines ersten Signals downstream über einen Zweidrahtbus in Richtung einer Downstream-Vorrichtung und zum Empfangen eines zweiten Signals über den Zweidrahtbus von der Downstream-Vorrichtung, wobei eine Präambel eines Synchronisationssteuerrahmens des ersten Signals auf dem Taktsignal basiert und die Downstream-Vorrichtung ihr eigenes Taktsignal auf der Basis der Präambel erzeugt.
  • Beispiel B2 kann den Gegenstand von Beispiel B1 umfassen und kann ferner Folgendes spezifizieren: Der Synchronisationssteuerrahmen ist mit Downstream-Daten in einem Superrahmen des ersten Signals assoziiert, die Downstream-Daten umfassen mehrere Datenschlitze und Daten für eine einzelne mit der Downstream-Vorrichtung gekoppelte Peripherievorrichtung nehmen zwei oder mehr der mehreren Datenschlitze ein.
  • Beispiel B3 kann den Gegenstand von Beispiel B2 umfassen und kann ferner spezifizieren, dass die Daten für die einzelne Peripherievorrichtung Audiodaten sind.
  • Beispiel B4 kann den Gegenstand beliebiger der Beispiele B1-B3 umfassen und kann ferner Folgendes spezifizieren: Das erste Signal umfasst einen ersten Synchronisationssteuerrahmen und zugeordnete erste Downstream-Daten und einen zweiten Synchronisationssteuerrahmen und zugeordnete zweite Downstream-Daten; die ersten Downstream-Daten umfassen einen Datenschlitz mit einem bestimmten Index und mit Daten für eine mit der Downstream-Vorrichtung gekoppelte erste Peripherievorrichtung; und die zweiten Downstream-Daten umfassen einen Datenschlitz mit dem bestimmten Index und mit Daten für eine von der ersten Peripherievorrichtung verschiedene zweite Peripherievorrichtung, die mit der Downstream-Vorrichtung gekoppelt ist.
  • Beispiel B5 kann den Gegenstand von Beispiel B4 umfassen und kann ferner spezifizieren, dass die erste und zweite Peripherievorrichtung verschiedene Mikrofone sind.
  • Beispiel B6 kann den Gegenstand beliebiger der Beispiele B1-B5 umfassen und kann ferner spezifizieren, dass das zweite Signal einen Synchronisationsantwortrahmen umfasst, der Synchronisationsantwortrahmen mit Upstream-Daten in einem Superrahmen des zweiten Signals assoziiert ist, die Upstream-Daten mehrere Datenschlitze umfassen und Daten, die aus einer einzelnen Peripherievorrichtung kommen, die mit der Downstream-Vorrichtung gekoppelt ist, zwei oder mehr der mehreren Datenschlitze einnehmen.
  • Beispiel B7 kann den Gegenstand von Beispiel B6 umfassen und kann ferner spezifizieren, dass die Daten, die von der einzelnen Peripherievorrichtung kommen, Audiodaten sind.
  • Beispiel B8 kann den Gegenstand beliebiger der Beispiele B1-B7 umfassen und kann ferner Folgendes spezifizieren: Das zweite Signal umfasst einen ersten Synchronisationsantwortrahmen und zugeordnete erste Upstream-Daten und einen zweiten Synchronisationsantwortrahmen und zugeordnete zweite Upstream-Daten; die ersten Upstream-Daten umfassen einen Datenschlitz mit einem bestimmten Index und mit Daten, die aus einer ersten Peripherievorrichtung kommen, die mit der Downstream-Vorrichtung gekoppelt ist; und die zweiten Upstream-Daten umfassen einen Datenschlitz mit dem bestimmten Index und mit Daten, die aus einer von der ersten Peripherievorrichtung verschiedenen zweiten Peripherievorrichtung kommen, die mit der Downstream-Vorrichtung gekoppelt ist.
  • Beispiel B9 kann den Gegenstand von Beispiel B8 umfassen und kann ferner spezifizieren, dass die erste und zweite Peripherievorrichtung verschiedene Mikrofone sind.
  • Beispiel B10 kann den Gegenstand beliebiger der Beispiele B1-B9 umfassen und kann ferner spezifizieren, dass das erste Signal Daten für mindestens einen mit der Downstream-Vorrichtung gekoppelten Lautsprecher umfasst und das zweite Signal Daten umfasst, die aus mindestens einem mit der Downstream-Vorrichtung gekoppelten Mikrofon kommen.
  • Beispiel B11 kann den Gegenstand beliebiger der Beispiele B1-B10 umfassen und kann ferner einen Peripherievorrichtungs-Kommunikationsschaltkreis zur Kommunikation mit einem drahtlosen Sendeempfänger umfassen, wobei der drahtlose Sendeempfänger Sprachanrufe empfangen soll und wobei der Downstream-Sendeempfängerschaltkreis Daten, die die Sprachanrufe repräsentieren, in das erste Signal aufnehmen soll.
  • Beispiel B12 kann den Gegenstand beliebiger der Beispiele B1-B11 umfassen und kann ferner spezifizieren, dass die Downstream-Vorrichtung mit einem drahtlosen Sendeempfänger gekoppelt ist, der drahtlose Sendeempfänger Sprachanrufe empfangen soll und der Downstream-Sendeempfängerschaltkreis Daten, die die Sprachanrufe repräsentieren, in dem zweiten Signal empfangen soll.
  • Beispiel C1 ist eine Hostvorrichtung, umfassend: einen I2S-Sendeempfängerschaltkreis (Inter-Integrated Circuit Sound) zum Leiten eines I2S-Signals zu einem Master-Knoten-Sendeempfänger, wobei der Master-Knoten-Sendeempfänger ein Master eines Zweidrahtbusses ist, das I2S-Signal Taktinformationen bereitstellt, der Master-Knoten-Sendeempfänger auf der Basis der Taktinformationen ein Taktsignal erzeugen soll, der Master-Knoten-Sendeempfänger ein erstes Signal downstream über den Zweidrahtbus in Richtung einer Downstream-Vorrichtung bereitstellen soll, eine Präambel des Synchronisationssteuerrahmens des ersten Signals auf dem Taktsignal basiert und die Downstream-Vorrichtung auf der Basis der Präambel ihr eigenes Taktsignal erzeugen soll; einen I2C-Sendeempfängerschaltkreis (Inter-Integrated Circuit) zum Empfangen eines ersten I2C-Signals von dem Master-Knoten-Sendeempfänger und zum Leiten eines zweiten I2C-Signals zu dem Master-Knoten-Sendeempfänger; und einen Verarbeitungsschaltkreis zum Erzeugen von Daten für die Downstream-Vorrichtung auf der Basis des ersten I2C-Signals, wobei die Daten für die Downstream-Vorrichtung in das zweite I2C-Signal aufzunehmen und durch den Master-Knoten-Sendeempfänger über den Zweidrahtbus zu der Downstream-Vorrichtung zu senden sind.
  • Beispiel C2 kann den Gegenstand von Beispiel C1 umfassen und kann ferner spezifizieren, dass das erste Signal Daten für mindestens einen mit der Downstream-Vorrichtung gekoppelten Lautsprecher umfasst.
  • Beispiel C3 kann den Gegenstand beliebiger der Beispiele C1-C2 umfassen und kann ferner Folgendes spezifizieren: Der I2S-Sendeempfängerschaltkreis soll über den Zweidrahtbus und den Master-Knoten-Sendeempfänger Audio von einem mit der Downstream-Vorrichtung gekoppelten Mikrofon empfangen; der I2C-Sendeempfängerschaltkreis soll über den Zweidrahtbus und den Master-Knoten-Sendeempfänger eine Angabe empfangen, dass ein Benutzer ein mit der Downstream-Vorrichtung gekoppeltes Konferenzschaltungs-Benutzeroberflächenelement betätigt hat; und der I2S-Sendeempfängerschaltkreis soll als Reaktion auf die Angabe und über den Zweidrahtbus und den Master-Knoten-Sendeempfänger das Audio über den Zweidrahtbus einer anderen Downstream-Vorrichtung bereitstellen.
  • Beispiel C4 kann den Gegenstand beliebiger der Beispiele C1-C3 umfassen und kann ferner spezifizieren, dass die Downstream-Vorrichtung mit einem drahtlosen Sendeempfänger gekoppelt ist, der drahtlose Sendeempfänger Sprachanrufe empfangen soll und der I2C-Sendeempfängerschaltkreis Daten, die die Sprachanrufe repräsentieren, über den Master-Knoten-Sendeempfänger und den Zweidrahtbus empfangen soll.
  • Beispiel C5 kann den Gegenstand beliebiger der Beispiele C1-C4 umfassen und kann ferner spezifizieren, dass die Downstream-Vorrichtung mit einer mit einem Dach oder einem anderen Teil eines Fahrzeugs gekoppelten Antenne verdrahtet ist und sich der Master-Knoten-Sendeempfänger in der Haupteinheit des Fahrzeugs befindet.
  • Beispiel C6 kann den Gegenstand beliebiger der Beispiele C1-C5 umfassen und kann ferner spezifizieren, dass die Hostvorrichtung einen Empfangspostkasten und einen Sendepostkasten umfasst und wobei die Hostvorrichtung einen Interrupt zur Übertragung zu der Downstream-Vorrichtung erzeugen soll, wenn dem Sendepostkasten Daten bereitgestellt werden.
  • Beispiel C7 kann den Gegenstand beliebiger der Beispiele C1-C6 umfassen und kann ferner spezifizieren, dass die Downstream-Vorrichtung mit einem Umgebungssensor in einem Fahrzeug gekoppelt ist und der Verarbeitungsschaltkreis eine Steueranweisung für ein Klimatisierungssystem im Fahrzeug auf der Basis von Daten von dem Sensor erzeugen soll, die über den Master-Knoten-Sendeempfänger und den Zweidrahtbus zu der Hostvorrichtung gesendet werden.
  • Beispiel D1 ist ein Mikrofonkabel, umfassend: einen ersten Verbinder zur Kopplung mit einem Mikrofon; einen zweiten Verbinder zur Kopplung mit einer Audioempfangsvorrichtung; einen Leiter zum Übertragen von Daten zwischen dem ersten Verbinder und dem zweiten Verbinder; und einen Slave-Knoten-Sendeempfänger mit einem Upstream-Sendeempfängerschaltkreis zum Empfangen eines über einen Zweidrahtbus von einer Upstream-Vorrichtung übertragenen ersten Signals und zum Leiten eines zweiten Signals über den Zweidrahtbus zu der Upstream-Vorrichtung, einemTaktschaltkreis zum Erzeugen eines Taktsignals in dem Slave-Knoten-Sendeempfänger auf der Basis einer Präambel eines Synchronisationssteuerrahmens in dem ersten Signal, wobei Timing des Empfangs und der Bereitstellung von Signalen über den Zweidrahtbus durch den Knotensendeempfänger auf dem Taktsignal basieren, und einem Peripherievorrichtungs-Kommunikationsschaltkreis, der mit dem Leiter gekoppelt ist, um die zwischen dem ersten Verbinder und dem zweiten Verbinder übertragenen Daten zu empfangen, wobei die Daten in dem zweiten Signal enthalten sind.
  • Beispiel D2 kann den Gegenstand von Beispiel D1 umfassen und kann ferner spezifizieren, dass der Slave-Knoten-Sendeempfänger in dem ersten Verbinder enthalten ist.
  • Beispiel D3 kann den Gegenstand beliebiger der Beispiele D1-D2 umfassen und kann ferner spezifizieren, dass der Slave-Knoten-Sendeempfänger im zweiten Verbinder enthalten ist.
  • Beispiel D4 kann den Gegenstand beliebiger der Beispiele D1-D3 umfassen und kann ferner spezifizieren, dass der Slave-Knoten-Sendeempfänger zwischen dem ersten Verbinder und dem zweiten Verbinder angeordnet ist.
  • Beispiel D5 kann den Gegenstand beliebiger der Beispiele D1-D4 umfassen und kann ferner einen Analog-Digital-Umsetzer (ADC) zum Umsetzen eines an dem ersten Verbinder empfangenen analogen Mikrofoneingangssignals in ein Digitalsignal umfassen, wobei die zwischen dem ersten Verbinder und dem zweiten Verbinder übertragenen Daten das Digitalsignal umfassen.
  • Beispiel D6 kann den Gegenstand von Beispiel D5 umfassen und kann ferner spezifizieren, dass der zweite Verbinder das zweite Signal und das Digitalsignal der Audioempfangsvorrichtung bereitstellen soll.
  • Beispiel D7 kann den Gegenstand beliebiger der Beispiele D5-D6 umfassen und kann ferner spezifizieren, dass der zweite Verbinder das zweite Signal und das analoge Mikrofoneingangssignal der Audioempfangsvorrichtung bereitstellen soll.
  • Beispiel D8 kann den Gegenstand von Beispiel D7 umfassen und kann ferner spezifizieren, dass Bereitstellen des zweiten Signals und des analogen Mikrofoneingangssignals umfasst, die Summe des zweiten Signals und des analogen Mikrofoneingangssignals bereitzustellen.
  • Beispiel D9 kann den Gegenstand beliebiger der Beispiele D7-D8 umfassen und kann ferner spezifizieren, dass der zweite Verbinder ferner der Audioempfangsvorrichtung das Digitalsignal bereitstellen soll.
  • Beispiel D10 kann den Gegenstand beliebiger der Beispiele D5-D9 umfassen und kann ferner einen Digital-Analog-Umsetzer zum Umsetzen des Digitalsignals in ein Analogsignal umfassen.
  • Beispiel D11 kann den Gegenstand von Beispiel D10 umfassen und kann ferner spezifizieren, dass der zweite Verbinder der Audioempfangsvorrichtung das zweite Signal und das Analogsignal bereitstellen soll.
  • Beispiel E1 ist ein System mit einem oder mehreren der Slave-Knoten-Sendeempfänger nach einem der Beispiele A, gekoppelt über Zweidraht-Busstrecken mit einem Master-Knoten-Sendeempfänger nach einem der Beispiele B.
  • Beispiel E2 kann den Gegenstand von Beispiel E1 umfassen und kann ferner eine Hostvorrichtung beliebiger der Beispiele C, gekoppelt mit dem Master-Knoten-Sendeempfänger, umfassen.
  • Beispiel E3 ist ein Verfahren gemäß beliebiger der hier offenbarten Techniken.
  • Beispiel E4 ist eine Vorrichtung mit Mitteln zum Ausführen beliebiger der hier offenbarten Techniken.
  • Beispiel E5 ist ein oder mehrere nicht vergängliche computerlesbare Medien mit Anweisungen darauf, die als Reaktion auf Ausführung durch eine oder mehrere Verarbeitungsvorrichtungen eines Systems bewirken, dass das System beliebige der hier offenbarten Techniken ausführt.
  • Beispiel F1 kann beliebige Ausführungsformen der hier offenbarten GPIO-zu-GPIO-Kommunikationsfunktionalität umfassen.
  • Beispiel F2 kann den Gegenstand beliebiger der obigen Beispiele A-E umfassen und kann ferner beliebige Ausführungsformen der hier offenbarten GPIO-zu-GPIO-Kommunikationsfunktionalität umfassen.
  • Beispiel G1 ist ein Master-Knoten-Sendeempfänger in einem Kommunikationssystem mit niedriger Latenz mit einem Downstream-Sendeempfängerschaltkreis zum Vergeben, über einen Bus zu einer Downstream-Vorrichtung, einer virtuellen Portkennung an einen GPIO-Pin (General Purpose Input/Output) der Downstream-Vorrichtung, wobei die virtuelle Portkennung einen virtuellen Port identifiziert, und Vergeben, über den Bus zu der Downstream-Vorrichtung, des GPIO-Pins als einen Eingangspin oder einen Ausgangspin.
  • Beispiel G2 kann den Gegenstand von Beispiel G1 umfassen und kann ferner spezifizieren, dass die virtuelle Portkennung eine Angabe einer dem GPIO-Pin zugeordneten virtuellen Portnummer umfasst.
  • Beispiel G3 kann den Gegenstand von Beispiel G2 umfassen und kann ferner spezifizieren, dass die Downstream-Vorrichtung eine erste Downstream-Vorrichtung ist, der GPIO-Pin der ersten Downstream-Vorrichtung ein erster GPIO-Pin ist und der Downstream-Sendeempfängerschaltkreis ferner über den Bus zu einer zweiten Downstream-Vorrichtung, die von der ersten Downstream-Vorrichtung verschieden ist, die virtuelle Portkennung an einen zweiten GPIO-Pin der zweiten Downstream-Vorrichtung vergeben soll.
  • Beispiel G4 kann den Gegenstand von Beispiel G3 umfassen und kann ferner einen GPIO-Datenschaltkreis zum Ausführen einer logischen OR-Operation an dem Wert des ersten GPIO-Pins und dem Wert des zweiten GPIO-Pins, wenn der erste GPIO-Pin ein Eingangspin ist und der zweite GPIO-Pin ein Eingangspin ist, um einen Wert des virtuellen Ports zu bestimmen, umfassen.
  • Beispiel G5 kann den Gegenstand beliebiger der Beispiele G2-4 umfassen und kann ferner spezifizieren, dass der virtuelle Port ein erster virtueller Port ist, die virtuelle Portnummer eine erste virtuelle Portnummer ist und der Downstream-Sendeempfängerschaltkreis ferner über den Bus zu der Downstream-Vorrichtung eine zweite virtuelle Portkennung an den GPIO-Pin der Downstream-Vorrichtung vergeben soll, wobei die zweite virtuelle Portkennung eine von der ersten virtuellen Portnummer verschiedene zweite virtuelle Portnummer umfasst und die zweite virtuelle Portkennung einen von dem ersten virtuellen Port verschiedenen zweiten virtuellen Port identifiziert.
  • Beispiel G6 kann den Gegenstand von Beispiel G5 umfassen und kann ferner spezifizieren, dass die Downstream-Vorrichtung, wenn der GPIO-Pin ein Ausgangspin ist, eine logische OR-Operation an dem Wert des ersten virtuellen Ports und des zweiten virtuellen Ports ausführen soll, um einen Wert des GPIO-Pins zu bestimmen.
  • Beispiel G7 kann den Gegenstand beliebiger der Beispiele G1-6 umfassen und kann ferner spezifizieren, dass der Downstream-Sendeempfängerschaltkreis ferner über den Bus zu der Downstream-Vorrichtung eine Anweisung zum Setzen oder Löschen des virtuellen Ports senden soll.
  • Beispiel G8 kann den Gegenstand von Beispiel G7 umfassen und kann ferner spezifizieren, dass die Downstream-Vorrichtung eine erste Downstream-Vorrichtung ist und der Downstream-Sendeempfängerschaltkreis ferner über den Bus von einer zweiten Downstream-Vorrichtung eine Anforderung, den virtuellen Port zu setzen oder zu löschen, empfangen soll, wobei der Downstream-Sendeempfängerschaltkreis die Anweisung, den virtuellen Port zu setzen oder zu löschen, als Reaktion auf Empfang der Anforderung, den virtuellen Port zu setzen oder zu löschen, senden soll.
  • Beispiel G9 kann den Gegenstand von Beispiel G7 umfassen und kann ferner spezifizieren, dass die Anweisung den virtuellen Port löschen soll und der Master-Knoten-Sendeempfänger ferner einen GPIO-Datenschaltkreis zum Bestimmen, dass mindestens eine Vorrichtung Downstream des Master-Knoten-Sendeempfängers auf dem Bus die Anweisung zurückweist, und, als Reaktion auf die Bestimmung, zum Aufrechterhalten des virtuellen Ports als gesetzt in einem Speicher des Master-Knoten-Sendeempfängers, umfasst.
  • Beispiel G10 kann den Gegenstand von Beispiel G9 umfassen und kann ferner spezifizieren, dass die Bestimmung Identifizieren einer von der mindestens einen Vorrichtung downstream empfangenen Nichtbestätigung umfasst.
  • Beispiel G11 kann den Gegenstand von Beispiel G7 umfassen und kann ferner spezifizieren, dass die Anweisung den virtuellen Port setzen soll und der Master-Knoten-Sendeempfänger ferner einen GPIO-Datenschaltkreis zum Setzen des virtuellen Ports in einem Speicher des Master-Knoten-Sendeempfängers umfasst.
  • Beispiel G12 kann den Gegenstand beliebiger der Beispiele G1-11 umfassen und kann ferner einen Host-Schnittstellenschaltkreis zum kommunikativen Koppeln des Master-Knoten-Sendeempfängers mit einer Hostvorrichtung umfassen.
  • Beispiel G13 kann den Gegenstand von Beispiel G12 umfassen und kann ferner spezifizieren, dass der Host-Schnittstellenschaltkreis einen I2C-Schaltkreis (Inter-Integrated Circuit) umfasst.
  • Beispiel G14 kann den Gegenstand beliebiger der Beispiele G1-13 umfassen und kann ferner spezifizieren, dass der Bus ein Zweidrahtbus ist.
  • Beispiel H1 ist ein Slave-Knoten-Sendeempfänger in einem Kommunikationssystem mit niedriger Latenz mit einem Upstream-Sendeempfängerschaltkreis zum Empfangen einer Vergabe einer virtuellen Portkennung an einen GPIO-Pin (General Purpose Input/Output) des Slave-Knoten-Sendeempfängers über einen Bus von einem Master-Knoten Sendeempfänger, wobei die virtuelle Portkennung einen virtuellen Port identifiziert, und Empfangen einer Vergabe des GPIO-Pins als einen Eingangspin oder einen Ausgangspin über den Bus von dem Master-Knoten-Sendeempfänger.
  • Beispiel H2 kann den Gegenstand von Beispiel H1 umfassen und kann ferner spezifizieren, dass die virtuelle Portkennung eine Angabe einer dem GPIO-Pin zugeordneten virtuellen Portnummer umfasst, der GPIO-Pin ein erster GPIO-Pin ist und der Upstream-Sendeempfängerschaltkreis ferner über den Bus von dem Master-Knoten-Sendeempfänger eine Vergabe der virtuellen Portkennung an einen zweiten GPIO-Pin einer Downstream-Vorrichtung empfangen soll, wobei sich die Downstream-Vorrichtung downstream auf dem Bus von dem Slave-Knoten-Sendeempfänger befindet.
  • Beispiel H3 kann den Gegenstand von Beispiel H2 umfassen und kann ferner einen Downstream-Sendeempfängerschaltkreis zum Senden der Vergabe der virtuellen Portkennung an den zweiten GPIO-Pin der Downstream-Vorrichtung downstream über den Bus umfassen.
  • Beispiel H4 kann den Gegenstand beliebiger der Beispiele H1-3 umfassen und kann ferner einen GPIO-Datenschaltkreis zum Invertieren eines Werts des GPIO-Pins umfassen.
  • Beispiel H5 kann den Gegenstand beliebiger der Beispiele H1-4 umfassen und kann ferner spezifizieren, dass der Upstream-Sendeempfängerschaltkreis ferner von dem Master-Knoten-Sendeempfänger über den Bus eine Anweisung empfangen soll, einen Wert des GPIO-Pins zu ändern.
  • Beispiel H6 kann den Gegenstand beliebiger der Beispiele H1-5 umfassen und kann ferner spezifizieren, dass der GPIO-Pin einer von mehreren GPIO-Pins des Slave-Knoten-Sendeempfängers ist.

Claims (20)

  1. Master-Knoten-Sendeempfänger (102, 120) in einem Kommunikationssystem (100) mit niedriger Latenz, umfassend: einen Downstream-Sendeempfängerschaltkreis zum Zuweisen, über einen Bus (106) zu einer Downstream-Vorrichtung, einer virtuellen Portkennung an einen GPIO-Pin (General Purpose Input/Output) der Downstream-Vorrichtung, wobei die virtuelle Portkennung einen virtuellen Port identifiziert, und Zuweisen, über den Bus (106) zu der Downstream-Vorrichtung, des GPIO-PIN als einen Eingangspin oder einen Ausgangspin.
  2. Master-Konoten-Sendeempfänger nach Anspruch 1, wobei die virtuelle Portkennung eine Angabe einer dem GPIO-Pin zugeordneten virtuellen Portnummer umfasst.
  3. Master-Knoten-Sendeempfänger (102, 120) nach Anspruch 2, wobei die Downstream-Vorrichtung eine erste Downstream-Vorrichtung ist, der GPIO-Pin der ersten Downstream-Vorrichtung ein erster GPIO-Pin ist und der Downstream-Sendeempfängerschaltkreis ferner über den Bus (106) zu einer zweiten Downstream-Vorrichtung, die von der ersten Downstream-Vorrichtung verschieden ist, die virtuelle Portkennung an einen zweiten GPIO-Pin der zweiten Downstream-Vorrichtung zuweist.
  4. Master-Knoten-Sendeempfänger (102, 120) nach Anspruch 3, ferner umfassend: einen GPIO-Datenschaltkreis zum Ausführen einer logischen OR-Operation an einem Wert des ersten GPIO-Pins und einem Wert des zweiten GPIO-Pins, wenn der erste GPIO-Pin ein Eingangspin ist und der zweite GPIO-Pin ein Eingangspin ist, um einen Wert des virtuellen Ports zu bestimmen.
  5. Master-Knoten-Sendeempfänger (102, 120) nach einem der Ansprüche 2 bis 4, wobei der virtuelle Port ein erster virtueller Port ist, die virtuelle Portnummer eine erste virtuelle Portnummer ist und der Downstream-Sendeempfängerschaltkreis ferner über den Bus (106) zu der Downstream-Vorrichtung eine zweite virtuelle Portkennung an den GPIO-Pin der Downstream-Vorrichtung zuweist, wobei die zweite virtuelle Portkennung eine von der ersten virtuellen Portnummer verschiedene zweite virtuelle Portnummer umfasst und die zweite virtuelle Portkennung einen von dem ersten virtuellen Port verschiedenen zweiten virtuellen Port identifiziert.
  6. Master-Knoten-Sendeempfänger (102, 120) nach Anspruch 5, wobei die Downstream-Vorrichtung, wenn der GPIO-Pin ein Ausgangspin ist, eine logische OR-Operation an einem Wert des ersten virtuellen Ports und des zweiten virtuellen Ports ausführt, um einen Wert des GPIO-Pins zu bestimmen.
  7. Master-Knoten-Sendeempfänger (102, 120) nach einem der vorhergehenden Ansprüche, wobei derDownstream-Sendeempfängerschaltkreis ferner über den Bus (106) zu der Downstream-Vorrichtung eine Anweisung sendet, den virtuellen Port zu setzen oder zu löschen.
  8. Master-Knoten-Sendeempfänger (102, 120) nach Anspruch 7, wobei die Downstream-Vorrichtung eine erste Downstream-Vorrichtung ist und der Downstream-Sendeempfängerschaltkreis ferner über den Bus (106) von einer zweiten Downstream-Vorrichtung eine Anforderung, den virtuellen Port zu setzen oder zu löschen, empfängt, wobei der Downstream-Sendeempfängerschaltkreis die Anweisung, den virtuellen Port zu setzen oder zu löschen, als Reaktion auf Empfang der Anforderung, den virtuellen Port zu setzen oder zu löschen, sendet.
  9. Master-Knoten-Sendeempfänger (102, 120) nach Anspruch 7 oder 8, wobei die Anweisung dazu bestimmt ist, den virtuellen Port zu löschen und der Master-Knoten-Sendeempfänger (102, 120) ferner den GPIO-Datenschaltkreis-zum Bestimmen, dass mindestens eine Vorrichtung downstream des Master-Knoten-Sendeempfängers (102, 120) auf dem Bus (106) die Anweisung zurückweist, und, als Reaktion auf die Bestimmung, zum Aufrechterhalten des virtuellen Ports als gesetzt in einem Speicher des Master-Knoten-Sendeempfängers (102, 120) umfasst.
  10. Master-Knoten-Sendeempfänger (102, 120) nach Anspruch 9, wobei die Bestimmung Identifizieren einer von der mindestens einen Vorrichtung downstream empfangenen Nichtbestätigung umfasst.
  11. Master-Knoten-Sendeempfänger (102, 120) nach Anspruch 7 oder 8, wobei die Anweisung dazu bestimmt ist, den virtuellen Port zu setzen und der Master-Knoten-Sendeempfänger (102, 120) ferner den GPIO-Datenschaltkreis zum Setzen des virtuellen Ports in einem Speicher des Master-Knoten-Sendeempfängers (102, 120) umfasst.
  12. Master-Knoten-Sendeempfänger (102, 120) nach einem der vorhergehenden Ansprüche, ferner umfassend: einen Host-Schnittstellenschaltkreis zum kommunikativen Koppeln des Master-Knoten-Sendeempfängers (102, 120) mit einer Hostvorrichtung.
  13. Master-Knoten-Sendeempfänger (102, 120) nach Anspruch 12, wobei der Host-Schnittstellenschaltkreis einen I2C-Schaltkreis (Inter-Integrated Circuit) umfasst.
  14. Master-Knoten-Sendeempfänger (102, 120) nach einem der vorhergehenden Ansprüche, wobei der Bus (106) ein Zweidrahtbus ist.
  15. Slave-Knoten-Sendeempfänger in einem Kommunikationssystem (100) mit niedriger Latenz, umfassend: Einen Upstream-Sendeempfängerschaltkreis zum Empfangen einer Zuweisung einer virtuellen Portkennung an einen GPIO-Pin (General Purpose Input/Output) des Slave-Knoten-Sendeempfängers über einen Bus (106) von einem Master-Knoten-Sendeempfänger (102, 120), wobei die virtuelle Portkennung einen virtuellen Port identifiziert, und Empfangen einer Zuweisung des GPIO-Pins als einen Eingangspin oder einen Ausgangspin über den Bus (106) von dem Master-Knoten-Sendeempfänger (102, 120).
  16. Slave-Knoten-Sendeempfänger nach Anspruch 15, wobei die virtuelle Portkennung eine Angabe einer dem GPIO-Pin zugeordneten virtuellen Portnummer umfasst, der GPIO-Pin ein erster GPIO-Pin ist und der Upstream-Sendeempfängerschaltkreis ferner über den Bus (106) von dem Master-Knoten-Sendeempfänger (102, 120) eine Vergabe der virtuellen Portkennung an einen zweiten GPIO-Pin einer Downstream-Vorrichtung empfängt, wobei sich die Downstream-Vorrichtung downstream auf dem Bus (106) von dem Slave-Knoten-Sendeempfänger befindet.
  17. Slave-Knoten-Sendeempfänger nach Anspruch 16, ferner umfassend: einen Downstream-Sendeempfängerschaltkreis zum Senden der Vergabe der virtuellen Portkennung an den zweiten GPIO-Pin der Downstream-Vorrichtung downstream über den Bus (106).
  18. Slave-Knoten-Sendeempfänger nach einem der Ansprüche 15 bis 17, ferner umfassend: GPIO-Datenschaltkreis zum Invertieren eines Werts des GPIO-Pins.
  19. Slave-Knoten-Sendeempfänger nach einem der Ansprüche 15 bis 18, wobei der Upstream-Sendeempfängerschaltkreis ferner von dem Master-Knoten-Sendeempfänger (102, 120) über den Bus (106) eine Anweisung empfängt, um einen Wert des GPIO-Pins zu ändern.
  20. Slave-Knoten-Sendeempfänger nach einem der Ansprüche 15 bis 19, wobei der GPIO-Pin einer von mehreren GPIO-Pins des Slave-Knoten-Sendeempfängers ist.
DE102017101470.5A 2016-01-29 2017-01-25 Kommunikation von gpio zu gpio in einem verketteten netzwerk mit mehreren knoten Active DE102017101470B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662289066P 2016-01-29 2016-01-29
US62/289,066 2016-01-29
US15/411,846 US10872049B2 (en) 2016-01-29 2017-01-20 GPIO-to-GPIO communication on a multi-node daisy-chained network
US15/411,846 2017-01-20

Publications (2)

Publication Number Publication Date
DE102017101470A1 DE102017101470A1 (de) 2017-08-03
DE102017101470B4 true DE102017101470B4 (de) 2023-04-13

Family

ID=59327330

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017101470.5A Active DE102017101470B4 (de) 2016-01-29 2017-01-25 Kommunikation von gpio zu gpio in einem verketteten netzwerk mit mehreren knoten

Country Status (1)

Country Link
DE (1) DE102017101470B4 (de)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130080677A1 (en) 2011-09-27 2013-03-28 Microchip Technology Incorporated Virtual General Purpose Input/Output for a Microcontroller
US20130111099A1 (en) 2011-11-02 2013-05-02 Freescale Semiconductor, Inc Processor with programmable virtual ports
US20140101351A1 (en) 2012-10-05 2014-04-10 Analog Devices, Inc. Two-wire communication protocol engine
DE102015117673A1 (de) 2014-10-19 2016-04-21 Analog Devices Inc. Diagnose und steuerung von peripherie-vorrichtungen über einen zweidrahtkommunikationsbus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130080677A1 (en) 2011-09-27 2013-03-28 Microchip Technology Incorporated Virtual General Purpose Input/Output for a Microcontroller
US20130111099A1 (en) 2011-11-02 2013-05-02 Freescale Semiconductor, Inc Processor with programmable virtual ports
US20140101351A1 (en) 2012-10-05 2014-04-10 Analog Devices, Inc. Two-wire communication protocol engine
DE102015117673A1 (de) 2014-10-19 2016-04-21 Analog Devices Inc. Diagnose und steuerung von peripherie-vorrichtungen über einen zweidrahtkommunikationsbus

Also Published As

Publication number Publication date
DE102017101470A1 (de) 2017-08-03

Similar Documents

Publication Publication Date Title
JP6430551B2 (ja) デイジーチェーンされたマルチノードネットワークにおけるgpio対gpio通信
JP6908665B2 (ja) スレーブ対スレーブ同期通信
CN106878125B (zh) 从节点收发器、主节点收发器、主机设备及麦克风电缆
US10250376B2 (en) Clock sustain in the absence of a reference clock in a communication system
US11238004B2 (en) Two-wire communication systems and applications
KR102535076B1 (ko) 원격 버스 활성화를 위한 시스템들 및 기술들
US9851938B2 (en) Microphone arrays and communication systems for directional reception
US10649945B1 (en) Non-native digital interface support over a two-wire communication bus
EP2824845A1 (de) Zweidraht-Kommunikationsprotokollmaschine
US10852799B2 (en) Adaptive use of multiple power supplies in communication systems
DE102020110675A1 (de) Kommunikationssysteme mit funktionalität einer seriellen peripherie-schnittstelle
DE102015117673B4 (de) Diagnose und steuerung von peripherie-vorrichtungen über einen zweidraht-kommunikationsbus
DE102019107810A1 (de) Dynamische hystereseschaltung
DE102017101471A1 (de) Synchrone kommunikation von slave zu slave
DE112021005545T5 (de) Knotenerkennung und -konfiguration in einem daisy-chain-netzwerk
DE102017101470B4 (de) Kommunikation von gpio zu gpio in einem verketteten netzwerk mit mehreren knoten
DE102018116540A1 (de) Adaptive Verwendung mehrerer Leistungsversorgungen in Kommunikationssystemen
DE102017101463A1 (de) Taktaufrechterhaltung bei abwesenheit eines referenztakts in einem kommunikationssystem
DE112021005184T5 (de) Hilfskommunikation über eine pulsdichtenmodulierte Schnittstelle

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: WITHERS & ROGERS LLP, DE

R081 Change of applicant/patentee

Owner name: ANALOG DEVICES, INC., WILMINGTON, US

Free format text: FORMER OWNER: ANALOG DEVICES, INC., NORWOOD, MASS., US

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final