(57)【特許請求の範囲】
【請求項１】
バス全体にわたってデータを搬送するための方法であって、
データ信号を複数のビットになるように解析するステップと、
第1のピンを通した前記バスの第1の導体上での伝送のために、前記複数のビットのうちの第1のビットを識別するステップと、
第2のピンを通した前記バスの第2の導体上での伝送のために、前記複数のビットのうちの第2のビットを識別するステップと、
前記複数のビットのうちの第3のビットの値に基づいて、前記第3のビットを前記第1のビットまたは前記第2のビットに導くステップと、
前記導くステップに基づいて前記第3のビットを前記第1のビットまたは前記第2のビットのいずれかと組み合わせ、かつどちらのビットが組み合わされたかに基づいて組合せビットを前記第1の導体および前記第2の導体のうちの一方に送るステップと、
前記第1のビット、前記第2のビット、および前記第3のビットを、前記第1のピンおよび前記第2のピンを通して前記バスに送るステップであって、前記第1のビット、前記第2のビット、および前記第3のビットは、3つのレベルを用いて前記第1のピンおよび前記第2のピンを通して前記バスに送られる、ステップと
を含む、方法。
【請求項２】
第1の電流レベルで前記第1のビットを表すステップと、第2の電流レベルで前記第2のビットを表すステップとをさらに含む、請求項1に記載の方法。
【請求項３】
第3の電流レベルで前記第3のビットを表すステップをさらに含む、請求項2に記載の方法。
【請求項４】
前記第3のビットを前記第1のビットまたは前記第2のビットに組み合わせるステップは、前記第3の電流レベルを前記第1の電流レベルまたは前記第2の電流レベルに加えるステップを含む、請求項3に記載の方法。
【請求項５】
第1の電圧レベルで前記第1のビットを表すステップと、第2の電圧レベルで前記第2のビットを表すステップとをさらに含む、請求項1に記載の方法。
【請求項６】
第3の電圧レベルで前記第3のビットを表すステップをさらに含む、請求項5に記載の方法。
【請求項７】
前記第3のビットを前記第1のビットまたは前記第2のビットに組み合わせるステップは、前記第3の電圧レベルを前記第1の電圧レベルまたは前記第2の電圧レベルに加えるステップを含む、請求項6に記載の方法。
【請求項８】
前記第1のビットが第1のシングルエンド信号を含み、前記第2のビットが第2のシングルエンド信号を含む、請求項1に記載の方法。
【請求項９】
前記第3のビットが差動信号を含む、請求項1に記載の方法。
【請求項１０】
節電のために前記複数のビットを事前調整するステップをさらに含む、請求項1に記載の方法。
【請求項１１】
事前調整するステップが、前記複数のビット中の0の数に対する1の数を判定するステップと、1の前記数が0の前記数よりも多い場合、1と0とを反転させるステップとを含む、請求項10に記載の方法。
【請求項１２】
定義済みのテーブルに従って、前記第1のビット、前記第2のビット、および前記第3のビットを符号化するステップをさらに含む、請求項1に記載の方法。
【請求項１３】
重複するエントリのうちの一方に固定値を割り当てることによって前記定義済みのテーブル中の出力エントリの重複を避けるステップをさらに含む、請求項12に記載の方法。
【請求項１４】
データバス全体にわたって信号を送るように構成される集積回路内のトランスミッタであって、
第1のビットを生成するように構成される第1のビットソースであって、前記集積回路上の第1の外部ピンに結合される第1のビットソースと、
第2のビットを生成するように構成される第2のビットソースであって、前記集積回路上の第2の外部ピンに結合される第2のビットソースと、
第3のビットを生成するように構成される第3のビットソースと、
制御システムであって、
データ信号を複数のビットになるように解析し、
前記第1の外部ピンを通した前記データバスの第1の導体上での伝送のために、前記複数のビットのうちの前記第1のビットを識別し、
前記第2の外部ピンを通した前記データバスの第2の導体上での伝送のために、前記複数のビットのうちの前記第2のビットを識別する
ように構成される制御システムと、
前記第3のビットソースに関連付けられ、前記制御システムの操作に基づいて、前記第1の外部ピンと前記第2の外部ピンとの間の前記第3のビットソースを切り替え、前記第3のビットの値に基づいて前記第3のビットを前記第1のビットまたは前記第2のビットのいずれかと組み合わせ、かつどちらのビットが組み合わされたかに基づいて組合せビットを前記第1の導体および前記第2の導体のうちの一方に送るように構成されるスイッチアセンブリと
を含み、前記第1のビット、前記第2のビット、および前記第3のビットは、3つのレベルを用いて前記第1の外部ピンおよび前記第2の外部ピンを通して前記バスに送られる、トランスミッタ。
【請求項１５】
前記第1のビットソースが第1の電圧ソースを含み、前記第2のビットソースが第2の電圧ソースを含む、請求項14に記載のトランスミッタ。
【請求項１６】
前記第3のビットソースが第3の電圧ソースを含み、前記第3のビットが前記第1のビットとともに前記第1の外部ピンに導かれるとき、または、前記第3のビットが前記第2のビットとともに前記第2の外部ピンに導かれるとき、前記スイッチアセンブリが電圧の重ね合わせをもたらす、請求項15に記載のトランスミッタ。
【請求項１７】
前記第1のビットソースが第1の電流ソースを含み、前記第2のビットソースが第2の電流ソースを含む、請求項14に記載のトランスミッタ。
【請求項１８】
前記第3のビットソースが第3の電流ソースを含み、前記第3のビットが前記第1のビットとともに前記第1の外部ピンに導かれるとき、または、前記第3のビットが前記第2のビットとともに前記第2の外部ピンに導かれるとき、前記スイッチアセンブリが電流の重ね合わせをもたらす、請求項17に記載のトランスミッタ。
【請求項１９】
前記第1のビットソースが前記第1のビットを用いて第1のシングルエンド信号を生成するように構成され、前記第2のビットソースが前記第2のビットを用いて第2のシングルエンド信号を生成するように構成される、請求項14に記載のトランスミッタ。
【請求項２０】
前記第3のビットソースが前記第3のビットを用いて差動信号を生成するように構成される、請求項14に記載のトランスミッタ。
【請求項２１】
前記第3のビットソースが第1のサブソースおよび第2のサブソースを含む、請求項14に記載のトランスミッタ。
【請求項２２】
定義済みのテーブルに従って、前記第1のビット、前記第2のビット、および前記第3のビットを符号化するように構成されるエンコーダをさらに含む、請求項14に記載のトランスミッタ。
【請求項２３】
前記定義済みのテーブルが、重複する出力エントリを避けるように定義される、請求項22に記載のトランスミッタ。
【請求項２４】
前記スイッチアセンブリが、
前記第1のビットソースを前記第1の外部ピンに選択的に結合する第1のスイッチと、
前記第2のビットソースを前記第2の外部ピンに選択的に結合する第2のスイッチと、
前記第1のサブソースを前記第1の外部ピンに選択的に結合する第3のスイッチと、
前記第2のサブソースを前記第2の外部ピンに選択的に結合する第4のスイッチと
を含む、請求項21に記載のトランスミッタ。
【請求項２５】
セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤからなるグループから選択されるデバイスに組み込まれる、請求項14に記載のトランスミッタ。
【請求項２６】
2つのワイヤデータバスと、
集積回路内のトランスミッタであって、
第1のビットを生成するように構成される第1のビットソースであって、前記第1のビットソースが前記集積回路上の第1の外部ピンに結合され、前記第1の外部ピンが前記2つのワイヤデータバスのうちの第1のワイヤに結合される、第1のビットソースと、
第2のビットを生成するように構成される第2のビットソースであって、前記第2のビットソースが前記集積回路上の第2の外部ピンに結合され、前記第2の外部ピンが前記2つのワイヤデータバスのうちの第2のワイヤに結合される、第2のビットソースと、
第3のビットを生成するように構成される第3のビットソースと、
制御システムであって、
データ信号を複数のビットになるように解析し、
前記第1の外部ピンを通した前記2つのワイヤデータバスのうちの前記第1のワイヤ上での伝送のために、前記複数のビットのうちの前記第1のビットを識別し、
前記第2の外部ピンを通した前記2つのワイヤデータバスのうちの前記第2のワイヤ上での伝送のために、前記複数のビットのうちの前記第2のビットを識別する
ように構成される制御システムと、
前記第3のビットソースに関連付けられ、かつ前記制御システムの操作に基づいて、前記第1の外部ピンと前記第2の外部ピンとの間の前記第3のビットソースを切り替え、前記第3のビットの値に基づいて前記第3のビットを前記第1のビットまたは前記第2のビットのいずれかと組み合わせ、かつどちらのビットが組み合わされたかに基づいて組合せビットを前記第1の外部ピンおよび前記第2の外部ピンのうちの一方に送るように構成されるスイッチアセンブリと
を含む、集積回路内のトランスミッタと
を含み、前記第1のビット、前記第2のビット、および前記第3のビットは、3つのレベルを用いて前記第1の外部ピンおよび前記第2の外部ピンを通して前記バスに送られる、データ伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権主張
本出願は、全体が参照により本明細書に組み込まれる、2014年4月11日に出願された“SYSTEMS AND METHODS FOR FREQUENCY CONTROL ON A BUS THROUGH SUPERPOSITION”と題する米国特許出願第14/250,996号の優先権を主張する。
【０００２】
本開示の技術は、一般にデータバス上でのシグナリングを改善することに関する。
【背景技術】
【０００３】
コンピューティングデバイスは、典型的には、回路基板上に配置された複数の集積回路を有する。そのような集積回路は、処理デバイス、メモリユニットであるか、または他の機能を有してもよい。これら複数の集積回路は、データバスを通して通信可能に相互接続される場合がある。同様に、周辺デバイスも、データバスを通して回路基板上の集積回路に相互接続される場合がある。
【０００４】
集積回路内で処理速度が改善されるにつれ、速度も改善するようにデータバスにプレッシャーがかけられてきた。たとえば、処理速度が改善されるに伴い、これらの種類のデータバス全体にわたって、より速いメモリアクセスが求められる。データバス上の速度は、帯域幅および周波数に応じたものである。帯域幅と周波数の両方は、工学上のトレードオフを伴う。
【０００５】
帯域幅は、データバスによって使用される導体の数を増加させることによって増加する場合がある。しかしながら、追加された各導体は、導体を集積回路に結合する、各集積回路上のピンを必要とする。そのようなピンは、製造コストとしては比較的費用がかかり、導体をピンにルーティングするのに必要な追加のエリアも、そのようなルーティングエリアを収容するのに必要なスペースの点で費用がかかる。周波数が増加する場合があるが、そのような周波数増加は、比較的高いクロック周波数および電磁環境両立性(EMC)の増大により、増加した電力消費量を犠牲にして達成される。
【発明の概要】
【課題を解決するための手段】
【０００６】
発明を実施するための形態で開示する実施形態は、重ね合わせによるバス上での周波数制御のためのシステムおよび方法を含む。ピンを追加することも、バスの動作周波数を増加させることもなく、重ね合わせを使用して、バス内の2つのライン上に3つの符号化信号が置かれる。このように、追加のピンの必要性を効果的になくし、クロック速度を増加させる必要なくビット伝送の周波数を効果的に増加させながら、2つの導体上に3つのビットが送られる場合がある。
【０００７】
例示的な実施形態では、符号化により、3つのビットのうちの2つが、シングルエンド信号として提供され、第3のビットが、第1の2つのビットの一方または他方に関連付けられたピンに導かれる差動信号として提供される。したがって、ベースライン帯域幅を仮定すれば、ピン数を増加させることなく2/3の周波数において同等な帯域幅が達成される場合があるか、同じ周波数で2/3のピン数において同等な帯域幅が達成される場合があるか、または、周波数およびピン数を一定に維持しながら50パーセントだけ帯域幅を増加させる場合がある。
【０００８】
この点について、一実施形態では、バス全体にわたってデータを搬送するための方法が開示される。本方法は、データ信号を複数のビットになるように解析するステップを含む。本方法はまた、第1のピンを通したバスの第1の導体上での伝送のために、複数のビットのうちの第1のビットを識別するステップも含む。本方法はまた、第2のピンを通したバスの第2の導体上での伝送のために、複数のビットのうちの第2のビットを識別するステップも含む。本方法はまた、複数のビットのうちの第3のビットの値に基づいて、第3のビットを第1のビットまたは第2のビット上に導くステップも含む。本方法はまた、導くステップに基づいて第3のビットを第1のビットまたは第2のビットと組み合わせ、どちらのビットが組み合わされたかに基づいて組み合わされたビットを第1の導体および第2の導体のうちの一方に送るステップも含む。本方法はまた、第1および第2のピンを通して第1、第2、および第3のビットをバスに送るステップも含む。
【０００９】
別の実施形態では、データバス全体にわたって信号を送るように構成される集積回路内のトランスミッタが開示される。本トランスミッタは、第1のビットを生成するように構成される第1のビットソースであって、集積回路上の第1の外部ピンに結合される第1のビットソースを含む。本トランスミッタは、第2のビットを生成するように構成される第2のビットソースであって、集積回路上の第2の外部ピンに結合される第2のビットソースも含む。本トランスミッタはまた、第3のビットを生成するように構成される第3のビットソースも含む。本トランスミッタはまた、第3のビットソースに関連付けられ、第1の外部ピンと第2の外部ピンとの間の第3のビットソースを切り替えるように構成されるスイッチアセンブリも含む。
【００１０】
別の実施形態では、データバスから信号を受け取るように構成される集積回路内のレシーバが開示される。本レシーバは、集積回路内の第1の負荷に結合される第1の外部ピンを含む。本レシーバはまた、集積回路内の第2の負荷に結合される第2の外部ピンも含む。本レシーバはまた、第1の負荷および第2の負荷に結合される制御システムも含む。本制御システムは、第1の負荷上で第1のビットをシングルエンド信号として検出するように構成される。本制御システムはまた、第2の負荷上で第2のビットをシングルエンド信号として検出するように構成される。本制御システムはまた、第3のビットを第1の負荷と第2の負荷との間の差動信号として検出するように構成される。
【００１１】
別の実施形態では、データ伝送システムが開示される。本データ伝送システムは、2つのワイヤデータバスを含む。本データ伝送システムはまた、集積回路内にトランスミッタも含む。本トランスミッタは、第1のビットを生成するように構成される第1のビットソースであって、第1のビットソースが集積回路上の第1の外部ピンに結合され、第1の外部ピンが2つのワイヤデータバスのうちの第1のワイヤに結合される、第1のビットソースを含む。本トランスミッタはまた、第2のビットを生成するように構成される第2のビットソースであって、第2のビットソースが集積回路上の第2の外部ピンに結合され、第2の外部ピンが2つのワイヤデータバスのうちの第2のワイヤに結合される、第2のビットソースも含む。本トランスミッタはまた、第3のビットを生成するように構成される第3のビットソースも含む。本トランスミッタはまた、第3のビットソースに関連付けられ、第1の外部ピンと第2の外部ピンとの間の第3のビットソースを切り替えるように構成されるスイッチアセンブリも含む。
【図面の簡単な説明】
【００１２】
【図１】本開示の例示的な実施形態による、動作する1つまたは複数のバスを含むことができる例示的なプロセッサベースのシステムのブロック図である。
【図２】本開示の例示的な電流ベースの実施形態による、データバスに関連付けられたトランスミッタの簡略回路図である。
【図３Ａ】図2のトランスミッタによってバス全体にわたって送られる場合がある符号化された入力ビットのテーブルである。
【図３Ｂ】図2のバスおよびトランスミッタから受け取る出力値のテーブルである。
【図４】本開示の例示的な電圧ベースの実施形態による、データバスに関連付けられたトランスミッタの簡略回路図である。
【図５Ａ】図4のトランスミッタによってバス全体にわたって送られる場合がある符号化された入力ビットのテーブルである。
【図５Ｂ】図4のバスおよびトランスミッタから受け取る出力値のテーブルである。
【図６】電力低減のためにバス用のデータをプリコードするために図2または図4のトランスミッタとともに使用される場合があるシステムの簡略ブロック図である。
【図７】電流モードベースの実施形態をプリコードする例示的な実施形態を示すフローチャートである。
【図８】電圧モードベースの実施形態をプリコードする例示的な実施形態を示すフローチャートである。
【発明を実施するための形態】
【００１３】
次に図面を参照しながら、本開示のいくつかの例示的な実施形態について説明する。「例示的な」という言葉は、本明細書では「例、事例、または例示として役立つ」ことを意味するように使用される。「例示的な」として本明細書で説明するいかなる実施形態も、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されるべきではない。
【００１４】
発明を実施するための形態で開示する実施形態は、重ね合わせによるバス上での周波数制御のためのシステムおよび方法を含む。ピンを追加することも、バスの動作周波数を増加させることもなく、重ね合わせを使用して、バス内の2つのライン上に3つの符号化信号が置かれる。このように、追加のピンの必要性を効果的になくし、クロック速度を増加させる必要なくビット伝送の周波数を効果的に増加させながら、2つの導体上に3つのビットが送られる場合がある。
【００１５】
例示的な実施形態では、符号化により、3つのビットのうちの2つが、シングルエンド信号として提供され、第3のビットが、第1の2つのビットの一方または他方に関連付けられたピンに導かれる差動信号として提供される。したがって、ベースライン帯域幅を仮定すれば、ピン数を増加させることなく2/3の周波数において同等な帯域幅が達成される場合があるか、同じ周波数で2/3のピン数において同等な帯域幅が達成される場合があるか、または、周波数およびピン数を一定に維持しながら50パーセントだけ帯域幅を増加させる場合がある。
【００１６】
この点について、図1は、プロセッサベースのシステム10の一例である。例示的な実施形態では、プロセッサベースのシステム10は、限定はしないが、モバイル端末(スマートフォン、セルラーフォン、タブレット、ラップトップなど)、デスクトップコンピューティングデバイスを含むコンピューティングデバイス、または、限定はしないが、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定位置データユニット、モバイル位置データユニット、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤを含む、他のコンピューティングデバイスであってもよい。
【００１７】
プロセッサベースのシステム10は、1つまたは複数のプロセッサ14を各々が含む1つまたは複数の中央処理ユニット(CPU)12を含む。CPU12は、一時的に記憶されたデータへの高速アクセスのためにプロセッサ14に結合されるキャッシュメモリ16を有してもよい。CPU12は、システムバス18に結合され、プロセッサベースシステム10中に含まれるデバイスを相互結合することができる。よく知られているように、CPU12は、システムバス18を通してアドレス情報、制御情報、およびデータ情報を交換することによって、これらの他のデバイスと通信する。たとえば、CPU12は、バストランザクションリクエストをメモリシステム20に通信することができる。
【００１８】
他のデバイスをシステムバス18に接続することができる。図1に示すように、これらのデバイスは、例として、メモリシステム20、1つまたは複数の入力デバイス22、1つまたは複数の出力デバイス24、1つまたは複数のネットワークインターフェースデバイス26、および1つまたは複数のディスプレイコントローラ28を含む場合がある。入力デバイス22は、限定はしないが、入力キー、スイッチ、音声プロセッサなどを含む、任意のタイプの入力デバイスを含むことができる。出力デバイス24は、限定はしないが、音声、ビデオ、他の視覚インジケータなどを含む、任意のタイプの出力デバイスを含むことができる。ネットワークインターフェースデバイス26は、ネットワーク30との間のデータ交換を可能にするように構成される任意のデバイスとすることができる。ネットワーク30は、限定はしないが、有線ネットワークまたはワイヤレスネットワーク、プライベートネットワークまたは公衆ネットワーク、ローカルエリアネットワーク(LAN)、ワイドローカルエリアネットワーク(WLAN)、およびインターネットを含む、任意のタイプのネットワークとすることができる。ネットワークインターフェースデバイス26は、所望の任意のタイプの通信プロトコルをサポートするように構成することができる。
【００１９】
また、CPU12は、1つまたは複数のディスプレイ32に送られる情報を制御するために、システムバス18を通してディスプレイコントローラ28にアクセスするように構成される場合もある。ディスプレイコントローラ28は、1つまたは複数のビデオプロセッサ34を通して表示される情報をディスプレイ32に送り、ビデオプロセッサ34は、表示される情報を、ディスプレイ32に適したフォーマットとなるように処理する。ディスプレイ32は、限定はしないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイなどを含む任意のタイプのディスプレイを含むことができる。
【００２０】
すぐに明らかになるように、プロセッサベースのシステム10内のデバイスは、システムバス18上で通信する。他のバス(図示せず)が、特定のデバイス間、または、特定のデバイスとメモリスティック、プリンタなどの周辺装置に対して存在してもよい。上述のように、プロセッサベースのシステム10内のデバイスが動作する速度を増加させるプレッシャーが増大している。したがって、プロセッサおよびクロックの速度の増加を利用するようにデバイスが互いに通信する速度を増加させるプレッシャーがある。典型的には、帯域幅の増加または周波数の増加を通して、速度の増加が達成される。通常、デバイスに結合する導電性要素の数を増加させることを通して、帯域幅の増加が達成される。しかしながら、そのような各導電性要素は、デバイスにおいて対応するピンを必要とする。述べたように、そのようなピンは、スペースをとり、そのようなデバイスの比較的費用がかかる部分である。さらに、そのような導電性要素をルーティングすることは、そのような導電性要素の数が増加するにつれて、ますます困難になる。クロック速度の増加を通して、速度の増加が達成される場合があるが、クロック速度の増加は、電磁環境両立性の懸念を増大させるばかりでなく、より電力を消費する。したがって、クロック速度を増加させる必要なく、またはピンを追加する必要なく通信速度を改善することが可能となる必要がある。
【００２１】
本開示は、通信速度の改善が達成される場合がある複数の技法を提供する。例示的な実施形態では、データストリームを符号化することにより、2つの導体が2つのシングルエンド信号を搬送することが可能になり、同じ2つの導体が、電流または電圧の重ね合わせにより追加の差動信号を搬送するために使用される。
【００２２】
この点について、図2は、電流ベースのトランスミッタ40の例示的な実施形態の簡略図を示す。第1の電流源44および第2の電流源46に電圧源VDD42が提供される。第1の電流源44は、第1の導電性媒体50に結合されるピン48に選択的に結合される。スイッチ52は、第1の電流源44への選択的な接続を提供する。第2の電流源46は、第2の導電性媒体56に結合されるピン54に選択的に結合される。スイッチ58は、第2の電流源46への選択的な接続を提供する。導電性媒体50、56は、それぞれの負荷Rtermx60およびRtermy62に結合される。この電流モード実施形態は、より十分な信号完全性を容易にする、一定のドライバインピーダンスを維持する。いくつかの実施形態では、本開示の利益を損なうことなく、回路全体の極性が反転される場合があることに留意されたい。
【００２３】
引き続き図2を参照すると、例示的な実施形態では、ピン48およびピン54は、集積回路チップ用の外部インターフェースを形成し、導電性媒体50、56は、システムバス18などのバスを形成する、プリント回路基板上のワイヤである。同様に、それぞれの負荷Rtermx60およびRtermy62は、導電性媒体50、56上で信号を受け取るように構成される第2の集積回路チップ内のレシーバの一部分である。
【００２４】
引き続き図2を参照すると、差動電流源64は、第1の差動源66および第2の差動源68を含む。第1の差動源66は、スイッチ70によってピン48に選択的に結合される。第2の差動源68は、スイッチ72によってピン54に選択的に結合される。
【００２５】
引き続き図2を参照すると、制御システム74は、スイッチ52、58、70、および72を制御する。電流ベースのトランスミッタ40から伝送されるデータは、関連の集積回路内の他の構成要素によって生成され、制御システム74に渡される。制御システム74は、伝送用のビットを符号化および順序付けし、次いで、電流源44、46、および64をピン48、54に結合するためにスイッチ52、58、70、および72を有効化する。このように、第1の電流源44は第1のシングルエンド(SE1)ビットソースとして機能し、第2の電流源46は第2のシングルエンド(SE2)ビットソースとして機能し、差動電流源64は、差動パスとして両方のピン48、54を使用する。差動電流源64は、定義済みのテーブルに従って、そのビットを導電性媒体50、56上に導く。
【００２６】
この点について、図3Aは、定義済みのテーブル80として符号化入力ビットを示す。第1の電流源44は、ビットAに対応する。第2の電流源46はビットBに対応し、差動電流源64はビットCに対応する。差動電流源64は、第3のビットが0であるか、または1であるかに応じて、電流を「左」(すなわち、ピン48)または「右」(すなわち、ピン54)に導く。例示的な実施形態では、左は0に対応する。図3Bは、Rtermx60およびRtermy62において受け取られる信号の出力テーブル82を示す。テーブル80にマッピングされるように、8つの入力組合せのうちの2つ010および101が、同じ出力にマッピングすることに留意されたい。したがって、これらの入力組合せのうちの1つ(たとえば、010)が、重複する出力エントリを避けるために両方のピン48、54上で0にマッピングされる。このマッピングは、84に示され、出力テーブル82内の出力86と対比される。
【００２７】
第3のビットをピン48または54上にマッピングすることによって、重ね合わせ信号を生成するために、それぞれの電流源からの電流が加えられる。データバス(たとえば、システムバス18)の遠端(far end)のレシーバは、2つのシングルエンド信号から差動信号を抽出し、元のビットシーケンスを再構成する。通常は2つのビットに割り振られた時間内に3つのビットを送ることによって、本開示の実施形態は、余分のピンを追加する必要なく、またはビットが伝送される周波数を増加させる必要なくデータレートを相対的に50パーセントだけ増加させる。この効率の増加により、設計者は、設計ニーズに基づいて設計属性を最適化することが可能になる。すなわち、上述のようにデータレートは増加する場合がある。代替的に、データレートは維持されるが、クロック周波数が低減されるか、または総ピン数が低減される場合がある。図2は電流の重ね合わせによる第3のビットの生成を示したが、本開示はそのように限定されない。電圧もまた使用されてよい。
【００２８】
この点について、図4は、例示的な電圧ベースのトランスミッタ90を示す。電圧源VDD92が、それぞれのスイッチ98、100によって第1のノード94および第2のノード96に提供される。ノード94、96は、今度は、それぞれのスイッチ102、104によってグランドに結合される。スイッチ98、100は、プルアップ(PU)スイッチと呼ばれることがある。スイッチ102、104は、プルダウン(PD)スイッチと呼ばれることがある。ノード94は、第1の導電性媒体50に結合されるピン48に結合されてもよい。第2のノード96は、第2の導電性媒体56に結合されるピン54に結合される。導電性媒体50、56は、それぞれの負荷Rtermx60およびRtermy62に結合される。負荷Rtermx60およびRtermy62は、電圧ノード108によってVswing/2まで引き上げられる。
【００２９】
引き続き図4を参照すると、制御システム110は、スイッチ98、100、102、および104を制御する場合がある。電流ベースのトランスミッタ40と同様に、スイッチは、導電性媒体50、56にわたって符号化ビットを送るように制御される。このように、電圧レベル-1/2Vswing、0、および1/2Vswingが、Rtermx60およびRtermy62にわたって生成される場合がある。このように、電圧ベースのトランスミッタ90は、第1のシングルエンドビットソース、第2のシングルエンドビットソース、および差動パスを含む場合がある。差動ソースは、定義済みの表に従って、そのビットを導電性媒体50、56上に導く。
【００３０】
この点について、入力テーブル80および出力テーブル82と類似して、図5Aは入力テーブル112を示し、図5Bは出力テーブル114を示す。電流ベースのトランスミッタ40と同様に、Rtermx60およびRtermy62において同じ出力をもたらす2つの場合がある(たとえば、010および101は、どちらも-1/2および-1/2をもたらす)。したがって、これらの入力組合せのうちの1つ(たとえば、010)が、重複する出力エントリを避けるために両方のピン48、54上で0にマッピングされる。このマッピングは、116に示され、出力テーブル114内の出力118と対比される。
【００３１】
3つの電圧レベルを有することは、追加の利点を有することに留意されたい。具体的には、3つの電圧レベルを有することは、2-PAM(pulse amplitude modulation:パルス振幅変調)よりも小さいが、4-PAMよりも大きい電圧マージンを提供する。しかしながら、2-PAMに対するデータレートの増加は、本開示の実施形態を2-PAMよりも魅力的にする。電圧マージンを維持することは、異なる信号を区別するレシーバの能力を増大させ、したがってエラーレートを低減する。
【００３２】
図2および図4の実施形態が、電圧マージンを維持しながら従来のシグナリングアルゴリズムよりも良いデータレートを提供する一方、これらの実施形態は、節電のために信号をプリコードすることによってさらに改善される場合がある。最も簡単な実施形態では、信号レベルが1および0である(すなわち、グランド終端される)場合、1または0がより多く存在するかどうかを知るために信号ストリームが検査される。0は、より少ない電力消費量を反映する(すなわち、0を生成し、または送るために電流または電圧を使用する必要はない)ので、導電性媒体50、56にわたってより多くの0を送ることにより、より多くの1を有する信号と比較して節電になる。したがって、本開示の追加の側面は、通常は0よりも1が多い信号ストリームが、いまは1よりも0が多くなるように、そのような簡単な信号ストリームを選択的に反転させてもよい。この反転信号が導電性媒体50、56にわたって送られるとき、反転せずに送られたものと比較して電力が節約される。電力管理アルゴリズムが使用中で受信信号を反転しないことをレシーバが知るように、電力管理フラグが送られる場合もある。グランド終端されない(すなわち、Vtt終端される)実施形態では、電力消費量は、電圧端部のいずれかにおいて伝送を最小化することによって最小化される場合がある。
【００３３】
この点について、図6は、電力プリコード要素を有する3つのビットシグナリングシステム120を示す。具体的には、3つのビットシグナリングシステム120は、電流ベースのトランスミッタ40または電圧ベースのトランスミッタ90である場合がある、3つのビットトランスミッタ122を含む。3つのビットトランスミッタ122は、導電性媒体50、56に結合される。3つのビットトランスミッタ122は、電力プリコードモジュール124から電力プリコード信号を受け取る。導電性媒体50、56の遠端において、レシーバ126は、導電性媒体からビットを受け取り、受け取った値を見るデマッピングモジュール128にビットを提供し、送られたビットを抽出するために(たとえば、テーブル112、114を使用して)受け取った値をマッピングテーブルと比較する。デマッピングされたビットは、電力プリコード反転モジュール130に渡され、レシーバが電力管理フラグを受け取る場合、ビットは、必要に応じて反転される。
【００３４】
引き続き図6を参照すると、3つのビットトランスミッタ122は、マッピングモジュール132およびドライバ134を含む場合がある。ドライバ134は、電流源44、46であるか、または電圧ベースのトランスミッタ90のプルアップスイッチおよびプルダウンスイッチであってもよい。
【００３５】
この点について、次の擬似コードは、電流モードプリコードには効果的である場合がある。
If sum Ain > Width/2 AND sum Bin > width/2 AND sum Bin > sum Ain
(Ainの合計>幅/2、かつ、Binの合計>幅/2、かつ、Binの合計>Ainの合計の場合)
Aout gets inverted Bin (Aoutが反転されたBinになる)
Bout gets inverted Ain (Boutが反転されたAinになる)
Cout gets Cin (CoutがCinになる)
Aflag gets '1' (Aflagが'1'になる)
else if sum Ain > Width/2 (そうでない場合、Ainの合計>幅/2の場合)
Aout gets inverted Ain (Aoutが反転されたAinになる)
Bout gets Bin (BoutがBinになる)
Cout gets Cin (CoutがCinになる)
Bflag gets '1' (Bflagが'1'になる)
else if sum Bin > Width/2 (そうでない場合、Binの合計>幅/2の場合)
Aout gets Ain (AoutがAinになる)
Bout gets inverted Bin (Boutが反転されたBinになる)
Cout gets Cin (CoutがCinになる)
Cflag gets '1' (Cflagが'1'になる)
else (そうでない場合)
Aout gets Ain (AoutがAinになる)
Bout gets Bin (BoutがBinになる)
Cout gets Cin (CoutがCinになる)
All Flags get '0' (すべてのフラグが'0'になる)
End (終了)
【００３６】
前の段落の擬似コードを通して達成される機能は、図7のプロセス140によって示される。プロセス140は、電力プリコードモジュール124のAin、Bin、およびCinの総和で始まる(ブロック142)。電力プリコードモジュール124は、Ainの合計>バス幅/2、かつ、Binの合計>バス幅/2、かつ、Binの合計>Ainの合計であるかどうかを判定する(ブロック144)。答えがイエスである場合、Aoutは反転されたBinになり、Boutは反転されたAinになる。CoutはCinになる。FlagAが1に設定される(ブロック146)。しかしながら、ブロック144に対する答えがノーである場合、電力プリコードモジュール124は、Ainの合計がバス幅/2よりも大きいかどうかを判定する(ブロック148)。ブロック148に対する答えがイエスである場合、Aoutは反転されたAinになり、BoutはBinになり、CoutはCinになる。FlagBが1に設定される(ブロック150)。
【００３７】
引き続き図7を参照すると、ブロック148に対する答えがノーである場合、電力プリコードモジュール124は、Binの合計がバス幅/2よりも大きいかどうかを判定する(ブロック152)。ブロック152に対する答えがイエスである場合、AoutはAinになり、CoutはCinになるが、Boutは反転されたBinになる。FlagCが1に設定される(ブロック154)。しかしながら、ブロック152に対する答えがノーである場合、反転は起こらず、フラグは0に設定される(ブロック156)。このプロセスは、ブロック158において終了する。
【００３８】
同様に、次の擬似コードは、電圧モードプリコードには効果的である場合がある。
If sum Ain > Width/2 (Ainの合計>幅/2の場合)
Aout gets inverted Ain (Aoutが反転されたAinになる)
Aflag gets '1' (Aflagが'1'になる)
else (そうでない場合)
Aout gets Ain (AoutがAinになる)
Aflag gets '0' (Aflagが'0'になる)
end (終了)
If sum Bin > Width/2 (Binの合計>幅/2の場合)
Bout gets inverted Bin (Boutが反転されたBinになる)
Bflag gets '1' (Bflagが'1'になる)
else (そうでない場合)
Bout gets Bin (BoutがBinになる)
Bflag gets '0' (Bflagが'0'になる)
end (終了)
If sum Cin > Width/2 (Cinの合計>幅/2の場合)
Cout gets inverted Cin (Coutが反転されたCinになる)
Cflag gets '1' (Cflagが'1'になる)
else (そうでない場合)
Cout gets Cin (CoutがCinになる)
Cflag gets '0' (Cflagが'0'になる)
end (終了)
【００３９】
前の段落の擬似コードを通して達成される機能は、図8のプロセス160によって示される。プロセス160は、電力プリコードモジュール124がAin、Bin、およびCinの総和を判定することで始まる(ブロック162)。電力プリコードモジュール124は、Ainの合計がバス幅/2よりも大きいかどうかを判定する(ブロック164)。ブロック164に対する答えがノーである場合、AoutはAinになり、FlagAは0に設定される(ブロック166)。しかしながら、ブロック164に対する答えがイエスである場合、Aoutは反転されたAinになり、FlagAは1に設定される(ブロック168)。
【００４０】
引き続き図8を参照すると、FlagAを設定した後、電力プリコードモジュール124は、Binの合計がバス幅/2よりも大きいかどうかを判定する(ブロック170)。ブロック170に対する答えがノーである場合、BoutはBinになり、FlagBは0に設定される(ブロック172)。しかしながら、ブロック170に対する答えがイエスである場合、Boutは反転されたBinになり、FlagBは1に設定される(ブロック174)。
【００４１】
引き続き図8を参照すると、FlagBを設定した後、電力プリコードモジュール124は、Cinの合計がバス幅/2よりも大きいかどうかを判定する(ブロック176)。ブロック176に対する答えがノーである場合、CoutはCinになり、FlagCは0に設定される(ブロック178)。しかしながら、ブロック176に対する答えがイエスである場合、Coutは反転されたCinになり、FlagCは1に設定される(ブロック180)。このプロセスは、ブロック182において終了する。
【００４２】
そのようなプリコードアルゴリズムの使用により、電流モードでは、シグナリング電力が11.32%だけ低減され、フルスイング遷移が6.13%だけ低減され得る。同様に、電圧モードでは、シグナリング電力が6.73%だけ低減され、フルスイング遷移が16.69%だけ低減される。
【００４３】
本明細書で開示する実施形態による、周波数制御のためのシステムおよび方法が、任意のプロセッサベースのデバイスに設けられるか、または組み込まれてもよい。例には、限定はしないが、スマートフォン、タブレット、コンピューティングデバイスなどが含まれる。
【００４４】
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムは、電子ハードウェア、メモリもしくは別のコンピュータ可読媒体に記憶され、プロセッサもしくは他の処理デバイスによって実行される命令、または両方の組合せとして実装される場合があることを、当業者はさらに了解されよう。本明細書で説明するデバイスは、例として、任意の回路、ハードウェア構成要素、集積回路(IC)、またはICチップにおいて利用されてもよい。本明細書で開示するメモリは、任意のタイプおよびサイズのメモリであってもよく、所望の任意のタイプの情報を記憶するように構成されてもよい。この互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がどのように実装されるかは、特定の適用例、設計上の選択、および/またはシステム全体に課された設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装してもよいが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００４５】
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書で説明する機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行されてもよい。プロセッサはマイクロプロセッサであってもよいが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装される場合もある。
【００４６】
本明細書で開示する実施形態は、ハードウェアで具現化されてもよく、ハードウェアに記憶される命令で具現化されてもよく、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態のコンピュータ可読媒体に存在してもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体は、プロセッサに一体化されてもよい。プロセッサおよび記憶媒体は、ASIC内に存在してもよい。ASICはリモート局に存在してもよい。代替として、プロセッサおよび記憶媒体は、個別構成要素として、リモート局、基地局、またはサーバに存在してもよい。
【００４７】
本明細書の例示的な実施形態のいずれかに記載する動作ステップは、例および説明を提供するために記載されていることにも留意されたい。記載した動作は、図示した順序以外の多数の異なる順序で実行されてもよい。さらに、単一の動作ステップに記載した動作は、実際にはいくつかの異なるステップで実行されてもよい。加えて、例示的な実施形態で説明した1つまたは複数の動作ステップは、組み合わされてもよい。当業者には容易に明らかになるように、フローチャート図に示す動作ステップは多数の異なる修正を受ける場合があることを理解されたい。また、情報および信号を種々の異なる技術および技法のいずれかを使用して表すことができることは、当業者には理解されよう。たとえば、上記の説明全体にわたって参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表すことができる。
【００４８】
本開示の前述の説明は、いかなる当業者も本開示を作製または使用できるようにするために与えられる。本開示に対する様々な修正は、当業者に容易に明らかになり、本明細書で定義する一般原理は、本開示の趣旨または範囲を逸脱することなく、他の変形形態に適用される場合がある。したがって、本開示は、本明細書で説明する例および設計に限定されるものではなく、本明細書で開示する原理および新規の特徴と一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００４９】
10  プロセッサベースのシステム
12  中央処理ユニット
14  プロセッサ
16  キャッシュメモリ
18  システムバス
20  メモリシステム
22  入力デバイス
24  出力デバイス
26  ネットワークインターフェースデバイス
28  ディスプレイコントローラ
30  ネットワーク
32  ディスプレイ
34  ビデオプロセッサ
40  電流ベースのトランスミッタ
42  電圧源
44  第1の電流源
46  第2の電流源
48  ピン
50  第1の導電性媒体
52  スイッチ
54  ピン
56  第2の導電性媒体
58  スイッチ
60  負荷
62  負荷
64  差動電流源
66  第1の差動源
68  第2の差動源
70  スイッチ
72  スイッチ
74  制御システム
90  電圧ベースのトランスミッタ
92  電圧源
94  第1のノード
96  第2のノード
98  プルアップスイッチ
100  プルアップスイッチ
102  プルダウンスイッチ
104  プルダウンスイッチ
108  電圧ノード
110  制御システム
120  ビットシグナリングシステム
122  ビットトランスミッタ
124  電力プリコードモジュール
126  レシーバ
128  デマッピングモジュール
130  電力プリコード反転モジュール
132  マッピングモジュール
134  ドライバ
【図１】
0006293924.tif 000002
【図２】
0006293924.tif 000003
【図３Ａ】
0006293924.tif 000004
【図３Ｂ】
0006293924.tif 000005
【図４】
0006293924.tif 000006
【図５Ａ】
0006293924.tif 000007
【図５Ｂ】
0006293924.tif 000008
【図６】
0006293924.tif 000009
【図７】
0006293924.tif 000010
【図８】
0006293924.tif 000011