DE112021003685T5 - Zeitsynchronisierte hardware-controller und verwandte audiosysteme und schaltungen - Google Patents

Zeitsynchronisierte hardware-controller und verwandte audiosysteme und schaltungen Download PDF

Info

Publication number
DE112021003685T5
DE112021003685T5 DE112021003685.8T DE112021003685T DE112021003685T5 DE 112021003685 T5 DE112021003685 T5 DE 112021003685T5 DE 112021003685 T DE112021003685 T DE 112021003685T DE 112021003685 T5 DE112021003685 T5 DE 112021003685T5
Authority
DE
Germany
Prior art keywords
signal
serial clock
word select
serial
line
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
DE112021003685.8T
Other languages
English (en)
Inventor
Michael Rentschler
Thorben Link
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.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of DE112021003685T5 publication Critical patent/DE112021003685T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8106Monomedia components thereof involving special audio data, e.g. different tracks for different languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

Es wird die Synchronisation für Audiosysteme und zugehörige Systeme und Schaltungen offenbart. Ein Audiosystem schließt eine Wortauswahlleitung einer digitalen Audioschnittstelle, eine serielle Taktleitung der digitalen Audioschnittstelle und eine Hardwareschaltung ein. Die Hardwareschaltung ist konfiguriert, um ein Wortauswahlsignal an die Wortauswahlleitung und ein serielles Taktsignal an die serielle Taktleitung bereitzustellen. Das Wortauswahlsignal ist konfiguriert, um Kanäle eines seriellen Datensignals anzuzeigen, die einer seriellen Datenleitung der digitalen Audioschnittstelle bereitgestellt werden. Die Hardwareschaltung ist auch konfiguriert, um das serielle Taktsignal mit einem Taktreferenz-Stream eines über eine Netzwerkschnittstelle kommunizierten Audio-Streams zu synchronisieren.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht gemäß 35 U.S.C. §119(e) den Vorteil der vorläufigen US-Patentanmeldung Nr. 62/705,653 , eingereicht am 9. Juli 2020, mit dem Titel „TIME-SYNCHRONIZED I2S HARDWARE CONTROLLER“, deren gesamte Offenbarung hiermit durch Bezugnahme hierin aufgenommen wird.
  • TECHNISCHES GEBIET
  • Diese Offenbarung bezieht sich allgemein auf zeitsynchronisierte Hardware-Controller.
  • STAND DER TECHNIK
  • In einigen digitalen Audiosystemen kann Synchronisation wichtig sein. Zum Beispiel kann Audio in Video-Streaming-Systemen mit Video synchronisiert werden (z. B. wird Sprachaudio mit im Video gezeigten Mundbewegungen synchronisiert, ohne Einschränkung). Als weiteres Beispiel können digitale Signale, die verwendet werden, um analoge Audiosignale zu erzeugen, die an verschiedene Lautsprecher in Surround-Sound-Systemen übermittelt werden (z. B. Surround-Sound in Autos, professionelle Audiogeräte, ohne Einschränkung), synchronisiert werden.
  • Figurenliste
  • Während diese Offenbarung mit Ansprüchen schließt, die bestimmte Beispiele besonders hervorheben und eindeutig beanspruchen, können verschiedene Merkmale und Vorteile von Beispielen innerhalb des Schutzumfangs dieser Offenbarung leichter aus der folgenden Beschreibung entnommen werden, wenn sie in Verbindung mit den beigefügten Zeichnungen gelesen wird, in denen:
    • 1 ein Blockdiagramm eines Sender-als-Master-I2S-Systems gemäß verschiedenen Ausführungsformen ist;
    • 2 ein Blockdiagramm eines Empfänger-als-Master-I2S-Systems gemäß verschiedenen Ausführungsformen ist;
    • 3 ein Blockdiagramm eines Controller-als Master-I2S-Systems gemäß verschiedenen Ausführungsformen ist;
    • 4 ein Signalzeitsteuerungsdiagramm von I2S-Signalen des Sender-als-Master-I2S-Systems von 1, des Empfänger-als-Master-I2S-Systems von 2 und des Controller-als Master-I2S-Systems von 3 gemäß verschiedenen Beispielen ist;
    • 5 ein Blockdiagramm eines AVTP-Talkers gemäß einigen Ausführungsformen ist;
    • 6 ein Blockdiagramm eines AVTP-Listeners gemäß einigen Ausführungsformen ist;
    • 7 ein Blockdiagramm von Zeitreferenzebenen gemäß einigen Ausführungsformen ist;
    • 8 einen 1722-Stream gemäß verschiedenen Beispielen veranschaulicht;
    • 9A ein Blockdiagramm eines Audiosystems ist, das gemäß verschiedenen Beispielen mit einem CODEC als Listener arbeitet und einen eigenständigen I2S-Controller verwendet;
    • 9B ein Blockdiagramm des Audiosystems von 9A mit dem CODEC ist, der gemäß verschiedenen Beispielen als Talker betrieben wird;
    • 10 ein Blockdiagramm eines anderen Audiosystems mit einem CODEC ist, der gemäß verschiedenen Beispielen als ein Talker und als ein Master-Knoten betrieben wird;
    • 11 ein Blockdiagramm eines Audiosystemsegments ist, das eine Netzwerkvorrichtung einschließt, die gemäß verschiedenen Beispielen in einen Mikrocontroller implementiert werden kann; und
    • 12 ein Zustandsflussdiagramm des Audiosystemsegments von 11 gemäß verschiedenen Beispielen ist.
  • ART(EN) ZUM AUSFÜHREN DER ERFINDUNG
  • In der folgenden detaillierten Beschreibung wird auf die beiliegenden Zeichnungen Bezug genommen, die einen Teil dieses Dokuments bilden und in denen zur Veranschaulichung spezifische Beispiele von Beispielen gezeigt sind, in denen die vorliegende Offenbarung praktiziert werden kann. Diese Beispiele sind hinreichend detailliert beschrieben, um es Durchschnittsfachleuten zu ermöglichen, die vorliegende Offenbarung in die Praxis umzusetzen. Es können jedoch auch andere hierin ermöglichte Beispiele genutzt werden, und Änderungen der Struktur, des Materials und des Prozesses können vorgenommen werden, ohne vom Schutzumfang der Offenbarung abzuweichen.
  • Die hierin dargestellten Veranschaulichungen sollen keine tatsächlichen Ansichten eines bestimmten Verfahrens oder Systems oder einer bestimmten Vorrichtung oder Struktur sein, sondern sind lediglich idealisierte Darstellungen, die zur Beschreibung der Beispiele der vorliegenden Offenbarung verwendet werden. Ähnliche Strukturen oder Komponenten in den verschiedenen Zeichnungen können in einigen Fällen zur Vereinfachung für den Leser die gleiche oder eine ähnliche Nummerierung beibehalten; die Ähnlichkeit in der Nummerierung bedeutet jedoch nicht notwendigerweise, dass die Strukturen oder Komponenten in Größe, Zusammensetzung, Konfiguration oder einer anderen Eigenschaft identisch sind.
  • Die folgende Beschreibung kann Beispiele einschließen, um es Durchschnittsfachleuten zu ermöglichen, die offenbarten Beispiele auszuüben. Die Verwendung der Begriffe „beispielhaft“, „als Beispiel“ und „zum Beispiel“ bedeutet, dass die zugehörige Beschreibung erläuternd ist, und obwohl der Schutzumfang der Offenbarung die Beispiele und ihre rechtlichen Äquivalente umfassen soll, ist die Verwendung dieser Begriffe nicht dazu bestimmt, den Schutzumfang eines Beispiels oder dieser Offenbarung auf die spezifizierten Komponenten, Schritte, Merkmale, Funktionen oder dergleichen einzuschränken.
  • Es versteht sich von selbst, dass die Komponenten der Beispiele, wie sie hierin allgemein beschrieben und in der Zeichnung veranschaulicht sind, in einer Vielzahl unterschiedlicher Konfigurationen angeordnet und gestaltet werden können. Somit soll die folgende Beschreibung verschiedener Beispiele den Schutzumfang der vorliegenden Offenbarung nicht einschränken, sondern ist lediglich für verschiedene Beispiele repräsentativ. Während die verschiedenen Gesichtspunkte der Beispiele in den Zeichnungen dargestellt sein können, sind die Zeichnungen nicht notwendigerweise maßstabsgetreu gezeichnet, sofern nicht ausdrücklich angegeben.
  • Des Weiteren sind die gezeigten und beschriebenen spezifischen Implementierungen nur Beispiele und sollten nicht als die einzige Möglichkeit zur Implementierung der vorliegenden Offenbarung ausgelegt werden, sofern hierin nicht anders angegeben. Elemente, Schaltungen und Funktionen können in Blockdiagrammform gezeigt sein, um die vorliegende Offenbarung nicht durch unnötige Details undeutlich werden zu lassen. Umgekehrt sind gezeigte und beschriebene spezifische Implementierungen nur beispielhaft und sollten nicht als die einzige Möglichkeit zur Implementierung der vorliegenden Offenbarung ausgelegt werden, sofern hierin nicht anders angegeben. Außerdem sind Blockdefinitionen und die Aufteilung von Logik zwischen verschiedenen Blöcken beispielhaft für eine spezifische Implementierung. Es ist für den Durchschnittsfachmann ohne Weiteres ersichtlich, dass die vorliegende Offenbarung durch zahlreiche andere Aufteilungslösungen ausgeübt werden kann. Auf Details zu zeitlichen Erwägungen und dergleichen wurde größtenteils verzichtet, soweit solche Details für ein vollständiges Verständnis der vorliegenden Offenbarung nicht erforderlich sind und innerhalb der Fähigkeiten von Durchschnittsfachleuten liegen.
  • Der Durchschnittsfachmann wird verstehen, dass Informationen und Signale unter Verwendung einer Vielfalt verschiedener Technologien und Techniken dargestellt werden können. Einige Zeichnungen können Signale zur Übersichtlichkeit der Darstellung und Beschreibung als ein einzelnes Signal veranschaulichen. Ein Durchschnittsfachmann wird verstehen, dass das Signal einen Bus von Signalen darstellen kann, wobei der Bus eine Vielfalt von Bitbreiten aufweisen kann und die vorliegende Offenbarung auf einer beliebigen Anzahl von Datensignalen, einschließlich eines einzelnen Datensignals, implementiert werden kann.
  • Die verschiedenen veranschaulichenden logischen Blöcke, Module und Schaltungen, die in Verbindung mit den hierin offenbarten Beispielen beschrieben sind, können mit einem Digitalsignalprozessor (DSP), einer integrierten Schaltung (IC), einer anwendungsspezifischen integrierten Schaltung (ASIC), einem feldprogrammierbaren Gate-Array (FPGA) oder einer anderen programmierbaren Logikvorrichtung, einer diskreten Gate- oder Transistorlogik, diskreten Hardwarekomponenten oder einer beliebigen Kombination davon implementiert oder ausgeführt werden, um die hierin beschriebenen Funktionen auszuführen. Ein Universalprozessor (der hierin auch als Hostprozessor oder einfach als Host bezeichnet werden kann) kann ein Mikroprozessor sein, aber alternativ kann es sich auch um einen beliebigen herkömmlichen Prozessor, einen Controller, einen Mikrocontroller oder eine Zustandsmaschine handeln. Ein Prozessor kann auch als eine Kombination von Rechenvorrichtungen, wie eine Kombination aus einem DSP und einem Mikroprozessor, eine Vielzahl von Mikroprozessoren, ein oder mehrere Mikroprozessoren in Verbindung mit einem DSP-Kern oder eine beliebige andere derartige Konfiguration implementiert sein.
  • Die Beispiele können in Bezug auf einen Prozess beschrieben sein, der als ein Flussdiagramm, ein Fließschema, ein Strukturdiagramm oder ein Blockdiagramm dargestellt ist. Obwohl ein Flussdiagramm Vorgangshandlungen als einen sequentiellen Prozess beschreiben kann, können viele dieser Handlungen in einer anderen Abfolge, parallel oder im Wesentlichen gleichzeitig durchgeführt werden. Außerdem kann die Reihenfolge der Handlungen geändert werden. Ein Prozess kann einem Verfahren, einem Thread, einer Funktion, einer Prozedur, einer Subroutine, einem Unterprogramm, einer anderen Struktur oder Kombinationen davon entsprechen.
  • Jeder Verweis auf ein Element hierin unter Verwendung einer Bezeichnung, wie „erste/r/s“, „zweite/r/s“ usw. schränkt die Menge oder Reihenfolge dieser Elemente nicht ein, es sei denn, eine solche Einschränkung wird ausdrücklich angegeben. Vielmehr können diese Bezeichnungen hierin als ein zweckmäßiges Verfahren zum Unterscheiden zwischen zwei oder mehr Elementen oder Instanzen eines Elements verwendet werden. Eine Bezugnahme auf ein erstes und ein zweites Element bedeutet also nicht, dass dort nur zwei Elemente eingesetzt werden dürfen oder dass das erste Element dem zweiten Element in irgendeiner Art und Weise vorausgehen muss. Außerdem kann ein Satz von Elementen, sofern nicht anders angegeben, ein oder mehrere Elemente einschließen.
  • Wie hierin verwendet, bedeutet der Begriff „im Wesentlichen“ in Bezug auf einen gegebenen Parameter, eine gegebene Eigenschaft oder eine gegebene Bedingung und schließt in einem für den Durchschnittsfachmann verständlichen Ausmaß ein, dass der gegebene Parameter, die gegebene Eigenschaft oder die gegebene Bedingung mit einem geringen Maß an Varianz, wie zum Beispiel innerhalb annehmbarer Fertigungstoleranzen, erfüllt ist. Beispielhaft kann in Abhängigkeit von dem bestimmten Parameter, der bestimmten Eigenschaft oder der bestimmten Bedingung, der bzw. die im Wesentlichen erfüllt ist, der Parameter, die Eigenschaft oder die Bedingung zu mindestens 90 % erfüllt, zu mindestens 95 % erfüllt oder sogar zu mindestens 99 % erfüllt sein.
  • Wie hierin verwendet, bezieht sich der Begriff „Hardware“ auf Implementierungen, die Hardware-Elemente einschließen und Software-Elemente wie ausführbaren Software- oder Firmware-Code ausschließen. Zum Beispiel kann Hardware diskrete elektrische Komponenten (z. B. Widerstände, Kondensatoren, Induktoren, Logikgatter, Dioden, Transistoren, andere Hardware-Elemente oder Kombinationen davon) einschließen.
  • Inter-IC-Sound (I2S) ist ein Standard für einen digitalen seriellen Bus, der als Schnittstelle digitaler Audiovorrichtungen (z. B. integrierte Schaltungen (ICs), ohne Einschränkung) verwendet werden kann. Gemäß dem Time-Sensitive Network (TSN) International Electronics and Electrical Engineers (IEEE) 802.1-Standard können Audio-Listener-Anwendungen Audio-Streams (z. B. wie in den IEEE 1722- oder 1733-Standards dargelegt) aus dem Netzwerk zusammen mit einem Taktreferenz-Stream einschließlich einem Referenztakt empfangen. Die empfangenen Audiosamples werden über eine I2S-Schnittstelle an eine Audiovorrichtung (z. B. einen digitalen Signalprozessor (DSP), einen Verstärker, ohne Einschränkung) zur Wiedergabe übertragen. Der I2S-Takt ist mit dem Referenztakt synchron, und der Listener gewinnt diesen Takt physisch aus den empfangenen Stream-Daten zurück. Die Taktrückgewinnung verwendet eine phasengesteuerte Regelschleife (PLL), um den endgültigen Audio-Bit-Takt (I2S MCK/SCK) durch Multiplizieren des zurückgewonnenen Referenztakts mit einem konstanten Faktor zu erhalten. In einigen Fällen wird die Taktrückgewinnung vor der Audioübertragung für die Wiedergabe gestartet und läuft so lange, bis die PLL in der Lage ist, auf den vorgegebenen Referenztakt zu takten. I2S erlaubt keine Audioübertragung, bevor dieser Punkt erreicht wird.
  • Bei der Synchronisation zwischen einem I2S-Takt und Daten für Listener-Anwendungsfälle gibt es gewisse Probleme. Zum Beispiel können zu Beginn des I2S-Streamings die Daten und der Takt ausgerichtet werden. Jeder Fehler während des Starts des Streamings bleibt für die gesamte Dauer des Streamings bestehen. Mit Hilfe von Softwarelösungen, die relativ kompliziert wären, ist es möglich, den I2S-Takt und die Daten für Listener-Anwendungsfälle auf Mikrosekunden genau zu synchronisieren. Die hierin offenbarten Hardwarelösungen stellen jedoch eine Nanosekunden-Präzision bei der Synchronisation des I2S-Takts und der Daten für Listener-Anwendungsfälle bereit.
  • Bei der Synchronisation zwischen erfassten Rahmensynchronisationszeitstempeln (FSY-Zeitstempeln) und dem Eingang-Stream von Audiosamples können gewisse Probleme bestehen. Die Erfassung der Zeitstempel kann asynchron zu dem I2S-Stream erfolgen. Wenn der I2S-Sender der Takt-Master ist, kann die Software die Beziehung zwischen Sample und Zeitstempel möglicherweise nicht zuverlässig zurückgewinnen.
  • Die Erfinder dieser Offenbarung sind sich dessen bewusst, dass die Verwendung von Softwarelösungen, um einen Startpunkt einer 12S-Übertragung zu definieren, um das Synchronisieren des I2S-Takts mit dem Stream-Referenztakt zu ermöglichen, Jitter hervorrufen und Schwierigkeiten verursachen würde, wenn Worst-Case-Zeitsteuerungsbeschränkungen garantiert werden müssen. Softwarelösungen können relativ komplex sein, um harte Zeitvorgaben zu gewährleisten, und können einen Bereich der Zeitablaufsunsicherheit mit sich bringen (z. B. aufgrund von Interrupt-Verzögerungen, ohne Einschränkung), der in einigen Anwendungsfällen inakzeptabel oder unerwünscht sein könnte.
  • In einigen Fällen kann Audio über Ethernet-Netzwerke gestreamt werden. Eine relativ hohe Synchronität kann zwischen mehreren Audioendgeräten (z. B. Surround-Sound-Systemen, ohne Einschränkung) oder zum Synchronisieren von Mundbewegungen mit Audio im Video-Streaming gewünscht sein. Verwandte Streaming-Protokollstandards schließen IEEE 1722 (Audio Video Transport Protocol (AVTP)) und IEEE 1733 (Real-Time Transport Protocol (RTP)) in Kombination mit einigen Zeitprotokollen wie IEEE 1588 (Precision Time Protocol (PTP)) oder IEEE 802.1AS (generalized PTP (gPTP)) ein.
  • Verschiedene hierin offenbarte Beispiele können die Synchronität von Medien-Streaming-Vorrichtungen verbessern, indem sie eine kleine (z. B. die kleinstmögliche, ohne Einschränkung) Zeitablaufunsicherheit in der Präsentationszeit von Audio-Listenern erreichen und eine präzise (z. B. im Wesentlichen genaue, ohne Einschränkung) Synchronisation zwischen Sample-Daten und Zeitstempeln von Audio-Talkern ermöglichen. Verschiedene hierin offenbarte Beispiele können die Stream-Synchronisation durch Auslagern von Komplexität aus einer CPU (z. B. einem Verarbeitungskern eines Mikrocontrollers, ohne Einschränkung) vereinfachen. Hardwarelösungen können im Gegensatz zu Softwarelösungen zuverlässig feste Zahlen und eine geringere Unsicherheit garantieren. Softwarelösungen würden zu einer Interrupt-Latenz führen, die in verschiedenen Beispielen von hierin offenbarten Hardwarelösungen zumindest teilweise vermieden wird.
  • Verschiedene hierin offenbarte Beispiele ermöglichen die Synchronisation eines I2S-Takts mit einem Stream-Referenztakt auf der Grundlage einer synchronisierten Zeitbasis. Implementierungen verschiedener hierin offenbarter Beispiele können die Erweiterung auf I2S-Hardware-Peripherien in MCUs einschließen, die eine Synchronisation des Starts einer 12S-Übertragung (Freigabe einer Taktausgabe) zu einem spezifischen Zeitpunkt ermöglicht. Verschiedene hierin offenbarte Beispiele sind auf Hardwaremechanismen im Gegensatz zu Softwaremechanismen gerichtet. Dementsprechend können zumindest einige unerwünschte Zeitverschiebungen, Jitter und schlechte Worst-Case-Zeitabläufe, die Softwaremechanismen zugeordnet sind, vermieden werden. Hardware-basierte Mechanismen können eine hohe (z. B. höchstmögliche, ohne Einschränkung) Präzision von Synchronisation zwischen Sample-Daten und Zeitstempeln von Audio-Talkern garantieren. Dies ist insbesondere dann der Fall, wenn mehrere Audio-Listener-Knoten Audio synchron wiedergeben.
  • In verschiedenen Beispielen ist ein I2S-Controller integriert, der konfiguriert ist, um seinen I2S-Takt mit der tatsächlichen Startzeit zu synchronisieren. Die I2S-Takte stammen von einer externen Taktquelle, die ein Vielfaches des letzten Audio-Bit-Blocks ist und aus dem Audio-Referenztakt zurückgewonnen wird.
  • In verschiedenen Beispielen schließt ein Audiosystem eine Wortauswahlleitung einer digitalen Audioschnittstelle, eine serielle Taktleitung der digitalen Audioschnittstelle und eine Hardwareschaltung ein. Die Hardwareschaltung ist konfiguriert, um ein Wortauswahlsignal an die Wortauswahlleitung bereitzustellen. Das Wortauswahlsignal ist konfiguriert, um Kanäle eines seriellen Datensignals anzuzeigen, die einer seriellen Datenleitung der digitalen Audioschnittstelle bereitgestellt werden. Die Hardwareschaltung ist konfiguriert, um ein serielles Taktsignal an die serielle Taktleitung bereitzustellen und zumindest teilweise basierend auf einer synchronisierten Zeitbasis das serielle Taktsignal an einen Taktreferenz-Stream eines Audio-Streams, der über eine Netzwerkschnittstelle kommuniziert wird, zu synchronisieren.
  • In verschiedenen Beispielen schließt die Schaltung zum Steuern des Zeitablaufs der Kommunikationen eine serielle Taktleitung, ein Freigabegatter und einen Ereignisgenerator ein. Das Freigabegatter ist elektrisch mit der seriellen Taktleitung verbunden. Das Freigabegatter ist konfiguriert, um das Bereitstellen eines seriellen Taktsignals an die serielle Taktleitung zumindest teilweise basierend auf einer Anlegung eines Synchronisationssignals zu starten. Der Ereignisgenerator ist konfiguriert, um das Synchronisationssignal als Reaktion auf einen Präsentationszeitstempel aus einem seriellen Datensignal anzulegen. Der Präsentationszeitstempel steht mit einer synchronisierten Zeitbasis in Beziehung. Das Freigabegatter und der Ereignisgenerator werden unter Verwendung von Hardwareschaltungen implementiert.
  • 1 ist ein Blockdiagramm eines Sender-als-Master-IS2-Systems 100 gemäß verschiedenen Ausführungsformen. Das Sender-als-Master-I2S-System 100 schließt einen Sender 102 und einen Empfänger 104 ein. Der Sender 102 und der Empfänger 104 sind I2S-Endpunkte, die konfiguriert sind, um unter Verwendung eines I2S-Protokolls zu kommunizieren (z. B. über ein Ethernet-Netzwerk, ohne Einschränkung). Der Sender 102 ist konfiguriert, um als Master-Knoten in dem Sender-als-Master-I2S-System 100 zu arbeiten. Als Master-Knoten ist der Sender 102 konfiguriert, um ein serielles Taktsignal SCK und ein Wortauswahlsignal WS an den Empfänger 104 zu übertragen. Der Sender 102 ist konfiguriert, um ein serielles Datensignal SD an den Empfänger 104 zu übertragen. Einer oder beide des Senders 102 und des Empfängers 104 können gemäß verschiedenen hierin erörterten Beispielen einen zeitsynchronisierten Hardware-Controller 106 einschließen.
  • Das serielle Datensignal SD kann serielle Daten (z. B. serielle Audiodaten, die einem Audio-Stream entsprechen, ohne Einschränkung) einschließen. Der Empfänger 104 ist konfiguriert, um das von dem Sender 102 empfangen serielle Taktsignal SCK und Wortauswahlsignal WS zu verwenden, um die seriellen Daten des seriellen Datensignals SD zu synchronisieren.
  • 2 ist ein Blockdiagramm eines Empfänger-als-Master-I2S-Systems 200 gemäß verschiedenen Ausführungsformen. Das Empfänger-als-Master-I2S-System 200 schließt einen Sender 202 und einen Empfänger 204, die dem Sender 102 und dem Empfänger 104 von 1 ähnlich sind, ein. Ähnlich wie der Sender 102 und der Empfänger 104 von 1 sind der Sender 202 und der Empfänger 204 I2S-Endpunkte, die konfiguriert sind, um über ein I2S-Protokoll zu kommunizieren (z. B. über ein Ethernet-Netzwerk, ohne Einschränkung). Im Gegensatz zu dem Empfänger 104 des Sender-als-Master-I2S-Systems 100 von 1 ist der Empfänger 204 konfiguriert, um als Master-Knoten im Empfänger-als-Master-I2S-System 200 zu arbeiten, da der Master-Knoten des Empfängers 204 konfiguriert ist, um ein serielles Taktsignal SCK und ein Wortauswahlsignal WS an den Empfänger 204 zu übertragen. Einer oder beide des Senders 202 und des Empfängers 204 können gemäß verschiedenen hierin erörterten Beispielen einen zeitsynchronisierten Hardware-Controller 206 einschließen Ähnlich wie der Sender 102 von 1 ist der Sender 202 konfiguriert, um ein serielles Datensignal SD an den Empfänger 204 zu übertragen. Der Sender 102 ist konfiguriert, um das serielle Datensignal SD als Reaktion auf das serielle Taktsignal SCK und das von dem Empfänger 204 empfangene Wortauswahlsignal WS zu synchronisieren.
  • 3 ist ein Blockdiagramm eines Controller-als Master-I2S-Systems 300 gemäß verschiedenen Ausführungsformen. Das Controller-als-Master-I2S-System 300 schließt einen Sender 302 und einen Empfänger 304, die dem Sender 102 und dem Empfänger 104 von 1 ähnlich sind, ein. Ähnlich dem Sender 102 und dem Empfänger 104 von 1 und dem Sender 202 und dem Empfänger 204 von 2 sind der Sender 302 und der Empfänger 304 I2S-Endpunkte, die konfiguriert sind, um über ein I2S-Protokoll zu kommunizieren (z. B. über ein Ethernet-Netzwerk, ohne Einschränkungen). Im Gegensatz zu dem Sender-als-Master I2S-System 100 von 1 und dem Empfängerals-Master I2S-System 200 von 2 schließt das Controller-als-Master-I2S-System 300 einen Controller 306 ein, der konfiguriert ist, um als Master-Knoten in dem Controller-als-Master-I2S-System 300 zu arbeiten. Als Master-Knoten ist der Controller 306 konfiguriert, um ein serielles Taktsignal SCK und ein Wortauswahlsignal WS an den Sender 302 und den Empfänger 304 zu übertragen. Dementsprechend ist der Controller 306 konfiguriert, um als eigenständiger I2S-Controller zu arbeiten, der in Verbindung mit I2S-Peripherien nach dem Stand der Technik (z. B. dem Sender 302 und dem Empfänger 304, ohne Einschränkung) arbeitet.
  • Ähnlich dem Sender 102 von 1 und dem Sender 202 von 2 ist der Sender 302 konfiguriert, um ein serielles Datensignal SD an den Empfänger 304 zu übertragen. Der Sender 302 und der Empfänger 304 sind konfiguriert, um das serielle Datensignal SD als Reaktion auf das von dem Controller 306 empfangene serielle Taktsignal SCK und Wortauswahlsignal WS zu synchronisieren.
  • 4 ist ein Signalzeitsteuerungsdiagramm von 12S-Signalen 400 des Sender-als-Master-I2S-Systems 100 von 1, des Empfänger-als-Master-I2S-Systems 200 von 2 und des Controllers-als-Master-I2S-Systems 300 von 3, gemäß verschiedenen Beispielen. Die 12S-Signale 400 schließen das serielle Taktsignal SCK, das Wortauswahlsignal WS und das serielle Datensignal SD ein. Als nicht einschränkendes Beispiel kann das serielle Datensignal SD als ein
  • Zweierkomplementsignal übertragen werden. Das serielle Datensignal kann Wörter (z. B. einen rechten N-1-Wortkanal, einen linken N-Wortkanal, einen rechten N+1-Wortkanal, ohne Einschränkung) einschließen. Jedes Wort kann mit einem höchstwertigen Bit MSB beginnen und mit einem niedrigstwertigen Bit LSB enden.
  • Das Wortauswahlsignal WS ist konfiguriert, um einen Audiokanal (z. B. einen linken Audiokanal und einen rechten Audiokanal eines Stereo-Audiosystems, ohne Einschränkung) anzugeben, dem serielle Daten in dem zu übertragenden seriellen Datensignal SD entsprechen. Als nicht einschränkendes Beispiel kann das Wortauswahlsignal WS mit einer „Eins“ (z. B. einem Logikpegel-HochSpannungspotential, ohne Einschränkung) anzeigen, dass die in dem seriellen Datensignal SD übertragenen seriellen Daten einem rechten Kanal entsprechen. Außerdem kann das Wortauswahlsignal WS mit einer „Null“ (z. B. einem Logikpegel-Niedrig-Spannungspotential, ohne Einschränkung) anzeigen, dass die in dem seriellen Datensignal SD übertragenen seriellen Daten einem linken Kanal entsprechen.
  • Das serielle Taktsignal SCK und das Wortauswahlsignal WS ermöglichen es den I2S-Endpunkten, das serielle Taktsignal SCK und das serielle Datensignal SD mit einer relativ hohen Genauigkeit mit einem Referenztakt eines Medien-Streams zu synchronisieren.
  • 5 ist ein Blockdiagramm eines AVTP-Talkers 500 gemäß einigen Ausführungsformen. Der AVTP-Talker 500 schließt einen lokalen Oszillator 518, einen Audio-Video-Überbrückungs- (AVB) -Transportprotokoll (AVBTP)-Zeitstempelgenerator (AVBTP-Zeitstempelgenerator 504) und einen Analog-Digital (A/D-Wandler (A/D-Wandler 506) ein. Der AVTP-Talker 500 ist konfiguriert, um einen IEEE 1722-Daten-Stream (1722-Stream 512) zu erzeugen, der Zeitstempel 508 und Daten 510 einschließt.
  • Der lokale Oszillator 518 (z. B. ein spannungsgesteuerter Oszillator, ohne Einschränkung) ist konfiguriert, um einen Medientakt 514 zu erzeugen. Der AVBTP-Zeitstempelgenerator 504 und der A/D-Wandler 506 sind konfiguriert, um den Medientakt 514 von dem lokalen Oszillator 518 zu empfangen. Der A/D-Wandler 506 ist auch konfiguriert, um eingehende analoge Daten 516 (z. B. analoge Audiodaten, ohne Einschränkung) zu empfangen und die eingehenden analogen Daten 516 in die Daten 510 (digitale Daten) umzuwandeln, die in den 1722-Stream 512 als Reaktion auf die eingehenden analogen Daten 516 und den Medientakt 514 eingeschlossen werden sollen. Der AVBTP-Zeitstempelgenerator 504 ist konfiguriert, um die Zeitstempel 508 für die Daten 510 als Reaktion auf den Medientakt 514 und die Uhrzeit 502 (z. B. IEEE 802.1AS-Netzwerkzeit, ohne Einschränkung) zu generieren. Der 1722-Stream 512 schließt die Zeitstempel 508 und die Daten 510 ein.
  • Die Zeitstempel 508 geben die Werte der Uhrzeit 502 an, die den Bits der Daten 510 entsprechen. Als ein nicht einschränkendes Beispiel können die Werte der Zeitstempel 508 Werte der Uhrzeit 502 angeben, an denen die Werte der Daten 510 durch den A/D-Wandler 506 abgetastet wurden. Als nicht einschränkendes Beispiel schließen die in 5 veranschaulichten Zeitstempel 508 Uhrzeitwerte von 7166667, 7333333, ..., 8666667, 8833333, und 9000000 ein. Ebenfalls als nicht einschränkendes Beispiel können die Zeitstempel 508 für eine bestimmten Anzahl von erfassten Abtastungen von Daten 510 erfasst werden (z. B. einen Zeitstempel für alle sechs oder acht Abtastungen von Daten 510, ohne Einschränkung).
  • Der AVTP-Talker 500 kann konfiguriert sein, um als I2S-Sender zu arbeiten (z. B. der Sender 102 von 1, der Sender 202 von 2 oder der Sender 302 von 3, ohne Einschränkung). Der 1722-Stream 512 kann unter Verwendung eines I2S-Protokolls an eine Audiovorrichtung (z. B. einen I2S-Empfänger, ohne Einschränkung) übertragen werden. Dementsprechend kann der 1722-Stream 512 von einem Sender (z. B. dem Sender 102 von 1, dem Sender 202 von 2 oder dem Sender 302 von 3, ohne Einschränkung) an einen Empfänger (z. B. den Empfänger 104 von 1, den Empfänger 204 von 2 oder den Empfänger 304 von 3, ohne Einschränkung) als ein serielles Datensignal SD (z. B. das SD von 1, 2, 3 oder 4, ohne Einschränkung) einer I2S-Schnittstelle übertragen werden.
  • 6 ist ein Blockdiagramm eines AVTP-Listeners 600 gemäß verschiedenen Ausführungsformen. Der AVTP-Listener 600 kann konfiguriert sein, um als I2S-Empfänger zu arbeiten (z. B. der Empfänger 104 von 1, der Empfänger 204 von 2 oder der Empfänger 304 von 3, ohne Einschränkung). Der AVTP-Listener 600 kann konfiguriert sein, um den 1722-Stream 512 von dem AVTP-Talker 500 von 5 zu empfangen. Der AVTP-Listener 600 ist konfiguriert, um ausgehende analoge Daten 606 als Reaktion auf den 1722-Stream 512 zu extrahieren.
  • Der AVTP-Listener 600 schließt einen AVBTP-Zeitstempelkomparator 612, einen Taktgenerator 610 und einen Digital-Analog (D/A)-Wandler (D/A-Wandler 608) ein. Der AVBTP-Zeitstempelkomparator 612 ist konfiguriert, um eine Uhrzeit 602 (z. B. eine 802. lAS-Netzwerkzeit, die mit der Uhrzeit 502 von 5 synchronisiert ist und ohne Einschränkung ein PTP verwendet) mit den Zeitstempeln 508 des 1722-Streams 512 zu vergleichen. Die Uhrzeit 602 des AVP-Listeners 600 kann mit der Uhrzeit 502 des AVP-Talkers 500 von 5 synchronisiert werden.
  • Der Taktgenerator 610 ist konfiguriert, um einen Medientakt 604 zu generieren, der eine zurückgewonnene Version des Medientakts 514 des AVP-Talkers 500 von 5 ist. Der D/A-Wandler 608 ist konfiguriert, um ausgehende analoge Daten 606 als Reaktion auf den Medientakt 514 und den Vergleich zwischen der Uhrzeit 602 und den Zeitstempeln 508 aus dem 1722-Stream 512 zu generieren. Die ausgehenden analogen Daten 606 können anhand des Vergleichs zwischen der Uhrzeit 602 und den Zeitstempeln 508 mit dem Medientakt 604 synchronisiert werden.
  • 7 ist ein Blockdiagramm von Zeitreferenzebenen 700 (z. B. AVTP-Zeitreferenzebenen, ohne Einschränkung) gemäß verschiedenen Beispielen. 7 veranschaulicht eine Eintrittszeitreferenzebene 746, eine Präsentationszeitreferenzebene 748, Zeitstempelmessebenen 744 (z. B. gPTP-Zeitstempelmessebenen, ohne Einschränkung), einen Talker 740 (z. B. einen AVTP-Talker, ohne Einschränkung), einen Listener 742 (z. B. einen AVTP-Listener, ohne Einschränkung) und zeitkritische Anwendungen 704a und 704b. Der Talker 740 schließt einen Stream-Paketierer 734 (z. B. einen AVTP-Stream-Paketierer, ohne Einschränkung) und eine Netzwerkschnittstelle 738a (z. B. eine AVP-Netzwerkschnittstelle, ohne Einschränkung) ein. Der Stream-Paketierer 734 schließt eine Streaming-Datenschnittstelle 706a, einen Puffer 710a (z. B. einschließlich Datenabtastungen, ohne Einschränkung) und eine Steuerung 708a ein. Die Netzwerkschnittstelle 738a schließt einen Puffer 712a (z. B. einschließlich 1722-Paketen, ohne Einschränkung), eine Medienzugriffssteuerungsschicht (MAC 714a), eine physikalische Schicht (PHY 716a) und einen Zeitgeber 718a (z. B. einen 802.1AS-Zeitgeber, ohne Einschränkung) ein.
  • Der Listener 742 schließt eine Netzwerkschnittstelle 738b (z. B. eine AVTP-Netzwerkschnittstelle, ohne Einschränkung) und einen Stream-Depaketierer 736 (z. B. einen AVTP-Stream-Depaketierer, ohne Einschränkung) ein. Die Netzwerkschnittstelle 738b schließt eine PHY 716b, eine MAC 714b, einen Zeitgeber 718b (z. B. einen 802.1AS-Zeitgeber, ohne Einschränkung) und einen Puffer 712b (z. B. einschließlich 1722-Paketen, ohne Einschränkung) ein. Der Stream-Depaketierer 736 schließt einen Puffer 710b (z. B. einschließlich Datenabtastungen, ohne Einschränkung), eine Streaming-Datenschnittstelle 706b und eine Steuerung 708b ein.
  • 7 veranschaulicht verschiedene Latenzen (z. B. Klinke-zu-Klinke-Latenz 720, Anwendung-zu-Anwendung Latenz 722, ohne Einschränkung), Zeitsteuerungsinformationen (z. B. Anwendungszeiten 724a und 724b, Formatumwandlungszeiten 726a und 726b, eine Mindestlaufzeit 728, eine tatsächliche Laufzeit 730 (variabel) und eine Höchstlaufzeit 732, ohne Einschränkung), die mit dem Streaming von Daten von der dem Talker 740 (z. B. dem AVTP-Talker 500 von 5) zugeordneten zeitkritischen Anwendung 704a zu der dem Listener 742 (z. B. dem AVTP-Listener 600 von 6, ohne Einschränkung) zugeordneten zeitkritischen Anwendung 704b über eine Cloud 702 (z. B. eine 802.1 AVB/TSN-Cloud, ohne Einschränkung) verbunden ist.
  • Aufgrund der Variabilität bei der Übertragung einer Inhaberschaft des Pakets kann eine Unsicherheit einer maximalen zeitlichen Steuerung vorliegen. In der Eintrittszeitreferenzebene 746 wird die Inhaberschaft eines vollständig vorbereiteten 1722-Pakets an die Netzwerkschnittstelle 738a übertragen, um es zu einem Zeitpunkt zu übertragen, der nicht später als die Präsentation ist. In der Präsentationszeitreferenzebene 748 wird das 1722-Paket nicht später als die maximale Übertragungszeit in den Puffer geschrieben.
  • 8 veranschaulicht einen 1722-Stream 806 gemäß verschiedenen Beispielen. Der 1722-Stream 806 schließt Zeitstempel 802 (7166667, 7333333, ... 866667, 8833333, 9000000) und Daten 804 ein. Gemäß verschiedenen Beispielen können die Zeitstempel 802 mit einem seriellen Takt SCK synchronisiert werden (z. B. Identifizierung der fallenden Flanken des seriellen Takts SCK, die jedem der Zeitstempel 802 entsprechen, ohne Einschränkung). Die Daten 804 und der serielle Takt SCK können einer I2S-Peripherie 808 bereitgestellt werden.
  • Für den Listener-Anwendungsfall kann es eine Herausforderung sein, den seriellen Takt SCK und die Daten 804 zu synchronisieren. Als nicht einschränkendes Beispiel kann es zu Beginn des I2S-Streamings wünschenswert sein, dass die Daten 804 und der serielle Takt SCK aufeinander abgestimmt sind. Ein Fehler bei der Ausrichtung zwischen den Daten 804 und dem seriellen Takt SCK zu Beginn des Streamings kann während der gesamten Dauer des Streamings bestehen bleiben. Im Gegensatz zu Softwarelösungen, die möglicherweise nur in der Lage sind, eine Präzision im Bereich von Mikrosekunden bereitzustellen, können die hierin offenbarten Hardwarelösungen eine Präzision im Nanosekundenbereich gewährleisten, ohne, als nicht einschränkendes Beispiel, Echtzeitanforderungen an die Software zu stellen. Ein Ereignisgenerator (EG) kann den Start eines seriellen Takts SCK auslösen, der einer 12S-Peripherie 808 bereitgestellt wird, um die Zeitstempel mit dem seriellen Takt SCK zu synchronisieren.
  • Für den Talker-Anwendungsfall kann es eine Herausforderung sein, erfasste FSY-Zeitstempel mit dem Eingang-Stream der Audiosamples zu synchronisieren. Als nicht einschränkendes Beispiel kann das Erfassen der Zeitstempel asynchron zu dem I2S-Streaming erfolgen. Wenn der I2S-Sender der Takt-Master ist, dann kann eine Softwarelösung die Beziehung zwischen den Audio-Samples und den entsprechenden Zeitstempeln möglicherweise nicht zuverlässig zurückgewinnen.
  • 9A ist ein Blockdiagramm eines Audiosystems 900, das gemäß verschiedenen Beispielen mit einem CODEC 910 (z. B. einer Audiovorrichtung, ohne Einschränkung) als Listener und unter Verwendung eines eigenständigen I2S-Controllers 930 arbeitet. Das Audiosystem 900 schließt einen Mikrocontroller (Mikrocontroller 902), den CODEC 910, eine Phasenregelschleife (PLL 908) und eine Netzwerkvorrichtung 914 ein. Die Netzwerkvorrichtung 914 schließt den I2S-Controller 930 ein. Das Audiosystem 900 ist konfiguriert, um als ein Controller-als-Master-I2S-System, wie das Controller-als-Master-I2S-System 300 von 3, zu arbeiten. Im Audiosystem 900 kann der Mikrocontroller 902 als I2S-Sender arbeiten (z. B. der Sender 302 von 3, ohne Einschränkung), der CODEC 910 kann als I2S-Empfänger arbeiten (z. B. der Empfänger 304 von 3, ohne Einschränkung), und der I2S-Controller 930 kann als I2S-Controller arbeiten (z. B. der Controller 306 von 3, ohne Einschränkung). Der I2S-Controller 930 ist in Hardware implementiert (im Gegensatz zu Software). Dementsprechend kann die Netzwerkvorrichtung 914 ein eigenständiger Controller sein, der die Hardwareschaltung des I2S-Controllers 930 einschließt.
  • Der Mikrocontroller 902 schließt eine 12S-Schnittstelle 904 und eine serielle Peripherieschnittstelle (SPI)-Master-Schnittstelle (SPI-Master-Schnittstelle 906) ein. Der CODEC 910 schließt eine I2S-Schnittstelle 912 ein, die elektrisch mit der I2S-Schnittstelle 904 verbunden ist. Das Audiosystem 900 schließt eine digitale Audioschnittstelle einschließlich einer SD-Leitung 934, einer SCK-Leitung 936 und einer Rahmensynchronisations (FSY, hierin austauschbar mit WS verwendet)-Leitung (FSY-Leitung 938) ein, welche die I2S-Schnittstelle 912 elektrisch mit der 12S-Schnittstelle 904 verbindet. Dementsprechend steht der Mikrocontroller 902 über die serielle Daten SD-Leitung 934 mit dem CODEC 910 (z. B. einer Audiovorrichtung, ohne Einschränkung) in Kommunikation. Der Mikrocontroller 902 ist konfiguriert, um auf der SD-Leitung 934 ein serielles digitales Signal SD an den CODEC 910 zu übertragen. Das serielle digitale Signal SD schließt einen I2S-Stream ein, der Daten und Zeitstempel, wie zum Beispiel die Daten 510 und Zeitstempel 508 des 1722-Streams 512 von 5 und 6, einschließt.
  • Die Netzwerkvorrichtung 914 schließt eine SPI-Slave-Schnittstelle 916, die über eine serielle Taktleitung 944 elektrisch mit der SPI-Master-Schnittstelle 906 verbunden ist, eine Kanalauswahlleitung 946, eine Master-Out-Slave-In-Leitung 948 und eine Master-In-Slave-Out-Leitung 950 ein. Dementsprechend kann die Netzwerkvorrichtung 914 ein eigenständiger Controller sein, der konfiguriert ist, um mit dem Mikrocontroller 902 über eine periphere Schnittstelle als eine Peripherie zu dem Mikrocontroller 902 zu kommunizieren. Die Netzwerkvorrichtung 914 schließt auch einen I2S-Controller 930 ein, der einen Medientaktteiler 920, einen seriellen Taktteiler 922 (z. B. 1,5 MHz bis 48 kHz, ohne Einschränkung) und ein Freigabegatter 924 einschließt. Der serielle Taktteiler 922 ist elektrisch mit der seriellen Taktleitung 944 und der FSY-Leitung 938 verbunden. Der serielle Taktteiler 922 ist konfiguriert, um das der seriellen Taktleitung 944 bereitgestellte serielle Taktsignal SCK zu teilen, um das FSY-Signal (ein Wortauswahlsignal) an die FSY-Leitung 938 (eine Wortauswahlleitung) bereitzustellen. Die Netzwerkvorrichtung 914 schließt ferner einen Ereignisgenerator 926 ein, der elektrisch zwischen der SPI-Slave-Schnittstelle 916 und dem Freigabegatter 924 verbunden ist. Die Netzwerkvorrichtung 914 schließt auch einen Zeitstempelteiler 932, der elektrisch mit dem seriellen Taktteiler 922 verbunden ist, und einen Zeitstempler 928, der elektrisch mit der SPI-Slave-Schnittstelle 916 verbunden ist, ein. Der Zeitstempelteiler 932 ist konfiguriert, um das Rahmensynchronisationssignal FSY auf eine Rate zu teilen, mit der Zeitstempel durch das serielle Datensignal SD bereitgestellt werden.
  • Die Netzwerkvorrichtung 914 schließt einen Ereignisgenerator 918 ein, der elektrisch zwischen der SPI-Slave-Schnittstelle 916 und der PLL 908 verbunden ist. Der Ereignisgenerator 918 ist über eine Referenztaktleitung 942 elektrisch mit der PLL 908 verbunden. Der Ereignisgenerator 918 und die PLL 908 können zusammen als Taktgenerator 610 von 6 fungieren, wenn der CODEC 910 als ein Listener arbeitet. Die PLL 908 ist konfiguriert, um ein Referenztaktsignal RCLK von dem Ereignisgenerator 918 zu empfangen und ein Medientaktsignal MCLK an einen Medientaktteiler 920 des I2S-Controllers 930 (z. B. in Hardwareschaltung implementiert, ohne Einschränkung) bereitzustellen.
  • Im Betrieb treibt der Ereignisgenerator 918 die PLL 908 an. Insbesondere kann der Mikrocontroller 902 Zeitstempel (z. B. die Zeitstempel 508 von 5, ohne Einschränkung) an den Ereignisgenerator 918 (z. B. über die SPI-Master-Schnittstelle 906, die MOSI-Leitung und die SPI-Slave-Schnittstelle 916, ohne Einschränkung) bereitstellen. Für jeden Präsentationszeitstempel, den der Ereignisgenerator 918 empfängt, kann der Ereignisgenerator 918 einen Impuls erzeugen, was zu einem Referenztaktsignal RCLK führt, das der Ereignisgenerator 918 der PLL 908 über die Referenztaktleitung 942 bereitstellt. Die PLL 908 kann das Referenztaktsignal RCLK multiplizieren, um ein Medientaktsignal MCLK (z. B. einen Audio-Bit-Takt (Nx), ohne Einschränkung) auf einer Medientaktleitung 940 zu generieren. Als nicht einschränkendes Beispiel kann das Referenztaktsignal RCLK mit einer Frequenz zwischen im Wesentlichen 300 Hertz (Hz) und im Wesentlichen 8 Kilohertz (kHz) pulsieren. Ebenfalls als nicht einschränkendes Beispiel kann die PLL 908 das Referenztaktsignal RCLK auf ein Medientaktsignal MCLK von im Wesentlichen 1,5 MHz für 16-Bit-Stereo multiplizieren. Die PLL 908 stellt das Medientaktsignal MCLK über die Medientaktleitung 940 an den CODEC 910 und den Medientaktteiler 920 bereit. Der Medientaktteiler 920 ist konfiguriert, um das Medientaktsignal MCLK zu empfangen und zu teilen und das geteilte Medientaktsignal an das Freigabegatter 924 bereitzustellen.
  • Das Freigabegatter 924 ist konfiguriert, um ein serielles Taktsignal SCK an die SCK-Leitung 936 und ein Rahmensynchronisationssignal FSY an die FSY-Leitung 938 bereitzustellen. Der Mikrocontroller 902 und der CODEC 910 sind konfiguriert, um das Rahmensynchronisationssignal FSY (ein Wortauswahlsignal) und das serielle Taktsignal SCK, die von der Hardwareschaltung der Netzwerkvorrichtung 914 bereitgestellt werden, zu empfangen. Das Freigabegatter 924 kann ausgelöst werden, um das Bereitstellen des seriellen Taktsignals SCK und des Rahmensynchronisationssignals FSY als Reaktion auf eine Anlegung (z. B. einen Impuls, ohne Einschränkung) eines Synchronisationssignals SYNC von dem Ereignisgenerator 926 zu initiieren. Der Ereignisgenerator 926 ist konfiguriert, um das Synchronisationssignal SYNC als Reaktion auf einen Präsentationszeitstempel anzulegen und zumindest teilweise auf einer synchronisierten Zeitbasis (z. B. einer Uhrzeit, ohne Einschränkung) zu basieren. Ähnlich wie der Ereignisgenerator 918 kann der Ereignisgenerator 926 als Reaktion auf jeden von dem Mikrocontroller 902 empfangenen Präsentationszeitstempel einen Impuls auf das Synchronisationssignal SYNC bereitstellen. Als nicht einschränkendes Beispiel kann das geteilte Medientaktsignal von dem Medientaktteiler 920 mit einer Frequenz takten, die zur Verwendung als serielles Taktsignal SCK geeignet ist (z. B. 2,5 MHz, ohne Einschränkung), und das Freigabegatter 924 kann das geteilte Medientaktsignal als serielles Taktsignal SCK an die SCK-Leitung 936 weiterleiten. Das Freigabegatter 924 stellt das serielle Taktsignal SCK an den Mikrocontroller 902 (über die SCK-Leitung 936 und die 12S-Schnittstelle 904) und an den Codec 910 (über die SCK-Leitung 936 und die 12S-Schnittstelle 912) bereit. Das Freigabegatter 924 stellt auch dem seriellen Taktteiler 922 das serielle Taktsignal SCK bereit, der das serielle Taktsignal SCK teilt, um das Rahmensynchronisationssignal FSY zu generieren. Der serielle Taktteiler 922 stellt das Rahmensynchronisationssignal FSY an den Mikrocontroller 902 (über die FSY-Leitung 938 und die 12S-Schnittstelle 904) und an den CODEC 910 (über die FSY-Leitung 938 und die I2S-Schnittstelle 912) bereit.
  • In verschiedenen Beispielen ermöglicht das Audiosystem 900 den Start des Streamings zu einem bestimmten Zeitpunkt, indem es dem I2S-Controller 930 einen synchronisierbaren Startzeitpunkt vorgibt, der durch einen Impuls des Synchronisationssignals SYNC ausgelöst wird. Die Synchronisation wird unter Verwendung von Ereignisgeneratoren (Ereignisgenerator 926 und Ereignisgenerator 918) erreicht.
  • Streaming (z. B. Übertragung von Daten unter Verwendung des seriellen Datensignals SD auf der SD-Leitung 934, ohne Einschränkung) beginnt zu einem dedizierten Zeitstempel, da das Synchronisationssignal SYNC in Abhängigkeit von einem Zeitstempel pulsiert. Sobald die Takte (das Referenztaktsignal RCLK, das Medientaktsignal MCLK) ausgeführt werden, können die Daten auf dem seriellen Datensignal SD gestreamt werden. Das Streaming durch den Mikrocontroller 902 (d. h. die Bereitstellung von Daten auf dem seriellen Datensignal SD) kann zur gleichen Zeit eingeleitet werden, zu der das Synchronisationssignal SYNC gepulst wird, um die Bereitstellung des seriellen Taktsignals SCK und des Rahmensynchronisationssignals FSY durch das Freigabegatter 924 einzuleiten. Infolgedessen ermöglichen die SPI-Kommunikationen vom Mikrocontroller 902 zu der Netzwerkvorrichtung 914 die Synchronisation des seriellen Taktsignals SCK mit den gestreamten Daten, die durch das serielle Datensignal SD kommuniziert werden.
  • Da das serielle Taktsignal SCK synchron läuft, ist eine spätere Synchronisation nicht erforderlich. In verschiedenen Beispielen kann jedoch das serielle Taktsignal SCK überwacht werden (z. B., wenn es von einer externen Quelle stammt, ohne Einschränkung), um Probleme zu erkennen, während der Stream läuft.
  • 9B ist ein Blockdiagramm des Audiosystems 900 von 9A mit dem Codec 910, der gemäß verschiedenen Beispielen als Talker arbeitet. Wie vorstehend unter Bezugnahme auf 9A erörtert, kann der I2S-Controller 930 als I2S-Controller (z. B. Controller 306 von FIG. 375, ohne Einschränkung) in einem Controller-als-Master-I2S-System (z. B. dem Controller-als-Master-I2S-System 300 von 3, ohne Einschränkung) arbeiten. In dem in 9B veranschaulichten Audiosystem 900 kann der Mikrocontroller 902 jedoch als ein I2S-Empfänger arbeiten (z. B. der Empfänger 304 von 3, ohne Einschränkung) und der CODEC 910 kann als I2S-Sender arbeiten (z. B. der Sender 302 von 3, ohne Einschränkung). Dementsprechend kann der CODEC 910 ein serielles Datensignal SD (z. B. einschließlich der Daten 510 und der Zeitstempel 508 des 1722-Streams 512 von 5, ohne Einschränkung) auf der SD-Leitung 934 zum Mikrocontroller 902 übertragen.
  • Wie zuvor erörtert, kann es in einem Talker-Anwendungsfall eine Herausforderung sein, erfasste Zeitstempel (z. B. die Zeitstempel 508 von 6, ohne Einschränkung) mit einem Eingang-Stream der Audiosamples (z. B. die Daten 510 von 5, ohne Einschränkung) zu synchronisieren. In verschiedenen Beispielen ermöglicht der I2S-Controller 930 die Synchronisation der erfassten Zeitstempel mit einem Eingang-Stream von Audiosamples. Die Netzwerkvorrichtung 914 gewinnt den Medientakt MCLK zurück, und der I2S-Controller 930 stellt das serielle Taktsignal SCK und das Rahmensynchronisationssignal FSY bereit, wie unter Bezugnahme auf 9A erörtert.
  • Der I2S-Controller 930 (insbesondere der serielle Taktteiler 922) stellt das Rahmensynchronisationssignal FSY an den Zeitstempelteiler 932 bereit, der das Rahmensynchronisationssignal FSY unter Verwendung eines Zeitstempelteilers 932 teilt. Der Zeitstempelteiler 932 kann das Rahmensynchronisationssignal FSY auf eine Rate teilen, mit der Zeitstempel durch das serielle Datensignal SD bereitgestellt werden. Ein Zeitstempler 928 kann das geteilte Rahmensynchronisationssignal an den Mikrocontroller 902 bereitstellen (z. B. unter Verwendung eines Master-In-Slave-Out-Signals MISO auf der Master-In-Slave-Out-Leitung 950, ohne Einschränkung).
  • 10 ist ein Blockdiagramm eines weiteren Audiosystems 1000 mit einem CODEC 1008 (z. B. einer Audiovorrichtung, ohne Einschränkung), der gemäß verschiedenen Beispielen als ein Talker und als ein Master-Knoten arbeitet. Das Audiosystem 1000 schließt einen Mikrocontroller 1002, einen Codec 1008 und eine Netzwerkvorrichtung 1012 ein. Der Mikrocontroller 1002 ist dem Mikrocontroller 902 von 9A und 9B ähnlich. Zum Beispiel schließt der Mikrocontroller 1002 eine I2S-Schnittstelle 1004 und eine SPI-Master-Schnittstelle 1006 ein, ähnlich der I2S-Schnittstelle 904 und der SPI-Master-Schnittstelle 906, die vorstehend unter Bezugnahme auf 9A und 9B erörtert wurden. Der CODEC 1008 ähnelt dem CODEC 910 von 9B mit der Ausnahme, dass der CODEC 1008 ein serielles Datensignal SD an den Mikrocontroller 1002 bereitstellt, da der CODEC 1008 als ein Talker arbeitend dargestellt ist. Der CODEC 1008 arbeitet auch als I2S-Master-Knoten, ähnlich wie der Sender 102 des Sender-als-Master I2S-Systems 100 von 1. Infolgedessen stellt der CODEC 1008 ein serielles Master-Taktsignal MSCK und ein Master-Rahmenauswahlsignal MFSY an die Netzwerkvorrichtung 1012 (z. B. einen eigenständigen Controller, ohne Einschränkung) bereit. Der CODEC 1008 schließt eine I2S-Schnittstelle 1010 ähnlich der I2S-Schnittstelle 912 von 9A und 9B ein. Der Mikrocontroller 1002 ist als Empfänger arbeitend dargestellt, ähnlich wie der Empfänger 104 von 1.
  • Die Netzwerkvorrichtung 1012 von 10 ist, wie die Netzwerkvorrichtung 914 von 9A und 9B, in Hardware implementiert (im Gegensatz zu Software). Die Netzwerkvorrichtung 1012 schließt eine SPI-Slave-Schnittstelle 1014 ein, die der SPI-Slave-Schnittstelle 916 von 9A und 9B ähnlich ist, die elektrisch mit der SPI-Master-Schnittstelle 1006 des Mikrocontrollers 1002 verbunden ist. Die Netzwerkvorrichtung 1012 schließt einen Zeitstempelteiler 1024 und einen Zeitstempelgenerator 1020 ein, die dem Zeitstempler 928 und dem Zeitstempelteiler 932 von 9A und 9B ähnlich sind. Die Netzwerkvorrichtung 1012 unterscheidet sich jedoch von der Netzwerkvorrichtung 914 von 9A und 9B. Da die Netzwerkvorrichtung 1012 zum Beispiel nicht als I2S-Master-Knoten arbeitet (der CODEC 1008 arbeitet I2S-Master-Knoten), schließt die Netzwerkvorrichtung 1012 keine Schaltung (z. B. den Ereignisgenerator 918 und die PLL 908 von 9A und 9B) zum Zurückgewinnen eines Referenztakts ein (siehe Referenztakt RCLK von 9A und 9B). Auch wenn die Netzwerkvorrichtung 1012 einen I2S-Controller 1022 einschließt, unterscheidet sich der I2S-Controller 1022 von dem I2S-Controller 930 von 9A und 9B.
  • Die Netzwerkvorrichtung 1012 schließt einen I2S-Controller 1022 ein, der ein Freigabegatter EN (Freigabegatter 1018) und ein UND-Gatter „&“ (UND-Gatter 1026) einschließt. Das Freigabegatter 1018 ist konfiguriert, um das serielle Master-Taktsignal MSCK und das Master-Rahmensynchronisationssignal MFSY von dem CODEC 1008 zu empfangen (z. B. über die I2S-Schnittstelle 1010, ohne Einschränkung). Das Freigabegatter 1018 ist auch konfiguriert, um als Reaktion auf einen Auslöser das Bereitstellen des seriellen Taktsignals SCK und des Rahmensynchronisationssignals FSY an den Mikrocontroller 1002 (z. B. über eine serielle Taktleitung 1030 und eine Rahmensynchronisationsleitung 1032 und die I2S-Schnittstelle 1004, ohne Einschränkung) zu beginnen. Die Netzwerkvorrichtung 1012 schließt auch einen Ereignisgenerator 1016 („EG“), einen Zeitstempelgenerator 1020 („TS“) und einen Zeitstempelteiler 1024 („DIV“) ein.
  • Der CODEC 1008 ist konfiguriert, um das serielle Datensignal SD (z. B. einschließlich Daten und Zeitstempeln, ohne Einschränkung) über eine serielle Datenleitung 1028 an den Mikrocontroller 1002 bereitzustellen. Der CODEC 910 ist auch konfiguriert, um das serielle Master-Taktsignal MSCK (z. B. über eine serielle Master-Taktleitung 1036, ohne Einschränkung) und das Master-Rahmensynchronisationssignal MFSY (z. B. über eine Master-Rahmensynchronisationsleitung 1034, ohne Einschränkung, die hierin auch als „Master-Wortauswahlleitung“ bezeichnet werden kann) an das Freigabegatter 1018 des I2S-Controllers 1022 bereitzustellen. Das Freigabegatter 1018 kann sofort oder als Reaktion auf ein Ausgangssignal des UND-Gatters 1026 ausgelöst werden. Insbesondere ist der Ereignisgenerator 1016 konfiguriert, um ein Synchronisationssignal SYNC als Reaktion auf Zeitstempel, die von dem Mikrocontroller 1002 bereitgestellt werden, an die Netzwerkvorrichtung 1012 anzulegen. Der Mikrocontroller 1002 kann die Daten und Zeitstempel von dem CODEC 1008 über das serielle Datensignal SD über die serielle Datenleitung 1028 und die I2S-Schnittstelle 1004 empfangen und die Zeitstempel über die SPI-Master-Schnittstelle 1006, ein MOSI-Signal und die SPI-Slave-Schnittstelle 1014 an den Ereignisgenerator 1016 bereitstellen.
  • Das UND-Gatter 1026 ist konfiguriert, um das Synchronisationssignal SYNC und das Master-Rahmensynchronisationssignal MFSY zu empfangen. Das UND-Gatter 1026 ist konfiguriert, um das Freigabegatter 1018 auszulösen, um das serielle Taktsignal SCK als Reaktion auf eine Anlegung des Synchronisationssignals SYNC und eine Anlegung des von dem CODEC 1008 empfangenen Master-Rahmensynchronisationssignals MFSY an die serielle Taktleitung 1030 bereitzustellen. Dementsprechend ist das Freigabegatter 1018 konfiguriert, um die Bereitstellung des seriellen Taktsignals SCK und des Rahmensynchronisationssignals FSY als Reaktion auf die Anlegung des Synchronisationssignals SYNC von dem Ereignisgenerator 1016 und dem Master-Rahmensynchronisationssignal MFSY (ein Master-Wortauswahlsignal) zu starten.
  • Da das UND-Gatter 1026 seine Ausgabe anlegt, um das Freigabegatter 1018 auszulösen, wenn sowohl das Synchronisationssignal SYNC als auch das Master-Rahmensynchronisationssignal MFSY angelegt sind, werden das Rahmensynchronisationssignal FSY und das von dem Freigabegatter 1018 bereitgestellte serielle Taktsignal SCK mit dem Master-Rahmensynchronisationssignal MFSY und dem seriellen Master-Taktsignal MSCK, die von dem CODEC 1008 bereitgestellt werden, synchronisiert. Sobald der Mikrocontroller 1002 Zeitstempel über das serielle Datensignal SD von dem CODEC 1008 empfängt und die Zeitstempel an den Ereignisgenerator 1016 bereitstellt (z. B. über ein MOSI-Signal von der SPI-Master-Schnittstelle 1006 an die SPI-Slave-Schnittstelle 1014, ohne Einschränkung), wodurch das Synchronisationssignal SYNC ausgelöst wird, startet das Freigabegatter 1018 das Bereitstellen des seriellen Taktsignals SCK und des Rahmensynchronisationssignals FSY an den Mikrocontroller 1002 an der nächsten Flanke des Master-Rahmensynchronisationssignals MFSY (z. B. abfallende Flanke, ohne Einschränkung).
  • Das Audiosystem 1000 kann das Problem lösen, dass der CODEC 1008 im I2S-Master-Modus arbeitet, indem es ermöglicht, dass Takte (z. B. das serielle Taktsignal SCK und das Rahmensynchronisationssignal FSY auf der seriellen Taktleitung 1030 und der Rahmensynchronisationsleitung 1032, ohne Einschränkung), die auf das von dem CODEC 1008 bereitgestellten Master-Rahmensynchronisationssignal MFSY ausgerichtet sind, dazu in der Lage sind, FSY-Zeitstempel mit dem zugehörigen Audio-Sample abgleichen zu können. Das UND-Gatter 1026 stellt sicher, dass das Freigabegatter 1018 erst dann damit beginnt, das serielle Taktsignal SCK und das Rahmensynchronisationssignal FSY an den Mikrocontroller 1002 bereitzustellen, wenn die erste Flanke (z. B. die abfallende Flanke, ohne Einschränkung) des von dem CODEC 1008 bereitgestellten Master-Rahmensynchronisationssignals MFSY nach dem Freigabegatter 1018 bestätigt (z. B. über eine Anlegung des Synchronisationssignals, ohne Einschränkung), dass der Mikrocontroller 1002 mindestens einen ersten Zeitstempel empfangen hat.
  • Die Gatterlatenz kann zeitkritisch sein, wenn das serielle Datensignal SD nicht verzögert werden sollte. Das Freigabegatter 1018 ist konfiguriert, um das serielle Taktsignal SCK und das Rahmensynchronisationssignal FSY über die serielle Taktleitung 1030 bzw. die Rahmensynchronisationsleitung 1032 an den Mikrocontroller 1002 bereitzustellen. Das Freigabegatter 1018 ist auch konfiguriert, um das Rahmensynchronisationssignal FSY an den Zeitstempelteiler 1024 bereitzustellen, und der Zeitstempelgenerator 1020 ist konfiguriert, Zeitstempel zu generieren, die den Audiodaten entsprechen, die in dem seriellen Datensignal SD kommuniziert werden. Die Netzwerkvorrichtung 1012 ist konfiguriert, um die Zeitstempel über die MISO-Leitung an den Mikrocontroller 1002 bereitzustellen.
  • In verschiedenen Beispielen, in denen sich ein I2S-Controller (z. B. der I2S-Controller 1022 von 10, ohne Einschränkung) nicht am Master-Knoten befindet, wie im Audiosystem 1000 von 10, empfängt der I2S-Controller einen externen Takt. Als nicht einschränkendes Beispiel empfängt der I2S-Controller 1022 von 10 das serielle Master-Taktsignal MSCK von dem CODEC 1008. Der I2S-Controller kann eine gewisse Zeitstempelfähigkeit des Rahmensynchronisationssignals FSY bereitstellen und die Zeitstempel (z. B. über direkten Speicherzugriff oder „DMA“, ohne Einschränkung) weiterleiten, sodass die Zeitstempel synchron mit allen eingehenden Audio-Sample- Daten gespeichert werden können. Die Audio-Sample-Daten können auch in Blöcke von Samples unterteilt werden, wobei jeder Block einem einzelnen Zeitstempel entspricht, um die Anzahl von Zeitstempeln zu reduzieren, die eine weitere Verarbeitung erfordern.
  • 11 ist ein Blockdiagramm eines Audiosystemsegments 1100, das eine Netzwerkvorrichtung 1102 einschließt, die gemäß verschiedenen Beispielen in einem Mikrocontroller 1114 implementiert sein kann. Die Netzwerkvorrichtung 1102 kann konfiguriert sein, um einige der Vorgänge durchzuführen, zu deren Durchführung die Netzwerkvorrichtung 914 von 9A und 9B und die Netzwerkvorrichtung 1012 von 10 konfiguriert sind. Außerdem ist die Netzwerkvorrichtung 1102 in Hardware implementiert, im Gegensatz zu Software oder Firmware ähnlich der Netzwerkvorrichtung 914 und der Netzwerkvorrichtung 1012. Die Audiosystemsegmente 1100 sind jedoch in den Mikrocontroller 1114 als Peripherie zu einem Verarbeitungskern (nicht gezeigt) des Mikrocontrollers 1114 implementiert, im Gegensatz zu der Netzwerkvorrichtung 914 und der Netzwerkvorrichtung 1012, die als eigenständige, von ihren jeweiligen Mikrocontrollern getrennte Controller implementiert sind (Mikrocontroller 902 von 9A bzw. Mikrocontroller 1002 von 10).
  • Die Netzwerkvorrichtung 1102 schließt einen Medientaktgenerator 1104 („MCG“), einen Ereignisgenerator 1106 („EG“), einen Zeitstempelgenerator 1108 („TS“), einen Zeitstempelteiler 1110 („DIV“) und eine 12S-Peripherie 1112 ein. Die 12S-Peripherie 1112 ist elektrisch mit einer seriellen Datenleitung 1116, einer seriellen Taktleitung 1118 und einer Rahmensynchronisationsleitung 1120 verbunden. Die 12S-Peripherie 1112 ist konfiguriert, um das serielle Taktsignal SCK (z. B. an einen Codec, ohne Einschränkung) bereitzustellen. Die I2S-Peripherie kann das serielle Datensignal SD und ein Rahmensynchronisationssignal FSY bereitstellen oder empfangen (z. B. an den/von dem Codec, ohne Einschränkung). Die 12S-Peripherie 1112 kann ein Medientaktsignal MCLK empfangen, das von dem Medientaktgenerator 1104 generiert wird.
  • Wenn das Audiosystemsegment 1100 als Talker betrieben wird, kann die I2S-Peripherie das SD-Signal von einem Codec empfangen und dem Zeitstempelteiler 1110 ein FSY'-Signal bereitstellen. Der Zeitstempelgenerator 1108 kann Zeitstempel generieren, die Daten des seriellen Datensignals SD entsprechen. Die 12S-Peripherie 1112 kann die Zeitstempel basierend auf dem Medientakt MCLK synchronisieren.
  • Wenn die Netzwerkvorrichtung 1102 als ein Listener betrieben wird, kann die I2S-Peripherie 1112 ein Synchronisationssignal SYNC empfangen, das von dem Ereignisgenerator 1106 generiert wird. Als Reaktion darauf kann die I2S-Peripherie 1112 das serielle Datensignal SD, das serielle Taktsignal SCK und das Rahmensynchronisationssignal FSY an den Codec bereitstellen.
  • In verschiedenen Beispielen können eine oder mehrere Komponenten, die für das vorstehend beschriebene Audiosystemsegment 1100 erörtert wurden, in Hardware auf demselben Die mit einem Mikrocontroller (d. h. getrennt von einem Verarbeitungskern des Mikrocontrollers) implementiert sein. Eine IEEE 1588-Wallclock und eine PLL können auch auf demselben Die implementiert sein.
  • Der I2S kann direkt vom Medientaktgenerator 1104 als interne Taktquelle getaktet werden. Die Funktionen der I2S-Controller von 9A, 9B und 10 können in die I2S-Peripherie 1112 des Audiosystemsegments 1100 integriert werden. Zum Beispiel kann der Medientaktgenerator 1104 das Medientaktsignal MCK direkt an die I2S-Peripherie 1112 übermitteln, und der Zeitstempelgenerator 1108 kann an einen FSY`-Ausgang des I2S-Peripheriegeräts 1112 anschließbar sein.
  • In verschiedenen anderen Beispielen kann die Synchronisationslogik direkt in die I2S-Peripherie eines Mikrocontrollers integriert werden. Eine solche I2S-Peripherie (z. B. ein I2S-Sender, ein I2S-Empfänger, ein I2S-Controller, ohne Einschränkung) im Master-Modus (der Mikrocontroller ist die Taktquelle) kann dann den synchronen Stream zu einem konfigurierbaren, dedizierten Zeitpunkt starten. Dies kann durch eine Software-Zwischenlösung gehandhabt werden, was einige zusätzliche Unsicherheiten und die Erhöhung der Softwarekomplexität mit sich bringt.
  • 12 ist ein Zustandsflussdiagramm des Audiosystemsegments 1100 von 11 gemäß verschiedenen Beispielen. Die I2S-Peripherie 1112 (11) wird durch eine Synchronisationszustandsmaschine erweitert. In einem Anfangszustand INIT 1204 ist die I2S-Peripherie 1112 (einschließlich DMA und Ereignisgenerator 1106) konfiguriert, um in einen Synchronisationszustand SYNC 1206 zu wechseln. Im Synchronisationszustand SYNC 1206 sind Ausgänge aktiv, aber das serielle Taktsignal SCK wird nicht ausgeführt, bis der Ereignisgenerator 1106 einen Wechsel in den Sendezustand TRX 1202 auslöst. Im Sendezustand TRX 1202 werden das serielle Taktsignal SCK und das Rahmensynchronisationssignal FSY und die Datenübertragung ausgeführt. Die Ausgabe des synchronisierten (gattergesteuerten) Rahmensynchronisationssignals FSY führt zu einem Fall einer Eingabe einer externen Taktquelle (z. B. das Rahmensynchronisationssignal FSY, ohne Einschränkung).
  • AUSFÜHRUNGSBEISPIELE
  • Es folgt eine nicht erschöpfende, nicht einschränkende Liste von Beispielen. Bei nicht jedem der nachstehend aufgeführten Beispiele wird ausdrücklich und einzeln angegeben, dass es mit allen anderen der nachstehend aufgeführten Beispiele und vorstehend erörterten Beispiele kombinierbar ist. Es ist jedoch vorgesehen, dass diese Beispiele mit allen anderen Beispielen kombinierbar sind, es sei denn, es wäre für Durchschnittsfachleute offensichtlich, dass die Beispiele nicht kombinierbar sind.
  • Beispiel 1: Audiosystem, umfassend: eine Wortauswahlleitung einer digitalen Audioschnittstelle; eine serielle Taktleitung der digitalen Audioschnittstelle, und Hardwareschaltung, die konfiguriert ist zum: Bereitstellen eines Wortauswahlsignals an die Wortauswahlleitung, wobei das Wortauswahlsignal konfiguriert ist, um Kanäle eines seriellen Datensignals anzuzeigen, die einer seriellen Datenleitung der digitalen Audioschnittstelle bereitgestellt werden; Bereitstellen eines seriellen Taktsignals an die serielle Taktleitung; und Synchronisieren des seriellen Taktsignals mit einem Taktreferenz-Stream eines über eine Netzwerkschnittstelle kommunizierten Audio-Streams.
  • Beispiel 2: Audiosystem von Beispiel 1, wobei die Hardwareschaltung ein Freigabegatter einschließt, das konfiguriert ist, um die Bereitstellung des seriellen Taktsignals als Reaktion auf eine Anlegung eines Synchronisationssignals zu starten.
  • Beispiel 3: Audiosystem von Beispiel 2, wobei die Hardwareschaltung einen Ereignisgenerator einschließt, der konfiguriert ist, um das Synchronisationssignal als Reaktion auf einen Präsentationszeitstempel anzulegen.
  • Beispiel 4: Audiosystem gemäß einem der Beispiele 1-3, wobei die Hardwareschaltung konfiguriert ist, um das serielle Taktsignal zumindest teilweise basierend auf einer synchronisierten Zeitbasis zu synchronisieren, wobei die synchronisierte Zeitbasis eine Wallclock-Zeit einschließt.
  • Beispiel 5: Audiosystem gemäß einem der Beispiele 1-4, wobei die Hardwareschaltung einen seriellen Taktteiler einschließt, der elektrisch mit der seriellen Taktleitung und der Wortauswahlleitung verbunden ist, wobei der serielle Taktteiler konfiguriert ist, um das an die serielle Taktleitung bereitgestellte serielle Taktsignal zu teilen, um das Wortauswahlsignal an die Wortauswahlleitung bereitzustellen.
  • Beispiel 6: Audiosystem gemäß einem der Beispiele 1-5, wobei die Hardwareschaltung einen Zeitstempelteiler einschließt, der konfiguriert ist, um das Wortauswahlsignal auf eine Rate zu teilen, mit der Zeitstempel durch das serielle Datensignal bereitgestellt werden.
  • Beispiel 7: Audiosystem gemäß einem der Beispiele 1-6, umfassend einen eigenständigen Controller einschließlich der Hardwareschaltung.
  • Beispiel 8: Audiosystem von Beispiel 7, umfassend: eine Audiovorrichtung; und einen Mikrocontroller, der über die serielle Datenleitung der digitalen Audioschnittstelle mit der Audiovorrichtung elektrisch verbunden ist, wobei der Mikrocontroller und die Audiovorrichtung konfiguriert sind, um das Wortauswahlsignal und das serielle Taktsignal, die von der Hardwareschaltung bereitgestellt werden, zu empfangen.
  • Beispiel 9: Audiosystem von Beispiel 8, wobei der eigenständige Controller konfiguriert ist, um mit dem Mikrocontroller über eine periphere Schnittstelle als Peripherie zu dem Mikrocontroller zu kommunizieren.
  • Beispiel 10: Audiosystem gemäß einem der Beispiele 8 und 9, ferner umfassend eine Phasenregelschleife, die konfiguriert ist, um ein Referenztaktsignal zu empfangen und ein Medientaktsignal an einen Medientaktteiler der Hardwareschaltung bereitzustellen.
  • Beispiel 11: Audiosystem gemäß einem der Beispiele 8 und 9, wobei: die Audiovorrichtung konfiguriert ist, um als Master-Talker-Knoten zu arbeiten; der eigenständige Controller konfiguriert ist, um ein serielles Master-Taktsignal und ein Master-Wortauswahlsignal von der Audiovorrichtung zu empfangen; die Hardwareschaltung ein Freigabegatter einschließt, das konfiguriert ist, um die Bereitstellung des seriellen Taktsignals als Reaktion auf Anlegungen eines Synchronisationssignals von einem Ereignisgenerator und des Master-Wortauswahlsignals zu starten.
  • Beispiel 12: Audiosystem gemäß einem der Beispiele 1-6, das einen Mikrocontroller umfasst, der die Hardwareschaltung einschließt, die als eine Peripherie zu einem Verarbeitungskern des Mikrocontrollers implementiert ist.
  • Beispiel 13: Schaltung zum Steuern der Zeitsteuerung von Kommunikationen, wobei die Schaltung Folgendes umfasst: eine serielle Taktleitung; ein Freigabegatter, das elektrisch mit der seriellen Taktleitung verbunden ist, wobei das Freigabegatter konfiguriert ist, um die Bereitstellung eines seriellen Taktsignals an die serielle Taktleitung zumindest teilweise basierend auf einer Anlegung eines Synchronisationssignals zu starten; und einen Ereignisgenerator, der konfiguriert ist, um das Synchronisationssignal als Reaktion auf einen Präsentationszeitstempel aus einem seriellen Datensignal anzulegen, wobei der Präsentationszeitstempel mit einer synchronisierten Zeitbasis in Beziehung steht, wobei das Freigabegatter und der Ereignisgenerator unter Verwendung einer Hardwareschaltung implementiert sind.
  • Beispiel 14: Schaltung aus Beispiel 13, wobei die Hardwareschaltung innerhalb eines Mikrocontrollers als eine Peripherie zu einem Verarbeitungskern des Mikrocontrollers implementiert ist.
  • Beispiel 15: Schaltung von Beispiel 13, wobei die Hardwareschaltung innerhalb eines eigenständigen Controllers implementiert ist, der von einem Mikrocontroller getrennt ist.
  • Beispiel 16: Schaltung von Beispiel 15, umfassend eine Kommunikationsschnittstelle, die konfiguriert ist, um den eigenständigen Controller elektrisch mit dem Mikrocontroller zu verbinden, wobei der Ereignisgenerator konfiguriert ist, um den Präsentationszeitstempel von dem Mikrocontroller über die Kommunikationsschnittstelle zu empfangen.
  • Beispiel 17: Schaltung gemäß einem der Beispiele 13-16, umfassend: eine Wortauswahlleitung, die konfiguriert ist, um ein Wortauswahlsignal zu leiten; und einen Zeitstempelteiler, der elektrisch mit der Wortauswahlleitung verbunden ist, wobei der Zeitstempelteiler konfiguriert ist, um das Wortauswahlsignal auf eine Rate zu teilen, mit der Zeitstempel durch das serielle Datensignal bereitgestellt werden.
  • Beispiel 18: Schaltung gemäß einem der Beispiele 13-17, umfassend: eine Master-Wortauswahlleitung, die konfiguriert ist, um ein Master-Wortauswahlsignal von einem Master-Knoten an das Freigabegatter zu übermitteln; und ein UND-Gatter, das konfiguriert ist, um das Synchronisationssignal und das Master-Freigabegatter zu empfangen, wobei das UND-Gatter konfiguriert ist, um das Freigabegatter auszulösen, um das serielle Taktsignal an die serielle Taktleitung als Reaktion auf die Anlegung des Synchronisationssignals und eine Anlegung des Wortauswahlsignals bereitzustellen.
  • Beispiel 19: Schaltung gemäß einem der Beispiele 13-18, wobei das Freigabegatter konfiguriert ist, um das serielle Taktsignal als Reaktion auf die Anlegung des Synchronisationssignals an die serielle Taktleitung bereitzustellen.
  • Beispiel 20: Schaltung gemäß einem der Beispiele 13, 15-17 und 19, wobei die Hardwareschaltung konfiguriert ist, um das serielle Taktsignal und ein Wortauswahlsignal als einen eigenständigen Controller und als einen Master-Knoten bereitzustellen.
  • Beispiel 21: Audiosystem, umfassend: eine Wortauswahlleitung einer digitalen Audioschnittstelle; eine serielle Taktleitung der digitalen Audioschnittstelle; und Hardwareschaltung, die konfiguriert ist zum: Bereitstellen eines Wortauswahlsignals an die Wortauswahlleitung, wobei das Wortauswahlsignal konfiguriert ist, um Kanäle eines seriellen Datensignals anzuzeigen, die einer seriellen Datenleitung der digitalen Audioschnittstelle bereitgestellt werden; Bereitstellen eines seriellen Taktsignals an die serielle Taktleitung; und Synchronisieren, zumindest teilweise basierend auf einer synchronisierten Zeitbasis, des seriellen Taktsignals mit einem Taktreferenz-Stream eines über eine Netzwerkschnittstelle kommunizierten Audio-Streams.
  • Beispiel 22: Audiosystem von Beispiel 21, ferner umfassend einen eigenständigen Controller einschließlich der Hardwareschaltung.
  • Beispiel 23: Audiosystem von Beispiel 22, ferner umfassend: eine Audiovorrichtung; und einen Mikrocontroller, der über die serielle Datenleitung der digitalen Audioschnittstelle mit der Audiovorrichtung elektrisch verbunden ist, wobei der Mikrocontroller konfiguriert ist, um das Wortauswahlsignal und das serielle Taktsignal, die von der Hardwareschaltung bereitgestellt werden, zu empfangen.
  • Beispiel 24: Audiosystem von Beispiel 23, wobei: der Mikrocontroller konfiguriert ist, um das serielle Datensignal als Reaktion auf den über die Netzwerkschnittstelle empfangenen Audio-Stream zu erzeugen; der Mikrocontroller konfiguriert ist, um das serielle Datensignal über die serielle Datenleitung an die Audiovorrichtung bereitzustellen; und die Hardwareschaltung konfiguriert ist, um einen Startpunkt zu synchronisieren, an dem der Audio-Stream durch die Audiovorrichtung präsentiert werden soll.
  • Beispiel 25: Audiosystem von Beispiel 23, wobei: die Audiovorrichtung konfiguriert ist, um das serielle Datensignal über die serielle Datenleitung an den Mikrocontroller bereitzustellen; und der Mikrocontroller konfiguriert ist, um den Taktreferenz-Stream und den Audio-Stream an die Netzwerkschnittstelle bereitzustellen.
  • Beispiel 26: Audiosystem gemäß einem der Beispiele 23-25, wobei der eigenständige Controller konfiguriert ist, um mit dem Mikrocontroller über eine periphäre Schnittstelle als eine Peripherie zu dem Mikrocontroller zu kommunizieren.
  • Beispiel 27: Audiosystem gemäß einem der Beispiele 23-26, wobei der eigenständige Controller ein Freigabegatter einschließt, das konfiguriert ist, um den seriellen Takt zu aktivieren.
  • Beispiel 28: Audiosystem von Beispiel 27, wobei das Freigabegatter konfiguriert ist, um durch einen Ereignisgenerator ausgelöst zu werden.
  • Beispiel 29: Audiosystem gemäß einem der Beispiele 23-28, ferner umfassend eine Phasenregelschleife, die konfiguriert ist, um einen Referenztakt zu empfangen und einen Medientakt an einen Taktteiler der Hardwareschaltung bereitzustellen.
  • Beispiel 30: Audiosystem gemäß einem der Beispiele 23-29, wobei die Audiovorrichtung auch konfiguriert ist, um das serielle Taktsignal und das Wortauswahlsignal, die von der Hardwareschaltung bereitgestellt werden, zu empfangen.
  • Beispiel 31: Audiosystem von Beispiel 23, wobei: die Audiovorrichtung konfiguriert ist, um das serielle Taktsignal und das Wortauswahlsignal an die Hardwareschaltung bereitzustellen; und die Hardwareschaltung konfiguriert ist, um das serielle Taktsignal und das Wortauswahlsignal an den Mikrocontroller bereitzustellen, indem das serielle Taktsignal und das Wortauswahlsignal, die von der Audiovorrichtung empfangen werden, an die serielle Taktleitung bzw. die Wortauswahlleitung weitergeleitet werden.
  • Beispiel 32: Audiosystem aus Beispiel 21, ferner umfassend einen Mikrocontroller, der die Hardwareschaltung als einen Peripherie-Controller einschließt.
  • Beispiel 33: Audiosystem von Beispiel 32, ferner umfassend eine Audiovorrichtung, die über die Wortauswahlleitung und die serielle Taktleitung elektrisch mit der Hardwareschaltung verbunden ist.
  • Beispiel 34: Audiosystem gemäß einem der Beispiele 32 und 33, wobei der Mikrocontroller einen Medientaktgenerator, einen Ereignisgenerator einschließlich einer Phasenregelschleife und einen Zeitstempelgenerator einschließt.
  • Beispiel 35: Audiosystem gemäß einem der Beispiele 21-34, wobei die synchronisierte Taktbasis eine Wallclock-Zeit umfasst.
  • Beispiel 36: Audiosystem gemäß einem der Beispiele 21-35, wobei der Taktreferenz-Stream und der Audio-Stream einen International Electrical and Electronics (IEEE)-1722-Stream umfassen.
  • Beispiel 37: Audiosystem gemäß einem der Beispiele 21-36, wobei die Netzwerkschnittstelle eine drahtgebundene Netzwerkschnittstelle einschließt.
  • Beispiel 38: Audiosystem von Beispiel 37, wobei die drahtgebundene Netzwerkschnittstelle eine Ethernet-Schnittstelle einschließt.
  • Beispiel 39: Audiosystem gemäß einem der Beispiele 21-38, wobei das Audiosystem ein Automobil-Audiosystem einschließt.
  • Beispiel 40: Audiosystem gemäß einem der Beispiele 21-39, wobei das Audiosystem ein Surround-Sound-System einschließt.
  • ABSCHLIESSENDE ERKLÄRUNG
  • Wie in der vorliegenden Offenbarung verwendet, können die Begriffe „Modul“ oder „Komponente“ auf spezifische Hardware-Implementierungen Bezug nehmen, die konfiguriert sind, um die Aktionen des Moduls oder der Komponente oder der Softwareobjekte oder der Softwareroutinen, die auf Universalhardware (z. B. computerlesbaren Medien, Verarbeitungsvorrichtungen, ohne Einschränkung) des Rechensystems gespeichert oder durch diese ausgeführt werden können, durchzuführen. In einigen Beispielen können die verschiedenen Komponenten, Module, Engines und Dienste, die in der vorliegenden Offenbarung beschrieben sind, als Objekte oder Prozesse implementiert werden, die auf dem Rechensystem ausgeführt werden (z. B. als separate Threads, ohne darauf beschränkt zu sein). Obwohl einige der in der vorliegenden Offenbarung beschriebenen Systeme und Verfahren allgemein als in Software implementiert (gespeichert auf oder ausgeführt durch Universalhardware) beschrieben sind, sind spezifische Hardware-Implementierungen oder eine Kombination von Software und spezifischen Hardware-Implementierungen ebenfalls möglich und werden in Betracht gezogen.
  • Wie in der vorliegenden Offenbarung verwendet, kann der Begriff „Kombination“ in Bezug auf eine Vielzahl von Elementen eine Kombination aller Elemente oder eine beliebige von verschiedenen unterschiedlichen Unterkombinationen einiger der Elemente einschließen. Zum Beispiel kann die Phrase „A, B, C, D oder Kombinationen davon“ Bezug nehmen auf eines von A, B, C oder D; die Kombination von jedem von A, B, C und D; und jede Unterkombination von A, B, C oder D, wie A, B und C; A, B und D; A, C und D; B, C und D; A und B; A und C; A und D; B und C; B und D; oder C und D.
  • Begriffe, die in der vorliegenden Offenbarung und insbesondere in den beiliegenden Ansprüchen (z. B. Hauptteilen der beiliegenden Ansprüche, ohne darauf beschränkt zu sein) verwendet werden, sind allgemein als „offene“ Begriffe gedacht (z. B. sollte der Begriff „einschließlich“ als „einschließlich, ohne darauf beschränkt zu sein“ interpretiert werden, der Begriff „aufweisend“ sollte als „mindestens aufweisend“ interpretiert werden, der Begriff „schließt ein“ sollte als „schließt ein, ohne darauf beschränkt zu sein“ interpretiert werden, ohne darauf beschränkt zu sein).
  • Darüber hinaus wird, wenn eine bestimmte Anzahl von einer eingeführten Anspruchsangabe beabsichtigt ist, diese Absicht ausdrücklich im Anspruch angegeben, und in Ermangelung dieser Nennung liegt keine solche Absicht vor. Als Verständnishilfe können zum Beispiel die folgenden beiliegenden Ansprüche die Verwendung der einleitenden Phrasen „mindestens einer“ und „einer oder mehrere“ zur Einführung von Anspruchsaufzählungen enthalten. Die Verwendung solcher Formulierungen sollte jedoch nicht dahin gehend ausgelegt werden, um zu implizieren, dass die Einführung einer Anspruchsangabe durch die unbestimmten Artikel „ein“ oder „eine“ einen bestimmten Anspruch, der eine solche eingeführte Anspruchsangabe enthält, auf Beispiels beschränkt, die nur eine solche Angabe enthalten, selbst wenn derselbe Anspruch die einleitenden Phrasen „eine/r/s oder mehrere“ oder „zumindest eine/r/s“ und unbestimmte Artikel wie „ein“ und/oder „eine“ einschließt (z. B. soll „ein“ und/oder „eine“ so interpretiert werden, dass es „zumindest ein/e“ oder „ein/e oder mehrere“ bedeutet); gleiches gilt für die Verwendung von bestimmten Artikeln, die zur Einführung von Anspruchsangaben verwendet werden.
  • Auch wenn eine bestimmte Anzahl einer eingeführten Anspruchsangabe explizit angegeben wird, wird der Fachmann zusätzlich erkennen, dass eine solche Angabe dahin gehend interpretiert werden sollte, dass sie mindestens die angegebene Anzahl bedeutet (z. B. bedeutet die bloße Angabe von „zwei Angaben“ ohne andere Modifikatoren mindestens zwei Angaben oder zwei oder mehr Angaben, ohne Einschränkung). Des Weiteren soll in den Fällen, in denen eine Konvention analog zu „mindestens eine/r/s von A, B und C, ohne darauf beschränkt zu sein“ oder „eine/r/s oder mehrere von A, B und C, ohne darauf beschränkt zu sein“ verwendet wird, eine solche Konstruktion allgemein A allein, B allein, C allein, A und B zusammen, A und C zusammen, Bund C zusammen, oder A, B und C zusammen, ohne darauf beschränkt zu sein, einschließen.
  • Ferner sollte jedes disjunktive Wort oder jede disjunktive Formulierung, das bzw. die zwei oder mehr alternative Begriffe darstellt, sei es in der Beschreibung, den Ansprüchen oder den Zeichnungen, dahingehend verstanden werden, dass die Möglichkeit des Einschließens eines der Begriffe, des einen oder des anderen Begriffs oder beider Begriffe in Betracht gezogen wird. Zum Beispiel sollte die Formulierung „A oder B“ so verstanden werden, dass sie die Möglichkeiten „A“ oder „B“ oder „A und B“ einschließt.
  • Obwohl die vorliegende Offenbarung hierin in Bezug auf bestimmte veranschaulichte Beispiele beschrieben wurde, wird der Durchschnittsfachmann auf dem Gebiet erkennen und verstehen, dass die vorliegende Erfindung nicht darauf beschränkt ist. Vielmehr können viele Ergänzungen, Weglassungen und Modifikationen an den veranschaulichten und beschriebenen Beispielen vorgenommen werden, ohne vom Schutzumfang der Erfindung, wie er nachfolgend zusammen mit ihren rechtlichen Äquivalenten beansprucht wird, abzuweichen. Darüber hinaus können Merkmale eines Beispiels mit Merkmalen eines anderen Beispiels kombiniert werden, aber dennoch noch innerhalb des Schutzumfangs der Erfindung enthalten sein, der durch den Erfinder in Betracht gezogen wird.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62/705653 [0001]

Claims (20)

  1. Audiosystem, umfassend: eine Wortauswahlleitung einer digitalen Audioschnittstelle; eine serielle Taktleitung der digitalen Audioschnittstelle; und Hardwareschaltung, die konfiguriert ist zum: Bereitstellen eines Wortauswahlsignals an die Wortauswahlleitung, wobei das Wortauswahlsignal konfiguriert ist, um Kanäle eines seriellen Datensignals anzuzeigen, die einer seriellen Datenleitung der digitalen Audioschnittstelle bereitgestellt werden; Bereitstellen eines seriellen Taktsignals an die serielle Taktleitung; und Synchronisieren des seriellen Taktsignals mit einem Taktreferenz-Stream eines über eine Netzwerkschnittstelle kommunizierten Audio-Streams.
  2. Audiosystem nach Anspruch 1, wobei die Hardwareschaltung ein Freigabegatter einschließt, das konfiguriert ist, um die Bereitstellung des seriellen Taktsignals als Reaktion auf eine Anlegung eines Synchronisationssignals zu starten.
  3. Audiosystem nach Anspruch 2, wobei die Hardwareschaltung einen Ereignisgenerator einschließt, der konfiguriert ist, um das Synchronisationssignal als Reaktion auf einen Präsentationszeitstempel anzulegen.
  4. Audiosystem nach Anspruch 1, wobei die Hardwareschaltung konfiguriert ist, um das serielle Taktsignal zumindest teilweise basierend auf einer synchronisierten Zeitbasis zu synchronisieren, wobei die synchronisierte Zeitbasis eine Wallclock-Zeit einschließt.
  5. Audiosystem nach Anspruch 1, wobei die Hardwareschaltung einen seriellen Taktteiler einschließt, der elektrisch mit der seriellen Taktleitung und der Wortauswahlleitung verbunden ist, wobei der serielle Taktteiler konfiguriert ist, um das an die serielle Taktleitung bereitgestellte serielle Taktsignal zu teilen, um das Wortauswahlsignal an die Wortauswahlleitung bereitzustellen.
  6. Audiosystem nach Anspruch 1, wobei die Hardwareschaltung einen Zeitstempelteiler einschließt, der konfiguriert ist, um das Wortauswahlsignal auf eine Rate zu teilen, mit der Zeitstempel durch das serielle Datensignal bereitgestellt werden.
  7. Audiosystem nach Anspruch 1, umfassend einen eigenständigen Controller einschließlich der Hardwareschaltung.
  8. Audiosystem nach Anspruch 7, umfassend: eine Audiovorrichtung; und einen Mikrocontroller, der über die serielle Datenleitung der digitalen Audioschnittstelle mit der Audiovorrichtung elektrisch verbunden ist, wobei der Mikrocontroller und die Audiovorrichtung konfiguriert sind, um das Wortauswahlsignal und das serielle Taktsignal, die von der Hardwareschaltung bereitgestellt werden, zu empfangen.
  9. Audiosystem nach Anspruch 8, wobei der eigenständige Controller konfiguriert ist, um mit dem Mikrocontroller über eine periphäre Schnittstelle als eine Peripherie zu dem Mikrocontroller zu kommunizieren.
  10. Audiosystem nach Anspruch 8, ferner umfassend eine Phasenregelschleife, die konfiguriert ist, um ein Referenztaktsignal zu empfangen und ein Medientaktsignal an einen Medientaktteiler der Hardwareschaltung bereitzustellen.
  11. Audiosystem nach Anspruch 8, wobei: die Audiovorrichtung konfiguriert ist, um als ein Master-Talker-Knoten zu arbeiten; der eigenständige Controller konfiguriert ist, um ein serielles Master-Taktsignal und ein Master-Wortauswahlsignal von der Audiovorrichtung zu empfangen; die Hardwareschaltung ein Freigabegatter einschließt, das konfiguriert ist, um die Bereitstellung des seriellen Taktsignals als Reaktion auf Anlegungen eines Synchronisationssignals von einem Ereignisgenerator und des Master-Wortauswahlsignals zu starten.
  12. Audiosystem nach Anspruch 1, umfassend einen Mikrocontroller einschließlich der Hardwareschaltung, die als eine Peripherie zu einem Verarbeitungskern des Mikrocontrollers implementiert ist.
  13. Schaltung zum Steuern der Zeitsteuerung von Kommunikationen, wobei die Schaltung Folgendes umfasst: eine serielle Taktleitung; ein Freigabegatter, das elektrisch mit der seriellen Taktleitung verbunden ist, wobei das Freigabegatter konfiguriert ist, um die Bereitstellung eines seriellen Taktsignals an die serielle Taktleitung zumindest teilweise basierend auf einer Anlegung eines Synchronisationssignals zu starten; und einen Ereignisgenerator, der konfiguriert ist, um das Synchronisationssignal als Reaktion auf einen Präsentationszeitstempel aus einem seriellen Datensignal anzulegen, wobei der Präsentationszeitstempel mit einer synchronisierten Zeitbasis in Beziehung steht, wobei das Freigabegatter und der Ereignisgenerator unter Verwendung einer Hardwareschaltung implementiert sind.
  14. Schaltung nach Anspruch 13, wobei die Hardwareschaltung innerhalb eines Mikrocontrollers als eine Peripherie zu einem Verarbeitungskern des Mikrocontrollers implementiert ist.
  15. Schaltung nach Anspruch 13, wobei die Hardwareschaltung innerhalb eines eigenständigen Controllers implementiert ist, der von einem Mikrocontroller getrennt ist.
  16. Schaltung nach Anspruch 15, umfassend eine Kommunikationsschnittstelle, die konfiguriert ist, um den eigenständigen Controller elektrisch mit dem Mikrocontroller zu verbinden, wobei der Ereignisgenerator konfiguriert ist, um den Präsentationszeitstempel von dem Mikrocontroller über die Kommunikationsschnittstelle zu empfangen.
  17. Schaltung nach Anspruch 13, umfassend: eine Wortauswahlleitung, die konfiguriert ist, um ein Wortauswahlsignal zu leiten; und einen Zeitstempelteiler, der elektrisch mit der Wortauswahlleitung verbunden ist, wobei der Zeitstempelteiler konfiguriert ist, um das Wortauswahlsignal auf eine Rate zu teilen, mit der Zeitstempel durch das serielle Datensignal bereitgestellt werden.
  18. Schaltung nach Anspruch 13, umfassend: eine Master-Wortauswahlleitung, die konfiguriert ist, um ein Master-Wortauswahlsignal von einem Master-Knoten an das Freigabegatter zu übermitteln; und ein UND-Gatter, das konfiguriert ist, um das Synchronisationssignal und das Master-Freigabegatter zu empfangen, wobei das UND-Gatter konfiguriert ist, um das Freigabegatter auszulösen, um das serielle Taktsignal an die serielle Taktleitung als Reaktion auf die Anlegung des Synchronisationssignals und eine Anlegung des Wortauswahlsignals bereitzustellen.
  19. Schaltung nach Anspruch 13, wobei das Freigabegatter konfiguriert ist, um das serielle Taktsignal als Reaktion auf die Anlegung des Synchronisationssignals an die serielle Taktleitung bereitzustellen.
  20. Schaltung nach Anspruch 13, wobei die Hardwareschaltung konfiguriert ist, um das serielle Taktsignal und ein Wortauswahlsignal als einen eigenständigen Controller und als einen Master-Knoten bereitzustellen.
DE112021003685.8T 2020-07-09 2021-07-09 Zeitsynchronisierte hardware-controller und verwandte audiosysteme und schaltungen Pending DE112021003685T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062705653P 2020-07-09 2020-07-09
US62/705,653 2020-07-09
PCT/US2021/070857 WO2022011397A1 (en) 2020-07-09 2021-07-09 Time-synchronized hardware controllers and related audio systems and circuitry

Publications (1)

Publication Number Publication Date
DE112021003685T5 true DE112021003685T5 (de) 2023-04-27

Family

ID=77265359

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021003685.8T Pending DE112021003685T5 (de) 2020-07-09 2021-07-09 Zeitsynchronisierte hardware-controller und verwandte audiosysteme und schaltungen

Country Status (6)

Country Link
US (1) US20220013149A1 (de)
JP (1) JP2023532955A (de)
KR (1) KR20230025902A (de)
CN (1) CN115769186A (de)
DE (1) DE112021003685T5 (de)
WO (1) WO2022011397A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11985218B2 (en) * 2021-08-27 2024-05-14 Harman International Industries, Incorporated Media clock recovery and trigger

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9512068D0 (en) * 1995-06-14 1995-08-09 Thomson Consumer Electronics Bus and interface system for consumer digital equipment
US5513148A (en) * 1994-12-01 1996-04-30 Micron Technology Inc. Synchronous NAND DRAM architecture
US6611537B1 (en) * 1997-05-30 2003-08-26 Centillium Communications, Inc. Synchronous network for digital media streams
JP4120440B2 (ja) * 2003-03-31 2008-07-16 ソニー株式会社 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
JP5149012B2 (ja) * 2004-11-18 2013-02-20 ナショナル・ユニバーシティ・オブ・アイルランド・ガルウェイ ネットワーク上のマルチチャネルスピーカの同期
US20070143801A1 (en) * 2005-12-20 2007-06-21 Madonna Robert P System and method for a programmable multimedia controller
TWM324819U (en) * 2007-06-29 2008-01-01 Tenx Technology Inc Computer interface controller for portable plug-and-play peripherals
GB2463663A (en) * 2008-09-19 2010-03-24 Data Conversion Systems Ltd Computer audio interface unit which generates a word clock and computer synchronization based on an independent reference signal
US8428045B2 (en) * 2010-03-16 2013-04-23 Harman International Industries, Incorporated Media clock recovery
KR101780422B1 (ko) * 2010-11-15 2017-09-22 삼성전자주식회사 불휘발성 메모리 장치, 그것의 읽기 방법, 그리고 그것을 포함하는 메모리 시스템
EP2615558B1 (de) * 2012-01-13 2018-04-18 Dialog Semiconductor B.V. Schaltungen und Verfahren zur Reduzierung der Anschlussstiftzahl einer Einzelkanalvorrichtung mit einer seriellen Mehrkanalschnittstelle
US9426196B2 (en) * 2013-01-04 2016-08-23 Qualcomm Incorporated Live timing for dynamic adaptive streaming over HTTP (DASH)
US9429980B2 (en) * 2013-03-14 2016-08-30 Microchip Technology Incorporated Flexible clocking for audio sample rate converter in a USB system
US9354658B2 (en) * 2014-05-09 2016-05-31 Apple Inc. Method for asynchronous gating of signals between clock domains
US20160006526A1 (en) * 2014-07-03 2016-01-07 Qualcomm Incorporated Systems and methods of network clock comparison
CN105450384A (zh) * 2015-12-10 2016-03-30 中国能源建设集团广东省电力设计研究院有限公司 通信系统同步时钟对时装置
US20180285292A1 (en) * 2017-03-28 2018-10-04 Qualcomm Incorporated System and method of sending data via additional secondary data lines on a bus
WO2019136076A1 (en) * 2018-01-05 2019-07-11 Summit Wireless Technologies, Inc. Software based audio timing and synchronization

Also Published As

Publication number Publication date
WO2022011397A1 (en) 2022-01-13
US20220013149A1 (en) 2022-01-13
CN115769186A (zh) 2023-03-07
JP2023532955A (ja) 2023-08-01
KR20230025902A (ko) 2023-02-23

Similar Documents

Publication Publication Date Title
EP1825620B1 (de) Synchronisationsmodul
EP1875641B1 (de) Vorrichtung zur synchronisation zweier bussysteme sowie anordnung aus zwei bussystemen
DE112015004473T5 (de) Bestätigen der datengenauigkeit in einem verteilten steuerungssystem
DE102013226977B3 (de) Kommunikationsknoten für ein paketvermitteltes Datennetzwerk und Verfahren zu dessen Betrieb
DE102007044470A1 (de) Mechanismus, um eine Verzögerung von Netzwerkelementen transparent für IEEE-1588-Protokolle zu machen
DE102012223307B4 (de) Synchronisieren von Datenpaketen in einem Datenkommunikationssystem eines Fahrzeugs
DE212017000244U1 (de) Systeme und Techniken zur Phasensynchronisation von lokalen Oszillatorpfaden in oszillatorbetriebenen Schaltungen
DE112020003973T5 (de) Ethernet-schnittstelle und zugehörige systeme, verfahren und vorrichtungen
DE112020003983T5 (de) Schnittstelle für verbesserten medienzugriff und zugehörige systeme, verfahren und vorrichtungen
DE112020003976T5 (de) Ethernet-schnittstelle und zugehörige systeme, verfahren und vorrichtungen
DE112021003685T5 (de) Zeitsynchronisierte hardware-controller und verwandte audiosysteme und schaltungen
DE102019107810A1 (de) Dynamische hystereseschaltung
EP3864780B1 (de) Verfahren zum betreiben eines netzwerkteilnehmers in einem automatisierungskommunikationsnetzwerk
DE102017003506B4 (de) Mehrfach-Protokoll- und Mehrfach-Datenraten-Kommunikation
DE102014105211A1 (de) Verfahren zum Betreiben eines Teilnehmers eines Kommunikationsnetzwerks
DE112020006396T5 (de) Synchronisierung von sequenznummern in einem netzwerk
DE102014101141A1 (de) Empfängerarchitektur
DE3688269T2 (de) Taktsynchronisierer fuer zugriffsschnittstelle.
EP2932663A1 (de) Synchronisieren von datenpaketen in einem datenkommunikationssystem eines fahrzeugs
WO2019016299A1 (de) Zeitstempeleinheit und kommunikationssteuereinheit für eine teilnehmerstation eines kommunikationsnetzwerks
DE102023124174A1 (de) Verbesserte ethernet-zeitstempelung an rgmii unter verwendung von existierender dll
DE102023121505A1 (de) Synchrone ausrichtung mehrerer hochgeschwindigkeitsteiler
EP0898394B1 (de) Verfahren und Vorrichtung zur Synchronisation zweier Taktsignale und Signalwandler
DE68906504T2 (de) Verfahren und apparat fuer stabilisierte datenuebertragung.
DE10244978A1 (de) Verfahren und System zur Synchronisation von Zeitgebern für die Gesprächszeitmessung

Legal Events

Date Code Title Description
R012 Request for examination validly filed