(57)【要約】【課題】メッセージを高速伝送できる多重通信装置を提供する。【解決手段】送信ノード１０では、１パケットの各データフレームを同時に記憶する送信ＳＭＢ１〜送信ＳＭＢ６を設定する。受信ノード２０では、１パケットの各データフレームを同時に記憶する受信Ｒｍｂ１〜受信Ｒｍｂ６を設定する。送信する際には、ＣＰＵ１１によって１パケットの各データフレームが対応する送信ＳＭＢに書き込まれてバスに送信される。各データフレームは、割り当てられているＩＤの優先順位で送信され、受信ノード２０の各受信Ｒｍｂに受信される。受信ノード２０では、受信したデータフレームを用いて元のパケットに復元するが、１パケットの受信に対して、送信ノードにＡＣＫフレームを返信する。このように、送信ノードと受信ノードとで１パケットのデータフレームを同時に記憶できるから、各データフレーム同士の間に隙間を空けることなく連続送信可能である。【選択図】        図１
2004221686.tif 000002
【特許請求の範囲】
【請求項１】
バスを介して接続される複数の通信ノードからなり、送信側の通信ノードが送信メッセージを複数のパケットに分割して前記バスに送信し、受信側の通信ノードが前記バスから送信されたデータを受信するとともに、１パケットのデータの受信に対して応答信号を前記送信側の通信ノードへ返信する多重通信装置において、
前記送信側の通信ノードには、前記パケットを構成する複数の情報フレームにそれぞれ異なる識別情報を設定する送信用識別情報設定手段と、
少なくとも１パケットの前記情報フレームを記憶する複数の送信用情報記憶手段と、
前記送信用情報記憶手段に記憶された複数の前記情報フレームを、連続して送信するとともに、前記パケットの最終情報フレームを、同パケット内におけるほかの情報フレームを送信した後に送信する情報送信手段と、
前記受信側の通信ノードから送信される応答信号フレームを受信する応答信号受信手段とを備え、
前記情報送信手段は、１パケットの情報フレームを送信し、前記応答信号フレームが受信された後に、次のパケットの送信を行うことを特徴とする多重通信装置。
【請求項２】
前記受信側の通信ノードには、少なくとも１パケットの前記情報フレームを受信して記憶する複数の受信用情報記憶手段と、
前記送信側の通信ノードで前記各情報フレームに設定された識別情報と同一の識別情報を前記受信用情報記憶手段に設定する受信用識別情報設定手段と、
前記受信用情報記憶手段が、前記設定された識別情報に対応する前記情報フレームのみを受信するとともに、前記最終情報フレームを受信した後に、前記受信用情報記憶手段に記憶された複数の前記情報フレームを読み出して元のパケットに復元する復元手段と、
前記復元手段により１パケットの全情報フレームが読み出された後に、前記応答信号フレームを前記送信側の通信ノードへ返信する受信完了通知手段とを備えることを特徴とする請求項１記載の多重通信装置。
【請求項３】
バスを介して接続される複数の通信ノードからなり、送信側の通信ノードが送信メッセージを複数のパケットに分割して前記バスに送信し、受信側の通信ノードが前記バスから送信されたデータを受信するとともに、１パケットのデータの受信に対して応答信号を前記送信側の通信ノードへ返信する多重通信装置において、
前記送信側の通信ノードには、隣接する２つのパケットを１つのパケット群として、その第１パケットと第２パケットを構成するそれぞれ複数の情報フレームに識別情報を設定する送信用識別情報設定手段と、
少なくとも前記第１パケットと前記第２パケットを構成する各情報フレームを記憶する複数の送信用情報記憶手段と、
パケット群順にしたがって、前記送信用情報記憶手段に記憶された前記第１パケットおよび前記第２パケットの各情報フレームをパケットごとに連続送信するとともに、前記第１パケットおよび第２パケットのそれぞれの最終情報フレームを、同パケットにおけるほかの情報フレームを送信した後に送信する情報送信手段と、
前記受信側の通信ノードからの応答信号フレームを受信する応答信号受信手段と、
前記応答信号フレームを受信した後に、前記送信用情報記憶手段に記憶された第１パケットまたは第２パケットの前記情報フレームに設定された前記識別情報をパケットごとに更新する更新手段とを備えることを特徴とする多重通信装置。
【請求項４】
前記受信側の通信ノードには、前記第１パケットと前記第２パケットの各情報フレームを受信して記憶する複数の受信用情報記憶手段と、
送信側の通信ノードで第１パケットおよび第２パケットのそれぞれの情報フレームに設定された識別情報と同一の識別情報を、前記受信用情報記憶手段にそれぞれ設定する受信用識別情報設定手段と、
前記受信用情報記憶手段が、設定された識別情報に対応する前記情報フレームのみを受信するとともに、最終情報フレームを受信した後に、前記受信用情報記憶手段に記憶した第１または第２パケットの情報フレームを読み出して元のパケットに復元する復元手段と、
前記復元手段により、第１パケットの全情報フレームが読み出された場合には、前記応答信号フレームとして応答信号フレーム１を前記送信側の通信ノードに返信し、第２パケットの全情報フレームが読み出された場合には、前記応答信号フレームとして応答信号フレーム２を前記送信側の通信ノードに返信する受信完了通知手段とを備え、
前記応答信号フレーム１と前記応答信号フレーム２は、前記第１パケットと前記第２パケットのいずれの情報フレームよりも優先的に送信することを特徴とする請求項３記載の多重通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バスを介してデータの伝送を行う多重通信装置に関する。
【０００２】
【従来の技術】
【特許文献１】特開平０６−２５３３７１号公報
多重通信装置において、データ伝送時の通信速度を高めるために、例えば特開平０６−２５３３７１号公報開示の通信方法が知られている。この通信方法では、マスタ機器（送信ノード）が送信するデータを１つのパケットでスレーブ機器（受信ノード）に送信し、スレーブ機器は受信したデータに対して応答信号を返信することで、信号の処理を簡単にし通信速度を高めるようにしている。
【０００３】
【発明が解決しようとする課題】
ところで、上記従来の通信方法を用いて、複数のデータを連続して送受信する場合、送信ノードが１つのデータを送信した後、受信ノードからの応答信号を受信して次のデータを送信するため、バス上ではデータとデータの間およびデータと応答信号の間にバスアイドル（バス上に何にも送信されない状態をいう）が発生し、データ全体の伝送速度が実質的に低下するという問題があった。
【０００４】
例えば上記従来の通信方法に、ＣＡＮ通信（Ｃｏｎｔｒｏｌｌｅｒ  ＡｒｉａＮｅｔｗｏｒｋ）を適用した場合、送信メッセージは、複数のパケットに分割して送信することになるが、ＣＡＮ通信では、１つのフレームで最大８バイトのデータを送受信することから、パケットはさらに複数のフレームに分割され、フレーム単位でデータの送受信を行う。
【０００５】
送受信する際には、まず、パケットを構成する複数のフレームのうち１つのフレームのデータと識別番号であるＩＤをＣＡＮ通信部のメールボックスに書き込んで、バスに出力する。これは１つのデータフレームの送信である。こうして１つのデータフレームを送信した後、同じ送信処理で次のデータフレームを送信するから、その送信処理時間分、各データフレームとデータフレームの間に隙間が生じ、バス上では、データフレームとデータフレームとの間にバスアイドルが発生する。
【０００６】
そして、１パケットの全てのデータフレームが送信されると、受信ノードではそれを元のパケットに復元するとともに、受信できたことを示すＡＣＫフレーム（応答信号）のデータとＩＤをメールボックスに書き込んで送信するため、その受信応答処理時間分、ＡＣＫフレームの送信が遅れる。一方の送信ノードでは、ＡＣＫフレームを受信してから次のパケットに対して送信開始処理を行うから、送信開始処理時間分、データフレームの送信が遅れる。この結果、バス上では、データフレームとＡＣＫフレームの間にバスアイドルが発生する。
【０００７】
図１３は、上記従来の通信方法にＣＡＮ通信を適用した場合のバス状態を示す図である。
バス上では、各パケットにおいてデータフレーム同士の間にバスアイドルａが発生している。またパケット１およびパケット２と第１ＡＣＫフレームの間に、バスアイドルｂが発生しているように、各パケットとそのＡＣＫフレームの間に、バスアイドルが発生している。
【０００８】
このように、各データフレームとデータフレームの間、およびデータフレームとＡＣＫフレームの間に、バスアイドルａ、ｂが発生するので、とくに処理能力の低いソフトウェアやハードウェアを利用した場合、データ全体の送信速度が著しく低下してしまう。
本発明は、上記従来の問題点に鑑み、バス上でデータとデータの間にバスアイドルが発生することなく、複数のデータの送受信が可能な多重通信装置を提供することを目的としている。
【０００９】
【課題を解決するための手段】
このため本発明は、送信側の通信ノードには、送信用識別情報設定手段と、送信用情報記憶手段と、情報送信手段と、応答信号受信手段とを備え、送信用情報記憶手段は少なくとも１パケットの情報フレームを同時に記憶することが可能になっている。
【００１０】
送信用識別情報設定手段によって各々異なる識別情報が設定された１パケットの情報フレームが送信用情報記憶手段に記憶される。情報送信手段は、送信用情報記憶手段に記憶された情報フレームを連続して送信するとともに、最終情報フレームを、同パケット内のほかの情報フレームを送信した後に送信する。
最終情報フレームを最後に送信することによって、受信側の通信ノードでは、最終情報フレームの受信で、１パケットの情報フレームの受信ができたと判断でき、受信したことを示す応答信号フレームを返信することができる。
この応答信号フレームが応答信号受信手段で受信されると、情報送信手段は次のパケットの各情報フレームの送信を行う。
【００１１】
【発明の効果】
本発明によれば、送信側の通信ノードでは、少なくとも１パケットの情報フレームを記憶する複数の送信用情報記憶手段を設け、１パケットの全情報フレームを同時に記憶させるようにしたので、１パケットの各情報フレームを送信する送信開始処理を予め行うことができ、送信時には、送信指令のみで隙間なく連続送信することができる。これによって、バス上では、情報フレームと情報フレームの間にバスアイドルが発生しないので、データの伝送速度を向上させることができる。
【００１２】
【発明の実施の形態】
次に、発明の実施の形態を実施例により説明する。
図１は、実施例の構成を示すブロック図である。
通信ノード１０が、ＣＡＮ通信部１２とデータの処理およびＣＡＮ通信部１２の制御を行うＣＰＵ１１を備える。
通信ノード２０が、ＣＡＮ通信部２２とデータの処理およびＣＡＮ通信部２２の制御を行うＣＰＵ２１を備える。
ＣＡＮ通信部１２とＣＡＮ通信部２２が互いにバス３０に接続され、通信ノード１０と通信ノード２０はバス３０を介してデータの送受信を行うようになっている。
【００１３】
ＣＡＮ通信では、送信メッセージを複数のパケットに分割して送受信するとともに、１つのフレームについては、送信するデータ量が最大８バイトと規定されているので、送信メッセージは、複数のパケットに分割され、各パケットはさらに分割されて複数のフレームでデータの送受信を行う。１つのパケットには、例えば識別信号であるＩＤが割り振られた６つのデータフレームが含まれる。このとき、パケットサイズが６であるという。
以下、パケットサイズが６のパケットでの送受信について説明する。
【００１４】
通信ノード１０と通信ノード２０とで、どちらからの送信も可能であるが、本実施例では、通信ノード１０を送信側の通信ノードとし、通信ノード２０を受信側の通信ノードとして用いるものとして、以下、分かり易いように通信ノード１０を送信ノード１０、通信ノード２０を受信ノード２０と呼称する。
ＣＡＮ通信部１２およびＣＡＮ通信部２２は、ハードウェアで構成され、それぞれには、データを記憶するメールボックスを例えば１６または３２個備える。
【００１５】
送信ノード１０では、ＣＡＮ通信部１２がメールボックスのうち、６つを送信用メールボックス（送信ＳＭＢ）用に設定する。各送信ＳＭＢには、識別番号が割り振られ、送信ＳＭＢ１〜送信ＳＭＢ６となっている。
６つの送信ＳＭＢを設定することによって、１パケットを構成する６つのデータフレームを同時に記憶することができるようになる。
また、受信ノード２０からのＡＣＫフレームを記憶するために、メールボックスのうち、１つを受信用メールボックス（受信Ｓｍｂ）用に設定する。
【００１６】
各データフレームは、所定の送信ＳＭＢ１〜送信ＳＭＢ６に記憶され、送信ＳＭＢ１〜送信ＳＭＢ６からバス３０に送信されるが、その送信順番として各データフレームに与えられているＩＤの優先順位にしたがう。ＣＡＮ通信では、ＩＤは値が小さいほど優先順位が高く、０が最も優先順位の高いＩＤである。したがって、データフレームが、ＩＤが０からの順番で送信される。
【００１７】
なお、送信順位としては、ＩＤが示す優先順位のほかに、送信ＳＭＢ１〜送信ＳＭＢ６で送信順位を予め設定して、送信順位にしたがって各データフレームを対応する送信ＳＭＢに記憶し、送信ＳＭＢの送信順位で送信することも可能である。
送信順位を設定するに当たって、上記いずれの場合も、パケット内の最終データフレーム（最終情報フレーム）は、同パケットにおいて最後に送信されればよく、そのほかのデータフレームの送信順位に関しては必ずしもデータフレーム順である必要はない。
受信Ｓｍｂは、ＣＰＵ１１の初期設定によって、ＡＣＫフレームのみを受信し、かつ受信完了したら、ＣＰＵ１１に受信完了通知を発生するようになっている。
【００１８】
一方の受信ノード２０では、ＣＡＮ通信部２２が、メールボックスのうち、６つを受信用メールボックス（受信Ｒｍｂ）用に設定する。各受信Ｒｍｂには、識別番号が割り振られ、受信Ｒｍｂ１〜受信Ｒｍｂ６となっている。
受信用メールボックスを６つ設定することによって、１パケットを構成する６つのデータフレームを同時に記憶できるようになる。
また、ＡＣＫフレームを送信するために、メールボックスのうち、１つを送信用メールボックス（送信ＲＭＢ）用に設定する。
【００１９】
ＣＰＵ２１は、初期設定で、受信Ｒｍｂ１〜受信Ｒｍｂ６に受信するデータフレームのＩＤと同じＩＤを設定し、受信Ｒｍｂ１〜受信Ｒｍｂ６が、対応するＩＤのデータフレームのみを受信するとともに、優先順位が最も低いデータフレームを受信完了すると、ＣＰＵ２１に受信完了通知を発生するように設定する。
【００２０】
次に、データ伝送の流れをフローチャートによって説明する。
図２は送信ノード１０での処理の流れを示すフローチャートで、図４は、データの送受信状態を示す図である。
ステップ１００において、ＣＰＵ１１は、送信開始処理を行うことによって、フレーム順でパケットを構成する各フレームのデータとＩＤ＝０〜５をそれぞれ対応する送信ＳＭＢ１〜送信ＳＭＢ６に書き込む。
【００２１】
この書き込みによって、ＩＤ付きのデータフレームが生成される。ここで、フレーム順でＩＤ＝０〜５を書き込んだので、パケットの最終データフレームには、最も優先順位の低いＩＤ５が付けられる。
なお、フレーム順で書き込むＩＤは、必ずしもＩＤ＝０、１、２、３、４、５である必要はなく、例えばＩＤ＝１、４、２、３、０、５というような順番でも可能である。
【００２２】
ステップ１１０において、ＣＰＵ１１は、ＣＡＮ通信部１２の各送信ＳＭＢ１〜送信ＳＭＢ６に送信開始指令を出力して、データフレームの送信を開始させる。
ステップ１２０において、送信ＳＭＢ１〜送信ＳＭＢ６が、同時に送信を開始するが、ＣＡＮ通信では優先順位の最も高いＩＤ０のデータフレームから送信（ＴＸ）が開始される。送信順番がくるまでは送信ＳＭＢが送信するデータフレームを保持して待機する。最終データフレームのＩＤに優先順位が最も低いＩＤ５が与えられているので、最終データフレームは、ほかのデータフレームが送信された後に送信される。
【００２３】
送信されたデータフレームは、受信ノード２０に受信されるが、１パケットの全データフレームを受信すると、受信完了したことを示すＡＣＫフレームがバス３０に送信される。送信ノード１０では、受信ＳｍｂにＡＣＫフレームのＩＤと同じＩＤが設定され、ＡＣＫフレームのみを受信でき、かつ受信を完了すると、ＣＰＵ１１に受信完了通知を発生するようになっている。
【００２４】
ステップ１３０において、ＣＰＵ１１が、受信完了通知があったか否かをチェックする。受信完了通知があったら、ステップ１４０へ進む。
受信ノード２０では、ＡＣＫフレームを送信したので、受信Ｒｍｂ１〜受信Ｒｍｂ６から受信したデータフレームが全部読み出され、次のパケットの受信が可能な状態にある。
【００２５】
ステップ１４０においては、ＣＰＵ１１は未送信のパケットがあったか否かをチェックする。未送信のパケットがあった場合は、ステップ１５０において、次のパケットを読み込んで、ステップ１００に戻り、上記同様の送信処理を行う。
ステップ１４０で未送信パケットがないことをチェックすると、ステップ１６０へ進んで、送信を終了する。
【００２６】
図３は、受信ノード２０での処理の流れを示すフローチャートである。
ステップ２００において、ＣＰＵ２１は、初期設定を行って、ＣＡＮ通信部２２の受信Ｒｍｂ１〜受信Ｒｍｂ６に、送信されるデータフレームのＩＤと同一のＩＤを設定する。これによって、各受信Ｒｍｂがバス３０から対応するデータフレームのみを受信できるようになる。また、この初期設定で、優先順位の最も低いデータフレームを受信すると、ＣＰＵ２１に受信完了通知を発生するようになっている。
【００２７】
ステップ２０５において、受信Ｒｍｂ１〜受信Ｒｍｂ６は対応するＩＤのデータフレームを受信（ＲＸ）する。優先順位の最も低いデータフレームを受信すると、ＣＰＵ２１に受信完了通知を発生する。
ステップ２１０において、ＣＰＵ２１は、受信完了通知があったか否かをチェックする。受信完了通知があったら、受信Ｒｍｂ１〜受信Ｒｍｂ６がパケットの全データフレームを受信できたとしてステップ２２０へ進む。
【００２８】
ステップ２２０においては、ＣＰＵ２１が、受信応答処理を行って、受信Ｒｍｂ１〜受信Ｒｍｂ６からそれぞれ記憶したデータフレームを読み出し、ステップ２３０において元のパケットに復元する。
ステップ２４０において、ＣＰＵ２１は、ＡＣＫフレームのデータとＩＤを送信ＲＭＢに書き込んだ上で、送信開始命令を出力することによって、バス３０に送信させる。その後、ステップ２１０に戻る。
このＡＣＫフレームについては、データフレームが送信されていないときに送信されるので、優先順位をとくに規定する必要がなく、例えばデータフレームとは別にＩＤ６に設定することができる。
【００２９】
本実施例は、以上のように構成され、送信ノード１０に、送信用メールボックス（送信ＳＭＢ１〜送信ＳＭＢ６）と受信用メールボックス（受信Ｓｍｂ）を設定するとともに、受信ノード２０には、受信用メールボックス（受信Ｒｍｂ１〜受信Ｒｍｂ６）と送信用メールボックス（送信ＲＭＢ）を設定し、１パケットの全データフレームを同時に格納して記憶できるようにしたので、１パケットの全データフレームを予め記憶させることができる。これによって、送信ノード１０では、１つのデータフレームを送信した後に、次に送信するデータフレームを送信用メールボックスＳＭＢに書き込むような処理が必要なくなる。
【００３０】
まだ、受信ノード２０では、１パケットの全データフレームを受信して同時に記憶できるから、１パケットの全データフレームを受信した後に、読み出すことができる。
これによって、１パケットの全データフレームが送信完了する前に、データの送受信を中断する必要がなくなり、データフレームを隙間なく連続送信することが可能になる。
【００３１】
図５は、本実施例のバス状態と従来例のバス状態との比較図である。
（ａ）は本実施例でのバス状態で、（ｂ）は従来のバス状態である。
（ｂ）で示すように従来例では、パケット２で示すように、各パケット（パケット１〜パケット４）において、データフレーム同士の間にバスアイドルａが発生しているのに対して、本実施例では（ａ）のように、各パケット（パケット１〜パケット４）において、データフレーム同士の間にバスアイドルが発生しない。したがって従来例より、データ伝送時の通信速度を高めることが可能である。
【００３２】
本実施例では、送信ＳＭＢ１〜送信ＳＭＢ６が、送信用情報記憶手段を構成している。
受信Ｒｍｂ１〜受信Ｒｍｂ６が、受信用情報記憶手段を構成している。
ステップ１００が、送信用識別情報設定手段を構成している。
ステップ１２０が、情報送信手段を構成している。
ステップ１３０が、応答信号受信手段を構成している。
ステップ２００が、受信用識別情報設定手段を構成している。
ステップ２３０が、復元手段を構成している。
ステップ２４０が、受信完了通知手段を構成している。
【００３３】
次に、第２の実施例について説明する。
図６は、本実施例の構成を示す図である。
本実施例では、上記第１実施例とは異なり、隣接する２つのパケットを１つのパケット群として、その第１パケットと第２パケットを送信ノード１０’が連続して送信し、受信ノード２０’は１つのパケットの受信に対してＡＣＫフレームを送信することで、各データフレーム同士の間のみでなく、各パケット同士間でも隙間なくデータフレームを連続送信できるようにする。
【００３４】
送信ノード１０’では、パケット群の第１パケットと第２パケットを構成するそれぞれのデータフレームを同時に記憶するように、ＣＡＮ通信部１２’が、メールボックスのうち、１２個を送信用メールボックス（送信ＳＭＢ）用に設定する。１２個の送信用メールボックスのうち、６つを、第１パケットの記憶用に第１送信用メールボックス（送信ＳＭＢ１〜送信ＳＭＢ６）として、残りの６つを第２パケットの記憶用に第２送信用メールボックス（送信ＳＭＢ７〜送信ＳＭＢ１２）として設定する。
【００３５】
また、第１パケットまたは第２パケットの受信に対して受信ノード２０’から送信されるＡＣＫフレーム１（応答信号フレーム１）またはＡＣＫフレーム２（応答信号フレーム２）を記憶するように、メールボックスのうち、２つの受信用メールボックス（受信Ｓｍｂ）を設定する。このうち、１つを第１受信用メールボックス（受信Ｓｍｂ１）として、もう１つを第２受信用メールボックス（受信Ｓｍｂ２）として設定する。
【００３６】
送信ＳＭＢ１〜送信ＳＭＢ６と送信ＳＭＢ７〜送信ＳＭＢ１２は、ＣＰＵ１１’から送信開始指令が出力された場合、ＣＡＮ通信にしたがって、記憶したデータフレームのＩＤの優先順位で順次にデータフレームをバス３０に送信する。
なお、第１の実施例と同様に、送信順位としては、必ずしもデータフレーム順である必要はなく、パケット内の最終データフレーム（最終情報フレーム）が同パケットにおいて最後に送信されればよく、その他のデータフレームはフレーム順で送信する必要はない。
受信Ｓｍｂ１、受信Ｓｍｂ２は、ＣＰＵ１１’による初期設定で、ＡＣＫフレーム１およびＡＣＫフレーム２のみを受信でき、かつ受信完了したら、ＣＰＵ１１’に第１受信完了通知また第２受信完了通知を発生するようになっている。
【００３７】
一方の受信ノード２０’では、ＣＡＮ通信部２２’が、パケット群の第１パケットと第２パケットの各データフレームをそれぞれ記憶できるように、メールボックスのうち、第１受信用メールボックス（受信Ｒｍｂ１〜受信Ｒｍｂ６）と第２受信用メールボックス（受信Ｒｍｂ７〜受信Ｒｍｂ１２）を設定するとともに、ＡＣＫフレーム１とＡＣＫフレーム２をそれぞれ記憶する第１送信用メールボックス（送信ＲＭＢ１）と第２送信用メールボックス（送信ＲＭＢ２）を設定する。
【００３８】
ＣＰＵ２１’は、初期設定で、受信Ｒｍｂ１〜受信Ｒｍｂ６と受信Ｒｍｂ７〜受信Ｒｍｂ１２がそれぞれ対応するＩＤのデータフレームを受信するように設定し、かつパケット内の優先順位が最も低い最終データフレームを受信すると、ＣＰＵ２１’に、受信したパケットに対応した第１受信完了通知または第２受信完了通知を発生するように設定する。
【００３９】
ＣＰＵ２１’は、第１受信完了通知または第２受信完了通知を受信すると、対応する受信用メールボックス（Ｒｍｂ）から、データフレームを読み出して元のパケットに復元するとともに、受信したパケットが第１パケットか第２パケットを示すＡＣＫフレーム１またはＡＣＫフレーム２を送信ＲＭＢ１または送信ＲＭＢ２に書き込んで、返信させる。
【００４０】
次に、データ伝送の流れをフローチャートによって説明する。
図７と図８は送信ノード１０’での処理の流れを示すフローチャートで、図９は、データの送信状態を示す図である。
ステップ３００において、ＣＰＵ１１’は、送信開始処理を行うことによって、パケット順で、隣接する２パケットを１つのパケット群として、そのうちの第１パケットの各フレームのデータとＩＤをそれぞれ対応する送信ＳＭＢ１〜送信ＳＭＢ６に書き込む。初回では、ＩＤ＝２〜７を用いる。
【００４１】
ステップ３１０において、上記同様に、パケット群を構成する第２パケットの各フレームのデータとＩＤをそれぞれ対応する送信ＳＭＢ７〜送信ＳＭＢ１２に書き込む。上記同様に初回では、ＩＤ＝８〜１３を用いる。
なお、第１パケットと第２パケットのＩＤは、第１の実施例と同様に、必ずしもフレーム順で設定する必要はなく、最終フレームのデータに同パケットにおいて最も優先順位の低いＩＤを設定すればよい。
【００４２】
ステップ３２０において、ＣＰＵ１１’は、送信ＳＭＢ１〜送信ＳＭＢ１２に送信開始指令を出力する。これによって送信ＳＭＢ１〜送信ＳＭＢ１２は、ＩＤの優先順位にしたがって、それぞれ記憶してあるデータフレームをバス３０に送信（ＴＸ）する。
なお、送信ＳＭＢ１〜送信ＳＭＢ１２は、送信開始指令を受けても、送信順番がくるまでは、送信するデータフレームを保持して待機するようになっている。
【００４３】
受信ノード２０’では、送信ノード１０’から送信された第１パケットおよび第２パケットの各データフレームを受信すると、受信したパケットに対応して、ＡＣＫフレーム１またはＡＣＫフレーム２を返信する。このＡＣＫフレーム１またはＡＣＫフレームがデータフレームより優先順位が高く設定されているから、優先的に送信される。なお、ＡＣＫフレーム１のＩＤ＝０、ＡＣＫフレーム２のＩＤ＝１である。
【００４４】
送信ノード１０’では、受信Ｓｍｂ１または受信Ｓｍｂ２がＡＣＫフレーム１またはＡＣＫフレーム２を受信すると、各々のＡＣＫフレーム１およびＡＣＫフレーム２に対応した受信完了通知１および受信完了通知２をＣＰＵ１１’に発生する。
ステップ３３０において、ＣＰＵ１１’が、受信完了通知があったか否かをチェックする。受信完了通知があったら、１パケットのデータフレームの送信が完了したとして、ステップ３４０へ進む。
【００４５】
ステップ３４０においては、ＣＰＵ１１’は未送信パケットがあったか否かをチェックする。未送信パケットがあったら、ステップ３５０において、次のパケットを読み込む。
ステップ３６０において、ＣＰＵ１１’は、ステップ３３０で確認した受信完了通知が第１受信完了通知であるか否かを判断し、第１受信完了通知の場合は、ステップ３７０へ進み、第２受信完了通知の場合には、ステップ３８０へ進む。
ステップ３７０においては、第１パケットの送信が完了したため、ＣＰＵ１１’が読み込んだパケットを次のパケット群の第１パケットとして、各フレームのデータとＩＤを送信ＳＭＢ１〜送信ＳＭＢ６に書き込む。このとき（２回目）のＩＤは、１４〜１９である。
【００４６】
ステップ３８０においては、第２パケットの送信が完了したため、読み込んだパケットを次のパケット群の第２パケットとして、各フレームのデータとＩＤを送信ＳＭＢ７〜送信ＳＭＢ１２に書き込む。このとき（２回目）のＩＤは、２０〜２５である。
ステップ３７０またはステップ３８０での処理が終わると、ステップ３２０に戻り、上記同様の送信処理を行う。このとき、前のパケット群の第２パケットの送信が行われている場合でも、新たな第１パケットのＩＤの優先順位が低いため、第２パケットの送信が完了するまで待たされる。
ステップ３４０で未送信パケットがないと確認されると、ステップ３９０において送信を終了する。
【００４７】
図１０は、受信ノード２０’での処理の流れを示すフローチャートで、図１１は、データの受信状態を示す図である。
ステップ５００において、ＣＰＵ２１’は受信ｍｂ１〜受信ｍｂ６に送信ノード１０’で設定された第１パケットの各データフレームのＩＤと同じＩＤを設定する。初回は、ＩＤ＝２〜７を設定する。
【００４８】
ステップ５１０において、ＣＰＵ２１’が受信Ｒｍｂ７〜受信Ｒｍｂ１２に送信ノード１０’で設定された第２パケットの各データフレームのＩＤと同じＩＤを設定する。初回は、ＩＤ＝８〜１３を設定する。
これによって、受信ノード２０’では、第１パケットおよび第２パケットの各データフレームを受信し、同時に記憶することができる。
【００４９】
ステップ５２０において、受信Ｒｍｂ１〜受信Ｒｍｂ１２はバス３０から対応するＩＤのデータフレームを受信（ＲＸ）して記憶する。
受信Ｒｍｂ１〜受信Ｒｍ１２は、第１パケットまたは第２パケットの最も優先順位の低いデータフレームを受信すると、ＣＰＵ２１’に受信が完了したパケットに対応した第１受信完了通知または第２受信完了通知を出力する。
【００５０】
ステップ５３０において、ＣＰＵ２１’は、受信完了通信があったか否かをチェックする。受信完了通知があったら、ステップ５４０へ進む。
ステップ５４０においては、受信完了通知は第１受信完了通知か否かを判断して、第１受信完了通知の場合は、ステップ５５０へ、そうでない場合にはステップ５８０へ進む。
【００５１】
ステップ５５０においては、第１パケットの受信が完了したため、ＣＰＵ２１’は、受信Ｒｍｂ１〜受信Ｒｍｂ６から記憶したデータフレームを読み出して元のパケットに復元する。
ステップ５６０において、ＣＰＵ２１’は受信Ｒｍｂ１〜受信Ｒｍｂ６に、次に送信される第１パケットのＩＤに対応して設定したＩＤを更新する。２回目は１４〜１９になる。
ステップ５７０において、ＣＰＵ２１’は、受信応答処理を行ってＡＣＫフレーム１のデータとＩＤである０を送信ＲＭＢ１に書き込んだうえ、送信命令を出力する。これによってＡＣＫフレーム１が送信ノード１０’に送信される。
【００５２】
ステップ５８０においては、第２受信完了通知であると判断されたので、第２パケットの受信が完了したとして、ＣＰＵ２１’は、受信Ｒｍｂ７〜受信Ｒｍｂ１２から記憶したデータフレームを読み出して元のパケットに復元する。
ステップ５９０において、ＣＰＵ２１’は受信Ｒｍｂ７〜受信Ｒｍｂ１２のＩＤを次の第２パケットのＩＤに対応して更新する。２回目はＩＤが２０〜２５になる。
【００５３】
ステップ６００において、ＣＰＵ２１’は、受信応答処理を行ってＡＣＫフレーム２のデータとＩＤである１を送信ＲＭＢ２に書き込み、送信開始指令を出力する。これによって、ＡＣＫフレーム２が送信ノード１０’に送信される。ＡＣＫフレーム１またはＡＣＫフレーム２の優先順位が最も高いので、データフレーム送信中であっても、優先的に送信される。ステップ５７０、ステップ６００の後は、ステップ５３０に戻る。
【００５４】
本実施例は、以上のように構成され、パケット群を構成する第１パケットと第２パケットをパケットごとに送信と受信を繰り返すことによって、メッセージ全体を送信し、第１パケットの受信応答処理および次のパケット群の第１パケットの送信準備が、そのパケット群の第２パケットが送信されている最中に実行される。または、第２パケットの受信応答処理および次のパケット群の第２パケットの送信準備が、そのパケット群の次のパケット群の第１パケットが送信されている最中に実行される。
【００５５】
これによって、データの送受信を中断させることなく、送受信を行うことが可能になる。バス３０上に、データフレーム同士の間だけでなく、データフレームとＡＣＫフレームの間でも、隙間なく送受信することが可能になる。
【００５６】
図１２は、本実施例のバス状態と従来例のバス状態との比較図である。
（ａ）は本実施例でのバス状態で、（ｂ）は従来のバス状態である。
（ｂ）で示すように従来例では、各パケット（パケット１〜パケット４）において、
データフレーム同士の間にバスアイドルａが発生しているのに対して、本実施例では（ａ）のように、各パケット（パケット１〜パケット４）において、データフレーム同士の間にバスアイドルが発生しない。
【００５７】
また、従来ではパケットとＡＣＫフレームの間にバスアイドルｂが発生しているのに対して、本実施例は、データフレームとＡＣＫフレームの間でも、バスアイドルが発生しない。これによってデータ伝送時の通信速度を実質的に最高に高めることが可能である。
【００５８】
本実施例では、送信ＳＭＢ１〜送信ＳＭＢ１２が、送信用情報記憶手段を構成している。
受信Ｒｍｂ１〜受信Ｒｍｂ１２が受信用情報記憶手段を構成している。
ステップ３００とステップ３１０が、送信情報識別設定手段を構成している。
ステップ３２０が情報送信手段を構成している。
ステップ３３０とステップ３６０が、応答信号受信手段を構成している。
ステップ３７０とステップ３８０が、更新手段を構成している。
ステップ５００とステップ５１０とステップ５６０およびステップ５９０が、受信用識別情報設定手段を構成している。
ステップ５５０とステップ５８０が、復元手段を構成している。
ステップ５７０とステップ６００が、受信完了通知手段を構成している。
【図面の簡単な説明】
【図１】実施例の構成を示すブロック図である。
【図２】送信ノードでの処理の流れを示すフローチャートである。
【図３】受信ノードでの処理の流れを示すフローチャートである。
【図４】データの送受信状態を示す図である。
【図５】本実施例のバス状態と従来例のバス状態との比較図である。
【図６】第２の実施例の構成を示す図である。
【図７】送信ノードでの処理の流れを示すフローチャートである。
【図８】送信ノードでの処理の流れを示すフローチャートである。
【図９】データの送信状態を示す図である。
【図１０】受信ノードでの処理の流れを示すフローチャートである。
【図１１】データの受信状態を示す図である。
【図１２】本実施例のバス状態と従来例のバス状態との比較図である。
【図１３】従来の通信方法にＣＡＮ通信を適用した場合のバス状態を示す図である。
【符号の説明】
１０、１０’      通信ノード（送信ノード）
１１、１１’      ＣＰＵ
１２、１２’      ＣＡＮ通信部
２０、２０’      通信ノード（受信ノード）
２１、２１’      ＣＰＵ
２２、２２’      ＣＡＮ通信部
【図１】
2004221686.tif 000003
【図２】
2004221686.tif 000004
【図３】
2004221686.tif 000005
【図４】
2004221686.tif 000006
【図５】
2004221686.tif 000007
【図６】
2004221686.tif 000008
【図７】
2004221686.tif 000009
【図８】
2004221686.tif 000010
【図９】
2004221686.tif 000011
【図１０】
2004221686.tif 000012
【図１１】
2004221686.tif 000013
【図１２】
2004221686.tif 000014
【図１３】
2004221686.tif 000015