(57)【要約】【課題】ＣＡＮ拡張フレームを使用しない場合には、ＣＡＮ拡張ＩＤ記憶領域が使用されず、ハードウェア資源に無駄を生じさせるが、従来の技術では、ＣＡＮ拡張ＩＤ記憶領域には、ＣＡＮ拡張ＩＤしか書き込むことができなかった。【解決手段】ＣＡＮメッセージバッファを少なくとも一つ備えるＣＡＮメッセージバッファ部と、ＣＡＮメッセージバッファアクセス管理部とを具備するマイクロコンピュータによって解決することができる。ＣＡＮメッセージバッファは、ＣＡＮ標準ＩＤを記憶する第一の記憶領域と、ＣＡＮ拡張ＩＤを記憶する第二の記憶領域と、ＣＡＮ送受信データを記憶する第三の記憶領域とを有する。ＣＡＮメッセージバッファアクセス管理部は、ＣＡＮ拡張ＩＤとは異なる目的外データを受け取り、その目的外データを、ＣＡＮメッセージバッファにおける第二の記憶領域に書き込む。【選択図】図４
2009282612.tif 000002
【特許請求の範囲】
【請求項１】
ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）標準ＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）を記憶する第一の記憶領域と、ＣＡＮ拡張ＩＤを記憶する第二の記憶領域と、ＣＡＮ送受信データを記憶する第三の記憶領域とを有するＣＡＮメッセージバッファを少なくとも一つ備えるＣＡＮメッセージバッファ部と、
ＣＡＮ拡張ＩＤとは異なる目的外データを受け取り、前記目的外データを、前記第二の記憶領域に書き込むＣＡＮメッセージバッファアクセス管理部とを具備する
マイクロコンピュータ。
【請求項２】
前記ＣＡＮメッセージバッファアクセス管理部は、
前記目的外データとして、ＣＡＮ標準ＩＤを受け取り、このＣＡＮ標準ＩＤを、前記第二の記憶領域に書き込む
請求項１記載のマイクロコンピュータ。
【請求項３】
前記ＣＡＮメッセージバッファアクセス管理部は、
一のＣＡＮ標準ＩＤを受け取った場合に、所定のアルゴリズムに従って、前記一のＣＡＮ標準ＩＤを前記第一の記憶領域に書き込むか、前記第二の記憶領域に書き込むかを決定し、前記一のＣＡＮ標準ＩＤを前記第一の記憶領域に書き込むこととするときには、前記一のＣＡＮ標準ＩＤを前記第一の記憶領域に書き込み、前記一のＣＡＮ標準ＩＤを前記第二の記憶領域に書き込むこととするときには、前記一のＣＡＮ標準ＩＤを、前記目的外データとして、前記第二の記憶領域に書き込む
請求項２記載のマイクロコンピュータ。
【請求項４】
ＣＡＮデータ通信バスに接続されるＣＡＮデータ送受信部を更に備え、
前記ＣＡＮメッセージバッファアクセス管理部は、
前記ＣＡＮデータ送受信部が前記ＣＡＮデータ通信バスからＣＡＮ標準フレームを受信したときに、前記ＣＡＮ標準フレームにおける標準ＩＤが、前記第二の記憶領域に書き込まれているＣＡＮ標準ＩＤと一致する場合には、そのＣＡＮメッセージバッファにおける前記第三の記憶領域に、前記ＣＡＮ標準フレームにおけるＣＡＮ送受信データを書き込む
請求項３記載のマイクロコンピュータ。
【請求項５】
前記ＣＡＮメッセージバッファアクセス管理部は、
前記第三の記憶領域に、前記ＣＡＮ送受信データを書き込むときに、このＣＡＮ送受信データの標準ＩＤが、前記第二の記憶領域に書き込まれている標準ＩＤであることを表示するフラグをセットする
請求項４記載のマイクロコンピュータ。
【請求項６】
前記ＣＡＮメッセージバッファアクセス管理部は、
前記第二の記憶領域にＣＡＮ標準ＩＤを書き込むときに、前記第二の記憶領域に生じる空き領域に前記フラグを格納する
請求項５記載のマイクロコンピュータ。
【請求項７】
前記ＣＡＮメッセージバッファアクセス管理部は、
ＣＡＮ拡張ＩＤを受け取った場合には、前記ＣＡＮ拡張ＩＤを前記第二の記憶領域に書き込むと共に、前記第二の記憶領域に書き込まれているＩＤが拡張ＩＤであることを示す拡張ＩＤ選択ビットをセットする
請求項６記載のマイクロコンピュータ。
【請求項８】
前記ＣＡＮメッセージバッファアクセス管理部は、
標準ＩＤと、この標準ＩＤをマスクするＩＤマスクとを受け取ると共に、前記標準ＩＤを前記第一の記憶領域に書き込み、前記ＩＤマスクを、前記目的外データとして、前記第二の記憶領域に書き込む
請求項１記載のマイクロコンピュータ。
【請求項９】
ＣＡＮデータ通信バスに接続されるＣＡＮデータ送受信部を更に備え、
前記ＣＡＮメッセージバッファアクセス管理部は、
前記ＣＡＮデータ送受信部が前記ＣＡＮデータ通信バスからＣＡＮ標準フレームを受信したときに、前記ＣＡＮ標準フレームにおける標準ＩＤが、前記第一の記憶領域に書き込まれているＣＡＮ標準ＩＤを、前記第二の記憶領域に書き込まれているＩＤマスクによってマスクしたものと一致する場合には、そのＣＡＮメッセージバッファにおける前記第三の記憶領域に、前記ＣＡＮ標準フレームにおけるＣＡＮ送受信データを書き込む
請求項８記載のマイクロコンピュータ。
【請求項１０】
前記ＣＡＮメッセージバッファアクセス管理部は、
コンピュータでプログラムが動作することによって実現されたものである
請求項１〜３及び８いずれか１項に記載のマイクロコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータに関する。
【背景技術】
【０００２】
１９９３年にＩＳＯ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ）１１８９８として規格化されたＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）という通信プロトコルが知られる。ＣＡＮの仕様は、ＩＳＯのウェブサイトに公開されている（非特許文献１参照）。ＣＡＮは、自動車搭載ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）の分野ではデファクトスタンダードとなっており、その他の分野、航空機、船舶、鉄道車両、エレベータ制御、医療器具、農業機械、織物機械などの分野においても、多岐に亘って用いられている。
【０００３】
ＣＡＮ通信ネットワークは、マルチマスタ方式のバス型ネットワークトポロジをとる。ネットワーク内のデバイスそれぞれにアドレスを割り付ける必要はなく、送受信データに付加されるＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）によって送信者及び受信者を認識する。このＩＤは、バスの優先制御にも用いられ、ＣＡＮデータ通信バスでバス使用権の衝突が起こると、ＣＡＮでは、送受信データに付加されるＩＤによって優先順位を決定する。ＣＡＮでは、１１ビットの標準ＩＤと、１８ビットの拡張ＩＤとが定義されている。
【０００４】
図１は、ＣＡＮ通信ネットワークの構成説明図である。図１において、ＣＡＮデータ通信バスＢ３に、ＣＡＮプロトコルを用いてデータを送受信するマイクロコンピュータ（本願において、単にマイコンともいう。）Ｂ０が接続されている。図中、マイコンＢ０は、ＣＰＵ  Ｂ２と、ＣＡＮデータ通信制御回路Ｂ１とを有している。ＣＡＮデータ通信制御回路Ｂ１は、ＣＡＮ送受信を開始する前に、予め、ＣＰＵ  Ｂ２からＩＤを受け取り、これらをＣＡＮメッセージバッファ部Ｂ１１に書き込む。
【０００５】
ＣＡＮ送信を行う場合、ＣＰＵ  Ｂ２は、ＣＡＮデータ通信制御回路Ｂ１に送信要求を行い、送信データと、この送信データに付加するＩＤとを渡す。ＣＡＮデータ通信制御回路Ｂ１は、ＩＤによって予め決められた記憶領域を特定し、送信データをＣＡＮメッセージバッファ部Ｂ１１に書き込む。ＣＡＮデータ送受信部Ｂ１２は、ＣＡＮメッセージバッファ部Ｂ１１に送信データが書き込まれると、この送信データを読み出して、ＣＡＮデータ通信バスＢ３に送出する。
【０００６】
ＣＡＮ受信を行う場合、ＣＰＵ  Ｂ２は、ＣＡＮデータ通信制御回路Ｂ１に受信要求を行い、受信データに付加されるＩＤを渡す。ＣＡＮデータ通信制御回路Ｂ１は、ＩＤによって予め決められた記憶領域を特定し、受信データがＣＡＮメッセージバッファ部Ｂ１１に書き込まれていた場合には、その受信データをＣＰＵ  Ｂ２へ返す。なお、ＣＡＮデータ送受信部Ｂ１２は、ＣＰＵ  Ｂ２から独立した動作として、ＣＡＮデータ通信バスＢ３からデータを取り込むと、そのＩＤを調べ、自ノード宛のデータであれば、その受信データをＣＡＮメッセージバッファ部Ｂ１１に書き込むことを行っている。
【０００７】
図２は、ＣＡＮメッセージバッファ部Ｂ１１の構成説明図である。図２において、ＣＡＮメッセージバッファ部Ｂ１１は、３２個のメッセージバッファを備えている。図中、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３を参照すると、それぞれ、標準ＩＤを記憶する標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１と、拡張ＩＤを記憶する拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２と、ＣＡＮ送受信データを記憶するＣＡＮ送受信データ記憶領域Ｂ１１１３，Ｂ１１２３，・・・，Ｂ１１３３とを有している。ＣＡＮメッセージバッファ部Ｂ１１は、一般に、ＣＡＮデータ通信制御回路Ｂ１が有するＲＡＭやフリップフロップで成る。
【０００８】
図３Ａ及び図３Ｂは、ＣＡＮ通信フレームの構成説明図である。ＣＡＮ通信フレームでは、標準ＩＤのみを付加する標準フレームフォーマットと、標準ＩＤと拡張ＩＤとを付加する拡張フレームフォーマットとが定義されている。図３Ａに示すように、標準フレームでは、最大６４ビットの送受信データに対して、１１ビットのＩＤが付加されるので、転送効率が比較的良好である。一方、図３Ｂに示すように、拡張フレームでは、最大６４ビットの送受信データに対して、２９ビットのＩＤが付加されるので、拡張フレームを用いると転送効率が低下してしまう。
【０００９】
【非特許文献１】ｈｔｔｐ：／／ｗｗｗ．ｉｓｏ．ｏｒｇ／ｉｓｏ／ｈｏｍｅ．ｈｔｍ
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ＣＡＮ通信ネットワークでは、転送効率を悪化させる拡張フレームを使用せずに、標準フレームを使用してデータを送受信することが多い。一方、図２に示すように、ＣＡＮメッセージバッファ部Ｂ１１には、初期化時に、標準ＩＤを記憶する標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１と、拡張ＩＤを記憶する拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２とが確保される。よって、拡張フレームを使用する場合には、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２が有効利用されるが、拡張フレームを使用しない場合には、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２が使用されないことになり、ハードウェア資源に無駄を生じさせてしまう。しかし、従来の技術では、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２には、拡張ＩＤしか書き込むことができなかった。
【課題を解決するための手段】
【００１１】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１２】
本発明の一つのアスペクトによるマイクロコンピュータ（Ｂ５）は、ＣＡＮメッセージバッファ（Ｂ１１１，Ｂ１１２，・・・，Ｂ１１３）を少なくとも一つ備えるＣＡＮメッセージバッファ部（Ｂ１１）と、ＣＡＮメッセージバッファアクセス管理部（Ｂ６１）とを具備する。ＣＡＮメッセージバッファ（Ｂ１１１，Ｂ１１２，・・・，Ｂ１１３）は、ＣＡＮ標準ＩＤを記憶する第一の記憶領域（Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１）と、ＣＡＮ拡張ＩＤを記憶する第二の記憶領域（Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２）と、ＣＡＮ送受信データを記憶する第三の記憶領域（Ｂ１１１３，Ｂ１１２３，・・・，Ｂ１１３３）とを有する。ＣＡＮメッセージバッファアクセス管理部（Ｂ６１）は、ＣＡＮ拡張ＩＤとは異なる目的外データを受け取り、その目的外データを、ＣＡＮメッセージバッファ（Ｂ１１１，Ｂ１１２，・・・，Ｂ１１３）における第二の記憶領域（Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２）に書き込む。
【００１３】
ＣＡＮメッセージバッファアクセス管理部（Ｂ６１）は、目的外データとして、ＣＡＮ標準ＩＤを受け取り、このＣＡＮ標準ＩＤを、第二の記憶領域（Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２）に書き込むことができる。このように、拡張フレームが使用されないことが多い場面でも、ＣＡＮメッセージバッファ（Ｂ１１１，Ｂ１１２，・・・，Ｂ１１３）における第二の記憶領域（Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２）を有効利用することが可能になる。また、第二の記憶領域（Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２）にＣＡＮ標準ＩＤを書き込むことができるので、ＣＡＮメッセージバッファ（Ｂ１１１，Ｂ１１２，・・・，Ｂ１１３）の個数の２倍の数の標準ＩＤを用いてＣＡＮ通信を行うことができるようになる。
【発明の効果】
【００１４】
本発明によれば、ＣＡＮメッセージバッファ部において、ＣＡＮ拡張ＩＤを記憶する記憶領域を有効利用することができる。
【発明を実施するための最良の形態】
【００１５】
図４は、本発明を実施するための最良の形態の一つによるマイクロコンピュータを含むＣＡＮ通信ネットワークの構成説明図である。図４において、マイコンＢ５には、ＣＡＮデータ通信制御回路Ｂ６が搭載されている。ＣＡＮデータ通信制御回路Ｂ６において、ＣＡＮメッセージバッファアクセス管理部Ｂ６１は、ＣＡＮメッセージバッファ部Ｂ１１へのアクセスを管理し、必要に応じて、ＣＰＵ  Ｂ２とＣＡＮメッセージバッファ部Ｂ１１との間で行われるデータの読み書き動作、及び、ＣＡＮデータ送受信部Ｂ１２とＣＡＮメッセージバッファ部Ｂ１１との間で行われるデータの読み書き動作に介在する。図４のマイコンＢ５は、図１のマイコンＢ０のＣＡＮデータ通信制御回路Ｂ１に、ＣＡＮメッセージバッファアクセス管理部Ｂ６１を追加した構成になっている。
【００１６】
図５は、ＣＡＮメッセージバッファアクセス管理部Ｂ６１の構成説明図である。図５におけるＣＡＮメッセージバッファアクセス管理部Ｂ６１は、標準ＩＤ記憶領域アクセス部Ｂ６１１と、拡張ＩＤ記憶領域アクセス部Ｂ６１２と、拡張ＩＤ記憶領域目的外利用設定部Ｂ６１３とを有している。図５において、標準ＩＤ記憶領域アクセス部Ｂ６１１は、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３における標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１へデータを書き込む機能、及び、そのデータを標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１から読み出す機能を有している。拡張ＩＤ記憶領域アクセス部Ｂ６１２は、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３における拡張ＩＤ記憶領域へデータを書き込む機能、及び、そのデータを拡張ＩＤ記憶領域から読み出す機能を有している。拡張ＩＤ記憶領域目的外利用設定部Ｂ６１３は、拡張ＩＤ記憶領域アクセス部Ｂ６１２が、拡張ＩＤとは異なる目的外データを拡張ＩＤ記憶領域に書き込み、また、その目的外データを拡張ＩＤ記憶領域から読み出すように制御する機能を有している。
【００１７】
図６は、ＣＡＮメッセージバッファアクセス管理部Ｂ６１の動作説明図である。ＣＡＮメッセージバッファアクセス管理部Ｂ６１は、拡張ＩＤとは異なる目的外データを受け取ると（Ｓ１０）、この目的外データを拡張ＩＤ記憶領域に書き込む（Ｓ１２）という動作をとることができる。これにより、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３における拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２には、拡張ＩＤとは異なる目的外データが書き込まれ、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２の有効利用が図られる。もちろん、ＣＡＮメッセージバッファアクセス管理部Ｂ６１は、この目的外データを拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２から読み出す動作をとることも可能である。
【００１８】
本実施の形態によるＣＡＮメッセージバッファアクセス管理部Ｂ６１は、図４に示すように、ＣＡＮデータ通信制御回路Ｂ６の内部に一体のハードウェアとして設けることにしているが、このＣＡＮメッセージバッファアクセス管理部Ｂ６１の機能は、ＣＰＵ  Ｂ２側と、ＣＡＮデータ送受信部Ｂ１２側とに分割することが可能である。従って、ＣＡＮメッセージバッファアクセス管理部Ｂ６１の一部は、ＣＰＵ  Ｂ２に含まれているものであっても良く、また、ＣＡＮメッセージバッファアクセス管理部Ｂ６１の他の一部は、ＣＡＮデータ送受信部Ｂ１２に含まれているものであっても良い。このとき、ＣＰＵ  Ｂ２側で必要となる機能は、プログラムを動作させることによって実現することができる。
【実施例１】
【００１９】
近年の自動車に搭載されるＣＡＮ通信ネットワークをみると、エンジン、自動変速機、ブレーキ、電動パワーステアリング、タイヤ圧、ＡＦＳ（Ａｄａｐｔｉｖｅ  Ｆｒｏｎｔ−Ｌｉｇｈｔｉｎｇ  Ｓｙｓｔｅｍ）ヘッドライト、サスペンション、エアバッグ、ドアロック、カーエアコン、カーナビゲーション、カーオーディオ、ＩＴＳ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｔｒａｎｓｐｏｒｔ  Ｓｙｓｔｅｍｓ）ミリ波レーダーなどを制御する色々な電子制御ユニット（ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  ｃｏｎｔｒｏｌ  ｕｎｉｔ）：車載マイコン）が接続されるようになっている。そのため、ＣＡＮ通信ネットワークを流れる送受信データの種類も多様化している。
【００２０】
ＣＡＮのＩＤは、デバイス単位ではなく、エンジンの回転数といった送受信データの種類ごとに割り振られるものなので、各電子制御ユニットがＣＡＮ通信に用いるＩＤの数は、近年著しく増大するに至っている。しかし、ＩＤ数の増加に対応させてＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３の数を増やし、ＲＡＭやフリップフロップを増設するとなると、コスト高につながる。実施例１では、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３の数を増やすことなく、ＩＤ数の増加に対応できる発明について開示する。
【００２１】
図７は、実施例１におけるＣＡＮメッセージバッファ部の記憶状態を示す説明図である。実施例１におけるＣＡＮメッセージバッファアクセス管理部は、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２に、目的外データとして、標準ＩＤを書き込む機能を有するものである。これにより、実施例１におけるＣＡＮメッセージバッファ部Ｂ１１には、最大で、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３の数の２倍の数の標準ＩＤを書き込むことができるようになる。図７を参照すると、ＣＡＮメッセージバッファ＃１  Ｂ１１１における標準ＩＤ記憶領域Ｂ１１１１には、”標準ＩＤ１０１”が記憶され、拡張ＩＤ記憶領域Ｂ１１１２には、”標準ＩＤ１０２”が記憶されている。ＣＡＮメッセージバッファ＃２  Ｂ１１２における標準ＩＤ記憶領域Ｂ１１２１には、”標準ＩＤ１０３”が記憶され、拡張ＩＤ記憶領域Ｂ１１２２には、”拡張ＩＤ２０１”が記憶されている。ＣＡＮメッセージバッファ＃３２  Ｂ１１３における標準ＩＤ記憶領域Ｂ１１３１には、”標準ＩＤ１０４”が記憶され、拡張ＩＤ記憶領域Ｂ１１３２には、何れのＩＤも記憶されていない。
【００２２】
図８は、実施例１におけるＣＡＮメッセージバッファアクセス管理部の動作説明図である。図８において、ＣＡＮメッセージバッファアクセス管理部は、ＣＡＮ送受信を開始する前に、予め、ＣＰＵ  Ｂ２からＩＤを受け取ると（Ｓ２０）、拡張ＩＤありか否かを判定する（Ｓ２２）。標準ＩＤと拡張ＩＤとがある場合には、標準ＩＤを標準ＩＤ記憶領域に記憶し、拡張ＩＤを拡張ＩＤ記憶領域に記憶する（Ｓ２４）。一方、標準ＩＤのみの場合には、標準ＩＤを、標準ＩＤ記憶領域又は拡張ＩＤ記憶領域のいずれかに記憶する（Ｓ２６）。
【００２３】
標準ＩＤを、標準ＩＤ記憶領域又は拡張ＩＤ記憶領域のいずれかに記憶する場合には（Ｓ２６）、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３の効率的な使用の観点からすると、標準ＩＤ記憶領域及び拡張ＩＤ記憶領域の双方が空になっているＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３よりも、標準ＩＤ記憶領域に既に他の標準ＩＤが書き込まれていて、拡張ＩＤ記憶領域のみが空になっているＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３を選択し、後者のＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３における拡張ＩＤ記憶領域に、その標準ＩＤを書き込むようにするのが望ましい。また、標準ＩＤ記憶領域及び拡張ＩＤ記憶領域の双方が空になっているＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３に標準ＩＤを記憶する場合には、制御を容易にする観点から、拡張ＩＤ記憶領域よりも標準ＩＤ記憶領域の方に、その標準ＩＤを書き込むようにするのが好ましい。
【００２４】
実施例１においては、拡張ＩＤ記憶領域に標準ＩＤが書き込まれているＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３と、拡張ＩＤ記憶領域に拡張ＩＤが書き込まれているＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３とが混在する可能性がある。そこで、実施例１では、拡張ＩＤ記憶領域にＩＤが書き込まれている場合に、そのＩＤが標準ＩＤであるのか、拡張ＩＤであるのかを区別する仕組みを設ける。
【００２５】
また、標準ＩＤが付加された送受信データを書き込むべきＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３を検索するときには、標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１の標準ＩＤを検索するだけでなく、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２の標準ＩＤも検索する必要がある。そこで、実施例１では、一つのＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３から、二つの標準ＩＤを読み出すことを可能にする仕組みを設ける。
【００２６】
それから、ＣＡＮ送受信データ記憶領域Ｂ１１１３，Ｂ１１２３，・・・，Ｂ１１３３に、標準ＩＤを付加されたＣＡＮ送受信データを書き込む場合には、標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１の標準ＩＤ又は拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２の標準ＩＤのいずれかと一致する標準ＩＤを付加されたＣＡＮ送受信データを書き込むことができる。そこで、実施例１では、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３におけるＣＡＮ送受信データ記憶領域Ｂ１１１３，Ｂ１１２３，・・・，Ｂ１１３３に、標準ＩＤを付加されたＣＡＮ送受信データを書き込んだ場合には、どちらの標準ＩＤを付加されたＣＡＮ送受信データを書き込んだのかを識別する仕組みを設ける。
【００２７】
図９は、ＣＡＮメッセージバッファからＩＤを読み出す回路構成説明図である。図９において、標準ＩＤ記憶領域Ｃ１は、第一の標準ＩＤ〔標準ＩＤ１〕を記憶する。拡張ＩＤ記憶領域Ｃ２は、拡張ＩＤ又は第二の標準ＩＤ〔標準ＩＤ２〕のいずれかを記憶する。信号線Ｃ３は、拡張ＩＤ選択信号を伝達する。拡張ＩＤ選択信号は、後述する拡張ＩＤ選択ビットに追随し、拡張ＩＤ選択ビットが１のときにオンになり、０のときにオフになる。拡張ＩＤ選択ビットは、拡張ＩＤ記憶領域Ｃ２に拡張ＩＤを書き込んだときに０から１に反転し、拡張ＩＤ記憶領域Ｃ２に拡張ＩＤを書き込んだことを記録する。
【００２８】
セレクタＣ７は、拡張ＩＤ選択信号がオフのときには、信号線Ｃ５を選択し、拡張ＩＤ選択信号がオンのときには、信号線Ｃ６を選択する。信号線Ｃ４は、第一の標準ＩＤ〔標準ＩＤ１〕を伝達し、信号線Ｃ５は、第二の標準ＩＤ〔標準ＩＤ２〕を伝達し、信号線Ｃ６は、拡張ＩＤを伝達する。拡張ＩＤ選択信号のオン／オフに応じて、拡張ＩＤ又は〔標準ＩＤ２〕のいずれかが読み出される。
【００２９】
図１０は、ＩＤ２有効フラグの説明図である。ＣＡＮ送受信データ記憶領域Ｂ１１１３，Ｂ１１２３，・・・，Ｂ１１３３にＣＡＮ送受信データが書き込まれていないとき、ＩＤ２有効フラグは、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２に、標準ＩＤが書き込まれているか否かを表示する。拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２に標準ＩＤが書き込まれているときにオンになり、標準ＩＤが書き込まれていないときにオフになる。
【００３０】
一方、ＣＡＮ送受信データ記憶領域Ｂ１１１３，Ｂ１１２３，・・・，Ｂ１１３３にＣＡＮ送受信データが書き込まれているとき、ＩＤ２有効フラグは、そのＣＡＮ送受信データに付加された標準ＩＤが、標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１の標準ＩＤであるか、或いは、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２の標準ＩＤであるかを表示する。標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１の標準ＩＤである場合には、オフになり、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２の標準ＩＤである場合には、オンになる。
【００３１】
ＣＡＮ通信プロトコルの仕様に基づいて、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２は、１８ビットの大きさを有している。ここに１１ビットの標準ＩＤを書き込んだ場合、７ビットの領域が未使用になる。図１０に示すように、実施例１では、この７ビットの未使用領域にＩＤ２有効フラグを格納するようにしている。なお、図１０では、ＩＤ２有効フラグを１ビットとしているが、ＩＤ２有効フラグは２ビットとしても良い。このとき、一方のビットを、ＣＡＮ送受信データ記憶領域Ｂ１１１３，Ｂ１１２３，・・・，Ｂ１１３３にＣＡＮ送受信データが書き込まれていないときのＩＤ２有効フラグとし、他方のビットを、ＣＡＮ送受信データ記憶領域Ｂ１１１３，Ｂ１１２３，・・・，Ｂ１１３３にＣＡＮ送受信データが書き込まれているときのＩＤ２有効フラグとすることができる。
【００３２】
図１１は、拡張ＩＤ選択ビットと、ＩＤ２有効フラグとを使用するＩＤ一致判定回路の構成説明図である。ＣＡＮデータ送受信部Ｂ１２が、ＣＡＮデータ通信バスＢ３からＣＡＮフレームを受信すると、ＣＡＮデータ通信制御回路は、自ノード宛のＣＡＮフレームであるか否かを調べるために、ＩＤを比較し、ＩＤ一致を判定する。受信したＣＡＮフレームのＩＤと、いずれかのＣＡＮメッセージバッファのＩＤとが一致した場合には、そのメッセージバッファにおけるＣＡＮ送受信データ記憶領域に、ＣＡＮフレームにおける送受信データを書き込む。
【００３３】
図１１に示すように、拡張ＩＤ選択ビット〔ＩＤＥ（ＩＤ  Ｅｘｔｅｎｓｉｏｎ）〕と、ＩＤ２有効フラグ〔ＩＤ２〕とが、ＩＤ一致判定回路の入力に用いられている。図中、受信したＣＡＮフレームの拡張ＩＤ選択ビットが０のとき、ＩＤ一致判定回路は、受信したＣＡＮフレームの標準ＩＤを、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３における標準ＩＤと比較する。このとき、ＩＤ２有効フラグがオフになっていたら、標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１の標準ＩＤとのみの比較を行う。
【００３４】
一方、ＩＤ２有効フラグがオンになっていたら、標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１の標準ＩＤとの比較を行うと共に、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２の標準ＩＤとの比較も行う（ＩＤ２の比較回路を追加）。そして、標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１の標準ＩＤと、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２の標準ＩＤとのどちらか一方が一致すれば、ＩＤ一致と判定する（点線縦長楕円で囲まれた論理）。
【００３５】
図１１において、受信したＣＡＮフレームの拡張ＩＤ選択ビットが１のときには、ＩＤ一致判定回路は、拡張ＩＤ選択ビットが１のＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３について、ＩＤの比較を行う。ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３の拡張ＩＤ選択ビットが１の場合、ＩＤ一致判定回路は、受信したＣＡＮフレームにおける標準ＩＤと拡張ＩＤとを、該当するＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３における標準ＩＤと拡張ＩＤと比較し、ＩＤ一致を判定する。
【００３６】
図１２は、ＣＡＮデータ通信バスからＣＡＮフレームを受信したときの動作説明図である。図１２において、ＣＡＮデータ送受信部Ｂ１２が、ＣＡＮデータ通信バスＢ３からＣＡＮフレームを受信すると（Ｓ３０）、受信したＣＡＮフレームが、標準フレームであるか、拡張フレームであるかを判定する（Ｓ３２）。この判定は、ＣＡＮフレームの拡張ＩＤ選択ビットを参照すればよい。そして、標準フレームであると判定した場合には、標準フレームの受信処理を行う（Ｓ３４）。一方、拡張フレームであると判定した場合には、拡張フレームの受信処理を行う（Ｓ３６）。
【００３７】
図１３は、標準フレームの受信処理Ｓ３４の詳細説明図である。受信した標準フレームの標準ＩＤは、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３の標準ＩＤと比較される。図１３においては、まず、標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１の標準ＩＤ〔標準ＩＤ１（信号線Ｃ４より）〕との比較を行い、標準ＩＤが一致するか否かを判定している（Ｓ４０）。一致した場合には、ＩＤ２有効フラグをクリアし（Ｓ４２）、受信した標準フレームにおける送受信データを、ＣＡＮ送受信データ記憶領域Ｂ１１１３，Ｂ１１２３，・・・，Ｂ１１３３に書き込む（Ｓ４８）。
【００３８】
受信した標準フレームの標準ＩＤと、標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１の標準ＩＤとが一致しない場合において、ＩＤ２有効フラグがオンのときには、受信した標準フレームの標準ＩＤと、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２の標準ＩＤ〔標準ＩＤ２（信号線Ｃ５より）〕との比較を行い、標準ＩＤが一致するか否かを判定する（Ｓ４４）。一致した場合には、ＩＤ２有効フラグをセットし（Ｓ４６）、受信した標準フレームにおける送受信データを、ＣＡＮ送受信データ記憶領域Ｂ１１１３，Ｂ１１２３，・・・，Ｂ１１３３に書き込む（Ｓ４８）。
【００３９】
受信した標準フレームの標準ＩＤが、標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１の標準ＩＤと一致せず、かつ、拡張ＩＤ記憶領域の標準ＩＤとも一致しなかった場合には、エラーとする。図１３に説明した処理（Ｓ４０〜Ｓ４８）は、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３ごとに行う。全てのＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３についてエラーとなった場合には、受信した標準フレームは自ノード宛ではないので、廃棄する。
【００４０】
拡張フレームの受信処理（Ｓ３６）においては、拡張ＩＤ記憶領域に拡張ＩＤが書き込まれているメッセージバッファそれぞれについて、標準ＩＤの一致と、拡張ＩＤの一致とが判定される。そして、双方のＩＤが一致したＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３におけるＣＡＮ送受信データ記憶領域Ｂ１１１３，Ｂ１１２３，・・・，Ｂ１１３３に、受信した拡張フレームにおける送受信データを書き込む。なお、双方のＩＤが一致するＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３が無かった場合には、受信した拡張フレームは自ノード宛ではないので、廃棄する。
【実施例２】
【００４１】
図１４は、実施例２におけるＣＡＮメッセージバッファ部の記憶状態を示す説明図である。実施例２におけるＣＡＮメッセージバッファアクセス管理部は、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２に、目的外データとして、標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１の標準ＩＤをマスクするマスクＩＤを書き込む機能を有している。標準ＩＤがマスクＩＤによってマスクされた場合、マスクされたそれぞれのビットはドント・ケアになるので、実施例２では、多数の標準ＩＤによって、一つのＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３を共用することが可能になる。
【００４２】
図１４では、全てのＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３の拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２にＩＤマスクが書き込まれた状態を示しているが、実施例１と同様に、拡張ＩＤ選択ビット〔ＩＤＥ〕を用いて、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２を、拡張ＩＤとＩＤマスクとで共用することが可能である。この場合、ＣＡＮデータ通信バスＢ３から拡張フレームを受信したとき、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３の拡張ＩＤ選択ビット〔ＩＤＥ〕がオンのときには、標準ＩＤと拡張ＩＤとを比較し、ＩＤ一致を判定することができる。
【００４３】
また、ＣＡＮデータ通信バスＢ３から標準フレームを受信した場合において、ＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３の拡張ＩＤ選択ビット〔ＩＤＥ〕がオフのときには、標準ＩＤのみの比較を行い、ＩＤ一致を判定することができる。このとき、拡張ＩＤ記憶領域にＩＤマスクが書き込まれていたときには、標準ＩＤをＩＤマスクでマスクしたものを比較対象として、標準フレームにおける標準ＩＤの一致を判定することができる。
【００４４】
実施例２では、実施例１におけるＩＤ２有効フラグと同様に、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２にＩＤマスクを書き込んだことを表示するＩＤマスク有効フラグを設けることもできる。ＩＤマスク有効フラグがオンのときには、拡張ＩＤ記憶領域からＩＤマスクを読み出し、標準ＩＤをマスクしてＩＤの比較を行い、ＩＤ一致の判定を行うことができる。ＩＤマスク有効フラグがオフのときには、標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１から読み出した標準ＩＤのみで、ＩＤ一致を判定することができる。
【００４５】
実施例２の変形例として、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２に、標準ＩＤ記憶領域Ｂ１１１１，Ｂ１１２１，・・・，Ｂ１１３１に記憶された標準ＩＤの属性を書き込むＣＡＮメッセージバッファアクセス管理部を設けることもできる。標準ＩＤの属性としては、ＣＡＮ通信プロトコルの仕様で定められた優先順位とは別個独立した緊急度属性などが考えられる。標準ＩＤの属性を新たに定義し、その属性を拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２に記憶することで、さまざまな付加価値通信への途が開かれる。
【実施例３】
【００４６】
図１５は、実施例３におけるＣＡＮメッセージバッファ部の記憶状態を示す説明図である。実施例３におけるＣＡＮメッセージバッファアクセス管理部は、目的外データとして、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２に、ＤＭＡ転送先を書き込む機能を有している。図中、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２のＤＭＡ転送先は、ＤＭＡ転送データ記憶領域Ｂ１５１の転送データの宛て先アドレスとなる。図中、破線で示すように、ＤＭＡ転送データ記憶領域Ｂ１５１の転送データと、拡張ＩＤ記憶領域Ｂ１１１２，Ｂ１１２２，・・・，Ｂ１１３２のＤＭＡ転送先とは関連付けられている。
【００４７】
実施例３におけるＣＡＮメッセージバッファ部Ｂ１１は、３２個のＣＡＮメッセージバッファＢ１１１，Ｂ１１２，・・・，Ｂ１１３を備えているので、実施例３では、転送データを、最大で３２個のＤＭＡ転送先に同報通信することが可能である。なお、図１５の記憶状態では、一つの転送データに、３２個のＤＭＡ転送先が関連付けられているが、もちろん、二つの転送データに、最大１６個ずつのＤＭＡ転送先を関連付けたり、四つの転送データに、最大８個ずつのＤＭＡ転送先を関連付けたりすることもできる。
【図面の簡単な説明】
【００４８】
【図１】ＣＡＮ通信ネットワークの構成説明図
【図２】ＣＡＮメッセージバッファ部Ｂ１１の構成説明図
【図３Ａ】ＣＡＮ標準フレームの構成説明図
【図３Ｂ】ＣＡＮ拡張フレームの構成説明図
【図４】本発明を実施するための最良の形態の一つによるマイクロコンピュータを含むＣＡＮ通信ネットワークの構成説明図
【図５】ＣＡＮメッセージバッファアクセス管理部Ｂ６１の構成説明図
【図６】ＣＡＮメッセージバッファアクセス管理部Ｂ６１の動作説明図
【図７】実施例１におけるＣＡＮメッセージバッファ部の記憶状態を示す説明図
【図８】実施例１におけるＣＡＮメッセージバッファアクセス管理部の動作説明図
【図９】ＣＡＮメッセージバッファからＩＤを読み出す回路構成説明図
【図１０】ＩＤ２有効フラグの説明図
【図１１】拡張ＩＤ選択ビットと、ＩＤ２有効フラグとを使用するＩＤ一致判定回路の構成説明図
【図１２】ＣＡＮフレームを受信したときの動作説明図
【図１３】標準フレームの受信処理Ｓ３４の詳細説明図
【図１４】実施例２におけるＣＡＮメッセージバッファ部の記憶状態を示す説明図
【図１５】実施例３におけるＣＡＮメッセージバッファ部の記憶状態を示す説明図
【符号の説明】
【００４９】
Ｂ１１  ＣＡＮメッセージバッファ部
Ｂ５  マイコン
Ｂ６  ＣＡＮデータ通信制御回路
Ｂ６１  ＣＡＮメッセージバッファアクセス管理部
【図１】
2009282612.tif 000003
【図２】
2009282612.tif 000004
【図３Ａ】
2009282612.tif 000005
【図３Ｂ】
2009282612.tif 000006
【図４】
2009282612.tif 000007
【図５】
2009282612.tif 000008
【図６】
2009282612.tif 000009
【図７】
2009282612.tif 000010
【図８】
2009282612.tif 000011
【図９】
2009282612.tif 000012
【図１０】
2009282612.tif 000013
【図１１】
2009282612.tif 000014
【図１２】
2009282612.tif 000015
【図１３】
2009282612.tif 000016
【図１４】
2009282612.tif 000017
【図１５】
2009282612.tif 000018