JP6845132B2 - 動的エニュマレーションバスのための事前定義された静的エニュマレーション - Google Patents

動的エニュマレーションバスのための事前定義された静的エニュマレーション Download PDF

Info

Publication number
JP6845132B2
JP6845132B2 JP2017522335A JP2017522335A JP6845132B2 JP 6845132 B2 JP6845132 B2 JP 6845132B2 JP 2017522335 A JP2017522335 A JP 2017522335A JP 2017522335 A JP2017522335 A JP 2017522335A JP 6845132 B2 JP6845132 B2 JP 6845132B2
Authority
JP
Japan
Prior art keywords
slave
predefined
device number
bus
enumeration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017522335A
Other languages
English (en)
Other versions
JP2017536616A5 (ja
JP2017536616A (ja
Inventor
リオール・アマリリオ
ジョセフ・ロバート・フィッツジェラルド
Original Assignee
クアルコム,インコーポレイテッド
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 クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2017536616A publication Critical patent/JP2017536616A/ja
Publication of JP2017536616A5 publication Critical patent/JP2017536616A5/ja
Application granted granted Critical
Publication of JP6845132B2 publication Critical patent/JP6845132B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

優先権出願
本願は、参照によりその全体が本明細書に組み込まれる、2014年11月5日に出願された"PREDEFINED STATIC ENUMERATION FOR DYNAMIC ENUMERATION BUSES"という名称の米国特許出願第14/533,240号の優先権を主張する。
本開示の技術は、一般にはデータバスに関し、より詳細にはSOUNDWIRE(商標)データバスに関する。
携帯電話やコンピュータタブレットなどのモバイル電子デバイス(すなわち、「モバイル端末」)は、現代社会では、様々な日々の使用をサポートするために一般的なものとなっている。これらの電子デバイスは、マイクロフォンおよびスピーカを含む。電子デバイスにおいて使用される典型的なマイクロフォンおよびスピーカはアナログインターフェースを有し、各デバイスを接続するための専用の2つのポート配線を必要とする。しかしながら、電子デバイスは、複数のマイクロフォンおよび/またはスピーカなどの複数のオーディオデバイスを含む場合がある。したがって、そのような電子デバイス内のマイクロプロセッサまたは他の制御デバイスが、共通通信バスを介して複数のオーディオデバイスにオーディオデータを通信できることが望ましい場合がある。さらに、共通通信バスを介して電子デバイス内の異なるオーディオデバイスにオーディオチャネルに関するデジタルデータを移送するための、定義済みの通信プロトコルを提供することが望ましい場合がある。
このことに関して、MIPI(登録商標) Allianceが、電子デバイスに関連する異なるオーディオデバイスにオーディオチャネルに関するデータを移送するための通信プロトコルとしてSOUNDWIRE(商標)を発表した。SOUNDWIREでは、1つのSOUNDWIREマスタインターフェースは、マスタ電子デバイス(「マスタ」または「マスタデバイス」)、またはそれに通信可能に結合されるモニタが、SOUNDWIREスレーブインターフェースに結合される最大11個のスレーブ電子デバイス(「スレーブ」または「スレーブデバイス」)と共通通信バスを介して通信することを可能にする。これを執筆している時点では、SOUNDWIREの現行バージョンはrevision 0.6-r02であり、revision 0.6-r02は、2014年5月6日にMIPI SharePointファイルサーバを通じてMIPI Allianceメンバに内部的に入手可能にされた。
SOUNDWIREは、スレーブがSOUNDWIREバスに接続するための手順を定義する。本手順は、データコリジョンを回避するためにスレーブがバス特有のアドレスを受信するための反復的プロセスを含む。このプロセスは、マスタが各スレーブに1から11の間の固有番号を含むデバイス番号を割り当てるので、エニュマレーション(enumeration)と呼ばれることがある。すべてのスレーブがエニュマレーションされると、SOUNDWIREバスの通常の動作が行われてもよい。データコリジョンを回避することには効果的ではあるが、反復的プロセスは比較的時間がかかり、デバイスがオンされるごとに反復されなければならない。さらに、反復的プロセスは、電力を消費する、重複コマンドを生成する。そのような電力消費は、バッテリー式モバイル端末にとって望ましくない場合がある。
発明を実施するための形態で開示される態様は、動的エニュマレーションバスのための事前定義された静的エニュマレーションシステムおよびプロセスを含む。例示的態様では、動的エニュマレーションバスはSOUNDWIRE(商標)バスでもよい。スレーブデバイスには事前定義されたデバイス番号が与えられ、事前定義されたデバイス番号はマスタに与えられる。マスタは、アドレステーブルにポピュレートするために、与えられた、事前定義されたデバイス番号を使用する。事前定義されたデバイス番号を与えることによって、反復的エニュマレーションプロセスが削減または解消される場合があり、時間および/または電力が節約される。
この点で一態様では、SOUNDWIREバスを介するマスタとスレーブデバイスとの間の通信を制御する方法が開示される。本方法は、対応するデバイス番号を、スレーブデバイス内に記憶された、事前定義されたデバイス番号に設定するために、SOUNDWIREバスを介してマスタからコマンドをブロードキャストするステップを含む。本方法はまた、マスタにおいて、事前定義されたデバイス番号を使用してスレーブデバイスをエニュマレーションするステップを含む。
別の態様では、SOUNDWIREシステムをエニュマレーションする方法が開示される。本方法は、SOUNDWIRE通信バスにスレーブデバイスを結合するステップを含む。本方法はまた、SOUNDWIRE通信バスを通じて、事前定義されたデバイス番号をマスタに与えるステップを含む。
別の態様では、SOUNDWIREシステムをエニュマレーションする方法が開示される。本方法は、SOUNDWIRE通信バスに結合されるスレーブデバイスを検出するステップを含む。本方法はまた、SOUNDWIRE通信バスを通じて、事前定義されたデバイス番号をスレーブデバイスから受信するステップを含む。
別の態様では、SOUNDWIREマスタが開示される。SOUNDWIREマスタは、SOUNDWIRE通信バスに結合されるように構成されるバスインターフェースを備える。SOUNDWIREマスタはまた、バスインターフェースに動作可能に結合される制御システムをも備える。制御システムは、SOUNDWIRE通信バスに結合されるスレーブデバイスを検出するように構成される。制御システムは、SOUNDWIRE通信バスを通じて、事前定義されたデバイス番号をスレーブデバイスから受信するようにさらに構成される。
別の態様では、SOUNDWIREスレーブデバイスが開示される。SOUNDWIREスレーブデバイスは、SOUNDWIRE通信バスに結合されるように構成されるバスインターフェースを備える。スレーブデバイスはまた、バスインターフェースに動作可能に結合される制御システムを備える。制御システムは、SOUNDWIRE通信バスにバスインターフェースを結合するように構成される。制御システムはまた、SOUNDWIRE通信バスを通じて、事前定義されたデバイス番号をマスタに与えるように構成される。
別の態様では、SOUNDWIREシステムが開示される。SOUNDWIREシステムはSOUNDWIRE通信バスを備える。SOUNDWIREシステムはまた、スレーブデバイスをも備える。スレーブデバイスは、SOUNDWIRE通信バスに結合されるスレーブバスインターフェースを備える。スレーブデバイスはまた、デバイス識別番号をも備える。スレーブデバイスはまた、デバイス識別番号とは別個の、事前定義されたデバイス番号を備える。SOUNDWIREシステムはまた、マスタを備える。マスタは、SOUNDWIRE通信バスに結合されるマスタバスインターフェースを備える。マスタはまた、マスタバスインターフェースに動作可能に結合される制御システムを備える。制御システムは、SOUNDWIRE通信バスに結合するスレーブデバイスを検出するように構成される。制御システムはまた、事前定義されたデバイス番号をスレーブデバイスから受信するように構成される。
従来型SOUNDWIRE(商標)システムのブロック図である。 エニュマレーション前の従来型SOUNDWIREシステムのブロック図である。 エニュマレーション後の従来型SOUNDWIREシステムのブロック図である。 少なくとも1つのスレーブが事前定義されたデバイス番号を有する本開示の例示的態様による、エニュマレーション前のSOUNDWIREシステムのブロック図である。 本開示の例示的態様によるエニュマレーションプロセスの流れ図である。 図4のエニュマレーションプロセス後のSOUNDWIREシステムのブロック図である。 図5のSOUNDWIREシステムに取り付けられたスレーブのデバイス番号を保持するためにマスタによって使用される例示的テーブルである。 図5のSOUNDWIREシステムを含むことのできる例示的なプロセッサベースのシステムのブロック図である。
次に図面を参照して、本開示のいくつかの例示的態様が説明される。「例示的」という語は、本明細書では「一例、事例、または例示としての役割を果たすこと」を意味するために使用される。「例示的」なものとして本明細書で説明される任意の態様は、必ずしも他の態様よりも好ましい、または有利なものと解釈されるべきではない。
発明を実施するための形態で開示される態様は、動的エニュマレーションバスのための、事前定義された静的エニュマレーションシステムおよびプロセスを含む。例示的態様では、動的エニュマレーションバスはSOUNDWIRE(商標)バスであってもよい。スレーブデバイスには、事前定義されたデバイス番号が与えられ、事前定義されたデバイス番号はマスタに与えられる。マスタは、アドレステーブルにポピュレートするために、与えられた、事前定義されたデバイス番号を使用する。事前定義されたデバイス番号を与えることによって、反復的エニュマレーションプロセスが削減または解消される場合があり、時間および/または電力が節約される。
本開示の特定の態様に対処する前に、図1〜図2Bを参照しながら、従来型SOUNDWIREシステムおよび従来型エニュマレーションプロセスの簡単な概要が論じられる。本開示の例示的態様が、図3から始めて以下で論じられる。
この点で、図1は、それぞれのバスインターフェース(図示せず)によってSOUNDWIRE互換電子デバイスとしてSOUNDWIRE通信バス16に通信可能に結合される1つのマスタ12および4つのスレーブデバイス14(1)〜14(4)を有する例示的SOUNDWIREシステム10のブロック図である。例示的態様では、スレーブデバイス14(1)〜14(4)は、マイクロフォン、スピーカ、または別のオーディオデバイスであってもよい。マスタ12は、共通クロックワイヤ20を介して通信されるクロック信号18と、SOUNDWIRE通信バス16の共通データワイヤ24("DATA24")上で通信されるデータ信号22という2つの信号を使用して、スレーブデバイス14(1)〜14(4)と通信する。マスタ12はCLOCK_OUT信号を生成し、マスタ12およびスレーブデバイス14(1)〜14(4)は、クロックワイヤ20からCLOCK_IN信号を受信する。同様に、マスタ12およびスレーブデバイス14(1)〜14(4)の各々は、それぞれのDATA_INおよびDATA_OUT信号を有する。4つのスレーブデバイス14(1)〜14(4)だけが図1に示されるが、SOUNDWIRE仕様はマスタ12当たり最大11個のスレーブデバイス14をサポートし、したがってそのようなスレーブデバイス14は、一般にはスレーブデバイス14またはスレーブデバイス14(1)〜14(N)と呼ばれることがあり、ただしNは1から11の間の整数でもよいことを理解されたい。マスタ12は、それに関連する制御システム26を有してもよく、制御システム26は、プロセッサに関連するメモリ内に記憶された関連するソフトウェアを有する、ハードウェアで実装されたプロセッサでもよいことを理解されたい。例示的態様では、制御システム26は、マスタ12のシステムオンチップ(SoC)の部分である。代替例示的態様では、制御システム26は、SOUNDWIREシステム10を含むコンピューティングデバイス用の中央プロセッサに関連付けられてもよい。別の例示的態様では、スレーブデバイス14(1)〜14(4)はそれぞれ、スレーブ制御システム28(1)〜28(4)を有する。別の例示的態様では、任意選択で、モニタ30が存在してもよく、SOUNDWIRE通信バス16に取り付けられてもよい。特に、この態様はマスタ12およびスレーブデバイス14(1)〜14(4)内の様々な要素を示すが、他の態様は、代替要素または構成を含んでもよく、同様の機能を達成してもよい。
引き続き図1を参照すると、SOUNDWIREシステム10は、修正されたNon-Return-to-Zero-Inverted("NRZI")符号化方式をダブルデータレート("DDR")とともに利用し、DATA24が検査され、クロック信号18の遷移ごとに、潜在的に駆動される。非限定的な例として、DATA24は、それぞれのスレーブデバイス14(1)〜14(4)の対応するデータ出力イネーブル信号("DATA_OE")に基づいて、スレーブデバイス14(1)〜14(4)によって駆動されてもよい。SOUNDWIRE仕様内にさらなる情報が見出される場合がある。上記のように、これを執筆している時点では、SOUNDWIREの現行バージョンはrevision 0.6-r02であり、revision 0.6-r02は、2014年5月6日にMIPI SharePointファイルサーバを通じてMIPI Allianceメンバに内部的に入手可能にされた。本明細書では、"SOUNDWIRE"システム、バス、マスタ、デバイスなどは、少なくともSOUNDWIREの2014年5月6日バージョンに準拠するような要素を指す。
図2Aを参照し、かつSOUNDWIRE仕様にさらに記載されるように、電源投入イベント時、またはリセットイベント後、スレーブデバイス14(1)〜14(3)(全般的に「スレーブデバイス14」)は、最初はSOUNDWIRE通信バス16に取り付けられない。図示されるように、3つのスレーブデバイス14(1)〜14(3)があるが、上記のように、最大11個のそのようなスレーブデバイス14があってもよい。各スレーブデバイス14(1)〜14(3)は最初にSOUNDWIRE通信バス16に同期し、この同期が成功すると、スレーブデバイス14(1)〜14(3)は、マスタ12に0のデバイス番号32をレポートする。すなわち、すべての新しく接続されたスレーブデバイス14(1)〜14(3)は、0のデバイス番号32をレポートする。マスタ12は、スレーブデバイス14(1)〜14(3)のdevice_idレジスタ34(1)〜34(3)からデバイス識別番号を読み取る動作のシーケンスを実施する。通常、各スレーブデバイス14は、スレーブデバイス14についての固有デバイス識別を与える6つのdevice_idレジスタ34を有する(たとえば、スレーブデバイス14(1)は6つのdevice_idレジスタ34(1)を有するが、1つのブロックだけが図示される)。マスタ12は、device_idレジスタ34内の最高の値を有するスレーブデバイス14を選び、1から11の間の第1のアドレス(デバイス番号)をそのスレーブデバイス14に割り当てる。次いで、マスタ12は、残りの新しいスレーブデバイス14から0のデバイス番号32を受信する。マスタ12は、0のデバイス番号32をレポートしたスレーブデバイス14のdevice_idレジスタ34からデバイス識別番号を読み取る。次いで、device_idレジスタ34内の最高の値を有するスレーブデバイス14に、1から11の間の第2の固有アドレス(デバイス番号)が割り当てられる。デバイス番号0をレポートするスレーブデバイス14がなくなるまで、このプロセスが反復される。
図2Bを参照すると、SOUNDWIREシステム10は前述のプロセスを終了しており、スレーブデバイス14(1)にはデバイス番号36(1) 2が割り当てられており、スレーブデバイス14(2)にはデバイス番号36(2) 5が割り当てられており、スレーブデバイス14(3)にはデバイス番号36(3) 1が割り当てられている。上記のように、すべての割り当てられたデバイス番号36は1から11の間にあり、SOUNDWIRE通信バス16上のスレーブデバイス14の間で固有のものであり、デバイス番号レジスタ(図示せず)内に記憶されてもよい。SOUNDWIRE仕様に記載のエニュマレーションプロセスはコリジョンを防止し、各スレーブデバイス14がSOUNDWIRE通信バス16上で適切に通信することを可能にするが、エニュマレーションプロセスが各デバイス番号36割当てを通じて反復されるので、多くの重複メッセージがあることは容易に認められる。そのような重複メッセージは、システムの初期化に待ち時間を加え、電力を消費する。バッテリーデバイスでは、そのような電力消費は、デバイスの実効バッテリー寿命を短縮する場合があるので望ましくない。
本開示の例示的態様は、事前定義されたデバイス番号をスレーブデバイスに与えることによって、エニュマレーションプロセスでの重複メッセージを低減する。事前定義されたデバイス番号は、device_idレジスタに記憶されたデバイス識別番号に追加されるものである。スレーブについての事前定義済みのデバイス番号を与えることによって、少なくともそのスレーブは、以下で説明するように、反復的エニュマレーションプロセスから取り除かれる。そのようなスレーブを反復的エニュマレーションプロセスから取り除くことは、反復数を低減し、それによって待ち時間を短縮し、電力を節約する。
この点で、図3は、本開示の例示的態様によるSOUNDWIREシステム40を示す。SOUNDWIREシステム40は、それぞれバスインターフェース43、45(1)、45(3)、および47(2)を通じてSOUNDWIRE通信バス48に接続されたマスタ42ならびに3つのスレーブデバイス44(1)、44(3)、および46(2)を含む。マスタ42はマスタ制御システム(MCS)を有してもよく、マスタ制御システム(MCS)は、本開示の例示的態様を実装するためのハードウェアおよび/またはソフトウェアでもよい。スレーブデバイス44(1)および44(3)はスレーブ制御システム(SCS)を有してもよい。スレーブデバイス46(2)はスレーブ制御システム(SCSI)を有してもよく、スレーブ制御システム(SCS1)は、本開示の例示的態様を実装するためのハードウェアおよび/またはソフトウェアでもよい。3つのスレーブデバイス44(1)、44(3)、および46(2)だけが図示されるが、最大11個のスレーブデバイス44、46がSOUNDWIRE通信バス48に接続されてもよいことを理解されたい。さらに、図1のモニタ30のようなモニタ(図示せず)が、SOUNDWIRE通信バス48に取り付けられてもよい。各スレーブデバイス44(1)、44(3)、および46(2)は、固有デバイス識別がその中に記憶されたそれぞれのdevice_idレジスタ50(1)〜50(3)を含む。上記のように、各device_idレジスタ50(1)〜50(3)について単一のブロックだけが示されるが、例示的態様では、各ブロックは6つのレジスタを表す。図示されるように、スレーブデバイス44(1)および44(3)は従来型スレーブデバイスであり、最初は、0に設定されたデバイス番号52(1)および52(3)を有する。しかしながら、スレーブデバイス46(2)は、たとえば5に設定された、事前定義されたデバイス番号54(2)を有する。1つのスレーブデバイス46(2)が、事前定義されたデバイス番号54(2)を有するものとして示されるが、SOUNDWIRE通信バス48に結合されるスレーブデバイスなどの他のスレーブデバイスも、事前定義されたデバイス番号を有してもよいことを理解されたい。図示されていない例示的態様では、SOUNDWIRE通信バス48に結合されるすべてのスレーブデバイスが、事前定義されたデバイス番号(たとえば、54)を含む。
引き続き図3を参照すると、事前定義されたデバイス番号54(2)は、様々な技法を通じて定義されてもよい。第1の例示的態様では、スレーブデバイス46(2)内のファームウェアは、特定のデバイス番号に設定される。第2の例示的態様では、ファームウェアには2つのデバイス番号が与えられ、スレーブデバイス46(2)に関連する物理ピンが、ローの値またはハイの値に設定される。ピンがハイに設定される場合、2つのデバイス番号のうちの第1のものが与えられる。ピンがローに設定される場合、2つのデバイス番号のうちの第2のものが与えられる。第3の例示的態様では、スレーブデバイス46(2)がSOUNDWIRE通信バス48に取り付けられる前に、プログラマブルメモリ要素が、何らかの移送バス(図示せず)を使用して構成されてもよい。スレーブデバイス46(2)が、最初にマスタ42によって照会されたとき、事前定義されたデバイス番号54(2)を与えるように構成されてもよく、またはSOUNDWIRE通信バス48に取り付けられたとき、初期デバイス番号0を与え、その後で、図4を参照しながら以下でより詳細に説明されるエニュマレーションプロセスの部分として、事前定義されたデバイス番号54(2)をマスタ42に与えるように構成されてもよいことをさらに理解されたい。スレーブデバイス46(2)が最初にデバイス番号0を与える場合、スレーブデバイス46(2)は、0デバイス番号が最初に読み取られる追加のレジスタを有してもよい。その後で、追加のレジスタは、事前定義されたデバイス番号54(2)で上書きされてもよく、または事前定義されたデバイス番号54(2)を保持するレジスタが使用されてもよい。
本開示の代替の例示的態様では、imp-defレジスタが設けられてもよい。imp-defレジスタは、事前エニュマレーション値をサポートするデバイス内で実装される書込み専用レジスタである。このimp-defレジスタに対する書込みコマンドが行われる場合、imp-defレジスタは、事前定義されたデバイス番号54(2)にデバイス番号を直ちに更新する内部コマンドを活動化する。書込みコマンドがimp-defレジスタに対して実行されない場合、デバイスの挙動は、規格において明らかにされる通常のプロセス(すなわち、全エニュマレーション(full-enumeration)および長いエニュマレーション(long-enumeration)プロセス)に従ってもよい。
事前定義されたデバイス番号(たとえば、54(2))を与えることは、事前定義されたデバイス番号を利用するようにSOUNDWIRE仕様のエニュマレーションプロセスを修正することを可能にする。この点で、図4は、事前定義されたデバイス番号でスレーブデバイス(たとえば、スレーブデバイス46(2))を使用するためのプロセス60を示す。プロセス60はSOUNDWIREシステム40の開始で始まる(ブロック62)。マスタ42は、SOUNDWIRE通信バス48に結合されるスレーブデバイス44(1)、44(3)、および46(2)のステータスを読み取る(ブロック64)。ステータスは、スレーブデバイス44(1)、44(3)、および/または46(2)がSOUNDWIRE通信バス48に新たに取り付けられたかどうかを示す。マスタ42は、スレーブデバイス44(1)、44(3)、および/または46(2)のいずれかが新しいかどうかを判定する(ブロック66)。スレーブデバイス44(1)、44(3)、および/または46(2)のいずれも新しくない場合、SOUNDWIREシステム40は通常通り動作し、SOUNDWIRE仕様に記載されるように、SOUNDWIRE通信バス48を介してオーディオデータを渡す。しかしながら、スレーブデバイス44(1)、44(3)、および/または46(2)のうちの1つまたは複数が新しい場合、マスタ42は、スレーブデバイス44(1)、44(3)、および/または46(2)のいずれかが、0であるデバイス番号52を有するかどうかを判定する(ブロック68)。
引き続き図4を参照すると、上記のように、スレーブデバイス46(2)は、初期デバイス番号0を与えないことがある(すなわち、ブロック68に否定的に回答される)。そのような場合、スレーブデバイス46(2)は、事前定義されたデバイス番号54(2)をマスタ42に与えており、マスタ42は、事前定義されたデバイス番号54(2)を、マスタ42内に記憶された作業リストに追加する(ブロック70)。次いで、マスタ42は、device_idレジスタ50(2)からデバイス識別を読み取り、テーブル80にデバイス識別を追加する(ブロック72)(図6参照)。
しかしながら、スレーブデバイス46(2)がデバイス番号0を最初にレポートする(すなわち、ブロック68に肯定的に回答される)場合、マスタ42は、imp-defレジスタに書き込むために、すべてのスレーブデバイス44(1)、44(3)、および46(2)にコマンドをブロードキャストする。imp-defレジスタは、利用可能な場合、事前定義されたデバイス番号でデバイス番号を更新するために内部コマンドを活動化する(ブロック74)。そのようにすることが可能な場合、スレーブデバイス44(1)、44(3)、46(2)は、事前定義された値をデバイス番号レジスタに書き込む。次いで、マスタ42はスレーブステータスを読み取り、したがってスレーブデバイス44(1)、44(3)、および46(2)からデバイス番号52または54を知る(ブロック76)。デバイス番号52または54が0ではない(すなわち、事前定義されたデバイス番号54(2)によってデバイス番号54にポピュレートされた)場合、プロセス60は通常のSOUNDWIRE動作を開始し、ブロック64にループバックする。しかしながら、ブロック74において発行されたコマンドの後、デバイス番号52または54が依然として0である場合、従来型SOUNDWIREエニュマレーションプロセス(ブロック78)が実施され、デバイス識別がスレーブデバイス44(1)、44(3)から読み取られ、新しいデバイス番号が設定され、スレーブデバイス44(1)、44(3)に書き込まれる。エニュマレーションの後、従来型SOUNDWIREオペレーションが行われる。
引き続き図4を参照すると、事前定義されたデバイス番号(たとえば、54(2))を有するスレーブデバイス46(2)は、ブロック74においてブロードキャストコマンドに応答することによってレガシーシステムと相互動作してもよい。すなわち、事前定義されたデバイス番号を認識しないSOUNDWIREシステム40に結合されるスレーブデバイス46(2)は、ブロードキャストコマンドを受信するが、ブロードキャストコマンドを無視し、従来型SOUNDWIRE仕様エニュマレーションプロセスに従ってエニュマレーションされる。
プロセス60が実施された後、スレーブデバイス44(1)、44(3)、および46(2)がすべてエニュマレーションされ、エニュマレーションされたSOUNDWIREシステム40'が図5に示される。スレーブデバイス46(2)は依然として、事前定義されたデバイス番号54(2)を有する。しかしながら、そのときスレーブデバイス44(1)および44(3)は、それぞれスレーブデバイス44(1)'および44(3)'を作成するためにデバイス番号52(1)'および52(3)'でエニュマレーションされている。エニュマレーションされた後は、SOUNDWIREシステム40'は、従来型SOUNDWIREシグナリングを実施してもよい。
マスタ42は、デバイス番号フィールド内(Dev-number)82内にデバイス番号を記述し、デバイスIDフィールド84内にデバイス識別を記述し、スレーブステータスフィールド86内にスレーブステータスを記述し、事前エニュマレーションフィールド(Pre-enum)88内に事前エニュマレーション番号を記述する、図6に示されるテーブル80を有してもよい。スレーブデバイス44(1)、44(3)、または46(2)が事前定義されたデバイス番号を有する場合、この事前定義されたデバイス番号(たとえば、54(2))が、対応する事前エニュマレーションフィールド88内にコピーされる。同様に、新たにエニュマレーションされたデバイスが、テーブル80の、新たに割り当てられたデバイス番号に対応する行に追加される。
SOUNDWIREシステム40がスリープまたはスタンドバイモードに置かれる場合、SOUNDWIRE仕様は、スレーブデバイス44(1)、44(3)、46(2)がエニュマレーションされたままにすることを可能にすることに留意されたい。本開示の態様はこれを変更しない。しかしながら、スレーブがSOUNDWIRE通信バス48から切り離される場合、スレーブデバイス44(1)、44(3)、46(2)は、前述のように、事前定義されたデバイス番号を使用してエニュマレーションしてもよい。
上記の議論はSOUNDWIREシステムに焦点を当てたが、本開示の態様はそのように限定されない。他の動的エニュマレーション方式が、本開示の静的な、事前定義されたデバイス番号、およびそれを検出し、使用するためのプロセスから恩恵を受ける場合がある。
本明細書で開示される態様による、動的エニュマレーションバスのための事前定義された静的エニュマレーションシステムおよびプロセスは、任意のプロセッサベースのデバイス内で提供され、またはその中に統合されてもよい。限定はしないが、例には、セットトップボックス、エンターテイメントユニット、ナビゲーションデバイス、通信デバイス、固定位置データユニット、モバイル位置データユニット、携帯電話、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、同調器、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤが含まれる。
この点で、図7は、図3〜図5に示されるSOUNDWIREシステム40を利用することのできるプロセッサベースのシステム100の一例を示す。この例では、プロセッサベースのシステム100は1つまたは複数の中央演算処理装置(CPU)102を含み、各々は1つまたは複数のプロセッサ104を含む。本開示の例示的態様では、CPU102はマスタ42でもよい。CPU102は、一時的に記憶されたデータに迅速にアクセスするために、プロセッサ104に結合されるキャッシュメモリ106を有してもよい。CPU102はシステムバス108に結合され、プロセッサベースのシステム100内に含まれるマスタおよびスレーブデバイスを相互結合することができる。システムバス108は、図3に示されるように、SOUNDWIRE通信バス48でもよい。周知のように、CPU102は、システムバス108を介してアドレス、制御、およびデータ情報を交換することによってこれらの他のデバイスと通信する。たとえば、CPU102は、スレーブデバイスの一例としてメモリコントローラ110にバストランザクション要求を通信することができる。図7には示されていないが、複数のシステムバス108を設けることができる。
マスタおよびスレーブデバイスがシステムバス108に接続されることが可能である。図7に示されるように、これらのデバイスは、例として、メモリシステム112、1つまたは複数の入力デバイス114、1つまたは複数の出力デバイス116、1つまたは複数のネットワークインターフェースデバイス118、および1つまたは複数のディスプレイコントローラ120を含むことができる。入力デバイス114は、限定はしないが、入力キー、スイッチ、音声プロセッサなどの任意のタイプの入力デバイスを含むことができる。出力デバイス116は、限定はしないが、オーディオ、ビデオ、他の視覚的インジケータなどの任意のタイプの出力デバイスを含むことができる。例示的態様では、複数の入力デバイス114および出力デバイス116の間にSOUNDWIRE通信バス48が存在してもよい。ネットワークインターフェースデバイス118は、ネットワーク122との間でのデータの交換を可能にするように構成される任意のデバイスであることが可能である。ネットワーク122は、限定はしないが、ワイヤードまたはワイヤレスネットワーク、プライベートまたは公衆ネットワーク、ローカルエリアネットワーク(LAN)、ワイヤレスローカルエリアネットワーク(WLAN)、広域ネットワーク(WAN)、Bluetooth(登録商標)、およびインターネットを含む任意のタイプのネットワークであることが可能である。ネットワークインターフェースデバイス118は、必要に応じて、任意のタイプの通信プロトコルをサポートするように構成されることが可能である。メモリシステム112は1つまたは複数のメモリユニット124を含むことができる。
CPU102はまた、システムバス108を介してディスプレイコントローラ120にアクセスし、1つまたは複数のディスプレイ126に送られる情報を制御するように構成されてもよい。ディスプレイコントローラ120は、1つまたは複数のビデオプロセッサ128を介して、表示される情報をディスプレイ126に送り、1つまたは複数のビデオプロセッサ128は、表示される情報を処理して、ディスプレイ126に適したフォーマットにする。ディスプレイ126は、限定はしないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、プラズマディスプレイなどを含む任意のタイプのディスプレイを含むことができる。
本明細書で開示される態様とともに説明された様々な例示的論理ブロック、モジュール、回路、およびアルゴリズムが、電子ハードウェア、メモリまたは別のコンピュータ可読媒体内に記憶され、プロセッサまたは他の処理デバイスによって実行される命令、あるいはその両方の組合せとして実装されてもよいことを当業者はさらに理解されよう。本明細書で説明されるマスタデバイスおよびスレーブデバイスは、例として、任意の回路、ハードウェア構成要素、集積回路(IC)、またはICチップ内で利用されてもよい。本明細書で開示されるメモリは、任意のタイプおよびサイズのメモリでもよく、所望の任意のタイプの情報を記憶するように構成されてもよい。この互換性を明確に示すために、様々な例示的構成要素、ブロック、モジュール、回路、およびステップが、その機能の点で上記で一般的に説明された。そのような機能がどのように実装されるかは、特定の応用例、設計の選択肢、および/またはシステム全体に課される設計制約に依存する。当業者は、特定の応用例ごとに様々な方式で記載の機能を実装してもよいが、そのような実装決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきではない。
本明細書で開示される態様とともに説明される様々な例示的論理ブロック、モジュール、および回路は、プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、ディスクリートゲートもしくはトランジスタロジック、ディスクリートハードウェア構成要素、または本明細書で説明される機能を実施するように設計されたそれらの任意の組合せで実装または実施されてもよい。プロセッサはマイクロプロセッサでもよいが、代替実施形態では、プロセッサは、任意の従来型プロセッサ、コントローラ、マイクロコントローラ、またはステートマシンでもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえばDSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、1つまたは複数のマイクロプロセッサとDSPコア、または任意の他のそのような構成として実装されてもよい。
本明細書で開示される態様は、ハードウェア、およびハードウェア内に記憶される命令として実施されてもよく、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気プログラマブルROM(EPROM)、電気消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で周知の任意の他の形態のコンピュータ可読媒体内に常駐してもよい。例示的記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替実施形態では、記憶媒体はプロセッサと一体でもよい。プロセッサおよび記憶媒体はASIC内にあってもよい。ASICはリモート局内にあってもよい。代替実施形態では、プロセッサおよび記憶媒体は、別個の構成要素としてリモート局、基地局、またはサーバ内にあってもよい。
本明細書の例示的態様のいずれかで説明される動作ステップは、例および議論を提供するために説明されることにも留意されたい。説明される動作は、図示されるシーケンス以外の多数の異なるシーケンスで実施されてもよい。さらに、単一の動作ステップで説明される動作は、実際にはいくつかの異なるステップで実施されてもよい。さらに、例示的態様で論じられる1つまたは複数の動作ステップが組み合わされてもよい。流れ図で示される動作ステップは、当業者には容易に明らかとなるような多数の異なる修正の対象となる場合があることを理解されたい。様々な異なる技術および技法のいずれかを使用して情報および信号が表現されてもよいことも当業者は理解されよう。たとえば、上記の説明全体を通じて参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁気粒子、光場あるいは光粒子、またはそれらの任意の組合せによって表現されてもよい。
本開示の先の説明は、当業者が本開示を作成または使用することを可能にするために与えられる。本開示に対する様々な修正が当業者には容易に明らかとなり、本明細書で定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の変形形態に適用されてもよい。したがって、本開示は、本明細書で説明される例および設計に限定されないものとし、本明細書で開示される原理および新規な特徴に適合する最も広い範囲が本開示には与えられるべきである。
10 SOUNDWIREシステム
12 マスタ
14 スレーブデバイス
16 SOUNDWIRE通信バス
18 クロック信号
20 共通クロックワイヤ
22 データ信号
24 共通データワイヤ
26 制御システム
28 スレーブ制御システム
30 モニタ
34 device_idレジスタ
40 SOUNDWIREシステム
42 マスタ
43 バスインターフェース
44 スレーブデバイス
45 バスインターフェース
46 スレーブデバイス
47 バスインターフェース
48 SOUNDWIRE通信バス
50 device_idレジスタ
100 プロセッサベースのシステム
102 中央演算処理装置(CPU)
104 プロセッサ
106 キャッシュメモリ
108 システムバス
110 メモリコントローラ
112 メモリシステム
114 入力デバイス
116 出力デバイス
118 ネットワークインターフェースデバイス
120 ディスプレイコントローラ
122 ネットワーク
124 メモリユニット
126 ディスプレイ
128 ビデオプロセッサ

Claims (15)

  1. 動的エニュマレーションオーディオバスを介するマスタとスレーブデバイスとの間の通信を制御する方法であって、
    前記動的エニュマレーションオーディオバスを介して、対応するデバイス番号を、前記スレーブデバイス内に記憶された事前定義されたデバイス番号に設定するために前記マスタからコマンドをブロードキャストするステップであって、前記事前定義されたデバイス番号はデバイス識別番号とは別個であり、前記事前定義されたデバイス番号が、前記スレーブデバイスにおいて、前記コマンドに応じて、デバイス番号0が格納されたデバイス番号レジスタに書き込まれる、ステップと、
    前記マスタにおいて、前記事前定義されたデバイス番号を使用して前記スレーブデバイスをエニュマレーションするステップであって、前記事前定義されたデバイス番号が、1〜11の間の各スレーブデバイスに固有の番号であり、エニュマレーション時のデータコリジョンを回避するためのものである、ステップ
    を含む、方法。
  2. 前記動的エニュマレーションオーディオバスに前記スレーブデバイスを最初に結合するステップであって、前記動的エニュマレーションオーディオバスはSOUNDWIREバスを備える、ステップをさらに含む、請求項1に記載の方法。
  3. 前記スレーブデバイスが前記SOUNDWIREバスに新たに取り付けられることを判定するステップをさらに含む、請求項2に記載の方法。
  4. 前記コマンドをブロードキャストするステップの前に、前記スレーブデバイスが前記デバイス番号0を有することを検出するステップをさらに含む、請求項1に記載の方法。
  5. 第2のスレーブデバイスに前記コマンドをブロードキャストするステップをさらに含む、請求項1に記載の方法。
  6. 前記コマンドをブロードキャストするステップの後、前記第2のスレーブデバイスが対応する初期デバイス番号0を依然として有することを判定するステップをさらに含む、請求項5に記載の方法。
  7. 前記第2のスレーブデバイスからデバイス識別番号を読み取るステップと、前記第2のスレーブデバイスについての新しいデバイス番号を設定するステップとをさらに含む、請求項6に記載の方法。
  8. 前記動的エニュマレーションオーディオバスに関連するシステムをスリープまたはスタンドバイモードに置くステップをさらに含む、請求項1に記載の方法。
  9. 前記スレーブデバイス内に記憶された前記事前定義されたデバイス番号を設定するステップをさらに含み、前記スレーブデバイスが前記動的エニュマレーションオーディオバスに結合される前に、前記スレーブデバイス内に記憶された前記事前定義されたデバイス番号が設定される、請求項1に記載の方法。
  10. 前記事前定義されたデバイス番号を設定するステップが、前記スレーブデバイス上のピンを使用するステップを含む、請求項9に記載の方法。
  11. 前記事前定義されたデバイス番号を設定するステップが、前記事前定義されたデバイス番号を設定するためにファームウェアを使用するステップを含む、請求項9に記載の方法。
  12. 前記事前定義されたデバイス番号を設定するステップが、前記スレーブデバイスの前記デバイス番号レジスタをプログラムするために第2のバスを使用するステップを含む、請求項9に記載の方法。
  13. 動的エニュマレーションオーディオバスに結合されるように構成されるバスインターフェースと、
    前記バスインターフェースに動作可能に結合される制御システムであって、
    前記動的エニュマレーションオーディオバスに結合されるスレーブデバイスを検出することと、
    前記動的エニュマレーションオーディオバスを介して、対応するデバイス番号を、前記スレーブデバイス内に記憶された事前定義されたデバイス番号に設定するためにコマンドをブロードキャストすることであって、前記事前定義されたデバイス番号が、前記スレーブデバイスにおいて、前記コマンドに応じて、デバイス番号0が格納されたデバイス番号レジスタに書き込まれる、ことと、
    前記動的エニュマレーションオーディオバスを通じて、前記事前定義されたデバイス番号を前記スレーブデバイスから受信することであって、前記事前定義されたデバイス番号はデバイス識別番号とは別個であ前記事前定義されたデバイス番号が、1〜11の間の各スレーブデバイスに固有の番号であり、エニュマレーション時のデータコリジョンを回避するためのものである、受信することと
    を行うように構成される制御システムと
    を備える、マスタデバイス。
  14. 動的エニュマレーションオーディオバスに結合されるように構成されるバスインターフェースと、
    前記バスインターフェースに動作可能に結合される制御システムであって、
    前記動的エニュマレーションオーディオバスに前記バスインターフェースを結合することと、
    前記動的エニュマレーションオーディオバスを介して、対応するデバイス番号を、スレーブデバイス内に記憶された事前定義されたデバイス番号に設定するためにマスタからコマンドを受け取ることであって、前記事前定義されたデバイス番号が、前記スレーブデバイスにおいて、前記コマンドに応じて、デバイス番号0が格納されたデバイス番号レジスタに書き込まれる、ことと、
    前記動的エニュマレーションオーディオバスを通じて、事前定義されたデバイス番号を前記マスタに提供することであって、前記事前定義されたデバイス番号はデバイス識別番号とは別個であ前記事前定義されたデバイス番号が、1〜11の間の各スレーブデバイスに固有の番号であり、エニュマレーション時のデータコリジョンを回避するためのものである、提供することと
    を行うように構成される制御システムと
    を備える、スレーブデバイス。
  15. 動的エニュマレーションオーディオバスと、
    スレーブデバイスであって、
    前記動的エニュマレーションオーディオバスに結合されるスレーブバスインターフェースと、
    デバイス識別番号と、
    前記デバイス識別番号とは別個の事前定義されたデバイス番号と
    を備えるスレーブデバイスと、
    マスタであって、
    前記動的エニュマレーションオーディオバスに結合されるマスタバスインターフェースと、
    前記マスタバスインターフェースに動作可能に結合される制御システムであって、
    前記動的エニュマレーションオーディオバスに結合された前記スレーブデバイスを検出し、
    前記動的エニュマレーションオーディオバスを介して、対応するデバイス番号を、前記事前定義されたデバイス番号に設定するためにコマンドをブロードキャストし、
    前記事前定義されたデバイス番号を前記スレーブデバイスから受信する
    ように構成される制御システムと
    を備えるマスタと
    を備え、前記事前定義されたデバイス番号が、前記スレーブデバイスにおいて、前記コマンドに応じて、デバイス番号0が格納されたデバイス番号レジスタに書き込まれ、前記事前定義されたデバイス番号が、1〜11の間の各スレーブデバイスに固有の番号であり、エニュマレーション時のデータコリジョンを回避するためのものである、システム。
JP2017522335A 2014-11-05 2015-10-09 動的エニュマレーションバスのための事前定義された静的エニュマレーション Active JP6845132B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/533,240 US9785605B2 (en) 2014-11-05 2014-11-05 Predefined static enumeration for dynamic enumeration buses
US14/533,240 2014-11-05
PCT/US2015/054857 WO2016073136A1 (en) 2014-11-05 2015-10-09 Predefined static enumeration for dynamic enumeration buses

Publications (3)

Publication Number Publication Date
JP2017536616A JP2017536616A (ja) 2017-12-07
JP2017536616A5 JP2017536616A5 (ja) 2018-11-08
JP6845132B2 true JP6845132B2 (ja) 2021-03-17

Family

ID=54364698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017522335A Active JP6845132B2 (ja) 2014-11-05 2015-10-09 動的エニュマレーションバスのための事前定義された静的エニュマレーション

Country Status (6)

Country Link
US (1) US9785605B2 (ja)
EP (1) EP3216172B1 (ja)
JP (1) JP6845132B2 (ja)
CN (1) CN107077443B (ja)
TW (1) TW201633166A (ja)
WO (1) WO2016073136A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10185683B2 (en) 2013-12-18 2019-01-22 Qorvo Us, Inc. Bus interface system
US10540226B2 (en) 2013-12-18 2020-01-21 Qorvo Us, Inc. Write technique for a bus interface system
US10579580B2 (en) 2013-12-18 2020-03-03 Qorvo Us, Inc. Start of sequence detection for one wire bus
US10528502B2 (en) 2013-12-18 2020-01-07 Qorvo Us, Inc. Power management system for a bus interface system
US10282269B2 (en) 2013-12-18 2019-05-07 Qorvo Us, Inc. Read technique for a bus interface system
US10579128B2 (en) 2016-03-01 2020-03-03 Qorvo Us, Inc. Switching power supply for subus slaves
US10698847B2 (en) 2016-03-01 2020-06-30 Qorvo Us, Inc. One wire bus to RFFE translation system
US10437772B2 (en) 2016-03-24 2019-10-08 Qorvo Us, Inc. Addressing of slave devices on a single wire communications bus through register map address selection
US10176130B2 (en) * 2016-03-30 2019-01-08 Qorvo Us, Inc. Slave device identification on a single wire communications bus
US10073137B2 (en) * 2016-08-02 2018-09-11 Qualcomm Incorporated Soundwire-based embedded debugging in an electronic device
US10558607B2 (en) 2017-02-01 2020-02-11 Qorvo Us, Inc. Bus interface system for power extraction
US10482056B2 (en) 2017-11-21 2019-11-19 Qualcomm Incorporated Transfer of master duties to a slave on a communication bus
US11009864B2 (en) * 2018-04-06 2021-05-18 Bently Nevada, Llc Gated asynchronous multipoint network interface monitoring system
US10528517B1 (en) * 2018-08-09 2020-01-07 Qualcomm Incorporated Systems and methods for power conservation in a SOUNDWIRE audio bus through pattern recognition
US10359827B1 (en) 2018-08-15 2019-07-23 Qualcomm Incorporated Systems and methods for power conservation in an audio bus
US10599601B1 (en) 2019-01-16 2020-03-24 Qorvo Us, Inc. Single-wire bus (SuBUS) slave circuit and related apparatus
US11119958B2 (en) 2019-04-18 2021-09-14 Qorvo Us, Inc. Hybrid bus apparatus
US11226924B2 (en) 2019-04-24 2022-01-18 Qorvo Us, Inc. Single-wire bus apparatus supporting slave-initiated operation in a master circuit
US10983942B1 (en) 2019-12-11 2021-04-20 Qorvo Us, Inc. Multi-master hybrid bus apparatus
US11409677B2 (en) 2020-11-11 2022-08-09 Qorvo Us, Inc. Bus slave circuit and related single-wire bus apparatus
US11489695B2 (en) 2020-11-24 2022-11-01 Qorvo Us, Inc. Full-duplex communications over a single-wire bus
US11706048B1 (en) 2021-12-16 2023-07-18 Qorvo Us, Inc. Multi-protocol bus circuit

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4570217A (en) * 1982-03-29 1986-02-11 Allen Bruce S Man machine interface
JP2959403B2 (ja) 1994-07-25 1999-10-06 松下電工株式会社 ネットワーク機器の自動id割り付け方法及び装置
US6772254B2 (en) * 2000-06-21 2004-08-03 International Business Machines Corporation Multi-master computer system with overlapped read and write operations and scalable address pipelining
US7292876B2 (en) 2002-10-08 2007-11-06 Sonion Nederland B.V. Digital system bus for use in low power instruments such as hearing aids and listening devices
EP1877914B1 (en) * 2005-04-29 2010-02-24 Nxp B.V. Device identification coding of inter-integrated circuit slave devices
US20100191995A1 (en) 2009-01-26 2010-07-29 Koby Levy In-Band Sleep Protocol for Embedded Bus
US8225021B2 (en) 2009-05-28 2012-07-17 Lexmark International, Inc. Dynamic address change for slave devices on a shared bus
US8775707B2 (en) 2010-12-02 2014-07-08 Blackberry Limited Single wire bus system
US20130058495A1 (en) 2011-09-01 2013-03-07 Claus Erdmann Furst System and A Method For Streaming PDM Data From Or To At Least One Audio Component
JP5780310B2 (ja) * 2011-11-09 2015-09-16 トヨタ自動車株式会社 電子制御装置及びマイクロコンピュータの制御方法
US9479275B2 (en) 2012-06-01 2016-10-25 Blackberry Limited Multiformat digital audio interface
WO2014132168A1 (en) * 2013-02-22 2014-09-04 Marvell World Trade Ltd. Multi-slot multi-point audio interface

Also Published As

Publication number Publication date
TW201633166A (zh) 2016-09-16
JP2017536616A (ja) 2017-12-07
CN107077443B (zh) 2023-03-21
US9785605B2 (en) 2017-10-10
CN107077443A (zh) 2017-08-18
EP3216172B1 (en) 2023-02-22
EP3216172A1 (en) 2017-09-13
US20160124892A1 (en) 2016-05-05
WO2016073136A1 (en) 2016-05-12

Similar Documents

Publication Publication Date Title
JP6845132B2 (ja) 動的エニュマレーションバスのための事前定義された静的エニュマレーション
US9948299B2 (en) On-die termination control without a dedicated pin in a multi-rank system
JP6165342B2 (ja) エンベデッドメモリへのコマンドキューイングの提供
US8766989B2 (en) Method and system for dynamically adding and removing display modes coordinated across multiple graphics processing units
US20170153997A1 (en) Bus system
US8972685B2 (en) Method, apparatus and system for exchanging communications via a command/address bus
US10997687B1 (en) Systems and methods for providing universal support for multiple types of graphics processing units
JP2017505067A (ja) バス通信識別のためのデバイス識別情報の外部制御を可能にする電子デバイスにおけるデバイス識別情報の生成、ならびに関連するシステムおよび方法
US9658645B2 (en) Control circuits for generating output enable signals, and related systems and methods
JP2015049907A (ja) メモリをホットスワップできるマザーボード
JP6151465B1 (ja) プロセッサコアの電力モードを制御するためのレイテンシベースの電力モードユニット、ならびに関連する方法およびシステム
EP3032752A1 (en) Apparatus, system and method for allocating identifiers to components of a control system
US9645959B2 (en) Fast link training in embedded systems
US20170168968A1 (en) Audio bus interrupts
US9760515B2 (en) Shared control of a phase locked loop (PLL) for a multi-port physical layer (PHY)
JP2005303718A (ja) マトリックス状バス接続システム
US20180196681A1 (en) Selective processor wake-up in an electronic device
US11354266B2 (en) Hang correction in a power management interface bus
US20200019523A1 (en) Delayed bank switch commands in an audio system
JP2012221405A (ja) アクセス制御システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180925

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180925

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190829

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200114

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200508

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200508

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200520

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200525

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20200612

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20200622

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20201019

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20201116

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201215

C302 Record of communication

Free format text: JAPANESE INTERMEDIATE CODE: C302

Effective date: 20201223

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20210104

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20210208

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20210208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210225

R150 Certificate of patent or registration of utility model

Ref document number: 6845132

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250