(57)【要約】【課題】送信元のＩＤに基づいて優先度を決定することができるバス通信システムを提供する。【解決手段】通信装置１０が、バス上に送出するメッセージパケットのアービトレーションフィールドに自身のノードＩＤを送信元ＩＤとして書き込み、メッセージパケットの所定位置に定義された補助フィールドに送信先ノードのノードＩＤを書き込み、そのメッセージパケットを送出する。そして、制御装置３０が、通信装置１０の送出したメッセージパケットのアービトレーションフィールドと補助フィールドとに書き込まれたノードＩＤを入れ替えて再書き込みを行い、そのメッセージパケットをバス上に送出する。通信装置２０は、制御装置３０によって、書き替えられたアービトレーションフィールドのノードＩＤと、自己のノードＩＤとの一致に基づき、バス上のメッセージパケットの受信を行う。【選択図】図３
2005130243.tif 000002
【特許請求の範囲】
【請求項１】
バス型接続された、固有のノードＩＤを有するノードを複数含み構成され、前記ノードが送出したメッセージパケット同士に衝突が生じると、衝突したメッセージパケットのうち、メッセージパケットのアービトレーションフィールドに示されたノードＩＤの優先度が高いメッセージパケットが優先してバス上を流れる通信システムにおいて、
前記ノードは、
バス上に送出するメッセージパケットのアービトレーションフィールドに自身のノードＩＤを送信元ＩＤとして書き込む送信元ＩＤ書き込み手段と、
前記メッセージパケットの所定位置に定義された補助フィールドに送信先ノードのノードＩＤを書き込む送信先ＩＤ書き込み手段と、
送信元および送信先ノードＩＤが書き込まれたメッセージパケットをバス上に送出する送出手段と、
バス上に存在するメッセージパケットのアービトレーションフィールドに示されたノードＩＤと、自身のノードＩＤとの比較に基づき、当該メッセージパケットを受信するか否かを判定する判定手段と、
判定の結果、受信すべきメッセージパケットを受信する受信手段と、
を備え、
前記通信システムは、
前記ノードが送出したメッセージパケットを受信する受信手段と、
受信したメッセージパケットのアービトレーションフィールドと補助フィールドとに書き込まれたノードＩＤを入れ替えて再書き込みする再書き込み手段と、
再書き込みされたメッセージパケットをバス上に送出する送出手段と、
を備える制御装置を含む通信システム。
【請求項２】
請求項１に記載の通信システムにおいて、
前記ノードは、
一度メッセージパケットをバス上に送出した後、予め定められた間隔、次のメッセージパケットをバス上に送出することを保留することを特徴とする通信システム。
【請求項３】
請求項１に記載の通信システムにおいて、
前記制御装置は、
送信すべきメッセージパケットが調停により送信できずに保留された場合に再送信するまでの調停保留時間を他のノードにおける調停保留時間よりも短くしたことを特徴とする通信システム。
【請求項４】
バス型接続されたノードごとに固有に定義されたノードＩＤがアービトレーションフィールドに示された、バス上に流れるメッセージパケットを制御する制御装置であって、
前記ノードにより、アービトレーションフィールドに送信元のノードＩＤが書き込まれ、所定位置に定義された補助フィールドに送信先ノードのノードＩＤが書き込まれたメッセージパケットを受信する受信手段と、
受信したメッセージパケットのアービトレーションフィールドと補助フィールドとに書き込まれたノードＩＤを入れ替えて再書き込みする再書き込み手段と、
再書き込みされたメッセージパケットをバス上に送出する送出手段と、
を備える制御装置。
【請求項５】
バス上にメッセージパケットを送出する際に、他のメッセージパケットとの衝突を検知した場合、自身のノードＩＤと、他のメッセージパケットのアービトレーションフィールドに示されたノードＩＤとの比較に基づき、自身のメッセージパケットの送出を続けるか否かを判定するＣＡＮバス接続ノードであって、
バス上に送出するメッセージパケットのアービトレーションフィールドに自身のノードＩＤを送信元ＩＤとして書き込む送信元ＩＤ書き込み手段と、
前記メッセージパケットの所定位置に定義された補助フィールドに送信先ノードのノードＩＤを書き込む送信先ＩＤ書き込み手段と、
送信元および送信先ノードＩＤが書き込まれたメッセージパケットをバス上に送出する送出手段と、
バス上に存在するメッセージパケットのアービトレーションフィールドに示されたノードＩＤと、自身のノードＩＤとの比較に基づき、当該メッセージパケットを受信するか否かを判定する判定手段と、
判定の結果、受信すべきメッセージパケットを受信する受信手段と、
を備えるＣＡＮバス接続ノード。
【請求項６】
請求項５に記載のＣＡＮバス接続ノードにおいて、
前記送出手段は、
一度メッセージパケットをバス上に送出した後、一定間隔、次のメッセージパケットをバス上に送出することを保留することを特徴とするＣＡＮバス接続ノード。
【請求項７】
請求項５に記載のＣＡＮバス接続ノードにおいて、
送出するメッセージパケットのアービトレーションフィールドに送信元のノードＩＤを書き込む送信元ＩＤ書き込みモードと、送出するメッセージパケットのアービトレーションフィールドに送信先のノードＩＤを書き込む送信先ＩＤ書き込みモードと、を切り替えるモード切替手段を有し、
送信先ＩＤ書き込みモードの場合、
前記送信先ＩＤ書き込み手段は、送信先ＩＤをアービトレーションフィールドに書き込むことを特徴とするＣＡＮバス接続ノード。
【請求項８】
バス接続された複数のノードと、これらのノードの通信を制御する制御装置とを含み構成されるＣＡＮバスシステムのＣＡＮバス通信方法であって、
前記ノードが、バス上に送出するメッセージパケットのアービトレーションフィールドを自身のノードＩＤを送信元ＩＤとし、
前記メッセージパケットの所定位置に定義された補助フィールドに送信先ノードのノードＩＤとするメッセージパケットを生成するステップと、
前記ノードが、生成したメッセージパケットをバス上に送出するステップと、
前記制御装置が、前記ノードの送出したメッセージパケットを受信するステップと、
前記制御装置が、受信したメッセージパケットのアービトレーションフィールドと補助フィールドとに書き込まれたノードＩＤを入れ替えたメッセージパケットを生成するステップと、
生成したメッセージパケットをバス上に送出するステップと、
を含むＣＡＮバス通信方法。
【請求項９】
バス接続されたノードごとに固有に定義されたノードＩＤがアービトレーションフィールドに示された、バス上に流れるメッセージパケットを制御する制御装置を、コンピュータを用いて制御するためのプログラムであって、
前記ノードにより、アービトレーションフィールドに送信元のノードＩＤが書き込まれ、所定位置に定義された補助フィールドに送信先ノードのノードＩＤが書き込まれたメッセージパケットを受信するステップと、
受信したメッセージパケットのアービトレーションフィールドと補助フィールドとに書き込まれたノードＩＤを入れ替えて再書き込みするステップと、
再書き込みされたメッセージパケットをバス上に送出するステップと、
をさせるように、コンピュータを用いて、制御装置を制御するプログラム。
【請求項１０】
バス上にメッセージパケットを送出する際に、他のメッセージパケットとの衝突を検知した場合、自身のノードＩＤと、他のメッセージパケットのアービトレーションフィールドに示されたノードＩＤとの比較に基づき、自身のメッセージパケットの送出を続けるか否かを判定するＣＡＮバス接続ノードを、コンピュータを用いて制御するためのプログラムであって、
バス上に送出するメッセージパケットのアービトレーションフィールドに自身のノードＩＤを送信元ＩＤとして書き込むステップと、
前記メッセージパケットの所定位置に定義された補助フィールドに送信先ノードのノードＩＤを書き込むステップと、
送信元および送信先ノードＩＤが書き込まれたメッセージパケットをバス上に送出するステップと、
バス上に存在するメッセージパケットのアービトレーションフィールドに示されたノードＩＤと、自身のノードＩＤとの比較に基づき、当該メッセージパケットを受信するか否かを判定するステップと、
判定の結果、受信すべきメッセージパケットを受信するステップと、
をさせるように、コンピュータを用いて、ＣＡＮバス接続ノードを制御するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、特に、バス型接続されたノードを含み構成される通信システムに関する。
【背景技術】
【０００２】
従来の技術において、シリアルデータバス方式の一つとしてＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）方式が存在する。このＣＡＮ方式の特徴の一つとして、メッセージパケット同士で衝突が生じた場合に行われる調停方法がある。ここで、ＣＡＮ方式における一般的な調停方法について説明する。
【０００３】
図１は、ＣＡＮ方式で利用されるメッセージパケットのフレーム構成の一例を示す図である。図１において、アービトレーションフィールド（Ａｒｂｉｔｒａｔｉｏｎ  Ｆｉｅｌｄ）１０２には、デバイス固有に定義されたＩＤが示される。このアービトレーションフィールドに示されたＩＤは、メッセージパケットの送信先のデバイスのＩＤである。そして、各デバイスは、自己のＩＤと、バス上に流れるメッセージパケットのアービトレーションフィールドに示されたＩＤとの一致に基づき、そのメッセージパケットを受信するか否かを判定している。
【０００４】
さらに、このＩＤは、バスシステム内における各デバイスの優先順位を示しており、バス上でメッセージパケット同士の衝突が生じた場合に行われる調停に利用される。調停とは、衝突したメッセージパケットのうち、いずれのメッセージパケットをバス上に残すかを決定することをいい、調停に勝ったメッセージパケットが優先的にバス上を流れ、調停に負けたデバイスは所定時間たった後にメッセージパケットの再送信をすることになる。つまり、アービトレーションフィールドに示されたＩＤの優先順位が高いメッセージパケットが、調停に勝ち、優先してバス上を流れる。
【０００５】
【特許文献１】特開２００１−１１９４１６号公報
【特許文献２】特開平１４−１７６４２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように、メッセージパケットのアービトレーションフィールドに示されたＩＤは、送信先のデバイスを示すとともに、バス上における当該メッセージパケットの優先順位を示している。したがって、従来のＣＡＮ方式では、メッセージパケットの送信先であるデバイスのＩＤが示す優先度が高いメッセージパケットが優先的にバス上を流れる。ただ、ＣＡＮ方式を利用するシステムにおいて、バス上でメッセージパケット同士の衝突が生じた場合、メッセージパケットを送信するデバイスのＩＤを基準として、優先度を決定し、送信元デバイスのＩＤの優先度が高いメッセージパケットを優先的にバス上を流すほうが好適な場合がある。しかし、従来のＣＡＮ方式では、メッセージパケットのアービトレーションフィールドに示された送信先のＩＤをもとに、優先度が決定されるため、送信元のＩＤに基づいて優先度を決定することができないという問題がある。
【課題を解決するための手段】
【０００７】
本発明に係る通信システムは、バス型で接続された、固有のノードＩＤを有するノードを複数含み構成され、前記ノードが送出したメッセージパケット同士に衝突が生じると、衝突したメッセージパケットのうち、メッセージパケットのアービトレーションフィールドに示されたノードＩＤの優先度が高いメッセージパケットが優先してバス上を流れる通信システムにおいて、前記ノードは、バス上に送出するメッセージパケットのアービトレーションフィールドに自身のノードＩＤを送信元ＩＤとして書き込む送信元ＩＤ書き込み手段と、前記メッセージパケットの所定位置に定義された補助フィールドに送信先ノードのノードＩＤを書き込む送信先ＩＤ書き込み手段と、送信元および送信先ノードＩＤが書き込まれたメッセージパケットをバス上に送出する送出手段と、バス上に存在するメッセージパケットのアービトレーションフィールドに示されたノードＩＤと、自身のノードＩＤとの比較に基づき、当該メッセージパケットを受信するか否かを判定する判定手段と、判定の結果、受信すべきメッセージパケットを受信する受信手段とを備え、前記通信システムは、前記ノードが送出したメッセージパケットを受信する受信手段と、受信したメッセージパケットのアービトレーションフィールドと補助フィールドとに書き込まれたノードＩＤを入れ替えて再書き込みする再書き込み手段と、再書き込みされたメッセージパケットをバス上に送出する送出手段とを備える制御装置を含むことを特徴とする。
【０００８】
本発明によれば、ノードが、バス上に送出するメッセージパケットのアービトレーションフィールドに自身のノードＩＤを送信元ＩＤとして書き込み、メッセージパケットの所定位置に定義された補助フィールドに送信先ノードのノードＩＤを書き込み、そのメッセージパケットを送出する。そして、制御装置が、ノードの送出したメッセージパケットのアービトレーションフィールドと補助フィールドとに書き込まれたノードＩＤを入れ替えて再書き込みを行い、そのメッセージパケットをバス上に送出する。ノードは、制御装置によって、書き替えられたアービトレーションフィールドのノードＩＤと、自己のノードＩＤとの一致に基づき、バス上のメッセージパケットの受信を行う。
【０００９】
よって、送信元ノードのノードＩＤの優先度が高いメッセージパケットが優先的に送信先のノードまで到達することができる。
【００１０】
さらに、本発明に係る通信システムの一つの態様では、ノードは、一度メッセージパケットをバス上に送出した後、予め定められた間隔、次のメッセージパケットをバス上に送出することを保留することを特徴とする。
【００１１】
本発明によれば、優先度の高いノードＩＤを有するノードが、メッセージパケットを送出することを保留している間に、優先度の低いノードＩＤを有するノードが、バス上にメッセージパケットを送出することができるため、優先度の高いノードＩＤを有するノードが送出するメッセージパケットのみが、バス上を占有することを防止することができる。
【００１２】
本発明に係る制御装置は、バス接続されたノードごとに固有に定義されたノードＩＤがアービトレーションフィールドに示された、バス上に流れるメッセージパケットを制御する制御装置であって、前記ノードにより、アービトレーションフィールドに送信元のノードＩＤが書き込まれ、所定位置に定義された補助フィールドに送信先ノードのノードＩＤが書き込まれたメッセージパケットを受信する受信手段と、受信したメッセージパケットのアービトレーションフィールドと補助フィールドとに書き込まれたノードＩＤを入れ替えて再書き込みする再書き込み手段と、再書き込みされたメッセージパケットをバス上に送出する送出手段と、を備える。
【００１３】
本発明によれば、制御装置が、ノードの送出したメッセージパケットのアービトレーションフィールドと補助フィールドとに書き込まれたノードＩＤを入れ替えて再書き込みを行い、そのメッセージパケットをバス上に送出する。これにより、ノードが、書き替えられたアービトレーションフィールドのノードＩＤと、自己のノードＩＤとの一致に基づき、バス上のメッセージパケットの受信を行うことができる。
【００１４】
本発明に係るＣＡＮバス接続ノードは、バス上にメッセージパケットを送出する際に、他のメッセージパケットとの衝突を検知した場合、自身のノードＩＤと、他のメッセージパケットのアービトレーションフィールドに示されたノードＩＤとの比較に基づき、自身のメッセージパケットの送出を続けるか否かを判定するＣＡＮバス接続ノードであって、バス上に送出するメッセージパケットのアービトレーションフィールドに自身のノードＩＤを送信元ＩＤとして書き込む送信元ＩＤ書き込み手段と、前記メッセージパケットの所定位置に定義された補助フィールドに送信先ノードのノードＩＤを書き込む送信先ＩＤ書き込み手段と、送信元および送信先ノードＩＤが書き込まれたメッセージパケットをバス上に送出する送出手段と、バス上に存在するメッセージパケットのアービトレーションフィールドに示されたノードＩＤと、自身のノードＩＤとの比較に基づき、当該メッセージパケットを受信するか否かを判定する判定手段と、判定の結果、受信すべきメッセージパケットを受信する受信手段と、を備える。
【００１５】
本発明によれば、ＣＡＮバス接続ノードが、バス上に送出するメッセージパケットのアービトレーションフィールドに自身のノードＩＤを送信元ＩＤとして書き込み、メッセージパケットの所定位置に定義された補助フィールドに送信先ノードのノードＩＤを書き込み、そのメッセージパケットを送出する。よって、送信元ノードのノードＩＤの優先度が高いメッセージパケットを優先的にバス上に流すことができる。
【００１６】
本発明に係るＣＡＮバス接続ノードの一つの態様によれば、ＣＡＮバス接続ノードは、送出するメッセージパケットのアービトレーションフィールドに送信元のノードＩＤを書き込む送信元ＩＤ書き込みモードと、送出するメッセージパケットのアービトレーションフィールドに送信先のノードＩＤを書き込む送信先ＩＤ書き込みモードと、を切り替えるモード切替手段を有し、送信先ＩＤ書き込みモードの場合、前記送信先ＩＤ書き込み手段は、送信先ＩＤをアービトレーションフィールドに書き込むことを特徴とする。
【００１７】
本発明によれば、モード切替手段により、送信先ＩＤ書き込みモードと、送信元ＩＤ書き込みモードとの切り替えを行うことにより、必要に応じて、従来のＣＡＮ方式と本発明のＣＡＮ方式の使い分けをすることができる。
【００１８】
本発明に係るＣＡＮバス通信方法は、バス接続された複数のノードと、これらのノードのバス通信を制御する制御装置とを含み構成されるＣＡＮバスシステムのＣＡＮバス通信方法であって、前記ノードが、バス上に送出するメッセージパケットのアービトレーションフィールドに自身のノードＩＤを送信元ＩＤとして書き込むステップと、前記ノードが、前記メッセージパケットの所定位置に定義された補助フィールドに送信先ノードのノードＩＤを書き込むステップと、前記ノードが、送信元および送信先ノードＩＤが書き込まれたメッセージパケットをバス上に送出するステップと、前記制御装置が、前記ノードの送出したメッセージパケットを受信するステップと、前記制御装置が、受信したメッセージパケットのアービトレーションフィールドと補助フィールドとに書き込まれたノードＩＤを入れ替えて再書き込みするステップと、再書き込みされたメッセージパケットをバス上に送出するステップと、を含むことを特徴とする。
【００１９】
本発明によれば、ノードが、バス上に送出するメッセージパケットのアービトレーションフィールドに自身のノードＩＤを送信元ＩＤとして書き込み、メッセージパケットの所定位置に定義された補助フィールドに送信先ノードのノードＩＤを書き込み、そのメッセージパケットを送出する。よって、送信元ノードのノードＩＤの優先度が高いメッセージパケットを優先的にバス上に流すことができる。さらに、制御装置が、ノードの送出したメッセージパケットのアービトレーションフィールドと補助フィールドとに書き込まれたノードＩＤを入れ替えて再書き込みを行い、そのメッセージパケットをバス上に送出する。よって、ノードが、制御装置によって書き替えられたアービトレーションフィールドのノードＩＤと、自己のノードＩＤとの一致に基づき、バス上のメッセージパケットの受信を行うことができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明に係る実施の形態（以下、実施形態）について図面を参照しながら説明する。
【００２１】
本実施形態では、図２Ａに示すように、バス接続された各ノードがバス上に送信する送信メッセージパケットのアービトレーションフィールドに示されるノードＩＤが、送信先ノードのノードＩＤ（Ｄｅｓｔｉｎａｔｉｏｎ  Ｎｏｄｅ  ＩＤ）ではなく、送信元ノードのノードＩＤ（Ｔｒａｎｓｍｉｔｔｉｎｇ  Ｎｏｄｅ  ＩＤ）である点が、従来のＣＡＮ方式と異なる。さらに、この送信メッセージパケットの送信先ノードがどのノードであるかに関わらず、バス上に流れる送信メッセージパケットをすべて受信する制御装置が存在する点も従来のＣＡＮ方式とは異なる。この制御装置は、受信した送信メッセージパケットのアービトレーションフィールドに示された送信元ノードＩＤを送信先ノードＩＤに書き替えて、図２Ｂに示すような受信メッセージパケットとして、そのパケットをバス上に送信する。なお、ノードＩＤとは、各ノードを識別する識別子であるとともに、バス上での装置の優先順位を定める値でもある。
【００２２】
ＣＡＮ方式（Ｈｉ−Ｓｐｅｅｄ  ＣＡＮ（  ＩＳＯ１１８９８）、Ｌｏｗ−Ｓｐｅｅｄ  ＣＡＮ（ＩＳＯ１１５１９−２）など）のバス通信では、バス上でパケット同士の衝突が生じた場合、各装置間で、パケットのアービトレーションフィールドに示されたノードＩＤの優先度が比較され、どのパケットを優先してバス上に流すかが決定される。したがって、本実施形態のように、各装置が送信する送信メッセージパケットのアービトレーションフィールドに送信元のノードＩＤを示すことで、各装置が送信する際にパケット衝突が生じた場合、送信元のノードＩＤの優先度が高いパケットを優先的にバス上に流すことができる。
【００２３】
ただ、このようにアービトレーションフィールドに送信元のノードＩＤを示すと、以下のような問題が生じる。すなわち、ＣＡＮ方式のバス通信では、バス上に流れるメッセージパケットを各装置が受信するか否かを、バス上に流れるメッセージパケットのアービトレーションフィールドに示されたノードＩＤと、装置自身のノードＩＤとが一致するか否かで決定する。したがって、上述したように、アービトレーションフィールドに送信元のノードＩＤが示されていると、送信先のノードが比較するノードＩＤ同士が一致しないため、送信先のノードは、このパケットを受信することができないという問題が生じる。
【００２４】
そこで、本実施形態では、送信元ノードのノードＩＤがアービトレーションフィールドに示されたメッセージパケットを、一旦すべて受信する制御装置を設け、上記問題を解決している。この制御装置が、アービトレーションフィールドに示されたノードＩＤを送信先のノードＩＤに書き替えることで、送信先のノードは、アービトレーションフィールドに示されたノードＩＤと、自己のノードＩＤとの一致に基づき、そのメッセージパケットを受信することができる。
【００２５】
続いて、送信メッセージパケット及び受信メッセージパケットのフレーム構成の詳細を図２Ａ，２Ｂを用いて説明する。
【００２６】
図２Ａは、送信メッセージパケットのフレーム構成を示す図である。ここで、ＳＯＦ（Ｓｔａｒｔ  ｏｆ  Ｆｒａｍｅ）１０１は、フレームの開始位置を示すフィールドであり、ビットレベルは、「ドミナント」（デジタル信号：”０”）である。アービトレーションフィールド１０２は、上述したとおり、送信元のノードＩＤを示すフィールドであり、８ビットで構成される。マルチ／シングルパケットメッセージフィールド１０３は、パケットメッセージがマルチパケットかシングルパケットかを識別するためのフィールドである。そして、マルチパケットの場合、ビットレベルは、「ドミナント」であり、シングルパケットの場合、ビットレベルは、「リセッシブ」（デジタル信号：”１”）である。
【００２７】
Ｒｘ／Ｔｘパケットフィールド１０４は、パケットが、送信メッセージパケットか受信メッセージパケットかを識別するためのフィールドであり、送信メッセージパケットの場合、ビットレベルは、「ドミナント」である。スペアフィールド１０５は、予備のフィールドである。さらに、８ビットで構成される補助フィールド１０６には、送信先のノードのノードＩＤが示される。コマンド／データフィールド１０７には、送信先のノードに対するコマンドやデータが示される。このフィールドは、０−５６ビットで構成される。加えて、受信メッセージパケットには、フレーム転送エラーをチェックするＣＲＣフィールド１０８、データフレーム受信のアクノレッジを示すＡＣＫフィールド１０９、データフレームの終了宣言を示すＥＯＦ（Ｅｎｄ  ｏｆ  Ｆｒａｍｅ）フィールド１１０が含まれる。
【００２８】
続いて、図２Ｂに示す制御装置が送信する受信メッセージパケットについて説明する。受信メッセージパケットは、アービトレーションフィールド１０２に示されるノードＩＤが送信先のノードＩＤである点、補助フィールド１０６に示されるノードＩＤが送信元のノードＩＤである点、及びＲｘ／Ｔｘパケットフィールド１０４のビットレベルが、「リセッシブ」である点が、送信メッセージパケットと異なり、その他は、送信メッセージパケットと同様なフレーム構成である。
【００２９】
ここで、図３に示す本実施形態のシステム構成の一例をもとに、ＣＡＮバス接続される通信装置と制御装置との動作を説明する。
【００３０】
通信装置１０，２０は、ＣＡＮバス上に接続され、通信インターフェース１１，２１を介してデータの送受信を行う。通信制御部１２，２２は、メッセージパケットの送受信やパケット同士の衝突の際の調停を制御する。通信制御部１２，２２は、例えば、ＣＰＵとメモリ（ＲＡＭもしくはＲＯＭ）とで構成され、メモリに格納されたプログラムをＣＰＵが読み込むことで、パケット送受信等の制御を行う。プログラムを格納するためのメモリとしては、他にもフロッピー（登録商標）ディスク、ハードディスク、又はＣＤ−ＲＯＭなどの記憶媒体でもよい。具体的には、通信制御部１２，２２は、送信対象のメッセージパケットのアービトレーションフィールドに自己のノードＩＤを書き込み、補助フィールドに送信先のノードＩＤを書き込み、図２Ａに示すような送信メッセージパケットを生成する。生成された送信メッセージパケットは、通信インターフェース１１，２１のバッファに一時保持される。そして、通信制御部１２，２２は、バッファに保持された送信メッセージパケットをＦＩＦＯ方式で取り出し、バス上に送信する。
【００３１】
また、通信制御部１２，２２は、バス上でのパケット同士の衝突を検知し調停を行う。調停に勝った場合は、そのまま送信メッセージパケットの送信を続ける。一方、調停に負けた場合、通信制御部１２，２２は、送信メッセージパケットの送信を中断し、調停に勝ったメッセージパケットのＥＯＦをバス上で検知するまで待機する。そして、ＥＯＦフィールドを検知すると、バッファに一時保持された送信メッセージパケットを、ＦＩＦＯ方式で取り出し、再度バス上への送信を試みる。加えて、通信制御部１２，２２は、バス上に存在する受信メッセージパケットのアービトレーションフィールドに示されたノードＩＤが、自己のノードＩＤと一致するか否かを判定する。そして、一致する場合は、その受信メッセージパケットを通信インターフェース１１，２１を介して、受信する。
【００３２】
制御装置３０は、通信インターフェース３１と、通信制御部３２とを有する。通信制御部３２は、通信制御部１２，２２と同様に、例えば、ＣＰＵとメモリ（ＲＡＭもしくはＲＯＭ）とで構成され、メモリに格納されたプログラムをＣＰＵが読み込むことで、パケット送受信等の制御を行う。通信制御部３２は、通信装置がバス上に送信した送信メッセージパケットを、アービトレーションフィールドに示されたノードＩＤがどの通信装置のノードＩＤであるかに関わらず、通信インターフェース３１を介して受信する。そして、受信した送信メッセージパケットのアービトレーションフィールドに示された送信元のノードＩＤと、補助フィールドに示された送信先のノードＩＤとを入れ替え、Ｒｘ／Ｔｘパケットフィールドのビットレベルを「リセッシブ」に変更し、受信メッセージパケットを生成する。生成された受信メッセージパケットは、通信インターフェース３１のバッファに一時保持する。一時保持された受信メッセージパケットは、ＦＩＦＯ方式で取り出され、バス上に送信される。
【００３３】
ここで、通信装置の送信メッセージパケットの送信フローと、受信メッセージパケットの受信フロー、及び制御装置の送受信フローについてフローチャートを用いて説明する。
【００３４】
最初に、通信装置の送信フローについて、図４のフローチャートを参照して説明する。通信装置の通信制御部は、メッセージパケットのアービトレーションフィールドに送信元のノードＩＤを書き込み、補助フィールドに送信先のノードＩＤを書き込み、図２Ａに示すような送信メッセージパケットを生成する（Ｓ１０１）。生成した送信メッセージは、通信インターフェースのバッファに一時保持される（Ｓ１０２）。バッファに保持された送信メッセージパケットは、所定間隔にＦＩＦＯ方式で取り出され、送信が開始される（Ｓ１０３）。送信メッセージパケットの送信中、通信制御部はバス上のパケット同士の衝突を監視している（Ｓ１０４）。パケット衝突が生じなければ、そのまま送信メッセージパケットの送信を続け、パケット送信を完了させる（Ｓ１０５）。パケット送信完了後、バッファに他の送信メッセージパケットの存在の有無を確認し（Ｓ１０６）、存在すれば、Ｓ１０３に戻り、他の送信メッセージパケットの送信を試みる。なお、送信メッセージパケットと受信メッセージパケットとはアービトレーションフィールドにおけるノードＩＤが同じとなる場合があるが、通信制御部は、例えばＲｘ／Ｔｘパケットフィールド等送受信メッセージパケットの内容が異なる他のフィールドを見て容易にパケット衝突衝突を検出することが出来る。
【００３５】
続いて、通信装置の受信フローについて、図５を参照して説明する。
【００３６】
まず、バス上に、受信メッセージパケットが存在する場合、通信装置の通信制御部は、バス上の受信メッセージパケットのアービトレーションフィールドに示されたノードＩＤと自己のノードＩＤを照合する（Ｓ２０１）。照合の結果（Ｓ２０２）、アービトレーションフィールドに示されたノードＩＤと自己のノードＩＤとが一致した場合は、バス上に存在する受信メッセージパケットの受信を行う（Ｓ２０３）。一致しなければ、その受信メッセージパケットの受信を行わずに、終了する。
【００３７】
さらに、制御装置の送受信フローについて、図６を参照して説明する。制御装置の通信制御部は、バス上の送信メッセージパケットを検知すると、通信インターフェースを介して、その送信メッセージパケットを受信する（Ｓ３０１）。そして、受信した送信メッセージパケットのアービトレーションフィールドに示された送信元のノードＩＤと、補助フィールドに示された送信先のノードＩＤとを入れ替え、Ｒｘ／Ｔｘパケットフィールドのビットレベルを「リセッシブ」に変更して、図２Ｂに示すような受信メッセージパケットを生成する（Ｓ３０２）。生成した受信メッセージパケットは、通信インターフェースのバッファに一時保持される（Ｓ３０３）。バッファに保持された受信メッセージパケットは、所定間隔でＦＩＦＯ方式にて取り出され、送信が開始される（Ｓ３０４）。受信メッセージパケットの送信中、通信制御部はバス上のパケット同士の衝突を監視している（Ｓ３０５）。パケット衝突が生じなければ、そのまま受信メッセージパケットの送信を続け、パケット送信を完了させる（Ｓ３０６）。パケット送信完了後、バッファに他の受信メッセージパケットの存在の有無を確認し（Ｓ３０７）、存在すれば、Ｓ３０４に戻り、他の受信メッセージパケットの送信を試みる。
【００３８】
また、Ｓ３０５にて、受信メッセージパケットの送信中に、パケット衝突を検知した場合、通信制御部は、調停を行う（Ｓ３０８）。調停の結果、調停に勝った場合は、そのまま受信メッセージパケットの送信を続ける（Ｓ３０６）。一方、調停に負けた場合は、受信メッセージパケットの送信を中断し（Ｓ３０９）、新たに通信装置が送信した送信メッセージパケットの受信を行う（Ｓ３０１）。以下、同様に、受信メッセージパケットがバッファに存在しなくなるまで、受信メッセージパケットの送信を試みる。
【００３９】
このように、制御装置が受信パケットを送信する際にパケット同士の衝突が生じた場合でも、送信が一時中断された受信メッセージパケットは、受信動作が終わり次第ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）方式でバッファから取り出され、送信される。よって、制御装置は、受信メッセージパケットを受信した順に、その受信メッセージパケットを変換して生成された送信メッセージパケットをバス上に送信するため、本実施形態によれば、送信元のノードＩＤの優先度が高いメッセージパケットが優先的に送信先のノードまで到達することができる。
【００４０】
また、送信先のノードＩＤの優先度をもとに、メッセージパケットの優先度を決定する場合、優先度の高いノードＩＤを有する装置が、続けてメッセージパケットをバス上に流し続けると、優先度の低いノードＩＤを有する装置が、バス上にメッセージパケットを流すことができなくなるという問題が生じる場合が考えられる。この問題は、各装置が、一度メッセージパケットをバス上に送信したのち、予め定められた間隔、次のメッセージパケットをバス上に流すことを保留することで、解消することができる。つまり、優先度の高いノードＩＤを有する装置が、メッセージパケットを送信することを保留している間に、優先度の低いノードＩＤを有する装置が、バス上にメッセージパケットを送信すれば、優先度の高いノードＩＤを有する装置が送信するメッセージパケットのみが、バス上を占有することを防止することができる。
【００４１】
続いて、本実施形態のバス通信方式を利用した具体例として、画像形成システムを挙げて説明する。
【００４２】
図７は、本実施形態のＣＡＮ方式を利用してバス通信を行う画像形成システム１００のシステム構成図である。本実施形態では、画像形成システムを例に説明するが、シリアルデータバス方式を採用するシステムであれば、その他のシステムでも好適である。
【００４３】
画像形成システム１００には、通信装置として、画像形成装置１（ＩＯＴ（Ｉｍａｇｅ  Ｏｕｔｐｕｔ  Ｔｅｒｍｉｎａｌ））、用紙供給装置２（ＨＣＦ（Ｈｉｇｈ  Ｃａｐａｃｉｔｙ  Ｆｅｅｄｅｒ））、用紙排出装置３（ＨＣＳ（Ｈｉｇｈ  Ｃａｐａｃｉｔｙ  Ｓｔａｃｋｅｒ））、および後処理／排出装置４（ＨＣＳＳ（Ｈｉｇｈ  Ｃａｐａｃｉｔｙ  Ｓｔａｐｌｅｒ  Ｓｔａｃｋｅｒ））がバス接続されている。さらに、画像形成装置と他の通信装置との間に介在し、装置間のバス通信を制御する制御装置５（ＦＦＩＵ（  Ｆｅｅｄｅｒ  ａｎｄ  Ｆｉｎｉｓｈｅｒ  Ｉｎｔｅｒｆａｃｅ  Ｕｎｉｔ））がバス接続されている。加えて、画像形成装置に対して、画像データを提供するクライアント端末６が、画像形成装置にＥｔｈｅｒｎｅｔ（登録商標）などのネットワークを介して接続されている。なお、画像形成装置１は、例えば、レーザプリンタやインクジェットプリンタ或いはディジタル複写機、ＦＡＸ等である。また、クライアント端末６が直接画像データを画像形成装置１に供給するのではなく、プリントサーバを介して画像データを画像形成装置１に供給してもよい。さらに、画像入力装置（ＩＩＴ（Ｉｍａｇｅ  Ｉｎｐｕｔ  Ｔｅｒｍｉｎａｌ））をバス接続して、画像入力装置から画像データを画像形成装置１に供給してもよい。
【００４４】
ここで、画像形成装置１は、ネットワークを介してクライアント端末６から受信した画像データに基づいて用紙上に画像を形成したり、画像入力装置から読み取った画像データに基づいて用紙上に画像を形成する装置である。用紙供給装置２は、画像形成装置１の入力側に接続され、大量枚数の用紙を画像形成装置１に給紙可能な装置である。用紙排出装置３は、画像形成装置１の出力側に接続され、画像形成装置１で画像形成された出力用紙を大量にスタック可能な装置である。後処理／排出装置４は、画像形成装置１で画像形成された出力用紙に対して後処理（例えば、ステープルなど）を行い、出力する装置である。
【００４５】
図８は、画像形成システム１００において、バス接続された各装置の外観の一例を示す図である。なお、本実施形態では、図７において、制御装置５を単独装置として構成しているが、これに限定されず、例えば、画像形成装置が制御装置の機能を有するように構成してもよい。
【００４６】
制御装置５は、バス接続された各通信装置が起動すると、各通信装置に対して、予め定められた固有のノードＩＤを付与する。ノードＩＤは、図９の表に示すように、システム上で優先順位の高い装置ほど、低い数値が割り当てられている。本実施形態では、制御装置５のノードＩＤ（１Ｆｈｅｘ）の優先順位が最も高く、後処理／排出装置４のノードＩＤ（８２ｈｅｘ）の優先順位が最も低く、定義されている。
【００４７】
画像形成装置１は、システム上優先的なデータを送信するマスターノードとして機能する装置でもある。例えば、画像形成装置１は、クライアント端末から受信する画像データにエラーが生じた場合など、システム全体に影響があるエラーが生じた場合、各装置を強制的に停止すべく、各装置に対して、強制終了指令メッセージを送信する。しかし、このような優先順位の高いメッセージをバス上に送信する場合、送信先のノードＩＤをもとにパケットの優先順位を決定する従来のＣＡＮ方式では、次のような問題が生じる。
【００４８】
画像形成装置１が、後処理／排出装置４に対するメッセージパケットとして、強制終了指令メッセージなど、システム上、他のメッセージよりも優先して送出する必要がある重要なデータを含むメッセージパケットＡを送出すると同時に、用紙排出装置３が画像形成装置１に対するメッセージパケットＢを送出すると、バス上で両パケットが衝突し、調停が行われる。この場合、パケットＡのアービトレーションフィールドに示されたノードＩＤは、送信先の後処置／排出装置４のノードＩＤ、８２ｈｅｘであるのに対して、パケットＢのアービトレーションフィールドに示されたノードＩＤは、送信先の画像形成装置１のノードＩＤ、２１ｈｅｘである。よって、２１ｈｅｘのほうが８２ｈｅｘよりも優先順位が高いと判断されて、パケットＢが優先的にバス上を流れる。よって、システム上重要なパケットＡよりも、さきにパケットＢがバス上を流れる。
【００４９】
このように、システム上のエラー発生等により、システム上優先順位の高いノードＩＤを有する画像形成装置１が、画像形成装置１と比較して優先順位の低いノードＩＤを有する各装置の現在行っている動作を強制的に終了する強制終了指令メッセージなどを各装置に対して送信する際に、他の装置から画像形成装置１に対して別のメッセージが送信された場合、従来のＣＡＮ方式では、他の装置からの画像形成装置１に対するメッセージのほうが優先的にバス上を流れてしまう。しかし、本実施形態によれば、各装置が送出するメッセージパケットのアービトレーションフィールドには、送信元のノードＩＤが示されているため、送信元のノードＩＤの優先度が高いメッセージパケットが優先的に送信先のノードまで到達することができる。よって、従来のような問題を解消することができる。
【００５０】
なお、本実施形態は、ハード構成としては、従来のＣＡＮ方式のハード構成と同様でよく、ソフト的な変更で実現可能である。
【００５１】
また、従来のＣＡＮ方式モードと、本実施形態のＣＡＮ方式モードとの両モードを各装置に実装し、必要に応じて、モードを切り替えて、各装置を使用してもよい。ここで、従来のＣＡＮ方式のモードとは、バス接続された各装置が、パケットメッセージを送信する際に、パケットメッセージのアービトレーションフィールドに送信先のノードＩＤを書き込むモードのことをいう。また、本実施形態のＣＡＮ方式モードとは、各装置が送信するパケットメッセージのアービトレーションフィールドに送信元のノードＩＤを書き込むモードのことをいう。モードの切り替えは、各装置に切り替えスイッチを設けて、装置をシステムに接続して構築するなどの際に、適宜スイッチを切り替えることでモード設定を行ってもよいし、制御装置が、ノードＩＤを各通信装置に付与する際に、ノードＩＤの他に、どのモードで動作するかを示す情報を各装置に送信し、そのモード情報をもとに、各通信装置が自己のモード設定を行ってもよい。従来のＣＡＮ方式のモード設定される場合は、制御装置は送信元のノードＩＤと送信先ノードのノードＩＤとの書き換えは行わない。このように、各通信装置に、モードを切り替える手段を設けることで、必要に応じて、従来のＣＡＮ方式と本実施形態のＣＡＮ方式の使い分けをすることができる。また、各通信装置から自己のモード設定に関する情報を得るようにすれば、両モードの通信装置が混在することを未然に防止することができる。また、従来のＣＡＮ方式のモード設定された通信装置と本実施形態のＣＡＮ方式モードの通信装置とを共存させることもできる。この場合制御装置は、例えばＲｘ／Ｔｘパケットフィールドを見て、従来のＣＡＮ方式のモードを設定された通信装置から送信されたパケットメッセージについては送信元のノードＩＤと送信先ノードのノードＩＤとの書き換えは行わないようにする。このようにすれば、装置の制御状態や装置外部から送られる指示に応じて各通信装置における調停の優先度を柔軟に設定することが出来、例えばある特定の機器に対するパケットメッセージについて送受信とも他の通信装置に優先させるというような設定が可能となる。
【図面の簡単な説明】
【００５２】
【図１】従来のＣＡＮ方式で利用されるメッセージパケットのフレーム構成の一例を示す図である。
【図２Ａ】本実施形態において利用される送信メッセージパケットのフレーム構成の一例を示す図である。
【図２Ｂ】本実施形態において利用される受信メッセージパケットのフレーム構成の一例を示す図である。
【図３】本実施形態における通信装置と制御装置を含むシステム構成の一例を示す図である。
【図４】本実施形態における通信装置の送信メッセージパケットの送信フローを示すフローチャート図である。
【図５】本実施形態における通信装置の受信メッセージパケットの受信フローを示すフローチャート図である。
【図６】本実施形態における制御装置のメッセージパケットの送受信フローを示すフローチャート図である。
【図７】本実施形態の画像形成システムにおけるシステム構成を示す図である。
【図８】本実施形態の画像形成システムにおいて、バス接続された各装置の外観の一例を示す図である。
【図９】本実施形態の画像形成システムにおける各装置のノードＩＤの優先度を表として示した図である。
【符号の説明】
【００５３】
１  画像形成装置、２  用紙供給装置、 ３  用紙排出装置、４  後処理／排出装置、５  制御装置、６  クライアント端末、１０，２０  通信装置、１１  通信インターフェース、１２  通信制御部、３０  制御装置、３１ 通信インターフェース、３２  通信制御部、１００ 画像形成システム、１０１  ＳＯＦフォールド、１０２  アービトレーションフィールド、１０３  マルチ／シングルパケットメッセージフィールド、１０４  Ｒｘ／Ｔｘパケットフィールド、１０５  スペアフィールド、１０６  補助フィールド、１０７  データフィールド、１０８  ＣＲＣフィールド、１０９  ＡＣＫフィールド、１１０  ＥＯＦフィールド。
【図１】
2005130243.tif 000003
【図２Ａ】
2005130243.tif 000004
【図２Ｂ】
2005130243.tif 000005
【図３】
2005130243.tif 000006
【図４】
2005130243.tif 000007
【図５】
2005130243.tif 000008
【図６】
2005130243.tif 000009
【図７】
2005130243.tif 000010
【図８】
2005130243.tif 000011
【図９】
2005130243.tif 000012