(57)【要約】【課題】          マルチマスタの通信モジュールにおいて、ＣＰＵの負荷を発生させずに、メッセージの送信終了処理を所定のタイミングで完結させる構成を提供する。  【解決手段】  ＣＡＮモジュールは、送信前記メッセージバッファのバッファ位置を示す上位アドレスを生成する上位アドレス生成回路と、前記バッファ内の書き換え個所を示す下位アドレスを生成する下位アドレス生成回路と、を備え、一のメッセージの送信が終了した場合に、前記上位アドレスと前記複数の下位アドレスの組み合わせによって、送信が終了したメッセージの送信終了処理を実施する。【選択図】  図７
2007034892.tif 000002
【特許請求の範囲】
【請求項１】
所定間隔で並んだ複数のバッファによって構成されるメッセージバッファと、前記メッセージバッファから送信要求がなされているメッセージを取り出して、メッセージの識別子（ＩＤ）に基づき、他のデータ処理モジュールとのアービトレーションに参加するメッセージハンドリング部と、を備え、マルチマスタ方式のネットワークに接続されるデータ処理モジュールにおいて、
前記メッセージバッファへのアドレスを生成するアドレス生成回路と、
メッセージの送信が終了した場合に、前記アドレス生成回路により生成されるアドレスによって、送信が終了したメッセージの送信要求を解除する送信制御部と、を備えること、
を特徴とするデータ処理モジュール。
【請求項２】
前記アドレス生成回路は、前記メッセージバッファのバッファ位置を示す上位アドレスを生成する上位アドレス生成回路と、前記バッファ内の書き換え個所を示す下位アドレスを生成する下位アドレス生成回路とを備えること、
を特徴とする請求項１記載のデータ処理モジュール。
【請求項３】
前記送信制御部は、メッセージの送信が終了した場合に、前記上位アドレス生成回路と下位アドレス生成回路によって生成される上位アドレスと前記複数の下位アドレスの組み合わせによって、送信が終了したメッセージの送信要求を解除すること、
を特徴とする請求項２記載のデータ処理モジュール。
【請求項４】
前記メッセージバッファの各バッファ位置はメッセージ番号と対応し、
前記上位アドレス生成回路は、前記上位アドレスとして前記送信が終了したメッセージ番号を出力すること、
を特徴とする請求項２又は３に記載のデータ処理モジュール。
【請求項５】
前記下位アドレス生成回路は、前記複数の下位アドレスとして、
送信メッセージが格納されていたバッファの割り込みイネーブル情報を割り込み可状態に更新するための下位アドレスと、
送信メッセージが格納されていたバッファの送信要求フラグをクリアするための下位アドレスと、を生成すること、
を特徴とする請求項２乃至４いずれか一に記載のデータ処理モジュール。
【請求項６】
更に、所定の複数のバッファに格納されたメッセージを連続して送信する連続送信モードであるか否かを示すモード設定部と、
送信が終了したメッセージに続いて送信すべきメッセージを特定するアドレスを生成する連続送信用アドレス生成回路と、を備え、
前記送信制御部は、送信が終了したメッセージの送信要求の解除に続いて、前記連続送信用アドレス生成回路によって特定されたメッセージを送信要求状態にする処理を行って、メッセージの連続送信動作を行うこと、
を特徴とする請求項１乃至５いずれか一に記載のデータ処理モジュール。
【請求項７】
複数のバッファによって構成されるメッセージバッファと、
前記複数のバッファに対応して設けられＣＰＵによってセット・クリアされる複数の送信要求フラグと、
前記メッセージバッファから前記送信要求がセットされているバッファのメッセージを取り出して送信するメッセージハンドリング部と、
前記メッセージバッファのアドレスを生成するアドレス生成回路と、
連続自動送信モード時においてメッセージの送信が終了した場合に、前記アドレス生成回路によって生成されるアドレスに基づいて、前記ＣＰＵを介することなく、送信が終了したメッセージの送信要求フラグをクリアする送信制御部と、を備えること、
を特徴とするデータ処理モジュール。
【請求項８】
所定間隔で並んだ複数のバッファによって構成されるメッセージバッファを有し、マルチマスタ方式のネットワークに接続されたデータ処理モジュールにおけるメッセージの送信が終了した際の送信終了処理方法であって、
前記データ処理モジュールのメッセージハンドリング部が、前記メッセージバッファのバッファ位置を示す上位アドレスと、前記バッファ内の書き換え個所を示す複数の下位アドレスと、を生成する工程と、
前記メッセージハンドリング部が、前記上位アドレスと前記複数の下位アドレスの組み合わせによって、送信が終了したメッセージの送信要求フラグをクリアする工程と、を含むこと、
を特徴とするメッセージの送信が終了した際の送信終了処理方法。
【請求項９】
前記メッセージバッファの各バッファ位置はメッセージ番号と対応し、前記メッセージハンドリング部は、前記上位アドレスとして前記送信が終了したメッセージ番号を出力すること、
を特徴とする請求項８に記載のメッセージの送信が終了した際の送信終了処理方法。
【請求項１０】
前記メッセージハンドリング部は、前記下位アドレスとして、
送信メッセージが格納されていたバッファの割り込みイネーブル情報を割り込み可状態に更新するための下位アドレスと、
送信メッセージが格納されていたバッファの送信要求フラグをクリアするための下位アドレスと、を生成すること、
を特徴とする請求項８又は９に記載のメッセージの送信が終了した際の送信終了処理方法。
【請求項１１】
前記メッセージバッファの複数のバッファに格納されたメッセージを連続して送信する連続送信モードを有し、該連続送信モードが設定されている場合に、
更に、前記メッセージハンドリング部が、送信が終了したメッセージに続いて送信すべきメッセージを特定するアドレスを生成する工程と、
前記メッセージハンドリング部が、該メッセージの送信要求フラグをオン状態にする工程と、を含み、
前記メッセージハンドリング部が前記送信要求フラグがオン状態とされたメッセージの連続送信動作を行うこと、
を特徴とする請求項８乃至１０いずれか一に記載のメッセージの送信が終了した際の送信終了処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理モジュール及びそのメッセージ送信終了処理方法に関する。
【背景技術】
【０００２】
近年、通信プロトコルとして、マルチマスタの通信プロトコルが注目されている。マルチマスタのプロトコルでは、バスが解放されているとき、バスに接続されている複数の通信ノードのいずれもがデータをバス上に送信することができ、システムの柔軟性が高い等の特徴を持っている。このようなマルチマスタの通信プロトコルとして、自動車内のＥＣＵ（電子制御ユニット）間のシリアル通信プロトコルとして用いられている、特開昭６１−１９５４５３号公報に記載されたマルチマスタのＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、以下、ＣＡＮという）プロトコル（ＩＳＯ１１８９８、ＩＳＯ１１５１９シリーズで規格化）が知られている。このようなマルチマスタの通信プロトコルは、通信ノードの増減が簡単にできる等システムの柔軟性が高いため、上記した自動車分野に止まらず、ＦＡ（Ｆａｃｔｏｒｙ  Ａｕｔｏｍａｔｉｏｎ）、船舶、医療機器といった分野の通信プロトコルとしても有望視されている。
【０００３】
図８は、通信ノードとしてのＣＡＮの概略構成を表した図である。サブネットワークを構成するＣＡＮバスに接続されるＣＡＮトランシーバ６０を有するＣＡＮモジュール１１、１ｎ、１６を接続することが可能となっており、各ＣＡＮモジュール１１、１ｎ、１６がＣＰＵ  Ｉ／Ｆ（インタフェース）４０を介して、メッセージを送受信することが可能となっている。また、図８のＣＡＮモジュール１９は、メッセージの受信のみを行うことが可能となっている。
【０００４】
【特許文献１】特開昭６１−１９５４５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＣＡＮプロトコルでは、特許文献１の３０頁左下欄「５」−１．１．４  送信されるべきであるメッセージの待ち行列」以下に示されたとおり、送信されるべきメッセージは、ＣＰＵによってメモリ（同公報の第１４図のＤＰＲＡＭ）に書き込まれ、その際引き続いて送信要求ビットがセットされる。このように送信要求ビットがセットされたノードが伝送を開始すると、同文献の１２頁左下欄（２）裁定（以下、アービトレーションという）以下に示されたとおり、最上位の優先度を有する識別子（ＩＤ）を有するノードがパスアクセス権を勝ち取り、メッセージの送信を継続することができるようになっている。
【０００６】
また、メッセージの送信完了後は、上記送信時とは逆に送信要求ビットをクリアする必要があり、ＣＰＵによるアドレスの生成処理と、該アドレスで指定される送信要求ビットをクリアするためにデータを書き込む処理と、が必要となる。図９は、従来技術を示す一例として、メッセージＴｘ１、Ｔｘ２を連続して送信する際のＣＡＮモジュールの動作を表した図である。図９の従来動作１は、送信完了割込みの発生後、アドレス生成のためのＣＰＵ処理ルーチンが所定時間内に終了し、アービトレーション（調停）に間に合ったケースを示し、従来動作２では、上記ＣＰＵ処理ルーチンが他処理（例えば、ＣＰＵが周辺回路からのデータを処理中など）のために遅延し、アービトレーションに間に合わなかったケースを示している。
【０００７】
上記問題点は、特にメッセージバッファに記憶されたデータを順番に送信する連続自動送信モードの時に顕著になる。なお、この連続自動送信モード（メッセージバッファの例えば０〜ｎ番バッファまでを順番に送信するモード）は、予め定められた順番でメッセージバッファの中身を出力すべく、例えばメッセージバッファ０からメッセージバッファｎに向かって一つずつ順番に、送信要求ビットをクリア／セットすることによって実現される。
【０００８】
しかしながら、従来の技術では、連続自動送信モードであろうがそれ以外のモードであろうが送信要求ビットのセット／クリアをＣＰＵが一括して行っており、メッセージの送信完了の処理時間が、該時点のＣＰＵ負荷に依存してしまうため、ＣＰＵの負荷状態によっては、セット／クリアのタイミングがアービトレーションタイミングに間に合わず、続けて送信すべきメッセージをアービトレーションに参加させることができなくなってしまい、連続送信できなくなるというケースが生じている。
【課題を解決するための手段】
【０００９】
本発明の第１の視点によれば、所定間隔で並んだ複数のバッファによって構成されるメッセージバッファと、前記メッセージバッファから送信要求がなされているメッセージを取り出して、メッセージの識別子（ＩＤ）に基づき、他のデータ処理モジュールとのアービトレーションに参加するメッセージハンドリング部と、を備え、マルチマスタ方式のネットワークに接続されるデータ処理モジュールにおいて、ＣＰＵを介さずにメッセージの送信終了処理を行うことのできる構成が提供される。このデータ処理モジュールは、前記メッセージバッファへのアドレスを生成するアドレス生成回路と、メッセージの送信が終了した場合に、前記アドレス生成回路により生成されるアドレスによって、送信が終了したメッセージの送信要求を解除する送信制御部と、を備えて構成される。
【００１０】
また、本発明の第２の視点によれば、上記構成にて、連続自動送信モード時においてメッセージの送信が終了した場合に、前記アドレス生成回路によって生成されるアドレスに基づいて、前記ＣＰＵを介することなく、送信が終了したメッセージの送信要求フラグをクリアするデータ処理モジュールが提供される。
【００１１】
また、本発明の第３の視点によれば、所定間隔で並んだ複数のバッファによって構成されるメッセージバッファを有し、マルチマスタ方式のネットワークに接続されたデータ処理モジュールにおけるメッセージの送信が終了した際に、ＣＰＵを介さずに行う送信終了処理方法が提供される。この方法によれば、まず、前記データ処理モジュールのメッセージハンドリング部が、前記メッセージバッファのバッファ位置を示す上位アドレスと、前記バッファ内の書き換え個所を示す複数の下位アドレスと、を生成する工程が行われ、次いで、前記メッセージハンドリング部が、前記上位アドレスと前記複数の下位アドレスの組み合わせによって、送信が終了したメッセージの送信要求フラグをクリアする工程が行われる。
【発明の効果】
【００１２】
本発明によれば、ＣＰＵの負荷を発生させずに、メッセージの送信終了処理を所定のタイミングで完結させることが可能となる。上記効果は、連続自動送信モードにおいて顕著に発揮され、ＣＰＵを介することなく送信要求フラグのセット／リセットをなしうるため、連続して送信すべきメッセージをアービトレーションに確実に参加させることが可能となる。
【発明を実施するための最良の形態】
【００１３】
続いて、本発明を実施するための最良の形態について図面を参照して詳細に説明する。図１は、本発明の第１の実施形態に係るＣＡＮモジュール（データ処理モジュール）とＣＰＵ５１、ＲＡＭ５２、周辺回路５３を１チップで構成したＣＡＮデバイス１００の概略構成を表した図である。例えば、周辺回路５３は、Ｉ／Ｏ回路を含み、ＣＡＮデバイス１００の外部に設けられた各種センサ及び表示装置と接続され外部と内部との間のインタフェースを行い、ＣＰＵ５１は、各種センサからのデータをＩ／Ｏを介して取り出すと共にＲＡＭを利用して所望の処理を実行してメッセージバッファに書き込む処理及びメッセージバッファに書き込まれたメッセージを取り出し所望の処理を実行した後Ｉ／Ｏを介して外部に接続された表示装置にデータを送信する処理等を行う。
【００１４】
ＣＡＮモジュールは、メッセージハンドリング部２と、メッセージバッファ３と、ＣＡＮプロトコル送信層４、マスクセット５を備えている。
【００１５】
図２は、本実施形態に係るメッセージハンドリング部２の構成を表した図である。図２を参照すると、メッセージハンドリング部２は、上位アドレス生成回路２１、下位アドレス生成回路２２、連続送信モードであるか否かを示す情報が格納される送信モード判定フラグ２３を備えた送信制御部２０、及び、その他図示しない送受信サーチ用の機能ブロック等を含んで構成される。
【００１６】
メッセージバッファ３は、メッセージ優先度を表す識別子（ＩＤ）、送信要求メッセージであるか否かやメッセージ本文長を指定するコントロールフィールド（制御情報）、メッセージ本文の順で所定数のメッセージを格納するバッファを複数備えて構成される。図３は、ｎ個のメッセージをバッファ可能なメッセージバッファの構成を表したものであり、上位アドレス（＃ｍ）を指定して対応するメッセージ番号のバッファを特定可能であり、また、上位アドレス（＃ｍ）と下位アドレス（ｘｘ、ｙｙ）とを組み合わせることで、任意のバッファの下位アドレスに対応する項目（割り込みイネーブル情報、送信要求ビット（Ｔｘ＿Ｒｅｑ）、次連続送信フラグ等）を特定することが可能となっている。
【００１７】
先述の送信制御部２０の上位アドレス生成回路２１は、上記メッセージバッファの上位アドレスを生成する。上述のとおり、メッセージバッファ３の上位アドレス（＃ｍ）がメッセージ番号と対応している場合、上位アドレス生成回路２１から出力される上位アドレスは、送信処理が終了したメッセージのメッセージ番号となる。
【００１８】
また、送信制御部２０の下位アドレス生成回路２２は、上記メッセージバッファの下位アドレスを生成する。メッセージバッファ３の各バッファは同一構成であるので、下位アドレス生成回路２２から出力される下位アドレスは、メッセージの送信終了に伴い書き換えが必要な情報が収納された位置（下位詳細アドレス）となる。
【００１９】
ＣＡＮプロトコル送信層４は、ＣＡＮプロトコルに従ってＣＡＮトランシーバとデータの送受信を行う。マスクセット５は、メッセージの所定部分（例えばＩＤの一部）をマスクする際に用いられる。
【００２０】
図４は、本実施形態に係るＣＡＮモジュールにおけるメッセージ送信完了後の詳細動作を表したタイミングチャートである。図４を参照すると、メッセージＴｘ１の送信が完了し、送信完了トリガが出力された時点で、ＣＡＮモジュールの送信制御部２０において、４つのタイムスロット（ＴＳ）で構成された送信終了処理の詳細が示されている。
【００２１】
送信終了処理の間、上位アドレス生成回路２１は、上位アドレスとしてメッセージ番号を出力する。一方、下位アドレス生成回路２２は、第１タイムスロットにおいて割り込みイネーブル情報アドレスを生成する。送信制御部２０は、特定のメッセージ番号の割込みイネーブル情報のアドレスとして、前記上位アドレスと下位アドレスを組み合わせてなるアドレスがメッセージバッファ３に送信される（ＴＳ１）。
【００２２】
続いて、第２タイムスロットにおいて、下位アドレス生成回路２１は、送信要求（Ｔｘ＿Ｒｅｑ）ビットに対応する下位アドレスを生成する。送信制御部２０は、特定のメッセージ番号の送信要求（Ｔｘ＿Ｒｅｑ）ビットをクリアするために、前記上位アドレスと下位アドレスを組み合わせてなるアドレスをメッセージバッファ３に送信する（ＴＳ２）。
【００２３】
以上により、第３タイムスロットの時点を、送信割込みのタイミングとすることができる（ＴＳ３）。なお、図４の例では、第３、第４タイムスロットは将来拡張用のものであり、下位アドレスは生成されない。
【００２４】
その後、連続して送信すべきメッセージＴｘ２がある場合（連続自動送信モードでメッセージが残っている場合）には、ＣＰＵにおいて、連続送信のためのアドレス生成（メッセージ番号生成、次連続送信フラグセット）が行われる（次Ｔｘ＿Ｒｅｑセット）。
【００２５】
図５は連続送信動作が行われる場合のタイミングチャートである。図９と対比すれば明らかなとおり、送信完了後、連続自動送信モードである場合には、ＣＰＵの関与を不要とし、送信制御部２０の動作により送信終了処理を完結可能としたため、ＣＰＵの負荷状態に依存せず速やかに次のメッセージを送信することが可能となっている。
【００２６】
続いて、上記第１の実施形態における将来拡張用のタイムスロットを用いてメッセージ連続自動送信機能を具現した本発明の第２の実施形態について説明する。図６は、本実施形態に係るメッセージハンドリング部２の構成を表した図である。図６を参照すると、メッセージハンドリング部２は、上位アドレス生成回路２１、下位アドレス生成回路２２、送信モード判定フラグ２３、セレクタ２４、連続送信用アドレス生成回路２５、カウンタ２６を備えた送信制御部２０、及び、その他図示しない送受信サーチ用の機能ブロック等を含んで構成される。
【００２７】
セレクタ２４は、カウンタ２６の値により、上位アドレス生成回路２１及び下位アドレス生成回路２２により生成されるアドレスと、連続送信用アドレス生成回路２５から出力されるアドレスのいずれかを選択する。
【００２８】
連続送信用アドレス生成回路２５は、送信モード判定フラグ２３が連続自動送信モードになっている場合に、次に送信すべきメッセージを送信するためのアドレスを生成する。また、カウンタ２６は、例えば、タイムスロットが４つであれば、２ビットのカウンタで構成され、後記するタイムスロットで連続送信のためにセレクタ２４を動作させることが可能となっている。
【００２９】
図７は、本実施形態に係るＣＡＮモジュールにおけるメッセージ送信完了後の詳細動作を表したタイミングチャートである。図７を参照すると、メッセージＴｘ１の送信が完了し、送信完了トリガが出力された時点で、ＣＡＮモジュールの送信制御部２０において、４つのタイムスロット（ＴＳ）構成された送信終了処理の詳細が示されている。
【００３０】
送信終了処理の間、上位アドレス生成回路２１は、上位アドレスとしてメッセージ番号を出力する。一方、下位アドレス生成回路２２は、第１タイムスロットにおいて割り込みイネーブル情報アドレスを生成し、第２タイムスロットで送信要求（Ｔｘ＿Ｒｅｑ）ビットに対応する下位アドレスを生成する。以上は、上述した第１の実施形態と同様である。
【００３１】
続く第３タイムスロットでは、カウンタ２６の値によりセレクタ２４が動作し、連続送信用アドレス生成回路２５から出力されるアドレスがメッセージバッファ３に送信される（ＴＳ３）。
【００３２】
続く第４タイムスロットでは、下位アドレス生成回路２２は、次連続送信フラグに対応する下位アドレスを生成する。そして、カウンタ２６の値によりセレクタ２４が再度動作し、前記上位アドレスと下位アドレスを組み合わせてなるアドレスがメッセージバッファ３に送信される。
【００３３】
従って、本実施形態によれば、図７の最下段に表されたとおり、送信終了処理の中で、送信割込みの発生と連続送信に必要な情報をメッセージバッファ３より取り出すことが可能となり、結果としてより速やかに連続送信を行うことが可能となっている。
【００３４】
なお、本発明の各実施形態において、連続自動送信モード以外の場合には、送信要求フラグをセット／クリアする順番が一義に決まらないため、従来と同様に、ＣＰＵからセット／クリアされることになる。
【００３５】
以上、本発明の各実施形態では、予め送信要求フラグのセット／クリアの順番の分かっている連続自動送信モードにおいて、ＣＰＵに依存することなく、メッセージハンドリング部内の送信制御部でメッセージバッファへのアドレス（上位アドレスと下位アドレス）をそれぞれ生成して、送信終了処理に、連続自動送信処理に必要なアドレスを生成するものについて説明したが、ＣＰＵを介さずに予め順番が分かっているメッセージの処理を行うというその原理からも明らかなとおり、本発明の技術的範囲は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で、各種の変形・置換をなしうることが可能であることはいうまでもない。
【図面の簡単な説明】
【００３６】
【図１】本発明の第１の実施形態に係るＣＡＮデバイスの概略構成を表した図である。
【図２】本発明の第１の実施形態に係るメッセージハンドリング部の詳細構成を表した図である。
【図３】本発明の第１の実施形態に係るメッセージバッファの詳細構成を表した図である。
【図４】本発明の第１の実施形態に係るＣＡＮモジュールにおけるメッセージ送信完了後の詳細動作を表したタイミングチャートである。
【図５】本発明の第１の実施形態に係るＣＡＮモジュールにおける連続送信動作の例を表したタイミングチャートである。
【図６】本発明の第２の実施形態に係るメッセージハンドリング部の詳細構成を表した図である。
【図７】本発明の第２の実施形態に係るＣＡＮモジュールにおけるメッセージ送信完了後の詳細動作を表したタイミングチャートである。
【図８】ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）の概略構成を表した図である。
【図９】従来のＣＡＮモジュールにおけるメッセージの連続送信動作を説明するための図である。
【符号の説明】
【００３７】
２  メッセージハンドリング部
３  メッセージバッファ
４  ＣＡＮプロトコル送信層
５  マスクセット
１１、１ｎ、１６、１９  ＣＡＮモジュール（ＣＡＮ  コントローラ）
２０  送信制御部
２１  上位アドレス生成回路
２２  下位アドレス生成回路
２３  送信モード判定フラグ
２４  セレクタ
２５  連続送信用アドレス生成回路
２６  カウンタ
４０  ＣＰＵ  Ｉ／Ｆ
５１  ＣＰＵ
５２  ＲＡＭ
５３  周辺回路
６０  ＣＡＮトランシーバ
１００  ＣＡＮデバイス
【図１】
2007034892.tif 000003
【図２】
2007034892.tif 000004
【図３】
2007034892.tif 000005
【図４】
2007034892.tif 000006
【図５】
2007034892.tif 000007
【図６】
2007034892.tif 000008
【図７】
2007034892.tif 000009
【図８】
2007034892.tif 000010
【図９】
2007034892.tif 000011