(57)【要約】      （修正有）【課題】既存のシリアルバスインタフェースと単線バスインタフェースとの間における相互運用を可能にする。【解決手段】３線インタフェースの出力は第１のモードにおいて選択され、１つ以上の単線インタフェースの出力は第２のモードにおいて選択される。また、コンバータは、単線バスを受け入れ、３線インタフェースに従って信号を生成する。さらに、単線インタフェース信号の変換及び３線インタフェースへの接続を容易にするため、終了シンボルが前記単線インタフェース信号内に挿入される。さらに、検出された開始シンボルに応答してストローブ信号及び／又はクロック信号が生成される。さらに、検出された終了シンボルに応答してストローブ信号がデアサートされる及び／又はクロック信号がデアサートされる。【選択図】図８
2010211810.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のパッドと、
ストローブ信号を生成し、クロック信号を生成し、前記ストローブ信号及び前記クロック信号に従って第１の信号を介して遠隔デバイスに書き込むデータを受信し、遠隔デバイスからの読み取りデータを配送するための３線バスインタフェースと、
１つ以上の単線バスインタフェースであって、各単線バスインタフェースは、第２の信号を介して遠隔デバイスに書き込むデータを受信し、遠隔デバイスからの読み取りデータを配送する１つ以上の単線バスインタフェースと、
前記第１の信号を第１のモードにおいてパッドに接続し、前記１つ以上の単線バスインタフェースのうちの第１の単線バスインタフェースの前記第２の信号を第２のモードにおいてパッドに接続するための回路と、を具備するデバイス。
【請求項２】
前記ストローブ信号を前記第１のモードにおいてパッドに接続し、前記１つ以上の単線バスインタフェースのうちの第２の単線バスインタフェースの前記第２の信号を第２のモードにおいてパッドに接続するための回路をさらに具備する請求項１に記載のデバイス。
【請求項３】
前記クロック信号を前記第１のモードにおいてパッドに接続し、前記１つ以上の単線バスインタフェースのうちの第２の単線バスインタフェースの前記第２の信号を第２のモードにおいてパッドに接続するための回路をさらに具備する請求項１に記載のデバイス。
【請求項４】
単線バス又は３線バスを介して第２のデバイスと通信するために動作可能なデバイスであって、
クロック入力と、
ストローブ入力と、
単線バスと、
第１のモードにおいて前記単線バスで受信及び送信するために前記単線バスに接続された単線バスインタフェースと、
第２のモードにおいて、前記クロック入力と前記ストローブ入力を受信し、前記ストローブ入力によってイネーブルにされた前記単線バスにおいて前記クロック入力に従って受信及び送信するために前記単線バスに接続するための３線バスインタフェースと、
前記デバイスが前記第１のモード又は前記第２のモードにある時点を示すためのセレクタと、を具備するデバイス。
【請求項５】
前記セレクタは、前記第１のモード又は前記第２のモードにおいて動作するようにプログラミングされる請求項４に記載のデバイス。
【請求項６】
前記セレクタは、前記クロック入力が第１の予め決められた値であって前記ストローブ入力が第２の予め決められた値である場合以外は前記第２のモードを示す請求項４に記載のデバイス。
【請求項７】
前記第１の予め決められた値は、低電圧によって示され、前記第２の予め決められた値は、高電圧によって決定される請求項６に記載のデバイス。
【請求項８】
単線バスを介して第２のデバイスと通信するために動作可能なデバイスであって、
アクセスバーストによって前記単線バスを駆動するためのドライバであって、前記アクセスバーストは、開始シンボルと、１つ以上のモードシンボルと、デバイス識別子を示す１つ以上のシンボルと、１つ以上のアクセスと、終了シンボルと、を具備するドライバを具備し、アクセスは、読み取りフレーム又は書き込みフレームを具備し、前記ドライバは、ポーズシンボル中に及び読み取りデータシンボルを戻すために前記単線バスを解放する、デバイス。
【請求項９】
前記アクセスバーストは、前記１つ以上のアクセス以前にポーズシンボルを具備する請求項８に記載のデバイス。
【請求項１０】
クロック時間を用いてクロック信号を生成するためのクロック生成器をさらに具備し、各シンボルは２つ以上のクロック時間を具備し、前記終了シンボルは、２つ以上の交互する値のシーケンスを具備し、前記値は各クロック時間ごとに交互する請求項８に記載のデバイス。
【請求項１１】
前記終了シーケンスは、“１０１０”によって与えられ、１つは高電圧によって示され、０は低電圧によって示される請求項１０に記載のデバイス。
【請求項１２】
読み取りフレームは、読み取りインジケータシンボルと、アドレスを示す１つ以上のシンボルと、第１のポーズシンボルと、前記アドレスに従って読み取りデータを戻すための１つ以上のシンボル継続時間と、第２のポーズシンボルと、を具備する請求項８に記載のデバイス。
【請求項１３】
書き込みフレームは、書き込みインジケータシンボルと、アドレスを示す１つ以上のシンボルと、第１のポーズシンボルと、前記アドレスに従って格納するための１つ以上の書き込みデータシンボルと、第２のポーズシンボルと、を具備する請求項８に記載のデバイス。
【請求項１４】
単線バスを介して第２のデバイスと通信するために動作可能なデバイスであって、
前記単線バスで信号を受信し、ストローブ信号とクロック信号を前記信号から生成するための第１の回路を具備する、デバイス。
【請求項１５】
前記ストローブ信号、クロック信号、及び単線バスを受け取り、前記受け取りに応答して前記第２のデバイスと通信するための３線バスインタフェースをさらに具備する請求項１４に記載のデバイス。
【請求項１６】
ストローブ入力と、
クロック入力と、
第１のモードにおいて前記ストローブ信号を前記第１の回路から選択して前記クロック信号を前記第１の回路から選択し、前記ストローブ信号及びクロック信号をそれぞれ生成するために第２のモードにおいて前記ストローブ入力及びクロック入力を選択するための第２の回路と、を具備する請求項１４に記載のデバイス。
【請求項１７】
前記第１のモードを示すために前記ストローブ入力がハイに保持されて前記クロック入力がローに保持され、前記第２のモードはその他の方法で示される請求項１４に記載のデバイス。
【請求項１８】
単線バスを３線バスに変換する方法であって、
前記単線バスにおいて信号を受信することと、
前記信号において開始シンボルを検出することと、
前記検出された開始シンボルに応答してストローブ信号をアサートすることと、
終了シンボルを検出することと、
前記検出された終了シンボルに応答して前記ストローブ信号をデアサートすること、とを具備する方法。
【請求項１９】
クロック信号を生成することをさらに具備し、前記クロック信号は、前記ストローブ信号がアサートされたときに周期的パルスを具備して前記ストローブ信号がデアサートされたときに安定レベルを維持する請求項１８に記載の方法。
【請求項２０】
３線バスインタフェースにインタフェースする方法であって、
第１のモードにおいて３線バスインタフェースに接続するためのストローブ入力、クロック入力及び単線バスを選択することと、
第２のモードにおいて前記単線バスに応答してストローブ及びクロックを生成することと、
第２のモードにおいて前記３線バスインタフェースに接続するために前記生成されたストローブとクロック及び前記単線バスを選択すること、とを具備する方法。
【請求項２１】
前記ストローブ入力がハイで前記クロック入力がローであるときに前記第２のモードにおいて動作し、その他の場合は前記第１のモードにおいて動作することをさらに具備する請求項２０に記載の方法。
【請求項２２】
単線バスにおいて通信する方法であって、
開始シンボルを送信することと、
１つ以上のモードシンボルを送信することと、
デバイス識別子を示す１つ以上のシンボルを送信することと、
１つ以上のアクセスを送信することであって、各アクセスに関してアクセスは読み取り又は書き込みであることができることと、
書き込みアクセスに関する１つ以上のデータシンボルを送信することと、
読み取りアクセスに関する１つ以上のデータシンボルを送信することと、
終了シンボルを送信すること、とを具備する方法。
【請求項２３】
単線バスにおいて通信する方法であって、
開始シンボルを受信することと、
１つ以上のモードシンボルを受信することと、
デバイス識別子を示す１つ以上のシンボルを受信することと、
１つ以上のアクセスを受信することであって、各アクセスに関してアクセスは読み取り又は書き込みであることができることと、
書き込みアクセスに関する１つ以上のデータシンボルを受信することと、
読み取りアクセスに関する１つ以上のデータシンボルを送信することと、
終了シンボルを受信すること、とを具備する方法。
【請求項２４】
単線バスにおいて信号を受信する手段と、
前記信号において開始シンボルを検出する手段と、
前記検出された開始シンボルに応答してストローブ信号をアサートする手段と、
前記信号において終了シンボルを検出する手段と、
前記検出された終了シンボルに応答して前記ストローブ信号をデアサートする手段と、を具備するデバイス。
【請求項２５】
第１のモードにおいて３線バスインタフェースに接続するためにストローブ入力、クロック入力及び単線バスを選択する手段と、
第２のモードにおいて前記単線バスに応答してストローブ及びクロックを生成する手段と、
第２のモードにおいて前記３線バスインタフェースに接続するために前記生成されたストローブとクロック及び前記単線バスを選択する手段と、を具備するデバイス。
【請求項２６】
開始シンボルを送信する手段と、
１つ以上のモードシンボルを送信する手段と、
デバイス識別子を示す１つ以上のシンボルを送信する手段と、
１つ以上のアクセスを送受信する手段であって、アクセスは読み取り又は書き込みであることができ、書き込みアクセスに関する１つ以上のデータシンボルを送信し、読み取りアクセスに関する１つ以上のデータシンボルを受信する手段と、
終了シンボルを送信する手段と、を具備するデバイス。
【請求項２７】
開始シンボルを受信する手段と、
１つ以上のモードシンボルを受信する手段と、
デバイス識別子を示す１つ以上のシンボルを受信する手段と、
１つ以上のアクセスを受信する手段であって、アクセスは読み取り又は書き込みであることができる手段と、
書き込みアクセスに関する１つ以上のデータシンボルを受信する手段と、
読み取りアクセスに関する１つ以上のデータシンボルを送信する手段と、
終了シンボルを受信する手段と、を具備するデバイス。
【請求項２８】
前記単線バスにおいて信号を受信するステップと、
前記信号において開始シンボルを検出するステップと、
前記検出された開始シンボルに応答してストローブ信号をアサートするステップと、
終了シンボルを検出するステップと、
前記検出された終了シンボルに応答して前記ストローブ信号をデアサートするステップと、を実行するために動作可能な、コンピュータによって読み取り可能な媒体。
【請求項２９】
クロック信号の生成を行うためにさらに動作可能であって、前記クロック信号は、前記ストローブ信号がアサートされたときに周期的パルスを具備し、前記ストローブ信号がデアサートされたときに安定レベルを維持する請求項２８に記載の媒体。
【請求項３０】
第１のモードにおいて３線バスインタフェースに接続するためのストローブ入力、クロック入力及び単線バスを選択するステップと、
第２のモードにおいて前記単線バスに応答してストローブ及びクロックを生成するステップと、
第２のモードにおいて前記３線バスインタフェースに接続するための前記生成されたストローブとクロック及び前記単線バスを選択するステップと、を具備する、コンピュータによって読み取り可能な媒体。
【請求項３１】
開始シンボルを送信するステップと、
１つ以上のモードシンボルを送信するステップと、
デバイス識別子を示す１つ以上のシンボルを送信するステップと、
１つ以上のアクセスを送信するステップであって、各アクセスに関してアクセスは読み取り又は書き込みであることができるステップと、
書き込みアクセスに関する１つ以上のデータシンボルを送信するステップと、
読み取りアクセスに関する１つ以上のデータシンボルを受信するステップと、
終了シンボルを送信するステップと、を実行するために動作可能な、コンピュータによって読み取り可能な媒体。
【請求項３２】
開始シンボルを受信するステップと、
１つ以上のモードシンボルを受信するステップと、
デバイス識別子を示す１つ以上のシンボルを受信するステップと、
１つ以上のアクセスを受信するステップであって、各アクセスに関してアクセスは読み取り又は書き込みであることができるステップと、
書き込みアクセスに関する１つ以上のデータシンボルを受信するステップと、
読み取りアクセスに関する１つ以上のデータシンボルを送信するステップと、
終了シンボルを受信するステップと、を実行するために動作可能な、コンピュータによって読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的には、集積回路に関するものである。本発明は、より具体的には、単線バスインタフェースを用いたマスターコンポーネントとスレーブコンポーネントとの間における通信に関するものである。
【背景技術】
【０００２】
無線通信システムは、音声及びデータ等の様々な型の通信を提供することを目的として広範囲にわたって採用されている。無線ネットワーク例は、セルラー方式のデータシステムを含む。次はいくつかの例である。即ち、（１）デュアルモード広帯域拡散スペクトルセルラーシステムに関するＴＩＡ／ＥＩＡ−９５−Ｂ移動局−基地局適合性規格（ＩＳ−９５規格）、（２）「第三世代パートナーシッププロジェクト」（３ＧＰＰ）という名称のコンソーシアムによって提供され、文書番号３Ｇ  ＴＳ  ２５．２１１，３Ｇ  ＴＳ  ２５．２１２，  ３Ｇ  ＴＳ  ２５．２１３，及び３Ｇ  ＴＳ  ２５．２１４を含む一組の文書において具体化されている規格（Ｗ−ＣＤＭＡ規格）、（３）「第三世代パートナーシッププロジェクト２」（３ＧＰＰ２）という名称のコンソーシアムによって提供され、「ｃｄｍａ２０００拡散スペクトルシステムに関するＴＲ−４５．５物理層規格」において具体化されている規格（ＩＳ−２０００規格）、及び（４）ＴＩＡ／ＥＩＡ／ＩＳ−８５６規格（ＩＳ−８５６規格）に準拠する高データ速度（ＨＤＲ）システム。
【０００３】
無線通信装置は、一般的には、複数のコンポーネントを組み入れている。例えば、ベースバンドプロセッサは、１つ以上の無線周波（ＲＦ）コンポーネント又はその他のコンポーネントとインタフェースすることができる。前記ベースバンドプロセッサは、ベースバンド信号をしばしばデジタル形式で生成すること及び受信することができる。アナログ−デジタル変換、デジタル−アナログ変換、フィルタリング、増幅、アップコンバージョン、ダウンコンバージョン、及びその他の数多くの機能を提供するために１つ以上の集積回路（ＩＣ）を採用することが可能である。様々なパラメータ及びコマンドをマスターデバイス（ベースバンドプロセッサ、等）によって１つ以上のスレーブデバイスに書き込むことができる。マスターデバイスは、パラメータ及びその他のデータを１つ以上の補助コンポーネント（ＲＦＩＣ等）から受信する（すなわち読み取る）ことが必要になる。マスターデバイスとスレーブデバイスのこのような構成は、通信分野外のデバイスにおいても採用可能である。
【０００４】
先行技術においては、マスターデバイスと１つ以上のスレーブデバイス（すなわち３線インタフェース）との間において通信を行うために３つの信号を使用するシリアルバスインタフェース（ＳＢＩ）プロトコルが採用されている。ＳＢＩプロトコルは、複数のスレーブが１つのインタフェースを共有することを可能にする一方で、一部のコンポーネントは、共有インタフェースにおけるその他のコンポーネントの活動の影響を受けやすいことが実証されている。従って、一部のＳＢＩインタフェースは、このような干渉を回避するために単一のマスターデバイス及び単一のスレーブデバイスとともに使用されている。説明されているように、さらなるインタフェースを追加することは、各々の追加のインタフェースに関して３本のピン（又はパッド）をマスターデバイスに追加することが要求される場合がある。この追加は、ダイのサイズの増大、ピン数の増加、等に起因して複雑さ及び／又は費用を増大させる可能性がある。従って、マスターデバイスとスレーブデバイスの間をインタフェースするために要求されるピン数を減少させることが望ましい。
【０００５】
先行技術においては、ＳＢＩインタフェースをサポートするマスターデバイスとスレーブデバイスに関する設計が幾つか存在している。新たなインタフェースが既存のＳＢＩコンポーネントと通信できるようにすること、相互運用性を向上させること、及びマスター又はスレーブにかかわらず新たなデバイスを互いに及びレガシーコンポーネントとともに段階的に使用できるようにすることが望ましい。さらに、新製品のマーケティング時間を長くするため及び新インタフェースの発売を迅速化させるために、ピン数が減らされたインタフェースにおいて通信するように既存の設計を最小限の設計時間で修正する手段を提供することも望ましい。
【０００６】
従って、マスターデバイスと１つ以上のスレーブデバイスとの間における通信のための単線バスインタフェースが必要である。
【発明の概要】
【０００７】
本明細書において開示される実施形態は、既存のシリアルバスインタフェースと単線バスインタフェースとの間における相互運用を可能にする必要があることに対処するものである。一側面においては、３線インタフェースの出力は第１のモードで選択され、１つ以上の単線インタフェースの出力は第２のモードで選択される。他の側面においては、コンバータは、単線バスを受け入れ、３線インタフェースに従って信号を生成する。さらに他の側面においては、単線インタフェース信号の変換及び３線インタフェースへの接続を容易にするために終了シンボルが該単線インタフェース信号内に挿入される。さらに他の側面においては、検出された開始シンボルに応答してストローブ信号及び／又はクロック信号が生成される。さらに他の側面においては、検出された終了シンボルに応答してストローブ信号がデアサートされ及び／又はクロック信号がデアサートされる。
【図面の簡単な説明】
【０００８】
【図１】複数のユーザーをサポートできる無線通信システムの一般的ブロック図である。
【図２】先行技術による移動局１０６の一部分を示した図である。
【図３】ＳＢＩインタフェースの３つの転送モードのフォーマットを示した図である。
【図４】高速転送モード（ＦＴＭ）アクセス型を示した図である。
【図５】バルク転送モード（ＢＴＭ）アクセス型を示した図である。
【図６】インタラプト転送モード（ＩＴＭ）アクセス型を示した図である。
【図７】先行技術によるＳＢＩ構成を示した図である。
【図８】ＳＢＩ及び単線シリアルバスインタフェース（ＳＳＢＩ）インタフェースの組合せを具備する実施形態を示した図である。
【図９】ＳＳＢＩ転送フォーマットを示した図である。
【図１０】ＳＳＢＩシグナリング方式の実施形態例を示したタイミング図である。
【図１１】ＳＳＢＩをサポートするためのマスターデバイス例を示した図である。
【図１２】ＳＳＢＩ又はＳＢＩをサポートするように構成されるマスターデバイス例を示した図である。
【図１３】ＳＳＢＩをサポートするためのスレーブデバイス例を示した図である。
【図１４】ＳＢＩスレーブ及びＳＳＢＩスレーブコンバータを具備し、ＳＳＢＩ及びＳＢＩをサポートするスレーブデバイス例を示した図である。
【図１５】ＳＳＢＩ専用通信を目的として構成される図１４のスレーブ例を示した図である。
【図１６】ＳＢＩスレーブ及びＳＳＢＩスレーブコンバータを具備するＳＳＢＩ専用スレーブ例を示した図である。
【図１７】ＳＳＢＩ書き込みタイミング、及びＳＳＢＩマスター信号を示した図である。
【図１８】ＳＳＢＩ読み取りタイミング、及びＳＳＢＩマスター信号を示した図である。
【図１９】マスターデバイス及びスレーブデバイスにおけるクロック間の相関関係を示した図である。
【図２０】ＳＳＢＩマスター例において採用するのに適した論理例の一部分を詳述した図である。
【図２１】ＳＳＢＩマスター例において採用するのに適した論理例の一部分を詳述した図である。
【図２２】ＳＳＢＩマスター例において採用するのに適した論理例の一部分を詳述した図である。
【図２３】ＳＳＢＩスレーブの実施形態例を示した図である。
【図２４】ＳＳＢＩ書き込みタイミング、及びＳＳＢＩスレーブ信号を示した図である。
【図２５】ＳＳＢＩ読み取りタイミング、及びＳＳＢＩスレーブ信号を示した図である。
【図２６】ＳＳＢＩスレーブバスインタフェース例において採用するのに適した回路例を示した図である。
【図２７】スレーブレジスタブロックとして採用するのに適した論理例を示した図である。
【図２８】終了シンボルを含む、バースト例の終了を示した波形を描いた図である。
【図２９】ＳＳＢＩマスター例において採用するのに適しており、ＦＴＭモードをサポートするように修正された回路例を示した図である。
【図３０】ＳＳＢＩマスター例において採用するのに適しており、ＦＴＭモードをサポートするように修正された回路例を示した図である。
【図３１】ＳＳＢＩマスター例において採用するのに適しており、ＦＴＭモードをサポートするように修正された回路例を示した図である。
【図３２】ＳＳＢＩスレーブコンバータの一部分を示した図である。
【図３３】ＦＴＭ転送の開始を示した波形を描いた図である。
【図３４】ＦＴＭ転送の終了を示した波形を描いた図である。
【図３５】ＳＳＢＩスレーブコンバータ例に関する追加回路の一部分を示した図である。
【発明を実施するための形態】
【０００９】
本明細書において説明される１つ以上の典型的実施形態は、デジタル無線データ通信システムを対象にしたものである。デジタル無線データ通信システムの環境において使用するのが有利である一方で、本発明の異なる実施形態を異なる環境又は構成において組み入れることも可能である。一般的には、本明細書において説明される様々なシステムは、ソフトウェアによって制御されるプロセッサ、集積回路、又はディスクリートロジックを用いて形成させることができる。本出願全体を通じて参照されることがあるデータ、命令、コマンド、情報、信号、シンボル、及びチップは、有利なことに、電圧、電流、電磁波、磁場、磁気粒子、光学場、光学粒子、又はその組合せによって表される。さらに、各ブロック図において示されるブロックは、ハードウェア又は方法に関するステップを表す。
【００１０】
図１は、１つ以上のＣＤＭＡ基準及び／又は設計（Ｗ−ＣＤＭＡ基準、ＩＳ−９５基準、ｃｄｍａ２０００基準、ＨＤＲ仕様、１ｘＥＶ−ＤＶシステム、等）をサポートするように設計することができる無線通信システム１００の概略図である。代替実施形態においては、システム１００は、ＣＤＭＡシステム以外の無線基準又は設計をさらにサポートすることも可能である。
【００１１】
説明を単純化するため、システム１００は、２つの移動局１０６と通信中である３つの基地局１０４を含む形が示されている。該基地局及びそのカバレッジエリアは、総称して「セル」としばしば呼ばれる。例えば、ＩＳ−９５、ｃｄｍａ２０００、又は１ｘＥＶ−ＤＶシステムにおいては、セルは、１つ以上のセクターを含むことができる。Ｗ−ＣＤＭＡ仕様においては、基地局の各セクター及び該セクターのカバレッジエリアがセルと呼ばれる。本明細書において用いられる基地局という表現は、アクセスポイント又はノードＢと互換可能な形で使用することができる。移動局という表現は、ユーザー装置（ＵＥ）、加入者装置、加入者局、アクセス端末、遠隔端末、又は当業において知られる対応表現と互換可能な形で使用することができる。移動局という表現は、固定された無線アプリケーションを含む。
【００１２】
本明細書における「典型的」という表現は、「１つの例、事例、又は実例」であることを意味する。本明細書において「典型的実施形態」として記述されているいずれの実施形態も、その他の実施形態よりも優先されるか又は有利であると必ずしも解釈されるべきではない。
【００１３】
実装されているＣＤＭＡシステムに依存して、各移動局１０６は、いずれかの所定の時点において順方向リンクで１つの（又はおそらく２つ以上の）基地局  １０４と通信することができ、さらに該移動局がソフトハンドオフ状態にあるかどうかに依存して逆方向リンクで１つ以上の基地局と通信することができる。順方向リンク（すなわちダウンリンク）は、基地局から移動局への送信を意味し、逆方向リンク（すなわちアップリンク）は、移動局から基地局への送信を意味する。
【００１４】
図２は、先行技術による移動局１０６の一部分を示した図である。全体において詳述されている図例は、基地局１０４等のその他の無線通信デバイス、及びマスター／スレーブ通信が望まれるその他のデバイスにおいても使用可能である。本例においては、ベースバンドプロセッサ２２０は、１つ以上の補助集積回路（ＩＣ）、及び図示されていないその他のコンポーネントと接続された形で配置されている。ベースバンドプロセッサ２２０は、上記において例が挙げられている１つ以上の通信システム又は基準に従い、送信及び受信される信号に関する通信処理を提供する。典型的ベースバンドプロセッサ２２０は、入信号又は出信号のデジタル処理を行い、様々なアプリケーションの実行を含むその他の型の処理を行うことができる。ベースバンドプロセッサは、１つ以上のマイクロプロセッサ、デジタル信号プロセッサ、メモリ、及びその他の様々な型の汎用回路又は専用回路を含む様々なコンポーネントを具備することができる。ベースバンドプロセッサは、１つ以上の仕様又は基準に従って信号を受信及び送信するための様々なコンポーネント、例えば、符号器、インターリーバー、変調器、復号器、デインターリーバー、復調器、探索器、及び当業においてよく知られる例が存在するその他の様々なコンポーネントを具備することができる。ベースバンドプロセッサは、デジタル回路、アナログ回路、又は両回路の組合せを組み入れることが可能である。
【００１５】
ベースバンドプロセッサ２２０に接続された補助ＩＣは、ＲＦＩＣ２３０Ａ乃至２３０Ｎのラベルが付されている。補助ＩＣ例は、増幅器、フィルタ、ミキサー、発振器、デジタル−アナログ（Ｄ／Ａ）変換器、アナログ−デジタル変換器（Ａ／Ｄ）、等の様々な機能を組み入れることができる無線周波（ＲＦ）ＩＣを含む。いずれかの基準に準じた通信を行うために必要なコンポーネントは、複数のＲＦＩＣ２３０内に組み入れることが可能である。いずれのＲＦＩＣ２３０も、複数の通信システムと共用可能なコンポーネントを含むことができる。ＲＦＩＣは、例示することのみを目的として示されている。あらゆる型の補助ＩＣをベースバンドプロセッサ２２０と接続することが可能である。
【００１６】
本例においては、ＲＦＩＣ２３０は、１つ以上の基地局１０４とのリンクを確立させることができるアンテナ２１０を通じて受信及び／又は送信を行う。アンテナ２１０は、当業においてよく知られるように、複数のアンテナを組み込むことができる。
【００１７】
ＳＢＩプロトコル
様々なパラメータ及びコマンドの通信を目的とする３線インタフェースが設計されている。この３線インタフェースは、シリアルバスインタフェース（ＳＢＩ）と呼ばれる。該３線インタフェースは、クロックライン（ＳＢＣＫ）、開始／停止ライン（ＳＢＳＴ）、及びデータライン（ＳＢＤＴ）を含む。ＳＢＩインタフェースは、以下においてさらに詳細に説明されている。ＳＢＩインタフェースは、マスターデバイス及び１つ以上のスレーブデバイスを指定する。本例においては、ベースバンドプロセッサ２２０は、マスターとして機能し、１つ以上のＲＦＩＣ２３０は、スレーブデバイスとして機能する。ＳＢＩインタフェースはこれらの機能に限定されておらず、マスターデバイス及びスレーブデバイスは、あらゆる型であることができる。以下の詳細な実施形態例においては、ベースバンドプロセッサ２２０は、マスターデバイス２２０と互換可能であり、ＲＦＩＣ２３０は、スレーブデバイス２３０と互換可能である。さらに、ベースバンドプロセッサ２２０は、ＳＢＩバスに加えて、アナログ又はデジタルに関わらず図示されていない様々な専用線で様々なＲＦＩＣ２３０と通信することもできる。
【００１８】
図２に示されるように、複数のスレーブデバイスが同じ３つのマスターデバイス接続（ＳＢＣＫ、ＳＢＳＴ、及びＳＢＤＴ）を共有することができる。図２には示されていないが、ＲＦＩＣ２３０とベースバンドプロセッサとの間におけるその他の様々な接続を使用することができる。移動局１０６は、通信を行う際又はアプリケーションを実行する際に使用するその他の様々なコンポーネントを組み入れることも可能である。説明を明確化するため、これらの詳細は示されていない。
【００１９】
ＳＢＩインタフェースは、３つの型の転送モードを定義し、これらの転送モードのフォーマットが図３に示されている。高速転送モード（ＦＴＭ）は、読み取り及び書き込みの両方を含むあらゆるスレーブへの複数のシーケンスのアクセスを提供する。該シーケンスにおける各アクセスは、アクセス先及びアクセス元のアドレスを識別する。
【００２０】
バルク転送モード（ＢＴＭ）は、単一のスレーブへの複数の逐次アクセス機能を提供する。ＢＴＭ転送におけるアクセスは、読み取り又は書き込みであることができるが、両方であることはできない。バルク転送に関するアドレスは、１回送信するだけでよい。この最初のアドレスから複数の読み取り又は書き込みを逐次行うことが可能である。
【００２１】
インタラプト転送モード（ＩＴＭ）は、単一のバイトの符号化情報を転送するために使用される。スレーブＩＤ（ＳＩＤ）は、２つのスレーブのうちでメッセージを受信するスレーブを示す。５ビットのメッセージフィールドは、３２のメッセージに対応可能である。メッセージの後にはポーズビットが送信される。
【００２２】
図４乃至６は、ＦＴＭ、ＢＴＭ、及びＩＴＭに関するタイミング波形をそれぞれ描いた図である。各ＳＢＩアクセスは次のように行われる。すなわち、ＳＢＳＴをローにすることによってトランザクションが開始される。トランザクションは、ＳＢＳＴをハイにすることによって終了／完了される。トランザクション間には少なくとも１つのクロックが存在する（ＳＢＳＴ及びＳＢＤＴがハイ）。ＳＢＤＴの状態の変化はすべて、ＳＢＣＫの立ち下がりエッジの前に生じる（一般的には、ＳＢＣＫの立ち下がりエッジに関して指定されたセットアップパラメータ及びホールドパラメータが存在することになる）。ＳＢＳＴがローになった後に第１のデータビットが第２の立ち下がりエッジにおいてラッチされる。データは、最上位ビット（ＭＳＢ）が最初に送信され、最下位ビット（ＬＳＢ）が最後に送信される。（ＩＴＭの場合は、単一ビットが２つのスレーブのうちの１つを識別してメッセージが後続することを思い出すこと。）アドレス指定されていないスレーブは、次のトランザクションの開始ビットを待つ。単一のＦＴＭトランザクション中にデータを読み取ること及び書き込むことの両方が可能である。送信される各バイトに関して１つ以上のポーズビットが割り当てられる。マスター及びスレーブの両方とも、バスコンテンションを回避するためにポーズビット（Ｐ）中にデータバスを解放する。
【００２３】
最初の２つのビットは、アクセス型を示し、ＦＴＭが０１、ＢＴＭが１０、ＩＴＭが００である。スレーブＩＤは６ビットで、アドレスフィールド及びデータフィールドはそれぞれ８ビットである。スレーブがバスコンテンションを引き起こさずにデータを戻す機会を提供するために、各８ビットの後にポーズビット（Ｐ）が挿入される。アドレスフィールドの第１のビットは、アクセスが読み取り（１）又は書き込み（０）のいずれであるかを表す。ＦＴＭ及びＢＴＭに関しては、各レジスタアクセスに関してスレーブＩＤを指定するように要求せずに同じスレーブに対して複数のアクセスを行うことが可能である。ＦＴＭは、レジスタアクセスを行うための通常の方法である。ＢＴＭは、より大きな連続アドレスグループの構成を可能にする。バーストの第１のレジスタアドレスのみが指定される。ＩＴＭの場合は、いずれのスレーブにアクセスするかを指定するための１ビットＳＩＤフィールドがスレーブＩＤの代わりに用いられる。レジスタフィールド及びデータフィールドの代わりに、５ビットのメッセージフィールドが指定される。
【００２４】
実際上は、無線周波（ＲＦ）ＩＣ２３０は共通バスにおける干渉の影響を受けやすい場合があることが判明している。この干渉を回避することを目的として、１つのバスにおけるトラフィックを１つ以上の影響を受けやすいデバイス２３０から隔離するための追加バスが導入されている。一構成例が図７に示されている。図７においては、ベースバンドプロセッサ２２０は、各デバイス専用の個々の３線ＳＢＩバスにおいてＲＦＩＣ２３０Ａ乃至２３０Ｊと通信する。この例においては、追加のＲＦＩＣ２３０Ｋ及び２３０Ｎが共有ＳＢＩバスと接続されている。バスの追加は干渉を解決することができるが、ベースバンドプロセッサ２２０に関して必要なピン数、及びマスターコントローラ数を増加させる。例えば、ベースバンドプロセッサ２２０は、９ピン又は１２ピンがそれぞれ要求される３つ又は４つのＳＢＩポート付きベースバンドプロセッサを使用することが可能である。利用可能なポートを様々な外部チップ２３０間において共有するために要求されるオーバーヘッドによって設計が複雑化する可能性がある。
【００２５】
ＳＳＢＩプロトコル
影響を受けやすい補助チップ２３０に関して望まれる干渉低減を、ピン数を減らしつつ達成させるために、以下においては、単線シリアルバスインタフェース（ＳＳＢＩ）と呼ばれる新しい単線バスインタフェースが詳細に説明される。図８は、各ＲＦＩＣ２３０Ａ乃至２３０Ｊをベースバンドプロセッサ２３０と接続させる独立した単線（ＳＳＢＩ）バスを用いた移動局例１０６を描いた図である。３線ＳＢＩバスは、希望される場合は、ＳＳＢＩバスと組み合わせて使用することも可能である。この使用は、共有３線バスがＲＦＩＣ２３０Ｎ乃至２３０Ｋ及びベースバンドプロセッサ２２０を接続した状態が示されている。単線インタフェースの採用は、ピン数の減少、ポートの増加、又はその両方を可能にする。ポート数の増加は、上述されるように、２つ以上のデバイスが１つのバスインタフェースを共有する必要があるときに発生する可能性がある設計の複雑化を軽減することが可能である。以下において詳述される実施形態においては、説明を明確化するため、ＳＳＢＩインタフェースはピン及び／又はパッドに関して説明することができる点に注目すること。ＳＳＢＩプロトコルは、ダイ間接続（すなわち、ピンのないパッドとパッドの接続）、及びチップ間接続（すなわち、パッド及びピンのないブロックとブロックの接続）に対しても適用可能である。当業者は、これらの及びその他の様々な実施形態に適用させるために、本明細書において開示される原理を容易に適合化させるであろう。
【００２６】
代替実施形態は、あらゆる数の単線バス、及びあらゆる数の３線バスを含めることができる。詳細な例が後述されている様々な実施形態においては、ピンは、１線又は３線のバスインタフェースとともに使用するように構成可能である。
【００２７】
本明細書において詳述されているＳＳＢＩプロトコル例は、次の特性を有する。すなわち、要求されるピン数がＳＢＩインタフェースに関するピン数よりも少ない。帯域幅がＳＢＩインタフェースに匹敵するかまたはＳＢＩインタフェースよりも優れている。追加レジスタをサポートするためにアドレスが増加され、従ってますます複雑化しているスレーブデバイスがサポートされる。この例においては、アドレス指定可能なレジスタ数は２５６である。
【００２８】
ＳＳＢＩは、ピン数を減らすため、クロックライン（ＳＢＣＫ）及び開始／停止ライン（ＳＢＳＴ）を含まない。ＳＳＢＩプロトコルにおける単一のラインは、本明細書においてはＳＳＢＩ＿ＤＡＴＡと呼ばれる。インタフェースにおいてクロックラインが取り除かれているため、マスターデバイス及びスレーブデバイスの両方においてローカルクロックが代わりに使用される。マスターデバイス及びスレーブデバイスにおけるローカルクロックは、同一である必要がない。ＳＳＢＩプロトコルは、以下において詳述されるように、位相及び周波数のオフセットについて説明する。一定量の周波数誤差は許容され、該誤差量は特定の実施形態に依存する。ＳＳＢＩプロトコルは、マスターデバイス及びスレーブデバイスのクロックに関して位相的に独立している。ローカルクロックは、ローカル発振器を用いて生成すること、その他のクロック源から導き出すこと、又は当業において知られるその他の様々なクロック生成技術を用いて生成することが可能である。ＳＳＢＩインタフェースは、
開始／停止ラインの代わりに開始ビットがデータストリーム内に挿入され、アイドル状態（ＩＤＬＥ）が定義されている。受信側デバイス（すなわちスレーブ）は、データライン（ＳＳＢＩ＿ＤＡＴＡ）をモニタリングし、予め決められたＩＤＬＥ値をサンプリングし、開始シンボルが検出された時点でトランザクションを開始する。トランザクションが完了された時点で、データラインをＩＤＬＥ状態に戻して転送を終了させることができる。
【００２９】
ＳＳＢＩプロトコルは、１線インタフェースと３線インタフェースとの間におけるインタフェースを容易にするために選択されたタイミングと波形を用いて設計することができる。明確になるように、この設計は、３線ＳＢＩプロトコルから１線ＳＳＢＩプロトコルへの移行を考慮したものである。例えば、マスターデバイスは、それ以前の世代のスレーブデバイスとの通信及び新たに生産されるスレーブデバイスとの通信を容易にするために、ＳＢＩフォーマット及びＳＳＢＩフォーマットの両フォーマットを生成する論理回路を装備することができる。同様の方法で、既存のスレーブデバイスは、ＳＢＩ及びＳＳＢＩのいずれのフォーマットも受信することができて以前の世代のマスターデバイス及び新マスターデバイスの両デバイスとの相互運用性を可能にするような変換論理を備えることができる。スレーブは、３線モードに関する３ピンを装備することができ、これらの３ピンのうちの単一のピンは、ＳＳＢＩモード時におけるＳＳＢＩ＿ＤＡＴＡ専用である。モードは、ＳＳＢＩモードが希望されるときに未使用ピンに関する予め定義された値を設定することによって選択することができる。さらに、単一ピンスレーブデバイスは、変換論理を既存のコアに追加することによって迅速に開発することが可能であり、このため、単線ＳＳＢＩ＿ＤＡＴＡは、既存のコアとインタフェースするためにレガシーの３線ＳＢＩ信号に変換することができる。後述される該変換論理は、既存の機能に対して最小限の影響を及ぼすだけでスレーブデバイスに追加することができ、新デバイスを高い信頼性を持って素早く開発することを可能にする。従って、制御ラインが別であることに起因して干渉が低減される利益及びマスター及び／又はスレーブデバイスにおけるピン数が減少する利益は、市場において３線デバイスから単線デバイスに移行中に実現させることが可能になる。以下では様々な実施形態例が詳細に説明される。
【００３０】
表１は、ＳＳＢＩインタフェース信号を示した図である。ＳＳＢＩインタフェースは、１つのデバイスごとに単一のピンによって構成され、該ピンはＳＳＢＩ＿ＤＡＴＡと呼ばれる。転送の開始及び終了はデータストリーム自体において表されるため、ＳＢＳＴは取り除かれる。マスターデバイス及びスレーブデバイスの両方に共通のクロックが存在するため、ＳＢＣＫは取り除かれる。マスターデバイス及びスレーブデバイスの両方においてＳＳＢＩ＿ＣＬＫと呼ばれるクロックを利用可能であると仮定されている。あらゆる共通のクロックを使用可能である。マスタークロックとスレーブクロックの間で要求される位相関係はない。一実施形態においては、ルーティングを単純化するため、これらの２つのクロックを同じソースから導き出すことができる。これらの２つのクロックは、一般的には、同じ周波数であるべきであるが、ある程度の周波数誤差は補正可能である。当業者は、本明細書における教義に鑑みて、いずれかの所定の実施形態に関して許容される周波数誤差量を容易に適合化するであろう。該クロックは、ＳＳＢＩ通信が要求されるごとに起動する必要がある。
【表１】
2010211810.tif 000003
【００３１】
一実施形態例においては、マスターデバイス２２０は、次の特性を有するＳＳＢＩ＿ＤＡＴＡに関するパッドを具備する。すなわち、該パッドは双方向性である。該パッドは、ロードライブモードにおいて２ｍＡのドライブ強度をサポートし、ハイドライブモードにおいて５ｍＡのドライブ強度をサポートする（このサポートは、ＳＢＩパッド例に関して用いられる設定と一致する）。該パッド例は、選択可能なプルダウンデバイス、及び選択可能なキーパーデバイスを内蔵する。その他の様々なパッドを本発明の適用範囲内において導入することができる。例えば単一ダイにおけるブロック間接続等の代替実施形態においては、当業者によってよく知られている３状態ドライブ、マルチプレクサ、等の代替コンポーネントをパッドの代わりに使用することが可能である。
【００３２】
ＳＳＢＩプロトコル例においては、１つのモードのみがサポートされ、さらに１回の転送につき１つのレジスタアクセスのみがサポートされる。この場合は、モード及びスレーブＩＤを指定する必要がなく、ＦＴＭが単純化されたものであると考えることができる。バス上において予想されるスレーブは１つだけであるため（ただし、後述されるように、２つ以上のデバイスが希望される場合はアドレッシング方式を使用することができる）、スレーブＩＤビットはもはや不要である。その結果、ＳＢＩコマンドと比較して各アクセスに関するオーバーヘッドがほとんどまったくない。複数の３線ＳＢＩモードは、帯域幅を向上させさらにレーテンシーを低下させるために不要なオーバーヘッドを取り除く機構を提供する。単一のＳＳＢＩフォーマットは、同じ利益を提供する。
【００３３】
図９は、ＳＳＢＩ転送フォーマットを示した図である。フレームは、読み取りフレーム９２０又は書き込みフレーム９１０であることができる。第１のビットは、読み取り又は書き込みが行われるかどうかを示す。読み取りアクセスは“１”、書き込みアクセスは“０”によって示される。この割当ては任意ではないが、実際には、アクセスの途中でＳＳＢＩマスターブロックが誤ってリセットされた場合にスレーブが偶然に読み取り動作を観測することを防止する。アドレスフィールドは全８ビットであり、さらに読み取り／書き込み指示は別々に行われるため、読み取りレジスタ及び書き込みレジスタの両方が２５６のすべてのアドレスを利用可能である。該実施形態例においては、ＳＢＩよりもＳＳＢＩのほうがアドレス空間が大きい。代替実施形態においては、あらゆるアドレス空間の大きさを使用することができる。
【００３４】
データフィールドは、後述される様々な実施形態においてはパラメータで表示され、例えば１乃至１６の範囲であることが可能である。このパラメータは、以下においてはＳＳＢＩ＿ＤＡＴＡ＿ＷＤとして識別される。アドレスフィールド及びデータフィールドの両方に関して、値は、最初にＭＳＢが出力される。書き込みの場合は、マスターが継続的にバスを駆動するため、ポーズビット（Ｐ）は要求されない。読み取りの場合は、ポーズビットが使用される。追加の読み取り又は書き込みを行う場合は、新しいコマンドがバスにおいて開始される。以上の結果、スレーブは、書き込みに関しては１７のシンボル、読み取りに関しては１９のシンボルを常に予想することができる（ＳＳＢＩ＿ＤＡＴＡ＿ＷＤ＝８のとき）。
【００３５】
１つのＳＳＢＩポートごとに１つのスレーブがサポートされることが予想される一方で、２つのスレーブの各々が異なる一組のＳＳＢＩレジスタアドレスに応答するようにすることでこれらの２つのスレーブをサポートすることが可能である。例えば、１方のスレーブはアドレス０乃至１２７に応答することが可能であり、第２のスレーブは１２８乃至２５５に応答することが可能である。しかしながら、このようなアプローチ法を用いることによって、ボード上におけるローディングに関する課題及びＳＢＩプロトコルに関して上述される通常の干渉問題が発生する可能性がある。
【００３６】
図１０は、ＳＳＢＩシグナリング方式の一実施形態例を示したタイミング図である。この例においては、データライン（ＳＳＢＩ＿ＤＡＴＡ）は、アイドル状態を示すときにはローである。データ送信時は、開始ビット、この例においては高電圧（すなわち“１”）が送信される。開始ビットは、受信機が入りデータストリームをサンプリングするためのサンプルポイントをセンタリングするために使用される。開始ビットの後にデータストリームが続く。コマンドフォーマットは適切に定義済みであるため、受信機は、どけだけの数のビットが送信されるかをデータストリームから正確に決定することができる。従って、受信機は、転送が完了する時点を知っており、次の開始ビットを待つためのアイドル状態に再度入ることができる。開始ビット及びデータビットは、この例においては各々が２クロックサイクルの長さを有しており、このため、シンボル時間は長さが２サイクルである。データビットは、１又は０が送信されるかに依存してハイ又はローの状態で送信される。代替実施形態においては、各ビットは、長さが１クロックサイクルであることが可能である。しかしながら、このような場合においては、１／２クロックサイクルの精度しか存在しないことになるため、受信機がシンボルの中心を見つけ出すことは難しい。従って、受信機は、シンボルが遷移中にサンプリングされないように保証することができない。シンボルが２クロックサイクル（又はそれ以上）の長さを有する場合は、受信機は、０．５乃至１．５サイクルだけシンボル内に入った時点で、すなわちあらゆる遷移から少なくとも０．５クロックサイクル離れた時点でシンボルをサンプリングするのを保証することができる。代替実施形態においては、１つのシンボル当たりのクロックサイクル数は変わることができる。
【００３７】
受信機におけるクロックは、データと整合させる必要がない。従って、本質的に、図１０において描かれているＳＬＡＶＥ  ＣＬＯＣＫは、ＳＳＢＩ＿ＤＡＴＡに関して左又は右にシフトすることができる。この例においては、受信機は、ＳＳＢＩ＿ＤＡＴＡがハイになった後の第１の立ち下がりクロックエッジにおいてサンプリングを開始する。サンプリングポイントは、縦の点線によって表される。各後続シンボルは、アクセスが完了するまで該ポイントから２クロック時間ごとにサンプリングされる。ＩＤＬＥビットに続いて他の開始シンボルを送信することができる。
【００３８】
このＳＳＢＩプロトコルは、周波数誤差を許容可能である。該周波数誤差の許容量は、特定の実施形態を使用する際の設計の選択に基づいて変わることができる。外部クロックが使用されて１つ以上の接続されたコンポーネントにルーティングされる場合は、インタフェースは、これらの様々なコンポーネント間において可変のクロックスキューが存在する状態で適切に動作する。代替として、１つ以上の接続されたコンポーネント（すなわち、マスター及び／又はスレーブ）は、設計された周波数誤差要求内において自己のクロックを生成することができる。
【００３９】
アクセスの転送時間は、データに依存しない。転送時間は、３線ＳＢＩバスインタフェース例の場合と同じである。当業者にとって明確になるように、様々なビット型に関してあらゆる電圧レベルを選択することが可能である。この例においては、上述されるように、開始シンボルは、サンプルストローブをセンタリングするために“１”（又は高電圧）が選択される。アイドルは“０”（又はアース）に設定される。この設定は、電力が供給されていないチップとのインタフェースを単純化する。例えば、電力を保存するためにＲＦチップ（又はその他のスレーブデバイス）に電力を供給すること又は供給を停止することができる。アイドルをアースに設定することは、この状態を単純化する。
【００４０】
一般的には、マスターは、ＳＳＢＩ＿ＤＡＴＡを駆動する。マスターがバスを３状態にする時点は、読み取りデータがスレーブによって駆動中のみである。その他のすべての時点においては、マスターはバスを駆動する。マスターデバイス及びスレーブデバイスは両方とも、データラインでのコンテンションを回避するために異なる時点においてデータバスを駆動するため、バスの現在のドライバは、次のデバイスがバスを駆動するのを許容される前の１つのシンボル時間（この例において２サイクル）だけバスを解放する。この継続時間は、ポーズビットと呼ばれる。ポーズビットは、図９においては“Ｐ”によって識別されている。ポーズビットに関しては、データライン上の値は、パッドキーパー（使用されている場合）を用いて保持することができる。スレーブは、マスターが使用中のタイミングを受信機が概算して得たタイミングを用いて読み取りデータで応答することが予想される。従って、読み取られたシンボルは、マスターが予想する場所とほぼ同じ場所に現れるはずである。
【００４１】
ドライバ間の遷移について理解するため、次の点を検討する。すなわち、マスターが読み取りアクセスに関してアドレスフィールドのＬＳＢを送信後、マスターがバスを解放するための時間を考慮したポーズビットが送信される。スレーブは、Ｄ７乃至Ｄ０を駆動することによって応答し、他のポーズビットのためにデータラインを解放する。これで、マスターは、次のシンボルを送信するためにバスの制御を再取得することができる。この場合、スレーブは開始ビットに基づいて１／２のクロックサイクルの精度でマスターのタイミングを知っているためコンテンションが回避される。ポーズビットは２クロックサイクルであるため、マスタークロックとスレーブクロックの相対的位相に依存して１．５サイクルという短い時間又は２．５サイクルという長い時間に思える。バス遅延が１．５サイクル未満であるかぎりは、コンテンションは発生しない。
【００４２】
３線ＳＢＩインタフェースは、転送継続時間中はアサートしてマスターの動作が完了時にデアサートするＳＢＳＴ信号を有する。このことは、あらゆる時点において強制的にスレーブをアイドル状態にするのを容易にする。マスターは、ＳＢＳＴがデアサートされるのを確認することができ、このため、スレーブが既にアイドル状態になっているか又は転送途中であるかにかかわらず、転送が存在していないことを認識してアイドル状態に入るはずである。１線ＳＢＩインタフェースの場合は、このことを明確に指定する信号が存在していない。次に２の事例について検討する。すなわち、第１の事例は、電源投入中におけるリセット事例であり、第２の事例は、通常の動作中に関する事例である。電源投入中は、マスターは、様々なデバイスのリセットに要する時間量を考慮に入れ、リセットが完了するまでＳＳＢＩの活動を無視することができる。通常の動作中に関しては、マスターとスレーブが同期状態でありそのためスレーブがマスターのみに応答しさらにマスターＳＳＢＩブロックがＳＳＢＩ転送中に強制的にリセットされることがまったくかぎり、何の問題も生じない。
【００４３】
どのような理由であるかにかかわらずいずれかの任意の時点においてＳＳＢＩマスターをリセットする必要がある場合は、ＳＳＢＩバスが読み取り中であってこのためスレーブデバイスがＳＳＢＩデータバスを駆動することになっている可能性がある。マスターは、強制的にアイドル状態にされた場合もデータバスを駆動し、従ってコンテンションが発生する可能性がある。スレーブがバスを駆動中でないときには、読み取りアクセスに応答して、アイドル状態に入るマスターはコンテンションを引き起こさず、スレーブはアイドル状態にとどまるか又は現在の書き込みアクセスを完了させ、その後にアイドル状態に入る。（この例においては、１線フォーマットの場合は、書き込み及び読み取りの長さは１７シンボル時間及び１９シンボル時間であるため、８ビットのデータ幅に関しては、長くても１９シンボル時間後にスレーブがアイドル状態になることが保証される。）スレーブがバスを駆動中にこの課題を解決するため、マスターは、発生する可能性があるコンテンション時間が終了したと決定されるまでＳＳＢＩ＿ＤＡＴＡラインを積極的に駆動するのを控えることができる。該実施形態例においては、マスターは、ＳＳＢＩ＿ＤＡＴＡを３状態にし、パッド内のプルダウンデバイスをイネーブルにする。該プルダウンをディスエーブルにできることを示すために制御レジスタリセットコマンドを使用することができる。代替実施形態においては、希望する場合は、マスターによるバスの能動的制御を再度イネーブルにしてプルダウンをディスエーブルにするための書き込みアクセスコマンドを使用することが可能である。
【００４４】
ＳＢＩとＳＳＢＩとの間における変換
（おそらく幾つかの変換機能が要求される）３線インタフェース又は１線インタフェースを用いてサポート可能な２つのプロトコルＳＢＩ及びＳＳＢＩが上述されている。今日において稼働中の多くのデバイスは、３線インタフェースにおいてＳＢＩプロトコルをサポートする。本明細書において様々な例が説明されている実施形態例は、単線インタフェースにおいてＳＢＩを用いて通信するマスターデバイス２２０及び１つ以上のスレーブデバイスを含むことができる。ＳＳＢＩをサポートするためのマスターデバイス例２２０が図１１に示され、対応するスレーブデバイス２３０が図１３に示されている。マスターデバイス２２０は、１線インタフェース又は３線インタフェースのいずれか又はその両方の組合せにおいてＳＢＩとＳＳＢＩの両方をサポートすることが望ましい。該マスターの一例が図１２に示されている。同様に、スレーブデバイスは、１線インタフェース又は３線インタフェースのいずれかにおいていずれかのプロトコルを受信するように構成することができる。該スレーブデバイスの一例が図１４に示されている。
【００４５】
図１１は、単線でのＳＳＢＩ通信のために構成されたマスターデバイス例２２０を示した図である。マイクロプロセッサ、又はその他のデバイスは、読み取りアクセス及び書き込みアクセスを行うためにＳＳＢＩマスター１１１０と通信する（詳述されていない）。ＳＳＢＩマスター１１１０は、以下において幾つかの例が詳細に説明されているその他のコマンド又は信号を受信又は生成することも可能である。マスターデバイス２２０は、パッド１１２０に接続されたＳＳＢＩ＿ＤＡＴＡにおいてデータを送信又は受信する。一パッド例が上述されている。パッド入力（ＰＩ）は、ＳＳＢＩマスター１１１０でＳＳＢＩ＿ＤＡＴＡ＿ＩＮに引き渡される。パッド１１２０に関する出力は、ＳＳＢＩマスター１１１０のＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴから受け取られる。パッドは、ＳＳＢＩマスター１１１０からのＳＳＢＩ＿ＤＡＴＡ＿ＯＥに応答してイネーブルにされる（すなわち駆動される）。キーパー及びプルデバイス等のその他の機能も導入可能である（詳細は示されていない）。ＳＳＢＩマスター１１１０は、ＳＳＢＩプロトコルに従って送信及び受信する。
【００４６】
図１３は、単線でのＳＳＢＩ通信用に構成されたスレーブデバイス２３０を描いた図である。様々なブロック、レジスタ、機能、等がＳＳＢＩスレーブ１３１０とインタフェース可能である（詳細は示されていない）。ＳＳＢＩスレーブ１３１０は、図１１に示されるデバイス２２０等のマスターデバイスの指示に従い、書き込みアクセスからのデータ、及び読み取りアクセスのためのソースデータを提供することができる。ＳＳＢＩスレーブ１３１０は、その他のコマンド又は信号を受信又は生成することも可能であり、幾つかの例が以下において詳細に説明されている。スレーブデバイス２３０は、パッド１３２０に接続されたＳＳＢＩ＿ＤＡＴＡにおいてデータを送信又は受信する。一パッド例が上述されている。パッド入力（ＰＩ）は、ＳＳＢＩスレーブ１３１０のＳＳＢＩ＿ＤＡＴＡ＿ＩＮに引き渡される。パッド１３２０に関する出力は、ＳＳＢＩスレーブ１３１０のＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴから受け取られる。パッドは、ＳＳＢＩスレーブ１３１０からのＳＳＢＩ＿ＤＡＴＡ＿ＯＥに応答してイネーブルにされる（すなわち駆動される）。キーパー及びプルデバイス等のその他の機能も導入可能である（詳細は示されていない）。ＳＳＢＩスレーブ１３１０は、ＳＳＢＩプロトコルに従って送信及び受信する。
【００４７】
マスターデバイス２２０等のベースバンドプロセッサにおいて、単線インタフェースと３線インタフェースの組合せを提供するように一組のピンを構成可能である。例えば、１２本のピンを割り当てて、様々なバスの組合せを提供するように構成することができる。例えば、１２の単線インタフェース又は４つの３線インタフェースを使用することができる。又は、１つの３線インタフェースを９つの単線インタフェースとともに使用することができる。又は、２つの３線インタフェースを６つの単線インタフェースとともに使用することができる。又は、３つの３線インタフェースを３つの単線インタフェースとともに使用することができる。これらのピンの制限された部分組は、多数のバスインタフェース型において使用して構成させることも可能である。ピンは、代替として、ＳＳＢＩ以外の目的又はＳＢＩ以外の目的のために構成させることも可能である。当業者は、ピンと構成可能なバス型の非常に数多くの組合せを本発明の適用範囲内において使用可能であることを認識するであろう。
【００４８】
単線バスに切り換えることによって、より少ないピン数で追加のバスを導入することが可能であり、さらに１つのバスを共有するコンポーネント数を減らすことができる。例えば、ポイントツーポイント単線バスの導入は、共有バスと比較して干渉を低下させることを可能にし、さらに、ポイントツーポイント接続は共有バスにおいて要求される帯域幅スケジューリングを不要にするため、トラフィックのスケジューリングがより単純になり、レーテンシー問題を回避することができる。
【００４９】
図１２は、ＳＳＢＩ又はＳＢＩをサポートするように構成されたマスターデバイス例２２０を描いた図である。同図においては３本のピンが示されており、これらのピンは、３線インタフェースに関して又は代替として３つの１線インタフェースに関して使用することができる。３つのＳＳＢＩマスター１１１０Ａ乃至Ｃ、及び１つのＳＢＩマスター１２２０が存在する。３つのパッド１２５０Ａ乃至Ｃは、マルチプレクサ１２３０Ａ乃至Ｃ及び１２４０Ａ乃至Ｃをそれぞれ介して信号を受信する。これらのマルチプレクサは、ＳＢＩモード又はＳＳＢＩモードのいずれのモードが選択されるかを示す信号ＳＳＢＩ＿ＭＯＤＥを介して制御される。
【００５０】
ＳＢＩマスター１２２０は、当業においては既知であり、本明細書においては詳述されない。ＳＢＩマスター１２２０の一実施形態例は、あらゆる型であることができる。当業者は、上述されているＳＢＩシステムの要求を満たすために、先行の開発済みＳＢＩデバイス又は回路を容易に適合させることになるか又は新しいデバイスを考案することができる。以下においてＳＳＢＩマスター例１１１０が詳細に説明される。一ＳＳＢＩマスター例は、（後述される）その他のデバイスとの互換性を容易にするために、上述されているＳＳＢＩプロトコルを実行することができ、又はＳＢＩプロトコルに従って動作することもできる。
【００５１】
パッド１２５０Ａは、ＳＢＩモードにおいてはＳＢＣＫを提供するために用いられ、ＳＳＢＩモードにおいてはＳＳＢＩ＿ＤＡＴＡ０である。パッド入力（ＰＩ）は、ＳＳＢＩ＿ＤＡＴＡ＿ＩＮとしてＳＳＢＩマスター１１１０Ａに引き渡される。パッド出力は、マルチプレクサ１２３０ＳＡを通じて提供され、ＳＳＢＩモードにおいてはＳＳＢＩマスター１１１０ＡからのＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴ、ＳＢＩモードにおいてはＳＢＩマスター１２２０からのＳＢＣＫである。出力イネーブル（ＯＥ）はマルチプレクサ１２４０Ａを通じて提供され、ＳＳＢＩモードにおいてはＳＳＢＩマスター１１１０ＡからのＳＳＢＩ＿ＤＡＴＡ＿ＯＥであり、ＳＢＩモード中はハイに設定される（ＳＢＣＫは３状態信号ではないため常に出力である）。
【００５２】
パッド１２５０Ｂは、ＳＢＩモードにおいてはＳＢＳＴを提供するために用いられ、ＳＳＢＩモードにおいてはＳＳＢＩ＿ＤＡＴＡ１である。パッド入力（ＰＩ）は、ＳＳＢＩ＿ＤＡＴＡ＿ＩＮとしてＳＳＢＩマスター１１１０Ｂに引き渡される。パッド出力は、マルチプレクサ１２３０Ｂを通じて提供され、ＳＳＢＩモードにおいてはＳＳＢＩマスター１１１０ＢからのＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴ、ＳＢＩモードにおいてはＳＢＩマスター１２２０からのＳＢＳＴである。出力イネーブル（ＯＥ）はマルチプレクサ１２４０Ｂを通じて提供され、ＳＳＢＩモードにおいてはＳＳＢＩマスター１１１０ＢからのＳＳＢＩ＿ＤＡＴＡ＿ＯＥであり、ＳＢＩモード中はハイに設定される（ＳＢＳＴは３状態信号ではないため常に出力である）。
【００５３】
パッド１２５０Ｃは、ＳＢＩモードにおいてはＳＢＤＴを提供するために用いられ、ＳＳＢＩモードにおいてはＳＳＢＩ＿ＤＡＴＡ２である。パッド入力（ＰＩ）は、ＳＳＢＩ＿ＤＡＴＡ＿ＩＮとしてＳＳＢＩマスター１１１０Ｃに引き渡され、さらにＳＢＤＴ＿ＩＮとしてＳＢＩマスター１２２０に引き渡される。パッド出力は、マルチプレクサ１２３０Ｃを通じて提供され、ＳＳＢＩモードにおいてはＳＳＢＩマスター１１１０ＣらのＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴ、ＳＢＩモードにおいてはＳＢＩマスター１２２０からのＳＢＤＴ＿ＯＵＴである。出力イネーブル（ＯＥ）は、マルチプレクサ１２４０Ｃを通じて提供され、ＳＳＢＩモードにおいてはＳＳＢＩマスター１１１０ＣからのＳＳＢＩ＿ＤＡＴＡ＿ＯＥであり、ＳＢＩモード中はＳＢＩマスター１２２０からのＳＢＤＴ＿ＯＥである。
【００５４】
マイクロプロセッサ、又はアクセス要求を出すその他のデバイスへのインタフェースは示されていない。各ＳＳＢＩマスター１１１０及びＳＢＩは、各々のＳＳＢＩインタフェース又はＳＢＩインタフェースを通じて読み取りアクセス及び書き込みアクセスを行うためのインタフェースを備えることができる。代替実施形態においては、複数のデバイスがＳＢＩマスター又はＳＳＢＩマスターとインタフェースを共有することができ、従って、これらの複数のデバイス（図示されていない）間においてアクセスを仲裁するためのアービターを使用することができる。
【００５５】
代替実施形態においては、ＳＳＢＩマスターは、希望に応じて、１線サポート又は３線サポートを用いてＳＢＩ及びＳＳＢＩの両プロトコルをサポートするようにすることが可能である。該実施形態は詳述されていないが、当業者は、希望する場合は、本明細書において説明されている実施形態がこのサポートを行うように容易に適合させることができる。
【００５６】
図１２に示されているマスターデバイス２２０は、３線技術から単線技術に移行するのに適したデバイスの一例である。マスターデバイス２２０は、ＳＢＩプロトコルを用いてレガシー３線スレーブデバイスと通信することができる。さらに、最高３つの異なる単線スレーブデバイス、例えば図１３に示されるスレーブデバイス２３０、とのＳＳＢＩ通信を行うことも可能である。希望される場合は、ＳＳＢＩマスター１１１０は、その他のデバイスとの適合性を確保するためにＳＢＩプロトコルの一部又は全部をサポートするように希望に応じて修正することができる。
【００５７】
スレーブデバイス２３０に関して３線ＳＢＩインタフェースから単線インタフェースに移行するための１つの技術が図１４に示されている。この実施形態においては、ＳＢＩスレーブ１４１０（新しい設計であること、又は設計済みのＳＢＩと適合可能なデバイスであることができる）がＳＳＢＩスレーブコンバータ１４２０と結合される。アクセスは、ＳＢＩスレーブ１４１０とのインタフェース（図示されていない）を介してのアクセス（スレーブデバイス２３０への書き込み又はスレーブデバイス２３０からの読み取り）が行われる。ＳＢＩスレーブデバイス２３０は、３線、及びＳＢＩプロトコルを用いて通信する。これらの３線は、ＳＳＢＩスレーブコンバータ１４２０によってインターセプトされ、ＳＳＢＩスレーブコンバータ１４２０は、単線通信を許容するために要求される変換を行う。この例においては、３線通信もサポートされ、このため、このスレーブ２３０は、ＳＢＩマスター又はＳＳＢＩマスターのいずれとも通信することができる。ＳＳＢＩスレーブコンバータ実施形態例が以下において詳細に説明されるが、当業者にとっては、本明細書において示される教義に鑑みてその他の実施形態も明確に理解できるであろう。スレーブデバイス２３０の代替実施形態においては、ＳＳＢＩスレーブは、両方のプロトコルをサポートするように設計することができる。図１４に示されるコンバータ１４２０を設計する１つの利点は、既存のスレーブデバイス２３０を３線インタフェースに関して既に設計可能であることと、新しい単線インタフェースを用いたマーケティングを迅速化するために、既存のコアを再設計する必要なしにコンバータをデバイス内に単純に挿入できることである。
【００５８】
図１４のスレーブデバイス２３０においては、ＳＢＣＫ入力は、パッド１４３０を介して受信されてＳＳＢＩスレーブコンバータ１４２０のＳＢＳＴ＿ＩＮに引き渡される。
【００５９】
ＳＢＳＴ入力は、パッド１４４０を介して受信されてＳＳＢＩスレーブコンバータ１４２０のＳＳＢＩ＿ＩＮに引き渡される。これらの入力は、ＳＢＩ通信のために使用され、さらに（後述されるように）ＳＳＢＩモードをイネーブルにするために使用することができる。パッド１４５０は、ＳＢＩモードでＳＢＤＴを受信及び送信するか又はＳＳＢＩモードでＳＳＢＩ＿ＤＡＴＡを受信及び送信する。パッド１４５０へのパッド入力（ＰＩ）の接続は、ＳＳＢＩスレーブコンバータ１４２０のＳＳＢＩ＿ＤＡＴＡ及びＳＢＩスレーブ１４１０のＳＢＤＴ＿ＩＮの両方に接続される。パッド１４５０へのパッド出力（ＰＯ）及び出力イネーブル（ＯＥ）の接続は、ＳＳＢＩスレーブコンバータ１４２０のＳＢＤＴ＿ＰＯ＿ＯＵＴ及びＳＢＤＴ＿ＯＥ＿ＯＵＴからのそれぞれの出力である。さらに、ＳＳＢＩスレーブコンバータ１４２０は、ＳＳＢＩ＿ＣＬＫにおけるクロック入力ＣＬＫ、及びリセット信号ＲＥＳＥＴも受信する。これらの信号は、スレーブデバイス２３０の内部において生成することができ、又は外部において生成することも可能である。
【００６０】
ＳＳＢＩスレーブコンバータ１４２０は、ＳＢＩスレーブ１４１０とインタフェースするためのＳＢＩ信号を生成及び受信する。ＳＢＣＫ＿ＯＵＴ及びＳＢＳＴ＿ＯＵＴが生成され、ＳＢＩスレーブ１４１０のＳＢＣＫ及びＳＢＳＴにそれぞれ接続される。ＳＢＤＴ＿ＰＯ及びＳＢＤＴ＿ＯＥは、ＳＳＢＩスレーブコンバータ１４２０においてインターセプトされてＳＢＳＴ＿ＰＯ＿ＩＮ及びＳＢＤＴ＿ＯＥ＿ＩＮとしてそれぞれ受信される。
【００６１】
この実施形態例におけるＳＳＢＩスレーブコンバータ１４２０は、その他の信号も生成する。ＳＳＢＩ＿ＭＯＤＥは、アサートされた時に、スレーブデバイス２３０がＳＳＢＩモードで動作中であることを示す。その他の場合は、該スレーブデバイスはＳＢＩモードで動作中である。この信号は、後述される変換のために使用され、外部ブロックが任意で使用する出力として引き渡される。クロックのディスエーブル化を管理するための信号も生成され、これらの信号は、節電又はその他の目的のために１つ以上のクロックをディスエーブル又はイネーブルにするために使用することができる。信号ＴＣＸＯ＿ＤＩＳは、クロックをディスエーブルにするためにアサートされる。信号ＲＥＳＥＴ＿ＴＣＸＯ＿ＤＩＳは、クロックを再度イネーブルにするためにアサートされる。図１４に示される信号の各々の使用を例示した実施形態例が以下においてさらに詳細に説明される。
【００６２】
ＳＳＢＩスレーブコンバータブロック１４２０は、１線モードと３線モードの間において多重化するために、スレーブがこれらのいずれのモードにあるかを決定することができる。モード決定は、パッド（すなわち、パッド１４３０及び１４４０）からのＳＢＣＫ及びＳＢＳＴを検査することによって行われる。３線モードにおいては、ＳＢＳＴ＝１及びＳＢＣＫ＝０の状態は絶対に存在せず、従ってＳＢＩ／ＳＳＢＩ多重化を制御するＳＳＢＩ＿ＭＯＤＥをアサートするために該状態を使用することができる。上述されるように、この例においては、ＳＳＢＩ＿ＭＯＤＥは、その他の様々な目的のために必要な場合はＳＳＢＩスレーブコンバータ１４２０からも出力される。この機能を例示する実施形態例が以下において詳細に説明される。
【００６３】
図１４に示されるスレーブデバイス２３０は、上述されるように、１線通信又は３線通信のいずれに関しても使用可能である。一実施形態例においては、このスレーブデバイス２３０は、単線ＳＳＢＩ通信のみをサポートするように構成することができる。図１３は、ＳＳＢＩ通信専用のＳＳＢＩスレーブ１３１０から成るスレーブデバイスを示した図である。図１５は、図１４に示されるＳＢＩスレーブ１２２０とＳＳＢＩスレーブコンバータ１４２０を具備するスレーブデバイス２３０をＳＳＢＩモード専用に使用可能な構成を示した図である。この例においては、ＳＢＣＫ入力は、アースに連結することができる。ＳＢＳＴは、ハイの状態で連結することができる。このことは、ＳＳＢＩスレーブコンバータ１４２０がＳＳＢＩモードにとどまるように指示することになる。モードピン及びその他の選択デバイスは必要ないことに注目すること。従って、ＳＳＢＩ＿ＤＡＴＡをＳＢＤＴ／ＳＳＢＩ＿ＤＡＴＡ共同パッドに直接接続することができ、それによってＳＳＢＩ通信を行うことができる。
【００６４】
図１６は、基本的には図１５に示されていることと同じことを行う他の実施形態を示した図である。しかしながら、この例においては、ＳＢＣＫ＿ＩＮ及びＳＢＳＴ＿ＩＮに関するピンを取り除くことが可能である（すなわち、パッド１４３０及び１４４０が取り除かれるか又はその他の目的のために使用される）。スレーブデバイス２３０の内部においては、ＳＳＢＩスレーブコンバータ１４２０へのＳＢＣＫ入力はローの状態で連結され、ＳＢＳＴはハイの状態で連結される。従って、１線/３線結合スレーブを設計することができ、これらの単純な修正によってＳＢＩモードに関する余分のピンが不要になる。残りの接続は、図１４に関する説明と同一である。
【００６５】
１線から３線への変換を行うために様々な技術を使用することができる。ＳＳＢＩスレーブコンバータブロック１４２０は、ＳＢＤＴデータストリームを検査してＳＢＣＫ及びＳＢＳＴを生成する。以下において詳述される様々な実施形態例は、この変換を行うための技術を示したものである。特に、変換に伴って３つの課題が生じる可能性がある。第１に、１線方式のデータ速度を３線方式と一致させるべきである。第２に、１回の転送における可変数のレジスタ読み取りと書き込みをサポートすることができる必要がある。第３に、スレーブＳＢＩブロックは、複数のアクセス転送中に有効にリセットする必要がある。
【００６６】
第１の課題に関して、１線方式及び３線方式が同じデータ速度を採用している場合は、この課題は明らかに解決済みである。これらの方式が同じデータ速度を採用していない場合は、これらの２つの方式間でのデータ速度の違いに対応するためのバッファを用いることができる。当業者は、様々な実施形態において正確なバッファリングを行う方法を理解することになり、このため該バッファリングは本明細書においては詳述されない。以下の実施形態例においては、ＳＢＩインタフェースとＳＳＢＩインタフェースとの間において共通の速度が共有されているが、その他の代替実施形態も構想されている。
【００６７】
第２の課題に関しては、３線ＳＢＩプロトコルは転送の開始と終了を表すためにＳＢＳＴを使用し、従って、所定の転送は、１つ以上のレジスタ読み取り及び書き込みを含むことができる。１線バスを用いた場合は、マルチアクセス転送の最後のレジスタアクセスが完了されたときにスレーブに知らせる必要がある。一実施形態においては、予想すべきレジスタアクセス数を指定したヘッダを各転送に加えることができる。この追加は、オーバーヘッドを導入する可能性がある。代替実施形態においては、最後のレジスタアクセスが完了後に終了シンボルを送信することができる。この送信もオーバーヘッドを追加させるが、該オーバーヘッドは、ヘッダを用いた場合よりも低くなる。以下において詳細に説明される実施形態においては、第２の課題を解決するために終了シンボルが使用される。前記終了シンボルが受信機によって観測された時点で、該受信機は、転送が終了していることを知り、アイドル状態に入って次の開始ビットを待つことができる。前記終了シンボルは、この動作モードに関して使用時、具体的には３線プロトコル及び１線プロトコルの両プロトコルをサポートする必要があるスレーブとインタフェース時には任意で挿入される。前記終了シンボルは、代替実施形態においては導入する必要がない。
【００６８】
終了シンボルは、正規のデータストリームに関して一意にする必要がある。この実施形態例においては、終了シンボルは、４サイクルに関する各クロックサイクルごとに交互する一つのシーケンスの高値と低値であると定義される。本明細書において詳述される実施形態例においては、該シーケンスは１０１０であるが、当業者にとっては代替シーケンスも明確に理解できるであろう。信号は、通常の通信において２つのクロックサイクルごとに交互する代わりに、終了シーケンスにおいて各クロックサイクルごとに交互するため、データストリーム内において一意で区別される。従って、終了シーケンス（“Ｔ”）は何時でも送信することが可能である。以下では、終了シンボルを検出するための受信機回路例が図３４に関して詳細に説明され、該図は、終了シンボルを含むデータラインに関する波形を示している。
【００６９】
第３の課題に関しては、スレーブＳＳＢＩブロックは、終了シンボルが転送完了時点を決定するのを待つ。従って、スレーブが転送中にマスターがアイドル状態に入ったときにこれらのマスターとスレーブが非同期状態になる可能性がある。このように状況においては、スレーブは、マスターが開始させる次の転送が終了するまで無期限にこの状態にとどまる。このため、スレーブがより素早くアイドル状態になるように強制するために、終了シンボルを独断的に送信するためのオプションが提供される。以下の詳細な実施形態において該技術が説明される。
【００７０】
ＳＳＢＩマスター
ＳＳＢＩマスターを含むいずれの実施形態においても、１つ以上のＳＳＢＩマスターブロック１１１０を使用することができる。ＳＳＢＩマスター１１１０は同一であることができ、又は１つ以上のＳＳＢＩマスター１１１０を何らかの方法でカスタム化することが可能である。本節においては、ＳＳＢＩマスターブロック例１１１０が説明される。この例に関するポートの詳細が表２に示されている。書き込み手順及び読み取り手順に関するタイミング図の詳細が図１７及び１８にそれぞれ示されている。マスターデバイス及びスレーブデバイスにおけるクロック間の相関関係が図１９に示されている。図２０乃至２２は、ＳＳＢＩマスター例１１１０において使用するのに適した論理例の各部分の詳細を示した図である。これら実施形態例は例示することのみを目的とするものであって本明細書における教義に鑑みて様々な代替実施形態も可能であることが当業者に明確になるであろう。
【００７１】
一ＳＳＢＩマスター例は次のような特性を有することができる。すなわち、信号が浮動しないようにするためのキーパー及びイネーブルにすることができるプルダウンデバイス（詳細は示されていない）を備えた状態でＳＳＢＩ＿ＤＡＴＡ用のパッド（すなわち１１２０）とともに動作することができる。代替のパッド構成に関する修正は、当業者にとって明確に理解できるであろう。現在のＳＳＢＩトランザクションが完了しているかどうかをソフトウェアが決定するのを可能にする状態ビットを提供することができる。読み取りに関しては、これらのトランザクションは、要求中の論理又はソフトウェアアプリケーションが戻されたデータを読み取るまで完了されたとみなすことができない。ハードウェアイネーブル信号がアサートするまでＳＳＢＩコマンドを無効な状態に保持することができるか又は該イネーブル信号が既にアサートされている場合はただちに有効になるようなモードを提供することができる。例えば、スレーブデバイスが一貫した状態にあるときに該スレーブデバイスの測定を行うことができる。書き込みが発生している時点を示す出力信号を提供することができる。従って、要求中の論理又はアプリケーションは、完了された書き込みに関する知識を利用して後続の行動をすることが可能である。この機能は、例えば校正を必要とするＲＦＩＣ等のスレーブデバイスを構成時に役立つ。
【００７２】
ＳＳＢＩマスター１１１０は、読み取り要求または書き込み要求を１線ＳＳＢＩバスでのシグナリングに変換することを担当する。このブロックは、ＳＳＢＩバスからの読み取りレジスタデータを非シリアル化することも担当している。複数の制御当事者（ホストと呼ばれる）からの要求を仲裁するための任意のＳＳＢＩアービターブロック（図示されていない）を導入することができる。アービターは、ＳＳＢＩマスター１１１０によって予想されるシグナリングと同じシグナリングを用いるホストからの要求を受け取る。アービターは仲裁を行い、最終的に認められたホストの要求が通過することを許容し、その他のホストからの要求を抑止する。ホストの型に依存して、異なる論理を使用することができる。ＳＳＢＩマスター１１１０は、ホスト、すなわちマイクロプロセッサがソフトウェアを通じてＳＳＢＩによるアクセスをプログラミングできるようなインタフェースを提供するために使用することができる。例えば３つのホストとともに展開されるシステムは、アービター及び１つ以上のＳＳＢＩマスターを含む基本ブロックを用いて展開させることができ、他方、１つのホストのみを要求するシステムは、アービターなしで展開させることができ、該ホストは、ＳＳＢＩマスターバスインタフェースと直接インタフェースすることが可能である。
【００７３】
実施形態を採用する際の柔軟性を示す一例として、様々なＳＳＢＩブロックをパラメータで表すためのハードウェアパラメータＳＳＢＩ＿ＤＡＴＡ＿ＷＤが定義されている。図１７乃至１９、２４と２５、２８、３３と３４、及び関連図において描かれている読み取り／書き込みタイミング波形は、ＳＳＢＩ＿ＤＡＴＡ＿ＷＤ＝８に対応する。
【００７４】
図１７乃至２２は、ＳＳＢＩマスター１１１０の一実施形態例を示した図である。この実施形態は、ネイティブＳＳＢＩフォーマットのみをサポートする必要があるときに採用するのに適している。様々な代替実施形態に関して様々な修正を行うことが可能である。以下では、ＳＳＢＩバスを通じてのＦＴＭ転送（レガシーＳＢＩフォーマットの一例）をサポートするための本実施形態の修正が代替実施形態において説明され、図２８乃至３１に関して詳述される。
【００７５】
上述されるように、１つ以上の様々な型のホストが、通信のための１つ以上のアービター及びその他のインタフェース論理を用いて、ＳＳＢＩマスター１１１０とインタフェースすることができる。一実施形態例においては、これらのホストの１つ以上は、マイクロプロセッサ、ＤＳＰ、その他の汎用又は専用のプロセッサ、又は該インタフェースに関して使用されるその他の論理であることができる。表２に示されるように、例示を明確化するために入力信号と出力信号及び／又はコマンドが定義されている。これらの入力信号、出力信号及びコマンドは、以下において、これらの信号及びコマンドを生成するための実施形態例又はこれらの信号及びコマンドに応答するための実施形態例とともにさらに詳細に説明される。当業者は、使用可能な様々な代替インタフェース設計を理解するであろう。マイクロプロセッサ等の様々なホストは、書き込み、読み取り、及び状態結果と信号を戻す等のアクセスを行うための様々なインタフェースを有することが可能であるため、当業者は、例示されているインタフェースを容易に修正すること、又は様々な型の１つ以上のホストとインタフェースするための適切な論理を決定することができる。次の説明では、説明を明確化するためにこれらの詳細は省略される。一般例として、ホストは、読み取り、書き込み、データ、アドレス、及びその他の信号のあらゆる組合せを用いてＳＳＢＩマスターとインタフェースしてコマンドを生成すること及びパラメータを設定することができる。パラメータを設定するため又はコマンドを出すために、予め定義されたレジスタ又はその内部のビット記憶場所への書き込み又は該レジスタ又はビット記憶場所からの読み取りを使用することができ、この技術は、当業においてはよく知られている技術である。
【００７６】
ＳＳＢＩマスター１１１０は、ＳＳＢＩバスとインタフェースする。ＳＳＢＩマスター１１１０は、実行すべきＳＳＢＩコマンドを記述する信号を受信し、シリアルＳＳＢＩデータストリームを生成又はモニタリングする。このＳＳＢＩ例は、どれだけの数のエンティティ（すなわちホスト）がＳＳＢＩコマンドを開始することができるかに関して両面的価値を有しており、このブロックの外部においてあらゆる希望される仲裁又は多重化が対処される。この例においては、ＳＳＢＩマスターは、アクセス要求またはその他のコマンドを受け取るまでアイドル状態である。ＳＳＢＩマスターは、アクセス要求またはその他のコマンドを受け取った時点で、確認応答ラインをアサートし、トランザクションを実行し、アクセスが完了した時点で完了ラインに関するパルスを生成し、次のアクセスを開始させる準備が完了していることを示す。読み取り及び書き込みの両方に関して、トランザクションがサンプリング済みであって開始中であるときに確認応答信号がパルスする。どのような論理（すなわちホスト）が要求を行った場合も、次の要求の準備を行うためにレジスタ情報（アドレス、データ、等）を変更することができ、希望する場合は要求ラインを再度アサートすることができる。第１のアクセスが完了された時点で、完了信号がアサートする。書き込みコマンドは完了信号のモニタリングを要求できない一方で、該情報が要求中のアプリケーションのいずれかの一部分に関して有用であることを除き、完了信号は、戻されたデータを読み取りのためにサンプリングするのに有用である。
【表２】
2010211810.tif 000004
【００７７】
書き込み及び読み取りに関するタイミング図が図１７及び１８にそれぞれ示されている。これらの図に対応する説明は、図２０乃至２２に関して詳述されている以下の実施形態例に対しても当てはまる。両方のアクセス型に関して、別々のＳＳＢＩ＿ＤＡＴＡ＿ＩＮ及びＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴの代わりに結合されたＳＳＢＩ＿ＤＡＴＡバスが示されている。パッド回路の一構成例においては、ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴ上のすべてのものがＳＳＢＩ＿ＤＡＴＡ＿ＩＮ上に現れる。書き込みの場合は、ＳＳＢＩ＿ＤＡＴＡ＿ＩＮは無視される。読み取りの場合は、ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴは、ＳＳＢＩ＿ＤＡＴＡ＿ＯＥが要求されたときのみにＳＳＢＩ＿ＤＡＴＡパッド上に駆動される。ＳＳＢＩ＿ＤＡＴＡに関する波形は、表記法ＲＷを使用して読み取り／書き込みビットを表し（この例においては、１が読み取り、０が書き込み）、アドレスビットの場合がＡ７乃至Ａ０，データビットの場合がＤ７乃至Ｄ０（ＳＳＢＩ＿ＤＡＴＡ＿ＷＤ＝８）、ポーズビットの場合がＰである。代替実施形態は、上記よりも小さいか又は大きいアドレス空間、及び異なるデータ幅（すなわち、ＳＳＢＩ＿ＤＡＴＡ＿ＷＤ＝８でない）を含むことが可能である点に注目すること。
【００７８】
ＳＳＢＩマスターは、リセットされてアイドル状態になり（ＳＴＡＴＥライン上で示される）、ＲＥＱがアサートするのを観測するまでアイドル状態にとどまる。ＲＥＱがアサートした時点で、ＳＳＢＩマスターは、その他の入力信号をサンプリングし、ＡＣＫをアサートし、ＳＳＢＩ＿ＤＡＴＡ上に出力されるシリアルデータストリームを生成する。該アクセスの終了時に、変換が完了していることを示すＤＯＮＥがパルスされる。ＡＣＫがアサートした時点で、次のクロックサイクル以降において、次のアクセスに関するＲＥＱをアサートすることができる。該アクセスは、現在のアクセスが完了するまで保留される。この例においては、ＲＥＱ、ＡＤＤＲ、ＷＲ＿ＤＡＴＡ（書き込みの場合）及びＲＥＡＤは、ＡＣＫが次のアクセスに関してアサートするまでは該アクセスに関するパラメータを反映させることになり（これらのパラメータは該アサート後に後続するアクセスに関して変化することができる）。図１７及び１８においては、第２のアクセス（ＲＥＱ及びＡＣＫ）は点線で示されている。第１の要求が完了する前に第２の要求が行われた場合は、ＳＳＢＩマスターは、介在するアイドルシンボルなしで次の転送を開始することができる。スレーブは、開始シンボルを検出るためにローからハイへの遷移を観測する必要がないようにすべきである。スレーブは、先行するアイドルシンボルなしで開始シンボルをサンプリングできるようにすべきであり、ＳＳＢＩマスターは、このオプションをサポートするように設計することが可能である。しかしながら、この実施形態においては、各転送間において希望に応じて１乃至３のアイドルシンボルをアサートするために、ソフトウェアによってプログラミング可能なパラメータＩＤＬＥ＿ＳＹＭＳが定義されている。
【００７９】
図１７において、ＲＥＱがアサート時に、ＡＤＤＲ、ＷＲ＿ＤＡＴＡ及びＲＥＡＤが開始ビットとともにサンプリングされてシフトレジスタ（すなわち、シフトレジスタ２１３０と２１４０、及びフリップフロップ２１１０）内に入れられる。ＳＴＡＴＥは、ＳＡＭＰＬＥ（１）になり、ＳＴＢがトグルを開始する。ＳＴＢは、送信されたシンボルをＢＩＴＣＮＴにカウントさせるカウンタイネーブルとして機能する。転送の１８の全ビット（開始ビット＋ＲＥＡＤ＋ＡＤＤＲ＋ＤＡＴＡ）が、１クロックサイクルおきにシフトレジスタによってシフトされる。最後のシンボル（Ｄ０）の後半中にＤＯＮＥがパルスされる。以下において紹介される他の信号ＤＯＮＥ＿ＤＥＬＸ（図１７には示されていない）もこの時点でパルスすることができ、又はＩＤＥＬ＿ＳＹＭＳシンボル時間後にパルスすることができる。未処理要求が存在していない場合は、ＤＯＮＥ＿ＤＥＬＸはＳＴＡＴＥをアイドル（０）にリセットし、ＳＳＢＩマスターは、ＲＥＱの次のアサーションを待つ。未処理要求が存在する場合は、ＤＯＮＥ＿ＤＥＬＸがアサートするサイクルと同じサイクル中にＲＥＱ信号が有効に観測され、後続サイクルにおいてＡＣＫをアサートさせ、ＳＴＡＴＥをＳＡＭＰＬＥ（１）に維持する。該転送は、第１の転送に関する説明どおりに続行する。
【００８０】
図１８は、読み取り動作を示した図である。該ブロックは、書き込みに関するステップと同じステップを実行するが、Ａ０が送信された時点でＳＳＢＩ＿ＤＡＴＡ＿ＯＥがデアサートする。これで、接続されたスレーブデバイスは、スレーブレジスタデータを戻すためのバスの制御を有する。該スレーブが該データを戻した時点で、別のポーズビットが存在しており、該ポーズビット後にマスターがバスを再駆動することができる。読み取りビットはシフトレジスタ（すなわち、シフトレジスタ２１３０及び２１４０）に入り、該シフトレジスタは、ＤＯＮＥアサーションに先行するサイクルにおいて再ラッチされる。この動作は、本例においては、ＲＤ＿ＤＡＴＡは大量の多重化又はその他の論理を提供中の可能性があるためＲＤ＿ＤＡＴＡが不必要にトグルするのを防止することを目的として行われる。ＲＤ＿ＤＡＴＡを受け取った論理は、ＤＯＮＥをイネーブルとして用いてサンプリングすることができる。後続する要求は、上述される書き込みと同じように処理することができる。
【００８１】
一考慮事項は、ＳＳＢＩマスターが読み取りビットに関するＳＳＢＩ＿ＤＡＴＡバスをサンプリングすべき時点である。理想的な事例においては、ＳＳＢＩ＿ＤＡＴＡバスは、マスターにとっては図１８に示されるようにみえるべきである。しかしながら、このような理想的な状況を妨げる様々な要因が存在する可能性がある。例えば、受信機におけるブラインド位相の検出に起因するサンプリング上の不確実性、及びパッド、ボード、及び内部チップに関する遅延を含む様々な遅延を挙げることができる。
【００８２】
図１９は、これらの現象を示した図である。最上部の波形は、ＳＳＢＩマスターにおけるＳＳＢＩ＿ＣＬＫを示している。第２の対の波形は、遅延がないと仮定した場合にＳＳＢＩ＿ＤＡＴＡがマスターデバイス及びスレーブデバイスにおいてどのように見えるかを示した図である。第３の組の波形は、各方向においてＳＳＢＩ＿ＣＬＫサイクルの遅延の１／２の遅延が存在するときにどのような状況になるかを示した図である。この場合の影響としては、読み取りデータは、遅延が存在しない場合よりも１つの全クロック時間だけ遅れてマスターデバイスにおけるＳＳＢＩ＿ＤＡＴＡ上に現れる可能性がある。さらに、このスレーブデバイス例は、クロック時間内の２５乃至７５％の時点においてシンボルをサンプリングする。その結果、マスター側において正確な時間にデータのサンプリングが行われるかどうかが不確実である。
【００８３】
該実施形態例においては、これらの影響を軽減するためのある程度の柔軟性がＳＳＢＩマスター内に追加される。例えば、最高３つのクロック時間の遅延を処理できる強固なシステムを考慮した、ソフトウェアによってプログラミングされた２つの機能が存在する。
【００８４】
第１の機能は、ＳＳＢＩ＿ＤＡＴＡ＿ＩＮを遅延させることである。上述されるように、真のブラインド位相が検出されたと仮定した場合には、スレーブデバイスにおけるサンプリング上の不確実性は、マスターデバイスにおいて調整することができない。しかしながら、１つの所定のＳＳＢＩポートに関する遅延は、１つの所定のシステム展開においては相対的に固定されることになる。その結果、遅延がほとんどまったく存在しない場合は、サンプリングポイントをより早期にプルインすることができる。遅延が相対的に大きい場合は、サンプリングポイントをプッシュアウトすることができる。ＳＳＢＩマスター例においてこの動作を容易に達成させるために、入ってきたＳＳＢＩ＿ＤＡＴＡ＿ＩＮ信号を０、０．５、１又は１．５クロック時間だけ遅延させる柔軟性が追加されている。従って、すべての場合に関して、ＳＳＢＩ＿ＤＡＴＡ＿ＩＮの遅延されたＳＳＢＩ＿ＤＡＴＡ＿ＩＮがシンボル時間終了時に図１８においてサンプリングされる。いずれの所定の展開においても、その他の遅延（より少ない選択肢又はより多い選択肢を含む）を使用することができる（すなわち、０．５サイクル及び１．５サイクルのみ）。
【００８５】
第２の機能は、スレーブデバイスによって戻されたＲＤ＿ＤＡＴＡが取得されるＢＩＴＣＮＴサイクルの制御を可能にする。図１８においては、ＲＤ＿ＤＡＴＡはサイクル１９において入手可能であることが示されている。しかしながら、データは、１９よりも後のサイクルにおいても取得可能である。ＲＤ＿ＤＡＴＡが準備完了状態になる時間を与えるために、ＳＳＢＩマスターがＳＳＢＩ＿ＤＡＴＡラインの制御を取り戻す時点も調整可能である。この機能は、パラメータＳＥＬ＿ＲＤ＿ＤＡＴＡに基づいて制御される。例えば、ＳＥＬ＿ＲＤ＿ＤＡＴＡ＝００であるときには、以下において詳述される図２０及び２２の太字数字が図示されるように使用される。ＳＥＬ＿ＲＤ＿ＤＡＴＡ＝０１であるときには、これらの数字は１だけ増加される。
【００８６】
上記の設定は、様々な技術を用いて選択することができる。一技術は、設計者がタイミングを慎重に検討して様々な遅延を理解することである。代替として、試行錯誤手法が適切な場合がある。例えば、特定の値を予想するスレーブレジスタを単純に読み取り、戻された値が正しくない場合は設定を調整する手順を用いることができる。
【００８７】
図２０乃至２２は、ＳＳＢＩマスター例１１１０に導入するのに適した回路例を示した図である。当業者は、本明細書における教義に鑑みて様々な修正及び代替を明確に理解するであろう。図２０の最上部は、ＳＳＢＩ＿ＤＡＴＡ＿ＤＥＬに基づいてＳＳＢＩ＿ＤＡＴＡ＿ＩＮを遅延させる論理を示した図である。ＳＳＢＩ＿ＤＡＴＡ＿ＩＮ＿ＤＥＬは次のようにして生成される。すなわち、ＳＳＢＩ＿ＤＡＴＡがフリップフロップ２０１０及び２０３０内に提供される。図２０乃至２２のすべてのクロックされるデバイスは、ＳＳＢＩ＿ＣＬＫ又はその反転（クロック入力前部のバブルの従来の表記法で示される）によってクロックされる。フリップフロップ２０１０はＳＳＢＩ＿ＣＬＫの反転によってクロックされ、フリップフロップ２０３０はＳＳＢＩ＿ＣＬＫによって直接クロックされることに注目すること。フリップフロップ２０１０の出力は、フリップフロップ２０２０の入力に指向される。ＳＳＢＩ＿ＤＡＴＡ＿ＩＮは、フリップフロップ２０１０乃至２０３０の出力と同じように、マルチプレクサ２０４０の１つの入力に引き渡される。ＳＳＢＩ＿ＤＡＴＡ＿ＤＥＬは、マルチプレクサ２０４０の１つの入力を出力、すなわちＳＳＢＩ＿ＤＡＴＡ＿ＩＮ＿ＤＥＬとして選択するために使用される。
【００８８】
図２０において、ＩＤＥＬ＿ＳＹＭＳに基づいてＤＯＮＥ＿ＤＥＬＸを生成する論理が示されている。この例においては、ＤＯＮＥ＿ＤＥＬＸは、論理２０５０において、ＳＴＢのＡＮＤとして及び（ＮＯＴ  ＳＲＥＡＤ ＡＮＤ ＢＩＴＣＮＴ＝１７＋ＩＤＬＥ＿ＳＹＭＳ）及び（ＳＲＥＡＤ  ａｎｄ  ＢＩＴＣＮＴ＝１９  ＋  ＩＤＬＥ＿ＳＹＭＳ）のＯＲとして形成される。太字の数字はＳＥＬ＿ＲＤ＿ＤＡＴＡ＝０に対応すること、及びこれらの数字は上述されるようにその他の値に変更可能であることを思い出すこと。
【００８９】
図２１は、図１７及び１８に関して上述されるシフトレジスタチェーン全体を示した図である。このチェーンは、最下位ビットから始まり、ＳＳＢＩ＿ＤＡＴＡ＿ＷＤビットシフトレジスタ２１４０、９ビットシフトレジスタ２１３０、及びＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴを駆動するシングルレジスタ（又はフリップフロップ）２１１０によって構成される。この例においては、１ビットレジスタ２１１０は、最初に開始シンボルがプリローディングされる。信号ＲＥＱＰは、要求情報をシフトレジスタチェーン内にラッチするために使用される。９ビットシフトレジスタ２１３０は、読み取り／書き込みビット及びアドレスビットがプリローディングされる（＆は連結を表す）。ＳＳＢＩ＿ＤＡＴＡ＿ＷＤビットシフトレジスタ２１４０は、書き込み動作に関しては書き込みデータ、読み取り動作に関してはすべて０がプリローディングされる。０は、読み取り動作終了時に、この例においてはアイドル状態に関して使用されるＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴを提供する１ビットレジタス２１１０内に０が入るようにする。信号ＳＴＢは、シフトレジスタチェーンがシフトするのを可能にするために使用される。転送中は、ＳＴＢは、１クロックサイクルおきにアサートする（以下において詳細に説明される）。
【００９０】
シフトレジスタ２１４０へのシフト入力は、マルチプレクサ２１５０の出力として決定され、ＳＳＢＩ＿ＤＡＴＡ＿ＯＥがアサートされたときに０を選択し、その他の場合はＳＳＢＩ＿ＤＡＴＡ＿ＩＮ＿ＤＥＬを選択する。シフトレジスタ２１４０の並列出力は、ＲＤ＿ＤＡＴＡ＿ＰＲＥとして利用可能にすることができる。シフトレジスタ２１４０のシフト出力は、シフトレジスタ２１３０のシフト入力に接続される。シフトレジスタ２１４０のシフト出力は、この例においては他のオプション機能を示すための追加の論理を検出する。ＯＶＲ＿ＭＯＤＥがアサートされたときに、パラメータＯＶＲ＿ＶＡＬＵＥによって示された値がシフトレジスタ２１３０のシフト出力のＯＲ２１２０を（通常のＳＳＢＩの動作において用いられる）ＲＥＱＰでオーバーライドするのを許容するオーバーライドモードが定義されており、この例においてはマルチプレクサ２１６０において選択される。マルチプレクサ２１６０の出力は、フリップフロップ２１１０（ＲＥＳＥＴによってリセット可能なフリップフロップとして示される）の入力に引き渡される。フリップフロップ２１１０の出力は、ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴを生成する。
【００９１】
図２２は、ＳＳＢＩマスター１１１０に関する追加の制御論理を示した図である。ＳＴＡＴＥが１（セット／リセット（ＳＲ）フリップフロップ２２２０の出力）になった時点で、ＢＩＴＣＮＴを生成するためのカウンタ２２２８がイネーブルにされる。書き込みに関しては、シフトレジスタチェーン（２１１０、２１３０、及び２１４０）は、すべてのデータが出て行くまで１クロックサイクルおきにイネーブルにされ、該チェーン内に０がシフトされる。読み取りに関しては、開始シンボル及びアドレスビットがシフトアウトされ、０がシフトインされる。しかしながら、入り読み取りデータをサンプリング時には、書き込みデータに関して用いられるＳＳＢＩ＿ＤＡＴＡ＿ＷＤビットシフトレジスタ２１４０によってＳＳＢＩ＿ＤＡＴＡ＿ＩＮ＿ＤＥＬがサンプリングされる。読み取りデータのすべてのビットがシフトインされた時点で、ＲＤ＿ＤＡＴＡ＿ＰＲＥにおいて利用可能になり、ＤＯＮＥのアサーション前のサイクル内においてＲＤ＿ＤＡＴＡを生成するためにレジスタ２２０８において再ラッチされる。このイネーブルは、ＳＲＥＡＤ、ＮＯＴ  ＳＴＢ、ＮＯＴ  ＲＥＳＥＴ、及びＢＩＴＣＮＴ＝１９のＡＮＤとして形成される。
【００９２】
ＳＴＡＴＥは、ＳＲフリップフロップ２２２０の出力として生成される。ＳＲフリップフロップ２２２０へのセット入力は、ＲＥＱ及びＮＯＴ  ＲＥＳＥＴのＡＮＤ２２１６として形成される。ＳＲフリップフロップ２２２０へのリセット入力は、ＤＯＮＥ＿ＤＥＬＸ及びＲＥＳＥＴのＯＲ２２１８として形成される。
【００９３】
ＳＴＢ（ＣＮＴ＿ＥＮとも呼ばれる）は、リセット可能フリップフロップ２２２４の出力として形成される。このフリップフロップへの入力は、その出力の反転２２２６であり、従って、フリップフロップがリセットされていないときに１クロックサイクルごとに交互するＳＴＢが生成される。リセット入力は、ＲＥＱＰ及びＮＯＴ  ＳＴＡＴＥのＯＲ２２２２として形成される。
【００９４】
ＢＩＴＣＮＴ（この例においては５ビット信号であり、代替実施形態は、図２０乃至２２を通じて代替値を要求する異なるパラメータを提供することができる）は、カウンタ２２２８の出力として形成される。カウンタ２２２８のリセットは、フリップフロップ２２２４のリセットと同一である。カウンタ２２２８のイネーブルはＣＮＴ＿ＥＮ（又はＳＴＢ）であり、上述されるように、送信中または受信中におけるカウントを可能にする。
【００９５】
ＳＲＥＡＤは、フリップフロップ２２１０の出力として形成され、信号ＲＥＳＥＴを通じてリセットされる。フリップフロップ２２１０は、ＲＥＱＰによってイネーブルにされる。フリップフロップ２２１０へのＤ入力は、ＲＥＡＤである。
【００９６】
この例においては、その他の論理によって使用するために信号ＲＥＡＤ＿ＲＥＱ＿ＳＥＲＶＥＤがＳＲＥＡＤ及びＳＴＡＴＥのＡＮＤ２２３０として生成される。
【００９７】
ＲＥＱＰは、ＲＥＱのＡＮＤ２２０４及びＮＯＴ  ＳＴＡＴＥ（ＳＴＡＴＥ＿ＩＮＶ）とＤＯＮＥ＿ＤＥＬＸのＯＲ２２０２として形成される。ＲＥＱＰは、ＡＣＫを生成するためにフリップフロップ２２０６において１クロックサイクルだけ遅延される。
【００９８】
この例においては、リセット時に、ＳＴＡＴＥ及びＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴが同期的にクリアされる。ＳＳＢＩ＿ＤＡＴＡ＿ＰＤＥＮは、非同期的にセットしてＳＳＢＩ＿ＤＡＴＡ＿ＯＥをローにする。この例においては、ソフトウェアアプリケーションは、何らかのＳＳＢＩ活動を開始時に、制御レジスタに書き込むか、又は何らかの代替のシグナリング技術を用いてＳＳＢＩ＿ＤＡＴＡ＿ＰＤＥＮビットをリセットする。このリセットは、ＳＳＢＩ＿ＤＡＴＡ＿ＯＥを“１”に変更し、ＳＳＢＩマスター１１１０は、（上述されるように）ＳＳＢＩ＿ＤＡＴＡにおいて“０”の駆動を開始する。以上のように、ＳＳＢＩ＿ＤＡＴＡ＿ＯＥは、ＮＯＴ ＳＳＢＩ＿ＤＡＴＡ＿ＰＤＥＮ及びフリップフロップ２２１２の出力のＡＮＤ２２１４として形成される。フリップフロップ２２１２は、ＲＥＳＥＴでリセットされる。フリップフロップ２２１２は、ＳＴＢによってイネーブルにされる。フリップフロップ２２１２へのＤ入力は、ＢＩＴＣＮＴ＜９、ＢＩＴＣＮＴ≧１９、及びＮＯＴ  ＳＲＥＡＤのＯＲとして形成される。
【００９９】
繰り返しになるが、太字の数字はＳＥＬ＿ＲＤ＿ＤＡＴＡ＝０に対応し、これらの数字は上述されるようにその他の値に関して修正可能であることを思い出すこと。図２２内のすべてのレジスタは、ＳＳＢＩ＿ＣＬＫによってクロックされる。
【０１００】
ＳＳＢＩスレーブ
図２３は、ＳＳＢＩスレーブ１３１０の一実施形態例を示した図である。ＳＳＢＩスレーブバスインタフェース例のポートに関する説明が表３において詳述されている。この例においては、ＳＳＢＩスレーブバスインタフェース２３１０は、スレーブレジスタブロック２３２０と接続される。単線ＳＳＢＩデータバスは、パッド（図示されていない）と接続され、入データは、ＳＳＢＩ＿ＤＡＴＡ＿ＩＮ上のＳＳＢＩスレーブバスインタフェース２３１０に引き渡される。出データは、ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴにおいて引き渡され、該パッドの方向性はＳＳＢＩ＿ＤＡＴＡ＿ＯＥを介して制御される。ＳＳＢＩ＿ＣＬＫ信号は、クロックとしてＳＳＢＩスレーブバスインタフェース２３１０に引き渡される。スレーブレジスタブロック２３２０は、ＳＳＢＩ＿ＣＬＫを受信することもできるが、任意である（ＳＳＢＩ＿ＣＬＫが動作可能であるかを決定するための任意の機構が以下において詳述される）。スレーブレジスタアクセスは、ＡＤＤＲ信号、ＷＲ＿ＳＴＢ信号、ＷＲ＿ＤＡＴＡ信号、及びＲＤ＿ＤＡＴＡ信号を介してＳＳＢＩスレーブバスインタフェース２３１０とスレーブレジスタ２３２０との間で行われる。スレーブレジスタの出力は、スレーブデバイス２３０によって使用するために引き渡される。スレーブデバイス２３０からの読み取り値は、ＳＳＢＩバスを介してアクセスするためにスレーブレジスタ２３２０に引き渡される。
【０１０１】
ＳＳＢＩスレーブバスインタフェース２３１０は、１線バス信号に関するシリアル−パラレル変換を行って該信号を読み取り要求または書き込み要求に変換することを担当する。この要求は、書き込みレジスタを内蔵していて読み取りレジスタの多重化を担当するスレーブレジスタブロック２３２０に送られる。この構成例は、ＳＳＢＩスレーブバスインタフェース２３１０は様々なスレーブ設計に関して同一になるように設計することができ、その一方でスレーブに特有の論理をスレーブレジスタブロック２３２０において使用可能であるという利点を有する一実施形態である。様々な代替実施形態も採用可能である。
【０１０２】
ＳＳＢＩスレーブバスインタフェース２３１０は、ＳＳＢＩ＿ＤＡＴＡラインを検討して、転送開始を表す開始シンボルの有無を確認する。次に、ＳＳＢＩスレーブバスインタフェース２３１０は第１のシンボルを検討して読み取り又は書き込みのいずれであるかを決定し、次にアドレスビット内を走査する。すべてのアドレスビットが走査された時点で、これらのアドレスビットがＡＤＤＲとしてスレーブレジスタブロック２３２０に送り出される。書き込みに関しては、これらのデータビットがシフトインされ、ＷＲ＿ＤＡＴＡとしてストローブＷＲ＿ＳＴＢとともにスレーブレジスタブロック２３２０に提供される。ＷＲ＿ＳＴＢは、アドレス（ＡＤＤＲ）フィールド及びデータ（ＷＲ＿ＤＡＴＡ）フィールドをサンプリングするためにスレーブレジスタブロック２３２０によって使用される。読み取りに関しては、ＡＤＤＲがスレーブレジスタブロック２３２０に渡された後のポーズビット中に、ＳＳＢＩ読み取りレジスタデータ（ＲＤ＿ＤＡＴＡ）がＳＳＢＩスレーブバスインタフェース２３１０によってサンプリングされ、１ビットずつＳＳＢＩバス上にシフトアウトされる。単一のトランザクションが完了した時点で、ＳＳＢＩスレーブバスインタフェース２３１０は、次の開始ビットを待つ。
【０１０３】
この例においては、終了シンボル（上記のＢＴＭ，等）によって終了された複数のトランザクションは許容されない。この構成は単純化された設計（より少ないハードウェア、より少ない試験対象事例）を提供し、複数の転送を許容しても利益がほとんどないとき、すなわち個々の転送に関するオーバーヘッドが相対的に小さいときに採用するのに適している。代替実施形態は、終了シンボルによって終了された複数のトランザクションを許容する。
【０１０４】
代替実施形態においては、ＳＳＢＩスレーブバスインタフェース２３１０のその他のバージョンを採用することができる。１つの相違点は、出力ポート数である。一構成は、一組のＡＤＤＲ、ＷＲ＿ＳＴＢ、ＷＲ＿ＤＡＴＡ、及びＲＤ＿ＤＡＴＡ、又はこれらの信号の追加の組を有することができる。追加の組を含めることによって、複数の組の読み取り及び／又は書き込みレジスタに独立してアクセス可能である。もう１つの選択肢は、読み取りデータ及び書き込みデータに関して双方向データバス又は別個のバスを有することである。その他の様々な代替方法も当業者によって明確に理解されるであろう。説明を明確化するため、以下において詳述される実施形態例は、読み取りデータ及び書き込みデータに関して別個のバスを有する単一の組のＡＤＤＲ、ＷＲ＿ＳＴＢ、ＷＲ＿ＤＡＴＡ、及びＲＤ＿ＤＡＴＡを具備することになる。
【表３】
2010211810.tif 000005
【０１０５】
書き込み及び読み取りは、図２４及び２５においてそれぞれ別々に示されている。これらの図に対応する説明は、図２６及び２７に関して詳述されている以下の実施形態例にも当てはめることができる。読み取り／書き込みタイミングは、ＳＳＢＩ＿ＤＡＴＡ＿ＷＤが８の場合が対象になっている。ＳＳＢＩ＿ＤＡＴＡ＿ＷＤに関する代替実施形態が図２６乃至２７に関して説明されている。両方のアクセス型に関して、別々のＳＳＢＩ＿ＤＡＴＡ＿ＩＮ及びＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴの代わりに結合されたＳＳＢＩ＿ＤＡＴＡバスが示されている。一パッド回路構成例においては、ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴ上のすべてのものがＳＳＢＩ＿ＤＡＴＡ＿ＩＮ上に現れる。書き込みに関して、ＳＳＢＩ＿ＤＡＴＡ＿ＩＮは無視される。読み取りに関して、ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴは、ＳＳＢＩ＿ＤＡＴＡ＿ＯＥがアサートされたときのみにＳＳＢＩ＿ＤＡＴＡパッド上に駆動される。ＳＳＢＩ＿ＤＡＴＡに関する波形は、読み取り／書き込みビットを表すために表記法ＲＷを使用し（この例では、１が読み取りで０が書き込み）、アドレスビットはＡ７乃至Ａ０、データビットはＤ７乃至Ｄ０、ポーズビットはＰである。代替実施形態は、上記よりも小さい又は大きいアドレス空間、及び異なるデータ幅（すなわち、ＳＳＢＩ＿ＤＡＴＡ＿ＷＤ＝８でない）を含むことが可能である点に注目すること。
【０１０６】
図２４において、開始ビットが見つかった時点で、ＦＯＵＮＤ＿ＳＴがハイになる。ＦＯＵＮＤ＿ＳＴは、ＳＴＡＴＥがアイドル（０）のときにはハイが見つかるまで単純に１クロックサイクルごとにＳＳＢＩ＿ＤＡＴＡをサンプリングする論理を通じて生成される。ＦＯＵＮＤ＿ＳＴは、メタスタビリティの解決を可能性にするために半クロックサイクル遅れて生成される。ＦＯＵＮＤ＿ＳＴは、ＳＴＡＴＥがサンプル（１）になるようにし、それによってＳＴＢがトグルするのを許容する。ＳＴＢは、ＢＩＴＣＮＴに値を増加させる。ＳＴＢは、シンボルをサンプリングしてシフトレジスタ（すなわち、２６２８）内に入れるためのイネーブルとして使用される。シフトレジスタは、ＩＮＰＵＴ＿ＤＡＴＡ＿ＳＩＺＥによって示される幾つかのビットを有する。この定数は、８又はＳＳＢＩ＿ＤＡＴＡ＿ＷＤのうちの大きいほうの値を有する。ＢＩＴＣＮＴ（すなわち、２６４６）は、いくつのビットがサンプリングされているかを追跡する。すべてのアドレスビットがラッチインされた時点で（ＢＩＴＣＮＴ＝８によって表される）、シフトレジスタの内容が再ラッチされ（すなわち、２６３４）、ＡＤＤＲ上に出力される。この再ラッチは任意であり、ＡＤＤＲは合理的に大量の多重化論理を提供可能であるためスレーブレジスタブロック内において電力を節約することを目的として行われる。同様に、すべてのデービットがラッチインされた時点で（ＢＩＴＣＮＴ＝１６によって表される）、シフトレジスタの内容が再ラッチされ（すなわち、２６３６）、ＷＲ＿ＤＴＡＴ上に出力される。スレーブレジスタブロック２３２０が書き込みの実行を知るようにするためにＷＲ＿ＳＴＢがパルスされる。ＢＩＴＣＮＴ＝１７のときにＤＯＮＥがアサートしてＳＴＡＴＥをアイドル（０）にリセットし、このため必要な場合はプロセスを繰り返すことができる。
【０１０７】
図２５は、読み取り動作を示した図である。該ブロックは、ＡＤＤＲにおけるアドレス出力までに関して書き込みに関するステップと同じステップを実行する。前図には示されていないが、ＡＤＤＲに基づいてＲＤ＿ＤＡＴＡを多重化することが可能であり、このため、書き込みに関しても、ＲＤ＿ＤＡＴＡは、無視されるにもかからわらず、ＡＤＤＲが変化時に変化する可能性がある。ＢＩＴＣＮＴ＝９サイクル中に、ＲＤ＿ＤＡＴＡがサンプリングされてシフトレジスタ（すなわち、２６６０）内に入れられ、１ビットずつＳＳＢＩ＿ＤＡＴＡライン上にシフトされる。ＳＳＢＩ＿ＤＡＴＡ＿ＯＥは、どの時点でＳＳＢＩ＿ＤＡＴＡパッド上にデータを駆動するかを示すためにアサートし、すべてのデータがバス上にシフトされるまでハイの状態を維持する。ＢＩＴＣＮＴ＝１９のときにＤＯＮＥがアサートしてＳＴＡＴＥをアイドルにリセットし、このため必要な場合にプロセスを繰り返すことができる。
【０１０８】
読み取りデータは１つの全クロックサイクル（１シンボル時間の１／２）だけ早期に出力されることに注目すること。この早期の出力は、アドレスデータと読み取りデータの間におけるポーズビットの有効性を低下させる。この場合は、１クロックサイクルのオーバーラップしない時間が存在する。この手法の１つの利点は、ＳＳＢＩ書き込みデータが観測されることになるときにＳＳＢＩ読み取りデータがシフトアウトされた場合は、マスターの観点からは、ラウンドトリップ遅延に起因して該読み取りデータが遅れて現れることになる。該読み取りデータを早期に出力することによって、ラウンドトリップ遅延によってオフセットされ、マスターが該読み取りデータを見ることになると実際に予想する時点により近い時点で現れるようにする。
【０１０９】
ブラインド位相検出に起因して、ＳＳＢＩ＿ＣＬＫが図に示されるようにＳＳＢＩ＿ＤＡＴＡと整列されることになる保証はない。これらの図は、１つの極端な事例、おそらく「最良の事例」におけるＳＳＢＩ＿ＣＬＫを示した図である。「最悪の事例」は、開始ビットが１つの全クロックサイクル後に見つけられ、その結果すべての信号（ＳＳＢＩ＿ＤＡＴＡを除く）が１クロックサイクルだけ右にシフトされる事例である。この事例では問題は発生しない。シンボルは、シンボル時間に２５％入った時点までサンプリングされる代わりに、シンボル時間に７５％入った時点までサンプリングされる。読み取りに関しては、ＳＢＩ読み取りデータを１／２シンボル時間だけ早期に駆動する代わりに、１／２シンボル時間だけ遅くなる。この１サイクルの可変性は、ＬＡＴＥ信号を用いることによって１／２サイクルに低下される。該信号は、ＦＯＵＮＤ＿ＳＴに関する回路と同様の回路によって生成される（以下において両回路が詳述される）。ただし、反対側のクロックエッジにおいて機能する。ＬＡＴＥが０のときは、ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴ及びＳＳＢＩ＿ＤＡＴＡ＿ＯＥは、使用前に１／２クロックサイクルだけ遅延される。ＬＡＴＥが１のときには、ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴ及びＳＳＢＩ＿ＤＡＴＡ＿ＯＥはそのままの状態で使用される。ＬＡＴＥ信号と関連づけられた回路は、上述されておりさらに図３２乃至３５に関してさらに詳細に説明されているＳＳＢＩスレーブコンバータ１４２０に関する回路でもある。
【０１１０】
マスターデバイス２２０が本明細書においてはＴＣＸＯ＿ＤＩＳと呼ばれる何らかのスレーブレジスタビットをセットすることによってスレーブクロックをディスエーブルにする別の任意の機能を含めることができる。このビットがセットされたときには、スレーブＳＳＢＩ＿ＣＬＫがオフになる。クロックを再度イネーブルにする場合は、マスターデバイスはシーケンス０−１−０をスレーブに送信する。このシーケンスがスレーブによって取得され、スレーブはＲＥＳＥＴ＿ＴＣＸＯ＿ＤＩＳ信号を生成する。この信号は、ＴＣＸＯ＿ＤＩＳをリセットし、それによってスレーブに関するＳＳＢＩ＿ＣＬＫを再度イネーブルにする。この機能は、マスターがＳＢＩスレーブデバイスをスリープモードにすることを可能にし、従って電力を節約する（以下において詳細に説明される）。
【０１１１】
図２６は、ＳＳＢＩスレーブバスインタフェース例２３１０において採用するのに適した回路例を示した図である。論理、ステートマシン、マイクロコード、ソフトウェア、等のあらゆる組合せを用いて、示されている制御機構に関する様々な代替制御機構を採用することが可能である。この例においては、ＢＩＴＣＮＴは、要求される様々な状態を表す。制御信号はＳＳＢＩ＿ＤＡＴＡ＿ＷＤに依存すること、及び実施された変更に従って変化可能であることに注目すること。
【０１１２】
パラメータＩＮＰＵＴ＿ＤＡＴＡ＿ＳＩＺＥは、８及びＳＳＢＩ＿ＤＡＴＡ＿ＷＤの最大値２６１４として計算される。この実施形態例においては、両方のパラメータが事前に知られており、選択されたＳＳＢＩ＿ＤＡＴＡ＿ＷＤパラメータに関する特定の論理構成を生成するために使用される。ＳＳＢＩ＿ＤＡＴＡ＿ＷＤに関するプログラミング可能な値に対応するための代替実施形態を採用することが可能である。従って、例えば、レジスタ２６３２乃至２６３６への入力に関するビット選択は、プログラミング上の変更に対応するために事前及び事後に論理を含めることができる。他の選択肢は、プログラミング可能なＡＤＤＲの大きさを有して、ＡＤＤＲの異なる値に対応するための同様の変更を行うことである。これらの詳細は示されていない。当業者は、本明細書において示されている教義に照らしてこれらの選択肢及びその他の選択肢を容易に適合させるであろう。説明を明確化するため、以下ではある１つの展開に関する一組のＳＳＢＩ＿ＤＡＴＡ＿ＷＤ及びＩＮＰＵＴ＿ＤＡＴＡ＿ＳＩＸＥを仮定している。
【０１１３】
図２６のすべてのクロックされるデバイスは、ＳＳＢＩ＿ＣＬＫ又はその反転（クロック入力前部のバブルの従来の表記法で示されている）によってクロックされることに注目すること。特別の注記がないかぎり、以下において詳述されるレジスタは、ＳＳＢＩ＿ＣＬＫによってクロックされる。
【０１１４】
この例においては、開始ビットの突き止めは次のように行われる。すなわち、ＳＳＢＩ＿ＤＡＴＡ＿ＩＮが、反転されたＳＳＢＩ＿ＣＬＫを用いてフリップフロップ２６０２によってラッチされ、ＳＳＢＩ＿ＣＬＫを用いてフリップフロップ２６１０によってラッチされる。フリップフロップ２６０２の出力が、ＳＳＢＩ＿ＣＬＫを用いてフリップフロップ２０６４によってラッチされてＦＯＵＮＤ＿ＳＴ＿Ｎが生成される。フリップフロップ２６１０の出力が、反転されたＳＢＩ＿ＣＬＫを用いてフリップフロップ２６１２によってラッチされてＦＯＵＮＤ＿ＳＴが生成される。すべての４つのフリップフロップが、ＳＴＡＴＥ及びＲＥＳＥＴ＿ＥＦＦのＯＲ（２６０６、２６０８）によってリセットされる。ＦＯＵＮＤ＿ＳＴ＿Ｎが、フリップフロップ２６１８によってラッチされてＬＡＴＥが生成され、ＦＯＵＮＤ＿ＳＴ及びＮＯＴ  ＳＴＡＴＥのＡＮＤ２６１６によってイネーブルにされる。ＦＯＵＮＤ＿ＳＴがフリップフロップ２６２２によってラッチされてＳＴＡＴＥが生成され、ＳＳＢＩ＿ＣＬＫの反転によってクロックされる。フリップフロップ２６２２がＲＥＳＥＴ＿ＥＦＦによって非同期でリセットされる。フリップフロップ２６２２に関するイネーブルは、マルチプレクサ２６２０の出力によって決定され、ＳＴＡＴＥがアサートされたときにはＤＯＮＥが選択されてその他の場合はＦＯＵＮＤ＿ＳＴが選択される。
【０１１５】
ＤＯＮＥは、ＳＴＢのＡＤＮ２６２６及び２つの入力のＯＲ２６２４として決定される。ＯＲ２６２４への第１の入力は、ＮＯＴ  ＲＥＡＤ及びＢＩＴＣＮＴ＝９＋ＳＳＢＩ＿ＤＡＴＡ＿ＷＤのＡＮＤである。ＯＲ２６２４への第２の入力は、ＲＥＡＤ及びＢＩＴＣＮＴ＝１１＋ＳＳＢＩ＿ＤＡＴＡ＿ＷＤのＡＮＤである。
【０１１６】
ＳＳＢＩ＿ＤＡＴＡ＿ＩＮは、ＳＳＢＩ＿ＣＬＫの反転によってシフトレジスタ２６２８内にシフトされ、ＮＯＴ  ＳＴＢ及びＳＴＡＴＥのＡＮＤ２６３０によってイネーブルにされる。シフトレジスタ２６２８のパラレル出力は、ＩＮＰＵＴ＿ＤＡＴＡ＿ＳＩＺＥの大きさである。最下位出力ビットは、レジスタ２６３２においてラッチされ、ＳＴＢ及びＢＩＴＣＮＴ＝１のＡＮＤによってイネーブルされてＲＥＡＤが生成される。８つの最下位出力ビットがレジスタ２６３４においてラッチされてＡＤＤＲが生成され、ＳＴＢ及びＢＩＴＣＮＴ＝９のＡＮＤによってイネーブルにされる。出力ビットＳＳＢＩ＿ＤＡＴＡ＿ＷＤ−１乃至０がレジスタ２６３６においてラッチされてＷＲ＿ＤＡＴＡが生成され、ＮＯＴ  ＲＥＡＤ、ＳＴＢ、及びＢＩＴＣＮＴ＝９＋ＳＳＢＩ＿ＤＡＴＡ＿ＷＤのＡＮＤによってイネーブルにされる。このイネーブル信号は、ＷＲ＿ＳＴＢを生成するためにレジスタ２６３８においてもラッチされ、ＲＥＳＥＴ＿ＥＦＦによって非同期でリセットされる。
【０１１７】
ＳＴＢは、フリップフロップ２６４０の出力として形成され、ＮＯＴ  ＳＴＢをその入力とし、ＮＯＴ  ＳＴＡＴＥによってリセットされる。ＮＯＴ  ＳＴＢは、ＳＴＢを反転させるインバータ２６４４によって形成される。ＮＯＴ  ＳＴＢは、ＮＯＴ ＳＴＢ＿Ｄを生成するためにフリップフロップ２６４２においてラッチされる。カウンタ２６４６の出力は、ＢＩＴＣＮＴを形成し、ＢＩＴＣＮＴは、ＮＯＴ  ＳＴＡＴＥ及びＤＯＮＥのＯＲによってリセットされ、ＳＴＢによってイネーブルにされる。
【０１１８】
上述される任意のクロックディスエーブル回路は、この例においては次のように実装される。すなわち、ＳＳＢＩ＿ＤＡＴＡ＿ＩＮによってクロックされるフリップフロップ２６４８においてＴＣＸＯ＿ＤＩＳがラッチされる。フリップフロップ２６４８の出力がフリップフロップ２６５０によってラッチされてＲＥＳＥＴ＿ＤＡＴＡ＿ＩＮが生成され、ＮＯＴ  ＳＳＢＩ＿ＤＡＴＡ＿ＩＮによってクロックされる。両方のフリップフロップがＲＥＳＥＴによって非同期でリセットされる。
【０１１９】
ＲＥＳＥＴ＿ＥＦＦは、フリップフロップ２６７２の出力として形成され、フリップフロップ２６７２の入力は、フリップフロップ２６７０の出力である。フリップフロップ２６７０への入力は、フリップフロップ２６６８の出力であり、‘０’を入力とする。３つのすべてのフリップフロップは、ＴＣＸＯ＿ＤＩＳ及びＲＥＳＥＴのＯＲ２６６６によって非同期でセットされる。
【０１２０】
ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴは、ＡＴＥがアサートされたときにはマルチプレクサ２６６４を介してシフトレジスタ２６６０のシフト出力として選択される。ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴは、ＬＡＴＥがアサートされないときにはマルチプレクサ２６６４を介してフリップフロップ２６６２の出力として選択される。フリップフロップ２６６２は、ＳＳＢＩ＿ＣＬＫの反転によってクロックされたシフトレジスタ２６６０のシフト出力を入力とする。シフトレジスタ２６６０へのパラレル入力は、幅がＳＳＢＩ＿ＤＡＴＡ＿ＷＤのＲＤ＿ＤＡＴＡ入力である。シフトレジスタ２６６０へのシフト入力は‘０’である。シフトレジスタ２６６０は、ＲＥＡＤ、ＮＯＴ  ＳＴＢ、及びＢＩＴＣＮＴ＝９のＡＮＤによってローディングされる。シフトレジスタ２６６０のシフトは、ＮＯＴ  ＳＴＢ＿Ｄ、ＲＥＡＤ、及びＳＳＢＩ＿ＤＡＴＡ＿ＯＥ＿ＲＥＧのＡＮＤ２６５８によってイネーブルにされる。
【０１２１】
ＳＳＢＩ＿ＤＡＴＡ＿ＯＥは、ＬＡＴＥがアサートされたときにはマルチプレクサ２６５６を介してＳＳＢＩ＿ＤＡＴＡ＿ＯＥ＿ＲＥＧとして選択される。ＳＳＢＩ＿ＤＡＴＡ＿ＯＥは、ＬＡＴＥがアサートされないときにはマルチプレクサ２６５６を介してフリップフロップ２６５４の出力として選択される。フリップフロップ２６５４は、ＳＳＢＩ＿ＤＡＴＡ＿ＯＥ＿ＲＥＧを入力として受け取り、ＳＳＢＩ＿ＣＬＫの反転によってクロックされる。ＳＳＢＩ＿ＤＡＴＡ＿ＯＥ＿ＲＱＥは、フリップフロップ２６５２の出力として形成される。フリップフロップ２６５２への入力は、ＲＥＡＤ、ＢＩＴＣＮＴ≧１０、及びＢＩＴＣＮＴ≦（９＋ＳＳＢＩ＿ＤＡＴＡ＿ＷＤ）のＡＮＤである。フリップフロップ２６５２は、ＳＴＢによってイネーブルにされ、ＲＥＳＥＴ＿ＥＦＦによって非同期でリセットされる。
【０１２２】
図２７は、スレーブレジスタブロック２３２０として使用するのに適した論理例を示した図である。この例においては、ＳＳＢＩ＿ＤＡＴＡ＿ＷＤは例示することを目的として８に設定される。レジスタ２７１０は、出力されたＷＲ＿ＲＥＧｘｘｘ＿ＤＡＴＡを格納するためのレジスタ例である。該レジスタは、ＷＲ＿ＤＡＴＡを入力として受け取り、ＷＲ＿ＳＴＢによってクロックすることができる。数多くの書き込みレジスタを採用可能であり、さらにｘｘｘの代わりに適当な識別子を用いることができる。特定のアドレスに関してすべてのＷＲ＿ＤＡＴＡビットをラッチする必要はなく、従って対応する記憶素子を取り除くことができる点に注目すること。各レジスタ２７１０に関するイネーブル信号は対応アドレスに従ってイネーブルにすることができ、ＡＤＤＲによって制御される（詳細は示されていない）。代替実施形態においては、ＳＳＢＩ＿ＣＬＫは、ＷＲ＿ＳＴＢがイネーブル信号内に組み込まれたクロックとして使用することができる。希望に応じて様々なＷＲ＿ＲＥＧｘｘｘＤＡＴＡ出力をスレーブデバイス２３０に配送することが可能である。
【０１２３】
ＲＤ＿ＤＡＴＡは、この例においては、ＡＤＤＲに従って選択されたマルチプレクサ論理２７２０の出力によって形成される。従来のマルチプレクサ、組合せ論理、３状態バス技術、等の様々なマルチプレクサ実装を採用することができる。マルチプレクサ２７２０への入力は、ＲＤＲＥＧ０＿ＤＡＴＡ乃至ＲＤＲＥＧｎ＿ＤＡＴＡで表されるｎ個の入力信号であり、対応するアドレス指定に従って割り当てられる。これらの入力は、希望に応じてスレーブデバイス２３０内のあらゆる場所からの入力であることができる。
【０１２４】
本節では、上述されるＳＢＩ  ＦＴＭモードをサポートするように適合されたＳＳＢＩマスター１１１０の一実施形態例を示した図である。図２８乃至３１、及びその対応する説明は、単線バスを通じてのＦＴＭコマンドをサポートするために上図２０乃至２２に関して説明されるＳＳＢＩマスター例において要求される変更を詳述したものである。このＳＳＢＩマスター１１１０は、ＳＳＢＩコマンド及びＦＴＭコマンドの両方をサポートすることができる（ＦＴＭ＿ＭＯＤＥと呼ばれる構成ビットに基づいて選択されたモード）。表４は、この実施形態例に関する追加ポートを示した表であり、表２のポートと組み合わせることができる。
【表４】
2010211810.tif 000006
【０１２５】
信号ＦＴＭ＿ＭＯＤＥは、セットされると、アクセスがＦＴＭモードになることを示す。ＦＴＭモード以外のアクセスに関しては、波形及び回路は、図１７乃至２２に関して上述される、修正されていない回路と同様であることができる。ハイレベルにおいては、ＦＴＭモードをサポートするために次の変更を行う必要がある。第１に、コマンドフォーマットが３線モードに関するＦＴＭモードと一致する。第２に、回路が終了シンボルを送信できるように１つの転送バーストの完了時点を識別する必要がある。第３に、ＩＤＬＥ＿ＳＹＭＳが、個々のアクセス間ではなく２つのバースト間におけるアイドルシンボル数を指定する。
【０１２６】
以下の説明を簡略化するため、アクセスという表現は、個々の読み取り又は書き込みを意味するために用いられる。バーストという表現は、スレーブＩＤが送信され、１つ以上のアクセスが後続し、その後に終了シンボルを送信することによって終了される１つのシーケンスを意味するために用いられる。代替実施形態は、該終了シンボルの代替を実装することができ、幾つかの例が上述されている。従って、１つのバーストは、１つ又は複数のアクセスを有することが可能である。ＦＴＭモード以外のモードにおいてはバーストが存在しないことに注目すること。すべてのアクセスは、単一のアクセスとして処理される。
【０１２７】
バーストに関して、第１のアクセス前に、開始ビット、モードビット及びスレーブＩＤが送信される。後続するアクセスは、これらの送信なしで行うことができる。図３１において（フリップフロップ３１１０の出力として）一例が示されている信号ＣＯＮＴが定義されており、アクセスが第１のアクセス（０）又は後続アクセス（１）のいずれであるかを表すために使用される。ＣＯＮＴは、ＲＥＱＰが第２のアクセスに関してアサートするのと同じサイクルでアサートし、終了シンボルが送信されるまでアサートされた状態を維持する。このため、ＣＯＮＴを使用することで、開始ビット、モードビット及びスレーブＩＤを迂回するようにシフトチェーンを正確に構成させることができる（以下において詳細に説明される）。
【０１２８】
第１のアクセスが完了した時点で、ＣＯＮＴがアサートしてＤＯＮＥがパルスする。ＤＯＮＥがハイの状態である間にＲＥＱを検査し、後続するアクセスがこのバースト内に存在するかどうかを決定することができる。存在する場合はＡＣＫがパルスし、新しいパラメータが通常パラメータとしてスキャンチェーン内にラッチされる。ただし、該スキャンチェーンは、モードビット及びスレーブＩＤを迂回するように構成される。さらに、開始ビット、モードビット、スレーブＩＤ及び第１のポーズビットはスキップされるため、ＢＩＴＣＮＴは０の代わりに１０がプリローディングされる。ＤＯＮＥは、各アクセスが完了した時点で各アクセスに関してアサートする。
【０１２９】
（１つの転送又は複数の転送を含むかどうかにかかわらず）１つのバーストが終了時には、終了シンボルを出力する必要がある。ＴＥＲＭは、終了シンボルが送信中の時間アサートする。この時間中に、ＢＩＴＣＮＴは、１つのサイクルおきにの代わりに１つのサイクルごとに値を増加させる必要があり、パターン出力は１０１０である。代替実施形態は、代替の終了シンボルパターンを利用することができる。終了シンボルが送信された時点で、次のバーストが入手可能時に開始できるようにするため、内部の「完了」信号ＤＯＮＥ＿ＤＥＬＸを生成してＩＤＬＥ＿ＳＹＭＳに従って遅延させる必要がある。図２８は、一バースト例の終了を示す波形を描いた図である。この実施形態例においては、ＳＴＢは、回路によって無視することができるが、終了シンボル中に２回パルスする点に注目すること（以下においてさらに詳細に説明される）。
【０１３０】
図２９乃至３１は、ＦＴＭモードをサポートするように修正され、ＳＳＢＩマスター例１１１０において採用するのに適した回路例を示した図である。当業者は、本明細書における教義に照らしてその他の様々な修正及び代替を明確に理解するであろう。
【０１３１】
図２９は、構成パラメータに依存する修正論理を示した図である。ＳＳＢＩ＿ＤＡＴＡ＿ＩＮ＿ＤＥＬの生成は、原回路と同じである。ＤＯＮＥ＿ＤＥＬＸ生成は、ＦＴＭ＿ＭＯＤＥに基づいて異なる。ＦＴＭ＿ＭＯＤＥにおいては、この信号は、バースト終了時にパルスする。該時点においてはＢＩＴＣＮＴが１クロックサイクルごとに値を増加させるため、ＳＴＢは無視することができる。
【０１３２】
図２０と同じように、図２９の最上部は、ＳＳＢＩ＿ＤＡＴＡ＿ＤＥＬに基づいてＳＳＢＩ＿ＤＡＴＡ＿ＩＮを遅延させる論理を示している。ＳＳＢＩ＿ＤＡＴＡ＿ＩＮ＿ＤＥＬは、図２０における場合とまったく同じように生成される。ＳＳＢＩ＿ＤＡＴＡは、フリップフロップ２０１０及び２０３０内に提供される。図２０乃至２２内のすべてのクロックされるデバイスは、ＳＳＢＩ＿ＣＬＫ又はその反転によってクロックされる（クロック入力前部のバブルの従来の表記法を用いて示される）。フリップフロップ２０１０はＳＳＢＩ＿ＣＬＫの反転によってクロックされ、フリップフロップ２０３０はＳＳＢＩ＿ＣＬＫによって直接クロックされることに注目すること。フリップフロップ２０１０の出力は、フリップフロップ２０２０の入力に指向される。ＳＳＢＩ＿ＤＡＴＡ＿ＩＮは、フリップフロップ２０１０乃至２０３０の出力と同じように、マルチプレクサ２０４０の１つの入力に引き渡される。ＳＳＢＩ＿ＤＡＴＡ＿ＤＥＬは、マルチプレクサ２０４０の１つの入力を出力、すなわちＳＳＢＩ＿ＤＡＴＡ＿ＩＮ＿ＤＥＬとして選択するために使用される。
【０１３３】
繰り返しになるが、ＤＯＮＥ＿ＤＥＬＸは、ＩＤＬＥ＿ＳＹＭＳに基づく。図２０に示されるように、論理２０５０は、ＳＴＢのＡＮＤ及び（ＮＯＴ  ＳＲＥＡＤ  ＡＮＤＢＩＴＣＮＴ＝１７＋ＩＤＬＥ＿ＳＹＭＳ）及び（ＳＲＥＡＤ  ａｎｄ  ＢＩＴＣＮＴ＝１９＋ＩＤＬＥ＿ＳＹＭＳ）のＯＲを生成する。マルチプレクサ２９１０は、ＤＯＮＥ＿ＤＥＬＸを生成するために追加される。ＤＯＮＥ＿ＤＥＬＸは、ＦＴＭ＿ＭＯＤＥがアサートされないときは論理２０５０の出力として、ＦＴＭ＿ＭＯＤＥがアサートされたときはＢＩＴＣＮＴ＝３１＋ＩＤＬＥ＿ＳＹＭＳとして選択される。上述されるように、太字の数字はＳＥＬ＿ＲＤ＿ＤＡＴＡ＝０に対応し、さらにこれらの数字はその他の値に関して修正可能であることを思い出すこと。前回と同じように、説明を単純化するため、すべての数字は、ＳＳＢＩ＿ＤＡＴＡ＿ＷＤ＝８の事例に対応する。
【０１３４】
論理の設計の修正のほとんどは、シフトレジスタチェーンに関するものであり、図３０に示されている。このチェーンは、モードビット（０１）及びＳＬＡＶＥ＿ＩＤを、すべての８ビットの組の後に存在するポーズビットともに格納できるように拡大されている。これらの追加のポーズビットは、（先行技術のＳＢＩブロックが行っているように）バスを３状態にするのとは反対に送信として取り扱われる（データ値自体は無関係である）。このため、８シンボル時間ごとにバスを３状態化する必要がない。
【０１３５】
この修正されたシフトレジスタチェーン例は、次のように分解される。すなわち、ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴは、依然としてレジスタ２１１０の出力として生成され、バーストの第１のアクセスに関しては開始ビットをホールドしバーストの後続するアクセスに関してはＲＥＡＤをホールドするために用いられる。レジスタ２１１０は、依然としてＲＥＳＥＴによってリセットされる。イネーブルは図２１から修正され、ＲＥＱＰ、ＳＴＢ、ＯＶＲ＿ＭＯＤＥ、ＴＥＲＭ及びＥＮ＿ＴＥＲＭ＿ＣＮＴのＯＲとして形成される。この修正は、ＴＥＲＭ信号及びＥＮ＿ＴＥＲＭ＿ＣＮＴ信号をＯＲ論理内に追加することである。入力は、（図２１のマルチプレクサ２１６０とは対照的に）マルチプレクサ３００４から得られ、以下において詳細に説明されるように、モードに基づいてシフト値を選択するために使用される。
【０１３６】
８ビット及び２ビットの幅をそれぞれ有する２つのシフトレジスタ３０１４及び３０１６が使用される。８ビットシフトレジスタ３０１４は、モードビット（０１）及びＳＬＡＶＥ＿ＩＤを格納する。２ビットシフトレジスタ３０１６は、ＦＴＭ＿ＭＯＤＥにおける第１のアクセスに関してはポーズビットとＲＥＡＤビットを格納し、ＦＴＭ＿ＭＯＤＥでないときにはＲＥＡＤビットとアドレスビット７を格納する。この入力は、ＳＨＩＦＴ２ＬＤＶＡＬのラベルが付され、後述されるように、マルチプレクサ３０２８の出力として形成される。７ビットシフトレジスタ３０１８は、アドレスの下位の７ビットを格納する（ＳＢＩプロトコルでは７ビットのアドレスのみが使用されることを思い出すこと）。ＦＴＭモードでないときにはシフトレジスタ３０１６及び３０１８が（図２１に示されている）シフトレジスタ２１３０の代わりをする点に注目すること。シフトレジスタ３０１８のシフト出力はシフトレジスタ３０１６のシフト入力に接続されており、シフトレジスタ３０１６のシフト出力はシフトレジスタ３０１４のシフト入力に接続されているという点で、これらの３つのシフトレジスタは単一のチェーンを形成する。これらの３つのすべてのシフトレジスタ３０１４乃至３１０８は、ＳＴＢによってイネーブルにされ、ＲＥＱＰがローディングされる。
【０１３７】
シフトレジスタ２１４０は、図２１と同一である。ＳＳＢＩ＿ＤＡＴＡ＿ＷＤビットシフトレジスタ２１４０は、書き込み動作に関しては書き込みデータ、読み取り動作に関してはすべて０がプリローディングされる。シフトレジスタ２１４０へのシフト入力は、マルチプレクサ２１５０の出力として決定され、ＳＳＢＩ＿ＤＡＴＡ＿ＯＥがアサートされたときには０を選択し、その他の場合はＳＳＢＩ＿ＤＡＴＡ＿ＩＮ＿ＤＥＬを選択する。シフトレジスタ２１４０のパラレル出力は、ＲＤ＿ＤＡＴＡ＿ＰＲＥとして利用可能である。その他のシフトレジスタと同じように、シフトレジスタ２１４０は、ＲＥＱＰがローディングされ、ＳＴＢによってイネーブルにされる。
【０１３８】
レジスタ３０２２は、ＦＴＭ＿ＭＯＤＥにおいてボーズビットを格納するために追加される。レジスタ３０２２は、ＲＥＱＰによってリセットされる。ＦＴＭモードに関する最後のポーズビットは、直接格納されず、シフトレジスタ２１４０のシフト出力からレジスタ３０２２にシフトインされる。
【０１３９】
このＳＳＢＩマスターはＦＴＭモードに加えて通常のＳＳＢＩモードアクセスもサポートするため、ＦＴＭモードに関して要求される追加ビットを選択または迂回するために様々なマルチプレクサが使用される。さらに、ＦＴＭ＿ＭＯＤＥにおいては、信号ＣＯＮＴに従い、バーストの第２のアクセス及び追加のアクセス中にモードビット、スレーブＩＤ、及びポーズビットを迂回するための追加論理が使用される。
【０１４０】
マルチプレクサ３０２０は、ＦＴＭモード時にレジスタ３０２２の出力をシフトレジスタ３０１８へのシフト入力として選択するために使用される。ＦＴＭモードでないときには、レジスタ３０２２は迂回され、シフトレジスタ２１４０の出力が選択される。
【０１４１】
マルチプレクサ３０２８の出力としてＳＨＩＦＴ２ＬＤＶＡＬが生成される。ＦＴＭモードにおいては、ＲＥＡＤが連結されて２ビット値が形成される。ＦＴＭモードでないときには、ＲＥＡＤがＡＤＤＲ（７）と連結されて（図２１）２ビット値が形成される。
【０１４２】
マルチプレクサ３０１０は、シフトレジスタ３０１４を迂回するか又はシフトチェーンに含めるためにＦＴＭ＿ＭＯＤＥを用いて選択可能である。ＦＴＭモードにおいては、シフトレジスタ３０１４のシフトアウトが選択される。ＦＴＭモード以外のモードにおいては、シフトレジスタ３０１６の出力が選択される。図２１に関して説明されるように、マルチプレクサ３０１０の出力は、ＲＥＱＰとともに、ＯＲゲート２１２０に引き渡される。ＯＲゲート２１２０の出力は、通常のＳＳＢＩ動作に関するビットストリームであり、ＦＴＭモードにおいては第１のアクセスに関するビットストリームである（該当時においては、アクセスの終了部分を含まない）。
【０１４３】
マルチプレクサ３００６は、現在のモードに依存して様々なビットストリームを選択する。選択ラインは、ＴＥＲＭとＣＯＮＴの連結として形成される（ＴＥＲＭ  ＆  ＣＯＮＴとして示される）。ＳＳＢＩモードにおいては、ＴＥＲＭ及びＣＯＮＴは常にデアサートされ、このためＯＲゲート２１２０の出力が選択される。ＯＲゲート２１２０の出力は、ＦＴＭモードにおいても第１のアクセスに関して選択され、この場合は、終了シンボルはまだ送信されず（ＴＥＲＭがアサートされない）、継続中のアクセスは進行中ではない（ＣＯＮＴがアサートされない）。
【０１４４】
終了前において、及び第２のアクセスと後続するアクセス中に、ＣＯＮＴがアサートされ、このため、マルチプレクサ３００６は、マルチプレクサ３０１２の出力を選択する。マルチプレクサ３０１２は、ＦＴＭモードに関して使用され、さらに、バーストの第２のアクセス中および追加のアクセス中にモードビット、スレーブＩＤ、及びポーズビットを迂回するために使用することができる。ＲＥＱＰがアサートされたときには、ＲＥＡＤがマルチプレクサ３０１２の出力として選択され、その他の場合はシフトレジスタ３０１８のシフト出力が選択される。
【０１４５】
この例においては、終了シンボルはクロックサイクルごとにトグルするため、終了シンボルは、ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴを提供する最後のレジスタ２１１０内に終了シンボルビットを各サイクルごとに挿入することによって形成される。ＴＥＲＭは、終了シンボルの送信時点を識別するために使用される。この機能は、ＮＯＴ  ＣＮＴ＿ＥＮが各サイクルごとにトグルしたときにレジスタ２１１０内に提供することによって実装される（この場合、該入力はレジスタ２１１０の出力がＣＮＴ＿ＥＮと同相になるのを許容するためＣＮＴ＿ＥＮの反転が用いられる）。上述されるように、レジスタ２１１０は、イネーブルを提供するＯＲ論理内のＴＥＲＭ信号に起因して各クロックサイクルごとにイネーブルにされる。
【０１４６】
この例においては、終了シンボルに関して２つの特殊事例が存在する。第１に、スレーブへの終了シンボル送信を抑止するためにＤＩＳＡＢＬＥ＿ＴＥＲＭ＿ＳＹＭをアサートすることができる。この機能を使用する一例は、上述されるように、スレーブレジスタビットＴＣＸＯ＿ＤＩＳに書き込むことによってスレーブＳＳＢＩ＿ＣＬＫを停止させることである。該書き込みが完了後は、スレーブクロックが再度イネーブルにされるまでＳＳＢＩ＿ＤＡＴＡにおいてはなんの活動も行われないはずである。この特殊アクセス後は、ＳＳＢＩ＿ＤＡＴＡ＿ＯＵＴを提供する最終レジスタ２１１０にＮＯＴ  ＣＮＴ＿ＥＮが送られないようにブロックするためにＤＩＳＡＢＬＥ＿ＴＥＲＭ＿ＳＹＭを使用することができる。これで、ＴＥＲＭがイネーブルにされたときに、マルチプレクサ３００６は、ＮＯＴ  ＣＮＴ＿ＥＮ及びＮＯＴ  ＤＩＳＡＢＬＥ＿ＴＥＲＭ＿ＳＹＭのＡＮＤを選択する。
【０１４７】
第２の特殊事例においては、事前アクセスを行わずに終了シンボルを送信するオプションが提供される。このオプションは、ＳＥＮＤ＿ＴＥＲＭ＿ＳＹＭをアサートすることによって達成される。このオプションは、例えば転送途中でＳＳＢＩマスター１１１０がリセットされたときに有用である。このような状況においては、ＳＢＩスレーブが無限のＦＴＭループ内に閉じ込められないようにするために、前記マスターは、スレーブを再度アイドルモードに戻すための終了シンボルを送信することができる。この第２の機能を可能にするため、レジスタ２１１０に関する入力を選択するためのマルチプレクサ３００４が使用される。図２１に示されるように、シフトチェーンの直接制御を可能にするＯＶＲ＿ＶＡＬＵＥを選択するためのＯＶＲ＿ＭＯＤＥが使用される。ＯＶＲ＿ＭＯＤＥがアサートされないときには、ＥＮ＿ＴＥＲＭ＿ＣＮＴのアサーションは、ＮＯＴ ＴＥＲＭ＿ＣＮＴ（０）をマルチプレクサ３００４の出力として選択する。ＴＥＲＭ＿ＣＮＴの生成が以下において詳細に説明される。ＯＶＲ＿ＭＯＤＥ及びＥＮ＿ＴＥＲＭ＿ＣＮＴのいずれもアサートされないときには、マルチプレクサ３００６の出力がレジスタ２１１０への入力用に選択される。
【０１４８】
図３１は、ＦＴＭモードをサポートするために修正された、ＳＳＢＩマスター１１１０に関する追加の制御論理を示した図である。この例を図２２に関する例と比較すること。この論理は、以下の修正以外は、前実施形態とすべて同じ機能を果たす。
【０１４９】
上述されるように、ＲＥＱＰは、ＡＮＤ２２０４の出力として形成され、ＲＥＱが入力の１つとなる。ＲＥＱＰ生成に関して、１つのバースト内において複数のアクセスに確認応答できるようにＤＯＮＥが追加される。ＲＥＱＰは、ＡＣＫを生成するためにフリップフロップ２２０６においてラッチされる。ＡＤＮ２２０４の他方の出力は、ＮＯＴ  ＳＴＡＴＥのＯＲ３１０２、ＤＯＮＥとＦＴＭ＿ＭＯＤＥのＡＮＤ、及びＤＯＮＥ＿ＤＥＬＸとＮＯＴ  ＦＴＭ＿ＭＯＤＥのＡＮＤとして生成される。この論理を図２２のＯＲ２２０２の論理と比較すること。
【０１５０】
上述されるように、ＲＤ＿ＤＡＴＡがレジスタ２２０８の出力として生成され、レジスタ２２０８は、ＲＤ＿ＤＡＴＡ＿ＰＲＥを入力として受け取る。イネーブル項（ｅｎａｂｌｅ  ｔｅｒｍ）は、ＦＴＭモードに関する追加項を含めるために修正される。イネーブルは、ＳＲＥＡＤ、ＮＯＴ  ＳＴＢ、ＮＯＴ  ＲＥＳＥＴ、及びＢＩＴＣＮＴ＝１９／２６のＡＮＤとして形成される。表記法ＢＩＴＣＮＴ＝１９／２６は、ＦＴＭ＿ＭＯＤＥ＝０のときにはＢＩＴＣＮＴ＝１９を探し、ＦＴＭ＿ＭＯＤＥ＝１のときにはＢＩＴＣＮＴ＝２６を探すことを意味する。
【０１５１】
ＦＴＭモードにおいては、ＦＴＭモードでの読み取り及び書き込みは同じ量の時間がかかるため、ＤＯＮＥ生成は、ＳＲＥＡＤに依存しないのちのＢＩＴＣＮＴを用いて行われる。この例においては、マルチプレクサ３１１４を用いて実装される。マルチプレクサ３１１４に関する選択ラインは、ＦＴＭ＿ＭＯＤＥ＆ＳＲＥＡＤである。ＦＴＭ＿ＭＯＤＥがアサートされたときにおいて、マルチプレクサ３１１４の出力は、ＳＲＥＡＤがアサートされないときはＢＩＴＣＮＴ＝２７、ＳＲＥＡＤがアサートされたときはＢＩＴＣＮＴ＝２７である。ＦＴＭ＿ＭＯＤＥがアサートされないときにおいて、ＳＲＥＡＤがアサートされないときには、マルチプレクサ３１１４の出力は、ＮＯＴ  ＳＲＥＡＤ及びＢＩＴＣＮＴ＝（１７＋ＩＤＬＥ＿ＳＹＭＳ）のＡＮＤとして形成される。ＦＴＭ＿ＭＯＤＥがアサートされないときにおいて、ＳＲＥＡＤがアサートされたときには、マルチプレクサ３１１４の出力は、ＳＲＥＡＤ及びＢＩＴＣＮＴ＝（１９＋ＩＤＬＥ＿ＳＹＭＳ）のＡＮＤとして与えられる。ＤＯＮＥは、レジスタ３１１８の出力として形成され、レジスタ３１１８は、ＮＯＴ  ＳＴＢ及びマルチプレクサ３１１４の出力のＡＮＤ３１１６を入力として受け取り、ＲＥＳＥＴによってリセットされる。
【０１５２】
ＣＯＮＴ及びＴＥＲＭを生成するための論理が追加され、これらのＣＯＮＴ及びＴＥＲＭは、ＦＴＭ＿ＭＯＤＥが０のときはすべて０である。ＣＯＮＴは、ＤＯＮＥがアサートするサイクルと同じサイクル中は１にセットされ、ＤＯＮＥ＿ＤＥＬＸ＿ＦＭＴがパルスしたときにクリアになる。ＣＯＮＴは、レジスタ３１１０の出力として形成される。このレジスタは、ＢＩＴＣＮＴ＝２７のときにセットされ、ＤＯＮＥ＿ＤＥＬＸ＿ＦＴＭ、ＲＥＳＥＴ、又はＮＯＴ  ＦＴＭ＿ＭＯＤＥのＯＲによってリセットされる。（ＤＯＮＥ＿ＤＥＬＸ＿ＦＴＭは、書き込み又は読み取りのいずれを実行中であるかに依存してＤＯＮＥ＿ＤＥＬＸ＿ＦＴＭ＿ＷＲ又はＤＯＮＥ＿ＤＥＬＸ＿ＦＴＭ＿ＲＤのいずれかになる。ＤＯＮＥ＿ＤＥＬＸ＿ＦＴＭ＿ＷＲは、ＢＩＴＣＮＴ＝３１＋ＩＤＬＥ＿ＳＹＭＳによって与えられ、ＤＯＮＥ＿ＤＥＬＸ＿ＦＴＭ＿ＲＤは、２３＋ＩＤＬＥ＿ＳＹＭＳによって与えられる。）
ＴＥＲＭは、ＢＩＴＣＮＴが終了シンボル中の各クロックサイクルごとに値を増加させるように強制するために使用される。ＴＥＲＭは、マルチプレクサ３１５０の出力として形成され、マルチプレクサ３１５０は、ＳＲＥＡＤを選択ラインとして使用する。ＳＲＥＡＤがアサートされたときにはＴＥＲＭ＿ＲＥＡＤが選択され、ＳＲＥＡＤがアサートされない時にはＴＥＲＭ＿ＷＲＩＴＥが選択される。ＴＥＲＭ＿ＲＥＡＤは、ＦＴＭ＿ＭＯＤＥ、ＢＩＴＣＮＴ≧２８、及びＢＩＴＣＮＴ≦３１のＡＮＤとして形成される。ＴＥＲＭ＿ＷＲＩＴＥは、ＦＴＭ＿ＭＯＤＥ、ＢＩＴＣＮＴ≧２７、及びＢＩＴＣＮＴ≦３１のＡＮＤとして形成される。
【０１５３】
ＳＲＥＡＤ、ＳＴＡＴＥ、ＣＮＴ＿ＥＮ、及びＳＴＢは、図２２における場合と同じように生成される。ＳＲＥＡＤは、レジスタ２２１０の出力として形成され、ＲＥＡＤが入力、ＲＥＱＰがイネーブルである。ＳＴＡＴＥは、ＳＲフリップフロップ２２２０の出力として生成される。ＳＲフリップフロップ２２２０へのセット入力は、ＲＥＱＰ及びＮＯＴ  ＲＥＳＥＴのＡＮＤ２２１６として形成される。ＳＲフリップフロップ２２２０へのリセット入力は、ＤＯＮＥ＿ＤＥＬＸ及びＲＥＳＥＴのＯＲ２２１８として形成される。
【０１５４】
ＳＴＢ（ＣＮＴ＿ＥＮとも呼ばれる）は、リセット可能フリップフロップ２２２４の出力として形成される。このフリップフロップへの入力は、出力の反転であり、従って、該フリップフロップがリセットされていないときに各クロックサイクルごとに交互するＳＴＢが生成される。リセット入力ＣＮＴ＿ＲＥＳは、ＲＥＱＰ及びＮＯＴ  ＳＴＡＴＥのＯＲ２２２２として形成される。
【０１５５】
ＢＩＴＣＮＴ（この例においては６ビット信号であり、代替実施形態は、図２９乃至３１を通じて代替値を要求する異なるパラメータを提供することができる）は、カウンタ３１４０の出力として形成される（図２２のカウンタ２２２８と比較すること）。カウンタ３１４０のイネーブルは、ＣＮＴ＿ＥＮ（又はＳＴＢ）及びＴＥＲＭのＯＲ３１３８である。図２２の例とは対照的に、この例においては、ＩＤＬＥ＿ＳＹＭＳ＞０又はＳＳＢＩ＿ＤＡＴＡ＿ＷＤ＞８の場合はＢＩＴＣＮＴは３１以降もカウントすることができるため、ＢＩＴＣＮＴの幅は１ビットだけ拡大される。ＢＩＴＣＮＴに関するロード値は、アクセスがバーストの第１のアクセスであるかどうかに依存する。従って、ＣＯＮＴは、マルチプレクサ３１１２に関する選択ラインとして使用され、アサートされたときには００１０１０をＢＩＴＣＮＴ＿ＬＤＶＡＬの値として選択し、アサートされないときは００００００を選択する。
【０１５６】
ＴＥＲＭ＿ＣＮＴは、上記のようにＳＥＮＤ＿ＴＥＲＭ＿ＳＹＭがアサートされたときに終了シンボルを形成するために使用され、次のように形成される。すなわち、ＥＮ＿ＴＥＲＭ＿ＣＮＴがＳＲフリップフロップ３１４４の出力として形成される。セット入力は、ＳＥＮＤ＿ＴＥＲＭ＿ＳＹＭがアサートされたときにＥＮ＿ＴＥＲＭ＿ＣＮＴをアサートする。ＥＮ＿ＴＥＲＭ＿ＣＮＴは、ＴＥＲＭ＿ＣＯによる指示に従い、終了シンボルが完了されたときにデアサートされる。従って、フリップフロップ３１４４に関するリセットは、ＲＥＳＥＴ及びＴＥＲＭ＿ＣＯのＯＲ３１４２である。ＴＥＲＭ＿ＣＮＴは、この例においては２ビット信号であるが、その他の様々な大きさ及び波形のその他の終了シンボルを本発明の適用範囲内において使用することができる。ＴＥＲＭ＿ＣＮＴは、カウンタ３１４８の出力として形成され、該カウンタのキャリーアウトがＴＥＲＭ＿ＣＯに割り当てられる。カウンタ３１４８は、ＲＥＳＥＴ及びＮＯＴ  ＥＮ＿ＴＥＲＭ＿ＣＮＴのＯＲ３１４６によってリセットされるとき以外は常にイネーブル状態である。従って、ＥＮ＿ＴＥＲＭ＿ＣＮＴがアサート時には、カウンタ３１４８へのリセットがデアサートされ、キャリーアウトＴＥＲＭ＿ＣＯＭがアサートしてＥＮ＿ＴＥＲＭ＿ＣＮＴをデアサートするまでカウンタにカウントさせる。
【０１５７】
ＳＢＩモードに関してはスレーブＩＤが要求されるが、ＳＳＢＩモードに関してはＳＳＢＩマスター１１１０はスレーブＩＤを使用しないことを思い出すこと。スレーブデバイスはスレーブＩＤを復号するため、マイクロプロセッサ又はその他のホストデバイスによって、制御レジスタ又は当業においてよく知られるその他の技術を通じて指定する必要がある。このスレーブＩＤフィールドは、各トランザクションに関してＳＳＢＩマスター１１１０に出力することができる。このフィールドは、ＳＢＩの場合とは異なり、単一のスレーブがＳＳＢＩポートに接続されているときには１回だけプログラミングすることができ変更する必要がまったくない。さらに、後述されるように、ＦＴＭ＿ＭＯＤＥは、同じＳＳＢＩマスター１１１０を真の１線スレーブとともに及びブロック１４２０等のＳＳＢＩ−ＳＢＩコンバータブロックを用いる１線スレーブとともに使用することを許容するＦＴＭモードで転送を行うべきかどうかを指定する。
【０１５８】
ＦＴＭをサポートするＳＳＢＩスレーブ
３線バス及び１線バスをサポートする必要があるスレーブデバイスに関する１つの手法は、図１４に示されるように３線ＳＢＩサポートブロック１２２０を保持するようにスレーブを設計すること、及び１線バスへのインタフェースを可能にするＳＳＢＩスレーブコンバータ１４２０を追加することである。ＳＳＢＩスレーブコンバータブロック１４２０は、１線シグナリングを変換し、ＳＢＳＴ信号とＳＢＣＫ信号を生成してこれらの信号を既存の３線ＳＢＩスレーブ回路１２２０に提供するために使用することができる。従って、この例に関して、１線モードにおいては、ＳＳＢＩコマンドは３線スレーブ回路１２２０によって適切に解釈されないためＦＴＭコマンドを使用しなければならない。表５は、ＳＳＢＩスレーブコンバータ例１４２０に関するポート説明を含む。
【表５】
2010211810.tif 000007
【０１５９】
ＳＳＢＩスレーブコンバータ例１４２０は、１線モードのときはＳＳＢＩシグナリングをＳＢＩシグナリングに変換し、３線モードのときは該変換を迂回するために使用することができる。具体的には、ＳＳＢＩスレーブコンバータは、特にＳＳＢＩ＿ＤＡＴＡラインを取り入れ、標準３線ＳＢＩスレーブブロックに関するＳＢＣＫ信号及びＳＢＳＴ信号を生成する。この例においては、図１４に関して上述されるように、ＳＢＤＴは、パッドと３線スレーブブロックとの間に直接接続することが可能であるため、ＳＳＢＩスレーブコンバータ１４２０において生成する必要がない。
【０１６０】
ＳＢＳＴ入力及びＳＢＣＫ入力は、１線動作又は３線動作が希望されるかどうかを決定するために使用することができる。通常の３線転送中にＳＢＳＴ＝１とＳＢＣＫ＝０の組合せが生じることは絶対にないため、該組合せのときに１線モードが選択される。該モードを選択するこのオプションは、専用のモード選択ピン又はレジスタを不要にする。３線モードが選択されたときには、以下において詳細に説明されるように、ＳＢＳＴ信号及びＳＢＣＫ信号が多重化されてこのブロックの出力に提供される。
【０１６１】
１線モードにおいては、ＳＳＢＩスレーブコンバータブロック１４２０は、ＳＳＢＩ＿ＤＡＴＡラインを検査して開始シンボルの有無を確認し、該開始シンボルは、ＳＢＳＴをアサートするため及びＳＢＣＫのトグルを開始させるために使用される。ＳＳＢＩスレーブコンバータブロック１４２０は、ＳＢＳＴをデアサートするため及びＳＢＣＫのトグルを停止させるために使用される終了シンボルも探す。書き込みデータは直接ＳＢＩスレーブブロックに向かい、同様に、読み取りデータは直接ＳＢＤＴ上に戻される。以下では、これらの機能を例示する一実施形態例が図３２乃至３５に関して詳細に説明される。
【０１６２】
図３２は、ＳＳＢＩスレーブコンバータ１４２０の一部を示した図である。示されている回路は、モードが１線又は３線のいずれであるかの決定を担当する。ＳＳＢＩ＿ＭＯＤＥは、ＳＢＳＴ＿ＩＮ及びＮＯＴ＿ＳＢＣＫ＿ＩＮのＡＮＤ３２５０によって示されるように、ＳＢＳＴ＝１である間にＳＢＣＫ＝０であるときに１線モードに関してハイになる。ＳＳＢＩ＿ＭＯＤＥは、この例においてはその他の機能又はブロックが選択されたモードに従って動作する場合に出力として引き渡される。ＳＳＢＩ＿ＭＯＤＥは、マルチプレクサ３２６０及び３２７０を制御するためにも使用される。３線モードにおいては、すなわちＳＳＢＩ＿ＭＯＤＥがアサートされないときには、ＳＢＣＫ及びＳＢＳＴパッド入力（それぞれＳＢＳＴ＿ＩＮ及びＳＢＣＫ＿ＩＮ）がＳＢＳＴ＿ＯＵＴ及びＳＢＣＫ＿ＯＵＴへの出力のためにそれぞれ選択される。１線モードにおいては、すなわちＳＳＢＩ＿ＭＯＤＥがアサートされたときには、マルチプレクサ３２６０及び３２７０は、ＳＢＳＴ＿ＯＵＴ及びＳＢＣＫ＿ＯＵＴにおいてそれぞれ出力するためのＳＢＳＴ＿ＧＥＮ及びＳＢＣＫ＿ＧＥＮをそれぞれ選択する。
【０１６３】
ＲＥＳＥＴ＿ＥＦＦは、ストレッチされたリセット信号であり、最低２つのクロックサイクルであるように生成される。この生成は、クロックがオフの場合でも最終的にはＲＥＳＥＴ＿ＥＦＦが回路によって観測されることを保証する。非同期的にセット可能なフリップフロップ３２２０、３２３０、及び３２４０は、ＴＣＸＯ＿ＤＩＳ及びＲＥＳＥＴのＯＲ  ３２１０によってセットされる。ＲＥＳＥＴ＿ＥＦＦは、フリップフロップ３２４０の出力として形成される。フリップフロップ３２４０の入力は、フリップフロップ３２３０の出力であり、フリップフロップ３２３０の入力は、フリップフロップ３２２０の出力である。フリップフロップ３２２０への入力は、ゼロにセットされる。
【０１６４】
この例においては、ＳＳＢＩからＳＢＩへの変換が行われるかどうかにかかわらず書き込みタイミングと読み取りタイミングが相対的に同じであるようにするため、ＳＳＢＩ＿ＤＡＴＡはＳＢＤＴと非常に類似するようにすべきである。次に、１クロックサイクルの遅延がある場合においてもＳＳＢＩ＿ＤＡＴＡがサンプリングされてＳＢＤＴが生成される例について検討する。この例では、スレーブＳＢＩブロック（すなわち１２２０）が１サイクル後にすべてのアクセスを観測することになる。この点は、書き込みに関しては問題にならない可能性が高い。しかしながら、読み取りに関しては、戻されたデータが現れるときには、該データは、マスターデバイスが該データを予想している時点よりも１サイクル後に現れることになる。その結果、レジスタ遅延なしでＳＳＢＩ＿ＤＡＴＡをＳＢＤＴ上に提供する必要がある。従って、次の問題は、ＳＢＩスレーブタイミングに間に合う形で開始シンボルを検出してＳＢＳＴ信号とＳＢＣＫ信号を生成することである。この問題は、次の理由で多少厄介になる可能性がある。すなわち、ＳＳＢＩスレーブコンバータ１４２０は、２つのシンボル（開始シンボル及び第１のデータシンボル）の継続時間中に次のことを行う必要がある。１．開始シンボルを認識する、２．ＳＢＳＴに強制的にアサートさせる（ローになる）、３．ＳＢＣＫを強制的にローにし、立ち下がりエッジが２クロックサイクルごとに発生するようにトグルするのを許容する、４．第２のＳＢＣＫ立ち下がりエッジを用いてＳＢＩスレーブ内のＳＢＤＴをサンプリングする。
【０１６５】
ＳＳＢＩ＿ＤＡＴＡラインがアイドル状態にあり、さらにＳＳＢＩスレーブコンバータ１４２０が開始シンボルを観測するまでＳＳＢＩ＿ＣＬＫの立ち上がり時にＳＳＢＩ＿ＤＡＴＡラインをサンプリングする例について検討する。図３３は、転送開始波形を示した図である。開始シンボルが「見つけ出され」、信号が１／２のクロックサイクルにおいてデグリッチされてＦＯＵＮＤ＿ＳＴにアサートさせる。この動作は非同期で強制的にＳＢＳＴをローにし、該ＳＢＳＴは、開始シンボルを探している回路をディスエーブルにする。ＦＯＵＮＤ＿ＳＴは、１／２のクロックサイクルだけ遅延され、自分自身で論理積され、ＳＢＣＫの第１の立ち下がりエッジ及び立ち上がりエッジを発生させるために使用される。ＳＢＳＴ及びＦＯＵＮＤ＿ＳＴは、ＳＢＣＫがトグルするのを可能にするためにいっしょに用いられる。ＳＢＩスレーブは、ＳＢＣＫの立ち下がり時にシンボルをサンプリングするため、これらのシンボルは、シンボル時間内に２５％入った時点まで有効にサンプリングされている。
【０１６６】
ＳＳＢＩ＿ＣＬＫは図示されているように整列させることができない点に注目すること。図３３に描かれている事例は、実際上は「最良の」事例である。開始シンボルがただちに検出されず、１つの全クロックサイクル後に検出される「最悪の」事例が発生する。この場合には、全ての信号、ＦＯＵＮＤ＿ＳＴ、ＳＢＳＴ、ＳＢＣＫが１クロックサイクルだけ右にシフトする。従って、データシンボルは、シンボル時間内に７５％入った時点までサンプリングされている。明確に理解されることになるように、両事例とも、ＳＢＳＴ及びＳＢＣＫはＳＳＢＩ＿ＤＡＴＡに関して正確に生成することが可能である。ＬＡＴＥは、図２５に関して上述されている同一名の信号と類似しており、（ＳＢＤＴ＿ＰＯ及びＳＢＤＴ＿ＯＥの）この１サイクルの可変性を１／２クロックサイクルにまで引き下げるのに役立つ。
【０１６７】
転送終了に関する波形が図３４に示されている。終了シンボルは４つの連続するクロックサイクルに関して１クロックサイクルごとにトグルするため、該終了シンボルを取得するのは多少複雑になる可能性がある。この終了シンボル例が選択された理由は、あらゆるシンボルデータと区別可能な最短波形であるためである。この波形をサンプリングするために用いられる回路例は、基本的には、パターンを探している４クロックサイクルにわたってＳＳＢＩ＿ＤＡＴＡをサンプリングする。別個の回路が並行して動作するが、立ち下がりクロックエッジにおいてサンプリングする。このことが必要な理由は、ＳＳＢＩ＿ＣＬＫ立ち上がりエッジが終了シンボルの遷移と整合されている場合は該シンボルが第１の回路によって取得される保証がないためである。従って、両回路が共同で、終了シンボルが見つけ出されることを保証する。
【０１６８】
図３５は、ＳＳＢＩスレーブコンバータ例１４２０に関する追加回路の一部を示した図である。ストレッチされたリセットＲＥＳＥＴ＿ＥＦＴは、ＳＢＳＴ＿ＧＥＮ及びＳＢＣＫ＿ＧＥＮを非同期的にハイにする。このストレッチされたリセットは、ＳＳＢＩ＿ＣＬＫがオンになるまでアサートされた状態を維持するようにするために使用される。このリセットは、後述されるＦＯＵＮＤ＿Ｔを生成する回路部分もリセットする。
【０１６９】
ＳＳＢＩ＿ＤＡＴＡは、レジスタ３５０８においてＳＳＢＩ＿ＣＬＫによってラッチされ、ＮＯＴ  ＳＢＳＴ＿ＧＥＮによってリセットされる。レジスタ３５０８の出力は、ＳＳＢＩ＿ＣＬＫの反転によってクロックされるレジスタ３５１０への入力として引き渡され、同じくＮＯＴ  ＳＢＳＴ＿ＧＥＮによってリセットされる。レジスタ３５１０の出力は、開始が見つけ出されたことを示すＦＯＵＮＤ＿ＳＴのラベルが付される。
【０１７０】
ＳＳＢＩ＿ＤＡＴＡは、ＳＳＢＩ＿ＣＬＫの反転によってクロックされるレジスタ３５０２にも入力される。レジスタ３５０２の出力は、レジスタ３５０４に入力され、レジスタ３５０４の出力は、ＦＯＵＮＤ＿ＳＴ＿Ｎのラベルが付される。レジスタ３５０２及び３５０４の両レジスタは、ＲＥＳＥＴ＿ＥＦＦによってリセットされる。ＦＯＵＮＤ＿ＳＴ＿Ｎは、ＳＳＢＩ＿ＣＬＫによってクロックされるレジスタ３５０６においてラッチされ、ＬＡＴＥが生成される。レジスタ３５０６は、ＦＯＵＮＤ＿ＳＴによってイネーブルにされる。
【０１７１】
ＦＯＵＮＤ＿ＳＴは、フリップフロップ３５１８を非同期的にセットするために使用され、フリップフロップ３５１８の出力が反転３５２０されてＳＢＳＴ＿ＧＥＮが生成される。見つけられた開始ビットは、ＳＢＳＴ＿ＧＥＮをアサートする（ローに駆動する）。ＮＯＴ  ＳＢＳＴ＿ＧＥＮはＦＯＵＮＤ＿ＳＴを生成するレジスタ３５０８及び３５１０をリセットし、従って現在の１つのアクセス又は複数のアクセスが完了するか又は新たな開始ビットが見つけられまでＦＯＵＮＤ＿ＳＴがデアサートされるのを思い出すこと。フリップフロップ３５１８は、ＳＳＢＩ＿ＣＬＫの反転によってクロックされ、ＲＥＳＥＴ＿ＥＦＦによってリセットされる。以下においてさらに詳細に説明されるように、終了シンボルが見つかっていることを示すＦＯＵＮＤ＿Ｔによってイネーブルにされたときにゼロがクロックインされる。
【０１７２】
ＲＥＳＥＴ＿ＥＦＦによってリセットされたレジスタ３５２２は、ＦＯＵＮＤ＿ＳＴを入力として受け取り、１サイクルだけ遅延させる。レジスタ３５２２の出力ＳＢＣＫ＿ＥＮは、ＡＮＤ３５２６を通じてＳＢＣＫ＿ＧＥＮを強制的にローにするために用いられるＦＯＵＮＤ＿ＳＴとともにＮＡＮＤ３５２４に引き渡される。ＡＮＤ３５２６への他方の入力は、ＮＡＮＤ３５２４がＳＢＣＫ＿ＧＥＮを強制的にローにしておらずレジスタ３５１４の出力から来るときにＳＢＣＫ＿ＧＥＮを生成するために使用される。レジスタ３５１４は、ＳＳＢＩ＿ＣＬＫの反転によってクロックされ、ＲＥＳＥＴ＿ＥＦＦによって非同期的にセットされる。レジスタ３５１４の出力は、ＡＮＤ３５２６に引き渡されることに加えて、インバータ３５１６において反転される。レジスタ３５１４の入力は、ＳＢＳＴ＿ＧＥＮ、ＦＯＵＮＤ＿ＳＴ、ＦＯＵＮＤ＿Ｔ、及びインバータ３５１６の出力のＯＲ３５１２として生成される。ＳＢＣＫ＿ＥＮ及びＦＯＵＮＤ＿Ｔは、ＳＢＳＴがデアサートする前にＳＢＣＫによるトグルを停止させるために使用される。
【０１７３】
上述されるように、終了シンボルを識別するために２つの回路が採用される。各回路において、ＳＳＢＩ＿ＤＡＴＡが２つの直列の５つのレジスタ３５２８乃至３５３６及び３５４２乃至３５５０内にシフトされる。終了シンボルパターンは、２つのＡＮＤゲート３５３８及び３５５２によって検出される。第１の回路は、ＳＳＢＩ＿ＣＬＫの反転によってクロックされるレジスタ３５２８と、ＳＳＢＩ＿ＣＬＫによってクロックされるレジスタ３５３０乃至３５３６とを有する。レジスタ３５２８、３５３０、及び３５３２は、ＲＥＳＥＴ＿ＥＦＦによって非同期的にリセットされる。終了パターンは、レジスタ３５３０の反転、レジスタ３５３２、レジスタ３５３４の反転、及びレジスタ３５３６のＡＮＤ３５３８によって突き止められる。第２の回路は、ＳＳＢＩ＿ＣＬＫによってクロックされるレジスタ３５４２と、ＳＳＢＩ＿ＣＬＫの反転によってクロックされるレジスタ３５４２乃至３５５０とを有する。レジスタ３５４２、３５４４、及び３５４６は、ＲＥＳＥＴ＿ＥＦＦによって非同期的にリセットされる。終了パターンは、レジスタ３５４４の反転、レジスタ３５４６、レジスタ３５４８の反転、及びレジスタ３５５０のＡＮＤ３５５２によって突き止められる。（ＡＮＤ３５３８及び３５５２の出力を出力とする）２つの回路のＯＲ３５４０は、終了シンボルが見つけられていることを示すＦＯＵＮＤ＿Ｔを生成する。
【０１７４】
ＦＯＵＮＤ＿Ｔは、一方の回路又は両方の回路のいずれが終了シンボルを検出するかに依存して長さが１サイクル又は１．５サイクルになる点に注目すること。この機能は、後続する転送をバス上において行うことができる速度を制限することが可能である。実施形態例においては、この制限はどのような問題も引き起こさない。代替実施形態においては、マスターは、必要な場合は、ＳＳＢＩ＿ＤＡＴＡが少なくとも１シンボル時間に関するアイドルシンボルを転送するように強制することができる。
【０１７５】
この回路は、終了シンボルが存在しないかぎりＦＯＵＮＤ＿Ｔをアサートしない点にさらに注目すること。データシンボルは２サイクルシンボルごとに変化することを考慮した場合において、クロックがシンボル遷移と整合されていない場合は、２つの連続するクロックサイクルにおけるシンボルのサンプリングは、終了シンボルに関する交互値ではなく同じ値をサンプリングすることになる。サンプリングクロックがシンボルエッジと整合されている場合は、サンプリングクロックは、前シンボル値及び新シンボル値のいずれのシンボル値もサンプリングすることができる。一例として、第１のサンプルエッジがシンボル遷移と整合されており、従って第３のエッジも整合されているが、第２及び第４のエッジはシンボルの途中で発生するためこれらのエッジは整合されていない事例について検討する。希望されるパターンは１０１０であることに留意し、第２のサンプル及び第４のサンプルが０を観測するためには、これらの２つのデータシンボルは０でなければならない。この要件が真である場合は、データは変化しなかったため第３のサンプルは０でなければならない。その結果、ＦＯＵＮＤ＿Ｔはアサートしない。第２及び第４のサンプルがシンボル境界と整合されていて第１と第３のサンプルが整合されていない事例に関しても同様の説明を行うことができる。
【０１７６】
繰り返しになるが、ＳＳＢＩ＿ＣＬＫは、図３３及び３４に示されるようには整列させることができない点ことに注目すること。描かれている図は、実際上は「最良の」事例である。開始シンボルが１／２クロックサイクル後に検出される「最悪の」事例が発生する。この場合には、ＦＯＵＮＤ＿Ｔが１／２クロックサイクルだけ右にシフトし、このシフトは、ＳＢＤＴ及びＳＢＣＫには影響を与えない。明確に理解されることになるように、「最良」及び「最悪」の両事例とも、追加のＳＢＣＫパルスがＳＢＩスレーブブロックに渡される。ＳＢＩスレーブは、ＳＢＳＴがデアサートされた時点でこれらの追加のデータビットを無視することが予想される。
【０１７７】
ＬＡＴＥは、ＳＳＢＩ＿ＭＯＤＥにあるときにＳＢＤＴ出力のタイミングを変更するために使用される。ＳＢＤＴ＿ＯＥ＿ＯＵＴは、マルチプレクサ３５６０の出力として形成され、マルチプレクサ３５６０は、レジスタ３５５８においてラッチされている状態のＳＢＤＴ＿ＯＥ＿ＩＮ及び遅延されているＳＢＤＴ＿ＯＥ＿ＩＮを入力とする。レジスタ３５５８は、ＳＢＤＴ＿ＯＥ＿ＩＮを入力として受け取り、該入力を１サイクルだけ遅延させる。ＳＢＤＴ＿ＰＯ＿ＯＵＴは、マルチプレクサ３５６６の出力として形成され、マルチプレクサ３５６は、レジスタ３５６４においてラッチされている状態のＳＢＤＴ＿ＰＯ＿ＩＮ及び遅延されているＳＢＤＴ＿ＰＯ＿ＩＮを入力として受け取る。レジスタ３５６４は、ＳＢＤＴ＿ＰＯ＿ＩＮを受け取り、該入力を１サイクルだけ遅延させる。マルチプレクサ３５６０及び３５６６の両方に関する選択は、ＬＡＴＥ及びＮＯＴ  ＳＳＢＩ＿ＭＯＤＥのＯＲ３６５２として形成される。従って、ＳＳＢＩ＿ＭＯＤＥにないときには、ＳＢＤＴ＿ＯＥ＿ＯＵＴはＳＢＤＴ＿ＯＥ＿ＩＮとして選択され、ＳＢＤＴ＿ＰＯ＿ＯＵＴはＳＢＤＴ＿ＰＯ＿ＩＮとして選択される。ＳＳＢＩ＿ＭＯＤＥにおいてＬＡＴＥがアサートされないときには、両方に関して同じ選択が行われる。ＬＡＴＥがＳＳＢＩ＿ＭＯＤＥにおいてアサートされたときには、ＳＢＤＴ＿ＯＥ＿ＩＮ及びＳＢＤＴ＿ＰＯ＿ＩＮの遅延されたバージョンが各々の出力に関して選択される。
【０１７８】
ＲＥＳＥＴ＿ＴＣＸＯ＿ＤＩＳは、レジスタ３５５６の出力として形成され、レジスタ３５５６は、レジスタ３５５４の出力を入力として受け取る。レジスタ３５５４は、ＴＸＣＯ＿ＤＩＳを入力として受け取る。レジスタ３５５４は、ＳＳＢＩ＿ＤＡＴＡによってクロックされる。レジスタ３５５６は、ＳＳＢＩ＿ＤＡＴＡの反転によってクロックされる。両レジスタは、ＲＥＳＥＴによって非同期的にリセットされる。従って、ＴＸＣＯ＿ＤＩＳがアサートされたときには、ＳＳＢＩ＿ＤＡＴＡの立ち上がりエッジがレジスタ３５５４をセットし、ＳＳＢＩ＿ＤＡＴＡの後続する立ち下がりエッジがレジスタ３５５６をセットしてＲＥＳＥＴ＿ＴＣＸＯ＿ＤＩＳをアサートする。従って、ＳＳＢＩ＿ＤＡＴＡは、クロック（すなわちＳＳＢＩ＿ＣＬＫ、及びその他のクロック）がディスエーブルにされた状態のときにＲＥＳＥＴ＿ＴＣＸＯ＿ＤＩＳをアサートするために使用することができる。一実施形態例においては、ＲＥＳＥＴ＿ＴＣＸＯ＿ＤＩＳは、１つ以上のディスエーブルにされたクロックを再度イネーブルにするために使用することができる。
【０１７９】
追加の代替実施形態
追加の実施形態が構想されている。例えば、より新しいＳＳＢＩデバイスをレガシーＳＢＩマスターとインタフェースさせることが望ましい場合がある。このため、ＳＢＳＴ、ＳＢＣＫ、及びＳＢＤＴの各信号を受信して単一のＳＳＢＩ＿ＤＡＴＡ信号を生成する３線−１線コンバータを使用可能である。該コンバータは、上述されるように、ＳＢＩスレーブを使用せずにいずれの型のインタフェースもサポートできるようにするために、ＳＳＢＩスレーブデバイス内に組み入れることが可能である。代替として、該コンバータは、３線プロトコルをインターセプトして単線インタフェースを生成するためにレガシーマスターデバイスに追加することが可能である。その他の代替実施形態においては、本明細書において説明されるコンバータは、いずれかの型（ＳＢＩ又はＳＳＢＩ）のマスター又はスレーブのいずれかの外部の独立型コンポーネントとして採用することが可能である。
【０１８０】
スレーブの他の実施形態は、ＳＳＢ及びＳＳＢＩの両方のスレーブインタフェースを含むことができる。（ＳＳＢＩ＿ＤＡＴＡ及びＳＢＤＴの両方に関して共用可能な）入りデータラインをモニタリングし、いずれの型のプロトコルを該入りデータラインにおいて使用中であるかを決定するためのセンサーを取り付けることができる。該代替実施形態においては、スレーブは、１方のスレーブインタフェース又は他方のスレーブインタフェース（ＳＢＩ又はＳＳＢＩ）を選択するようにプログラミングすることができる。当業者は、本明細書における教義に鑑みて、本発明の適用範囲内において採用可能な３線及び１線のマスター、スレーブ、及びコンバータの数多くの組合せを認識するであろう。
【０１８１】
当業者は、情報及び信号は様々な異なる技術のうちのいずれかを用いて表すことができることを理解するであろう。例えば、上記の説明全体を通じて参照されることがあるデータ、命令、コマンド、情報、信号、ビット、シンボル、及びチップは、電圧、電流、電磁波、磁場、磁気粒子、光学場、光学粒子、又はそのあらゆる組合せによって表すことができる。
【０１８２】
本明細書において開示される例に関して説明されている様々な例示的論理ブロック、モジュール、回路、及びアルゴリズム上のステップは、電子ハードウェアとして、コンピュータソフトウェアとして、又は両方の組合せとして実装できることを当業者はさらに理解するであろう。ハードウェアとソフトウェアのこの互換性を明確に例示するため、様々な例示的コンポーネント、ブロック、モジュール、回路、及びステップは、各々の機能の観点で一般的に説明されている。これらの機能がハードウェアとして又はソフトウェアとして実装されるかは、全体的システムに対する特定の用途上の及び設計上の制約事項に依存する。当業者は、説明されている機能を各特定用途に合わせて様々な方法で実装できるが、これらの実装決定は、本発明の適用範囲からの逸脱を生じさせるものであるとは解釈すべきでない。
【０１８３】
本明細書において開示される実施形態に関して説明されている様々な例示的論理ブロック、モジュール、及び回路は、本明細書において説明されている機能を果たすように設計された汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、その他のプログラミング可能な論理デバイス、ディスクリートゲートロジック、ディスクリートトランジスタロジック、ディスクリートハードウェアコンポーネント、又はそのあらゆる組合せ、とともに実装又は実行することができる。汎用プロセッサはマイクロプロセッサであることができるが、代替として、従来のどのようなプロセッサ、コントローラ、マイクロコントローラ、又はステートマシンであってもよい。さらに、プロセッサは、計算装置の組合せ、例えば、ＤＳＰと、１つのマイクロプロセッサとの組合せ、複数のマイクロプロセッサとの組合せ、ＤＳＰコアと関連する1つ以上のマイクロプロセッサとの組合せ、又はその他のあらゆる該コンフィギュレーションとの組合せ、として実装することもできる。
【０１８４】
本明細書において開示される実施形態に関して説明されている方法又はアルゴリズムのステップは、ハードウェア内において直接具体化させること、プロセッサによって実行されるソフトウェアモジュール内において具体化させること、又はその両方の組合せにおいて具体化させることができる。ソフトウェアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、取り外し可能なディスク、ＣＤ−ＲＯＭ、又は当業において既知であるその他のあらゆる形態の記憶媒体に常駐させることができる。１つの典型的な記憶媒体をプロセッサに結合させ、該プロセッサが該記憶媒体から情報を読み出すようにすること及び該記憶媒体に情報を書き込むようにすることができる。代替として、該記憶媒体は、プロセッサと一体化させることができる。さらに、該プロセッサ及び該記憶媒体は、ＡＳＩＣ内に常駐させることができる。該ＡＳＩＣは、ユーザー端末内に常駐することができる。代替として、該プロセッサ及び記憶媒体は、ユーザー端末内において個別構成要素として常駐することができる。
【０１８５】
開示された実施形態に関する上記の説明は、当業者が本発明を製造又は使用できるようにすることを目的とするものである。又、これらの実施形態に対する様々な修正が加えられた場合には、当業者は、該修正を容易に理解することが可能である。さらに、本明細書において定められている一般原理は、本発明の精神及び適用範囲を逸脱しない形でその他の実施形態に対しても適用することができる。以上のように、本発明は、本明細書において示されている実施形態に限定することを意図するものではなく、本明細書において開示されている原理及び斬新な特長に一致する限りにおいて最も広範な適用範囲が認められることになることを意図するものである。
【図１】
2010211810.tif 000008
【図２】
2010211810.tif 000009
【図３】
2010211810.tif 000010
【図４】
2010211810.tif 000011
【図５】
2010211810.tif 000012
【図６】
2010211810.tif 000013
【図７】
2010211810.tif 000014
【図８】
2010211810.tif 000015
【図９】
2010211810.tif 000016
【図１０】
2010211810.tif 000017
【図１１】
2010211810.tif 000018
【図１２】
2010211810.tif 000019
【図１３】
2010211810.tif 000020
【図１４】
2010211810.tif 000021
【図１５】
2010211810.tif 000022
【図１６】
2010211810.tif 000023
【図１７】
2010211810.tif 000024
【図１８】
2010211810.tif 000025
【図１９】
2010211810.tif 000026
【図２０】
2010211810.tif 000027
【図２１】
2010211810.tif 000028
【図２２】
2010211810.tif 000029
【図２３】
2010211810.tif 000030
【図２４】
2010211810.tif 000031
【図２５】
2010211810.tif 000032
【図２６】
2010211810.tif 000033
【図２７】
2010211810.tif 000034
【図２８】
2010211810.tif 000035
【図２９】
2010211810.tif 000036
【図３０】
2010211810.tif 000037
【図３１】
2010211810.tif 000038
【図３２】
2010211810.tif 000039
【図３３】
2010211810.tif 000040
【図３４】
2010211810.tif 000041
【図３５】
2010211810.tif 000042
【手続補正書】
【提出日】平成22年5月6日(2010.5.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
単線バスを介して第２のデバイスと通信するために動作可能なデバイスであって、
アクセスバーストによって前記単線バスを駆動するためのドライバであって、前記アクセスバーストは、開始シンボルと、１つ以上のモードシンボルと、デバイス識別子を示す１つ以上のシンボルと、１つ以上のアクセスと、終了シンボルと、を具備するドライバを具備し、アクセスは、読み取りフレーム又は書き込みフレームを具備し、前記ドライバは、ポーズシンボル中に及び読み取りデータシンボルを戻すために前記単線バスを解放する、デバイス。
【請求項２】
前記アクセスバーストは、前記１つ以上のアクセス以前にポーズシンボルを具備する請求項１に記載のデバイス。
【請求項３】
クロック時間を用いてクロック信号を生成するためのクロック生成器をさらに具備し、各シンボルは２つ以上のクロック時間を具備し、前記終了シンボルは、２つ以上の交互する値のシーケンスを具備し、前記値は各クロック時間ごとに交互する請求項１に記載のデバイス。
【請求項４】
前記終了シーケンスは、“１０１０”によって与えられ、１つは高電圧によって示され、０は低電圧によって示される請求項３に記載のデバイス。
【請求項５】
読み取りフレームは、読み取りインジケータシンボルと、アドレスを示す１つ以上のシンボルと、第１のポーズシンボルと、前記アドレスに従って読み取りデータを戻すための１つ以上のシンボル継続時間と、第２のポーズシンボルと、を具備する請求項１に記載のデバイス。
【請求項６】
書き込みフレームは、書き込みインジケータシンボルと、アドレスを示す１つ以上のシンボルと、第１のポーズシンボルと、前記アドレスに従って格納するための１つ以上の書き込みデータシンボルと、第２のポーズシンボルと、を具備する請求項１に記載のデバイス。
【請求項７】
単線バスを介して第２のデバイスと通信するために動作可能なデバイスであって、
前記単線バスで信号を受信し、ストローブ信号とクロック信号を前記信号から生成するための第１の回路を具備する、デバイス。
【請求項８】
前記ストローブ信号、クロック信号、及び単線バスを受け取り、前記受け取りに応答して前記第２のデバイスと通信するための３線バスインタフェースをさらに具備する請求項７に記載のデバイス。
【請求項９】
ストローブ入力と、
クロック入力と、
第１のモードにおいて前記ストローブ信号を前記第１の回路から選択して前記クロック信号を前記第１の回路から選択し、前記ストローブ信号及びクロック信号をそれぞれ生成するために第２のモードにおいて前記ストローブ入力及びクロック入力を選択するための第２の回路と、を具備する請求項７に記載のデバイス。
【請求項１０】
前記第１のモードを示すために前記ストローブ入力がハイに保持されて前記クロック入力がローに保持され、前記第２のモードはその他の方法で示される請求項７に記載のデバイス。
【請求項１１】
単線バスを介して通信する方法であって、
前記単線バスを介して開始シンボルを送信することと、
前記単線バスを介して１つ以上のモードシンボルを送信することと、
前記単線バスを介してデバイス識別子を示す１つ以上のシンボルを送信することと、
前記単線バスを介して１つ以上のアクセスを送信することであって、各アクセスに関してアクセスは読み取り又は書き込みであることができることと、
前記単線バスを介して書き込みアクセスに関する１つ以上のデータシンボルを送信することと、
前記単線バスを介して読み取りアクセスに関する１つ以上のデータシンボルを受信することと、
前記単線バスを介して終了シンボルを送信すること、とを具備する方法。
【請求項１２】
単線バスを介して通信する方法であって、
前記単線バスを介して開始シンボルを受信することと、
前記単線バスを介して１つ以上のモードシンボルを受信することと、
前記単線バスを介してデバイス識別子を示す１つ以上のシンボルを受信することと、
前記単線バスを介して１つ以上のアクセスを受信することであって、各アクセスに関してアクセスは読み取り又は書き込みであることができることと、
前記単線バスを介して書き込みアクセスに関する１つ以上のデータシンボルを受信することと、
前記単線バスを介して読み取りアクセスに関する１つ以上のデータシンボルを送信することと、
前記単線バスを介して終了シンボルを受信すること、とを具備する方法。
【請求項１３】
単線バスを介して通信するデバイスであって、
前記単線バスを介して開始シンボルを送信する手段と、
前記単線バスを介して１つ以上のモードシンボルを送信する手段と、
前記単線バスを介してデバイス識別子を示す１つ以上のシンボルを送信する手段と、
前記単線バスを介して１つ以上のアクセスを送受信する手段と、を具備し、
前記送受信する手段は、前記単線バスを介して書き込みアクセスに関する１つ以上のデータシンボルを送信する手段と、前記単線バスを介して読み取りアクセスに関する１つ以上のデータシンボルを受信する手段と、前記単線バスを介して終了シンボルを送信する手段と、を具備するデバイス。
【請求項１４】
単線バスを介して通信するデバイスであって、
前記単線バスを介して開始シンボルを受信する手段と、
前記単線バスを介して１つ以上のモードシンボルを受信する手段と、
前記単線バスを介してデバイス識別子を示す１つ以上のシンボルを受信する手段と、
前記単線バスを介して１つ以上のアクセスを受信する手段であって、アクセスは読み取り又は書き込みであることができる手段と、
前記単線バスを介して書き込みアクセスに関する１つ以上のデータシンボルを受信する手段と、
前記単線バスを介して読み取りアクセスに関する１つ以上のデータシンボルを送信する手段と、
前記単線バスを介して終了シンボルを受信する手段と、を具備するデバイス。
【請求項１５】
実体のプロセッサによって読み取り可能な記憶媒体であって、単線バスを介して通信するためにプロセッサに、
前記単線バスを介して開始シンボルを送信することと、
前記単線バスを介して１つ以上のモードシンボルを送信することと、
前記単線バスを介してデバイス識別子を示す１つ以上のシンボルを送信することと、
前記単線バスを介して１つ以上のアクセスを送信することであって、各アクセスに関してアクセスは読み取り又は書き込みであることができることと、
前記単線バスを介して書き込みアクセスに関する１つ以上のデータシンボルを送信することと、
前記単線バスを介して読み取りアクセスに関する１つ以上のデータシンボルを受信することと、
前記単線バスを介して終了シンボルを送信することと、を具備するステップを実行させるように構成された、プロセッサ読み取り可能なソフトウエア命令が記憶された、実体のプロセッサによって読み取り可能な記憶媒体。
【請求項１６】
実体のプロセッサによって読み取り可能な記憶媒体であって、単線バスを介して通信するためにプロセッサに、
単線バスを介して開始シンボルを受信することと、
単線バスを介して１つ以上のモードシンボルを受信することと、
単線バスを介してデバイス識別子を示す１つ以上のシンボルを受信することと、
単線バスを介して１つ以上のアクセスを受信することであって、各アクセスに関してアクセスは読み取り又は書き込みであることができることと、
単線バスを介して書き込みアクセスに関する１つ以上のデータシンボルを受信することと、
単線バスを介して読み取りアクセスに関する１つ以上のデータシンボルを送信することと、
単線バスを介して終了シンボルを受信することと、を具備するステップを実行させるように構成された、プロセッサ読み取り可能なソフトウエア命令が記憶された、実体のプロセッサによって読み取り可能な記憶媒体。
【外国語明細書】
2010211810000001.pdf