JP2017504228A - バス上で追加的な二次データ線を介してデータを送るシステムおよび方法 - Google Patents
バス上で追加的な二次データ線を介してデータを送るシステムおよび方法 Download PDFInfo
- Publication number
- JP2017504228A JP2017504228A JP2016529925A JP2016529925A JP2017504228A JP 2017504228 A JP2017504228 A JP 2017504228A JP 2016529925 A JP2016529925 A JP 2016529925A JP 2016529925 A JP2016529925 A JP 2016529925A JP 2017504228 A JP2017504228 A JP 2017504228A
- Authority
- JP
- Japan
- Prior art keywords
- data line
- slimbus
- communication
- data
- devices
- 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
Links
- 238000000034 method Methods 0.000 title claims description 52
- 230000006854 communication Effects 0.000 claims abstract description 179
- 238000004891 communication Methods 0.000 claims abstract description 179
- 238000009432 framing Methods 0.000 claims abstract description 50
- 230000005540 biological transmission Effects 0.000 claims abstract description 31
- 230000001360 synchronised effect Effects 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 69
- 230000004044 response Effects 0.000 claims description 13
- 230000006870 function Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 16
- 239000000872 buffer Substances 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 238000007726 management method Methods 0.000 description 9
- 238000012546 transfer Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 5
- 230000011664 signaling Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000013078 crystal Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004206 montan acid ester Substances 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
- G06F13/423—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
- Bus Control (AREA)
Abstract
シリアル低電力チップ間メディアバス通信リンクが、複数の集積回路デバイスを持つ装置で展開される。通信リンクに結合されたデバイスの通信機能が決定され得て、構成またはフレーミングメッセージは、機能に基づいて第1のデバイスに送られ得る。メッセージは、少なくとも一次データ線で送信のタイミングを制御するために使用されるクロックを用いて、通信リンクの一次データ線で送信され得る。通信機能は、デバイスによってサポートまたはデバイスに結合されたいくつかのデータワイヤを識別する情報を含む場合がある。第1のデバイスは、そのような直接的な通信のために予約され得る、二次データ線を通じて第2のデバイスと通信するように構成され得る。二次データ線上の通信は、クロック信号を使用して同期され得て、一次データ線に使用されるプロトコルとは異なるプロトコルによって制御され得る。
Description
関連出願の相互参照
本特許出願は、本明細書の譲受人に譲受され、参照により本明細書に明確に組み込まれている、2013年11月14日に出願した「System And Method Of Sending Data Via Additional Secondary Data Lines On A Bus」と題する、米国仮出願第61/904,133号の優先権を主張するものである。
本特許出願は、本明細書の譲受人に譲受され、参照により本明細書に明確に組み込まれている、2013年11月14日に出願した「System And Method Of Sending Data Via Additional Secondary Data Lines On A Bus」と題する、米国仮出願第61/904,133号の優先権を主張するものである。
本開示は、一般的にデータ通信インターフェースに関し、より詳しくは、複数のデバイス間で提供されるデータ通信リンクに関する。
セルラー電話などモバイルデバイスの製造業者は、異なる製造業者を含む様々な出所からモバイルデバイスの構成要素を取得することができる。たとえば、セルラー電話のアプリケーションプロセッサは、第1の製造業者から取得され得る一方、セルラー電話のディスプレイは、第2の製造業者から取得され得る。アプリケーションプロセッサおよびディスプレイまたは他のデバイスは、標準ベースのまたはプロプライエタリな物理インターフェースを使用して相互接続され得る。
一例では、シリアル低電力チップ間メディアバス(SLIMbus:serial low-power inter-chip media bus)標準は、モバイル電話など携帯型コンピューティングデバイスでの使用によく適した通信バス標準である。SLIMbus標準に従って、構成要素は、単一のSLIMbusデータ線および単一のクロック線によって接続され得る。しかしながら、SLIMbusに接続されたデバイスの新しい世代は、オーディオおよび映像データを処理および通信するアプリケーションのために増加し続ける帯域幅およびスループットを必要とする。
したがって、モバイルデバイスの構成要素と他の装置との間で利用可能な通信帯域幅を増加させる必要がある。
本明細書に開示された実施形態は、SLIMbus通信リンクの動作を向上させることができるシステム、方法、および装置を提供する。通信リンクは、複数の集積回路(IC)デバイスを持つモバイル端末などの装置に展開され得る。
開示の特定の態様では、データ通信方法は、SLIMbusに結合された第1のデバイスの通信機能を決定するステップと、SLIMbusの一次データ線を通じて第1のデバイスに構成メッセージを送るステップと、少なくとも一次データ線上の送信のタイミングを制御するクロック信号を提供するステップとを含む。通信機能は、デバイスに支援または結合されたいくつかのデータワイヤを識別する情報を含むことができる。構成メッセージは、二次データ線を通じて第2のデバイスとの通信のために第1のデバイスが構成されることを生じさせることができる。第1のデバイスは、SLIMbusプロトコルを使用して、第2のデバイスと通信するように構成され得る。第1のデバイスは、非SLIMbusプロトコルを使用して、第2のデバイスと通信するように構成され得る。二次データ線は、SLIMbusから独立して第1のデバイスを第2のデバイスに接続することができる。二次データ線上の通信は、クロック信号を使用して同期され得る。構成メッセージは、フレーミングメッセージを含むことができる。
一態様では、方法は、一次データ線と二次データ線のデータの両方のタイムスロットに複数の通信チャネルを割り振るステップを含むことができる。第1のデバイスは、複数の通信チャネルの1つを使用して、第2のデバイスと通信することができる。
一態様では、構成メッセージは、第1のデバイスと第2のデバイスとの間の通信のために二次データ線を予約する制御情報を含む。二次データ線は、SLIMbusの複数の二次データ線の1つの場合がある。制御情報は、第3のデバイスで提供されるSLIMbusマネージャによって生成され得る。第3のデバイスは、一次データ線を通じて通信することに制限され得る。
一態様では、方法は、複数のデバイスに一次データ線を通じて構成メッセージを送るステップと、1つまたは複数のデバイスに再構成コマンドを送信するステップとを含む。再構成コマンドは、複数のデバイスの各々が、少なくとも1つの構成メッセージに従って構成を採用することを生じさせることができる。一次データ線を通じて送られた少なくとも1つの構成メッセージは、デバイスの事前定義された組にアドレス指定され得る。第1のデバイスは、第3のデバイスに、一次データ線を通じて送られた少なくとも1つの構成メッセージを中継するように構成され得る。
開示の特定の態様では、装置は、SLIMbusに結合された第1のデバイスの通信機能を決定するための手段と、SLIMbusの一次データ線を通じて第1のデバイスに構成メッセージおよびフレーミングメッセージを送るための手段と、少なくとも一次データ線上で送信のタイミングを制御するクロック信号を提供するための手段とを含む。通信機能は、デバイスに結合されたいくつかのデータワイヤを識別することができる。第1のデバイスは、二次データ線を通じて第2のデバイスと通信するように構成され得る。
開示の特定の態様では、装置は、SLIMbusに結合された第1のデバイスの通信機能を決定し、SLIMbusの一次データ線を通じて第1のデバイスに構成メッセージおよび/またはフレーミングメッセージを送り、少なくとも一次データ線上で送信のタイミングを制御するクロック信号を提供するように構成された処理回路を含む。通信機能は、デバイスに結合されたいくつかのデータワイヤを識別することができる。第1のデバイスは、二次データ線を通じて第2のデバイスと通信するように構成され得る。
開示の特定の態様では、プロセッサ可読記憶媒体は、少なくとも1つの処理回路によって実行されたときに、少なくとも1つの処理回路が、SLIMbusに結合された第1のデバイスの通信機能を決定し、SLIMbusの一次データ線を通じて第1のデバイスに構成メッセージおよび/またはフレーミングメッセージを送り、少なくとも一次データ線上で送信のタイミングを制御するクロック信号を提供することを生じさせる1つまたは複数の命令で符号化され得る。通信機能は、デバイスに結合されたいくつかのデータワイヤを識別することができる。第1のデバイスは、二次データ線を通じて第2のデバイスと通信するように構成され得る。
開示の特定の態様では、通信方法は、SLIMbus一次データ線から1つまたは複数の構成メッセージを受信するステップと、1つまたは複数の構成メッセージに基づき、かつ再構成コマンドに応じて、通信用インターフェースを再構成するステップと、第2のデータ線を通じて第2のデバイスと通信しながら、第1のデータ線を通じて第1のデバイスと通信するステップとを含む。第2のデータ線は、第2のデバイスとの通信のために予約され得る。第1データ線は、SLIMbus一次データ線またはSLIMbus二次データ線を含むことができる。第2のデータ線は、SLIMbus一次データ線によって使用されるフレーミングおよび制御構成を用いるSLIMbus二次データ線の場合がある。フレーミングおよび制御構成は、ルートクロック周波数を定義することができる。フレーミングおよび制御構成は、ギアリング(gearing)を定義することができ、フレーム境界を計算するために使用される。一部の場合には、第2のデータ線上の通信は、非SLIMbusプロトコルによって制御され得る。
一態様では、方法は、マネージャデバイスに通信能力情報を報告するステップを含むことができる。構成メッセージは、通信能力情報に応じて生成され得る。
開示の特定の態様では、装置は、SLIMbus一次データ線から1つまたは複数の構成メッセージを受信するための手段と、1つまたは複数の構成メッセージに基づき、かつ再構成コマンドに応じて、通信用インターフェースを再構成するための手段と、第2のデータ線を通じて第2のデバイスと通信しながら、第1のデータ線を通じて第1のデバイスと通信するための手段とを含む。第2のデータ線は、第2のデバイスとの通信のために予約され得る。
開示の特定の態様では、装置は、SLIMbus一次データ線から1つまたは複数の構成メッセージを受信し、1つまたは複数の構成メッセージに基づいて、かつ再構成コマンドに応じて、通信用インターフェースを再構成し、第2のデータ線を通じて第2のデバイスと通信しながら、第1のデータ線を通じて第1のデバイスと通信するように構成された処理回路を含む。第2のデータ線は、第2のデバイスとの通信のために予約され得る。
開示の特定の態様では、プロセッサ可読記憶媒体は、1つまたは複数の命令を記憶または維持する。命令は、少なくとも1つの処理回路によって実行され得て、少なくとも1つの処理回路が、SLIMbus一次データ線から1つまたは複数の構成メッセージを受信し、1つまたは複数の構成メッセージに基づいて、かつ再構成コマンドに応じて、通信用インターフェースを再構成し、第2のデータ線を通じて第2のデバイスと通信しながら、第1のデータ線を通じて第1のデバイスと通信することを生じさせることができる。第2のデータ線は、第2のデバイスとの通信のために予約され得る。
図面に関して、ここで様々な態様について記述する。以下の記述では、説明を目的として、1つまたは複数の態様について完全な理解を得るために、多数の特定の詳細について説明されている。しかしながら、そのような態様は、これらの特定の詳細なしで実施され得ることは、明らかであろう。
本出願で使用する場合、「構成要素」、「モジュール」、「システム」などの用語は、限定しないが、ハードウェア、ファームウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアなど、コンピュータ関連のエンティティを含むことが意図される。たとえば、構成要素は、限定しないが、プロセッサで実行されているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピュータの場合がある。実例として、コンピューティングデバイスで実行されているアプリケーションとコンピューティングデバイスの両方は、構成要素になり得る。1つまたは複数の構成要素は、プロセスおよび/または実行のスレッド内に存在することができ、構成要素は、1つのコンピュータに配置され、かつ/または2つ以上のコンピュータ間で分散され得る。加えて、これらの構成要素は、そこに記憶されている様々なデータ構造を持つ様々なコンピュータ可読媒体から実行することができる。構成要素は、たとえば、ローカルシステム内の、分散システム内の別の構成要素とやりとりし、および/または、インターネットなどのネットワークを介して信号によって他のシステムとやりとりする1つの構成要素からのデータなどの、1つまたは複数のデータパケットを有する信号に従って、ローカルおよび/またはリモートプロセスを介して、通信することができる。
その上、「または(or)」という用語は、排他的な「または(or)」ではなく包括的な「または(or)」を意味することを意図している。すなわち、特に明記されていない限り、または文脈から明白でない限り、「XはAまたはBを用いる(X employs A or B)」という言葉は、自然な包括的順列(natural inclusive permutation)のいずれかを意味することを意図している。すなわち、「XはAまたはBを用いる」という言葉は、次の例のいずれかによって満たされる。XはAを用いる、XはBを用いる、またはXはAとBの両方を用いる。加えて、本出願および添付の請求項で使用される「1つの(a)」および「1つの(an)」という冠詞は、一般的に、特に明記されていない限り、または文脈から単数形を対象とすることが明白でない限り、「1つまたは複数(one or more)」を意味するものと解釈されるべきである。
本発明の特定の態様は、電話、モバイルコンピューティングデバイス、着用可能なコンピューティングデバイス、メディアプレイヤ、ゲームデバイス、機器、自動車エレクトロニクス、アビオニクスシステムなどの装置のサブ構成要素を含むことができる電子デバイス間で展開される通信リンクに適用可能な場合がある。図1は、ICデバイス間の通信リンクを用いることができるワイヤレス通信デバイス100の一例を示している。一例では、ワイヤレス通信デバイス100は、RFインターフェースを通じて無線アクセスネットワーク、コアアクセスネットワーク、インターネット、および/または別のネットワークと通信するワイヤレス通信デバイスを含むことができる。ワイヤレス通信デバイス100は、処理回路102に操作可能なように結合された通信トランシーバ106を含むことができる。処理回路102は、特定用途向けIC(ASIC)108など1つまたは複数のICデバイスを含む場合がある。ASIC108は、1つまたは複数の処理デバイス、論理回路などを含む場合がある。処理回路102は、処理回路102によって実行され得る命令およびデータを維持し得るメモリ112などのプロセッサ可読ストレージを含み得、かつ/またはそれに結合され得る。処理回路102は、オペレーティングシステム、およびワイヤレスデバイスのメモリ112など記憶媒体に存在するソフトウェアモジュールの実行をサポートおよび可能にするアプリケーションプログラミングインターフェース(API)レイヤ110の1つまたは複数によって制御され得る。メモリ112は、読み取り専用メモリ(ROM)またはランダムアクセスメモリ(RAM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュカード、または処理システムおよびコンピューティングプラットフォームで使用され得る任意のメモリデバイスを含む場合がある。処理回路102は、ワイヤレス通信デバイス100を構成および運用するために使用される動作パラメータおよび他の情報を維持することができるローカルデータベース114を含むか、またはそれにアクセスすることができる。ローカルデータベース114は、データベースモジュール、フラッシュメモリ、磁気媒体、EEPROM、光学媒体、テープ、ソフトディスク、またはハードディスクなどの1つまたは複数を使用して実装され得る。処理回路102は、また、アンテナ122、表示システム124、および他の構成要素中で、ボタン128、130、および/またはキーパッド126などオペレータ制御を含む場合がある内部デバイスおよび/または外部デバイスに操作可能なように結合され得る。いくつかの例では、表示システム124は、タッチスクリーン構成要素を含むことができる。
図2は、図1のワイヤレス通信デバイス100、ワイヤレスモバイルコンピューティングデバイス、自動車電話、ワイヤレス電話、ノート型コンピュータ、タブレットコンピューティングデバイス、メディアプレイヤ、ゲームデバイス、着用可能なコンピューティングデバイス、機器などの装置の特定の態様を図示するブロック略図200である。装置200は、通信リンク220を介してデータおよび制御情報を交換する複数のICデバイス202および230を含む場合がある。通信リンク220は、相互に近くに位置するか、または装置200の異なる部分に物理的に位置する2つ以上のICデバイス202および230を接続するために使用され得る。一例では、通信リンク220は、チップキャリア、基板、またはICデバイス202および230を運ぶ回路基板で提供され得る。別の例では、第1のICデバイス202は、スマートフォンまたは折りたたみ型電話機のキーパッド部に位置され得る一方、第2のICデバイス230は、折りたたみ型電話機のディスプレイ部、タッチスクリーン表示パネルなどに位置され得る。別の例では、通信リンク220の一部分は、ケーブル接続または光接続を含む場合がある。
通信リンク220は、複数の個々のデータリンク222、224、および226を持つことができる。1つの通信リンク226は、双方向コネクタを含むことができ、時分割、半二重、全二重、または他のモードで動作することができる。1つまたは複数の通信リンク222および224は、単方向コネクタを含む場合がある。通信リンク220は、非対称的に構成され得て、一方向に、かつ/または異なるICデバイス202、230間でより高い帯域幅を提供する。一例では、2つのICデバイス202、230間の第1の通信リンク222は、順方向リンク222と呼ばれ得る一方、2つのICデバイス202、230間の第2の通信リンク224は、逆方向リンク224と呼ばれ得る。別の例では、第1のICデバイス202は、ホスト、マネージャ、マスター、および/または送信機として動作するか指示され得る一方、1つまたは複数の他のICデバイス230は、両方のICデバイス202および230が、通信リンク222で送信および受信するように構成されていても、クライアント、スレーブ、および/または受信機として指示され得る。一例では、データリンク222は、第1のICデバイス202から第2のICデバイス230にデータを伝達するとき、第1のICデバイス202と第3のICデバイス(図示せず)との間で提供されるデータリンクよりも、より高いデータ転送速度で動作することができる。
ICデバイス202および230はそれぞれ、本明細書に開示された特定の機能を実行するために、様々な回路およびモジュールと協働するように適応された汎用プロセッサまたは他の処理および/または計算回路もしくはデバイス206、236を含む場合がある。ICデバイス202、230は、異なる機能を実行し、かつ/または装置200の異なる運用上の態様をサポートすることができる。ICデバイス202および230を含む、複数のICデバイスは、モデム、トランシーバ、ディスプレイ制御装置、ユーザインターフェースデバイス、ブルートゥース(登録商標)インターフェースデバイス、オーディオ/ビジュアルシステム、デジタル/アナログ変換器、アナログ/デジタル変換器、メモリデバイス、処理デバイスなどを含む場合がある。一例では、第1のICデバイス202は、ワイヤレストランシーバ204およびアンテナ214を通じてワイヤレス通信を維持すること含む、装置200のコア機能を実行することができる一方、第2のICデバイス230は、ディスプレイ制御装置232を管理もしくは運用するユーザインターフェースをサポートすることができ、かつ/またはカメラ制御装置234を使用して、カメラまたはビデオ入力デバイスの動作を制御することができる。ICデバイス202および230の1つまたは複数によってサポートされる他の特徴は、キーボード、音声認識構成要素、アプリケーションプロセッサ、および様々な入力または出力デバイスを含む場合がある。ディスプレイ制御装置232は、液晶ディスプレイ(LCD)パネル、タッチスクリーンディスプレイ、インジケータなどのディスプレイをサポートする回路およびソフトウェアドライバを持つことができる。記憶媒体208および238は、それぞれのプロセッサ206および236、ならびに/またはICデバイス202および230の他の構成要素によって使用される命令およびデータを保持するように適応された、一時的ストレージデバイスおよび/または非一時的ストレージデバイスを含む場合がある。各プロセッサ206、236ならびにその対応する記憶媒体208および238、ならびに他のモジュールおよび回路の間の通信は、それぞれ、1つまたは複数のバス212および242によって容易にされる場合がある。
異なるリンク222、224、または226は、比較可能な速度または異なる速度で送信することができる場合があり、速度は、データ転送速度および/またはクロック速度として表現され得る。データ速度は、用途に依存して、実質的に同じか、または著しく異なる場合がある。一部の用途では、単一の双方向リンク226は、第1のICデバイス202と第2のICデバイス230との間の通信をサポートすることができる。順方向リンク222および/または逆方向リンク224は、双方向モードで動作するように構成可能な場合があり、順方向および逆方向のリンク222および224は、同じ物理的接続、コネクタ、および/またはワイヤを共有することができる。一例では、通信リンク220は、業界標準または他の標準に従って、第1のICデバイス202と第2のICデバイス230との間の制御、コマンド、および他の情報を通信するように運用され得る。
業界標準は、用途に固有な場合がある。一例では、モバイルインダストリプロセッサインターフェース(MIPI:Mobile Industry Processor Interface)標準は、アプリケーションプロセッサICデバイス202と、カメラ、ディスプレイ、メディアプレイヤなどを含む、モバイルデバイスの機能要素およびモジュールをサポートするICデバイス230との間でインターフェースを提供するために使用され得るSLIMbusインターフェースを含む、物理レイヤインターフェースを定義する。
図3は、SLIMbus構成要素304と306との間で提供されるSLIMbus通信リンク310を示すシステム300の簡略ブロック図である。SLIMbus通信リンク310は、SLIMbus構成要素304、306間で展開される複数のSLIMbusデータ線312、314を含む場合がある。本明細書にさらに記述するように、SLIMbus通信リンク310は、SLIMbus通信バス310で望まれる帯域幅およびスループットを取得するために、希望または必要に応じて2つを超えるデータ線を提供するように適応または構成され得る。
SLIMbus通信リンク310は、「ルートクロック」周波数を分割することによって選択された周波数を持つSLIMbusクロック線316を含む場合がある。一部の例では、ルートクロックは、28MHz以上の周波数を持つことができる。一部の例示では、SLIMbusクロック線316の周波数は、10個の利用可能なクロックギヤの1つを使用することによって選択され得る。クロックギヤは、2の累乗でクロック周波数を割ることができる。一例では、SLIMbusクロック線316は、以下の等式を使用して計算された周波数(fCLK)を持つことができる。
ここで、fROOTは、ルートクロックの周波数であり、Gは選択されたギヤである。この構成では、G=10の場合、最大クロック周波数が選択され、最大クロック周波数は、ルートクロックの周波数に等しい。
システム300は、第1のSLIMbus構成要素304に結合されているホスト302を含む場合がある。第1のSLIMbusコンポーネント304は、第1のSLIMbusデータ線312および第2のSLIMbusデータ線314の1つまたは複数を含む場合がある、SLIMbus通信リンク310を使用して、第2のSLIMbus構成要素306に結合され得る。第2のSLIMbus構成要素306は、SLIMbus構成要素または非SLIMbusデバイスを含む場合がある、第3の構成要素308に結合され得る。
ホスト302は、デジタル信号プロセッサ(DSP)、中央処理装置(CPU)、グラフィック処理装置(GPU)、マイクロプロセッサ、またはそれらの任意の組合せの1つまたは複数を持つ処理回路を含む場合がある。ホスト302は、移動局モデム(MSM:mobile station modem)、モバイルデータモデム(MDM:mobile data modem)、無線周波数トランシーバ(RTR)、アプリケーションプロセッサ(APQ)、またはそれらの任意の組合せを含む場合がある。第1のSLIMbusデータ線312は、第1の帯域幅をサポートすることができ、第2のSLIMbusデータ線314は、第2の帯域幅をサポートすることができる。一例では、第1のSLIMbusデータ線312および第2のSLIMbusデータ線314は、同じ周波数でクロック制御され得て、第1のSLIMbusデータ線312および第2のSLIMbusデータ線314は、同じデータ速度でデータを運ぶことができる。別の例では、第1のSLIMbusデータ線312は、第2のSLIMbusデータ線314よりも大きい帯域幅を持つことができる。別の例では、第2のSLIMbusデータ線314および第1のSLIMbusデータ線312が、異なる速度でクロック制御される場合、第2のSLIMbusデータ線314は、第1のSLIMbusデータ線312よりも大きい帯域幅を持つことができる。後者の例では、第1帯域幅は、28メガビット/秒(Mbps)の場合があり、第2の帯域幅は、28Mbpsよりも大きい場合がある。第1のSLIMbusデータ線312および第2のSLIMbusデータ線314の1つまたは複数でのスループットは、第1のSLIMbusデータ線312および/または第2のSLIMbusデータ線314が制御情報を運ぶ場合、低下され得る。
複数のSLIMbusデータ線312、314の各々は、双方向データ線の場合がある。一部の例では、1つのSLIMbusデータ線312または314は、双方向データ線の場合がある一方、第2のSLIMbusデータ線314または312は、単向性データ線の場合がある。本明細書で使用する場合、双方向データ線は、2つ以上のデバイス間で異なる方向にデータを送ることができるデータ線の場合がある。さらに、複数のSLIMbusデータ線312、314の各々は、異なる電力レベルに関連するデータを送信するために利用され得る。たとえば、第1のSLIMbusデータ線312は低電力トラフィックに利用されてもよく、一方で第2のSLIMbusデータ線314はより高い電力トラフィックに利用されてもよい。特定のタイプのトラフィックに対して電力バジェットが有効な場合がある。電力消費は、送信クロック周波数、SLIMbusデータ線312または314での送信のためにデータを符号化するために使用される符号化方式、データ圧縮率、符号化されたデータのタイプなどの1つまたは複数を構成することによって、特定のアプリケーションで管理または制御され得る。
動作中、データは、第1のSLIMbus構成要素304から第2のSLIMbus構成要素306に送られ得る。本明細書において使用される場合、データは、オーディオデータ、非オーディオデータ、パルス符号変調(PCM)オーディオデータ、Sony Philips Digital Interface(SPDIF)データ、High Definition Audio(HDA)データ、プロフェッショナルオーディオデータ(すなわち、Dolby Surround 5.1/7.1および特定のRoland Musicシステムにおいて使用されるような192kHz、24ビット)、またはそれらの任意の組合せを含んでもよい。第1のSLIMbus構成要素304は、複数のSLIMbusデータ線312、314から選択された1つまたは複数のSLIMbusデータ線上でデータを送ることができる。たとえば、データは、第1のSLIMbusデータ線312、第2のSLIMbusデータ線314、またはそれらの任意の組合せを介して送られ得る。
本明細書に開示した特定の態様に従って、第1のSLIMbus構成要素304は、複数のSLIMbusデータ線312および314を通じて並列にデータを送ることができるか、または単一のSLIMbusデータ線312または314を通じてデータを直列に送ることができる。データが並列に送られるか、または直列に送られるかは、データのサイズ、少なくとも1つのSLIMbusデータ線のクロック周波数、SLIMbusデータ送信プロトコルとのデータの互換性、データの優先度、サービス要件の品質などの要素に左右され得るか、またはこれらの要素および/または他の要素の任意の組合せに基づく場合がある。
第1のSLIMbus構成要素304は、第1のSLIMbusデータ線312および第2のSLIMbusデータ線314を使用して、並列にデータを送ることができる。一例では、データは、2つの部分に分割され得て、部分は、SLIMbusデータ線312および314を通じて、同時に、または実質的に同時に送信され得る。受信されると、データはインターリーブおよび/または連結されてもよい。別の例では、データは、2つの部分に分割され得て、第1のSLIMbus構成要素304は、第1のSLIMbusデータ線312および第2のSLIMbusデータ線314の1つを通じてデータを直列に送ることができる。一部の場合には、データの2つの部分は、第1のSLIMbusデータ線312または第2のSLIMbusデータ線314のいずれかを通じて連続して送信され得る。データは、SLIMbusデータ送信プロトコル、時分割送信プロトコル、または非時分割送信プロトコルに従って送られ得る。
本明細書に記述したように、本明細書に開示した特定の態様に従って、第3のデバイス308は、複数のSLIMbusデータ線312、314をサポートする構成と互換性を持つように構成され得る。たとえば、第3のデバイス308は、複数のSLIMbusデータ線312、314を通じて、第1の構成要素304からデータを受信するように構成され得る。第3のデバイス308に送られた特定のデータは、SLIMbusデータ送信プロトコル以外の非時分割プロトコルまたは時分割プロトコルの場合がある、非SLIMbusプロトコルに従って送信され得る。
本明細書に開示した特定の態様に従って、各SLIMbusデータ線312、314を通じて送信されたデータは、異なるSLIMbus構成要素に対応することができる。たとえば、第1および第2の構成要素304、306は、第1のSLIMbusデータ線312およびSLIMbusクロック線316を使用して、データを受信および送信するように構成され得る一方、第3および第4のSLIMbus構成要素は、第2のSLIMbusデータ線314およびSLIMbusクロック線316を使用して、データを受信および送信するように構成され得る。同じSLIMbusクロック線316は、各々が異なるSLIMbusデータ線312、314を使用する、異なる構成要素または構成要素の組の間でのデータ転送のタイミングおよび速度を制御することができる。
SLIMbusデバイスは、単一のSLIMbusデータ線312、314への接続のために制限または構成され得る。一部の例では、1つまたは複数のSLIMbus構成要素304、306は、複数の利用可能なSLIMbusデータ線312、314に接続され得て、単一のSLIMbusクロック線316に接続され得る。加えて、複数のSLIMbusデータ線との互換性のために構成されたデバイスは、1つのみのSLIMbusデータ線をサポートするレガシーデバイスを用いるシステム300に共存することができる。
図4は、SLIMbus通信リンク310を通じて通信するように適応された装置400を示している。例では、装置400は、複数のSLIMbusデータ線312、314、およびSLIMbusクロック線316を使用して、1つまたは複数の他のICデバイス(図示せず)と通信するように適応され得るICデバイス402を含む。
ICデバイス402は、処理回路またはデバイス、符号器/復号器(CODEC)、入力デバイス、出力デバイスなど、1つまたは複数のモジュールまたは回路を使用して実装された機能構成要素に対応することができる。ICデバイス402は、システムレベルのデバイスロジック404に加えて、図3に示したSLIMbus構成要素304または306を含む場合がある。一例では、ICデバイス402は、SLIMbus構成要素304として動作し、図3のホスト302は、システムレベルのデバイスロジック404を含む。
一例では、ICデバイス402は、直接メモリアクセス(DMA)レイヤ408、SLIMbusデバイスレイヤ410、トランスポートプロトコルレイヤ412、フレームレイヤ414、および物理レイヤ416を含む場合がある。DMAレイヤ408は、第1の有限状態機械(FSM)418、シーケンサ、または他の処理回路もしくはデバイスなどの処理回路を含むか、またはそれらによって実装され得る。DMAレイヤ408は、第1のパイプ420aおよび第2のパイプ420bを含む複数のパイプを含む場合がある。複数のパイプは、n番目のパイプ420nまで追加のパイプを含む場合がある。複数のパイプは、データメッセージおよび/またはユーザ定義の構成メッセージなどメッセージを送信する1つまたは複数のメッセージチャネルとして構成され得る。
SLIMbusデバイス層410は、一般デバイス層、インターフェースデバイス層、フレーマデバイス層、マネージャデバイス層、またはそれらの任意の組合せであってもよい。SLIMbusデバイスレイヤ410は、メッセージポートとも呼ばれ得る、第2のFSM422、1つまたは複数の先入れ先出し方式(FIFO)バッファ、および1つまたは複数のポートなどの処理回路を含む場合がある。一例では、第1のFIFOバッファ424a、第2のFIFOバッファ424b、およびn番目のFIFOバッファ424nまでの他のFIFOバッファ、第1のポート(ポート0)426a、第2のポート(ポート1)426b、n番目のポート(ポートn)426nまで。各ポート426a〜426nは、対応するFIFOバッファ424a〜424nに接続され得る。たとえば、第1のポート426aは、第1のFIFOバッファ424aに接続され得て、第2のポート426bは、第2のFIFOバッファ424bに接続され得るというように、n番目のFIFOバッファに424n接続され得るn番目のポート426nまで続く。
一部の例では、各ポート426a〜426nは、各個々のポート424a〜424nの双方向データ転送機能を可能にしかつ/またはサポートすることができる、2つのFIFOバッファ424a〜424nに結合され得る。たとえば、第1のポート426aは、第1のFIFOバッファ424aおよび第2のFIFOバッファ424bに接続され得る。加えて、ポートは、非同期接続をサポートすることができ、それによってより多くのポートを装置400で利用可能にする。デュアルFIFOポートを使用することによって、専用のアップリンクポート対および専用のダウンリンクポート対を使用する代わりに、単一のポート対を2つのデバイス間の双方向通信に使用することができるため、システム内で利用可能なポートの全体的な数が実効的に2倍になり得ることが諒解されよう。
フレームレイヤ414は、スイッチ選択信号432を生成することができ、第1のマルチプレクサ434および第2のマルチプレクサ436を含む場合がある。第1のマルチプレクサ434は、データ送信428に関連付けられ得て、第2のマルチプレクサ436はデータ受信430に関連付けられ得る。スイッチ選択信号432は、第1のSLIMbusデータ線312、第2のSLIMbusデータ線314、またはそれらの任意の組合せを介して、第1のマルチプレクサ434が、データを送信することを生じさせることができる。あるいはまたは加えて、スイッチ選択信号432は、第1のSLIMbusデータ線312、第2のSLIMbusデータ線314、またはそれらの任意の組合せを介して、第2のマルチプレクサ436が、データを受信することを生じさせることができる。
一部の構成では、フレームレイヤ414は、単一のマルチプレクサ434または436を含む場合がある。たとえば、ICデバイス402は、単一のマルチプレクサ434、436をそれぞれ含む、2つのフレームレイヤ414を含む場合がある。別の例では、トランスポートプロトコルレイヤ412は、第1のマルチプレクサ434および第2のマルチプレクサ436を含むことができ、追加のSLIMbusクロック線が使用され得る。しかしながら、追加のSLIMbusクロック線は、SLIMbusデータ線よりも多くの電力を消費する可能性があるので、複数のSLIMbusクロック線を含む実装は、電力消費を減らすために回避され得る。一例では、SLIMbusクロック線316は、SLIMbus接続310に起因する合計電力消費の60〜70%を占める場合がある。
図5は、複数のデータ線556、558とともにSLIMbus通信リンク552を用いる装置500の一例を示すブロック図である。この例では、装置500は、デュアルデータ線対応のSLIMbus構成要素、および1つまたは複数の単一データ線対応のSLIMbus構成要素を含む少なくとも1つのデバイス508を持つデバイス502、504、および506を含む場合がある。デバイス502、504、506、および508の各々は、ICデバイスで提供され得るか、またはICデバイスを含む場合がある。デバイス502、504、506、および508の各々は、たとえば単一のパッケージ内、または回路基板において、1つまたは複数の他のICデバイス、またはチップキャリアに配置され得る他の回路と協働することができる。
一例では、第1のデバイス502(デバイスA)は、マスターまたはマネージャ550、第1のポート(ポート0)512、第2のポート(ポート1)514、および第3のポート(ポート2)516を含むアプリケーションプロセッサとして機能することができる。第1のデバイス502は、また、フレーマ518、および第1のデバイス502の動作に関連する構成パラメータおよび他の情報を維持する構成レジスタ510を含む場合がある。たとえば、フレーマ518は、図4のフレームレイヤ414の特定の機能に対応するか、かつ/またはそれを実装することができる。第2のデバイス504(デバイスB)は、オーディオCODECの場合があり、第1のポート522、第2のポート524、第3のポート526、フレーマ528、および構成レジスタ520を含む場合がある。第3のデバイス506(デバイスC)は、第1のポート532、第2のポート534、フレーマ538、および構成レジスタ530を含むデータモデムの場合がある。第4のデバイス508(レガシーデバイスD)は、複数のデータ線SLIMbus機能なしで製造される(たとえば、スピーカまたはマイクロフォンに関連するデバイスを含む)入力または出力デバイスなどレガシーデバイスの場合がある。第4のデバイス508は、第1のポート542、第2のポート544、フレーマ548、および構成レジスタ540を含む場合がある。
動作において、マネージャ550は、デバイス502、504、506、および508に各々のSLIMbus構成要素の機能の決定に基づいて装置500内で通信を構成することができる。構成は、典型的には、構成するデバイス502、504、506、および508のデータ線機能(単一、2倍、複数)を考慮する。マネージャ550は、ハードウェアおよびソフトウェアの組合せとして実装され得る。一例では、マネージャ550は、デバイスA 502に実装され得て、処理回路、シーケンサ、状態機械、ソフトウェアおよびファームウェア、またはそれらの任意の組合せを含むか、または用いることができる。マネージャ550は、エニュメレーションプロセスの間に、SLIMbus構成要素の構成を決定することができる。たとえば、エニュメレーションの間に、マネージャ550は、第1のデバイス502、第2のデバイス504、および第3のデバイス506が、デュアルデータ線対応のSLIMbus構成要素を持っていること、および第4のデバイス508が、単一データ線対応のSLIMbus構成要素を持っていることを決定することができる。
マネージャ500は、対応するSLIMbus構成要素またはデバイス502、504、506、および/または508の機能を識別する情報を維持する、構成レジスタ510、520、530、および540の1つまたは複数に問い合わせることによって、各SLIMbus構成要素の機能を決定することができる。一例では、SLIMbus構成要素の機能に関連する情報は、デバイス製造業者によって事前定義され得る。別の例では、SLIMbus構成要素の機能に関連する情報は、システムインテグレータによって構成され得る。
一部の場合には、各SLIMbus構成要素の機能は、高レベルのオペレーティングシステム(HLOS)との通信に基づいて決定され得る。たとえば、特定のデバイス502、504、506、および/または508に関連付けられたHLOSは、構成ファイルを提供することができ、各デバイスに対して機能ビットを交換することができる。HLOSは、ルックアップテーブルを使用し、かつ/または構成データベースに能力情報を問い合わせることができる。
一部の例では、各SLIMbus構成要素の機能は、専用のメッセージチャネルを通じて送信された情報を含む、専用のメッセージを通じて決定され得る。一例では、専用のメッセージチャネルは、すべてのSLIMbusデバイス502、504、506、506に接続され得る、一次データ線556で1つまたは複数のタイムスロットを使用して提供される。一部の例では、1つまたは複数のユーザ定義のメッセージは、SLIMbus構成要素間で送信され得て、ユーザ定義のメッセージは、SLIMbus構成要素が、単一データ線、デュアルデータ線に対して構成可能か、もしく構成されているか、または別の数のSLIMbusデータ線をサポートすることができるかを示すデータを含む。
図6は、本明細書に開示された特定の態様に従ってSLIMbus通信リンクに関連付けられた送信のタイミングを示すスケジューリング図600、図620を含む。スケジューリング図600および図620は、図5の装置500に適用可能なスケジューリングの異なる例を示している。第1のスケジューリング図600は、共通のメッセージングおよびフレーミングが複数のSLIMbusデータ線556および558に使用されるときのスケジューリングの例に関係する一方、第2のスケジューリング図620は、複数のSLIMbusデータ線556および558の各々が、個別化されたメッセージングおよびフレーミングの構成を使用するときのスケジューリングの例に関する。
第1のスケジューリング図600は、時分割マルチプレキシング(TDM)を使用して、第1のSLIMbus構成要素502、504、506、および/または508から、第2のSLIMbus構成要素502、504、506、および/または508の1つまたは複数のポートに、データが通信され得る例に関する。TDM方式では、一連の一次データフレーム602は、一次データ線556で送信され得る。複数の連続する時間区間(スロット)は、TDM方式によって定義され得る。一例では、スロットは、隣接する4ビットとして定義され得る。4ビットデータから32ビットデータ(またはそれ以上)への様々なデータ組織に対する帯域幅割り振りは、4ビットスロットをグループ化することによって達成され得る。各スロットの発生の期間、機能、および頻度は、アプリケーションのニーズおよび運用上の考察に従って構成され得る。フレームは、192の隣接するスロットを含むように定義され得る。各一次データフレーム602は、典型的には、それぞれ1つまたは複数のデータスロット608a〜608dおよび610a〜610dに先行するフレーミングスロット604および608を含む。一例では、各フレームの第1のスロットは、4ビットのフレーム同期シンボルを運ぶことができる、制御スロットとして定義され得て、他のスロットは、フレーミング情報を運ぶことができる。スーパーフレームは、8つの隣接するフレームを含む送信として定義され得る。スーパーフレームのタイミングは、スーパーフレームを構築する構成フレームのスロットのタイミングによって定義され得て、スーパーフレームの送信速度は、ルート周波数およびギアリングの組合せの選択を通じて動的に構成され得る。
データスロット608および610は、1つまたは複数のメッセージのペイロードデータを運ぶために使用され得る。データスロット608および610は、1つまたは複数のチャネルに割り振られ得て、各チャネルは、発信元SLIMbus構成要素502、504、506、および/または508と、宛先SLIMbus構成要素502、504、506、および/または508との間でデータを運ぶ。たとえば、第1のデータスロット608aおよび610aは、第1のデバイス(デバイスA)502の第1のポート512と第3のデバイス(デバイスC)506の第2のポート534との間で通信のために第1のチャネルに割り振られ得て、データスロット608cおよび610cは、第2のデバイス(デバイスB)504の第1のポート522と第4のデバイス(デバイスD)508の第2のポート544との間で通信のために第2のチャネルを運ぶために割り振られ得る。残りのスロット608b/610bおよび608d/610dは、他のチャネルに割り振られ得て、かつ/またはアイドル状態に配置され得る。
一連の二次データフレーム612は、二次SLIMbusデータ線558で同時または同時期に送信され得る。二次データフレーム612は、一次データフレーム602のデータスロットに時間において対応するデータスロット614、616a〜616c、618a〜618c、および620に配分され得る。第1の例600では、二次データフレーム612の第1のデータスロット614および620は、アイドル状態になるか、またはそうでなければ使用されない場合があり、一次データフレーム602のデータスロット604および606で受信されたフレーミング情報は、二次データフレーム612を構成するために使用され得る。この構成では、追加の帯域幅は、一次データフレーム602で定義されたチャネルに対して定義され得て、かつ/または追加のチャネルは、二次データフレーム612で定義され得る。一例では、第1のチャネルで送信されたデータは、一次データフレーム602で割り振られたデータスロット608aおよび610aに加えて、二次データフレーム612の1つまたは複数のデータスロット616a〜616cを使用することができる。別の例では、デバイスA 502の第2のポート514からデバイスB 504の第2のポート524に送信されたデータは、二次データフレーム612の1つまたは複数のデータスロット616bおよび618bが割り振られた、第3のチャネルで送られ得る。
データは、2つ以上の物理的なSLIMbus線556および558を使用して、かつ複数のデータスロット608、610で、1対のデバイス502、504、506、および/または508の間で送信され得る。複数のSLIMbusデータ線556および558を通じて、かつ/または複数のデータスロット608、610で送られたデータは、受信時に時間インターリーブされ得る。一次データフレーム602および二次データフレーム604のデータスロットは、フレーミングスロット604、606で提供される情報によって構成された、共通のクロックサイクルに関連付けられ得る。その結果、データは、同期して、並列に、同時に、かつ/または実質的に同時に、第1および第2のSLIMbusデータ線556および558を通じて送られ得る。
フレーミングスロット604および606の間に、第2のSLIMbusデータ線558は、アイドル状態にある場合がある。一部の従来の実装では、二次データフレーム604の特定のデータスロット616cおよび618cは、対応するデータスロット608c、608d、610c、および610dが、デュアルデータ線対応ではないデバイス508を含む通信に使用される場合、アイドル状態にある場合がある。本明細書に開示された特定の態様に従って、他のデバイス502、504、および506は、それらの間の通信をスケジューリングすることによって、二次データフレーム612でアイドルデータスロット616c、618cを利用するプライベートデータ通信チャネルを確立することを試みることができる。この結果として、第2のSLIMbusデータ線558上の通信チャネルの存在が、参加していないデバイス502、504、または506から「隠される」システムが得られることを理解されるであろう。その上、二次データ線558の存在は、単一のSLIMbusデータ線と互換性を持つレガシーデバイス508から隠され得る。一部の場合には、マネージャ550は、装置500の管理デバイス550が、第2のSLIMbusデータ線558を通じて通信を受信することができないレガシーデバイス508に実装されている場合でも、隠された第2のSLIMbusデータ線558を使用して、データ速度をスケジューリングおよび構成することを担当することができる。
第2のスケジューリング図620は、一次データフレーム622のフレーミングスロット626、630に対応する二次データフレーム632のデータスロット634、636が、第2のSLIMbusデータ線558を通じて通信を受信することができる、SLIMbus構成要素502、504、および/または506の間の通信チャネルに割り振られ得る、データ通信の例を示している。帯域幅およびスループットは、メッセージングおよびフレーミングが、すべてのSLIMbusデータ線556、558に対して調整される実装に対して最大限にされ得る。一部の例では、一次データフレーム622および二次データフレーム632のデータスロットは、異なるクロックサイクルまたはバスサイクルに対応することができ、異なるタイミングを持つことができる。したがって、第1のスケジューリング図600に関して記述したように、データを同期してまたは並列に送ることに加えて、データは、SLIMbus構成要素502、504、506、および/または508の間で非同期に送信され得る。
SLIMbus構成要素502、504、506、および/または508は、単一の発信元SLIMbus構成要素502、504、506、および/または508から、複数の宛先SLIMbus構成要素502、504、506、および/または508に、送信を許可するように構成され得る。たとえば、データは、選択されたデータスロット608、610、624、および628の間に、第1のSLIMbusデータ線556および第2のSLIMbusデータ線558を通じて、デバイスB 504の第2のポート524から、デバイスA 502の第2のポート514およびデバイスC 506の第1ポート532に送信され得る。1つまたは複数のSLIMbusデータ線556および558を通じた、2つ以上のSLIMbusポート512、514、516、522、524、526、532、534、542、および/または544の間のデータ通信のスケジューリングは、中央で制御されたクロックに基づいて共通バスサイクルを使用して達成され得る。
従来のSLIMbus通信リンクの特定の態様は、増加した帯域幅およびスループットに対する需要に応えるための技術の能力を制限する場合がある。特定の高帯域アプリケーションに必要とされるデータトラフィックの速度は、バス効率を維持し、アイソクロナス転送プロトコルの継続的な使用を可能にするために、24.576MHzまたはより高いその倍数にルート周波数が増加されることを必要とする。アイソクロナスデータ転送は、オーディオおよび映像データを含むリアルタイムデータの送信に使用され得る。アイソクロナス転送またはトランスポートプロトコルは、特定の期間内に情報が伝達されることを必要とする伝達要件を満たすために使用され得る。しかしながら、増加したルート周波数のために、送信されたデータを受信機が復号する能力に影響するスルーレートの問題につながる可能性がある。
図7は、一次データ線724および1つまたは複数(n)の二次データ線726とともに拡張されたSLIMbus通信リンク720を用いる装置700の例を示すブロック図である。装置700は、複数のデータ線対応のSLIMbus構成要素を持つデバイス702、704、706、および708を含む場合がある。デバイス702、704、706、および708は、単一のICデバイスで提供され得るか、または、たとえば、他の回路に結合され、チップキャリア、回路基板、または単一のパッケージ内に配置された1つまたは複数のICデバイスを含む場合がある。本明細書に開示された特定の態様に従って、通信チャネルは、一次データ線724と、SLIMbus仕様に準拠したメッセージを運ぶ二次データ線726の1つまたは複数、および/または非SLIMbus通信チャネルでメッセージを運ぶように構成された二次データ線726の1つまたは複数の何らかの組合せを使用して実装され得る。一部の例では、二次データ線726は、装置700内の利用可能な帯域幅およびスループットをさらに向上させるために、分散型またはプライベートなSLIMbus通信チャネルを提供するように構成され得る。
一部の場合には、複数のn個の二次データ線726は、2つ以上のデバイス702、704、706、および708を直接的に接続するために使用され得る。一例では、1つまたは複数のn個の二次データ線726は、デバイス702、704、706、および708の2つ以上の間の通信のために予約され得る一方、少なくとも一次データ線724は、デバイス702、704、706、および708のすべてによる通信のために、モニタおよび/または使用される。
二次データ線726の各々のタイミングは、クロック線および一次データ線724と同じ関係に従うように構成され得る。一例では、二次データ線726は、制御情報を運ばず、すべてのデバイス702、704、706、および708は、一次データ線724に関連するシグナリングに基づいてバス同期を維持することができる。したがって、n個の二次データ線726を相互に同期させるか、または二次データ線726の1つで同期の損失を処理する必要ない場合がある。
各デバイス702、704、706、および708は、フレームレイヤ712、714、716、および718にフレーマモジュールを含む場合がある。管理モジュール(マネージャ)710は、デバイス702、704、706、または708の1つで運用され得る。
図8は、複数のSLIMbusデータ線対応デバイス802、804、806と、少なくとも1つの単一のデータ線対応のSLIMbusデバイス808を接続するSLIMbus通信リンク820の例を示している。この例では、マネージャ810は、一次データ線824だけをサポートするデバイスまたは構成要素の808でアクティブになることができるが、マネージャ810は、複数の二次データ線826、および他のデバイス802、804、806によって使用されるクロック信号822の構成および動作を制御することができる。
図9は、複数のICデバイス902、904、906、908、910、および912の間の通信が、柔軟に構成可能なデータ通信リンク928によって促進される装置の例を示すブロック図900である。例では、複数のICデバイス902、904、906、908、910、および912は、SLIMbusプロトコルに従って通信するように構成され得る。一例では、複数のICデバイス902、904、906、908、910、および912の一部またはすべては、少なくとも主要なSLIMbusデータ線932で通信を送信、受信、および/またはモニタすることができる。複数のICデバイス902、904、906、908、910、および912の一部またはすべては、SLIMbusクロック930からタイミング情報を受信することができる。したがって、ICデバイス902、904、906、908、910、および912の各々は、SLIMbusプロトコルおよびタイミングに従って情報を受信および/または送信するように構成されたフレーマ914、916、918、920、922、および924を含む場合がある。情報は、マネージャ構成要素926によって生成された構成およびタイミング情報を含む場合がある。たとえば、構成およびタイミング情報は、複数のICデバイス902、904、906、908、910、および912の各々によって維持および/または報告されるセットアップおよび他のパラメータ、ならびにマネージャ926によって提供されるタイムスロット割り振りを含む場合がある。
一例では、マネージャ926は、単一行または複数行のSLIMbusデータの送信および受信機能の利用可能度を示す、ICデバイス902、904、906、908、910、および912の一部またはすべてによって報告された構成パラメータを受信することができる。別の例では、ICデバイス902、904、906、908、910、および912の1つまたは複数は、2つ以上のデバイス間のプライベートまたは直通的な通信チャネルに使用され得る隠された二次データ線936、938の存在を報告することができる。プライベートまたは直接的な通信チャネルは、SLIMbusクロック930と同期されたSLIMbusプロトコルを使用して運用され得るか、かつ/またはSLIMbusクロック930に基づいて、フレームレベルで同期され得るか、またはSLIMbus動作と同期せずに、異なる時分割または非時分割プロトコルを使用して運用され得る。
別の例では、マネージャ926は、複数のICデバイス902、904、906、908、910、および912の対または郡の使用のために、二次データ線934、936、および938で通信チャネルを割り振ることができる。したがって、専用の二次データ線936および938は、ICデバイス902、904、906、908、910、および912のすべてに接続され得るが、少数のICデバイス902、904、906、908、910、および912によってモニタおよび/または使用され得る。たとえば、マネージャ926は、データリンクを構成することができるため、二次データ線936は、ICデバイス910および912の第1の対の唯一の使用に利用可能である一方、第2の二次データ線938は、ICデバイス904および906の第2の対の唯一の使用のために制限されているか、あるいは利用可能である。
これらの例の各々では、構成、タイミング、およびグローバルマルチキャスト通信(すなわち、ICデバイス902、904、906、908、910、および912のすべての間)は、一次データ線932に制限され得る。一次データ線932および一般的な二次データ線934は、複数行の通信ができて、一般敵な二次データ線934に接続されるこれらのICデバイス902、904、906、910、および912の間で通信チャネルを運ぶために使用され得る。一般的な二次データ線934は、一般的な二次データ線934に接続されたICデバイス902、904、906、910、および912の任意のサブセットに向けられたマルチキャストメッセージに使用され得る。
クロック信号930は、対応するデータ線932、934、936、および938でのシグナリングのためにタイミングを提供する1つまたは複数のクロックを同期させるために使用されるマスタークロックとして機能することができる。一部の例では、各データ線932、934、936、および/または938でのシグナリングは、SLIMbusクロック930から得られるか、またはそれに同期され得る。
データリンク928は、複数のデータ線930、932、934、936、および938を持つ物理バスとして実装され得て、それによってICデバイス902、904、906、908、910、および912は、データ線930、932、934、936、938の一部の構成に選択的に物理的に接続され得る。したがって、ICデバイス910と912との間の第1のプライベートチャネルは、S1二次データ線936にICデバイス910および912を物理的に接続することによって実装され得て、残りのICデバイス902、904、906、および908は、S1二次データ線936に接続されない。あるいはまたは加えて、プライベートチャネルは、ICデバイス910および912の対象の対だけが、S1二次データ線936を接続、モニタ、かつ/またはそうでなければ使用することを生じさせることによって構成され得る。時分割プロトコルに従った一般的なデータ線932、934のチャネライゼーションは、(たとえば)割り振られたタイムスロットの間にのみ一般的な一次データ線932または二次データ線934を使用するように構成される、より多数のICデバイス902、904、906、908、910、および912に対するプライベートチャネルとして、一般的なデータ線932、934が使用されることを可能にする。
データ通信リンク928は、多種多様のトポロジを実装するように適応または構成され得る。利用可能なトポロジは、ICデバイス902、904、906、908、910、および912の対の間でプライベートに提供されるポイントツーポイントの二次データ線936、938、ならびに/またはトリオとICデバイス902、904、906、908、910、および912との他の組合せの間でプライベートに提供されるマルチポイント二次データ線936、938を含む場合がある。
一部のトポロジでは、レガシーの単一データ線対応のICデバイス908は、二次データ線934、936、または938を通じて、1つまたは複数の他のICデバイス902、904、906、910、および912と通信するように構成された信号線840が供給され得る。たとえば、レガシーICデバイス908は、異なるプロトコルおよび/または物理的接続のタイプを使用して、S1二次データ線936(または他の二次データ線934、938に)に結合され得て、一次データ線932だけでなく、別の複数のデータ線対応のICデバイス910および/または912を通じて、構成情報を間接的に受信することができる。レガシーICデバイス908は、複数のデータ線対応のICデバイス910および/または912のスレーブとして構成および運用され得るか、または複数のデータ線対応のICデバイス910および/または912は、マネージャ926からの構成および他の情報を通じて通過し得る。
ICデバイス902、904、906、908、910、および912に関連付けられた通信のために、優先度、データ速度、サービス要件の品質、ならびに発信元および/または宛先のプロファイルに基づいて通信を最適化する階層ネットワークが構成され得る。一例では、S1二次データ線936を通じた通信は、データが一次データ線932または一般的な二次データ線934でクロック制御されるよりも低い速度でクロック制御され得て、別のICデバイス910または912を通じたレガシーICデバイス908の接続により、全体的なシステムスループットを向上することができる。別の例では、レガシーICデバイス908は、一次データ線932よりも低い速度のクロックに従って動作する二次データ線934、936、または938に接続され得るため、一次データ線932は、最適または最高のクロック速度で動作することができる一方、レガシーICデバイス908は、その機能に一致する速度で通信することができる。
データ通信リンク928は、SLIMbusプロトコルに一致するプロセスによって構成され得る。たとえば、マネージャ926は、各ICデバイス902、904、906、908、910、および/または912に構成および/またはプログラミングメッセージを送信することができる。構成および/またはプログラミングメッセージは、各ICデバイス902、904、906、908、910、および912の観点からタイムスロットおよびデータ線へのトポロジ、クロック速度、および通信チャネルの割り振りを定義することができる。構成/プログラミングメッセージが、各ICデバイス902、904、906、908、910、および912に送信された後、「RECONFIG_NOW」メッセージが、各ICデバイス902、904、906、908、910、および912に送信され得る。「RECONFIG_NOW」メッセージの受信に応じて、ICデバイス902、904、906、908、910、および912の各々は、次の適切なフレーム境界で、最も最近に受信した構成/プログラミングメッセージに従って動作を開始することができる。一部の例では、「RECONFIG_NOW」メッセージは、SLIMbus構成要素の構成/プログラミングを同期させるために使用され得る。
構成は、個々のICデバイス902、904、906、908、910、および912、ICデバイス902、904、906、908、910、および912の対、またはICデバイス902、904、906、908、910、および912の他のサイズの郡もしくは組に対して独立して定義され得る。構成情報は、複数の段階で提供され得るため、1つまたは複数のICデバイス902、904、906、908、910、および912は、個々に構成され得て、1つまたは複数の郡の構成/プログラミングメッセージで特定のパラメータの追加の構成または再構成を受信することができる。さらに、どのデバイスまたは対、トリオ、およびICデバイス902、904、906、908、910、および912の他の群もしくは組が、「RECONFIG_NOW」メッセージによって対応されるかに基づいて、「RECONFIG_NOW」メッセージは、1つまたは複数のICデバイス902、904、906、908、910、および912によって選択的な反応を引き起こすために使用され得る。
図6に示すように、フレーミングおよび制御スロット634および636は、二次データ線934、936、および/または938でのデータ送信に使用され得る一方、フレーミングおよび制御情報は、一次データ線932での対応するスロット626および630で送信される。一部の例では、下流のICデバイス908が、マネージャ926からのフレーミングおよび制御情報を中継するために、上流のICデバイス910または912に依存する場合、二次データ線934、936、および/または938のスロット634および636は、フレーミングおよび制御情報に対して予約され得る。一部の場合には、二次データ線934、936、および/または938で送信されたフレーミングおよび制御情報は、レガシーICデバイス908に適合するために、送信の前に再フォーマットされ得る。
一部の例では、二次データ線934、936、および/または938が、非SLIMbusプロトコルに従って運用される場合、二次データ線934、936、および/または938で送信されたフレーミングおよび制御情報は、再フォーマットされ得る。1つまたは複数の二次データ線934、936、および/または938は、非SLIMbusデータチャネルに対して予約され得る。そのような場合には、修正されたフレーミングおよび開始プロセスは、非SLIMbusデータチャネルに対して予約された二次データ線934、936、および/または938のために用いられ得る。
SLIMbusデータ線932、934、936、および/または938に使用される一般的な開始およびフレーミング手順は、非SLIMbusデータチャネルとともに使用されるように適応され得る。一例では、これらの一般的な開始フレーミング手順は、二次データ線934、936、および/または938を非アクティブにすることを含み、それによって動作状態にない任意の構成要素は、二次データ線934、936、および/または938の駆動を差し控えるため、二次データ線934、936、および/または938のデータは、データチャネルがマネージャ926によって構成された後にのみ送信/受信される。
二次データ線934、936、および/または938は、SLIMbusデバイス902、904、906、908、910、および/または912の各々で、適切な非ゼロ復帰変換(NRZI)符号化および復号を保証するために、低い論理状態で開始することができる。SLIMbusインターフェースでは、すべてのSLIMbusデバイス902、904、906、908、910、および/または912は、同期および制御情報が取り込まれることを保証するために、一次データ線932をリスンすることを要求される。複数の二次データ線934、936、および938を持つデータ通信リンク928に対するSLIMbusインフラストラクチャは、二次線をサポートするために、接続されたSLIMbusデバイス902、904、906、908、910、および/または912の能力にかかわらず、単一データ線SLIMbus実装と同一または比較可能な状態に維持することができる。
二次データ線934、936、および/または938は、一次データ線932のトポロジ、または他の任意の二次データ線934、936、および/または938とは異なるトポロジを持つことができる。マネージャ926は、マネージャ926が、SLIMbusデバイス902、904、906、908、910、および/または912の機能および望まれる構成を認識している場合、データ通信リンク928を正確に構成し、データチャネルを割り振ることができる。マネージャ926によって割り振られたすべてのデータチャネルは、単一データ線932上で送信および/または受信され得る。
一例では、データ通信リンク928は、二次データ線934、936、および938が一次データ線932と並列に動作するように構成され得る。二次データ線934、936、および938は、典型的には、フレーミングおよび制御の目的に使用されるタイムスロットなどの制御空間を含んでいない。したがって、制御空間の衝突は、二次データ線934、936、および/または938で防がれ、ここで、衝突は、マルチドロップバストポロジを使用して運用されるデータバス上の2つ以上のデバイスによる同時送信の結果を表すことができる。フレーミングおよび制御のメッセージは、一次データ線932上のチャネルで送信され得る。二次データ線934、936、および/または938は、ルートクロック周波数、クロックギヤ設定などを含む、一次データ線932と同じ制御特性を維持することができる。スーパーフレーム境界、フレーム数、およびスロット数は、一次データ線932のシグナリングに基づいて構成要素/デバイスによって計算および維持され得る。したがって、SLIMbusデバイス902、904、906、908、910、および/または912は、一次データ線932との同期を維持している場合、典型的には、二次線上のスーパーフレームまたはフレームの同期を失うことができない。データ通信リンク928が並列分散について構成される場合、チャネル割り振りは、偶数のタイムスロットに制限され得る。
制御/フレーミングフィールドの1つまたは複数の専用の情報要素は、追加の二次データ線をサポートするために、SLIMbusデバイス902、904、906、908、910、および912を構成するために割り当てられ得る。一例では、そのような情報要素は、二次データ線934、936、および/または938を列挙するために使用され得る。
SLIMbusプロトコルは、複数の二次データ線934、936、938が使用される場合、追加の制御およびフレーミングのメッセージを含めるように適応され得る。一例では、追加の制御およびフレーミングのメッセージは、「NEXT_DEFINE_DATA_LINE」、「NEXT_EXTENDED_DEFINE_CHANNEL」、ならびに/またはデータ線の数およびチャネルを割り振りおよび/または構成するために使用され得る他のメッセージを含む場合がある。複数のデータ線をサポートすることができないレガシーICデバイス908は、そのような追加のコマンドに応じて否定承認(NACK)で応答することができる。
図10は、本明細書に開示された特定の態様に従って構成または適応され得る処理回路1002を用いる装置に対するハードウェア実装の簡素化された例を示す概念図1000である。開示の様々な態様に従って、本明細書に開示されている要素もしくは要素の任意の部分、または要素の任意の組合せは、処理回路1002を使用して実装され得る。処理回路1002は、ハードウェアモジュールとソフトウェアモジュールの何らかの組合せによって制御される1つまたは複数のプロセッサ1004を含む場合がある。プロセッサ1004の例は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、状態機械、シーケンサ、ゲートロジック(gated logic)、個別のハードウェア回路、および本開示の全体にわたって記述された様々な機能を実行するように構成された他の適したハードウェアを含む。1つまたは複数のプロセッサ1004は、特定の機能を実行し、ソフトウェアモジュール1016のうちの1つによって構成されるか、増強されるか、または制御される場合がある専用プロセッサを含んでもよい。1つまたは複数のプロセッサ1004は、初期化中にロードされたソフトウェアモジュール1016の組合せを介して構成され、動作中に1つまたは複数のソフトウェアモジュール1016のローディングまたはアンローディングによってさらに構成される場合がある。
図示する例では、処理回路1002は、バス1010で一般的に表される、バスアーキテクチャを用いて実装され得る。バス1010は、処理回路1002の具体的な用途および全体的な設計制約に応じて、任意の数の相互接続するバスおよびブリッジを含む場合がある。バス1010は、1つまたは複数のプロセッサ1004およびストレージ1006を含む様々な回路を互いにリンクさせる。ストレージ1006は、メモリデバイスおよび大容量ストレージデバイスを含む場合があり、本明細書ではコンピュータ可読媒体および/またはプロセッサ可読媒体と呼ばれる場合がある。バス1010は、また、タイミング源、タイマー、周辺装置、電圧レギュレータ、および電力管理回路など様々な他の回路をリンクすることができる。バスインターフェース1008は、バス1010と1つまたは複数のトランシーバ1012との間のインターフェースを提供してもよい。トランシーバ1012は、処理回路によってサポートされるネットワーキング技法ごとに提供される場合がある。一部の場合には、複数のネットワーキング技術は、トランシーバ1012に見られる回路または処理モジュールの一部またはすべてを共有することができる。各トランシーバ1012は、送信媒体を介して様々な他の装置と通信するための手段を提供する。装置の性質に応じて、ユーザインターフェース1018(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティック)が設けられる場合もあり、直接またはバスインターフェース1008を介して、バス1010に通信可能に結合される場合がある。
プロセッサ1004は、バス1010を管理すること、およびストレージ1006を含む場合があるコンピュータ可読媒体に記憶されたソフトウェアの実行を含む場合がある一般的な処理を担当することができる。この点で、プロセッサ1004を含む処理回路1002は、本明細書で開示する方法、機能および技法のうちの任意のものを実装するために使用され得る。ストレージ1006は、ソフトウェアを実行するとき、プロセッサ1004によって操作されるデータを記憶するために使用され得、ソフトウェアは、本明細書で開示する方法のうちの任意のものを実装するように構成され得る。
処理回路1002の1つまたは複数のプロセッサ1004は、ソフトウェアを実行することができる。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または他の名称で呼ばれるかどうかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行のスレッド、プロシージャ、関数、アルゴリズムなどを意味するように広く解釈されるべきである。ソフトウェアは、コンピュータ可読形態で、ストレージ1006または外部コンピュータ可読媒体に存在する場合がある。外部コンピュータ可読媒体および/またはストレージ1006は、非一時的コンピュータ可読媒体を含む場合がある。非一時的コンピュータ可読媒体には、例として、磁気ストレージデバイス(たとえば、ハードディスク、フロッピーディスク、磁気ストリップ)、光ディスク(たとえば、コンパクトディスク(CD)またはデジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、「フラッシュドライブ」、カード、スティック、またはキードライブ)、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、レジスタ、リムーバブルディスク、ならびにコンピュータがアクセスし読み取ることができるソフトウェアおよび/または命令を記憶するための任意の他の適切な媒体が含まれる。コンピュータ可読媒体および/またはストレージ1006は、また、例として、搬送波、送信線、およびコンピュータよってアクセスおよび読み込み可能な他のソフトウェアおよび/または命令を送信するための適切な他の媒体を含み得る。コンピュータ可読媒体および/またはストレージ1006は、処理回路1002の中に、プロセッサ1004の中に、処理回路1002の外部に存在するか、または処理回路1002を含む複数のエンティティにわたって分散される場合がある。コンピュータ可読媒体および/またはストレージ1006は、コンピュータプログラム製品内で具現化される場合がある。例として、コンピュータプログラム製品は、パッケージ材料にコンピュータ可読媒体を含む場合がある。当業者は、特定の用途および全体的なシステムに課された全体的な設計制約に依存して、本開示の全体にわたって示した記述された機能を最良に実装する方法を理解されるであろう。
ストレージ1006は、本明細書でソフトウェアモジュール1016と呼ばれる場合がある、ロード可能なコードセグメント、モジュール、アプリケーション、プログラムなどにおいて維持および/または編成されるソフトウェアを維持することができる。ソフトウェアモジュール1016の各々は、処理回路1002にインストールまたはロードされ、1つまたは複数のプロセッサ1004によって実行されると、1つまたは複数のプロセッサ1004の動作を制御するランタイムイメージ1014に寄与する命令およびデータを含む場合がある。実行されると、いくつかの命令は、処理回路1002に、本明細書で説明するいくつかの方法、アルゴリズム、およびプロセスに従って機能を実施させることができる。
ソフトウェアモジュール1016の一部は、処理回路1002の初期化の間にロードされ得て、これらのソフトウェアモジュール1016は、本明細書に開示された様々な機能の実行を可能にするために処理回路1002を構成することができる。たとえば、いくつかのソフトウェアモジュール1016は、プロセッサ1004の内部デバイスおよび/または論理回路1022を構成することができ、たとえばトランシーバ1012、バスインターフェース1008、ユーザインターフェース1018、タイマー、数学的コプロセッサなどの外部デバイスへのアクセスを管理することができる。ソフトウェアモジュール1016は、割り込みハンドラおよびデバイスドライバと対話し、処理回路1002によって提供される様々なリソースへのアクセスを制御する制御プログラムおよび/またはオペレーティングシステムを含む場合がある。リソースは、メモリ、処理時間、トランシーバ1012へのアクセス、ユーザインターフェース1018などを含む場合がある。
処理回路1002の1つまたは複数のプロセッサ1004は、多機能な場合があり、それによってソフトウェアモジュール1016の一部は、異なる機能または同じ機能の異なるインスタンスを実行するようにロードおよび構成される。1つまたは複数のプロセッサ1004は、さらに、たとえば、ユーザインターフェース1018、トランシーバ1012、およびデバイスドライバからの入力に応答して開始される背景タスクを管理するように適応され得る。複数の機能の実施をサポートするために、1つまたは複数のプロセッサ1004は、マルチタスク環境を実現するように構成される場合があり、それにより、複数の機能の各々が、必要または要望に応じて、1つまたは複数のプロセッサ1004によってサービスされるタスクのセットとして実施される。一例では、マルチタスク環境は、異なるタスク間でプロセッサ1004の制御を渡す時分割プログラム1020を使用して実装される場合があり、それにより、各タスクは、任意の未処理動作の完了後、および/または割り込みなどの入力に応答して、時分割プログラム1020に1つまたは複数のプロセッサ1004の制御を戻す。タスクが1つまたは複数のプロセッサ1004の制御を有するとき、処理回路は、事実上、制御するタスクに関連付けられた機能によって対処される目的に特化される。タイムシェアリングプログラム1020は、オペレーティングシステム、ラウンドロビン方式で制御を移動するメインループ、機能の優先度に従って1つもしくは複数のプロセッサ1004の制御を割り振る機能、および/または操作関数に1つもしくは複数のプロセッサ1004の制御を提供することによって、外部イベントに応答する割り込み駆動のメインループを含む場合がある。
図11は、本発明の特定の態様に従った通信方法を示すフローチャートである。方法は、マネージャ回路またはモジュール926を含むデバイス902によって実行され得る。ステップ1102で、デバイス902は、SLIMbusに結合された第1のデバイスの通信機能を決定することができる。通信機能は、第1のデバイスに結合されたいくつかのデータワイヤを識別することができる。
ステップ1104で、デバイス902は、SLIMbusの一次データ線を通じて第1のデバイスに構成メッセージおよび/またはフレーミングメッセージを送ることができる。構成メッセージは、第1のデバイスと第2のデバイスとの間の通信のために二次データ線を予約する制御情報を含む場合がある。二次データ線は、SLIMbusの複数の二次データ線の1つの場合がある。制御情報は、第3のデバイスで提供されるSLIMbusマネージャによって生成され得る。第3のデバイスは、一次データ線を通じて通信することに制限され得る。一部の例では、制御情報は、第1および第2のデバイスの1つで提供されるSLIMbusマネージャによって生成され得る。構成メッセージは、フレーミングメッセージを含む場合がある。
本開示の態様では、構成メッセージは、第1のデバイスが、二次データ線を通じて第2のデバイスとの通信のために構成されることを生じさせることができる。一例では、第1のデバイスは、SLIMbusプロトコルを使用して、第2のデバイスと通信するように構成され得る。別の例では、第1のデバイスは、非SLIMbusプロトコルを使用して、第2のデバイスと通信するように構成され得る。二次データ線は、SLIMbusから独立して第1のデバイスを第2のデバイスに接続することができる。
ステップ1106で、デバイス902は、少なくとも一次データ線上の送信のタイミングを制御するクロック信号を提供することができる。二次データ線上の通信は、クロック信号を使用して同期され得る。
本開示の態様では、一次データ線と二次データ線データの両方のタイムスロットの複数の通信チャネルが割り振られ得る。第1のデバイスは、複数の通信チャネルの1つを使用して、第2のデバイスと通信することができる。
本開示の態様では、構成メッセージは、複数のデバイスに一次データ線を通じて送信される。再構成コマンドは、複数のデバイスの各々が、少なくとも1つの構成メッセージに従って構成を採用することを生じさせることができる。一次データ線を通じて送られた少なくとも1つの構成メッセージは、デバイスの事前定義された組にアドレス指定され得る。
本開示の態様では、第1のデバイスは、一次データ線に接続されていない第3のデバイスに、一次データ線を通じて送られた少なくとも1つの構成メッセージを中継するように構成され得る。
図12は、処理回路1202を用いる装置1200のためのハードウェア実装の例を示す概念図である。この例では、処理回路1202は、バス1216によって概略的に表されるバスアーキテクチャを用いて実装される場合がある。バス1216は、処理回路1202および全体的な設計制約の特定の用途に依存して、任意の数の相互接続するバスおよびブリッジを含む場合がある。バス1216は、プロセッサ1212によって一般的に表される、1つまたは複数のプロセッサを含む様々な回路と、プロセッサ可読記憶媒体1214によって一般的に表されるコンピュータ可読媒体をリンクする。バス1216は、タイミングソース、タイマー、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせることもできる。バスインターフェース1218は、バス1216とトランシーバ1220との間のインターフェースを提供する。トランシーバ1220は、伝送媒体を介して様々な他の装置と通信するための手段を提供するバスインターフェースを含む場合がある。装置の性質に応じて、ユーザインターフェース1222(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティック)が設けられる場合もある。1つまたは複数のクロック回路またはモジュール1206は、処理回路1202内で提供され得るか、または処理回路1202および/または1つもしくは複数のプロセッサ1212によって制御され得る。一例では、クロック回路またはモジュール1206は、1つもしくは複数の水晶発振器、1つもしくは複数のフェーズロックドループデバイス、および/または1つもしくは複数の構成可能なクロック木を含む場合がある。
プロセッサ1212は、プロセッサ可読記憶媒体1214に記憶されたソフトウェアの実行を含む、バス1216の管理および一般的な処理を担当する。ソフトウェアは、プロセッサ1212によって実行されるとき、処理回路1202に、任意の特定の装置に対して上記で説明した種々の機能を実行させる。プロセッサ可読記憶媒体1214は、ソフトウェアを実行するときにプロセッサ1212によって操作されるデータを記憶するために用いることができる。
一構成では、装置1200は、SLIMbus 1224に結合され得て、SLIMbus 1224に結合された他のデバイスの通信機能を決定するためのモジュールまたは回路1204と、SLIMbus 1224の一次データ線を通じて、1つまたは複数のデバイスに構成およびフレーミングのメッセージを送るように適応または構成されたモジュールまたは回路1210、1226と、SLIMbus 1224の少なくとも一次データ線で、送信のタイミングを制御するクロック信号を提供するモジュールまたは回路1206を生成するクロックとを含む場合がある。構成およびSLIMbus管理のモジュールまたは回路1208、1210は、SLIMbus 1224の一次データ線および/または二次データ線で、タイムスロットで複数の通信チャネルを定義および/または割り振るように協働ことができる。一例では、装置1200は、SLIMbus 1224に対するフレーミングおよび制御を実装するインターフェースモジュールおよび/または回路1226を含む場合がある。一部の場合には、マネージャモジュールまたは回路1210は、様々な回路およびモジュール1204、1206、1208の動作を制御することができ、SLIMbus 1224およびSLIMbus 1224に接続された他の装置を構成することを担当することができる。
図13は、本発明の特定の態様に従った通信方法を示すフローチャートである。方法は、複数のデータ線932、934、936、940を通じて通信をサポートするデバイス910、912によって実行され得る。ステップ1302で、デバイス910、912は、SLIMbus一次データ線から1つまたは複数の構成メッセージを受信することができる。
ステップ1304で、デバイス910、912は、再構成コマンドに応じて、かつ1つまたは複数の構成メッセージに基づいて、通信用インターフェースを再構成することができる。
ステップ1306で、デバイス910、912は、第2のデータ線を通じて第2のデバイスと通信しながら、第1のデータ線を通じて第1のデバイスで通信することができる。第2のデータ線は、第2のデバイスとの通信のために予約され得る。第1のデータ線は、SLIMbus一次データ線またはSLIMbus二次データ線を含む場合がある。第2のデータ線は、SLIMbus一次データ線によって使用されるフレーミングおよび制御構成を用いるSLIMbus二次データ線の場合がある。フレーミングおよび制御構成は、ルートクロック周波数を定義することができる。フレーミングおよび制御構成は、ギアリングを定義することができ、フレーム境界を計算するために使用される。第2のデータ線上の通信は、非SLIMbusプロトコルによって制御され得る。
本開示の態様では、通信能力情報は、マネージャデバイスに報告され得る。構成メッセージは、通信能力情報に応じて生成され得る。
図14は、処理回路1402を用いる装置1400のためのハードウェア実装の例を示す概念図である。この例では、処理回路1402は、バス1416によって概略的に表されるバスアーキテクチャを用いて実装される場合がある。バス1416は、処理回路1402および全体的な設計制約の特定の用途に依存して、任意の数の相互接続するバスおよびブリッジを含む場合がある。バス1416は、プロセッサ1412によって一般的に表される、1つまたは複数のプロセッサを含む様々な回路と、プロセッサ可読記憶媒体1414によって一般的に表されるコンピュータ可読媒体をリンクする。バス1416は、タイミングソース、タイマー、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせることもできる。バスインターフェース1418は、バス1416とトランシーバ1420との間のインターフェースを提供する。トランシーバ1420は、伝送媒体を介して様々な他の装置と通信するための手段を提供するバスインターフェースを含む場合がある。装置の性質に応じて、ユーザインターフェース1422(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティック)が設けられる場合もある。1つもしくは複数のクロック回路もしくはモジュール1406は、処理回路1402内で提供され得るか、または処理回路1402および/もしくは1つもしくは複数のプロセッサ1412によって制御され得る。一例では、クロック回路またはモジュール1406は、1つもしくは複数の水晶発振器、1つもしくは複数のフェーズロックドループデバイス、および/または1つもしくは複数の構成可能なクロック木を含む場合がある。
プロセッサ1412は、プロセッサ可読記憶媒体1414に記憶されたソフトウェアの実行を含む、バス1416の管理および一般的な処理を担当する。ソフトウェアは、プロセッサ1412によって実行されるとき、処理回路1402に、任意の特定の装置に対して上記で説明した種々の機能を実行させる。プロセッサ可読記憶媒体1414は、ソフトウェアを実行するときにプロセッサ1412によって操作されるデータを記憶するために用いることができる。
一構成では、装置1400は、SLIMbusマネージャに装置1400の通信機能を含む構成を報告するためのモジュールまたは回路1404、1410、1426と、SLIMbus 1424の一次データ線から1つまたは複数の構成メッセージを受信するためのモジュールまたは回路1410と、通信用インターフェース1426を再構成するためのモジュールまたは回路1408と、SLIMbus 1424の第2のデータ線を通じて、第2のデバイスと通信しながら、SLIMbus 1424の第1のデータ線を通じて第1のデバイスと通信するためのモジュールまたは回路1410、1426とを含む。
前述の手段、モジュール、および回路は、たとえば、プロセッサ206または236と、物理レイヤドライバ210または240と、図2に示した記憶媒体208および238との何らかの組合せを使用して実装され得て、図9によって示したネットワーク構成で展開され得る。
開示したプロセスにおけるステップの特定の順序または階層は、代表的な方法の実例であることが理解される。設計の個別設定に基づいて、プロセスにおけるステップの特定の順序または階層は、再配置され得ることが理解される。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されることを意味するものではない。
先の記述は、当業者が本明細書に記述された様々な態様を実施することを可能にするために提供されるものである。これらの態様の様々な修正形態は、当業者に容易に明らかになり、本明細書で定義する一般原理は、他の態様に適用され得る。したがって、請求項は、本明細書に示した態様に限定することを意図するものではなく、文言の請求項(language claim)に一致する完全な範囲を与えられるものであり、単数の要素の言及は、特に記述されていない限り、「ただ1つ」を意味することを意図するものではなく、「1つまたは複数」を意図するものである。特に別記しない限り、「いくつかの(some)」という言葉は、1つまたは複数のことを表している。当業者に認識されているか、または後に認識される、本開示の全体にわたって記述された様々な態様の要素に対する、すべての構造的および機能的な等価物は、参照によって明確に本明細書に組み込まれ、請求項によって包含されることを意図するものである。さらに、本明細書において開示されたものは、そのような開示が特許請求の範囲において明示的に列挙されているか否かにかかわらず、公共用に提供されることは意図していない。いかなるクレーム要素も、要素が「ための手段」という語句を使用して明確に列挙されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
100 ワイヤレス通信デバイス
102 処理回路
106 トランシーバ
108 特定用途向けIC(ASIC)
110 アプリケーションプログラミングインターフェース(API)レイヤ
112 メモリ
114 ローカルデータベース
122 アンテナ
124 表示システム
126 キーパッド
128、130 ボタン
200 装置
202、230 ICデバイス
204 ワイヤレストランシーバ
206 プロセッサ
206、236 デバイス
208、238 記憶媒体
210、240 物理レイヤドライバ
214 アンテナ
220 通信リンク
222 第1の通信リンク
222 順方向リンク
222、224、226 データリンク
224 第2の通信リンク
224 逆方向リンク
232 ディスプレイ制御装置
234 カメラ制御装置
236 プロセッサ
238 記憶媒体
240 物理レイヤドライバ
302 ホスト
304 SLIMbus構成要素
306 SLIMbus構成要素
308 第3のデバイス
308 SLIMbus構成要素/非SLIMbusデバイス
310 SLIMbus通信リンク
312 第1のSLIMbusデータ線
312 SLIMbusデータ線1
314 第2のSLIMbusデータ線
314 SLIMbusデータ線2
316 SLIMbusクロック線
316 SLIMbusクロック
400 装置
402 ICデバイス
404 デバイスロジック
408 直接メモリアクセス(DMA)レイヤ
410 SLIMbusデバイスレイヤ
412 トランスポートプロトコルレイヤ
414 フレームレイヤ
416 物理レイヤ
418 第1の有限状態機械(FSM)
420a パイプ
420b パイプ
420n n番目のパイプ
422 第2のFSM
424a 第1のFIFOバッファ
424b 第2のFIFOバッファ
424n n番目のFIFOバッファ
426a 第1のポート(ポート0)
426b 第2のポート(ポート1)
426n n番目のポート(ポートn)
428 データ送信
430 データ受信
432 スイッチ選択信号
432 スイッチ選択
434 第1のマルチプレクサ
436 第2のマルチプレクサ
500 装置
502 第1のデバイス
502、504、506、508 デバイス
504 第2のデバイス
504 デバイスB
506 第3のデバイス
508 デバイス
508 第4のデバイス
508 レガシーデバイスD
508 単一データ線対応レガシーデバイスD
510、520、530、540 構成レジスタ
512 第1のポート(ポート0)
514 第2のポート(ポート1)
516 第3のポート(ポート2)
518 フレーマ
520 構成レジスタ
522 第1のポート
522 ポート0
524 第2のポート
524 ポート1
526 第3のポート
526 ポート2
528 フレーマ
530 構成レジスタ
532 第1のポート
532 ポート0
534 第2のポート
534 ポート1
538 フレーマ
540 構成レジスタ
542 第1のポート
542 ポート0
544 第2のポート
544 ポート1
548 フレーマ
550 マスター、マネージャ
552 SLIMbus通信リンク
556、558 データ線
556、558 SLIMbus線
556、558 SLIMbusデータ線
558 二次SLIMbusデータ線
602 一次データフレーム
602 一次データ
604 二次データフレーム
604 フレーミング
604、606、608 フレーミングスロット
606 フレーミング
608、610 データスロット
608a〜608d、610a〜610d データスロット
608c、608d、610c、610d データスロット
610 データスロット
612 二次データフレーム
612 二次データ
614、616a〜616c、618a〜618c、620 データスロット
616b、618b データスロット
616c アイドル
616c、618c データスロット
618c アイドル
620 アイドル
622 一次データフレーム
622 一次データ
624 データスロット
626 フレーミング
626、630 フレーミングスロット
628 データスロット
630 フレーミング
632 二次データフレーム
632 二次データ
634、636 データスロット
700 装置
702、704、706、708 デバイス
704 複数のデータ線対応デバイスB
706 複数のデータ線対応デバイスC
708 複数のデータ線対応デバイスD
710 管理モジュール(マネージャ)
712、714、716、718 フレームレイヤ
720 SLIMbus通信リンク
724 一次データ線
726 二次データ線
802、804、806 複数のSLIMbusデータ線対応デバイス
804 複数のデータ線対応デバイスB
806 複数のデータ線対応デバイスC
808 単一のデータ線対応のSLIMbusデバイス
808 単一データ線対応レガシーデバイスD
810 マネージャ
820 SLIMbus通信リンク
822 クロック信号
824 一次データ線
826 二次データ線
902 複数のデータ線対応デバイスA
902、904、906、908、910、912 ICデバイス
904 複数のデータ線対応デバイスB
906 複数のデータ線対応デバイスC
908 単一データ線対応レガシーデバイスD
910 複数のデータ線対応デバイスE
912 複数のデータ線対応デバイスF
914 フレームレイヤ
914、916、918、920、922、924 フレーマ
916 フレームレイヤ
918 フレームレイヤ
920 フレームレイヤ
922 フレームレイヤ
924 フレームレイヤ
926 マネージャ構成要素
926 マネージャ
928 データ通信リンク
930 SLIMbusクロック
932 SLIMbusデータ線
934 二次データ線
936、938 二次データ線
938 二次データS2
940 データ線
1002 処理回路
1004 プロセッサ
1006 ストレージ
1008 バスインターフェース
1010 バス
1012 トランシーバ
1016 モジュール1、モジュール2、モジュールM
1018 ユーザインターフェース
1020 タイムシェアリングプログラム
1020 タイムシェア
1022 I/O制御および他のロジック
1200 装置
1202 処理回路
1204 機能決定モジュール/回路
1206 モジュール
1206 クロックモジュール/回路
1208、1210 モジュールまたは回路
1210 SLIMbusマネージャモジュール/回路
1212 プロセッサ
1214 プロセッサ可読記憶媒体
1216 バス
1218 バスインターフェース
1220 トランシーバ
1222 ユーザインターフェース
1226 フレーミングおよびラインインターフェースモジュール/回路
1400 装置
1402 処理回路
1404、1410、1426 モジュールまたは回路
1406 クロックモジュール/回路
1408 モジュールまたは回路
1410、1426 モジュールまたは回路
1412 プロセッサ
1414 プロセッサ可読記憶媒体
1416 バス
1418 バスインターフェース
1420 トランシーバ
1422 ユーザインターフェース
1424 SLIMbus
1426 通信用インターフェース
1426 フレーミングおよびラインインターフェースモジュール/回路
102 処理回路
106 トランシーバ
108 特定用途向けIC(ASIC)
110 アプリケーションプログラミングインターフェース(API)レイヤ
112 メモリ
114 ローカルデータベース
122 アンテナ
124 表示システム
126 キーパッド
128、130 ボタン
200 装置
202、230 ICデバイス
204 ワイヤレストランシーバ
206 プロセッサ
206、236 デバイス
208、238 記憶媒体
210、240 物理レイヤドライバ
214 アンテナ
220 通信リンク
222 第1の通信リンク
222 順方向リンク
222、224、226 データリンク
224 第2の通信リンク
224 逆方向リンク
232 ディスプレイ制御装置
234 カメラ制御装置
236 プロセッサ
238 記憶媒体
240 物理レイヤドライバ
302 ホスト
304 SLIMbus構成要素
306 SLIMbus構成要素
308 第3のデバイス
308 SLIMbus構成要素/非SLIMbusデバイス
310 SLIMbus通信リンク
312 第1のSLIMbusデータ線
312 SLIMbusデータ線1
314 第2のSLIMbusデータ線
314 SLIMbusデータ線2
316 SLIMbusクロック線
316 SLIMbusクロック
400 装置
402 ICデバイス
404 デバイスロジック
408 直接メモリアクセス(DMA)レイヤ
410 SLIMbusデバイスレイヤ
412 トランスポートプロトコルレイヤ
414 フレームレイヤ
416 物理レイヤ
418 第1の有限状態機械(FSM)
420a パイプ
420b パイプ
420n n番目のパイプ
422 第2のFSM
424a 第1のFIFOバッファ
424b 第2のFIFOバッファ
424n n番目のFIFOバッファ
426a 第1のポート(ポート0)
426b 第2のポート(ポート1)
426n n番目のポート(ポートn)
428 データ送信
430 データ受信
432 スイッチ選択信号
432 スイッチ選択
434 第1のマルチプレクサ
436 第2のマルチプレクサ
500 装置
502 第1のデバイス
502、504、506、508 デバイス
504 第2のデバイス
504 デバイスB
506 第3のデバイス
508 デバイス
508 第4のデバイス
508 レガシーデバイスD
508 単一データ線対応レガシーデバイスD
510、520、530、540 構成レジスタ
512 第1のポート(ポート0)
514 第2のポート(ポート1)
516 第3のポート(ポート2)
518 フレーマ
520 構成レジスタ
522 第1のポート
522 ポート0
524 第2のポート
524 ポート1
526 第3のポート
526 ポート2
528 フレーマ
530 構成レジスタ
532 第1のポート
532 ポート0
534 第2のポート
534 ポート1
538 フレーマ
540 構成レジスタ
542 第1のポート
542 ポート0
544 第2のポート
544 ポート1
548 フレーマ
550 マスター、マネージャ
552 SLIMbus通信リンク
556、558 データ線
556、558 SLIMbus線
556、558 SLIMbusデータ線
558 二次SLIMbusデータ線
602 一次データフレーム
602 一次データ
604 二次データフレーム
604 フレーミング
604、606、608 フレーミングスロット
606 フレーミング
608、610 データスロット
608a〜608d、610a〜610d データスロット
608c、608d、610c、610d データスロット
610 データスロット
612 二次データフレーム
612 二次データ
614、616a〜616c、618a〜618c、620 データスロット
616b、618b データスロット
616c アイドル
616c、618c データスロット
618c アイドル
620 アイドル
622 一次データフレーム
622 一次データ
624 データスロット
626 フレーミング
626、630 フレーミングスロット
628 データスロット
630 フレーミング
632 二次データフレーム
632 二次データ
634、636 データスロット
700 装置
702、704、706、708 デバイス
704 複数のデータ線対応デバイスB
706 複数のデータ線対応デバイスC
708 複数のデータ線対応デバイスD
710 管理モジュール(マネージャ)
712、714、716、718 フレームレイヤ
720 SLIMbus通信リンク
724 一次データ線
726 二次データ線
802、804、806 複数のSLIMbusデータ線対応デバイス
804 複数のデータ線対応デバイスB
806 複数のデータ線対応デバイスC
808 単一のデータ線対応のSLIMbusデバイス
808 単一データ線対応レガシーデバイスD
810 マネージャ
820 SLIMbus通信リンク
822 クロック信号
824 一次データ線
826 二次データ線
902 複数のデータ線対応デバイスA
902、904、906、908、910、912 ICデバイス
904 複数のデータ線対応デバイスB
906 複数のデータ線対応デバイスC
908 単一データ線対応レガシーデバイスD
910 複数のデータ線対応デバイスE
912 複数のデータ線対応デバイスF
914 フレームレイヤ
914、916、918、920、922、924 フレーマ
916 フレームレイヤ
918 フレームレイヤ
920 フレームレイヤ
922 フレームレイヤ
924 フレームレイヤ
926 マネージャ構成要素
926 マネージャ
928 データ通信リンク
930 SLIMbusクロック
932 SLIMbusデータ線
934 二次データ線
936、938 二次データ線
938 二次データS2
940 データ線
1002 処理回路
1004 プロセッサ
1006 ストレージ
1008 バスインターフェース
1010 バス
1012 トランシーバ
1016 モジュール1、モジュール2、モジュールM
1018 ユーザインターフェース
1020 タイムシェアリングプログラム
1020 タイムシェア
1022 I/O制御および他のロジック
1200 装置
1202 処理回路
1204 機能決定モジュール/回路
1206 モジュール
1206 クロックモジュール/回路
1208、1210 モジュールまたは回路
1210 SLIMbusマネージャモジュール/回路
1212 プロセッサ
1214 プロセッサ可読記憶媒体
1216 バス
1218 バスインターフェース
1220 トランシーバ
1222 ユーザインターフェース
1226 フレーミングおよびラインインターフェースモジュール/回路
1400 装置
1402 処理回路
1404、1410、1426 モジュールまたは回路
1406 クロックモジュール/回路
1408 モジュールまたは回路
1410、1426 モジュールまたは回路
1412 プロセッサ
1414 プロセッサ可読記憶媒体
1416 バス
1418 バスインターフェース
1420 トランシーバ
1422 ユーザインターフェース
1424 SLIMbus
1426 通信用インターフェース
1426 フレーミングおよびラインインターフェースモジュール/回路
Claims (30)
- シリアル低電力チップ間メディアバス(SLIMbus)に結合された第1のデバイスの通信機能を決定するステップであって、前記通信機能は、前記デバイスに結合されたいくつかのデータワイヤを識別するステップと、
前記SLIMbusの一次データ線を通じて前記第1のデバイスに構成メッセージを送るステップと、
少なくとも前記一次データ線上で送信のタイミングを制御するクロック信号を提供するステップと
を含み、
前記構成メッセージは、前記第1のデバイスが、二次データ線を通じて第2のデバイスとの通信のために構成されることを生じさせる
通信方法。 - 前記第1のデバイスは、SLIMbusプロトコルを使用して、前記二次データ線を通じて前記第2のデバイスと通信するように構成される請求項1に記載の方法。
- 前記第1のデバイスは、非SLIMbusプロトコルを使用して、前記二次データ線を通じて前記第2のデバイスと通信するように構成される請求項1に記載の方法。
- 前記二次データ線上の通信は、前記クロック信号を使用して同期される請求項1に記載の方法。
- 前記一次データ線と前記二次データ線のデータの両方でタイムスロットの複数の通信チャネルを割り振るステップであって、前記第1のデバイスは、前記複数の通信チャネルの1つを使用して、前記二次データ線を通じて前記第2のデバイスと通信するステップ
をさらに含む請求項1に記載の方法。 - 前記二次データ線は、前記SLIMbusから独立して前記第1のデバイスを前記第2のデバイスに接続する請求項1に記載の方法。
- 前記構成メッセージは、前記第1のデバイスと前記第2のデバイスとの間の通信のために前記二次データ線を予約する制御情報を含み、前記二次データ線は、前記SLIMbusの複数の二次データ線の1つである請求項1に記載の方法。
- 前記制御情報は、第3のデバイスで提供されるSLIMbusマネージャによって生成され、前記第3のデバイスは、前記一次データ線を通じて通信することに制限されている請求項7に記載の方法。
- 複数のデバイスに前記一次データ線を通じて構成メッセージを送るステップと、
前記複数のデバイスに再構成コマンドを送信するステップと
をさらに含み、
前記再構成コマンドは、前記複数のデバイスの各々が、少なくとも1つの構成メッセージに従って構成を採用することを生じさせる
請求項1に記載の方法。 - 前記第1のデバイスは、第3のデバイスに前記一次データ線を通じて送られた1つまたは複数の構成メッセージを中継するように構成される請求項9に記載の方法。
- シリアル低電力チップ間メディアバス(SLIMbus)に結合された第1のデバイスの通信機能を決定し、前記通信機能は、前記デバイスに結合されたいくつかのデータワイヤを識別し、
前記SLIMbusの一次データ線を通じて前記第1のデバイスに構成メッセージを送り、
少なくとも前記一次データ線上で送信のタイミングを制御するクロック信号を提供する
ように構成された処理回路
を含み、
前記構成メッセージは、前記第1のデバイスが、二次データ線を通じて第2のデバイスとの通信のために構成されることを生じさせる
装置。 - 前記第1のデバイスは、SLIMbusプロトコルを使用して、前記第2のデバイスと通信するように構成される請求項11に記載の装置。
- 前記第1のデバイスは、非SLIMbusプロトコルを使用して、前記第2のデバイスと通信するように構成される請求項11に記載の装置。
- 前記二次データ線上の通信は、前記クロック信号を使用して同期される請求項11に記載の装置。
- 前記処理回路は、
前記一次データ線と前記二次データ線のデータの両方でタイムスロットの複数の通信チャネルを割り振り、前記第1のデバイスは、複数の通信チャネルの1つを使用して、前記第2のデバイスと通信する
ように構成される請求項11に記載の装置。 - 前記二次データ線は、前記SLIMbusから独立して前記第1のデバイスを前記第2のデバイスに接続する請求項11に記載の装置。
- 前記構成メッセージは、前記第1のデバイスと前記第2のデバイスとの間の通信のために前記二次データ線を予約する制御情報を含み、前記二次データ線は、前記SLIMbusの複数の二次データ線の1つである請求項11に記載の装置。
- 前記制御情報は、第3のデバイスで提供されるSLIMbusマネージャによって生成され、前記第3のデバイスは、前記一次データ線を通じて通信することに制限されている請求項17に記載の装置。
- 前記処理回路は、
複数のデバイスに前記一次データ線を通じて構成メッセージを送り、
前記複数のデバイスに再構成コマンドを送信する
ように構成され、
前記再構成コマンドは、前記複数のデバイスの各々が、少なくとも1つの構成メッセージに従って構成を採用することを生じさせる
請求項11に記載の装置。 - 前記第1のデバイスは、第3のデバイスに、前記一次データ線を通じて送られた少なくとも1つの構成メッセージを中継するように構成される請求項19に記載の装置。
- シリアル低電力チップ間メディアバス(SLIMbus)の一次データ線から1つまたは複数の構成メッセージを受信するステップと、
再構成コマンドに応じて、かつ1つまたは複数の構成メッセージに基づいて、通信用インターフェースを再構成するステップと、
前記通信用インターフェースを再構成した後、第2のデータ線を通じて第2のデバイスと通信しながら、第1のデータ線を通じて第1のデバイスと通信するステップと
を含み、
前記第2のデータ線は、前記第2のデバイスとの通信のために予約される
通信方法。 - 前記第1データ線は、前記SLIMbus一次データ線またはSLIMbus二次データ線を含む請求項21に記載の方法。
- 前記第2のデータ線は、SLIMbus一次データ線によって使用されるフレーミングおよび制御構成を用いるSLIMbus二次データ線を含み、前記フレーミングおよび制御の構成は、ルートクロック周波数およびギアリングを定義し、フレーム境界を計算するために使用される請求項21に記載の方法。
- 前記第2のデータ線での通信は、非SLIMbusプロトコルによって制御される請求項21に記載の方法。
- マネージャデバイスに通信能力情報を報告するするステップであって、前記構成メッセージは、前記通信能力情報に応じて生成されるステップ
をさらに含む請求項21に記載の方法。 - シリアル低電力チップ間メディアバス(SLIMbus)の一次データ線から1つまたは複数の構成メッセージを受信し、
再構成コマンドに応じて、かつ1つまたは複数の構成メッセージに基づいて、通信用インターフェースを再構成し、
前記通信用インターフェースが再構成された後、第2のデータ線を通じて第2のデバイスと通信しながら、第1のデータ線を通じて第1のデバイスと通信する
ように構成された処理回路
を含み、
前記第2のデータ線は、前記第2のデバイスとの通信のために予約される
装置。 - 前記第1のデータ線は、前記SLIMbus一次データ線またはSLIMbus二次データ線を含む請求項26に記載の装置。
- 前記第2のデータ線は、前記SLIMbus一次データ線によって使用されるフレーミングおよび制御構成を用いるSLIMbus二次データ線を含み、前記フレーミングおよび制御の構成は、ルートクロック周波数およびギアリングを定義し、フレーム境界を計算するために使用される請求項26に記載の装置。
- 前記第2のデータ線での通信は、非SLIMbusプロトコルによって制御される請求項26に記載の装置。
- 前記処理回路は、
マネージャデバイスに通信能力情報を報告し、前記構成メッセージは、前記通信能力情報に応じて生成される
請求項26に記載の装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361904133P | 2013-11-14 | 2013-11-14 | |
US61/904,133 | 2013-11-14 | ||
US14/535,992 US9904652B2 (en) | 2013-11-14 | 2014-11-07 | System and method of sending data via additional secondary data lines on a bus |
US14/535,992 | 2014-11-07 | ||
PCT/US2014/064864 WO2015073379A1 (en) | 2013-11-14 | 2014-11-10 | System and method of sending data via additional secondary data lines on a bus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017504228A true JP2017504228A (ja) | 2017-02-02 |
Family
ID=53044811
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016529925A Pending JP2017504228A (ja) | 2013-11-14 | 2014-11-10 | バス上で追加的な二次データ線を介してデータを送るシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9904652B2 (ja) |
EP (1) | EP3069260A1 (ja) |
JP (1) | JP2017504228A (ja) |
KR (1) | KR20160084408A (ja) |
CN (1) | CN105765550B (ja) |
WO (1) | WO2015073379A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022520057A (ja) * | 2019-02-07 | 2022-03-28 | ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング | 通信動作を設定可能なシステムコンポーネントおよびそのようなシステムコンポーネントの作動方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10509761B2 (en) | 2013-11-14 | 2019-12-17 | Qualcomm Incorporated | System and method of sending data via additional secondary data lines on a bus |
US9514066B1 (en) * | 2015-09-09 | 2016-12-06 | Motorola Solutions, Inc. | Reconfigurable interface and method of configuring a reconfigurable interface |
US10586060B2 (en) * | 2016-05-19 | 2020-03-10 | Justin Cote | Device for securely transmitting and storing data |
CN107643994B (zh) * | 2016-07-20 | 2021-11-30 | 中兴通讯股份有限公司 | 终端、终端外设、信号发送及接收方法、数据传输系统 |
DE102016219347A1 (de) * | 2016-10-06 | 2018-04-12 | Robert Bosch Gmbh | Steuergerät, insbesondere Steuergerät für ein Kraftfahrzeug |
US10635619B2 (en) * | 2016-10-12 | 2020-04-28 | Cirrus Logic, Inc. | Encoding for multi-device synchronization of devices |
US20180285292A1 (en) * | 2017-03-28 | 2018-10-04 | Qualcomm Incorporated | System and method of sending data via additional secondary data lines on a bus |
US20190087369A1 (en) * | 2017-09-20 | 2019-03-21 | Qualcomm Incorporated | Full-duplex memory access systems and methods for improved quality of service (qos) |
US11362750B2 (en) * | 2019-03-11 | 2022-06-14 | Marvell Asia Pte Ltd | Synchronization of automotive sensors using communication-link TDM timing |
CN111324568A (zh) * | 2020-02-20 | 2020-06-23 | 深圳震有科技股份有限公司 | 一种多数据mdio总线 |
US20220321765A1 (en) * | 2020-05-14 | 2022-10-06 | Cirrus Logic International Semiconductor Ltd. | Multi-chip camera controller system with inter-chip communication |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11205875A (ja) * | 1998-01-20 | 1999-07-30 | Fujitsu Ltd | クロスコネクト装置の通信容量制御方式 |
WO2013090752A1 (en) * | 2011-12-16 | 2013-06-20 | Qualcomm Incorporated | System and method of sending data via a plurality of data lines on a bus |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7136953B1 (en) * | 2003-05-07 | 2006-11-14 | Nvidia Corporation | Apparatus, system, and method for bus link width optimization |
US7197591B2 (en) * | 2004-06-30 | 2007-03-27 | Intel Corporation | Dynamic lane, voltage and frequency adjustment for serial interconnect |
US7711373B2 (en) * | 2006-05-11 | 2010-05-04 | Nokia Corporation | Multiradio control interface |
US7949364B2 (en) * | 2006-10-03 | 2011-05-24 | Nokia Corporation | System for managing radio modems |
US7734247B2 (en) * | 2007-01-25 | 2010-06-08 | Sony Ericsson Mobile Communications Ab | Configurable serial memory interface |
JP5205819B2 (ja) * | 2007-06-06 | 2013-06-05 | 日本電気株式会社 | 通信システムおよびそのパケットスケジューリング方法ならびに送信ノード |
US8495310B2 (en) * | 2008-09-22 | 2013-07-23 | Qimonda Ag | Method and system including plural memory controllers and a memory access control bus for accessing a memory device |
US20100191995A1 (en) * | 2009-01-26 | 2010-07-29 | Koby Levy | In-Band Sleep Protocol for Embedded Bus |
US8995333B2 (en) * | 2009-07-29 | 2015-03-31 | Qualcomm Incorporated | Synchronous interface for multi-radio coexistence manager |
US9135197B2 (en) * | 2009-07-29 | 2015-09-15 | Qualcomm Incorporated | Asynchronous interface for multi-radio coexistence manager |
US8549203B2 (en) * | 2010-10-29 | 2013-10-01 | Qualcomm Incorporated | Multi-protocol bus interface device |
US9043634B2 (en) * | 2011-04-29 | 2015-05-26 | Qualcomm Incorporated | Methods, systems, apparatuses, and computer-readable media for waking a SLIMbus without toggle signal |
US9065674B2 (en) * | 2011-04-29 | 2015-06-23 | Qualcomm Incorporated | Multiple slimbus controllers for slimbus components |
US9417944B2 (en) * | 2011-10-05 | 2016-08-16 | Analog Devices, Inc. | Two-wire communication system for high-speed data and power distribution |
-
2014
- 2014-11-07 US US14/535,992 patent/US9904652B2/en active Active
- 2014-11-10 CN CN201480062301.5A patent/CN105765550B/zh active Active
- 2014-11-10 EP EP14803307.9A patent/EP3069260A1/en not_active Withdrawn
- 2014-11-10 WO PCT/US2014/064864 patent/WO2015073379A1/en active Application Filing
- 2014-11-10 KR KR1020167013977A patent/KR20160084408A/ko not_active Application Discontinuation
- 2014-11-10 JP JP2016529925A patent/JP2017504228A/ja active Pending
-
2018
- 2018-01-19 US US15/875,937 patent/US20180143938A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11205875A (ja) * | 1998-01-20 | 1999-07-30 | Fujitsu Ltd | クロスコネクト装置の通信容量制御方式 |
WO2013090752A1 (en) * | 2011-12-16 | 2013-06-20 | Qualcomm Incorporated | System and method of sending data via a plurality of data lines on a bus |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022520057A (ja) * | 2019-02-07 | 2022-03-28 | ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング | 通信動作を設定可能なシステムコンポーネントおよびそのようなシステムコンポーネントの作動方法 |
US11556493B2 (en) | 2019-02-07 | 2023-01-17 | Robert Bosch Gmbh | System component having a configurable communication behavior, and method for operating such a system component |
JP7241191B2 (ja) | 2019-02-07 | 2023-03-16 | ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツング | 通信動作を設定可能なシステムコンポーネントおよびそのようなシステムコンポーネントの作動方法 |
Also Published As
Publication number | Publication date |
---|---|
US9904652B2 (en) | 2018-02-27 |
CN105765550A (zh) | 2016-07-13 |
WO2015073379A1 (en) | 2015-05-21 |
US20150134862A1 (en) | 2015-05-14 |
KR20160084408A (ko) | 2016-07-13 |
CN105765550B (zh) | 2018-11-20 |
US20180143938A1 (en) | 2018-05-24 |
EP3069260A1 (en) | 2016-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10509761B2 (en) | System and method of sending data via additional secondary data lines on a bus | |
JP2017504228A (ja) | バス上で追加的な二次データ線を介してデータを送るシステムおよび方法 | |
US10467154B2 (en) | Multi-port multi-sideband-GPIO consolidation technique over a multi-drop serial bus | |
JP2019508915A (ja) | メッセージングおよび入出力転送インターフェースのための最適レイテンシパケタイザ有限ステートマシン | |
JP6173340B2 (ja) | バス上の複数のデータ線を介してデータを送るシステムおよび方法 | |
US10521392B2 (en) | Slave master-write/read datagram payload extension | |
US20190227971A1 (en) | Architecture for consolidating multiple sources of low-bandwidth data over a serial bus | |
US10572410B2 (en) | Function-specific communication on a multi-drop bus for coexistence management | |
US20180285292A1 (en) | System and method of sending data via additional secondary data lines on a bus | |
US20100272162A1 (en) | Synchronous serial programmable interface | |
CN116075815A (zh) | 跨接口的批操作 | |
KR20170136530A (ko) | 멀티-채널 네트워크에서 중재 및 적응적 전력-사이클링을 위한 방법 | |
WO2019217077A1 (en) | Latency optimized i3c virtual gpio with configurable operating mode and device skip | |
US20180357067A1 (en) | In-band hardware reset for virtual general purpose input/output interface | |
JP2006304011A (ja) | インタフェース回路 | |
TW202125270A (zh) | 基於序列執行來控制射頻前端觸發的應用時間 | |
US20240089195A1 (en) | Increased radio frequency front-end (rffe) throughput using port aggregation | |
US7680069B2 (en) | PCM type interface | |
JP2002007313A (ja) | データ処理装置、データ処理方法及びバス制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171024 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181029 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181105 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190603 |