(57)【特許請求の範囲】
【請求項１】
自動車に搭載された制御対象を制御するための演算処理を行うと共に、その演算処理により算出した制御用のデータを所定の記憶部に格納し、更に、前記記憶部に格納されたデータのうちで、前記自動車に搭載された通信相手へ送信すべき複数種類の送信対象データを、所定の順番に並べてパケットデータを作成し、その作成したパケットデータを前記通信相手へ送信する情報処理装置を備えた自動車用制御装置において、
前記情報処理装置は、
前記パケットデータの識別番号であるパケット番号毎に、そのパケット番号のパケットデータを構成する各送信対象データの種別番号が記述された第１のデータテーブルと、前記送信対象データの種別番号毎に、その種別番号の送信対象データが構成要素となるパケットデータのパケット番号と、その種別番号の送信対象データが前記パケットデータ内においてどの位置に配置されるかを示す配置位置情報とが記述された第２のデータテーブルとを格納したテーブル格納部と、
予め定められた送信周期毎に、通信相手へ今回送信すべきパケットデータのパケット番号を送信指令として出す定時送信動作起動手段と、
該定時送信動作起動手段によって送信指令としてのパケット番号が出されると、前記第１のデータテーブルから、前記送信指令として出されたパケット番号に対応して記述されている各送信対象データの種別番号を取得して、その各種別番号の送信対象データを前記記憶部から読み出すと共に、前記第２のデータテーブルから、前記取得した各種別番号に夫々対応して記述されている配置位置情報を取得し、前記記憶部から読み出した各送信対象データを前記取得した各配置位置情報に基づいて並べることにより、前記送信指令として出されたパケット番号のパケットデータを作成する定時送信用パケットデータ作成手段と、
前記記憶部内の送信対象データのうちの特定のデータが更新されたことを検出すると、その特定のデータの種別番号を送信指令として出すイベント送信動作起動手段と、
該イベント送信動作起動手段によって送信指令としての種別番号が出されると、前記第２のデータテーブルから、前記送信指令としての種別番号に対応して記述されているパケット番号を取得し、次いで、前記第１のデータテーブルから、前記取得したパケット番号に対応して記述されている各送信対象データの種別番号を取得して、その各種別番号の送信対象データを前記記憶部から読み出すと共に、前記第２のデータテーブルから、前記取得した各種別番号に夫々対応して記述されている配置位置情報を取得し、前記記憶部から読み出した各送信対象データを前記取得した各配置位置情報に基づいて並べることにより、前記送信指令として出された種別番号のデータが含まれるパケットデータを作成するイベント送信用パケットデータ作成手段と、
前記定時送信用パケットデータ作成手段及び前記イベント送信用パケットデータ作成手段の各々によって作成されたパケットデータを、前記通信相手へ送信する送信手段と、
を備えていることを特徴とする自動車用制御装置。
【請求項２】
請求項１に記載の自動車用制御装置において、
前記第１のデータテーブルには、前記パケット番号毎に、そのパケット番号のパケットデータを送信すべき送信周期も記述されており、
前記定時送信動作起動手段は、前記第１のデータテーブルに記述された各パケット番号を、そのパケット番号に対応して前記第１のデータテーブルに記述されている送信周期毎に、前記送信指令として出すこと、
を特徴とする自動車用制御装置。
【請求項３】
請求項１又は請求項２に記載の自動車用制御装置において、
前記情報処理装置は、
前記記憶部内の各送信対象データに対して、そのデータを、該データが示す物理値を通信相手側で扱われる分解能で表すデータに変換する精度変換処理を行うための、複数種類の変換プログラムを格納した変換プログラム格納手段を備えており、
前記第２のデータテーブルには、
前記送信対象データの種別番号毎に、その種別番号の送信対象データに対して前記精度変換処理を行うための前記変換プログラムが、前記変換プログラム格納手段内において何れの格納位置に格納されているかを示す格納位置情報も記述されており、
更に、前記定時送信用パケットデータ作成手段と前記イベント送信用パケットデータ作成手段との各々は、
前記記憶部から読み出した送信対象データの各々について、前記第２のデータテーブルから、その送信対象データの種別番号に対応して記述されている前記格納位置情報を取得すると共に、その送信対象データを処理対象として前記取得した格納位置情報が示す格納位置に格納されている変換プログラムを起動することにより、前記記憶部から読み出した各送信対象データに対して前記精度変換処理を行い、その精度変換処理後の各送信対象データを、前記第２のデータテーブルから取得した各配置位置情報に基づいて並べることにより、前記パケットデータを作成すること、
を特徴とする自動車用制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、制御対象を制御するためにマイクロコンピュータからなる情報処理装置を備えた自動車用制御装置に関し、特に、その情報処理装置が、当該自動車用制御装置内や他の自動車用制御装置に備えられた他の情報処理装置とデータ通信を行うことにより、その通信相手の情報処理装置と制御用のデータを共有するようにした自動車用制御装置に関する。
【０００２】
【従来の技術】
従来より、自動車に搭載されたエンジンやトランスミッション等の制御対象を制御する自動車用制御装置は、制御対象を制御するための演算処理を行う情報処理装置として、マイクロコンピュータ（以下、マイコンという）を備えている。
【０００３】
そして、近年における制御内容の複雑化に伴い、この種の自動車用制御装置では、それに搭載されたマイコンが、同じ自動車用制御装置内や他の自動車用制御装置に搭載された他のマイコンとデータ通信を行って、その通信相手のマイコンと制御対象の制御に用いるデータ（制御用データ）を共有することにより、制御性を向上させている。
【０００４】
例えば、こうした自動車用制御装置（以下、ＥＣＵともいう）の通信形態上のシステム構成としては、１つのＥＣＵに搭載された２のマイコンがデータ通信を行う、ＥＣＵ内通信のシステム構成がある。また、２つのＥＣＵに夫々搭載された各マイコンが、自動車内に配設されたシリアル通信線を介し１対１でデータ通信を行う、ＥＣＵ間シリアル通信のシステム構成がある。また更に、３つ以上のＥＣＵに夫々搭載された各マイコンが、自動車内に配設された多重通信線を介し１対多或いは多対１でデータ通信を行う、ＥＣＵ間多重通信のシステム構成がある。そして更に、上記各システム構成を併せ持ったシステム構成もある。つまり、１つのＥＣＵに搭載されたマイコンが、同じＥＣＵに搭載された他のマイコンとデータ通信を行うと共に、他のＥＣＵに搭載されたマイコンともシリアル通信線や多重通信線を介してデータ通信を行う、といったシステム構成である。
【０００５】
次に、このようなＥＣＵの内部構成及びそれに搭載されたマイコンで行われる処理の内容について、他のＥＣＵと通信線を介してデータ通信を行うエンジン制御用のＥＣＵ（エンジンＥＣＵ）を例に挙げて、図１１を用い説明する。尚、図１１は、エンジンＥＣＵを含む複数のＥＣＵからなる一般的な車両制御システムの構成を表す構成図である。
【０００６】
図１１に示すように、エンジンＥＣＵでは、それに搭載されたマイコン６００が、エンジン回転パルス，車速パルス，及びシフトレバー位置信号などの各種信号を、入出力回路６０２を介して取り込み、エンジンを制御するための演算処理を行う。
【０００７】
ここで、エンジンＥＣＵのマイコン６００に取り込まれる入力信号や、その入力信号に基づきマイコン６００で演算される演算結果の中には、他のＥＣＵでも必要とされるものがある。例えば、エンジンＥＣＵのマイコン６００では、エンジン回転パルスのパルス間隔を計測してエンジン回転数を算出するが、エンジン回転数は、エンジンの制御に用いられるだけでなく、車室内にあるメータパネル内のエンジン回転数表示部（タコメータ）に表示されるものであるため、メータパネル内の計器類を制御するＥＣＵ（メータＥＣＵ）においても必要となる。
【０００８】
このため、エンジンＥＣＵにおいて、マイコン６００により算出されたエンジン回転数や車速などの物理値を表す各種のデータは、所定の送信タイミングになった時に、マイコン６００から通信ＩＣ６０４へ送られ、更にドライバ回路６０６を介して通信線へ送出される。すると、その通信線に接続されたメータＥＣＵなどの他のＥＣＵ（詳しくは、そのＥＣＵに搭載されたマイコン）は、通信線を介して送られて来たデータを受信して、自己の制御対象を制御するための演算処理に用いることとなる。
【０００９】
ところで、上記のような車両制御システムを構成するＥＣＵにおいて、マイコンは、各種のデータを個別に送信するのではなく、図１２に例示するように、エンジン回転数データや車速データ、更にメータパネル内のウォーニングランプ（警告灯）を点灯させるためのフェイルセーフ用データ等といった複数種類のデータを、所定の順番に並べてパケットデータを作成し、そのパケットデータを通信相手へ送信するようにしている。尚、パケットデータの先頭には、一般に、通信プロトコルに応じたヘッダ情報が付加される。
【００１０】
そして、このようなパケットデータは、一般に、１種類だけでなく、それを構成する各種データの組み合わせや並び順などによって複数種類作成され、その各パケットデータが、予め定められた送信タイミングで他のＥＣＵや他のマイコンへ送信される。そして更に、どのパケットデータにどの種別のデータを含ませるかは、車両制御システムの構成（特に、各マイコンの役割分担）によって適宜決定される。
【００１１】
また、一般に、この種の車両制御システムでは、予め定められた時間間隔毎に定期的に送信すれば良いデータと、内容が更新されたら即座に送信しなければならないデータとがあり、このことは、そのデータを受ける通信相手側の機能によって決まる。
【００１２】
前述したエンジンＥＣＵとメータＥＣＵとの関係を例に挙げて具体的に説明すると、タコメータに表示させるエンジン回転数のデータは、前者であり、上記フェイルセーフ用データは、後者である。つまり、フェイルセーフ用のデータについては、異常が発生したら、それを即座に運転者へ報知する必要があるため、予め定められた時間間隔毎に到来する送信タイミングを待つことなく、異常検出時に即座に送信するように設定されるのである。
【００１３】
また、上記のようなフェイルセーフ用データの他にも、例えば、エンジンＥＣＵのマイコンが、燃料噴射を２０回行った分の累計燃料噴射量を表す噴射量データをメータＥＣＵへ送信し、メータＥＣＵのマイコンは、上記噴射量データに基づき燃料総消費量を計算してディスプレイに表示する、といったシステムの場合には、燃料噴射が２０回行われる時間間隔は一定でなくエンジン回転数に応じて変わるため、エンジンＥＣＵのマイコンは、燃料噴射が２０回完了して噴射量データの値が更新される、といったイベントが発生した時に、最新の噴射量データをメータＥＣＵへ送信することとなる。尚、このように、特定のデータが更新された時に、そのデータを即座に送信することを、定期的な送信を意味する「定時送信」と区別して、一般に、「イベント送信」と呼んでいる。
【００１４】
そこで、従来より、この種の車両制御システムを構成するＥＣＵのマイコンでは、予め設定された一定時間毎に実行されるパケットデータ作成用プログラムによって、送信予定の全てのパケットデータを常時作成し、他のプログラムにより、下記の（１），（２）のような手順で、定時送信とイベント送信とを行うようにしていた。尚、パケットデータ作成用プログラムの実行周期は、そのプログラムで作成されるパケットデータの送信周期よりも当然短く設定される。
【００１５】
（１）定時送信については、予め定められた時間間隔毎に到来する送信タイミングになると、上記パケットデータ作成用プログラムによって作成されているパケットデータのうちで今回送信すべきパケットデータを選び、そのパケットデータを通信相手へ送信するようにしていた。
【００１６】
（２）イベント送信については、上記パケットデータ作成用プログラムによって作成されるパケットデータのうちで、イベント送信すべきデータを含んだパケットデータを対象として、そのパケットデータに含まれているイベント送信すべきデータの内容が変化したか否かを定期的に監視し、変化したことを検知すると、そのパケットデータを即座に通信相手へ送信するようにしていた。
【００１７】
【発明が解決しようとする課題】
しかしながら、上記従来のＥＣＵでは、以下の問題があった。
▲１▼：送信予定の全てのパケットデータを、一定時間毎に作成するようにしているため、各送信タイミング毎に異なるパケットデータ（異なる種別のデータによって構成されるパケットデータ）を夫々送信する場合でも、常に全てのパケットデータを逐次更新して記憶しておかなければならず、大きなメモリ領域が必要となる。また、次の送信タイミングでは送信しないパケットデータも作成することとなるため、処理上の無駄が多い。
【００１８】
▲２▼：各パケットデータを構成するデータの種別やそのデータのパケットデータ内における配置位置を変更しようとした場合、パケットデータ作成用プログラムを詳細に見て修正しなければならず、非常に手間がかかる。
▲３▼：何れかのパケットデータの送信周期を短く変更しようとした場合、変更後の送信周期よりも更に短い実行間隔のプログラムによって、そのパケットデータを作成するように修正しなければならず、プログラムをどのように修正するかを決定するには、プログラム全体を理解していないとできない。
【００１９】
このように従来のＥＣＵでは、処理上やメモリ領域の面で無駄が多く、しかも、様々な変更に対して容易に対応することができなかった。そして、理想としては、定時送信とイベント送信との両方について、データ送信を行うべき時に、送信対象のパケットデータを迅速に且つ効率的に作成し、更に、上記▲２▼，▲３▼のような変更に対して容易に対応できれば良いのであるが、従来の技術では、こうした理想的な装置を得ることができなかった。
【００２０】
そこで、本発明は、定時送信とイベント送信との両方について、データ送信を行うべき時に、送信対象のパケットデータを迅速に且つ効率的に作成することができると共に、パケットデータを構成するデータの種別や並び、更には、パケットデータの定時送信間隔の変更に対して、非常に容易に対応することができる自動車用制御装置を提供することを目的としている。
【００２１】
【課題を解決するための手段、及び発明の効果】
上記目的を達成するためになされた請求項１に記載の本発明の自動車用制御装置は、情報処理装置を備えており、その情報処理装置は、自動車に搭載された制御対象を制御するための演算処理を行うと共に、その演算処理により算出した制御用のデータを所定の記憶部に格納する。そして更に、前記情報処理装置は、前記記憶部に格納されたデータのうちで、前記自動車に搭載された通信相手へ送信すべき複数種類の送信対象データを、所定の順番に並べてパケットデータを作成し、その作成したパケットデータを前記通信相手へ送信する。
【００２２】
ここで特に、本発明の自動車用制御装置において、情報処理装置は、第１のデータテーブルと第２のデータテーブルとを格納したテーブル格納部を備えており、第１のデータテーブルには、前記パケットデータの識別番号であるパケット番号毎に、そのパケット番号のパケットデータを構成する各送信対象データの種別番号が記述されている。また、第２のデータテーブルには、送信対象データの種別番号毎に、その種別番号の送信対象データが構成要素となるパケットデータのパケット番号と、その種別番号の送信対象データが前記パケットデータ内においてどの位置に配置されるかを示す配置位置情報とが記述されている。
【００２３】
そして、この情報処理装置では、定時送信動作起動手段が、予め定められた送信周期毎に、通信相手へ今回送信すべきパケットデータのパケット番号を送信指令として出し、この定時送信動作起動手段によって送信指令としてのパケット番号が出されると、定時送信用パケットデータ作成手段が、前記第１のデータテーブルから、前記送信指令として出されたパケット番号に対応して記述されている各送信対象データの種別番号を取得して、その各種別番号の送信対象データを前記記憶部から読み出すと共に、前記第２のデータテーブルから、前記取得した各種別番号に夫々対応して記述されている配置位置情報を取得し、前記記憶部から読み出した各送信対象データを前記取得した各配置位置情報に基づいて並べることにより、前記送信指令として出されたパケット番号のパケットデータを作成する。
【００２４】
また、この情報処理装置では、イベント送信動作起動手段が、前記記憶部内の送信対象データのうちの特定のデータが更新されたことを検出すると、その特定のデータの種別番号を送信指令として出し、このイベント送信動作起動手段によって送信指令としての種別番号が出されると、イベント送信用パケットデータ作成手段が、前記第２のデータテーブルから、前記送信指令としての種別番号に対応して記述されているパケット番号を取得し、次いで、前記第１のデータテーブルから、前記取得したパケット番号に対応して記述されている各送信対象データの種別番号を取得して、その各種別番号の送信対象データを前記記憶部から読み出すと共に、前記第２のデータテーブルから、前記取得した各種別番号に夫々対応して記述されている配置位置情報を取得し、前記記憶部から読み出した各送信対象データを前記取得した各配置位置情報に基づいて並べることにより、前記送信指令として出された種別番号のデータが含まれるパケットデータを作成する。
【００２５】
そして、上記定時送信用パケットデータ作成手段とイベント送信用パケットデータ作成手段との何れかによってパケットデータが作成されると、送信手段が、その作成されたパケットデータを通信相手へ送信する。
このような本発明の自動車用制御装置において、予め定められた送信周期毎の定時送信を行う時には、まず、定時送信動作起動手段によって、今回送信すべきパケットデータのパケット番号が送信指令として出される。
【００２６】
すると、定時送信用パケットデータ作成手段は、第１のデータテーブルから、上記送信指令として出されたパケット番号のパケットデータ（即ち、今回送信すべきパケットデータ）を構成する各送信対象データの種別番号を取得して、その各種別番号の送信対象データを記憶部から読み出すこととなるが、このとき、第１のデータテーブルには、パケット番号毎に、そのパケット番号のパケットデータを構成する各送信対象データの種別番号が記述されているため、定時送信用パケットデータ作成手段は、時間のかかる検索処理を行うことなく、送信指令として出されたパケット番号に対応して記述されている各種別番号を読み取るだけで、今回送信すべきパケットデータを構成する各データの種別番号を即座に取得することができる。
【００２７】
そして更に、定時送信用パケットデータ作成手段は、第２のデータテーブルから、上記取得した各種別番号に夫々対応して記述されている配置位置情報（即ち、今回送信すべきパケットデータを構成する各送信対象データの、そのパケットデータ内における配置位置の情報）を取得し、その取得した配置位置情報に基づいて、上記記憶部から読み出した各送信対象データを並べることにより、今回送信すべきパケットデータを作成することとなるが、特に、第２のデータテーブルには、送信対象データの種別番号毎に、その送信対象データの配置位置情報が記述されているため、定時送信用パケットデータ作成手段は、時間のかかる検索処理を行うことなく、第１のデータテーブルから取得した種別番号に対応して記述されている配置位置情報を読み取るだけで、記憶部から読み出した各送信対象データのパケットデータ内における配置位置を知ることができ、定時送信用のパケットデータを迅速に作成することができる。
【００２８】
一方、本発明の自動車用制御装置において、記憶部内の送信対象データのうち、イベント送信すべき特定のデータが更新されて、その更新されたデータを含むパケットデータを送信（イベント送信）する時には、まず、イベント送信動作起動手段によって、今回イベント送信すべきデータ（更新されたデータ）の種別番号が送信指令として出される。
【００２９】
すると、イベント送信用パケットデータ作成手段は、第２のデータテーブルから、上記送信指令として出された種別番号に対応して記述されているパケット番号（即ち、更新されたデータを構成要素とする今回イベント送信すべきパケットデータのパケット番号）を取得することとなるが、特に、第２のデータテーブルには、送信対象データの種別番号毎に、その送信対象データが構成要素となるパケットデータのパケット番号が記述されているため、イベント送信用パケットデータ作成手段は、時間のかかる検索処理を行うことなく、送信指令として出された種別番号に対応して記述されているパケット番号を読み取るだけで、今回イベント送信すべきパケットデータのパケット番号を即座に取得することができる。
【００３０】
その後、イベント送信用パケットデータ作成手段は、第２のデータテーブルから取得したパケット番号を元に、定時送信用パケットデータ作成手段と同じ手順で、今回イベント送信すべきパケットデータを作成することとなる。そして、その作成時においても、イベント送信用パケットデータ作成手段は、時間のかかる検索処理を行うことなく、第１のデータテーブルから、今回送信すべきパケットデータを構成する各データの種別番号を即座に取得することができると共に、第２のデータテーブルから、各データの配置位置情報を即座に取得して、イベント送信用のパケットデータを迅速に作成することができる。
【００３１】
以上のように本発明の自動車用制御装置では、定時送信用のパケットデータとイベント送信用のパケットデータとを作成するための情報を定義するデータマップを、第１のデータテーブルと第２のデータテーブルとに分け、第１のデータテーブルには、パケット番号毎に、そのパケット番号のパケットデータを構成する各送信対象データの種別番号を記述し、第２のデータテーブルには、送信対象データの種別番号毎に、その種別番号のデータがパケットデータ内においてどの位置に配置されるかを示す配置位置情報と、その種別番号のデータが構成要素となるパケットデータのパケット番号とを記述するようにしている。
【００３２】
このため、定時送信とイベント送信との何れの送信時においても、その時に送信すべきパケットデータを迅速に作成することができる。
そして、本発明の自動車用制御装置によれば、実際に送信するパケットデータを、その都度、迅速に作成することができるため、従来装置のように、送信予定のパケットデータを定期的に予め作成しておく必要がなく、処理上及びメモリ領域の面で無駄が無い。つまり、定時送信とイベント送信との両方について、データ送信を行うべき時に、送信対象のパケットデータを迅速に且つ効率的に作成することができるのである。
【００３３】
しかも、本発明の自動車用制御装置によれば、パケットデータを構成するデータの種別や並びを変更する場合に、従来装置の如くプログラムを修正する必要がなく、種別の変更に対しては、第１のデータテーブルにてパケット番号毎に記述する送信対象データの種別番号を修正し、並びの変更に対しては、第２のデータテーブルにて送信対象データの種別番号毎に記述する配置位置情報を修正するだけで対応することができる。
【００３４】
そして更に、何れかのパケットデータを定時送信する時間間隔（定時送信間隔）を変更する場合には、定時送信動作起動手段がどの周期でどのパケット番号を送信指令として出すか、という内容を修正するだけで対応することができ、プログラム全体を十分に理解していない者でも容易に修正作業を行うことができる。
【００３５】
つまり、本発明の自動車用制御装置によれば、パケットデータを構成するデータの種別や並び、或いは更に、パケットデータの定時送信間隔の変更に対して、非常に容易に対応することができる。
また、本発明の自動車用制御装置によれば、第２のデータテーブルにて送信対象データの種別番号毎に記述するパケット番号を修正するだけで、イベント送信するパケットデータを変更することができる。
【００３６】
次に、請求項２に記載の自動車用制御装置では、請求項１に記載の装置において、第１のデータテーブルには、パケット番号毎に、そのパケット番号のパケットデータを送信すべき送信周期も記述されている。そして、定時送信動作起動手段は、第１のデータテーブルに記述された各パケット番号を、そのパケット番号に対応して第１のデータテーブルに記述されている送信周期毎に、前記送信指令として出すよう構成されている。
【００３７】
この請求項２に記載の自動車用制御装置によれば、何れかのパケットデータの定時送信間隔を変更する場合、第１のデータテーブルにて、そのパケットデータのパケット番号に対応して記述された送信周期を修正するだけで良く、パケットデータの定時送信間隔の変更に対して、より一層容易に対応することができる。
【００３８】
ところで、この種の自動車用制御装置（ＥＣＵ）においては、同じ種別の制御用データであっても、各ＥＣＵで扱われる分解能が異なる場合がある。図１１の例で具体的に説明すると、例えば、エンジンＥＣＵでは、エンジン回転数のデータを、ＬＳＢ当たり（最下位の１ビット当たり）５０／２５６（＝約０．１９５）ｒｐｍの分解能で扱ってエンジンに対する制御量を求めるが、メータＥＣＵでは、エンジン回転数のデータを、ＬＳＢ当たり１ｒｐｍで扱う、といった具合である。そして、各制御用データの分解能（即ち、そのデータのＬＳＢ当たりによって示される物理値であり、そのデータの精度である）は、そのデータを扱うマイコンで要求される演算精度に応じて、システム設計時に適宜決められるものである。
【００３９】
このため、データを算出して送信する側と受信する側とで、そのデータを扱う上での分解能が異なる場合には、データを送信する側が、算出した送信対象データに対して、「そのデータを、該データが示す物理値を通信相手側で扱われる分解能で表すデータに変換する精度変換処理」を行い、その精度変換処理後のデータを通信相手へ送信する様にすれば、受信する側は、受信したデータをそのまま処理に用いることができる。
【００４０】
尚、精度変換処理の具体的な処理手順は様々であるが、その思想としては、変換対象のデータが示す１０進値を、そのデータの元の分解能Ｂ１と通信相手側の分解能Ｂ２との比（＝Ｂ２／Ｂ１）で割り、その商を示すデジタルデータを、精度変換後のデータとするものである。また、このことから、変換対象のデータを右シフトして、そのデータ長を短くする（例えば、２バイトを１バイトに変更する）といったデータ長変換も、精度変換の一つである。また更に、以下の説明では、こうした精度変換を、データのＬＳＢ当たりによって示される物理値を変更するという意味合いから、“ＬＳＢ変換”あるいは“物理値変換”とも言う。
【００４１】
そこで、請求項３に記載の自動車用制御装置では、上記請求項１，２に記載の装置において、まず、情報処理装置が、前記記憶部内の各送信対象データに対して、上記精度変換処理を行うための、複数種類の変換プログラムを格納した変換プログラム格納手段を備えている。
【００４２】
また、前記第２のデータテーブルには、送信対象データの種別番号毎に、その種別番号の送信対象データに対して上記精度変換処理を行うための変換プログラムが、前記変換プログラム格納手段内において何れの格納位置に格納されているかを示す格納位置情報も記述されている。
【００４３】
そして、定時送信用パケットデータ作成手段とイベント送信用パケットデータ作成手段との各々は、前記記憶部から読み出した送信対象データの各々について、前記第２のデータテーブルから、その送信対象データの種別番号に対応して記述されている前記格納位置情報を取得すると共に、その送信対象データを処理対象として前記取得した格納位置情報が示す格納位置に格納されている変換プログラムを起動することにより、前記記憶部から読み出した各送信対象データに対して前記精度変換処理を行い、その精度変換処理後の各送信対象データを、前記第２のデータテーブルから取得した各配置位置情報に基づいて並べることにより、今回送信すべきパケットデータを作成する。
【００４４】
この請求項３に記載の自動車用制御装置によれば、送信対象データを、通信相手側で扱われる分解能のデータに変換（精度変換）して送信することができるだけでなく、何れかの送信対象データに対する精度変換の内容を変更する場合、第２のデータテーブルにて送信対象データの種別番号毎に記述する前記格納位置情報を修正するだけで対応することができ、精度変換内容の変更に対する修正作業が非常に簡単になる。尚、新たな内容の精度変換処理が必要な場合には、その精度変換処理を行うための変換プログラムを、変換プログラム格納手段に追加した上で、第２のデータテーブルに記述する上記格納位置情報を修正すれば良い。
【００４５】
また、この自動車用制御装置では、精度変換すべきデータを処理対象として、第２のデータテーブルに記述された格納位置情報から特定される変換プログラムを起動することにより、そのデータに対して精度変換処理を行うようにしているため、同じ内容の精度変換を行うデータが複数種類ある場合には、その複数種類のデータに対して同じ変換プログラムを共通に使用することができ、プログラムを格納するためのメモリ容量も削減することができる。
【００４６】
【発明の実施の形態】
以下、本発明が適用された実施形態の車両制御システムについて、図面を用いて説明する。
まず、図１は、実施形態の車両制御システム１の構成を表す構成図である。尚、本実施形態の車両制御システム１は、車両に搭載されたエンジン，トランスミッション，エアコン，計器類，ブレーキ及びその他の電装品を制御するものである。
【００４７】
図１に示すように、本実施形態の車両制御システム１は、主にエンジン及びトランスミッションを制御する制御装置（以下、エンジンＥＣＵという）２と、エアコンを制御する制御装置（以下、エアコンＥＣＵという）４と、メータパネル内の計器や警告灯を制御する制御装置（以下、メータＥＣＵという）６と、車両の不安定な横滑り状態等を抑制するための車両姿勢制御を行う制御装置（以下、姿勢制御ＥＣＵという）８とを備えている。
【００４８】
そして、エンジンＥＣＵ２とエアコンＥＣＵ４とメータＥＣＵ６は、多重通信線１０を介して、互いに通信可能に接続されている。また、エンジンＥＣＵ２は、多重通信線１０とは別のシリアル通信線１１を介して、姿勢制御ＥＣＵ８と１対１のシリアル通信が可能に接続されている。尚、多重通信線１０での通信プロトコルと、シリアル通信線１１での通信プロトコルとは、異なるものである。
【００４９】
ここで、エンジンＥＣＵ２は、車速ＳＰＤを検出するための車速センサ１２，エンジン回転数（以下、単に回転数Ｎｅという）を検出するためのクランク角センサ１４，及びエンジンの冷却水温（以下、単に水温ＴＨＷという）を検出するための水温センサ１６等の、各種センサからの検出信号に基づいて、車両の運転状態を検出する。そして、その検出結果や、後述するようにエアコンＥＣＵ４から送信されて来る外気温ＴＡＭのデータ等に基づいて、インジェクタ１８，イグナイタ２０，及び図示しない他のアクチュエータを駆動することにより、エンジン及びトランスミッションを最適状態に制御する。
【００５０】
そして更に、エンジンＥＣＵ２は、上記の如く検出した車速ＳＰＤ，回転数Ｎｅ，及び水温ＴＨＷ等を表す制御用の各種データを、多重通信線１０及びシリアル通信線１１へ適宜送信すると共に、後述するようにエアコンＥＣＵ４から送信されて来るエアコン制御データＡＣに応じて、Ａ／Ｃマグネットクラッチ２２を作動させることにより、エンジンの駆動力をエアコンの冷媒コンプレッサに伝達させて、エアコンの冷房運転を可能にする。
【００５１】
一方、エアコンＥＣＵ４は、外気センサ２６及び内気センサ２８からの検出信号に基づき車両外の気温（外気温）ＴＡＭと車室内の気温（内気温）とを検出して、該検出結果のデータを送信すると共に、その検出結果と、エンジンＥＣＵ２から送信されて来る車速ＳＰＤ，回転数Ｎｅ，及び水温ＴＨＷ等を表すデータとに応じて、送風用のブロアモータ３０や配風を切り換えるためのエアミックスダンパ３２等を駆動することにより、車室内の空調を制御する。また、エアコンＥＣＵ４は、車両の運転者等によってエアコンスイッチ２４がオンされると、エンジンＥＣＵ２にＡ／Ｃマグネットクラッチ２２を作動させるために、上述したエアコン制御データＡＣを送信する。
【００５２】
そして、メータＥＣＵ６は、エンジンＥＣＵ２から送信されて来る車速ＳＰＤ，回転数Ｎｅ，及び水温ＴＨＷ等を表すデータに応じて、メータパネル内のスピードメータ４０，タコメータ４２，及び水温メータ（図示省略）等を駆動する。また、メータＥＣＵ６は、エンジンＥＣＵ２が異常を検出した時に送信する異常報知用の各データ（フェイルセーフ用データ）に応じて、その各データが示す異常の内容に応じた警告灯４４，４６を点灯させる。
【００５３】
また更に、本実施形態では、エンジンＥＣＵ２が、エンジンへの燃料噴射をＮ回（例えば２０回）行う毎に、そのＮ回分の累計燃料噴射量を表す噴射量データをメータＥＣＵ６へ送信し、メータＥＣＵ６は、上記噴射量データに基づき燃料総消費量を計算してディスプレイ（図示省略）に表示する。
【００５４】
一方また、姿勢制御ＥＣＵ８は、ヨーレートセンサ５０等の各種センサからの信号に基づき車両の走行状態を検出し、車両が横滑り状態にあると判断すると、ブレーキアクチュエータ５２を駆動してブレーキ制御を行うと共に、シリアル通信線１１を介して、エンジンＥＣＵ２へエンジン出力を低下させるための制御用データ（例えば、燃料カット信号）を送信する。すると、エンジンＥＣＵ２は、姿勢制御ＥＣＵ８からの上記制御用データに従いインジェクタ１８等を駆動して、エンジン出力を低下させる。
【００５５】
尚、各ＥＣＵ２，４，６，８は、マイコン（マイクロコンピュータ）を備えており、そのマイコンがプログラムを実行することによって上記各ＥＣＵ２〜８の動作が実現されている。
次に、図２は、エンジンＥＣＵ２の内部構成を表すブロック図である。
【００５６】
図２に示すように、エンジンＥＣＵ２は、第１マイコン６０（本発明の情報処理装置に相当）と第２マイコン６２との、２つのマイコンを備えている。尚、図示はしていないが、各マイコン６０，６２は、ＣＰＵ，プログラムを記憶する記憶媒体としてのＲＯＭ，データを一時記憶するためのＲＡＭ，及び入出力ポート等を備えた一般的なシングルチップマイクロコンピュータである。また、本実施形態において、各マイコン６０，６２のＲＡＭは、１アドレス当たりに１バイト（８ビット）のデータが格納されるものである。
【００５７】
そして、各マイコン６０，６２は、前述の各種センサ１２，１４，１６からの信号を入力回路６４を介して入力し、その入力信号に基づき制御対象を制御するための演算処理等を実行して、出力回路６６へ制御量信号を出力することにより、前述したインジェクタ１８やイグナイタ２０等の各種アクチュエータを駆動している。
【００５８】
また、第１マイコン６０と第２マイコン６２とは、通信線６８を介してデータ通信を行うことにより、制御対象を制御するための制御用データを共有している。つまり、第１マイコン６０と第２マイコン６２は、エンジン及びトランスミッションを制御するための各演算処理を分担して実行すると共に、各自の演算処理に用いる制御用データを、通信線６８を介したデータ通信により共有している。尚、この通信線６８での通信プロトコルは、ＤＭＡ通信であり、多重通信線１０及びシリアル通信線１１での通信プロトコルとは異なるものである。
【００５９】
そして更に、エンジンＥＣＵ２は、通信ＩＣ７０を備えており、その通信ＩＣ７０は、第１マイコン６０から出力された通信データ列を、送信信号として多重通信線１０へ送出すると共に、エアコンＥＣＵ４及びメータＥＣＵ６から多重通信線１０を介して送信されて来た通信データ列を所定フレーム分（本実施形態では１フレーム分）だけ受信する毎に、第１マイコン６０へ割込信号を出力するように構成されている。
【００６０】
また、前述したシリアル通信線１１は、第１マイコン６０の入出力ポートに接続されており、第１マイコン６０は、その入出力ポートを介して、姿勢制御ＥＣＵ８（詳しくは、姿勢制御ＥＣＵ８内のマイコン）と１対１でデータをやり取りするようになっている。
【００６１】
次に、図３は、第１マイコン６０内の通信モデルを仮想的に示した概念図であり、この通信モデルは、ＩＳＯ／ＯＳＩ（Open System Interconnection ）通信モデルに準拠した階層化構造となっている。
図３に示すように、本実施形態の第１マイコン６０で採用されている通信モデルは、制御対象を制御するための演算処理を行うアプリケーション部１００と、通信相手としての他のＥＣＵ４，６，８及び第２マイコン６２とデータの送受信を行う通信ドライバ部３００と、アプリケーション部１００によって算出される制御用のデータから、通信ドライバ部３００が送信すべき通信データ列を生成すると共に、通信ドライバ部３００によって受信された通信データ列を、アプリケーション部１００が使用可能な制御用のデータに変換する通信変換部２００とからなる。そして、通信変換部２００は、更に、共有メモリ部２１０と、物理値変換部２２０と、共通パケットデータ部２３０と、通信データ変換部２４０とに階層化されている。また更に、第１マイコン６０は、通信制御部４００とテーブル格納部５００とを備えている。
【００６２】
そして、アプリケーション部１００から通信相手（他のＥＣＵ４，６，８、或いは、第２マイコン６２）に対して、直接データ転送されることはなく、アプリケーション部１００から下位の階層に対して順々にデータを渡し（仮想通信し）、通信ドライバ部３００にて、外部（通信相手）との物理的な通信が実現される。また、この通信モデルでの各階層は、その下の階層に対してサービスを要求し、その上の階層にサービスを提供するというものであり、各階層の目的は、上位階層でのサービスに対して実際の通信仕様等の詳細情報を隠蔽することである。尚、本実施形態において、各マイコン６０，６２により実行されるＲＯＭ内のプログラムは、プログラムの全機能を単位機能毎に細分化して、その単位機能毎にオブジェクトを用意するオブジェクト指向によってプログラミングされており、オブジェクトとは、データとそのデータを処理する手続きである“メソッド”と呼ばれるプログラムとを、一まとめにしたプログラムモジュールである。
【００６３】
そして、図３の通信モデルにおいて、ソフトウエアだけに着目すると、テーブル格納部５００以外の各部１００〜４００は、第１マイコン６０のＲＯＭに格納された各オブジェクト（メソッド及びデータ）であり、ＲＯＭにおける記憶領域の面から見ると、上記各部１００〜４００は、該当するオブジェクトを格納した記憶領域である。また、テーブル格納部５００は、第１マイコン６０のＲＯＭにて、後述する図４及び図５の各データテーブルを記憶した記憶領域である。
【００６４】
そして更に、本実施形態の説明において、例えば「共有メモリ部２１０が…する。」や「物理値変換部２２０は…する。」といったオブジェクトを主語とした動作表現は、実際には、第１マイコン６０がそのオブジェクトのメソッドに従って動作する（換言すれば、第１マイコン６０がそのオブジェクトのメソッドを実行する）ことで実現される機能手段が、上記「…」の動作を行うことを示している。同様に、例えば「共有メモリ部２１０によって…される。」や「物理値変換部２２０によって…される。」といったオブジェクトによる受け身の動作表現は、実際には、第１マイコン６０がそのオブジェクトのメソッドに従って動作することで実現される機能手段によって、上記「…」の動作が行われることを示している。
【００６５】
ここで、アプリケーション部１００は、エンジンＥＣＵ２の制御対象及び制御内容毎に更に細分化された各オブジェクトからなる。そして、本実施形態において、アプリケーション部１００は、回転数Ｎｅ等の制御用データを算出して、その算出した制御用データに基づきエンジンを制御するための演算処理を行うオブジェクト（以下、エンジンアプリケーションソフトという）１１０と、車速ＳＰＤ等の制御用データを算出して、その算出した制御用データに基づきトランスミッションを制御するための演算処理を行うオブジェクト（以下、ＥＣＴアプリケーションソフトという）１２０と、エンジンのスロットル開度等の制御用データを算出して、その算出した制御用データに基づき車両を定速走行させるためのスロットル開度制御用演算処理を行うオブジェクト（以下、クルーズアプリケーションソフトという）１３０とを有している。そして、これらの各アプリケーションソフト１１０，１２０，１３０は、自分以外のアプリケーションソフトによって算出された制御用データも、自己の演算処理に用いる。つまり、各アプリケーションソフト１１０，１２０，１３０は、制御用データを互いに共有するようにしている。
【００６６】
共有メモリ部２１０は、当該第１マイコン６０に備えられたＲＡＭにおいて、アプリケーション部１００の各アプリケーションソフト１１０，１２０，１３０が制御対象を制御するために用いる全ての制御用データを一時格納するための記憶領域（以下、制御用データ記憶領域という）とは異なる特定の記憶領域として設定された共有メモリに、上記各アプリケーションソフト１１０，１２０，１３０間で共通使用される制御用データ、及び当該第１マイコン６０の通信相手（第２マイコン６２及び他のＥＣＵ４，６，８）でも共通使用される制御用データ（以下、外部共有データという）を書き込み、また、上記共有メモリから制御用データを読み出して、他のオブジェクトに提供する。
【００６７】
また、上記共有メモリに格納される各データには、その種別を示す種別番号（以下、Handle番号と記す）が付与されており、各オブジェクトは、Handle番号を指定することにより、共有メモリから必要なデータを入手したり、共有メモリに新たなデータを書き込むことができるようになっている。
【００６８】
尚、図３では、ＥＣＴアプリケーションソフト１２０によって算出されると共に、Handle番号として“１”が付与された車速ＳＰＤのデータ（ＳＰＤデータ）が、エンジンアプリケーションソフト１１０でも使用され、また、エンジンアプリケーションソフト１１０によって算出されると共に、Handle番号として“２”が付与された回転数Ｎｅのデータ（Ｎｅデータ）が、ＥＣＴアプリケーションソフト１２０でも使用されていることを例示している。そして、図３以降の各図及び以下の説明において、“Handle1 ”や“Handle2 ”とは、Handle番号が“１”や“２”であることを表している。
【００６９】
物理値変換部２２０は、当該第１マイコン６０から通信相手へのデータ送信時には、上記共有メモリに格納されている制御用データのうち、送信するデータに対して、そのデジタルデータを、それが示す物理値を通信相手側で扱われる分解能で表すデジタルデータに変換するＬＳＢ変換処理を行う。また、物理値変換部２２０は、通信相手からのデータ受信時には、受信された制御用データに対して、そのデジタルデータを、それが示す物理値を各アプリケーションソフト１１０，１２０，１３０で扱われる分解能で表すデジタルデータに変換するＬＳＢ変換処理を行う。
【００７０】
つまり、ＬＳＢ変換処理とは、前述した精度変換処理のことであり、デジタルデータを、そのデータの分解能（そのデータのＬＳＢ当たりによって示される物理値であり、そのデータの精度である）が、通信相手側で採用されている分解能と同じになるように変換するものである。そして、本実施形態では、上記ＬＳＢ変換処理を行うための複数種類のＬＳＢ変換プログラム（本発明における変換プログラムに相当）が、ＲＯＭの所定領域に、物理値変換部２２０の一部として格納されている。
【００７１】
共通パケットデータ部２３０は、当該第１マイコン６０から通信相手へのデータ送信時には、物理値変換部２２０によってＬＳＢ変換された送信対象の制御用データ（ＬＳＢ変換処理後の送信対象データ）を集めて直列に並べることにより、多重通信，シリアル通信，ＤＭＡ通信といった通信プロトコルに依存しない各通信プロトコルに共通のパケットデータ（以下、このパケットデータを、伝送路上で実際に送受信されるパケットデータと区別する場合には、共通パケットデータという）を作成する。そして、各共通パケットデータには、その識別番号としてのパケット番号ＰＮが付与されている。尚、図３以降の各図及び以下の説明において、“ＰＮ１”や“ＰＮ２”とは、パケット番号ＰＮが“１”や“２”であることを表している。
【００７２】
通信データ変換部２４０は、当該第１マイコン６０から通信相手へのデータ送信時には、共通パケットデータ部２３０によって作成された共通パケットデータを、通信相手との通信プロトコルに対応した通信データ列（即ち、実際に送信されるパケットデータ）に変換する。具体的には、共通パケットデータのデータ列に通信プロトコルに準じたヘッダ情報等を付加する、といった処理を行う。また、共通パケットデータのデータ長が、通信相手との通信プロトコルで定められた最大転送単位（１回に送信できる転送単位）よりも長い場合には、その最大転送単位内のデータ長に分割したりもする。
【００７３】
通信ドライバ部３００は、当該第１マイコン６０から通信相手へのデータ送信時には、通信データ変換部２４０によって作成された通信データ列を、通信相手との通信プロトコルで定められた転送データ量、ボーレート、及び転送タイミングで、実際に通信データとして出力する。そして、通信ドライバ部３００は、各通信相手との通信プロトコルに夫々対応して、第２マイコン６２とのＤＭＡ通信を制御するＤＭＡ通信部３１０と、姿勢制御ＥＣＵ８とのシリアル通信を制御するシリアル通信部３２０と、エアコンＥＣＵ４及びメータＥＣＵ６との多重通信を制御する多重通信部３３０とを有している。
【００７４】
通信制御部４００は、時間をカウントするためのタイマ４１０を有しており、そのタイマ４１０のカウント値に基づき、第２マイコン６２や他のＥＣＵ４，６，８との通信が定期的に実行されるように、通信データ列の作成タイミングを決定する。また、通信制御部４００は、共有メモリ部２１０から後述するように出されるイベント送信用の送信要求を受けて、通信データ列の作成動作を起動する機能も有している。
【００７５】
一方、通信ドライバ部３００（ＤＭＡ通信部３１０，シリアル通信部３２０，多重通信部３３０）は、通信相手（第２マイコン６２や他のＥＣＵ４，６，８）から送信されて来たデータを受信し取得して、通信データ変換部２４０に提供する機能も有している。
【００７６】
そして、通信データ変換部２４０は、通信ドライバ部３００によって取得された通信データ列を、共通パケットデータに変換する機能も有している。
そして更に、共通パケットデータ部２３０は、通信相手からのデータ受信時には、通信データ変換部２４０によって作成された共通パケットデータを分解して、その共通パケットデータを構成していた各制御用データを抽出し、更に、その各制御用データに対し物理値変換部２２０にＬＳＢ変換を行わせて、共有メモリ部２１０に、そのＬＳＢ変換後の各制御用データを共有メモリへ更新して書き込ませる機能も有している。
【００７７】
一方また、テーブル格納部５００には、図４に示す共有メモリテーブルと、図５（Ａ）に示す第１のデータテーブルとしてのHandle番号特定テーブルと、図５（Ｂ）に示す第２のデータテーブルとしてのパケット番号特定テーブルとが格納されている。
【００７８】
図４に示すように、共有メモリテーブルは、制御用データの各Handle番号毎に、そのHandle番号のデータが、共有メモリにおいて何れのアドレスを先頭にして格納されるかを示す共有メモリアドレスと、そのHandle番号のデータの共有メモリ内におけるデータ長を示す共有メモリサイズとを、Handle番号順に記述したデータテーブルである。
【００７９】
また、図５（Ａ）に示すように、Handle番号特定テーブルは、各パケット番号毎に、そのパケット番号の共通パケットデータを送信すべき送信周期と、そのパケット番号の共通パケットデータを構成する各制御用データのHandle番号と、そのパケット番号の共通パケットデータを何れの通信プロトコルで送受信すべきかを示す通信方式と、そのパケット番号の共通パケットデータを上記通信方式の通信プロトコルで送受信する場合に付加すべきヘッダ情報とを、パケット番号順に記述したデータテーブルである。
【００８０】
尚、図５（Ａ）において、Handle番号の項目に記載された「Ｅ」は、それ以降にHandle番号を示すデータが存在しないことを示すデータである。また、通信方式の項目に記載された「ＣＡＮ」は、多重通信の通信プロトコルを示し、「ＳＣＩ」は、シリアル通信の通信プロトコルを示している。
【００８１】
そして、図５（Ｂ）に示すように、パケット番号特定テーブルは、制御用データの各Handle番号毎に、そのHandle番号のデータの共通パケットデータにおける配置位置を示す共通パケットデータ位置と、そのHandle番号のデータの共通パケットデータ内におけるデータ長を示す共通パケットデータサイズと、そのHandle番号のデータが構成要素となり且つイベント送信される共通パケットデータのパケット番号であるイベント送信パケット番号と、そのHandle番号のデータに対してＬＳＢ変換処理を行うためのＬＳＢ変換プログラムが、ＲＯＭの何れのアドレスを先頭にして格納されているかを示す格納位置情報としてのＬＳＢ変換コールアドレスとを、Handle番号順に記述したデータテーブルである。
【００８２】
尚、共通パケットデータ位置は、該当するHandle番号の制御用データが、共通パケットデータにおける最初の１バイトを０バイト目とした場合に、その共通パケットデータにて、何バイト目から配置されるかを示している。また、本実施形態では、この共通パケットデータ位置と共通パケットデータサイズとが、配置位置情報に相当している。
【００８３】
そして、各オブジェクトは、図５の上記各データテーブルを参照することにより、例えば、ＰＮ１の共通パケットデータには、どのHandle番号の制御用データが集約されるのか等、通信データ列の作成に必要な情報を取得することができる。
【００８４】
次に、第１マイコン６０から外部へ制御用データを送信する場合の通信データ列への変換処理について、図６〜図１０を用いて説明する。
尚、図６〜図９は、制御用データから通信データ列への変換処理動作を示すメッセージシーケンスチャートである。そして、このメッセージシーケンスチャートでは、図３に示した各階層（オブジェクト）１００〜５００を上下方向の線で示し、その各階層から他の階層へのメッセージを横方向の実線矢印で示している。そして更に、横方向の点線矢印は、各階層がテーブル格納部５００内のデータテーブルを参照することを示し、上下方向の線上にある長方形の枠内には、その階層で行われる処理の内容が示されている。また、図１０は、図７或いは図９の処理動作によって作成される共通パケットデータを表す模式図である。
【００８５】
まず、例えば、アプリケーション部１００にあるＥＣＴアプリケーションソフト１２０にて、共有メモリに外部共有データの１つである車速ＳＰＤのデータ（以下、ＳＰＤデータという）を書き込む処理ステップになると、図６の［１］に示すように、アプリケーション部１００のＥＣＴアプリケーションソフト１２０は、共有メモリ部２１０に対してデータ書込要求のメッセージを出す（発行する）。そして、この時、ＳＰＤデータのHandle番号（この例ではHandle1 ）と、ＥＣＴアプリケーションソフト１２０でのＳＰＤデータの格納アドレス（即ち、ＥＣＴアプリケーションソフト１２０が制御用の演算処理時にＳＰＤデータの書き込み及び読み出しを行う制御用データ記憶領域のアドレスであって、この例では＆ＳＰＤ）との各情報も、共有メモリ部２１０へ送られる。
【００８６】
尚、データ書込要求のメッセージを出す処理を、Ｃ言語でプログラミングした場合、ＳＰＤデータを共有メモリに書き込むためのメッセージの発行命令は、次のようになる。
Write（Handle1 ，＆ＳＰＤ）
この命令の意味は、ＳＰＤデータのHandle番号（Handle1 ）に対応する共有メモリのアドレスへ、＆ＳＰＤに格納されているデータ（ＥＣＴアプリケーションソフト１２０で求められたＳＰＤデータ）を書き込む、ということである。また、アプリケーション部１００の各アプリケーションソフト１１０，１２０，１３０が、ＳＰＤデータ以外の制御用データを共有メモリに書き込む場合には、上記命令のうち、“Handle1 ”が、書き込むべきデータのHandle番号となり、“＆ＳＰＤ”が、そのアプリケーションソフト用に設けられた制御用データ記憶領域のうちで、書き込むべきデータが格納された記憶領域のアドレスとなる。
【００８７】
そして、共有メモリ部２１０は、アプリケーション部１００（ＥＣＴアプリケーションソフト１２０）からの上記メッセージを受けると、図６の［２］に示すように、テーブル格納部５００にある共有メモリテーブル（図４）を参照して、上記メッセージと共に送られて来たHandle番号（Handle1 ）に対応する共有メモリアドレスと共有メモリサイズとを、共有メモリ情報として取得する。
【００８８】
すると、共有メモリ部２１０は、上記取得した共有メモリ情報に基づき、ＳＰＤデータは共有メモリにて$FFFF0000 番地を先頭にした２バイト（byte）の領域に書き込むべきであることを認知し、図６の［３］の処理にて、ＥＣＴアプリケーションソフト１２０でのＳＰＤデータの格納アドレス（＆ＳＰＤ）から、共有メモリの$FFFF0000 番地へ、２バイトのＳＰＤデータをコピーする。
【００８９】
この共有メモリ部２１０の処理により、図３における共有メモリ部２１０の枠内に例示しているように、共有メモリへHandle1 に対応したＳＰＤデータが格納される。
そして、図示はしていないが、ＥＣＴアプリケーションソフト１２０で算出された他の制御用データや、エンジンアプリケーションソフト１１０及びクルーズアプリケーションソフト１３０で算出された制御用データも、図６の手順と同じ要領で共有メモリに格納される。
【００９０】
一方また、図示はしていないが、共有メモリに格納された制御用データを、アプリケーション部１００（詳しくは、アプリケーション部１００の各アプリケーションソフト）が制御用演算処理に使用する場合には、アプリケーション部１００と共有メモリ部２１０とが、次のように動作する。
【００９１】
例えば、アプリケーション部１００のエンジンアプリケーションソフト１１０が、ＥＣＴアプリケーションソフト１２０によって算出されたＳＰＤデータを共有メモリから読み出す場合について説明すると、この場合、まず、エンジンアプリケーションソフト１１０が、共有メモリ部２１０に対してデータ読出要求のメッセージを出す。そして、この時、ＳＰＤデータのHandle番号（Handle1 ）と、エンジンアプリケーションソフト１１０でのＳＰＤデータの格納アドレス（即ち、エンジンアプリケーションソフト１１０が制御用の演算処理時にＳＰＤデータの書き込み及び読み出しを行う制御用データ記憶領域のアドレス）との各情報も、共有メモリ部２１０へ送られる。
【００９２】
すると、共有メモリ部２１０は、テーブル格納部５００にある共有メモリテーブル（図４）を参照して、上記データ読出要求のメッセージと共に送られて来たHandle番号（Handle1 ）に対応する共有メモリアドレスと共有メモリサイズとを、共有メモリ情報として取得する。そして、その取得した共有メモリ情報に基づき、ＳＰＤデータは共有メモリにて$FFFF0000 番地を先頭にした２バイト分の領域に格納されていることを認知し、共有メモリの$FFFF0000 番地から２バイト分の領域に格納されているＳＰＤデータを、エンジンアプリケーションソフト１１０でのＳＰＤデータの格納アドレスにコピーする。
【００９３】
そして、このコピーの動作により、図３における共有メモリ部２１０の枠内から上向きに伸びた２つの矢印のうちの左側の矢印のように、共有メモリ内のＳＰＤデータがエンジンアプリケーションソフト１１０へ提供されることとなる。
次に、通信相手へ送信すべき共通パケットデータを作成する処理について説明するが、共通パケットデータを作成するタイミングとしては、予め定められた所定時間間隔毎の定時送信時のタイミングと、共有メモリに格納される制御用データのうちで、イベント送信すべき制御用データが更新された時のイベント送信時のタイミングとがあり、図７は、前者のタイミングでの処理を表しており、図９は、後者のタイミングでの処理を表している。
【００９４】
そこで最初に、定時送信時に共通パケットデータを作成する処理について、図７を用い説明する。
まず、他のＥＣＵ４，６，８や第２マイコン６２へデータを定時送信すべきタイミングになると、図７の［７］に示すように、通信制御部４００が、共通パケットデータ部２３０に対して、図３における共通パケットデータ部２３０の枠内に例示したような共通パケットデータを作成させるために、送信指令としての送信要求のメッセージを出す（発行する）。
【００９５】
尚、図３では、パケット番号がＰＮ１しか示されていないが、実際には多数存在するため、通信制御部４００は、今回の定時送信で送信すべき共通パケットデータのパケット番号（この例ではＰＮ１）を、送信要求のメッセージ（送信指令）の一部として共通パケットデータ部２３０へ出す。具体的に説明すると、通信制御部４００は、タイマ４１０のカウント値に基づき時間の経過を把握すると共に、図５（Ａ）のHandle番号特定テーブルに記述されたパケット番号と送信周期とに従って、１Ｓ（秒）毎にＰＮ１を含んだ送信要求のメッセージを出し、３Ｓ毎にＰＮ２を含んだ送信要求のメッセージを出し、５Ｓ毎にＰＮ３を含んだ送信要求のメッセージを出し、０．５Ｓ毎にＰＮ４を含んだ送信要求のメッセージを出す。つまり、通信制御部４００は、Handle番号特定テーブルに記述された各パケット番号を、そのパケット番号に対応して当該テーブルに記述されている送信周期毎に、送信指令として出すようになっている。また、図７における（）内の記述は、通信制御部４００から共通パケットデータ部２３０へ出されたパケット番号がＰＮ１であった場合を示している。
【００９６】
このようにして、通信制御部４００がパケット番号を含んだ送信要求のメッセージを出すと、共通パケットデータ部２３０は、図７の［８］に示すように、テーブル格納部５００内のHandle番号特定テーブル（図５（Ａ））から、通信制御部４００によって出されたパケット番号に対応して記述されている各Handle番号（つまり、通信制御部４００が出したパケット番号の共通パケットデータを構成する制御用データの各Handle番号）を、送信データ情報として読み出し取得する。
【００９７】
例えば、通信制御部４００から共通パケットデータ部２３０へ出されたパケット番号がＰＮ１であった場合には、図５（Ａ）のHandle番号特定テーブルにおいて、ＰＮ１に対応して記述されたHandle番号は、Handle１，Handle１０，Handle５，及びHandle２の４つであるため、その４つのHandle番号を、ＰＮ１の共通パケットデータを構成する制御用データの各Handle番号として取得することとなる。
【００９８】
そして次に、共通パケットデータ部２３０は、図７の［９］に示すように、まず、上記取得したHandle番号のうちの最初のHandle番号（この例ではHandle1 ）を、物理値変換要求のメッセージと共に物理値変換部２２０へ出す。
すると、物理値変換部２２０は、図７の［１０］に示すように、共通パケットデータ部２３０からのHandle番号を、データ取得要求のメッセージと共に共有メモリ部２１０へ出す。
【００９９】
このデータ取得要求のメッセージにより共有メモリ部２１０は、図６の［２］と同様に、テーブル格納部５００内の共有メモリテーブル（図４）から、物理値変換部２２０によって上記データ取得要求のメッセージと共に出されたHandle番号（ここではHandle1 ）に対応する共有メモリアドレス（$FFFF0000 ）と共有メモリサイズ（２byte）とを、共有メモリ情報として取得し、更に、その取得した共有メモリ情報に基づき、共有メモリの$FFFF0000 番地から２バイト分のデータ（この例ではＳＰＤデータ）を読み出して、その読み出したデータを、図７の［１１］に示すように、物理値変換部２２０へ戻り値として返す。
【０１００】
すると更に、物理値変換部２２０は、図７の［１２］に示すように、テーブル格納部５００内のパケット番号特定テーブル（図５（Ｂ））から、上記［１０］で自分が共有メモリ部２１０へ出したHandle番号（Handle1 ）に対応して記述されているＬＳＢ変換コールアドレス（$00001000 ）を読み出して取得する。そして、物理値変換部２２０は、図７の［１３］にて、上記［１０］及び［１１］の動作で共有メモリから読み出したHandle1 の制御用データ（即ち、共有メモリ部２１０から戻り値として返された制御用データであって、この例では２バイトのＳＰＤデータ）を処理対象として、上記取得したＬＳＢ変換コールアドレスに格納されているＬＳＢ変換プログラムを起動することにより、その制御用データ（ＳＰＤデータ）に対してＬＳＢ変換処理を行う。
【０１０１】
これにより、図３における物理値変換部２２０の枠内に例示しているように、Handle1 のＳＰＤデータがＬＳＢ変換され、そのＬＳＢ変換後のデータ（以下、ＳＰＤ’データと記す）が、物理値変換部２２０の作業領域として割り当てられたＲＡＭの所定領域に、対応するHandle番号（Handle1 ）と共に格納される。
【０１０２】
尚、このように送信対象の制御用データをＬＳＢ変換するのは、前述したように、データを算出して送信する側のマイコンと、そのデータを受信する側のマイコンとで、そのデータを扱う上での分解能が異なる場合があるためであり、このような場合でも、受信する側のマイコンが、受信したデータをそのまま処理に用いることができるようにするためである。
【０１０３】
その後、共通パケットデータ部２３０は、図７の［１４］に示すように、テーブル格納部５００内のパケット番号特定テーブル（図５（Ｂ））から、上記［９］で自分が物理値変換部２２０へ出したHandle番号（Handle1 ）に対応して記述されている共通パケットデータサイズと共通パケットデータ位置とを、共通パケットデータ情報として取得する。
【０１０４】
そして、共通パケットデータ部２３０は、図７の［１５］にて、通信制御部４００から出されたパケット番号（ここではＰＮ１）の共通パケットデータを作成するための共通パケットデータ生成処理を行う。
ここで、この共通パケットデータ生成処理は、作成対象の共通パケットデータにおけるデータ領域のうち、上記［１４］の動作でパケット番号特定テーブルから今回取得した共通パケットデータ位置及び共通パケットデータサイズにより指定される領域に、物理値変換部２２０によって今回ＬＳＢ変換された制御用データを配置する、といった手順で行われる。よって、例えば、図５（Ｂ）の最上段に示すように、Handle1 に対応して記述されている共通パケットデータ位置と共通パケットデータサイズは、夫々、“０”と“２バイト”であるため、図１０（Ａ）に示すように、Handle1 のＬＳＢ変換後のデータ（ＳＰＤ’データ）Ｈ１は、ＰＮ１の共通パケットデータにおける０バイト目の位置から２バイト分の領域に配置されることとなる。
【０１０５】
このようにして、Handle1 の制御用データについてのＬＳＢ変換処理及び共通パケットデータ生成処理が終わると、図７の［１６］に示すように、共通パケットデータ部２３０が上記［８］の動作で取得した各Handle番号のうちの次のHandle番号（Handle10）について、上記［９］〜［１４］と同じ要領でＬＳＢ変換のための動作が行われ、次いで図７の［１７］に示すように、上記［１５］と同じ要領で共通パケットデータ生成処理が行われる。そして更に、共通パケットデータ部２３０が上記［８］の動作で取得した各Handle番号のうちの他のHandle番号（Handle5 ，Handle2 ）についても、図７の［１８］〜［２１］に示すように、上記［９］〜［１４］及び［１５］と同じ要領で、ＬＳＢ変換動作と共通パケットデータ生成処理とが順次行われる。
【０１０６】
そして、通信制御部４００から共通パケットデータ部２３０へ出されたパケット番号ＰＮに対応する全てのHandle番号の制御用データについて、ＬＳＢ変換と共通パケットデータ生成処理とが終了すると、送信すべき共通パケットデータの作成が完了する。
【０１０７】
例えば、通信制御部４００が共通パケットデータ部２３０へＰＮ１を出した場合、図５の両テーブルに従い作成されるＰＮ１の共通パケットデータとしては、図１０（Ａ）に示すように、Handle1 のＬＳＢ変換後のデータＨ１が０バイト目の位置から２バイト分の領域に配置され、Handle10のＬＳＢ変換後のデータＨ１０が２バイト目の位置から１バイト分の領域に配置され、Handle5 のＬＳＢ変換後のデータＨ５が３バイト目の位置から３バイト分の領域に配置され、Handle2 のＬＳＢ変換後のデータＨ２が６バイト目の位置から２バイト分の領域に配置されたデータ列となる。
【０１０８】
また例えば、通信制御部４００が共通パケットデータ部２３０へＰＮ２を出した場合、図５の両テーブルに従い作成されるＰＮ２の共通パケットデータとしては、図１０（Ｂ）に示すように、Handle3 のＬＳＢ変換後のデータＨ３が０バイト目の位置から２バイト分の領域に配置され、Handle6 のＬＳＢ変換後のデータＨ６が２バイト目の位置から４バイト分の領域に配置され、Handle2 のＬＳＢ変換後のデータＨ２が６バイト目の位置から２バイト分の領域に配置されたデータ列となる。
【０１０９】
次に、このようにして今回送信すべき共通パケットデータの作成が完了すると、共通パケットデータ部２３０は、図７の［２２］及び図８の［２２］に示すように、通信データ変換部２４０に対して、今回作成した共通パケットデータを通信相手との通信プロトコルに対応する通信データ列（即ち、実際に送信されるパケットデータ）に変換させるために、送信要求のメッセージを出す。そして、この時、今回作成した共通パケットデータのパケット番号（この例ではＰＮ１）も、送信要求のメッセージの一部として通信データ変換部２４０へ出される。
【０１１０】
すると、通信データ変換部２４０は、図８の［２３］の処理にて、共通パケットデータ部２３０によって作成された共通パケットデータを、図５（Ａ）のHandle番号特定テーブルに基づき、通信相手との通信プロトコルに対応した通信データ列に変換する。
【０１１１】
具体的に説明すると、例えば、共通パケットデータ部２３０から通信データ変換部２４０へ出されたパケット番号がＰＮ１であった場合、通信データ変換部２４０は、まず、図５（Ａ）のHandle番号特定テーブルから、ＰＮ１に対応して記述されている通信方式とヘッダ情報とを読み出して取得する。そして、この場合、通信方式は多重通信を示す“ＣＡＮ”であり、ヘッダ情報は“Arbitration=0x123 ”と“ML=08 ”であるため、通信データ変換部２４０は、図３における通信データ変換部２４０の枠内に例示しているように、共通パケットデータ部２３０によって作成された共通パケットデータの先頭に、Handle番号特定テーブルから取得した上記内容のArbitration とMLとを付加することにより、ＣＡＮに対応した通信データ列を作成する。尚、Arbitration は、データの優先順位を示し、データが衝突した場合の調停用データである。そして、“Arbitration=0x123 ”とは、Arbitration が１６進数表示で１２３であることを示している。また、MLは、通信データ列におけるデータフレーム部分のデータ長を示すデータであり、“ML=08 ”とは、そのデータ長が８バイトであることを示している。
【０１１２】
そして、通信データ変換部２４０は、通信データ列の作成を終了すると、図８の［２４］に示すように、通信ドライバ部３００にあるＤＭＡ通信部３１０，シリアル通信部３２０，及び多重通信部３３０のうち、上記［２３］の処理でHandle番号特定テーブルから取得した通信方式（即ち、作成した通信データ列の通信プロトコル）に対応するオブジェクトに対して、送信要求のメッセージを出す。
【０１１３】
すると、この通信データ変換部２４０からのメッセージの出力先である通信ドライバ部３００内のオブジェクト（ＤＭＡ通信部３１０，シリアル通信部３２０，及び多重通信部３３０の何れか）は、通信データ変換部２４０によって作成された通信データ列を、自己の通信プロトコルに応じたボーレートや転送タイミングで、実際の通信データとして外部へ出力する。
【０１１４】
例えば、通信データ変換部２４０は、上記［２３］の処理でHandle番号特定テーブルから取得した通信方式がＣＡＮであった場合、通信ドライバ部３００の多重通信部３３０に対して、送信要求のメッセージを発行する。
すると、多重通信部３３０は、図８の［２５］の送信処理にて、通信データ変換部２４０により作成された通信データ列を、通信ＩＣ７０に出力すると共に、その通信ＩＣ７０を制御して、上記作成された通信データ列を、通信相手との通信プロトコルに応じたボーレートや転送タイミングで多重通信線１０へ送出させる。そして、こうした一連の処理により、第１マイコン６０内のアプリケーション部１００で算出された制御用データが、多重通信線１０に対応した通信プロトコルのパケットデータに変換されて、エアコンＥＣＵ４及びメータＥＣＵ６に送信される。
【０１１５】
尚、上記説明では、主に、ＰＮ１のパケットデータを作成して送信する場合について述べたが、ＰＮ１以外の他のパケットデータについても、ＰＮ１のパケットデータと同じ要領で作成されて送信される。
但し、例えば、ＰＮ２のパケットデータについては、図７及び図８に示した処理動作が３Ｓ毎に行われて、その作成及び送信が行われ、また、ＰＮ３のパケットデータについては、図７及び図８に示した処理動作が５Ｓ毎に行われて、その作成及び送信が行われる。そして、こうした各パケットデータの作成及び送信の周期は、図５（Ａ）のHandle番号特定テーブルに記述されたパケット番号と送信周期とによって決まる。
【０１１６】
また例えば、ＰＮ２の共通パケットデータについては、図５（Ａ）から分かるように、通信方式がシリアル通信を示す“ＳＣＩ”であり、ヘッダ情報が“ID=1”と“ML=16 ”であるため、そのヘッダ情報としてのIDとMLが先頭に付加されて、実際に送信されるパケットデータに変換される。そして、ＰＮ２のパケットデータを作成して送信する場合、通信データ変換部２４０は、上記［２４］にて、通信ドライバ部３００のシリアル通信部３２０に対して、送信要求のメッセージを出すこととなるため、作成されたＰＮ２のパケットデータは、通信ドライバ部３００内のシリアル通信部３２０によってシリアル通信線１１へ送出されることとなる。
【０１１７】
次に、イベント送信時に共通パケットデータを作成する処理について、図９を用い説明する。
まず、共有メモリ部２１０は、共有メモリ内のデータのうちで、外部へイベント送信すべきイベント送信対象のデータ（例えば、前述したフェイルセーフ用データやＮ回噴射毎の噴射量データ）が更新されたことを検出すると、図９の［２６］に示すように、通信制御部４００に対して、その更新されたデータのHandle番号を含んだ送信要求のメッセージを出す。
【０１１８】
尚、共有メモリ部２１０は、アプリケーション部１００からのデータ書込要求に応じて図６に示した手順により、イベント送信対象のデータを共有メモリに書き込んだ場合、或いは、イベント送信対象のデータを共有メモリに書き込んだ際にそのデータ値が以前の値から変わった場合に、データが更新されたと判断する。また、図９における（）内の記述は、共有メモリ部２１０から通信制御部４００へ出されたHandle番号が、Handle5 であった場合を例示している。
【０１１９】
すると、通信制御部４００は、図９の［２７］に示すように、共通パケットデータ部２３０に対して、共有メモリ部２１０から出されたHandle番号のデータ（即ち、更新されたイベント送信対象のデータ）を含む共通パケットデータを作成させるために、共有メモリ部２１０から出されたHandle番号を含んだ送信要求のメッセージを、送信指令として出す。つまり、イベント送信時には、通信制御部４００から共通パケットデータ部２３０へ、パケット番号ではなく、更新されたイベント送信対象のデータを示すHandle番号が送信指令として出される。
【０１２０】
このようにして、通信制御部４００がHandle番号を含んだ送信要求のメッセージを出すと、共通パケットデータ部２３０は、図９の［２８］に示すように、テーブル格納部５００内のパケット番号特定テーブル（図５（Ｂ））から、通信制御部４００によって出されたHandle番号に対応して記述されているイベント送信パケット番号（つまり、通信制御部４００が出したHandle番号のデータが構成要素となり且つイベント送信される共有パケットデータのパケット番号）を、今回イベント送信すべき共通パケットデータのパケット番号として読み出し取得する。
【０１２１】
例えば、通信制御部４００から共通パケットデータ部２３０へ出されたHandle番号がHandle5 であった場合には、図５（Ｂ）のパケット番号特定テーブルにおいて、Handle5 に対応して記述されているパケット番号は、ＰＮ１であるため、そのＰＮ１を、今回イベント送信すべき共通パケットデータのパケット番号として取得することとなる。
【０１２２】
そして、共通パケットデータ部２３０は、図９の［２９］にて、前述した図７の［８］と同様に、テーブル格納部５００内のHandle番号特定テーブル（図５（Ａ））から、上記［２８］の動作で取得したパケット番号に対応して記述されている各Handle番号（つまり、今回イベント送信すべき共通パケットデータを構成するデータの各Handle番号）を、読み出して取得する。例えば、上記［２８］の動作で取得したパケット番号がＰＮ１であった場合には、図５（Ａ）のHandle番号特定テーブルにおいて、ＰＮ１に対応して記述されたHandle１，Handle１０，Handle５，及びHandle２を、今回イベント送信すべきＰＮ１の共通パケットデータを構成するデータの各Handle番号として取得することとなる。
【０１２３】
その後、共通パケットデータ部２３０は、物理値変換部２２０及び共有メモリ部２１０と連携して、図９の［９］〜［２１］に示すように、定時送信時における図７の［９］〜［２１］と全く同じ手順で共通パケットデータを作成する。
つまり、上記［２９］の動作で取得した各Handle番号のデータを共有メモリから読み出すと共に、その読み出したデータの各々について、図５（Ｂ）のパケット番号特定データテーブルに基づき、該当するＬＳＢ変換プログラムを起動することによりＬＳＢ変換処理を行う。そして、そのＬＳＢ変換後の各データを、図５（Ｂ）のパケット番号特定データテーブルに記述されている共通パケットデータ位置及び共通パケットデータサイズに基づいて並べることにより、上記［２８］の動作で取得したパケット番号の共通パケットデータであって、更新されたイベント送信対象のデータが含まれる共通パケットデータを作成する。
【０１２４】
そして、共通パケットデータ部２３０は、共通パケットデータの作成を完了すると、図９の［２２］にて、図７の［２２］と全く同様に、今回作成した共通パケットデータのパケット番号を含んだ送信要求のメッセージを、通信データ変換部２４０へ出す。
すると、共通パケットデータ部２３０によって作成された共通パケットデータは、通信データ変換部２４０及び通信ドライバ部３００により、前述の図８に示した手順で、通信相手との通信プロトコルに対応する通信データ列（実際に送信されるパケットデータ）に変換されて、その通信相手へと送信されることとなる。
【０１２５】
ところで、図５（Ｂ）のパケット番号特定テーブルにおいて、例えば、Handle1 に対しては、イベント送信パケット番号として、ＰＮ１とＰＮ４との２つのパケット番号が記述されているため、図９の［２６］にて、共有メモリ部２１０がHandle1 を含んだ送信要求のメッセージを出した場合（つまり、Handle1 のデータをイベント送信する場合）には、ＰＮ１とＰＮ４との各々について、図９の［２９］，［９］〜［２２］及び図８の処理動作が行われ、そのＰＮ１とＰＮ４との２種類のパケットデータが作成及び送信されることとなる。
【０１２６】
また、図５（Ｂ）のパケット番号特定テーブルにおいて、イベント送信を行う必要が無いデータ（図５（Ｂ）においては、Handle3 とHandle6 の各データ）に対しては、イベント送信パケット番号が記述されていない。よって、仮に、共有メモリ部２１０が、図９の［２６］にて、イベント送信対象ではないデータのHandle番号（Handle3 ，Handle6 ）を含んだ送信要求のメッセージを出したとしても、共通パケットデータの作成及びイベント送信は行われない。
【０１２７】
一方、図５（Ａ）に示すように、Handle5 のデータは、ＰＮ１とＰＮ３との２つの各パケットデータに含まれるが、本実施形態において、ＰＮ３のパケットデータは姿勢制御ＥＣＵ８に対してシリアル通信されるパケットデータであり、姿勢制御ＥＣＵ８へはイベント送信する必要が無いため（姿勢制御ＥＣＵ８の仕様上から、イベント送信は不要であるため）、図５（Ｂ）のパケット番号特定テーブルでは、Handle5 に対応するイベント送信パケット番号として、ＰＮ１のみ記述されており、ＰＮ３は記述されていない。
【０１２８】
尚、本実施形態では、第１マイコン６０のＲＡＭ内に設定された共有メモリが、記憶部に相当している。
そして、通信制御部４００のうちで、図７の［７］に示した処理動作（即ち、Handle番号特定テーブルに記述された各パケット番号を、そのパケット番号に対応して当該テーブルに記述されている送信周期毎に、送信指令として出す処理動作）を行う部分が、定時送信動作起動手段に相当し、共通パケットデータ部２３０，物理値変換部２２０，及び共有メモリ部２１０のうちで、図７の［８］〜［２２］に示した処理動作を行う部分が、定時送信用パケットデータ作成手段に相当している。
【０１２９】
また、共有メモリ部２１０及び通信制御部４００のうちで、図９の［２６］，［２７］に示した処理動作（即ち、共有メモリ内の特定のデータが更新されたことを検出すると、そのデータのHandle番号を、送信指令として出す処理動作）を行う部分が、イベント送信動作起動手段に相当し、共通パケットデータ部２３０，物理値変換部２２０，及び共有メモリ部２１０のうちで、図９の［２８］，［２９］，［９］〜［２２］に示した処理動作を行う部分が、イベント送信用パケットデータ作成手段に相当している。
【０１３０】
そして、通信データ変換部２４０と通信ドライバ部３００が、送信手段に相当し、また、第１マイコン６０のＲＯＭにおける記憶領域のうちで、物理値変換部２２０により起動される複数種類のＬＳＢ変換プログラムを格納した所定領域が、変換プログラム格納手段に相当している。
【０１３１】
以上詳述したように本実施形態のエンジンＥＣＵ２に設けられた第１マイコン６０において、定時送信時には、まず、通信制御部４００により、今回送信すべきパケットデータのパケット番号が特定される。すると、Handle番号特定テーブルから、そのパケット番号のパケットデータを構成する各データのHandle番号を取得して、その各Handle番号のデータを共有メモリから読み出すこととなるが、このとき、Handle番号特定テーブルには、パケット番号毎に、そのパケット番号のパケットデータを構成する各データのHandle番号が記述されているため、時間のかかる検索処理を行うことなく、今回送信すべきパケットデータを構成する各データのHandle番号を即座に取得することができる。
【０１３２】
そして更に、第１マイコン６０では、パケット番号特定テーブルから、上記取得した各Handle番号に夫々対応する共通パケットデータ位置，共通パケットデータサイズ，及びＬＳＢ変換コールアドレスといった各データに固有の情報を取得し、その取得した各情報に基づき、共有メモリから読み出した各データをＬＳＢ変換して配列させることにより、今回送信すべきパケットデータを作成するが、このとき、パケット番号特定データテーブルには、各データのHandle番号毎に、そのデータに固有の情報（共通パケットデータ位置及び共通パケットデータサイズとＬＳＢ変換コールアドレス）が記述されているため、時間のかかる検索処理を行うことなく、定時送信用のパケットデータを迅速に作成することができる。
【０１３３】
一方、第１マイコン６０において、イベント送信時には、まず、共有メモリ部２１０により、今回イベント送信すべきデータのHandle番号が特定される。すると、パケット番号特定テーブルから、そのHandle番号が含まれるパケットデータのパケット番号を取得することとなるが、このとき、パケット番号特定テーブルには、各データのHandle番号毎に、そのデータが構成要素となるパケットデータのパケット番号が記述されているため、時間のかかる検索処理を行うことなく、今回イベント送信すべきデータを含むパケットデータのパケット番号を即座に取得することができる。
【０１３４】
そして、第１マイコン６０では、パケット番号特定テーブルから取得したパケット番号を元に、定時送信時と全く同じ手順で、今回イベント送信すべきパケットデータを作成することとなり、その作成時においても、時間のかかる検索処理を行うことなく、Handle番号特定テーブルから、今回イベント送信すべきパケットデータを構成する各データのHandle番号を即座に取得することができると共に、パケット番号特定テーブルから、各データに固有の情報を即座に取得して、イベント送信用のパケットデータを迅速に作成することができる。
【０１３５】
このように本実施形態のエンジンＥＣＵ２に設けられた第１マイコン６０では、パケットデータを作成するための情報を定義するデータマップを、Handle番号特定テーブルとパケット番号特定テーブルとに分け、Handle番号特定テーブルには、パケット番号毎に、そのパケット番号のパケットデータを構成する各データのHandle番号を記述し、パケット番号特定テーブルには、データのHandle番号毎に、そのHandle番号のデータがパケットデータ内においてどの位置に配置されるかを示す共通パケットデータ位置及び共通パケットデータサイズと、そのHandle番号のデータをＬＳＢ変換するためのＬＳＢ変換コールアドレスと、そのHandle番号のデータが構成要素となるパケットデータのパケット番号とを記述するようにしているため、定時送信とイベント送信との何れの送信時においても、その時に送信すべきパケットデータを迅速に作成することができる。
【０１３６】
そして、本実施形態の第１マイコン６０によれば、実際に送信するパケットデータを、その都度、迅速に作成することができるため、従来装置のように、送信予定のパケットデータを定期的に予め作成しておく必要がなく、処理上及びメモリ領域の面で無駄が無い。つまり、定時送信とイベント送信との両方について、データ送信を行うべき時に、送信対象のパケットデータを迅速に且つ効率的に作成することができるのである。
【０１３７】
しかも、パケットデータを構成するデータの種別や並びを変更する場合に、プログラム制御文自体を修正する必要が無い。つまり、種別の変更に対しては、Handle番号特定テーブルにてパケット番号毎に記述するHandle番号を書き換えるだけで対応することができ、並びの変更に対しては、パケット番号特定テーブルにてHandle番号毎に記述する共通パケットデータ位置及び共通パケットデータサイズを書き換えるだけで対応することができる。
【０１３８】
また、同じHandle番号のデータを含むパケットデータであっても、イベント送信を必要としないパケットデータについては、パケット番号特定テーブルにパケット番号を記述しなければ良い。具体的には、前述したように、Handle5 のデータは、図５（Ａ）に示す如く、ＰＮ１とＰＮ３との２つの各パケットデータに含まれて送信されるが、パケット番号特定テーブルにおいて、Handle5 に対応して記述されているパケット番号はＰＮ１のみであるため、Handle5 のデータが更新されてイベント送信される時に、ＰＮ３のパケットデータが作成されることはない。つまり、本実施形態の第１マイコン６０によれば、パケット番号特定テーブルにてHandle番号毎に記述するパケット番号を変えるだけで、イベント送信するパケットデータを変更することができる。
【０１３９】
そして更に、本実施形態の第１マイコン６０によれば、何れかのパケットデータの定時送信間隔（送信周期）を変更する場合、Handle番号特定テーブルにて、そのパケットデータのパケット番号に対応して記述する送信周期を書き換えるだけで良く、定時送信間隔の変更に対しても、非常に容易に対応することができる。
【０１４０】
また、本実施形態の第１マイコン６０では、送信する各データに対するＬＳＢ変換処理を、アプリケーション部１００とは別に設けた物理値変換部２２０で行うようにしているため、アプリケーション部１００の各アプリケーションソフト１１０〜１３０は、通信相手側で採用されているデータ精度を全く意識する必要が無く、各アプリケーションソフト１１０〜１３０と通信相手との独立性を確保することができる。このため、アプリケーションソフトの入れ替えや、他のシステム構成への転用が非常に容易となる。
【０１４１】
そして更に、本実施形態の第１マイコン６０によれば、何れかのデータに対するＬＳＢ変換の内容を変更する場合にも、プログラム制御文自体を修正する必要がなく、パケット番号特定テーブルにて、そのデータのHandle番号に対応して記述するＬＳＢ変換コールアドレスを書き換えるだけで対応することができる。尚、新たな内容のＬＳＢ変換が必要な場合には、その変換を行うためのＬＳＢ変換プログラムをＲＯＭに追加した上で、パケット番号特定テーブル内のＬＳＢ変換コールアドレスを変更すれば良い。
【０１４２】
また、本実施形態の第１マイコン６０では、ＬＳＢ変換すべきデータを処理対象として、パケット番号特定テーブルに基づき特定されるＬＳＢ変換プログラムを起動することにより、そのデータに対してＬＳＢ精度処理を行うようにしているため、同じ内容のＬＳＢ変換を行うデータが複数種類ある場合には、例えば図５（Ｂ）における１段目のHandle1 と２段目のHandle2 のように、パケット番号特定テーブル内のＬＳＢ変換コールアドレスを同じ値（$00001000 ）にしておくことで、その複数のデータに対して同じＬＳＢ変換プログラムを使用することができる。よって、プログラムの全容量（延いては、ＲＯＭの必要容量）を削減することができる。
【０１４３】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、種々の形態を採り得ることは言うまでもない。
例えば、上記実施形態では、通信データ変換部２４０が参照するパケット番号毎の通信方式とヘッダ情報も、Handle番号特定テーブルに記述するようにしたが、パケット番号毎の通信方式とヘッダ情報は、別のデータマップで定義するようにしても良い。但し、上記実施形態のように、Handle番号特定テーブルで一括して定義した方が効率的である。
【０１４４】
また、上記実施形態の車両制御システム１では、エンジンＥＣＵ２の第１マイコン６０が、３種類の通信プロトコルで外部と通信したが、例えば、多重通信線１０を介した通信だけを行うのであれば、通信ドライバ部３００のＤＭＡ通信部３１０とシリアル通信部３２０は削除することができる。
【図面の簡単な説明】
【図１】  実施形態の車両制御システムの構成を表す構成図である。
【図２】  図１の車両制御システムを構成するエンジンＥＣＵの内部構成を表すブロック図である。
【図３】  エンジンＥＣＵに設けられたマイコン内の通信モデルを仮想的に示した概念図である。
【図４】  テーブル格納部に格納された共有メモリテーブルを説明する説明図である。
【図５】  テーブル格納部に格納されたHandle番号特定テーブルとパケット番号特定テーブルを説明する説明図である。
【図６】  アプリケーション部によって求められた制御用データを共有メモリに格納する処理動作を示すメッセージシーケンスチャートである。
【図７】  定時送信時に、共有メモリに格納されている制御用データから共通パケットデータを作成する処理動作を示すメッセージシーケンスチャートである。
【図８】  作成された共通パケットデータを、通信データ列に変換して送信する処理動作を示すメッセージシーケンスチャートである。
【図９】  イベント送信時に、共有メモリに格納されている制御用データから共通パケットデータを作成する処理動作を示すメッセージシーケンスチャートである。
【図１０】  図７或いは図９の処理動作によって作成される共通パケットデータを表す模式図である。
【図１１】  一般的な車両制御システムの構成を表す構成図である。
【図１２】  パケットデータの構成例を説明する説明図である。
【符号の説明】
１…車両制御システム    ２…エンジンＥＣＵ    ４…エアコンＥＣＵ
６…メータＥＣＵ    ８…姿勢制御ＥＣＵ    １０…多重通信線
１１…シリアル通信線    ６０…第１マイコン    ６２…第２マイコン
６４…入力回路    ６６…出力回路    ６８…通信線    ７０…通信ＩＣ
１００…アプリケーション部    １１０…エンジンアプリケーションソフト
１２０…ＥＣＴアプリケーションソフト
１３０…クルーズアプリケーションソフト    ２００…通信変換部
２１０…共有メモリ部    ２２０…物理値変換部
２３０…共通パケットデータ部    ２４０…通信データ変換部
３００…通信ドライバ部    ３１０…ＤＭＡ通信部
３２０…シリアル通信部    ３３０…多重通信部    ４００…通信制御部
４１０…タイマ    ５００…テーブル格納部
【図１】
0003690179.tif 000002
【図２】
0003690179.tif 000003
【図３】
0003690179.tif 000004
【図４】
0003690179.tif 000005
【図５】
0003690179.tif 000006
【図６】
0003690179.tif 000007
【図７】
0003690179.tif 000008
【図８】
0003690179.tif 000009
【図９】
0003690179.tif 000010
【図１０】
0003690179.tif 000011
【図１１】
0003690179.tif 000012
【図１２】
0003690179.tif 000013