DE112021005897T5 - Systeme und techniken zur kalibration eines mikrofonarrays - Google Patents

Systeme und techniken zur kalibration eines mikrofonarrays Download PDF

Info

Publication number
DE112021005897T5
DE112021005897T5 DE112021005897.5T DE112021005897T DE112021005897T5 DE 112021005897 T5 DE112021005897 T5 DE 112021005897T5 DE 112021005897 T DE112021005897 T DE 112021005897T DE 112021005897 T5 DE112021005897 T5 DE 112021005897T5
Authority
DE
Germany
Prior art keywords
microphone
node
data
sub
calibration
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.)
Pending
Application number
DE112021005897.5T
Other languages
English (en)
Inventor
Dietmar Ruwisch
Eric Zolner
Martin Kessler
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 International ULC
Original Assignee
Analog Devices International ULC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Analog Devices International ULC filed Critical Analog Devices International ULC
Publication of DE112021005897T5 publication Critical patent/DE112021005897T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/20Arrangements for obtaining desired frequency or directional characteristics
    • H04R1/32Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
    • H04R1/40Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers
    • H04R1/406Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only by combining a number of identical transducers microphones
    • 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/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/005Details of transducers, loudspeakers or microphones using digitally weighted transducing elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/20Arrangements for obtaining desired frequency or directional characteristics
    • H04R1/32Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only
    • H04R1/326Arrangements for obtaining desired frequency or directional characteristics for obtaining desired directional characteristic only for microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R29/00Monitoring arrangements; Testing arrangements
    • H04R29/004Monitoring arrangements; Testing arrangements for microphones
    • H04R29/005Microphone arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R3/00Circuits for transducers, loudspeakers or microphones
    • H04R3/005Circuits for transducers, loudspeakers or microphones for combining the signals of two or more microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/301Automatic calibration of stereophonic sound system, e.g. with test microphone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2201/00Details of transducers, loudspeakers or microphones covered by H04R1/00 but not provided for in any of its subgroups
    • H04R2201/40Details of arrangements for obtaining desired directional characteristic by combining a number of identical transducers covered by H04R1/40 but not provided for in any of its subgroups
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2499/00Aspects covered by H04R or H04S not otherwise provided for in their subgroups
    • H04R2499/10General applications
    • H04R2499/13Acoustic transducers and sound field adaptation in vehicles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]

Abstract

Hierin sind Systeme und Techniken zur Kalibration eines Mikrofonarrays offenbart, sowie Kommunikationssysteme, in denen kalibrierte Mikrofone verwendet werden können. Die hierin offenbarten Systeme und Techniken können sowohl Phasen- als auch Größenkalibration für Mikrofonarrays bereitstellen, was zu einer verbesserten Leistungsfähigkeit für Strahlformung und andere Anwendungen führt. Ferner sind verschiedene Systeme und Verfahren hierin zur lokalen Speicherung von Kalibrationskoeffizienten im Mikrofonarray (z. B. zur Zeit der Herstellung und Kalibration) offenbart. Ferner können verschiedene hierin offenbarte Systeme und Verfahren eine zentrale Anwendung der Kalibration eines Mikrofonarrays (z. B. in einem Edge-Prozessor zur Betriebszeit) beinhalten, um unkalibrierte Mikrofonsignale mit kalibrierten Mikrofonsignalen weiter unten in der Signalkette zu ersetzen.

Description

  • Querverweis auf verwandte Anmeldungen
  • Die vorliegende Anmeldung beansprucht den Vorteil und die Priorität der vorläufigen US-Anmeldung mit der Serien-Nr. 63/112,967 und dem Titel „Systems and Techniques for Microphone Array Calibration“, die hiermit durch Bezugnahme in ihrer Gesamtheit aufgenommen wird.
  • Gebiet der Offenbarung
  • Die vorliegende Offenbarung bezieht sich auf Systeme und Einrichtungen in einem verketteten Netzwerk.
  • Hintergrund
  • Da elektronische Komponenten kleiner werden und die Leistungserwartungen steigen, werden mehr Komponenten in zuvor nicht instrumentierten oder wenig instrumentierten Vorrichtungen eingeschlossen. In einigen Umfeldern hat die Kommunikationsinfrastruktur, die zum Austauschen von Signalen zwischen diesen Komponenten verwendet wird (z. B. in einem Fahrzeug), dicke und schwerere Kabelbündel erfordert.
  • Diese Offenbarung soll einen Überblick des Gegenstands der vorliegenden Patentanmeldung bereitstellen. Sie soll keine ausschließliche oder erschöpfende Erklärung der Erfindung bereitstellen. Weitere Einschränkungen und Nachteile herkömmlicher und traditioneller Ansätze werden einem Fachmann auf dem Gebiet durch den Vergleich solcher Systeme mit einigen Aspekten der vorliegenden Erfindung, wie im Rest der vorliegenden Anmeldung mit Bezug auf die Zeichnungen dargelegt, ersichtlich werden.
  • Kurzdarstellung der Offenbarung
  • Hierin sind Systeme und Techniken zur Kalibration eines Mikrofonarrays offenbart, sowie Kommunikationssysteme, in denen kalibrierte Mikrofone verwendet werden können. Wenn ein Array von Mikrofonen zur Strahlformung (z. B. zur Rauschunterdrückung) verwendet wird, können Fertigungstoleranzen zwischen den verschiedenen Mikrofonen im Array eine Leistungsfähigkeitsverschlechterung bestimmter Strahlformungsalgorithmen verursachen. Im Allgemeinen ist, sobald Mikrofone verteilt und/oder installiert sind, keine weitere Kalibration möglich. Es sind Systeme und Verfahren offenbart zum Abspeichern von Kalibrationskoeffizienten in einem Mikrofon zur Anwendung, wenn sich das Mikrofon im Gebrauch befindet.
  • Gemäß einem Aspekt umfasst ein System zur Kalibration eines Mikrofonarrays: einen Lautsprecher, der dazu ausgelegt ist, ein Testsignal abzuspielen; ein Mikrofonarray, das dazu ausgelegt ist, das Testsignal zu empfangen und eine Vielzahl von Mikrofonarraysignalen zu erzeugen; ein Referenzmikrofon, das zwischen dem Lautsprecher und dem Mikrofonarray positioniert ist, wobei das Referenzmikrofon dazu ausgelegt ist, das Testsignal zu empfangen und ein Referenzsignal zu erzeugen; und einen Kalibrationskalkulator, der dazu ausgelegt ist, die Vielzahl von Mikrofonarraysignalen und das Referenzsignal zu verarbeiten, einen Satz von Filterkoeffizienten zu erzeugen und den Satz von Filterkoeffizienten zu dem Mikrofonarray zu übertragen.
  • Gemäß einigen Implementierungen umfasst das System ferner einen Speicher, der mit dem Mikrofonarray assoziiert ist und dazu ausgelegt ist, den Satz von Filterkoeffizienten zu speichern. In einigen Implementierungen ist der Speicher in einem Mikrofonarraymodul mit dem Mikrofonarray positioniert. In einigen Implementierungen ist der Speicher ein Cloud-basierter Speicher, auf den das Mikrofonarray zugreifen kann. In einigen Implementierungen ist der Speicher ferner dazu ausgelegt, Mikrofoninformationen zu speichern, einschließlich mindestens eines von Anbieterinformationen, Produktinformationen, Versionsinformationen, Modellinformationen, Fähigkeitsinformationen, Seriennummer, Markeninformationen, Konfigurationsinformationen, Routing-Informationen und Authentifikationsinformationen.
  • Gemäß einigen Implementierungen umfasst das System ferner eine Vielzahl von Speichermodulen, wobei jedes der Vielzahl von Speichermodulen mit einem jeweiligen Mikrofon des Mikrofonarrays assoziiert ist. In einigen Implementierungen beinhalten die Filterkoeffizienten Phasenkalibration, Frequenzkalibration und Größenkalibration. In einigen Implementierungen umfasst das System ferner eine Zweidrahtschnittstelle, wobei die Übertragung der Filterkoeffizienten zu dem Mikrofonarray über die Zweidrahtschnittstelle stattfindet. In einigen Implementierungen ist jedes der Vielzahl von Mikrofonarraysignalen eindeutig und jedes jeweilige Mikrofon des Mikrofonarrays ist mit einem jeweiligen Teilsatz des Satzes von Filterkoeffizienten assoziiert.
  • Gemäß einem anderen Aspekt umfasst ein Verfahren zur Kalibration eines Mikrofonarrays: Abspielen eines Testsignals an einem Lautsprecher; Abtasten des Testsignals an einem Mikrofonarray; Erzeugen einer Vielzahl von Mikrofonarraysignalen am Mikrofonarray; Abtasten des Testsignals an einem Referenzmikrofon; Erzeugen eines Referenzsignals am Referenzmikrofon; Erzeugen eines Satzes von Filterkoeffizienten basierend auf der Vielzahl von Mikrofonarraysignalen und dem Referenzsignal; und Übertragen des Satzes von Filterkoeffizienten zu dem Mikrofonarray.
  • Gemäß einigen Implementierungen umfasst das Abtasten des Testsignals am Mikrofonarray Abtasten des Testsignals an jedem jeweiligen Mikrofon des Mikrofonarrays. In einigen Implementierungen umfasst das Erzeugen eines Satzes von Filterkoeffizienten Erzeugen eines jeweiligen Teilsatzes von Filterkoeffizienten für jedes jeweilige Mikrofon. Gemäß einigen Implementierungen umfasst das Verfahren ferner Speichern des jeweiligen Teilsatzes von Filterkoeffizienten in jedem jeweiligen Mikrofon. Gemäß einigen Implementierungen umfasst das Verfahren ferner Speichern des Satzes von Filterkoeffizienten in dem Mikrofonarray. In einigen Implementierungen umfasst das Übertragen des Satzes von Filterkoeffizienten Übertragen des Satzes von Filterkoeffizienten über einen Zweidrahtbus. Gemäß einigen Implementierungen umfasst das Verfahren ferner Vorkalibrieren des Lautsprechers unter Verwendung des Referenzmikrofons.
  • Gemäß einem anderen Aspekt umfasst ein selbstkalibrierendes Mikrofonsystem: ein Mikrofonmodul, das Folgendes aufweist: ein Mikrofon, das dazu ausgelegt ist, ein Audioeingangssignal zu empfangen und ein rohes Mikrofonausgangssignal auszugeben, wobei das Mikrofon vorkalibriert ist, und einen nichtflüchtigen Speicher, der dazu ausgelegt ist, Mikrofonkalibrationskoeffizienten für das Mikrofon zu speichern; einen Prozessor, der dazu ausgelegt ist, das rohe Mikrofonsignal und die Mikrofonkalibrationskoeffizienten zu empfangen und ein kalibriertes Mikrofonsignal zu erzeugen; und eine Mikrofonsignalsenke, die dazu ausgelegt ist, das kalibrierte Mikrofonsignal vom Prozessor zu empfangen und das kalibrierte Mikrofonsignal auszugeben.
  • Gemäß einigen Implementierungen sind die Filterkoeffizienten dazu ausgelegt, mindestens eines von Phasenkalibration, Frequenzkalibration und Größenkalibration bereitzustellen. In einigen Implementierungen umfasst das System ferner einen Zweidrahtbus, wobei der Prozessor und die Mikrofonsignalsenke über den Zweidrahtbus kommunizieren. In einigen Implementierungen ist der Prozessor ferner dazu ausgelegt, eine Faltung des rohen Mikrofonsignals und der Mikrofonkalibrationskoeffizienten durchzuführen, um das kalibrierte Mikrofonsignal zu erzeugen.
  • Figurenliste
  • Die vorliegende Offenbarung wird am besten aus der folgenden ausführlichen Beschreibung in Verbindung mit den begleitenden Zeichnungen verstanden. Es wird hervorgehoben, dass gemäß der Standardpraxis in der Industrie verschiedene Merkmale nicht notwendigerweise maßstabsgetreu gezeichnet sind und nur für Veranschaulichungszwecke verwendet werden. Wenn ein Maßstab gezeigt ist, explizit oder implizit, stellt er nur ein veranschaulichendes Beispiel bereit. In anderen Ausführungsformen können die Abmessungen der verschiedenen Merkmale zur Verdeutlichung der Erörterung beliebig vergrößert oder verkleinert werden. Um diese Beschreibung zu erleichtern, bezeichnen gleiche Referenzziffern gleiche strukturelle Elemente. Ausführungsformen sind in den Figuren der begleitenden Zeichnungen beispielhaft und nicht beschränkend veranschaulicht.
  • Für ein vollständigeres Verständnis der Art und der Vorteile der vorliegenden Erfindung wird Bezug auf die folgende ausführliche Beschreibung bevorzugter Ausführungsformen und in Verbindung mit den begleitenden Zeichnungen genommen, in denen gilt:
    • 1 ist ein Blockdiagramm eines veranschaulichenden Zweidraht-Kommunikationssystems gemäß verschiedenen Ausführungsformen;
    • 2 ist ein Blockdiagramm eines Knoten-Transceivers, der in einem Knoten des Systems von 1 enthalten sein kann, gemäß verschiedenen Ausführungsformen;
    • 3 ist ein Diagramm eines Teils eines Synchronisationssteuerrahmens, der zur Kommunikation im System von 1 verwendet wird, gemäß verschiedenen Ausführungsformen;
    • 4 ist ein Diagramm eines Superrahmens, der zur Kommunikation im System von 1 verwendet wird, gemäß verschiedenen Ausführungsformen;
    • 5 veranschaulicht beispielhafte Formate für einen Synchronisationssteuerrahmen in verschiedenen Betriebsmodi des Systems von 1 gemäß verschiedenen Ausführungsformen;
    • 6 veranschaulicht beispielhafte Formate für einen Synchronisationsantwortrahmen bei verschiedenen Betriebsmodi des Systems von 1 gemäß verschiedenen Ausführungsformen;
    • 7 ist ein Blockdiagramm verschiedener Komponenten der Busprotokollschaltungsanordnung von 2 gemäß verschiedenen Ausführungsformen;
    • 8-11 veranschaulichen Beispiele für den Informationsaustausch entlang eines Zweidrahtbusses gemäß verschiedenen Ausführungsformen der hierin beschriebenen Busprotokolle;
    • 12 veranschaulicht eine Ringtopologie für den Zweidrahtbus und ein unidirektionales Kommunikationsschema darauf gemäß verschiedenen Ausführungsformen;
    • 13 ist ein Blockdiagramm einer Vorrichtung, die als ein Knoten oder Host im System von 1 dienen kann, gemäß verschiedenen Ausführungsformen;
    • 14 ist ein Blockdiagramm eines Systems zur Kalibration eines Mikrofonarrays gemäß verschiedenen Ausführungsformen;
    • 15-17 sind Flussdiagramme von Verfahren zur Kalibration eines Mikrofonarrays gemäß verschiedenen Ausführungsformen;
    • 18 ist ein Blockdiagramm eines Mikrofonsystems, in dem die hierin offenbarten Kalibrationen angewendet werden können, gemäß verschiedenen Ausführungsformen;
    • 19 ist ein Flussdiagramm eines Verfahrens zum Anwenden einer Kalibration eines Mikrofonarrays gemäß verschiedenen Ausführungsformen;
    • 20 ist ein Blockdiagramm eines Zweidraht-Kommunikationssystems, in dem die hierin offenbarten Kalibrationen für Mikrofonarrays angewendet werden können, gemäß verschiedenen Ausführungsformen; und
    • 21-22 sind Flussdiagramme von Verfahren zum Kalibrieren von Mikrofonen bzw. Anwenden der Kalibrationen für Mikrofonarrays gemäß verschiedenen Ausführungsformen.
  • Ausführliche Beschreibung
  • Hierin sind Systeme und Techniken zur Kalibration eines Mikrofonarrays offenbart, sowie Kommunikationssysteme, in denen kalibrierte Mikrofone verwendet werden können. Wenn ein Array von Mikrofonen zur Strahlformung (z. B. als Teil einer Straßengeräuschunterdrückung, einer anderen Rauschunterdrückung oder einer selektiven Broadcast-Anwendung) verwendet wird, können Fertigungstoleranzen zwischen den verschiedenen Mikrofonen im Array eine Leistungsfähigkeitsverschlechterung bestimmter Strahlformungsalgorithmen verursachen. Einige herkömmliche Kalibrationsprozeduren versuchen, diese Verschlechterung durch das Erzeugen von Filterkoeffizienten für die Mikrofone anzusprechen, um die Differenzen in den Größen der Frequenzantworten der Mikrofone auszugleichen. Herkömmliche Kalibrationsprozeduren versäumen jedoch, den Einfluss von Phasentoleranzen zwischen den Mikrofonen in einem Array zu berücksichtigen.
  • Die hierin offenbarten Systeme und Techniken können sowohl Phasen- als auch Größenkalibration für Mikrofonarrays bereitstellen, was zu einer verbesserten Leistungsfähigkeit für Strahlformung und andere Anwendungen führt. Ferner sind verschiedene Systeme und Verfahren hierin zur lokalen Speicherung von Kalibrationskoeffizienten im Mikrofonarray (z. B. zur Zeit der Herstellung und Kalibration) offenbart. Ferner können verschiedene hierin offenbarte Systeme und Verfahren eine zentrale Anwendung der Kalibration eines Mikrofonarrays (z. B. in einem Edge-Prozessor zur Betriebszeit) beinhalten, um unkalibrierte Mikrofonsignale mit kalibrierten Mikrofonsignalen weiter unten in der Signalkette zu ersetzen. Beliebige der hierin offenbarten Systeme und Verfahren zur Kalibration eines Mikrofonarrays können durch die hierin offenbarten Kommunikationssysteme (z. B. die Systeme 100) implementiert werden.
  • In der folgenden ausführlichen Beschreibung wird Bezug auf die begleitenden Zeichnungen genommen, die Teil hiervon bilden, wobei gleiche Ziffern überall gleiche Teile bezeichnen, und in denen veranschaulichend Ausführungsformen gezeigt sind, die umgesetzt werden können. Es versteht sich, dass andere Ausführungsformen genutzt werden können, und strukturelle oder logische Änderungen vorgenommen werden können, ohne vom Schutzumfang der vorliegenden Offenbarung abzuweichen. Daher soll die folgende ausführliche Beschreibung nicht in einem beschränkenden Sinn verstanden werden.
  • Verschiedene Operationen können als mehrere diskrete Handlungen oder Operationen nacheinander auf eine Art und Weise beschrieben werden, die für das Verständnis des beanspruchten Gegenstands am hilfreichsten ist. Die Reihenfolge der Beschreibung sollte jedoch nicht derart ausgelegt werden, dass sie impliziert, dass diese Operationen notwendigerweise reihenfolgeabhängig sind. Insbesondere werden diese Operationen möglicherweise nicht in der Reihenfolge der Darstellung durchgeführt. Beschriebene Operationen können in einer anderen Reihenfolge als in der beschriebenen Ausführungsform durchgeführt werden. Verschiedene zusätzliche Operationen können durchgeführt werden und/oder beschriebene Operationen können in zusätzlichen Ausführungsformen weggelassen werden.
  • Für den Zweck der vorliegenden Offenbarung bedeutet der Ausdruck „A und/oder B“ (A), (B) oder (A und B). Für den Zweck 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 hierin im Singular (z. B. ein „Prozessor“, eine „Peripherievorrichtung“ usw.) referenziert oder veranschaulicht werden, aber dies dient lediglich der Vereinfachung der Erörterung, und ein beliebiges Element, auf das im Singular Bezug genommen wird, kann gemäß den Lehren hierin mehrere solche Elemente einschließen.
  • Die Beschreibung verwendet die Ausdrücke „in einer Ausführungsform“ oder „in Ausführungsformen“, die sich jeweils auf eine oder mehrere derselben oder unterschiedlicher Ausführungsformen beziehen können. Ferner sind die Begriffe „umfassend“, „einschließlich“, „aufweisend“ und dergleichen, wie mit Bezug auf Ausführungsformen der vorliegenden Offenbarung verwendet, synonym. Wie hierin verwendet, kann sich der Begriff „Schaltungsanordnung“ auf eine anwendungsspezifische integrierte Schaltung (ASIC), eine elektronische Schaltung und eine optische Schaltung, einen Prozessor (gemeinsam genutzt, dediziert oder Gruppe) und/oder Speicher (gemeinsam genutzt, dediziert oder Gruppe), der ein oder mehrere Software- oder Firmwareprogramme ausführt, eine kombinatorische Logikschaltung und/oder eine andere geeignete Hardware, die die beschriebene Funktionalität bereitstellt, beziehen, Teil davon sein oder einschließen.
  • 1 ist ein Blockdiagramm eines veranschaulichenden Halbduplex-Zweidraht-Kommunikationssystems 100 gemäß verschiedenen Ausführungsformen. Das System 100 beinhaltet einen Host 1 10, einen Hauptknoten 102-1 und mindestens einen Unterknoten 102-2. In 1 sind drei Unterknoten (0, 1 und 2) veranschaulicht. Die Darstellung von drei Unterknoten 102-2 in 1 ist lediglich veranschaulichend, und das System 100 kann nach Wunsch einen, zwei oder mehr Unterknoten 102-2 beinhalten.
  • Der Hauptknoten 102-1 kann über einen Zweidrahtbus 106 mit den Unterknoten 102-2 kommunizieren. Der Bus 106 kann unterschiedliche Zweidrahtbuslinks zwischen benachbarten Knoten entlang des Busses 106 beinhalten, um die Knoten entlang des Busses 106 auf eine verkettete Weise zu verbinden. Beispielsweise, wie in 1 veranschaulicht, kann der Bus 106 einen Link, der den Hauptknoten 102-1 mit dem Unterknoten 0 koppelt, einen Link, der den Unterknoten 0 mit dem Unterknoten 1 gekoppelt, und einen Link, der den Unterknoten 1 mit dem Unterknoten 2 koppelt, beinhalten. In einigen Ausführungsformen können die Links des Busses 106 jeweils aus einem einzelnen Twisted-Wire-Pair (z. B. einem ungeschirmten Twisted-Pair) gebildet sein. In einigen Ausführungsformen können die Links des Busses 106 jeweils aus einem Koaxialkabel gebildet sein (wobei z. B. der Kern die „positive“ Leitung bereitstellt und die Abschirmung die „negative“ Leitung bereitstellt, oder umgekehrt). Die Zweidrahtbuslinks liefern zusammen einen vollständigen elektrischen Pfad (z. B. einen Vorwärts- und einen Rückstrompfad), sodass keine zusätzlichen Masse- oder Spannungsquellenleitungen verwendet werden müssen.
  • Der Host 110 kann einen Prozessor beinhalten, der den Hauptknoten 102-1 programmiert und als der Ursprung und der Empfänger verschiedener Nutzdaten agiert, die entlang des Busses 106 übertragen werden. In einigen Ausführungsformen kann der Host 110 zum Beispiel ein Mikrocontroller sein oder diesen beinhalten. Insbesondere kann der Host 110 der Master von I2S-Kommunikationen (I2S: Inter-Integrated Circuit Sound) sein, die entlang des Busses 106 stattfinden. Der Host 110 kann über ein I2S/TDM-Protokoll (TDM: Zeitmultiplex), ein SPI-Protokoll (SPI: Serial Peripheral Interface) und/oder ein I2C-Protokoll (I2C: Inter-Integrated Circuit) mit dem Hauptknoten 102-1 kommunizieren. In einigen Ausführungsformen kann der Hauptknoten 102-1 ein Transceiver sein (z. B. der Knoten-Transceiver 120, der unten mit Bezug auf 2 erörtert wird), der sich in einem selben Gehäuse wie der Host 110 befindet. Der Hauptknoten 102-1 kann durch den Host 110 über den I2C-Bus für Konfiguration und Rücklesung programmierbar sein und kann dazu ausgelegt sein, Takt, Synchronisation und Framing für alle Unterknoten 102-2 zu erzeugen. In einigen Ausführungsformen kann eine Erweiterung des I2C-Steuerbusses zwischen dem Host 110 und dem Hauptknoten 102-1 in den über den Bus 106 übertragenen Datenströmen eingebettet sein, was dem Host 110 einen direkten Zugriff auf Register und Statusinformationen für den einen oder die mehreren Unterknoten 102-2 gestattet, sowie eine I2C-zu-I2C-Kommunikation über Distanz ermöglicht, um dem Host 110 zu ermöglichen, die Peripherievorrichtungen 108 zu steuern. In einigen Ausführungsformen kann eine Erweiterung des SPI-Steuerbusses zwischen dem Host 110 und dem Hauptknoten 102-1 in den über den Bus 106 übertragenen Datenströmen eingebettet sein, was dem Host 110 einen direkten Zugriff auf Register und Statusinformationen für den einen oder die mehreren Unterknoten 102-2 gestattet, sowie eine SPI-zu-SPI- oder SPI-zu-I2C-Kommunikation über Distanz ermöglicht, um dem Host 110 zu ermöglichen, die Peripherievorrichtungen 108 zu steuern. In Ausführungsformen, in denen das System 100 in einem Fahrzeug enthalten ist, können der Host 110 und/oder der Hauptknoten 102-1 in einem Headend des Fahrzeugs eingeschlossen sein.
  • Der Hauptknoten 102-1 kann „Downstream“-Signale (z. B. Datensignale, Leistungssignale usw., die vom Hauptknoten 102-1 weg entlang des Busses 106 übertragen werden) erzeugen und „Upstream“-Signale (z. B. entlang des Busses 106 in Richtung des Hauptknotens 102-1 übertragen) empfangen. Der Hauptknoten 102-1 kann ein Taktsignal zur synchronen Datenübertragung über den Bus 106 bereitstellen. Wie hierin verwendet, können „synchrone Daten“ Daten beinhalten, die kontinuierlich (z. B. Audiosignale) mit einem festen Zeitintervall zwischen zwei aufeinanderfolgenden Übertragungen zu/von demselben Knoten entlang des Busses 106 gestreamt werden. In einigen Ausführungsformen kann das durch den Hauptknoten 102-1 bereitgestellte Taktsignal aus einem I2S-Eingang abgeleitet werden, der dem Hauptknoten 102-1 durch den Host 110 bereitgestellt wird. Ein Unterknoten 102-2 kann ein adressierbarer Netzwerkverbindungspunkt sein, der ein mögliches Ziel für Datenrahmen repräsentiert, die downstream auf dem Bus 106 oder upstream auf dem Bus 106 übertragen werden. Ein Unterknoten 102-2 kann auch eine mögliche Quelle von Downstream- oder Upstream-Datenrahmen repräsentieren. Das System 100 kann ermöglichen, dass Steuerinformationen und andere Daten in beide Richtungen über den Bus 106 von einem Knoten zu dem nächsten übertragen werden. Einer oder mehrere der Unterknoten 102-2 können auch durch über den Bus 106 übertragene Signale mit Leistung versorgt werden.
  • Insbesondere kann jeder des Hauptknotens 102-1 und der Unterknoten 102-2 einen positiven Upstream-Anschluss (bezeichnet als „AP“), einen negativen Upstream-Anschluss (bezeichnet als „AN“), einen positiven Downstream-Anschluss (bezeichnet als „BP“) und einen negativen Downstream-Anschluss (bezeichnet als „BN“) beinhalten. Die positiven und negativen Downstream-Anschlüsse eines Knotens können mit den positiven bzw. negativen Upstream-Anschlüssen des benachbarten Downstream-Knotens gekoppelt sein. Wie in 1 gezeigt, kann der Hauptknoten 102-1 positive und negative Upstream-Anschlüsse beinhalten, aber diese Anschlüsse werden möglicherweise nicht verwendet; in anderen Ausführungsformen beinhaltet der Hauptknoten 102-1 möglicherweise keine positiven und negativen Upstream-Anschlüsse. Der letzte Unterknoten 102-2 entlang des Busses 106 (der Unterknoten 2 in 1) kann positive und negative Downstream-Anschlüsse beinhalten, aber diese Anschlüsse werden möglicherweise nicht verwendet; in anderen Ausführungsformen beinhaltet der letzte Unterknoten 102-2 möglicherweise keine positiven und negativen Downstream-Anschlüsse.
  • Wie unten ausführlich erörtert, kann der Hauptknoten 102-1 periodisch einen Synchronisationssteuerrahmen downstream senden, optional zusammen mit Daten, die für einen oder mehrere der Unterknoten 102-2 vorgesehen sind. Beispielsweise kann der Hauptknoten 102-1 einen Synchronisationssteuerrahmen alle 1024 Bits (was einen Superrahmen repräsentiert) mit einer Frequenz von 48 kHz übertragen, was zu einer effektiven Bitrate auf dem Bus 106 von 49,152 Mbps führt. Andere Raten können unterstützt werden, einschließlich zum Beispiel 44,1 kHz. Der Synchronisationssteuerrahmen kann den Unterknoten 102-2 ermöglichen, den Beginn jedes Superrahmens zu identifizieren, und kann auch, in Kombination mit Bitübertragungsschichtcodierung/-signalisierung, jedem Unterknoten 102-2 ermöglichen, seinen internen Betriebstakt vom Bus 106 abzuleiten. Der Synchronisationssteuerrahmen kann eine Präambel zur Signalisierung des Starts der Synchronisation, sowie Steuerfelder beinhalten, die verschiedene Adressierungsmodi (z. B. Normal, Broadcast, Entdeckung), Konfigurationsinformationen (z. B. Schreiben in Register der Unterknoten 102-2), Übermittlung von 12C-Informationen, Übermittlung von SPI-Informationen, Fernsteuerung bestimmter GPIO-Pins (GPIO: General-Purpose Input/Output) an den Unterknoten 102-2 und andere Dienste ermöglichen. Ein Teil des Synchronisationssteuerrahmens im Anschluss an die Präambel und die Nutzdaten kann verschlüsselt sein, um die Wahrscheinlichkeit zu reduzieren, dass Informationen im Synchronisationssteuerrahmen mit einer neuen Präambel verwechselt werden, und um das Spektrum von damit verbundenen elektromagnetischen Emissionen zu verflachen.
  • Der Synchronisationssteuerrahmen kann zwischen Unterknoten 102-2 (optional zusammen mit anderen Daten, die vom Hauptknoten 102-1 kommen können, aber zusätzlich oder alternativ von einem oder mehreren Upstream-Unterknoten 102-2 oder von einem Unterknoten 102-2 selbst kommen können) weitergegeben werden, bis er den letzten Unterknoten 102-2 (d. h. den Unterknoten 2 in 1) erreicht, der durch den Hauptknoten 102-1 als der letzte Unterknoten 102-2 konfiguriert wurde oder sich selbst als der letzte Unterknoten 102-2 identifiziert hat. Nach dem Empfang des Synchronisationssteuerrahmens kann der letzte Unterknoten 102-2 einen Synchronisationsantwortrahmen gefolgt von jeglichen Daten, die übertragen werden dürfen (z. B. eine 24-Bit-Audioabtastung in einem designierten Zeitslot), übertragen. Der Synchronisationsantwortrahmen kann upstream zwischen Unterknoten 102-2 (optional zusammen mit Daten von Downstream-Unterknoten 102-2) weitergegeben werden, und basierend auf dem Synchronisationsantwortrahmen kann jeder Unterknoten 102-2 in der Lage sein, einen Zeitslot zu identifizieren, falls überhaupt, in dem der Unterknoten 102-2 übertragen darf.
  • In einigen Ausführungsformen können ein oder mehrere der Unterknoten 102-2 im System 100 mit einer Peripherievorrichtung 108 gekoppelt sein und mit dieser kommunizieren. Beispielsweise kann ein Unterknoten 102-2 dazu ausgelegt sein, Daten von der assoziierten Peripherievorrichtung 108 unter Verwendung von I2S-, PDM(Pulsdichtemodulation)-, TDM-, SPI- und/oder I2C-Protokollen zu lesen und/oder Daten in diese zu schreiben, wie unten erörtert. Obwohl die „Peripherievorrichtung 108“ hierin im Singular bezeichnet wird, geschieht dies lediglich zur Vereinfachung der Erörterung, und ein einzelner Unterknoten 102-2 kann mit keiner, einer oder mehreren Peripherievorrichtungen gekoppelt sein. Beispiele für Peripherievorrichtungen, die in der Peripherievorrichtung 108 eingeschlossen sein können, können einen Digitalsignalprozessor (DSP), ein feldprogrammierbares Gate-Array (FPGA), eine ASIC, einen Analog-Digital-Wandler (ADC), einen Digital-Analog-Wandler (DAC), einen Codec, ein Mikrofon, ein Mikrofonarray, einen Lautsprecher, einen Audioverstärker, einen Protokollanalysator, einen Beschleunigungsmesser oder anderen Bewegungssensor, einen Umgebungsbedingungssensor (z. B. einen Temperatur-, Luftfeuchtigkeits- und/oder Gassensor), einen drahtgebundenen oder drahtlosen Kommunikationstransceiver, eine Anzeigevorrichtung (z. B. eine Touchscreen-Anzeige), eine Benutzerschnittstellenkomponente (z. B. eine Taste, eine Wählscheibe oder eine andere Steuerung), eine Kamera (z. B. eine Videokamera), eine Speichervorrichtung oder eine beliebige andere geeignete Vorrichtung beinhalten, die Daten überträgt und/oder empfängt. Eine Anzahl von Beispielen für unterschiedliche Peripherievorrichtungskonfigurationen ist hierin ausführlich erörtert.
  • In einigen Ausführungsformen kann die Peripherievorrichtung 108 eine beliebige Vorrichtung beinhalten, die für I2S-Kommunikation konfiguriert ist; die Peripherievorrichtung 108 kann mit dem assoziierten Unterknoten 102-2 über das I2S-Protokoll kommunizieren. In einigen Ausführungsformen kann die Peripherievorrichtung 108 eine beliebige Vorrichtung beinhalten, die für I2C-Kommunikation konfiguriert ist; die Peripherievorrichtung 108 kann mit dem assoziierten Unterknoten 102-2 über das I2C-Protokoll kommunizieren. In einigen Ausführungsformen kann die Peripherievorrichtung 108 eine beliebige Vorrichtung beinhalten, die für SPI-Kommunikation konfiguriert ist; die Peripherievorrichtung 108 kann mit dem assoziierten Unterknoten 102-2 über das SPI-Protokoll kommunizieren. In einigen Ausführungsformen ist der Unterknoten 102-2 möglicherweise nicht mit irgendeiner Peripherievorrichtung 108 gekoppelt.
  • Ein Unterknoten 102-2 und seine assoziierte Peripherievorrichtung 108 können in separaten Gehäusen enthalten und über eine drahtgebundene oder drahtlose Kommunikationsverbindung gekoppelt sein oder können in einem gemeinsamen Gehäuse enthalten sein. Beispielsweise kann ein Lautsprecher, der als eine Peripherievorrichtung 108 verbunden ist, mit der Hardware für einen assoziierten Unterknoten 102-2 (z. B. den Knoten-Transceiver 120, wie unten mit Bezug auf 2 erörtert) verpackt sein, sodass die Hardware für den assoziierten Unterknoten 102-2 in einem Gehäuse enthalten ist, das andere Lautsprecherkomponenten beinhaltet. Das gleiche kann für einen beliebigen Typ von Peripherievorrichtung 108 gelten.
  • Wie oben erörtert, kann der Host 110 mit dem Hauptknoten 102-1 unter Verwendung von Mehrkanal-I2S-, SPI- und/oder I2C-Kommunikationsprotokollen kommunizieren oder diesen steuern. Beispielsweise kann der Host 1 10 Daten über I2S zu einem Rahmenpuffer (nicht veranschaulicht) im Hauptknoten 102-1 übertragen, und der Hauptknoten 102-1 kann Daten vom Rahmenpuffer lesen und die Daten entlang des Busses 106 übertragen. Analog kann der Hauptknoten 102-1 über den Bus 106 empfangene Daten im Rahmenpuffer speichern, und dann die Daten über I2S zu dem Host 1 10 übertragen.
  • Jeder Unterknoten 102-2 kann interne Steuerregister aufweisen, die durch Kommunikationen vom Hauptknoten 102-1 konfiguriert werden können. Eine Anzahl solcher Register wird unten ausführlich erörtert. Jeder Unterknoten 102-2 kann Downstream-Daten empfangen und die Daten weiter downstream weitersenden. Jeder Unterknoten 102-2 kann Upstream-Daten empfangen und/oder erzeugen und/oder Daten upstream weitersenden und/oder Daten zu einer Upstream-Transaktion hinzufügen.
  • Kommunikationen entlang des Busses 106 können in periodischen Superrahmen stattfinden. Jeder Superrahmen kann mit einem Downstream-Synchronisationssteuerrahmen beginnen; in Perioden von Downstream-Übertragung (auch „Downstream-Teile“ genannt), Upstream-Übertragung (auch „Upstream-Teile“ genannt) und keiner Übertragung (wenn der Bus 106 nicht angetrieben wird) aufgeteilt sein; und kurz vor der Übertragung eines anderen Downstream-Synchronisationssteuerrahmens enden. Der Hauptknoten 102-1 kann (durch den Host 110) mit einer Anzahl von Downstream-Teilen zur Übertragung zu einem oder mehreren der Unterknoten 102-2 und einer Anzahl von Upstream-Teilen zum Empfang von einem oder mehreren der Unterknoten 102-2 programmiert sein. Jeder Unterknoten 102-2 kann (durch den Hauptknoten 102-1) mit einer Anzahl von Downstream-Teilen zum Weitersenden herunter entlang des Busses 106, einer Anzahl von zu konsumierenden Downstream-Teilen, einer Anzahl von Upstream-Teilen zum Weitersenden herauf entlang des Busses 106 und einer Anzahl von Upstream-Teilen, in denen der Unterknoten 102-2 Daten, die vom Unterknoten 102-2 und der assoziierten Peripherievorrichtung 108 empfangen werden, übertragen kann, programmiert sein. Die Kommunikation entlang des Busses 106 wird unten mit Bezug auf 2-12 zusätzlich erörtert.
  • Ausführungsformen der hierin offenbarten Kommunikationssysteme 100 sind unter herkömmlichen Kommunikationssystemen in dem Sinne einzigartig, dass alle Unterknoten 102-2 Ausgangsdaten über den Bus 106 innerhalb desselben Superrahmens empfangen können (z. B. alle Unterknoten 102-2 können dieselbe Audioabtastung ohne Abtastverzögerungen zwischen den Knoten 102 empfangen). In herkömmlichen Kommunikationssystemen werden Daten in jedem Knoten gepuffert und verarbeitet, bevor sie downstream in den nächsten Rahmen zum nächsten Knoten weitergeleitet werden. Demzufolge hängt in diesen herkömmlichen Kommunikationssystemen die Latenz der Datenübertragung von der Anzahl von Knoten ab (wobei jeder Knoten eine Verzögerung von einer Audioabtastung hinzufügt). In den hierin offenbarten Kommunikationssystemen 100 kann der Bus 106 nur einen Latenzzyklus hinzufügen, ungeachtet dessen, ob der erste oder letzte Unterknoten 102-2 die Daten empfängt. Das gleiche gilt für Upstream-Kommunikation; Daten können an einem Upstream-Knoten 102 im nächsten Superrahmen verfügbar sein, ungeachtet dessen, welcher Unterknoten 102-2 die Daten bereitstellte.
  • Ferner können in Ausführungsformen der hierin offenbarten Kommunikationssysteme 100 Downstream-Daten (z. B. Downstream-Audiodaten) auf den Bus 106 durch den Hauptknoten 102-1 oder durch beliebige der Unterknoten 102-2, die sich upstream vom empfangenden Unterknoten 102-2 befinden, gelegt werden; gleichermaßen können Upstream-Daten (z. B. Upstream-Audiodaten) auf den Bus 106 durch beliebige der Unterknoten 102-2, die sich downstream vom empfangenden Knoten 102 befinden (d. h. der Hauptknoten 102-1 oder ein Unterknoten 102-2), gelegt werden. Eine solche Fähigkeit ermöglicht einem Unterknoten 102-2, sowohl Upstream- als auch Downstream-Daten zu einer spezifischen Zeit (z. B. einer spezifischen Audioabtastzeit) bereitzustellen. Für Audiodaten können diese Daten in der nächsten Audioabtastung an einem beliebigen Downstream- oder Upstream-Knoten 102 ohne weitere Verzögerungen empfangen werden (neben geringfügigen Verarbeitungsverzögerungen, die innerhalb der Abgrenzung des Superrahmens fallen). Wie hierin ferner erörtert, können Steuernachrichten (z. B. in einem Synchronisationssteuerrahmen (SCF)) zu dem letzten Knoten 102 (einen spezifischen Knoten 102 adressierend oder Broadcast) laufen, und eine Upstream-Antwort (z. B. in einem Synchronisationsantwortrahmen (SRF)) kann durch den letzten Downstream-Knoten 102 im selben Superrahmen erzeugt werden. Die Knoten 102, die durch den SCF adressiert wurden, ändern den Inhalt des Upstream-SRF mit ihrer eigenen Antwort. Demzufolge können innerhalb derselben Audioabtastung eine Steuerung und eine Antwort vollständig über mehrere Knoten 102 ausgeführt werden. Dies steht auch im Gegensatz zu herkömmlichen Kommunikationssystemen, in denen Abtastlatenzen zwischen Knoten auftreten würden (für das Weiterleiten von Nachrichten von einem Knoten zu dem anderen).
  • Jeder des Hauptknotens 102-1 und der Unterknoten 102-2 kann einen Transceiver beinhalten, um die Kommunikation zwischen Komponenten des Systems 100 zu verwalten. 2 ist ein Blockdiagramm eines Knoten-Transceivers 120, der in einem Knoten (z. B. dem Hauptknoten 102-1 oder einem Unterknoten 102-2) des Systems 100 von 1 enthalten sein kann, gemäß verschiedenen Ausführungsformen. In einigen Ausführungsformen kann ein Knoten-Transceiver 120 in jedem der Knoten des Systems 100 enthalten sein, und ein Steuersignal kann dem Knoten-Transceiver 120 über einen Haupt(MAIN)-Pin bereitgestellt werden, um anzugeben, ob der Knoten-Transceiver 120 als ein Hauptknoten (z. B. wenn der MAIN-Pin High ist) oder ein Unterknoten (z. B. wenn der MAIN-Pin Low ist) agieren soll.
  • Der Knoten-Transceiver 120 kann einen Upstream-Differenzsignalisierung(DS)-Transceiver 122 und einen Downstream-DS-Transceiver 124 beinhalten. Der Upstream-DS-Transceiver 122 kann mit den positiven und negativen Upstream-Anschlüssen gekoppelt sein, die oben mit Bezug auf 1 erörtert sind, und der Downstream-DS-Transceiver 124 kann mit den positiven und negativen Downstream-Anschlüssen gekoppelt sein, die oben mit Bezug auf 1 erörtert sind. In einigen Ausführungsformen kann der Upstream-DS-Transceiver 122 ein Niederspannungs-DS(LVDS)-Transceiver sein und der Downstream-DS-Transceiver 124 kann ein LVDS-Transceiver sein. Jeder Knoten im System 100 kann mit dem Bus 106 AC-gekoppelt sein, und Datensignale können entlang des Busses 106 (z. B. über den Upstream-DS-Transceiver 122 und/oder den Downstream-DS-Transceiver 124) unter Verwendung einer vorbestimmten Form von DS (z. B. LVDS oder Multipunkt-LVDS (MLVDS) oder eine ähnliche Signalisierung) mit geeigneter Codierung übermittelt werden, um Timing-Informationen über den Bus 106 bereitzustellen (z. B. differenzielle Manchester-Codierung, Biphase-Mark-Codierung, Manchester-Codierung, invertierte Non-Return-to-Zero-Codierung (NRZI-Codierung) mit Lauflängenbegrenzung oder eine beliebige andere geeignete Codierung).
  • Der Upstream-DS-Transceiver 122 und der Downstream-DS-Transceiver 124 können mit einer Busprotokollschaltungsanordnung 126 kommunizieren, und die Busprotokollschaltungsanordnung 126 kann mit einem Phasenregelkreis (PLL) 128 und einer Spannungsreglerschaltungsanordnung 130 unter anderen Komponenten kommunizieren. Wenn der Knoten-Transceiver 120 eingeschaltet wird, kann die Spannungsreglerschaltungsanordnung 130 ein „Power Good“-Signal auslösen, das durch den PLL 128 als eine Einschaltrücksetzung verwendet wird.
  • Wie oben angemerkt, können ein oder mehrere der Unterknoten 102-2 im System 100 über den Bus 106 übertragene Leistung gleichzeitig mit Daten empfangen. Für Leistungsverteilung (die optional ist, da einige der Unterknoten 102-2 so ausgebildet sein können, dass ihnen exklusiv lokale Leistung bereitgestellt wird) kann der Hauptknoten 102-1 einen DC-Bias auf den Buslink zwischen dem Hauptknoten 102-1 und dem Unterknoten 0 platzieren (z. B. durch Verbindung, über ein Tiefpassfilter, von einem der Downstream-Anschlüsse mit einer Spannungsquelle, die durch einen Spannungsregler bereitgestellt wird, und des anderen Downstream-Anschlusses mit Masse). Der DC-Bias kann eine vorbestimmte Spannung sein, wie etwa 5 Volt, 8 Volt, die Spannung einer Autobatterie oder eine höhere Spannung. Jeder nachfolgende Unterknoten 102-2 kann selektiv seinen Upstream-Buslink anzapfen, um Leistung zurückzugewinnen (z. B. unter Verwendung der Spannungsreglerschaltungsanordnung 130). Diese Leistung kann verwendet werden, um den Unterknoten 102-2 selbst (und optional eine oder mehrere Peripherievorrichtungen 108, die mit dem Unterknoten 102-2 gekoppelt sind) mit Leistung zu versorgen. Ein Unterknoten 102-2 kann auch selektiv den Buslink downstream für den nächstliegenden Unterknoten 102-2 mit entweder der zurückgewonnenen Leistung vom Upstream-Buslink oder von einer lokalen Leistungsversorgung vorspannen. Beispielsweise kann der Unterknoten 0 den DC-Bias auf dem Upstream-Link des Busses 106 verwenden, um Leistung für den Unterknoten 0 selbst und/oder für eine oder mehrere assoziierte Peripherievorrichtungen 108 zurückzugewinnen, und/oder der Unterknoten 0 kann Leistung von seinem Upstream-Link des Busses 106 zurückzugewinnen, um seinen Downstream-Link des Busses 106 vorzuspannen.
  • Somit kann in einigen Ausführungsformen jeder Knoten im System 100 Leistung an den folgenden Downstream-Knoten über einen Downstream-Buslink bereitstellen. Die Leistungsversorgung von Knoten kann auf eine sequenzielle Art und Weise durchgeführt werden. Beispielsweise kann der Hauptknoten 102-1, nach der Entdeckung und Konfiguration des Unterknotens 0 über den Bus 106, den Unterknoten 0 anweisen, Leistung an seinen Downstream-Link des Busses 106 bereitzustellen, um Leistung an den Unterknoten 1 bereitzustellen; nachdem der Unterknoten 1 entdeckt und konfiguriert ist, kann der Hauptknoten 102-1 den Unterknoten 1 anweisen, Leistung an seinen Downstream-Link des Busses 106 bereitzustellen, um Leistung an den Unterknoten 2 bereitzustellen (und so weiter für zusätzliche Unterknoten 102-2, die mit dem Bus 106 gekoppelt sind). In einigen Ausführungsformen können einer oder mehrere der Unterknoten 102-2 lokal mit Leistung versorgt werden, anstelle von oder zusätzlich zu einer Leistungsversorgung von seinem Upstream-Buslink. In einigen solchen Ausführungsformen kann die lokale Leistungsquelle für einen gegebenen Unterknoten 102-2 verwendet werden, um Leistung an einen oder mehrere Downstream-Unterknoten bereitzustellen.
  • In einigen Ausführungsformen kann eine Upstream-Busschnittstellenschaltungsanordnung 132 zwischen dem Upstream-DS-Transceiver 122 und der Spannungsreglerschaltungsanordnung 130 angeordnet sein, und eine Downstream-Busschnittstellenschaltungsanordnung 131 kann zwischen dem Downstream-DS-Transceiver 124 und der Spannungsreglerschaltungsanordnung 130 angeordnet sein. Da jeder Link des Busses 106 AC(Signal)- und DC(Leistung)-Komponenten führen kann, können die Upstream-Busschnittstellenschaltungsanordnung 132 und die Downstream-Busschnittstellenschaltungsanordnung 131 die AC- und DC-Komponenten trennen, wobei die AC-Komponenten dem Upstream-DS-Transceiver 122 und dem Downstream-DS-Transceiver 124 bereitgestellt werden und die DC-Komponenten der Spannungsreglerschaltungsanordnung 130 bereitgestellt werden. AC-Kopplungen auf der Leitungsseite des Upstream-DS-Transceivers 122 und des Downstream-DS-Transceivers 124 isolieren im Wesentlichen die Transceiver 122 und 124 von der DC-Komponente auf der Leitung, um bidirektionale Hochgeschwindigkeitskommunikationen zu ermöglichen. Wie oben erörtert, kann die DC-Komponente für Leistung angezapft werden, und die Upstream-Busschnittstellenschaltungsanordnung 132 und die Downstream-Busschnittstellenschaltungsanordnung 131 können zum Beispiel einen Ferrit, eine Gleichtaktdrossel oder eine Induktivität beinhalten, um die AC-Komponente zu reduzieren, die der Spannungsreglerschaltungsanordnung 130 bereitgestellt wird. In einigen Ausführungsformen kann die Upstream-Busschnittstellenschaltungsanordnung 132 im Upstream-DS-Transceiver 122 enthalten sein und/oder die Downstream-Busschnittstellenschaltungsanordnung 131 kann im Downstream-DS-Transceiver 124 enthalten sein; in anderen Ausführungsformen kann sich die Filterschaltungsanordnung extern zu den Transceivern 122 und 124 befinden.
  • Der Knoten-Transceiver 120 kann einen Transceiver 127 für eine I2S-, TDM- und PDM-Kommunikation zwischen dem Knoten-Transceiver 120 und einer externen Vorrichtung 155 beinhalten. Obwohl auf die „externe Vorrichtung 155“ hierin im Singular Bezug genommen werden kann, dient dies lediglich der Veranschaulichung, und mehrere externe Vorrichtungen können über den I2S/TDM/PDM-Transceiver 127 mit dem Knoten-Transceiver 120 kommunizieren. Wie in der Technik bekannt, dient das I2S-Protokoll für das Führen von pulscodemodulierten (PCM) Informationen (z. B. zwischen Audiochips auf einer Leiterplatte (PCB)). Wie hierin verwendet, kann sich „I2S/TDM“ auf eine Erweiterung des I2S-Stereo(2-Kanal)-Inhalts auf mehrere Kanäle unter Verwendung von TDM beziehen. Wie in der Technik bekannt, kann PDM in Sigma-Delta-Wandlern verwendet werden, und insbesondere kann das PDM-Format ein überabgetastetes 1-Bits-Sigma-Delta-ADC-Signal vor der Dezimierung repräsentieren. Das PDM-Format wird häufig als das Ausgangsformat für digitale Mikrofone verwendet. Der I2S/TDM/PDM-Transceiver 127 kann mit der Busprotokollschaltungsanordnung 126 und Pins zur Kommunikation mit der externen Vorrichtung 155 in Kommunikation stehen. Sechs Pins, BCLK, SYNC, DTX[1:0] und DRX[1:0], sind in 2 veranschaulicht; der BCLK-Pin kann für einen I2S-Bittakt verwendet werden, der SYNC-Pin kann für ein I2S-Rahmensynchronisationssignal verwendet werden und die DTX[1:0]- und DRX[1:0]-Pins werden zum Übertragen bzw. Empfangen von Datenkanälen verwendet. Obwohl zwei Übertragungspins (DTX[1:0]) und zwei Empfangspins (DRX[1:0]) in 2 veranschaulicht sind, kann eine beliebige gewünschte Anzahl von Empfangs- und/oder Übertragungspins verwendet werden.
  • Wenn der Knoten-Transceiver 120 im Hauptknoten 102-1 enthalten ist, kann die externe Vorrichtung 155 den Host 110 beinhalten, und der I2S/TDM/PDM-Transceiver 127 kann einen I2S-Slave (bezüglich BCLK und SYNC) bereitstellen, der Daten vom Host 110 empfangen und Daten zum Host 110 synchron mit einem I2S-Schnittstellentakt des Hosts 110 senden kann. Insbesondere kann ein I2S-Rahmensynchronisationssignal am SYNC-Pin als ein Eingang vom Host 110 empfangen werden, und der PLL 128 kann dieses Signal zum Erzeugen von Takten verwenden. Wenn der Knoten-Transceiver 120 in einem Unterknoten 102-2 enthalten ist, kann die externe Vorrichtung 155 eine oder mehrere Peripherievorrichtungen 108 beinhalten, und der I2S/TDM/PDM-Transceiver 127 kann einen I2S-Takt-Master (für BCLK und SYNC) bereitstellen, der die I2S-Kommunikation mit der Peripherievorrichtung 108 steuern kann. Insbesondere kann der I2S/TDM/PDM-Transceiver 127 ein I2S-Rahmensynchronisationssignal am SYNC-Pin als einen Ausgang bereitstellen. Register im Knoten-Transceiver 120 können bestimmen, welche und wie viele I2S/TDM-Kanäle als Datenslots über den Bus 106 übertragen werden. Ein TDM-Modus(TDMMODE)-Register im Knoten-Transceiver 120 kann einen Wert dafür speichern, wie viele TDM-Kanäle zwischen aufeinanderfolgenden SYNC-Impulsen an einem TDM-Übertragungs- oder -Empfangspin passen. Zusammen mit der Kenntnis über die Kanalgröße kann der Knoten-Transceiver 120 automatisch die BCLK-Rate so einstellen, dass sie mit der Anzahl von Bits innerhalb der Abtastzeit (z. B. 48 kHz) übereinstimmen.
  • Der Knoten-Transceiver 120 kann einen Transceiver 129 für eine I2C-Kommunikation zwischen dem Knoten-Transceiver 120 und einer externen Vorrichtung 157 beinhalten. Obwohl auf die „externe Vorrichtung 157“ hierin im Singular Bezug genommen werden kann, dient dies lediglich der Veranschaulichung, und mehrere externe Vorrichtungen können mit dem Knoten-Transceiver 120 über den I2C-Transceiver 129 kommunizieren. Wie in der Technik bekannt, verwendet das I2C-Protokoll Takt(SCL)- und Daten(SDA)-Leitungen, um Datentransfer bereitzustellen. Der I2C-Transceiver 129 kann mit der Busprotokollschaltungsanordnung 126 und Pins zur Kommunikation mit der externen Vorrichtung 157 in Kommunikation stehen. Vier Pins, ADR1, ADR2, SDA und SCL, sind in 2 veranschaulicht; ADR1 und ADR2 können verwendet werden, um die durch den Knoten-Transceiver 120 verwendeten I2C-Adressen zu modifizieren, wenn der Knoten-Transceiver 120 als ein I2C-Slave agiert (z. B. wenn er im Hauptknoten 102-1 enthalten ist), und SDA und SCL werden für die seriellen I2C-Daten bzw. seriellen Taktsignale verwendet. Wenn der Knoten-Transceiver 120 im Hauptknoten 102-1 enthalten ist, kann die externe Vorrichtung 157 den Host 110 beinhalten, und der I2C-Transceiver 129 kann einen I2C-Slave bereitstellen, der Programmieranweisungen vom Host 110 empfangen kann. Insbesondere kann ein serielles I2C-Taktsignal am SCL-Pin als ein Eingang vom Host 110 für Registerzugriffe empfangen werden. Wenn der Knoten-Transceiver 120 in einem Unterknoten 102-2 enthalten ist, kann die externe Vorrichtung 157 eine Peripherievorrichtung 108 beinhalten, und der I2C-Transceiver 129 kann einen I2C-Master bereitstellen, um dem I2C-Transceiver zu ermöglichen, eine oder mehrere Peripherievorrichtungen gemäß Anweisungen zu programmieren, die durch den Host 110 bereitgestellt und über den Bus 106 zum Knoten-Transceiver 120 übertragen werden. Insbesondere kann der I2C-Transceiver 129 ein serielles I2S-Taktsignal am SCL-Pin als einen Ausgang bereitstellen.
  • Der Knoten-Transceiver 120 kann einen Transceiver 136 für eine SPI-Kommunikation zwischen dem Knoten-Transceiver 120 und einer externen Vorrichtung 138 beinhalten. Obwohl auf die „externe Vorrichtung 138“ hierin im Singular Bezug genommen werden kann, dient dies lediglich der Veranschaulichung, und mehrere externe Vorrichtungen können mit dem Knoten-Transceiver 120 über den SPI-Transceiver 136 kommunizieren. Wie in der Technik bekannt, verwendet das SPI-Protokoll Slave-Select(SS)-, Takt(BCLK)-, Master-Out-Slave-In(MOSI)- und Master-In-Slave-Out(MISO)-Datenleitungen, um Datentransfer bereitzustellen, und Pins, die diesen vier Leitungen entsprechen, sind in 2 veranschaulicht. Der SPI-Transceiver 136 kann mit der Busprotokollschaltungsanordnung 126 und Pins zur Kommunikation mit der externen Vorrichtung 138 in Kommunikation stehen. Wenn der Knoten-Transceiver 120 im Hauptknoten 102-1 enthalten ist, kann die externe Vorrichtung 138 den Host 110 oder eine andere externe Vorrichtung beinhalten, und der SPI-Transceiver 136 kann einen SPI-Slave bereitstellen, der Befehle vom Host 110 oder der anderen externen Vorrichtung empfangen und auf diese reagieren kann. Wenn der Knoten-Transceiver 120 in einem Unterknoten 102-2 enthalten ist, kann die externe Vorrichtung 138 eine Peripherievorrichtung 108 beinhalten und der SPI-Transceiver 136 kann einen SPI-Host bereitstellen, um dem SPI-Transceiver 136 zu ermöglichen, Befehle zu einer oder mehreren Peripherievorrichtungen 108 zu senden. Der SPI-Transceiver 136 kann einen Lesedaten-FIFO(First-In-First-Out)-Puffer und einen Schreibdaten-FIFO-Puffer beinhalten. Der Lesedaten-FIFO-Puffer kann verwendet werden, um von anderen Knoten 102 gelesene Daten zu sammeln, und kann durch eine externe Vorrichtung 138 gelesen werden, wenn die externe Vorrichtung 138 einen geeigneten Lesebefehl überträgt. Der Schreibdaten-FIFO-Puffer kann verwendet werden, um Schreibdaten von der externen Vorrichtung 138 zu sammeln, bevor die Schreibdaten zu einer anderen Vorrichtung übertragen werden.
  • Der Knoten-Transceiver 120 kann einen Interrupt-Anforderung(IRQ)-Pin in Kommunikation mit der Busprotokollschaltungsanordnung 126 beinhalten. Wenn der Knoten-Transceiver 120 im Hauptknoten 102-1 enthalten ist, kann die Busprotokollschaltungsanordnung 126 ereignisgesteuerte Interrupt-Anforderungen in Richtung des Hosts 1 10 über den IRQ-Pin bereitstellen. Wenn der Knoten-Transceiver 120 in einem Unterknoten 102-2 enthalten ist (z. B. wenn der MSTR-Pin Low ist), kann der IRQ-Pin als ein GPIO-Pin mit Interrupt-Anforderungsfähigkeit dienen. Der Knoten-Transceiver 120 kann zusätzlich zu den in 2 gezeigten andere Pins beinhalten (z. B. wie unten erörtert).
  • Das System 100 kann in einem beliebigen einer Anzahl unterschiedlicher Betriebsmodi arbeiten. Die Knoten auf dem Bus 106 können jeweils ein Register aufweisen, das angibt, welcher Betriebsmodus gegenwärtig aktiviert ist. Es folgen Beschreibungen von Beispielen für verschiedene Betriebsmodi, die implementiert werden können. In einem Standby-Betriebsmodus ist die Busaktivität reduziert, um globale Leistungseinsparungen zu ermöglichen; der einzige benötigte Verkehr ist eine minimale Downstream-Präambel, um die PLLs jedes Knotens (z. B. der PLL 128) synchronisiert zu halten. Im Standby-Betriebsmodus werden Lese- und Schreibvorgänge über den Bus 106 nicht unterstützt. In einem Entdeckung-Betriebsmodus kann der Hauptknoten 102-1 vorbestimmte Signale entlang des Busses 106 aussenden und auf geeignete Antworten warten, um die Topologie der Unterknoten 102-2, die entlang des Busses 106 verteilt sind, zu kartieren. In einem normalen Betriebsmodus kann ein voller Registerzugang zu und von den Unterknoten 102-2 sowie Zugang zu und von Peripherievorrichtungen 108 über den Bus 106 verfügbar sein. Der normale Modus kann global durch den Host 1 10 mit oder ohne synchrone Upstream-Daten und mit oder ohne synchrone Downstream-Daten konfiguriert werden.
  • 3 ist ein Diagramm eines Teils eines Synchronisationssteuerrahmens 180, der zur Kommunikation im System 100 verwendet wird, gemäß verschiedenen Ausführungsformen. Insbesondere kann der Synchronisationssteuerrahmen 180 zur Datentaktrückgewinnung und PLL-Synchronisation verwendet werden, wie unten erörtert. Wie oben angemerkt, können Kommunikationen, da Kommunikationen über den Bus 106 in beide Richtungen auftreten, in Downstream-Teile und Upstream-Teile zeitlich gemultiplext sein. In einem Downstream-Teil können ein Synchronisationssteuerrahmen und Downstream-Daten vom Hauptknoten 102-1 übertragen werden, während in einem Upstream-Teil ein Synchronisationsantwortrahmen und Upstream-Daten von jedem der Unterknoten 102-2 zum Hauptknoten 102-1 übertragen werden können. Der Synchronisationssteuerrahmen 180 kann eine Präambel 182 und Steuerdaten 184 beinhalten. Jeder Unterknoten 102-2 kann dazu ausgelegt sein, die Präambel 182 des empfangenen Synchronisationssteuerrahmens 180 als eine Zeitbasis zur Speisung des PLL 128 zu verwenden. Um dies zu ermöglichen, folgt eine Präambel 182 nicht den „Regeln“ zulässiger Steuerdaten 1 84 und kann somit leicht von den Steuerdaten 184 unterschieden werden.
  • Beispielsweise kann in einigen Ausführungsformen die Kommunikation entlang des Busses 106 unter Verwendung eines differenziellen Takt-zuerst-Übergang-auf-Null-Manchester-Codierungsschemas codiert werden. Gemäß einem solchen Codierungsschema beginnt jede Bitzeit mit einem Taktübergang. Falls der Datenwert null ist, geht das codierte Signal erneut in der Mitte der Bitzeit über. Falls der Datenwert eins ist, geht das codierte Signal nicht erneut über. Die in 5 veranschaulichte Präambel 182 kann das Codierungsprotokoll verletzen (indem sie z. B. Taktübergänge aufweist, die nicht zu Beginn der Bitzeiten 5, 7 und 8 auftreten), was bedeutet, dass die Präambel 182 möglicherweise nicht mit irgendeinem gültigen (z. B. richtig codierten) Muster für die Steuerdaten 1 84 übereinstimmt. Zusätzlich kann die Präambel 182 nicht reproduziert werden, indem ein gültiges Muster für die Steuerdaten 184 genommen wird und der Bus 106 über eine einzelne Bitzeit oder für einen Mehrbitzeitraum auf High oder Low gezwungen wird. Die in 5 veranschaulichte Präambel 182 ist lediglich veranschaulichend, und der Synchronisationssteuerrahmen 180 kann unterschiedliche Präambeln 182 beinhalten, die die durch die Steuerdaten 184 verwendete Codierung auf eine beliebige geeignete Art und Weise verletzen können.
  • Die Busprotokollschaltungsanordnung 126 kann eine differenzielle Manchester-Decodiererschaltungsanordnung beinhalten, die auf einem Takt läuft, der vom Bus 106 zurückgewonnen wird, und die den Synchronisationssteuerrahmen 180 detektiert, um einen Rahmensynchronisationsindikator zum PLL 128 zu senden. Auf diese Art und Weise kann der Synchronisationssteuerrahmen 180 ohne die Verwendung eines Systemtaktes oder eines Überabtastungstaktes höherer Geschwindigkeit detektiert werden. Demzufolge können die Unterknoten 102-2 ein PLL-Synchronisationssignal vom Bus 106 empfangen, ohne eine Kristalltaktquelle an den Unterknoten 102-2 zu erfordern.
  • Wie oben angemerkt, können Kommunikationen entlang des Busses 106 in periodischen Superrahmen stattfinden. 4 ist ein Diagramm eines Superrahmens 190 gemäß verschiedenen Ausführungsformen. Wie in 6 gezeigt, kann ein Superrahmen mit einem Synchronisationssteuerrahmen 180 beginnen. Wenn der Synchronisationssteuerrahmen 180 als eine Timing-Quelle für den PLL 128 verwendet wird, kann die Frequenz, mit der Superrahmen kommuniziert werden („die Superrahmen-Frequenz“), die gleiche wie die Synchronisationssignalfrequenz sein. In einigen Ausführungsformen, in denen Audiodaten entlang des Busses 106 übertragen werden, kann die Superrahmen-Frequenz die gleiche sein wie die im System 100 verwendete Audioabtastfrequenz (z. B. entweder 48 kHz oder 44,1 kHz), aber eine beliebige geeignete Superrahmen-Frequenz kann verwendet werden. Jeder Superrahmen 190 kann in Zeiträume von Downstream-Übertragung 192, Zeiträume von Upstream-Übertragung 194 und Zeiträume ohne Übertragung 196 (wenn z. B. der Bus 106 nicht angetrieben wird) unterteilt sein.
  • In 4 ist der Superrahmen 190 mit einem anfänglichen Zeitraum von Downstream-Übertragung 192 und einem späteren Zeitraum von Upstream-Übertragung 194 gezeigt. Der Zeitraum von Downstream-Übertragung 192 kann einen Synchronisationssteuerrahmen 180 und X Downstream-Datenslots 198 beinhalten, wobei X null sein kann. Im Wesentlichen alle Signale auf dem Bus 106 können leitungscodiert und ein Synchronisationssignal, das vom Hauptknoten 102-1 downstream zu dem letzten Unterknoten 102-2 (z. B. dem Unterknoten 102-2C) weitergeleitet wird, in Form der Synchronisationspräambel 182 im Synchronisationssteuerrahmen 180 sein, wie oben erörtert. Synchrone Downstream-TDM-Daten können in den X Downstream-Datenslots 198 nach dem Synchronisationssteuerrahmen 180 enthalten sein. Die Downstream-Datenslots 198 können eine gleiche Breite aufweisen. Wie oben erörtert, kann der PLL 128 den Takt bereitstellen, den ein Knoten verwendet, um Kommunikationen über den Bus 106 zeitlich zu steuern. In einigen Ausführungsformen, in denen der Bus 106 verwendet wird, um Audiodaten zu übertragen, kann der PLL 128 bei einem Vielfachen der Audioabtastfrequenz arbeiten (z. B. das 1024-fache der Audioabtastfrequenz, was zu 1 024-Bit-Takten in jedem Superrahmen führt).
  • Der Zeitraum von Upstream-Übertragung 194 kann einen Synchronisationsantwortrahmen 197 und Y Upstream-Datenslots 199 beinhalten, wobei Y null sein kann. In einigen Ausführungsformen kann jeder Unterknoten 102-2 einen Teil der Downstream-Datenslots 198 verbrauchen. Der letzte Unterknoten (z. B. Unterknoten 2 in 1) kann (nach einer vorbestimmten Antwortzeit, die in einem Register des letzten Unterknotens gespeichert ist) mit einem Synchronisationsantwortrahmen 197 antworten. Synchrone Upstream-TDM-Daten können durch jeden Unterknoten 102-2 in die Upstream-Datenslots 199 direkt nach dem Synchronisationsantwortrahmen 197 hinzugefügt werden. Die Upstream-Datenslots 199 können eine gleiche Breite aufweisen. Ein Unterknoten 102-2, der nicht der letzte Unterknoten ist (z. B. die Unterknoten 0 und 1 in 1), können den empfangenen Synchronisationsantwortrahmen 197 mit ihrer eigenen Upstream-Antwort ersetzen, falls ein Lesevorgang von einem ihrer Register im Synchronisationssteuerrahmen 180 des Superrahmens 190 angefordert wurde oder falls ein Fern-12C-Lesevorgang im Synchronisationssteuerrahmen 180 des Superrahmens 190 angefordert wurde.
  • Wie oben erörtert, kann der Synchronisationssteuerrahmen 180 jede Downstream-Übertragung beginnen. In einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 64 Bits lang sein, aber eine beliebige andere geeignete Länge kann verwendet werden. Der Synchronisationssteuerrahmen 180 kann mit der Präambel 182 beginnen, wie oben angemerkt. In einigen Ausführungsformen, wenn der Synchronisationssteuerrahmen 180 durch einen Unterknoten 102-2 zu einem Downstream-Unterknoten 102-2 weitergesendet wird, kann die Präambel 182 durch den übertragenden Unterknoten 102-2 erzeugt werden, anstelle weitergesendet zu werden.
  • Die Steuerdaten 184 des Synchronisationssteuerrahmens 180 können Felder beinhalten, die Daten enthalten, die zum Steuern von Transaktionen über den Bus 106 verwendet werden. Beispiele für diese Felder sind unten erörtert, und einige Ausführungsformen sind in 5 veranschaulicht. Insbesondere veranschaulicht 5 beispielhafte Formate für den Synchronisationssteuerrahmen 180 im normalen Modus, I2C-Modus und Entdeckungsmodus gemäß verschiedenen Ausführungsformen. In einigen Ausführungsformen kann eine andere Präambel 182 oder ein ganz anderer Synchronisationssteuerrahmen 180 im Standby-Modus verwendet werden, sodass die Unterknoten 102-2 nicht den gesamten Synchronisationssteuerrahmen 180 empfangen müssen, bis ein Übergang zum normalen Modus gesendet wird.
  • In einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Zähl(CNT)-Feld beinhalten. Das CNT-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 2 Bits) und kann von dem im vorherigen Superrahmen verwendeten Wert inkrementiert werden (Modulo der Länge des Feldes). Ein Unterknoten 102-2, der einen unerwarteten CNT-Wert empfängt, kann programmiert sein, ein Interrupt zurückzugeben.
  • In einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Knotenadressierungsmodus(NAM)-Feld beinhalten. Das NAM-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 2 Bits) und kann verwendet werden, um den Zugriff auf Register eines Unterknotens 102-2 über den Bus 106 zu steuern. Im normalen Modus kann basierend auf der ID des Unterknotens 102-2 und der Adresse des Registers aus bzw. in Register eines Unterknotens 102-2 gelesen und/oder geschrieben werden. Broadcast-Transaktionen sind Schreibvorgänge, die durch jeden Unterknoten 102-2 vorgenommen werden sollten. In einigen Ausführungsformen kann das NAM-Feld vier Knotenadressierungsmodi bereitstellen, einschließlich „Keiner“ (z. B. Daten nicht adressiert zu irgendeinem bestimmten Unterknoten 102-2), „Normal“ (z. B. Daten unicast zu einem spezifischen Unterknoten 102-2, der im unten erörterten Adresse-Feld spezifiziert ist), „Broadcast“ (z. B. adressiert zu allen Unterknoten 102-2) und „Entdeckung“.
  • In einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein I2C-Feld beinhalten. Das I2C-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 1 Bit) und kann verwendet werden, um anzugeben, dass der Zeitraum von Downstream-Übertragung 192 eine I2C-Transaktion beinhaltet. Das I2C-Feld kann angeben, dass der Host 110 Anweisungen für den entfernten Zugriff auf eine Peripherievorrichtung 108 bereitgestellt hat, die als ein I2C-Slave bezüglich eines assoziierten Unterknotens 102-2 agiert.
  • In einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Knoten-Feld beinhalten. Das Knoten-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 4 Bits) und kann verwendet werden, um anzugeben, welcher Unterknoten für normale und I2C-Zugriffe adressiert wird. Im Entdeckungsmodus kann dieses Feld verwendet werden, um eine Kennung für einen neu entdeckten Unterknoten 102-2 in einem Knoten-ID-Register des Unterknotens 102-2 zu programmieren. Jedem Unterknoten 102-2 im System 100 kann eine eindeutige ID zugewiesen werden, wenn der Unterknoten 102-2 durch den Hauptknoten 102-1 entdeckt wird, wie unten erörtert. In einigen Ausführungsformen weist der Hauptknoten 102-1 keine Knoten-ID auf, während in anderen Ausführungsformen der Hauptknoten 102-1 eine Knoten-ID aufweisen kann. In einigen Ausführungsformen wird der Unterknoten 102-2, der an dem Hauptknoten 102-1 auf dem Bus 106 angefügt ist (z. B. der Unterknoten 0 in 1), Unterknoten 0 sein, und jeder nachfolgende Unterknoten 102-2 wird eine Nummer aufweisen, die um 1 höher als der vorherige Unterknoten ist. Dies ist jedoch lediglich veranschaulichend, und ein beliebiges geeignetes Identifikationssystem für Unterknoten kann verwendet werden.
  • In einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Lese/Schreib(RW)-Feld beinhalten. 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.
  • In einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Adresse-Feld beinhalten. Das Adresse-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 8 Bits) und kann verwendet werden, um spezifische Register eines Unterknotens 102-2 über den Bus 106 zu adressieren. Für I2C-Transaktionen kann das Adresse-Feld mit I2C-Steuerwerten ersetzt werden, wie etwa START/STOPP (START/STOP), WARTEN (WAIT), RW und DATEN-VLD (DATA VLD). Für Entdeckungstransaktionen kann das Adresse-Feld einen vorbestimmten Wert aufweisen (z. B. wie in 5 veranschaulicht).
  • In einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Daten-Feld beinhalten. Das Daten-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 8 Bits) 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 ein neu entdeckter Knoten zwischen dem Start des empfangenen Synchronisationssteuerrahmens 180 und dem Start des übertragenen Synchronisationsantwortrahmens 197 verstreichen lassen sollte. Wenn das NAN-Feld einen Entdeckungsmodus angibt, können die unten erörterten Knotenadresse- und Daten-Felder als ein RESPCYCS-Wert codiert werden, der, wenn er mit einem geeigneten optionalen Multiplizierer (z. B. 4) multipliziert wird, die Zeit, in Bits, vom Ende des Synchronisationssteuerrahmens 180 zum Start des Synchronisationsantwortrahmens 197 angibt. Dies ermöglicht einem neu entdeckten Unterknoten 102-2, den geeigneten Zeitslot für eine Upstream-Übertragung zu bestimmen.
  • In einigen Ausführungsformen kann der Synchronisationssteuerrahmen 180 ein Zyklische-Redundanzprüfung(CRC)-Feld beinhalten. Das CRC-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 16 Bits) und kann verwendet werden, um einen CRC-Wert für die Steuerdaten 1 84 des Synchronisationssteuerrahmens 180 im Anschluss an die Präambel 182 zu übertragen. In einigen Ausführungsformen kann die CRC gemäß dem CCITT-CRC-Fehlerdetektionsschema berechnet werden.
  • In einigen Ausführungsformen kann zumindest ein Teil des Synchronisationssteuerrahmens 180 zwischen der Präambel 182 und dem CRC-Feld verschlüsselt werden, um die Wahrscheinlichkeit zu reduzieren, dass eine Sequenz von Bits in diesem Intervall periodisch mit der Präambel 182 übereinstimmt (und somit durch die Unterknoten 102-2 als der Start eines neuen Superrahmens 190 fehlinterpretiert werden kann), sowie elektromagnetische Emissionen zu reduzieren, wie oben angemerkt. In einigen solchen Ausführungsformen kann das CNT-Feld des Synchronisationssteuerrahmens 180 durch Verschlüsselungslogik verwendet werden, um zu gewährleisten, dass die verschlüsselten Felder von einem Superrahmen zum nächsten unterschiedlich verschlüsselt werden. Verschiedene Ausführungsformen des hierin beschriebenen Systems 100 können die Verschlüsselung weglassen.
  • Andere Techniken können verwendet werden, um zu gewährleisten, dass die Präambel 182 eindeutig durch die Unterknoten 102-2 identifiziert werden kann, oder um die Wahrscheinlichkeit zu reduzieren, dass die Präambel 182 an anderer Stelle im Synchronisationssteuerrahmen 180 auftritt, zusätzlich zu oder anstelle von Techniken wie etwa Verschlüsselung und/oder Fehlercodierung, wie oben erörtert. Beispielsweise kann eine längere Synchronisationssequenz verwendet werden, sodass die Wahrscheinlichkeit reduziert wird, dass eine bestimmte Codierung des Rests des Synchronisationssteuerrahmens 180 mit ihr übereinstimmt. Zusätzlich oder alternativ kann der Rest des Synchronisationssteuerrahmens so strukturiert sein, dass die Synchronisationssequenz nicht auftreten kann, wie etwa durch das Platzieren von festen „0“- oder „1“-Werten an geeigneten Bits.
  • Der Hauptknoten 102-1 kann Lese- und Schreibanforderungen zu den Unterknoten 102-2 senden, einschließlich sowohl Anforderungen, die für eine Kommunikation auf dem Bus 106 spezifisch sind, als auch I2C-Anforderungen. Beispielsweise kann der Hauptknoten 102-1 Lese- und Schreibanforderungen (unter Verwendung des RW-Feldes angegeben) zu einem oder mehreren designierten Unterknoten 102-2 (unter Verwendung der NAM- und Knoten-Felder) senden und kann angeben, ob es sich bei der Anforderung um eine Anforderung für den Unterknoten 102-2, der für den Bus 106 spezifisch ist, eine I2C-Anforderung für den Unterknoten 102-2 oder eine I2C-Anforderung, die zu einer I2C-kompatiblen Peripherievorrichtung 108 weitergeleitet werden soll, die mit dem Unterknoten 102-2 an einem oder mehreren I2C-Ports des Unterknotens 102-2 gekoppelt ist, handelt.
  • Jetzt mit Bezug auf Upstream-Kommunikation kann der Synchronisationsantwortrahmen 197 jede Upstream-Übertragung beginnen. In einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 64 Bits lang sein, aber eine beliebige andere geeignete Länge kann verwendet werden. Der Synchronisationsantwortrahmen 197 kann auch eine Präambel beinhalten, wie oben mit Bezug auf die Präambel 182 des Synchronisationssteuerrahmens 180 erörtert, gefolgt von einem Datenteil. Am Ende der Downstream-Übertragung kann der letzte Unterknoten 102-2 auf dem Bus 106 warten, bis der RESPCYCS-Zähler abgelaufen ist, und dann die Übertragung eines Synchronisationsantwortrahmens 197 upstream beginnen. Falls ein Upstream-Unterknoten 102-2 durch eine normale Lese- oder Schreibtransaktion angezielt wurde, kann ein Unterknoten 102-2 seinen eigenen Synchronisationsantwortrahmen 197 erzeugen und den, der von Downstream empfangen wird, ersetzen. Falls irgendein Unterknoten 102-2 keinen Synchronisationsantwortrahmen 197 von einem Downstream-Unterknoten 102-2 zu der erwarteten Zeit sieht, wird der Unterknoten 102-2 seinen eigenen Synchronisationsantwortrahmen 197 erzeugen und damit beginnen, ihn upstream zu übertragen.
  • Der Datenteil des Synchronisationsantwortrahmens 197 kann Felder beinhalten, die Daten enthalten, die zum Kommunizieren von Antwortinformationen zurück zum Hauptknoten 102-1 verwendet werden. Beispiele für diese Felder sind unten erörtert, und einige Ausführungsformen sind in 6 veranschaulicht. Insbesondere veranschaulicht 6 beispielhafte Formate für den Synchronisationsantwortrahmen 197 im normalen Modus, I2C-Modus und Entdeckungsmodus gemäß verschiedenen Ausführungsformen.
  • In einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein Zähl(CNT)-Feld beinhalten. Das CNT-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 2 Bits) und kann verwendet werden, um den Wert des CNT-Feldes in dem zuvor empfangenen Synchronisationssteuerrahmen 180 zu übertragen.
  • In einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein Bestätigung(ACK)-Feld beinhalten. Das ACK-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 2 Bits) und kann durch einen Unterknoten 102-2 eingefügt werden, um einen Befehl zu bestätigen, der im vorherigen Synchronisationssteuerrahmen 180 empfangen wird, wenn dieser Unterknoten 102-2 den Synchronisationsantwortrahmen 197 erzeugt. Beispielhafte Indikatoren, die im ACK-Feld kommuniziert werden können, beinhalten Warten, Bestätigen, Nichtbestätigen (NACK) und Neuversuchen. In einigen Ausführungsformen kann das ACK-Feld so bemessen sein, dass eine Bestätigung durch einen Unterknoten 102-2 übertragen wird, dass er eine Broadcast-Nachricht empfangen und verarbeitet hat (z. B. durch Übertragen einer Broadcast-Bestätigung zu dem Hauptknoten 102-1). In einigen solchen Ausführungsformen kann ein Unterknoten 102-2 auch angeben, ob der Unterknoten 102-2 Daten übertragen muss (die zum Beispiel für bedarfsbasierte Upstream-Übertragungen verwendet werden könnten, wie etwa Nicht-TDM-Eingaben von einer Tastatur oder einem Touchscreen, oder für eine priorisierte Upstream-Übertragung, wie etwa, wenn der Unterknoten 102-2 wünscht, einen Fehler oder einen Notzustand zu melden).
  • In einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein I2C-Feld beinhalten. Das I2C-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 1 Bit) und kann verwendet werden, um den Wert des I2C-Feldes in dem zuvor empfangenen Synchronisationssteuerrahmen 180 zu übertragen.
  • In einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein Knoten-Feld beinhalten. Das Knoten-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 4 Bits) und kann verwendet werden, um die ID des Unterknotens 102-2 zu übertragen, der den Synchronisationsantwortrahmen 197 erzeugt.
  • In einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein Daten-Feld beinhalten. Das Daten-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 8 Bits), und sein Wert kann von dem Typ der Transaktion und der ACK-Antwort des Unterknotens 102-2 abhängen, der den Synchronisationsantwortrahmen 197 erzeugt. Für Entdeckungstransaktionen kann das Daten-Feld den Wert des RESPCYCS-Feldes in dem zuvor empfangenen Synchronisationssteuerrahmen 180 beinhalten. Wenn das ACK-Feld eine NACK angibt, oder wenn der Synchronisationsantwortrahmen 197 auf eine Broadcast-Transaktionen antwortet, kann das Daten-Feld einen Broadcast-Bestätigung(BA)-Indikator (in dem der letzte Unterknoten 102-2 angeben kann, ob der Broadcast-Schreibvorgang ohne Fehler empfangen wurde), einen Entdeckungsfehler(DER)-Indikator (der angibt, ob ein neu entdeckter Unterknoten 102-2 in einer Entdeckungstransaktion mit einem bestehenden Unterknoten 102-2 übereinstimmt) und einen CRC-Fehler(CER)-Indikator (der angibt, ob eine NACK durch einen CRC-Fehler verursacht wurde) beinhalten.
  • In einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein CRC-Feld beinhalten. Das CRC-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 16 Bits) und kann verwendet werden, um einen CRC-Wert für in Teil des Synchronisationsantwortrahmens 197 zwischen der Präambel und dem CRC-Feld zu übertragen.
  • In einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein Interrupt-Anforderung(IRQ)-Feld beinhalten. Das IRQ-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 1 Bit) und kann verwendet werden, um anzugeben, dass ein Interrupt von einem Unterknoten 102-2 signalisiert wurde.
  • In einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein IRQ-Knoten(IRQNODE)-Feld beinhalten. Das IRQNODE-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 4 Bits) und kann verwendet werden, um die ID des Unterknotens 102-2 zu übertragen, der das durch das IRQ-Feld präsentierte Interrupt signalisiert hat. In einigen Ausführungsformen wird der Unterknoten 102-2 zum Erzeugen des IRQ-Feldes seine eigene ID in das IRQNODE-Feld einfügen.
  • In einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein zweites CRC(CRC-4)-Feld beinhalten. Das CRC-4-Feld kann eine beliebige geeignete Länge aufweisen (z. B. 4 Bits) und kann verwendet werden, um einen CRC-Wert für die IRQ- und IRQNODE-Felder zu übertragen.
  • In einigen Ausführungsformen kann der Synchronisationsantwortrahmen 197 ein IRQ-Feld, ein IRQNODE-Feld und ein CRC-4-Feld als die letzten Bits des Synchronisationsantwortrahmens 197 beinhalten (z. B. die letzten 10 Bits). Wie oben erörtert, 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). Ein beliebiger Unterknoten 102-2, der ein Interrupt an den Hauptknoten 102-1 signalisieren muss, wird seine Interrupt-Informationen in diese Felder einfügen. In einigen Ausführungsformen kann ein Unterknoten 102-2 mit einem anstehenden Interrupt eine höhere Priorität aufweisen als irgendein Unterknoten 102-2 weiter downstream, der auch ein anstehendes Interrupt aufweist. Der letzte Unterknoten 102-2 entlang des Busses 106 (z. B. der Unterknoten 2 in 1) kann diese Interrupt-Felder immer befüllen. Falls der letzte Unterknoten 102-2 kein anstehendes Interrupt aufweist, kann der letzte Unterknoten 102-2 das IRQ-Bit auf 0 setzen, das IRQNODE-Feld auf seine Knoten-ID setzen und den korrekten CRC-4-Wert bereitstellen. Der Einfachheit halber kann ein Synchronisationsantwortrahmen 197, der ein Interrupt übermittelt, hierin als ein „Interrupt-Rahmen“ bezeichnet werden.
  • In einigen Ausführungsformen kann zumindest ein Teil des Synchronisationsantwortrahmens 197 zwischen der Präambel 182 und dem CRC-Feld verschlüsselt sein, um Emissionen zu reduzieren. In einigen solchen Ausführungsformen kann das CNT-Feld des Synchronisationsantwortrahmens 197 durch Verschlüsselungslogik verwendet werden, um zu gewährleisten, dass die verschlüsselten Felder von einem Superrahmen zum nächsten unterschiedlich verschlüsselt werden. Verschiedene Ausführungsformen des hierin beschriebenen Systems 100 können die Verschlüsselung weglassen.
  • Andere Techniken können verwendet werden, um zu gewährleisten, dass die Präambel 182 eindeutig durch die Unterknoten 102-2 identifiziert werden kann, oder um die Wahrscheinlichkeit zu reduzieren, dass die Präambel 182 an anderer Stelle im Synchronisationsantwortrahmen 197 auftritt, zusätzlich zu oder anstelle von Techniken wie etwa Verschlüsselung und/oder Fehlercodierung, wie oben erörtert. Beispielsweise kann eine längere Synchronisationssequenz verwendet werden, sodass die Wahrscheinlichkeit reduziert wird, dass eine bestimmte Codierung des Rests des Synchronisationsantwortrahmens 197 mit ihr übereinstimmt. Zusätzlich oder alternativ kann der Rest des Synchronisationsantwortrahmens so strukturiert sein, dass die Synchronisationssequenz nicht auftreten kann, wie etwa durch das Platzieren von festen „0“- oder „1“-Werten an geeigneten Bits.
  • 7 ist ein Blockdiagramm der Busprotokollschaltungsanordnung 126 von 2 gemäß verschiedenen Ausführungsformen. Die Busprotokollschaltungsanordnung 126 kann eine Steuerschaltungsanordnung 154 beinhalten, um den Betrieb des Knoten-Transceivers 120 gemäß dem hierin beschriebenen Protokoll für den Bus 106 zu steuern. Insbesondere kann die Steuerschaltungsanordnung 154 die Erzeugung von Synchronisationsrahmen zur Übertragung (z. B. Synchronisationssteuerrahmen oder Synchronisationsantwortrahmen, wie oben erörtert), die Verarbeitung von empfangenen Synchronisationsrahmen und die Durchführung von Steueroperationen, die in empfangenen Synchronisationssteuerrahmen spezifiziert sind, steuern. Die Steuerschaltungsanordnung 154 kann programmierbare Register beinhalten, wie unten erörtert. Die Steuerschaltungsanordnung 154 kann Synchronisationssteuerrahmen erzeugen und empfangen, zweckmäßig auf empfangene Nachrichten reagieren (die z. B. mit einem Synchronisationssteuerrahmen assoziiert sind, wenn die Busprotokollschaltungsanordnung 126 in einem Unterknoten 102-2 enthalten ist, oder von einer I2C-Vorrichtung, wenn die Busprotokollschaltungsanordnung 126 in einem Hauptknoten 102-1 enthalten ist) und das Framing an die verschiedenen Betriebsmodi (z. B. Normal, Entdeckung, Standby usw.) anpassen.
  • Wenn der Knoten-Transceiver 120 Daten zur Übertragung entlang des Busses 106 vorbereitet, kann eine Präambelschaltungsanordnung 156 dazu ausgelegt sein, Präambeln für Synchronisationsrahmen zur Übertragung zu erzeugen und Präambeln von empfangenen Synchronisationsrahmen zu empfangen. In einigen Ausführungsformen kann eine Downstream-Synchronisationssteuerrahmen-Präambel durch den Hauptknoten 102-1 alle 1024 Bits gesendet werden. Wie oben erörtert, können sich ein oder mehrere Unterknoten 102-2 mit der Downstream-Synchronisationssteuerrahmen-Präambel synchronisieren und lokale phasenausgerichtete Haupttakte aus der Präambel erzeugen.
  • Eine CRC-Einfügungsschaltungsanordnung 158 kann dazu ausgelegt sein, eine oder mehrere CRCs für Synchronisationsrahmen zur Übertragung zu erzeugen. Eine Frame-/Komprimierungsschaltungsanordnung 160 kann dazu ausgelegt sein, eingehende Daten von dem I2S/TDM/PDM-Transceiver 127 (z. B. von einem mit dem Transceiver 127 assoziierten Rahmenpuffer), dem I2C-Transceiver 129 und/oder dem SPI-Transceiver 136 zu nehmen, optional die Daten zu komprimieren und optional Paritätsprüfbits oder Fehlerkorrekturcodes (ECC) für die Daten zu erzeugen. Ein Multiplexer (MUX) 162 kann eine Präambel von der Präambelschaltungsanordnung 156, Synchronisationssteuerrahmen und Daten in einen Strom zur Übertragung multiplexen. In einigen Ausführungsformen kann der Übertragungsstrom durch eine Verschlüsselungsschaltungsanordnung 164 vor der Übertragung verschlüsselt werden.
  • Beispielsweise kann die Frame-/Komprimierungsschaltungsanordnung 160 in einigen Ausführungsformen ein Gleitkomma-Komprimierungsschema anwenden. In einer solchen Ausführungsform kann die Steuerschaltungsanordnung 154 3 Bits übertragen, um anzugeben, wie viele wiederholte Vorzeichenbits in der Zahl sind, gefolgt von einem Vorzeichenbit und N-4 Bits von Daten, wobei N die Größe der über den Bus 106 zu übertragenden Daten ist. Die Verwendung von Datenkomprimierung kann durch den Hauptknoten 102-1 nach Wunsch konfiguriert werden.
  • In einigen Ausführungsformen kann der in den Knoten-Transceiver 120 eingehende Empfangsstrom durch die Entschlüsselungsschaltungsanordnung 166 entschlüsselt werden. Ein Demultiplexer (DEMUX) 168 kann die Präambel, die Synchronisationsrahmen und Daten vom Empfangsstrom demultiplexen. Eine CRC-Prüfschaltungsanordnung 159 an der Empfangsseite kann empfangene Synchronisationsrahmen nach der korrekten CRC prüfen. Wenn die CRC-Prüfschaltungsanordnung 159 einen CRC-Fehler in einem eingehenden Synchronisationssteuerrahmen 180 identifiziert, kann die Steuerschaltungsanordnung 154 über den Fehler benachrichtigt werden und wird keine Steuerbefehle in den Steuerdaten 184 des Synchronisationssteuerrahmens 180 durchführen. Wenn die CRC-Prüfschaltungsanordnung 159 einen CRC-Fehler in einem eingehenden Synchronisationsantwortrahmen 197 identifiziert, kann die Steuerschaltungsanordnung 154 über den Fehler benachrichtigt werden und kann ein Interrupt für die Übertragung zu dem Host 110 in einem Interrupt-Rahmen erzeugen. Eine Deframe-/Dekomprimierungsschaltungsanordnung 170 kann Empfangsdaten annehmen, optional ihre Parität prüfen, optional eine Fehlerdetektion und -korrektur durchführen (z. B. Einzelfehlerkorrektur - Doppelfehlerdetektion (Single Error Correction - Double Error Detection, SECDED)), optional die Daten dekomprimieren, und kann die Empfangsdaten in den I2S/TDM/PDM-Transceiver 127 (z. B. einen mit dem Transceiver 127 assoziierten Rahmenpuffer), den I2C-Transceiver 129 und/oder den SPI-Transceiver 136 schreiben.
  • Wie oben erörtert, können Upstream- und Downstream-Daten entlang des Busses 106 in TDM-Datenslots innerhalb eines Superrahmens 190 übertragen werden. Die Steuerschaltungsanordnung 154 kann Register beinhalten, die für die Verwaltung dieser Datenslots auf dem Bus 106 dediziert sind, wobei eine Anzahl von Beispielen für diese unten erörtert ist. Wenn die Steuerschaltungsanordnung 154 in einem Hauptknoten 102-1 enthalten ist, können die Werte in diesen Registern durch den Host 110 in die Steuerschaltungsanordnung 154 programmiert werden. Wenn die Steuerschaltungsanordnung 154 in einem Unterknoten 102-2 enthalten ist, können die Werte in diesen Registern durch den Hauptknoten 102-1 in die Steuerschaltungsanordnung 154 programmiert werden.
  • In einigen Ausführungsformen kann die Steuerschaltungsanordnung 154 ein Downstream-Slots(DNSLOTS)-Register beinhalten. Wenn der Knoten-Transceiver 120 im Hauptknoten 102-1 enthalten ist, kann dieses Register den Wert der Gesamtanzahl von Downstream-Datenslots halten. Dieses Register kann auch die Anzahl von Datenslots definieren, die für einen kombinierten I2S/TDM/PDM-Empfang durch den I2S/TDM/PDM-Transceiver 127 im Hauptknoten 102-1 verwendet wird. In einem Unterknoten 102-2 kann dieses Register die Anzahl von Datenslots definieren, die downstream zu dem nächsten Unterknoten 102-2 vor oder nach der Hinzufügung von lokal erzeugten Downstream-Slots weitergeleitet werden, wie ausführlicher unten mit Bezug auf LDNSLOTS erörtert.
  • In einigen Ausführungsformen kann die Steuerschaltungsanordnung 154 ein lokales Downstream-Slots(LDNSLOTS)-Register beinhalten. Dieses Register kann im Hauptknoten 102-1 ungenutzt sein. In einem Unterknoten 102-2 kann dieses Register die Anzahl von Datenslots definieren, die der Unterknoten 102-2 verwenden und nicht weitersenden wird. Alternativ kann dieses Register die Anzahl von Slots definieren, die der Unterknoten 102-2 zu dem Downstream-Link des Busses 106 beitragen kann.
  • In einigen Ausführungsformen kann die Steuerschaltungsanordnung 154 ein Upstream-Slots(UPSLOTS)-Register beinhalten. Im Hauptknoten 102-1 kann dieses Register den Wert der Gesamtanzahl von Upstream-Datenslots halten. Dieses Register kann auch die Anzahl von Slots definieren, die für eine I2S/TDM-Übertragung durch den I2S/TDM/PDM-Transceiver 127 im Hauptknoten 102-1 verwendet wird. In einem Unterknoten 102-2 kann dieses Register die Anzahl von Datenslots definieren, die upstream weitergeleitet werden, bevor der Unterknoten 102-2 beginnen wird, seine eigenen Daten hinzuzufügen.
  • In einigen Ausführungsformen kann die Steuerschaltungsanordnung 154 ein lokales Upstream-Slots(LUPSLOTS)-Register beinhalten. Dieses Register kann im Hauptknoten 102-1 ungenutzt sein. In einem Unterknoten 102-2 kann dieses Register die Anzahl von Datenslots definieren, die der Unterknoten 102-2 zu den Daten hinzufügen wird, die von downstream empfangen werden, bevor sie upstream gesendet werden. Dieses Register kann auch die Anzahl von Datenslots definieren, die für einen kombinierten I2S/TDM/PDM-Empfang durch den I2S/TDM/PDM-Transceiver 127 im Unterknoten 102-2 verwendet wird.
  • In einigen Ausführungsformen kann die Steuerschaltungsanordnung 154 ein Broadcast-Downstream-Slots(BCDNSLOTS)-Register beinhalten. Dieses Register kann im Hauptknoten 102-1 ungenutzt sein. In einem Unterknoten 102-2 kann dieses Register die Anzahl von Broadcast-Datenslots definieren. In einigen Ausführungsformen können Broadcast-Datenslots immer am Beginn des Daten-Feldes vorkommen. Die Daten in den Broadcast-Datenslots können durch mehrere Unterknoten 102-2 verwendet werden und können durch alle Unterknoten 102-2 downstream weitergeleitet werden, egal ob sie verwendet werden oder nicht.
  • In einigen Ausführungsformen kann die Steuerschaltungsanordnung 154 ein Slotformat(SLOTFMT)-Register beinhalten. Dieses Register kann das Format von Daten für Upstream- und Downstream-Übertragungen definieren. Die Datengröße für den I2S/TDM/PDM-Transceiver 127 kann auch durch dieses Register bestimmt werden. In einigen Ausführungsformen beinhalten zulässige Datengrößen 8, 12, 16, 20, 24, 28 und 32 Bits. Dieses Register kann auch Bits beinhalten, um eine Gleitkomma-Komprimierung für Downstream- und Upstream-Verkehr zu ermöglichen. Wenn die Gleitkomma-Komprimierung aktiviert ist, kann die I2S/TDM-Datengröße 4 Bits größer als die Datengröße über den Bus 106 sein. Alle Knoten im System 100 können die gleichen Werte für SLOTFMT aufweisen, wenn Datenslots aktiviert sind, und die Knoten können durch einen Broadcast-Schreibvorgang programmiert werden, sodass alle Knoten mit dem gleichen Wert aktualisiert werden.
  • 8-11 veranschaulichen Beispiele für den Informationsaustausch entlang des Busses 106 gemäß verschiedenen Ausführungsformen der hierin beschriebenen Busprotokolle. Insbesondere veranschaulichen 8-11 Ausführungsformen, in denen jeder Unterknoten 102-2 mit einem oder mehreren Lautsprechern und/oder einem oder mehreren Mikrofonen als die Peripherievorrichtung 108 gekoppelt ist. Dies ist lediglich veranschaulichend, da gemäß den hierin beschriebenen Techniken eine beliebige gewünschte Anordnung der Peripherievorrichtung 108 mit irgendeinem bestimmten Unterknoten 102-2 gekoppelt sein kann.
  • Zunächst veranschaulicht 8 Signalisierungs- und Timing-Erwägungen für eine bidirektionale Kommunikation auf dem Bus 106 gemäß verschiedenen Ausführungsformen. Die in 8 dargestellten Unterknoten 102-2 weisen verschiedene Anzahlen von Sensor-/Aktorelementen auf, und somit können unterschiedliche Mengen von Daten zu den verschiedenen Unterknoten 102-2 gesendet oder von diesen empfangen werden. Insbesondere weist der Unterknoten 1 zwei Elemente auf, der Unterknoten 4 weist vier Elemente auf und der Unterknoten 5 weist drei Elemente auf, sodass die durch den Hauptknoten 102-1 übertragenen Daten zwei Zeitslots für den Unterknoten 1, vier Zeitslots für den Unterknoten 4 und drei Zeitslots für den Unterknoten 5 beinhalten. Gleichermaßen weist der Unterknoten 0 drei Elemente auf, der Unterknoten 2 weist drei Elemente auf, der Unterknoten 3 weist drei Elemente auf, der Unterknoten 6 weist ein Element auf und der Unterknoten 7 weist vier Elemente auf, sodass die durch diese Unterknoten 102-2 upstream übertragenen Daten die entsprechende Anzahl von Zeitslots beinhalten. Es sollte angemerkt werden, dass es keine Eins-zu-Eins-Korrelation zwischen Elementen und Zeitslots geben muss. Beispielsweise kann ein Mikrofonarray, das in der Peripherievorrichtung 108 enthalten ist und drei Mikrofone aufweist, einen DSP beinhalten, der Signale von den drei Mikrofonen (und möglicherweise auch Informationen, die von dem Hauptknoten 102-1 oder von anderen Unterknoten 102-2 empfangen werden) kombiniert, um eine einzelne Datenabtastung zu erzeugen, die in Abhängigkeit von dem Typ der Verarbeitung einem einzelnen Zeitslot oder mehreren Zeitslots entsprechen könnte.
  • In 8 überträgt der Hauptknoten 102-1 einen SCF gefolgt von Daten für Lautsprecher, die mit spezifischen Unterknoten 102-2 (SD) gekoppelt sind. Jeder nachfolgende Unterknoten 102-2 leitet den SCF weiter und leitet auch zumindest jegliche Daten weiter, die für Downstream-Unterknoten 102-2 vorgesehen sind. Ein bestimmter Unterknoten 102-2 kann alle Daten weiterleiten oder kann Daten entfernen, die für diesen Unterknoten 102-2 vorgesehen sind. Wenn der letzte Unterknoten 102-2 den SCF empfängt, überträgt dieser Unterknoten 102-2 den SRF optional gefolgt von jeglichen Daten, die von dem Unterknoten 102-2 übertragen werden dürfen. Jeder nachfolgende Unterknoten 102-2 leitet den SRF zusammen mit jeglichen Daten von Downstream-Unterknoten 102-2 weiter und fügt optional Daten von einem oder mehreren Mikrofonen ein, die mit den bestimmten Unterknoten 102-2 (MD) gekoppelt sind. In dem Beispiel von 8 sendet der Hauptknoten 102-1 Daten zu den Unterknoten 1, 4 und 5 (in 8 als aktive Lautsprecher dargestellt) und empfängt Daten von den Unterknoten 7, 6, 3, 2 und 0 (in 8 als Mikrofonarrays da rgestellt).
  • 9 veranschaulicht schematisch die dynamische Entfernung von Daten aus einer Downstream-Übertragung und die Einfügung von Daten in eine Upstream-Übertragung von der Perspektive des Downstream-DS-Transceivers 124 aus, gemäß verschiedenen Ausführungsformen. In 9, wie in 8, überträgt der Hauptknoten 102-1 einen SCF gefolgt von Daten für die Unterknoten 1, 4 und 5 (SD) in umgekehrter Reihenfolge (z. B. Daten für den Unterknoten 5, gefolgt von Daten für den Unterknoten 4, denen Daten für den Unterknoten 1 folgen, usw.) (siehe die mit HAUPT bezeichnete Zeile). Wenn der Unterknoten 1 diese Übertragung empfängt, entfernt der Unterknoten 1 seine eigenen Daten und leitet zu dem Unterknoten 2 nur den SCF gefolgt von den Daten für die Unterknoten 5 und 4 weiter. Die Unterknoten 2 und 3 leiten die Daten unverändert weiter (siehe die mit UNTER 2 bezeichnete Zeile), sodass die durch den Unterknoten 1 weitergeleiteten Daten durch den Unterknoten 4 empfangen werden (siehe die mit UNTER 3 bezeichnete Zeile). Der Unterknoten 4 entfernt seine eigenen Daten und leitet zu dem Unterknoten 5 nur den SCF gefolgt von den Daten für den Unterknoten 5 weiter, und gleichermaßen entfernt der Unterknoten 5 seine eigenen Daten und leitet zu dem Unterknoten 6 nur den SCF weiter. Der Unterknoten 6 leitet den SCF zu dem Unterknoten 7 weiter (siehe die mit UNTER 6 bezeichnete Zeile).
  • Zu diesem Zeitpunkt überträgt der Unterknoten 7 zu dem Unterknoten 6 den SRF gefolgt von seinen Daten (siehe die mit UNTER 6 bezeichnete Zeile). Der Unterknoten 6 leitet zu dem Unterknoten 5 den SRF zusammen mit den Daten vom Unterknoten 7 und seinen eigenen Daten weiter, und der Unterknoten 5 leitet im Gegenzug zum Unterknoten 4 den SRF zusammen mit den Daten von den Unterknoten 7 und 6 weiter. Der Unterknoten 4 hat keine hinzuzufügenden Daten, somit leitet er einfach die Daten zum Unterknoten 3 weiter (siehe die mit UNTER 3 bezeichnete Zeile), der die Daten zusammen mit seinen eigenen Daten zum Unterknoten 2 weiterleitet (siehe die mit UNTER 2 bezeichnete Zeile), der im Gegenzug die Daten zusammen mit seinen eigenen Daten zum Unterknoten 1 weiterleitet. Der Unterknoten 1 hat keine hinzuzufügenden Daten, somit leitet er die Daten zum Unterknoten 0 weiter, der die Daten zusammen mit seinen eigenen Daten weiterleitet. Infolgedessen empfängt der Hauptknoten 102-1 den SRF gefolgt von den Daten von den Unterknoten 7, 6, 3, 2 und 0 (siehe die mit HAUPT bezeichnete Zeile).
  • 10 veranschaulicht ein anderes Beispiel für die dynamische Entfernung von Daten aus einer Downstream-Übertragung und die Einfügung von Daten in eine Upstream-Übertragung von der Perspektive des Downstream-DS-Transceivers 124 aus, wie in 9, obwohl in 10 die Unterknoten 102-2 mit sowohl Sensoren als auch Aktoren als die Peripherievorrichtung 108 gekoppelt sind, sodass der Hauptknoten 102-1 Daten downstream zu allen Unterknoten 102-2 sendet und Daten von allen Unterknoten 102-2 zurück empfängt. Außerdem sind in 10 die Daten basierend auf der Knotenadresse geordnet, für die sie bestimmt sind oder von der sie ausgehen. Der als „Y“ bezeichnete Datenslot kann für eine Datenintegritätsprüfung oder Datenkorrektur verwendet werden.
  • 1 1 veranschaulicht ein anderes Beispiel für die dynamische Entfernung von Daten aus einer Downstream-Übertragung und die Einfügung von Daten in eine Upstream-Übertragung von der Perspektive des Downstream-DS-Transceivers 124 aus, wie in 9, obwohl in 11 die Daten downstream und upstream in sequenzieller Reihenfolge anstatt umgekehrter Reihenfolge übermittelt werden. Eine Pufferung an jedem Unterknoten 102-2 ermöglicht eine selektive Hinzufügung, Entfernung und/oder Weiterleitung von Daten.
  • Wie oben erörtert, kann jeder Unterknoten 102-2 Daten aus Downstream- oder Upstream-Übertragungen entfernen und/oder Daten zu Downstream- oder Upstream-Übertragungen hinzufügen. Somit kann der Hauptknoten 102-1 zum Beispiel eine separate Abtastung von Daten zu jedem einer Anzahl von Unterknoten 102-2 übertragen, und jeder solche Unterknoten 102-2 kann seine Datenabtastung entfernen und nur Daten weiterleiten, die für Downstream-Unterknoten 102-2 beabsichtigt sind. Andererseits kann ein Unterknoten 102-2 Daten von einem Downstream-Unterknoten 102-2 empfangen und die Daten zusammen mit zusätzlichen Daten weiterleiten. Ein Vorteil der Übertragung von so wenig Informationen wie erforderlich besteht darin, die Menge an Leistung zu reduzieren, die kollektiv durch das System 100 verbraucht wird.
  • Das System 100 kann auch Broadcast-Übertragungen (und Multicast-Übertragungen) vom Hauptknoten 102-1 zu den Unterknoten 102-2 unterstützen, insbesondere durch die Konfiguration der Downstream-Slotnutzung der Unterknoten 102-2. Jeder Unterknoten 102-2 kann die Broadcast-Übertragung verarbeiten und sie zu dem nächsten Unterknoten 102-2 weiterleiten, obwohl ein bestimmter Unterknoten 102-2 die Broadcast-Nachricht „verbrauchen“ kann (d. h. die Broadcast-Übertragung nicht zu dem nächsten Unterknoten 102-2 weiterleitet).
  • Das System 100 kann auch Upstream-Übertragungen (z. B. von einem bestimmten Unterknoten 102-2 zu einem oder mehreren anderen Unterknoten 102-2) unterstützen. Solche Upstream-Übertragungen können Unicast-, Multicast- und/oder Broadcast-Upstream-Übertragungen beinhalten. Mit Upstream-Adressierung, wie oben mit Bezug auf Downstream-Übertragungen erörtert, kann ein Unterknoten 102-2 bestimmen, ob Daten aus einer Upstream-Übertragung zu entfernen sind oder nicht, und/oder ob eine Upstream-Übertragung zu dem nächsten Upstream-Unterknoten 102-2 weiterzuleiten ist oder nicht, basierend auf der Konfiguration der Upstream-Slotnutzung der Unterknoten 102-2. Somit können beispielsweise Daten durch einem bestimmten Unterknoten 102-2 zu einem oder mehreren anderen Unterknoten 102-2 zusätzlich zu, oder anstelle von, dem Weiterleiten der Daten zu dem Hauptknoten 102-1 weitergeleitet werden. Solche Unterknoten-Unterknoten-Beziehungen können zum Beispiel über den Hauptknoten 102-1 konfiguriert werden.
  • Somit können die Unterknoten 102-2 in verschiedenen Ausführungsformen als aktive/intelligente Repeater-Knoten arbeiten, mit der Fähigkeit, Informationen selektiv weiterzuleiten, fallenzulassen und hinzuzufügen. Die Unterknoten 102-2 können allgemein solche Funktionen durchführen, ohne notwendigerweise alle Daten zu decodieren/überprüfen, da jeder Unterknoten 102-2 den einen oder die mehreren relevanten Zeitslots kennt, in denen er Daten empfangen/übertragen wird, und kann daher Daten von einem Zeitslot entfernen oder Daten zu diesem hinzufügen. Ungeachtet dessen, dass die Unterknoten 102-2 möglicherweise nicht alle Daten decodieren/überprüfen müssen, können die Unterknoten 102-2 typischerweise die Daten, die sie übertragen/weiterleiten, neu takten. Dies kann die Robustheit des Systems 100 verbessern.
  • In einigen Ausführungsformen kann der Bus 106 für unidirektionale Kommunikationen in einer Ringtopologie konfiguriert sein. Beispielsweise veranschaulicht 12 eine Anordnung 1200 mit dem Hauptknoten 102-1 und vier Unterknoten 102-2 in einer Ringtopologie, und veranschaulicht Signalisierungs- und Timing-Erwägungen für eine unidirektionale Kommunikation in der Anordnung 1200 gemäß verschiedenen Ausführungsformen. In solchen Ausführungsformen können die Knoten-Transceiver 120 in den Knoten einen Nur-Empfang-Transceiver (HAUPT EIN) und einen Nur-Übertragung-Transceiver (HAUPT AUS), anstelle von zwei bidirektionalen Transceivern für Upstream- und Downstream-Kommunikation beinhalten. In dem in 12 veranschaulichten Link-Schicht-Synchronisationsschema überträgt der Hauptknoten 102-1 einen SCF 180, optional gefolgt von „Downstream“-Daten 1202 für die drei Lautsprecher, die mit verschiedenen Unterknoten 102-2 gekoppelt sind (die Daten für die unterschiedlichen Lautsprecher können in einer beliebigen geeigneten Reihenfolge angeordnet sein, wie oben mit Bezug auf 8-11 erörtert), und jeder nachfolgende Unterknoten 102-2 leitet den Synchronisationssteuerrahmen 180 zusammen mit jeglichen „Upstream“-Daten von vorherigen Unterknoten 102-2 und seinen eigenen „Upstream“-Daten weiter, um „Upstream“-Daten 1204 bereitzustellen (z. B. die Daten von den acht unterschiedlichen Mikrofonen können in einer beliebigen geeigneten Reihenfolge angeordnet sein, wie oben mit Bezug auf 8-11 erörtert).
  • Wie hierin beschrieben, können Daten zwischen Elementen des Systems 100 auf eine beliebige einer Anzahl von Weisen kommuniziert werden. In einigen Ausführungsformen können Daten als Teil eines Satzes von synchronen Datenslots upstream (z. B. unter Verwendung der Datenslots 199) durch einen Unterknoten 102-2 oder downstream (z. B. unter Verwendung der Datenslots 198) durch einen Unterknoten 102-2 oder einen Hauptknoten 102-1 gesendet werden. Das Volumen solcher Daten kann durch das Ändern der Anzahl von Bits in einem Datenslot oder das Einschließen zusätzlicher Datenslots angepasst werden. Daten können im System 100 auch durch den Einschluss in einen Synchronisationssteuerrahmen 180 oder einen Synchronisationsantwortrahmen 197 kommuniziert werden. Auf diese Weise kommunizierte Daten können I2C-Steuerdaten vom Host 110 (mit einer Antwort von einer Peripherievorrichtung 108 , die mit einem Unterknoten 102-2 assoziiert ist); Zugriffe auf Register der Unterknoten 102-2 (z. B. für Entdeckung und Konfiguration von Slots und Schnittstellen), die Schreibzugriff vom Host 110/Hauptknoten 102-1 zu einem Unterknoten 102-2 und Lesezugriff von einem Unterknoten 102-2 zu dem Host 110/Hauptknoten 102-1 einschließen können; und Ereignissignalisierung über Interrupts von einer Peripherievorrichtung 108 zum Host 110 beinhalten. In einigen Ausführungsformen können GPIO-Pins verwendet werden, um Informationen von einem Unterknoten 102-2 zu dem Hauptknoten 102-1 zu übermitteln (z. B. durch Veranlassen, dass der Hauptknoten 102-1 die GPIO-Pins über I2C abfragt, oder durch Veranlassen, dass ein Knoten-Transceiver 120 eines Unterknotens 102-2 ein Interrupt an einem Interrupt-Anforderungs-Pin erzeugt). Beispielsweise kann ein Host 110 in einigen solchen Ausführungsformen Informationen zu dem Hauptknoten 102-1 über I2C senden, und dann kann der Hauptknoten 102-1 diese Informationen über die GPIO-Pins zu dem Unterknoten 102-2 senden. Beliebige der hierin erörterten Typen von Daten, wie über den Bus 106 übertragen, können unter Verwendung eines oder mehrerer beliebiger dieser Kommunikationspfade übertragen werden. Andere Typen von Daten und Datenkommunikationstechniken innerhalb des Systems 100 können hierin offenbart sein.
  • Ausführungsformen der vorliegenden Offenbarung können in ein System unter Verwendung beliebiger nach Wunsch zu konfigurierender Hardware und/oder Software implementiert werden. 13 veranschaulicht schematisch eine Vorrichtung 1300, die als ein Host oder ein Knoten (z. B. ein Host 1 10, ein Hauptknoten 102-1 oder ein Unterknoten 102-2) im System 100 dienen kann, gemäß verschiedenen Ausführungsformen. In 13 ist eine Anzahl von Komponenten veranschaulicht, wie in der Vorrichtung 1300 enthalten, aber eine oder mehrere beliebige dieser Komponenten können weggelassen oder dupliziert werden, wie für die Anwendung geeignet.
  • Zusätzlich beinhaltet die Vorrichtung 1300 in verschiedenen Ausführungsformen möglicherweise nicht eine oder mehrere der in 13 veranschaulichten Komponenten, aber die Vorrichtung 1300 kann eine Schnittstellenschaltungsanordnung zur Kopplung mit der einen oder den mehreren Komponenten beinhalten. Beispielsweise beinhaltet die Vorrichtung 1300 möglicherweise keine Anzeigevorrichtung 1306, aber kann eine Anzeigevorrichtungsschnittstellenschaltungsanordnung beinhalten (z. B. einen Verbinder und eine Treiberschaltungsanordnung), mit der eine Anzeigevorrichtung 1306 gekoppelt sein kann. In einem anderen Satz von Beispielen beinhaltet die Vorrichtung 1300 möglicherweise keine Audioeingabevorrichtung 1324 oder Audioausgabevorrichtung 1308, aber kann eine Audioeingabe- oder - ausgabevorrichtungsschnittstellenschaltungsanordnung beinhalten (z. B. Verbinder und unterstützende Schaltungsanordnung), mit der eine Audioeingabevorrichtung 1324 oder Audioausgabevorrichtung 1308 gekoppelt sein kann.
  • Die Vorrichtung 1300 kann den Knoten-Transceiver 120 gemäß beliebigen der hierin offenbarten Ausführungsformen zur Verwaltung einer Kommunikation entlang des Busses 106 beinhalten, wenn die Vorrichtung 1300 mit dem Bus 106 gekoppelt ist. Die Vorrichtung 1300 kann eine Verarbeitungsvorrichtung 1302 beinhalten (z. B. eine oder mehrere Verarbeitungsvorrichtungen) die in dem Knoten-Transceiver 120 eingeschlossen oder vom Knoten-Transceiver 120 getrennt sein können. Wie hierin verwendet, kann sich der Begriff „Verarbeitungsvorrichtung“ auf eine beliebige Vorrichtung oder einen Teil einer Vorrichtung beziehen, die/der elektronische Daten von Registern und/oder Speicher verarbeitet, um diese elektronischen Daten in andere elektronische Daten zu transformieren, die in Registern und/oder Speicher gespeichert sein können. Die Verarbeitungsvorrichtung 1302 kann eine(n) oder mehrere DSPs, ASICs, Zentralverarbeitungseinheiten (CPUs), Grafikverarbeitungseinheiten (GPUs), Kryptoprozessoren oder beliebige andere geeignete Verarbeitungsvorrichtungen beinhalten. Die Vorrichtung 1300 kann einen Speicher 1304 beinhalten, der selbst eine oder mehrere Speichervorrichtungen beinhalten kann, wie etwa flüchtigen Speicher (z. B. dynamischen Direktzugriffsspeicher (DRAM)), nichtflüchtigen Speicher (z. B. Nurlesespeicher (ROM)), Flash-Speicher, Solid-State-Speicher und/oder eine Festplatte.
  • In einigen Ausführungsformen kann der Speicher 1304 eingesetzt werden, um eine Arbeitskopie und eine permanente Kopie von Programmieranweisungen zu speichern, um zu bewirken, dass die Vorrichtung 1300 beliebige geeignete der hierin offenbarten Techniken durchgeführt. In einigen Ausführungsformen sind maschinenzugreifbare Medien (einschließlich nichttransitorischer computerlesbarer Speichermedien), Verfahren, Systeme und Vorrichtungen zum Durchführen der oben beschriebenen Techniken veranschaulichende Beispiele von hierin offenbarten Ausführungsformen zur Kommunikation über einen Zweidrahtbus. Beispielsweise können auf einem computerlesbaren Medium (z. B. dem Speicher 1304) Anweisungen gespeichert sein, die, wenn sie durch eine oder mehrere der Verarbeitungsvorrichtungen ausgeführt werden, die in der Verarbeitungsvorrichtung 1302 enthalten sind, bewirken, dass die Vorrichtung 1300 beliebige der hierin offenbarten Techniken durchführt.
  • In einigen Ausführungsformen kann die Vorrichtung 1300 einen anderen Kommunikationschip 1312 beinhalten (z. B. einen oder mehrere andere Kommunikationschips). Beispielsweise kann der Kommunikationschip 1312 zur Verwaltung von drahtlosen Kommunikationen für den Transport von Daten zu und von der Vorrichtung 1300 konfiguriert sein. Der Begriff „drahtlos“ und seine Ableitungen können verwendet werden, um Schaltungen, Vorrichtungen, Systeme, Verfahren, Techniken, Kommunikationskanäle usw. zu beschreiben, die Daten durch die Verwendung modulierter elektromagnetischer Strahlung durch ein nicht festes Medium kommunizieren können. Der Begriff impliziert nicht, dass die assoziierten Vorrichtungen keine Drähte enthalten, obwohl dies in manchen Ausführungsformen möglicherweise nicht der Fall ist.
  • Der Kommunikationschip 1312 kann beliebige einer Anzahl von drahtlosen Standards oder Protokollen implementieren, einschließlich unter anderem Institute for Electrical and Electronic Engineers (IEEE) Standards einschließlich WiFi (IEEE 802.11-Familie), IEEE 802.16-Standards (z. B. IEEE 802.16-2005-Änderung), Long-Term Evolution (LTE) Projekt zusammen mit jeglichen Änderungen, Aktualisierungen und/oder Revisionen (z. B. Advanced LTE Projekt, Ultra Mobile Broadband (UMB) Projekt (auch als „3GPP2“ bezeichnet) usw.). IEEE 802.16-kompatible Broadband Wireless Access (BWA) Netzwerke werden allgemein als WiMAX-Netzwerke bezeichnet, ein Akronym, das für Worldwide Interoperability for Microwave Access steht, was ein Prüfzeichen für Produkte ist, die Konformitäts- und Interoperabilitätstests für die IEEE 802.16-Standards erfüllen. Der eine oder die mehreren Kommunikationschips 1312 können gemäß einem Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Evolved HSPA (E-HSPA) oder LTE-Netzwerk arbeiten. Der eine oder die mehreren Kommunikationschips 1312 können gemäß Enhanced Data for GSM Evolution (EDGE), GSM EDGE Radio Access Network (GERAN), Universal Terrestrial Radio Access Network (UTRAN) oder Evolved UTRAN (E-UTRAN) arbeiten. Der eine oder die mehreren Kommunikationschips 1312 können gemäß Codemultiplex-Mehrfachzugriff (CDMA), Zeitmultiplex-Mehrfachzugriff (TDMA) DECT (Digital Enhanced Cordless Telecommunications), EV-DO (Evolution-Data Optimized) und Ableitungen davon, sowie beliebigen anderen Drahtlosprotokollen arbeiten, die als 3G, 4G, 5G und darüber hinaus bezeichnet sind. Der Kommunikationschip 1312 kann in anderen Ausführungsformen gemäß anderen Drahtlosprotokollen arbeiten. Die Vorrichtung 1300 kann eine Antenne 1322 beinhalten, um drahtlose Kommunikationen zu ermöglichen und/oder andere drahtlose Kommunikationen (wie etwa AM- oder FM-Funkübertragungen) zu empfangen.
  • In einigen Ausführungsformen kann der Kommunikationschip 1312 drahtgebundene Kommunikationen unter Verwendung eines anderen Protokolls als das hierin beschriebene Protokoll für den Bus 106 verwalten. Drahtgebundene Kommunikationen können elektrische, optische oder beliebige andere geeignete Kommunikationsprotokolle beinhalten. Beispiele für drahtgebundene Kommunikationsprotokolle, die durch den Kommunikationschip 1312 ermöglicht werden können, beinhalten Ethernet, Controller Area Network (CAN), I2C, Media-Oriented Systems Transport (MOST) oder ein beliebiges anderes geeignetes drahtgebundenes Kommunikationsprotokoll.
  • Wie oben angemerkt, kann der Kommunikationschip 1312 mehrere Kommunikationschips beinhalten. Beispielsweise kann ein erster Kommunikationschip 1312 für drahtlose Kurzstreckenkommunikationen wie etwa WiFi oder Bluetooth dediziert sein, und ein zweiter Kommunikationschip 1312 kann für drahtlose Kommunikationen mit längerer Reichweite dediziert sein, wie etwa ein globales Positionierungssystem (GPS), EDGE, GPRS, CDMA, WiMAX, LTE, EV-DO oder andere. In einigen Ausführungsformen kann ein erster Kommunikationschip 1312 für drahtlose Kommunikationen dediziert sein, und ein zweiter Kommunikationschip 1312 kann für drahtgebundene Kommunikationen dediziert sein.
  • Die Vorrichtung 1300 kann eine Batterie-/Leistungsschaltungsanordnung 1314 beinhalten. Die Batterie-/Leistungsschaltungsanordnung 1314 kann eine oder mehrere Energiespeichervorrichtungen (z. B. Batterien oder Kondensatoren) und/oder eine Schaltungsanordnung zur Kopplung von Komponenten der Vorrichtung 1300 mit einer Energiequelle beinhalten, die von der Vorrichtung 1300 getrennt ist (z. B. AC-Netzstrom, durch eine Autobatterie gelieferte Spannung usw.). Beispielsweise kann die Batterie-/Leistungsschaltungsanordnung 1314 die Upstream-Busschnittstellenschaltungsanordnung 132 und die Downstream-Busschnittstellenschaltungsanordnung 131 beinhalten, die oben mit Bezug auf 2 erörtert sind, und könnte durch den Bias auf dem Bus 106 geladen werden.
  • Die Vorrichtung 1300 kann eine Anzeigevorrichtung 1306 (oder eine entsprechende Schnittstellenschaltungsanordnung, wie oben erörtert) beinhalten. Die Anzeigevorrichtung 1306 kann beliebige visuelle Indikatoren beinhalten, wie etwa zum Beispiel ein Heads-Up-Display, einen Computermonitor, einen Projektor, eine Touchscreen-Anzeige, eine Flüssigkristallanzeige (LCD), eine Leuchtdiodenanzeige oder einen Flachbildschirm.
  • Die Vorrichtung 1300 kann eine Audioausgabevorrichtung 1308 (oder eine entsprechende Schnittstellenschaltungsanordnung, wie oben erörtert) beinhalten. Die Audioausgabevorrichtung 1308 kann eine beliebige Vorrichtung beinhalten, die einen akustischen Indikator erzeugt, wie etwa zum Beispiel Lautsprecher, Kopfhörer oder Ohrhörer.
  • Die Vorrichtung 1300 kann eine Audioeingabevorrichtung 1324 (oder eine entsprechende Schnittstellenschaltungsanordnung, wie oben erörtert) beinhalten. Die Audioeingabevorrichtung 1324 kann eine beliebige Vorrichtung beinhalten, die ein Signal erzeugt, das einen Ton repräsentiert, wie etwa Mikrofone, Mikrofonarrays oder digitale Instrumente (z. B. Instrumente mit einem MIDI(Musical Instrument Digital Interface)-Ausgang).
  • Die Vorrichtung 1300 kann eine GPS-Vorrichtung 1318 (oder eine entsprechende Schnittstellenschaltungsanordnung, wie oben erörtert) beinhalten. Die GPS-Vorrichtung 1318 kann mit einem satellitenbasierten System in Kommunikation stehen und kann einen Standort der Vorrichtung 1300 empfangen, wie in der Technik bekannt.
  • Die Vorrichtung 1300 kann eine andere Ausgabevorrichtung 1310 (oder eine entsprechende Schnittstellenschaltungsanordnung, wie oben erörtert) beinhalten. Beispiele für die andere Ausgabevorrichtung 1310 können einen Audio-Codec, einen Video-Codec, einen Drucker, einen drahtgebundenen oder drahtlosen Sender zum Bereitstellen von Informationen zu anderen Vorrichtungen oder eine zusätzliche Speichervorrichtung beinhalten. Zusätzlich können beliebige geeignete der hierin erörterten Peripherievorrichtungen 108 in der anderen Ausgabevorrichtung 1310 eingeschlossen sein.
  • Die Vorrichtung 1300 kann eine andere Eingabevorrichtung 1320 (oder eine entsprechende Schnittstellenschaltungsanordnung, wie oben erörtert) beinhalten. Beispiele für die andere Eingabevorrichtung 1320 können einen Beschleunigungsmesser, ein Gyroskop, eine Bilderfassungsvorrichtung, eine Tastatur, eine Cursorsteuervorrichtung wie etwa eine Maus, einen Eingabestift, ein Touchpad, ein Barcodelesegerät, ein Quick-Response(QR)-Code-Lesegerät oder ein RFID-Lesegerät (RFID: Radio Frequency Identification - Radiofrequenzidentifikation) beinhalten. Zusätzlich können beliebige geeignete der hierin erörterten Sensoren oder Peripherievorrichtungen 108 in der anderen Eingabevorrichtung 1320 eingeschlossen sein.
  • Beliebige geeignete der Anzeige-, Eingabe-, Ausgabe-, Kommunikations- oder Speichervorrichtungen, die oben mit Bezug auf die Vorrichtung 1300 beschrieben sind, können als die Peripherievorrichtung 108 im System 100 dienen. Alternativ oder zusätzlich können beliebige der Anzeige-, Eingabe-, Ausgabe-, Kommunikations- oder Speichervorrichtungen, die oben mit Bezug auf die Vorrichtung 1300 beschrieben sind, in einem Host (z. B. dem Host 1 10) oder einem Knoten (z. B. einem Hauptknoten 102-1 oder einem Unterknoten 102-2) enthalten sein.
  • Die Elemente eines Systems 100 können gewählt und konfiguriert werden, um Audio- und/oder Lichtsteuerung über den Bus 106 bereitzustellen. In einigen Ausführungsformen kann das System 100 dazu ausgelegt sein, als ein Lichtsteuerungssystem in einem Fahrzeug oder einer anderen Umgebung zu dienen, wobei Beleuchtungsvorrichtungen (z. B. Streifen-Leuchtdioden (LEDs) oder andere LED-Anordnungen) als Peripherievorrichtungen 108 in Kommunikation mit Knoten 102 entlang des Busses 106 dienen; Daten können über den Bus 106 kommuniziert werden, um die Farbe, die Intensität, die Einschaltdauer und/oder andere Parameter der Beleuchtungsvorrichtungen zu steuern. In einigen Ausführungsformen kann das System 100 dazu ausgelegt sein, als ein Audiosteuerungssystem in einem Fahrzeug oder einer anderen Umgebung zu dienen, wobei ein Mikrofon oder eine andere Vorrichtung einen Beschleunigungsmesser beinhaltet, der als eine Peripherievorrichtung 108 in Kommunikation mit einem Knoten 102 entlang des Busses 106 dienen kann; Daten vom Beschleunigungsmesser können über den Bus 106 kommuniziert werden, um andere Peripherievorrichtungen 108 entlang des Busses 106 zu steuern. Beispielsweise können große Spitzen in den Beschleunigungsdaten oder andere vorbestimmte Beschleunigungsdatenmuster verwendet werden, um die Erzeugung eines Geräuscheffekts, wie etwa eine Kuhglocke oder einen Trommelschlag, durch eine Verarbeitungsvorrichtung auszulösen, die mit einem Knoten 102 gekoppelt ist; dieser Geräuscheffekt kann durch einen Lautsprecher ausgegeben werden, der mit der Verarbeitungsvorrichtung gekoppelt ist, und/oder durch einen Lautsprecher, der mit einem anderen Knoten 102 entlang des Busses 106 gekoppelt ist. Einige Ausführungsformen des Systems 100 können beliebige der hierin offenbarten Beleuchtungssteuerungs- und/oder Audiosteuerungstechniken kombinieren.
  • Obwohl verschiedene der oben erörterten Ausführungsformen das System 100 in einem Fahrzeugumfeld beschreiben, ist dies lediglich veranschaulichend, und das System 100 kann in einem beliebigen gewünschten Umfeld implementiert werden. Beispielsweise kann in einigen Ausführungsformen eine „Koffer“-Implementierung des Systems 100 ein portables Gehäuse beinhalten, das die gewünschten Komponenten des Systems 100 beinhaltet; eine solche Implementierung kann insbesondere für portable Anwendungen geeignet sein, wie etwa portable Karaoke- oder Entertainment-Systeme.
  • Wie oben angemerkt, kann die Kalibration von Mikrofonen in einem Array (z. B. in Ausführungsformen des Systems 100, in denen eine oder mehrere der Peripherievorrichtungen 108 Mikrofone beinhalten) für die effektive Strahlformung und andere Operationen wichtig sein. 14-22 veranschaulichen beispielhafte Systeme und Techniken zur Kalibration und die Anwendung einer Kalibration während der Laufzeit.
  • 14 veranschaulicht ein System zur Kalibration eines Mikrofonmoduls während des End-of-Line-Tests nach der Fertigung gemäß verschiedenen Ausführungsformen. In dem System von 14 kann ein Lautsprecher 2120 einen Testsignal s(t) an ein zu kalibrierendes Mikrofonmodul 2140 abspielen. Das Mikrofonmodul 2140 kann ein Mikrofon beinhalten oder es kann ein Array von n Mikrofonen M1...Mn 2141...2142 beinhalten. In einigen Beispielen ist n=1, und ein Mikrofon Array ist ein Array mit einem Mikrofon. Ein Referenzmikrofon M0 2130 kann zwischen dem Lautsprecher 2120 und dem Mikrofonmodul 2140 oder an einem beliebigen geeigneten bekannten Ort relativ zu dem Lautsprecher 2120 und dem Mikrofonmodul 2140 platziert sein. Die Mikrofone M1...Mn können jeweils Signale m1(t)...mn(t) erzeugen, und diese Signale und das Referenzmikrofonsignal m0(t) können in einem Kalibrationskalkulator 2110 verarbeitet werden. Der Kalibrationskalkulator 21 10 kann beliebige geeignete Verarbeitungsvorrichtungen beinhalten und kann zum Beispiel ein Personal Computer sein. Der Kalibrationskalkulator 2110 kann einen Satz von Filterkoeffizienten (hierin auch als „Kalibrationskoeffizienten“ bezeichnet) K1 ... Kn erzeugen und kann die Filterkoeffizienten zu dem zu kalibrierenden Mikrofonmodul 2140 übertragen. Die Koeffizienten können in einem nichtflüchtigen Speicher 2143 (z. B. einem programmierbaren Nurlesespeicher (PROM)) gespeichert werden, der mit dem Mikrofonmodul 2140 assoziiert ist.
  • Mikrofonmodule werden allgemein während der oder im Anschluss an die Fertigung getestet. In einigen Beispielen emittiert der Lautsprecher 2120 einen Ton, einen Chirp oder einen Frequenzbereichsdurchlauf, der am Referenzmikrofon 2130 und an jedem der Mikrofone 2141, 2142 des Mikrofonmoduls 2140 empfangen wird. Es wird dann bestimmt, ob jedes der Mikrofone 2141, 2142 eine Spezifikation erfüllt. Die Antwort eines Mikrofons 2141, 2142 auf den empfangenen Ton beinhaltet Frequenz-, Größen- und Phasenmessungen. Sobald bestimmt wird, was die empfangenen Frequenz-, Größen- und Phasenmessungen an einem ausgewählten Mikrofon 2141, 2142 sind, können Kalibrationskoeffizienten für die jeweiligen Mikrofone oder das Mikrofonmodul insgesamt bestimmt werden. In verschiedenen Beispielen handelt es sich bei Größenmessungen um Amplitudenmessungen. In einigen Beispielen bestehen einige Mikrofonmodule die Überprüfung nicht und werden weggeworfen.
  • Mikrofonmodule, die die Überprüfung bestehen, können unter Verwendung von Testton(oder Test-Chirp Festfrequenzdurchlauf usw.)-Antwortmessungen kalibriert werden, und ein Frequenz- und Phasendiagramm kann für jedes Mikrofon 2141, 2142 erzeugt werden. Die Frequenz- und Phasendiagramme können für eine zukünftige Kalibration der Mikrofone 2141, 2142 verwendet werden. Beispielsweise können Kalibrationsinformationen für jedes Mikrofon oder für das Mikrofonmodul insgesamt erzeugt und für eine zukünftige Mikrofonkalibration und/oder -kompensation abgespeichert werden. In einigen Beispielen wird eine Transformation für jedes Mikrofon 2141, 2142 erzeugt, die gespeichert und für eine spätere Mikrofonkompensation und/oder -kalibration verwendet werden kann. In einigen Beispielen werden die Kalibrationsdaten in einem Speicher des Mikrofonmoduls selbst gespeichert, wie etwa in Nurlesespeicher, programmierbaren Nurlesespeicher (PROM), löschbaren PROM (EPROM) und elektrisch löschbaren programmierbaren Nurlesespeicher (EEPROM). In einigen Beispielen werden die Kalibrationsdaten für das Mikrofon außerhalb des Mikrofons gespeichert. Beispielsweise können die Kalibrationsdaten in einer Cloud-Speicherung gespeichert und für einen Digitalsignalprozessor (DSP) zur Kalibration vor und während der Mikrofonverwendung zugreifbar gemacht werden. In einigen Beispielen können digitale Bus-Networking-Merkmale verwendet werden, um spezifische Mikrofonkalibrationsdaten für jedes Mikrofon abzurufen.
  • In einigen Beispielen wird die Kalibration der Mikrofone 2141, 2142 unter Verwendung des Referenzmikrofons 2130 erreicht. Beispielsweise hat das Referenzmikrofon 2130 eine bekannte Antwort. Die Mikrofonkalibration erzeugt Mikrofonkalibrationskoeffizienten. Die Kalibrationskoeffizienten können in einem Mikrofonmodul gespeichert werden, sodass die Kalibrationskoeffizienten mit dem Mikrofon verbleiben, ungeachtet dessen, wo das Mikrofonmodul installiert ist.
  • Gemäß einigen Implementierungen beinhalten Kalibrationskoeffizienten, die für jedes Mikrofon abgespeichert werden, Phasendaten, und in einigen Beispielen beinhalten die Kalibrationskoeffizienten Phasentoleranzen. In einigen Implementierungen beinhalten die Kalibrationskoeffizienten komplexe Zahlen. In einigen Beispielen beinhalten die Kalibrationskoeffizienten eine Impulsantwort. In einigen Beispielen beinhalten die Kalibrationskoeffizienten eine Transferfunktion.
  • Gemäß verschiedenen Implementierungen ist das Referenzmikrofon 2130 der Referenzpunkt im Raum, und das Referenzmikrofon 2130 kalibriert den vom Lautsprecher 2120 empfangenen Ton unter Berücksichtigung von Unsicherheiten des Lautsprechers 2120. In verschiedenen Beispielen ist das Referenzmikrofon 2130 vorkalibriert. In einigen Beispielen ist die Frequenzantwort des Referenzmikrofons 2130 vorkalibriert. In einigen Beispielen kann die Frequenzantwort des Referenzmikrofons 2130 für das Mikrofonmodul 2140 verwendet werden. In einigen Implementierungen sind Phaseninformationen in der Kalibration eingeschlossen und im Mikrofonmodul abgespeichert, wie etwa in einem Mikrofonspeicher 2143. In einigen Beispielen ruft eine Rechenvorrichtung Kalibrationskoeffizientendaten ab, die im Mikrofonmodul 2140 gespeichert sind, und wendet die Daten an den Mikrofonen 2141, 2142 an, um die Mikrofone 2141, 2142 zu kalibrieren.
  • In verschiedenen Implementierungen ist der Speicher im Mikrofonmodul 2143 ein EPROM. In einigen Beispielen ist das Speichermodul 2143 ein EEPROM. In einigen Beispielen ist das Speichermodul 2143 ein einmalig programmierbarer (OTP) EPROM. In verschiedenen Implementierungen beinhaltet das Speichermodul 2143 zusätzliche Mikrofoninformationen wie etwa Anbieterinformationen, Produktinformationen, Versionsinformationen, Seriennummer, Vorrichtungsfähigkeiten, sowie beliebige andere Mikrofoninformationen. In einigen Implementierungen ist der Speicher auf einer MCU oder einem digitalen Networking-Chip im Mikrofonmodul integriert.
  • Gemäß verschiedenen Implementierungen beinhalten Kalibrationsdaten, die im Mikrofonmodul selbst gespeichert sind, Frequenzdaten, Größendaten und Phasendaten. In verschiedenen Beispielen beinhalten Größendaten Amplitudendaten. In einigen Beispielen werden die Kalibrationsdaten über eine 2-Draht-Schnittstelle kommuniziert. In einigen Beispielen werden die Kalibrationsdaten über ein Audiokommunikationsnetzwerk wie einen digitalen Networking-Bus kommuniziert.
  • Gemäß verschiedenen Implementierungen können Kalibrationskoeffizienten für ein einzelnes Mikrofon gespeichert werden und können Kalibrationskoeffizienten für ein Mikrofonarray gespeichert werden. In einigen Beispielen wird eine einzige Kalibration für das Mikrofonarray gespeichert. Falls beispielsweise Mikrofone nicht zentriert sind und die nicht zentrierte Position der Mikrofone während der Kalibration entdeckt wird, können dieselben Kalibrationsdaten zum Kalibrieren der Dezentralität jedes der Mikrofone verwendet werden. Eigenschaften des Mikrofonarrays und des Mikrofonmoduls 2140 können zusammen kalibriert werden. In einigen Beispielen weist jedes Mikrofon individuelle Kalibrationsdaten auf.
  • In einigen Beispielen können Verstärkung und Phasenkorrektur wie ein verschobenes Mikrofon aussehen. Es kann bekannt sein, wie ein Signal bei der Ankunft aussehen sollte, und Anpassungen können vorgenommen werden, falls das Signal fehl platziert ist. In verschiedenen Beispielen kann eine Verschiebung entweder eine Mikrofonfehlanpassung oder eine Mikrofonplatzierungsfehlanpassung sein, da beide nicht unterscheidbar sind und gleichzeitig mit dem gleichen Endergebnis erledigt werden können.
  • In einigen Implementierungen werden Mikrofone im Modul 2140 für eine ausgewählte Richtung kalibriert, und nach einer Pro-Sensor-Kalibration werden die Mikrofone des Arrays im Mikrofonmodul 2140 so kalibriert, dass die Mikrofone 2141, 2142 identische Frequenz- und Phasenantworten aufweisen. Im Allgemeinen, sobald ein Mikrofon kalibriert ist, verbleiben die Kalibrationskoeffizienten mit dem Mikrofon, und können somit an einem jeglichen Ort verwendet werden, an dem das Mikrofon letzten Endes installiert wird.
  • In einigen Beispielen beinhaltet der Speicher 2143 einige Kalibrationsdaten, die für individuelle Mikrofone spezifisch sind, und einige Kalibrationsdaten, die für das Mikrofonmodul 2140 gelten. Beispielsweise können physische Charakteristiken des Mikrofonmoduls 2140, wie etwa der Abstand zwischen den Mikrofonen eines Mikrofonarrays, im Speicher 2143 gespeichert werden. In einigen Beispielen werden Koeffizienten für ein Mikrofonarray bereitgestellt, das in einer Fahrzeug-Headunit montiert ist, sodass Strahlformung für einen Fahrer angewendet werden kann. Beispielsweise kann eine Headunit wissen, zu welchem Winkel und/oder welcher Richtung zu fokussieren ist, aber die Headunit weiß möglicherweise nicht, welche Art von Mikrofonarray installiert ist. Falls der Headunit die Mikrofonarrayinformationen zur Verfügung stehen, kann die Headunit Strahlformungscharakteristiken berechnen. Informationen über ein Mikrofonmodul, die im Speicher 2143 gespeichert werden können, beinhalten die Anzahl von Mikrofonen im Array, der Verstärkungsbereich der Mikrofone und physische Charakteristiken der Mikrofone.
  • In einigen bestimmte Ausführungsformen des oben mit Bezug auf 14 erörterten Kalibrationsverfahrens können Kurzzeit-Fourier-Informationen verwendet werden, um Frequenzdomänenrepräsentationen S(f), M0(f), M1(f)...Mn(f) der entsprechenden Signale zu berechnen.
  • In einigen Implementierungen werden Mikrofondaten für mehrere Mikrofonmodule in einem System in einer Speichervorrichtung in einem Unterknoten gespeichert. In einigen Implementierungen werden Mikrofondaten für alle Mikrofonmodule in einem System in einer Speichervorrichtung in einem Unterknoten gespeichert. Beispielsweise können Kalibrationsdaten an einem Unterknoten ohne Onboard-Verarbeitung, aber mit Datenspeicherung gespeichert werden. In einigen Beispielen werden die Daten nach einem Test im Anschluss an die Installation gespeichert und in einem Netzwerkbusknoten mit einer verfügbaren und offenen Speichervorrichtung gespeichert.
  • 15 ist ein Verfahren 2200, das Operationen veranschaulicht, die während der Kalibration unter Verwendung eines Systems wie das von 14 durchgeführt werden können, gemäß verschiedenen Ausführungsformen der Erfindung. Bei Schritt 2202 wird ein Testsignal s(t) durch einen Lautsprecher wiedergegeben. Beispielsweise kann das Testsignal s(t) durch den Lautsprecher 2120 wiedergegeben werden. Das Testsignal s(t) kann ein Testton, ein Chirp, ein Frequenzdurchlauf oder ein beliebiger anderer Typ von Signal sein. Bei Schritt 2204 werden Mikrofonaudiosignale m0(t), m1(t), ... mn(t) vom Referenzmikrofon und von den Mikrofonen im Mikrofonarray abgetastet (z. B. das Referenzmikrofonaudiosignal m0(t) vom Referenzmikrofon 2130 und die Mikrofonaudiosignale m1(t), ... mn(t) vom Mikrofonarray des Mikrofonmoduls 2140).
  • Bei Schritt 2206 werden Frequenzdomänensignale S(f), M0(f), M1(f), Mn(f) basierend auf Frames von N Audioabtastungen jedes Zeitdomänensignals s(t), m0(t), m1(t), ..., mn(t) bestimmt. In einigen Beispielen wird eine Fourier-Transformation der Frames der N Audioabtastungen jedes Zeitdomänensignals s(t), m0(t), m1(t), ..., mn(t) verwendet, um die Frequenzdomänensignale S(f), M0(f), M1(f), ..., Mn(f) zu berechnen. Bei Schritt 2208 werden Kalibrationskoeffizienten K1(t), ..., Kn(t) für jedes Mikrofon M1, ..., Mn berechnet (z. B. die Mikrofone 2141, 2142 im Mikrofonarray des Mikrofonmoduls 2140). In einigen Beispielen werden Spektraldomänensignale M1(f), ..., Mn(f) und S(f) oder M0(f) verwendet, um die Kalibrationskoeffizienten zu berechnen. In einigen Beispielen werden die bei Schritt 2206 berechneten Frequenzdomänensignale verwendet, um die Kalibrationskoeffizienten bei Schritt 2208 zu bestimmen. In einigen Beispielen wird das Referenzmikrofonaudiosignal m0(t) verwendet, um die Kalibrationskoeffizienten für die Mikrofone 2141, 2142 des Mikrofonarrays im Mikrofonmodul 2140 zu bestimmen. Bei Schritt 2210 werden die Kalibrationskoeffizienten K1(t), ..., Kn(t) in einem nichtflüchtigen Speicher gespeichert, der mit dem Mikrofonarray assoziiert ist (z. B. werden die Kalibrationskoeffizienten K1(τ), ... Kn(τ) im Speicher 2143 des Mikrofonmoduls 2140 gespeichert).
  • 16 ist ein Verfahren 2220, das insbesondere Operationen veranschaulicht, die bei der Bestimmung von Kalibrationskoeffizienten durchgeführt werden können, gemäß verschiedenen Ausführungsformen der Erfindung. Insbesondere ersetzen in einigen Beispielen die Schritte 2222 und 2224 des Verfahrens 2220 Schritt 2208 des Verfahrens 2200 von 15. In einigen Beispielen beginnt das Verfahren 2220 nach Schritt 2206 des Verfahrens 2200 von 15. Bei Schritt 2222 werden Kalibrationstransferfunktionen H1... Hn für jedes Mikrofon 2141, 2142 im Mikrofonmodul 2140 berechnet. Insbesondere wird die Kalibrationstransferfunktion Hx(f), x=1 ....n berechnet, wobei: H x ( f ) = exp ( i2 π fd/c ) M 0 ( f ) M 0 * ( f ) ¯ / M x ( f ) M 0 * ( f ) ¯
    Figure DE112021005897T5_0001
  • In einigen Beispielen werden die Kalibrationstransferfunktionen unter Verwendung der abgetasteten Mikrofonaudiosignale m0(t), m1(t), ... mn(t) berechnet. Bei Schritt 2224 wird eine inverse Fourier-Transformation von Hx(f) verwendet, um die Kalibrationskoeffizienten K1(τ), ... Kn(τ) unter Verwendung der Kalibrationstransferfunktionen H1... Hn zu berechnen. Bei Schritt 2226 werden die Kalibrationskoeffizienten in einem nichtflüchtigen Speicher des Mikrofonmoduls gespeichert (z. B. dem Speicher 2143 des Mikrofonmoduls 2140).
  • In der Ausführungsform von 16 kann die Transferfunktion, die M0 bis Mx abbildet, wobei x beliebige der Mikrofone 1...n bezeichnet, als ein Quotient von Folgendem berechnet werden: (1) ein zeitlich gemitteltes Kreuzkorrelationsprodukt des Mikrofons Mx und des Referenzmikrofons M0 2130 (im Nenner) und (2) das Autokorrelationsprodukt von M0 (im Zähler). Die in 16 veranschaulichte Kalibrationstransferfunktion ist die Inverse dieser Transferfunktion, wobei der Phasenverschiebungsterm exp(i2πfd/c) die Zeitverzögerung zwischen M0 und Mx widerspiegelt, was zu kürzeren Filtern führt. FIR-Filterkoeffizienten (FIR: Finite Impulse Response - endliche Impulsantwort) Kx können durch das Anwenden einer inversen Fourier-Transformation der Kalibrationstransferfunktionen Hx 2312 berechnet werden.
  • 17 ist ein Verfahren 2240, das insbesondere Operationen veranschaulicht, die bei der Bestimmung von Kalibrationskoeffizienten durchgeführt werden können, gemäß verschiedenen Ausführungsformen der Erfindung. Insbesondere beginnt das Verfahren 2240 in einigen Beispielen nach Schritt 2204 von 15. Wie in 17 gezeigt, ist das Verfahren 2240 eine Prozedur mit mehreren Schritten. Bei Schritt 2242 wird der Testsignallautsprecher vorkalibriert. Insbesondere kann eine Transferfunktion HL(f) berechnet werden, um das Lautsprechersignal S(f) auf das Referenzmikrofonsignal M0(f) abzubilden. In einem Beispiel: H L ( f ) = M 0 ( f ) S * ( f ) ¯ / S ( f ) S * ( f ) ¯
    Figure DE112021005897T5_0002
  • Bei Schritt 2244 werden die Kalibrationstransferfunktionen Hx(f), (x=1 ...n), berechnet. Insbesondere: x ( f ) = exp ( i2 π fd/c ) H L ( f ) S ( f ) H L * ( f ) S * ( f ) ¯ / M x ( f ) H L * ( f ) S * ( f ) ¯
    Figure DE112021005897T5_0003
  • In einigen Beispielen wird das Referenzmikrofon M0 dann nicht zur Berechnung der Kalibrationstransferfunktionen Hx bei Schritt 2244 verwendet. Beispielsweise kann das Referenzmikrofonsignal als das Produkt von HL(f) und S(f) berechnet werden. Die Berechnung von Filterkoeffizienten kann dann wie oben beschrieben durchgeführt werden. Insbesondere werden bei Schritt 2246 die Kalibrationskoeffizienten Kx(t), (x = 1 ...n) mittels einer inversen Fourier-Transformation von Hx(f), (x = 1 ...n), bestimmt. Bei Schritt 2248 werden die Kalibrationskoeffizienten in einem Mikrofonarrayspeicher gespeichert. In noch einer anderen Ausführungsform kann der erste Schritt der Kalibration im Verfahren 2240 weggelassen werden, und ein Lautsprecher kann zum Ausgeben des Testsignals s(t) genutzt werden (z. B. eine Punktquelle mit flacher Frequenzantwort), und HL(f) kann für alle Frequenzen auf 1 gesetzt werden.
  • 18 veranschaulicht ein System 2400, das mehrere Mikrofonmodule A1...Am 2410...2420 einschließt, gemäß verschiedenen Ausführungsformen. Das System 2400 veranschaulicht die Mikrofonmodule A1...Am 2410...2420 zur Betriebszeit. Insbesondere können die Mikrofonmodule A1...Am 2410...2420 in einem ausgewählten Ort zur Verwendung installiert werden. Die Mikrofonmodule A1...Am 2410...2420 wurden möglicherweise zuvor kalibriert, wie oben mit Bezug auf 14-17 beschrieben. Während des Betriebs im System 2400 kann die zuvor durchgeführte Kalibration verwendet werden, um die Mikrofonsignale für Mikrofone in den Modulen A1...Am 2410...2420 zu filtern. Insbesondere wurden Kalibrationen möglicherweise zuvor für jedes der Mikrofonmodule A1...Am 2410...2420 durchgeführt, und Kalibrationskoeffizienten können in den Speichern 2413, 2423 in jedem Mikrofonmodul A1...Am 2410...2420 gespeichert sein. In dem System von 18 kann eine Mikrofonsignalverarbeitungseinheit 2430 als ein Edge-Prozessor auf der Datenschnittstelle 2450 (die zum Beispiel eine beliebige der Ausführungsformen des hierin offenbarten Busses 106 sein kann) zu der Mikrofonsignalsenke 2440 arbeiten.
  • 19 ist ein Diagramm, das ein Verfahren 2500 zum Anwenden der Kalibrationskoeffizienten während der Laufzeit gemäß verschiedenen Ausführungsformen veranschaulicht. In einigen Implementierungen kann das Verfahren 2500 durch die Mikrofonsignalverarbeitungseinheit 2430 von 18 durchgeführt werden. Bei Schritt 2502 werden Kalibrationskoeffizienten Kxy(τ), (x = 1...n, y=1 ...m) durch die Mikrofonsignalverarbeitungseinheit 2430 für die Mikrofonmodule A1...Am 2410...2420 von den Speichern 2413, 2423 über die Datenschnittstelle 2510 abgerufen. Bei Schritt 2504 wird eine diskrete Faltung der Mikrofonsignale mxy(t) mit jeweiligen Kalibrationskoeffizienten Kxy(τ) durchgeführt, um kalibrierte Mikrofonsignale nxy(t) zu erbringen. n x y ( t ) = τ K x y ( τ ) m x y ( t τ )
    Figure DE112021005897T5_0004
    wobei x = 1 ...n, y = 1 ...m
  • In einigen Beispielen werden die Kalibrationskoeffizienten K als FIR-Filter angewendet. Bei Schritt 2506 werden die ursprünglichen Mikrofonsignale mxy(t) in der Mikrofonsignalverarbeitungseinheit 2430 mit kalibrierten Mikrofonsignalen nxy(t) ersetzt. In einigen Beispielen werden die ursprünglichen Mikrofonsignale weiter unten in der Datenschnittstelle mit kalibrierten Mikrofonsignalen ersetzt. Bei Schritt 2508 werden kalibrierte Mikrofonsignale nxy(t), anstelle der ursprünglichen Mikrofonsignale mxy(t), x = 1...n, y = 1 ...m zu einer Mikrofonsenke 2440 auf der Datenschnittstelle 2450 weitergeleitet.
  • 20 ist ein Diagramm 2600, das ein beispielhaftes Umfeld veranschaulicht, in dem Mikrofonmodule verwendet werden können, die gemäß den hierin offenbarten Techniken kalibriert werden, gemäß verschiedenen Ausführungsformen der Offenbarung. Insbesondere zeigt 20 ein Fahrzeug einschließlich eines Hauptknotens 2602, eines ersten Unterknotens 2604, eines zweiten Unterknotens 2606 und eines dritten Unterknotens 2606. Der Hauptknoten 2602 ist über einen Bus 106 mit dem ersten Unterknoten 2604 verbunden; der erste Unterknoten 2604 ist über den Bus 106 mit dem zweiten Unterknoten 2606 verbunden; und der zweite Unterknoten 2606 ist über den Bus 106 mit dem dritten Unterknoten 2608 verbunden. Somit sind der Hauptknoten 2602, der erste Unterknoten 2604, der zweite Unterknoten 2606 und der dritte Unterknoten 2608 in einer Verkettungskonfiguration verbunden, wie hierin beschrieben.
  • In einigen Beispielen ist der Hauptknoten 2602 eine Headunit. In einigen Beispielen werden digitale Audiosignale von dem zweiten 2606 und dritten 2608 Unterknoten zu dem ersten Unterknoten 2604 gesendet. In verschiedenen Beispielen können beliebige des ersten 2604, des zweiten 2606 und des dritten 2608 Unterknotens einen Audioverarbeitungsknoten beinhalten. Gleichermaßen kann der Hauptknoten 2602 einen Audioverarbeitungsknoten beinhalten. In verschiedenen Beispielen kann ein Audioverarbeitungsknoten ein Hauptknoten, ein Mikrofonknoten, ein Verstärkerknoten, ein Notrufknoten oder viele andere Typen von Knoten sein. Obwohl das Umfeld von 20 ein Fahrzeug ist, können die hierin offenbarten Systeme und Techniken in einem beliebigen geeigneten Umfeld verwendet werden. In einigen Ausführungsformen kann der Bus 106 ein Twisted-Wire-Pair (z. B. ein ungeschirmtes Twisted-Pair) beinhalten.
  • In einigen Ausführungsformen wird die Kalibration eines Mikrofonmoduls möglicherweise nicht in einer Fabrik zur Fertigungszeit stattfinden, sondern kann stattfinden, wenn die Mikrofone in ihrem beabsichtigten Umfeld installiert werden. Beispielsweise ist 21 ein Diagramm, das ein Verfahren 2700 zur Kalibration eines Mikrofonmoduls veranschaulicht, das durch ein System 100 durchgeführt werden kann, um Mikrofonmodule in ihrem Betriebsumfeld zu kalibrieren, gemäß verschiedenen Ausführungsformen der Offenbarung. Beispielsweise kann das Verfahren 2700 in einem Fahrzeug durchgeführt werden, wie etwa dem in 20 veranschaulichten Fahrzeug. Die Kalibrationsprozedur von 21 kann jedoch durch ein System 100 nach Wunsch in einem Fabrikumfeld anstelle eines Betriebsumfelds durchgeführt werden. Beliebige geeignete der hierin offenbarten Techniken können verwendet werden, um die Kalibrationskoeffizienten der Prozedur von 21 zu berechnen.
  • Bei Schritt 2702 wird das Bussystem entdeckt und konfiguriert. Das Bussystem kann ein beliebiger Typ von Bussystem sein, wie etwa jene, die hierin beschrieben sind. Bei Schritt 2704 wird ein Testsignal von einem Referenzlautsprecher abgespielt. In einigen Beispielen ist das Testsignal ein Chirp. Der Referenzlautsprecher kann mit dem Bussystem verbunden sein. In einigen Beispielen ist der Referenzlautsprecher nicht mit dem Bussystem verbunden, ist aber anderweitig mit dem Mikrofonsystem verbunden. Bei Schritt 2706, während das Testsignal angelegt wird, werden Mikrofonknoten abgetastet. Zusätzlich, falls es ein Messmikrofon und/oder Referenzmikrofon gibt, wird bei Schritt 2706 das Messmikrofon und/oder das Referenzmikrofon abgetastet. Bei Schritt 2708 werden Kalibrationskoeffizienten für jeden Mikrofonknoten zusammen mit beliebigen anderen Kalibrationsdaten berechnet. Bei Schritt 2710 werden Kalibrationsinformationen für jeden Mikrofonknoten in jedem Mikrofonknoten gespeichert.
  • 22 ist ein Diagramm, das ein Verfahren 2750 für eine Betriebsprozedur eines Mikrofonmoduls gemäß verschiedenen Ausführungsformen veranschaulicht. Das Verfahren 2750 kann durch ein System 100 durchgeführt werden, um die Kalibrationskoeffizienten zu extrahieren und zu verwenden, die durch beliebige der hierin offenbarten Kalibrationstechniken für Mikrofonmodule erzeugt werden. Bei Schritt 2752 wird das Bussystem entdeckt und konfiguriert. Das Bussystem kann ein beliebiger Typ von Bussystem sein, wie etwa jene, die hierin beschrieben sind. Bei Schritt 2754 werden zuvor gespeicherte Informationen von Mikrofonknoten gelesen. In einigen Beispielen sind die zuvor gespeicherten Informationen in einem nichtflüchtigen Speicher an jedem Mikrofonknoten gespeichert, und die zuvor gespeicherten Informationen können Kalibrationsinformationen sowie allgemeine Mikrofoninformationen wie etwa Anbieter, Produkt, Modellnummer, Seriennummer, Version usw. beinhalten. Bei Schritt 2756 werden Kalibrationsinformationen zu Knoten weitergeleitet, die einen Audiosignalprozessor beinhalten. Bei Schritt 2758 werden die Kalibrationsinformationen vom Mikrofon an Audiosignalverarbeitungsknoten angewendet. Bei Schritt 2760 wird eine Audioausgabe abgespielt. Die Audioausgabe kann eine analoge oder digitale Audioausgabe sein, und kann zu einem Lautsprecher, einem Verstärker, einem Telefon oder einer beliebigen anderen Audioausgabevorrichtung ausgegeben werden.
  • Ausgewählte Beispiele
  • Beispiel 1 liefert ein System zur Kalibration eines Mikrofonmoduls, umfassend: einen Lautsprecher, der dazu ausgelegt ist, ein Testsignal abzuspielen; ein Mikrofonmodul, das dazu ausgelegt ist, das Testsignal zu empfangen und eine Vielzahl von Mikrofonarraysignalen zu erzeugen; ein Referenzmikrofon, das zwischen dem Lautsprecher und dem Mikrofonmodul positioniert ist, wobei das Referenzmikrofon dazu ausgelegt ist, das Testsignal zu empfangen und ein Referenzsignal zu erzeugen; und ein Kalibrationskalkulator, der dazu ausgelegt ist, die Vielzahl von Mikrofonarraysignalen und das Referenzsignal zu verarbeiten, einen Satz von Filterkoeffizienten zu erzeugen und den Satz von Filterkoeffizienten zu dem Mikrofonmodul zu übertragen.
  • Beispiel 2 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, ferner umfassend einen Speicher, der mit dem Mikrofonarray assoziiert ist und dazu ausgelegt ist, den Satz von Filterkoeffizienten zu speichern.
  • Beispiel 3 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, wobei der Speicher in einem Mikrofonarraymodul mit dem Mikrofonarray positioniert ist.
  • Beispiel 4 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, wobei der Speicher ein Cloud-basierter Speicher ist, auf den das Mikrofonarray zugreifen kann.
  • Beispiel 5 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, wobei der Speicher ferner dazu ausgelegt ist, Mikrofoninformationen zu speichern, einschließlich mindestens eines von Anbieterinformationen, Produktinformationen, Versionsinformationen, Modellinformationen, Fähigkeitsinformationen, Seriennummer, Markeninformationen, Konfigurationsinformationen, Routing-Informationen und Authentifikationsinformationen.
  • Beispiel 6 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, ferner umfassend eine Vielzahl von Speichermodulen, wobei jedes der Vielzahl von Speichermodulen mit einem jeweiligen Mikrofon des Mikrofonarrays assoziiert ist.
  • Beispiel 7 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, wobei die Filterkoeffizienten Phasenkalibration, Frequenzkalibration und Größenkalibration beinhalten.
  • Beispiel 8 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, ferner umfassend eine Zweidrahtschnittstelle, wobei die Übertragung der Filterkoeffizienten zu dem Mikrofonarray über die Zweidrahtschnittstelle stattfindet.
  • Beispiel 9 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, wobei jedes der Vielzahl von Mikrofonarraysignalen eindeutig und jedes jeweilige Mikrofon des Mikrofonarrays mit einem jeweiligen Teilsatz des Satzes von Filterkoeffizienten assoziiert ist.
  • Beispiel 10 liefert ein Verfahren zur Kalibration eines Mikrofonarrays, umfassend: Abspielen eines Testsignals an einem Lautsprecher; Abtasten des Testsignals an einem Mikrofonarray; Erzeugen einer Vielzahl von Mikrofonarraysignalen am Mikrofonarray; Abtasten des Testsignals an einem Referenzmikrofon; Erzeugen eines Referenzsignals am Referenzmikrofon; Erzeugen eines Satzes von Koeffizienten basierend auf der Vielzahl von Mikrofonarraysignalen und dem Referenzsignal; und Übertragen des Satzes von Filterkoeffizienten zu dem Mikrofonarray.
  • Beispiel 1 1 liefert ein Verfahren nach einem der vorhergehenden und/oder folgenden Beispiele, wobei das Abtasten des Testsignals am Mikrofonarray Abtasten des Testsignals an jedem jeweiligen Mikrofon des Mikrofonarrays umfasst.
  • Beispiel 12 liefert ein Verfahren nach einem der vorhergehenden und/oder folgenden Beispiele, wobei das Erzeugen eines Satzes von Filterkoeffizienten Erzeugen eines jeweiligen Teilsatzes von Filterkoeffizienten für jedes jeweilige Mikrofon umfasst.
  • Beispiel 13 liefert ein Verfahren nach einem der vorhergehenden und/oder folgenden Beispiele, ferner umfassend Speichern des jeweiligen Teilsatzes von Filterkoeffizienten in jedem jeweiligen Mikrofon.
  • Beispiel 14 liefert ein Verfahren nach einem der vorhergehenden und/oder folgenden Beispiele, ferner umfassend Speichern des Satzes von Filterkoeffizienten im Mikrofonarray.
  • Beispiel 15 liefert ein Verfahren nach einem der vorhergehenden und/oder folgenden Beispiele, wobei das Übertragen des Satzes von Filterkoeffizienten Übertragen des Satzes von Filterkoeffizienten über einen Zweidrahtbus umfasst.
  • Beispiel 16 liefert ein Verfahren nach einem der vorhergehenden und/oder folgenden Beispiele, ferner umfassend Vorkalibrieren des Lautsprechers unter Verwendung des Referenzmikrofons.
  • Beispiel 17 liefert ein selbstkalibrierendes Mikrofonsystem, umfassend: ein Mikrofonmodul, das aufweist: ein Mikrofon, das dazu ausgelegt ist, ein Audioeingangssignal zu empfangen und ein rohes Mikrofonausgangssignal auszugeben, wobei das Mikrofon vorkalibriert ist, und einen nichtflüchtigen Speicher, der dazu ausgelegt ist, Mikrofonkalibrationskoeffizienten für das Mikrofon speichern; einen Prozessor, der dazu ausgelegt ist, das rohe Mikrofonsignal und die Mikrofonkalibrationskoeffizienten zu empfangen und ein kalibriertes Mikrofonsignal zu erzeugen; und eine Mikrofonsignalsenke, die dazu ausgelegt ist, das kalibrierte Mikrofonsignal vom Prozessor zu empfangen und das kalibrierte Mikrofonsignal auszugeben.
  • Beispiel 18 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, wobei die Mikrofonkalibrationskoeffizienten für mindestens eines von Phasenkalibration, Frequenzkalibration und Größenkalibration ausgelegt sind.
  • Beispiel 19 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, wobei der Prozessor ferner dazu ausgelegt ist, die Mikrofonkalibrationskoeffizienten zur Phasenkalibration des rohen Mikrofonsignals zu verwenden.
  • Beispiel 20 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, ferner umfassend einen Zweidrahtbus, wobei der Prozessor und die Mikrofonsignalsenke über den Zweidrahtbus kommunizieren.
  • Beispiel 21 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, wobei der Prozessor ferner dazu ausgelegt ist, eine Faltung des rohen Mikrofonsignals und der Mikrofonkalibrationskoeffizienten durchzuführen, um das kalibrierte Mikrofonsignal zu erzeugen.
  • Beispiel 22 beinhaltet beliebige der hierin offenbarten Phasen- und Frequenzantwort-Kalibrationssysteme und -techniken.
  • Beispiel 23 beinhaltet den Gegenstand nach einem der vorhergehenden und/oder folgenden Beispiele, und beinhaltet ferner Speicherung der Kalibrationskoeffizienten lokal zu dem Mikrofonarray.
  • Beispiel 24 beinhaltet den Gegenstand nach einem der vorhergehenden und/oder folgenden Beispiele, und beinhaltet ferner die zentrale Anwendung von Kalibrationskoeffizienten an unkalibrierten Mikrofondaten von mehreren Mikrofonarrays.
  • Beispiel 25 beinhaltet den Gegenstand nach einem der vorhergehenden und/oder folgenden Beispiele, und beinhaltet ferner die Ersetzung von ursprünglichen Mikrofonsignalen mit kalibrierten Mikrofonsignalen.
  • Beispiel 26 beinhaltet den Gegenstand nach einem der vorhergehenden und/oder folgenden Beispiele, und spezifiziert ferner, dass ein Mikrofonarray eine Peripherievorrichtung in einem beliebigen der hierin offenbarten Zweidraht-Kommunikationssysteme ist.
  • Beispiel 27 liefert ein Verfahren nach einem der vorhergehenden und/oder folgenden Beispiele, wobei das Mikrofonarray ein einzelnes Mikrofon beinhaltet.
  • Beispiel 28 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, wobei das Mikrofonarray ein einzelnes Mikrofon beinhaltet.
  • Beispiel 29 liefert ein System nach einem der vorhergehenden und/oder folgenden Beispiele, ferner umfassend einen Zweidrahtbus, wobei der Speicher auf einem Netzwerkbus-Unterknoten positioniert ist.
  • Variationen und Implementierungen
  • Durch die beschriebenen mehreren Aspekte und Ausführungsformen der Technologie dieser Anmeldung wird somit gewürdigt, dass einem Durchschnittsfachmann auf dem Gebiet verschiedene Abänderungen, Modifikationen und Verbesserungen ersichtlich werden. Solche Abänderungen, Modifikationen und Verbesserungen sollen innerhalb des Sinns und des Schutzumfangs der in der Anmeldung beschriebenen Technologie liegen. Beispielsweise werden sich Durchschnittsfachleute auf dem Gebiet leicht eine Vielfalt von anderen Mitteln und/oder Strukturen zum Durchführen der Funktion und/oder zum Erhalten der Ergebnisse und/oder eines oder mehrerer der hierin beschriebenen Vorteile vorstellen, und jede solcher Variationen und/oder Modifikationen soll innerhalb des Schutzumfangs der hierin beschriebenen Ausführungsformen liegen.
  • Fachleute auf dem Gebiet werden viele Äquivalente für die spezifischen hierin beschriebenen Ausführungsformen erkennen, oder unter Verwendung von nicht mehr als einem routinemäßigen Experimentieren zur Feststellung von diesen in der Lage sein. Es soll daher verstanden werden, dass die vorstehenden Ausführungsformen nur beispielhaft präsentiert werden, und dass innerhalb des Schutzumfangs der angehängten Ansprüche und Äquivalente davon andere erfindungsgemäße Ausführungsformen als jene, die spezifisch beschrieben sind, umgesetzt werden können. Zusätzlich ist eine beliebige Kombination von zwei oder mehr hierin beschriebenen Merkmalen, Systemen, Artikeln, Materialien, Kits und/oder Verfahren, falls solche Merkmale, Systeme, Artikel, Materialien, Kits und/oder Verfahren nicht gegenseitig widersprüchlich sind, innerhalb des Schutzumfangs der vorliegenden Offenbarung eingeschlossen.
  • Das Vorstehende umreißt Merkmale von einer oder mehreren Ausführungsformen des hierin offenbarten Gegenstands. Diese Ausführungsformen sind bereitgestellt, um es einem Durchschnittsfachmann (engl. Person Having Ordinary Skill In The Art (PHOSITA)) auf dem Gebiet zu ermöglichen, verschiedene Aspekte der vorliegenden Offenbarung besser zu verstehen. Bestimmte wohlbekannte Begriffe, sowie die zugrunde liegenden Technologien und/oder Standards können referenziert werden, ohne detailliert beschrieben zu sein. Es wird in Betracht gezogen, dass der Durchschnittsfachmann Hintergrundwissen oder -informationen in jenen Technologien und Standards besitzen wird oder darauf Zugriff hat, die für das Umsetzen der Lehren der vorliegenden Technologien ausreichen.
  • Der Durchschnittsfachmann wird erkennen, dass er die vorliegende Offenbarung leicht als eine Basis zum Gestalten oder Modifizieren anderer Prozesse, Strukturen oder Variationen verwenden kann, um die gleichen Zwecke auszuführen und/oder die gleichen Vorteile der hierin eingeführten Ausführungsformen zu erreichen. Der Durchschnittsfachmann wird auch erkennen, dass äquivalente Konstruktionen nicht vom Sinn und Schutzumfang der vorliegenden Offenbarung abweichen, und dass er verschiedene Änderungen, Substitutionen und Abänderungen hierin vornehmen kann, ohne vom Sinn und Schutzumfang der vorliegenden Offenbarung abzuweichen.
  • Die oben beschriebenen Ausführungsformen können auf eine beliebige von zahlreichen Weisen implementiert werden. Ein oder mehrere Aspekte und eine oder mehrere Ausführungsformen der vorliegenden Anmeldung, die die Durchführung von Prozessen oder Verfahren beinhalten, können Programmanweisungen nutzen, die durch eine Vorrichtung (z. B. einen Computer, einen Prozessor oder eine andere Vorrichtung) ausführbar sind, um die Prozesse oder Verfahren durchzuführen oder deren Durchführung zu steuern.
  • In dieser Hinsicht können verschiedene erfindungsgemäße Konzepte als ein computerlesbares Speichermedium (oder mehrere computerlesbare Speichermedien) (z. B. ein Computerspeicher, ein oder mehrere Disketten, Compact Discs, optische Discs, Magnetbänder, Flash-Speicher, Schaltungskonfigurationen in feldprogrammierbaren Gate-Arrays oder anderen Halbleitervorrichtungen, oder ein anderes greifbares Computerspeichermedium) umgesetzt sein, das mit einem oder mehreren Programmen codiert ist, die, wenn sie auf einem oder mehreren Computern oder anderen Prozessoren ausgeführt werden, Verfahren durchführen, die eine oder mehrere der oben beschriebenen verschiedenen Ausführungsformen implementieren.
  • Das computerlesbare Medium oder die computerlesbaren Medien können transportabel sein, sodass das Programm oder die Programme, die darauf gespeichert sind, auf einen oder mehrere unterschiedliche Computer oder andere Prozessoren geladen werden können, um verschiedene der oben beschriebenen Aspekte zu implementieren. In einigen Ausführungsformen können computerlesbare Medien nichttransitorische Medien sein.
  • Es ist anzumerken, dass die oben mit Bezug auf die FIGUREN erörterten Aktivitäten auf eine beliebige integrierte Schaltung anwendbar sind, die Signalverarbeitung beinhaltet (zum Beispiel Gestensignalverarbeitung, Videosignalverarbeitung, Audiosignalverarbeitung, Analog-Digital-Umwandlung, Digital-Analog-Umwandlung), insbesondere jene, die spezialisierte Softwareprogramme oder Algorithmen ausführen können, von denen einige mit der Verarbeitung digitalisierter Echtzeitdaten assoziiert sein können.
  • In einigen Fällen können die Lehren der vorliegenden Offenbarung in eine oder mehrere greifbare, nichttransitorische, computerlesbare Medien codiert sein, in denen ausführbare Anweisungen gespeichert sind, die bei Ausführung eine programmierbare Vorrichtung (wie etwa einen Prozessor oder DSP) anweisen, die hierin offenbarten Verfahren oder Funktionen durchzuführen. In Fällen, bei denen die Lehren hierin zumindest teilweise in einer Hardwarevorrichtung (wie etwa einer ASIC, einem IP-Block oder SoC) umgesetzt sind, könnte ein nichttransitorisches Medium eine Hardwarevorrichtung beinhalten, die mit Logik zum Durchführen der hierin offenbarten Verfahren oder Funktionen hardwareprogrammiert ist. Die Lehren könnten auch in Form von Registertransferebene (Register Transfer Level, RTL) oder anderer Hardwarebeschreibungssprache wie etwa VHDL oder Verilog umgesetzt sein, die verwendet werden kann, um einen Herstellungsprozess zum Erzeugen der offenbarten Hardwareelemente zu programmieren.
  • In beispielhaften Implementierungen können zumindest einige Abschnitte der hierin umrissenen Verarbeitungsaktivitäten auch in Software implementiert werden. In einigen Ausführungsformen können ein oder mehrere dieser Merkmale in Hardware implementiert werden, die extern zu den Elementen der offenbarten Figuren bereitgestellt ist, oder auf eine beliebige geeignete Art und Weise konsolidiert werden, um die beabsichtigte Funktionalität zu erreichen. Die verschiedenen Komponenten können Software (oder reziproke Software) beinhalten, die koordinieren kann, um die wie hierin umrissenen Operationen zu erreichen. In noch anderen Ausführungsformen können diese Elemente beliebige geeignete Algorithmen, Hardware, Software, Komponenten, Module, Schnittstellen oder Objekte beinhalten, die die Operationen davon ermöglichen.
  • Eine beliebige geeignet konfigurierte Prozessorkomponente kann einen beliebigen Typ von Anweisungen ausführen, die mit den Daten assoziiert sind, um die hierin detaillierten Operationen zu erreichen. Ein beliebiger hierin offenbarter Prozessor könnte ein Element oder einen Artikel (zum Beispiel Daten) von einem Zustand oder Ding zu einem anderen Zustand oder Ding transformieren. In einem anderen Beispiel können einige hierin umrissene Aktivitäten mit fester Logik oder programmierbarer Logik implementiert werden (zum Beispiel Software und/oder Computeranweisungen, die durch einen Prozessor ausgeführt werden), und die hierin identifizierten Elemente könnten ein Typ von einem programmierbaren Prozessor, einer programmierbaren digitalen Logik (zum Beispiel ein FPGA, ein löschbarer programmierbarer Nurlesespeicher (EPROM), ein elektrisch löschbarer programmierbarer Nurlesespeicher (EEPROM)), eine ASIC, die digitale Logik beinhaltet, Software, Code, elektronische Anweisungen, Flash-Speicher, optische Platten, CD-ROMs, DVD-ROMs, magnetische oder optische Karten, andere Typen von maschinenlesbaren Medien, die zum Speichern elektronischer Anweisungen geeignet sind, oder eine beliebige geeignete Kombination davon sein.
  • Im Betrieb können Prozessoren Informationen in einem beliebigen geeigneten Typ von nichttransitorischem Speichermedium (zum Beispiel Direktzugriffsspeicher (RAM), Nurlesespeicher (ROM), FPGA, EPROM, elektrisch löschbarer programmierbarer ROM (EEPROM) usw.), Software, Hardware oder in einer/einem beliebigen anderen geeigneten Komponente, Vorrichtung, Element oder Objekt speichern, wo zweckmäßig, und basierend auf bestimmten Bedürfnissen. Ferner könnten die verfolgten, gesendeten, empfangenen oder in einem Prozessor gespeicherten Informationen in einer beliebigen Datenbank, einem beliebigen Register, einer beliebigen Tabelle, einem beliebigen Cache, einer beliebigen Warteschlange, einer beliebigen Kontrollliste oder einer beliebigen Speicherstruktur bereitgestellt werden, basierend auf bestimmten Bedürfnissen und Implementierungen, von denen alle in einem beliebigen geeigneten Zeitrahmen referenziert werden könnten.
  • Beliebige der hierin erörterten Speicherelemente sollten als in den weiten Begriff ,Speicher' eingeschlossen angesehen werden. Gleichermaßen sollten beliebige der hierin beschriebenen potenziellen Verarbeitungselemente, Module und Maschinen als innerhalb des weiten Begriffs ,Mikroprozessor' oder ,Prozessor' eingeschlossen angesehen werden. Ferner können in verschiedenen Ausführungsformen die hierin beschriebenen Prozessoren, Speicher, Netzwerkkarten, Busse, Speichervorrichtungen, zugehörigen Peripheriegeräte und andere Hardwareelemente durch einen Prozessor, einen Speicher und andere zugehörige Vorrichtungen realisiert werden, die durch Software oder Firmware konfiguriert werden, um die Funktionen dieser Hardwareelemente zu emulieren oder zu virtualisieren.
  • Ferner sollte verstanden werden, dass ein Computer in einer beliebigen einer Anzahl von Formen umgesetzt sein kann, wie etwa als ein Rack-Mounted-Computer, ein Desktop-Computer, ein Laptop-Computer oder ein Tablet-Computer, als nicht beschränkende Beispiele. Zusätzlich kann ein Computer in einer Vorrichtung eingebettet sein, die im Allgemeinen nicht als ein Computer angesehen wird, aber geeignete Verarbeitungsfähigkeiten aufweisen, einschließlich eines Personal Digital Assistant (PDA), eines Smartphones, eines Mobiltelefons, eines iPad oder einer beliebigen anderen geeigneten portablen oder festen elektronischen Vorrichtung.
  • Außerdem kann ein Computer eine oder mehrere Eingabe- und Ausgabevorrichtungen aufweisen. Diese Vorrichtungen können unter anderem zum Präsentieren einer Benutzerschnittstelle verwendet werden. Beispiele für Ausgabevorrichtungen, die zum Bereitstellen einer Benutzerschnittstelle verwendet werden können, beinhalten Drucker oder Anzeigebildschirme zur visuellen Präsentationsausgabe und Lautsprecher oder andere tonerzeugende Vorrichtungen zur akustischen Präsentation von Ausgabe. Beispiele für Eingabevorrichtungen, die für eine Benutzerschnittstelle verwendet werden können, beinhalten Tastaturen und Zeigevorrichtungen, wie etwa Mäuse, Touchpads und Digitalisierungstabletts. Als ein anderes Beispiel können Computer Eingabeinformationen durch Spracherkennung oder in anderen akustischen Formaten empfangen.
  • Solche Computer können durch ein oder mehrere Netzwerke in einer beliebigen geeigneten Form miteinander verbunden sein, einschließlich eines Lokalnetzwerks oder eines Weitbereichsnetzwerk, wie etwa ein Unternehmensnetzwerk und intelligentes Netzwerk (IN) oder das Internet. Solche Netzwerke können auf einer beliebigen geeigneten Technologie basieren und können gemäß einem beliebigen geeigneten Protokoll arbeiten und können drahtlose Netzwerke oder drahtgebundene Netzwerke beinhalten.
  • Computerausführbare Anweisungen können in vielen Formen vorliegen, wie etwa Programmmodule, die durch einen oder mehrere Computer oder andere Vorrichtungen ausgeführt werden können. Im Allgemeinen beinhalten Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen implementieren. Typischerweise kann die Funktionalität der Programmmodule in verschiedenen Ausführungsformen nach Wunsch kombiniert oder verteilt werden.
  • Die Begriffe „Programm“ oder „Software“ werden hierin in einem generischen Sinn verwendet, um sich auf einen beliebigen Typ von Computercode oder Satz von computerausführbaren Anweisungen zu beziehen, die eingesetzt werden können, um einen Computer oder einen anderen Prozessor zu programmieren, verschiedene Aspekte, wie oben beschrieben, zu implementieren. Zusätzlich sollte gewürdigt werden, dass gemäß einem Aspekt ein oder mehrere Computerprogramme, die bei Ausführung Verfahren der vorliegenden Anmeldung durchführen, sich nicht in einem einzelnen Computer oder Prozessor befinden müssen, sondern auf eine modulare Weise unter eine Anzahl unterschiedlicher Computer oder Prozessoren verteilt sein können, um verschiedene Aspekt der vorliegenden Anmeldung zu implementieren.
  • Außerdem können Datenstrukturen in computerlesbaren Medien in einer beliebigen geeigneten Form gespeichert sein. Zur Vereinfachung der Veranschaulichung kann gezeigt werden, dass Datenstrukturen über Felder verfügen, die über die Position in der Datenstruktur miteinander in Beziehung stehen. Solche Beziehungen können gleichermaßen durch das Zuweisen von Speicherung für die Felder mit Orten in einem computerlesbaren Medium erreicht werden, die Beziehung zwischen den Feldern übermitteln. Ein beliebiger geeigneter Mechanismus kann jedoch verwendet werden, um eine Beziehung zwischen Informationen in Feldern einer Datenstruktur herzustellen, einschließlich durch die Verwendung von Zeigern, Tags oder anderen Mechanismen, die eine Beziehung zwischen Datenelementen herstellen.
  • Wenn in Software implementiert, kann der Softwarecode auf einem beliebigen geeigneten Prozessor oder einer Sammlung von Prozessoren ausgeführt werden, egal ob in einem einzelnen Computer bereitgestellt oder unter mehreren Computern verteilt.
  • Computerprogrammlogik, die die gesamte oder einen Teil der hierin beschriebenen Funktonalität implementiert, ist in verschiedenen Formen umgesetzt, einschließlich unter anderem einer Quellcodeform, einer computerausführbaren Form, einer Hardwarebeschreibungsform und verschiedener Zwischenformen (zum Beispiel Mask Works, die durch einen Assembler, Compiler, Linker oder Locator erzeugt werden). In einem Beispiel beinhaltet Quellcode eine Reihe von Computerprogrammanweisungen, die in verschiedenen Programmiersprachen implementiert werden, wie etwa ein Objektcode, eine Assembler-Sprache oder eine Sprache hoher Ebene, wie etwa OpenCL, RTL, Verilog, VHDL, Fortran, C, C++, JAVA oder HTML zur Verwendung mit verschiedenen Betriebssystemen oder Betriebsumgebungen. Der Quellcode kann verschiedene Datenstrukturen und Kommunikationsnachrichten definieren und verwenden. Der Quellcode kann in einer computerausführbaren Form (z. B. über einen Interpreter) vorliegen, oder der Quellcode kann (z. B. über einen Übersetzer, Assembler oder Compiler) in eine computerausführbare Form umgewandelt werden.
  • In einigen Ausführungsformen kann eine beliebige Anzahl von elektrischen Schaltungen der FIGUREN auf einer Platine einer assoziierten elektronischen Vorrichtung implementiert sein. Die Platine kann eine allgemeine Leiterplatte sein, die verschiedene Komponenten des internen elektronischen Systems der elektronischen Vorrichtung halten und ferner Verbinder für andere Peripheriegeräte bereitstellen kann. Genauer gesagt kann die Platine die elektrischen Verbindungen bereitstellen, durch die die anderen Komponenten des Systems elektrisch kommunizieren können. Beliebige geeignete Prozessoren (einschließlich Digitalsignalprozessoren, Mikroprozessoren, unterstützende Chipsätze usw.), Speicherelemente usw. können zweckmäßig mit der Platine basierend auf bestimmten Konfigurationsbedürfnissen, Verarbeitungsbedürfnissen, Computerdesigns usw. gekoppelt sein.
  • Andere Komponenten, wie etwa externe Speicherung, zusätzliche Sensoren, Steuerungen für Audio/Videoanzeige und Peripherievorrichtungen, können an der Platine als Plug-In-Karten angebracht, über Kabel angebracht oder in die Platine selbst integriert sein. In einer anderen beispielhaften Ausführungsform können die elektrischen Schaltungen der FIGUREN als unabhängige Module implementiert werden (z. B. eine Vorrichtung mit assoziierten Komponenten und Schaltungsanordnungen, die dazu ausgelegt sind, eine spezifische Anwendung oder Funktion durchzuführen), oder als Plug-In-Module in anwendungsspezifische Hardware elektronischer Vorrichtungen implementiert werden.
  • Es ist anzumerken, dass mit den zahlreichen hierin bereitgestellten Beispielen eine Interaktion hinsichtlich zwei, drei, vier oder mehr elektrischen Komponenten beschrieben sein kann. Dies wurde jedoch nur zur Verdeutlichung und als Beispiel getan. Es sollte gewürdigt werden, dass das System auf eine beliebige geeignete Art und Weise konsolidiert werden kann. Neben ähnlichen Designalternativen können beliebige der veranschaulichten Komponenten, Module und Elemente der FIGUREN in verschiedenen möglichen Konfigurationen kombiniert werden, die alle deutlich innerhalb des breiten Schutzumfangs dieser Offenbarung liegen.
  • In bestimmten Fällen kann es leichter sein, ein oder mehrere der Funktionalitäten eines gegebenen Satzes von Flüssen zu beschreiben, indem nur eine begrenzte Anzahl elektrischer Elemente referenziert wird. Es sollte verstanden werden, dass die elektrischen Schaltungen der FIGUREN und ihre Lehren leicht skalierbar sind und eine große Anzahl von Komponenten, sowie kompliziertere/komplexere Anordnungen und Konfigurationen unterbringen können. Dementsprechend sollten die bereitgestellten Beispiele nicht den Schutzumfang beschränken oder die breiten Lehren der elektrischen Schaltungen, wie sie möglicherweise bei einer Vielzahl anderer Architekturen angewendet werden, hemmen.
  • Wie beschrieben, können einige Aspekte auch als ein oder mehrere Verfahren umgesetzt werden. Die als Teil des Verfahrens durchgeführten Handlungen können auf eine beliebige geeignete Weise geordnet sein. Dementsprechend können Ausführungsformen konstruiert werden, in denen Handlungen in einer anderen Reihenfolge als veranschaulicht durchgeführt werden, was das gleichzeitige Durchführen einiger Handlungen beinhalten kann, selbst wenn diese in veranschaulichenden Ausführungsformen als sequenzielle Handlungen gezeigt sind.
  • Interpretation von Begriffen
  • Alle Definitionen, wie hierin definiert und verwendet, sollten so verstanden werden, dass sie die Wörterbuchdefinitionen, Definitionen in Dokumenten, die durch Verweis einbezogen werden, und/oder die gewöhnlichen Bedeutungen der definierten Begriffe kontrollieren. Sofern der Kontext nicht eindeutig etwas anderes erfordert, gilt in der gesamten Beschreibung und den Ansprüchen Folgendes:
    • „umfassen“, „umfassend“ und dergleichen sollen in einem inklusiven Sinn ausgelegt werden, im Gegensatz zu einem exklusiven oder erschöpfenden Sinne; das heißt im Sinn von „einschließlich, aber nicht beschränkt auf“.
    • „verbunden“, „gekoppelt“ oder irgendeine Variante davon bedeutet eine beliebige Verbindung oder Kopplung, entweder direkt oder indirekt, zwischen zwei oder mehr Elementen; wobei die Kopplung oder Verbindung zwischen den Elementen physisch, logisch oder eine Kombination davon sein kann.
    • „hierin“, „über“, „unter“ und Wörter von ähnlicher Bedeutung, wenn sie verwendet werden, um diese Patentschrift zu beschreiben, sollen sich auf diese Patentschrift insgesamt und nicht auf irgendwelche bestimmte Teile dieser Patentschrift beziehen.
    • „oder“ in Bezug auf eine Liste von zwei oder mehr Elementen deckt alle der folgenden Interpretationen des Wortes ab: beliebige der Elemente in der Liste, alle der Elemente in der Liste und eine beliebige Kombination der Elemente in der Liste.
  • Die Singularformen „ein“, „eine“ und „der/die/das“ schließen auch die Bedeutung jeglicher geeigneter Pluralformen ein.
  • Wörter, die Richtungen angeben, wie etwa „vertikal“, „transversal“, „horizontal“, „nach oben“, „nach unten“, „vorwärts“, „rückwärts“, „nach innen“, „nach außen“, „vertikal“, „transversal“, „links“, „rechts“, „vorne“, „hinten“, „oben“, „unten“, „unter“, „über“, „unterhalb“ und dergleichen, die in dieser Beschreibung und in beliebigen begleitenden Ansprüchen (wo vorhanden) verwendet werden, hängen von der spezifischen Orientierung der beschriebenen und veranschaulichten Einrichtung ab. Der hierin beschriebene Gegenstand kann verschiedene alternative Orientierungen annehmen. Dementsprechend sind diese Richtungsbegriffe nicht streng definiert und sollten nicht eng interpretiert werden.
  • Die unbestimmten Artikel „ein“ und „eine“, wie hierin in der Patentschrift und in den Ansprüchen beschrieben, sollten, sofern nicht ausdrücklich etwas anderes angegeben ist, als „mindestens ein“ bedeutend verstanden werden.
  • Der Ausdruck „und/oder“, wie hierin in der Patentschrift und in den Ansprüchen verwendet, sollte als „eines oder beide“ der so verbundenen Elemente bedeutend verstanden werden, d. h. Elemente, die in einigen Fällen konjunktiv und in anderen Fällen disjunktiv vorhanden sind. Mehrere Elemente, die mit „und/oder“ aufgeführt sind, sollten auf die gleiche Weise aufgefasst werden, d. h. „eines oder mehrere“ der so verbundenen Elemente.
  • Andere Elemente als jene, die spezifisch durch den „und/oder“-Satzteil identifiziert werden, können optional vorhanden sein, egal ob mit diesen spezifisch identifizierten Elementen in Beziehung stehend oder nicht. Somit kann sich, als ein nicht beschränkendes Beispiel, ein Bezug auf „A und/oder B“, wenn in Verbindung mit offener Sprache verwendet, wie etwa „umfassend“, in einer Ausführungsform auf nur A (optional einschließlich anderer Elemente als B); in einer anderen Ausführungsform auf nur B (optional einschließlich anderer Elemente als A); in noch einer anderen Ausführungsform auf sowohl A als auch B (optional einschließlich anderer Elemente)” usw. beziehen.
  • Wie hierin in der Patentschrift und in den Ansprüchen verwendet, sollte der Ausdruck „mindestens ein“ in Bezug auf eine Liste mit einem oder mehreren Elementen so verstanden werden, dass er mindestens ein Element beinhaltet, das aus einem oder mehreren beliebigen der Elemente in der Liste von Elementen ausgewählt wird, aber nicht notwendigerweise mindestens eines von jedem einzelnen Element einschließend, die spezifisch in der Liste von Elementen aufgelistet sind, und nicht irgendwelche Kombinationen von Elementen in der Liste von Elementen ausschließend. Diese Definition ermöglicht auch, dass optional andere Elemente vorhanden sind als die Elemente, die spezifisch in der Liste von Elementen identifiziert werden, auf die sich der Ausdruck „mindestens ein“ bezieht, egal ob mit diesen spezifischen identifizierten Elementen in Beziehung stehend oder nicht.
  • Somit kann sich, als ein nicht beschränkendes Beispiel, „mindestens eines von A und B“ (oder äquivalent „mindestens eines von A oder B“ oder äquivalent „mindestens eines von A und/oder B“) in einer Ausführungsform auf mindestens ein, optional einschließlich mehr als ein, A, ohne vorhandenes B (und optional einschließlich anderer Elemente als B); in einer anderen Ausführungsform auf mindestens ein, optional einschließlich mehr als ein, B, ohne vorhandenes A (und optional einschließlich anderer Elemente als A); in noch einer anderen Ausführungsform auf mindestens ein, optional einschließlich mehr als ein, A und mindestens ein, optional einschließlich mehr als ein, B (und optional einschließlich anderer Elemente); usw. beziehen.
  • Wie hierin verwendet, soll der Begriff „zwischen“ inklusive sein, sofern nicht anderweitig angegeben. Beispielsweise schließt „zwischen A und B“ A und B ein, sofern nicht anderweitig angegeben.
  • Außerdem dient die hierin verwendete Ausdrucksweise und Terminologie dem Zweck der Beschreibung und sollte nicht als beschränkend angesehen werden. Die Verwendung von „einschließlich“, „umfassend“ oder „aufweisend“, „enthaltend“, „beinhaltend“ und Variationen davon hierin soll die danach aufgeführten Elemente und Äquivalente davon sowie zusätzliche Elemente einschließen.
  • In den Ansprüchen, sowie in der obigen Patentschrift, sollen alle Übergangsphrasen, wie etwa „umfassend“, „einschließlich“, „führend“, „aufweisend“, „enthaltend“, „beinhaltend“, „haltend“, „bestehend aus“ und dergleichen als offen verstanden werden, d. h. als einschließlich, aber nicht beschränkend bedeutend. Nur die Übergangsphrasen „bestehend aus“ und „bestehend im Wesentlichen aus“ sollen geschlossene bzw. halbgeschlossene Übergangsphrasen sein.
  • Zahlreiche andere Änderungen, Substitutionen, Variationen, Abänderungen und Modifikationen können durch einen Fachmann auf dem Gebiet festgestellt werden, und es ist beabsichtigt, dass die vorliegende Offenbarung alle solche Änderungen, Substitutionen, Variationen, Abänderungen und Modifikationen als innerhalb des Schutzumfangs der angehängten Ansprüche fallend einschließen soll.
  • Um das Patent- und Markenamt der Vereinigten Staaten (USPTO) und darüber hinaus alle Leser von auf diese Anmeldung erteilten Patenten bei der Auslegung der beigefügten Ansprüche zu unterstützen, möchte der Antragsteller darauf hinweisen, dass der Antragsteller: (a) nicht beabsichtigt, dass sich einer der beigefügten Ansprüche auf 35 U.S.C. § 1 1 2(f) in der zum Zeitpunkt der Einreichung dieses Dokuments geltenden Fassung beruft, es sei denn, dass die Wörter „Mittel für“ oder „Schritte für“ in den jeweiligen Ansprüchen ausdrücklich verwendet werden; und (b) nicht die Absicht hat, diese Offenbarung durch irgendeine Aussage in der Offenbarung in irgendeiner Weise einzuschränken, die nicht anderweitig in den beigefügten Ansprüchen widergespiegelt wird.
  • Die vorliegende Erfindung sollte daher nicht auf die oben beschriebenen bestimmten Ausführungsformen beschränkt angesehen werden. Verschiedene Modifikationen, äquivalente Prozesse, sowie zahlreiche Strukturen, auf die die vorliegende Erfindung anwendbar sein kann, werden Fachleuten auf dem Gebiet, auf das die vorliegende Erfindung ausgerichtet ist, nach Ansicht der vorliegenden Offenbarung ersichtlich werden.

Claims (20)

  1. System zur Kalibration eines Mikrofons, umfassend: einen Lautsprecher, der dazu ausgelegt ist, ein Testsignal abzuspielen; ein Mikrofonarray, das dazu ausgelegt ist, das Testsignal zu empfangen und eine Vielzahl von Mikrofonarraysignalen zu erzeugen; ein Referenzmikrofon, das zwischen dem Lautsprecher und dem Mikrofonarray positioniert ist, wobei das Referenzmikrofon dazu ausgelegt ist, das Testsignal zu empfangen und ein Referenzsignal zu erzeugen; und einen Kalibrationskalkulator, der dazu ausgelegt ist, die Vielzahl von Mikrofonarraysignalen und das Referenzsignal zu verarbeiten, einen Satz von Filterkoeffizienten zu erzeugen und den Satz von Filterkoeffizienten zu dem Mikrofonarray zu übertragen.
  2. System nach Anspruch 1, ferner umfassend einen Speicher, der mit dem Mikrofonarray assoziiert ist und dazu ausgelegt ist, den Satz von Filterkoeffizienten speichern.
  3. System nach Anspruch 2, wobei der Speicher in einem Mikrofonarraymodul mit dem Mikrofonarray positioniert ist.
  4. System nach Anspruch 2, wobei der Speicher ein Cloud-basierter Speicher ist, auf den das Mikrofonarray zugreifen kann.
  5. System nach Anspruch 2, wobei der Speicher ferner dazu ausgelegt ist, Mikrofoninformationen zu speichern, einschließlich mindestens eines von Anbieterinformationen, Produktinformationen, Versionsinformationen, Modellinformationen, Fähigkeitsinformationen, Seriennummer, Markeninformationen, Konfigurationsinformationen, Routing-Informationen und Authentifikationsinformationen.
  6. System nach Anspruch 1, ferner umfassend eine Vielzahl von Speichermodulen, wobei jedes der Vielzahl von Speichermodulen mit einem jeweiligen Mikrofon des Mikrofonarrays assoziiert ist.
  7. System nach Anspruch 1, wobei die Filterkoeffizienten Phasenkalibration und Größenkalibration bereitstellen.
  8. System nach Anspruch 1, ferner umfassend eine Zweidrahtschnittstelle, wobei die Übertragung der Filterkoeffizienten zu dem Mikrofonarray über die Zweidrahtschnittstelle stattfindet.
  9. System nach Anspruch 1, wobei jedes der Vielzahl von Mikrofonarraysignalen eindeutig und jedes jeweilige Mikrofon des Mikrofonarrays mit einem jeweiligen Teilsatz des Satzes von Filterkoeffizienten assoziiert ist.
  10. Verfahren zur Kalibration eines Mikrofonarrays, umfassend: Abspielen eines Testsignals an einem Lautsprecher; Abtasten des Testsignals an einem Mikrofonarray; Erzeugen einer Vielzahl von Mikrofonarraysignalen am Mikrofonarray; Abtasten des Testsignals an einem Referenzmikrofon; Erzeugen eines Referenzsignals am Referenzmikrofon; Erzeugen eines Satzes von Filterkoeffizienten basierend auf der Vielzahl von Mikrofonarraysignalen und dem Referenzsignal; und Übertragen des Satzes von Filterkoeffizienten zu dem Mikrofonarray.
  11. Verfahren nach Anspruch 10, wobei das Abtasten des Testsignals am Mikrofonarray Abtasten des Testsignals an jedem jeweiligen Mikrofon des Mikrofonarrays umfasst.
  12. Verfahren nach Anspruch 1 1, wobei das Erzeugen eines Satzes von Filterkoeffizienten Erzeugen eines jeweiligen Teilsatzes von Filterkoeffizienten für jedes jeweilige Mikrofon umfasst.
  13. Verfahren nach Anspruch 12, ferner umfassend Speichern des jeweiligen Teilsatzes von Filterkoeffizienten in jedem jeweiligen Mikrofon.
  14. Verfahren nach Anspruch 10, ferner umfassend Speichern des Satzes von Filterkoeffizienten in dem Mikrofonarray.
  15. Verfahren nach Anspruch 10, wobei das Übertragen des Satzes von Filterkoeffizienten Übertragen des Satzes von Filterkoeffizienten über einen Zweidrahtbus umfasst.
  16. Verfahren nach Anspruch 10, ferner umfassend Vorkalibrieren des Lautsprechers unter Verwendung des Referenzmikrofons.
  17. Selbstkalibrierendes Mikrofonsystem, umfassend: ein Mikrofonmodul, das Folgendes aufweist: ein Mikrofon, das dazu ausgelegt ist, ein Audioeingangssignal zu empfangen und ein rohes Mikrofonausgangssignal auszugeben, wobei das Mikrofon vorkalibriert ist; und einen nichtflüchtigen Speicher, der dazu ausgelegt ist, Mikrofonkalibrationskoeffizienten für das Mikrofon zu speichern; einen Prozessor, der dazu ausgelegt ist, das rohe Mikrofonsignal und die Mikrofonkalibrationskoeffizienten zu empfangen und ein kalibriertes Mikrofonsignal zu erzeugen; und eine Mikrofonsignalsenke, die dazu ausgelegt ist, das kalibrierte Mikrofonsignal vom Prozessor zu empfangen und das kalibrierte Mikrofonsignal auszugeben.
  18. Mikrofonsystem nach Anspruch 17, wobei die Mikrofonkalibrationskoeffizienten für Phasenkalibration und Größenkalibration konfiguriert sind.
  19. Mikrofonsystem nach Anspruch 17, ferner umfassend einen Zweidrahtbus, wobei der Prozessor und die Mikrofonsignalsenke über den Zweidrahtbus kommunizieren.
  20. Mikrofonsystem nach Anspruch 17, wobei der Prozessor ferner dazu ausgelegt ist, eine Faltung des rohen Mikrofonsignals und der Mikrofonkalibrationskoeffizienten durchzuführen, um das kalibrierte Mikrofonsignal zu erzeugen.
DE112021005897.5T 2020-11-12 2021-11-12 Systeme und techniken zur kalibration eines mikrofonarrays Pending DE112021005897T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063112967P 2020-11-12 2020-11-12
US63/112,967 2020-11-12
PCT/EP2021/081514 WO2022101407A1 (en) 2020-11-12 2021-11-12 Systems and techniques for microphone array calibration

Publications (1)

Publication Number Publication Date
DE112021005897T5 true DE112021005897T5 (de) 2023-08-31

Family

ID=78770609

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021005897.5T Pending DE112021005897T5 (de) 2020-11-12 2021-11-12 Systeme und techniken zur kalibration eines mikrofonarrays

Country Status (5)

Country Link
US (1) US20230421950A1 (de)
JP (1) JP2023549799A (de)
CN (1) CN116711328A (de)
DE (1) DE112021005897T5 (de)
WO (1) WO2022101407A1 (de)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7809145B2 (en) * 2006-05-04 2010-10-05 Sony Computer Entertainment Inc. Ultra small microphone array
US9241228B2 (en) * 2011-12-29 2016-01-19 Stmicroelectronics Asia Pacific Pte. Ltd. Adaptive self-calibration of small microphone array by soundfield approximation and frequency domain magnitude equalization

Also Published As

Publication number Publication date
US20230421950A1 (en) 2023-12-28
WO2022101407A1 (en) 2022-05-19
JP2023549799A (ja) 2023-11-29
CN116711328A (zh) 2023-09-05

Similar Documents

Publication Publication Date Title
DE112017004230T5 (de) Systeme und Techniken zur Fernbusfreigabe
US9851938B2 (en) Microphone arrays and communication systems for directional reception
US9946679B2 (en) Distributed audio coordination over a two-wire communication bus
DE112010002783T5 (de) Mechanismus für Taktsynchronisation
DE102019135220A1 (de) Kommunikationssysteme mit Hilfs-Master- und Hilfs-Anrufunterstützungs-Funktionalität
CN110347627B (zh) 动态迟滞电路
US20210211156A1 (en) Audio and lighting control via a communication bus
DE102020110675A1 (de) Kommunikationssysteme mit funktionalität einer seriellen peripherie-schnittstelle
CN106598018A (zh) 控制器区域网络(can)装置以及用于操作can装置的方法
TW200532457A (en) Lane to lane deskewing via non-data symbol processing for a serial point to point link
DE102019128795A1 (de) Inhaltsschutz über synchrone datennetze
US10852799B2 (en) Adaptive use of multiple power supplies in communication systems
DE112021005545T5 (de) Knotenerkennung und -konfiguration in einem daisy-chain-netzwerk
DE102015117674B4 (de) Verteilte audio-koordination über einen zweidraht-kommunikationsbus
US20230344673A1 (en) Asynchronous data networking over a network bus
DE112021006347T5 (de) Systeme und techniken zur leitungsdiagnose
DE112021005897T5 (de) Systeme und techniken zur kalibration eines mikrofonarrays
DE112021005184T5 (de) Hilfskommunikation über eine pulsdichtenmodulierte Schnittstelle
DE102017101471A1 (de) Synchrone kommunikation von slave zu slave
US20240004825A1 (en) Serial daisy-chained bus power for serial daisy-chained communication system
DE102017101470B4 (de) Kommunikation von gpio zu gpio in einem verketteten netzwerk mit mehreren knoten
US20240004446A1 (en) Synchronous audio communication and bus power over multi-pair cables and connectors
DE112015007276B3 (de) Mehrchipbaugruppe mit einer Erweiterung einer Mehrchipbaugruppenverbindung außerhalb der Baugruppe
DE102017101463A1 (de) Taktaufrechterhaltung bei abwesenheit eines referenztakts in einem kommunikationssystem

Legal Events

Date Code Title Description
R012 Request for examination validly filed