(57)【要約】【課題】マルチマスタ方式で通信するデータ通信装置における、より優先度の高いメッセージを送信候補とすることのできる構成の提供。【解決手段】データ通信装置は、メッセージバッファ１４と、メッセージバッファ１４にバッファされた送信対象のメッセージを読み出して、前記各送信対象のメッセージに与えられた優先度情報を比較することにより送信候補メッセージを決定するサーチ部１６と、サーチ部１６により決定した送信候補メッセージの優先度情報（比較データ１）と、メッセージバッファ１４に新たに追加された少なくとも１以上の送信メッセージの優先度情報（比較データ２→比較元データ）と、を比較して、次の送信タイミングで送信すべき最終送信候補メッセージを決定する最終比較部１７と、を備える。【選択図】図２
2009194719.tif 000002
【特許請求の範囲】
【請求項１】
マルチマスタ方式のネットワークに接続可能なデータ通信装置であって、
送信対象のメッセージがバッファされるメッセージバッファと、
前記メッセージバッファにバッファされた送信対象のメッセージを読み出して、前記各送信対象のメッセージに与えられた優先度情報を比較することにより送信候補メッセージを決定するサーチ部と、
前記サーチ部により決定した送信候補メッセージの優先度情報と、前記メッセージバッファに追加された送信メッセージの優先度情報と、を比較して、次の送信タイミングで送信すべき最終送信候補メッセージを決定する最終比較部と、を備えること、
を特徴とするデータ通信装置。
【請求項２】
前記最終比較部は、少なくとも、前記サーチ部により送信候補メッセージが決定したタイミングで動作する請求項１に記載のデータ通信装置。
【請求項３】
前記最終比較部は、少なくとも、前記メッセージバッファにメッセージが追加されたタイミングで動作する請求項１又は２に記載のデータ通信装置。
【請求項４】
前記最終比較部は、前記メッセージバッファに追加されたメッセージ同士の優先度情報を比較して、前記サーチ部により決定した送信候補メッセージとの比較対象とする送信メッセージを決定する請求項１乃至３いずれか一に記載のデータ通信装置。
【請求項５】
前記最終比較部は、メッセージの送信エラーが発生した場合には、当該送信中のメッセージの優先度情報と、前記最終送信候補メッセージの優先度情報と、を比較して、前記送信中のメッセージと、前記最終送信候補メッセージと、の入れ替えを行うか否かを決定する請求項１乃至４いずれか一に記載のデータ通信装置。
【請求項６】
前記サーチ部により決定した送信候補メッセージの優先度情報を格納する第１の記憶手段と、
前記メッセージバッファに追加された送信メッセージの優先度情報、又は、メッセージの送信エラーが発生した場合に当該送信中のメッセージの優先度情報を格納する第２の記憶手段と、
前記最終比較部により決定した最終送信候補メッセージの優先度情報を格納する第３の記憶手段と、を備え、
前記最終比較部は、
前記第１の記憶手段及び第３の記憶手段の内容を比較して前記第３の記憶手段の内容を更新する第１の比較処理と、
前記第２の記憶手段及び第３の記憶手段の内容を比較して前記第３の記憶手段の内容を更新する第２の比較処理と、を実行する請求項５に記載のデータ通信装置。
【請求項７】
マルチマスタ方式のネットワークに接続されたデータ通信装置における送信候補メッセージの決定方法であって、
メッセージバッファにバッファされた送信対象のメッセージを読み出して、前記各送信対象のメッセージに与えられた優先度情報を比較することにより送信候補メッセージを決定するサーチ工程と、
前記サーチ工程により決定した送信候補メッセージの優先度情報と、前記メッセージバッファに新たに追加された少なくとも１以上の送信メッセージの優先度情報と、を比較して、次の送信タイミングで送信すべき最終送信候補メッセージを決定する最終比較工程と、を含むこと、
を特徴とする送信候補メッセージの決定方法。
【請求項８】
少なくとも、前記サーチ工程で送信候補メッセージが決定したタイミングで、前記最終比較工程を開始する請求項７に記載の送信候補メッセージの決定方法。
【請求項９】
少なくとも、前記メッセージバッファにメッセージが追加されたタイミングで、前記最終比較工程を開始する請求項７又は８に記載の送信候補メッセージの決定方法。
【請求項１０】
更に、前記メッセージバッファに追加された２以上の送信メッセージ同士の優先度情報を比較して、前記最終比較工程で比較対象とする送信メッセージを決定する請求項７乃至９いずれか一に記載の送信候補メッセージの決定方法。
【請求項１１】
メッセージの送信エラーが発生した場合には、送信中のメッセージの優先度情報と、前記最終比較工程で決定された最終送信候補メッセージの優先度情報と、を比較して、前記送信中のメッセージと、前記最終送信候補メッセージと、の入れ替えを行うか否かを決定する請求項７乃至１０いずれか一に記載の送信候補メッセージの決定方法。
【請求項１２】
前記サーチ工程で決定した送信候補メッセージの優先度情報を第１の記憶手段に格納し、
前記最終比較工程は、
前記メッセージバッファに追加されたメッセージの優先度情報を第２の記憶手段に格納し、既に第３の記憶手段に格納されているメッセージの優先度情報と比較して前記第３の記憶手段の内容を更新する第１の比較工程と、
前記第１の記憶手段に格納された送信候補メッセージの優先度情報と、既に第３の記憶手段に格納されているメッセージの優先度情報との比較を行う第２の比較工程と、を含む請求項７乃至１１いずれか一に記載の送信候補メッセージの決定方法。
【請求項１３】
前記第１の比較工程は、メッセージの送信エラーが発生した場合にも行われ、
前記送信エラーが発生したメッセージの優先度情報を前記第２の記憶手段に格納し、既に第３の記憶手段に格納されているメッセージの優先度情報と比較して前記第３の記憶手段の内容を更新する請求項７乃至１２いずれか一に記載の送信候補メッセージの決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信装置及び送信候補メッセージの決定方法に関し、特に、マルチマスタ方式のネットワークに接続可能なデータ通信装置及びその送信候補メッセージの決定方法に関する。
【背景技術】
【０００２】
特許文献１に、マルチマスタ方式のデータ処理モジュールにおける送信候補メッセージの決定方法が開示されている。具体的には、同公報記載のデータ処理モジュールは、サーチ用アドレス生成回路を備えて、メッセージバッファのすべてのメッセージのＩＤを読み出し、順次比較することで送信候補を決定している。
【０００３】
特許文献２には、マルチマスタ方式のデータ処理モジュールにおいて、メッセージの送信エラーが発生した場合に、サーチのやり直しを行うのではなく、当該送信エラーにより送信できなかったメッセージのＩＤと、当該メッセージの次に送信する予定であった送信候補メッセージのＩＤとを比較する２者選択サーチ用比較器を備える構成が開示されている。
【０００４】
特許文献３には、マルチマスタ方式のデータ処理モジュールにおいて、メッセージを受信した場合に行なう受信サーチの際に生成したアドレスを用いて送信候補を決定する送信サーチを行う構成が開示されている。
【０００５】
【特許文献１】特開２００６−２３８３５０号公報
【特許文献２】特開２００６−１８６５７０号公報
【特許文献３】特開２００６−１８６９１５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
マルチマスタ方式の通信プロトコルでは、メッセージの優先度情報（ＩＤ）の優劣により調停（アービトレーション）が行われるため、最も優先度の高い送信メッセージをいち早く送出することが重要であり、各ノードを構成する機器・モジュールの性能を左右する。特許文献１〜３は、上記事情からなされたものである。
【０００７】
ところで、メッセージバッファを、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）で構成することを前提とすると、最優先の送信候補メッセージを決定するには、メッセージバッファのすべての送信対象メッセージの優先度情報（ＩＤ）を読出す必要がある。
【０００８】
図１４は、３クロックで１つのメッセージの優先度情報（ＩＤ）を読み出し、比較していくタイプのサーチの概要を説明するための図である。図１４の例では、２番目に読み出したメッセージ（メッセージ番号３１）が最も優先度が高いと判断された場合である。この場合でも、より優先度の高いメッセージが格納されている可能性があるため、３２個のメッセージの優先度情報（ＩＤ）を比較する必要があり、サーチ時間は、３２×３＝９６クロック掛かることになる。
【０００９】
上記サーチの間も、メッセージバッファに優先度の高い送信メッセージが追加されることがあるが、追加されたタイミングによっては、サーチに間に合わず、次の送信候補として選択できないという問題点がある。この場合、当該優先度の高い送信メッセージは、その次のサーチまで待たねばならないことになるが、その間に更に優先度の高い送信メッセージが登録される可能性もあり、その場合には、更に待たされることになる。
【００１０】
また、送信メッセージが追加された都度、サーチを実行する方法も考えられるが、この方法には、上記したサーチ時間のため、送信開始が遅れる場合があるという問題点がある。
【課題を解決するための手段】
【００１１】
本発明の第１の視点によれば、マルチマスタ方式のネットワークに接続可能なデータ通信装置であって、送信対象のメッセージがバッファされるメッセージバッファと、前記メッセージバッファにバッファされた送信対象のメッセージを読み出して、前記各送信対象のメッセージに与えられた優先度情報を比較することにより送信候補メッセージを決定するサーチ部と、前記サーチ部により決定した送信候補メッセージの優先度情報と、前記メッセージバッファに新たに追加された少なくとも１以上の送信メッセージの優先度情報と、を比較して、次の送信タイミングで送信すべき最終送信候補メッセージを決定する最終比較部と、を備えるデータ通信装置が提供される。
【００１２】
本発明の第２の視点によれば、マルチマスタ方式のネットワークに接続されたデータ通信装置における送信候補メッセージの決定方法であって、メッセージバッファにバッファされた送信対象のメッセージを読み出して、前記各送信対象のメッセージに与えられた優先度情報を比較することにより送信候補メッセージを決定するサーチ工程と、前記サーチ工程により決定した送信候補メッセージの優先度情報と、前記メッセージバッファに新たに追加された少なくとも１以上の送信メッセージの優先度情報と、を比較して、次の送信タイミングで送信すべき最終送信候補メッセージを決定する最終比較工程と、を含む送信候補メッセージの決定方法が提供される。
【発明の効果】
【００１３】
本発明によれば、上記したサーチ部（サーチ工程）で決定した送信候補よりも優先度が高いメッセージが新たに追加された場合に、確実に、該メッセージを送信候補に選択することが可能となる。その理由は、上記したサーチ部（サーチ工程）で決定した送信候補と、新たに追加された送信候補の優先度情報を比較する仕組みを導入したことにある。
【発明を実施するための最良の形態】
【００１４】
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。図１は、本発明の一実施形態に係るデータ通信装置の構成を表したブロック図である。図１を参照すると、データ通信制御部１０と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０と、を含むデータ通信装置が示されている。なお、図１では、本発明の説明上関連のない回路要素は省略している。
【００１５】
ＣＰＵ２０は、データ通信制御部１０のバスインタフェース部１１を介して、ＲＡＭで構成されたメッセージバッファ１４に対する送信要求メッセージの登録を行うとともに、メッセージ制御部１３の最終比較部１７に対し、最終比較処理を要求する信号（比較要求２）を出力する。
【００１６】
データ通信制御部１０は、バスインタフェース部１１と、メッセージ送受信部１２と、メッセージ制御部１３と、ＲＡＭで構成されたメッセージバッファ１４とを含んで構成される。
【００１７】
メッセージ送受信部１２は、通信バス３０を介して、マルチマスタ方式の通信プロトコルに従って、他のノード（データ通信装置）とメッセージのやり取りを行う。
【００１８】
メッセージ制御部１３は、送受信メッセージ制御部１５と、サーチ部１６と、最終比較部１７と、メッセージバッファ１４に対する読み書き制御を行うＲＡＭ制御部１８とを含んで構成される。
【００１９】
送受信メッセージ制御部１５は、ＲＡＭ制御部１８を介して、メッセージ送受信部１２から入力されたメッセージをメッセージバッファ１４に格納し、また、メッセージバッファ１４に格納されたメッセージの中から、最終比較部１７にて決定された次に送信すべきメッセージ（最終送信候補メッセージ）をメッセージ送受信部１２に出力する。また、送受信メッセージ制御部１５は、メッセージ送受信部１２より送信エラーの発生を通知された場合に、最終比較部１７に対し、最終比較処理を要求する信号（比較要求３）を出力する。
【００２０】
サーチ部１６は、メッセージバッファ１４のすべての送信要求メッセージを読み出し、各送信要求メッセージに与えられた優先度情報（ＩＤ）を比較して、送信候補となるメッセージを決定するサーチを行う。サーチにおいて決定したメッセージの優先度情報（ＩＤ）及びメッセージ番号は、最終比較部１７に出力される。サーチの例としては、図１４に例示したような方法を挙げることができる。サーチのタイミングは、特に限定されないが、メッセージの送信が確定した送信確定時と、ＣＰＵ２０により送信取り消しが行われた最終候補取り消し後にサーチを開始することで、次に送信すべきメッセージを速やかに決定し、送信することが可能となる。
【００２１】
最終比較部１７は、上記ＣＰＵ２０、送受信メッセージ制御部１５又はサーチ部１６からの最終比較処理を要求する信号（比較要求１〜３）に基づいて、最も優先度の高いメッセージとして保持しているメッセージの優先度情報（ＩＤ）と、比較要求１〜３に応じた比較対象メッセージの優先度情報（ＩＤ）との比較を行う。最終比較部１７の詳細構成については後に詳述する。
【００２２】
ＲＡＭ制御部１８は、メッセージバッファ１４に対するメッセージの読み書きを実現する手段である。また、ＲＡＭ制御部１８は、上記比較要求１又は比較要求３に基づく、最終比較部１７からのデータ送信要求（比較用ＲＡＭ制御信号）を受けた場合に、該当するメッセージの優先度情報（ＩＤ）を最終比較部１７に提供する。
【００２３】
図２は、上記最終比較部１７の詳細構成を表したブロック図である。最終比較部１７は、第１〜第３の記憶手段１７１、１７２、１７４と、最終比較回路１７３とを含んで構成される。第１〜第３の記憶手段１７１、１７２、１７４は、必要なデータ長分のフリップフロップにより構成したレジスタにより構成することができる。
【００２４】
第１の記憶手段１７１は、サーチ部１６のサーチにより決定されたメッセージの優先度情報（ＩＤ）及びメッセージ番号を格納する。
【００２５】
第２の記憶手段１７２は、ＣＰＵ２０からの比較要求２や送受信メッセージ制御部１５からの比較要求３に基づき、メッセージバッファ１４より読み出したメッセージ（追加送信メッセージ／送信エラーメッセージ）の優先度情報（ＩＤ）及びメッセージ番号を格納する。
【００２６】
第３の記憶手段１７４は、最も優先度の高いメッセージとして保持しているメッセージ（最終比較後のメッセージ（最終送信候補メッセージ））の優先度情報（ＩＤ）及びメッセージ番号を格納する。
【００２７】
最終比較回路１７３は、第１の記憶手段１７１の格納データと第３の記憶手段１７４の格納データとの比較（比較１）、第２の記憶手段１７２の格納データと第３の記憶手段１７４の格納データとの比較（比較２）を行なう。前記比較の結果、第１、第２の記憶手段１７１、１７２のメッセージの方が優先度が高い場合、最終比較回路１７３は、第３の記憶手段１７４にアップデートデータ及びアップデート要求を出力し、第１、第２の記憶手段１７１、１７２の内容を、第３の記憶手段１７４に上書きする動作を行う。
【００２８】
続いて、上記データ通信装置のサーチ部１６及び最終比較部１７の動作について、図面を参照して詳細に説明する。
【００２９】
以下、サーチ部１６によるサーチは、（Ａ１）メッセージの送信が確定した送信確定時と、（Ａ２）ＣＰＵ２０により送信取り消しが行われた最終候補取り消し後に開始されるものとする。
【００３０】
また、最終比較部１７による最終比較は、（Ｂ１）サーチ部１６によるサーチ終了時（比較要求１）、（Ｂ２）ＣＰＵ２０より追加送信要求が発生した時（比較要求２）、（Ｂ３）送受信メッセージ制御部１５から送信エラーの発生を通知された時（比較要求３）に行われる。
【００３１】
図３は、上記（Ａ１）の送信確定によりサーチが開始され、上記（Ｂ１）のサーチ終了及び（Ｂ２）の追加送信要求により、最終比較が行われるタイミングを表している。図３の例では、通信バスの最初のＩＤの送出完了により（送信確定）、次に送信すべきメッセージを決定するために速やかにサーチが開始されている。そして、サーチ終了後に第１回目の最終比較が行われ、その後に、ＣＰＵ２０より追加送信要求が発生したため、第２回目の最終比較が行われている。サーチ終了後に第１回目の最終比較では、比較対象となるメッセージがないため、この時点では、サーチによって決定された送信候補メッセージが最終送信候補メッセージとなる。一方、第２回目の最終比較では、ＣＰＵ２０より追加送信要求されたメッセージの優先度情報と、サーチによって決定された送信候補メッセージの優先度情報との比較が行われ、その優劣より、最終送信候補メッセージが決定される。これにより、追加送信要求された優先度が高いメッセージを、次の送信タイミング（図３の通信バス右側の「ＩＤ」及び「ＤＡＴＡ」）で送信することが可能となる。
【００３２】
図３の例ではサーチの後に追加送信要求が発生していたが、図４に示すように、サーチ中、あるいは、サーチの前に、追加送信要求が発生した場合も、最終比較が行われる。図４の例では、第１回目の追加送信要求により、第１回目の最終比較が行われ、次に、第２回目の追加送信要求により、第２回目の最終比較が行われ、最後に、サーチ終了による第３回目の最終比較が行われている。追加送信要求されたメッセージがサーチ済みのバッファに格納されるなど、サーチの対象に含まれているとは限らないため、この場合も、優先度が高いメッセージを、次の送信タイミングで送信することが可能となる。
【００３３】
図５は、上記（Ｂ１）のサーチ終了による最終比較によって、サーチによって決定されたメッセージの方が優先度が高いと判定された場合のタイミングチャートを表している。図５の例では、比較要求１により最終比較が開始されている。そして、最終比較の結果、サーチによって決定されたメッセージの方が優先度が高いと判定されたため、第３の記憶手段１７４のデータを更新するようアップデート要求が出力され、第３の記憶手段１７４の内容が更新されている。
【００３４】
図６は、上記（Ｂ２）の追加送信要求による最終比較によって、追加送信要求されたメッセージの方が優先度が高いと判定された場合のタイミングチャートを表している。図６の例では、比較要求２により最終比較が開始され、メッセージバッファ１４から該当メッセージの優先度情報（ＩＤ）が第２の記憶手段１７２に読み出されている。そして、最終比較の結果、メッセージバッファ１４から読み出した追加送信要求メッセージの方が優先度が高いと判定されたため、第３の記憶手段１７４のデータを更新するようアップデート要求が出力され、第３の記憶手段１７４の内容が更新されている。なお、図６の例では、図１４のサーチと同様に、１メッセージの優先度情報（ＩＤ）の読み出しに３クロック掛かるものとしている。
【００３５】
もちろん、最終比較の結果、第３の記憶手段１７４に格納されたメッセージの優先度情報（ＩＤ）の方が優先度が高いと判定された場合には、図７（サーチ終了時）、図８（追加送信要求時）に示すように、アップデート要求が出力されることはない。
【００３６】
図９は、上記（Ｂ２）の追加送信要求による最終比較及び上記（Ａ１）のサーチによる最終比較の後に、更に、上記（Ｂ２）の追加送信要求により、最終比較が行われるタイミングを表している。このように、追加送信要求が発生する度に最終比較を実行することで、速やかに、より優先度の高いメッセージを送信候補に挙げることが可能となっている。
【００３７】
図１０は、上記（Ｂ２）の追加送信要求による最終比較及び上記（Ａ１）のサーチによる最終比較の後に、上記（Ａ２）の最終候補の送信取消しによりサーチが開始され、上記（Ｂ１）のサーチ終了及び（Ｂ２）の追加送信要求により、最終比較が行われるタイミングを表している。このように、最終候補の送信取消しが発生した場合でも、サーチと、最終比較を実行することで、速やかに、より優先度の高いメッセージを送信候補に挙げることが可能となっている。
【００３８】
図１１は、上記（Ｂ１）のサーチ終了による最終比較の後に、上記（Ｂ３）のエラーの発生により、最終比較が行われるタイミングを表している。このように、送信エラーが発生した場合は、当該送信中断メッセージの優先度情報（ＩＤ）と、当該時点で第３の記憶手段１７４に格納されている優先度情報（ＩＤ）の比較が行われる。これにより、サーチ及び最終比較で得られたメッセージよりも送信中断メッセージの方が優先度が高い場合に、当該送信中断メッセージを先に送ることが可能になる。
【００３９】
図１２は、上記（Ｂ３）の送信エラーによる最終比較によって、送信中断メッセージの方が優先度が高いと判定された場合のタイミングチャートを表している。図１２の例では、比較要求３により最終比較が開始され、メッセージバッファ１４から送信中断メッセージの優先度情報（ＩＤ）が第２の記憶手段１７２に読み出されている。そして、最終比較の結果、送信中断メッセージの方が優先度が高いと判定されたため、第３の記憶手段１７４のデータを更新するようアップデート要求が出力されている。
【００４０】
もちろん、最終比較の結果、第３の記憶手段１７４に格納されたメッセージの優先度情報（ＩＤ）の方が優先度が高いと判定された場合には、図１３に示すように、アップデート要求は出力されず、送信中断メッセージは次回のサーチ処理のサーチ対象に加えられることになる。
【００４１】
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態に示した最終比較タイミングの一部を省略し、あるいは、追加の実行条件を付け加えた変形実施が可能である。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態に係るデータ通信装置の構成を表したブロック図である。
【図２】図１のデータ通信装置のメッセージ制御部の詳細構成を表したブロック図である。
【図３】サーチ及び最終比較の実行タイミングを説明するための図である。
【図４】サーチ及び最終比較の実行タイミングを説明するための別の図である。
【図５】サーチ終了による最終比較の詳細動作を説明するための図である。
【図６】追加送信要求による最終比較の詳細動作を説明するための図である。
【図７】サーチ終了による最終比較の詳細動作を説明するための別の図である。
【図８】追加送信要求による最終比較の詳細動作を説明するための別の図である。
【図９】サーチ及び最終比較の実行タイミングを説明するための別の図である。
【図１０】サーチ及び最終比較の実行タイミングを説明するための別の図である。
【図１１】サーチ及び最終比較の実行タイミングを説明するための別の図である。
【図１２】送信エラー発生による最終比較の詳細動作を説明するための図である。
【図１３】送信エラー発生による最終比較の詳細動作を説明するための別の図である。
【図１４】サーチの概要を説明するための図である。
【符号の説明】
【００４３】
１０  データ通信制御部
１１  バスインタフェース部
１２  メッセージ送受信部
１３  メッセージ制御部
１４  メッセージバッファ
１５  送受信メッセージ制御部
１６  サーチ部
１７  最終比較部
１８  ＲＡＭ制御部１８
２０  ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）
３０  通信バス
１７１  第１の記憶手段
１７２  第２の記憶手段
１７３  最終比較回路
１７４  第３の記憶手段
【図１】
2009194719.tif 000003
【図２】
2009194719.tif 000004
【図３】
2009194719.tif 000005
【図４】
2009194719.tif 000006
【図５】
2009194719.tif 000007
【図６】
2009194719.tif 000008
【図７】
2009194719.tif 000009
【図８】
2009194719.tif 000010
【図９】
2009194719.tif 000011
【図１０】
2009194719.tif 000012
【図１１】
2009194719.tif 000013
【図１２】
2009194719.tif 000014
【図１３】
2009194719.tif 000015
【図１４】
2009194719.tif 000016