(57)【要約】  方法は、第1のシリアル低電力チップ間メディアバス(SLIMbus)構成要素から第2のSLIMbus構成要素へとデータを送るステップを含む。方法は、複数のSLIMbusデータ線のうちの少なくとも第1SLIMbusデータ線を介してデータを送るステップをさらに含む。
2015506042.tif 000002
【特許請求の範囲】
【請求項１】
第1のシリアル低電力チップ間メディアバス(SLIMbus)構成要素から第2のSLIMbus構成要素にデータを送るステップであって、前記データは複数のSLIMbusデータ線のうちの少なくとも第1のSLIMbusデータ線を介して送られる、送るステップを含む方法。
【請求項２】
前記複数のSLIMbusデータ線のうちの複数のSLIMbusデータ線を介して並列に前記データを送るべきか、または、前記複数のSLIMbusデータ線のうちの単一のSLIMbusデータ線を介して直列に前記データを送るべきかを判定するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記複数のSLIMbusデータ線の各々は双方向データ線である、請求項1に記載の方法。
【請求項４】
前記データの少なくとも一部分はSLIMbusデータ伝送プロトコルに従って送られる、請求項1に記載の方法。
【請求項５】
前記第1のSLIMbusデータ線の第1のクロック周波数を、前記複数のSLIMbusデータ線のうちの第2のSLIMbusデータ線の第2のクロック周波数とは無関係に変更するステップをさらに含む、請求項1に記載の方法。
【請求項６】
前記第1のSLIMbusデータ線の前記第1のクロック周波数は、前記第1のSLIMbusデータ線と関連付けられている対応するギアを変化させることによって変更される、請求項5に記載の方法。
【請求項７】
前記複数のSLIMbusデータ線のうちの1つまたは複数の特定のSLIMbusデータ線を前記データを送るために選択するステップをさらに含む、請求項1に記載の方法。
【請求項８】
前記選択はスイッチ選択信号に少なくとも部分的に基づく、請求項7に記載の方法。
【請求項９】
前記第1のSLIMbusデータ線は第1の帯域幅をサポートし、前記複数のSLIMbusデータ線のうちの第2のSLIMbusデータ線は第2の帯域幅をサポートし、前記第2の帯域幅は前記第1の帯域幅以上である、請求項1に記載の方法。
【請求項１０】
前記方法は、前記第1のSLIMbus構成要素から前記複数のSLIMbusデータ線のうちの前記第1のSLIMbusデータ線または第2のSLIMbusデータ線を介して前記第2のSLIMbus構成要素に第2のデータを送るステップをさらに含み、前記複数のSLIMbusデータ線の各々は、別個のメッセージングおよびフレーミング構成に応答する、請求項1に記載の方法。
【請求項１１】
前記データおよび前記第2のデータは、共通のクロックサイクルの間に単一の双方向ポートを介して送られる、請求項10に記載の方法。
【請求項１２】
前記データおよび前記第2のデータは、異なるクロックサイクルまたは重なり合ったクロックサイクルの間に単一の双方向ポートを介して送られる、請求項10に記載の方法。
【請求項１３】
共通のクロックサイクルの間に、前記データは第1のポートを介して送られ、前記第2のデータは第2のポートを介して送られる、請求項10に記載の方法。
【請求項１４】
前記第1のポートは前記第1のSLIMbusデータ線に対応し、前記第2のポートは前記第2のSLIMbusデータ線に対応する、請求項13に記載の方法。
【請求項１５】
複数のシリアル低電力チップ間メディアバス(SLIMbus)データ線のうちの少なくとも第1のSLIMbusデータ線を介して第2のSLIMbus構成要素にデータを送るように構成されている第1のSLIMbus構成要素を備える装置。
【請求項１６】
前記第1のSLIMbus構成要素に、および前記第2のSLIMbus構成要素に結合されているSLIMbusクロック線をさらに備える、請求項15に記載の装置。
【請求項１７】
前記第1のSLIMbus構成要素に、および複数のSLIMbusデータ線に結合されているポートデュプリケータをさらに備える、請求項15に記載の装置。
【請求項１８】
前記ポートデュプリケータは、単一のSLIMbusデータ線を介したデータ送信に適応しているポートにマルチSLIMbusデータ線インターフェースを提供して、前記複数のSLIMbusデータ線を介したデータ送信を可能にするように構成されている、請求項17に記載の装置。
【請求項１９】
前記ポートデュプリケータは、第1のマルチプレクサと第2のマルチプレクサとを含み、前記第1のマルチプレクサは入来データと関連付けられており、前記第2のマルチプレクサは発信データと関連付けられている、請求項17に記載の装置。
【請求項２０】
前記ポートデュプリケータは、前記データを送るときに前記複数のSLIMbusデータ線のうちのいずれの1つまたは複数のSLIMbusデータ線を利用すべきかを選択的に判定するように構成されている、請求項17に記載の装置。
【請求項２１】
前記判定は、前記データおよび前記第2のSLIMbus構成要素のうちの少なくとも一方が単一SLIMbusデータ線SLIMbus構成に適応しているかに少なくとも部分的に基づく、請求項20に記載の装置。
【請求項２２】
前記第1のSLIMbus構成要素は、前記第2のSLIMbus構成要素から前記複数のSLIMbusデータ線のうちの第2のSLIMbusデータ線を介して第2のデータを受信するようにさらに構成されており、前記第1のSLIMbus構成要素の単一の双方向ポートを介して前記データが送られ、前記第2のデータが受信される、請求項17に記載の装置。
【請求項２３】
前記第1のSLIMbusデータ線と関連付けられている第1のクロック周波数は、前記複数のSLIMbusデータ線のうちの第2のSLIMbusデータ線と関連付けられている第2のクロック周波数に等しい、請求項15に記載の装置。
【請求項２４】
前記第1のクロック周波数および前記第2のクロック周波数は前記第1のSLIMbus構成要素の第1のギアに応答する、請求項23に記載の装置。
【請求項２５】
前記第1のSLIMbusデータ線と関連付けられている第1のクロック周波数は、前記複数のSLIMbusデータ線のうちの第2のSLIMbusデータ線と関連付けられている第2のクロック周波数と異なる、請求項15に記載の装置。
【請求項２６】
前記第1のクロック周波数は前記第1のSLIMbus構成要素の第1のギアに応答し、前記第2のクロック周波数は前記第1のSLIMbus構成要素の第2のギアに応答する、請求項25に記載の装置。
【請求項２７】
プロセッサによって実行されると、前記プロセッサに、
シリアル低電力チップ間メディアバス(SLIMbus)構成要素が、複数のSLIMbusデータ線を含むバス構成に適応しているか否かを判定させる動作命令を含む、持続性コンピュータ可読記憶媒体。
【請求項２８】
前記SLIMbus構成要素が前記バス構成に適応しているか否かの判定は、前記SLIMbus構成要素の構成レジスタに問い合わせることを含む、請求項27に記載の持続性コンピュータ可読記憶媒体。
【請求項２９】
前記SLIMbus構成要素の前記構成レジスタは、列挙プロセスの間に問い合わせを受ける、請求項28に記載の持続性コンピュータ可読記憶媒体。
【請求項３０】
前記SLIMbus構成要素が前記バス構成に適応しているか否かの判定は、メッセージングチャネルを介して前記SLIMbus構成要素にユーザ定義のメッセージを送信することを含む、請求項27に記載の持続性コンピュータ可読記憶媒体。
【請求項３１】
前記SLIMbus構成要素が前記バス構成に適応しているか否かの判定は、前記SLIMbus構成要素と関連付けられる互換性情報を含む構成データベースを検索することを含む、請求項27に記載の持続性コンピュータ可読記憶媒体。
【請求項３２】
第1のシリアル低電力チップ間メディアバス(SLIMbus)構成要素と、
プロセッサと、
前記プロセッサによって、
前記第1のSLIMbus構成要素が、複数のSLIMbusデータ線を含むバス構成に適応しているか否かを判定し、
1つまたは複数のパケットを、前記判定に少なくとも部分的に基づいて前記複数のSLIMbusデータ線のうちの1つまたは複数を介して前記第1のSLIMbus構成要素に送信するためにスケジューリングするように実行可能な命令を記憶しているメモリと
を備える、装置。
【請求項３３】
前記装置は前記第1のSLIMbus構成要素に接続されている第2のSLIMbus構成要素をさらに備え、前記命令は、前記プロセッサによって、前記第2のSLIMbus構成要素が、複数のSLIMbusデータ線を含む前記バス構成に適応しているか否かを判定するようにさらに実行可能である、請求項32に記載の装置。
【請求項３４】
前記命令は、前記プロセッサによって、
前記第1のSLIMbus構成要素が前記バス構成に適応しているという判定に応答して、前記第1のSLIMbus構成要素を前記バス構成に従ってプログラムするために、前記第1のSLIMbus構成要素に少なくとも1つの構成メッセージを送るようにさらに実行可能である、請求項32に記載の装置。
【請求項３５】
第1のSLIMbus構成要素が、複数のSLIMbusデータ線を含むバス構成に適応しているか否かを判定するための手段と、
1つまたは複数のパケットを、前記判定に少なくとも部分的に基づいて前記複数のSLIMbusデータ線のうちの1つまたは複数を介して前記第1のSLIMbus構成要素に送信するためにスケジューリングするための手段と
を備える、装置。
【請求項３６】
第2のSLIMbus構成要素が、複数のSLIMbusデータ線を含むバス構成に適応しているか否かを判定するための手段をさらに備える、請求項35に記載の装置。
【請求項３７】
前記第1のSLIMbus構成要素が前記バス構成に適応しているという判定に応答して、前記第1のSLIMbus構成要素を前記バス構成に従ってプログラムするために、少なくとも1つの構成メッセージを前記第1のSLIMbus構成要素に送るための手段をさらに備える、請求項35に記載の装置。
【請求項３８】
第1のSLIMbus構成要素が、複数のSLIMbusデータ線を含むバス構成に適応しているか否かを判定するステップと、
1つまたは複数のパケットを、前記判定に少なくとも部分的に基づいて前記複数のSLIMbusデータ線のうちの1つまたは複数を介して前記第1のSLIMbus構成要素に送信するためにスケジューリングするステップと
を含む、方法。
【請求項３９】
第2のSLIMbus構成要素が前記バス構成に適応しているか否かを判定するステップをさらに含む、請求項38に記載の方法。
【請求項４０】
前記第1のSLIMbus構成要素が前記バス構成に適応しているという判定に応答して、前記第1のSLIMbus構成要素を前記バス構成に従ってプログラムするために、少なくとも1つの構成メッセージを前記第1のSLIMbus構成要素に送るステップをさらに含む、請求項38に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によりその内容が本明細書に組み込まれている、「SYSTEM AND METHOD OF SENDING DATA VIA A PLURALITY OF DATA LINES ON A BUS」と題する、2011年12月16日に出願した米国仮特許出願第61/576,840号、および、「SYSTEM AND METHOD OF SENDING DATA VIA A PLURALITY OF DATA LINES ON A BUS」と題する、2012年12月13日に出願した米国非仮特許出願第13/714,140号の優先権を主張するものである。
【０００２】
本開示は概して、データ送信バスに関する。
【背景技術】
【０００３】
技術の進歩によって、コンピューティングデバイスはより小型にかつより高性能になっている。たとえば、現在、小型で、軽量で、ユーザが簡単に持ち運べる、携帯式のワイヤレス電話、携帯情報端末(PDA)、およびページングデバイスなどの、ワイヤレスコンピューティングデバイスを含む、様々な携帯式の個人向けコンピューティングデバイスが存在する。より具体的には、セルラー電話やインターネットプロトコル(IP)電話などの携帯式のワイヤレス電話は、ボイスおよびデータパケットを、ワイヤレスネットワークを介して通信することができる。さらに、多くのそのようなワイヤレス電話には、内部に他の種類のデバイスが組み込まれている。たとえば、ワイヤレス電話は、デジタルスチルカメラ、デジタルビデオカメラ、デジタルレコーダ、およびオーディオファイルプレーヤも含み得る。ワイヤレス電話がそのような構成要素を含むとき、構成要素は、共通のバスを介して互いと通信することができる。
【０００４】
たとえば、シリアル低電力チップ間メディアバス(SLIMbus:serial low-power inter-chip media bus)規格は、携帯電話のような携帯式コンピューティングデバイスにおける適用によく適した通信バス規格である。SLIMbus規格によれば、構成要素は単一のSLIMbusデータ線および単一のクロック線によって接続される。しかしながら、単一のSLIMbusデータ線が提供する帯域幅およびスループットは限られている場合があり、結果として、より大きな帯域幅およびスループットを必要とするデータ(たとえば、プロフェッショナルオーディオデータ、およびビデオデータのような非オーディオデータ)を送受信することができない。
【発明の概要】
【課題を解決するための手段】
【０００５】
開示される技法は、SLIMbus通信バス上のSLIMbusデータ線の数を増大させることができ、結果として、帯域幅およびスループットを増大させ、SLIMbus通信バスを介してプロフェッショナルオーディオデータ、およびビデオデータのような非オーディオデータを送受信することができるようにすることができる。本開示は、SLIMbus通信バス上の増大した数のSLIMbusデータ線に接続を提供することができる、既存のポートを複製するシステムおよび方法をさらに記載する。各SLIMbusデータ線は、SLIMbusデータ線の対応するギア割り当てに応答し得る独立したクロック周波数と関連付けられ得る。
【０００６】
特定の実施形態において、方法は、第1のシリアル低電力チップ間メディアバス(SLIMbus)構成要素から第2のSLIMbus構成要素へとデータを送るステップを含む。方法は、複数のSLIMbusデータ線のうちの少なくとも第1のSLIMbusデータ線を介してデータを送るステップをさらに含む。たとえば、方法は、複数のSLIMbusデータ線のうちの第1のSLIMbusデータ線を介して、および、第2のSLIMbusデータ線を介してデータを送るステップを含んでもよい。代替の実施形態において、3つ以上のSLIMbusデータ線が使用されてもよい。
【０００７】
別の特定の実施形態において、装置は、複数のシリアル低電力チップ間メディアバス(SLIMbus)データ線のうちの少なくとも第1のSLIMbusデータ線を介して第2のSLIMbus構成要素にデータを送るように構成されている第1のSLIMbus構成要素を含む。たとえば、第1のSLIMbus構成要素は、複数のSLIMbusデータ線のうちの第1のSLIMbusデータ線を介して、および、第2のSLIMbusデータ線を介して第2のSLIMbus構成要素にデータを送ってもよい。代替の実施形態において、3つ以上のSLIMbusデータ線が使用されてもよい。
【０００８】
別の特定の実施形態において、持続性コンピュータ可読記憶媒体は、プロセッサによって実行されると、プロセッサに、SLIMbus構成要素が、複数のSLIMbusデータ線を含むバス構成に適応しているか否かを判定させる動作命令を含む。
【０００９】
別の特定の実施形態において、システムは、第1のSLIMbus構成要素と、プロセッサと、プロセッサによって実行されると、プロセッサに、第1のSLIMbus構成要素が、複数のSLIMbusデータ線を含むバス構成に適応しているか否かを判定させる命令を記憶しているメモリとを含む。命令は、プロセッサによって、1つまたは複数のパケットを、上記判定に少なくとも部分的に基づいて複数のSLIMbusデータ線のうちの1つまたは複数を介して第1のSLIMbus構成要素に送信するためにスケジューリングするようにも実行可能である。
【００１０】
開示されている実施形態のうちの少なくとも1つによって提供される特定の利点は、SLIMbus通信バス上に複数のSLIMbusデータ線が作成されて、SLIMbus通信バスの利用可能な帯域幅およびスループットが増大することを含み、この結果として、より大きな帯域幅およびスループットを必要とするデータファイル(たとえば、プロフェッショナルオーディオデータおよび非オーディオデータ)を送受信することができるようになり得る。
【００１１】
本開示の他の態様、利点、および特徴は、以下のセクション、すなわち、図面の簡単な説明、発明を実施するための形態、および特許請求の範囲を含む、本出願全体の検討後に明らかになろう。
【図面の簡単な説明】
【００１２】
【図１】2つのシリアル低電力チップ間メディアバス(SLIMbus)構成要素の間の複数のSLIMbusデータ線を含むシステムの特定の実施形態を示すブロック図である。
【図２】2つのSLIMbus構成要素の間の複数のSLIMbusデータ線を含むシステムの別の特定の実施形態を示すブロック図である。
【図３】複数のSLIMbusデータ線を介したデータ送信を可能にするためのポートに対するマルチSLIMbusデータ線インターフェースを提供するためのシステムの特定の実施形態を示す図である。
【図４】2つのSLIMbus構成要素の間の複数のSLIMbusデータ線を含むシステムの別の特定の実施形態を示す図である。
【図５】2線対応SLIMbus構成要素および単線対応SLIMbus構成要素の両方を含むシステムの特定の実施形態を示す図である。
【図６】図5のシステムにおける構成の特定の実施形態を示す図である。
【図７】2線対応SLIMbus構成要素および単線対応SLIMbus構成要素の両方を含むシステムの特定の実施形態を示す別の図である。
【図８】図5のシステムにおけるスケジューリングの特定の実施形態を示すスケジューリング図である。
【図９】複数のSLIMbusデータ線のうちの少なくとも1つのSLIMbusデータ線を介してデータを送る方法の特定の実施形態を示す流れ図である。
【図１０】2つのSLIMbus構成要素の間の複数のSLIMbusデータ線を含むシステムを含む電子デバイスの特定の実施形態を示す図である。
【発明を実施するための形態】
【００１３】
図1は、2つのSLIMbus構成要素104、106の間の複数のSLIMbusデータ線110、112を含むシステム100の特定の実施形態を示すブロック図である。本明細書においてさらに説明するように、複数のデータ線を使用することによって、SLIMbusデータ線110、112およびSLIMbusクロック線114を含むSLIMbus通信バス上の帯域幅およびスループットを増大させることができる。
【００１４】
システム100は、第1のSLIMbus構成要素104に結合されているホスト102を含んでもよい。第1のSLIMbus構成要素104は、複数のSLIMbusデータ線110、112を介して、および、SLIMbusクロック線114を介して第2のSLIMbus構成要素106に結合されてもよい。図1の実施形態において、複数のSLIMbusデータ線110、112は、第1のSLIMbusデータ線110および第2のSLIMbusデータ線112を含む。第2のSLIMbus構成要素106は、第3の構成要素108に結合されてもよい。特定の実施形態において、第3の構成要素108は、SLIMbus構成要素であってもよいし、または非SLIMbusデバイスであってもよい。
【００１５】
特定の実施形態において、ホスト102は、デジタル信号プロセッサ(DSP)、中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、マイクロプロセッサ、またはそれらの任意の組合せのようなプロセッサを含んでもよい。ホスト102は、移動局モデム(MSM:mobile station modem)、モバイルデータモデム(MDM:mobile data modem)、無線周波数トランシーバ(RTR)、アプリケーションプロセッサ(APQ)、またはそれらの任意の組合せを含んでもよい。
【００１６】
特定の例示的な実施形態において、第1のデータ線110は第1の帯域幅をサポートすることができ、第2のSLIMbusデータ線112は第2の帯域幅をサポートすることができる。例示的な非限定例として、第1の帯域幅は28メガビット毎秒(Mbps)であってもよく、第2の帯域幅は28Mbps以上であってもよい。この例において、第2のSLIMbusデータ線112は、本明細書においてさらに説明するように、第2のSLIMbusデータ線112と第1のSLIMbusデータ線110とが異なる速度においてクロック制御されていることに基づいて、第1のSLIMbusデータ線110よりも大きい帯域幅を有してもよい。
【００１７】
特定の例示的な実施形態において、複数のSLIMbusデータ線110、112の各々は、双方向データ線であってもよい。たとえば、第1のSLIMbusデータ線110は双方向データ線であってもよく、第2のSLIMbusデータ線112は双方向データ線であってもよい。本明細書において使用される場合、双方向データ線は、2つの対向する方向においてデータを送ることが可能であるデータ線であり得る。さらに、複数のSLIMbusデータ線110、112の各々は、異なる電力レベルスループットと関連付けられるデータを送信するのに利用されてもよい。たとえば、第1のSLIMbusデータ線110は低電力トラフィックに利用されてもよく、一方で第2のSLIMbusデータ線112はより高い電力トラフィックに利用されてもよい。
【００１８】
動作中、データは、第1のSLIMbus構成要素104から第2のSLIMbus構成要素106に送られてもよい。本明細書において使用される場合、データは、オーディオデータ、非オーディオデータ、パルス符号変調(PCM)オーディオデータ、Sony Philips Digital Interface(SPDIF)データ、High Definition Audio(HDA)データ、プロフェッショナルオーディオデータ(すなわち、Dolby Surround 5.1/7.1および特定のRoland Musicシステムにおいて使用されるような192kHz、24ビット)、またはそれらの任意の組合せを含んでもよい。第1のSLIMbus構成要素104は、複数のSLIMbusデータ線110、112のうちの選択される1つまたは複数の特定のSLIMbusデータ線上でデータを送ってもよい。たとえば、データは、第1のSLIMbusデータ線110、第2のSLIMbusデータ線112、またはそれらの任意の組合せを介して送られてもよい。
【００１９】
代替的に、または加えて、データは複数のSLIMbusデータ線110、112のうちの選択される1つまたは複数の特定のSLIMbusデータ線上で第2のSLIMbus構成要素106から第1のSLIMbus構成要素104に送られてもよい。たとえば、データは、第1のSLIMbusデータ線110、第2のSLIMbusデータ線112、またはそれらの任意の組合せを介して送られてもよい。
【００２０】
例示的な実施形態において、第1のSLIMbus構成要素104は、複数のSLIMbusデータ線を介して並列にデータを送ってもよく、または、単一のSLIMbusデータ線を介して直列にデータを送ってもよい。データが並列に送られるか、または直列に送られるかは、データのサイズ、少なくとも1つのSLIMbusデータ線のクロック周波数、SLIMbusデータ伝送プロトコルとのデータの互換性、またはそれらの任意の組合せのような要因によって決まり得る。たとえば、第1のSLIMbus構成要素104は、第1のSLIMbusデータ線110を介して、および第2のSLIMbusデータ線112を介して並列にデータを送ってもよい。例示のために、データは2つの部分に分割されてもよく、これらの部分はSLIMbusデータ線110および112を介して同時に、または実質的に同時に送信されてもよい。受信されると、データはインターリーブおよび/または連結されてもよい。代替的に、第1のSLIMbus構成要素104は、第1のSLIMbusデータ線110を介して直列にデータを送ってもよく、または、第2のSLIMbusデータ線112を介して直列にデータを送ってもよい。例示のために、データは2つの部分に分割されてもよく、これらの部分は第1のSLIMbusデータ線110または第2のSLIMbusデータ線112のいずれかを介して順々に送信されてもよい。データは、SLIMbusデータ伝送プロトコル、他の時分割伝送プロトコル、または非時分割伝送プロトコルに従って送られてもよい。
【００２１】
特定の実施形態において、第1のSLIMbus構成要素104は、単一SLIMbusデータ線構成(たとえば、レガシー下位互換性構成)に適応するように構成されてもよい。たとえば、第1のSLIMbus構成要素104は、第1のSLIMbusデータ線110のみを介して第2のSLIMbus構成要素106にデータを送るように構成されてもよい。図2および図3に記載するように、ポートデュプリケータが、第1のSLIMbus構成要素104にマルチSLIMbusデータ線インターフェースを提供して、第1の構成要素104が、複数のSLIMbusデータ線110、112を使用した通信をサポートする構成に適応することを可能にすることができる。ポートデュプリケータを加えることによって、Mobile Industry Processor Interface(MIPI)SLIMbus仕様に関連する規格に違反することなく、複数のSLIMbusデータ線110、112をシステム100に組み込むことができる。
【００２２】
特定の実施形態において、第2のSLIMbus構成要素106も、単一SLIMbusデータ線構成に適応するように構成されてもよい。たとえば、第2のSLIMbus構成要素106は、第1のSLIMbusデータ線110のみを介して第1のSLIMbus構成要素104からデータを受信するように構成されてもよい。図2および図3に記載するように、ポートデュプリケータが、第2のSLIMbus構成要素106にマルチSLIMbusデータ線インターフェースを提供して、第2の構成要素106が、複数のSLIMbusデータ線110、112を使用した通信をサポートする構成に適応することを可能にすることができる。
【００２３】
特定の実施形態において、第3のデバイス108は、本明細書に記載するように、複数のSLIMbusデータ線110、112をサポートする構成に適応するように構成されてもよい。たとえば、第3のデバイス108は、複数のSLIMbusデータ線110、112を介して第1のSLIMbus構成要素104からデータを受信するように構成されてもよい。第3のデバイス108に送られるデータは、非SLIMbusプロトコル(たとえば、非時分割プロトコル、またはSLIMbusデータ伝送プロトコル以外の時分割プロトコル)に従って送信されてもよい。
【００２４】
特定の実施形態において、複数のSLIMbusデータ線110、112の各SLIMbusデータ線は異なるSLIMbus構成要素に対応してもよい。たとえば、第1の構成要素104および第2の構成要素106は、第1のSLIMbusデータ線110およびSLIMbusクロック線114を介してデータを受信および送信するように構成されてもよい。加えて、第3のSLIMbus構成要素および第4のSLIMbus構成要素(図示せず)は、第2のSLIMbusデータ線112およびSLIMbusクロック線114を介してデータを受信および送信するように構成されてもよい。したがって、同じSLIMbusクロック線114が、各々が別個のSLIMbusデータ線を使用する異なる構成要素または構成要素のセットの間のデータ伝送のタイミングおよび速度を制御することができる。
【００２５】
単一のSLIMbusデータ線および単一のSLIMbusクロック線に適応するように構成されているレガシーSLIMbusデバイスが、複数のSLIMbusデータ線110、112と接続されてもよいことが諒解されよう。加えて、複数のSLIMbusデータ線に適応するように構成されているデバイスが、システム100内でレガシーデバイスと共存してもよい。複数のSLIMbusデータ線110、112がある結果として、帯域幅およびスループットが増大し得ることが諒解されよう。その上、SLIMbus構成要素を複製することによって帯域幅を増大させようとするSLIMbusシステム(データ線(複数の場合もあり)を追加するよりもはるかに大きいダイ面積を占有する場合がある)と比較すると、相対的に小さいダイサイズの増大で帯域幅およびスループットの増大を達成することができる。したがって、図1のシステム100は、SLIMbus構成要素間の広帯域幅データ伝送(たとえば、プロフェッショナルオーディオデータ、および非オーディオデータを送受信する機能)をサポートすることができる。
【００２６】
図2は、2つのSLIMbus構成要素104、106の間の複数のSLIMbusデータ線110、112を含むシステム200の別の特定の実施形態を示すブロック図である。図1とは対照的に、図2は、少なくとも3つのデータ線(たとえば、第NのSLIMbusデータ線218を含む「N」本のSLIMbusデータ線)を示している。
【００２７】
システム200は、第1のSLIMbus構成要素104に結合されているホスト102を含んでもよい。第1のSLIMbus構成要素104は、ポートデュプリケータ216に結合されてもよい。ポートデュプリケータ216は、複数のSLIMbusデータ線110、112、218を介して、および、SLIMbusクロック線114を介して第2のSLIMbus構成要素106(または第2のSLIMbus構成要素106に結合されている対応するポートデュプリケータ)に結合されてもよい。第2のSLIMbus構成要素106は、第3の構成要素108に結合されてもよい。
【００２８】
第1のSLIMbus構成要素104は、ギア選択論理220を含んでもよい。特定の例示的な実施形態において、ギア選択論理220は、第1のギア222および第2のギア224を含む複数のギアにおいて複数のデータ線110、112、および218の各々をクロック制御するように構成されてもよい。特定の実施形態において、ギア選択論理220は、10のギアのうちのいずれかを選択してもよく、各ギアは、異なるクロック周波数(たとえば、システム200の「ネイティブ」クロック周波数の倍数または分画)に対応する。たとえば、ギアを1つダウンシフトすることによってクロック周波数は2分の1になり得、ギアを1つアップシフトすることによって、クロック周波数は2倍になり得る。ギア選択論理220は、第1のSLIMbusデータ線110の第1のクロック周波数を、第2のSLIMbusデータ線112の第2のクロック周波数とは無関係に、および、第NのSLIMbusデータ線218の第Nのクロック周波数とは無関係に変更するように構成されてもよい。
【００２９】
特定の例示的な実施形態において、第1のSLIMbusデータ線110の第1のクロック周波数は、第1のSLIMbusデータ線110と関連付けられる対応するギアを変化させることによって変更されてもよい(すなわち、2の累乗を掛けて増大または2の累乗で割って低減)。たとえば、第1のSLIMbusデータ線110の第1のクロック周波数は、第1のSLIMbusデータ線110と関連付けられる対応するギアを、第1のギア222から第2のギア224へ変化させることによって増大されてもよい。代替的に、第1のSLIMbusデータ線110の第1のクロック周波数は、第1のSLIMbusデータ線110と関連付けられる対応するギアを、第2のギア224から第1のギア222へ変化させることによって低減されてもよい。
【００３０】
第2のSLIMbusデータ線112の第2のクロック周波数は、第2のSLIMbusデータ線112と関連付けられる対応するギアを変化させることによって変更されてもよい(すなわち、2の累乗を掛けて増大または2の累乗で割って低減)。たとえば、第2のSLIMbusデータ線112の第2のクロック周波数は、第2のSLIMbusデータ線112と関連付けられる対応するギアを、第1のギア222から第2のギア224へ変化させることによって増大されてもよい。代替的に、第2のSLIMbusデータ線112の第2のクロック周波数は、第2のSLIMbusデータ線112と関連付けられる対応するギアを、第2のギア224から第1のギア222へ変化させることによって低減されてもよい。
【００３１】
様々なSLIMbusデータ線110、112、218は、同じギアにおいてクロック制御されてもよく、または異なるギアにおいてクロック制御されてもよい。特定の実施形態において、第1のSLIMbusデータ線110の第1のクロック周波数は、第2のSLIMbusデータ線112の第2のクロック周波数に等しくてもよい。たとえば、第1のクロック周波数および第2のクロック周波数の両方は、第1のギア222に応答してもよい。代替的に、第1のSLIMbusデータ線110の第1のクロック周波数は、第2のSLIMbusデータ線112の第2のクロック周波数と異なってもよい。たとえば、第1のクロック周波数は第1のSLIMbus構成要素104の第1のギア222に応答してもよく、第2のクロック周波数は第1のSLIMbus構成要素104の第2のギア224に応答してもよい。特定の実施形態において、SLIMbusデータ線110、112、218は、連続ギア方式に従って(たとえば、ギアX、ギアX+1、およびギアX+2において)クロック制御されてもよい。
【００３２】
ポートデュプリケータ216は、単一のSLIMbusデータ線を介したデータ送信に適応しているポートにマルチSLIMbusデータ線インターフェースを提供して、複数のSLIMbusデータ線110、112、218を介したデータ送信を可能にするように構成されてもよい。たとえば、ポートデュプリケータ216は、そうでなければ第1のSLIMbusデータ線110のみを介したデータの送受信に適応することになるレガシーポートと通信するために、複数のSLIMbusデータ線110、112、218に適応したインターフェースを提供するように構成されてもよい。
【００３３】
動作中、ポートデュプリケータ216は、データを送信するときに利用するために、複数のSLIMbusデータ線110、112、218の1つまたは複数のSLIMbusデータ線のうちの1つを選択的に決定するように構成されてもよい。たとえば、ポートデュプリケータ216は、第1のSLIMbusデータ線110を介して、第2のSLIMbusデータ線112を介して、第NのSLIMbusデータ線218を介して、またはそれらの任意の組合せを介してデータを送るように選択的に決定してもよい。
【００３４】
特定の例示的な実施形態において、データ送信中にいくつのSLIMbusデータ線を使用すべきか、および、いずれのSLIMbusデータ線を使用すべきかの決定は、少なくとも部分的に、データの、SLIMbusデータ伝送プロトコルとの互換性、受信側SLIMbus構成要素106の、SLIMbusデータ伝送プロトコルとの互換性、またはそれらの任意の組合せに基づいてもよい。たとえば、第1のSLIMbus構成要素104および第2のSLIMbus構成要素106は、単一のSLIMbusデータ線構成、および、SLIMbusデータ伝送プロトコルに適応しているデータに適応するように構成されてもよく、一方で第3のデバイス108は、複数の伝送プロトコルおよび構成(たとえば、SLIMbusデータ伝送プロトコル、複数のSLIMbusデータ線上でのデータ送信をサポートする構成、SLIMbusデータ伝送プロトコルに適応していないデータ、SLIMbusデータ伝送プロトコルに適応しているデータ、またはそれらの任意の組合せ)に適応するように構成されてもよい。
【００３５】
特定の例示的な実施形態において、第2のSLIMbusデータ線112および第NのSLIMbusデータ線218は、すべてのタイプのデータを搬送するように構成されてもよく、一方で、第1のSLIMbusデータ線110は、SLIMbusデータ伝送プロトコルに適応しているデータのみを搬送するように構成されてもよい。たとえば、データが第3のデバイス108に送られるべきである場合、ポートデュプリケータ216は、第2のSLIMbusデータ線112、第NのSLIMbusデータ線218、またはそれらの任意の組合せを介してデータを送るように選択的に決定してもよい。代替的に、SLIMbusデータ伝送プロトコルに適応しているデータが第2のSLIMbus構成要素106に送られるべきである場合、ポートデュプリケータ216は、第1のSLIMbusデータ線110、第2のSLIMbusデータ線112、第NのSLIMbusデータ線218、またはそれらの任意の組合せを介してデータを送るように選択的に決定してもよい。構成要素は、図3に記載されているように、プログラミングまたは制御メッセージを介して単一のSLIMbusデータ線または複数のSLIMbusデータ線上のデータを検査するようにプログラムされてもよい。複数のデータ線110、112、218は、SLIMbusプロトコルに適応しているデータ、および、SLIMbusプロトコルに適応していないデータを同時に送信してもよい。
【００３６】
2つまたは3つのデータ線を使用することによって、特定のタイプのデータの場合にスケジューリングが単純になり得ることに留意されたい。たとえば、16ビットのオーディオデータは、2つのSLIMbusデータ線にわたって同時に送信される2つの8ビットオーディストリームに分割されてもよい。別の例として、24ビットのオーディオデータは、3つのSLIMbusデータ線にわたって同時に送信される3つの8ビットオーディストリームに分割されてもよい。8ビットのオーディオフレームの送信をスケジューリングすることは、16ビットまたは24ビットのオーディオフレームをスケジューリングすることと比較して相対的に単純であり得る。その上、複数のSLIMbusデータ線が使用されるとき、関連するSLIMbusクロック線をより低い周波数においてクロック制御することができ、これによって消費電力を低減することができる。
【００３７】
レガシーSLIMbus構成要素がポートデュプリケータ216を介して複数のSLIMbusデータ線110、112、218と接続されてもよく、それによって、レガシー110、112、218構成要素および他の構成要素が1つのシステム内で共存してもよいことが諒解されよう。ポートデュプリケータ216は、ピンカウントを増大させることを必要とし得る、SLIMbus構成要素およびインフラストラクチャを複製することなく、追加のSLIMbusデータ線を組み込むことを可能にすることができることがさらに諒解されよう。複数のSLIMbusデータ線110、112、218の各データ線のギアを管理(たとえば、変更)する結果として、電力管理を改善することができることも諒解されよう。
【００３８】
図3は、複数のSLIMbusデータ線を介したデータ送信を可能にするためのポートに対するマルチSLIMbusデータ線インターフェースを提供するように動作可能なシステム300の特定の実施形態を示す図である。システム300は、ポート302に結合されている第1のSLIMbus構成要素104を含んでもよい。
【００３９】
特定の例示的な実施形態において、第1のSLIMbus構成要素104は、ギア選択論理220を含んでもよい。ギア選択論理220は、第1のギア222および第2のギア224を含んでもよい。ギア選択論理220は、入来データ323、発信データ324、第1のSLIMbusデータ線110、第2のデータ線112、またはそれらの任意の組合せのクロック周波数を変更するように構成されてもよい。代替的に、または加えて、ギア選択論理220は、(たとえば、第1のパッド320を介して受信される)第1の入来SLIMbusデータ326のクロック周波数、(たとえば、第2のパッド322を介して受信される)第2の入来SLIMbusデータ328のクロック周波数、(たとえば、第1のパッド320を介して送られるべき)第1の発信SLIMbusデータ330のクロック周波数、(たとえば、第2のパッド322を介して送られるべき)第2の発信SLIMbusデータ332のクロック周波数、またはそれらの任意の組合せを変更するように構成されてもよい。
【００４０】
特定の例示的な実施形態において、ポート302は、データポート304を含んでもよい。データポート304への入力は入来データ323を含んでもよく、データポート304からの出力は、発信データ324を含んでもよい。ポート304は、メッセージチャネル306も含んでもよい。第1のSLIMbus構成要素104は、ポート302を、少なくとも1つのSLIMbusデータ線を介して第2のSLIMbus構成要素106と接続するためのインターフェースとして使用することができる。
【００４１】
特定の例示的な実施形態において、システム300は、第1のマルチプレクサ310も含んでもよい。第1のマルチプレクサ310は、それぞれの第1のパッド320および第2のパッド322からの入力として第1の入来SLIMbusデータ326および第2の入来SLIMbusデータ328を受信することができる。第1のマルチプレクサ310は、入力としてスイッチ選択信号308も受信することができる。特定の実施形態において、スイッチ選択信号308は、SLIMbus構成要素104またはそれと関連付けられるプロセッサ(たとえば、ホスト102)によって実行されるソフトウェアを介して制御されてもよい。特定の実施形態において、スイッチ選択信号308は、データが、複数のSLIMbusデータ線を介して並列に送信および/もしくは受信されるべきか、または、単一のSLIMbusデータ線を介して送信および/もしくは受信されるべきかに基づく値を有してもよい。第1のマルチプレクサ310は、入来データ323をデータポート304に出力することができる。
【００４２】
特定の例示的な実施形態において、システム300は、第2のマルチプレクサ312も含んでもよい。第2のマルチプレクサ312は、入力として、データポート304からの発信データ324およびスイッチ選択信号308を受信することができる。第2のマルチプレクサ312は、第1の発信SLIMbusデータ330および第2の発信SLIMbusデータ332をそれぞれ第1のパッド320および第2のパッド322に出力することができる。
【００４３】
スイッチ選択信号308は、SLIMbusデータ伝送プロトコルに適応しているデータを、第1のSLIMbusデータ線110を介して(すなわち、第1の入来SLIMbusデータ326および第1の発信SLIMbusデータ330)、または第2のSLIMbusデータ線112を介して(すなわち、第2の入来SLIMbusデータ328および第2の発信SLIMbusデータ332)送信するよう指示することができる。代替的に、スイッチ選択信号308は、SLIMbusデータ伝送プロトコルに適応していないデータを、第2のSLIMbusデータ線112を介して送信するよう指示してもよい。
【００４４】
第1のマルチプレクサ310はデータポート304に対する入来データ323と関連付けられてもよく、第2のマルチプレクサ312はデータポート304からの発信データと関連付けられてもよい。ポートデュプリケータ(たとえば、図2のポートデュプリケータ216)は、単一のSLIMbusデータ線を介したデータ送信に適応しているポートにマルチSLIMbusデータ線インターフェースを提供して、複数のSLIMbusデータ線110、112、218を介したデータ送信を可能にするように構成されてもよい。
【００４５】
たとえば、データポート304は、単一のSLIMbusデータ線を介したデータ送信に適応してもよい。例示のために、データポート304は、第1のSLIMbusデータ線110のみを介してデータを送受信するように適応してもよい。特定の実施形態において、第1のマルチプレクサ310および第2のマルチプレクサ312は、第1のSLIMbusデータ線110(すなわち、第1の入来SLIMbusデータ326および第1の発信SLIMbusデータ330)、第2のSLIMbusデータ線112(すなわち、第2の入来SLIMbusデータ328および第2の発信SLIMbusデータ332)、またはそれらの任意の組合せを介したデータ送信を可能にするためのインターフェースを提供することができる。
【００４６】
第1のSLIMbusデータ線110はSLIMbusデータ伝送プロトコルをサポートしてもよく、一方で第2のSLIMbusデータ線112は、SLIMbusデータ伝送プロトコル、非SLIMbusデータ伝送プロトコル、またはそれらの任意の組合せをサポートしてもよい。たとえば、SLIMbusデータ伝送プロトコルに適応している入来データ323および発信データ324は、第1のパッド320、第2のパッド322、またはそれらの任意の組合せにルーティングされてもよい。SLIMbusデータ伝送プロトコルに適応していない入来データ323および発信データ324は、第2のパッド322のみにルーティングされてもよい。
【００４７】
第1のSLIMbus構成要素104および第2のSLIMbus構成要素106は、単一SLIMbusデータ線SLIMbus構成に適応するように構成されてもよく、一方で第3のデバイス108は、単一SLIMbusデータ線SLIMbus構成およびマルチSLIMbusデータ線SLIMbus構成に適応するように構成されてもよい。この特定の例示的な実施形態において、データが第3のデバイス108に送られるべきである場合、データは第2のパッド322にルーティングされてもよい。代替的に、データが第2のSLIMbus構成要素106に送られるべきである場合、データは、第1のパッド320、第2のパッド322、またはそれらの任意の組合せにルーティングされてもよい。したがって、SLIMbus構成要素は、1つのデータ線または複数のデータ線をモニタリングするように構成されてもよい。SLIMbus構成要素を構成する特定の例は、図5〜図6を参照してさらに説明される。1つのデータピン歯科有しないレガシー構成要素は、1つのデータ線をモニタリングするようにプログラミングされ得る。複数のデータピンを有する非レガシー構成要素は、1つのデータ線(たとえば、帯域幅/スループットを増大する必要がないとき)または複数のデータ線(高帯域幅/スループット用途の間)の間で動的に切り替えることができる。
【００４８】
特定の例示的な実施形態において、システム300は、メッセージポート314も含んでもよい。メッセージポート314は、ポート302のメッセージチャネル306からの入力を受信することができる。メッセージポート314は、第3のマルチプレクサ316からの入力も受信することができる。メッセージポート314は、第4のマルチプレクサ318に出力を送ることができる。メッセージポート314は、複数のデータ線110、112、218の帯域幅を制御するように構成されてもよい。メッセージポート314は、複数のデータ線110、112、218の各々に、第1のSLIMbus構成要素104から第2のSLIMbus構成要素106にデータを送信するよう警告するように構成されてもよい。
【００４９】
メッセージポート314は、メッセージのためにデータポート304と同じ単一パッド構成およびマルチパッド構成を利用してもよい。特定の実施形態において、メッセージポート314は、図5〜図6を参照してさらに説明するように、構成メッセージ(たとえば、ユーザ定義のメッセージ)を送受信するのに使用されてもよい。
【００５０】
単一のSLIMbusデータ線を介したデータ送信に適応しているポートにマルチSLIMbusデータ線インターフェースを提供することによって、単一SLIMbusデータ線SLIMbus構成システムが、SLIMbus構成要素を複製することなく複数のSLIMbusデータ線を利用することが可能になり得ることが諒解されよう。この結果として、レガシーSLIMbus構成要素を含むシステムにおいて柔軟性およびスケーラビリティがより高くなり得る。
【００５１】
図4は、2つのSLIMbus構成要素104、106の間の複数のSLIMbusデータ線110、112を含むシステム400の別の特定の実施形態を示すブロック図である。
【００５２】
システム400は、第1のチップ401と第2のチップ402とを含んでもよい。特定の実施形態において、各チップ401および402は、プロセッサ、符号化器/復号器(CODEC)、入力デバイス、出力デバイスなどのような特定のデバイスに対応してもよい。第1のチップ401は、第1のSLIMbus構成要素104とシステムレベルデバイス論理404とを含んでもよい。特定の実施形態において、図1のホスト102は、図4のシステムレベルデバイス論理404を含んでもよい。第2のチップ402は、第2のSLIMbus構成要素106と第2のシステムレベルデバイス論理406とを含んでもよい。第1のSLIMbus構成要素104は、複数のSLIMbusデータ線110、112およびSLIMbusクロック線114を介して第2のSLIMbus構成要素106に結合されてもよい。
【００５３】
特定の実施形態において、第1のSLIMbus構成要素104は、直接メモリアクセス層408と、SLIMbusデバイス層410と、トランスポートプロトコル層412と、フレーム層414と、物理層416とを含んでもよい。直接メモリアクセス層408は、第1の有限状態機械(FSM)418と、第1のパイプ420aと、第2のパイプ420bと、第Nのパイプ420cとを含んでもよい。特定の実施形態において、パイプは、図5に関連してさらに説明するように、メッセージ(たとえば、データメッセージおよび/またはユーザ定義の構成メッセージ)を送信するメッセージチャネルとして構成されてもよい。
【００５４】
SLIMbusデバイス層410は、一般デバイス層、インターフェースデバイス層、フレーマデバイス層、マネージャデバイス層、またはそれらの任意の組合せであってもよい。特定の実施形態において、SLIMbusデバイス層410は、第2の有限状態機械(FSM)422と、第1の先入れ先出し(FIFO)バッファ424aと、第2のFIFOバッファ424bと、第NのFIFOバッファ424cと、第1のポート(Port 0)426aと、第2のポート(Port 1)426bと、第Nのポート(Port J)426cとを含んでもよい。各ポートは、対応するFIFOバッファに接続されてもよい。たとえば、第1のポート426aは第1のFIFOバッファ424aに接続されてもよく、第2のポート426bは第2のFIFOバッファ424bに接続されてもよく、第Nのポート426cは第NのFIFOバッファ424cに接続されてもよい。
【００５５】
いくつかの代替の実施形態において、各ポートは2つのFIFOバッファに接続されてもよく、これによって、各個々のポートの双方向データ転送機能をイネーブルすることができる。たとえば、第1のポート426aは、第1のFIFOバッファ424aおよび第2のFIFOバッファ424bに接続されてもよい。加えて、ポートは、非同期接続をサポートすることができ、この結果として、より多くのポートがシステム400内で利用可能になる。デュアルFIFIOポートを使用することによって、専用のアップリンクポート対および専用のダウンリンクポート対を使用する代わりに、単一のポート対を2つのデバイス間の双方向通信に使用することができるため、システム内で利用可能なポートの全体的な数が実効的に2倍になり得ることが諒解されよう。
【００５６】
フレーム層414は、スイッチ選択信号308を生成することができ、第1のマルチプレクサ310と第2のマルチプレクサ312とを含んでもよい。第1のマルチプレクサ310はデータの送信428と関連付けられてもよく、第2のマルチプレクサ312はデータの受信430と関連付けられてもよい。スイッチ選択信号308は、第1のマルチプレクサ310に、第1のSLIMbusデータ線110、第2のSLIMbusデータ線112、またはそれらの任意の組合せを介して、第2のSLIMbus構成要素106のフレーム層414'の第4のマルチプレクサ310'にデータを送信させてもよい。第4のマルチプレクサ310'は、第2のSLIMbus構成要素106のフレーム層414'の第2のスイッチ選択信号308'からの信号に基づいて入来データを受信してもよい。代替的に、スイッチ選択信号308は、第2のマルチプレクサ310に、第2のSLIMbus構成要素106のフレーム層414'の第3のマルチプレクサ312'から、第1のSLIMbusデータ線110、第2のSLIMbusデータ線112、またはそれらの任意の組合せを介してデータを受信させてもよい。第3のマルチプレクサ312'は、第2のスイッチ選択信号308'からの信号に基づいて発信データを送信してもよい。第3のマルチプレクサ312'はデータの送信428'と関連付けられてもよく、第4のマルチプレクサ310'はデータの受信430'と関連付けられてもよい。第2のチップ402も、図示のように、トランスポートプロトコル層と、一般デバイス層と、DMA層と、システムレベルデバイス論理とを含んでもよい。
【００５７】
代替の実施形態において、フレーム層414は、単一のマルチプレクサを含んでもよい。例示のために、第1のSLIMbus構成要素104は、各々が単一のマルチプレクサを含む2つのフレーム層を含んでもよい。別の特定の実施形態において、トランスポートプロトコル層412は、第1のマルチプレクサ310および第2のマルチプレクサ312を含んでもよく、追加のSLIMbusクロック線が使用されてもよい。しかしながら、SLIMbusクロック線は、SLIMbusデータ線よりも多くの電力(たとえば、総電力の60〜70%)を消費し得るため、複数のSLIMbusクロック線を含む実施態様は電力を節約するために回避され得る。
【００５８】
図5は、2データ線対応SLIMbus構成要素および単一データ線対応SLIMbus構成要素の両方を含むシステム500の特定の実施形態を示す図である。
【００５９】
各2データ線対応または単一データ線対応SLIMbus構成要素は、デバイスの一部であってもよく、またはデバイスに接続されてもよい。たとえば、図5において、システム500は、2データ線機能を有する第1のデバイス502と、2データ線機能を有する第2のデバイス504と、2データ線機能を有する第3のデバイス506と、単一データ線対応である第4のデバイス508(たとえば、レガシーデバイス)とを含む。
【００６０】
特定の実施形態において、第1のデバイス502(デバイスAと示す)は、アプリケーションプロセッサであってもよい。第1のデバイス502は、マスタ510と、第1のポート(Port 0)512と、第2のポート(Port 1)514と、第3のポート(Port 2)516とを含んでもよい。第1のデバイス502はフレーマ518も含んでよい。例示的な実施形態において、フレーマ518は、図4のフレーム層414に対応してもよい。
【００６１】
特定の実施形態において、第2のデバイス504(デバイスBと示す)は、オーディオCODECであってもよい。第2のデバイス504は、第1のポート(Port 0)520と、第2のポート(Port 1)522と、第3のポート(Port 2)524とを含んでもよい。第2のデバイス504はフレーマ526も含んでよい。例示的な実施形態において、フレーマ526は、図4のフレーム層414に対応してもよい。
【００６２】
特定の実施形態において、第3のデバイス506(デバイスCと示す)は、データモデムであってもよい。第3のデバイス506は、第1のポート(Port 0)528と、第2のポート(Port 1)530とを含む。第3のデバイス506はフレーマ532も含んでよい。例示的な実施形態において、フレーマ532は、図4のフレーム層414に対応してもよい。
【００６３】
特定の実施形態において、第4のデバイス508(デバイスDと示す)は、サードパーティレガシーデバイス(たとえば、デバイス間の複数のデータ線接続を含むSLIMbus構成の可能性を認識していないサードパーティによって製造されている)であってもよい。たとえば、第4のデバイス508は、スピーカまたはマイクロホンのような入力または出力デバイスであってもよい。第4のデバイス508は、第1のポート(Port 0)534と、第2のポート(Port 1)536とを含んでもよい。第4のデバイス508はフレーマ538も含んでよい。例示的な実施形態において、フレーマ538は、図4のフレーム層414を参照して説明されたように機能してもよい。
【００６４】
動作中、マネージャは、デバイス502〜508の各々のSLIMbus構成要素が単一データ線対応であるか、またはマルチ(たとえば、2)データ線対応であるかの判定に基づいてシステム500を構成することができる。特定の実施形態において、マネージャは、ハードウェア、ソフトウェア(たとえば、第1のデバイス502がアプリケーションプロセッサである場合には第1のデバイス502のようなプロセッサにおいて実行している)、ファームウェア、またはそれらの任意の組合せとして実装されてもよい。マネージャは、列挙プロセス中にSLIMbus構成要素の構成(すなわち、SLIMbusデータ線機能)を判定してもよい。たとえば、列挙中、マネージャは、第1のデバイス502、第2のデバイス504、および第3のデバイス506が2データ線対応SLIMbus構成要素を有し、第4のデバイス508が単一データ線対応SLIMbus構成要素を有すると判定し得る。
【００６５】
特定の実施形態において、マネージャは、各SLIMbus構成要素またはデバイス内の1つまたは複数の構成レジスタ550、552、554、556に問い合わせることによってシステム内の各SLIMbus構成要素の機能を判定してもよく、構成レジスタ550、552、554、556は機能情報を記憶している。特定の実施形態において、機能情報は、デバイス製造者によって設定されてもよく、一度設定されると変更可能でなくてもよい。
【００６６】
代替的に、各SLIMbus構成要素の機能は、ハイレベルオペレーティングシステム(HLOS:high-level operating system)間の通信を介して判定されてもよい。たとえば、特定のデバイスと関連付けられているHLOSは、構成ファイルを含んでもよく、各デバイスと機能ビットを交換してもよい。代替的に、HLOSはルックアップテーブルを使用してもよく、かつ/または機能情報についてデータベースに問い合わせてもよい。
【００６７】
別の特定の実施形態において、各SLIMbus構成要素の機能は、メッセージチャネルを介した専用メッセージング(たとえば、図3のメッセージポート314のようなメッセージポートから送信される)を介して判定されてもよい。例示のために、1つまたは複数のユーザ定義のメッセージがSLIMbus構成要素間で送信されてもよく、ユーザ定義のメッセージは、SLIMbus構成要素が単一データ線かつ/または2データ線対応であるか(すなわち、各SLIMbus構成要素の構成)を示すデータを含む。
【００６８】
システム500内の様々なSLIMbus構成要素の機能が判定された後、システム500は、特定のバス構成に従って動作するように構成(たとえば、プログラム)されてもよい。図5のシステム500のバス構成および動作の特定の例が、図6を参照してさらに説明される。
【００６９】
図6は、図5のシステム500の動作中の構成の特定の実施形態を示す図600である。たとえば、表602は、特定のバス構成(たとえば、図5内の各デバイス502〜508のポート構成)を示す。図6の実施形態において、表602の行はソースポートを表し、表602の列は宛先ポートを表す。
【００７０】
たとえば、表602に(および、図5におけるポート間の弧線によって)示すように、デバイスAのPort 0からデバイスBのPort 0までに2データ線接続が確立され得る。すなわち、デバイスAの第1のポート512からデバイスBの第1のポート520にデータが送られるとき、データは、第1のSLIMbusデータ線110および第2のSLIMbusデータ線112の両方を介して送信され得る。同様に、デバイスBのPort 1からデバイスAのPort 1まで、および、デバイスBのPort 1からデバイスCのPort 0までに2データ線接続が確立され得る。しかしながら、図5を参照して上述したように、デバイスDは単一データ線対応SLIMbus構成要素しか有しない。したがって、デバイスDを含む接続は単一データ線接続であり得る。同様に、表602に示すように、デバイスBのPort 2からデバイスDのPort 0まで、および、デバイスDのPort 1からデバイスCのPort 1までに単一データ線接続が確立され得る。
【００７１】
構成/プログラミングメッセージが各SLIMbus構成要素に送信された後、「RECONFIG_NOW」メッセージが各SLIMbus構成要素に送信されてもよい。「RECONFIG_NOW」メッセージの受信に応答して、SLIMbus構成要素の各々は、適切なフレーム境界において以前に送信された構成/プログラミングメッセージに従って動作を開始してもよい。したがって、「RECONFIG_NOW」メッセージはSLIMbus構成要素の構成/プログラミングを同期させることができる。1つまたは複数のSLIMbusデータ線を介した通信のためのデータのスケジューリングの例は、図8を参照してさらに説明される。
【００７２】
同じフレーム中に複数のSLIMbusデータ線110、112を介してデータを送信する機能によって、SLIMbusクロック線114のクロック速度を低減することが可能になり得ることが諒解されよう。SLIMbusクロック線114の速度が低減する結果として、電力消費が低減され得ることがさらに諒解されよう。図6によって表されるバス構成は、したがって、結果として図5のシステム500におけるスループットの増大および電力消費の低減をもたらすことができる。
【００７３】
図7は、2つのSLIMbus構成要素104、106の間の複数のSLIMbusデータ線110、112を含むシステム700の別の特定の実施形態を示すブロック図である。
【００７４】
システム700は、第1のチップ701と第2のチップ702とを含んでもよい。特定の実施形態において、各チップ701および702は、プロセッサ、符号化器/復号器(CODEC)、入力デバイス、出力デバイスなどのような特定のデバイスに対応してもよい。第1のチップ701は、第1のSLIMbus構成要素104とシステムレベルデバイス論理704とを含んでもよい。システムレベルデバイス論理704は、第1のバッファ(Buf 0)704aと、第2のバッファ(Buf 1)704bと、第3のバッファ(Buf J TX)704cと、第4のバッファ(Buf J RX)704dとを含んでもよい。特定の実施形態において、図1のホスト102は、図7のシステムレベルデバイス論理704を含んでもよい。第2のチップ702は、第2のSLIMbus構成要素106と第2のシステムレベルデバイス論理とを含んでもよい。第1のSLIMbus構成要素104は、複数のSLIMbusデータ線110、112およびSLIMbusクロック線114を介して第2のSLIMbus構成要素106に結合されてもよい。
【００７５】
特定の実施形態において、第1のSLIMbus構成要素104は、直接メモリアクセス(DMA)層708と、SLIMbusデバイス層710と、トランスポートプロトコル層712と、フレーム層714と、物理層716とを含んでもよい。直接メモリアクセス層708は、第1の有限状態機械(FSM)718と、第1のパイプ720aと、第2のパイプ720bと、第3のパイプ720cと、第4のパイプ720dとを含んでもよい。図4〜図5に関連して説明したように、パイプは、メッセージ(たとえば、データメッセージおよび/またはユーザ定義の構成メッセージ)を送受信するメッセージチャネルとして構成されてもよい。
【００７６】
SLIMbusデバイス層710は、一般デバイス層、インターフェースデバイス層、フレーマデバイス層、マネージャデバイス層、またはそれらの任意の組合せであってもよい。特定の実施形態において、SLIMbusデバイス層710は、第2の有限状態機械(FSM)722と、第1の先入れ先出し(FIFO)バッファ724aと、第2のFIFOバッファ724bと、第3のFIFOバッファ724cと、第4のFIFOバッファ724dと、第1のポート(Port 0)726aと、第2のポート(Port 1)726bと、第3のポート(Port J)726cとを含んでもよい。ポートは、単方向ポートまたは双方向ポートのいずれかとして構成可能であってもよい。特定の実施形態において、第1のポート726aおよび第2のポート726bは、図4の第1のポート426aおよび第2のポート426bに対応してもよい(すなわち、単方向ポート)。しかしながら、第3のポート726cは双方向ポートであってもよい。たとえば、第3のポート726cは、2つのFIFOバッファ(すなわち、第3のFIFOバッファ724cおよび第4のFIFOバッファ724d)および2つのパイプ(すなわち、第3のパイプ720cおよび第4のパイプ720d)に結合されてもよい。第3のポート726cを第3のFIFOバッファ724cおよび第4のFIFOバッファ724dに結合することによって、第3のポート726cの双方向データ転送機能をイネーブルすることができる。たとえば、第3のポート726cは、第3のバッファ704cからの発信データを、第3のパイプ720cおよび第3のFIFOバッファ724cを介して送信する送信経路をサポートするように構成されてもよい。加えて、第3のポート726cは、入来データを第4のFIFOバッファ724dおよび第4のパイプ720dを介して第4のバッファ704dに提供する受信経路をサポートするように構成されてもよい。したがって、第3のポート726cは、単一のポートを介してデータを同時に受信および送信することを可能にし得る。たとえば、共通のバスサイクルにおいて、第1のSLIMbusデータ線110を介して発信データが送信されてもよく、第2のSLIMbusデータ線112を介して入来データが受信されてもよい。
【００７７】
フレーム層714は、スイッチ選択信号308を生成することができ、第1のマルチプレクサ310と第2のマルチプレクサ312とを含んでもよい。第1のマルチプレクサ310はデータの送信728と関連付けられてもよく、第2のマルチプレクサ312はデータの受信730と関連付けられてもよい。スイッチ選択信号308は、第1のマルチプレクサ310に、第1のSLIMbusデータ線110、第2のSLIMbusデータ線112、またはそれらの任意の組合せを介して、第2のSLIMbus構成要素106のフレーム層714'の第4のマルチプレクサ310'にデータを送信させてもよい。第4のマルチプレクサ310'は、第2のSLIMbus構成要素106のフレーム層714'の第2のスイッチ選択信号308'からの信号に基づいて入来データを受信してもよい。代替的に、スイッチ選択信号308は、第2のマルチプレクサ310に、第2のSLIMbus構成要素106のフレーム層714'の第3のマルチプレクサ312'から、第1のSLIMbusデータ線110、第2のSLIMbusデータ線112、またはそれらの任意の組合せを介してデータを受信させてもよい。第3のマルチプレクサ312'は、第2のスイッチ選択信号308'からの信号に基づいて発信データを送信してもよい。第3のマルチプレクサ312'はデータの送信728'と関連付けられてもよく、第4のマルチプレクサ310'はデータの受信730'と関連付けられてもよい。第2のチップ702も、図示のように、トランスポートプロトコル層と、一般デバイス層と、DMA層と、システムレベルデバイス論理とを含んでもよい。
【００７８】
デュアルFIFIOポート(たとえば、第3のポート726c)を使用することによって、専用のアップリンクポート対および専用のダウンリンクポート対を使用する代わりに、単一のポート対を2つのデバイス間の双方向通信に使用することができるため、システム内で利用可能なポートの全体的な数が実効的に2倍になり得ることが諒解されよう。
【００７９】
図8は、図5のシステム500におけるスケジューリングの特定の実施形態を示すスケジューリング図800を示す。たとえば、第1のスケジューリング図802は、共通のメッセージングおよびフレーミングが複数のSLIMbusデータ線に対して実行されるときの図5のシステム500におけるスケジューリングの特定の実施形態を示し、第2のスケジューリング図804は、複数のSLIMbusデータ線の各々が個々のメッセージングおよびフレーミング(すなわち、別個のメッセージングおよびフレーミング構成)を有するときの図5のシステム500におけるスケジューリングの特定の実施形態を示す。
【００８０】
第1のスケジューリング図802は、時分割多重化(TDM)を使用して第1のSLIMbus構成要素のポートから第2のSLIMbus構成要素のポートへどのようにデータを通信することができるかの第1の例を示す。たとえば、第1のSLIMbusデータ線(Data 0)110は第1のタイムスロット806、第3のタイムスロット810、第5のタイムスロット814、および第6のタイムスロット816のような、複数のタイムスロットに分割されてもよい。第2のSLIMbusデータ線112の同時に起こるフレームは、第2のタイムスロット808および第4のタイムスロット812に分割されてもよい。
【００８１】
第1のスケジューリング図802に示すように、デバイスAの第1のポート512からデバイスBの第1のポート520にデータが送られるとき、データは、第1のSLIMbusデータ線110および第2のSLIMbusデータ線112の両方を介して(たとえば、タイムスロット806および808の間に)送られ得る。複数のSLIMbusデータ線を介して送られるデータは、受信されるとインターリーブされ得る。第1のタイムスロット806および第2のタイムスロット808は、共通のクロックサイクルと関連付けられ得る。結果として、データは第1のSLIMbusデータ線110および第2のSLIMbusデータ線112を介して同期的に、並列に、同時に、かつ/または実質的に同時に送られ得る。
【００８２】
代替的に、または加えて、データは単一のソース構成要素から複数の宛先構成要素に送信されてもよい。たとえば、データは、タイムスロット810〜812の間に、デバイスBの第2のポート522から第1のSLIMbusデータ線110および第2のSLIMbusデータ線112を介してデバイスAの第2のポート514に、および、デバイスCの第1のポート528に送信されてもよい。
【００８３】
タイムスロット814の間に、データは2データ線対応SLIMbus構成要素から単一データ線対応SLIMbus構成要素に送信されてもよい。たとえば、データは、デバイスBの第3のポート524からデバイスDの第1のポート534に送信されてもよい。タイムスロット816の間に、データは単一データ線対応SLIMbus構成要素から複数の2データ線対応SLIMbus構成要素に送信されてもよい。たとえば、データは、デバイスDの第2のポート536からデバイスAの第3のポート516に、および、デバイスCの第2のポート530に送信されてもよい。
【００８４】
デバイスDは2データ線対応ではないため、タイムスロット814〜816の間、図8に示すように、第2のSLIMbusデータ線(DATA 1)112はアイドルであってもよい。代替の実施形態において、他のデバイス(たとえば、デバイスA、Bおよび/またはC)は、それらの間の通信をスケジューリングすることによって、DATA 1上のアイドルタイムスロットを利用しようとしてもよい。この結果として、第2のSLIMbusデータ線の存在が、単一のSLIMbusデータ線に適応しているレガシーデバイスからは「隠されている」システムがもたらされ得ることが諒解されよう。しかしながら、デバイスDがシステム500の管理デバイスである場合、デバイスA、B、およびCは、デバイスDによって選択されるクロックギアに依存し得る。
【００８５】
第2のスケジューリング図804は、時分割多重化(TDM)を使用して第1のSLIMbus構成要素のポートから第2のSLIMbus構成要素のポートへどのようにデータを通信することができるかの第2の例を示す。たとえば、第1のSLIMbusデータ線(Data 0)110は第1のタイムスロット826、第3のタイムスロット830、第5のタイムスロット834、および第6のタイムスロット836のような、複数のタイムスロットに分割されてもよい。第2のSLIMbusデータ線112のフレームは、第2のタイムスロット828および第4のタイムスロット832に分割されてもよい。
【００８６】
第2のスケジューリング図804に示すように、デバイスAの第1のポート512からデバイスBの第1のポート520にデータが送られるとき、データは、第1のSLIMbusデータ線110および第2のSLIMbusデータ線112の両方を介して(たとえば、タイムスロット826および828の間に)送られ得る。複数のSLIMbusデータ線を介して送られるデータは、受信されるとインターリーブされてもよい。第1のタイムスロット826および第2のタイムスロット828は、異なるクロックサイクルと関連付けられ得る。たとえば、メッセージングおよびフレームが各SLIMbusデータ線に対して別個に実行される特定の実施形態において、デバイスAの第1のポート512は、第1のタイムスロット826の間は第1のSLIMbusデータ線110を介して、第2のタイムスロット828の間は第2のSLIMbusデータ線112を介してデバイスBの第1のポート520にデータを送信し得る。しかしながら、第1のタイムスロット826および第2のタイムスロット828は異なるクロックサイクルまたはバスサイクル(すなわち、異なる時間)に対応し得る。したがって、第1のスケジューリング図802を参照して説明したように同期的または並列にデータが送られることに加えて、データは、異なるクロックサイクルまたはバスサイクルの間に(すなわち、非同期的に)、デバイスAの第1のポート512から第1のSLIMbusデータ線110および第2のSLIMbusデータ線112を介してデバイスBの第1のポート520に送られ得る。
【００８７】
代替的に、または加えて、データは単一のソース構成要素から複数の宛先構成要素に送信されてもよい。たとえば、データは、タイムスロット830〜832の間に、デバイスBの第2のポート522から第1のSLIMbusデータ線110および第2のSLIMbusデータ線112を介してデバイスAの第2のポート514に、および、デバイスCの第1のポート528に送信されてもよい。第1のタイムスロット826および第2のタイムスロット828を参照して説明したように、データは、異なる(または重なり合った)クロックサイクルまたはバスサイクルの間にデバイスBの第2のポート522からデバイスAの第2のポート514に送信され得る。
【００８８】
タイムスロット834の間に、データは2データ線対応SLIMbus構成要素から単一データ線対応SLIMbus構成要素に送信されてもよい。たとえば、データは、デバイスBの第3のポート524からデバイスDの第1のポート534に送信されてもよい。タイムスロット836の間に、データは単一データ線対応SLIMbus構成要素から複数の2データ線対応SLIMbus構成要素に送信されてもよい。たとえば、データは、デバイスDの第2のポート536からデバイスAの第3のポート516に、および、デバイスCの第2のポート530に送信されてもよい。
【００８９】
第1のスケジューリング図802および第2のスケジューリング図804は、共通のクロックサイクル(すなわち、バスサイクル)の間に複数のデータ線にわたって単一のポートを介してデータを通信(すなわち、送信および/または受信)するための、および、単一のデータ線にわたって単一のポートを介してデータを通信するためのスケジューリングを示していることが諒解されよう。たとえば、デバイスAの第1のポート512は、共通のクロックサイクルの間に第1のSLIMbusデータ線110および第2のSLIMbusデータ線112にわたってデバイスBの第1のポート520にデータを通信してもよく、または、第1のSLIMbusデータ線110および第2のSLIMbusデータ線112のうちの一方のみにわたってデータを通信してもよい。第2のスケジューリング図804は、複数のデータ線にわたって同じクロックサイクル内で異なる複数のポートについてのデータを通信するためのスケジューリングを示していることがさらに諒解されよう。たとえば、第2のスケジューリング図804を参照すると、デバイスAの第1のポート512は、デバイスBの第2のポート522が第2のSLIMbusデータ線112を利用してデバイスAの第2のポート514に、および、デバイスCの第1のポート528にデータを通信するものと同じクロックサイクルの間に、第1のSLIMbusデータ線110を利用してデバイスBの第1のポート520にデータを通信し得る。したがって、第2のスケジューリング図804は、結果として、スケジューリングの間のより高い柔軟性をもたらすことができ、複数のSLIMbusデータ線について別個のメッセージングおよびフレーミングを実行することに起因してオーバヘッドが増大するにもかかわらずメッセージおよびポートストリームに対するバスの利用を増大させることができる。第2のスケジューリング図804は、さらにより高い柔軟性のための複数のデータ線にわたる重なり合ったメッセージおよびポートトラフィックを示し得ることがさらに諒解されよう。
【００９０】
図9は、SLIMbus通信バス上の帯域幅およびスループットを増大させるために複数のSLIMbusデータ線のうちの少なくとも1つのSLIMbusデータ線を介してデータを送る方法900の特定の実施形態を示す流れ図である。例示的な実施形態において、方法900は、図1のシステム100、図2のシステム200、図3のシステム300、図4のシステム400、図5のシステム500、図7のシステム700、またはそれらの任意の組合せにおいて実行されてもよい。
【００９１】
方法900は、902において、第1のSLIMbus構成要素から、複数のSLIMbusデータ線のうちの複数のSLIMbusデータ線を介して並列に第2のSLIMbus構成要素にデータを送るべきか、または、複数のSLIMbusデータ線のうちの単一のSLIMbusデータ線を介してデータを送るべきかを判定することを含んでもよい。たとえば、図3において、第1のSLIMbus構成要素104が、SLIMbusデータ伝送プロトコルに適応しているデータを、第1のSLIMbusデータ線110を介して(すなわち、第1の入来SLIMbusデータ326および第1の発信SLIMbusデータ330)送信するべきか、または第2のSLIMbusデータ線112を介して(すなわち、第2の入来SLIMbusデータ328および第2の発信SLIMbusデータ332)送信するべきかを判定してもよい。代替的に、SLIMbus構成要素104は、複数のSLIMbusデータ線110、112を介して並列にデータを送信するよう決定してもよい。特定の実施形態において、判定は、図4〜図5を参照して説明したように、(たとえば、構成レジスタに問い合わせること、構成ファイルにアクセスすること、構成データベースにアクセスすること、ユーザ定義のメッセージを送ることなどによって)第1のSLIMbus構成要素および第2のSLIMbus構成要素が単一データ線対応であるか、または複数データ線対応であるかを判定することを含んでもよい。
【００９２】
方法900は、904において、複数のSLIMbusデータ線のうちの第1のSLIMbusデータ線の第1のクロック周波数を、複数のSLIMbusデータ線のうちの第2のSLIMbusデータ線の第2のクロック周波数とは無関係に変更することも含んでもよい。たとえば、図3において、第1のSLIMbusデータ線110の第1のクロック周波数は、第1のSLIMbusデータ線110と関連付けられる対応するギアを、第1のギア222から第2のギア224へ変化させることによって増大されてもよい。代替的に、第1のSLIMbusデータ線110の第1のクロック周波数は、第1のSLIMbusデータ線110と関連付けられる対応するギアを、第2のギア224から第1のギア222へ変化させることによって低減されてもよい。
【００９３】
第2のSLIMbusデータ線112の第2のクロック周波数は同様に、第1のクロック周波数とは無関係に変更されてもよい。たとえば、第2のSLIMbusデータ線112の第2のクロック周波数は、第2のSLIMbusデータ線112と関連付けられる対応するギアを、第1のギア222から第2のギア224へ変化させることによって増大されてもよい。代替的に、第2のSLIMbusデータ線112の第2のクロック周波数は、第2のSLIMbusデータ線112と関連付けられる対応するギアを、第2のギア224から第1のギア222へ変化させることによって低減されてもよい。
【００９４】
方法900は、906において、第1のSLIMbus構成要素から第2のSLIMbus構成要素にデータを送ることも含んでもよく、データは少なくとも第1のSLIMbusデータ線を介して送られる。たとえば、図3を参照すると、データは、第1のSLIMbus構成要素104から、第1のSLIMbusデータ線110、第2のSLIMbusデータ線112、またはそれらの任意の組合せを介して第2のSLIMbus構成要素(図示せず)に送られてもよい。例示的な実施形態において、データを送ることは、図6のスケジューリング図604を参照して説明されたように、データをスケジューリングすることを含んでもよい。
【００９５】
図10は、図1のシステム100、図2のシステム200、図3のシステム300、図4のシステム400、図5のシステム500、または図7のシステム700が組み込まれてもよいデバイス1000の特定の例示的な実施形態を示す。デバイス1000は、セットトップボックス、オーディオプレーヤ、ビデオプレーヤ、ナビゲーションデバイス、携帯情報端末(PDA)、通信デバイス(たとえば、ワイヤレス携帯式デバイス)、コンピューティングデバイス(たとえば、ラップトップコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、スマートブックコンピュータなど)、他のタイプのデバイス、またはそれらの任意の組合せのような電子デバイスであってもよい。
【００９６】
デバイス1000は、処理機能を提供し、デバイス1000の他の構成要素をサポートするデジタル信号プロセッサ(DSP)1010を含んでもよい。  CODEC1034、ディスプレイコントローラ1026、センサ1072およびワイヤレスコントローラ1040が、DSP1010に結合される。例示的な実施形態において、CODEC1034は、オーディオCODEC(たとえば、PCMオーディオコーデックまたはプロフェッショナルオーディオコーデック)または非オーディオCODECであってもよい。CODEC1034は、第2のSLIMbus構成要素106に結合されてもよい。センサ1072は、第3のSLIMbus構成要素1074に結合されてもよい。DSP1010は、第1のSLIMbus構成要素104に結合されてもよい。SLIMbus構成要素104、106、1074は、第1のSLIMbusデータ線110、第2のSLIMbusデータ線112、およびSLIMbusクロック線114を介して接続されてもよい。代替の実施形態において、デバイス1000の追加の構成要素は、SLIMbus構成要素を含むかまたはSLIMbus構成要素に結合され、第1のSLIMbusデータ線110、第2のSLIMbusデータ線112、およびSLIMbusクロック線114を介して接続されてもよい。追加のデータ線(たとえば、図2の第NのSLIMbusデータ線218)も存在してもよい。
【００９７】
DSP1010は、メモリ1032にも結合される。たとえば、メモリ1032は、DSP1010によって、またはSLIMbus構成要素104、106の構成要素、またはそれらの任意の組合せによって、本明細書に記載する方法のいずれかを実行するように実行可能である命令を記憶する、持続性コンピュータ可読媒体であってもよい。特定の実施形態において、メモリ1032は、ランダムアクセスメモリ(RAM)、キャッシュベースのメモリ、レジスタベースのメモリ、有形持続性メモリ、またはそれらの任意の組合せを含む。
【００９８】
ディスプレイコントローラ1026は、ディスプレイ1028に結合される。スピーカ1036およびマイクロホン1038がコーデック1034に結合され得る。ワイヤレスコントローラ1040が、ワイヤレスアンテナ1042に結合され得る。特定の実施形態において、DSP1010、ディスプレイコントローラ1026、メモリ1032、CODEC1034、センサ1072、ワイヤレスコントローラ1040、SLIMbus構成要素104、106、第1のSLIMbusデータ線110、第2のSLIMbusデータ線112、およびSLIMbusクロック線114は、システムインパッケージまたはシステムオンチップデバイス1022内に含まれている。特定の実施形態において、入力デバイス1030および電源1044がシステムオンチップデバイス1022に結合される。その上、特定の実施形態において、図10に示すように、ディスプレイ1028、入力デバイス1030、スピーカ1036、マイクロホン1038、ワイヤレスアンテナ1042、および電源1044は、システムオンチップデバイス1022の外部にある。ただし、ディスプレイ1028、入力デバイス1030、スピーカ1036、マイクロホン1038、ワイヤレスアンテナ1042、および電源1044の各々は、インターフェースまたはコントローラなど、システムオンチップデバイス1022の構成要素に結合され得る。
【００９９】
したがって、図10は、SLIMbus通信バス上の帯域幅およびスループットを増大させるための複数のSLIMbusデータ線の使用をサポートする通信アーキテクチャの実施態様の特定の実施形態を示している。本明細書に開示する技法は、セットトップボックス、スマートフォン、ラップトップコンピュータ、ネットブックコンピュータ、タブレットコンピュータ、スマートブックコンピュータ、オーディオプレーヤ、ビデオプレーヤ、およびナビゲーションデバイスのような他の電子デバイスにも適用可能であり得る。
【０１００】
記載されている実施形態とともに、装置は、第1のSLIMbus構成要素が、複数のSLIMbusデータ線を含むバス構成に適応しているか否かを判定するための手段を含む。たとえば、第1のSLIMbus構成要素が、上記バス構成に適応しているか否かを判定するための手段は、図1のホスト102、図4のシステムレベルデバイス論理404、図5のマネージャ、図5の構成レジスタ550、552、554、556、図7のシステムレベルデバイス論理704、図10の命令を実行するようにプログラムされているDSP1010、または1つもしくは複数の他のデバイス、回路、モジュール、あるいは第1のSLIMbus構成要素が上記バス構成に適応しているか否かを判定するための命令を含んでもよい。
【０１０１】
装置は、1つまたは複数のパケットを、上記判定に少なくとも部分的に基づいて複数のSLIMbusデータ線のうちの1つまたは複数を介して第1のSLIMbus構成要素に送信するためにスケジューリングするための手段も含んでもよい。たとえば、1つまたは複数のパケットを第1のSLIMbus構成要素に送信するためにスケジューリングするための手段は、図1のホスト102、図1の第1のSLIMbus構成要素104、図1の第2のSLIMbus構成要素106、図3のメッセージチャネル306、図3のメッセージポート314、図3のポート302、図4のシステムレベルデバイス論理404、図4のフレーム層414、図5のマネージャ、図5の構成レジスタ550、552、554、556、図5のフレーマ518、526、532、図7のフレーマ714、図7のシステムレベルデバイス論理704、図10の命令を実行するようにプログラムされているDSP1010、または1つもしくは複数の他のデバイス、回路、モジュール、あるいは1つまたは複数のパケットを第1のSLIMbus構成要素に送信するためにスケジューリングするための命令を含んでもよい。
【０１０２】
装置は、第1のSLIMbus構成要素が上記バス構成に適応しているか否かを判定するための手段も含んでもよい。第2のSLIMbus構成要素が、上記バス構成に適応しているか否かを判定するための手段は、図1のホスト102、図4のシステムレベルデバイス論理404、図5のマネージャ、図5の構成レジスタ550、552、554、556、図7のシステムレベルデバイス論理704、図10のDSP1010、または1つもしくは複数の他のデバイス、回路、モジュール、あるいは第2のSLIMbus構成要素が上記バス構成に適応しているか否かを判定するための命令を含んでもよい。
【０１０３】
装置は、第1のSLIMbus構成要素が上記バス構成に適応しているという判定に応答して、第1のSLIMbus構成要素を上記バス構成に従ってプログラムするために少なくとも1つの構成メッセージを第1のSLIMbus構成要素に送るための手段も含んでもよい。少なくとも1つの構成メッセージを送るための手段は、図1のホスト102、図1の第1のSLIMbus構成要素104、図1の第2のSLIMbus構成要素106、図3のメッセージチャネル306、図3のメッセージポート314、図3のポート302、図3の第3のマルチプレクサ316および第4のマルチプレクサ318、図4のパイプ420a〜c、図5の構成レジスタ550、552、554、556、図5のフレーマ518、526、532、図7のパイプ720a〜c、図10の命令を実行するようにプログラムされているDSP1010、または1つもしくは複数の他のデバイス、回路、モジュール、あるいは少なくとも1つの構成メッセージを送るための命令を含んでもよい。
【０１０４】
本明細書で開示される実施形態とともに説明される様々な例示的な論理ブロック、構成、モジュール、回路、およびアルゴリズムのステップは、電子的なハードウェア、ハードウェアプロセッサ等の処理デバイスにより実行されるコンピュータソフトウェア、またはこれら両方の組合せとして実装され得ることが、当業者にはさらに理解されよう。上記に、様々な例示的な構成要素、ブロック、構成、モジュール、回路、およびステップについて、それらの機能に関して概略的に説明した。そのような機能をハードウェアとして実装するか、実行可能ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本開示の範囲からの逸脱を生じるものと解釈すべきではない。
【０１０５】
本明細書で開示する実施形態に関して説明した方法またはアルゴリズムのステップは、直接ハードウェアで具現化されるか、プロセッサによって実行されるソフトウェアモジュールで具現化されるか、またはその2つの組合せで具現化され得る。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、磁気抵抗ランダムアクセスメモリ(MRAM)、スピントルク注入MRAM(STT-MRAM)、フラッシュメモリ、読取り専用メモリ(ROM)、プログラム可能読取り専用メモリ(PROM)、消去可能なプログラム可能読取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能読取り専用メモリ(EEPROM)、レジスタ、ハードディスク、取り外し可能ディスク、コンパクトディスク読取り専用メモリ(CD-ROM)などの有形持続性記憶媒体、または当技術分野で知られる他の任意の形態の記憶媒体内に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替形態において、記憶媒体はプロセッサと一体であってもよい。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)内に存在してもよい。ASICは、コンピューティングデバイスまたはユーザ端末内に存在してもよい。代替形態において、プロセッサおよび記憶媒体は、コンピューティングデバイス(たとえば、ラップトップコンピュータ)またはユーザ端末(たとえば、携帯式ワイヤレスデバイス)中の個別構成部品として存在してもよい。
【０１０６】
開示される実施形態の上記の説明は、当業者が、開示される実施形態を実現し使用できるようにするために提供される。これらの実施形態に対する様々な修正形態が当業者には容易に明らかであり、本明細書で定義される原理は、本開示の範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本開示は、本明細書に示す実施形態に限定されることは意図されず、以下の特許請求の範囲によって定義されるような、原理および新規の特徴と矛盾しない、可能な最大の範囲を認められるべきである。
【符号の説明】
【０１０７】
100  システム
102  ホスト
104  SLIMbus構成要素
106  SLIMbus構成要素
108  構成要素
110  SLIMbusデータ線
112  SLIMbusデータ線
114  SLIMbusクロック線
200  システム
216  ポートデュプリケータ
218  SLIMbusデータ線
220  ギア選択論理
222  ギア
224  ギア
300  システム
302  ポート
304  データポート
306  メッセージチャネル
308  スイッチ選択信号
308'  スイッチ選択信号
310  マルチプレクサ
310'  マルチプレクサ
312  マルチプレクサ
312'  マルチプレクサ
314  メッセージポート
316  マルチプレクサ
318  フレーム層
320  パッド
322  パッド
323  入来データ
324  発信データ
326  入来SLIMbusデータ
328  入来SLIMbusデータ
330  発信SLIMbusデータ
332  発信SLIMbusデータ
400  システム
401  チップ
402  チップ
404  システムレベルデバイス論理
406  システムレベルデバイス論理
408  メモリアクセス層
410  SLIMbusデバイス層
412  トランスポートプロトコル層
414  フレーム層
414'  フレーム層
416  物理層
420a  パイプ
420b  パイプ
420c  パイプ
424a  FIFOバッファ
424b  FIFOバッファ
424c  FIFOバッファ
426a  ポート
426b  ポート
426c  ポート
428  送信
428'  送信
430  受信
430'  受信
500  システム
502  デバイス
504  デバイス
506  デバイス
508  デバイス
510  マスタ
512  ポート
514  ポート
516  ポート
518  フレーマ
520  ポート
522  ポート
524  ポート
526  フレーマ
528  ポート
530  ポート
532  フレーマ
534  ポート
536  ポート
538  フレーマ
550  構成レジスタ
604  スケジューリング図
700  システム
701  チップ
702  チップ
704  システムレベルデバイス論理
704c  バッファ
704d  バッファ
708  メモリアクセス層
710  SLIMbusデバイス層
712  トランスポートプロトコル層
714  フレーマ
714'  フレーム層
716  物理層
720a  パイプ
720b  パイプ
720c  パイプ
720d  パイプ
724a  バッファ
724b  FIFOバッファ
724c  FIFOバッファ
724d  FIFOバッファ
726a  ポート
726b  ポート
726c  ポート
728  送信
728'  送信
730  受信
730'  受信
800  スケジューリング図
802  スケジューリング図
804  スケジューリング図
806  タイムスロット
808  SLIMbusデータ線
808  タイムスロット
810  タイムスロット
812  タイムスロット
814  タイムスロット
816  タイムスロット
826  タイムスロット
828  タイムスロット
830  タイムスロット
832  タイムスロット
834  タイムスロット
836  タイムスロット
1000  デバイス
1022  システムオンチップデバイス
1026  ディスプレイコントローラ
1028  ディスプレイ
1030  入力デバイス
1032  メモリ
1034  コーデック
1036  スピーカ
1038  マイクロホン
1040  ワイヤレスコントローラ
1042  ワイヤレスアンテナ
1044  電源
1072  センサ
1074  SLIMbus構成要素
【図１】
2015506042.tif 000003
【図２】
2015506042.tif 000004
【図３】
2015506042.tif 000005
【図４】
2015506042.tif 000006
【図５】
2015506042.tif 000007
【図６】
2015506042.tif 000008
【図７】
2015506042.tif 000009
【図８】
2015506042.tif 000010
【図９】
2015506042.tif 000011
【図１０】
2015506042.tif 000012
【国際調査報告】
2015506042.tif 000013
2015506042.tif 000014