(57)【特許請求の範囲】
【請求項１】
ネットワークを介してデータ通信を実現するための通信手段と、
前記通信手段によって受信された通信データが記憶される所定数の記憶領域を有したデータ記憶手段と、
前記データ記憶手段に記憶された前記通信データに基づく処理を実行可能な処理実行手段とを備えたマイクロコンピュータにおいて、
さらに、選別手段と、転送手段とを備え、
前記通信データは、送信元の装置を特定するための又はデータの種類を特定するための識別情報とデータ本体とから構成されており、
前記データ記憶手段には、相対的に低優先度なデータのための第一の記憶領域と、相対的に高優先度なデータのための第二の記憶領域とが少なくとも設けられ、
前記選別手段は、前記識別情報に基づき前記通信データを、前記第一の記憶領域へ記憶させるデータと前記第二の記憶領域に記憶させるデータとに選別し、
前記転送手段は、前記データ記憶手段の前記第一の記憶領域に記憶された前記通信データを、前記処理実行手段により利用されるＲＡＭへ、前記処理実行手段を介さず、転送先の記憶領域が重複しないように転送し、
前記処理実行手段は、前記第一の記憶領域に記憶される前記通信データに基づく処理については、前記ＲＡＭに記憶された前記通信データに基づいて実行すること
を特徴とするマイクロコンピュータ。
【請求項２】
請求項１に記載のマイクロコンピュータにおいて、
前記転送手段は、ＤＭＡコントローラとして実現されていること
を特徴とするマイクロコンピュータ。
【請求項３】
請求項１又は２に記載のマイクロコンピュータにおいて、
前記転送手段は、前記通信データを何回転送したかを示す転送回数を保持していること
を特徴とするマイクロコンピュータ。
【請求項４】
請求項３に記載のマイクロコンピュータにおいて、
前記転送手段は、
前記転送回数に対する上限値を保持しており、
前記転送回数が前記上限値に等しくなると、前記通信データの転送を自動的に停止すること
を特徴とするマイクロコンピュータ。
【請求項５】
請求項３又は４に記載のマイクロコンピュータにおいて、
前記転送手段は、
前記転送回数に対する設定値を保持しており、
前記転送回数が前記設定値に等しくなると、前記処理実行手段へその旨を通知可能であること
を特徴とするマイクロコンピュータ。
【請求項６】
請求項１〜５のいずれかに記載のマイクロコンピュータにおいて、
前記転送手段は、前記処理実行手段からの転送停止指示があると、前記通信データの転送を停止すること
を特徴とするマイクロコンピュータ。
【請求項７】
請求項１〜６のいずれかに記載のマイクロコンピュータにおいて、
前記転送手段は、前記処理実行手段からの転送許可指示があると、前記通信データを転送可能な状態になること
を特徴とするマイクロコンピュータ。
【請求項８】
請求項１〜７のいずれかに記載のマイクロコンピュータにおいて、
前記データ記憶手段の前記第一の記憶領域を特定するための情報が転送元情報として設定可能であり、
前記転送手段は、前記転送元情報で特定される前記記憶領域に前記通信データが記憶されると、前記通信データの転送を行うこと
を特徴とするマイクロコンピュータ。
【請求項９】
請求項１〜８のいずれかに記載のマイクロコンピュータにおいて、
前記通信手段を介した前記通信データの受信と共に、前記通信データの送信が可能であること
を特徴とするマイクロコンピュータ。
【請求項１０】
請求項１〜９のいずれかに記載のマイクロコンピュータにおいて、
前記ネットワークは、車両内ＬＡＮとして実現されていること
を特徴とするマイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば車両内ＬＡＮといったネットワークで接続されたマイクロコンピュータ（以下適宜「マイコン」という。）間における通信技術に関する。
【０００２】
【従来の技術】
近年、高性能マイクロプロセッサの出現などエレクトロニクス技術の進歩を背景として、機械技術と電子技術とが結びついたメカトロニクス技術の進歩が著しい。メカトロニクスの進歩の一部として、自動車等の車両にも多くのコンピュータシステムが採用されてきている。このような車載用のコンピュータシステムは、電子制御装置（以下「ＥＣＵ」という。）の単位で、車両内のエンジン・駆動系、走行・安全系、エンターテイメント系、及び、その他の随所に搭載されている。
【０００３】
そして、車両全体でより適切な制御を行うためには、上述したＥＣＵ間での情報交換、すなわちデータ通信を行う必要がある。そのため、車両内ＬＡＮ（Local Area Network）などのネットワークを介して、各ＥＣＵが相互に接続される構成が採用されるに至った。
【０００４】
ここで、車両内ＬＡＮを介してデータ通信可能にされたＥＣＵの構成について説明する。
ＥＣＵは通常、入出力回路とマイコンとを備えるのが一般的であるが、上述したようなネットワーク通信を実現するため、入出力回路の一つとして、ドライバを備える。例えば図４に示すようにＥＣＵ１００は、車両内ＬＡＮ９０に接続されるドライバ１１０と、マイコン１２０とを少なくとも備えるという具合である。マイコン１２０は、ＣＰＵ１３０、ＲＯＭ１４０、ＲＡＭ１５０、ＬＡＮブロック１６０を有しており、このＬＡＮブロック１６０が、ドライバ１１０を介して、車両内ＬＡＮ９０から通信データを取得したり、または、車両内ＬＡＮ９０へ通信データを送出したりする。
【０００５】
本発明は、車両内ＬＡＮ９０からの通信データの取得に係るものであるため、ＬＡＮブロック１６０を介した通信データの受信について、さらに詳しく説明する。
ＬＡＮブロック１６０は、メッセージＢＯＸ１６０ａ、プロトコルコントローラ１６０ｂ、及びフィルタ回路１６０ｃを備えている。この例では、メッセージＢＯＸ１６０ａは１６個用意されている。車両内ＬＡＮ９０の通信データは、送信元ＥＣＵのアドレスやデータの種類等を示す識別情報（以下「ＩＤ」という。）とデータ本体とから構成され、メッセージと呼ばれる。メッセージＢＯＸ１６０ａはこのため、ＩＤとデータ本体とがペアで記憶できる構造になっている。なお、図４では、各メッセージＢＯＸ１６０ａを説明上特定できるように「０」〜「１５」の番号を便宜的に割り振った。
【０００６】
ドライバ１１０によってネットワークから取得されたメッセージは、まずプロトコルコントローラ１６０ｂで解読され、フィルタ回路１６０ｃによって選別される。フィルタ回路１６０ｃは、論理回路であり、上述したＩＤに基づいてメッセージを選別する。これによってメッセージは、番号「０」〜「１５」のいずれかのメッセージＢＯＸ１６０ａに記憶される。
【０００７】
そして、ＣＰＵ１３０は、ＬＡＮブロック１６０からのメッセージ受信を示す割込信号に基づき、上述したメッセージＢＯＸ１６０ａからメッセージを読み出し、例えばＲＡＭ１５０に展開して、そのメッセージに基づく処理を実行する。
【０００８】
【発明が解決しようとする課題】
ところが、ＣＰＵ１３０は、車両内ＬＡＮ９０からのメッセージだけに基づき動作するものではなく、他の入力回路からの信号に基づく動作をも行う。したがってＣＰＵ１３０は、タスクディスパッチなどの処理切り換え動作を行い、リアルタイム性が高い処理を優先的に実行する。その結果、受信したメッセージの処理優先順位が相対的に低いと、割込信号を受けた場合であっても、即座にメッセージＢＯＸ１６０ａからメッセージを取得できない状況が発生する。
【０００９】
一方、車両内ＬＡＮ９０における通信速度は、例えば数Ｍｂｐｓという具合に高速化されてきた。
そのため、あるメッセージＢＯＸ１６０ａからＣＰＵ１３０がメッセージを取り出す前に、次に受信されたメッセージがそのメッセージＢＯＸ１６０ａに上書きされてしまうという事態が発生する。つまり、ＣＰＵ１３０によるメッセージの取りこぼしが発生してしまうのである。このようなメッセージの取りこぼしは、制御性能の悪化を招き、性能面や安全面から好ましくない。
【００１０】
このようなメッセージの取りこぼしを防止するために従来より、例えば処理優先順位のそれほど高くないメッセージ群の保存のために複数のメッセージＢＯＸを割り当てておき、これら複数のメッセージＢＯＸの中の空いている記憶領域にメッセージを記憶することが行われている。
【００１１】
図４で言えば、例えば番号「１」〜「１３」の１３個のメッセージＢＯＸ１６０ａを処理優先順位のそれほど高くないメッセージ群に割り当て、フィルタ回路１６０ｃでメッセージを選別して、そのメッセージ群に属するメッセージを１３個のメッセージＢＯＸ１６０ａの中の空いているメッセージＢＯＸ１６０ａに記憶するという具合である。これによって、ＣＰＵ１３０によるメッセージの読み出しが遅れても、１３個までのメッセージが保存されることになり、メッセージの取りこぼしを防止できる。
【００１２】
しかしながら、メッセージＢＯＸの個数は全体で１６個というように有限であるため、受信するメッセージの種類が多い場合や通信速度が比較的大きな場合は、１３個というように割り当てられたメッセージＢＯＸが全て使用されてしまうという状況が発生する。その場合には結局、上述したような、メッセージの上書きが発生し、ＣＰＵ１３０によるメッセージの取りこぼしが生じてしまう。
【００１３】
これを解決するためにはメッセージＢＯＸの個数を増やすという手法が考えられるが、次のような理由から現実的ではない。
メッセージＢＯＸの必要数は、メッセージを受信する頻度によっても、また、受信対象となるメッセージの数によっても、変わってくる。そこで例えば、どのような仕様であっても使えるように、十分な数のメッセージＢＯＸを確保しようとすれば、ＬＡＮブロックの構成が大型化してしまい、マイコンの、ひいてはＥＣＵの大型化を招く。また、このようなメッセージＢＯＸの拡張は、ＬＡＮを介した通信機能の拡張でしかなく、マイコンの汎用性が向上するわけではない。したがって、コスト面でのデメリットが大きくなってしまう。
【００１４】
本発明は、メッセージＢＯＸと呼ばれるデータ記憶手段の記憶領域を直接的に拡張することなく、通信データの取りこぼしをなくすことを目的とし、制御性能の悪化防止に寄与する。
【００１５】
【課題を解決するための手段及び発明の効果】
上述した目的を達成するためになされた請求項１に記載のマイクロコンピュータは、通信手段、データ記憶手段、処理実行手段、選別手段、転送手段を備えている。通信手段は、ネットワークを介してデータ通信を実現するための構成であり、例えば上述したプロトコルコントローラとして具体化できる。データ記憶手段は、受信された通信データが記憶される記憶領域であって、相対的に低優先度なデータのための第一の記憶領域と、相対的に高優先度なデータのための第二の記憶領域とが少なくとも設けられた記憶領域である。処理実行手段は、ＣＰＵを用いて実現することが考えられ、データ記憶手段に記憶された通信データに基づく処理を実行可能である。
【００１６】
また、通信データは、送信元の装置を特定するための又はデータの種類を特定するための識別情報とデータ本体とから構成されており、選別手段は、その識別情報に基づき通信データを第一の記憶領域へ記憶させるデータと第二の記憶領域に記憶させるデータとに選別する。また、転送手段は、データ記憶手段の第一＊の記憶領域に記憶された通信データを転送する。その転送先は、処理実行手段によって利用されるＲＡＭである。この転送手段は、処理実行手段を介さずに、また、転送先の記憶領域が重複しないように、通信データを転送する。「処理実行手段を介さず」とは、処理実行手段による各種処理と独立して転送処理を行うことが可能であることを意味する。また「転送先の記憶領域が重複しないように」するのは、転送時における上書きを防止する意図である。このような転送手段は、例えばＤＭＡコントローラとして実現することが考えられる（請求項２）。
【００１７】
処理実行手段は、基本的にはデータ記憶領域から通信データを読み出して当該通信データに基づく処理を実行するが、第一の記憶領域に記憶される通信データに基づく処理については、ＲＡＭに記憶された通信データに基づいて実行する。
【００１８】
ＲＡＭには、十分な記憶領域が確保できる可能性が高い。したがって、このようなＲＡＭへの転送という技術思想を採用することにより、通信データの受信頻度やその数に合わせた、データ記憶手段の記憶領域の見かけ上の拡張が可能になるのである。
【００１９】
これによって、データ記憶手段の記憶領域を実際に拡張することなく、通信データの取りこぼしをなくすことができる。その結果、制御性能の悪化防止に寄与できる。
この構成では、ＤＭＡコントローラといった転送手段が必要になるが、このような転送手段は、通常、ソフトウェア的な変更によって、他のデータ転送にも汎用的に利用できる。その結果、データ記憶手段の記憶領域を拡張する場合と比較して、具体的にはＬＡＮブロックにおけるメッセージＢＯＸの個数を増やす場合と比べて、転送手段の追加は、汎用機能の追加である点で、コスト面からも有利である。また、マイコンには、ＤＭＡコントローラを予め備えたものが従来より存在する。したがって、このようなマイコンを用いＤＭＡコントローラを転送手段として機能拡張すれば、ソフトウェア的な変更のみで転送手段が実現され、大幅にコストを抑えることができる。
【００２０】
なお、ＲＡＭに確保可能な記憶領域も当然ながら有限であるため、転送手段による転送が繰り返し行われると、ＲＡＭの記憶領域を圧迫することになりかねない。
そこで転送手段による通信データの転送の回数を制御可能にすることが考えられる。
【００２１】
例えば、転送手段は、通信データを何回転送したかを示す転送回数を保持するようにするとよい（請求項３）。この転送回数に基づけば、通信データの転送の回数を制限できるからである。
具体的には、転送回数に対する上限値を転送手段が保持する構成とし、転送回数がこの上限値に等しくなると、通信データの転送を自動的に停止するように構成することが考えられる（請求項４）。
【００２２】
あるいは、処理実行手段で転送の回数を把握できるようにするため、例えば、転送回数に対する設定値を保持する構成とし、転送回数が設定値に等しくなると、処理実行手段へその旨を通知可能に構成することが考えられる（請求項５）。ここで「通知可能」としたのは、必ず通知する構成としてもよいし、設定によって通知する構成としてもよいためである。後者では、通知する／通知しないといった情報を転送手段が有するようにし、この情報に基づいて処理実行手段への通知を行うようにすればよい。また、上限値や設定値は、例えば処理実行手段から任意に設定変更できる構成とすることが好ましい。
【００２３】
そして、このように処理実行手段で転送の回数を把握できる構成とする場合を含めて、処理実行手段からの転送停止指示があると、通信データの転送を停止するよう転送手段を構成することが望ましい（請求項６）。これは、不適切な転送処理が何等かの要因で行われた場合に途中で止められるように、転送手段を処理実行手段の管理下におくという思想である。
【００２４】
これらの構成を採用すれば、ＲＡＭの記憶領域を不適切な転送で圧迫することがなくなり、通信データの適切な転送が実現できる。
ところで、上述したように転送手段を処理実行手段の管理下におくという思想の下では、転送処理の許可についても同様に考えることができる。すなわち、処理実行手段からの転送許可指示があると通信データを転送可能な状態になるように、転送手段を構成することが考えられる（請求項７）。
【００２５】
なお、実際の転送は、データ記憶手段の第一の記憶領域に通信データが記憶された時点から次の通信データが上書きされるまでの期間に行えばよい。
例えば、データ記憶手段の特定の記憶領域を特定するための情報が転送元情報として設定可能であることを前提に、転送手段は、転送元情報で特定される記憶領域に通信データが記憶されると、通信データの転送を行うことが考えられる（請求項８）。この転送元情報は、例えば転送手段が保持するものとすればよい。
【００２８】
なお、以上は通信データの受信機能について説明してきたが、もちろん、通信手段を介した通信データの受信と共に、通信データの送信が可能である構成とするのが一般的である（請求項９）。また、上述したネットワークは、一例として、車両内ＬＡＮとして実現することが考えられる（請求項１０）。この場合、車両に搭載されたドアや窓などがマイクロコンピュータの制御対象になる。
【００２９】
【発明の実施の形態】
以下、本発明を具体化した一実施例を図面を参照して説明する。
図１は、実施例の車両制御システムを示す概念図である。車両制御システムは、車両に搭載されて用いられ、複数のＥＣＵ１０と、ＥＣＵ１０間のデータ通信を実現するための車両内ＬＡＮ９０とを備えている。各ＥＣＵ１０は、例えばドアや窓といった種々の制御対象を制御し、車両内のボデー系・エンジン・駆動系、走行・安全系、エンターテイメント系、及び、その他の随所に搭載されている。このためＥＣＵ１０は、制御対象を制御するための所定のプログラムを実行可能に構成されており、さらに、車両全体のより適切な制御を可能にするため、必要に応じて相互に車両内ＬＡＮ９０を介したデータ通信を行う。
【００３０】
本実施例の車両制御システムは、このような車両内ＬＡＮ９０を介したデータ通信に特徴を有するものである。そこで次に、データ通信という観点で、ＥＣＵ１０の構成を説明する。
ＥＣＵ１０は、ドライバ１１とマイコン１２とを備えている。ドライバ１１は、車両内ＬＡＮ９０にマイコン１２を接続するための構成である。一方マイコン１２は、周知のコンピュータシステムであり、本発明の「マイクロコンピュータ」を具体化したものである。マイコン１２は、「処理実行手段」としてのＣＰＵ１３、プログラム記憶手段としてのＲＯＭ１４、「一時記憶手段」としてのＲＡＭ１５、ＬＡＮブロック１６、及び「転送手段」としてのＤＭＡコントローラ１７を有している。
【００３１】
ＬＡＮブロック１６は、メッセージＢＯＸ１６ａ、プロトコルコントローラ１６ｂ、及びフィルタ回路１６ｃを備えている。
車両内ＬＡＮ９０を介して送受信される通信データは、ＩＤとデータ本体とから構成され、メッセージと呼ばれる。メッセージＢＯＸ１６ａは、このような送信メッセージ、あるいは、受信メッセージを保持するための記憶領域である。したがって、図２中では、ＩＤとＤＡＴＡがペアで記憶できる構造を模式的に示した。また、メッセージＢＯＸ１６ａを特定するために、「０」〜「１５」の番号を割り振った。
【００３２】
プロトコルコントローラ１６ｂは、プロトコル（通信規約）に応じたメッセージ処理を行う。具体的には、送信用に設定されたメッセージＢＯＸ１６ａに記憶されたメッセージをドライバ１１へ出力する。本実施例では番号「０」の１個のメッセージＢＯＸ１６ａが送信用に割り当てられている。
【００３３】
また、プロトコルコントローラ１６ｂは、ドライバ１１を介して受信されるメッセージを解読し、フィルタ回路１６ｃによる選別結果に従い、受信用のメッセージＢＯＸ１６ａに記憶する。本実施例では、番号「１」〜「１５」の１５個のメッセージＢＯＸ１６ａが受信用に割り当てられている。
【００３４】
したがって、プロトコルコントローラ１６ｂが「通信手段」に相当し、メッセージＢＯＸ１６ａが、「データ記憶手段」の記憶領域に相当する。
メッセージを構成するＩＤは、通信データの送信元のＥＣＵ１０を特定可能なアドレス情報、又は、通信データの種類を示す意味情報である。したがって、このＩＤに基づけば、メッセージを選別することができる。フィルタ回路１６ｃは、論理回路として構成され、マスク０〜３の３つのフィルタパターンを有している。そして、この３つのフィルタパターンを用い、メッセージのＩＤに基づく選別を行う。したがってフィルタ回路１６ｃが「選別手段」に相当する。マスク０のフィルタパターンは番号「１」〜「１３」の１３個のメッセージＢＯＸ１６ａに対応しており、このマスク０のフィルタパターンでフィルタされるメッセージは、番号「１」〜「１３」の１３個のメッセージＢＯＸ１６ａの中の空いているメッセージＢＯＸ１６ａに記憶される。マスク１のフィルタパターンは番号「１４」のメッセージＢＯＸ１６ａに対応しており、このマスク１のフィルタパターンでフィルタされるメッセージは、番号「１４」のメッセージＢＯＸ１６ａに記憶される。同様にマスク２のフィルタパターンは番号「１５」のメッセージＢＯＸ１６ａに対応しており、このマスク２のフィルタパターンでフィルタされるメッセージは、番号「１５」のメッセージＢＯＸ１６ａに記憶される。ここでマスク０〜３の３つのフィルタパターンでフィルタされるメッセージ群はそれぞれ、処理実行優先順位を考慮して定められる。本実施例では、処理優先順位のレベルに応じて、高優先度のメッセージ群をマスク２でフィルタし、中優先度のメッセージ群をマスク０でフィルタし、低優先度のメッセージ群をマスク１でフィルタする。したがって、高優先度のメッセージが番号「１５」のメッセージＢＯＸ１６ａに記憶され、中優先度のメッセージが番号「１」〜「１３」のメッセージＢＯＸ１６ａに記憶され、低優先度のメッセージが番号「１４」のメッセージＢＯＸ１６ａに記憶される。
【００３５】
そして、本実施例では、このような受信用のメッセージＢＯＸ１６ａに記憶されるメッセージの取りこぼしを防止するために、上述したＤＭＡコントローラ１７を備える構成とした。ＤＭＡコントローラ１７は、番号「１４」のメッセージＢＯＸ１６ａにメッセージが記憶されると、このメッセージをＲＡＭ１５へ転送することを特徴としている。
【００３６】
そこで次に、マイコン１２の備えるＬＡＮブロック１６及びＤＭＡコントローラ１７の構成を、図３に基づいて説明する。
ＤＭＡコントローラ１７は、９つのレジスタ１７ａ〜１７ｉを備え、転送に係る各種の情報を設定可能になっている。これらの情報は、ＣＰＵ１３から設定変更でき、以下に示すものがある。
【００３７】
まず、レジスタ１７ａには、通常転送とＬＡＮ転送の選択情報が記憶される。この選択情報がＬＡＮ転送を示す場合に、上述したような番号「１４」のメッセージＢＯＸ１６ａからＲＡＭ１５への転送が行われる。一方、選択情報が通常転送を示す場合は、ＲＡＭ１５等のメモリ間における通常の転送処理が行われる。
【００３８】
レジスタ１７ｂには、転送元アドレスが記憶される。この転送元アドレスは、上述した通常転送時における転送元のアドレスである。
そして、転送先アドレスは、レジスタ１７ｃに記憶される。ただし、この転送先アドレスは、通常転送時だけでなく、ＬＡＮ転送を行う場合の転送先としても用いられる。
【００３９】
レジスタ１７ｄには、転送回数の上限値が記憶される。具体的には例えば「１００」というような数値が記憶される。いくつのデータを転送したかを示す転送回数はレジスタ１７ｉに記憶されており、この転送回数が上限値に等しくなると、ＤＭＡコントローラ１７は転送を停止する。
【００４０】
レジスタ１７ｅには、転送時の方向が記憶される。これはレジスタ１７ｃに記憶された転送先アドレスからアドレスをデクリメントしながら前方向に転送していくのか、あるいは、転送先アドレスからアドレスをインクリメントしながら後方向に転送していくのかを示す情報である。
【００４１】
レジスタ１７ｆには、転送時の割込発生の許可／禁止情報が記憶される。本実施例のＤＭＡコントローラは、予め設定された割込発生タイミングになると、ＣＰＵ１３への通知を行えるようになっている。割込発生タイミングはレジスタ１７ｈに記憶されるようになっており、具体的には、任意の設定値が記憶できる。例えば転送回数の上限値の半数である「５０」及び上限値「１００」の２つの数値を、設定値としておくという具合である。そして、ＤＭＡコントローラ１７は、レジスタ１７ｉの転送回数が設定値に等しくなると、ＣＰＵ１３への割込信号を出力し、転送回数が設定値に等しくなった旨を通知する。
【００４２】
レジスタ１７ｇには、転送元のメッセージＢＯＸ１６ａを特定する情報である「転送元情報」が記憶される。これは上述したＬＡＮ転送に使用されるものであり、本実施例では、番号「１４」のメッセージＢＯＸ１６ａを特定する情報が記憶される。
【００４３】
以上がＤＭＡコントローラ１７の構成であったが、一方のＬＡＮブロック１６は、送受信動作情報１６ｄ、送受信状態１６ｅ、割込発生の許可／禁止情報１６ｆを記憶している。次に、これらの情報について、メッセージＢＯＸ１６ａ、プロトコルコントローラ１６ｂ、フィルタ回路１６ｃとの関連を次に説明する。
【００４４】
送受信動作情報１６ｄは、１６個のメッセージＢＯＸ１６ａのいずれが送信用で、いずれが受信用であるかを示す情報である。そして、送受信状態１６ｅは、送信用のメッセージＢＯＸ１６ａにおける送信完了、及び、受信用の各メッセージＢＯＸ１６ａにおける受信完了を示すフラグ情報である。送信完了のフラグがセットされる時は、メッセージＢＯＸ１６ａから読み出されたメッセージがプロトコルコントローラ１６ｂによって送信された時であり、一方、受信完了のフラグがセットされる時は、プロトコルコントローラ１６ｂによって受信用メッセージがメッセージＢＯＸ１６ａに書き込まれた時である。したがって、この送受信状態１６ｅを参照すれば、どのメッセージＢＯＸ１６ａに受信メッセージが記憶されたかが分かる。本実施例では、この送受信状態１６ｅをＤＭＡコントローラ１７から監視できるように、記号αで示すライン接続がなされている。
【００４５】
割込発生の許可／禁止情報１６ｆは、各メッセージＢＯＸ１６ａの送受信完了時にＣＰＵ１３に対する割込を発生させるか否かを示すフラグ情報である。ＬＡＮブロック１６では、送受信状態１６ｅのフラグ情報と割込発生の許可／禁止情報１６ｆとのＡＮＤ演算を行い、その結果を割込発生回路１８へ出力する。これによって、割込発生の許可がなされている場合にだけ、メッセージの送受信完了時にＣＰＵ１３へ割込信号が出力される。
【００４６】
次に、このように構成されたマイコン１２におけるメッセージＢＯＸ１６ａからのメッセージの取得動作について説明する。
まずＣＰＵ１３は、初期化処理にてＤＭＡコントローラ１７へＬＡＮ転送の選択を示す情報を出力する。この情報は、上述したようにレジスタ１７ａに記憶される。そしてさらに、ＤＭＡコントローラ１７へ転送許可の指示を通知する。これによってＤＭＡコントローラ１７は、転送可能状態となる。
【００４７】
ＣＰＵ１３は、ＬＡＮブロック１６から割込発生回路１８を介して出力される割込信号に基づき、番号「１」〜「１３」と番号「１５」のメッセージＢＯＸ１６ａの受信メッセージを読み出し、図２中に示すＲＡＭ１５に展開して、このメッセージに基づく処理を実行する。
【００４８】
一方、番号「１４」のメッセージＢＯＸ１６ａについては、ＬＡＮブロック１６の送受信状態１６ｅを監視することによって、メッセージが記憶されると、ＤＭＡコントローラ１７が、当該メッセージをＲＡＭ１５に転送する。詳しくは、レジスタ１７ｃに記憶された転送先アドレスからレジスタ１７ｅに記憶された方向への転送を行う。そして、転送回数がレジスタ１７ｄに記憶された例えば「１００」という上限値になるまで、番号「１４」のメッセージＢＯＸ１６ａに新たなメッセージが記憶される度に繰り返し、転送が行われる。なお、ＤＭＡコントローラ１７は、ＣＰＵ１３から転送停止の指示があった場合、転送処理を停止する。
【００４９】
そしてＣＰＵ１３は、番号「１４」のメッセージＢＯＸ１６ａに記憶されるメッセージについては、ＲＡＭ１５から読み出して、それらメッセージに基づく処理を行う。
次に、本実施例のＥＣＵ１０の発揮する効果を説明する。
【００５０】
従来、処理優先順位の相対的に低いメッセージについてはＣＰＵ１３によるメッセージＢＯＸ１６ａからの読み出しが遅れる可能性が高く、次のメッセージが上書きされることにより、メッセージの取りこぼしが発生することが問題となっていた。
【００５１】
これに対して、本実施例のＥＣＵ１０では、番号「１４」のメッセージＢＯＸ１６ａに記憶される低優先度のメッセージについては、ＲＡＭ１５に転送することにより、転送回数の上限値である例えば「１００」個のメッセージを保存できる構成とした。つまり、ＲＡＭ１５への転送という手法により、メッセージＢＯＸ１６ａの見かけ上の拡張を可能にしたのである。
【００５２】
これによって、ＬＡＮブロック１６のメッセージＢＯＸ１６ａの個数を実際に拡張することなく、受信したメッセージの取りこぼしをなくすことができる。結果として、制御性能の悪化防止に寄与できる。
なお、この構成には、ＤＭＡコントローラ１７を必要としているが、レジスタ１７ａの選択情報を書き換えることによって、他のデータ転送にも汎用的に利用できる。その結果、メッセージＢＯＸ１６ａの個数を直接的に増加させる場合と比較して、ＤＭＡコントローラ１７の追加は、汎用機能の追加である点で、コスト面からも有利である。また、ＤＭＡコントローラを備えたマイコンも従来より存在する。したがって、このようなマイコンを用い本実施例の構成を実現すれば、ソフトウェア的な変更のみで機能拡張ができ、大幅にコストを抑えることができる。
【００５３】
また、本実施例では、ＤＭＡコントローラ１７のレジスタ１７ｄに転送回数の上限値が記憶でき、レジスタ１７ｉに記憶される転送回数がこの上限値に等しくなると、自動的に転送を停止する。さらに、レジスタ１７ｆの情報で割込発生許可がなされている前提の下、レジスタ１７ｈに記憶された設定値に、転送回数が等しくなると、その旨をＣＰＵ１３へ通知するようにした。そして、ＣＰＵ１３からの転送停止指示があると、ＤＭＡコントローラ１７は転送処理を停止する。また、ＤＭＡコントローラ１７は、ＣＰＵ１３からの転送許可指示があってはじめて、転送可能状態になる。これによって、不適切な転送処理が何等かの要因で行われた場合に途中で停止させることが可能であり、結果的に、ＲＡＭ１５の記憶領域を圧迫することがなくなり、通信データの適切な転送が実現できる。
【００５４】
以上、本発明はこのような実施例に何等限定されるものではなく、本発明の主旨を逸脱しない範囲において種々なる形態で実施し得る。
上記実施例は、車両に搭載されるＥＣＵ１０間の車両内ＬＡＮ９０を介したデータ通信であったが、ネットワークからの受信メッセージをメッセージＢＯＸに記憶するようなマイコンを備えるシステムに適用できることは言うまでもない。
【図面の簡単な説明】
【図１】実施例の車両制御システムを示す概念図である。
【図２】実施例のＥＣＵの構成を示す説明図である。
【図３】ＥＣＵ内のマイコンの構成を示す説明図である。
【図４】従来のＥＣＵの構成を示す説明図である。
【符号の説明】
１０…ＥＣＵ
１１…ドライバ
１２…マイコン
１３…ＣＰＵ
１４…ＲＯＭ
１５…ＲＡＭ
１６…ＬＡＮブロック
１６ａ…メッセージＢＯＸ
１６ｂ…プロトコルコントローラ
１６ｃ…フィルタ回路
１６ｄ…送受信動作情報
１６ｅ…送受信状態
１６ｆ…割込発生の許可／禁止情報
１７…ＤＭＡコントローラ
１７ａ，１７ｂ，１７ｃ，１７ｄ，１７ｅ，１７ｆ，１７ｇ，１７ｈ，１７ｉ  …レジスタ
１８…割込発生回路
９０…車両内ＬＡＮ
１００…ＥＣＵ
１１０…ドライバ
１２０…マイコン
１３０…ＣＰＵ
１４０…ＲＯＭ
１５０…ＲＡＭ
１６０…ＬＡＮブロック
１６０ａ…メッセージＢＯＸ
１６０ｂ…プロトコルコントローラ
１６０ｃ…フィルタ回路
【図１】
0003702790.tif 000002
【図２】
0003702790.tif 000003
【図３】
0003702790.tif 000004
【図４】
0003702790.tif 000005