(57)【要約】【課題】  送信候補メッセージの決定を高速化する。【解決手段】  ＣＡＮモジュールのメッセージハンドリング部は、メッセージバッファ全体で送信要求メッセージが無い状態において、送信要求メッセージがセットされたか否かを判定する（ステップＳ００１）。メッセージバッファに複数の送信要求メッセージが既にストアされている場合は、メッセージハンドリング部は、従来どおりメッセージを読み出し（ステップＳ００２）、識別子を比較する（ステップＳ００３）処理を、繰り返し実行し、メッセージバッファにストアされた送信要求メッセージのうち最も優先度の高いメッセージを送信候補に決定する（ステップＳ００５）。一方、ステップＳ００１でＹＥＳの場合は、メッセージハンドリング部２は、直ちに前記送信要求メッセージを送信候補メッセージに決定する（ステップＳ００５）。【選択図】  図４
2006186569.tif 000002
【特許請求の範囲】
【請求項１】
マルチマスタ方式のネットワークに接続されたデータ処理モジュールにおける送信候補メッセージの決定方法であって、
複数の送信要求メッセージを記憶するメッセージバッファに送信要求メッセージが無い状態において、送信要求メッセージが前記メッセージバッファにセットされた場合に、前記データ処理モジュールのメッセージハンドリング部は、前記メッセージバッファ内を走査することなく該送信要求メッセージを送信候補に決定すること、
を特徴とする送信候補メッセージの決定方法。
【請求項２】
前記メッセージハンドリング部は、送信要求メッセージが前記メッセージバッファにある状態において、新たな送信要求メッセージが前記メッセージバッファにセットされた場合に、メッセージバッファを走査して各メッセージに与えられた識別子に従って送信候補メッセージを決定すること、
を特徴とする請求項１に記載の送信候補メッセージの決定方法。
【請求項３】
マルチマスタ方式のネットワークに接続されるデータ処理モジュールにおいて、
Ｎメッセージ分の送信要求メッセージ及び受信メッセージをバッファ可能なメッセージバッファと、
前記メッセージバッファを走査して各メッセージに与えられた識別子に従って送信候補メッセージを決定するメッセージハンドリング部と、
前記メッセージバッファ全体で送信要求メッセージが無い状態において、送信要求メッセージが前記メッセージバッファにセットされた場合に、該送信要求メッセージを送信候補にセットする早期送信制御部と、を備えたこと、
を特徴とするデータ処理モジュール。
【請求項４】
マルチマスタ方式のネットワークに接続されるデータ処理モジュールにおいて、
Ｎメッセージ分の送信要求メッセージ及び受信メッセージをバッファ可能なメッセージバッファと、
前記メッセージバッファへの書き込み状態と連動するＮ個のレジスタ群と、
前記メッセージバッファを走査して各メッセージに与えられた識別子に従って送信候補メッセージを決定するメッセージハンドリング部と、
前記レジスタの和が第１のレベルから第２のレベルに変化した場合に、該レジスタに対応する送信要求メッセージを送信候補にセットする早期送信制御部と、を備えたこと、
を特徴とするデータ処理モジュール。
【請求項５】
複数のメッセージが記憶されるメッセージバッファであって、前記メッセージのＩＤとメッセージバッファ内の記憶番地とが対応づけられたメッセージバッファと、
前記メッセージバッファ内を探索し、次に送信すべき送信候補を決定するメッセージハンドリング部と、を備え、
前記メッセージハンドリング部は、前記メッセージバッファ内に記憶されたメッセージが無い状態において、送信要求メッセージが前記メッセージバッファ内に記憶されたときには、前記メッセージバッファを探索することなく前記送信要求メッセージを送信候補として決定すること、
を特徴とするデータ処理モジュール。
【請求項６】
前記メッセージハンドリング部は、前記メッセージバッファ内に記憶されたメッセージがない状態で、送信要求メッセージが前記メッセージバッファ内に記憶されたことを判定する判定回路を備えること、
を特徴とする請求項５記載のデータ処理モジュール。
【請求項７】
前記メッセージハンドリング部は、前記送信候補が記憶されたメッセージバッファ内のメッセージ番号を記憶する送信候補レジスタを備えていること、
を特徴とする請求項６記載のデータ処理モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理モジュール及びその送付候補メッセージの決定方法に関する。
【背景技術】
【０００２】
近年、通信プロトコルとして、マルチマスタの通信プロトコルが注目されている。マルチマスタのプロトコルでは、バスが解放されているとき、バスに接続されている複数の通信ノードのいずれもがデータをバス上に送信することができ、システムの柔軟性が高い等の特徴を持っている。このようなマルチマスタの通信プロトコルとして、自動車内のＥＣＵ（電子制御ユニット）間のシリアル通信プロトコルとして用いられている、特開昭６１−１９５４５３号公報に記載されたマルチマスタのＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、以下、ＣＡＮという）プロトコル（ＩＳＯ１１８９８、ＩＳＯ１１５１９シリーズで規格化）が知られている。このようなマルチマスタの通信プロトコルは、通信ノードの増減が簡単にできる等システムの柔軟性が高いため、上記した自動車分野に止まらず、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）、船舶、医療機器といった分野の通信プロトコルとしても有望視されている。
【０００３】
図７は、通信ノードとしてのＣＡＮの概略構成を表した図である。サブネットワークを構成するＣＡＮバス（図示せず）に接続されるＣＡＮトランシーバ６０を有するＣＡＮモジュール１１、１ｎ、１６を接続することが可能となっており、各ＣＡＮモジュール１１、１ｎ、１６がＣＰＵ  Ｉ／Ｆ（インタフェース）４０を介して、メッセージを送受信することが可能となっている。また、図７のＣＡＮモジュール１９は、メッセージの受信のみを行うことが可能となっている。
【特許文献１】特開昭６１−１９５４５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したＣＡＮプロトコルでは、特許文献１の３４頁右上欄５）−３  データ交換ＤＰＲＡＭ以下に示されたとおりメッセージ送信に先だって、送信候補メッセージを決定する探索プロセスが行われる。そして、同３５頁左下欄５）−３．６  探索プロセス及び図２０に示されたとおり、メッセージの探索は、分割不可能な動作として実施される。
【０００５】
上述したメッセージの探索プロセスは、メッセージバッファに存在する複数の送信候補メッセージから送信メッセージを探索するものであり、メッセージバッファに格納されたすべてのメッセージの識別子（識別情報；ＩＤ）を比較し、優先順位の最も高いメッセージを送信メッセージとして決定するために行われる。
【０００６】
また、メッセージバッファ内でのメッセージの記憶場所は、メッセージのＩＤとメッセージバッファの番地とで関連づけられており（例えば、ＩＤが００１１のメッセージは、０〜３１の番地をもつメッセージバッファの１０番地）、メッセージバッファにメッセージが無い状態からメッセージがセットされた場合にも、メッセージバッファのどの部分に記憶されているか判断するため、メッセージバッファを探索する必要性があった。
【０００７】
このため、従来の構成では、メッセージバッファに送信要求メッセージが全く無い状態から、送信要求メッセージがセットされた場合においても、メッセージバッファの全メッセージを探索する処理を行うこととなり、送信候補メッセージを決定する時間がかかり、ひいては送信処理も遅れてしまうという問題点があった。
【課題を解決するための手段】
【０００８】
本発明の第１の視点によれば、上述したＣＡＮに代表されるマルチマスタ方式のネットワークに接続されたデータ処理モジュールにおいて、送信要求メッセージ及び受信メッセージがバッファされるメッセージバッファから送信候補メッセージを決定するための送信候補メッセージ決定方法が提供される。この方法によれば、データ処理モジュール（ＣＡＮモジュール）のメッセージハンドリング部は、通常、メッセージバッファを全部走査して各メッセージに与えられた識別子に従って送信候補メッセージを決定するが、例外的に、メッセージバッファ全体で送信要求メッセージが無い状態において、送信要求メッセージが前記メッセージバッファにセットされた場合は、該送信要求メッセージを送信候補に決定するよう動作する。
【０００９】
また、本発明の第２の視点によれば、上述の送信候補メッセージ決定方法を実施するために適した構成、回路構成を備えたデータ処理モジュールが提供される。
【発明の効果】
【００１０】
本発明によれば、メッセージバッファに送信要求メッセージが全く無い状態からメッセージが送信されるまでの時間を著しく短縮することが可能となる。
【発明を実施するための最良の形態】
【００１１】
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。図１は、本実施の形態に係るＣＡＮモジュール（データ処理モジュール）とＣＰＵ５１、ＲＡＭ５２、周辺回路５３を１チップで構成したＣＡＮデバイス１００の概略構成を表した図である。例えば、周辺回路５３は、Ｉ／Ｏ回路を含み、ＣＡＮデバイス１００の外部に設けられた各種センサ及び表示装置と接続され外部と内部との間のインターフェースを行い、ＣＰＵ５１は、各種センサからのデータをＩ／Ｏを介して取り出すと共にＲＡＭを利用して所望の処理を実行してメッセージバッファに書き込む処理及びメッセージバッファに書き込まれたメッセージを取り出し所望の処理を実行した後Ｉ／Ｏを介して外部に接続された表示装置にデータを送信することを行う。
【００１２】
ＣＡＮモジュールは、メッセージハンドリング部２と、メッセージバッファ３と、ＣＡＮプロトコル送信層４、マスクセット５を備えている。メッセージハンドリング部２は、受信したメッセージをメッセージバッファ３にストアする処理や、メッセージバッファ３にストアされた送信要求メッセージから後述する手順に従って、送信候補メッセージを選択し、送信候補番号レジスタ２１にセットする処理等を行う。
【００１３】
メッセージバッファ３は、メッセージ優先度を表す識別子（ＩＤ）、送信要求メッセージであるか否かやメッセージ本文長を指定するコントロールフィールド（制御セグメント）、メッセージ本文の順で所定数のメッセージをバッファ可能となっている。図２は、３２個のメッセージをバッファ可能なメッセージバッファの構成を表したものであり、アドレスを指定して任意の番号のメッセージを特定することが可能となっている。
【００１４】
ＣＡＮプロトコル送信層４は、ＣＡＮプロトコルに従ってＣＡＮトランシーバとデータの送受信を行う。マスクセット５は、メッセージの所定部分（例えばＩＤの一部）をマスクする際に用いられ、例えば、ＩＤが２進数４ビットのデータであるとして、０〜３１番地のメッセージバッファのｎ番地のメッセージバッファにＩＤの１１００が割り振られていた場合において、上位２ビットにマスクをかけることによって１１００以外に００００、０１００、１０００が番地のメッセージバッファに格納されることになるよう用いられる。
【００１５】
続いて、本実施の形態の動作について、従来の送信候補決定方法と対比しながら詳細に説明する。図３は、従来の送信候補メッセージの探索処理の流れを表した図であり、図４は、本実施の形態に係る送信候補メッセージの探索処理の流れを表した図である。
【００１６】
始めに従来の送信候補メッセージの探索処理の流れについて説明する。メッセージバッファ３に新たに送信要求メッセージがセットされる等、送信候補メッセージを更新する必要が生じた場合、メッセージバッファ３の探索処理が開始される。図３を参照すると、まず、ＣＡＮモジュールのメッセージハンドリング部２は、メッセージバッファ３にストアされたメッセージを読み出し（ステップＳ１０１）、識別子を比較する（ステップＳ１０２）探索処理を、順次インクリメントを行いながら繰り返し実行する。メッセージバッファ３の最後のメッセージまで順次比較処理が完了すると（ステップＳ１０３のＹＥＳ）、メッセージバッファ３にストアされた送信要求メッセージのうち最も優先度の高いメッセージが送信候補として選択され、その番号が送信候補番号レジスタ２１にセットされる（ステップＳ１０４）。
【００１７】
一方、本実施の形態に係るＣＡＮモジュールにおける送信候補メッセージの探索処理の流れによれば、送信候補メッセージを更新する必要が生じた場合、図４に示されたように、まず、ＣＡＮモジュールのメッセージハンドリング部２は、メッセージバッファ３全体で送信要求メッセージが無い状態において、送信要求メッセージがセットされたケースに該当するのか否かを判定する（ステップＳ００１）。
【００１８】
ここで、メッセージバッファ３全体で送信要求メッセージが無い状態において、送信要求メッセージがセットされたケースに当たらない場合（ステップＳ００１のＮＯ）、即ち、メッセージバッファ３に複数の送信要求メッセージが既にストアされている場合は、メッセージハンドリング部２は、従来どおりメッセージを読み出し（ステップＳ００２）、識別子を比較する（ステップＳ００３）探索処理を、順次インクリメントを行いながら繰り返し実行し、メッセージバッファ３にストアされた送信要求メッセージのうち最も優先度の高いメッセージを送信候補に決定する（ステップＳ００５）。
【００１９】
一方、メッセージバッファ３全体で送信要求メッセージが無い状態において、送信要求メッセージがセットされたケースに該当する場合は（ステップＳ００１のＹＥＳ、メッセージハンドリング部２は、セットされた送信要求メッセージを送信候補メッセージに決定する（ステップＳ００５）。
【００２０】
図５は、上記したステップＳ００１における判定処理を実行するための判定回路の構成の一例とその出力波形を表した図である。図５の左側を参照すると、メッセージバッファ３の管理用に設けられた送信要求レジスタ（ＴＲＱ）３１、３ｎ、・・・３３１と、これらと接続された論理和ゲート７０が示されている。送信要求レジスタ（ＴＲＱ）３１、３ｎ、・・・３３１は送信時に１がセットされ、当該メッセージを送信要求状態となり、送信完了時に０クリアされる。図５の右側のタイミングチャートからも明らかなとおり、送信要求レジスタ３１、３ｎ、・・・３３１のいずれかがレベル０からレベル１に反転すると、論理和ゲート７０の出力信号ｐがレベル０（第１のレベル）からレベル１（第２のレベル）となる。従って、論理和ゲート７０の出力信号ｐがレベル０からレベル１と変化したタイミングにおいて書き込まれたメッセージを、送信候補メッセージとし、送信候補番号レジスタにメッセージバッファ３のメッセージ番号をセットすることができる。
【００２１】
図６は、本実施の形態において、送信候補番号レジスタ２１にメッセージバッファ３のメッセージ番号がセットされる流れを表したブロック図である。同図に示されたとおり、送信候補の探索処理が終了した場合に、探索処理の結果のメッセージ番号が送信候補番号レジスタ２１にセットされる。また、メッセージバッファにストアされた送信要求状態のメッセージが０である場合（ΣＴＲＱ＝０）において送信要求状態（ＴＲＱ＝１）のメッセージが新たにセットされた場合に、当該送信要求状態（ＴＲＱ＝１）のメッセージ番号が送信候補番号レジスタ２１にセットされるようになっている。
【００２２】
以上のように、本実施の形態によれば、メッセージバッファに送信要求メッセージが無い状態から送信要求メッセージがセットされた場合に、当該送信要求メッセージを送信候補とすることによって、メッセージバッファ内の探索を行うことなく速やかに送信候補を決定することが可能となる。
【００２３】
以上、本発明の実施の形態を説明したが、その原理からも明らかなとおり、本発明の技術的範囲は、上述した実施の形態に限定されるものではなく、メッセージバッファにおける唯一の送信要求メッセージがセットされたことを検出し、当該メッセージを送信候補とするという本発明の要旨を逸脱しない範囲で、各種の変形・置換をなしうることが可能であることはいうまでもない。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施の形態に係るＣＡＮデバイスの概略構成を表した図である。
【図２】本発明の第１の実施の形態に係るメッセージバッファの構成を表した図である。
【図３】従来の送信候補メッセージの探索処理の流れを表した図である。
【図４】本実施の形態に係る送信候補メッセージの探索処理の流れを表したである。
【図５】本発明を実現するための回路構成の一例と、その出力波形を表した図である。
【図６】本発明の一実施の形態の動作を説明するための図である。
【図７】ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）の概略構成を表した図である。
【符号の説明】
【００２５】
２  メッセージハンドリング部
３  メッセージバッファ
４  ＣＡＮプロトコル送信層
５  マスクセット
１１、１ｎ、１６、１９  ＣＡＮモジュール（ＣＡＮ  コントローラ）
２１  送信候補番号レジスタ
３１、３ｎ、３３１  送信要求レジスタ
４０  ＣＰＵ  Ｉ／Ｆ
５１  ＣＰＵ
５２  ＲＡＭ
５３  周辺回路
６０  ＣＡＮトランシーバ
７０  論理和ゲート
１００  ＣＡＮデバイス
【図１】
2006186569.tif 000003
【図２】
2006186569.tif 000004
【図３】
2006186569.tif 000005
【図４】
2006186569.tif 000006
【図５】
2006186569.tif 000007
【図６】
2006186569.tif 000008
【図７】
2006186569.tif 000009