(57)【要約】  本発明は、一次マスタ（２２）および二次マスタ（３２）に接続可能で、周辺装置間でデータを伝送するために使用されるバス（１０）に関する。一次マスタが、バスで利用できる時間の僅かな割合しか使用しない場合に、二次マスタの間での最低速度および／または最大待ち時間を保証するため、一次マスタは、高い優先度を付与され、そして媒体に無線でアクセスする手段を備える。バスにアクセスするための本発明の方法は、バスへの要求に際して、一次マスタがバスにアクセスすることを承認するステップ、および一次マスタ周辺装置がバスへのアクセスを要求しないとき、バスへのアクセスを二次マスタについて選択するステップを含む。
2009519524.tif 000002
【特許請求の範囲】
【請求項１】
主マスタ周辺装置（１００、２２）および二次マスタ周辺装置（１１０乃至１１２、２０１乃至２０５、３２、３２１、３２２、３１１、３１２）への接続のためのデータバス（１０）へのアクセスの方法であって、
前記バスは、前記周辺装置へのおよび／または前記周辺装置からのデータ伝送に好適で、ＭＡＣ層レベルのフレームを搬送し、
前記主マスタ周辺装置は、最高のバスアクセス優先度を持ち、無線媒体へのアクセス手段を備え、
前記方法は、
前記主マスタ周辺装置が前記バスへのアクセスを要求（７１）するとき、前記主マスタ周辺装置にバスアクセスを承認するステップ（７２）と、
前記主マスタ周辺装置が前記バスへのアクセスを要求しないとき、前記二次マスタ周辺装置の１つをバスアクセスに選択するステップ（７５）と
を含むことを特徴とする方法。
【請求項２】
前記選択するステップは、
前記二次マスタ周辺装置の各々に循環トークンを割当てる（７４０、７４１）ステップと、
前記二次マスタ周辺装置が前記バスへのアクセスを要求する（７５）とき、前記トークンを持つ前記二次マスタ周辺装置にバスアクセスを承認するステップ（７６）と
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記選択するステップは、前記トークンを持つ前記二次周辺装置が前記バスへのアクセスを要求しないとき（７５）、前記バスへのアクセスについて、前記二次マスタ周辺装置間を調停するステップ（７７）を含むことを特徴とする請求項２に記載の方法。
【請求項４】
前記調停するステップは、前記バスへのアクセスを要求する二次周辺装置を無作為に選択するステップを含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記調停するステップは、最後に前記バスにアクセスした、前記バスへのアクセスを要求する前記二次周辺装置を選択するステップを含むことを特徴とする請求項３に記載の方法。
【請求項６】
前記調停するステップは、最も長期にわたって前記バスにアクセスしていない、バスアクセスを要求する前記二次周辺装置を選択するステップを含むことを特徴とする請求項３に記載の方法。
【請求項７】
前記調停するステップは、最も長期にわたって前記バスへのアクセスを要求している前記二次周辺装置を選択するステップを含むことを特徴とする請求項３に記載の方法。
【請求項８】
ライトアクセスタイプまたはリードアクセスタイプを選択するステップをさらに含むことを特徴とする請求項１乃至７のいずれか１項に記載の方法。
【請求項９】
前記主マスタ周辺装置が前記バスへのリードアクセスを要求するとき、前記主マスタ周辺装置にバスリードアクセスを承認するステップと、
前記主マスタ周辺装置が前記バスへのリードアクセスを要求しないとき、前記二次マスタ周辺装置の１つをバスリードアクセスに選択するステップと、
前記主マスタ周辺装置が前記バスへのライトアクセスを要求するとき、前記主マスタ周辺装置にバスライトアクセスを承認するステップと、
前記主マスタ周辺装置が前記バスへのライトアクセスを要求しないとき、前記二次マスタ周辺装置の１つをバスライトアクセスに選択するステップと
をさらに含むことを特徴とする請求項１乃至７のいずれか１項に記載の方法。
【請求項１０】
前記バスは、少なくとも１つのスレーブ周辺装置（１２０乃至１２３、３０）を備え、  前記方法は、前記スレーブ周辺装置の１つへまたは前記スレーブ周辺装置の１つからデータを伝送することを承認された周辺装置への、前記バスへのリードアクセスおよび／またはライトアクセスを含むことを特徴とする請求項１乃至９のいずれか１項に記載の方法。
【請求項１１】
主マスタ周辺装置（１００、２２）および二次マスタ周辺装置への接続のためのデータバス（１０）へのアクセス装置（１３、１４）であって、
前記バスは、前記周辺装置へのおよび／または前記周辺装置からのデータ伝送に好適で、ＭＡＣ層レベルでフレームを搬送し、
前記主マスタ周辺装置は、最高のバスアクセス優先度を持ち、無線媒体へのアクセス手段を備え、
前記アクセス装置は、
前記主マスタ周辺装置が前記バスへのアクセスを要求するとき、前記主マスタ周辺装置にバスアクセスを承認する手段と、
前記主マスタ周辺装置が前記バスへのアクセスを要求しないとき、前記二次マスタ周辺装置（１１０乃至１１２、２０１乃至２０５、３２、３２１、３２２、３１１、３１２）の１つをバスアクセスに選択する手段と
を備えることを特徴とする装置。
【請求項１２】
データバスと、
前記バスに接続され、最高の優先度を持つ１つの主マスタ周辺装置と、
前記バスに接続され、同じ優先度を持つ複数の二次マスタ周辺装置と、
請求項１１によるアクセス装置と
を含むシステムであって、
前記バスは、前記周辺装置へのおよび／または前記周辺装置からのデータ伝送に適していることを特徴とするシステム。
【請求項１３】
前記バスに接続された、前記バスへのアクセスを要求することができないスレーブ周辺装置を少なくとも１つ備えることを特徴とする請求項１２に記載のシステム。
【請求項１４】
前記周辺装置はメモリであることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記主マスタ周辺装置はマイクロプロセッサを備えることを特徴とする請求項１２乃至１４のいずれか１項に記載のシステム。
【請求項１６】
前記バスおよび少なくとも１つの前記二次マスタ周辺装置を備えるコンポーネントを含むことを特徴とする請求項１２乃至１５のいずれか１項に記載のシステム。
【請求項１７】
前記コンポーネントは前記主マスタ周辺装置を備えることを特徴とする請求項１６に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子回路分野およびコンピュータ分野に関し、より具体的には決定論的高性能バスに関する。
【背景技術】
【０００２】
従来技術によれば、インターナショナル・ビジネス・マシーン株式会社によって出願された特許申請（特許文献１）の図９に関して述べられたプロセッサ・ローカル・バス（Ｐｒｏｃｅｓｓｏｒ  Ｌｏｃａｌ  Ｂｕｓ、ＰＬＢ）は、幾つかのスレーブ（ｓｌａｖｅ）およびマスタ（ｍａｓｔｅｒ）を備える。また、バスへのアクセス優先度がマスタに対して規定されている。ＰＬＢでは、最低の優先度を持つマスタは、バスにアクセスしている別のマスタがそれを解放したときのみ、バスにアクセスできる。
【０００３】
【特許文献１】米国特許第６，５８７，９０５号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この技術には、各マスタに対して伝送帯域および待ち時間を保証しないという不便さがある。また、このバスは、（とりわけ、物理層タイプ、すなわちＰＨＹの）低レベル通信またはメディア・アクセス制御（ＭＡＣ）として知られる通信チャンネルへのアクセスに適合しない。また、ソフトウェア資源とハードウェア資源との間の分割にも適合しない。
【課題を解決するための手段】
【０００５】
本発明の目的は、従来技術の難点を克服することである。
【０００６】
より詳細には、本発明の目的は、高い優先度の主マスタ（ｐｒｉｎｃｉｐｌｅ  ｍａｓｔｅｒ）周辺装置へのおよび二次マスタ（ｓｅｃｏｎｄａｒｙ  ｍａｓｔｅｒ）周辺装置へのリンクのための決定論的バスを可能にし、その結果、主マスタがバス上で利用可能な時間の僅かな割合しか使用しない場合、バスへの最小ビットレートおよび／または最大待ち時間を、二次マスタに対して保証することである。
【０００７】
この目的のために、本発明は、高い優先度の主マスタ周辺装置へのおよび二次マスタ周辺装置へのリンクを対象とするバス―ここで、そのバスは、周辺装置へのおよび／または周辺装置からの伝送に好適である―へのアクセスの方法を提案する。本発明によれば、本方法は、以下のステップを含む。
【０００８】
・主マスタ周辺装置がバスへのアクセスを要求するとき、主マスタ周辺装置にバスアクセスを承認するステップ、
・主マスタ周辺装置がバスへのアクセスを要求しないとき、二次マスタ周辺装置の１つをバスアクセスに選択するステップ。
【０００９】
好ましい特徴によれば、選択するステップは、以下のステップを含む。
【００１０】
・二次マスタ周辺装置の各々に対して循環トークン（ｒｅｖｏｌｖｉｎｇ  ｔｏｋｅｎ）を割り当てるステップ、
・二次マスタ周辺装置がバスへのアクセスを要求するとき、トークンを持つ二次マスタ周辺装置にバスアクセスを承認するステップ。
【００１１】
有利には、選択するステップは、トークンを持つ二次周辺装置がバスへのアクセスを要求しないとき、バスへのアクセスについて二次マスタ周辺装置間を調停（ａｒｂｉｔｒａｔｉｏｎ）するステップを含む。
【００１２】
別の特徴によれば、調停するステップは、以下のステップを含む。
【００１３】
・バスへのアクセスを要求する二次周辺装置を無作為に選択するステップ
・バスへのアクセスを要求する、最後にバスにアクセスした二次周辺装置を選択するステップ、
・バスへのアクセスを要求しかつ最も長時間にわたってバスにアクセスしていない二次周辺装置を選択するステップ、または
・最も長時間にわたってバスへのアクセスを要求している二次周辺装置を選択するステップ。
【００１４】
特定の特徴によれば、本方法は、リード（ｒｅａｄ）タイプまたはライト（ｗｒｉｔｅ）タイプのアクセスを選択するステップを含む。
【００１５】
他の特定の特徴によれば、本方法は、以下のステップを含む。
【００１６】
・主マスタ周辺装置がバスへのリードアクセスを要求するとき、主マスタ周辺装置にバスリードアクセスを承認するステップ、
・主マスタ周辺装置がバスへのリードアクセスを要求しないとき、二次マスタ周辺装置の１つをバスリードアクセスに選択するステップ、
・主マスタ周辺装置がバスへのライトアクセスを要求するとき、それにバスライトアクセスを承認するステップ、および
・主マスタ周辺装置がバスへのライトアクセスを要求しないとき、二次マスタ周辺装置の１つをバスライトアクセスに選択するステップ。
【００１７】
さらなる特徴によれば、バスは少なくとも１つのスレーブ周辺装置を含み、本方法は、その少なくとも１つのスレーブ周辺装置へのまたはそれからのデータの伝送を承認された周辺装置用の、バスへのリードアクセスおよび／またはライトアクセスを含む。
【００１８】
本発明はまた、高い優先度の主マスタ周辺装置へのおよび二次マスタ周辺装置へのリンクのためのバスへのアクセス装置に関しており、ここで、当該バスは周辺装置間でのデータの伝送に好適であって、有利には、以下の手段を備える。
【００１９】
・主マスタ周辺装置がバスへのアクセスを要求するとき、主マスタ周辺装置にバスアクセスを承認する手段、および
・主マスタ周辺装置がバスへのアクセスを要求しないとき、二次マスタ周辺装置の１つをバスアクセスに選択する手段。
【００２０】
本発明はまた、以下の装置を備えるシステムに関し、
・バス、
・バスにリンクされた高い優先度の主マスタ周辺装置、
・バスにリンクされた優先度が同じ二次マスタ周辺装置、および
・本発明によって上記で定義された、バスアクセス装置、
ここで、バスは、周辺装置間のデータの伝送に好適である。
【００２１】
有利には、システムは、バスにリンクされた少なくとも１つのスレーブ周辺装置を備え、ここで、スレーブ周辺装置（複数可）は、バスへのアクセスは要求できない。
【００２２】
細目にわたる特徴によれば、周辺装置（複数可）はメモリである。
【００２３】
有利には、主マスタ周辺装置はマイクロプロセッサを備える。
【００２４】
特定の特徴によれば、主マスタ周辺装置は無線媒体へのアクセス手段を備える。
【００２５】
好ましい特徴によれば、システムは、バスおよび少なくとも１つの二次マスタ周辺装置、および場合によっては主マスタ周辺装置、を備えるコンポーネントを備える。
【発明を実施するための最良の形態】
【００２６】
以下の説明を読むことで、本発明はよりよく理解され、そしてその他の特有の特徴および利点が明らかになるであろう。説明では、添付の図面を参照する。
【００２７】
図１は、本発明の特定の実施形態による通信システム１を図式的に表現したものである。
【００２８】
システム１は、以下のものを備える。
【００２９】
・バス１０、
・バス１０へのアクセスを管理するアービタ１３、
・バス１０にアクセスする最高の優先度を持つ主マスタ周辺装置１００
・バス１０に接続された二次マスタ周辺装置１１０乃至１１２、および
・スレーブ１２０乃至１２３。
【００３０】
マスタ１１０乃至１１２は、リードモードおよび／またはライトモードでバスでのデータ転送を開始するのに好適である。それらは、バスへのアクセスに、主マスタ１００よりも低い優先度を持つ。有利には、マスタの数には制限がなく、かつ任意の値（例えば、３、１０または１００）を取ることができる。マスタの数が多いほど、バスがうまく管理されるべきアクセス承認が多くなり、マスタの各々に割当てられる時間および伝送帯域幅は平均的に低下する。本発明は、マスタの数が大きいとき、アクセスにおける流動性を顕著に高める。
【００３１】
スレーブ１２０乃至１２３は、バス１０でデータを受信および／または送信するが、データ転送を開始することはできない。通常、本発明によれば、少なくとも１つのスレーブがバス１０に接続される。
【００３２】
図２は、システム１の層構造を図式的に示す。より正確には、システム１は、以下の層を含む少なくとも３つの層を実装する。
【００３３】
・物理層、すなわちＰＨＹ、
・メディアアクセス制御（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）すなわちＭＡＣ層、および
・アプリケーション層。
【００３４】
媒体は、例えば、無線通信層（例えば、赤外、無線―特に、ＷｉＦｉ、ＩＥＥＥ８０２．１１、ＩＥＥＥ８０２．１６および／またはＩＥＥＥ８０２．１５標準による―、または電力線による）または有線である。転送データのビットレートは、特に、数百メガビットにも達し得る。
【００３５】
図２は、特に、ハードウェア／ソフトウェアパーティショニングとして知られる、ハードウェア（すなわち電子部品）とソフトウェア要素との間の区分けを示す。システム１は、特に、以下のものを備える。
【００３６】
・バス１０を含むＭＡＣコア（ｃｏｒｅ）２０、ここで、ＭＡＣコアはデータ伝送媒体（物理層）および／またはアプリケーション層に接続される、
・ＭＡＣ  ＣＰＵ（中央処理ユニット）２２、
・アプリケーション層２３、および
・双方向リンク２８を介して層２３に接続されたランダムアクセスメモリまたはＳＤＲＡＭ２４。
【００３７】
物理層２０とＭＡＣ層とは、以下のものを備えるＰＨＹ−ＭＡＣインタフェース２５によって接続される。
【００３８】
・層２０とＣＰＵ２２との間の双方向制御リンク２５２、および
・層２０とＭＡＣコア２０との間の２つの単方向データ伝送リンク２５０および２５１。
【００３９】
アプリケーション層２３は、データ伝送バス１０（インタフェース２６）および双方向制御リンク２７０を介して、それぞれ、コア２０およびＣＰＵ２２に接続される。
【００４０】
バス１０は、優先度が等しい複数のマスタ（図２に図示せず）および少なくとも１つのスレーブ（図２に図示せず）に接続され、またＣＰＵ２２―これは、そのバスの主マスタ周辺装置であり、二次マスタ周辺装置として知られる他のマスタより優先度が高い―に接続される。従って、ＣＰＵ２２は、バスへのアクセスの優先度が高い（これは、バスへのアクセスについて、ＣＰＵの優先度がマスタより低い従来技術と反対である）。
【００４１】
図３は、ＭＡＣ層について、データ交換装置に適用されたシステム１の詳細を示す。
【００４２】
図３において、示されたシステムによれば、バス１０―バスへのアクセスはアービタ１３に制御される―は以下のものを接続する。
【００４３】
・バス１０をユニット２２に内蔵のバス２２１に接続するインタフェース２２０、ここで、インタフェース２２０およびバス２２１はＣＰＵ２２に属する、
・スレーブメモリ３０、
・物理層の２つの制御ユニット―それぞれ、送信２０１（リンク２５１に接続）および受信２０２（リンク２５０に接続）に関する―、
・２つのＤＭＡユニット―それぞれ、セキュリティエンコーダ３２（例えば、データを暗号化する）中の送信３２１および受信３２２に関する、
・２つのＤＭＡユニット―それぞれ、セキュリティデコーダ３１（例えば、データを復号化する）中の送信３１１および受信３１２に関する、
・２つのＤＭＡユニット―それぞれ、送信２０５および受信２０３に関し、両方ともバスアプリケーション２３の主インタフェース２０４に接続され、ユニット２０３およびユニット２０５さらに主インタフェース２０４は、アプリケーションとのインタフェースであるモジュール２０６に属する。
【００４４】
バス２２１は、システムのその他のユニットの制御バスである（例えば、初期化用）。それは、例えば、ＡＭＢＡ（登録商標）バスのＡＰＢ部の形式で実現される。それはリンク２５２に接続される。
【００４５】
ユニット２０１乃至２０３、２０５、エンコーダ３２およびデコーダ３１は、ＭＡＣコア２０の一部である。
【００４６】
図示のために与えられた一例のシステムは、従って、以下の装置を備える。
【００４７】
・ＭＡＣ  ＣＰＵ２２に相当する主マスタ周辺装置、
・同じ優先度を持つ、８つのマスタ２０１乃至２０５、３２１、３２２、３１１および３１２（例えば、図１のマスタ１１０乃至１１２に対応する）、または二次マスタ周辺装置、および
・スレーブ３０。
【００４８】
有利には、本発明は、ハードウェア資源とソフトウェア資源との間の区分けを可能にするが、この区分けは別のハードウェア構成により別様に行うこともできる。
【００４９】
実際の、好ましい実施形態によれば、ＭＡＣコア２０を備える唯一のコンポーネントは、プログラム可能コンポーネント（例えば、ＰＧＡ  “Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ”、プログラム可能ゲートアレイ）、ＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ、プログラム可能論理装置）、専用コンポーネントすなわちＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、特定用途向け集積回路）またはマイクロコントローラである。従って、本発明は、非常にコンパクトなバスが、１つのコンポーネント内で幾つかのマスタを接続するという利点を持つ。ちなみに、従来技術では、コンポーネント内のバスの効率レベルを保証するために、バスは個別の完全なサブバス（データ、アドレスおよび制御を備える）に分けられ、各サブバスが１つのマスタに割当てられる。
【００５０】
別の変形例によれば、ＭＡＣ  ＣＰＵ２２およびＭＡＣコア２０は同じコンポーネント内に存在する。
【００５１】
別の変形例によれば、ＭＡＣコア２０および、必要な場合にはＭＡＣ  ＣＰＵ２２、を備えるコンポーネントはメモリ３０をも備える。
【００５２】
他の変形例によれば、ＭＡＣ  ＣＰＵ２２、ユニット２０１、２０２、モジュール２０６、コーダ３２およびデコーダ３１は、全てまたは一部分が、別個のコンポーネント内に存在する。
【００５３】
図示されない実施形態によれば、バス１０は２つのスレーブメモリに接続される。勿論、バス１０は、もっと多くのスレーブにも接続できる。
【００５４】
図４は、多数のマスタ（ユニット２２およびコーダ３２）およびスレーブ（メモリ３０および別のメモリ３０１が、接続、共有の有無をわかり易くしている）を持つバス１０を示す。
【００５５】
ユニット２２（または３２）は、以下のものを介して、マスタからアービタ方向で、アービタ１３に接続される。
【００５６】
・１６ビット（または変異形によれば２０ビット）のａｄｄｒｅｓｓ−ｗｒｉｔｅバス４００（または４１０）、
・３２ビット（または、変異形によれば１６ビットまたは６４ビット）のｄａｔａ−ｗｒｉｔｅバス４０１（または、ｄａｔａ−ｗｒｉｔｅバス４１１）、
・２ビットのｓｉｚｅ−ｗｒｉｔｅリンク４０２（または４１２）、
・１ビットのｗｒｉｔｅ−ｅｎａｂｌｅリンク４０３（または４１３）、
・１６ビット（変異形によれば２０ビット）のａｄｄｒｅｓｓ−ｒｅａｄバス４０４（または４１４）
・２ビットのｓｉｚｅ−ｗｒｉｔｅリンク４０５（または４１５）、および
・１ビットのｗｒｉｔｅ−ｅｎａｂｌｅリンク４０６（または４１６）。
【００５７】
ユニット２２（または、コーダ３２）は、以下のものを介して、アービタから二次マスタ周辺装置の意味で、アービタ１３に接続される。
【００５８】
・ｂｕｓ−ｇｒａｎｔリンク４０８（または４１８）、および
・バス１０に接続された全てのマスタに共有される、３２ビット（または、変異形によれば１６ビットまたは６４ビット）のｄａｔａ−ｒｅａｄバス４０７。
【００５９】
図４において開示された実施形態によれば、ｂｕｓ−ｇｒａｎｔリンクは二次マスタ周辺装置をアービタ１３に接続し、この場合、主マスタ周辺装置が制御に当たらないならば、二次マスタ周辺装置はライトバスおよびリードバスに同時にアクセスできる。
【００６０】
本発明の変形例によれば、主マスタ周辺装置がリードアクセス（または、ライトアクセス）するのと同時に、二次マスタ周辺装置もライトアクセス（または、リードアクセス）できるが、二次マスタ周辺装置と主マスタ周辺装置とによるアクセスタイプは異なる。
【００６１】
別の変形例によれば、２つのｂｕｓ−ｇｒａｎｔリンク―それぞれ、リードモード４０９乃至４１９およびライトモード４０１０乃至４１１０に相当―は、二次マスタ周辺装置をアービタ１３に接続する。この場合、２つの二次マスタ周辺装置は、一方はライトモード他方はリードモードで、同時にバスにアクセスできる。この変形例は、バスへのアクセスを明快にし、より迅速なアクセスおよび／またはより高いビットレートを可能にする利点を持つ。
【００６２】
スレーブ３０１（または３０）は、以下のものを介して、アービタからスレーブの方向で、アービタ１３に接続される。
【００６３】
・バス１０に接続された全てのスレーブによって共有される、１６ビット（または変異形によれば２０ビット）のａｄｄｒｅｓｓ−ｗｒｉｔｅバス４２０、
・全てのスレーブによって共有される、３２ビット（または、変異形によれば１６ビットまたは６４ビット）のｄａｔａ−ｗｒｉｔｅバス４２１、
・２ビットのｓｉｚｅ−ｗｒｉｔｅリンク４２３（または、ｓｉｚｅ−ｗｒｉｔｅリンク４３３）、
・全てのスレーブに共有される、１６ビット（または、変異形によれば２０ビット）のａｄｄｒｅｓｓ−ｒｅａｄバス４２２、
・２ビットのｓｉｚｅ−ｒｅａｄリンク４２４（または４３４）。
【００６４】
スレーブ３０および３０１は、３２ビット（または、変異形によれば１６ビットもしくは６４ビット）のｄａｔａ−ｒｅａｄバス４２５（または４３５）を介して、スレーブからアービタの方向で、アービタ１３に接続される。
【００６５】
データサイズ信号４０２、４１２、４０５、４１５、４２３、４３３、４２４および４３４は、バス１０上で運ばれる幾つかのデータサイズを規定できるようにする。従って、２ビットでコード化されたデータサイズでもって、事前に規定される３つのデータサイズ、例えば、８ビット、１６ビットおよび３２ビットが可能である。別の変形例によれば、データバスは、３２ビット以上（例えば、６４ビットまたは１２８ビット）を備え、事前に規定された値が、その後、バスのサイズ（例えば、６４ビットバスについては、４つのデータサイズ値、すなわち、８ビット、１６ビット、３２ビットおよび６４ビットを事前に規定できる）に従って選ばれる。ここで、好ましくは、事前に規定される値は、ファクタ２の等差数列に従う（事前に規定される値は、先行する値の２倍に等しい）。別の変形例によれば、事前に設定される値は等差数列に従うことなく、データバスのサイズより小さいかまたは等しい任意の値をとり得る。
【００６６】
実施形態の変形例によれば、データは固定サイズでコード化され、データサイズ信号（および対応するリンク）は削除される。
【００６７】
アービタ１３は、例えば、電子回路、プログラム可能回路、ＡＳＩＣまたはマイクロコントローラまたはマイクロプロセッサの形で実現される。バス配線により、最高優先度のマスタＣＰＵ（すなわち主マスタ周辺装置）、同じ優先度のマスタ（すなわち二次マスタ周辺装置）およびスレーブの識別が可能である。
【００６８】
バス１０は、バスおよびアービタ１３に接続された全ての周辺装置にリンクされるクロック（ＣＬＫ）信号およびリセット信号などのその他の信号を含む。クロック信号は、分かり易さを損なわないよう、図示されていない。
【００６９】
図５は、データのリード動作およびライト動作の同時実行が可能な実施形態による、バス１０上のデータ交換の期間におけるタイミング図を示す。同時的なリード動作およびライト動作は、これらの動作を可能にするマスタ（例えば、送信と受信の一致時におけるダイレクトメモリアクセス（ＤＭＡ）を持つマスタ）にうまく適合する。
【００７０】
全ての信号はクロック信号５０に同期する。
【００７１】
対応する“ｂｕｓ−ｇｒａｎｔ”信号を介してアクセス承認を受け取ったマスタについて、第１のクロックの立ち上りエッジで、ライトアドレス信号５１がデータ５２と同時に活性化される。これらの信号は、クロックサイクルの間、有効に持続する。
【００７２】
同時的に、マスタが、クロック信号５０の立ち上りエッジで、バスへのアクセスを要求し（“ｒｅａｄ−ｅｎａｂｌｅ”信号５３）、そして取得する。リードアクセスがアービタ１３によって認可され（信号５４）、対応するデータ（例えば、スレーブにより供給される）が次のクロックサイクルで提供される（信号５５）。
【００７３】
本発明の別の実施形態によれば、バス１０は、それぞれ、リードモードおよびライトモードで機能する、２つの別個のバスに分けられる。
【００７４】
本発明は、物理層での高いビットレートを可能にする。例として、（ＦＰＧＡの形で実現する場合）４０ＭＨｚバスクロックでは、物理層上のビットレートは、３２ビットのデータバスで、１００Ｍｂｐｓを超える。リードおよびライトの瞬間的ビットレートは２．５６Ｇｂｐｓに達し得る。ＡＳＩＣで実現すると、クロックビットレートを遥か高速（例えば、８０ＭＨｚ）に決定できる。そしてビットレートは比例して高くなる。二次マスタ周辺装置については、（主マスタへのアクセスを除く）バスへのアクセスの最大待ち時間は、二次マスタ周辺装置の数にサイクル当たりのクロックパルス数を乗じた積に等しい。
【００７５】
図６は、データのリード動作およびライト動作が順次に実行され、同時には実行されない別の実施形態による、バス１０上のデータ交換の期間におけるタイミング図を示す。
【００７６】
要素５１および５２は、図５および図６と共通であり、同じ参照番号を付す。それらについては、従って、ここでは説明しない。
【００７７】
特定のアドレスへのｒｅａｄ−ｅｎａｂｌｅ信号６３は、バスがリードモードで空いているときのみ実行される。
【００７８】
図６のタイミング図に対応する実施形態によれば、バスアービタはリードアクセスおよびライトアクセスを相互の関連付けなしで管理する。バスは、リードおよびライトで交互にアクセスされる。本発明の別の実施形態によれば、リードアクセスおよびライトアクセスは交互ではなく、リードとライトとの間の優先度が、例えば、無作為またはその反対に事前に規定された規則に従う―特に、要求の到着順に従うおよび／またはバスアクセスを要求する二次マスタ周辺装置の優先度に従うなど―任意の方法で規定される。
【００７９】
図７は、（例えば、アービタがプログラム可能なコンポーネントで実現される場合、ＶＨＤＬで実現可能な）バス・アクセス・アルゴリズム１０を示す。
【００８０】
リセット信号の活性化に対応する初期化ステップ７０において、アービタ１３が初期化され、出力信号が停止され、そして内部レジスタ（詳しくは、現時点のマスタ・レジスタ）も初期化される。次いで、データのリード／ライトのサイクルが実行される。これらのサイクルはクロック信号に同期し、クロックサイクルに対応するフローチャトにおける基本的なループである。
【００８１】
基本的なループはテスト７１で始まり、ここで、アービタ１３は中央処理ユニット２２がアクセスを要求している（ｗｒｉｔａ−ｅｎａｂｌｅ信号またはｒｅａｄ−ｅｎａｂｌｅ信号が活性化している）かを確認する。肯定の場合は、ステップ７２において、信号４０８の活性化によってＣＰＵ２２へアクセスが付与される。
【００８２】
否定の場合、ＣＰＵ２２はアクセスを要求しておらず、そのときは、アクセスは別のマスタに付与できる。アービタ１３は、同じ優先度の二次マスタ周辺装置の各々がバス１０に公平にアクセスできるようにサイクルを管理する。また、アービタ１３は、二次マスタ周辺装置間での序列を規定する。従って、ステップ７３において、アービタ１３は、序列の最後に達したかを確認する。答えが肯定の場合、ステップ７４０において、序列の最初に戻り、第１の二次マスタ周辺装置を現時点のマスタであると見なす。否定の場合、ステップ７４１において、次順の二次マスタ周辺装置に移り、それが現時点のマスタとなる。
【００８３】
本発明の第１の実施形態によれば、その序列は、最初に無作為に規定されたときに、またはマスタのタイプに従って、固定される。
【００８４】
変形例によれば、その序列は、ステップ７４０において無作為に修正される。従って、マスタをより公平に混ぜ合わすことができる。別の変形例によれば、その序列は、ステップ７４０において、外部要因によって（例えば、主マスタまたは二次マスタによって送信されたコマンドによって）修正される。
【００８５】
次いで、ステップ７５において、アービタ１３は、現時点のマスタＭがバスへのアクセスを要求したかをチェックする。肯定の場合、それは、ステップ７６で、バスアクセスを現時点のマスタに付与する。
【００８６】
否定の場合、調停ステップ７７において、バスアクセスを要求したマスタの中からマスタＭｊを決定し、ステップ７８において、それにバスアクセスを付与する。調停ステップ７７は、現時点のマスタがバスアクセスを要求しない場合、特に、伝送ビットレートを増大できるようにする。
【００８７】
ステップ７７については、幾つかの調停戦略を考えることができ、中でも、以下のものがある。
【００８８】
・無作為属性の戦略、
・最も最近バスにアクセスしたマスタにアクセスを付与、
・マスタの優先度番号によるアクセス（マスタは、それらの優先度の順にバスに接続される―例えば、完全な電子的実装において、ケーブルピンがマスタそれぞれの優先度に従って割り当てられて―）、
・それまでのアクセスに基づく論理的順序によるアクセス（例えば、別の所与のマスタのアクセスに続いてアクセスを要求するのが通常であるマスタにアクセスを付与）―その論理的な順序は、例えば、表にされる―、
・要求されたアクセスタイプ（リードまたはライト）に従うアクセス―２つのタイプのアクセスのうちの１つに優先度が付与される―、および／または
・バスへのアクセスを最初に要求した周辺装置にアクセスを付与。
【００８９】
アルゴリズムは、第一には、論理ポートを使用するハードウェア実装に対応する。ライトアクセス信号は以下のようにまとめられる、すなわち、
・ｂｕｓ−ｇｒａｎｔ（Ｍｐ）＝ｗｒｉｔｅ−ｅｎａｂｌｅ（Ｍｐ）
・ｂｕｓ−ｇｒａｎｔ（Ｍ）＝［ｗｒｉｔｅ−ｅｎａｂｌｅ（Ｍｐ）］．ｗｒｉｔｅ−ｅｎａｂｌｅ（Ｍ）；
・ｂｕｓ−ｇｒａｎｔ（Ｍｊ）＝［ｗｒｉｔｅ−ｅｎａｂｌｅ（Ｍｐ）］．［ｗｒｉｔｅ−ｅｎａｂｌｅ（Ｍ）］．ｗｒｉｔｅ−ｅｎａｂｌｅ（Ｍｊ）
ここで、
・Ｍｐは、主マスタ（ここでは、ユニット２２）を表わし、Ｍは現時点のマスタ、そしてＭｊは調停ステップによって決定されたマスタを表わし、そして
・ここで、ｂｕｓ−ｇｒａｎｔ（Ｘ）はマスタＸに対するバスアクセス認可信号を表わし、ｗｒｉｔｅ−ｅｎａｂｌｅ（Ｘ）はマスタＸからのバスアクセス要求信号を、そして［ｗｒｉｔｅ−ｅｎａｂｌｅ（Ｘ）］は否定信号を表わす（これは、インバータ・ゲートを使用して得られる）。
【００９０】
演算子「．」は論理乗算を表わしており、ＡＮＤポートを使用して実現できる。
【００９１】
ステップ７３はコンピュータを使用して実現できる。
【００９２】
上述の動作はクロックで同期がとられる。
【００９３】
図８および図９は、バス１０への継起するアクセスを表わす。
【００９４】
より正確には、図８は、ＭＡＣ  ＣＰＵも現時点のマスタもバスを要求しない場合はバスアクセスを提供しない、簡単化した実施に対応している（この場合、ステップ７７およびステップ７８は存在しない）。図９は、ＭＡＣ  ＣＰＵも現時点のマスタもバスを要求しない場合に調停フェーズを実行する、図７で示されたアルゴリズムに従うバス１０への継起するアクセスを表わす。
【００９５】
図８によれば、序列は（２、３、４、５、６、７）であると推測される。
【００９６】
図８の表の第１行で参照される要素は、現時点のマスタを時間の関数で表わしており、同じ優先度のマスタは２から７の値をとるパラメータＮで番号付けされている。第１列はマスタを表わす（ＭＡＣ  ＣＰＵは１に等しいＮパラメータを持つ）。
【００９７】
第１のサイクルにおいては、Ｎが５の値を持つマスタが現時点のマスタであり、このマスタはバスへのアクセスを要求していない。
【００９８】
第２のサイクル８０においては、Ｎが２の値を持つ二次マスタ周辺装置が現時点のマスタであり、このマスタはバスへのリードアクセスを要求し（文字Ｒの印が付される）、そして取得する。
【００９９】
第３のサイクル８１においては、ユニット２２がリードアクセスを要求して取得し、Ｎが３の値を持つ二次マスタ周辺装置についてのリードアクセスを妨げる。
【０１００】
続くサイクル８２、８３、８４等においては、アービタは、ライトアクセス（文字Ｗの印が付される）またはリードアクセスにおいて、優先度をユニット２２に与えるかまたは、ユニット２２がバスアクセスを要求しない場合は、現時点のマスタ（Ｎは、序列（２、３、４、５、６、７）の連続する値をとる）に与える。
【０１０１】
現時点のマスタおよび／またはユニット２２によって、ライトアクセスおよびリードアクセスが同時になし得ることに留意されたい（必ずしも全てではないが、幾つかのマスタはリードアクセスおよびライトアクセスをサポートできる）。これは、例えば、サイクル８５において実際に起こり、そこでは、（そのようなアクセスが起こり得る変形例に応じて）ユニット２２はバスアクセスをし、また現時点のマスタ（Ｎは６の値を持つ）がリードアクセスをしている。これはまた、サイクル８６においても起こっており、そこでは、Ｎが２の値を持つ二次マスタ周辺装置がリードモードおよびライトモードの両方でバスにアクセスする。
【０１０２】
図９によれば、序列は（２、３、４、５、６、７）であることが推測される。
【０１０３】
図９の表は以下の行を順番に含む。すなわち、
・主マスタ周辺装置が必要なアクセスタイプ、ライトＷまたはリードＲ、でバスを要求することの表示、
・バスへのリードアクセスを要求する二次マスタ周辺装置に対応するＮパラメータの値、
・バスへのライトアクセスを要求する二次マスタ周辺装置に対応するＮパラメータの値、
・選択ステップの間に、アービタによって選択された二次マスタ周辺装置、ここで、主マスタ周辺装置はバスへのアクセスを要求していない、
・バスにリードアクセスするマスタ周辺装置、および
・バスにライトアクセスするマスタ周辺装置。
【０１０４】
ここで与えられた例では、主マスタ周辺装置が制御を要求するときは、二次マスタ周辺装置はバスにアクセスすることはできない。
【０１０５】
第１のサイクル９００においては、それぞれ、Ｎが２および６の値を持つ２つの二次マスタ周辺装置がリードアクセスを要求する。そこで、Ｎが２の値を持つマスタを選択したアービタは、それにバスへのアクセスを付与する。
【０１０６】
第２のサイクル９０１においては、ＭＡＣ  ＣＰＵがリードアクセスの制御を要求し、それを取得する。
【０１０７】
第３のサイクル９０２において、Ｎが３の値を持つ選択されたマスタは制御を要求せず、Ｎが６の値を持つマスタがバスへのアクセスを要求する唯一のマスタであり、調停ステップにおいて、それはバスへのリードアクセスを取得する。
【０１０８】
第４のサイクル９０３において、Ｎが２の値を持つマスタがバスへのアクセスをリードモードおよびライトモードの両方で要求し、このアクセスを取得し、選択されたＮが４の値を持つマスタはバスへのアクセスを要求しない。
【０１０９】
第５のサイクル９０４において、主マスタ、およびＮが７および５の値を持つ二次マスタ周辺装置がバスへのアクセスを要求する。主マスタは、上述のように、バスアクセスを取得する。
【０１１０】
第６のサイクル９０５において、Ｎが３の値を持つ二次マスタ周辺装置もバスへのアクセスを要求する。アービタは、Ｎが５の値を持つマスタを選択する。Ｎが５の値を持つマスタはそこでバスへのアクセスを取得する。
【０１１１】
第７のサイクル９０６において、Ｎが６の値を持つ選択されたマスタはバスへのアクセスを要求せず、アービタは、Ｎが３から７の値を持つマスタ間の調停ステップにおいて、Ｎの値が７の周辺装置に制御を与える。
【０１１２】
次いで、サイクル９０７において、Ｎが３の値を持つマスタがバスにアクセスする。
【０１１３】
次いで、後続する２つのステップ９０８および９０９においては、バスへのアクセスを要求するマスタはなく、バスは空き状態に留まる。
【０１１４】
このようにして、調停フェーズは、主マスタおよび二次マスタがバスへのアクセスを要求しない場合は、タイムスロットを使用可能なようにする。
【０１１５】
図１０は、バスへのリードアクセスおよびライトアクセスが相互に関連付けられない、アービタ１３の構造を示す。
【０１１６】
アービタ１３は、以下のものを備える。
【０１１７】
・ライトアクセス選択モジュール１３０、
・ａｄｄｒｅｓｓ−ｗｒｉｔｅマルチプレクサ１３１、
・ｄａｔａ−ｗｒｉｔｅマルチプレクサ１３２、
・ｓｉｚｅ−ｗｒｉｔｅマルチプレクサ１３３、
・リードアクセス選択モジュール１３４、
・ａｄｄｒｅｓｓ−ｒｅａｄマルチプレクサ１３５、
・ｄａｔａ−ｒｅａｄマルチプレクサ１３６、および
・ｓｉｚｅ−ｒｅａｄマルチプレクサ１３７。
【０１１８】
アクセス選択モジュール１３０（または１３４）は、様々なマスタからｗｒｉｔｅ−ｅｎａｂｌｅ要求エントリ信号４０３、４１３（または４０６、４１６）を受信する。それは、マスタにアクセスを付与するために、図７のアルゴリズム実行し、必要な場合は、以下のものを活性化する。
【０１１９】
・アクセス承認を得ているマスタに関連付けられたｂｕｓ−ｇｒａｎｔ信号４０１０乃至４１１０（または４０９乃至４１９）のうちの１つ、および
・アクセス承認を得ているマスタに基づいて、マルチプレクサ１３１乃至１３３（または１３５乃至１３７）を操る、コマンド信号１３８。
【０１２０】
アドレスマルチプレクサ１３１（または１３５）は、様々なマスタから、信号アドレス４００、４１０（または４０４、４１４）を受信する。アドレスマルチプレクサは、受信したコマンド信号１３８（または１３９）に従ってアドレス信号４２０（または４２２）を出力に提示する。
【０１２１】
アドレスマルチプレクサ１３５もまた、選択されたアドレスを含む周辺装置(スレーブ)に従ってコマンド信号１３９０を生成する。
【０１２２】
データマルチプレクサ１３２（または１３６）は、様々なスレーブからデータ信号４０１、４１１（または４２５、４３５）を受信する。データマルチプレクサは、受信したコマンド信号１３８（または１３９０）に従って、データ信号４２１（データライト）（または、データ信号４０７（データリード））を出力に提示する。
【０１２３】
本発明の変形例によれば、バスはリードデータを提供するのに適したスレーブのみを受け入れる。この場合は、モジュール１３６および信号１３９０（および信号１３９０を生成する手段）は削除される。
【０１２４】
サイズマルチプレクサ１３３（または１３７）は、様々なマスタから、サイズ信号４０２、４１２（または４０５、４１５）を受信する。サイズマルチプレクサは、受信したコマンド信号１３８（または１３９）に従って、サイズ信号４３３（または４２４）を出力に提示する。
【０１２５】
図１１は、与えられたサイクルの間に、主マスタ周辺装置および／または１つの二次マスタ周辺装置に対して、リードアクセスおよび／またはライトアクセスが承認されるような、本発明の別の実施形態によるアービタ１４の構造を示す。
【０１２６】
アービタ１４は、1つのアドレス選択モジュール１４０によって置き換えられるモジュール１３０およびモジュール１３４を除いて、アービタ１３と同様であり、バスは、ライト動作およびリード動作を同時に受け付けることができない。各マスタは、それに専用化されたリード／ライトアクセス承認信号１４１、１４２を受信する。その他の要素は同様であって、同じ参照番号を持っており、説明は省略する。
【０１２７】
モジュール１４０は、バスに接続された様々なマスタから、ライト動作４０３、４１３およびリード動作４０６、４１６に対するバスアクセス承認要求信号を受信する。モジュール１４０は、以下のものを生成する。
【０１２８】
・図7のアルゴリズムの実行によって決定されたマスタによるバスアクセス承認信号１４１、１４２、および
・上記のように決定されたマスタによるコマンド信号１３８および１３９、ならびに上記のように決定されたマスタによって要求されるアクセスタイプ（複数可）（ライトまたはリード）、
である。
【０１２９】
当然ながら、本発明はこれまでに説明した実施形態に限定されない。
【０１３０】
より詳細には、本発明は、これまでに説明されたのとは異なる、マスタおよび／またはスレーブの数および機能に対応可能である。
【０１３１】
また、データビット数、アドレス、バス上を並列に伝送されるデータのサイズは固定されておらず、本発明の様々な実施形態によってこれまでに提示されたのとは別の値をとることもできる。
【０１３２】
同時に伝送されるデータのサイズを示す信号は、伝送データのサイズが固定の場合、削除される。
【０１３３】
さらに、これまでに説明されたのとは異なる、特に以下のものによる、信号がバスに現れてもよい。
【０１３４】
・調停ステップにおける二次マスタ周辺装置の順序の動的な変更についての信号、
・バスにアクセスするためにアービタによって選択された二次マスタ周辺装置がアクセスを要求しない場合、調停の実行についての活性化信号または非活性化信号、
・主マスタ周辺装置がバスへのアクセスを要求しない場合、二次マスタ周辺装置のバスへのアクセスの選択順序における動的な変更についての信号。
【０１３５】
これらの信号は、特に、ＣＰＵによって実現することができる。
【０１３６】
本発明は、使用上の大きな自由度を可能にし、特定のアプリケーション層および／または特定の物理層向きの適応化のための再構成を容易にし、モジュラ設計によく適合する。従って、本発明はまた、（コンポーネントの形での）完全な電子的実現、またはその反対に部分的なソフトウェア実現（例えば、コンテキストに従って容易に再構成可能な「無線ソフトウェア」の場合）とも両立する。さらに、本発明は、多くの領域に適用可能であり、そして、特に、有線または無線の通信領域（特に、ＩＥＥＥ８０２．１６、ＩＥＥＥ８０２．１５．３（ＵＷＢ）型の物理層とのインタフェース）に適用可能である。
【図面の簡単な説明】
【０１３７】
【図１】本発明の特定の実施形態による通信システムの高度に図式的なブロック図である。
【図２】図１のシステムの層構造を図式的に示すものである。
【図３】媒体へのアクセス層を備えるデータ交換装置に適用された、図１および図２のシステムの詳細を示すものである。
【図４】図１のシステム中で実現されたバスを表したものである。
【図５】図４のバス上のデータ交換の期間のタイミング図を示すものである。
【図６】図４のバス上のデータ交換の期間のタイミング図を示すものである。
【図７】図４のバスへのアクセス・アルゴリズムを示すものである。
【図８】図４のバスへのアクセスの例を表したものである。
【図９】図４のバスへのアクセスの例を表したものである。
【図１０】図４のバスへのアクセスの管理に好適なアービタを示すものである。
【図１１】図４のバスへのアクセスの管理に好適なアービタを示すものである。
【図１２】図４のバスに接続されたマスタを表したものである。
【図１】
2009519524.tif 000003
【図２】
2009519524.tif 000004
【図３】
2009519524.tif 000005
【図４】
2009519524.tif 000006
【図５】
2009519524.tif 000007
【図６】
2009519524.tif 000008
【図７】
2009519524.tif 000009
【図８】
2009519524.tif 000010
【図９】
2009519524.tif 000011
【図１０】
2009519524.tif 000012
【図１１】
2009519524.tif 000013
【図１２】
2009519524.tif 000014
【国際調査報告】
2009519524.tif 000015
2009519524.tif 000016
2009519524.tif 000017
2009519524.tif 000018
2009519524.tif 000019
2009519524.tif 000020