JP2023532955A - 時間同期されたハードウェアコントローラ並びに関連するオーディオシステム及び回路 - Google Patents

時間同期されたハードウェアコントローラ並びに関連するオーディオシステム及び回路 Download PDF

Info

Publication number
JP2023532955A
JP2023532955A JP2023500046A JP2023500046A JP2023532955A JP 2023532955 A JP2023532955 A JP 2023532955A JP 2023500046 A JP2023500046 A JP 2023500046A JP 2023500046 A JP2023500046 A JP 2023500046A JP 2023532955 A JP2023532955 A JP 2023532955A
Authority
JP
Japan
Prior art keywords
signal
serial clock
microcontroller
word select
serial
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
JP2023500046A
Other languages
English (en)
Other versions
JPWO2022011397A5 (ja
Inventor
レンシュラー、マイケル
リンク、ソーベン
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 JP2023532955A publication Critical patent/JP2023532955A/ja
Publication of JPWO2022011397A5 publication Critical patent/JPWO2022011397A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

オーディオシステム並びに関連するシステム及び回路のための同期が開示される。オーディオシステムは、デジタルオーディオインターフェースのワード選択線と、デジタルオーディオインターフェースのシリアルクロック線と、ハードウェア回路と、を含む。ハードウェア回路は、ワード選択線にワード選択信号を、シリアルクロック線にシリアルクロック信号を提供するように構成される。ワード選択信号は、デジタルオーディオインターフェースのシリアルデータ線に提供されるシリアルデータ信号のチャネルを示すように構成される。ハードウェア回路はまた、シリアルクロック信号を、ネットワークインターフェースを介して通信されるオーディオストリームのクロック基準ストリームに同期させるように構成される。【選択図】図9A

Description

(優先権の主張)
本出願は、2020年7月9日に出願され、「TIME-SYNCHRONIZED I2S HARDWARE CONTROLLER」と題された米国仮特許出願第62/705,653号の米国特許法第119条(e)に基づく利益を主張し、その開示全体が参照により本明細書に組み込まれる。
(発明の分野)
本開示は、概して、時間同期ハードウェアコントローラに関する。
いくつかのデジタルオーディオシステムでは、同期が重要な場合がある。例えば、オーディオは、ビデオストリーミングシステムにおいてビデオと同期されてもよい(例えば、スピーチオーディオは、ビデオに示される口の動きと同期されるが、これに限定されない)。別の例として、サラウンドサウンドシステム(例えば、限定するものではないが、自動車サラウンドサウンド、プロフェッショナルオーディオ機器)内の異なるスピーカに配信されるアナログオーディオ信号を発生させるために使用されるデジタル信号が同期されてもよい。
本開示は、特定の実施例を具体的に指摘し明確に特許請求する特許請求の範囲をもって結論とするが、本開示の範囲内の実施例の様々な特徴及び利点は、添付の図面と併せて読むと、以下の説明からより容易に確認することができる。
様々な例による、マスタI2Sシステムとしての送信機のブロック図である。 様々な例による、マスタI2Sシステムとしての受信機のブロック図である。 様々な例による、マスタI2Sシステムとしてのコントローラのブロック図である。 様々な例による、図1のマスタI2Sシステムとしての送信機、図2のマスタI2Sシステムとしての受信機、及び図3のマスタI2SシステムとしてのコントローラのI2S信号の信号タイミング図である。 様々な例による、AVTPトーカのブロック図である。 様々な例による、AVTPリスナのブロック図である。 様々な例による、タイミング基準プレーンのブロック図である。 様々な例による、1722ストリームを示す図である。 様々な例による、リスナとしてCODECと共に動作し、スタンドアロンI2Sコントローラを使用するオーディオシステムのブロック図である。 様々な例による、CODECがトーカとして動作する、図9Aのオーディオシステムのブロック図である。 様々な例による、CODECがトーカ及びマスタノードとして動作する、別のオーディオシステムのブロック図である。 様々な例による、マイクロコントローラに実装されてもよいネットワークデバイスを含むオーディオシステムセグメントのブロック図である。 様々な例による、図11のオーディオシステムセグメントの状態フロー図である。
以下の詳細な説明では、本明細書の一部をなし、本開示を実施し得る実施例の具体例を例示として示す添付の図面を参照する。これらの実施例は、当業者が本開示を実施することを可能にするために十分に詳細に説明されている。しかしながら、本開示の範囲から逸脱することなく、本明細書で可能にされる他の実施例が利用されてもよく、構造、材料、及びプロセスの変更が行われてもよい。
本明細書に提示する図は、任意の特定の方法、システム、デバイス、又は構造の実際の図であることを意味せず、本開示の実施例を説明するために用いられる、単に理想化した表現である。場合によっては、様々な図面における類似の構造又は構成要素は、読者の便宜のために同一又は類似の付番を保持し得る。しかしながら、付番における類似性は、構造又は構成要素が必ずしもサイズ、組成、構成、又は任意の他の特性において同一であることを意味するものではない。
以下の説明は、当業者が開示された実施例を実施することを可能にするのを補助するための実施例を含み得る。「例示的な」、「例として」、「例えば」という用語の使用は、関連する説明が、説明的なものであることを意味し、本開示の範囲は、実施例及び法的等価物を包含することを意図するものであり、そのような用語の使用は、実施形態又は本開示の範囲を特定の構成要素、ステップ、特徴、機能などに限定することを意図するものではない。
本明細書に一般的に説明され、図面に例示される実施例の構成要素は、多種多様な異なる構成で配置され、設計され得ることが容易に理解されるであろう。したがって、様々な実施例の以下の説明は、本開示の範囲を限定することを意図するものではなく、単に様々な実施形態を表すものである。実施例の様々な態様が図面に提示され得るが、図面は、具体的に指示されていない限り、必ずしも縮尺通りに描かれていない。
更に、図示及び説明する具体的な実装形態は、単なる例であり、本明細書において別段の指定がない限り、本開示を実施する唯一の方式と解釈されるべきでない。要素、回路、及び機能は、不要に詳述して本開示を不明瞭にしないように、ブロック図の形態で示され得る。逆に、図示し、説明する具体的な実装形態は、単に例示的なものであり、本明細書において別段の指定がない限り、本開示を実装する唯一の方法と解釈されるべきではない。更に、様々なブロック間での論理のブロック定義及びパーティショニングは、例示的な具体的な実装形態である。当業者には、本開示が多数の他のパーティショニングソリューションによって実施され得ることが容易に明らかになるであろう。大部分については、タイミングの考慮などに関する詳細は省略されており、そのような詳細は、本開示の完全な理解を得るために必要ではなく、当業者の能力の範囲内である。
当業者であれば、情報及び信号は、様々な異なる技術及び技法のいずれかを使用して表され得ることを理解するであろう。いくつかの図面は、表示及び説明を明確にするために、単一の信号として信号を例示してもよい。当業者は、信号が信号のバスを表し得、このバスは様々なビット幅を有してもよく、本開示は、単一のデータ信号を含む任意の数のデータ信号で実施され得ることを理解するであろう。
本明細書に開示される実施例に関連して記載する様々な例示的な論理ブロック、モジュール、及び回路は、デジタル信号プロセッサ(Digital Signal Processor、DSP)、集積回路(Integrated Circuit、IC)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)若しくは他のプログラマブル論理デバイス、別個のゲート若しくはトランジスタ論理、別個のハードウェア構成要素、又は本明細書に記載の機能を実行するように設計されている、これらの任意の組み合わせを用いて実装され得るか、又は実行され得る。汎用プロセッサ(本明細書では、ホストプロセッサ又は単にホストと称されこともある)は、マイクロプロセッサであってもよいが、代替的に、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンでもあってもよい。プロセッサはまた、DSPとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、DSPコアと組み合わせた1つ以上のマイクロプロセッサ、又は任意の他のそのような構成の組み合わせとして実装されてもよい。
実施例は、フローチャート、フロー図、構造図、又はブロック図として示すプロセスに関して説明され得る。フローチャートは、順次プロセスとして動作行為を説明し得るが、これらの行為の多くは、別の順序で、並行して、又は実質的に同時に実行され得る。加えて、行為の順序は再配置され得る。プロセスは、メソッド、スレッド、関数、プロシージャ、サブルーチン、サブプログラム、他の構造、又はこれらの組み合わせに対応し得る。
「第1」、「第2」などの表記を使用した、本明細書の要素に対する任意の言及は、かかる制限が明示的に記載されていない限り、それらの要素の数量又は順序を限定しない。むしろ、これらの表記は、本明細書において、2つ以上の要素又は要素の例を区別する便利な方法として使用され得る。したがって、第1の要素及び第2の要素への言及は、2つの要素のみが用いられ得ること、又は何らかの様式で第1の要素が第2の要素に先行しなければならないことを意味するものではない。加えて、特に明記しない限り、一組の要素は、1つ以上の要素を含み得る。
本明細書で使用されるとき、所与のパラメータ、特性、又は条件に言及する際の「実質的に(substantially)」という用語は、所与のパラメータ、特性、又は条件が、例えば許容可能な製造許容差の範囲内などの、小さいばらつきを満たすことを当業者が理解するであろう程度を意味し、かつ含む。一例として、実質的に満たされる特定のパラメータ、特性、又は条件に応じて、パラメータ、特性、又は条件は、少なくとも90%満たされ得るか、少なくとも95%満たされ得るか、更には少なくとも99%満たされ得る。
本明細書で使用される場合、「ハードウェア」という用語は、ハードウェア要素を含み、実行可能ソフトウェア又はファームウェアコードなどのソフトウェア要素を除く実装形態を指す。例えば、ハードウェアは、別個の電気部品(例えば、抵抗器、コンデンサ、インダクタ、論理ゲート、ダイオード、トランジスタ、他のハードウェア要素、又はそれらの組み合わせ)を含んでもよい。
IC間サウンド(Inter-IC Sound、I2S)は、デジタルオーディオデバイス(例えば、限定するものではないが、集積回路(IC))を互いにインターフェース接続するために使用され得るデジタルシリアルバスの規格である。タイムセンシティブネットワーク(Time-Sensitive Network、TSN)国際電気電子技術者協会(International Electronics and Electrical Engineers、IEEE)802.1規格によれば、オーディオリスナアプリケーションは、基準クロックを含むクロック基準ストリームと共に、ネットワークから(例えば、IEEE 1722又は1733規格に記載されているような)オーディオストリームを受信してもよい。受信されたオーディオサンプルは、再生のために、I2Sインターフェースを通してオーディオデバイス(例えば、限定するものではないが、デジタル信号プロセッサ(DSP)、増幅器)に転送される。I2Sクロックは基準クロックと同期しており、リスナは、受信したストリームデータからこのクロックを物理的に復元する。クロック復元は、位相ロックループ(phased locked loop、PLL)を使用して、復元された基準クロックをある一定の係数で乗算することによって、最終オーディオビットクロック(I2S MCK/SCK)を得る。場合によっては、クロック復元は、再生のためのオーディオ転送の前に開始され、PLLが所与の基準クロックにクロックすることができるまで実行される。I2Sは、この点に達する前にオーディオ送信を許可しない。
リスナの使用事例について、I2Sクロックとデータとの間の同期化には、ある特定の問題が存在する。例えば、I2Sストリーミングの開始時に、データ及びクロックが整列されてもよい。ストリーミングの開始中のいかなる誤差も、ストリーミングの持続時間全体にわたって持続する。比較的複雑なソフトウェアソリューションを使用して、リスナ使用事例のためにI2Sクロック及びデータをマイクロ秒の精度内で同期させることが可能である。しかしながら、本明細書で開示されるハードウェアソリューションは、リスナ使用事例のためにI2Sクロック及びデータを同期させる際にナノ秒の精度を提供する。
キャプチャされたフレーム同期(frame synchronization、FSY-)タイムスタンプとオーディオサンプルの入力ストリームとの間の同期には、ある特定の問題が存在し得る。タイムスタンプをキャプチャすることは、I2Sストリームに非同期的に行われてもよい。I2S送信機がクロックマスタである場合、ソフトウェアは、サンプルとタイムスタンプとの間の関係を確実に復元することができない場合がある。
本開示の発明者らは、I2Sクロックをストリーム基準クロックに同期させることを可能にするためにI2S送信の開始点を定義するためのソフトウェアソリューションの使用が、最悪事例のタイミング制約が保証されなければならないときに、ジッタを誘発し、困難を引き起こすことを理解している。ソフトウェアソリューションは、ハードタイミングを保証するために比較的複雑であり得、いくつかの使用事例において許容不可能又は望ましくない可能性があり得る(例えば、限定するものではないが、割込み遅延に起因する)ある範囲のタイミング不確実性を導入し得る。
場合によっては、オーディオは、イーサネットネットワークを介してストリーミングされてもよい。複数のオーディオエンドポイント(例えば、限定するものではないが、サラウンドサウンドシステム)間で、又はビデオストリーミングにおいて口の動きをオーディオに同期させるために、比較的高い同期性が所望される場合がある。関連するストリーミングプロトコル規格は、IEEE 1588(高精度時間プロトコル(Precision Time Protocol、PTP))又はIEEE 802.1 AS(汎用PTP(generalized PTP、gPTP))などのいくつかのタイミングプロトコルと組み合わせた、IEEE 1722(オーディオビデオトランスポートプロトコル(Audio Video Transport Protocol、AVTP))及びIEEE 1733(リアルタイムトランスポートプロトコル(Real-time Transport Protocol、RTP))を含む。
本明細書で開示される様々な例は、オーディオリスナのプレゼンテーション時間における小さい(例えば、限定するものではないが、可能な限り小さい)タイミング不確実性を達成し、サンプルデータとオーディオトーカのタイムスタンプとの間の正確な(例えば、限定するものではないが、実質的に完全に正確な)同期を可能にすることによって、メディアストリーミングデバイスの同期性を改善し得る。本明細書で開示される様々な例は、CPU(例えば、限定するものではないが、マイクロコントローラの処理コア)から複雑さを取り除くことによって、ストリーム同期を簡略化し得る。ハードウェアソリューションは、ソフトウェアソリューションとは対照的に、固定数及びより低い不確実性を確実に保証し得る。ソフトウェアソリューションは、本明細書で開示されるハードウェアソリューションの様々な例において、少なくとも部分的に回避される割込みレイテンシを導入する。
本明細書で開示される様々な例は、同期されたタイムベースに基づいてストリーム基準クロックへのI2Sクロックの同期を可能にする。本明細書で開示される様々な例の実装形態は、I2S送信の開始(クロック出力イネーブル)と特定の時点との同期を可能にする、MCU内のI2Sハードウェア周辺機器への拡張を伴い得る。本明細書で開示される様々な例は、ソフトウェア機構とは対照的に、ハードウェア機構を対象とする。したがって、ソフトウェア機構に関連する少なくともいくつかの望ましくない時間シフト、ジッタ、及び悪い最悪事例タイミングが回避され得る。ハードウェアベースの機構は、サンプルデータとオーディオトーカのタイムスタンプとの間の同期の高い(例えば、限定するものではないが、可能な限り高い)精度を保証し得る。これは特に、複数のオーディオリスナノードがオーディオを同期して再生する場合である。
様々な例では、そのI2Sクロックを実際の開始時間に同期させるように構成されたI2Sコントローラが統合される。I2Sクロックは、最終オーディオビットブロックの倍数である外部クロックソースから導出され、オーディオ基準クロックから復元される。
様々な例では、オーディオシステムは、デジタルオーディオインターフェースのワード選択線と、デジタルオーディオインターフェースのシリアルクロック線と、ハードウェア回路と、を含む。ハードウェア回路は、ワード選択線にワード選択信号を提供するように構成される。ワード選択信号は、デジタルオーディオインターフェースのシリアルデータ線に提供されるシリアルデータ信号のチャネルを示すように構成される。ハードウェア回路は、シリアルクロック信号をシリアルクロック線に提供し、同期されたタイムベースに少なくとも部分的に基づいて、シリアルクロック信号を、ネットワークインターフェースを介して通信されるオーディオストリームのクロック基準ストリームに同期させるように構成される。
様々な例では、通信のタイミングを制御するための回路は、シリアルクロック線と、イネーブルゲートと、イベント発生器と、を含む。イネーブルゲートは、シリアルクロック線に電気的に接続される。イネーブルゲートは、同期信号のアサーションに少なくとも部分的に基づいて、シリアルクロック線へのシリアルクロック信号の提供を開始するように構成される。イベント発生器は、シリアルデータ信号からのプレゼンテーションタイムスタンプに応答して、同期信号をアサートするように構成される。プレゼンテーションタイムスタンプは、同期されたタイムベースに相関される。イネーブルゲート及びイベント発生器は、ハードウェア回路を使用して実装される。
図1は、様々な例による、マスタI2Sシステム100としての送信機のブロック図である。マスタI2Sシステム100としての送信機は、送信機102と、受信機104と、を含む。送信機102及び受信機104は、I2Sプロトコルを使用して(例えば、限定するものではないが、イーサネットネットワークを介して)通信するように構成されたI2Sエンドポイントである。送信機102は、マスタI2Sシステム100としての送信機におけるマスタノードとして動作するように構成される。マスタノードとして、送信機102は、シリアルクロック信号SCK及びワード選択信号WSを受信機104に送信するように構成される。送信機102は、シリアルデータ信号SDを受信機104に送信するように構成される。送信機102及び受信機104の一方又は両方は、本明細書で説明する様々な例による時間同期ハードウェアコントローラ106を含んでもよい。
シリアルデータ信号SDは、シリアルデータ(例えば、限定するものではないが、オーディオストリームに対応するシリアルオーディオデータ)を含んでもよい。受信機104は、送信機102から受信したシリアルクロック信号SCK及びワード選択信号WSを使用して、シリアルデータ信号SDのシリアルデータを同期させるよう構成される。
図2は、様々な例による、マスタI2Sシステム200としての受信機のブロック図である。マスタI2Sシステム200としての受信機は、図1の送信機102及び受信機104と同様の、送信機202及び受信機204を含む。図1の送信機102及び受信機104と同様に、送信機202及び受信機204は、I2Sプロトコルを使用して(例えば、限定するものではないが、イーサネットネットワークを介して)通信するように構成されたI2Sエンドポイントである。図1のマスタI2Sシステム100としての送信機の受信機104とは対照的に、受信機204は、マスタI2Sシステム200として受信機におけるマスタノードとして動作するように構成され、マスタノードとして、受信機204は、シリアルクロック信号SCK及びワード選択信号WSを受信機204に送信するように構成される。送信機202及び受信機204の一方又は両方は、本明細書で説明する様々な例による時間同期ハードウェアコントローラ206を含んでもよい。
図1の送信機102と同様に、送信機202は、シリアルデータ信号SDを受信機204に送信するように構成される。送信機102は、受信機204から受信したシリアルクロック信号SCK及びワード選択信号WSに応答して、シリアルデータ信号SDを同期させるように構成される。
図3は、様々な例による、マスタI2Sシステム300としてのコントローラのブロック図である。マスタI2Sシステム300としてのコントローラは、図1の送信機102及び受信機104と同様の、送信機302及び受信機304を含む。図1の送信機102及び受信機104並びに図2の送信機202及び受信機204と同様に、送信機302及び受信機304は、I2Sプロトコルを使用して(例えば、限定するものではないが、イーサネットネットワークを介して)通信するように構成されたI2Sエンドポイントである。図1のマスタI2Sシステム100としての送信機及び図2のマスタI2Sシステム200としての受信機とは対照的に、マスタI2Sシステム300としてのコントローラは、マスタI2Sシステム300としてのコントローラにおけるマスタノードとして動作するように構成されたコントローラ306を含む。マスタノードとして、コントローラ306は、シリアルクロック信号SCK及びワード選択信号WSを送信機302及び受信機304に送信するように構成される。したがって、コントローラ306は、スタンドアロンI2Sコントローラとして動作するように構成され、これは、最先端のI2S周辺機器(例えば、限定するものではないが、送信機302及び受信機304)と共に動作する。
図1の送信機102及び図2の送信機202と同様に、送信機302は、シリアルデータ信号SDを受信機304に送信するように構成される。送信機302及び受信機304は、コントローラ306から受信したシリアルクロック信号SCK及びワード選択信号WSに応答して、シリアルデータ信号SDを同期させるように構成される。
図4は、様々な例による、図1のマスタI2Sシステム100としての送信機、図2のマスタI2Sシステム200としての受信機、及び図3のマスタI2Sシステム300としてのコントローラのI2S信号400の信号タイミング図である。I2S信号400は、シリアルクロック信号SCKと、ワード選択信号WSと、シリアルデータ信号SDと、を含む。非限定的な例として、シリアルデータ信号SDは、2の補数信号として送信されてもよい。シリアルデータ信号は、ワード(例えば、限定するものではないが、ワードN-1右チャネル、ワードN左チャネル、ワードN+1右チャネル)を含んでもよい。各ワードは、最上位ビットMSBで始まり、最下位ビットLSBで終わってもよい。
ワード選択信号WSは、送信されているシリアルデータ信号SD内のシリアルデータが対応するオーディオチャネル(例えば、限定するものではないが、ステレオオーディオシステムの左オーディオチャネル及び右オーディオチャネル)を示すように構成される。非限定的な例として、ワード選択信号WSは、シリアルデータ信号SDにおいて送信されるシリアルデータが右チャネルに対応することを「1」(例えば、限定するものではないが、論理レベル高電圧電位)で示してもよい。また、ワード選択信号WSは、シリアルデータ信号SDにおいて送信されるシリアルデータが左チャネルに対応することを「0」(例えば、限定するものではないが、論理レベル低電圧電位)で示してもよい。
シリアルクロック信号SCK及びワード選択信号WSは、I2Sエンドポイントを、シリアルクロック信号SCK及びシリアルデータ信号SDをメディアストリームの基準クロックに比較的高レベルの精度で同期させることを可能にする。
図5は、様々な例による、AVTPトーカ500のブロック図である。AVTPトーカ500は、局部発振器518と、オーディオビデオブリッジング(audio video bridging、AVB)トランスポートプロトコル(transport protocol、AVBTP)タイムスタンプ発生器(AVBTPタイムスタンプ発生器504)と、アナログデジタル(A/D)変換器(A/D変換器506)と、を含む。AVTPトーカ500は、タイムスタンプ508とデータ510とを含むIEEE 1722データストリーム(1722ストリーム512)を発生させるように構成される。
局部発振器518(例えば、限定するものではないが、電圧制御発振器)は、メディアクロック514を発生させるように構成される。AVBTPタイムスタンプ発生器504及びA/D変換器506は、局部発振器518からメディアクロック514を受信するように構成される。A/D変換器506はまた、着信アナログデータ516(例えば、限定するものではないが、アナログオーディオデータ)を受信し、着信アナログデータ516及びメディアクロック514に応答して、着信アナログデータ516を、1722ストリーム512に含まれるデータ510(デジタルデータ)に変換するように構成される。AVBTPタイムスタンプ発生器504は、メディアクロック514及びウォールタイム502(例えば、限定するものではないが、IEEE 802.1 ASネットワークタイム)に応答して、データ510のタイムスタンプ508を発生させるように構成される。1722ストリーム512は、タイムスタンプ508と、データ510と、を含む。
タイムスタンプ508は、データ510の各ビットに対応するウォールタイム502の値を示す。非限定的な例として、タイムスタンプ508の値は、データ510の値がA/D変換器506によってサンプリングされたウォールタイム502の値を示してもよい。非限定的な例として、図5に示すタイムスタンプ508は、7166667、7333333、...、8666667、8833333、及び9000000のウォールタイム値を含む。また、非限定的な例として、タイムスタンプ508は、キャプチャされたある特定の数のデータ510サンプルごとにキャプチャされてもよい(例えば、限定するものではないが、6つ又は8つのデータ510サンプルごとに1つのタイムスタンプ)。
AVTPトーカ500は、I2S送信機(例えば、限定するものではないが、図1の送信機102、図2の送信機202、又は図3の送信機302)として動作するように構成されてもよい。1722ストリーム512は、I2Sプロトコルを使用してオーディオデバイス(例えば、限定するものではないが、I2S受信機)に送信されてもよい。したがって、1722ストリーム512は、I2Sインターフェースのシリアルデータ信号SD(例えば、限定するものではないが、図1、図2、図3、又は図4のSD)として、送信機(例えば、限定するものではないが、図1の送信機102、図2の送信機202、又は図3の送信機302)から受信機(例えば、限定するものではないが、図1の受信機104、図2の受信機204、又は図3の受信機304)に送信されてもよい。
図6は、様々な例による、AVTPリスナ600のブロック図である。AVTPリスナ600は、I2S受信機(例えば、限定するものではないが、図1の受信機104、図2の受信機204、又は図3の受信機304)として動作するように構成されてもよい。AVTPリスナ600は、図5のAVTPトーカ500から1722ストリーム512を受信するように構成されてもよい。AVTPリスナ600は、1722ストリーム512に応答して発信アナログデータ606を抽出するように構成される。
AVTPリスナ600は、AVBTPタイムスタンプ比較器612と、クロック発生器610と、デジタルアナログ(D/A)変換器(D/A変換器608)と、を含む。AVBTPタイムスタンプ比較器612は、ウォールタイム602(例えば、限定するものではないが、PTPを使用して図5のウォールタイム502と同期された802.1 ASネットワークタイム)を1722ストリーム512のタイムスタンプ508と比較するように構成される。AVTPリスナ600のウォールタイム602は、図5のAVTPトーカ500のウォールタイム502と同期されてもよい。
クロック発生器610は、図5のAVTPトーカ500のメディアクロック514の復元されたバージョンであるメディアクロック604を発生させるように構成される。D/A変換器608は、メディアクロック514及びウォールタイム602と1722ストリーム512からのタイムスタンプ508との間の比較に応答して、発信アナログデータ606を発生させるように構成される。発信アナログデータ606は、ウォールタイム602とタイムスタンプ508との間の比較に基づいて、メディアクロック604に同期されてもよい。
図7は、様々な例による、タイミング基準プレーン700(例えば、限定するものではないが、AVTPタイミング基準プレーン)のブロック図である。図7は、イングレス時間基準プレーン746、プレゼンテーション時間基準プレーン748、タイムスタンプ測定プレーン744(例えば、限定するものではないが、gPTPタイムスタンプ測定プレーン)、トーカ740(例えば、限定するものではないが、AVTPトーカ)、リスナ742(例えば、限定するものではないが、AVTPリスナ)、並びに時間依存アプリケーション704a及び704bを示す。トーカ740は、ストリームパケタイザ734(例えば、限定するものではないが、AVTPストリームパケタイザ)と、ネットワークインターフェース738a(例えば、限定するものではないが、AVTPネットワークインターフェース)と、を含む。ストリームパケタイザ734は、ストリーミングデータインターフェース706aと、バッファ710a(例えば、限定するものではないが、データサンプルを含む)と、制御708aと、を含む。ネットワークインターフェース738aは、バッファ712a(例えば、限定するものではないが、1722パケットを含む)、メディアアクセス制御層(MAC714a)と、物理層(PHY716a)と、タイマ718a(例えば、限定するものではないが、802.1 ASタイマ)と、を含む。
リスナ742は、ネットワークインターフェース738b(例えば、限定するものではないが、AVTPネットワークインターフェース)と、ストリームデパケタイザ736(例えば、限定するものではないが、AVTPストリームデパケタイザ)と、を含む。ネットワークインターフェース738bは、PHY716bと、MAC714bと、タイマ718b(例えば、限定するものではないが、802.1 ASタイマ)と、バッファ712b(例えば、限定するものではないが、1722パケットを含む)と、を含む。ストリームデパケタイザ736は、バッファ710b(例えば、限定するものではないが、データサンプルを含む)と、ストリーミングデータインターフェース706bと、制御708bと、を含む。
図7は、トーカ740(例えば、図5のAVTPトーカ500)に関連付けられた時間依存アプリケーション704aからクラウド702(例えば、限定するものではないが、802.1 AVB/TSNクラウド)を通じてリスナ742(例えば、限定するものではないが、図6のAVTPリスナ600)に関連付けられた時間依存アプリケーション704bへのデータのストリーミングに関与する様々なレイテンシ(例えば、限定するものではないが、ジャック間レイテンシ720、アプリケーション間レイテンシ722)、タイミング情報(例えば、限定するものではないが、アプリケーション時間724a及び724b、フォーマット変換時間726a及び726b、最小通過時間728、実際の通過時間730(変数)、及び最大通過時間732)を示す。
パケットの所有権の転送における変動性に起因して、最大タイミングにおける不確実性が存在し得る。イングレス時間基準プレーン746では、完全に準備された1722パケットの所有権が、提示よりも遅くない時間に送信するためにネットワークインターフェース738aに転送される。プレゼンテーション時間基準プレーン748において、1722パケットは、最大送信時間よりも遅くならずにバッファに書き込まれることが保証される。
図8は、様々な例による、1722ストリーム806を示す。1722ストリーム806は、タイムスタンプ802(7166667、7333333、...、866667、8833333、9000000)と、データ804と、を含む。様々な例によれば、タイムスタンプ802は、シリアルクロックSCKに同期されてもよい(例えば、限定するものではないが、タイムスタンプ802の各々に対応するシリアルクロックSCKの立下りエッジを識別する)。データ804及びシリアルクロックSCKは、I2S周辺機器808に提供されてもよい。
リスナユーザの場合、シリアルクロックSCK及びデータ804を同期させることは困難であり得る。非限定的な例として、I2Sストリーミングの開始時に、データ804及びシリアルクロックSCKが整列されることが望ましい場合がある。ストリーミング開始時のデータ804とシリアルクロックSCKとの間の整列の誤差は、ストリーミングの持続時間全体にわたって持続し得る。マイクロ秒の精度の範囲でしか提供することができないソフトウェアソリューションとは対照的に、本明細書で開示されるハードウェアソリューションは、非限定的な例として、ソフトウェアに対する任意のリアルタイム要件なしに、ナノ秒の精度を保証することができる。イベント発生器(event generator、EG)は、タイムスタンプをシリアルクロックSCKに同期させるために、I2S周辺機器808に提供されるシリアルクロックSCKの開始をトリガしてもよい。
トーカ使用事例では、キャプチャされたFSYタイムスタンプをオーディオサンプルの入力ストリームに同期させることは困難であり得る。非限定的な例として、タイムスタンプをキャプチャすることは、I2Sストリーミングから非同期的に行われてもよい。I2S送信機がクロックマスタである場合、ソフトウェアソリューションは、オーディオサンプルとそれらの対応するタイムスタンプとの間の関係を確実に復元しない場合がある。
図9Aは、様々な例による、リスナとしてCODEC910(例えば、限定するものではないが、オーディオデバイス)と共に動作し、スタンドアロンI2Sコントローラ930を使用するオーディオシステム900のブロック図である。オーディオシステム900は、マイクロコントローラ(マイクロコントローラ902)と、CODEC910と、位相ロックループ(PLL908)と、ネットワークデバイス914と、を含む。ネットワークデバイス914は、I2Sコントローラ930を含む。オーディオシステム900は、図3のマスタI2Sシステム300としてのコントローラのようなマスタI2Sシステムとしてのコントローラとして動作するように構成される。オーディオシステム900において、マイクロコントローラ902は、I2S送信機(例えば、限定するものではないが、図3の送信機302)として動作してもよく、CODEC910は、I2S受信機(例えば、限定するものではないが、図3の受信機304)として動作してもよく、I2Sコントローラ930は、I2Sコントローラ(例えば、限定するものではないが、図3のコントローラ306)として動作してもよい。I2Sコントローラ930は、(ソフトウェアとは対照的に)ハードウェアで実装される。したがって、ネットワークデバイス914は、I2Sコントローラ930のハードウェア回路を含むスタンドアロンコントローラであってもよい。
マイクロコントローラ902は、I2Sインターフェース904と、シリアル周辺機器インターフェース(serial peripheral interface、SPI)マスタインターフェース(SPIマスタインターフェース906)と、を含む。CODEC910は、I2Sインターフェース904に電気的に接続されたI2Sインターフェース912を含む。オーディオシステム900は、I2Sインターフェース912をI2Sインターフェース904に電気的に接続する、SD線934と、SCK線936と、フレーム同期(FSY、本明細書ではWSと互換的に使用される)線(FSY線938)と、を含むデジタルオーディオインターフェースを含む。したがって、マイクロコントローラ902は、シリアルデータSD線934を介してCODEC910(例えば、限定するものではないが、オーディオデバイス)と通信している。マイクロコントローラ902は、シリアルデジタル信号SDをSD線934上でCODEC910に送信するように構成される。シリアルデジタル信号SDは、例えば、図5及び図6の1722ストリーム512のデータ510及びタイムスタンプ508などのデータ及びタイムスタンプを含むI2Sストリームを含む。
ネットワークデバイス914は、シリアルクロック線944、チャネル選択線946、マスタアウトスレーブイン線948、及びマスタインスレーブアウト線950を介して、SPIマスタインターフェース906に電気的に接続されたSPIスレーブインターフェース916を含む。したがって、ネットワークデバイス914は、マイクロコントローラ902の周辺機器として、周辺機器インターフェースを介してマイクロコントローラ902と通信するように構成されたスタンドアロンコントローラであり得る。ネットワークデバイス914はまた、メディアクロック分周器920と、シリアルクロック分周器922(例えば、限定するものではないが、1.5MHz~48kHz)と、イネーブルゲート924と、を含む、I2Sコントローラ930を含む。シリアルクロック分周器922は、シリアルクロック線944及びFSY線938に電気的に接続される。シリアルクロック分周器922は、シリアルクロック線944に提供されるシリアルクロック信号SCKを分周して、FSY信号(ワード選択信号)をFSY線938(ワード選択線)に提供するように構成される。ネットワークデバイス914は、SPIスレーブインターフェース916とイネーブルゲート924との間に電気的に接続されたイベント発生器926を更に含む。ネットワークデバイス914はまた、シリアルクロック分周器922に電気的に接続されたタイムスタンプ分周器932と、SPIスレーブインターフェース916に電気的に接続されたタイムスタンパ928と、を含む。タイムスタンプ分周器932は、フレーム同期信号FSYを、タイムスタンプがシリアルデータ信号SDによって提供されるレートに分周するように構成される。
ネットワークデバイス914は、SPIスレーブインターフェース916とPLL908との間に電気的に接続されたイベント発生器918を含む。イベント発生器918は、基準クロック線942を介して、PLL908に電気的に接続される。イベント発生器918及びPLL908は、CODEC910がリスナとして動作しているときに、図6のクロック発生器610として一緒に機能してもよい。PLL908は、イベント発生器918から基準クロック信号RCLKを受信し、メディアクロック信号MCLKをI2Sコントローラ930のメディアクロック分周器920(例えば、限定するものではないが、ハードウェア回路で実装される)に提供するように構成される。
動作において、イベント発生器918はPLL908を駆動する。より具体的には、マイクロコントローラ902は、タイムスタンプ(例えば、限定するものではないが、図5のタイムスタンプ508)をイベント発生器918に(例えば、限定するものではないが、SPIマスタインターフェース906、MOSI線、及びSPIスレーブインターフェース916を介して)提供してもよい。イベント発生器918が受信するプレゼンテーションタイムスタンプごとに、イベント発生器918はパルスを発生させることができ、その結果、イベント発生器918が基準クロック線942を介してPLL908に提供する基準クロック信号RCLKが得られる。PLL908は、基準クロック信号RCLKを逓倍して、メディアクロック線940上にメディアクロック信号MCLK(例えば、限定するものではないが、オーディオビットクロック(Nx))を発生させることができる。非限定的な例として、基準クロック信号RCLKは、実質的に300ヘルツ(Hz)と実質的に8キロヘルツ(kHz)との間の周波数でパルス化してもよい。また、非限定的な例として、PLL908は、16ビットステレオの場合、基準クロック信号RCLKを実質的に1.5MHzのメディアクロック信号MCLKに逓倍してもよい。PLL908は、メディアクロック線940を介して、メディアクロック信号MCLKをCODEC910及びメディアクロック分周器920に提供する。メディアクロック分周器920は、メディアクロック信号MCLKを受信して分周し、分周されたメディアクロック信号をイネーブルゲート924に提供するように構成される。
イネーブルゲート924は、シリアルクロック信号SCKをSCK線936に、フレーム同期信号FSYをFSY線938に提供するように構成される。マイクロコントローラ902及びCODEC910は、ネットワークデバイス914のハードウェア回路によって提供されるフレーム同期信号FSY(ワード選択信号)及びシリアルクロック信号SCKを受信するように構成される。イネーブルゲート924は、イベント発生器926からの同期信号SYNCのアサーション(例えば、限定するものではないが、限定するものではないが、パルス)に応答して、シリアルクロック信号SCK及びフレーム同期信号FSYの提供を開始するようにトリガされてもよい。イベント発生器926は、プレゼンテーションタイムスタンプに応答して、同期された時間ベース(例えば、限定するものではないが、ウォールタイム)に少なくとも部分的に基づいて、同期信号SYNCをアサートするように構成される。イベント発生器918と同様に、イベント発生器926は、マイクロコントローラ902から受信した各プレゼンテーションタイムスタンプに応答して、同期信号SYNC上にパルスを提供してもよい。非限定的な例として、メディアクロック分周器920からの分周されたメディアクロック信号は、シリアルクロック信号SCKとしての使用に好適な周波数(例えば、限定するものではないが、2.5MHz)でクロックしてもよく、イネーブルゲート924は、分周されたメディアクロック信号をシリアルクロック信号SCKとしてSCK線936に通過させてもよい。イネーブルゲート924は、シリアルクロック信号SCKを、(SCK線936及びI2Sインターフェース904を介して)マイクロコントローラ902に、また、(SCK線936及びI2Sインターフェース912を介して)CODEC910に提供する。イネーブルゲート924はまた、シリアルクロック信号SCKをシリアルクロック分周器922に提供し、シリアルクロック分周器922は、シリアルクロック信号SCKを分周して、フレーム同期信号FSYを発生させる。シリアルクロック分周器922は、フレーム同期信号FSYを、(FSY線938及びI2Sインターフェース904を介して)マイクロコントローラ902に、また、(FSY線938及びI2Sインターフェース912を介して)CODEC910に提供する。
様々な例において、オーディオシステム900は、同期信号SYNCのパルスによってトリガされる同期可能な開始時点をI2Sコントローラ930に提供することによって、特定の時間でのストリーミングの開始を可能にする。同期は、イベント発生器(イベント発生器926及びイベント発生器918)を使用して達成される。
同期信号SYNCがタイムスタンプに応答してパルス化するので、ストリーミング(例えば、限定するものではないが、SD線934上のシリアルデータ信号SDを使用するデータの送信)は、専用タイムスタンプで開始する。クロック(基準クロック信号RCLK、メディアクロック信号MCLK)が実行されると、データは、シリアルデータ信号SD上でストリーミングされてもよい。マイクロコントローラ902によるストリーミング(すなわち、シリアルデータ信号SD上のデータの提供)は、イネーブルゲート924によるシリアルクロック信号SCK及びフレーム同期信号FSYの提供を開始するために同期信号SYNCがパルス化されるのと同時に開始されてもよい。その結果、マイクロコントローラ902からネットワークデバイス914へのSPI通信は、シリアルクロック信号SCKと、シリアルデータ信号SDによって通信されるストリーミングデータとの同期を可能にする。
シリアルクロック信号SCKは同期して動作するので、その後の同期は不要である。しかしながら、様々な例において、シリアルクロック信号SCKは、ストリームが実行されている間に問題を検出することができるように監視されてもよい(例えば、限定するものではないが、それが外部ソースからのものである場合)。
図9Bは、様々な例による、CODEC910がトーカとして動作する、図9Aのオーディオシステム900のブロック図である。図9Aを参照して上述したように、I2Sコントローラ930は、マスタI2Sシステムとしてのコントローラ(例えば、限定するものではないが、図3のマスタI2Sシステム300としてのコントローラ)内のI2Sコントローラ(例えば、限定するものではないが、図375のコントローラ306)として動作してもよい。しかしながら、図9Bに示されるオーディオシステム900において、マイクロコントローラ902は、I2S受信機(例えば、限定するものではないが、図3の受信機304)として動作してもよく、CODEC910は、I2S送信機(例えば、限定するものではないが、図3の送信機302)として動作してもよい。したがって、CODEC910は、シリアルデータ信号SD(例えば、限定するものではないが、図5の1722ストリーム512のデータ510及びタイムスタンプ508を含む)をSD線934上でマイクロコントローラ902に送信してもよい。
前に説明したように、トーカ使用事例では、キャプチャされたタイムスタンプ(例えば、限定するものではないが、図6のタイムスタンプ508)をオーディオサンプルの入力ストリーム(例えば、限定するものではないが、図5のデータ510)に同期させることは困難であり得る。様々な例では、I2Sコントローラ930は、キャプチャされたタイムスタンプのオーディオサンプルの入力ストリームへの同期を可能にする。ネットワークデバイス914は、メディアクロックMCLKを復元し、I2Sコントローラ930は、図9Aを参照して説明したように、シリアルクロック信号SCK及びフレーム同期信号FSYを提供する。I2Sコントローラ930(具体的には、シリアルクロック分周器922)は、フレーム同期信号FSYをタイムスタンプ分周器932に提供し、タイムスタンプ分周器932を使用してフレーム同期信号FSYを分周する。タイムスタンプ分周器932は、フレーム同期信号FSYを、タイムスタンプがシリアルデータ信号SDによって提供されるレートに分周してもよい。タイムスタンパ928は、(例えば、限定するものではないが、マスタインスレーブアウト線950上のマスタインスレーブアウト信号MISOを使用して)分周されたフレーム同期信号をマイクロコントローラ902に提供してもよい。
図10は、様々な例による、CODEC1008(例えば、限定するものではないが、オーディオデバイス)がトーカ及びマスタノードとして動作する、別のオーディオシステム1000のブロック図である。オーディオシステム1000は、マイクロコントローラ1002と、CODEC1008と、ネットワークデバイス1012と、を含む。マイクロコントローラ1002は、図9A及び図9Bのマイクロコントローラ902と同様である。例えば、マイクロコントローラ1002は、図9A及び図9Bを参照して上述したI2Sインターフェース904及びSPIマスタインターフェース906と同様の、I2Sインターフェース1004及びSPIマスタインターフェース1006を含む。CODEC1008は、図9BのCODEC910と同様であり、CODEC1008がトーカとして動作しているように示されているので、CODEC1008がシリアルデータ信号SDをマイクロコントローラ1002に提供することを受け入れる。CODEC1008はまた、図1のマスタI2Sシステム100としての送信機の送信機102と同様に、I2Sマスタノードとして動作している。結果として、CODEC1008は、マスタシリアルクロック信号MSCK及びマスタフレーム選択信号MFSYをネットワークデバイス1012(例えば、限定するものではないが、スタンドアロンコントローラ)に提供する。CODEC1008は、図9A及び図9BのI2Sインターフェース912と同様のI2Sインターフェース1010を含む。マイクロコントローラ1002は、図1の受信機104と同様の受信機として動作するように示されている。
図10のネットワークデバイス1012は、図9A及び図9Bのネットワークデバイス914と同様に、(ソフトウェアとは対照的に)ハードウェアで実装される。ネットワークデバイス1012は、マイクロコントローラ1002のSPIマスタインターフェース1006に電気的に接続された、図9A及び図9BのSPIスレーブインターフェース916と同様のSPIスレーブインターフェース1014を含む。ネットワークデバイス1012は、タイムスタンプ分周器1024及びタイムスタンプ発生器1020を含み、これらは、図9A及び図9Bのタイムスタンパ928及びタイムスタンプ分周器932と同様である。しかしながら、ネットワークデバイス1012は、図9A及び図9Bのネットワークデバイス914とは異なる。例えば、ネットワークデバイス1012がI2Sマスタノードとして動作していない(CODEC1008がI2Sマスタノードとして動作している)ので、ネットワークデバイス1012は、基準クロック(図9A及び図9Bの基準クロックRCLKを参照)を復元するための回路(例えば、限定するものではないが、図9A及び図9Bのイベント発生器918及びPLL908)を含まない。また、ネットワークデバイス1012は、I2Sコントローラ1022を含むが、I2Sコントローラ1022は、図9A及び図9BのI2Sコントローラ930とは異なる。
ネットワークデバイス1012は、イネーブルゲートEN(イネーブルゲート1018)と、ANDゲート「&」(ANDゲート1026)と、を含むI2Sコントローラ1022を含む。イネーブルゲート1018は、CODEC1008から(例えば、限定するものではないが、I2Sインターフェース1010を介して)マスタシリアルクロック信号MSCK及びマスタフレーム同期信号MFSYを受信するように構成される。イネーブルゲート1018はまた、トリガに応答して、シリアルクロック信号SCK及びフレーム同期信号FSYをマイクロコントローラ1002に(例えば、限定するものではないが、それぞれシリアルクロック線1030及びフレーム同期線1032、並びにI2Sインターフェース1004を介して)提供し始めるように構成される。ネットワークデバイス1012はまた、イベント発生器1016(「EG」)と、タイムスタンプ発生器1020(timestamp generator、「TS」)と、タイムスタンプ分周器1024(timestamp divider、「DIV」)と、を含む。
CODEC1008は、シリアルデータ線1028を介して、シリアルデータ信号SD(例えば、限定するものではないが、データ及びタイムスタンプを含む)をマイクロコントローラ1002に提供するように構成される。CODEC910はまた、マスタシリアルクロック信号MSCK(例えば、限定するものではないが、マスタシリアルクロック線1036を介して)及びマスタフレーム同期信号MFSY(例えば、限定するものではないが、本明細書では「マスタワード選択線」とも称され得るマスタフレーム同期線1034を介して)をI2Sコントローラ1022のイネーブルゲート1018に提供するように構成される。イネーブルゲート1018は、直ちに、又はANDゲート1026の出力信号に応答してトリガされてもよい。具体的には、イベント発生器1016は、マイクロコントローラ1002によってネットワークデバイス1012に提供されるタイムスタンプに応答して、同期信号SYNCをアサートするように構成される。マイクロコントローラ1002は、シリアルデータ線1028及びI2Sインターフェース1004を通じてシリアルデータ信号SDを介してCODEC1008からデータ及びタイムスタンプを受信し、SPIマスタインターフェース1006、MOSI信号、及びSPIスレーブインターフェース1014を介してイベント発生器1016にタイムスタンプを提供してもよい。
ANDゲート1026は、同期信号SYNC及びマスタフレーム同期信号MFSYを受信するように構成される。ANDゲート1026は、CODEC1008から受信した同期信号SYNCのアサーション及びマスタフレーム同期信号MFSYのアサーションに応答して、シリアルクロック信号SCKをシリアルクロック線1030に提供するために、イネーブルゲート1018をトリガするように構成される。したがって、イネーブルゲート1018は、イベント発生器1016からの同期信号SYNC及びマスタフレーム同期信号MFSY(マスタワード選択信号)のアサーションに応答して、シリアルクロック信号SCK及びフレーム同期信号FSYの提供を開始するように構成される。
同期信号SYNC及びマスタフレーム同期信号MFSYの両方がアサートされると、ANDゲート1026がその出力をアサートしてイネーブルゲート1018をトリガするので、イネーブルゲート1018によって提供されるフレーム同期信号FSY及びシリアルクロック信号SCKは、CODEC1008によって提供されるマスタフレーム同期信号MFSY及びマスタシリアルクロック信号MSCKに同期される。マイクロコントローラ1002が、シリアルデータ信号SDを介してCODEC1008からタイムスタンプを受信し、タイムスタンプをイベント発生器1016に提供し(例えば、限定するものではないが、SPIマスタインターフェース1006からSPIスレーブインターフェース1014へのMOSI信号を介して)、同期信号SYNCをトリガすると、イネーブルゲート1018は、次のマスタフレーム同期信号MFSYエッジ(例えば、限定するものではないが、立下りエッジ)で、シリアルクロック信号SCK及びフレーム同期信号FSYをマイクロコントローラ1002に提供し始める。
オーディオシステム1000は、CODEC1008がI2Sマスタモードとして動作する問題を、CODEC1008によって提供されるマスタフレーム同期信号MFSYに整列されたクロック(例えば、限定するものではないが、シリアルクロック線1030上のシリアルクロック信号SCK及び、フレーム同期線1032上のフレーム同期信号FSY)が、FSYタイムスタンプをその関連するオーディオサンプルに一致させることができるようにすることによって解決し得る。ANDゲート1026は、マイクロコントローラ1002が少なくとも第1のタイムスタンプを受信したことを(限定するものではないが、同期信号のアサーションを介して)イネーブルゲート1018が確認した後、CODEC1008によって提供されるマスタフレーム同期信号MFSYの第1のエッジ(例えば、限定するものではないが、立下りエッジ)まで、シリアルクロック信号SCK及びフレーム同期信号FSYのマイクロコントローラ1002への提供をイネーブルゲート1018が開始しないことを確実にする。
ゲートレイテンシは、シリアルデータ信号SDが遅延されるべきでない場合、タイミングクリティカルであり得る。イネーブルゲート1018は、シリアルクロック信号SCK及びフレーム同期信号FSYを、それぞれシリアルクロック線1030及びフレーム同期線1032を介して、マイクロコントローラ1002に提供するように構成される。イネーブルゲート1018はまた、フレーム同期信号FSYをタイムスタンプ分周器1024に提供するように構成され、タイムスタンプ発生器1020は、シリアルデータ信号SDで通信されるオーディオデータに対応するタイムスタンプを発生させるように構成される。ネットワークデバイス1012は、MISO線を介してマイクロコントローラ1002にタイムスタンプを提供するように構成される。
図10のオーディオシステム1000のように、I2Sコントローラ(例えば、限定されないが、図10のI2Sコントローラ1022)がマスタノードにない様々な例において、I2Sコントローラは外部クロックを受信する。非限定的な例として、図10のI2Sコントローラ1022は、CODEC1008からマスタシリアルクロック信号MSCKを受信する。I2Sコントローラは、フレーム同期信号FSYのいくつかのタイムスタンプ機能を提供し、タイムスタンプが任意の着信オーディオサンプルデータと同期して記憶され得るように、(例えば、限定するものではないが、直接メモリアクセス、又は「DMA」を介して)タイムスタンプを転送してもよい。オーディオサンプルデータは、更なる処理を必要とするタイムスタンプの数を低減するために、各ブロックが単一のタイムスタンプに対応するサンプルのブロックに分周されてもよい。
図11は、様々な例による、マイクロコントローラ1114に実装されてもよいネットワークデバイス1102を含むオーディオシステムセグメント1100のブロック図である。ネットワークデバイス1102は、図9A及び図9Bのネットワークデバイス914並びに図10のネットワークデバイス1012が実行するように構成される動作のうちのいくつかを実行するように構成され得る。また、ネットワークデバイス1102は、ネットワークデバイス914及びネットワークデバイス1012と同様のソフトウェア又はファームウェアとは対照的に、ハードウェアで実装される。しかしながら、オーディオシステムセグメント1100は、それぞれのマイクロコントローラ(それぞれ、図9Aのマイクロコントローラ902及び図10のマイクロコントローラ1002)とは別個のスタンドアロンコントローラとして実装されるネットワークデバイス914及びネットワークデバイス1012とは対照的に、マイクロコントローラ1114の処理コア(図示せず)の周辺機器としてマイクロコントローラ1114に実装される。
ネットワークデバイス1102は、メディアクロック発生器1104(media clock generator、「MCG」)と、イベント発生器1106(「EG」)と、タイムスタンプ発生器1108(「TS」)と、タイムスタンプ分周器1110(「DIV」)と、I2S周辺機器1112と、を含む。I2S周辺機器1112は、シリアルデータ線1116、シリアルクロック線1118、及びフレーム同期線1120に電気的に接続されている。I2S周辺機器1112は、シリアルクロック信号SCKを(例えば、限定するものではないが、コーデックに)提供するように構成される。I2S周辺機器は、シリアルデータ信号SD及びフレーム同期信号FSYを(例えば、限定するものではないが、コーデックに/から)提供又は受信してもよい。I2S周辺機器1112は、メディアクロック発生器1104によって発生したメディアクロック信号MCLKを受信してもよい。
オーディオシステムセグメント1100がトーカとして動作している状態で、I2S周辺機器は、コーデックからSD信号を受信し、FSY`信号をタイムスタンプ分周器1110に提供してもよい。タイムスタンプ発生器1108は、シリアルデータ信号SDのデータに対応するタイムスタンプを発生させることができる。I2S周辺機器1112は、メディアクロックMCLKに基づいてタイムスタンプを同期させてもよい。
ネットワークデバイス1102がリスナとして動作している状態で、I2S周辺機器1112は、イベント発生器1106によって発生した同期信号SYNCを受信してもよい。それに応答して、I2S周辺機器1112は、シリアルデータ信号SD、シリアルクロック信号SCK、及びフレーム同期信号FSYをコーデックに提供してもよい。
様々な例では、上記でオーディオシステムセグメント1100について説明した1つ以上の構成要素は、マイクロコントローラと同じダイ上のハードウェアで(すなわち、マイクロコントローラの処理コアとは別個に)実装されてもよい。IEEE 1588ウォールクロック及びPLLはまた、同じダイ上に実装されてもよい。
I2Sは、内部クロックソースとしてメディアクロック発生器1104から直接クロックされてもよい。図9A、図9B、及び図10のI2Sコントローラの機能は、オーディオシステムセグメント1100のI2S周辺機器1112に統合されてもよい。例えば、メディアクロック発生器1104は、メディアクロック信号MCKをI2S周辺機器1112に直接提供してもよく、タイムスタンプ発生器1108は、I2S周辺機器1112のFSY`出力に接続可能であってもよい。
様々な他の例では、同期論理は、マイクロコントローラのI2S周辺機器に直接統合されてもよい。次いで、マスタモード(マイクロコントローラがクロックソースである)におけるそのようなI2S周辺機器(例えば、限定するものではないが、I2S送信機、I2S受信機、I2Sコントローラ)は、構成可能な専用の時点で同期ストリームを開始してもよい。これは、ソフトウェアワークアラウンドによって処理されてもよく、いくらかの追加の不確実性をもたらし、ソフトウェアの複雑さを増大させる。
図12は、様々な例による、図11のオーディオシステムセグメント1100の状態フロー図である。I2S周辺機器1112(図11)は、同期状態機械によって拡張される。初期状態INIT1204において、I2S周辺機器1112(DMA及びイベント発生器1106を含む)は、同期状態SYNC1206に切り替わるように構成される。同期状態において、SYNC1206出力はアクティブであるが、シリアルクロック信号SCKは、イベント発生器1106が送信状態TRX1202への切り替えをトリガするまで動作しない。送信状態TRX1202では、シリアルクロック信号SCK、フレーム同期信号FSY及びデータ送信が実行されている。同期された(ゲートされた)フレーム同期信号FSY出力は、外部クロックソース(例えば、限定するものではないが、フレーム同期信号FSY)入力の場合に生じる。
実施例の非網羅的で非限定的なリストは、以下のとおりである。以下に列挙する実施例のそれぞれは、以下に列挙する実施例及び上記の実施例のうちの他の全てと組み合わせ可能であると明示的に個々に示されるわけではない。しかし、これらの実施例は、実施例が組み合わせ可能ではないことが当業者には明らかである場合を除き、全ての他の実施例と組み合わせ可能であることが意図される。
実施例1:オーディオシステムであって、デジタルオーディオインターフェースのワード選択線と、デジタルオーディオインターフェースのシリアルクロック線と、ハードウェア回路と、備え、ハードウェア回路は、ワード選択信号であって、デジタルオーディオインターフェースのシリアルデータ線に提供されるシリアルデータ信号のチャネルを示すように構成されている、ワード選択信号をワード選択線に提供し、シリアルクロック線にシリアルクロック信号を提供し、かつシリアルクロック信号を、ネットワークインターフェースを介して通信されるオーディオストリームのクロック基準ストリームに同期させるように構成されている、オーディオシステム。
実施例2:ハードウェア回路は、同期信号のアサーションに応答してシリアルクロック信号の提供を開始するように構成されたイネーブルゲートを含む、実施例1に記載のオーディオシステム。
実施例3:ハードウェア回路は、プレゼンテーションタイムスタンプに応答して同期信号をアサートするように構成されたイベント発生器を含む、実施例2に記載のオーディオシステム。
実施例4:ハードウェア回路は、同期されたタイムベースに少なくとも部分的に基づいて、シリアルクロック信号を同期させるように構成されており、同期されたタイムベースはウォールクロック時間を含む、実施例1~3のいずれか1つに記載のオーディオシステム。
実施例5:ハードウェア回路は、シリアルクロック線及びワード選択線に電気的に接続されたシリアルクロック分周器を含み、シリアルクロック分周器は、シリアルクロック線に提供されたシリアルクロック信号を分周して、ワード選択線にワード選択信号を提供するように構成されている、実施例1~4のいずれか1つに記載のオーディオシステム。
実施例6:ハードウェア回路は、タイムスタンプがシリアルデータ信号によって提供されるレートにワード選択信号を分周するように構成されたタイムスタンプ分周器を含む、実施例1~5のいずれか1つに記載のオーディオシステム。
実施例7:ハードウェア回路を含むスタンドアロンコントローラを備える、実施例1~6のいずれか1つに記載のオーディオシステム。
実施例8:オーディオデバイスと、デジタルオーディオインターフェースのシリアルデータ線を介してオーディオデバイスに電気的に接続されたマイクロコントローラであって、マイクロコントローラ及びオーディオデバイスは、ハードウェア回路によって提供される、ワード選択信号及びシリアルクロック信号を受信するように構成されている、マイクロコントローラと、を備える、実施例7に記載のオーディオシステム。
実施例9:スタンドアロンコントローラは、マイクロコントローラの周辺機器として、周辺機器インターフェースを介してマイクロコントローラと通信するように構成されている、実施例8に記載のオーディオシステム。
実施例10:基準クロック信号を受信し、かつハードウェア回路のメディアクロック分周器にメディアクロック信号を提供するように構成された位相ロックループ、を更に備える、実施例8又は9に記載のオーディオシステム。
実施例11:オーディオデバイスは、マスタトーカノードとして動作するように構成され、スタンドアロンコントローラは、オーディオデバイスからマスタシリアルクロック信号及びマスタワード選択信号を受信するように構成され、ハードウェア回路は、イベント発生器からの同期信号及びマスタワード選択信号のアサーションに応答して、シリアルクロック信号の提供を開始するように構成されたイネーブルゲートを含む、実施例8又は9に記載のオーディオシステム。
実施例12:マイクロコントローラであって、マイクロコントローラの処理コアの周辺機器として実装されるハードウェア回路を含むマイクロコントローラを備える、実施例1~6のいずれか1つに記載のオーディオシステム。
実施例13:通信のタイミングを制御するための回路であって、シリアルクロック線と、シリアルクロック線に電気的に接続されたイネーブルゲートであって、同期信号のアサーションに少なくとも部分的に基づいて、シリアルクロック線へのシリアルクロック信号の提供を開始するように構成されている、イネーブルゲートと、シリアルデータ信号からのプレゼンテーションタイムスタンプに応答して、同期信号をアサートするように構成されたイベント発生器であって、プレゼンテーションタイムスタンプは、同期されたタイムベースに相関付けられ、イネーブルゲート及びイベント発生器は、ハードウェア回路を使用して実装されている、イベント発生器と、を備える、回路。
実施例14:ハードウェア回路は、マイクロコントローラの処理コアの周辺機器としてマイクロコントローラ内に実装されている、実施例13に記載の回路。
実施例15:ハードウェア回路は、マイクロコントローラとは別個のスタンドアロンコントローラ内に実装されている、実施例13に記載の回路。
実施例16:スタンドアロンコントローラをマイクロコントローラに電気的に接続するように構成された通信インターフェースを備え、イベント発生器は、通信インターフェースを通じてマイクロコントローラからプレゼンテーションタイムスタンプを受信するように構成されている、実施例15に記載の回路。
実施例17:ワード選択信号を伝送するように構成されたワード選択線と、ワード選択線に電気的に接続されたタイムスタンプ分周器であって、タイムスタンプがシリアルデータ信号によって提供されるレートにワード選択信号を分周するように構成されている、タイムスタンプ分周器と、を備える、実施例13~16のいずれか1つに記載の回路。
実施例18:マスタノードからイネーブルゲートにマスタワード選択信号を配信するように構成されたマスタワード選択線と、同期信号及びマスタイネーブルゲートを受信するように構成されたANDゲートであって、同期信号のアサーション及びワード選択信号のアサーションに応答して、シリアルクロック線にシリアルクロック信号を提供するためにイネーブルゲートをトリガするように構成されている、ANDゲートと、を備える、実施例13~17のいずれか1つに記載の回路。
実施例19:イネーブルゲートは、同期信号のアサーションに応答して、シリアルクロック信号をシリアルクロック線に提供するように構成されている、実施例13~18のいずれか1つに記載の回路。
実施例20:ハードウェア回路は、スタンドアロンコントローラ及びマスタノードとして、シリアルクロック信号及びワード選択信号を提供するように構成されている、実施例13、15~17、及び19のいずれか1つに記載の回路。
実施例21:オーディオシステムであって、デジタルオーディオインターフェースのワード選択線と、デジタルオーディオインターフェースのシリアルクロック線と、ハードウェア回路と、を備え、ハードウェア回路は、ワード選択信号であって、デジタルオーディオインターフェースのシリアルデータ線に提供されるシリアルデータ信号のチャネルを示すように構成されている、ワード選択信号をワード選択線に提供し、シリアルクロック信号をシリアルクロック線に提供し、かつ同期されたタイムベースに少なくとも部分的に基づいて、シリアルクロック信号を、ネットワークインターフェースを介して通信されるオーディオストリームのクロック基準ストリームに同期させるように構成されている、オーディオシステム。
実施例22:ハードウェア回路を含むスタンドアロンコントローラを更に備える、実施例21に記載のオーディオシステム。
実施例23:オーディオデバイスと、デジタルオーディオインターフェースのシリアルデータ線を介してオーディオデバイスに電気的に接続されたマイクロコントローラであって、マイクロコントローラは、ハードウェア回路によって提供される、ワード選択信号及びシリアルクロック信号を受信するように構成されている、マイクロコントローラと、を更に備える、実施例22に記載のオーディオシステム。
実施例24:マイクロコントローラは、ネットワークインターフェースを介して受信したオーディオストリームに応答してシリアルデータ信号を発生させるように構成され、マイクロコントローラは、シリアルデータ線を介してシリアルデータ信号をオーディオデバイスに提供するように構成され、ハードウェア回路は、オーディオストリームがオーディオデバイスによって提示される開始点を同期させるように構成されている、実施例23に記載のオーディオシステム。
実施例25:オーディオデバイスは、シリアルデータ線を介してシリアルデータ信号をマイクロコントローラに提供するように構成されており、マイクロコントローラは、クロック基準ストリーム及びオーディオストリームをネットワークインターフェースに提供するように構成されている、実施例23に記載のオーディオシステム。
実施例26:スタンドアロンコントローラは、マイクロコントローラの周辺機器として、周辺機器インターフェースを介してマイクロコントローラと通信するように構成されている、実施例23~25のいずれか1つに記載のオーディオシステム。
実施例27:スタンドアロンコントローラは、シリアルクロックをイネーブルするように構成されたイネーブルゲートを含む、実施例23~26のいずれか1つに記載のオーディオシステム。
実施例28:イネーブルゲートはイベント発生器によってトリガされるように構成されている、実施例27に記載のオーディオシステム。
実施例29:基準クロックを受信し、ハードウェア回路のクロック分周器にメディアクロックを提供するように構成された位相ロックループを更に備える、実施例23~28のいずれか1つに記載のオーディオシステム。
実施例30:オーディオデバイスはまた、ハードウェア回路によって提供されるシリアルクロック信号及びワード選択信号を受信するように構成されている、実施例23~29のいずれか1つに記載のオーディオシステム。
実施例31:オーディオデバイスは、シリアルクロック信号及びワード選択信号をハードウェア回路に提供するように構成されており、ハードウェア回路は、オーディオデバイスから受信したシリアルクロック信号及びワード選択信号をシリアルクロック線及びワード選択線にそれぞれ中継することによって、シリアルクロック信号及びワード選択信号をマイクロコントローラに提供するように構成されている、実施例23に記載のオーディオシステム。
実施例32:周辺コントローラとしてハードウェア回路を含むマイクロコントローラを更に備える、実施例21に記載のオーディオシステム。
実施例33:ワード選択線及びシリアルクロック線を介してハードウェア回路に電気的に接続されたオーディオデバイスを更に備える、実施例32に記載のオーディオシステム。
実施例34:マイクロコントローラは、メディアクロック発生器と、位相ロックループを含むイベント発生器と、タイムスタンプ発生器と、を含む、実施例32又は33に記載のオーディオシステム。
実施例35:同期クロックベースはウォールクロック時間を含む、実施例21~34のいずれか1つに記載のオーディオシステム。
実施例36:クロック基準ストリーム及びオーディオストリームは、国際電気電子協会(IEEE)1722ストリームを含む、実施例21~35のいずれか1つに記載のオーディオシステム。
実施例37:ネットワークインターフェースは有線ネットワークインターフェースを含む、実施例21~36のいずれか1つに記載のオーディオシステム。
実施例38:有線ネットワークインターフェースはイーサネットインターフェースを含む、実施例37に記載のオーディオシステム。
実施例39:オーディオシステムは自動車オーディオシステムを含む、実施例21~38のいずれか1つに記載のオーディオシステム。
実施例40:オーディオシステムはサラウンドサウンドシステムを含む、実施例21~39のいずれか1つに記載のオーディオシステム。
結論
本開示で使用するとき、用語「モジュール」又は「構成要素」は、コンピューティングシステムの汎用ハードウェア(例えば、限定するものではないが、コンピュータ可読媒体、処理デバイス)に記憶されるか、又はその汎用ハードウェアによって実行され得るモジュール若しくは構成要素又はソフトウェアオブジェクト若しくはソフトウェアルーチンのアクションを実行するように構成された特定のハードウェア実装を指し得る。いくつかの実施例では、本開示に記載される異なる構成要素、モジュール、エンジン、及びサービスは、(例えば、限定するものではないが、別個のスレッドとして)コンピューティングシステムで実行するオブジェクト又はプロセスとして実装され得る。本開示に記載されるシステム及び方法のいくつかは、一般に、ソフトウェア(汎用ハードウェアに記憶されるか、又は実行される)に実装されるものとして記載されているが、特定のハードウェア実装、又はソフトウェアと特定のハードウェア実装との組み合わせも可能であり、企図される。
本開示で使用される場合、複数の要素を参照する「組み合わせ」という用語は、全ての要素の組み合わせ、又はいくつかの要素の様々な異なる部分的組み合わせのうちのいずれかを含み得る。例えば、「A、B、C、D、若しくはそれらの組み合わせ」という句は、A、B、C、若しくはD;A、B、C、及びDの各々の組み合わせ;並びにA、B、及びCなどのA、B、C、若しくはDの任意の部分的組み合わせ;A、B、及びD;A、C、及びD;B、C、及びD;A及びB;A及びC;A及びD;B及びC;B及びD;又はC及びDのうちのいずれか1つを指し得る。
本開示で使用される用語、及び特に添付の特許請求の範囲(例えば、限定するものではないが、添付の特許請求の範囲の本文)において使用される用語は、概して、「オープン」用語として意図される(例えば、「含んでいる(including)」という用語は、「含んでいるが、これに限定されない」と解釈されるべきであり、「有している(having)」という用語は、「少なくとも有している」と解釈されるべきであり、「含む(includes)」という用語は、限定するものではないが、「含むが、これに限定されない」と解釈されるべきである)。
加えて、特定の数の導入された特許請求項列挙が意図される場合、そのような意図は特許請求項に明示的に列挙されることになり、そのような列挙がない場合には、そのような意図は存在しない。例えば、理解を助けるために、以下の添付の特許請求の範囲は、特許請求項の列挙を導入するための導入句「少なくとも1つ」及び「1つ以上」の使用を含むことがある。しかしながら、そのような句の使用は、同じ特許請求の範囲が「1つ以上の」又は「少なくとも1つの」という導入句、及び「1つの(a)」又は「1つ(an)」などの不定冠詞を含む場合であっても、「1つの(a)」又は「1つの(an)」という不定冠詞による特許請求の範囲の記載の導入が、そのような導入された特許請求の範囲の記載を含む任意の特定の特許請求の範囲を、1つのみのそのような記載を含む実施例に限定するものと解釈されるべきではない(例えば、「1つの(a)」及び/又は「1つの(an)」は、「少なくとも1つ」又は「1つ以上」を意味すると解釈されるべきである)。特許請求項列挙を導入するために使用される明確な冠詞の使用についても同じことが当てはまる。
加えて、導入された特許請求の範囲に記載の特定の数が明示的に記載されている場合であっても、当業者は、かかる記載が少なくとも記載された数を意味すると解釈されるべきであることを、認識するであろう(例えば、他の修飾語なしでの「2つの〇〇」の明白な記載は、限定するものではないが、少なくとも2つの〇〇又は2つ以上の〇〇を意味する)。更に、「限定するものではないが、A、B、及びCのうちの少なくとも1つ」又は「限定するものではないが、A、B、及びCのうちの1つ以上」に類似した慣例が使用される場合、概して、そのような構造は、限定するものではないが、Aのみ、Bのみ、Cのみ、A及びBを一緒に、A及びCを一緒に、B及びCを一緒に、又はA、B、及びCを一緒に含むことを意図する。
更に、2つ以上の代替用語を提示する任意の離接語又は語句は、明細書、特許請求の範囲、又は図面にかかわらず、用語のうちの1つ、用語のいずれか又は両方の用語を含む可能性を企図するものと理解されるべきである。例えば、語句「A又はB」は、「A」又は「B」又は「A及びB」の可能性を含むと理解されるべきである。
本開示は、ある特定の例示される実施例に関して本明細書に記載されているが、当業者は、本発明がそのように限定されないことを認識し、理解するであろう。むしろ、以下にそれらの法的等価物と共に特許請求されるような本発明の範囲から逸脱することなく、例示され、説明される実施例に対して数多くの追加、削除、及び修正を行うことができる。加えて、一実施例の特徴は、本発明者によって想到されるように、別の開示した実施例の特徴と組み合わせることができるが、それでも、本開示の範囲内に包含される。

Claims (20)

  1. オーディオシステムであって、
    デジタルオーディオインターフェースのワード選択線と、
    前記デジタルオーディオインターフェースのシリアルクロック線と、
    ハードウェア回路と、を備え、前記ハードウェア回路は、
    ワード選択信号であって、前記デジタルオーディオインターフェースのシリアルデータ線に提供されるシリアルデータ信号のチャネルを示すように構成されている、ワード選択信号を前記ワード選択線に提供し、
    前記シリアルクロック線にシリアルクロック信号を提供し、かつ
    前記シリアルクロック信号を、ネットワークインターフェースを介して通信されるオーディオストリームのクロック基準ストリームに同期させるように構成されている、オーディオシステム。
  2. 前記ハードウェア回路は、同期信号のアサーションに応答して前記シリアルクロック信号の提供を開始するように構成されたイネーブルゲートを含む、請求項1に記載のオーディオシステム。
  3. 前記ハードウェア回路は、プレゼンテーションタイムスタンプに応答して前記同期信号をアサートするように構成されたイベント発生器を含む、請求項2に記載のオーディオシステム。
  4. ハードウェア回路は、同期されたタイムベースに少なくとも部分的に基づいて、前記シリアルクロック信号を同期させるように構成されており、前記同期されたタイムベースはウォールクロック時間を含む、請求項1に記載のオーディオシステム。
  5. 前記ハードウェア回路は、前記シリアルクロック線及び前記ワード選択線に電気的に接続されたシリアルクロック分周器を含み、前記シリアルクロック分周器は、前記シリアルクロック線に提供された前記シリアルクロック信号を分周して、前記ワード選択線に前記ワード選択信号を提供するように構成されている、請求項1に記載のオーディオシステム。
  6. 前記ハードウェア回路は、タイムスタンプが前記シリアルデータ信号によって提供されるレートに前記ワード選択信号を分周するように構成されたタイムスタンプ分周器を含む、請求項1に記載のオーディオシステム。
  7. 前記ハードウェア回路を含むスタンドアロンコントローラを備える、請求項1に記載のオーディオシステム。
  8. オーディオデバイスと、
    前記デジタルオーディオインターフェースの前記シリアルデータ線を介して前記オーディオデバイスに電気的に接続されたマイクロコントローラであって、前記マイクロコントローラ及び前記オーディオデバイスは、前記ハードウェア回路によって提供される、前記ワード選択信号及び前記シリアルクロック信号を受信するように構成されている、マイクロコントローラと、を備える、請求項7に記載のオーディオシステム。
  9. 前記スタンドアロンコントローラは、前記マイクロコントローラの周辺機器として、周辺機器インターフェースを介して前記マイクロコントローラと通信するように構成されている、請求項8に記載のオーディオシステム。
  10. 基準クロック信号を受信し、かつ前記ハードウェア回路のメディアクロック分周器にメディアクロック信号を提供するように構成された位相ロックループ、を更に備える、請求項8に記載のオーディオシステム。
  11. 前記オーディオデバイスは、マスタトーカノードとして動作するように構成されており、
    前記スタンドアロンコントローラは、前記オーディオデバイスから、マスタシリアルクロック信号及びマスタワード選択信号を受信するように構成されており、
    前記ハードウェア回路は、イベント発生器からの同期信号及び前記マスタワード選択信号のアサーションに応答して、前記シリアルクロック信号の提供を開始するように構成されたイネーブルゲートを含む、請求項8に記載のオーディオシステム。
  12. マイクロコントローラであって、前記マイクロコントローラの処理コアの周辺機器として実装された前記ハードウェア回路を含む、マイクロコントローラを備える、請求項1に記載のオーディオシステム。
  13. 通信のタイミングを制御するための回路であって、前記回路は、
    シリアルクロック線と、
    前記シリアルクロック線に電気的に接続されたイネーブルゲートであって、同期信号のアサーションに少なくとも部分的に基づいて、前記シリアルクロック線へのシリアルクロック信号の提供を開始するように構成されている、イネーブルゲートと、
    シリアルデータ信号からのプレゼンテーションタイムスタンプに応答して、前記同期信号をアサートするように構成されたイベント発生器であって、前記プレゼンテーションタイムスタンプは、同期されたタイムベースに相関付けられ、前記イネーブルゲート及び前記イベント発生器は、ハードウェア回路を使用して実装されている、イベント発生器と、を備える、回路。
  14. 前記ハードウェア回路は、マイクロコントローラの処理コアの周辺機器として前記マイクロコントローラ内に実装されている、請求項13に記載の回路。
  15. 前記ハードウェア回路は、マイクロコントローラとは別個のスタンドアロンコントローラ内に実装されている、請求項13に記載の回路。
  16. 前記スタンドアロンコントローラを前記マイクロコントローラに電気的に接続するように構成された通信インターフェースを備え、前記イベント発生器は、前記通信インターフェースを通じて前記マイクロコントローラから前記プレゼンテーションタイムスタンプを受信するように構成されている、請求項15に記載の回路。
  17. ワード選択信号を伝送するように構成されたワード選択線と、
    前記ワード選択線に電気的に接続されたタイムスタンプ分周器であって、タイムスタンプが前記シリアルデータ信号によって提供されるレートに前記ワード選択信号を分周するように構成されている、タイムスタンプ分周器と、を備える、請求項13に記載の回路。
  18. マスタノードから前記イネーブルゲートにマスタワード選択信号を配信するように構成されたマスタワード選択線と、
    前記同期信号及び前記マスタイネーブルゲートを受信するように構成されたANDゲートであって、前記同期信号の前記アサーション及び前記ワード選択信号のアサーションに応答して、前記シリアルクロック線に前記シリアルクロック信号を提供するために前記イネーブルゲートをトリガするように構成されている、ANDゲートと、を備える、請求項13に記載の回路。
  19. 前記イネーブルゲートは、前記同期信号の前記アサーションに応答して、前記シリアルクロック信号を前記シリアルクロック線に提供するように構成されている、請求項13に記載の回路。
  20. 前記ハードウェア回路は、スタンドアロンコントローラ及びマスタノードとして、前記シリアルクロック信号及びワード選択信号を提供するように構成されている、請求項13に記載の回路。
JP2023500046A 2020-07-09 2021-07-09 時間同期されたハードウェアコントローラ並びに関連するオーディオシステム及び回路 Pending JP2023532955A (ja)

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 (2)

Publication Number Publication Date
JP2023532955A true JP2023532955A (ja) 2023-08-01
JPWO2022011397A5 JPWO2022011397A5 (ja) 2024-06-28

Family

ID=77265359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023500046A Pending JP2023532955A (ja) 2020-07-09 2021-07-09 時間同期されたハードウェアコントローラ並びに関連するオーディオシステム及び回路

Country Status (6)

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

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 (en) * 2012-01-13 2018-04-18 Dialog Semiconductor B.V. Circuits and methods to reduce pin count of a single channel device with a multi-channel serial interface
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
US20220013149A1 (en) 2022-01-13
KR20230025902A (ko) 2023-02-23
CN115769186A (zh) 2023-03-07
DE112021003685T5 (de) 2023-04-27
WO2022011397A1 (en) 2022-01-13

Similar Documents

Publication Publication Date Title
EP2608444B1 (en) Method and system for synchronizing isochronous usb audio data to a rf communication device clock
EP1256197B1 (en) Reference time distribution over a network
US8745431B2 (en) Compound universal serial bus architecture providing precision synchronisation to an external timebase
TWI511516B (zh) 在網路鎖定狀態發生後用以同步多個網路節點的通訊系統及方法
JP7148413B2 (ja) アイソクロナスデータストリームを制御するためのシステムおよび方法
US20130003757A1 (en) Syntonized communication system
JP2010197320A (ja) スレーブ装置、スレーブ装置の時刻同期化方法、マスタ装置および電子機器システム
JP2010190635A (ja) スレーブ装置、スレーブ装置の時刻同期化方法、マスタ装置および電子機器システム
JP2009527152A5 (ja)
US11477328B2 (en) PTP-based audio clock synchronization and alignment for acoustic echo cancellation in a conferencing system with IP-connected cameras, microphones and speakers
US20050228902A1 (en) Method and system for synchronizing platform clocks in a distributed wireless platform
JP2023532955A (ja) 時間同期されたハードウェアコントローラ並びに関連するオーディオシステム及び回路
TW201239895A (en) Synchronous data processing system and method
CN103546273A (zh) 基于ptp帧的频率同步装置及方法
TWI811515B (zh) 由節點系統執行之使電子系統同步的方法及由節點系統同步之電子系統
KR20010039212A (ko) 타임 스탬프 옵셋 설정 장치 및 그 방법
TWI734326B (zh) 音訊同步處理電路及其方法
TWM628940U (zh) 主控裝置及僕裝置
Pandey et al. Implementation of FreeRTOS based Precision Time Protocol (PTP) application as per IEEE1588v2 standards for Xilinx Zynq UltraScale Plus MPSoC devices
TWI400596B (zh) 同步接收電路及方法
US20230179314A1 (en) In-band signaling for ingress ptp packets at a master entity
WO2023273601A1 (zh) 一种音频同步方法及音频播放设备、音频源、存储介质
TWI835438B (zh) 媒體通訊系統及其具有訊號同步機制的媒體通訊裝置及方法
US20050144496A1 (en) Method and system for synchronizing multimedia I/O with CPU clock
WO2020174943A1 (ja) オーディオ信号同期制御装置及びオーディオ装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240620

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240620