(57)【要約】  チップ間通信のためのシステムおよび方法が開示される。例示的な態様では、チップ間リンクは、データ送信機、クロック、クロック送信機、クロックに関連付けられる位相同期ループ(PLL)、および受信機を有するマスタデバイスを備える。チップ間リンクはまた、データ送信機、クロック受信機、およびデータ受信機を有するスレーブデバイスを備える。顕著なのは、スレーブデバイスには、クロックまたはPLLが存在しないことである。スレーブデバイスからクロックを取り除くことによって、スレーブデバイスはスレーブPLLの電力消費要素を有しない。さらに、スレーブデバイスは、通常なら新しい周波数を取得して安定させる必要があるクロックを有していないので、マスタクロックは周波数を比較的迅速に変更し、1つまたは2つのあらかじめ定められた周波数だけでなく、多くの周波数にわたって周波数を変更し得る。
2017528946.tif 000002
【特許請求の範囲】
【請求項１】
マスタ集積回路(IC)であって、
チップ間バスに結合されるように構成されたバスインターフェースと、
ドライバを備えた送信機であって、前記ドライバが、前記チップ間バスを介して送信するために前記バスインターフェースにデータ信号を出力する、送信機と、
前記バスインターフェースに結合された受信機と、
前記受信機に動作可能に結合されたクロックデータ回復(CDR)回路と、
基準クロック信号を受信し、前記送信機の前記ドライバおよび前記CDR回路にクロック信号を出力する位相同期ループ(PLL)であって、前記送信機が、前記バスインターフェースを通じて前記チップ間バス上にマスタクロック信号を出力する、位相同期ループ(PLL)と、
前記PLLおよび前記CDR回路に動作可能に結合された制御システムであって、前記制御システムが、前記PLLを制御することによって前記マスタクロック信号の周波数を変更するように構成され、データ送信が、遠隔スレーブICでのクロック動作とは無関係の周波数変更の間継続する、制御システムと
を備える、マスタIC。
【請求項２】
前記制御システムおよび前記CDR回路に動作可能に結合されたタイマ制御回路をさらに備え、前記制御システムが、クロックドリフトを補正するために、前記タイマ制御回路に基づいて前記CDR回路をあらかじめ定められた長さの時間にわたって定期的に起動する、請求項1に記載のマスタIC。
【請求項３】
前記制御システムおよび前記CDR回路に動作可能に結合された温度制御回路をさらに備え、前記制御システムが、温度の変化および前記温度制御回路に基づいて前記CDR回路を起動する、請求項1に記載のマスタIC。
【請求項４】
前記温度制御回路が、温度センサから温度信号を受信するように構成される、請求項3に記載のマスタIC。
【請求項５】
前記受信機が、前記受信機に関連付けられる終端インピーダンスの変化を可能にするように構成されたプログラマブル終端回路を備え、前記制御システムが、前記遠隔スレーブICまでの距離に基づいて前記終端インピーダンスを構成する、請求項1に記載のマスタIC。
【請求項６】
タイマ制御回路と温度制御回路とをさらに備え、前記制御システムが、前記温度制御回路からの信号に応答して前記タイマ制御回路に基づいて一定の長さの時間にわたって前記CDR回路を起動するように構成される、請求項1に記載のマスタIC。
【請求項７】
前記送信機が、前記PLLから前記クロック信号を受信するように構成されたシリアライザをさらに備える、請求項1に記載のマスタIC。
【請求項８】
前記PLLに結合され、低速クロック信号を受信し、前記クロック信号または前記低速クロック信号のいずれかを前記送信機および前記CDR回路に選択的に通過させるように構成されたマルチプレクサをさらに備える、請求項1に記載のマスタIC。
【請求項９】
スレーブ集積回路(IC)であって、
チップ間バスに結合されるように構成されたバスインターフェースと、
ドライバを備えた送信機であって、前記ドライバが、前記チップ間バスを介して送信するために前記バスインターフェースにデータ信号を出力する、送信機と、
前記バスインターフェースに結合された受信機であって、前記受信機が、前記チップ間バスを通じてマスタICから受信された信号からクロック信号を抽出するように構成される、受信機と、
前記受信機に動作可能に結合されたクロックデータ回復(CDR)回路と、
前記受信機および前記CDR回路に動作可能に結合された制御システムであって、前記制御システムが、内部位相同期ループ(PLL)または内部クロックを参照することなしに、前記受信機によって抽出された前記クロック信号で動作するように構成される、制御システムと
を備える、スレーブIC。
【請求項１０】
前記制御システムおよび前記CDR回路に動作可能に結合されたタイマ制御回路をさらに備え、前記制御システムが、クロックドリフトを補正するために、前記タイマ制御回路に基づいて前記CDR回路をあらかじめ定められた長さの時間にわたって定期的に起動する、請求項9に記載のスレーブIC。
【請求項１１】
前記制御システムおよび前記CDR回路に動作可能に結合された温度制御回路をさらに備え、前記制御システムが、温度の変化および前記温度制御回路に基づいて前記CDR回路を起動する、請求項9に記載のスレーブIC。
【請求項１２】
前記温度制御回路が、温度センサから温度信号を受信するように構成される、請求項11に記載のスレーブIC。
【請求項１３】
前記受信機が、前記受信機に関連付けられる終端インピーダンスの変化を可能にするように構成されたプログラマブル終端回路を備え、前記制御システムが、前記マスタICまでの距離に基づいて前記終端インピーダンスを構成する、請求項9に記載のスレーブIC。
【請求項１４】
タイマ制御回路と温度制御回路とをさらに備え、前記制御システムが、前記温度制御回路からの信号に応答して前記タイマ制御回路に基づいて一定の長さの時間にわたって前記CDR回路を起動するように構成される、請求項9に記載のスレーブIC。
【請求項１５】
前記送信機がシリアライザをさらに備える、請求項9に記載のスレーブIC。
【請求項１６】
前記受信機が、受信したスレーブクロック信号を前記制御システムに送るように構成されたデシリアライザをさらに備える、請求項9に記載のスレーブIC。
【請求項１７】
チップ間バスと、
第1の集積回路(IC)であって、
前記チップ間バスに結合されるように構成された第1のバスインターフェースと、
第1のドライバを備えた第1の送信機であって、前記第1のドライバが、前記チップ間バスを介して送信するために、前記第1のバスインターフェースに第1のデータ信号を出力する、第1の送信機と、
前記第1のバスインターフェースに結合された第1の受信機と、
前記第1の受信機に動作可能に結合された第1のクロックデータ回復(CDR)回路と、
前記第1のCDR回路に動作可能に結合された第1の制御システムと
を備える、第1のICと、
第2のICであって、
前記チップ間バスに結合されるように構成された第2のバスインターフェースと、
第2のドライバを備えた第2の送信機であって、前記第2のドライバが、前記チップ間バスを介して送信するために、前記第2のバスインターフェースに第2のデータ信号を出力する、第2の送信機と、
前記第2のバスインターフェースに結合された第2の受信機であって、前記第2の受信機が、前記チップ間バスを通じて前記第1のICから受信された信号からクロック信号を抽出するように構成される、第2の受信機と、
前記第2の受信機に動作可能に結合された第2のCDR回路と、
前記第2の受信機および前記第2のCDR回路に動作可能に結合された第2の制御システムであって、前記第2の制御システムが、内部位相同期ループ(PLL)または内部クロックを参照することなしに、前記第2の受信機によって抽出された前記クロック信号で動作するように構成される、第2の制御システムと
を備える、第2のICと、
前記第1のICと前記第2のICとの間で共有される唯一のアクティブなPLLであって、前記唯一のアクティブなPLLが、前記第1のICおよび前記第2のICの両方による使用のために前記クロック信号を提供するように構成される、唯一のアクティブなPLLと
を備える、システム。
【請求項１８】
前記第1の制御システムおよび前記第2の制御システムが、前記第1の制御システムと前記第2の制御システムのどちらがマスタ制御システムになり、前記第1の制御システムと前記第2の制御システムのどちらがスレーブ制御システムになるかをネゴシエートするように構成される、請求項17に記載のシステム。
【請求項１９】
前記スレーブ制御システムに関連付けられる非アクティブなPLLをさらに備え、前記非アクティブなPLLが、前記第1の制御システムと第2の制御システムのどちらが前記マスタ制御システムになるかの前記ネゴシエートの後に非アクティブのままであるように構成される、請求項18に記載のシステム。
【請求項２０】
前記マスタ制御システムが、電磁干渉(EMI)を低減するために、前記チップ間バス上の周波数を変更するように構成される、請求項18に記載のシステム。
【請求項２１】
前記マスタ制御システムが、前記第1のICと前記第2のICとの間の距離に基づいて前記第1の受信機のプログラマブル終端を変更するように構成される、請求項18に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
本出願は、2014年7月18日に出願された、「SYSTEMS AND METHODS FOR CHIP TO CHIP COMMUNICATION」と題する米国仮特許出願第62/026,063号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【０００２】
本出願はまた、2015年7月16日に出願された、「SYSTEMS AND METHODS FOR CHIP TO CHIP COMMUNICATION」と題する米国特許出願第14/801,310号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【０００３】
本開示の技術は、一般に集積回路(IC)に関し、具体的には2つのIC間の通信に関する。
【背景技術】
【０００４】
コンピューティングデバイスは、現代社会に普及している。そのようなコンピューティングデバイスは、次第に複雑になる集積回路(IC)によって利用可能になっている、増加する数々の機能から利益を得る。そのようなICは、プリント回路基板(PCB)上に配置され、物理的トレースなどの非一時的な導電性要素を通じて相互接続され得る。信号は、あらかじめ定められたプロトコルに従ってこれらの物理トレースにルーティングされる。増加した機能は、そのような信号に含まれるデータの量を増加させ、増加したデータに対応するために、より速いクロック速度とより多くの導電性の要素を必要とする。
【０００５】
多くの場合、周辺機器相互接続(PCI)などのデータをパッケージ化するために使用されるプロトコルは、異種の商業的利益のコンソーシアムによって作成される。プロトコルの作成に関与する様々なエンティティは、一連の妥協とエンジニアリングの現実を通じて最終的な公開されたプロトコルに到達する。共通プロトコルを有する利点は、プロトコルに従って作られたデバイスの容易に利用可能な相互運用性である。そのような相互運用性は、デバイスメーカーに、コンポーネントを購入できるベンダーを選択する際の柔軟性を与える。共通プロトコルを有することの欠点は、「最悪の場合」のシナリオに対処するためにプロトコルが頻繁に過剰設計(over-engineered)されることである。そのような過剰設計は、IC内の領域の過度の使用および余分な電力消費をもたらす。もう1つの欠点は、変化する現実にプロトコルが素早く反応できないことである。すなわち、新しい技術や予期しない古い技術の組合せは、プロトコルとのやりとりが不十分な場合がある。
【０００６】
そのような不十分なやりとりの一例は、チップ間バス上のクロック速度が増加するにつれて、ますます多くの電力が消費されることである。さらに、クロック速度が増加すると、クロック信号の立上りおよび立下りの遷移が短くなる(すなわち、遷移がより速く発生する)ので、コンピューティングデバイス内の他のコンポーネントにますます多くの電磁干渉(EMI)が発生する。さらに、そのような電磁放射は、連邦通信委員会(FCC)排出基準による所望の処理を受けるためのコンピューティングデバイスの能力に影響を及ぼす可能性がある。したがって、チップ間のシグナリングを改善する方法が所望される。
【発明の概要】
【課題を解決するための手段】
【０００７】
詳細な説明に開示される態様は、チップ間通信のためのシステムおよび方法を含む。例示的な態様では、チップ間リンクは、データ送信機、クロック、クロック送信機、クロックに関連付けられる位相同期ループ(PLL)、および受信機を有するマスタデバイスを備える。チップ間リンクはまた、データ送信機、クロック受信機、およびデータ受信機を有するスレーブデバイスを備える。顕著なのは、スレーブデバイスには、クロックまたはPLLが存在しないことである。スレーブデバイスからクロックを取り除くことによって、スレーブデバイスはスレーブPLLの電力消費要素を有しない。さらに、スレーブデバイスは、通常なら新しい周波数を取得して安定させる必要があるクロックを有していないので、マスタクロックは周波数を比較的迅速に変更し、1つまたは2つのあらかじめ定められた周波数だけでなく、多くの周波数にわたって周波数を変更し得る。周波数シフトにより、チップ間リンクが可変電磁干渉(EMI)攻撃を緩和するとともに、チップ間リンクが可変EMIの犠牲者になることを避けることが可能になる。
【０００８】
これに関して、一態様では、マスタ集積回路(IC)が提供される。本マスタICは、チップ間バスに結合されるように構成されたバスインターフェースを備える。本マスタICはまた、ドライバを備えた送信機を備え、ドライバは、チップ間バスを介して送信するためにバスインターフェースにデータ信号を出力する。本マスタICはまた、バスインターフェースに結合された受信機を備える。本マスタICはまた、受信機に動作可能に結合されたクロックデータ回復(CDR)回路を備える。本マスタICはまた、基準クロック信号を受信し、送信機のドライバおよびCDR回路にクロック信号を出力するPLLを備える。送信機は、バスインターフェースを通じてチップ間バス上にマスタクロック信号を出力する。本マスタICはまた、PLLおよびCDR回路に動作可能に結合された制御システムを備える。制御システムは、PLLを制御することによってマスタクロック信号の周波数を変更するように構成される。遠隔スレーブICでのクロック動作とは無関係の周波数変更の間、データ送信が継続する。
【０００９】
別の態様では、スレーブICが提供される。本スレーブICは、チップ間バスに結合されるように構成されたバスインターフェースを備える。本スレーブICはまた、ドライバを備えた送信機を備え、ドライバは、チップ間バスを介して送信するためにバスインターフェースにデータ信号を出力する。本スレーブICはまた、バスインターフェースに結合された受信機を備える。受信機は、チップ間バスを通じてマスタICから受信された信号からクロック信号を抽出するように構成される。本スレーブICはまた、受信機に動作可能に結合されたクロックデータ回復(CDR)回路を備える。本スレーブICはまた、受信機およびCDR回路に動作可能に結合された制御システムを備える。制御システムは、内部位相同期ループ(PLL)または内部クロックを参照することなしに、受信機によって抽出されたクロック信号で動作するように構成される。
【００１０】
別の態様では、システムが提供される。本システムは、チップ間バスを備える。本システムはまた、第1のICを備える。第1のICは、チップ間バスに結合されるように構成された第1のバスインターフェースを備える。第1のICはまた、第1のドライバを備えた第1の送信機を備え、第1のドライバは、チップ間バスを介して送信するために、第1のバスインターフェースに第1のデータ信号を出力する。第1のICはまた、第1のバスインターフェースに結合された第1の受信機を備える。第1のICはまた、第1の受信機に動作可能に結合された第1のCDR回路を備える。第1のICはまた、第1のCDR回路に動作可能に結合された第1の制御システムを備える。本システムはまた、第2のICを備える。第2のICは、チップ間バスに結合されるように構成された第2のバスインターフェースを備える。第2のICはまた、第2の送信機を備える。第2の送信機は第2のドライバを備え、第2のドライバは、チップ間バスを介して送信するために、第2のバスインターフェースに第2のデータ信号を出力する。第2のICはまた、第2のバスインターフェースに結合された第2の受信機を備える。第2の受信機は、チップ間バスを通じて第1のICから受信された信号からクロック信号を抽出するように構成される。第2のICはまた、第2の受信機に動作可能に結合された第2のCDR回路を備える。第2のICはまた、第2の受信機および第2のCDR回路に動作可能に結合された第2の制御システムを備える。第2の制御システムは、内部PLLまたは内部クロックを参照することなしに、第2の受信機によって抽出されたクロック信号で動作するように構成される。本システムはまた、第1のICと第2のICとの間で共有される唯一のアクティブなPLLを備える。唯一のアクティブなPLLは、第1のICと第2のICの両方による使用のためにクロック信号を提供するように構成される。
【図面の簡単な説明】
【００１１】
【図１】本開示の例示的な態様による、マスタチップおよびスレーブチップを備えたコンピューティングデバイスの簡略化されたブロック図である。
【図２】図1のマスタチップのより詳細なブロック図である。
【図３】図1のスレーブチップのより詳細なブロック図である。
【図４】例示的な非対称チップ間通信リンクを有するコンピューティングデバイスの簡略化されたブロック図である。
【図５】例示的な非対称チップ間通信リンクと、選択可能な数の受信チャネルまたは送信チャネルとを有するコンピューティングデバイスの簡略化されたブロック図である。
【図６】選択可能なマスタとの例示的な非対称チップ間通信リンクを有するコンピューティングデバイスの簡略化されたブロック図である。
【図７】選択可能なマスタ、および選択可能な数の受信チャネルまたは送信チャネルとの例示的な非対称チップ間通信リンクを有するコンピューティングデバイスの簡略化されたブロック図である。
【図８】標準適合チップおよび非標準適合チップとともに使用するための共有バンプを有する例示的なチップのブロック図である。
【図９】本明細書に記載されるマスタチップおよびスレーブチップとともに使用するために適した周波数シフト、電力シフト、およびスリープモードの例示的なプロセスを示すフローチャートである。
【図１０】本明細書に記載されるチップ間通信方式を使用するマスタチップまたはスレーブチップを含み得る例示的なプロセッサベースのシステムのブロック図である。
【発明を実施するための形態】
【００１２】
次に図面を参照すると、本開示のいくつかの例示的な態様が記載されている。「例示的(exemplary)」という用語は、本明細書では、「例、事例、または例示としての役割を果たす」ことを意味するために使用される。本明細書で「例示的」と記載された任意の態様は、必ずしも他の態様よりも好ましい、または有利であると解釈されるべきであるとは限らない。
【００１３】
詳細な説明に開示される態様は、チップ間通信のためのシステムおよび方法を含む。例示的な態様では、チップ間リンクは、データ送信機、クロック、クロック送信機、クロックに関連付けられる位相同期ループ(PLL)、および受信機を有するマスタデバイスを備える。チップ間リンクはまた、データ送信機、クロック受信機、およびデータ受信機を有するスレーブデバイスを備える。顕著なのは、スレーブデバイスには、クロックまたはPLLが存在しないことである。スレーブデバイスからクロックを取り除くことによって、スレーブデバイスはスレーブPLLの電力消費要素を有しない。さらに、スレーブデバイスは、通常なら新しい周波数を取得して安定させる必要があるクロックを有していないので、マスタクロックは周波数を比較的迅速に変更し、1つまたは2つのあらかじめ定められた周波数だけでなく、多くの周波数にわたって周波数を変更し得る。周波数シフトにより、チップ間リンクが可変電磁干渉(EMI)攻撃を緩和するとともに、チップ間リンクが可変EMIの犠牲者になることを避けることが可能になる。
【００１４】
これに関して、図1は、チップ間バス16を通じてスレーブチップ14と通信するマスタチップ12を含むコンピューティングデバイス10のブロック図である。コンピューティングデバイス10は、スマートフォンまたはラップトップコンピュータなどのモバイル端末でもよく、あるいはデスクトップコンピュータなどのより固定式のコンピューティングデバイスでもよい。マスタチップ12は、本明細書に記載の機能を可能にするために、ローカルメモリ20およびソフトウェアと連携するマスタ制御システム18(MCSと呼ばれることもある)を含み得る。マスタチップ12は、マスタクロックソース22(発振器と呼ばれることもある)およびPLL24をさらに含み得る。マスタクロックソース22はマスタチップ12内にあるものとして示されているが、例示的な非限定的な態様では、マスタクロックソース22はマスタチップ12の外部に配置されてもよい。PLL24は、マスタバスインターフェース28を通じてチップ間バス16に渡されるクロック信号26を生成するために使用され得る。容易に理解されるように、マスタバスインターフェース28は、チップ間バス16に結合されるように構成される。
【００１５】
引き続き図1を参照すると、スレーブチップ14は、チップ間バス16に結合されたスレーブバスインターフェース30を含み得る。クロック信号26は、チップ間バス16を介してスレーブチップ14に伝わる。スレーブチップ14は、スレーブ制御システム32(SCSと呼ばれることもある)を含み得る。スレーブチップ14は、クロック信号26を抽出し、必要に応じてクロック信号26を使用する。上述したように、スレーブチップ14は、クロックおよび/またはPLLを省略し、スレーブチップ14内の任意の必要なクロッキングのためにクロック信号26に依存し得る。スレーブチップ14内のクロックおよび/またはPLLを省略することによって、かなりのスペースおよび電力の節約が達成され得る。たとえスレーブチップ14がスレーブクロックおよび/またはスレーブPLLを含む場合であっても、スレーブクロックおよび/またはスレーブPLLは非活動化され得、少なくとも電力節約を提供する。さらに、クロック信号26に依存することによって、スレーブPLLが新しい周波数で安定するのを待つ必要がないので、クロック信号26の周波数の変更は比較的迅速に達成され得る。
【００１６】
マスタチップ12に関するさらなる詳細は図2に提供され、スレーブチップ14に関する詳細は図3に提供される。これに関して、図2は、図1のマスタチップ12のブロック図を示す。図1と図2との間の共通の要素は共通の要素番号で示されており、ここでは再記述しない。マスタチップ12は、マスタ送信機40およびマスタ受信機42を含み得る。MCS18は、マスタ物理コーディング副層(PCS: Physical Coding Sublayer)44を含み得る。PCS44は、データの符号化および復号化、ならびにバイトおよびワード整列などの、物理層のプロトコル特有の部分である。PLL24は、基準クロック信号(refclk)およびその補信号(refclkb)を受信し、高速クロック信号46をマルチプレクサ48に出力し得る。例示的な非限定的な態様では、PLL24は、ゼロ(0)ppm(Parts Per Million)の周波数オフセットを有する。例示的な非限定的な態様では、PLL24は、高速クロック信号46に利用可能な様々な異なる高速周波数を有する可変周波数PLLであってもよい点に留意されたい。MCS18からの制御信号(図示せず)は、PLL24に高速クロック信号46の周波数を調整させる。マルチプレクサ48はまた、低速クロック信号50を受信し得る。MCS18からの制御信号(図示せず)は、マルチプレクサ48に、選択されたクロック信号52を出力するために、高速クロック信号46と低速クロック信号50との間で選択させる。低速クロック信号50が使用されているとき、MCS18は電力を節約するためにPLL24をオフにすることができる点に留意されたい。
【００１７】
引き続き図2を参照すると、選択されたクロック信号52はマスタ送信機40に提供され、マスタ送信機40は、やはり選択されたクロック信号52をマスタクロックデータ回復(CDR)回路54に渡す。マスタ送信機40は、選択されたクロック信号52をマスタシリアライザ56およびドライバ58に提供する。ドライバ58は、選択されたクロック信号52を差動エンドクロック信号52'としてチップ間バス16上に駆動し得る。
【００１８】
引き続き図2を参照すると、マスタシリアライザ56は、MCS18からデータ(TDM)を受信するとともに、MCS18にクロック(TCLKM)を提供し得る。マスタシリアライザ56は、データ信号60およびクロック信号62をドライバ64に提供する。ドライバ64は、Hブリッジドライバ等であり得る。ドライバ64は、データを差動エンドデータ信号66としてチップ間バス16上に駆動する。
【００１９】
引き続き図2を参照すると、マスタ受信機42はマスタプログラマブル終端68を含み得る。MCS18は、マスタプログラマブル終端68のインピーダンスを調整するために、マスタプログラマブル終端68に制御信号(図示せず)を送信し得る。マスタプログラマブル終端68を調整することによって、特定の周波数で発生する可能性のある反射を低減するとともに、電力節約が達成されることを可能にし得る。特に、チップ間バス16が比較的短い場合、マスタプログラマブル終端68のインピーダンスが増加され得、出力ドライバ電力を低減する。例示的な非限定的な態様では、マスタプログラマブル終端68は、必要または所望に応じて、約50オーム(50Ω)と800オーム(800Ω)との間で変化し得、それらの間の様々な値を取り得る。マスタプログラマブル終端68のインピーダンスがそれぞれさらに2倍になるたびに、スレーブ送信機90(図3参照)によって必要とされる電力が半分になる。マスタプログラマブル終端68は、チップ間バス16を通じてスレーブチップから差動エンド信号を受信し、受信した信号を受信機ロジック70に提供する。受信機ロジック70は、受信した信号をマスタデシリアライザ72に渡し得る。マスタデシリアライザ72はまた、マスタCDR回路54からCDRクロック信号74を受信する。CDRクロック信号74は、マスタCDR回路54によって回復されたクロック信号である。マスタデシリアライザ72は、エッジサンプリングされた信号76をマスタCDR回路54に提供する。エッジサンプリングされた信号76は、データおよびクロック整列のサインエラーを検出するためにマスタCDR回路54が使用するために、マスタデシリアライザ72によってサンプリングされたエッジである。マスタデシリアライザ72は、受信データ信号(RDM)および受信クロック信号(RCLKM)をMCS18に提供する。マスタCDR回路54は、スレーブ送信機90からのデータが、選択されたクロック信号52と整列することを可能にする。
【００２０】
引き続き図2を参照すると、マスタチップ12は、温度センサ80に関連付けられ得る。例示的な図示されていない態様では、温度センサ80はマスタチップ12の一部である。別の例示的な図示された態様では、温度センサ80は、マスタチップ12に近接しているが、マスタチップ12から離れている。多くのチップは、ダイ自体の温度を測定するために、チップまたはダイ内に温度センサを含む点に留意されたい。温度センサ80は温度信号を温度制御ロジック82に提供する。タイマ制御ロジック84は、温度制御ロジック82に関連付けられ得、単一のタイマ/温度ロジック86に統合されてもよく、別個であってもよい。タイマ/温度ロジック86は、マスタCDR回路54に信号を提供し得る。
【００２１】
図1のスレーブチップ14は類似しており、図3により詳細に示されている。図1と図3との間の共通の要素は共通の要素番号で示されており、ここでは再記述しない。これに関して、スレーブチップ14は、スレーブ送信機90およびスレーブ受信機92を含み得る。SCS32は、スレーブPCS94を含み得る。顕著なのは、スレーブチップ14には、PLLが存在しないことである。スレーブチップ14は、マスタチップ12から受信した差動エンドクロック信号52'に依存する。
【００２２】
引き続き図3を参照すると、スレーブ受信機92は、クロックプログラマブル終端96およびデータプログラマブル終端98を含み得る。SCS32からの制御信号(図示せず)は、マスタチップ12によって生成された異なる周波数に対応するために、必要に応じてプログラマブル終端96および98のインピーダンスを変化させる。スレーブ受信機92は、クロックプログラマブル終端96で差動エンドクロック信号52'を受信し、差動エンドクロック信号52'をクロック受信機ロジック100に送る。クロック受信機ロジック100は、スレーブクロック信号102を出力する。スレーブ受信機92は、データプログラマブル終端98で差動エンドデータ信号66を受信し、差動エンドデータ信号66をデータ受信機ロジック104に送る。データ受信機ロジック104は、データをスレーブデシリアライザ106に出力する。スレーブデシリアライザ106は、受信データ信号(RDS)および受信クロック信号(RCLKS)をSCS32に提供する。スレーブデシリアライザ106は、スレーブCDR回路110からCDRクロック信号112をさらに受信する。CDRクロック信号112は、スレーブCDR回路110によって回復されたクロック信号である。スレーブデシリアライザ106は、エッジサンプリングされた信号114をスレーブCDR回路110に提供する。エッジサンプリングされた信号114は、データおよびクロック整列のサインエラーを検出するためにスレーブCDR回路110が使用するために、スレーブデシリアライザ106によってサンプリングされたエッジである。図2のマスタプログラマブル終端68と同様に、プログラマブル終端96および98は、電力消費を低減するために変更され得る。
【００２３】
引き続き図3を参照すると、スレーブCDR回路110はまた、スレーブ受信機92からスレーブクロック信号102を受信する。スレーブクロック信号102はまた、スレーブ送信機90に提供される。スレーブ送信機90はまた、SCS32からスレーブ送信されたデータ信号(TDS)を受信し、SCS32にスレーブ送信されたクロック信号(TCLKS)を提供する。スレーブ送信機90は、スレーブクロック信号102を使用してTDSを直列化し、スレーブドライバ118に直列化TDSを提供するスレーブシリアライザ116を含む。スレーブドライバ118は、差動エンドデータ信号120をチップ間バス16上に置いてマスタチップ12に送る。
【００２４】
引き続き図3を参照すると、スレーブチップ14は、温度センサ80'に関連付けられ得る。例示的な図示されていない態様では、温度センサ80'はスレーブチップ14の一部である。別の例示的な図示された態様では、温度センサ80'は、スレーブチップ14に近接しているが、スレーブチップ14から離れている。多くのチップは、ダイ自体の温度を測定するために、ダイ内に温度センサを含む点に留意されたい。温度センサ80'は、図2の温度センサ80と同じであってもよく、別々で異なるものであってもよい。温度センサ80'は温度信号を温度制御ロジック122に提供する。タイマ制御ロジック124は、温度制御ロジック122に関連付けられ得、単一のタイマ/温度ロジック126に統合されてもよく、別個であってもよい。タイマ/温度ロジック126は、スレーブCDR回路110に信号を提供し得る。
【００２５】
前述したように、スレーブチップ14上にPLLが存在しないことは、電力消費の低減および省スペースを含む多くの利点を有する。さらに、プログラマブル終端を有する単一のクロックを有することによって、チップ12と14との間でデータが送信される周波数が頻繁に変更されることが可能になる。前述したように、プログラマブル終端68、96、および98は、新しい周波数で終端インピーダンスを最適化するためにインピーダンスを変更し得る。そのような周波数の変更は、マスタチップ12とスレーブチップ14との間の通信が、図1のコンピューティングデバイス10内の他のコンポーネントのEMIアグレッサとして動作するのを防ぐために行われ得る。たとえば、マスタチップ12およびスレーブチップ14がモバイル端末内にある場合、チップ間バス16上の一次周波数ならびに周波数の高調波がセルラー周波数と重ならないように、モバイル端末内のセルラーモデムを作動させることによって周波数を変化させ得る。同様に、たとえチップ間バス16が一般的にEMI耐性であっても、チップ間バス上の周波数を変更することによって、コンピューティングデバイス10内の他のEMIアグレッサの犠牲者であることを回避するために、マスタチップ12とスレーブチップ14との間の通信が雑音の少ない周波数に移動することを可能にし得る。
【００２６】
スレーブPLLを起動する必要はなく、スレーブPLLを新しい周波数で安定させる必要がないため、スレーブチップ14が新しい周波数上で比較的迅速にウェイクアップまたは安定するので、周波数変更能力が促進される。唯一の待ち時間は、マスタPLL(たとえば、PLL24)の起動(waking)である。したがって、PLL24がいったん安定すると、パケットはチップ間バス16を介して送信され得る。さらに、EMIの問題を軽減するために、より多様な周波数が利用可能である。たとえば、従来のPCIeは3つの周波数(すなわち、8、5、および2.5Gbps)で動作するが、本開示の例示的な態様はこれに限定されない。本開示の例示的な態様のさらなる利点は、マスタCDR回路54およびスレーブCDR回路110がどのように管理されるかである。従来のシステムでは、周波数をドリフトから守るためにCDR回路が連続的に実行される。そのような連続動作は電力を消費する。上述のように、PLL24は、0ppmの周波数オフセットを有し得る。そのような小さな正弦波ジッタを用いると、マスタCDR回路54とスレーブCDR回路110とを連続して使用する必要がなく、CDR回路54および110の一方または両方がより低電力のモード、またはスリープモードに長時間置かれ得る。スレーブチップ14内にスレーブPLLが存在しないということは、マスタチップ12に関して、スレーブチップ14がソース同期であることを意味し、スレーブCDR回路110が連続的に動作する必要性を低減するのに役立つ。
【００２７】
PLL24などの非常に正確なPLLでさえ、温度の関数としてドリフトすることがあることを理解されたい。さらなる温度に起因するドリフトは、チップ12および14の他の要素によってだけでなく、チップ間バス16上に、またはコンピューティングデバイス10内の他の位置にさえも導入され得る。そのような温度に起因するドリフトは、PLL24の再整列の必要性を生じさせる可能性がある。本開示の例示的な態様は、PLL24の再整列の必要性に対処するために、タイマ/温度ロジック86および126を使用する。第1の例示的な態様では、タイマ制御ロジック84は、あらゆる再整列の必要性をチェックするためにマスタCDR回路54を定期的に起動するために使用される。同様に、タイマ制御ロジック124は、あらゆる再整列の必要性をチェックするためにスレーブCDR回路110を定期的に起動するために使用される。マスタCDR回路54の期間は、スレーブCDR回路110の期間と異なっていてもよく、同じであってもよい。さらに、期間は必要または所望に応じてプログラムされ得る。さらに、マスタCDR回路54およびスレーブCDR回路110が(タイマ制御ロジック84および124によって起動された後に)起動している時間の長さは、必要または所望に応じてプログラムされ得る。相互に排他的ではない別の態様では、温度制御ロジック82および122は、温度を検出するために温度センサ80および80'を使用し、初期整列期間の終わりに温度センサ値を記憶し得る。この温度センサ値は、MCS18またはSCS32に関連付けられるメモリにそれぞれ記憶され得る。定期的に、現在の温度センサ値が記憶された値と比較され得、あらかじめ定められたしきい値を超える温度変化がある場合、マスタCDR回路54およびスレーブCDR回路110が活動化され、任意の必要な再整列が実行される。温度センサ80および80'から新しい温度値が収集され、潜在的に以前に記憶された値を上書きするように記憶され得る。タイマ/温度ロジック86および126はまた、他の較正システムと通信し得る。
【００２８】
マスタチップ12およびスレーブチップ14は、コンピューティングデバイス10などの特定のコンピューティングデバイスのニーズに応じて異なる構成に組み立てられ得る。図2のマスタチップ12と図3のスレーブチップ14との組合せは、マスタチップ12からスレーブチップ14に送信するために、およびスレーブチップ14からマスタチップ12に送信するために、等しい数のデータチャネルが提供されるという点で全二重システムをもたらし得る。本開示の他の例示的な態様は、図4〜図8で検証される代替の構成を提供する。
【００２９】
これに関して、図4は、例示的な非対称チップ間通信リンクを有するコンピューティングデバイス130の簡略化されたブロック図を示す。図2、図3、および図4の間の共通の要素は共通の要素番号で示されており、ここでは再記述しない。コンピューティングデバイス130は、チップ間バス16によって通信可能に結合されたマスタチップ132およびスレーブチップ134を含む。マスタチップ132は、MCS136、マスタクロックモジュール138、複数のマスタ送信機モジュール140(0)〜140(X-1)、および複数のマスタ受信機モジュール142(0)〜142(Y-1)を含む。マスタクロックモジュール138は、PLL24、マルチプレクサ48、およびドライバ58を含む。複数のマスタ送信機モジュール140(0)〜140(X-1)は同一であり、それぞれはそれぞれのマスタシリアライザ144およびマスタドライバ146を含む。複数のマスタ送信機モジュール140(0)〜140(X-1)は、図2のマスタ送信機40に類似しているが、クロッキング回路は全くない。複数のマスタ受信機モジュール142(0)〜142(Y-1)は同一であり、それぞれはマスタプログラマブル終端148、マスタ受信機ロジック150、マスタデシリアライザ152、マスタCDR回路154、およびタイマ/温度制御156を含む。別の例示的な態様(図示せず)では、複数のマスタ受信機モジュール142(0)〜142(Y-1)は、マスタCDR回路154のうちの単一のものと、タイマ/温度制御156のうちの単一のものを共有する。複数のマスタ受信機モジュール142(0)〜142(Y-1)は、マスタ受信機42と同様である。XはYに等しくなくてもよく、したがってマスタチップ132のための送信チャネルおよび受信チャネルの数が非対称であり得る点を理解されたい。
【００３０】
引き続き図4を参照すると、スレーブチップ134は、SCS158、スレーブクロックモジュール160、複数のスレーブ受信機モジュール162(0)〜162(X-1)、および複数のスレーブ送信機モジュール164(0)〜164(Y-1)を有する。スレーブクロックモジュール160は、図3のスレーブクロッキング回路と同様に、プログラマブル終端166および受信機168を含む。複数のスレーブ受信機モジュール162(0)〜162(X-1)の各々は、スレーブプログラマブル終端170、スレーブ受信機172、スレーブデシリアライザ174、スレーブCDR回路176、およびタイマ/温度制御178を含む。別の例示的な態様(図示せず)では、複数のスレーブ受信機モジュール162(0)〜162(X-1)は、スレーブCDR回路176のうちの単一のものと、タイマ/温度制御178のうちの単一のものを共有する。複数のスレーブ受信機モジュール162(0)〜162(X-1)はスレーブ受信機92と同様であるが、スレーブ受信機92のクロック受信機ロジック100はない(スレーブクロックモジュール160は複数のスレーブ受信機モジュール162(0)〜162(X-1)で共有されるので)。複数のスレーブ送信機モジュール164(0)〜164(Y-1)の各々は、シリアライザ180およびドライバ182を含む。複数のスレーブ送信機モジュール164(0)〜164(Y-1)の各々は、スレーブ送信機90と同様である。
【００３１】
コンピューティングデバイス130を構築することによって、マスタチップ132からスレーブチップ134への送信は、スレーブチップ134からマスタチップ132への送信とは異なる帯域幅を有し得る。そのような配置は、出力要素からマスタへの通信がほとんどない出力要素(たとえば、マスタからディスプレイコントローラへ、またはマスタからオーディオスピーカへ)、またはマスタから入力要素への通信がほとんどない入力要素(たとえば、マイクロフォン)にとって適切であり得る。
【００３２】
図5は、例示的な非対称チップ間通信リンクと、選択可能な数の受信チャネルまたは送信チャネルとを有するコンピューティングデバイス190の簡略化されたブロック図である。図4と図5との間の共通の要素は共通の要素番号で示されており、ここでは再記述しない。コンピューティングデバイス190は、チップ間バス16によって相互接続されたマスタチップ192およびスレーブチップ194を含む。マスタチップ192は、MCS196、図4のマスタクロックモジュール138、および複数のマスタトランシーバモジュール198(0)〜198(X-1)を含む。複数のマスタトランシーバモジュール198(0)〜198(X-1)の各々は、マスタシリアライザ200、マスタドライバ202、マスタプログラマブル終端204、マスタ受信機206、マスタデシリアライザ208、マスタCDR回路210、およびタイマ/温度制御212を含む。図示されていない別の態様では、マスタCDR回路210のうちの単一のものと、タイマ/温度制御212のうちの単一のものが、複数のマスタトランシーバモジュール198(0)〜198(X-1)のすべてで共有される。マスタドライバ202およびマスタプログラマブル終端204は、共通ノード(スイッチであり得る、図示せず)を通じてチップ間バス16に結合する。MCS196は、複数のマスタトランシーバモジュール198(0)〜198(X-1)のうちの特定のトランシーバモジュールが送信機または受信機として動作するかどうかを決定する。
【００３３】
引き続き図5を参照すると、スレーブチップ194は、図4のスレーブクロックモジュール160と、複数のスレーブトランシーバモジュール214(0)〜214(X-1)とを含む。複数のスレーブトランシーバモジュール214(0)〜214(X-1)の各々は、スレーブシリアライザ216、スレーブドライバ218、スレーブプログラマブル終端220、スレーブ受信機222、スレーブデシリアライザ224、スレーブCDR回路226、タイマ/温度制御228、およびSCS230を含む。図示されていない別の態様では、スレーブCDR回路226のうちの単一のものと、タイマ/温度制御228のうちの単一のものが、複数のスレーブトランシーバモジュール214(0)〜214(X-1)のすべてで共有され得る。スレーブドライバ218およびスレーブプログラマブル終端220は、共通ノード(スイッチであり得る、図示せず)を通じてチップ間バス16に結合する。SCS230は、複数のスレーブトランシーバモジュール214(0)〜214(X-1)のうちのどれが送信機または受信機として動作するかに関する表示をMCS196から受信し、複数のスレーブトランシーバモジュール214(0)〜214(X-1)を構成する。コンピューティングデバイス190の配置は、一方の側が他方の側より多くのデータを送信する可能性が高い場合に適切であり得る。したがって、よりアクティブな側が送信し、アクティブではない側が受信する。この配置は動的に変化し得、必要または所望に応じてレーンが再割当てされ得る点に留意されたい。さらに、必要または所望に応じて、バランスを取るためにレーンが時分割され得る。
【００３４】
図6は、選択可能なマスタとの例示的な非対称チップ間通信リンクを有するコンピューティングデバイス240の簡略化されたブロック図である。図4、図5、および図6の間の共通の要素は共通の要素番号で示されており、ここでは再記述しない。これに関して、コンピューティングデバイス240は、チップ間バス16によって通信可能に結合された第1のマスタチップ242および第2のマスタチップ244を含む。マスタチップ242および244の各々は、MCS246、図4の複数のマスタ送信機モジュール140(0)〜140(X-1)、複数のマスタ受信機モジュール142(0)〜142(Y-1)、およびマスタクロックモジュール248を含む。マスタクロックモジュールは、PLL24、ドライバ58、クロックプログラマブル終端96、クロック受信機ロジック100、およびマルチプレクサ250を含む。ドライバ58およびクロックプログラマブル終端96は、共通ノード(スイッチであり得る、図示せず)を通じてチップ間バス16に結合する。図2のマルチプレクサ48とは対照的に、マルチプレクサ250は、高速クロック信号46、低速クロック信号50、および他のマスタチップ242または244から受信したクロック信号の間で選択する。
【００３５】
コンピューティングデバイス240は、製造中に同一のチップが購入され、取り付けられたときに組み立てられ得、たとえ両方ともマスタチップとして機能することができるとしても、チップのうちの1つはマスタとして指定され、他のチップはスレーブとして指定される。そのような指定は、ジャンパ、接続の設定、ピンの接地などによって行われ得る。別の例示的な態様では、マスタチップ242および244は、どちらがマスタになり、どちらがスレーブになるかをネゴシエートする。さらなる例示的な態様では、チップ242および244は、どちらがマスタチップであり、どちらがスレーブチップであるかを動的に変更し得る。たとえば、初期スレーブチップは、初期マスタチップによって使用されたものとは異なる周波数でデータを送信する必要があると決定し得る。初期スレーブチップは、後続のマスタチップ状態を仮定し、異なる周波数を使用して後続のスレーブチップにデータを送信し得る。マスタチップが選択されると、選択されたスレーブチップのPLL24、ドライバ58、およびクロック受信機ロジック100が非活動化されるか、または低電力モードにされる。スレーブチップ用のマルチプレクサ250は、他のマスタチップ242または244から受信したクロック信号を使用する。複製された回路にはある程度の領域ペナルティがあるが、電力節約は依然として有効であり得る。同様に、非活動化されたPLLが安定するのを待つ必要がないので、他の例示的な態様の高速周波数変更もまた保存される。
【００３６】
図7は、選択可能なマスタ、および選択可能な数の受信チャネルまたは送信チャネルとの例示的な非対称チップ間通信リンクを有するコンピューティングデバイス260の簡略化されたブロック図である。図4、図5、図6、および図7の間の共通の要素は共通の要素番号で示されており、ここでは再記述しない。図6のコンピューティングデバイス240と同様に、コンピューティングデバイス260は、チップ間バス16によって相互接続された2つのマスタチップ262および264を含む。マスタチップ262および264の各々は、MCS266、図5の複数のマスタトランシーバモジュール198(0)〜198(X-1)、およびマスタクロックモジュール248を含む。コンピューティングデバイス240と同様に、マスタチップ262および264のうちの1つはスレーブチップとして指定され、1つはマスタチップとして指定される。マスタチップが選択されると、選択されたスレーブチップのPLL24、ドライバ58、およびクロック受信機ロジック100が非活動化されるか、または低電力モードにされる。スレーブチップ用のマルチプレクサ250は、他のマスタチップ262または264から受信したクロック信号を使用する。複製された回路にはある程度の領域ペナルティがあるが、電力節約は依然として有効であり得る。同様に、非活動化されたPLLが安定するのを待つ必要がないので、他の例示的な態様の高速周波数変更もまた保存される。さらに、複数のマスタトランシーバモジュール198(0)〜198(X-1)の各々は、コンピューティングデバイス190内の送信機/受信機ペアの4つのピンと比較して2つのピンしか有さないので、ピンの節約が存在し得る。未使用のレーンは、電力を節約するために必要に応じてオンとオフを切り替えられ得る。
【００３７】
PCIe、ユニバーサルシリアルバス(USB)、またはdigRFなどの従来のチップ間通信規格から移行するさらなる利点として、本開示の例示的な態様は、チップ間バス16の信号に非標準電圧レベルが使用されることを可能にする。すなわち、プログラマブル終端68、96、98、148、166、170、204、および220の適切なプログラミングによって、比較的低い電圧信号が送信され得る。そのような低電圧信号は、チップ間バス16がEMIアグレッサである可能性をさらに低減し、既存の通信規格に比べてさらなる電力節約を提供する。
【００３８】
本開示の例示的な態様によってもたらされる電力節約およびEMI改善は実質的であるが、同様に設計された他のチップだけと通信することができるチップを作るという代償を払う。したがって、PCIe、USB、digRFなどで動作するように設計されたチップは、周波数ホッピング機能が存在しないか、または標準ベースのチップが正確に検出し評価するためには電圧レベルが低すぎるため、マスタチップ12、132、192、242、または262、あるいはスレーブチップ14、134、194、244、または264と通信することができない。しかしながら、本開示の別の例示的な態様は、第1のモードではチップが標準ベースの回路を使用し、第2のモードではチップが本開示に基づいて回路を使用するように、バスインターフェースのピン(またはバンプ)を共有するデュアルモード後方互換性チップを提供する。
【００３９】
これに関して、図8は、本開示の後方互換性を示すために、新しいチップと古いチップの混合を有する例示的なコンピューティングデバイス280のブロック図である。特に、アプリケーションプロセッサ282は、PCIeを使用することができるだけでなく、本開示の例示的な態様を使用することができるマスタチップであり得る。アプリケーションプロセッサ282は、ワイヤレスローカルエリアネットワーク(WLAN)モデム284およびモデムデバイスモデム(MDM)286に結合される。WLANモデム284は、本開示の例示的な態様による回路を含み、MDM286は、PCIeに従って厳密に動作する。アプリケーションプロセッサ282およびWLANモデム284は、アプリケーションプロセッサ282などの任意のアプリケーションプロセッサが改良された回路を使用して他の任意のチップと通信でき、また本開示の方法、またはどのようなレガシープロトコルも他のチップによって使用されるように、本開示のバスインターフェースをレガシー規格のバスインターフェースと並列に配置する。図示されるように、チップ間バス16'は、本開示の例示的な態様に従って信号を搬送する第1の部分288と、PCIeに厳密に従って動作する第2の部分290とを含む。本開示のこの態様は領域ペナルティを課すが、アプリケーションプロセッサ282およびWLANモデム284の柔軟性の増加は許容可能であり得る。
【００４０】
図9は、本明細書に記載されるマスタチップおよびスレーブチップとともに使用するために適した周波数シフト、電力シフト、およびスリープモードの例示的なプロセス300を示すフローチャートである。プロセス300は、マスタチップ12(または、他のマスタチップ)をプリント回路基板(PCB)に取り付けることから始まる。例示的な態様では、マスタチップ12はPCBにはんだ付けされる(ブロック302)。マスタチップ12は、チップ間バス16に結合される(ブロック304)。この結合は、取付けと同時に行われ得る。たとえば、マスタチップ12をPCBにはんだ付けすることは、マスタチップ12をチップ間バス16にはんだ付けすることと同時に行われ得る。スレーブチップ14などの1つまたは複数のスレーブチップは、チップ間バス16に結合される(ブロック306)。スレーブチップ14をチップ間バス16に結合することは、はんだ付けまたは同様の接続活動を伴い得る。マスタチップ12は、標準ベースの動作であるかスレーブチップ14をテストし得る(ブロック308)。たとえば、マスタチップ12は、PCIe準拠のデバイスを送信し、応答が受信されたかどうかを見ることができる。あるいは、マスタチップ12は、それがどのような種類のスレーブチップ14に通信可能に結合されるかを認識するようにプログラムされ得る。別の態様では、マスタチップ12への動作モードを示すために、ジャンパ、ヒューズ、あるいは同様のトグルまたはスイッチが使用され得る。マスタチップ12がスレーブチップ14は標準ベースのチップであることを検出すると、プロセス300は、マスタチップ12が標準に従って動作することを可能にする(ブロック310)。
【００４１】
引き続き図9を参照すると、プロセス300は、マスタチップ12がスレーブチップ14は標準ベースのチップではないことを検出した場合、マスタチップ12は、温度を検出し、情報をメモリに記憶するために温度センサ80を使用し得るという点で継続する。マスタPLL24が安定した後、マスタCDR回路54が非活動化され得る(ブロック312)。マスタチップ12は、1つまたは複数のスレーブチップ14との間で信号を送受信することによって通常動作を開始する。異なる時間に、MCS18は動作条件が変化したことを検出し得る。そのような検出は、変化した状態を検出するセンサの形態であってもよく、コンピュータデバイス全体を制御する中央コントローラからの命令であってもよい。たとえば、中央コントローラは、セルラーモデムが活動化されていることをMCS18に指示し得る。次に、MCS18は動作条件に適した周波数を選択する(ブロック314)。セルラーモデムの例を続けると、セルラー周波数から間隔を置いた周波数が選択される。周波数が変化すると、MCS18は、プログラマブル終端68、96、および98に、新しい周波数のインピーダンスを整合させるためにインピーダンスを変更するように指示し得る。動作条件が変化すると、周波数が変化しても動作が続行する。
【００４２】
引き続き図9を参照すると、マスタCDR回路54は(定期的に、または温度変化に基づいて)起動され、新しい温度に従って適切なオフセットが作成される(ブロック316)。プロセス300は、ブロック312に続く。
【００４３】
本明細書で開示される態様によるチップ間通信のためのシステムおよび方法は、任意のプロセッサベースのデバイス内に提供されてもよく、それに一体化されてもよい。例としては、限定ではないが、セットトップボックス、エンターテイメントユニット、ナビゲーションデバイス、通信デバイス、固定位置データユニット、モバイルロケーションデータユニット、モバイル電話、セルラー電話、スマートフォン、タブレット、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽コンピュータ、デジタルビデオプレーヤ、自動車、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤを含む。
【００４４】
これに関して、図10は、図1〜図8に示されるマスタチップ12、132、192、242、および262、ならびにスレーブチップ14、134、194、244、および264を使用することができるプロセッサベースのシステム320の一例を示す。この例では、プロセッサベースのシステム320は、1つまたは複数の中央処理装置(CPU)322を含み、各々が1つまたは複数のプロセッサ324を含む。CPU322は、マスタチップ12であり得る。CPU322は、一時的に記憶されたデータへの迅速なアクセスのために、プロセッサ324に結合されたキャッシュメモリ326を有し得る。CPU322は、システムバス328に結合され、プロセッサベースのシステム320に含まれるマスタデバイスおよびスレーブデバイスと相互結合し得る。システムバス328は、図1に示されるチップ間バス16であり得る。よく知られているように、CPU322は、システムバス328を介してアドレス、制御、およびデータ情報を交換することによって、これらの他のデバイスと通信する。たとえば、CPU322は、スレーブデバイスの一例としてメモリシステム330にバストランザクション要求を通信することができる。
【００４５】
他のマスタおよびスレーブデバイスはシステムバス328に接続され得る。図10に示されるように、これらのデバイスは、例として、メモリシステム330、1つまたは複数の入力デバイス332、1つまたは複数の出力デバイス334、1つまたは複数のネットワークインターフェースデバイス336、および1つまたは複数のディスプレイコントローラ338を含み得る。入力デバイス332は、これらに限定されないが、入力キー、スイッチ、音声プロセッサなどを含む、任意のタイプの入力デバイスを含み得る。出力デバイス334は、これらに限定されないが、オーディオ、ビデオ、他の視覚インジケータなどを含む、任意のタイプの出力デバイスを含み得る。ネットワークインターフェースデバイス336は、ネットワーク340との間でデータの交換を可能にするように構成された任意のデバイスであり得る。ネットワーク340は、これらに限定されないが、ワイヤードまたはワイヤレスネットワーク、プライベートまたはパブリックネットワーク、ローカルエリアネットワーク(LAN)、WLAN、およびインターネットを含む、任意のタイプのネットワークであり得る。ネットワークインターフェースデバイス336は、所望の任意のタイプの通信プロトコルをサポートするように構成され得る。
【００４６】
1つまたは複数のディスプレイ342に送信される情報を制御するために、CPU322はまた、システムバス328を介してディスプレイコントローラ338にアクセスするように構成され得る。ディスプレイコントローラ338は、1つまたは複数のビデオプロセッサ344によって表示されるべき情報をディスプレイ342に送信し、ディスプレイ342に適したフォーマットに表示されるべき情報を処理する。ディスプレイ342は、これらに限定されないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、プラズマディスプレイなどを含む、任意のタイプのディスプレイを含み得る。
【００４７】
当業者なら、本明細書で開示される態様に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムは、電子ハードウェア、メモリまたは他のコンピュータ可読媒体に記憶され、プロセッサまたは他の処理デバイスによって実行される命令、あるいはその両方の組合せとして実装され得ることをさらに理解するだろう。本明細書に記載のデバイスは、例として、任意の回路、ハードウェアコンポーネント、IC、またはICチップに採用され得る。本明細書で開示されるメモリは、任意のタイプおよびサイズのメモリであってもよく、所望の任意のタイプの情報を記憶するように構成されてもよい。この互換性を明確に説明するために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、一般的にそれらの機能の点で上述した。そのような機能がどのように実装されるかは、特定のアプリケーション、設計選択、および/またはシステム全体に課せられる設計制約に依存する。当業者は、特定のアプリケーションごとに様々な方法で説明した機能を実装し得るが、そのような実装の決定は本開示の範囲から逸脱するものと解釈されるべきではない。
【００４８】
本明細書で開示される態様に関連して説明された様々な例示的な論理ブロック、モジュール、および回路は、プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブルロジックデバイス、ディスクリートゲートまたはトランジスタロジック、ディスクリートハードウェアコンポーネント、あるいは本明細書に記載の機能を実行するように設計されたそれらの任意の組合せで実装または実行され得る。プロセッサは、マイクロプロセッサであってもよいが、代替的に、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態マシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せ(たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと組み合わせた1つまたは複数のマイクロプロセッサ、あるいは他の任意のそのような構成)として実装され得る。
【００４９】
本明細書で開示される態様は、ハードウェアおよびハードウェアに記憶された命令で具体化され得、たとえばランダムアクセスメモリ(RAM)、フラッシュメモリ、読出し専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている他の任意の形態のコンピュータ可読媒体に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。あるいは、記憶媒体は、プロセッサに一体化されていてもよい。プロセッサおよび記憶媒体は、ASIC内に存在してもよい。ASICは、遠隔局に存在し得る。代替形態では、プロセッサおよび記憶媒体は、遠隔局、基地局、またはサーバにディスクリートコンポーネントとして存在し得る
【００５０】
また、本明細書の例示的な態様のいずれかに記載された動作ステップは、例および議論を提供するために記載される点にも留意されたい。記載された動作は、図示されたシーケンス以外の多数の異なるシーケンスで実行され得る。さらに、単一の動作ステップにおいて記載された動作は、実際にはいくつかの異なるステップで実行され得る。さらに、例示的な態様において論じられる1つまたは複数の動作ステップが組み合わせられる場合がある。フローチャート図に示された動作ステップは、当業者には容易に明らかであるように、多くの異なる修正を受けることがあることを理解されたい。当業者はまた、情報および信号が様々な異なる技術および技法のいずれかを使用して表されてもよいことを理解するであろう。たとえば、上記の説明全体にわたって参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表すことができる。
【００５１】
本開示の上記の説明は、当業者が本開示を作成または使用することを可能にするために提供される。本開示に対する様々な修正は、当業者に容易に明らかになり、本明細書で定義する一般原理は、本開示の趣旨または範囲を逸脱することなく、他の変形形態に適用される場合がある。したがって、本開示は、本明細書に記載される実施例および設計に限定されることが意図されるものではなく、本明細書に開示された原理および新規な特徴と一致する最も広い範囲が与えられるべきである。
【符号の説明】
【００５２】
10  コンピューティングデバイス
12  マスタチップ
14  スレーブチップ
16  チップ間バス
16'  チップ間バス
18  マスタ制御システム
20  ローカルメモリ
22  マスタクロックソース
24  PLL
26  クロック信号
28  マスタバスインターフェース
30  スレーブバスインターフェース
32  スレーブ制御システム
40  マスタ送信機
42  マスタ受信機
44  マスタ物理コーディング副層(PCS)
46  高速クロック信号
48  マルチプレクサ
50  低速クロック信号
52  選択されたクロック信号
52'  差動エンドクロック信号
54  マスタクロックデータ回復(CDR)回路
56  マスタシリアライザ
58  ドライバ
60  データ信号
62  クロック信号
64  ドライバ
66  差動エンドデータ信号
68  マスタプログラマブル終端
70  受信機ロジック
72  マスタデシリアライザ
74  CDRクロック信号
76  エッジサンプリングされた信号
80  温度センサ
80'  温度センサ
82  温度制御ロジック
84  タイマ制御ロジック
86  タイマ/温度ロジック
90  スレーブ送信機
92  スレーブ受信機
94  スレーブPCS
96  クロックプログラマブル終端
98  データプログラマブル終端
100  クロック受信機ロジック
102  スレーブクロック信号
104  データ受信機ロジック
106  スレーブデシリアライザ
110  スレーブCDR回路
112  CDRクロック信号
114  エッジサンプリングされた信号
116  スレーブシリアライザ
118  スレーブドライバ
120  差動エンドデータ信号
122  温度制御ロジック
124  タイマ制御ロジック
126  タイマ/温度ロジック
130  コンピューティングデバイス
132  マスタチップ
134  スレーブチップ
136  MCS
138  マスタクロックモジュール
140(0)〜140(X-1)  マスタ送信機モジュール
142(0)〜142(Y-1)  マスタ受信機モジュール
144  マスタシリアライザ
146  マスタドライバ
148  マスタプログラマブル終端
150  マスタ受信機ロジック
152  マスタデシリアライザ
154  マスタCDR回路
156  タイマ/温度制御
158  SCS
160  スレーブクロックモジュール
162(0)〜162(X-1)  スレーブ受信機モジュール
164(0)〜164(Y-1)  スレーブ送信機モジュール
166  プログラマブル終端
168  受信機
170  スレーブプログラマブル終端
172  スレーブ受信機
174  スレーブデシリアライザ
176  スレーブCDR回路
178  タイマ/温度制御
180  シリアライザ
182  ドライバ
190  コンピューティングデバイス
192  マスタチップ
194  スレーブチップ
196  MCS
198(0)〜198(X-1)  マスタトランシーバモジュール
200  マスタシリアライザ
202  マスタドライバ
204  マスタプログラマブル終端
206  マスタ受信機
208  マスタデシリアライザ
210  マスタCDR回路
212  タイマ/温度制御
214(0)〜214(X-1)  スレーブトランシーバモジュール
216  スレーブシリアライザ
218  スレーブドライバ
220  スレーブプログラマブル終端
222  スレーブ受信機
224  スレーブデシリアライザ
226  スレーブCDR回路
228  タイマ/温度制御
230  SCS
240  コンピューティングデバイス
242  第1のマスタチップ
244  第2のマスタチップ、スレーブチップ
246  MCS
248  マスタクロックモジュール
250  マルチプレクサ
260  コンピューティングデバイス
262  マスタチップ
264  マスタチップ、スレーブチップ
266  MCS
280  コンピューティングデバイス
282  アプリケーションプロセッサ
284  ワイヤレスローカルエリアネットワーク(WLAN)モデム
286  モデムデバイスモデム(MDM)
288  第1の部分
290  第2の部分
300  例示的なプロセス
320  プロセッサベースのシステム
322  中央処理装置(CPU)
324  プロセッサ
326  キャッシュメモリ
328  システムバス
330  メモリシステム
332  入力デバイス
334  出力デバイス
336  ネットワークインターフェースデバイス
338  ディスプレイコントローラ
340  ネットワーク
342  ディスプレイ
344  ビデオプロセッサ
【図１】
2017528946.tif 000003
【図２】
2017528946.tif 000004
【図３】
2017528946.tif 000005
【図４】
2017528946.tif 000006
【図５】
2017528946.tif 000007
【図６】
2017528946.tif 000008
【図７】
2017528946.tif 000009
【図８】
2017528946.tif 000010
【図９】
2017528946.tif 000011
【図１０】
2017528946.tif 000012
【手続補正書】
【提出日】平成29年1月19日(2017.1.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マスタ集積回路(IC)であって、
チップ間バスに結合されるように構成されたバスインターフェースと、
ドライバを備えた送信機であって、前記ドライバが、前記チップ間バスを介して送信するために前記バスインターフェースにデータ信号を出力する、送信機と、
前記バスインターフェースに結合された受信機と、
前記受信機に動作可能に結合されたクロックデータ回復(CDR)回路と、
基準クロック信号を受信し、前記送信機の前記ドライバおよび前記CDR回路にクロック信号を出力する位相同期ループ(PLL)であって、前記送信機が、前記バスインターフェースを通じて前記チップ間バス上にマスタクロック信号を出力する、位相同期ループ(PLL)と、
前記PLLおよび前記CDR回路に動作可能に結合された制御システムであって、前記制御システムが、前記PLLを制御することによって前記マスタクロック信号の周波数を変更するように構成され、データ送信が、遠隔スレーブICでのクロック動作とは無関係の周波数変更の間継続する、制御システムと、
前記制御システムおよび前記CDR回路に動作可能に結合された温度制御回路であって、前記制御システムが、温度の変化および前記温度制御回路に基づいて前記CDR回路を起動する、温度制御回路と
を備える、マスタIC。
【請求項２】
前記制御システムおよび前記CDR回路に動作可能に結合されたタイマ制御回路をさらに備え、前記制御システムが、クロックドリフトを補正するために、前記タイマ制御回路に基づいて前記CDR回路をあらかじめ定められた長さの時間にわたって定期的に起動する、請求項1に記載のマスタIC。
【請求項３】
前記温度制御回路が、温度センサから温度信号を受信するように構成される、請求項1に記載のマスタIC。
【請求項４】
前記受信機が、前記受信機に関連付けられる終端インピーダンスの変化を可能にするように構成されたプログラマブル終端回路を備え、前記制御システムが、前記遠隔スレーブICまでの距離に基づいて前記終端インピーダンスを構成する、請求項1に記載のマスタIC。
【請求項５】
タイマ制御回路をさらに備え、前記制御システムが、前記温度制御回路からの信号に応答して前記タイマ制御回路に基づいて一定の長さの時間にわたって前記CDR回路を起動するように構成される、請求項1に記載のマスタIC。
【請求項６】
前記送信機が、前記PLLから前記クロック信号を受信するように構成されたシリアライザをさらに備える、請求項1に記載のマスタIC。
【請求項７】
前記PLLに結合され、低速クロック信号を受信し、前記クロック信号または前記低速クロック信号のいずれかを前記送信機および前記CDR回路に選択的に通過させるように構成されたマルチプレクサをさらに備える、請求項1に記載のマスタIC。
【請求項８】
スレーブ集積回路(IC)であって、
チップ間バスに結合されるように構成されたバスインターフェースと、
ドライバを備えた送信機であって、前記ドライバが、前記チップ間バスを介して送信するために前記バスインターフェースにデータ信号を出力する、送信機と、
前記バスインターフェースに結合された受信機であって、前記受信機が、前記チップ間バスを通じてマスタICから受信された信号からクロック信号を抽出するように構成される、受信機と、
前記受信機に動作可能に結合されたクロックデータ回復(CDR)回路と、
前記受信機および前記CDR回路に動作可能に結合された制御システムであって、前記制御システムが、内部位相同期ループ(PLL)または内部クロックを参照することなしに、前記受信機によって抽出された前記クロック信号で動作するように構成される、制御システムと、
前記制御システムおよび前記CDR回路に動作可能に結合された温度制御回路であって、前記制御システムが、温度の変化および前記温度制御回路に基づいて前記CDR回路を起動する、温度制御回路と
を備える、スレーブIC。
【請求項９】
前記制御システムおよび前記CDR回路に動作可能に結合されたタイマ制御回路をさらに備え、前記制御システムが、クロックドリフトを補正するために、前記タイマ制御回路に基づいて前記CDR回路をあらかじめ定められた長さの時間にわたって定期的に起動する、請求項8に記載のスレーブIC。
【請求項１０】
前記温度制御回路が、温度センサから温度信号を受信するように構成される、請求項8に記載のスレーブIC。
【請求項１１】
前記受信機が、前記受信機に関連付けられる終端インピーダンスの変化を可能にするように構成されたプログラマブル終端回路を備え、前記制御システムが、前記マスタICまでの距離に基づいて前記終端インピーダンスを構成する、請求項8に記載のスレーブIC。
【請求項１２】
タイマ制御回路をさらに備え、前記制御システムが、前記温度制御回路からの信号に応答して前記タイマ制御回路に基づいて一定の長さの時間にわたって前記CDR回路を起動するように構成される、請求項8に記載のスレーブIC。
【請求項１３】
前記送信機がシリアライザをさらに備える、請求項8に記載のスレーブIC。
【請求項１４】
前記受信機が、受信したスレーブクロック信号を前記制御システムに送るように構成されたデシリアライザをさらに備える、請求項8に記載のスレーブIC。
【請求項１５】
チップ間バスと、
第1の集積回路(IC)であって、
前記チップ間バスに結合されるように構成された第1のバスインターフェースと、
第1のドライバを備えた第1の送信機であって、前記第1のドライバが、前記チップ間バスを介して送信するために、前記第1のバスインターフェースに第1のデータ信号を出力する、第1の送信機と、
前記第1のバスインターフェースに結合された第1の受信機と、
前記第1の受信機に動作可能に結合された第1のクロックデータ回復(CDR)回路と、
前記第1のCDR回路に動作可能に結合された第1の制御システムと、
前記第1の制御システムおよび前記第1のCDR回路に動作可能に結合された温度制御回路であって、前記第1の制御システムが、温度の変化および前記温度制御回路に基づいて前記第1のCDR回路を起動する、温度制御回路と
を備える、第1のICと、
第2のICであって、
前記チップ間バスに結合されるように構成された第2のバスインターフェースと、
第2のドライバを備えた第2の送信機であって、前記第2のドライバが、前記チップ間バスを介して送信するために、前記第2のバスインターフェースに第2のデータ信号を出力する、第2の送信機と、
前記第2のバスインターフェースに結合された第2の受信機であって、前記第2の受信機が、前記チップ間バスを通じて前記第1のICから受信された信号からクロック信号を抽出するように構成される、第2の受信機と、
前記第2の受信機に動作可能に結合された第2のCDR回路と、
前記第2の受信機および前記第2のCDR回路に動作可能に結合された第2の制御システムであって、前記第2の制御システムが、内部位相同期ループ(PLL)または内部クロックを参照することなしに、前記第2の受信機によって抽出された前記クロック信号で動作するように構成される、第2の制御システムと
を備える、第2のICと、
前記第1のICと前記第2のICとの間で共有される唯一のアクティブなPLLであって、前記唯一のアクティブなPLLが、前記第1のICおよび前記第2のICの両方による使用のために前記クロック信号を提供するように構成される、唯一のアクティブなPLLと
を備える、システム。
【請求項１６】
前記第1の制御システムおよび前記第2の制御システムが、前記第1の制御システムと前記第2の制御システムのどちらがマスタ制御システムになり、前記第1の制御システムと前記第2の制御システムのどちらがスレーブ制御システムになるかをネゴシエートするように構成される、請求項15に記載のシステム。
【請求項１７】
前記スレーブ制御システムに関連付けられる非アクティブなPLLをさらに備え、前記非アクティブなPLLが、前記第1の制御システムと前記第2の制御システムのどちらが前記マスタ制御システムになるかの前記ネゴシエートの後に非アクティブのままであるように構成される、請求項16に記載のシステム。
【請求項１８】
前記マスタ制御システムが、電磁干渉(EMI)を低減するために、前記チップ間バス上の周波数を変更するように構成される、請求項16に記載のシステム。
【請求項１９】
前記マスタ制御システムが、前記第1のICと前記第2のICとの間の距離に基づいて前記第1の受信機のプログラマブル終端を変更するように構成される、請求項16に記載のシステム。
【国際調査報告】
2017528946.tif 000013
2017528946.tif 000014