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