(57)【特許請求の範囲】
【請求項１】
２線シリアルインターフェースを通してデータを伝送する方法であって、
スレーブデバイスに前記２線シリアルインターフェースのデータ線上でクロック信号を伝送するステップと、前記スレーブデバイスに前記２線シリアルインターフェースのクロック線上で論理レベルのデータ信号を伝送するステップと、前記データ線上で前記クロック信号の第１の数のパルスに応じて前記論理レベルに前記データ信号を保つステップとからなる、前記２線シリアルインターフェースの前記データ線と前記クロック線上でマスターデバイスによってプリアンブルを発生するステップと、
前記プリアンブルを発生させた後に、前記２線シリアルインターフェースの前記データ線上で前記データ信号を介したアドレスビットとデータビットのみからなるデータブロックを伝送するステップと、
前記プリアンブルを発生させた後に、前記クロック信号を前記データ線から前記クロック線に切り替えて、前記スレーブデバイスに、前記２線シリアルインターフェースの前記クロック線上で前記クロック信号を伝送するステップと、
を含む方法。
【請求項２】
前記プリアンブルの前記第１の数のパルスのみが、複数のスレーブデバイスのうち前記スレーブデバイスにだけ付随する、請求項１に記載の方法。
【請求項３】
前記２線シリアルインターフェースの前記データ線及び前記クロック線は前記３線シリアルインターフェースの一部でもある、請求項１に記載の方法。
【請求項４】
マスターデバイスとスレーブデバイス間の２線シリアルインターフェースを通してデータを受信する方法であって、
プリアンブルとデータブロックを含む制御ワードを前記スレーブデバイスで受信するステップと、
前記２線シリアルインターフェースのデータ線とクロック線上で前記プリアンブルを前記スレーブデバイスによって検出するステップとからなり、
前記検出ステップは、
前記２線シリアルインターフェースの前記クロック線上で論理レベルのデータ信号を検出するステップと、
前記データ信号が前記クロック線上で前記論理レベルに留まる間、前記スレーブデバイスに付随する所定のクロックパルス数に応じ、前記２線シリアルインターフェースの前記データ線上でクロック信号を検出するステップと、
前記２線シリアルインターフェース上で、前記プリアンブルを検出した後に、前記データ信号を介してアドレスビットとデータビットのみからなるデータブロックを受信するステップと、
前記プリアンブルを検出した後に、前記２線シリアルインターフェースの前記クロック線に切り替えられた前記クロック信号を受信するステップと、
を含む方法。
【請求項５】
前記データ線上のパルスの数を求めるステップと、
前記パルス数が前記スレーブデバイスに付随する前記所定のパルス数に一致するときを求めるステップとを更に含む、請求項４に記載の方法。
【請求項６】
前記プリアンブル検出ステップが、
前記所定のパルス数の前記クロック信号の検出の指示を提供するステップと、
検出の指示に応答して、前記スレーブデバイスに前記制御ワードへの応答を許可するステップとを更に含む、請求項４に記載の方法。
【請求項７】
前記マスターデバイスと前記スレーブデバイスの間で読み取り動作を実施するステップを更に含む、請求項４に記載の方法。
【請求項８】
前記マスターデバイスと前記スレーブデバイスの間で書き込み動作を実施するステップを更に含む、請求項４に記載の方法。
【請求項９】
プルアップまたはプルダウンの少なくとも１つを前記スレーブデバイスのＳＬＥＮ入力に印加するステップを更に含む、請求項４に記載の方法。
【請求項１０】
マスターデバイスと少なくとも１つのスレーブデバイス間の２線シリアルインターフェースを通してデータ通信する方法であって、
スレーブデバイスに前記２線シリアルインターフェースのデータ線上でクロック信号を伝送するステップと、前記スレーブデバイスに前記２線シリアルインターフェースのクロック線上で第１の論理レベルのデータ信号を伝送するステップと、前記データ線上の前記クロック信号の第１のパルス数に応じて前記クロック線上で前記第１の論理レベルに前記データ信号を保つステップとからなる、前記２線シリアルインターフェースの前記データ線と前記クロック線上でマスターデバイスによってプリアンブルを発生するステップと、
前記プリアンブルの後に、前記２線シリアルインターフェースの前記データ線上に前記データ信号を介したアドレスビットとデータビットのみからなるデータブロックを伝送するステップと、
前記プリアンブルを発生させた後に、前記クロック信号を前記データ線から前記クロック線に切り替えるステップと、
プリアンブルを前記スレーブデバイスで受信するステップと、
前記２線シリアルインターフェースのデータ線とクロック線上の前記プリアンブルを前記少なくとも１つの前記スレーブデバイスによって検出するステップとからなり、
前記検出ステップは、
前記２線シリアルインターフェースの前記クロック線上の第１の論理レベルのデータ信号を検出するステップと、
前記データ信号が前記クロック線上で前記第１の論理レベルに留まる間、前記スレーブデバイスに付随する所定のパルス数に応じた、前記２線シリアルインターフェースの前記データ線上のクロック信号を検出するステップと、
前記プリアンブルを検出した後に、前記２線シリアルインターフェースの前記データ線上で前記データ信号を介してアドレスビットとデータビットのみからなる前記データブロックを受信するステップと、
前記プリアンブルを検出した後に、前記２線シリアルインターフェースの前記クロック線上の前記クロック信号を受信するステップと、
を含む方法。
【請求項１１】
前記プリアンブルの前記第１の数のパルスのみが、複数のスレーブデバイスのうち前記スレーブデバイスにだけ付随する、請求項１０に記載の方法。
【請求項１２】
前記２線シリアルインターフェースの前記データ線及び前記クロック線は前記３線シリアルインターフェースの一部でもある、請求項１０に記載の方法。
【請求項１３】
前記データ線上のパルスの数を求めるステップと、
前記パルス数が前記スレーブデバイスに付随する前記所定のパルス数に一致するときを求めるステップとを更に含む、請求項１０に記載の方法。
【請求項１４】
前記プリアンブル検出ステップが、
前記所定のパルス数の前記クロック信号の検出の指示を提供するステップと、
検出の指示に応答して、前記少なくとも１つのスレーブデバイスに前記プリアンブルの検出の応答を許可するステップとを更に含む、請求項１０に記載の方法。
【請求項１５】
前記マスターデバイスと前記少なくとも１つのスレーブデバイスの間で読み取り動作を実施するステップを更に含む、請求項１０に記載の方法。
【請求項１６】
前記マスターデバイスと前記少なくとも１つのスレーブデバイスの間で書き込み動作を実施するステップを更に含む、請求項１０に記載の方法。
【請求項１７】
プルアップまたはプルダウンの少なくとも１つを前記少なくとも１つのスレーブデバイスのＳＬＥＮ入力に印加するステップを更に含む、請求項１０に記載の方法。
【請求項１８】
マスターデバイスと少なくとも１つのスレーブデバイス間のシリアルインターフェースを通してデータ通信する方法であって、
スレーブデバイスに前記２線シリアルインターフェースのシリアルデータ線上でクロック信号を伝送するステップと、前記スレーブデバイスに前記２線シリアルインターフェースのシリアルクロック線上で第１の論理レベルのデータ信号を伝送するステップと、前記クロック信号の第１のパルス数に応じて前記第１の論理レベルに前記データ信号を保つステップとからなる、前記２線シリアルインターフェースの前記シリアルデータ線と前記シリアルクロック線上でマスターデバイスによってプリアンブルを発生するステップと、
前記プリアンブルを前記スレーブデバイスで受信するステップと、
前記２線シリアルインターフェースの前記シリアルデータ線と前記シリアルクロック線上の前記プリアンブルを前記スレーブデバイスで検出するステップとからなり、
前記検出ステップは、更に、
前記シリアルクロック線上の前記第１の論理レベルのデータ信号を検出するステップと、
前記データ信号が前記シリアルクロック線上の前記第１の論理レベルに留まる間、前記スレーブデバイスに付随する所定のクロックパルス数に応じ、前記２線シリアルインターフェースの前記シリアルデータ線上の前記クロック信号を検出するステップと、
前記プリアンブルを検出した後に、前記シリアルデータ線上で前記データ信号を介してアドレスビットとデータのみからなるデータブロックを受信するステップと、
前記プリアンブルを検出した後に、前記２線シリアルインターフェースの前記シリアルクロック線に切り替えられた前記クロック信号を受信するステップと、
を含む方法。
【請求項１９】
プルアップまたはプルダウンの少なくとも１つを前記スレーブデバイスのＳＬＥＮ入力に印加するステップを更に含む、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は２００４年４月１９日出願の米国特許仮出願第６０／５６３３１５号の優先権を主張するものである。
【０００２】
本発明は、チップ間のデジタルシリアルデータ通信を提供するためのインターフェースに関し、特に２線チップ間デジタルシリアルインターフェースを提供する装置および方法に関する。
【背景技術】
【０００３】
通常、デバイス間のシリアル通信インターフェースは、シリアルデータ線およびシリアルクロック線からなる。シリアルデータ線およびシリアルクロック線は両方ともプルアップレジスタを経由して正の電源に接続され、バスが使用されないときに高く保たれる。シリアル通信インターフェースを用いる各デバイスは、デバイスに付随する独特のアドレスによって認識される。シリアルバスに接続された各デバイスは、シリアルデータ線およびシリアルクロック線の両方について開放ドレンまたは開放コレクタ出力を持たなければならない。シリアルデータ線上のデータは、１秒あたり１００キロバイトまで伝送することができる。シリアルデータ線およびシリアルクロック線に接続されたデバイスの数は、線の最大バス能力によってのみ制限される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
既存のシリアル通信を提供するシステムは、個々の制御線を移動するのではなく、デバイス間にメッセージを通す。いくつかのデジタルシリアルデータ接続は、典型的にＬＥＮまたはＳＬＥＮと呼ばれるピンに印加されたラッチイネーブル制御信号を含む。これは、大部分のシリアルデータインターフェースに３本の線、すなわちデータ線、クロック線、およびラッチイネーブル信号制御線を含むことが必要になる。ラッチイネーブル信号制御を省略できる方法があれば、コンポーネントパッケージに必要なＰＩＮの数が大きく低減され、製造のコストを節約することができる。
【課題を解決するための手段】
【０００５】
本明細書に開示され請求される本発明は、その一態様において、マスターデバイスと少なくとも１つのスレーブデバイス間のシリアルインターフェースを通してデータを通信する方法を含む。プリアンブルはマスターデバイスで発生され、マスターデバイスから少なくとも１つのスレーブデバイスへインターフェースを通して伝送するためのデータブロックに付加される。制御ワードは少なくとも１つのスレーブデバイスによって受け取られ、スレーブデバイスは制御ワード内に含まれるプリアンブルを検出する。プリアンブルが検出されると、スレーブデバイスは受け取った制御ワードに応答することができる。
【０００６】
本発明およびその利点をより完全に理解するために、添付の図面と共に以下の説明を参照する。
【発明を実施するための最良の形態】
【０００７】
ここで図面、具体的には図１を参照すると、マスターチップ１０４とスレーブチップ１０６間のデジタルシリアルインターフェース１０２のブロック図が示されている。マスターチップ１０４とスレーブチップ１０６は互いに対話することのできる任意の種類のデジタルデバイスを含むことができる。マスターチップ１０４はデジタルシリアルデータインターフェース１０２による通信を制御し、スレーブチップ１０６はスレーブチップ１０６に特別にアドレスされた通信のためにデジタルシリアルデータインターフェース１０２を監視する。マスターチップ１０４からスレーブチップ１０６への通信はスレーブチップ１０６へ特定してアドレスされ、マスターチップ１０４から伝送された、通信を意図する任意のメッセージ内に含まれるスレーブチップ１０６の識別は、スレーブチップ１０６によって認識される。
【０００８】
２線インターフェースはＳＤＡＴＡ線１０８とＳＣＬＫ線１１０を含む。マスターチップ１０４とスレーブチップ１０６間の全ての通信は、以下でより完全に説明するように、ＳＤＡＴＡ線１０８とＳＣＬＫ線１１０だけを使用して行うことができる。従来、３線デジタルシリアルデータインターフェースは、ＬＥＮ／ＳＬＥＮ線と呼ばれるラッチイネーブル線１１２も含む。提供された開示の様々な実施形態において、ＬＥＮ／ＳＬＥＮ線１１２はデジタルシリアルデータインターフェース１０２内に含むことができ、マスターチップ１０４とスレーブチップ１０６間の通信には使用されない。あるいは、パッケージのＰＩＮ数を減らすために、ＬＥＮ／ＳＬＥＮピンはチップから完全に取り除くことができる。
【０００９】
以下の説明は、マスターチップ１０４とスレーブチップ１０６間のデジタルシリアルインターフェース１０２のための新規な２線インターフェースに関する。単一マスターチップ１０４と単一スレーブチップ１０６内で実施されることに加えて、単一マスターチップ１０４と複数のスレーブチップ１０６を含む構成も使用できることを認識すべきである。マスターチップ１０４は全ての通信を開始するが、スレーブチップ１０６もマスターチップ１０４からの読み取りとマスターチップ１０４への書き込みができる。
【００１０】
提案される２線インターフェースは、従来の３線シリアル制御インターフェースで必要であったラッチイネーブル制御線１１２の必要性を取り除く。ＳＥＮ／ＳＬＥＮ線１１２上のラッチイネーブル信号は、図２ｂに関して示したように、マスターチップ１０４からスレーブチップ１０６へ伝送された読み取り／書き込み動作を開始させるための制御ワード２０２の先端に、短いプリアンブルシーケンスを付加することによって省かれる。
【００１１】
ここで図２ａを参照すると、本開示の２線シリアルインターフェース１０２に使用する制御ワード２０２が図示されている。既存の３線インターフェースでは、マスターチップ１０４からスレーブチップ１０６への伝送はデータ部２０３だけからなる。これは、ラッチイネーブル線１１２が、インターフェース１０２を通してデータを受け取ったとき、スレーブチップ１０６に指示する役割をもっていたからである。本開示によれば、伝送されるデータ２０３に短いプリアンブル２０４が付加されて完全な制御ワード２０２を形成する。短いプリアンブル２０４は、スレーブチップ１０６に書き込むべき、または読み取るべきデータの指示を特定のスレーブチップ１０６へ提供する。
【００１２】
ここで、更に詳細に図２ｂを参照すると、制御ワード２０２の更に完全な図が提供されている。プリアンブル２０４は通常の３線シリアルバス動作と干渉しないように設計される。プリアンブル２０４は２線インターフェース１０２を通してデータがいつ伝送されるかの指示を与える。このプロセスは、図３で更に詳細に説明する。プリアンブル２０４内の通知事項は、既存の３線インターフェースにおけるＳＤＡＴＡ線１０８およびＳＣＬＫ線１１０の役割を逆転することによって提供される。
【００１３】
方向ビット２０６はプリアンブルに続くが、常に必要ではない。方向ビットは、要求される動作が、スレーブチップ１０６のデータレジスタに書き込むことであるか、またはスレーブチップ１０６のデータレジスタから読み取ることであるかの指示を与える。限られたあるアプリケーションのセットの例では、スレーブチップ１０６中のあるレジスタはシリアルインターフェースから書き込まれるだけであり、かつ／またはスレーブチップ１０６中のあるレジスタはシリアルインターフェースから読み取られるだけである。したがって、読み取りまたは書き込み動作は、アドレスされるレジスタのレジスタアドレス位置によって決定することができる。これらの状況下では、分離した方向ビットは不要である。方向ビット２０６が必要でない状況では、方向ビット２０６はアドレスフィールド２０８の部分になる。アドレスフィールド２０８は典型的に７ビットの長さである。アドレスフィールド２０８は、データを書き込みまたは読み取るべきスレーブチップ１０６のアドレスを提供する。データフィールド２１０は、通常８ビットバイトのデータを含む。データフィールド２１０はシリアルデータインターフェース１０２を通して伝送されるデータを含む。当業者には、アドレスフィールド２０８およびデータフィールド２１０の長さは、必要に応じて他のサイズとすることができることを理解されたい。あるいは、データフィールド２１０はアドレスフィールド２０８の前に受け取ることができる。
【００１４】
ここで図３を参照すると、プリアンブル２０４が制御ワード２０２内でスレーブデバイス用にデータの指示を与える方法がより完全に示されている。上述したように、プリアンブル２０４は通常の３線シリアルバス動作と干渉しないように設計されるので、３線構成のチップは新しい２線インターフェースおよびプロトコルを用いて動作することができる。これはＳＣＬＫ線１１０とＳＤＡＴＡ線１０８の役割を逆転することによって達成された。図３に見ることができるように、データがインターフェース上に伝送されるとき、ＳＣＬＫ線１１０はデータ伝送線になり、時間ｔ１で低レベルから高レベルになり、期間ｔ４まで高いレベルを維持する。ＳＣＬＫ線１１０は期間ｔ１から期間ｔ４まで高いレベルで一定に維持されるが、ＳＤＡＴＡ線１０８はクロック信号の提供を点ｔ２で開始し、プリアンブル部１２０４の終わる時間ｔ５まで続ける。
【００１５】
３線インターフェースの通常の動作において、データ線１０８は、印加されたクロック信号に応答してＳＣＬＫ線１１０のクロック信号もトグリングするまで、高レベルから低レベルまたは低レベルから高レベルへは決して変化しない。説明したプリアンブル２０４においてのみ、データ線１０８は状態を変化させる、すなわち、ＳＣＬＫ線１１０を静止状態に保ちながら、高レベルから低レベルへまたは低レベルから高レベルへ動く。図３に図示した例において、ＳＤＡＴＡ線１０８は、ＳＣＬＫ線１１０の信号を一定に留めながら、与えられたクロック信号（３０２、３０４、３０６）に応答して３回高くなる。これらの信号に応答してパルス３０８を発生させ、プリアンブル２０４が検出されたことを指示する。これはプリアンブル検出線３１０上に発生する。本説明は、３個のパルスの検出をプリアンブル検出パルス３０８発生のためのトリガ事象としたが、任意の数のパルスをプリアンブル検出の決定に使用することができる。
【００１６】
時間ｔ３でのプリアンブル検出パルス３０８に応答して、バリッド（ＶＡＬＩＤ）信号線３１２は高くなる。バリッド信号線３１２上のバリッド信号は図６に示した本明細書で以下に説明するプリアンブル検出回路から発生される。バリッド信号は標準的な３線インターフェースのＳＬＥＮラッチイネーブル信号と同じ機能を行い、スレーブチップ１０６にデータの受け取りを許可する。バリッド信号は論理的にＳＬＥＮＩ／Ｏパッド信号と結合することができる。ＳＬＥＮパッドは、任意のＳＬＥＮパッドの入力への適切なプルアップまたはプルダウンで出力結果に影響を与えずに存在するように設計できる。更に、ＳＬＥＮ入力を結合して取り出すことができ、同じ設計は従来の３線シリアルインターフェースで動作する。
【００１７】
プリアンブルの長さは３個のパルスの長さとして説明したが、追加の実施は１個または２個のパルスだけ使用することができる。マスターチップ１０４から数個のスレーブチップ１０６に送られたプリアンブルパルス数を計数し適切にデコードすることによって、図４に示すようにスレーブチップへ個々にアドレスすることができる。例えば、単一マスターチップ１０４は、上述のように２線インターフェースプリアンブルを用いて、３個の分離したスレーブチップ１０６ａ、１０６ｂ、１０６ｃにアドレスすることができる。この場合、ＳＤＡＴＡ線１０８に伝送されたパルスは、ＳＣＬＫ線１１０が静止状態に保たれているとき、スレーブデバイス１０６の各々によって計数することができる。単一パルスが検出されれば、これに伴ってデータはスレーブチップ１０６ａに伝送される。２個のパルスがＳＤＡＴＡ線１０８上に検出されるとき、これに伴ってデータはスレーブチップ１０６ｂに向けられ、３個のパルスがＳＤＡＴＡ線１０８上に検出されるとき、これに伴ってデータはスレーブチップ１０６ｃに向けられる。無論、特定のスレーブチップ１０６に付随するパルス数は任意の設計構成に適したように変更することができる。したがって、個々のスレープチップ１０６は、ＳＣＬＫ線１１０を特定のスレーブチップ１０６と一定に保ちながら、ＳＤＡＴＡ線上のプリアンブル内に特定の数のパルスを付随させることによってアドレスすることができる。
【００１８】
ここで図５を参照すると、図３のプリアンブルに付随するプロトコルの動作を説明するフロー図が示されている。最初に、スレーブデバイス１０６は、ステップ５０２でプリアンブル２０４の伝送を指示する条件についてＳＤＡＴＡとＳＣＬＫ線の両方を監視する。質問ステップ５０４は、ＳＣＬＫ線１１０が複数のクロックパルスの間静止状態に留まるときを検出する。これが検出されれば、質問ステップ５０６は、ＳＣＬＫ線１１０が静止している時間にＳＤＡＴＡ線１０８が変化しているか否かを求める。そうであれば、ステップ５０８でＳＤＡＴＡ線１０８上のパルス数が計数される。複数のスレーブがＳＤＡＴＡ線１０８とＳＣＬＫ線１１０に接続してあれば、パルス数からアドレスされる特定のスレーブチップ１０６が決定される。単一スレーブチップ１０６がＳＤＡＴＡ線１０８とＳＣＬＫ線１１０に接続している場合、ステップ５１０は必要ない。ステップ５１２で、マスターチップ１０４とスレーブチップ１０６間に検出されたパルスに応答して適切な読み取り／書き込み動作が行われる。
【００１９】
図６を参照すると、２線インターフェース１０２上のプリアンブルを検出する回路が示されている。ＳＤＡＴＡ信号は４ビットのシフトレジスタ６０２のクロック入力に入力される。本議論は４ビットレジスタ６０２について考えているが、レジスタ６０２は、スレーブチップ１０６にアドレスするのに必要な最小のプリアンブルパルス数の長さだけ必要である。スレーブチップ１０６が同じシリアルインターフェースバス上の他のスレーブチップと一緒に動作することを意図するならば、スレーブチップのパルス数よりも１パルスだけ長いシフトレジスタを有することは有用であり、必要な数よりも多くのプリアンブルパルスが送られたか否かを求め、したがって、それが他のスレーブデバイスコンポーネント用に意図されているとしてメッセージを無視することができる。ＳＣＬＫ信号はカウンター６０４、および４ビットシフトレジスタ６０２のＤ入力への入力である。プリアンブルがＳＣＬＫ線１１０上に存在するとき、４ビットシフトレジスタ６０２のＤ入力は高くなる。ＳＤＡＴＡ線１０８が４ビットシフトレジスタ６０２のクロック入力にパルスを印加し始めると、４ビットシフトレジスタ６０２の高いＤ入力は４ビットシフトレジスタ６０２の４個の出力６１０にわたって逐次的にラッチされる。したがって、高いＤ入力およびＳＤＡＴＡ線１０８上の第１のパルスに応答してＱ１線６１０ａが高くなる。ＳＤＡＴＡ線の次のクロックパルスに対応して、Ｑ２線６１０ｂが高くなる。第３のパルスに応答して、Ｑ３線６１０ｃが高くなり、第４のパルスに応答してＱ４線６１０ｄが高くなる。４ビットシフトレジスタ６０２の出力６１０は組み合わせ論理６０６への入力であり、パルス数を検出してプリアンブルの存在を指示する。組み合わせ論理６０６がプリアンブルを検出するとき、プリアンブルを検出した線６１２は高くなり、ラッチ６０８にプリアンブルの検出を指示する入力を提供する。ラッチ６０８は検出された有効なプリアンブルの指示を線６１４上に出力し、関与するスレーブチップ１０６を許可する。また、ラッチ６０８の出力はカウンター６０４に戻って印加される。カウンター６０４は制御ワードが伝送を完了したときにラッチ６０８をリセットするためのリセット信号、およびプリアンブルが検出されプリアンブルに伴う制御ワードの残りが伝送された後に４ビットシフトレジスタ６０２をリセットするためのリセット信号を発生する。
【００２０】
プリアンブル検出回路は、図７に示したように、２線／３線シリアル制御モジュール内の１個の実施形態において実施される。プリアンブル検出およびカウンター回路７０２は、相互接続されてＳＬＥＮ線７０４からの入力を受け取る。ＳＬＥＮ線７０４は増幅器７０６の入力に接続される。増幅器７０６の出力はプリアンブル検出およびカウンター回路７０２の入力に接続される。ＳＣＬＫ線７０８は増幅器７１０の入力に接続される。増幅器７１０の出力はプリアンブル検出およびカウンター回路７０２の他の入力に接続される。ＳＤＡＴＡ線７１２は増幅器７１４の入力に接続される。増幅器７１４の出力はプリアンブル検出およびカウンター回路７０２の第３の入力および８ビットシフトレジスタ７１６のＤ入力へ接続される。プリアンブル検出およびカウンター回路７０２はバリッド出力線７１８にプリアンブルが検出されたか否か、およびデコーダー７２０にアドレスを許可するか否かの指示を提供する。更に、受け取られたアドレスおよびデータビットは、８ビットアドレスレジスタ７２２および８ビットレジスタ７２４にそれぞれ提供される。
【００２１】
８ビットシフトレジスタ７１６は８ビットアドレスレジスタ７２２および８ビットデータレジスタ７２４に８線バス７２６を経由して相互接続される。アドレスビットおよびデータビットは、ＳＤＡＴＡ線７１２に接続されたＤ入力によって８ビットシフトレジスタ７１６で受け取られる。８ビットデータレジスタのクロック入力に印加されたＳＣＬＫ線７０８上のクロック信号に応答して、ビットが逐次的に８ビットシフトレジスタ７１６の中へ移動すると、アドレスビットはバス７２６を経由して８ビットアドレスレジスタの中へ移動し、データビットは８ビットデータレジスタ７１６の中へバス７２６を経由して移動する。また、８ビットシフトレジスタ７１６は増幅器７３０の入力へも出力を提供する。増幅器７３０の出力はトリステートバッファー７３２の入力へ接続される。
【００２２】
８ビットアドレスレジスタ７２２は、受け取った８ビットアドレスを８ビットパラレルバス７３４を通してアドレスデコーダー７２０へ出力する。アドレスデコーダー７２０は、提供されたアドレスをデコードし、出力を線７３４（ロード信号）を経由して８ビットシフトレジスタ７１６へ、およびそれぞれ線７３８、７４０、７４２を経由して８ビットデータバンク７３６ａ、７３６ｂ、７３６ｎへ提供する。また、ロード信号も線７４４を経由して８ビットデータバンク７３６ｎに印加される。更に、読み取り信号は読み取り線７４６を経由して８ビットデータバンク７３６に印加される。８ビットデータレジスタ７２４は８ビットパラレルバス７５０上のデータビットを８ビットデータバンク７３６ａへ出力する。８ビットデータバンク７３６の各々は８ビットパラレルバス出力７５２を提供する。また、８ビットシフトレジスタ７１６のロード入力に印加された線７３４上のロード信号もトリステートバッファー７３２のイネーブル入力へ印加される。
【００２３】
ここで、図８を参照すると、３線シリアル書き込みサイクルの動作を説明するタイミング図が示されている。ＳＤＡＴＡ線８０２は、方向ビット８１２（ＤＩＲ）、７ビットのアドレスビットＡ６〜Ａ０の８１４、８ビットのデータビットＤ７〜Ｄ０の８１６を含む信号を伝送する。ＳＤＡＴＡ線８０２はこの情報を提供するが、クロック信号はＳＣＬＫ線８０４に提供される。上昇エッジ８１８で始まるラッチイネーブル信号はＳＥＮ線８０６に提供される。全てのアドレスビットおよびデータビットがＳＤＡＴＡ線８０２上に伝送されるまで、ＳＥＮ線８０６は高く留まる。ロードアドレス線８０８はＡ０ビットの伝送に続いてロードアドレスパルス８２２を発生する。したがって、全体のアドレスがＳＤＡＴＡ線から受け取られると、ロードアドレスパルス８２２が発生して、完全なアドレスが受け取られ、アドレスデコード回路にロードできることを指示する。ロードアドレスパルス８２２は、Ａ０ビットの伝送に続いて降下クロックエッジ８２５上に発生する。同様に、ロードデータ線８１０はＳＤＡＴＡ線８０２上の最後のデータビットＤ０の伝送に応答してロードデータパルス８２４を発生する。ロードデータパルス８２４は、データレジスタ内のデータを指示されたアドレスの位置にロードできる指示を提供する。３線シリアル書き込みサイクル全体の間に、マスターデバイスは、８３０でマスターチップ１０４とスレーブチップ１０６間のインターフェースを制御する。
【００２４】
ここで図９を参照すると、３線シリアル読み取りサイクルが示されている。読み取られるデータはＳＤＡＴＡ線９０２上で伝送され、方向ビット９０４、ビットＡ６〜Ａ０からなるアドレスビット９０６、ビットＤ７〜Ｄ０からなるデータビット９０８を含む。クロック信号はＳＣＬＫ線９１０に提供される。ラッチイネーブル信号が上昇エッジ９１４で高くなると、線ＳＥＮ９１２上のラッチイネーブル信号はアドレスビットおよびデータビットの伝送を許可する。線ＳＥＮ９１２上のラッチイネーブル信号は、ラッチが不可能になり、信号が降下エッジ９１４上で低くなるまで高く留まる。ロードアドレス線９１８はＳＤＡＴＡ線９２０上の最終アドレスビットＡ０の受け取りに応答して、ロードアドレスパルス９２０を発生する。ロードアドレスパルス９２０は、アドレスデータを求められるように、８ビットシフトレジスタ内のアドレスビットをデコード回路中にロードさせる。ロードデータ線９２２は、ロードアドレス線上のロードアドレスパルス９２０に続いて、直ちにロードデータパルス９２４を提供し、マスターチップ１０４にスレーブチップ１０６からのデータビットの読み取りを開始させる。マスターチップ１０４はロードデータパルス９２４の発生まで９２６で３線インターフェースを駆動し、この点でスレーブチップ１０６は９２８でラッチイネーブル信号が９１６で低くなるまでインターフェースを駆動し、この点でマスターチップは９３０でインターフェースの制御を維持する。
【００２５】
ここで図１０を参照すると、本開示による２線シリアル書き込みサイクルのタイミング図が示されている。パルス１００４で始まりパルス１００６で終わる、プリアンブルを識別するパルスがＳＤＡＴＡ線１００２上に提供される。ＳＤＡＴＡ線１００２上に１００４から１００６までのパルスを伝送する間に、ＳＣＬＫ線１００８上の信号は、上昇エッジ１０１０で始まり降下エッジ１０１２まで高く保たれる。降下エッジ１０１２の後、クロック信号が再びＳＣＬＫ線１００８に印加される。最後のプリアンブルパルス１００６を伝送した後、ＳＤＡＴＡ線１００２は、書き込みサイクルのためにアドレスビットとデータビットの伝送に戻る。伝送されたデータは、方向ビット１０１４、ビットＡ６〜Ａ０からなるアドレスビット１０１６、ビットＤ７〜Ｄ０からなるデータビット１０１８を含む。同期検出線１０２０は、ＳＤＡＴＡ線７０２およびＳＣＬＫ線７０８上にプリアンブル条件の存在を指示するために、プリアンブル検出パルス１０２２を提供する。プリアンブル検出パルス７２２に応答して、バリッド線７２４上の信号は上昇エッジ１０２６で高くなり、ＳＤＡＴＡ線７２０上の最後のデータビットＤ０が伝送されるまでエッジ７２８に高く留まる。ロードアドレス線７３０は、最後のアドレスビットＡ０の受け取りに応答してロードアドレスパルス７３２を受け取る。これはアドレスデータをデコーダーにダウンロードすることを許可する。ロードデータ線１０３４は最後のデータビットＤ０の受け取りに応答してロードデータパルス１０３６を発生する。ロードデータパルス１０３６に応答してデータはデータレジスタから適切な位置にロードされる。マスターチップ１０４は１０３８でシリアル書き込みサイクルの間２線インターフェースを駆動する。
【００２６】
ここで図１１を参照すると、本開示による２線シリアル読み取りサイクルのタイミング図が示されている。プリアンブル指示は、パルス１１０４に始まりパルス１１０６で終わる一連のパルスを発生することによってＳＤＡＴＡ線１１０２に提供される。パルス１１０４〜１１０６がＳＤＡＴＡ線１１０２上で伝送される間、ＳＣＬＫ線１１０８上の信号は上昇エッジ１１１０で始まり降下エッジ８１２まで高く保たれる。プリアンブル指示がＳＤＡＴＡ線１１０２とＳＣＬＫ線１１０８上で検出された後、ＳＤＡＴＡ線１１０２は、方向ビット１１１４、ビットＡ６〜Ａ０からなるアドレスビット１１１６、データビットＤ７〜Ｄ０からなるデータビット８１８を含むデータの残りの伝送を継続する。ＳＣＬＫ線１１０８上の信号はプリアンブルの後に降下エッジ１１１２で始まるクロック信号を提供する。同期検出線１１２０は、プリアンブルの検出を示すプリアンブル検出パルス１１２２を提供する。プリアンブル検出パルス１１２２に応答してバリッド線１１２４の信号は上昇エッジ１１２６で高くなり、全てのデータビット１１１８がＳＤＡＴＡ線１１０８上に伝送されるまで高く留まる。ロードアドレス線１１３０は、最後のアドレスビットＡ０がＳＤＡＴＡ線１１０８に伝送された後ロードアドレスパルス１１３２を発生する。ロードアドレスパルス１１３２はアドレスレジスタ内のアドレスビットをデコーダーにダウンロードすることを許可する。ロードデータ線１１３４はロードアドレスパルス１１３２に続いて直ちにロードデータパルス１１３６を提供する。ロードデータパルス１１３６は、スレーブチップ１０６からマスターチップ１０４への読み取るべきデータのローディングを許可する。マスターチップ１０４は１１３８でロードアドレスパルス１１３２までインターフェースを駆動する。ロードアドレスパルス１１３２の後、スレーブデバイスは最後のデータビットＤ０がマスターチップ１０４中に読み取られるまで１１４０でシリアルデータインターフェースを駆動する。この後、マスターデバイスは再び１１４２で始まるシリアルデータインターフェースを制御する。
【００２７】
図１２は本開示の２線通信シリアルプロトコルを用いるマスターデバイスとスレーブデバイス間の制御ワードの通信を示すフロー図である。プリアンブルはステップ１２０２でマスターによって発生される。マスターはステップ１２０４でプリアンブルを制御ワードに付加する。制御ワードはステップ１２０６でマスターと任意のスレーブ／複数のスレーブを相互接続する２線インターフェースに伝送される。プリアンブルは本明細書で上述したプロトコルによってＳＤＡＴＡ線とＳＣＬＫ線を制御することによって制御ワードに付加される。
【００２８】
制御ワードが２線インターフェースに伝送された後、制御ワードはステップ１２０８で１個または複数のスレーブで受け取られる。スレーブで制御ワードを受け取ると、スレーブはステップ１２１０で制御ワード内に含まれるプリアンブルを検出する。これは読み取り／書き込み動作のための付随するデータが到着するという指示をスレーブに提供する。スレーブは、受け取ったプリアンブルが受け取りスレーブデバイスに向けられたか否かを質問ステップ１２１２で決定する。２線インターフェースによって単一スレーブに接続された単一マスターの場合、このステップは不要である。しかし、２線インターフェースに複数のスレーブが付加されている状況では、本明細書で上述したようにプリアンブル中のパルスの数を計数してアドレスされたスレーブを求める。質問ステップ１２１２が、制御ワードのプリアンブルが受取りスレーブに向けられていることを決定すれば、スレーブはステップ１２１４で制御ワード中に指示された読み取り／書き込み動作の実行を許可される。質問ステップ１２１２が、受け取られたプリアンブルが受け取りスレーブデバイスに向けられていないことを決定すれば、プリアンブルはステップ１２１６で無視され、行動は起されない。
【００２９】
上述の２線シリアルインターフェースは、ＳＭＢＵＳやＩ２Ｃなどの標準的な２線インターフェースとは多くの点で異なる。提案された２線インターフェースは比較的単純であり、したがって実施はこれらのプロトコルよりも効率的である。更に、単一設計を使用して、標準的な３線インターフェースまたは上述の２線インターフェースで通信することができる。最終的に、シリアルバスに問いかけて、マスターからのプリアンブルメッセージが問いかけているスレーブデバイスに向けられたものか否かを決定するのに、最小量の論理しか必要としない。これは説明した２線シリアルインターフェースが多くの利点を与えることを可能にする。単一論理および入力／出力設計を使用して、標準的な３線インターフェースまたは説明した２線インターフェースと通信することができる。すなわち、単一の集積回路設計が、低コストでピン数の少ないパッケージで、標準的な３線インターフェースおよび提案した２線インターフェースの両方と相互伝達することができる。マスターチップ上の短いプリアンブル信号を実施するための追加の経費は最小である。更に、複数のスレーブデバイスを同じ２線シリアルインターフェースバスに付加することができ、本明細書で上述したマルチパルスのアドレススキームによってアドレスすることができる。
【００３０】
好ましい実施形態を詳細に説明したが、添付の請求項によって定義される本発明の精神と範囲から逸脱することなく、様々な変化、置換および変更をそこに加えることができることを理解すべきである。
【図面の簡単な説明】
【００３１】
【図１】２個のチップ間のデジタルシリアルデータ通信リンクのブロック図である。
【図２ａ】本開示の２線インターフェース用プリアンブルを含む制御ワードのブロック図である。
【図２ｂ】図２ａのデータ部を更に完全に説明する、２線チップ間インターフェースで使用する制御ワードのブロック図である。
【図３】２線チップ間インターフェースの動作に必要なプリアンブルを示すタイミング図である。
【図４】マスターチップと複数のスレーブチップ間に２線インターフェースを用いる接続を示すブロック図である。
【図５】本開示による２線インターフェースの動作を示すフロー図である。
【図６】２線インターフェースのプリアンブルを検出するための回路のブロック図である。
【図７】２線／３線シリアル制御モジュールのブロック図である。
【図８】３線インターフェースの書き込みサイクルを示すタイミング図である。
【図９】３線インターフェースの読み取りサイクルを示すタイミング図である。
【図１０】２線インターフェースの書き込みサイクルを示すタイミング図である。
【図１１】２線インターフェースの読み取りサイクルを示すタイミング図である。
【図１２】読み取り／書き込み動作のマスターデバイスとスレーブデバイス間の通信を示すフロー図である。
【図１０】
0004773742.tif 000002
【図１】
0004773742.tif 000003
【図２ａ】
0004773742.tif 000004
【図２ｂ】
0004773742.tif 000005
【図３】
0004773742.tif 000006
【図４】
0004773742.tif 000007
【図５】
0004773742.tif 000008
【図６】
0004773742.tif 000009
【図７】
0004773742.tif 000010
【図８】
0004773742.tif 000011
【図９】
0004773742.tif 000012
【図１１】
0004773742.tif 000013
【図１２】
0004773742.tif 000014