(57)【要約】【課題】マスタとスレーブとの間でのデータ転送のためのデータ処理装置を提供する。【解決手段】バスを介して少なくとも１つの受信側と通信するように動作可能な少なくとも１つのイニシエータを備えるデータ処理装置であり、少なくとも１つのイニシエータがバスにデータを送信するための出力ポートとバスからのデータを受信するための入力ポートとを備え、さらにイニシエータ・クロック信号生成器と、イニシエータ出力イネーブル信号生成器と、イニシエータ入力イネーブル信号生成器とを備え、イニシエータ出力イネーブル信号生成器およびイニシエータ入力イネーブル信号生成器が互いに異なる信号を出力するように構成される、データ処理装置。【選択図】図１
2008152779.tif 000002
【特許請求の範囲】
【請求項１】
バスを介して少なくとも１つの受信側と通信するように動作可能な少なくとも１つのイニシエータを備えるデータ処理装置であって、
前記少なくとも１つのイニシエータが、前記バスにデータを送信するための出力ポートと前記バスからのデータを受信するための入力ポートとを備え、
前記データ処理装置が、
イニシエータ・クロック信号生成器と、イニシエータ出力イネーブル信号生成器と、イニシエータ入力イネーブル信号生成器とをさらに備え、前記イニシエータが前記イニシエータ・クロック信号によって刻時され、
前記出力ポートは、前記出力ポートが第１の所定レベルを有する前記イニシエータ出力イネーブル信号に応答して前記バス上の書き込みチャネルにデータをアサートするように動作可能であり、前記入力ポートが第２の所定レベルを有する前記イニシエータ入力イネーブル信号に応答して前記バス上の読み取りチャネルで受信したデータをラッチするように動作可能であるように、前記イニシエータ出力イネーブル信号によって刻時され、
前記イニシエータ出力イネーブル信号生成器およびイニシエータ入力イネーブル信号生成器が互いに異なる信号を出力するように構成される、
前記データ処理装置。
【請求項２】
前記少なくとも１つの受信側が、前記イニシエータ・クロック信号よりも半整数比遅いクロック信号によって刻時される、請求項１に記載のデータ処理装置。
【請求項３】
前記イニシエータ出力イネーブル信号生成器が、前記受信側におけるクロックのトリガ遷移時に前記第１の所定レベルを有し、前記イニシエータ・クロックのクロック・サイクルの間、前記第１の所定レベルを保持する、信号を生成するように配置構成される、請求項２に記載のデータ処理装置。
【請求項４】
前記書き込みイネーブル・クロックが、前記第２のイニシエータ・クロック・サイクル中に前記受信側クロック・サイクルの第２のトリガ遷移が発生する場合、２つのイニシエータ・クロック・サイクルの間、前記第１の所定レベルを保持するように、および、前記第２のイニシエータ・クロック・サイクル中に前記受信側クロックの第２のトリガ遷移が発生しない場合、単一のイニシエータ・クロック・サイクルの間のみ前記第１の所定レベルを保持するように、配置構成される、請求項３に記載のデータ処理装置。
【請求項５】
前記第１の所定レベルが高レベルの前記イニシエータ出力イネーブル信号であり、前記トリガ遷移が前記受信側クロック信号の立ち上がりエッジであり、前記イニシエータ・クロック・サイクルが立ち上がりエッジから立ち上がりエッジまでである、請求項３に記載のデータ処理装置。
【請求項６】
前記イニシエータ入力イネーブル信号が、各受信側クロック・サイクル中に第２の所定レベルへと遷移し、前記イニシエータ・クロック信号のトリガ遷移中、前記第２の所定レベルを保持する、信号を提供するように配置構成される、請求項２に記載のデータ処理装置。
【請求項７】
前記イニシエータ入力イネーブル信号が、前記第２の所定レベルが前記受信側の立ち上がりエッジにできる限り近くまで達するように構成される、請求項６に記載のデータ処理装置。
【請求項８】
前記第１の所定レベルおよび前記第２の所定レベルが、どちらも高レベルのクロック信号である、請求項１に記載のデータ処理装置。
【請求項９】
前記受信側が、前記イニシエータ・クロックの整数倍のクロック信号によって刻時され、前記イニシエータ入力イネーブル信号生成器および前記イニシエータ出力イネーブル信号生成器が、実質的に同一のイネーブル信号を出力するように動作可能である、請求項１に記載のデータ処理装置。
【請求項１０】
イニシエータ・クロックによって刻時される少なくとも１つのイニシエータと、受信側クロックによって刻時される少なくとも１つの受信側との間での、データ通信を含む、データ処理の方法であって、前記少なくとも１つのイニシエータおよび少なくとも１つの受信側がバスによって接続されており、前記方法が、
第１の所定レベルを有するイニシエータ出力イネーブル信号に応答して、前記少なくとも１つのイニシエータから前記バスにデータを出力するステップと、
第２の所定レベルを有するイニシエータ入力イネーブル信号に応答して、前記バスからデータを受信するステップと、
を有し、
前記イニシエータ出力イネーブル信号生成器およびイニシエータ入力イネーブル信号生成器が、互いに異なる信号を出力するように構成される、前記方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理システムの分野に関するものである。とりわけ、本発明は、イニシエータと受信側、またはマスタとスレーブとの間でのデータ転送に関するものである。
【背景技術】
【０００２】
マスタおよびスレーブなどのイニシエータ・デバイスおよび受信側デバイスは、しばしば異なる周波数で動作し、一般に、マスタはスレーブよりも高い周波数で動作する。２つのデバイス間でデータを通信する場合に、これが問題となる可能性がある。この問題は、基本的に、デバイスの入力および出力が、データがクロック・イネーブル信号によって規定された周波数でのみ伝送されることを保証できるように働く、クロック・イネーブル信号を利用することによって対処される。したがって、この信号の周波数は、通信デバイスの低い方の周波数を補償するように設定可能であり、それによって、この低い周波数のデバイスが対応できるレートでデータを受信できるような周波数でデータ通信が実行されることが保証される。ＡＲＭ（登録商標）によって製造されるＡＸＩバスでは、マスタとスレーブとの間で整数比のクロック周波数のみが可能である。
【０００３】
これにより、スレーブが対応できる可能な周波数が厳しく制限される。マスタと同じ周波数、またはこの周波数の２分の１で、動作することができる。この可能な周波数における制限は、何らかの性能要件に対する制限因子となる可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
マスタとスレーブとの間のクロック比により多くの柔軟を持たせることが可能であれば有利であろう。
【課題を解決するための手段】
【０００５】
本発明の第１の態様は、バスを介して少なくとも１つの受信側と通信するように動作可能な少なくとも１つのイニシエータを備えるデータ処理装置であって、当該少なくとも１つのイニシエータが、当該バスにデータを送信するための出力ポートと当該バスからのデータを受信するための入力ポートとを備え、当該データ処理装置が、イニシエータ・クロック信号生成器と、イニシエータ出力イネーブル信号生成器と、イニシエータ入力イネーブル信号生成器とをさらに備え、当該イニシエータが当該イニシエータ・クロック信号によって刻時され、当該出力ポートは、当該出力ポートが第１の所定レベルを有する当該イニシエータ出力イネーブル信号に応答して当該バス上の書き込みチャネルにデータをアサートするように動作可能であり、当該入力ポートが第２の所定レベルを有する当該イニシエータ入力イネーブル信号に応答して当該バス上の読み取りチャネルで受信したデータをラッチするように動作可能であるように、当該イニシエータ出力イネーブル信号によって刻時され、当該イニシエータ出力イネーブル信号生成器およびイニシエータ入力イネーブル信号生成器が互いに異なる信号を出力するように構成される、データ処理装置を提供する。
【０００６】
２つのイネーブル信号を提供することによって即時クロック比が可能になるため、システムの柔軟性が向上する。２つの追加の信号が必要であるが、２つのイネーブル信号は生成するのみであり、整数クロック比の場合、入力クロック・イネーブル信号は出力クロック・イネーブル信号に等しく生成することが可能であるため、単一のクロック・イネーブル信号および整数周波数比を有する以前のシステムに対する後方互換性がある、という欠点がある。
【０００７】
いくつかの実施形態では、当該少なくとも１つの受信側は、当該イニシエータ・クロック信号よりも半整数比遅いクロック信号によって刻時される。
【０００８】
２つのクロック・イネーブル信号を提供することで、半整数クロック信号比を容易かつ効果的にサポートすることができる。
【０００９】
いくつかの実施形態では、当該イニシエータ出力イネーブル信号生成器は、当該受信側におけるクロックのトリガ遷移時に当該第１の所定レベルを有し、当該イニシエータ・クロックのクロック・サイクルの間、当該第１の所定レベルを保持する、信号を生成するように配置構成される。
【００１０】
受信側のクロックが遷移する場合、データが書き込みチャネル上でアサートされると、その後このデータはその受信側に対して有効である。さらに、イニシエータ・クロック・サイクルの間その値を保持することにより、再度有効になった場合、イニシエータは次のデータ項目を備える後続サイクル上にあることになる。したがって、イネーブル信号を伴うこれらの規則に従うことによって、異なるイニシエータ周波数および受信側周波数がデータを通信することができる。
【００１１】
いくつかの実施形態では、当該イニシエータ出力イネーブル信号は、当該第２のイニシエータ・クロック・サイクル中に当該受信側クロック・サイクルの第２のトリガ遷移が発生する場合、２つのイニシエータ・クロック・サイクルの間、当該第１の所定レベルを保持するように、および、当該第２のイニシエータ・クロック・サイクル中に当該受信側クロックの第２のトリガ遷移が発生しない場合、単一のイニシエータ・クロック・サイクルの間のみ当該第１の所定レベルを保持するように、配置構成される。
【００１２】
受信側がデータの取り出しおよび処理ができるように好適なレートで、データがバスに書き込まれることになる場合、イニシエータ出力イネーブル信号は、受信側のクロックを考慮すべきである。イニシエータ出力イネーブル信号が、２つのイニシエータ・サイクルの間、バスへの書き込みを可能にするために、所定のレベルに留まる場合、受信側は、バスに送られることになる２つのデータ・アイテムを取り出すことができるように、２回遷移しなければならない。したがってイニシエータ出力イネーブル信号は、受信側がこの間の２回目に遷移する場合にのみ、２つのイニシエータ信号について所定のレベルに留まるように設定される。そうでない場合、イニシエータ出力イネーブル信号は値を保持しないが、受信側がデータを受信できるような正しいタイミングでデータがアサートされることを保証するために、再度遷移する。
【００１３】
いくつかの実施形態では、第１の所定レベルはクロック・レベルのいずれかとすることができるが、当該第１の所定レベルは高レベルの当該イニシエータ出力イネーブル信号であり、当該トリガ遷移は当該受信側クロック信号の立ち上がりエッジであり、当該イニシエータ・クロック・サイクルは立ち上がりエッジから立ち上がりエッジまでである。
【００１４】
いくつかの実施形態では、当該イニシエータ入力イネーブル信号は、各受信側クロック・サイクル中に第２の所定レベルへと遷移し、当該イニシエータ・クロック信号のトリガ遷移中、当該第２の所定レベルを保持する、信号を提供するように配置構成される。
【００１５】
受信側から送信された各データ・アイテムを受信するために、イニシエータ入力イネーブル信号は、各クロック・サイクルについてイネーブル値を有する必要があり、そのクロック・サイクルの値をイニシエータにラッチできるように、イニシエータ・クロック信号のトリガ遷移中、この値を保持する必要がある。クロック・イネーブル信号に関するこうした単純な規則に従うことにより、異なる受信側およびイニシエータ・クロック信号が、システムの柔軟性および性能を向上させられることになる。
【００１６】
いくつかの実施形態では、当該読み取りイネーブル・クロックは、当該第２の所定レベルが当該受信側の立ち上がりエッジにできる限り近くに達するように構成される。
【００１７】
いくつかのクロック比では、イニシエータ入力イネーブル信号を受信側クロック・サイクル内の異なる位置でアサートすることが可能であり、唯一の要件は、イニシエータ入力イネーブル信号が、受信側クロック・サイクル中の１つのイニシエータ・クロック・サイクル間のみ有効であることである。こうしたケースでは、受信側からのデータを確実に安定させるために、受信側クロック・サイクルの終わりにマスタ入力イネーブル・クロックを有効にするように選択する方が良く、このタイミングではこうした選択が可能である。クロック比３／２の場合、イニシエータ入力イネーブル信号の位置は選択の余地がないが、５／２および７／２などのクロック比の場合、こうした選択が可能であることに留意されたい。
【００１８】
いくつかの実施形態では、当該第１の所定レベルおよび当該第２の所定レベルは、どちらも高レベルのクロック信号である。
【００１９】
設計に応じて、受信側およびイニシエータは、高レベルまたは低レベルのいずれのクロック信号にも反応するように構成可能である。クロック信号生成器は、どちらのレベルでトリガされるかを知るだけでよく、その後、適切な信号を生成するように設計することができる。
【００２０】
いくつかの実施形態では、当該受信側は、当該イニシエータ・クロックの整数倍のクロック信号によって刻時され、当該入力クロック・イネーブル信号生成器および当該出力クロック・イネーブル信号生成器は、ほぼ同一のクロック・イネーブル信号を出力するように動作可能である。
【００２１】
受信側およびイニシエータが整数比のクロック信号と協働できる機能により、単一のマスタ／スレーブ出力イネーブル信号および整数比のクロック信号を有するいくつかの従来システムと、デバイスを互換させることができる。
【００２２】
本発明の上記および他の目的、機能、および利点は、例示的諸実施形態の以下の詳細な説明を添付の図面と共に読めば明らかとなろう。
【実施例】
【００２３】
図１で、マスタ１０はバス３０を介してスレーブ４０および４２と通信する。スレーブ４０および４２はマスタ１０よりも処理能力がかなり低く、したがってより遅い速度で刻時される。この実施形態では、スレーブ・クロック４４はマスタ・クロック２０の２分の１の速度で刻時される。これらがバス３０を介して正しく通信できるようにするために、マスタ１０は、バスとの通信用に「ｏｕｔｃｌｋｅｎ」５０および「ｉｎｃｌｋｅｎ」５５の２つのイネーブル信号を有する。事実上、所定レベルを有するｏｕｔｃｌｋｅｎ  ５０に応答して、マスタからのデータがバス上にアサートされることから、ｏｕｔｃｌｋｅｎ  ５０はバス３０の書き込みチャネルを刻時する。次にこのデータは、書き込みチャネルを介してスレーブに送信することができる。事実上、これによってマスタからの信号出力を適格とする。実際には、マスタから出力された書き込み信号は、書き込みプロトコルに従って受信側からの応答信号を受信し、データをバスにアサートする書き込み信号はｏｕｔｃｌｋｅｎによって適格とされるが、応答信号は受信側によって出力される信号であるため、ｏｕｔｃｌｋｅｎによって適格とされない。ｉｎｃｌｋｅｎ  ５５は、事実上、マスタに入力される信号を適格とするため、スレーブからマスタへの読み取りチャネルを刻時しているとみなすことが可能であり、所定のレベルを有する場合、スレーブから読み取りチャネルを介して送信されるデータをマスタにラッチすることができる。これら２つの信号の値を適切に選択して使用することで、マスタとスレーブとの間のクロック比を半整数クロック比にすることができる。一般に、より低いクロック・サイクルを有するスレーブが、その最大周波数で動作できるようにすることが目標である。適切な値を伴うｏｕｔｃｌｋｅｎおよびｉｎｃｌｋｅｎを提供することにより、スレーブは、各クロック・サイクルでデータを受信し、各クロック・サイクルでデータを出力することが可能でありマスタ・クロックは半整数クロック比を有する。
【００２４】
以下の図２ａ〜図４は、マスタおよびスレーブの刻時周波数、ならびに正しいデータ通信を提供するために必要な入力および出力のイネーブル信号の、いくつかの例を示す。システムは、ｉｎｃｌｋｅｎおよびｏｕｔｃｌｋｅｎが１マスタ・クロック・サイクルの間のみ有効な場合に動作することになり、マスタ論理がクロック立ち上がりエッジで動作する場合、マスタ・クロックの立ち上がりエッジでアサートされる。
【００２５】
図２ａは、マスタ／スレーブ・クロック比３／２の、マスタ・クロック、スレーブ・クロック、および「ｉｎｃｌｋｅｎ」信号またはマスタ入力イネーブル信号を示す、タイミング図である。この図は、スレーブから読み取られるデータがある種の値に対して有効である場合、およびこれがマスタ内でキャプチャされる場合も示す。したがって開始時点では、Ｄ０がスレーブから読み取りチャネルに出力され、有効である。マスタは立ち上がりエッジがトリガされ、入力クロック・イネーブル信号「ｉｎｃｌｋｅｎ」が高であり、マスタ・クロックが高くなると（第１のスレーブ・クロック・サイクルの終わり近く）、このクロック・サイクル中にスレーブから出力されたデータ、すなわちＤ０が、マスタによってキャプチャされる。
【００２６】
第２のスレーブ・クロック・サイクル２では、スレーブによってＤ１が出力される。このクロック・サイクルでは、このサイクルの始めにマスタ・クロックが高くなると、ｉｎｃｌｋｅｎが低くなるため、マスタでは何のデータもキャプチャされない。このスレーブ・クロック・サイクルの終わりにマスタ・クロックが再度高くなり、この時点でｉｎｃｌｋｅｎ信号が高であるため、マスタによってＤ１がキャプチャされる。
【００２７】
データのキャプチャおよびデータが有効であることは、それらをトリガするクロック・エッジのわずか後に発生するため、システムにある程度の遅延が存在することに留意されたい。これらの図は概略図であり、当業者であれば、すべてのシステムにある程度の遅延が存在すること、および、見やすくするためにこれは必ずしも図面に示されないことを理解されよう。第３のスレーブ・クロック・サイクル中に、マスタ・クロックが高くなり、ｉｎｃｌｋｅｎが高いことに応答して、Ｄ２がキャプチャされる。したがって、ある程度の遅延はあるが、各スレーブ・クロック・サイクルでデータがマスタにラッチされることがわかる。
【００２８】
図２ｂは、マスタがどのようにデータをバスに出力できるかを示す図である。「マスタからのＷｄａｔａ」は、いつマスタがデータをバスにアサートするかを示す。サイクル１の間は２つのマスタ・クロック・サイクルがあり、開始時点では、バスの書き込みチャネル上でマスタの出力時にＤ０がアサートされている。スレーブ・クロックが高くなると、これがスレーブに刻時される。サイクル１の間にマスタ・クロックは高くなり、ｏｕｔｃｌｋｅｎは高であるため、Ｄ１がバス上にアサートされる。スレーブ・クロックの次の立ち上がりエッジで、これがスレーブ側で受信される。マスタ・クロックの２サイクルの間も継続するサイクル２の間、このサイクルの開始時点では、ｏｕｔｃｌｋｅｎが高であるとマスタ・クロックが高くなるため、マスタ・クロックからの次のデータ片がバス上にアサートされる。これは、スレーブ・クロックが高くなると、スレーブによってバスから読み取ることができる。これは、この図の下部ラインで示される。サイクル３では、このサイクルの開始時点でマスタ・クロックが高くなり、ｏｕｔｃｌｋｅｎが高であるため、Ｄ３がバス上にアサートされる。スレーブ・クロックが次に高くなると、スレーブに読み取られる。次のサイクル、サイクル４では、このサイクルの開始時点で立ち上がりエッジはｏｕｔｃｌｋｅｎと同様に高であるため、Ｄ４がバスに刻時される。その後しばらくの間、ｏｕｔｃｌｋｅｎは低になり、これは、マスタ・クロックの次の立ち上がりエッジではバス上に何のデータもアサートされないことを意味する。これにより、事実上、スレーブはマスタに追いつくことができる。スレーブ・クロックが高くなると、Ｄ４がバスからマスタに読み取られる。これでマスタは、再度データをバスにアサートすることが可能であり、これは、マスタ・クロックの次の立ち上がりエッジに対して、サイクル４の終わり、サイクル５の始まりに発生する。
【００２９】
したがって、図２ａおよび図２ｂから、好適なｉｎｃｌｋｅｎおよびｏｕｔｃｌｋｅｎの信号を使用することによって、半整数クロック比で動作するスレーブとマスタとの間でデータの通信が可能であることがわかる。
【００３０】
これについての他の例が、図３ａおよび図３ｂに示される。この図は、ｉｎｃｌｋｅｎおよびｏｕｔｃｌｋｅｎの信号がどのように生成できるかの例も示す。これらの信号が生成できる方法はいくつかあり、これは単なる一例に過ぎない。この例では、２つの信号は同期カウンタによって生成される。図３ａは、マスタ・クロック、スレーブ・クロック、およびｉｎｃｌｋｅｎ、ならびにスレーブから出力中のデータを示す。この図は、ｉｎｃｌｋｅｎ信号が同期カウンタを使用して生成される方法を示す。ｉｎｃｌｋｅｎおよびｏｕｔｃｌｋｅｎの信号を生成するには、必要な波形に応じて多くの異なる方法がある。これは単なる一例である。カウンタが１または４の場合、ｉｎｃｌｋｅｎは高である。この図では、図の上部に矢印で示されるようにｉｎｃｌｋｅｎが高である場合、データはマスタ・クロックの立ち上がりエッジでマスタにキャプチャされることになる。したがって、サイクル１の終わりに、マスタはＤ０をキャプチャし、サイクル２の終わりにはＤ１を、サイクル３の終わりにはＤ２を、さらにサイクル３の終わりにはＤ３をキャプチャすることになる。この実施形態では、選択肢のあるサイクルにおいて、受信側クロック・サイクルの終わり近くにｉｎｃｌｋｅｎが有効であるように選択される。これにより、データがマスタ側で受信される場合、スレーブからのデータが有効であることを保証するのに役立つ。
【００３１】
図３ｂは、マスタ・クロック・スレーブ比５／２の場合、マスタからバスに出力されるデータを示す。ここでも、イネーブル信号の生成に同期カウンタが使用される。このケースでは、カウンタが２または４に等しい場合、ｏｕｔｃｌｋｅｎ信号が生成される。このケースでは、開始時にＤ０がマスタから出力され、スレーブが高くなるとスレーブに読み取られる。
【００３２】
図４は、他の実施形態を示すタイミング図である。この実施形態では、マスタ・クロックとスレーブ・クロックとの間に整数比が存在する。したがってこのケースでは、ｏｕｔｃｌｋｅｎおよびｉｎｃｌｋｅｎは同じ信号であり、実際にスレーブ・クロックと同じクロック・サイクルを有するが、同期はずれである。こうしたシステムが単一のイネーブル・信号のみを有する知られたシステムとどのようにして後方互換性を持つことができるかが、明確に示される。
【００３３】
以上、本発明の例示的諸実施形態について、添付の図面を参照しながら詳細に説明してきたが、本発明はこれらの精密な諸実施形態に限定されるものではないこと、ならびに、添付の特許請求の範囲によって定義された本発明の範囲および趣旨から逸脱することなく、当業者によって様々な変更および修正が実行可能であること、を理解されよう。
【図面の簡単な説明】
【００３４】
【図１】本発明の実施形態に従った、バスを介して接続および刻時される１つのマスタおよび２つのスレーブを備えるシステムを示す概略図である。
【図２】３／２のマスタ／スレーブ・クロック比を示すタイミング図である。
【図３】５／２のマスタ／スレーブ・クロック比を示すタイミング図である。
【図４】２／１の整数マスタ／スレーブ・クロック比を示すタイミング図である。
【図１】
2008152779.tif 000003
【図２】
2008152779.tif 000004
【図３】
2008152779.tif 000005
【図４】
2008152779.tif 000006