米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> オムロン株式会社

発明の名称 シリアル通信システム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−78536(P2003−78536A)
公開日 平成15年3月14日(2003.3.14)
出願番号 特願2001−267463(P2001−267463)
出願日 平成13年9月4日(2001.9.4)
代理人 【識別番号】100098899
【弁理士】
【氏名又は名称】飯塚 信市
【テーマコード(参考)】
5K032
5K033
【Fターム(参考)】
5K032 AA02 CC10 CC11 EC04 
5K033 AA05 CB11 CB13 CB14 EC01 EC03
発明者 出来 仁太郎 / 笹森 利明
要約 課題
バスリセット発生毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるIEEE1394バス等のシリアルバスを使用して通信を行う場合において、アドレス自動割付処理が実行されたとしても、複雑な物理アドレス(Phy_ID)の確認処理等を行うことなく、メッセージを送信可能とする。

解決手段
各通信ノードには、 自機の下位層アドレスと、下位層アドレス通知希望の通信ノードの上位層アドレスとを含む送信要求コマンドを一斉同報する一方、それに対するレスポンスに基づいて当該通信ノードの下位層アドレスを認知する手段と、受信した送信要求コマンドに下位層アドレス通知希望の通信ノードの上位層アドレスが自機の上位層アドレスと一致するときは、その送信要求コマンドの送信元下位層アドレスに対して自機の下位層アドレスを含むレスポンスを送信する手段とを含むアドレスチェック手段を具備する。
特許請求の範囲
【請求項1】 バスリセットが発生する毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるシリアルバスを有し、各通信ノードのそれぞれには、自機の下位層アドレスと、下位層アドレス通知希望の通信ノードの上位層アドレスとを含む送信要求コマンドを一斉同報する一方、それに対するレスポンスに基づいて当該通信ノードの下位層アドレスを認知する手段と、受信された送信要求コマンドに下位層アドレス通知希望の通信ノードの上位層アドレスとして含まれる上位層アドレスが自機に割り付けられた上位層アドレスと一致するときには、その送信要求コマンドの送信元下位層アドレスに対して自機の下位層アドレスを含むレスポンスを送信する手段と、を含むアドレスチェック手段が具備されている、シリアル通信システム。
【請求項2】 バスリセットが発生する毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるシリアルバスを有し、各通信ノードのそれぞれには、ノード毎に異なるタイミグで、重複検査対象アドレスとして自機の上位層アドレスを含む重複検査要求コマンドを一斉同報する手段と、受信された重複検査要求コマンドに重複検査対象アドレスとして含まれる上位層アドレスが自機に割り付けられた上位層アドレスと一致するときには、アドレス重複割付時の誤動作回避処理を実行する手段と、を含むアドレスチェック手段が具備されている、シリアル通信システム。
【請求項3】 バスリセットが発生する毎に下位層アドレス空間上における各通信ポートのアドレス再割付処理が自動的に実行されるシリアルバスを有し、各通信ノードのそれぞれには、ノード毎に異なるタイミングで、自機の上位層アドレスと自機の下位層アドレスとを含む登録要求コマンドを一斉同報する手段と、受信された登録要求コマンドに含まれる上位層アドレスと下位層アドレスとを登録することにより、各通信ノード別に上位層アドレスと下位層アドレスとを関連付けたアドレス変換テーブルを作成する手段と、を含むアドレスチェック手段が具備され、アドレス変換テーブルを用いたアドレス自動変換処理を介在させることにより、上位層アドレスの指定によるノード相互間通信を可能としたシリアル通信システム。
【請求項4】 バスリセットが発生する毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるシリアルバスを有し、各通信ノードのそれぞれには、ノード毎に異なるタイミングで、自機の上位層アドレスと自機の下位層アドレスとを含む登録要求コマンドを一斉同報する手段と、受信された登録要求コマンドに含まれる上位層アドレスと下位層アドレスとを登録することにより、各通信ノード別に上位層アドレスと下位層アドレスとを関連付けたアドレス変換テーブルを作成する手段と、を含む第1のアドレスチェック手段と、ノード毎に異なるタイミグで、重複検査対象アドレスとして自機の上位層アドレスを含む重複検査要求コマンドを一斉同報する手段と、受信された重複検査要求コマンドに重複検査対象アドレスとして含まれる上位層アドレスが自機に割り付けられた上位層アドレスと一致するときには、アドレス重複割付時の誤動作回避処理を実行する手段と、を含む第2のアドレスチェック手段と、自機の下位層アドレスと、下位層アドレス通知希望の通信ノードの上位層アドレスとを含む送信要求コマンドを一斉同報する一方、それに対するレスポンスに基づいて当該通信ノードの下位層アドレスを認知する手段と、受信された送信要求コマンドに下位層アドレス通知希望の通信ノードの上位層アドレスとして含まれる上位層アドレスが自機に割り付けられた上位層アドレスと一致するときには、その送信要求コマンドの送信元下位層アドレスに対して自機の下位層アドレスを含むレスポンスを送信する手段と、を含む第3のアドレスチェック手段と、を具備することを特徴とするシリアル通信システム。
【請求項5】 アドレス重複割付時の誤動作回避処理が、他のノードとの通信を停止させるための処理である、請求項2又は4に記載のシリアル通信システム。
【請求項6】 バスリセットが発生する毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるシリアルバスを使用した通信方法であって、初回のアドレス割付処理毎に、および/または、バスリセットによるアドレス再割付処理毎に、各通信ノードが互いに時間をずらせて、自機の上位層アドレスおよび下位層アドレスを含む登録要求コマンドを一斉同報する一方、他機の側では受信された登録要求コマンドに含まれる上位層アドレスと下位層アドレスとを登録することにより、各通信ノード別に上位層アドレスと下位層アドレスとを関連付けたアドレス変換テーブルを作成する通信前処理を有することを特徴とする通信方法。
【請求項7】 アドレス変換テーブルを用いたアドレス自動変換処理を介在させることにより、アプリケーションの側では下位層アドレスを意識することなく上位層アドレスを使用したノード相互間通信を可能とした、請求項6に記載の通信方法。
【請求項8】 通信前処理にて他機から受信された上位層アドレスの中に自機と同一の上位層アドレスが含まれているときには、アドレス重複割付時の誤動作回避処理を実行することを特徴とする請求項6又は7に記載の通信方法。
【請求項9】 作成されたアドレス変換テーブルに下位層アドレスが不明なノードが存在するときには、自機の下位層アドレスと、下位層アドレス通知希望の通信ノードの上位層アドレスとを含む送信要求コマンドを一斉同報する一方、それに対するレスポンスに基づいて当該通信ノードの下位層アドレスを認知することを特徴とする請求項6又は7に記載の通信方法。
【請求項10】 アドレス重複割付時の誤動作回避処理が、他のノードとの通信を停止させるための処理である、請求項8に記載の通信方法。
発明の詳細な説明
【0001】
【発明の属する技術分野】この発明は、バスリセットが発生する毎に各通信ノードのアドレス再割付処理が自動的に実行されるシリアルバスを使用したシリアル通信システムに関する。
【0002】
【従来の技術】シリアルバスの一種であるIEEE1394バスでは、各ノードの論理的な位置を示す上位アドレスである論理アドレス(Phy_ID)は、下位層である物理層で自動的に決定される。これにより、ユーザは、自己がアドレス設定をすることなく、ノードを接続・離脱できると言う利点がある。
【0003】
【発明が解決しようとする課題】しかしながら、このようなIEEE1394等のシリアルバスにあっては、ノードを接続・離脱すると、バスリセットが発生して、全てのノードの物理アドレス(Phy_ID)が再割付されてしまうため、それ以前と同じアドレスに割り付けられる保証がない。そのため、物理アドレス(Phy_ID)を指定してアプリケーションがメッセージを送信しようとすると別のノードに送信する可能性があり、あて先の確認処理が煩雑となると言う問題点がある。
【0004】さらに、アプリケーションアドレスと物理アドレス(Phy_ID)との関係を設定しようとすると、ネットワークの構成が変更されたときに、アプリケーションアドレスと物理アドレス(Phy_ID)とを正しく関連付けし直すことが必要となると言う問題点がある。
【0005】この発明は、上述の問題点に着目してなされたものであり、その目的とするところは、バスリセットが発生する毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるシリアルバスを使用して通信を行う場合において、アドレス自動割付処理が実行されたとしても、複雑な物理アドレス(Phy_ID)の確認処理等を行うことなく、メッセージを送信可能とすることにある。
【0006】この発明の他の目的並びに作用効果については、明細書の以下の記載により当業者であれば容易に理解されるであろう。
【0007】
【課題を解決するための手段】この発明のシリアル通信システムは、バスリセットが発生する毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるシリアルバスを有する。なお、ここで、『バスリセット』とは、IEEE1394バス等でよく知られているように、シリアルバスを構成する各ノードのインタフェース機能を初期化することで、これにより各通信ノードの下位層アドレスはリセットされる。また、『下位層アドレス』には、物理層アドレスが含まれる。
【0008】各通信ノードのそれぞれには、自機の下位層アドレスと、下位層アドレス通知希望の通信ノードの上位層アドレスとを含む送信要求コマンドを一斉同報する一方、それに対するレスポンスに基づいて当該通信ノードの下位層アドレスを認知する手段と、受信された送信要求コマンドに下位層アドレス通知希望の通信ノードの上位層アドレスとして含まれる上位層アドレスが自機に割り付けられた上位層アドレスと一致するときには、その送信要求コマンドの送信元下位層アドレスに対して自機の下位層アドレスを含むレスポンスを送信する手段と、を含むアドレスチェック手段が具備されている。ここで、『上位層アドレス』には、アプリケーションアドレスが含まれる。
【0009】このような構成によれば、各通信ノードでは、送信要求コマンドを適当なタイミングで一斉同報することにより、任意の上位層アドレスで特定される通信ノードの下位層アドレスを知ることができる。
【0010】別の一面から見た本発明のシリアル通信システムは、バスリセットが発生する毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるシリアルバスを有する。
【0011】各通信ノードのそれぞれには、ノード毎に異なるタイミグで、重複検査対象アドレスとして自機の上位層アドレスを含む重複検査要求コマンドを一斉同報する手段と、受信された重複検査要求コマンドに重複検査対象アドレスとして含まれる上位層アドレスが自機に割り付けられた上位層アドレスと一致するときには、アドレス重複割付時の誤動作回避処理を実行する手段と、を含むアドレスチェック手段が具備されている。
【0012】このような構成によれば、ネットワークに含まれる通信ノードにおけるアドレス重複設定を容易に知ることができ、これに基づいてアドレス重複割付時に必要な誤動作回避措置をとることができる。このような誤動作回避処理としては、その後の他のノードとの通信を停止するための処理が含まれる。つまり、アドレスが重複して割り付けられたままでノード間通信を行えば、予期せぬ誤動作の原因となるため、そのような状態ではノード間通信を禁止するものである。
【0013】別の一面から見た本発明のシリアル通信システムは、バスリセットが発生する毎に下位層アドレス空間上における各通信ポートのアドレス再割付処理が自動的に実行されるシリアルバスを有する。
【0014】各通信ノードのそれぞれには、ノード毎に異なるタイミングで、自機の上位層アドレスと自機の下位層アドレスとを含む登録要求コマンドを一斉同報する手段と、受信された登録要求コマンドに含まれる上位層アドレスと下位層アドレスとを登録することにより、各通信ノード別に上位層アドレスと下位層アドレスとを関連付けたアドレス変換テーブルを作成する手段と、を含むアドレスチェック手段が具備され、アドレス変換テーブルを用いたアドレス自動変換処理を介在させることにより、上位層アドレスの指定によるノード間通信を可能としている。
【0015】このような構成によれば、アドレス再割付等により下位層アドレスに変更が生じても、上位層アドレスと下位層アドレスとの再割付処理が自動的に実行されて両者の関係が維持されるため、アブリケーションでは下位層アドレスを意識することなく、上位層アドレスのみを使用して通信を継続することができる。
【0016】本発明の好ましい実施の形態においては、アドレスチェック手段は、初回のアドレス割付処理直後、および/または、アドレス再割付処理直後に実行される、ようにしてもよい。
【0017】このような構成によれば、アドレス再割付処理等により下位層アドレスが変更されたままで、意図しないノード間で通信が行われてしまう虞を確実に防止することができる。
【0018】本発明の好ましい実施の形態においては、アドレスチェック手段にて扱われるコマンドが、宛て先下位層アドレスを含むヘッダ欄と、送信元下位層アドレス欄と、送信元上位層アドレス欄と、対象上位アドレス欄とを含むアドレスチェックパケットで構成される、ようにしてもよい。
【0019】このような構成によれば、構成の簡素化とフォーマットの共通化により、信頼性の向上とシステム製作費の低減が可能となる。
【0020】別の一面から見た本発明のシリアル通信システムは、バスリセットが発生する毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるシリアルバスを有する。
【0021】各通信ノードのそれぞれには、ノード毎に異なるタイミングで、自機の上位層アドレスと自機の下位層アドレスとを含む登録要求コマンドを一斉同報する手段と、受信された登録要求コマンドに含まれる上位層アドレスと下位層アドレスとを登録することにより、各通信ノード別に上位層アドレスと下位層アドレスとを関連付けたアドレス変換テーブルを作成する手段と、を含む第1のアドレスチェック手段と、ノード毎に異なるタイミグで、重複検査対象アドレスとして自機の上位層アドレスを含む重複検査要求コマンドを一斉同報する手段と、受信された重複検査要求コマンドに重複検査対象アドレスとして含まれる上位層アドレスが自機に割り付けられた上位層アドレスと一致するときには、アドレス重複割付時の対応処理を実行する手段と、を含む第2のアドレスチェック手段と、自機の下位層アドレスと、下位層アドレス通知希望の通信ノードの上位層アドレスとを含む送信要求コマンドを一斉同報する一方、それに対するレスポンスに基づいて当該通信ノードの下位層アドレスを認知する手段と、受信された送信要求コマンドに下位層アドレス通知希望の通信ノードの上位層アドレスとして含まれる上位層アドレスが自機に割り付けられた上位層アドレスと一致するときには、その送信要求コマンドの送信元下位層アドレスに対して自機の下位層アドレスを含むレスポンスを送信する手段と、を含む第3のアドレスチェック手段と、が具備されている。
【0022】このような構成によれば、各ノードの上位層アドレスと下位層アドレスとの関係をより一層確実に管理すると共に、アドレス重複設定も監視して、通信ミスが発生することを確実に防止できる。
【0023】本発明の好ましい実施の形態においては、第1および/または第2のアドレスチェック手段が、初回のアドレス割付処理直後、および/または、アドレス再割付処理直後に実行される、ようにしてもよい。
【0024】本発明の好ましい実施の形態においては、アドレスチェック手段にて扱われるコマンドが、宛て先下位層アドレスを含むヘッダ欄と、送信元下位層アドレス欄と、送信元上位層アドレス欄と、対象上位アドレス欄とを含むアドレスチェックパケットで構成される、ようにしてもよい。
【0025】本発明の好ましい実施の形態においては、シリアルバスがIEEE1394バスであり、上位層アドレスがアプリケーションアドレスであり、下位層アドレスが物理アドレスであり、コマンドの送受がアシンクロナスフェーズでおこなわれる、ようにしてもよい。
【0026】一方、本発明の通信方法は、バスリセットが発生する毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるシリアルバスを使用した通信方法である。
【0027】この通信方法には、初回のアドレス割付処理毎に、および/または、バスリセットによるアドレス再割付処理毎に、各通信ノードが互いに時間をずらせて、自機の上位層アドレスおよび下位層アドレスを含む登録要求コマンドを一斉同報する一方、他機の側では受信された登録要求コマンドに含まれる上位層アドレスと下位層アドレスとを登録することにより、各通信ノード別に上位層アドレスと下位層アドレスとを関連付けたアドレス変換テーブルを作成する通信前処理が具備されている。
【0028】このような構成によれば、アドレス再割付処理毎にアドレス変換テーブルの更新が行われるため、ユーザはアドレス変換テーブルの構成を気に掛けることなく、各ノードの脱着作業を自由に行うことが出来る。
【0029】本発明の好ましい実施の形態のおいては、アドレス変換テーブルを用いたアドレス自動変換処理を介在させることにより、アプリケーションの側では下位層アドレスを意識することなく上位層アドレス空間において通信を可能としてもよいであろう。
【0030】このような構成によれば、アプリケーションの側では、バスリセットがあったとしても、それを気に掛けることなく、アプリケーションアドレス(上位層アドレス)を使用した通信を継続することができる。
【0031】本発明の好ましい実施の形態においては、通信前処理にて他機から受信された上位層アドレスの中に自機と同一の上位層アドレスが含まれているときには、アドレス重複割付時の誤動作回避処理を実行するようにしてもよい。ここで、『誤動作回避処理』としては、他の通信ノードとの間における通信を停止する処理が含まれる。
【0032】このような構成によれば、ネットワークに含まれる通信ノードにおけるアドレス重複設定を容易に知ることができ、これに基づいてアドレス重複割付時に必要な誤動作回避措置をとることができる。このような誤動作回避処理としては、その後の他のノードとの通信を停止するための処理が含まれる。つまり、アドレスが重複して割り付けられたままでノード間通信を行えば、予期せぬ誤動作の原因となるため、そのような状態ではノード間通信を禁止するものである。
【0033】本発明の好ましい実施の形態においては、作成されたアドレス変換テーブルに下位層アドレスが不明なノードが存在するときには、自機の下位層アドレスと、下位層アドレス通知希望の通信ノードの上位層アドレスとを含む送信要求コマンドを一斉同報する一方、それに対するレスポンスに基づいて当該通信ノードの下位層アドレスを認知するようにしてもよい。
【0034】このような構成によれば、常に、アドレス変換テーブルは実際のノード構成を適切に反映したものとなり、アドレス変換テーブルの信頼性を向上させることができる。
【0035】
【発明の実施の形態】以下に、この発明の好適な実施の一形態を添附図面にしたがって詳細に説明する。
【0036】先に説明したように、この発明のシリアル通信システムは、バスリセットが発生する毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるシリアルバスを使用することを前提としている。このようなシリアルバスとしては、IEEE1394バスが知られている。
【0037】本発明の理解を容易とするために、IEEE1394に関する基本的な事項について説明する。IEEE1394の標準的な送信手順を示すタイムチャートが図1に示されている。
【0038】IEEE1394のデータ転送では全てのノードが主従の関係なく対等に動作する。各ノードの転送動作には、特定のノードIDを指定して転送を行う場合と、全てのノードを対象として転送を行う場合(一斉同報)とが存在する。
【0039】いずれの場合も、複数のノードが同時にバスにデータを送信すると衝突が起こるので、あらかじめアービトレーション(調停:Arbitration)を行って使用権を獲得したノードだけがバスを使用する。ただし、使用できる時間は比較的短時間に限られており、すぐに次の伝送に交代する。一つのノードの伝送が長時間にわたりバスを占有することを防ぎ、ほかの伝送の帯域幅を保証することにより、複数のリアルタイム・データを同時に転送可能とするためである。
【0040】バスにはルート(根)のノードがただ一つ定められており、ルートから全てのノードまでツリーを辿ることができる。各ノードに対して上流側のノードは親ノードであり、親ノードを順次辿ってルートに到達することができる。バスの使用権を要求するノードは親ノードに要求を出し、その要求がルートに集められる。ルートは各ノードが公平になるように使用権を与える。
【0041】IEEE1394の転送方式には、帯域幅が保証されるアイソクロナス(Isochronous)転送フェーズと、帯域幅が保証されないアシンクロナス(Asynchronous)転送フェーズとの二つのフェーズが存在する。いずれのフェーズにおいても、転送の最初にはこのようなアービトレーションが行われる。アイソクロナス転送フェーズの場合、アービトレーションで後回しにされたとしても、少なくとも125μsec毎に1回はデータ転送ができることが保証される。これに対して、アシンクロナス転送フェーズの場合、アービトレーションの結果によっては長く待たされる場合もある。
【0042】IEEE1394のデータ転送は、125μsec毎に転送サイクルが反復され、それぞれのサイクルの中で各ノードに少しずつ転送時間が割り当てられる。サイクルの前半は、アイソクロナス転送のチャネル(図1に示されるアイソクロナスバケツとが相当)が割り当てられる。サイクルの後半の余った時間に、アシンクロナス転送(図1に示されるアシンクロナスバケツとが相当)が割り当てられる。
【0043】サイクルの開始について詳述する。ノードのうちの一つ(一般にルート)がサイクルマスタとなって、サイクルの実行を管理する。サイクルマスタは125μsec毎にサイクルスタートパケットをブロードキャストで送信し、各ノードはそれによってサイクルの開始タイミングを知ることとなる。
【0044】アイソクロナス転送について詳述する。データの衝突を防ぐため、サイクルスタートパケットの後に一定時間の間隔をおいて、アイソクロナス転送を要求するノードがチャネル使用権の要求を出す。この間隔はアイソクロナスギャップと呼ばれる。アービトレーションによってチャネル使用権を獲得したノードは、引き続いてアイソクロナスパケットとしてデータを転送する。一つのチャネルの終了後、アイソクロナスギャップをおいて次のチャネルのアービトレーションが行われ、チャネル使用権を獲得したノードがアイソクロナスパケットとしてデータを転送する。チャネル使用権を要求するノードがなくなるまで、これが順次に繰り返される。
【0045】アシンクロナス転送について詳述する。アイソクロナス転送の最後のチャネルが終了すると、チャネル使用権を要求するノードがなくなるため、バスに空き時間が生ずる。アシンクロナス転送を要求するノードは、バスの空き時間がアイソクロナスギャップよりも長い一定時間に達したことを検出したら、アシンクロナス転送の要求を出すことが許される。この時間はサブアクションギャップと呼ばれる。アービトレーションによってバス使用権を獲得したノードは、引き続いてデータパケットを転送する。一つのデータパケットの終了後、サブアクションギャップをおいて次の転送のアービトレーションが行われ、バス使用権を獲得したノードがデータパケットを転送する。バス使用権を要求するノードがなくなるか、サイクル時間が125μsecに達するまで、これが繰り返される。
【0046】サイクルの終了について説明する。サイクル時間が125μsecになるよりも先にバス使用権を要求するノードがなくなれば、サイクルの残り時間は空き時間となる。一方、データパケットの転送中にサイクル時間が125μsecになった場合には、サイクルマスタはそのパケットが最後まで転送されるまで待って(つまり、そのサイクルを125sec以上に延ばす)、次のサイクルを開始する。このとき、開始が遅れた分だけ次のサイクルの時間を短縮して、サイクルの平均時間を125μsecに維持する。次のサイクルの時間が短くなりすぎるのを防ぐため、アシンクロナス転送のパケットは最大62μsecに制限される。
【0047】図1を参照して説明したように、IEEE1394には、同期メッセージの送信のためにアイソクロナスパケット(Isochronous Packet)が、又非同期メッセージの送信のためにアシンクロナスパケット(Asynchronous Packet)又はアシンクロナスストリームパケット(Asynchronous Stream Packet)が用意されている。アイソクロナスパケットとアシンクロナスパケットのパケット構成は同じである。
【0048】アイソクロナスパケットは同期パケットであり、各ノードが定期的に送信することができる。アイソクロナスパケットはチャネルID(タグ)、すなわちそのパケットの送信先の物理アドレス(Phy_ID)を指定して送信される。各局にはチャネルIDのフィルタが具備されており、フィルタにより受信が許可されているチャネルIDのパケットのみが受信される。
【0049】アシンクロナスパケット、アシンクロナスストリームパケットの送信タイミングはIEEE1394では規定されておらず、その決定はアプリケーション側に委ねられている。アシンクロナスパケットは、IEEE1394のPhy_ID(物理ID/物理層アドレス)を直接指定して送信され、Phy_IDが該当するノードにより受信される。
【0050】参考のために、IEEE1394バスにおけるアシンクロナスリクエストパケット(Asynchronous Request_Packet)のフォーマット例を図2に示す。同図において、アルファベットで記された記号の意味は次の通りである。
【0051】
(記号) (内容)
『destination_ID』:あて先のIEEE1394による物理アド レス(Phy_ID)
『tl』 :任意のコードを割り当てる。応答が返る前 に重複しなければよい。
『tcode』 :トランザクションコード。Write r equest for the quad letとし、コードは0である。
『pri』 :ケーブル環境では無視される。0000( bin)とする。
『source ID』 :自局のIEEE1394の物理アドレス( Phy_ID)をセット。
『destination offset』:あて先のアドレス。詳細は未定。
『date length』 :datafieldのサイズ。単位はBy te。
『extended tcode』:0を設定する。
『header CRC』 :IEEE1394ヘッダ部のCRCコード
『data field』 :DLC−netパケットもしくはIEEE 1394で規定されているパケット。
『data CRC』 :data fieldのCRCコード。
【0052】ところで、IEEE1394では、初期処理時に自己認識(Self_ID)処理を実行し、各ノードの物理アドレス(Phy_ID)を決定する。また、ノードのオンライン脱着が許されており、オンラインでノードが脱着されると、バスリセット(BusReset)が起こる。バスリセット(BusReset)処理では、再度、自己認識(Self_ID)処理が実行されて、物理アドレス(Phy_ID)が再決定される。このとき、再決定される物理アドレス(Phy_ID)は、バスリセット(BusReset)以前の物理アドレス(Phy_ID)と同じになるとは限らない。なお、自己認識(Sef_ID)処理の具体的な手順はIEEE1394仕様により規定されている。
【0053】このように、バスリセットの前後で、いずれかのノードにおいて物理アドレス(Phy_ID)の変更が生ずると、特に、アシンクロナスパケット(Asynchronous Packet)を送信する場合には、送信に先立って、送信しようとする物理アドレス(Phy_ID)が正しい相手であるかを確認する必要が生じ、通信手順が複雑になって支障を来す。アシンクロナスパケット(Asynchronous Packet)を利用したアプリケーションを作成する場合には、必ずそのことを踏まえた上でプログラム作成の必要が生ずる。本発明によれば、斯かる問題点は以下のように解決される。
【0054】本発明の一実施形態として説明するシリアル通信システムは、IEEE1394バスに対して複数台の通信ノードを接続して構成される。それらの通信ノードのそれぞれを構成する通信ボードの一例を示すハードウェア構成図が図3に示されている。
【0055】同図に示されるように、各通信ノードを構成する回路装置(一般には通信ボード等として具現化される)300は、シリアルバス(Bus)を構成する通信線との間でデータ送受信機能を実現するための通信コントローラ301と、回路装置全体を統括制御するCPU302と、CPU302を構成するマイクロプロセッサの動作プログラム等を格納するROM303と、本発明の要部である変換テーブルを格納するフラッシュメモリ等の第1テーブルメモリ305と、物理アドレス(Phy_ID)リストを格納するフラッシュメモリ等の第2テーブルメモリ306とを含んでいる。
【0056】第1テーブルメモリ305内の変換テーブルには、アプリケーションで使用する通信ノードの論理アドレスに相当するアプリケーションアドレスとその通信ノードの物理アドレス(Phy_ID)とが対となって格納される。すなわち、図示例では、アプリケーションアドレスの『62』が物理アドレス(Phy_ID)の『1』に、アプリケーションアドレスの『21』が物理アドレス(Phy_ID)の『2』に、アプリケーションアドレスの『35』が物理アドレス(Phy_ID)の『3』にそれぞれ対応している。したがって、この変換テーブルを使用して、公知のテーブルルックアップ手法を採用すれば、アプリケーションプログラムから与えられたアプリケーションアドレスを対応する物理アドレス(Phy_ID)に、又その逆に、物理アドレス(Phy_ID)を対応するアプリケーションアドレスに簡単に変換することができるから、通信に際しても、アプリケーションプログラムの側では、各ノード間におけるパケット送受信を、その通信ノードの物理アドレス(Phy_ID)を認識することなく実現することができる。
【0057】しかも、この変換テーブルの内容は、後述するように、初期処理時のアドレス割付処理直後に、および/または、バスリセットによる自己認識(Self_ID)処理の毎に、本発明の通信前処理により自動的に更新されるため、通信中のノード脱着があったとしても、各ノードの物理アドレス(Phy_ID)の変動は、アプリケーションアドレスには影響を与えることがない。そのため、ユーザは変換テーブルの更新の手間を掛けることなく、気軽に通信中のノード脱着を行うことができる。このことは、通信システムにおける通信ノードの接続変更自由度を向上させ、又メンテナンス性も良好なものとする。
【0058】なお、第2のテーブルメモリ306は、IEEE1394のシステム側の制御によって、バスリセットの際に自動的に更新されるもので、その時点でシリアルバス(Bus)に接続されている全ての通信ノードの物理アドレス(Phy_ID)が自動的に書き込まれる。したがって、後述する変換テーブル作成処理に際しても、この第2のテーブルメモリ306の内容を参照することにより、現在接続されている全ての通信ノードについて、変換テーブル作成が完了したか否かを確認することができる。
【0059】本発明の一実施形態では、通信中のノード脱着等によりバスリセットが発生して、物理アドレス(Phy_ID)に関して、アドレス再割付処理が行われた場合、その都度、システムサービス側の処理として、アドレスチェック処理が実行されて、アプリケーションアドレスとそれに該当する通信ノードとの関係が再構築される。このアドレスチェック処理は、図4〜図6に示されるアドレスチェックパケットの送受信処理を介して実現される。
【0060】繰り返し説明するように、このIEEE1394バスにおいては、バスリセットが発生する毎に物理層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行される。そのため、これを無視してアイソクロナス通信を実行しようとすれば、意図した通信ノードとは異なる通信ノードとの間でデータ通信が行われて、不測の事態に発展する虞もある。
【0061】そこで、この実施形態のIEEE1394バスを使用したシリアル通信システムにあっては、初回のアドレス割付処理毎に、および/または、バスリセットによるアドレス再割付処理毎に、各通信ノードが互いに時間をずらせて、自機のアプリケーションアドレスおよび物理層アドレスを含む登録要求コマンドを一斉同報する一方、他機の側では受信された登録要求コマンドに含まれるアプリケーションアドレスと物理層アドレスとを登録することにより、各通信ノード別にアプリケーションアドレスと物理層アドレスとを関連付けたアドレス変換テーブルTABを作成する通信前処理を実行する。以後、アドレス変換テーブルTABを用いたアドレス自動変換処理を介在させることにより、アプリケーションの側では物理層アドレスを意識することなくアプリケーションアドレスのみを使用して、通信ノード相互間で通信が可能となる。
【0062】また、上述の通信前処理にて他機から受信された送信元アプリケーションアドレスの中に自機と同一のアプリケーションアドレスが含まれているときには、アドレス重複割付時の誤動作回避処理を実行する。この誤動作回避処理としては、例えば、再度のアドレス再割付処理が実行されて、他のノードとのアドレスの重複が解消されるまで、通信動作を停止させる等の処理が挙げられる。より具体的には、アドレス重複割付が判定されたときには、その旨の警告を各ノードにおいて行い、オペレータの所定操作を待って、バスリセットを発生させて、アドレス再割付処理を起動させることができる。
【0063】さらに、作成されたアドレス変換テーブルに物理層アドレスが不明なノードが存在するときには、自機の物理層アドレスと、物理層アドレス通知希望の通信ノードのアプリケーションアドレスとを含む送信要求コマンドを一斉同報する一方、それに対するレスポンスに基づいて当該通信ノードの物理層アドレスを認知するようにしている。
【0064】次に、アプリケーションアドレスと通信ノードの物理アドレス(Phy_ID)との関係を維持するために、各通信ノードにて通信前処理として実行されるアドレスチェック処理を含む通信手順が図4および図5に示されている。
【0065】同図において、電源投入等により処理が開始されると、アドレスチェックパケット送信待ちタイマを起動したのち(ステップ401)、そのタイマがタイムアウトするまでの間(ステップ402NO)、アドレスチェックパケットチェック処理(ステップ403)が実行される。ここで、扱われるアドレスチェックパケットのフォーマットが図8(a)〜図8(c)に、各通信ノードNode−1〜Node−NとシリアルバスBusとの関係か図7に示されている。
【0066】図8(a)に示されるように、アドレスチェックパケットには、IEEE1394ヘッダ格納領域(IEEE1394header)801、送信元物理アドレス(Phy_ID)格納領域802、送信元アプリケーションアドレス格納領域803、対象アプリケーションアドレス領域804からなる4つの基本領域が設けられている。
【0067】IEEE1394ヘッダ格納領域(IEEE1394header)801には、あて先となる通信ノードの物理アドレス(Phy_ID)が格納される。送信元物理アドレス(Phy_ID)格納領域802には、送信元となる通信ノードの物理アドレス(Phy_ID)が格納される。送信元アプリケーションアドレス格納領域803には、送信元となる通信ノードのアプリケーションアドレスが格納される。対象アプリケーションアドレス格納領域804には、相手から通知を希望するアプリケーションアドレス又は相手に通知したいアプリケーションアドレスが格納される。
【0068】アドレスチェックバケットチェック処理(ステップ403)の詳細が図6のフローチャートに示されている。同図に示されるように、アドレスチェックパケットチェック処理では、先ず、他の通信ノードから一斉同報送信されたアドレスチェックパケットの受信有無を判定する(ステップ601)。このとき、他の通信ノードから一斉同報送信されるアドレスチェックバケットは、本発明の登録要求コマンドの機能と重複検査要求コマンドの機能とを併有している。そのため、このアドレスチェックパケットには、自機のアプリケーションアドレスと自機の物理アドレスとが登録要求対象アドレスとして含まれている。この場合、自機のアプリケーションアドレスは、重複検査対象アドレスとしても機能している。ここで、アドレスチェックパケットの受信なしと判定されれば(ステップ601NO)、図4のフローチャートに戻って、タイマのタイムアウトが未だであることを確認したのち(ステップ402NO)、再びアドレスチェックバケットチェック処理(ステップ403)へと復帰し、以後、アドレスチェックパケットの受信(ステップ601)又はタイマのタイムアウト(ステップ402)が確認されるまで、以上の動作が繰り返される。なお、このとき受信されるアドレスチェックパケットの構成は、図8に示す各領域801〜804に、一斉同報を示すあて先アドレスである63(3Fh)、送信元物理アドレス(Phy_ID)、送信元アプリケーションアドレス、通知したいアプリケーションアドレスをそれぞれ格納した形態を有する。例えば、図8(b)に示される通信ノード(Node−1)が一斉同報する場合、アドレスチェックパケットの領域801には一斉同報を示す『63(3Fh)』が、領域802には自己の物理アドレス(Phy_ID)を示す『1』が、領域803には自己のアプリケーションアドレスを示す『9』が、領域804にはデータなしを示すコードが格納される。
【0069】以上の動作中に、他の通信ノードから一斉同報されたアドレスチェックパケットの受信が確認されると(ステップ601YES)、続いて、その受信されたアドレスチェックパケットに含まれるアプリケーションアドレスが自機のアプリケーションアドレスと一致しないことを条件として(ステップ602NO)、当該パケットに含まれる物理アドレス(Phy_ID)とアプリケーションアドレスとを対としてアドレス変換テーブルTAB(図3参照)に登録する処理が実行される(ステップ603)。これに対して、受信されたアプリケーションアドレスが自機のアプリケーションアドレスと一致すると判定されると(ステップ602YES)、アドレス重複割付ありと判断して、誤動作回避のために、以後の通信処理を停止してアドレス再設定待ちの状態となる。以上の一連の処理が繰り返し実行されて他のノードからのアドレスチェックパケットが順次に受信されることにより、アドレス変換テーブルTABの生成が行われる。こうして作成されたアドレス変換テーブルTABは、アプリケーションプログラムから受け渡されたアプリケーションアドレスを物理アドレス(Phy_ID)に変換するためのテーブル参照処理に使用され、これによりアプリケーションプログラムでは物理アドレス(Phy_ID)を意識することなく、アプリケーションアドレスだけを使用して所望の通信ノードとの通信が可能となるのである。
【0070】一方、アドレスチェックパケット送信待ちタイマがタイムアウトすると(ステップ402YES)、自機のアプリケーションアドレスと物理アドレス(Phy_ID)とを含むアドレスチェックバケット(本発明の登録要求コマンドと重複検査要求コマンドとに相当)を他の通信ノードに対して一斉同報送信する処理が実行される(ステップ404)。このとき、アドレスチェックパケットの構成は先に説明した他機から一斉同報送信されるパケットと同様である。
【0071】続いて、アドレスチェックパケット受信待ちタイマの起動が行われたのち(ステップ405)、当該タイマがタイムアウトするまでの間(ステップ406NO)、再び、アドレスチェックパケットチェック処理(ステップ407)が繰り返され、これによりアドレス変換テーブルの生成が継続される。
【0072】その後、アドレスチェックパケット受信待ちタイマのタイムアウトが確認されると(ステップ406YES)、図5のフローチャートに移って、他の通信ノードの物理アドレス(Phy_ID)が全て受信されたか否かの判定が行われる(ステップ501)。この判定処理(ステップ501)は、第1テーブルメモリ305内のアドレス変換テーブルに書き込まれた物理アドレス(Phy_ID)と第2テーブルメモリ306に書き込まれた物理アドレス(Phy_ID)とを照合することで、未処理物理アドレス(Phy_ID)を探し出すことにより実行される。なお、先に説明したように、第2テーブルメモリ306には、電源投入やバスリセットの毎に、システム側の制御で、その時点でバスに接続された全ての通信ノードの物理アドレス(Phy_ID)が自動的に書き込まれている。
【0073】ここで、物理アドレス(Phy_ID)が全て受信済と判定されれば(ステップ501)、アドレス変換テーブルTABは完成したとして、アドレスチェック処理を終了して、アシンクロナス通信フェーズによるメッセージ通信処理への移行が行われる。
【0074】これに対して、物理アドレス(Phy_ID)が全て受信されていないと判定されると(ステップ501NO)、その物理アドレス(Phy_ID)を有する通信ノードに対してアドレス要求処理が実行される(ステップむ502)。このアドレス要求処理(ステップ502)では、当該通信ノードに対して本発明のアドレス送信要求コマンドに相当するアドレスチェックパケットが送信される。
【0075】このとき送信されるアドレスチェックパケットの構成が図8(b)に示されている。同図に示されるように、例えば、図7のシステム構成において、通信ノード(Node−1)がアプリケーションアドレス『7』を有する通信ノードからの物理アドレス(Phy_ID)の送信を要求する場合、アドレスチェックパケットの領域801には一斉同報を示す『63(3Fh)』が、領域802には送信元物理アドレス(Phy_ID)である『1』が、領域803には送信元アプリケーションアドレスである『9』が、又領域804には送信要求対象となる通信ノードのアプリケーションアドレスである『7』が格納される。
【0076】上述のアドレス要求コマンドに対するレスポンスとして、図7のシステム構成において、通信ノード(Node−3)から返送されるレスポンスに相当するアドレスチェックパケットの構成が図8(c)に示されている。同図に示されるように、領域801にはあて先物理アドレス(Phy_ID)である『1』が、領域802には送信元物理アドレス(Phy_ID)である『3』が、領域803には送信元アプリケーションアドレスである『7』が、又領域804には送信先アプリケーションアドレスである『9』が格納される。このレスポンスを受信した通信ノード(Node−1)では自己のアドレス変換テーブルTABに、アプリケーションアドレス『7』と物理アドレス(Phy_ID)『3』とを対にして格納する。
【0077】物理アドレス(Phy_ID)=A,アプリケーションアドレス(APP)=Bを有する任意のノードが、APP=Xを有するノードからその物理アドレス(Phy_ID)=Kの送信を要求する場合におけるアドレス要求コマンドとそのレスポンスのフォーマットを、図8(a)の構成を前提としてより一般化して説明すれば、次の通りである。
(1)アドレス要求コマンド(アドレスチェックパケット)の構成IEEE1394header(801):『63(3Fh)』
送信元(Phy_ID)(802):A送信元アプリケーションアドレス(803):B対象アプリケーションアドレス(804):X(2)レスポンス(アドレスチェック応答パケット)の構成IEEE1394header(801):A送信元(Phy_ID)(802):K送信元アプリケーションアドレス(803):X対象アプリケーションアドレス(804):B以上の動作を、不明物理アドレス(Phy_ID)の全てに対して、それが受信されると(ステップ503YES)、アドレスチェック処理は全て終了して、アシンクロナスフェーズによるメッセージ通信処理へと移行される。
【0078】以上説明した本発明の実施形態によれば、バスリセットが発生する毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるIEEE1394バス等のシリアルバスの使用を前提として、各通信ノードNode−1〜Node−Nのそれぞれには、自機の下位層アドレス(物理層アドレス)と、下位層アドレス通知希望の通信ノードの上位層アドレス(アプリケーションアドレス)とを含む送信要求コマンド(アドレスチェックパケット(図8(b))を一斉同報する一方、それに対するレスポンス(アドレスチェックパケット(図8(c))に基づいて当該通信ノードの下位層アドレスを認知する手段(ステップ603)と、受信された送信要求コマンド(アドレスチェックパケット(図8(b))に下位層アドレス通知希望の通信ノードの上位層アドレスとして含まれる上位層アドレス(アプリケーションアドレス)が自機に割り付けられた上位層アドレスと一致するときには、その送信要求コマンドの送信元下位層アドレスに対して自機の下位層アドレスを含むレスポンスを送信する手段と、を含むアドレスチェック手段が具備されていため、各通信ノードでは、送信要求コマンドを適当なタイミングで一斉同報することにより、任意の上位層アドレスで特定される通信ノードの下位層アドレスを知ることができる。
【0079】また、本発明の実施形態によれば、各通信ノードのそれぞれには、ノード毎に異なるタイミグで、重複検査対象アドレスとして自機の上位層アドレスを含む重複検査要求コマンドを一斉同報する手段(ステップ404)と、受信された重複検査要求コマンドに重複検査対象アドレスとして含まれる上位層アドレスが自機に割り付けられた上位層アドレスと一致するときには、アドレス重複割付時の対応処理を実行する手段(ステップ501)と、を含むアドレスチェック手段が具備されているため、ネットワークに含まれる通信ノードにおけるアドレス重複設定を容易に知ることができ、これに基づいてその後の通信を禁止する等のアドレス重複割付時に必要な措置をとることができる。すなわち、アドレス重複割付状態のままで通信を継続すれば不測の事態が想定されるため、そのような危険を通信処理を停止することで未然に防止しようとするものである。
【0080】さらに、本発明の実施形態によれば、各通信ノードのそれぞれには、ノード毎に異なるタイミングで、自機の上位層アドレスと自機の下位層アドレスとを含む登録要求コマンドを一斉同報する手段(ステップ404)と、受信された登録要求コマンドに含まれる上位層アドレスと下位層アドレスとを登録することにより、各通信ノード別に上位層アドレスと下位層アドレスとを関連付けたアドレス変換テーブルを作成する手段(ステップ603)と、を含むアドレスチェック手段が具備されているため、アドレス再割付等により下位層アドレスに変更が生じても、上位層アドレスと下位層アドレスとの再割付処理が自動的に実行されて両者の関係が維持されるため、アプリケーションでは下位層アドレスを意識することなく通信を継続することができる。
【0081】
【発明の効果】以上の説明で明らかなように、この発明によれば、バスリセットが発生する毎に下位層アドレス空間上における各通信ノードのアドレス再割付処理が自動的に実行されるIEEE1394バス等のシリアルバスを使用して通信を行う場合において、アドレス自動割付処理が実行されたとしても、複雑な物理アドレス(Phy_ID)の確認処理等を行うことなく、メッセージを送信可能とすることができる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013