(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024062411
(43)【公開日】2024-05-09
(54)【発明の名称】産業用ネットワーク・システムにおける優先順位を用いたポーリング方式
(51)【国際特許分類】
G06F 13/36 20060101AFI20240430BHJP
G06F 13/42 20060101ALI20240430BHJP
G06F 13/362 20060101ALI20240430BHJP
G06F 13/12 20060101ALI20240430BHJP
【FI】
G06F13/36
G06F13/42 320A
G06F13/36 520B
G06F13/362 510D
G06F13/12 340F
【審査請求】未請求
【請求項の数】14
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023181736
(22)【出願日】2023-10-23
(31)【優先権主張番号】22306609
(32)【優先日】2022-10-24
(33)【優先権主張国・地域又は機関】EP
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
2.BLUETOOTH
(71)【出願人】
【識別番号】594083128
【氏名又は名称】シュネーデル、エレクトリック、インダストリーズ、エスアーエス
【氏名又は名称原語表記】SCHNEIDER ELECTRIC INDUSTRIES SAS
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100124372
【弁理士】
【氏名又は名称】山ノ井 傑
(74)【代理人】
【識別番号】100096921
【弁理士】
【氏名又は名称】吉元 弘
(72)【発明者】
【氏名】ベルトラン、フリュシャール
(72)【発明者】
【氏名】ワン、ツァイチン
(57)【要約】 (修正有)
【課題】産業用ネットワーク・システムにおける優先順位を用いたポーリング方式を提供する。
【解決手段】ホスト・デバイス(HD)は、アービトレーション・サイクルの間、クロック・ライン上にクロック信号を送ることであって、それによって通信デバイス(CD)に、それぞれのアービトレーション信号を、アービトレーション・ラインに送らせる、クロック信号を送ることと、アービトレーション信号に適用された「OR」論理から結果として生じる、アービトレーション信号の追加に対応する最終信号を受信することと、最終信号の「1」ビットに基づいて、データを送る準備ができているCDを検出することと、検出されたCDの中で、優先順位テーブル内の最も高い優先順位に関連付けられた、CDを選択することと、通信サイクルの間、選択されたCDからデータを受信するために、選択されたCDをポーリングすることと、を行う。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ホスト・デバイス(HD)と、通信デバイス(CD)とを備える通信システム内の通信デバイスをポーリングする方法であって、前記ホスト・デバイスは、前記通信デバイスにクロック信号を送信するためのクロック・ライン(CL)を通じて、および前記通信デバイスによって送信されたアービトレーション信号を受信するための、「OR」論理によって実装されたアービトレーション・ライン(AL)を通じて、前記通信デバイスに接続され、各通信デバイスは、前記通信デバイスが、前記ホスト・デバイスにデータを送る準備ができているとき、アービトレーション信号を送るための前記アービトレーション・ラインをプル・アップまたはプル・ダウンするように構成され、各通信デバイスは、前記通信デバイスが、前記ホスト・デバイスに送るデータを有しないとき、アービトレーション信号を送るための前記アービトレーション・ラインをプル・ダウンするように構成され、前記方法は、
前記ホスト・モジュール(HD)が、アービトレーション・サイクルの間、前記クロック・ライン上にクロック信号を送るステップ(S1)と、
前記通信デバイス(CD)が、前記アービトレーション・サイクルの間、それぞれのアービトレーション信号を前記アービトレーション・ライン(AL)に送るステップ(S2)と、
前記ホスト・モジュール(HD)が、前記アービトレーション・サイクルの間、前記アービトレーション信号に適用された前記「OR」論理から結果として生じる、前記アービトレーション信号の追加に対応する最終信号を受信するステップ(S3)と、
前記ホスト・モジュール(HD)が、前記最終信号の「1」ビットに基づいて、データを送る準備ができている前記通信デバイスを検出するステップ(S4)と、
前記ホスト・モジュール(HD)が、前記検出された通信デバイスの中で、前記通信デバイスに関連付けられた優先順位を含んだ優先順位テーブル内の最も高い優先順位に関連付けられた、前記通信デバイス(CD)を選択するステップ(S5)と、
前記ホスト・モジュール(HD)が、通信サイクルの間、前記選択された通信デバイスからデータを受信するために、前記選択された通信デバイス(CD)をポーリングするステップ(S6)と
を備える方法。
【請求項2】
前記ホスト・モジュール(HD)は、前記優先順位テーブル内の前記検出された通信デバイスに関連付けられた優先順位に応じた順序で、前記検出された通信デバイスをポーリングする、請求項1に記載の方法。
【請求項3】
各通信デバイスは、前記クロック信号の少なくとも1つのクロック周期の間で、前記アービトレーション・ラインをプル・アップするように構成される、請求項1または2に記載の方法。
【請求項4】
前記通信デバイスは、前記アービトレーション・ラインを、前記クロック信号の異なるクロック周期の間に、それぞれプル・アップするように構成される、請求項3に記載の方法。
【請求項5】
前記アービトレーション・ライン(AL)は、「OR」論理を用いて実装され、各通信デバイスは、アドレス(Add_k)に関連付けられ、前記通信デバイス(CD)は、それらのそれぞれの関連付けられたアドレスに従って、それぞれのアービトレーション信号を前記アービトレーション・ライン(AL)に対して送る、請求項1~4のいずれか一項に記載の方法。
【請求項6】
前記通信デバイスにそれぞれ関連付けられた前記アドレスは、共通の「1」ビットを有しない、請求項5に記載の方法。
【請求項7】
前記通信デバイスにそれぞれ関連付けられた前記アドレスは、少なくとも2ビットだけインクリメントされる、請求項5および6に記載の方法。
【請求項8】
通信デバイス(CD)は、アービトレーション信号を、それの関連付けられたアドレス(Add_k)に従って、最上位ビットから最下位ビットに、または最下位ビットから最上位ビットに送る、請求項5~7のいずれか一項に記載の方法。
【請求項9】
前記通信デバイスにそれぞれ関連付けられた前記アドレスは、前記クロック信号のアービトレーション・クロック周期の数にそれぞれ対応する、請求項5~8のいずれか一項に記載の方法。
【請求項10】
前記最終信号の前記「1」ビットの位置が、前記通信デバイスに関連付けられた、前記アドレス(Add_k)の前記「1」ビットの位置に対応する場合、前記ホスト・デバイスは、前記最終信号から通信デバイスを検出する、請求項5~9のいずれか一項に記載の方法。
【請求項11】
前記通信デバイスの間の前記優先順位は、前記通信デバイスのタイプに基づく、請求項1~10のいずれか一項に記載の方法。
【請求項12】
通信システム内の通信デバイスをポーリングするためのホスト・デバイス(HD)であって、前記通信システムは、前記ホスト・デバイス(HD)と、通信デバイス(CD)とを備え、前記ホスト・デバイスは、前記通信デバイスにクロック信号を送信するためのクロック・ライン(CL)を通じて、および前記通信デバイスによって送信されたアービトレーション信号を受信するための、「OR」論理によって実装されたアービトレーション・ライン(AL)を通じて、前記通信デバイスに接続され、各通信デバイスは、前記通信デバイスが、前記ホスト・デバイスにデータを送る準備ができているとき、アービトレーション信号を送るための前記アービトレーション・ラインをプル・アップまたはプル・ダウンするように構成され、各通信デバイスは、前記通信デバイスが、前記ホスト・デバイスに送るデータを有しないとき、アービトレーション信号を送るための前記アービトレーション・ラインをプル・ダウンするように構成され、前記ホスト・デバイス(HD)は、
前記通信デバイス(CD)と通信するための1つまたは複数のネットワーク・インターフェースと、
前記ネットワーク・インターフェースに結合され、1つまたは複数のプロセスを実行するように構成されたプロセッサと、
前記プロセッサによって実行可能なプロセスを記憶するように構成されたメモリと
を備え、前記プロセスは実行されたときに、
前記アービトレーション・サイクルの間、前記クロック・ライン上にクロック信号を送ることであって、それによって前記通信デバイス(CD)に、前記アービトレーション・サイクルの間、それぞれのアービトレーション信号を、前記アービトレーション・ライン(AL)に送らせる、クロック信号を送ることと、
前記アービトレーション・サイクルの間、前記アービトレーション信号に適用された前記「OR」論理から結果として生じる、前記アービトレーション信号の追加に対応する最終信号を受信することと、
前記最終信号の「1」ビットに基づいて、データを送る準備ができている前記通信デバイスを検出することと、
前記検出された通信デバイスの中で、前記通信デバイスに関連付けられた前記優先順位を含んだ優先順位テーブル内の最も高い優先順位に関連付けられた、前記通信デバイス(CD)を選択することと、
通信サイクルの間、前記選択された通信デバイスからデータを受信するために、前記選択された通信デバイス(CD)をポーリングすることと
を行うように動作可能である、ホスト・デバイス(HD)。
【請求項13】
非一時的コンピュータ可読記憶媒体であって、コンピュータ・プログラムが記憶され、前記コンピュータ・プログラムは、プロセッサによって実行されたとき、請求項1~11のいずれか一項に記載の方法のステップを遂行するための命令を備える、非一時的コンピュータ可読記憶媒体。
【請求項14】
請求項12に記載のホスト・デバイス(HD)と、前記ホスト・デバイス(HD)に接続された複数の通信デバイス(CD)とを備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホスト・デバイスによって制御される通信デバイスを備えるネットワーク・システムに関する。特に、本発明は、ホスト・デバイスとの通信のための、通信デバイスのポーリング方式に関するものである。
【背景技術】
【0002】
有線通信ネットワークでは、ネットワーク内に存在する/追加された、通信デバイス(またはノード)に、アドレスを割り当てる必要性がある。これは手動で、または自動的に行われ得る。
【0003】
このような通信ネットワークは、同じゲートウェイ装置内でモジュラー方式で統合化された様々なワイヤレス無線プロトコルを用いて、混合した重要なアプリケーションを実装する通信デバイスとして、異なるワイヤレス・モジュールを管理する、ワイヤレス・ゲートウェイ装置を形成し得る。これらのワイヤレス・モジュールは、Zigbee、Bluetooth、およびIOリンク・ワイヤレス・ベースの産業用IoT(モノのインターネット)と共に、産業用制御アプリケーションを用いることができるが、他のアプリケーションのためにも用いられ得る。
【0004】
従来の通信プロセスでは、ホスト・デバイスは、初期化の間に、最初に一意のバス・アドレスを通信デバイスに割り当て、例えばアドレス1、2、3、および4は、それぞれ通信デバイス1、2、3、および4に割り当てられる。次いでホスト・デバイスは、求められる通信デバイスからデータを取得するために、専用アドレス情報を用いて、ポーリング要求フレームをブロードキャストすることができる。ホスト・デバイスは、最初にアドレス1を有するポーリング要求フレームを、通信デバイス1に送る。すべての通信デバイスが、このポーリング要求フレームをブロードキャストとして受信することができるが、ポーリング要求フレーム内のアドレス情報をチェックした後、通信デバイス1のみが応答するようになる。ホスト・デバイスは、同じプロセスを繰り返して、各通信デバイス2、3、および4から1つずつ、データを取得する。
【0005】
従来のポーリング方式には、いくつかの不利な点がある。第1に、ホスト・デバイスは、通信デバイスのデータ・ステータスを知らず、したがってこのサイクル内でデータを有しないいくつかの通信デバイスをポーリングする時間を浪費し得る。第2に、このポーリング方式は、すべての通信デバイスを平等に扱う。しかしいくつかのアプリケーションでは、いくつかの通信デバイスのデータは他より重要であり、それらは最初にポーリングされる必要がある。
【発明の概要】
【発明が解決しようとする課題】
【0006】
したがって、インダストリー4.0アプリケーションのための通信システムでの通信デバイスの、効率的なポーリング方式の必要性がある。
【課題を解決するための手段】
【0007】
この概要は、発明性のある本主題に関する概念を導入するために提供される。この概要は、特許請求される本主題の必須の特徴を特定するものではなく、特許請求される本主題の範囲を決定するまたは限定するものでもない。
【0008】
一実装形態では、ホスト・デバイスと、通信デバイスとを備える通信システム内の通信デバイスをポーリングする方法が提供され、ホスト・デバイスは、通信デバイスにクロック信号を送信するためのクロック・ラインを通じて、および通信デバイスによって送信されたアービトレーション信号を受信するための、「OR」論理によって実装されたアービトレーション・ラインを通じて、通信デバイスに接続され、各通信デバイスは、前記通信デバイスが、ホスト・デバイスにデータを送る準備ができているとき、アービトレーション信号を送るためのアービトレーション・ラインをプル・アップまたはプル・ダウンするように構成され、各通信デバイスは、前記通信デバイスが、ホスト・デバイスに送るデータを有しないとき、アービトレーション信号を送るためのアービトレーション・ラインをプル・ダウンするように構成され、方法は、
ホスト・モジュールが、アービトレーション・サイクルの間、クロック・ライン上にクロック信号を送るステップと、
通信デバイスが、アービトレーション・サイクルの間、それぞれのアービトレーション信号を、アービトレーション・ラインに送るステップと、
ホスト・モジュールが、アービトレーション・サイクルの間、アービトレーション信号に適用された「OR」論理から結果として生じる、アービトレーション信号の追加に対応する最終信号を受信するステップと、
ホスト・モジュールが、最終信号の「1」ビットに基づいて、データを送る準備ができている通信デバイスを検出するステップと、
ホスト・モジュールが、検出された通信デバイスの中で、通信デバイスに関連付けられた優先順位を含んだ優先順位テーブル内の最も高い優先順位に関連付けられた、通信デバイスを選択するステップと、
ホスト・モジュールが、通信サイクルの間、選択された通信デバイスからデータを受信するために、選択された通信デバイスをポーリングするステップと
を備える。
【0009】
方法は、高い優先順位の通信に対する通信待ち時間を短縮し、低コスト・フィールドバスの通信効率を向上させるので有利である。
【0010】
ホスト・デバイスは、送るデータを有する通信デバイスのみをプールする。このようにしてホスト・デバイスは、送るデータがない通信デバイスをプールすることで時間を浪費することを避けることができる。ホスト・デバイスは、通信デバイスをそれらの優先順位に従ってプールする。最も高い優先順位を有する通信デバイスは、より先に対応され、したがって優先順位データが、システムに優先的に届けられる。
【0011】
一実施形態では、ホスト・モジュールは、優先順位テーブル内の前記検出された通信デバイスに関連付けられた優先順位に応じた順序で、検出された通信デバイスをポーリングする。
【0012】
一実施形態では、各通信デバイスは、クロック信号の少なくとも1つのクロック周期の間で、アービトレーション・ラインをプル・アップするように構成される。
【0013】
一実施形態では、通信デバイスは、アービトレーション・ラインを、クロック信号の異なるクロック周期の間に、それぞれプル・アップするように構成される。
【0014】
一実施形態では、アービトレーション・ラインは、「OR」論理を用いて実装され、各通信デバイスは、アドレスに関連付けられ、通信デバイスは、それらのそれぞれの関連付けられたアドレスに従って、それぞれのアービトレーション信号をアービトレーション・ラインに対して送る。
【0015】
一実施形態では、通信デバイスにそれぞれ関連付けられたアドレスは、共通の「1」ビットを有しない。
【0016】
一実施形態では、通信デバイスにそれぞれ関連付けられたアドレスは、少なくとも2ビットだけインクリメントされる。
【0017】
一実施形態では、通信デバイスは、アービトレーション信号を、それの関連付けられたアドレスに従って、最上位ビットから最下位ビットに、または最下位ビットから最上位ビットに送る。
【0018】
一実施形態では、通信デバイスにそれぞれ関連付けられたアドレスは、クロック信号のアービトレーション・クロック周期の数にそれぞれ対応する。
【0019】
一実施形態では、最終信号の「1」ビットの位置が、前記通信デバイスに関連付けられた、アドレスの「1」ビットの位置に対応する場合、ホスト・デバイスは、最終信号から通信デバイスを検出する。
【0020】
一実施形態では、通信デバイスの間の優先順位は、通信デバイスのタイプに基づく。
【0021】
別の実装形態では、通信システム内の通信デバイスをポーリングするためのホスト・デバイスが提供され、前記通信システムは、ホスト・デバイスと、通信デバイスとを備え、ホスト・デバイスは、通信デバイスにクロック信号を送信するためのクロック・ラインを通じて、および通信デバイスによって送信されたアービトレーション信号を受信するための、「OR」論理によって実装されたアービトレーション・ラインを通じて、通信デバイスに接続され、各通信デバイスは、前記通信デバイスが、ホスト・デバイスにデータを送る準備ができているとき、アービトレーション信号を送るためのアービトレーション・ラインをプル・アップまたはプル・ダウンするように構成され、各通信デバイスは、前記通信デバイスが、ホスト・デバイスに送るデータを有しないとき、アービトレーション信号を送るためのアービトレーション・ラインをプル・ダウンするように構成され、ホスト・デバイスは、
通信デバイスと通信するための、1つまたは複数のネットワーク・インターフェースと、
ネットワーク・インターフェースに結合され、1つまたは複数のプロセスを実行するように構成されたプロセッサと、
プロセッサによって実行可能なプロセスを記憶するように構成されたメモリとを備え、プロセスは、実行されたとき、
アービトレーション・サイクルの間、クロック・ライン上にクロック信号を送り、通信デバイスに、アービトレーション・サイクルの間、それぞれのアービトレーション信号を、アービトレーション・ライン(AL)に送らせることと、
アービトレーション・サイクルの間、アービトレーション信号に適用された「OR」論理から結果として生じる、アービトレーション信号の追加に対応する最終信号を受信することと、
最終信号の「1」ビットに基づいて、データを送る準備ができている通信デバイスを検出することと、
検出された通信デバイスの中で、通信デバイスに関連付けられた優先順位を含んだ優先順位テーブル内の最も高い優先順位に関連付けられた、通信デバイスを選択することと、
通信サイクルの間、選択された通信デバイスからデータを受信するために、選択された通信デバイスをポーリングすることと
を行うように動作可能である。
【0022】
別の実装形態では、ホスト・デバイスと通信デバイスとを備える産業用ネットワーク・システムにおいて、通信デバイスをポーリングする方法を実行するためのコンピュータ・プログラムがその上に実現された、コンピュータ可読媒体が提供される。前記コンピュータ・プログラムは、本発明による方法に従ってステップを遂行する、命令を備える。
【0023】
別の実装形態では、ホスト・デバイスと、ホスト・デバイスに接続された複数の通信デバイスとを備えるシステムが提供される。
【0024】
詳細な説明は、添付の図を参照して述べられる。図において、参照番号の最も左の数字は、その参照番号が最初に現れる図を特定する。同様な特徴および構成要素を参照するために、図の全体にわたって同じ番号が用いられる。次に、本主題の実施形態によるシステムおよび/または方法のいくつかの実施形態が、例のみとして、添付の図面を参照して述べられる。
【図面の簡単な説明】
【0025】
【
図1】産業用ネットワーク・システムにおいて、優先順位を用いて通信デバイスをポーリングするための、本発明の一実施形態による通信システムの概略ブロック図である。
【
図2】通信デバイスの中での、優先順位テーブルを用いたポーリング通信プロセスを示す概略ブロック図である。
【
図3】本発明の一実施形態による、産業用ネットワーク・システムにおいて、優先順位を用いて通信デバイスをポーリングする方法を示すフロー・チャートである。
【発明を実施するための形態】
【0026】
すべての図面上で、同じ参照番号は同じ要素、または同じタイプの要素を表す。
【0027】
当業者により、本明細書のいずれのブロック図も、本主題の原理を具体化する例示のシステムの概念的な図を表すことが理解されるべきである。同様にいずれのフロー・チャート、フロー図、状態遷移図、擬似コードなどは、コンピュータ可読媒体内に実質的に表され得る様々なプロセスを表し、それに従ってコンピュータまたはプロセッサにより、そのようなコンピュータまたはプロセッサが明示的に示されているかどうかに関わらず、そのように実行され得ることが理解されるであろう。
【0028】
図および以下の説明は、本発明の特定の例示的実施形態を示す。したがって当業者には、本明細書では明示的に述べられないまたは示されないが、本発明の原理を具体化しおよび本発明の範囲に含まれる、様々な構成を考案することが可能になるであろう。さらに、本明細書で述べられるいずれの例も、本発明の原理の理解を助けるためのものであり、そのような具体的に列挙された例および条件に限定されないと解釈されるべきである。結果として、本発明は、以下で述べられる特定の実施形態または例ではなく、「特許請求の範囲」およびそれらの等価物によって限定される。
【0029】
図1を参照すると、通信システムは、ホスト・デバイスHDと、通信デバイスCDとを備える。通信デバイスCDは、複数のN個の通信デバイスCD(CD.1、CD.k-1、CD.k、・・・、CD.N)を形成し、Nは2以上の整数であり、kは1とNとの間で変わるインデックスである。各通信デバイスは、1以上のインデックスによってインデックス付けされ、インデックス1の通信デバイスは、マスタ・デバイスに接続される。
【0030】
ホスト・デバイスHDは、クロック・ラインCLを通じて通信デバイスCDに、および一緒に半二重フィールドバスを形成するアービトレーション・ラインALを通じて並列に接続される。
【0031】
クロック・ラインCLは、クロック信号をホスト・デバイスHDから通信デバイスCDに運ぶ、シグナリング単方向フィールドバス・ラインである。通信デバイスCDが、コミッション・ラインCLからのクロック信号を検出した場合、通信デバイスCDは、クロック信号の時間、持続する、アービトレーション・サイクルの間、アービトレーション状態に入る。
【0032】
例えば、クロック信号はまた、コード信号、または特定のパターンを含んだ任意の信号とすることができる。クロック信号が特定周波数クロック信号である場合、通信デバイスは、それがこのような特定周波数クロックを含んだ、クロック・ラインCLからの信号を受信した場合にのみ、アービトレーション状態に入るようになる。
【0033】
アービトレーション・ラインCLは、データ信号を通信デバイスCDからホスト・デバイスHDに運ぶ、シグナリング単方向フィールドバス・ラインである。アービトレーション・ラインCLは、「OR」論理によって構成され、いずれかの通信デバイスCDが、論理「1」を送った場合、ホスト・デバイスによって受信される論理値は「1」である。
【0034】
一実施形態では、通信デバイスCDは、「1」信号ビットに対してアービトレーション・ラインの電圧をプル・アップすることによって、または「0」信号ビットに対してアービトレーション・ラインの電圧をプル・ダウンすることによって、アービトレーション・ラインCL上に信号を送ることができる。通信デバイスCDが、送るデータを有しない場合は、「0」信号ビットに対してアービトレーション・ラインの電圧をプル・ダウンすることだけができる。
【0035】
通信デバイスCDは、アプリケーションと、専用センサと、通信プロトコルコルとを用いる、通信モジュールである。一実施形態では、通信デバイスCDは、Zigbee、Bluetooth、WiFi、およびIOリンク・ワイヤレス・ベースの産業用IoT(モノのインターネット)を用いた無線モジュールである。ホスト・デバイスHDおよび通信デバイスCDは、同じゲートウェイ装置内でモジュラー方式で統合化された、様々なワイヤレス・プロトコル無線を用いた、混合した重要なアプリケーションを管理するワイヤレス・ゲートウェイ装置を形成する。産業用アプリケーションのための一実施形態では、通信デバイスCDは、マスタ・デバイス上に積み重ねられた形で配置され、コラムの形でのワイヤレス・ゲートウェイ・システムを形成する。
【0036】
一実施形態では、各通信デバイスは、1以上のインデックスkによってインデックス付けされ、識別子Id_kに関連付けられる。
【0037】
一実施形態では、各通信デバイスは、1以上のインデックスkによってインデックス付けされ、クロック信号の少なくとも1つのクロック周期に関連付けられる。
【0038】
一実施形態では、すべての通信デバイスは、初期に、例えば0XFEなどの共通デフォルト・アドレスを有することができ、登録プロセスの後に、アービトレーション・ラインAL上に定義されたアドレスを有し得る。一実施形態では、各通信デバイスは、1以上のインデックスkによってインデックス付けされ、アドレスAdd_kに関連付けられる。
【0039】
一実施形態では、インデックスkの通信デバイスCD.kのアドレスAdd_kは、通信デバイスのタイプに従って定義される。一実施形態では、通信デバイスの間の優先順位は、通信デバイスのタイプに基づく。
【0040】
一実施形態では、通信デバイスCD.kの識別子Id_kは、通信デバイスCD.kのアドレスAdd_kに対応する。一実施形態では、通信デバイスCD.kの識別子Id_kは、通信デバイスCD.kに関連付けられたクロック信号のクロック周期の数に対応する。
【0041】
ホスト・デバイスHDは、インデックスkの通信デバイスのデバイス情報を、情報テーブルに記憶し得る。デバイス情報は、例えば、インデックスkの通信デバイスの名前、インデックスkの通信デバイスの識別子、インデックスkの通信デバイスのアドレス、およびインデックスkの通信デバイスのタイプを含む。通信デバイスの識別子は、製造の間に通信デバイスのメモリに保存される、一意のシリアル番号とすることができる。通信デバイスのタイプは、製造の間に通信デバイスのメモリに保存される、サポートする機能コードとすることができる。同じ1つまたは複数の機能を有する通信デバイスは、同じタイプの通信デバイスを用いるように設計される。
【0042】
一実施形態では、ホスト・デバイスHDは、優先順位に対応する通信デバイスCD.kの識別子Id_kをリストする、優先順位テーブルをさらに記憶し、ホスト・デバイスHDは、優先順位テーブルに、優先順位に対応する通信デバイスCD.kのアドレスAdd_kをさらに記憶する。一実施形態では、ホスト・デバイスHDは、優先順位テーブルに、優先順位に対応する通信デバイスCD.kに関連付けられたクロック信号のクロック周期をさらに記憶する。一実施形態では、優先順位は、数の形であり、最小の数は、最も高い優先順位に対応する。
【0043】
例示のシステムでは、識別子Id_1がアドレスに対応するときは、「01」に等しい識別子Id_1値を有し、識別子Id_1がクロック信号のクロック周期の数に対応するときは、「2」に等しい識別子Id_1値を有する通信デバイスCD.1と、識別子Id_2がアドレスに対応するときは、「10」に等しい識別子Id_2値を有し、識別子Id_2がクロック信号のクロック周期の数に対応するときは、「1」に等しい識別子Id_2値を有する通信デバイスCD.2とが提供される。ホスト・デバイスが、通信デバイスCD.1、CD.2と通信することを望むとき、ホスト・デバイスは、最初にアービトレーションを開始するようになる。その目的のために、ホスト・デバイスは、クロック信号をアービトレーション・ラインに送出する。両方の通信デバイスは、送るデータを有し、それらはアービトレーションに参加し、それらのアドレス値またはそれらの関連付けられたクロック信号のクロック周期に従って、アービトレーション・ラインの電圧を制御する。通信デバイスCD.1は、それの識別子が「01」または「2」であるので、アービトレーション・ラインをプル・ダウンし、次いでプル・アップし、同時に、通信デバイスCD.2は、それの識別子が「10」または「1」であるので、アービトレーション・ラインをプル・アップし、次いでプル・ダウンする。アービトレーション・ラインの「OR」機能のため、アービトレーション・ラインの最終電圧値は「11」であり、ホスト・デバイスは、最終電圧値の「1」ビットに基づいて、通信デバイスCD.1の識別子Id_1と、通信デバイスCD.2の識別子Id_2とを検出する。次いで、優先順位テーブル内で、通信デバイスCD.2は、通信デバイスCD.1より高い優先順位を有するので、ホスト・デバイスは、最初に通信デバイスCD.2と、次いで通信デバイスCD.1と、アービトレーション・サイクルに続く通信サイクルで、通信する。通信サイクルの間、ホスト・デバイスは、例えば要求を通信デバイスCD.2(次いでCD.1)に送り、それは次いで応答をホスト・デバイスに送る。
【0044】
一般的な形では、通信デバイスは、データを有し、およびクロック・ラインの立ち下がりエッジを検出した場合、それのアドレス値に、またはそれの関連付けられたクロック信号のクロック周期に従って、アービトレーション・ラインの電圧をハイまたはローに設定するようになる。一実施形態では、通信デバイスは、アービトレーション・ラインの電圧を、最も高いビットから最も低いビットに、すなわち最上位ビットから最下位ビットに設定する。別の実施形態では、通信デバイスは、アービトレーション・ラインの電圧を、最も低いビットから最も高いビットに、すなわち最下位ビットから最上位ビットに設定する。通信デバイスは、データをもたずおよびアービトレーション・ラインの立ち下がりエッジを検出した場合、クロック信号の終端までアービトレーション・ラインの電圧をローに設定する。
【0045】
アービトレーション・サイクルの間、通信デバイスは、それらのそれぞれのアービトレーション信号を、それらのそれぞれの関連付けられたアドレスAdd_kに従って、アービトレーション・ラインに、またはそれらが送るデータを有する場合は、クロック信号のそれらのそれぞれの関連付けられたクロック周期に送り、通信デバイスは、それらのそれぞれのアービトレーション信号を、それらが送るデータを有しない場合は、ゼロ値に従ってアービトレーション・ラインに送る。
【0046】
一実施形態では、異なる通信デバイスにそれぞれ関連付けられたアドレスは、異なり、共通の「1」ビットを有しない。一実施形態では、通信デバイスにそれぞれ関連付けられたアドレスは、少なくとも2ビットだけインクリメントされる。一実施形態では、通信デバイスにそれぞれ関連付けられたアドレスは、ただ1つの「1」ビットを含む。
【0047】
一実施形態では、通信デバイスは、アービトレーション・ラインを、クロック信号の異なるクロック周期の間にそれぞれプル・アップするように構成され、共通のクロック信号のクロック周期を有しない。一実施形態では、通信デバイスは、クロック信号のただ1つのクロック周期の間、アービトレーション・ラインをプル・アップし、クロック信号の他のクロック周期の間、アービトレーション・ラインをプル・ダウンして、その結果ホスト・モジュールは、クロック信号の前記ただ1つのクロック周期に対応する「1」ビットを備える最終信号を受信する。
【0048】
一実施形態では、通信デバイスにそれぞれ関連付けられたアドレスは、クロック信号のアービトレーション・クロック周期の数にそれぞれ対応する。
【0049】
図2を参照すると、通信デバイスに対する識別子として用いられるアドレスを用いて、優先順位を用いたポーリング通信プロセスが説明される。通信システムは、ホスト・デバイスHDと、「1000」に等しいアドレスAdd_1値を有する通信デバイスCD.1と、「0001」に等しいアドレスAdd_2値を有する通信デバイスCD.2と、「0100」に等しいアドレスAdd_3値を有する通信デバイスCD.3と、「0010」に等しいアドレスAdd_4値を有する通信デバイスCD.4とを備える。通信デバイスは、それらのアドレスに基づいた優先順位に従って、配置される。
【0050】
第1のアービトレーション・サイクルの間、すべての通信デバイスが、アービトレーション・プロセスに参加するが、通信デバイスCD.3およびCD.4のみが、送るデータを有する。第1のクロック周期では、通信デバイスCD.3およびCD.4は、それらの最も高いアドレス・ビット、すなわち「0」に従って、アービトレーション・ラインをローに設定し、一方、通信デバイスCD.1およびCD.2もまた、それらが送るデータを有しないので、アービトレーション・ラインをローに設定する。第2のクロック周期では、通信デバイスCD.3は、それの第2のアドレスAdd_3値「1」に従って、アービトレーション・ラインをハイに設定し、通信デバイスCD.4は、それの第2のアドレスAdd_4値「0」に従って、アービトレーション・ラインをローに設定し、一方、通信デバイスCD.1およびCD.2は、それらが送るデータを有しないので、やはりまたアービトレーション・ラインをローに設定する。第3のクロック周期では、通信デバイスCD.3は、それの第3のアドレスAdd_3値「0」に従って、アービトレーション・ラインをローに設定し、通信デバイスCD.4は、それの第3のアドレスAdd_4値「1」に従って、アービトレーション・ラインをハイに設定し、一方、通信デバイスCD.1およびCD.2は、それらが送るデータを有しないので、やはりまたアービトレーション・ラインをローに設定する。第4のクロック周期では、通信デバイスCD.3およびCD.4は、それらの最も低いアドレス・ビット、すなわち「0」に従って、アービトレーション・ラインをローに設定し、一方、通信デバイスCD.1およびCD.2は、それらが送るデータを有しないので、やはりまたアービトレーション・ラインをローに設定する。
【0051】
アービトレーション・サイクルの終端には、ホスト・モジュールは、アービトレーション信号に適用された「OR」論理から結果として生じる、通信デバイスによって送られたアービトレーション信号の追加に対応する最終信号を受信している。最終信号は、ビット「0110」を含む。次いでホスト・モジュールは、前記通信デバイスに関連付けられたアドレスに対応する最終信号の「1」ビットに基づいて、データを送る準備ができている通信デバイスを、検出することができる。この場合、ホスト・モジュールは、通信デバイスCD.3およびCD.4がデータを送る準備ができていることを検出する。
【0052】
ホスト・デバイスは、通信デバイスCD.3およびCD.4を選択して、アービトレーション・サイクルに続く通信サイクルにおいて、要求および応答を交換することによって、それらと通信する。ホスト・デバイスは、優先順位テーブル内で、通信デバイスCD.3およびCD.4にそれぞれ関連付けられた優先順位によって定義される順序で、通信デバイスCD.3およびCD.4と通信する。
【0053】
第2のアービトレーション・サイクルの間、通信デバイスCD.1、CD.3、およびCD.4が送るデータを有する状態で、すべての通信デバイスがアービトレーション・プロセスに参加する。第1のクロック周期では、通信デバイスCD.1は、それの最も高いアドレス・ビット値「1」に従って、アービトレーション・ラインをハイに設定し、通信デバイスCD.3およびCD.4は、それらの最も高いアドレス・ビット、すなわち「0」に従って、アービトレーション・ラインをローに設定し、一方、通信デバイスは、それも送るデータを有しないので、アービトレーション・ラインもまたローに設定する。第2のクロック周期では、通信デバイスCD.3は、それの第2のアドレスAdd_3値「1」に従って、アービトレーション・ラインをハイに設定し、通信デバイスCD.1およびCD.4は、それらの第2のアドレス値「0」に従って、アービトレーション・ラインをローに設定し、一方、通信デバイスCD.2は、やはりまたそれが送るデータを有しないので、アービトレーション・ラインをローに設定する。第3のクロック周期では、通信デバイスCD.1およびCD.3は、それらの第3のアドレス値「0」に従って、アービトレーション・ラインをローに設定し、通信デバイスCD.4は、それらの第3のアドレスAdd_4値「1」に従って、アービトレーション・ラインをハイに設定し、一方、通信デバイスCD.2は、やはりまたそれが送るデータを有しないので、アービトレーション・ラインをローに設定する。第4のクロック周期では、通信デバイスCD.1、CD.3、およびCD.4は、それらの最も低いアドレス・ビット、すなわち「0」に従って、アービトレーション・ラインをローに設定し、一方、通信デバイスCD.2は、やはりまたそれが送るデータを有しないので、アービトレーション・ラインをローに設定する。
【0054】
アービトレーション・サイクルの終端には、ホスト・モジュールは、アービトレーション信号に適用された「OR」論理から結果として生じる、通信デバイスによって送られたアービトレーション信号の追加に対応する最終信号を受信している。最終信号は、ビット「1110」を含む。次いでホスト・モジュールは、前記通信デバイスに関連付けられたアドレスに対応する最終信号の「1」ビットに基づいて、データを送る準備ができている通信デバイスを、検出することができる。この場合、ホスト・モジュールは、通信デバイスCD.1、CD.3、およびCD.4がデータを送る準備ができていることを検出する。
【0055】
ホスト・デバイスは、通信デバイスCD.1、CD.3、およびCD.4を選択して、アービトレーション・サイクルに続く通信サイクルにおいて、要求および応答を交換することによって、それらと通信する。ホスト・デバイスは、優先順位テーブル内で、通信デバイスCD.1、CD.3、およびCD.4にそれぞれ関連付けられた優先順位によって定義される順序で、通信デバイスCD.1、CD.3、およびCD.4と通信する。通信デバイスCD.1は、最も高い優先順位を有する場合、ホスト・デバイスは、最初に通信デバイスCD.1と通信する。
【0056】
一実施形態は、1つまたは複数のプロセッサと、I/Oインターフェースと、ネットワーク・インターフェースと、プロセッサに結合されたメモリとを備える装置の形でのホスト・デバイスHDを備える。プロセッサは、1つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置、状態機械、論理回路、および/または動作命令に基づいて信号を操作する任意のデバイスとして実装され得る。プロセッサは、単一の処理装置またはいくつかの装置とすることができ、そのすべてはまた、複数のコンピューティング装置を含み得る。他の能力の中でもプロセッサは、メモリに記憶されたコンピュータ可読命令をフェッチし、実行するように構成される。
【0057】
プロセッサによって実現される機能は、専用ハードウェア、および適切なソフトウェアと関連してソフトウェアを実行する能力を有するハードウェアの、使用を通して提供され得る。プロセッサによって提供されるとき、機能は、単一の専用プロセッサによって、単一の共有プロセッサによって、またはそのいくつかは共有され得る複数の個別のプロセッサによって、提供され得る。さらに、「プロセッサ」という用語の明示的な使用は、ソフトウェアを実行する能力を有するハードウェアを、専ら指すものと解釈されるべきではなく、暗黙的にデジタル信号プロセッサ(DSP)ハードウェア、ネットワーク・プロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、ソフトウェアを記憶するための読み出し専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)、および不揮発性ストレージを含み得るが、それらに限定されない。他の従来型および/またはカスタムのハードウェアも含まれ得る。
【0058】
メモリは、例えば、スタティック・ランダム・アクセス・メモリ(SRAM)およびダイナミック・ランダム・アクセス・メモリ(DRAM)などの揮発性メモリ、および/または読み出し専用メモリ(ROM)、消去可能プログラマブルROM、フラッシュ・メモリ、ハード・ディスク、光ディスク、および磁気テープなどの不揮発性メモリを含む、当技術分野で知られている任意のコンピュータ可読媒体を含み得る。メモリは、モジュールおよびデータを含む。モジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造体などを含み、これらは特定のタスクを行う、または特定の抽象データ・タイプを実装する。データは、中でも、モジュールの1つまたは複数によって処理された、受信された、および生成された、データを記憶するためのリポジトリとして機能する。
【0059】
当業者は、上記で提示された方法のステップは、プログラムされたコンピュータによって行われ得ることを容易に認識するであろう。本明細書において、いくつかの実施形態はまた、プログラム記憶装置、例えばデジタル・データ記憶媒体を包含することが意図され、これらは機械またはコンピュータ可読であり、命令の機械実行可能またはコンピュータ実行可能プログラムをエンコードし、前記命令は、述べられた方法のステップのいくつかまたはすべてを行う。プログラム記憶装置は、例えば、デジタル・メモリ、磁気ディスクおよび磁気テープ、ハード・ドライブなどの磁気記憶媒体、または光可読デジタル・データ記憶媒体とすることができる。
【0060】
図3を参照すると、本発明の一実施形態による、通信システム内の優先順位を用いて通信デバイスをポーリングする方法は、ステップS1~S6を備える。
【0061】
ステップS1で、ホスト・モジュールHDは、アービトレーション・サイクルの間、クロック信号をクロック・ラインCL上に送る。
【0062】
ステップS2で、通信デバイスCDは、それらのそれぞれのアービトレーション信号を、それぞれの関連付けられた識別子に従って、アービトレーション・ラインALに送る。通信デバイスCDは、送るデータを有しない場合、「0」ビットのみを含んだアービトレーション信号を送る。
【0063】
ステップS3で、ホスト・モジュールHDは、アービトレーション信号に適用された「OR」論理から結果として生じる、通信デバイスCDから送られた、アービトレーション信号の追加に対応する最終信号を受信する。
【0064】
ステップS4で、ホスト・モジュールHDは、通信デバイスが、前記通信デバイスに関連付けられたクロック信号のアドレスまたはクロック周期に対応し得る、最終信号の「1」ビットに基づいてデータを送る準備ができていることを検出する。
【0065】
一実施形態では、最終信号の「1」ビットの位置が、前記通信デバイスに関連付けられたアドレスの「1」ビットの位置に対応する、または前記通信デバイスに関連付けられたクロック信号のクロック周期の数に対応する場合、ホスト・デバイスは、最終信号から通信デバイスを検出する。
【0066】
ステップS5で、ホスト・モジュールHDは、検出された通信デバイスの中から、通信デバイスに関連付けられた識別子を含んだ優先順位テーブル内の、最も高い優先順位に関連付けられた通信デバイスを選択する。
【0067】
ステップS6で、ホスト・モジュールHDは、通信サイクルの間、選択された通信デバイスからデータを受信するために、選択された通信デバイスをポーリングする。
【0068】
次いで、ホスト・モジュールHDは、優先順位テーブル内の前記検出された通信デバイスに関連付けられた優先順位に応じた順序で、検出された通信デバイスをポーリングする。
【0069】
通信デバイスが、より高い優先順位を有する他の通信デバイスと比べて、低い優先順位により、ホスト・デバイスと通信できない場合には、スターブ・サイクル(starve cycle)と呼ばれるタイマと定義される。
【0070】
本発明は、上記で特定の実施形態を参照して述べられたが、本明細書に記載された特定の形に限定されるものではない。むしろ、本発明は添付の「特許請求の範囲」のみによって限定され、特定の上記の他の実施形態は、これらの添付の「特許請求の範囲」の範囲内であることが等しく可能である。
【0071】
さらに、例示的実施形態が、構成要素および/または機能のいくつかの例示的組み合わせにおいて上記で述べられたが、本開示の範囲から逸脱せずに、要素および/または機能の異なる組み合わせによって、代替的実施形態が提供され得ることが理解されるべきである。加えて、個別にまたは一実施形態の一部として述べられた特定の特徴は、他の個別に述べられる特徴、または他の実施形態の一部と、組み合わされ得ることが明確に企図される。
【符号の説明】
【0072】
AL アービトレーション・ライン
CD 通信デバイス
CL クロック・ライン
HD ホスト・デバイス
【外国語明細書】