(57)【特許請求の範囲】
【請求項１】
Ｉ２Ｃバス接続を介して接続された装置内のセルにアクセスするための方法であって、
該Ｉ２Ｃバス接続では、データ信号を供給するデータ線路と、クロック信号を供給するクロック信号とが設けられており、
前記Ｉ２Ｃバスに接続された前記装置を装置アドレスによって識別し、
第１の装置は、Ｉ２Ｃバス接続をセットアップするために開始条件を形成し、後続の通信においてマスタとなり、
該マスタによって、第２の装置を装置アドレスによって選択し、
該第２の装置は、後続の通信にてスレーブとなり、
該マスタによって、読み出しまたは書き込みの伝送モードを選択し、
通信が成功した後、該マスタによって、Ｉ２Ｃバス接続を終了する終了条件を形成する形式の方法において、
該マスタによって、スレーブをアドレシングした後にデータモード信号を、前記Ｉ２Ｃバスを介して送信し、
前記データモード信号には、前記アドレシングされたスレーブ装置内のセルアドレスを構成するためのセルアドレスバイトの数と、その後送信すべきデータバイトの数とに関する情報が含まれており、
前記セルアドレスを形成するバイトを含むセルアドレス信号が前記Ｉ２Ｃバスを介して送信され、
前記マスタは、前記データモード信号に従って、前記スレーブへデータを送信し、および／または前記スレーブからデータを受信するように制御する、
ことを特徴とする方法。
【請求項２】
前記データモード信号およびアドレスセル信号の伝送後、スレーブにデータを書き込み、またはスレーブからデータを読み出す、請求項１記載の方法。
【請求項３】
前記マスタ又は前記スレーブは、前記データの各バイトが受信された後に肯定応答信号を生成し送信する、請求項１記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バス接続を介して接続された装置内のセルをアドレシングするための方法およびデータ構造に関する。
【背景技術】
【０００２】
バス接続は、複数のワイヤまたは線路を介して複数の装置を相互接続するための手法である。この複数のワイヤまたは線路は少なくとも部分的に、１つより多くの装置によって共用される。バス接続はシリアルまたはパラレルである。すなわち、情報は単一のデータ線路を介して送信されるか、または複数の並列なデータ線路を介して送信される。バス接続には、特定の時間的周期で送信された情報の速度を検出するためのクロック線路が含まれている。また、バス接続において複数の専用線路を設けることもできる。この専用線路はたとえば、ハンドシェイクまたはチップ選択等のための専用線路である。標準化された複数のバス接続が公知であり、とりわけ、シリアルバス接続であるＩ２Ｃバスが公知である。
【０００３】
Ｉ２Ｃバスは、ＩＣ間通信のために使用される双方向２線式バスである。マスタ装置が、最大１０２４個のスレーブ装置のうち１つの個別のスレーブ装置とのデータ伝送を同時に制御する。最大数またはスレーブ装置がこのように制限されているのは、Ｉ２Ｃバス標準方式によって定義されたアドレスフィールドの大きさ（１０ビット）が原因である。個別の装置アドレスはＩ２Ｃバス標準方式にて規定されており、該装置を一義的に識別する手段となっている。
【０００４】
ＥＥＰＲＯＭ（Electric Erasable and Programmable Read Only Memoryの略称）は、機器および装置にてプログラムまたはデータを記憶するために幅広く使用されている。ここでは、電力が使用できなくても、記憶された情報を保持しなくてはならない。複数のＥＥＰＲＯＭ装置がすでに入手可能であり、これらのＥＥＰＲＯＭでは、データを読み出しおよび書き込みするためにＩ２Ｃバスインタフェースが使用される。Ｉ２Ｃバス標準方式によるＥＥＰＲＯＭの内容へのアクセスは、シーケンシャルでなければならない。幾つかのＥＥＰＲＯＭ製造者は、マスタ装置がランダムに、ＥＥＰＲＯＭの１メモリページ（１２８バイト）までアクセスできる独自のメカニズムを使用している。しかし、たとえばＡＳＩＣ（Application Specific Integrated Circuitの略称）およびＦＰＧＡ（Field Programmable Gate Array）に組み込まれたＥＥＰＲＯＭメモリの大きさは有意に増大しており、Ｉ２Ｃバスを介してこのメモリの内容をランダムにアクセスするのは、標準方式にて規定されたアドレス空間の制限によって困難になっている。
【０００５】
Ｉ２Ｃバスの物理層は一般的に、すべての装置を並列に相互接続する２つのワイヤから成る。シリアルデータ線路（ＳＤＡ）は、伝送すべきデータをシリアルに伝送し、シリアルクロック（ＳＣＬ）はクロック信号を供給して、データ速度を検出する。各クロック周期で１つの信号ビットが伝送される。接続の開始条件および終了条件は、両線路にて予め定められた論理レベルによって形成される。マスタ装置は、バス上のデータ伝送を開始し、その時点の接続に対してクロック信号を形成し、該伝送を終了する装置である。スレーブ装置は、マスタによってアドレシングされた装置である。各装置は一意のアドレスによって認識され、送信装置および受信装置のいずれかとして動作する。送信装置は、データをバスへ送信する装置である。受信装置は、データをバスから受信する装置である。以下の説明では、Ｉ２Ｃ上の論理レベルはそれぞれ、「ハイ」および「ロー」と称されるか、または「１」および「０」と称される。Ｉ２Ｃバス信号の絶対的なレベルは、適用に依存して変更される。Ｉ２Ｃバスの特性は双方向であるため、装置の入力ポートおよび出力ポートはトライステートポートでなければならない。トライステートポートは能動的に、伝送のために低いインピーダンスでハイレベルまたはローレベルをとるか、またはデータを受信するためにバスに対して高いインピーダンスを示す。スタンバイ状態または未使用状態では、クロック線路およびデータ線路は適切なバイアス手段によって、所定のレベルまで引き上げられ、該バスに接続されたすべての装置は、該バスに対して高いインピーダンスを示す。開始条件はデータ線路（ＳＤＡ）のハイ・トゥ・ローの切り替えによって形成され、クロック線路（ＳＣＬ）はハイ状態にとどまる。開始条件は常に、データ伝送のためのすべてのコマンドより優先しなければならない。終了条件、データ線路（ＳＤＡ）のロー・トゥ・ハイの切り替えによって形成され、クロック線路（ＳＣＬ）はハイにとどまる。終了条件によって、バスマスタとスレーブとの間の通信が終了される。データ伝送が成功したことは、受信装置によって形成された肯定応答信号（ＡＣＫ）によって指示される。このようにするため、マスタおよびスレーブのいずれかである送信装置は、データ伝送の方向に依存して、８ビットのデータを伝送した後にＳＤＡを解放する。すなわち、該送信装置のポートは高インピーダンスをとる。９番目のクロックパルス時に、受信装置は能動的にＳＤＡワイヤをローへ引き下げ、８ビットのデータを受信したことを肯定応答する。別のすべてのエラー補正は、該装置において別個に実施しなければ成らず、Ｉ２Ｃバスプロトコルの一部ではない。受信装置は、ＳＤＡ線路をクロックＳＣＬ信号の上昇エッジでサンプリングする。ＳＤＡ信号は、クロックＳＣＬがローからハイへ切り替えられる間は安定していなければならず、ＳＤＡ線路上のデータは、該ＳＣＬ線路がローになった場合だけ変化しなければならない。マスタ装置は開始条件を形成することにより、スレーブ装置とのデータ伝送を開始する。
【０００６】
【数１】
0004657637.tif 000002
【０００７】
しかし、標準方式にて規定されたようなＩ２Ｃプロトコルは、シーケンシャルな読み出し動作および書き込み動作に制限されており、ランダムアクセスすることはできない。たとえばＥＥＰＲＯＭ等のメモリをアドレシングする場合、該メモリは選択されたことを識別しなければならないだけでなく、どのメモリセルを読み出しまたは書き込みすべきかという情報も必要になる。このことは現在の標準方式では、組み合わされた読み出し／書き込み動作によって実行される。書き込み動作中には、ＥＥＰＲＯＭは読み出すべきアドレスを受信し、その後の読み出し動作でメモリセルは読み出される。しかしこのプロシージャでは、バスマスタが第１の開始条件を出し、書き込みのためにスレーブをアドレシングし、セルアドレスを伝送した後第２の開始条件を出し、最後に読み出しのために該装置を再アドレシングしなければならない。各個別のバイトは、個別にアドレシングしなければならない。このことによって、理論値と比較してＩ２Ｃバスのその時点の伝送速度は低減されてしまう。というのも、アドレシング動作のある程度のオーバヘッドが必要になるからだ。複数の装置がバスに接続されている場合、さらにバス裁定が、高速伝送の必要性に対して妨害となることがある。裁定は、１つより多くのマスタが同時にバスを制御しようとした場合、１つのマスタしか許可されないように保証するためのプロシージャである。このことによって、メッセージが変造されないことが保証される。幾つかのＥＥＰＲＯＭ製造者は、ＥＥＰＲＯＭへのランダムアクセスを可能するため、読み出し動作および書き込み動作の独自の組み合わせを有するが、これらのスキーマは、たとえば１２８バイトの小さなアドレス空間に制限されている。
【０００８】
Microchip Technology Inc. のＡＮ７３６には、環境モニタリングのために使用されるＩ２Ｃネットワークプロトコルが開示されている。このネットワークプロトコルでは、書き込みまたは読み出しすべきデータバイトの数を指示する１つのデータ長バイトと、読み出しまたは書き込みすべきスレーブのメモリアドレスを指示する１アドレスオフセットバイトとのみを使用することが提案されている。
【０００９】
したがって、本来のランダムアクセスを可能にする、スレーブ装置内部のセルをアドレシングするための方法を提供するのが望ましい。
【非特許文献１】Microchip Technology Inc., ＡＮ７３６
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の課題は、本来のランダムアクセスを可能にする、スレーブ装置内部のセルをアドレシングするための方法を提供することである。
【課題を解決するための手段】
【００１１】
前記課題は、該マスタは、スレーブをアドレシングした後にデータモード信号を送信し、前記データモード信号には、セルアドレスバイトの数と、その後送信すべきデータバイトの数とに関する情報が含まれており、その後、アドレスセル信号が後続し、該マスタは前記データモード信号に従って、スレーブへデータを送信し、および／またはスレーブからデータを受信するように構成することによって解決される。
【発明を実施するための最良の形態】
【００１２】
本発明によるランダムアクセススキーマによって、Ｉ２Ｃプロトコルのアドレス空間の制限が改善され、マスタ装置がスレーブ装置の内部のアドレス空間内、たとえばＥＥＰＲＯＭの内部のセルにランダムにアクセスすることができる。Ｉ２Ｃバスアーキテクチャにおける読み出し動作および書き込み動作のための本発明のデータ伝送方法では、開始条件、終了条件、肯定応答ビット（ＡＣＫ）形成、データ入力プロトコル、およびスレーブ装置アドレシングが使用される。これは、Ｉ２Ｃ標準方式にて規定されているのと同様である。このことによって、本発明の方法を未だ使用せずにこの方法の書き込み動作の共存を考慮することができる。しかし本発明の読み出し動作は、この標準方式に対して完全には共存できない。従来技術から公知である読み出し動作および書き込み動作は、本発明による方法では「データ伝送モード」バイトによって補足される。この「データ伝送モード」バイトは、メモリセルアドレスを作成するための後続のアドレスバイトの数と、アドレシングされたメモリセルに関連するデータバイトの数とを指定する。「データ伝送モード」バイトの特性によって、本発明の方法は直交的およびスケーラブルになる。直交アクセスとは、読み出し動作および書き込み動作が同じ構造および長さを有することを意味する。このことによって、装置へのアクセスのプログラミングが容易になる。スケーラブルであるということは、メモリのアドレス空間が、たとえば１バイトをアドレシングのために使用する場合には２５６セル等の比較的小さい大きさから、たとえば８バイトをアドレシングのために使用する場合には１６Ｅｉセル等の比較的大きな数のセルまで可変であることを意味する。「Ｅｉ」（exabinary、読み方：イクシビ）は、Ｓｉ単位から派生された６０のべきに対する２の係数のための２進法の乗数の接頭辞である。このようにスケーラブルであることにより、有利には、アドレシングすべきアドレス空間に依存してバストラヒックが最小に低減され、メモリセルに関連するデータの量が低減され、それと同時に最大のフレキシビリティが維持される。有利には本発明の方法によって、大きなメモリ内の個々のセルを操作できる。このことはたとえば、パラメータの比較的大きなセットのうち少数のパラメータのみを変更しなければならない場合、または、一意の連続数が、同一になってしまう該装置のメモリ内容の一部でなければならない場合にしばしば必要となる。
【実施例】
【００１３】
以下で本発明を、図面を参照して詳細に説明する。
【００１４】
図１および２は、上記の背景技術の箇所において説明されたので、ここでは言及されない。
【００１５】
この図面において、同一または同様の要素は、同一の参照記号によって示されている。
【００１６】
【数２】
0004657637.tif 000003
【００１７】
ここで、周期アドレス‐マスタとスレーブとの間のデータは、必要とされる回数だけ繰り返すことができることに留意されたい。
【００１８】
図５には、「データ伝送モード」バイトが例示されている。「データ伝送モード」バイトの形式は、読み出し動作および書き込み動作双方において同一である。「データ伝送モード」バイトの７〜０のビットは、次のように定義されている。
【００１９】
ビット７〜５はリファレンスＲ２〜Ｒ０によって示されており、それ以降の使用のために保存される。
【００２０】
ビット４〜２はリファレンスＡ２，Ａ１，Ａ０によって示されており、マスタ装置とスレーブ装置との間の読み出し伝送／書き込み伝送において使用されるアドレスバイトの数を指示する。図６、表１には、Ａ２，Ａ１，Ａ０の各設定に対するアドレスバイトの数が示されている。
【００２１】
ビット１〜０はリファレンスＤ１，Ｄ０によって示されており、マスタ装置とスレーブ装置との間の書き込み伝送／読み出し伝送において使用されるアドレスバイトの数を指定する。図６、表２には、Ｄ１，Ｄ０の各設定に対するデータバイトの数が示されている。
【００２２】
本発明はＩ２Ｃバスに関連して記載されたが、この形式のバスに制限されない。本発明の方法を、装置間のどの通信にも使用することができ、この通信は一方向または双方向どちらでもよい。ここでは、相互接続ワイヤの数を考慮しなくてもよい。
【図面の簡単な説明】
【００２３】
【図１】Ｉ２Ｃバス標準方式による書き込みアクセスのためのＩ２Ｃ装置の一般的なアドレシングを示している。
【００２４】
【図２】Ｉ２Ｃバス標準方式による読み出しアクセスのためのＩ２Ｃ装置の一般的なアドレシングを示している。
【００２５】
【図３】本発明による読み出し動作のためのＩ２Ｃ装置のアドレシングを示している。
【００２６】
【図４】本発明による書き込み動作のためのＩ２Ｃ装置のアドレシングを示している。
【００２７】
【図５】「データ伝送モード」バイトの一般的な表現を示している。
【００２８】
【図６】本発明による可能なアドレスおよびデータ長の概観である。
【図１】
0004657637.tif 000004
【図２】
0004657637.tif 000005
【図３】
0004657637.tif 000006
【図４】
0004657637.tif 000007
【図５】
0004657637.tif 000008
【図６】
0004657637.tif 000009