JP3666297B2 - 自動車用制御装置 - Google Patents
自動車用制御装置 Download PDFInfo
- Publication number
- JP3666297B2 JP3666297B2 JP11853999A JP11853999A JP3666297B2 JP 3666297 B2 JP3666297 B2 JP 3666297B2 JP 11853999 A JP11853999 A JP 11853999A JP 11853999 A JP11853999 A JP 11853999A JP 3666297 B2 JP3666297 B2 JP 3666297B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- conversion
- control data
- control
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
- Air-Conditioning For Vehicles (AREA)
Description
【発明の属する技術分野】
本発明は、制御対象を制御するためにマイクロコンピュータからなる情報処理装置を備えた自動車用制御装置に関し、特に、その情報処理装置が、当該自動車用制御装置内や他の自動車用制御装置に備えられた他の情報処理装置とデータ通信を行うことにより、その通信相手の情報処理装置と制御用データを共有するようにした自動車用制御装置に関する。
【0002】
【従来の技術】
従来より、自動車に搭載されたエンジンやトランスミッション等の制御対象を制御する自動車用制御装置は、制御対象を制御するための演算処理を行う情報処理装置として、マイクロコンピュータ(以下、マイコンという)を備えている。
【0003】
そして、近年における制御内容の複雑化に伴い、この種の自動車用制御装置では、それに搭載されたマイコンが、同じ自動車用制御装置内や他の自動車用制御装置に搭載された他のマイコンとデータ通信を行って、その通信相手のマイコンと制御対象の制御に用いる制御用データを共有することにより、制御性を向上させている。
【0004】
例えば、こうした自動車用制御装置(以下、ECUともいう)の通信形態上のシステム構成としては、まず、1つのECUに搭載された2のマイコンがデータ通信を行う、ECU内通信のシステム構成がある。また、2つのECUに夫々搭載された各マイコンが、自動車内に配設されたシリアル通信線を介し1対1でデータ通信を行う、ECU間シリアル通信のシステム構成がある。また更に、3つ以上のECUに夫々搭載された各マイコンが、自動車内に配設された多重通信線を介し1対多或いは多対1でデータ通信を行う、ECU間多重通信のシステム構成がある。そして更に、上記各システム構成を併せ持ったシステム構成もある。つまり、1つのECUに搭載されたマイコンが、同じECUに搭載された他のマイコンとデータ通信を行うと共に、他のECUに搭載されたマイコンともシリアル通信線や多重通信線を介してデータ通信を行う、といったシステム構成である。
【0005】
次に、このようなECUの内部構成及びそれに搭載されたマイコンで行われる処理の内容について、他のECUと通信線を介してデータ通信を行うエンジン制御用のECU(エンジンECU)を例に挙げて、図12を用い説明する。尚、図12は、エンジンECUを含む複数のECUからなる一般的な車両制御システムの構成を表す構成図である。
【0006】
図12に示すように、エンジンECUでは、それに搭載されたマイコン600が、エンジン回転パルス,車速パルス,及びシフトレバー位置信号などの各種信号を、入出力回路602を介して取り込み、エンジンを制御するための演算処理を行う。
【0007】
ここで、エンジンECUのマイコン600に取り込まれる入力信号や、その入力信号に基づきマイコン600で演算される演算結果の中には、他のECUでも必要とされるものがある。例えば、エンジンECUのマイコン600では、エンジン回転パルスのパルス間隔を計測してエンジン回転数を算出するが、エンジン回転数は、エンジンの制御に用いられるだけでなく、車室内にあるメータパネル内のエンジン回転数表示部(タコメータ)に表示されるものであるため、メータパネル内の計器類を制御するECU(メータECU)においても必要となる。
【0008】
このため、エンジンECUにおいて、マイコン600により算出されたエンジン回転数などの物理値を表す各種制御用データは、所定の送信タイミングになった時に、マイコン600から通信IC604へ送られ、更にドライバ回路606を介して通信線へ送出される。すると、その通信線に接続されたメータECUなどの他のECU(詳しくは、そのECUに搭載されたマイコン)は、通信線を介して送られて来た制御用データを受信して、自己の制御対象を制御するための演算処理に用いることとなる。
【0009】
ところで、このようにECU間でデータ通信を行う車両制御システムにおいては、同じ種別の制御用データであっても、各ECUで扱われる分解能が異なる場合がある。図12の例で具体的に説明すると、例えば、エンジンECUでは、エンジン回転数の制御用データを、LSB当たり(最下位の1ビット当たり)50/256(=約0.195)rpmの分解能で扱ってエンジンに対する制御量を求めるが、メータECUでは、エンジン回転数の制御用データを、LSB当たり1rpmで扱う、といった具合である。そして、各制御用データの分解能(即ち、そのデータのLSB当たりによって示される物理値であり、そのデータの精度である)は、そのデータを扱うECUのマイコンで要求される演算精度に応じて適宜決められるものである。
【0010】
そこで、従来より、この種の車両制御システムにおいては、制御用データを算出して送信する側のECU(詳しくは、それに搭載されたマイコン)が、送信対象の制御用データに対して、「そのデータを、該データが示す物理値を通信相手側で扱われる分解能で表すデータに変換する精度変換処理」を行い、その精度変換処理後の制御用データを通信相手へ送信するようにしている。
【0011】
尚、この精度変換処理の具体的な処理手順は様々であるが、その思想としては、変換対象の制御用データが示す10進値を、そのデータの元の分解能B1と通信相手側の分解能B2との比(=B2/B1)で割り、その商を示すデジタルデータを、精度変換後の制御用データとするものである。また、このことから、変換対象の制御用データを右シフトして、そのデータ長を短くする(例えば、2バイトを1バイトに変更する)といったデータ長変換も、精度変換の一つである。また更に、以下の説明では、こうした精度変換を、データのLSB当たりによって示される物理値を変更するという意味合いから、“LSB変換”あるいは“物理値変換”とも言う。
【0012】
そして、図13に例示するように、従来のECUにて制御用データを送信する側のマイコンで実行される精度変換処理用のプログラム(LSB変換プログラム)は、予め設定された変換周期毎に複数設けられ、その各LSB変換プログラムによって、複数個の制御用データの各々に対し、通信相手側で扱われる分解能に応じた精度変換処理(LSB変換処理)を行っていた。
【0013】
具体的に説明すると、図13の例では、16ms毎に起動されるLSB変換プログラム1と、64ms毎に起動されるLSB変換プログラム2とがある。そして、16ms毎のLSB変換プログラム1では、10個の制御用データDATA1〜DATA10の各々に対して、該当するLSB変換処理を順次行い、64ms毎のLSB変換プログラム2では、20個の制御用データDATA11〜DATA30の各々に対して、該当するLSB変換処理を順次行う。
【0014】
また、各LSB変換処理は、変換対象の制御用データをRAMの所定領域から読み込み、その読み込んだ制御用データを所定のデータ精度に変換してRAMの他の所定領域に格納する、といった手順で行われる。
そして、上記のように定期的に起動されるLSB変換プログラムによってLSB変換された制御用データ(精度変換処理後の制御用データ)は、予め定められた送信タイミングになった時に起動される送信処理用のプログラムによって適宜読み出され、通信相手へ送信される。
【0015】
つまり、従来のECUでは、送信対象の各制御用データを定期的にLSB変換しておき、例えば予め定められた送信周期毎に到来する送信タイミングになると、そのLSB変換されている制御用データのうちから送信すべきものを読み出して、通信相手へ送信するようにしている。このため、図13の各LSB変換プログラム1,2の実行周期は、そのプログラムでLSB変換する制御用データの通信相手への送信周期よりも短い時間に設定されている。
【0016】
【発明が解決しようとする課題】
ところで、前述したエンジンECU及びメータECUの例において、エンジンECUのマイコン600は、メータECUへのエンジン回転数データを、LSB当たり50/256rpmの分解能からLSB当たり1rpmの分解能に変換することとなるが、こうしたLSB変換の内容は、車両機種の違いや、同じ車両機種でもメータ部分の仕様の違いなどによって変更される場合がある。
【0017】
そして、このような変更に対して、図13に示した従来のプログラム構造では、例えばエンジン回転数データに対するLSB変換内容の変更だけであったとしても、LSB変換プログラム全体を詳細に見て修正箇所を抽出し、その抽出した箇所を変更しなければならず、非常に手間がかかっていた。
【0018】
また、LSB変換の内容自体に変更が無くても、制御用データの送信周期が変更される場合もある。特に、送信周期は、受信側での要求や、互いに接続されるECU群で構成される通信システム全体から適宜決定されるため、変更される場合が多い。
【0019】
そして、こうした制御用データの送信周期の変更に対して、例えば図13の例においては、LSB変換プログラム2に存在していたプログラムの一部を、実行周期の短いLSB変換プログラム1に移す必要が生じる。つまり、より最新の制御用データを通信相手へ送るためには、LSB変換の周期が送信周期よりも短い必要があるためである。よって、送信周期の変更は、送信処理用のプログラムだけではなく、LSB変換プログラム1とLSB変換プログラム2との双方を変更しなければならない事態を招いてしまう。
【0020】
このように図13に示した従来のプログラム構造では、LSB変換の内容や送信周期の変更に対して、プログラムの修正箇所が多くなってしまい、しかも、その修正が容易ではないという問題があった。また、プログラムの修正箇所を特定するには、プログラム全体を理解していないとできないという問題もある。
【0021】
尚、上記問題は、1つのECUに搭載された複数のマイコンが互いにデータ通信を行う、ECU内通信のシステム構成でも同様である。
本発明は、こうした問題に鑑みなされたものであり、送信対象の制御用データに対する精度変換処理の内容や制御用データの送信周期が変わっても、プログラムの修正箇所を最小限にして、プログラム開発効率を向上させることのできる自動車用制御装置を提供することを目的としている。
【0022】
【課題を解決するための手段、及び発明の効果】
上記目的を達成するためになされた請求項1に記載の本発明の自動車用制御装置は、情報処理装置を備えており、その情報処理装置は、自動車に搭載された制御対象を制御するための演算処理を行うと共に、その演算処理により算出した制御用データを所定の記憶部に格納する。そして更に、前記情報処理装置は、前記記憶部に格納された制御用データのうちで通信相手へ送信すべき各制御用データに対して、そのデータを、該データが示す物理値を前記通信相手側で扱われる分解能で表すデータに変換する精度変換処理を行うと共に、その精度変換処理後の制御用データを前記通信相手へ送信する。
【0023】
ここで特に、本発明の自動車用制御装置において、情報処理装置は、通信相手へ送信すべき各制御用データに対して前記精度変換処理を夫々行うための複数種類の変換プログラムを格納した変換プログラム格納手段と、前記通信相手へ送信すべき各制御用データと、前記変換プログラム格納手段に格納された各変換プログラムとの、対応関係を示す変換情報を記憶した変換情報記憶手段と、を備えている。
【0024】
そして、この情報処理装置では、送信動作起動手段が、予め定められた送信タイミングになると、通信相手へ今回送信すべき制御用データを示す送信指令を発行し、この送信動作起動手段によって送信指令が発行されると、データ変換手段が、その送信指令が示す制御用データを前記記憶部から読み出すと共に、前記変換情報記憶手段に記憶されている変換情報に基づいて、前記送信指令が示す制御用データに対応した前記変換プログラム格納手段内の変換プログラムを特定し、その特定した変換プログラムを、前記読み出した制御用データを処理対象として起動することにより、前記送信指令が示す制御用データに対して前記精度変換処理を行う。そして更に、このデータ変換手段による精度変換処理が完了すると、送信手段が、その精度変換処理後の制御用データを通信相手へ送信する。
【0025】
このような本発明の自動車用制御装置によれば、一定周期で起動されるプログラムによって複数の制御用データに対し精度変換処理を行うのではなく、各制御用データに対して精度変換処理を夫々行うための複数種類の変換プログラムを、変換プログラム格納手段に格納しておき、送信タイミングとなって送信動作起動手段により送信指令が発行された時に、該送信指令が示す今回送信すべき制御用データを処理対象として、その制御用データに対応した変換プログラムを起動するようにしているため、送信周期が変更されても、前述した従来装置のように精度変換処理用のプログラム(LSB変換プログラム)を修正する必要が無い。つまり、送信動作起動手段が送信指令を発行する周期を変えるだけで、送信周期の変更に対応することができる。
【0026】
また、制御用データを送信する直前に、その制御用データに対して精度変換処理を行うため、常に最新の物理値を示す制御用データを通信相手に送ることができる。
その上、従来装置では、一定周期毎に精度変換される複数の精度変換後の制御用データを格納するための大きな記憶領域が必要であるが、本発明の自動車用制御装置によれば、通信相手へ送信される予定の制御用データのうち、各送信タイミングで実際に送信される制御用データの分の記憶領域があれば良く、メモリ容量を削減することができる。
【0027】
つまり、従来装置では、送信される予定の全ての制御用データを一定周期毎に精度変換しているため、各送信タイミング毎に異なる種別の制御用データを送信する場合でも、常に精度変換後の全データを逐次更新して記憶しておかなければならないが、本発明の自動車用制御装置によれば、実際に送信される精度変換後の制御用データだけを一時記憶する記憶領域があれば良く、非常に有利である。
【0028】
そして更に、本発明の自動車用制御装置では、各制御用データと各変換プログラムとの対応関係(つまり、各制御用データに対して、どの変換プログラムを起動すべきか)を示す変換情報を、変換情報記憶手段に記憶しておき、データ変換手段が、その変換情報に基づいて、今回送信する制御用データに対して起動すべき変換プログラムを特定するようにしているため、何れかの制御用データに対する精度変換の内容に変更があっても、上記変換情報記憶手段に記憶させておく変換情報を変更するだけで対応することができる。特に、プログラム制御文自体を修正する必要がないため、プログラムに精通しない者でも比較的容易に修正作業を行うことができる。尚、新たな内容の精度変換処理が必要な場合には、その精度変換処理を行うための変換プログラムを、変換プログラム格納手段に追加した上で、上記変換情報を変更すれば良い。
【0029】
また、本発明の自動車用制御装置では、精度変換すべき制御用データを処理対象として、変換情報記憶手段内の変換情報に基づき特定される変換プログラムを起動することにより、その制御用データに対して精度変換処理を行うようにしているため、同じ内容の精度変換を行う制御用データが複数ある場合には、その複数の制御用データに対して同じ変換プログラムを共通に使用することができ、プログラムを格納するためのROMの必要容量も削減することができる。つまり、従来装置では、異なる種別の各制御用データに対して同じ内容の精度変換処理を行う場合でも、その同じ内容の精度変換処理を行うプログラム部分を重複して設けなければならなかったが、本発明によれば、そのような無駄を回避することができる。
【0030】
ところで、請求項1に記載の自動車用制御装置は、より具体的には、請求項2に記載の如く構成することができる。
即ち、まず変換情報記憶手段には、前記変換情報として、通信相手へ送信すべき各制御用データの種別情報と、その種別情報が示す制御用データに対して前記精度変換処理を行うための変換プログラムが、前記変換プログラム格納手段内において何れの格納位置に格納されているかを示す格納位置情報とを、対応付けて記述したデータテーブルを記憶させておく。そして、データ変換手段は、前記データテーブルから、前記送信指令が示す制御用データの種別情報に対応した格納位置情報を取得し、前記記憶部から読み出した制御用データを処理対象として、前記取得した格納位置情報が示す格納位置に格納されている変換プログラムを起動することにより、前記送信指令が示す制御用データに対して精度変換処理を行うようにする。
【0031】
このように構成すれば、何れかの制御用データに対する精度変換の内容を変更する場合に、その制御データに対応する変換プログラムの格納位置情報を書き換えるだけで対応することができ、精度変換内容の変更に対する修正作業がより簡単になる。
【0032】
一方、本発明の自動車用制御装置において、情報処理装置が、各送信タイミング毎に、通信相手へ、複数種類の制御用データを直列に並べたパケットデータを送信するのであれば(つまり、複数種類の制御用データをパケット化して送信するのであれば)、請求項3に記載の如く構成することにより、様々な変更に対して柔軟性の高い自動車用制御装置を得ることができる。
【0033】
即ち、請求項3に記載の自動車用制御装置では、請求項1に記載の自動車用制御装置において、情報処理装置は、前提として、複数種類の制御用データを直列に並べたパケットデータを通信相手へ送信する。
そして、変換情報記憶手段には、前記変換情報として、前記パケットデータの識別番号と、その識別番号のパケットデータを構成する各制御用データの種別情報と、その種別情報が示す制御用データに対して前記精度変換処理を行うための変換プログラムが、前記変換プログラム格納手段内において何れの格納位置に格納されているかを示す格納位置情報とを、対応付けて記述したデータテーブルが記憶されている。
【0034】
また、送信動作起動手段は、前記送信指令として、通信相手へ今回送信すべきパケットデータの識別番号を発行する。
そして更に、データ変換手段は、送信データ特定手段と、精度変換手段と、パケットデータ作成手段とを備えており、前記送信動作起動手段によって送信指令としてのパケットデータの識別番号が発行されると、まず、送信データ特定手段が、前記データテーブルから、前記発行された識別番号に対応した各制御用データの種別情報を取得する。
【0035】
そして、精度変換手段が、送信データ特定手段によって取得された前記種別情報の各々について、その種別情報に該当する制御用データを前記記憶部から読み出すと共に、前記データテーブルから、その種別情報に対応した前記格納位置情報を取得し、更に、前記読み出した制御用データを処理対象として、前記取得した格納位置情報が示す格納位置に格納されている変換プログラムを起動することにより、その各識別情報の制御用データに対して前記精度変換処理を行う。
【0036】
そして更に、パケットデータ作成手段が、精度変換手段によって精度変換処理が行われた後の各制御用データを直列に並べることにより、通信相手へ送信すべきパケットデータを作成する。
すると、送信手段は、前記パケットデータ作成手段によって作成されたパケットデータを通信相手へ送信する。
【0037】
このような請求項3に記載の自動車用制御装置によれば、データ変換手段(送信データ特定手段,精度変換手段,及びパケットデータ作成手段)が、送信動作起動手段によって発行される識別番号から、変換情報記憶手段に記憶された変換情報としてのデータテーブルに基づいて、今回送信すべき複数の制御用データを特定すると共に、その特定した各制御用データに対し該当する変換プログラムを起動して精度変換処理を夫々行い、更に、その精度変換処理後の各制御用データから実際に送信するパケットデータ作成するため、前述した請求項1,2に記載の装置で得られる効果に加えて、更に、前記データテーブルにおけるパケットデータの識別番号と各制御用データの種別情報との対応を変更するだけで、実際に送信されるパケットデータを構成する制御用データの種別を変更することができる。
【0038】
特に、この種の自動車用制御装置では、どの装置からどの装置へどの種別の制御用データを提供するか、といった制御役割分担上のシステム構成の変更に伴い、送信すべき制御用データの種別が変更される場合が多いが、請求項3に記載の自動車用制御装置によれば、そのような変更に極めて容易に対応することができるようになる。
【0039】
【発明の実施の形態】
以下、本発明が適用された実施形態の車両制御システムについて、図面を用いて説明する。
まず、図1は、実施形態の車両制御システム1の構成を表す構成図である。尚、本実施形態の車両制御システム1は、車両に搭載されたエンジン,トランスミッション,エアコン,計器類及びその他の電装品を制御するものである。
【0040】
図1に示すように、本実施形態の車両制御システム1は、主にエンジン及びトランスミッションを制御する電子制御装置(以下、エンジンECUという)2と、エアコンを制御する電子制御装置(以下、エアコンECUという)4と、メータパネル内の計器や警告灯を制御する電子制御装置(以下、メータECUという)6とを備えている。そして、上記3つのECU2,4,6は、多重通信線10を介して互いに通信可能に接続されている。
【0041】
ここで、エンジンECU2は、車速SPDを検出するための車速センサ12,エンジン回転数(以下、単に回転数Neという)を検出するためのクランク角センサ14,及びエンジンの冷却水温(以下、単に水温THWという)を検出するための水温センサ16等の、各種センサからの検出信号に基づいて、車両の運転状態を検出する。そして、その検出結果や、後述するようにエアコンECU4から送信されて来る外気温TAMのデータ等に基づいて、インジェクタ18,イグナイタ20,及び図示しない他のアクチュエータを駆動することにより、エンジン及びトランスミッションを最適状態に制御する。
【0042】
そして更に、エンジンECU2は、上記の如く検出した車速SPD,回転数Ne,及び水温THW等の運転状態を表す制御用データを、多重通信線10へ送信すると共に、後述するようにエアコンECU4から送信されて来るエアコン制御データACに応じて、A/Cマグネットクラッチ22を作動させることにより、エンジンの駆動力をエアコンの冷媒コンプレッサに伝達させて、エアコンの冷房運転を可能にする。
【0043】
一方、エアコンECU4は、外気センサ26及び内気センサ28からの検出信号に基づき車両外の気温(外気温)TAMと車室内の気温(内気温)とを検出して、該検出結果のデータを多重通信線10へ送信すると共に、その検出結果と、エンジンECU2から送信されて来る車速SPD,回転数Ne,及び水温THW等を表すデータとに応じて、送風用のブロアモータ30や配風を切り換えるためのエアミックスダンパ32等を駆動することにより、車室内の空調を制御する。また、エアコンECU4は、車両の運転者等によってエアコンスイッチ24がオンされると、エンジンECU2にA/Cマグネットクラッチ22を作動させるために、上述したエアコン制御データACを送信する。
【0044】
そして、メータECU6は、エンジンECU2から送信されて来る車速SPD,回転数Ne,及び水温THW等を表すデータに応じて、メータパネル内のスピードメータ40,タコメータ42,及び水温メータ(図示省略)等を駆動する。また、メータECU6は、車両の各ドアの開閉に応じて夫々オン/オフする各ドアスイッチからの信号や、車両のパーキングブレーキが引かれている時にオンするパーキングブレーキスイッチ等からの信号に基づいて、ドアが開いていることを示す半ドア警告灯44やパーキングブレーキが引かれていることを示すブレーキ警告灯46等を点灯させる。
【0045】
尚、各ECU2,4,6は、情報処理装置としてのマイコン(マイクロコンピュータ)を備えており、そのマイコンがプログラムを実行することによって上記各ECU2〜6の動作が実現されている。
次に、図2は、エンジンECU2の内部構成を表すブロック図である。
【0046】
図2に示す如く、エンジンECU2は、前述したように情報処理装置としてのマイコン60を備えている。尚、図示はしていないが、マイコン60は、CPU,プログラムを記憶する記憶媒体としてのROM,データを一時記憶するためのRAM,及び入出力ポート等を備えた一般的なシングルチップマイクロコンピュータである。また、本実施形態において、マイコン60のRAMは、1アドレス当たりに1バイト(8ビット)のデータが格納されるものである。
【0047】
そして、マイコン60は、前述の各種センサ12,14,16からの信号を入力回路64を介して入力し、その入力信号に基づき制御対象を制御するための演算処理等を実行して、出力回路66へ制御量信号を出力することにより、前述したインジェクタ18やイグナイタ20等の各種アクチュエータを駆動している。
【0048】
また更に、エンジンECU2は、通信IC70を備えており、その通信IC70は、マイコン60から出力された通信データ列を、送信信号として多重通信線10へ送出すると共に、他のECU4,6から多重通信線10を介して送信されて来た通信データ列を所定フレーム分だけ受信する毎に、マイコン60へ割込信号を出力するように構成されている。
【0049】
次に、図3は、マイコン60内の通信モデルを仮想的に示した概念図であり、この通信モデルは、ISO/OSI(Open System Interconnection )通信モデルに準拠した階層化構造である。
図3に示すように、本実施形態のマイコン60で採用されている通信モデルは、制御対象を制御するための演算処理を行うアプリケーション部100と、通信相手(他のECU4,6)とデータの送受信を行う通信ドライバ部300と、アプリケーション部100によって算出される制御用データから、通信ドライバ部300が送信すべき通信データ列を生成すると共に、通信ドライバ部300によって受信された通信データ列を、アプリケーション部100が使用可能な制御用データに変換する通信変換部200とからなる。そして、通信変換部200は、更に、共有メモリ部210と、物理値変換部220と、共通パケットデータ部230と、通信データ変換部240とに階層化されている。また更に、マイコン60は、通信制御部400とテーブル格納部500とを備えている。
【0050】
そして、アプリケーション部100からメータECU6等の通信相手に対して、直接データ転送されることはなく、アプリケーション部100から下位の階層に対して順々にデータを渡し(仮想通信し)、通信ドライバ部300にて、外部(通信相手)との物理的な通信が実現される。また、この通信モデルでの各階層は、その下の階層に対してサービスを要求し、その上の階層にサービスを提供するというものであり、各階層の目的は、上位階層でのサービスに対して実際の通信仕様等の詳細情報を隠蔽することである。
【0051】
尚、本実施形態において、マイコン60により実行されるROM内のプログラムは、プログラムの全機能を単位機能毎に細分化して、その単位機能毎にオブジェクトを用意するオブジェクト指向によってプログラミングされており、オブジェクトとは、データとそのデータを処理する手続きである“メソッド”と呼ばれるプログラムとを、一まとめにしたプログラムモジュールである。
【0052】
そして、図3の通信モデルにおいて、ソフトウエアだけに着目すると、テーブル格納部500以外の各部100〜400は、マイコン60のROMに格納された各オブジェクト(メソッド及びデータ)であり、ROMにおける記憶領域の面から見ると、上記各部100〜400は、該当するオブジェクトを格納した記憶領域である。また、テーブル格納部500は、マイコン60のROMにて、後述する図4〜図5の各テーブルを記憶した記憶領域である。
【0053】
そして更に、本実施形態の説明において、例えば「共有メモリ部210が…する。」や「物理値変換部220は…する。」といったオブジェクトを主語とした動作表現は、実際には、マイコン60がそのオブジェクトのメソッドに従って動作する(換言すれば、マイコン60がそのオブジェクトのメソッドを実行する)ことで実現される機能手段が、上記「…」の動作を行うことを示している。同様に、例えば「共有メモリ部210によって…される。」や「物理値変換部220によって…される。」といったオブジェクトによる受け身の動作表現は、実際には、マイコン60がそのオブジェクトのメソッドに従って動作することで実現される機能手段によって、上記「…」の動作が行われることを示している。
【0054】
ここで、アプリケーション部100は、エンジンECU2の制御対象及び制御内容毎に更に細分化された各オブジェクトからなる。そして、本実施形態において、アプリケーション部100は、回転数Ne等の制御用データを算出して、その算出した制御用データに基づきエンジンを制御するための演算処理を行うオブジェクト(以下、エンジンアプリケーションソフトという)110と、車速SPD等の制御用データを算出して、その算出した制御用データに基づきトランスミッションを制御するための演算処理を行うオブジェクト(以下、ECTアプリケーションソフトという)120と、エンジンのスロットル開度等の制御用データを算出して、その算出した制御用データに基づき車両を定速走行させるためのスロットル開度制御用演算処理を行うオブジェクト(以下、クルーズアプリケーションソフトという)130とを有している。そして、これらの各アプリケーションソフト110,120,130は、自分以外のアプリケーションソフトによって算出された制御用データも、自己の演算処理に用いる。つまり、各アプリケーションソフト110,120,130は、制御用データを互いに共有するようにしている。
【0055】
共有メモリ部210は、当該マイコン60に備えられたRAMにおいて、アプリケーション部100の各アプリケーションソフト110,120,130が制御対象を制御するために用いる全ての制御用データを一時格納するための記憶領域(以下、制御用データ記憶領域という)とは異なる特定の記憶領域として設定された共有メモリに、上記各アプリケーションソフト110,120,130間で共通使用される制御用データ、及び当該マイコン60の通信相手(他のECU4,6)でも共通使用される制御用データ(以下、外部共有データという)を書き込み、また、上記共有メモリから制御用データを読み出して、他のオブジェクトに提供する。
【0056】
また、上記共有メモリに格納される各制御用データには、その種別を示す種別情報としての番号(以下、Handle番号と記す)が付与されており、各オブジェクトは、Handle番号を指定することにより、共有メモリから必要なデータを入手したり、共有メモリに新たなデータを書き込むことができるようになっている。
【0057】
尚、図3では、ECTアプリケーションソフト120によって算出されると共に、Handle番号として“1”が付与された車速SPDのデータが、エンジンアプリケーションソフト110でも使用され、また、エンジンアプリケーションソフト110によって算出されると共に、Handle番号として“2”が付与された回転数Neのデータが、ECTアプリケーションソフト120でも使用されていることを例示している。そして、図3以降の各図及び以下の説明において、“Handle1 ”や“Handle2 ”とは、Handle番号が“1”や“2”であることを表している。
【0058】
物理値変換部220は、当該マイコン60から通信相手(ECU4,6)へのデータ送信時には、上記共有メモリに格納されている制御用データのうち、送信すべき制御用データに対して、そのデジタルデータを、それが示す物理値を通信相手側で扱われる分解能で表すデジタルデータに変換するLSB変換処理を行う。また、物理値変換部220は、通信相手からのデータ受信時には、受信された制御用データに対して、そのデジタルデータを、それが示す物理値を各アプリケーションソフト110,120,130で扱われる分解能で表すデジタルデータに変換するLSB変換処理を行う。
【0059】
つまり、LSB変換処理とは、前述した精度変換処理のことであり、デジタルデータを、そのデータの分解能(そのデータのLSB当たりによって示される物理値であり、そのデータの精度である)が、通信相手側で採用されている分解能と同じになるように変換するものである。そして、本実施形態では、上記LSB変換処理を行うための複数種類のLSB変換プログラム(本発明における変換プログラムに相当)が、ROMの所定領域に、物理値変換部220の一部として格納されている。
【0060】
共通パケットデータ部230は、当該マイコン60から通信相手へのデータ送信時には、物理値変換部220によってLSB変換された送信対象の制御用データを集めて直列に並べることにより、例えば多重通信,シリアル通信,DMA通信といった種々の通信プロトコルに依存しない各通信プロトコルに共通のパケットデータ(以下、共通パケットデータという)を作成する。そして、各共通パケットデータには、それの識別番号としてのパケット番号PNが付与されている。尚、図3以降の各図及び以下の説明において、“PN1”や“PN2”とは、パケット番号PNが“1”や“2”であることを表している。
【0061】
通信データ変換部240は、当該マイコン60から通信相手へのデータ送信時には、共通パケットデータ部230によって作成された共通パケットデータを、通信相手との通信プロトコルに対応した通信データ列に変換する。具体的には、共通パケットデータのデータ列に通信プロトコルに準じたヘッダ情報等を付加する、といった処理を行う。
【0062】
通信ドライバ部300は、当該マイコン60から通信相手へのデータ送信時には、通信データ変換部240によって作成された通信データ列を、通信相手との通信プロトコルで定められた転送データ量、ボーレート、及び転送タイミングで、実際に通信データとして出力する。
尚、通信ドライバ部300には、通信相手との通信プロトコルに対応したプログラムが組み込まれ、本実施形態では、エアコンECU4及びメータECU6との多重通信を制御する多重通信用のプログラム(以下、多重通信部という)310が組み込まれている。また例えば、マイコン60が、エンジンECU2内の他のマイコンとDMA通信を行うのであれば、通信ドライバ部300にDMA通信を制御するDMA通信用のプログラムが組み込まれ、また、マイコン60が、他のECUと1対1のシリアル通信を行うのであれば、通信ドライバ部300にシリアル通信を制御するシリアル通信用のプログラムが組み込まれる。
【0063】
通信制御部400は、内部タイマを有しており、通信相手との通信が好適なタイミングで実行されるように、通信データ列の作成及びLSB変換の実施タイミングを決定する。
一方、通信ドライバ部300(多重通信部310)は、通信相手(ECU4,6)から送信されて来たデータを受信し取得して、通信データ変換部240に提供する機能も有している。
【0064】
そして、通信データ変換部240は、通信ドライバ部300によって取得された通信データ列を、共通パケットデータに変換する機能も有している。
そして更に、共通パケットデータ部230は、通信相手からのデータ受信時には、通信データ変換部240によって作成された共通パケットデータを分解して、その共通パケットデータを構成していた各制御用データを抽出し、更に、その各制御用データに対し物理値変換部220にLSB変換を行わせて、共有メモリ部210に、そのLSB変換後の各制御用データを共有メモリへ更新して書き込ませる機能も有している。
【0065】
一方また、テーブル格納部500には、図4に示す共有メモリテーブルと、図5に示すデータ特定テーブルと、図6に示す物理値変換テーブルとが格納されている。
図4に示すように、共有メモリテーブルは、制御用データのHandle番号と、そのHandle番号に対応した制御用データが、共有メモリにおいて何れのアドレスを先頭にして格納されるかを示す共有メモリアドレスと、上記Handle番号に対応した制御用データの共有メモリ内におけるデータ長を示す共有メモリサイズとを、対応付けて記述した定義テーブルである。
【0066】
また、図6に示すように、物理値変換テーブルは、制御用データのHandle番号と、そのHandle番号に対応した制御用データの共通パケットデータにおける配置位置を示す共通パケットデータ位置と、上記Handle番号に対応した制御用データの共通パケットデータ内におけるデータ長を示す共通パケットデータサイズと、上記Handle番号に対応した制御用データをLSB変換するためのLSB変換プログラムが、ROMの何れのアドレスを先頭にして格納されているかを示す格納位置情報としてのLSB変換コールアドレスとを、対応付けて記述した定義テーブルである。
【0067】
尚、共通パケットデータ位置は、Handle番号に対応した制御用データが、共通パケットデータにおける最初の1バイトを0バイト目とした場合に、その共通パケットデータにて、何バイト目から配置されるかを示している。
そして、図5に示すように、データ特定テーブルは、共通パケットデータのパケット番号と、そのパケット番号に対応した共通パケットデータの送信間隔を示す通信周期と、上記パケット番号に対応した共通パケットデータを構成する各制御用データを特定するためのオフセット及びサイズとを、対応付けて記述した定義テーブルである。
【0068】
ここで、オフセットは、図6の物理値変換テーブルにおけるHandle番号の各記述位置のうち、最初の最上段のものを0番目として上から数えた場合の記述位置を示しており、サイズは、図6の物理値変換テーブルにおいて、上記オフセットが示す記述位置から下方に数えたHandle番号の記述位置の数を示している。そして、本実施形態では、図6の物理値変換テーブルに記述された各Handle番号のうち、オフセットが示す記述位置からサイズが示す数の各記述位置に記述されている各Handle番号が、そのオフセット及びサイズに対応したパケット番号の共通パケットデータを構成する制御用データのHandle番号と見なされる。
【0069】
例えば、図5において、PN1に対応するオフセットとサイズは、夫々、“0”と“4”であるため、PN1の共通パケットデータは、図6の最上段から4段目までに記述された4つのHandle番号(Handle1,Handle10,Handle5,Handle2)に夫々対応する各制御用データによって構成されることとなり、また、図5において、PN2に対応するオフセットとサイズは、夫々、“4”と“3”であるため、PN2の共通パケットデータは、図6の5段目から7段目までに記述された3つのHandle番号(Handle2,Handle3,Handle6)に夫々対応する各制御用データによって構成されることとなる。
【0070】
このように、各オブジェクトは、図5のデータ特定テーブルと図6の物理値変換テーブルとを参照することにより、例えば、PN1の共通パケットデータには、どのHandle番号の制御用データが集約されるのか等、通信データ列の作成に必要な情報を取得することができる。
【0071】
次に、マイコン60から外部へ制御用データを送信する場合の通信データ列への変換処理について、図7〜図10を用いて説明する。
尚、図7〜図9は、制御用データから通信データ列への変換処理動作を示すメッセージシーケンスチャートである。そして、このメッセージシーケンスチャートでは、図3に示した各階層(オブジェクト)100〜500を上下方向の線で示し、その各階層から他の階層へのメッセージを横方向の実線矢印で示している。そして更に、横方向の点線矢印は、各階層がテーブル格納部500内のテーブルを参照することを示し、上下方向の線上にある長方形の枠内には、その階層で行われる処理の内容が示されている。また、図10は、図8の処理動作によって作成される共通パケットデータを表す模式図である。
【0072】
まず、例えば、アプリケーション部100にあるECTアプリケーションソフト120にて、共有メモリに外部共有データの1つである車速SPDのデータ(以下、SPDデータという)を書き込む処理ステップになると、図7の[1]に示すように、アプリケーション部100のECTアプリケーションソフト120は、共有メモリ部210に対してデータ書込要求のメッセージを発行する。そして、この時、SPDデータのHandle番号(この例ではHandle1 )と、ECTアプリケーションソフト120でのSPDデータの格納アドレス(即ち、ECTアプリケーションソフト120が制御用の演算処理時にSPDデータの書き込み及び読み出しを行う制御用データ記憶領域のアドレスであって、この例では&SPD)との各情報も、共有メモリ部210へ送られる。
【0073】
尚、データ書込要求のメッセージを発行する処理を、C言語でプログラミングした場合、SPDデータを共有メモリに書き込むためのメッセージの発行命令は、次のようになる。
Write(Handle1 ,&SPD)
この命令の意味は、SPDデータのHandle番号(Handle1 )に対応する共有メモリのアドレスへ、&SPDに格納されているデータ(ECTアプリケーションソフト120で求められたSPDデータ)を書き込む、ということである。また、アプリケーション部100の各アプリケーションソフト110,120,130が、SPDデータ以外の制御用データを共有メモリに書き込む場合には、上記命令のうち、“Handle1 ”が、書き込むべきデータのHandle番号となり、“&SPD”が、そのアプリケーションソフト用に設けられた制御用データ記憶領域のうちで、書き込むべきデータが格納された記憶領域のアドレスとなる。
【0074】
そして、共有メモリ部210は、アプリケーション部100(ECTアプリケーションソフト120)からの上記メッセージを受けると、図7の[2]に示すように、テーブル格納部500にある共有メモリテーブル(図4)を参照して、上記メッセージと共に送られて来たHandle番号(Handle1 )に対応する共有メモリアドレスと共有メモリサイズとを、共有メモリ情報として取得する。
【0075】
すると、共有メモリ部210は、上記取得した共有メモリ情報に基づき、SPDデータは共有メモリにて$FFFF0000 番地を先頭にした2バイト(byte)の領域に書き込むべきであることを認知し、図7の[3]の処理にて、ECTアプリケーションソフト120でのSPDデータの格納アドレス(&SPD)から、共有メモリの$FFFF0000 番地へ、2バイトのSPDデータをコピーする。
【0076】
この共有メモリ部210の処理により、図3における共有メモリ部210の枠内に例示しているように、共有メモリへHandle1 に対応したSPDデータが格納される。
また、例えば、アプリケーション部100にあるエンジンアプリケーションソフト110にて、共有メモリに外部共有データの1つである回転数Neのデータ(以下、Neデータという)を書き込む処理ステップになると、図7の[4]に示すように、アプリケーション部100のエンジンアプリケーションソフト110は、上述したSPDデータの場合と同じ要領で、共有メモリ部210に対しデータ書込要求のメッセージを発行する。尚、この時、NeデータのHandle番号(この例ではHandle2 )と、エンジンアプリケーションソフト110でのNeデータの格納アドレス(即ち、エンジンアプリケーションソフト110が制御用の演算処理時にNeデータの書き込み及び読み出しを行う制御用データ記憶領域のアドレスであって、この例では&Ne)との各情報も、共有メモリ部210へ送られる。
【0077】
そして、共有メモリ部210は、アプリケーション部100(エンジンアプリケーションソフト110)からの上記メッセージを受けると、図7の[5]に示すように、テーブル格納部500にある共有メモリテーブル(図4)を参照して、上記メッセージと共に送られて来たHandle番号(Handle2 )に対応する共有メモリアドレスと共有メモリサイズとを、共有メモリ情報として取得する。
【0078】
すると、共有メモリ部210は、上記取得した共有メモリ情報に基づき、Neデータは共有メモリにて$FFFF0002 番地を先頭にした2バイトの領域に書き込むべきであることを認知し、図7の[6]の処理にて、エンジンアプリケーションソフト110でのNeデータの格納アドレス(&Ne)から、共有メモリの$FFFF0002 番地へ、2バイトのNeデータをコピーする。
【0079】
この共有メモリ部210の処理により、図3における共有メモリ部210の枠内に例示しているように、共有メモリへHandle2 に対応したNeデータが格納される。
そして、エンジンアプリケーションソフト110及びECTアプリケーションソフト120で算出された他の制御用データや、クルーズアプリケーションソフト130で算出された制御用データも、図7の手順と同じ要領で共有メモリにコピーされる。
【0080】
一方、図示はしていないが、共有メモリに書き込まれた制御用データを、アプリケーション部100(詳しくは、アプリケーション部100の各アプリケーションソフト)が制御用演算処理に使用する場合には、アプリケーション部100と共有メモリ部210とが、次のように動作する。
【0081】
例えば、アプリケーション部100のエンジンアプリケーションソフト110が、ECTアプリケーションソフト120によって算出されたSPDデータを共有メモリから読み出す場合について説明すると、この場合、まず、エンジンアプリケーションソフト110が、共有メモリ部210に対してデータ読出要求のメッセージを発行する。そして、この時、SPDデータのHandle番号(Handle1 )と、エンジンアプリケーションソフト110でのSPDデータの格納アドレス(即ち、エンジンアプリケーションソフト110が制御用の演算処理時にSPDデータの書き込み及び読み出しを行う制御用データ記憶領域のアドレス)との各情報も、共有メモリ部210へ送られる。
【0082】
すると、共有メモリ部210は、テーブル格納部500にある共有メモリテーブル(図4)を参照して、上記データ読出要求のメッセージと共に送られて来たHandle番号(Handle1 )に対応する共有メモリアドレスと共有メモリサイズとを、共有メモリ情報として取得する。そして、その取得した共有メモリ情報に基づき、SPDデータは共有メモリにて$FFFF0000 番地を先頭にした2バイト分の領域に格納されていることを認知し、共有メモリの$FFFF0000 番地から2バイト分の領域に格納されているSPDデータを、エンジンアプリケーションソフト110でのSPDデータの格納アドレスにコピーする。
【0083】
そして、このコピーの動作により、図3における共有メモリ部210の枠内から上向きに伸びた2つの矢印のうちの左側の矢印のように、共有メモリ内のSPDデータがエンジンアプリケーションソフト110へ提供されることとなる。
次に、他のECU4,6へ制御用データを送信すべきタイミングになると、図8の[7]に示すように、通信制御部400が、共通パケットデータ部230に対して、図3における共通パケットデータ部230の枠内に例示したような共通パケットデータを作成させるために、送信指令としての送信要求のメッセージを発行する。
【0084】
尚、図3では、パケット番号PNが1つしか示されていないが、実際には多数存在するため、通信制御部400は、今回の送信対象となる共通パケットデータのパケット番号PN(この例ではPN1)も、送信要求のメッセージと共に共通パケットデータ部230へ送る。具体的に説明すると、通信制御部400は、図5のデータ特定テーブルで定義されたパケット番号と通信周期とに従って、1S(秒)毎にPN1を含んだ送信要求のメッセージを発行し、3S毎にPN2を含んだ送信要求のメッセージを発行し、5S毎にPN3を含んだ送信要求のメッセージを発行し、0.5S毎にPN4を含んだ送信要求のメッセージを発行する。また、図8及び図9における()内の記述は、通信制御部400から共通パケットデータ部230へ送られたパケット番号PNがPN1であった場合を示している。
【0085】
このようにして、通信制御部400がパケット番号PNを含んだ送信要求のメッセージを発行すると、共通パケットデータ部230は、図8の[8]に示すように、テーブル格納部500にあるデータ特定テーブル(図5)と物理値変換テーブル(図6)とを参照して、通信制御部400から送られて来たパケット番号PNに対応する各Handle番号(つまり、通信制御部400から送られて来たパケット番号PNの共通パケットデータに集約すべき制御用データの各Handle番号)を、送信データ情報として取得する。
【0086】
例えば、通信制御部400から共通パケットデータ部230へ送られたパケット番号PNがPN1であった場合には、図5のデータ特定テーブルにおいて、PN1に対応するオフセットとサイズは、夫々、“0”と“4”であるため、共通パケットデータ部230は、図6の物理値変換テーブルの最上段から4段目までに記述された4つのHandle1,Handle10,Handle5,及びHandle2を、PN1の共通パケットデータを構成する制御用データの各Handle番号として取得することとなる。
【0087】
そして次に、共通パケットデータ部230は、図8の[9]に示すように、まず、上記取得したHandle番号のうちの最初のHandle番号(この例ではHandle1 )を、物理値変換要求のメッセージと共に物理値変換部220へ送る。
すると、物理値変換部220は、図8の[10]に示すように、共通パケットデータ部230からのHandle番号を、データ取得要求のメッセージと共に共有メモリ部210へ送る。
【0088】
このデータ取得要求のメッセージにより共有メモリ部210は、図7の[2],[5]と同様に、テーブル格納部500にある共有メモリテーブル(図4)を参照して、上記データ取得要求のメッセージと共に送られて来たHandle番号(ここではHandle1 )に対応する共有メモリアドレス($FFFF0000 )と共有メモリサイズ(2byte)とを、共有メモリ情報として取得し、更に、その取得した共有メモリ情報に基づき、共有メモリの$FFFF0000 番地から2バイト分のデータ(この例ではSPDデータ)を読み出して、その読み出したデータを、図8の[11]に示すように、物理値変換部220へ戻り値として返す。
【0089】
すると更に、物理値変換部220は、図8の[12]に示すように、テーブル格納部500にある物理値変換テーブル(図6)を参照して、上記[10]で自分が共有メモリ部210へ送ったHandle番号(Handle1 )に対応するLSB変換コールアドレス($00001000 )を取得する。そして、物理値変換部220は、図8の[13]にて、上記[10]及び[11]の動作で共有メモリから読み出したHandle1 の制御用データ(即ち、共有メモリ部210から戻り値として返された制御用データであって、この例では2バイトのSPDデータ)を処理対象として、上記取得したLSB変換コールアドレスに格納されているLSB変換プログラムを起動することにより、その制御用データ(SPDデータ)に対してLSB変換処理を行う。
【0090】
これにより、図3における物理値変換部220の枠内に例示しているように、Handle1 に対応したSPDデータがLSB変換され、そのLSB変換後のデータ(以下、SPD’データと記す)が、物理値変換部220の作業領域として割り当てられたRAMの所定領域に、対応するHandle番号(Handle1 )と共に格納される。
【0091】
その後、共通パケットデータ部230は、図8の[14]に示すように、テーブル格納部500にある物理値変換テーブル(図6)を参照して、上記[9]で自分が物理値変換部220へ送ったHandle番号(Handle1 )に対応する共通パケットデータサイズと共通パケットデータ位置とを、共通パケットデータ情報として取得する。
【0092】
そして、共通パケットデータ部230は、図8の[15]にて、通信制御部400から送られて来たパケット番号(ここではPN1)の共通パケットデータを作成するための共通パケットデータ生成処理を行う。
ここで、この共通パケットデータ生成処理は、作成対象の共通パケットデータにおけるデータ領域のうち、上記[14]の動作で物理値変換テーブルから今回取得した共通パケットデータ位置及び共通パケットデータサイズにより指定される領域に、物理値変換部220によって今回LSB変換された制御用データを配置する、といった手順で行われる。よって、例えば、図6の最上段に示すように、Handle1 に対応する共通パケットデータ位置と共通パケットデータサイズは、夫々、“0”と“2バイト”であるため、図10(A)に示すように、Handle1 のLSB変換後のデータ(SPD’データ)H1は、PN1の共通パケットデータにおける0バイト目の位置から2バイト分の領域に配置されることとなる。
【0093】
このようにして、Handle1 の制御用データについてのLSB変換処理及び共通パケットデータ生成処理が終わると、図8の[16]に示すように、共通パケットデータ部230が上記[8]の動作で取得した各Handle番号のうちの次のHandle番号(Handle10)について、上記[9]〜[14]と同じ要領でLSB変換のための動作が行われ、次いで図8の[17]に示すように、上記[15]と同じ要領で共通パケットデータ生成処理が行われる。そして更に、共通パケットデータ部230が上記[8]の動作で取得した各Handle番号のうちの他のHandle番号(Handle5 ,Handle2 )についても、図8の[18]〜[21]に示すように、上記[9]〜[14]及び[15]と同じ要領で、LSB変換動作と共通パケットデータ生成処理とが順次行われる。
【0094】
そして、通信制御部400から共通パケットデータ部230へ送られたパケット番号PNに対応する全てのHandle番号の制御用データについて、LSB変換と共通パケットデータ生成処理とが終了すると、送信すべき共通パケットデータの作成が完了する。
【0095】
例えば、通信制御部400から共通パケットデータ部230へPN1が送られた場合、図5及び図6の各テーブルに従い作成されるPN1の共通パケットデータとしては、図10(A)に示すように、Handle1 のLSB変換後のデータH1が0バイト目の位置から2バイト分の領域に配置され、Handle10のLSB変換後のデータH10が2バイト目の位置から1バイト分の領域に配置され、Handle5 のLSB変換後のデータH5が3バイト目の位置から3バイト分の領域に配置され、Handle2 のLSB変換後のデータH2が6バイト目の位置から2バイト分の領域に配置されたデータ列となる。
【0096】
また例えば、通信制御部400から共通パケットデータ部230へPN2が送られた場合、図5及び図6の各テーブルに従い作成されるPN2の共通パケットデータとしては、図10(B)に示すように、Handle2 のLSB変換後のデータH2が0バイト目の位置から2バイト分の領域に配置され、Handle3 のLSB変換後のデータH3が2バイト目の位置から2バイト分の領域に配置され、Handle6 のLSB変換後のデータH6が4バイト目の位置から4バイト分の領域に配置されたデータ列となる。
【0097】
次に、このようにして今回送信すべき共通パケットデータの作成が完了すると、共通パケットデータ部230は、図8の[22]及び図9の[22]に示すように、通信データ変換部240に対して、今回作成した共通パケットデータを通信相手との通信プロトコルに対応する通信データ列に変換させるために、送信要求のメッセージを発行する。そして、この時、今回作成した共通パケットデータのパケット番号(この例ではPN1)も、通信データ変換部240へ送られる。
【0098】
すると、通信データ変換部240は、図9の[23]の処理にて、共通パケットデータ部230により今回作成された共通パケットデータを、通信相手である他のECU4,6との多重通信の通信プロトコルに対応した通信データ列に変換する。具体的には、本実施形態の場合、図3における通信データ変換部240の枠内に例示しているように、共通パケットデータ部230によって作成された共通パケットデータの先頭に、通信相手との通信プロトコルに準拠したヘッダ情報としてのArbitration とMLとを付加する。尚、Arbitration は、データの優先順位を示し、データが衝突した場合の調停用データである。また、MLは、通信データ列におけるデータフレーム部分のデータ長を示すデータである。
【0099】
そして、通信データ変換部240は、通信データ列の作成を終了すると、図9の[24]に示すように、通信ドライバ部300に対して、送信要求のメッセージを発行する。
すると、通信ドライバ部300内の多重通信部310は、図9の[25]の送信処理にて、通信データ変換部240により作成された通信データ列を、通信IC70に出力すると共に、その通信ICを制御して、上記作成された通信データ列を、通信相手との通信プロトコルに応じたボーレートや転送タイミングで多重通信線10へ送出させる。
【0100】
そして、上述した一連の処理により、マイコン60内のアプリケーション部100で算出された制御用データが、多重通信線10に対応した通信プロトコルのデータ列に変換されて、エアコンECU4及びメータECU6に送信される。
尚、上記説明では、主に、PN1の共通パケットデータを作成して送信する場合(つまり、図8の[7]で通信制御部400が共通パケットデータ部230へPN1を含んだ送信要求のメッセージを発行した場合)について述べたが、PN1以外の他の共通パケットデータについても、PN1の共通パケットデータと同じ要領で作成されて送信される。但し、例えば、PN2の共通パケットデータについては、図8及び図9に示した処理動作が3S毎に行われて、その作成及び送信が行われ、また例えば、PN3の共通パケットデータについては、図8及び図9に示した処理動作が5S毎に行われて、その作成及び送信が行われる。そして、こうした各共通パケットデータの作成及び送信の周期は、図5のデータ特定テーブルに記述されたパケット番号と通信周期とによって決まる。
【0101】
一方、本実施形態では、マイコン60のRAM内に設定された共有メモリが、記憶部に相当し、マイコン60のROMにおける記憶領域のうちで、物理値変換部220により起動される複数種類のLSB変換プログラムを格納した所定領域が、変換プログラム格納手段に相当している。
【0102】
また、図5のデータ特定テーブルと図6の物理値変換テーブルとが、変換情報としてのデータテーブルに相当し、ROM内のテーブル格納部500において、その両テーブルを記憶した領域が、変換情報記憶手段に相当している。
そして、通信制御部400が、送信動作起動手段に相当し、物理値変換部220及び共通パケットデータ部230が、データ変換手段に相当し、通信データ変換部240及び通信ドライバ部300が、送信手段に相当している。
【0103】
また、共通パケットデータ部230のうちで、図8の[8]に示した処理(データ特定テーブルと物理値変換テーブルとを参照して、通信制御部400からのパケット番号に対応した各Handle番号を取得する処理)を行う部分のプログラムが、送信データ特定手段に相当し、物理値変換部220が、精度変換手段に相当し、共通パケットデータ部230のうちで、図8の[15],[17],[19],[21]に示した共通パケットデータ生成処理を行う部分のプログラムが、パケットデータ作成手段に相当している。
【0104】
以上詳述したように本実施形態のエンジンECU2に設けられたマイコン60では、図11に示すように、通信相手へ送信する予定の制御用データの各々に対して、それに対応するLSB変換プログラムの先頭アドレス(LSB変換コールアドレス)を物理値変換テーブルで定義しておき、送信タイミング毎に動作する物理値変換部220が、その物理値変換テーブルの情報に基づいて、実際に送信する制御用データに対応したLSB変換プログラムを起動することにより、その制御用データに対してLSB変換処理を行うようにしている。尚、図11は、図8における一点鎖線の六角形の枠で示したLSB変換動作の概念図である
よって、何れかの制御用データに対するLSB変換の内容を変更する場合には、プログラム制御文自体を修正する必要が無く、物理値変換テーブルにて、その制御用データに対応したLSB変換コールアドレスを書き換えるだけで良い。尚、新たな内容のLSB変換が必要な場合には、その変換を行うためのLSB変換プログラムをROMに追加した上で、物理値変換テーブル内のLSB変換コールアドレスを変更すれば良い。
【0105】
また、本実施形態のマイコン60では、LSB変換すべき制御用データを処理対象として、物理値変換テーブルに基づき特定されるLSB変換プログラムを起動することにより、その制御用データに対してLSB変換処理を行うようにしているため、同じ内容のLSB変換を行う制御用データが複数ある場合には、例えば図6における1段目のHandle1 と4段目のHandle2 のように、物理値変換テーブル内のLSB変換コールアドレスを同じ値($00001000 )にしておくことで、その複数の制御用データに対して同じLSB変換プログラムを使用することができる。よって、プログラムの全容量(延いては、ROMの必要容量)を削減することができる。
【0106】
そして更に、本実施形態のマイコン60によれば、例えばPN1のパケットデータの送信周期を1Sから3Sに変更するような場合でも、通信制御部400がPN1を含んだ送信要求のメッセージを発行する周期を変更するだけで良く、LSB変換プログラムはもちろんのこと、他の部分のプログラムを修正する必要が無い。特に、本実施形態では、図5のデータ特定テーブルによって、パケット番号と通信周期とを定義し、通信制御部400が、その定義内容に基づいた周期で各パケット番号を含んだ送信要求のメッセージを発行するようにしているため、送信周期の変更も、データ特定テーブルの記述内容を書き換えるだけで良く、非常に容易である。
【0107】
また、本実施形態のマイコン60では、制御用データを送信する直前に、その送信対象の制御用データをLSB変換するようにしているため、常に最新の物理値を示す制御用データを通信相手に送ることができる。
その上、LSB変換された制御用データは、送信対象のパケットデータを構成するデータ領域に即座に格納されるため、LSB変換後のデータを格納しておくための記憶領域を別途設ける必要が無く、メモリ容量を削減することができる。
【0108】
また更に、本実施形態のマイコン60では、共通パケットデータ部230及び物理値変換部220が、通信制御部400によって発行されるパケット番号から、データ特定テーブル及び物理値変換テーブルに基づいて、今回送信すべき複数の制御用データを特定すると共に、その特定した各制御用データに対し該当するLSB変換プログラムを起動してLSB変換処理を夫々行い、更に、そのLSB変換処理後の各制御用データから実際に送信するパケットデータ作成するため、前述の効果に加えて、更に、データ特定テーブル及び物理値変換テーブルにおけるパケット番号とHandle番号との対応を変更するだけで、実際に送信されるパケットデータを構成する制御用データの種別を変更することができる。
【0109】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、種々の形態を採り得ることは言うまでもない。
例えば、上記実施形態の車両制御システム1では、エンジンECU2が他の2つのECU4,6とデータ通信を行うものであったが、ECUの数は3つに限るものではなく、2つ或いは4つ以上でも良い。
【0110】
また、上記実施形態は、他のECU4,6とデータ通信を行うエンジンECU2に本発明を適用したものであったが、本発明は、例えば、内部に搭載された複数のマイコン同士がデータ通信を行うECUに対しても、同様に適用することができる。つまり、この場合には、1つのマイコンに着目すると、その通信相手が同じECUに搭載された他のマイコンとなる。
【図面の簡単な説明】
【図1】 実施形態の車両制御システムの構成を表す構成図である。
【図2】 図1の車両制御システムを構成するエンジンECUの内部構成を表すブロック図である。
【図3】 エンジンECUに設けられたマイコン内の通信モデルを仮想的に示した概念図である。
【図4】 テーブル格納部に格納された共有メモリテーブルを説明する説明図である。
【図5】 テーブル格納部に格納されたデータ特定テーブルを説明する説明図である。
【図6】 テーブル格納部に格納された物理値変換テーブルを説明する説明図である。
【図7】 アプリケーション部によって求められた制御用データを共有メモリに格納する処理動作を示すメッセージシーケンスチャートである。
【図8】 共有メモリに格納された制御用データから共通パケットデータを生成する処理動作を示すメッセージシーケンスチャートである。
【図9】 図8の処理動作で生成された共通パケットデータを、通信データ列に変換して送信する処理動作を示すメッセージシーケンスチャートである。
【図10】 図8の処理動作によって作成される共通パケットデータを表す模式図である。
【図11】 図8におけるLSB変換動作の概念図である。
【図12】 一般的な車両制御システムの構成を表す構成図である。
【図13】 従来の精度変換処理用プログラム(LSB変換プログラム)の構造を説明する説明図である。
【符号の説明】
1…車両制御システム 2…エンジンECU 4…エアコンECU
6…メータECU 10…多重通信線 60…マイコン
64…入力回路 66…出力回路 70…通信IC
100…アプリケーション部 110…エンジンアプリケーションソフト
120…ECTアプリケーションソフト
130…クルーズアプリケーションソフト 200…通信変換部
210…共有メモリ部 220…物理値変換部
230…共通パケットデータ部 240…通信データ変換部
300…通信ドライバ部 400…通信制御部 500…テーブル格納部
Claims (3)
- 自動車に搭載された制御対象を制御するための演算処理を行うと共に、その演算処理により算出した制御用データを所定の記憶部に格納し、更に、前記記憶部に格納された制御用データのうちで通信相手へ送信すべき各制御用データに対して、そのデータを、該データが示す物理値を前記通信相手側で扱われる分解能で表すデータに変換する精度変換処理を行うと共に、その精度変換処理後の制御用データを前記通信相手へ送信する情報処理装置を備えた自動車用制御装置において、
前記情報処理装置は、
前記通信相手へ送信すべき各制御用データに対して前記精度変換処理を夫々行うための複数種類の変換プログラムを格納した変換プログラム格納手段と、
前記通信相手へ送信すべき各制御用データと、前記変換プログラム格納手段に格納された各変換プログラムとの、対応関係を示す変換情報を記憶した変換情報記憶手段と、
予め定められた送信タイミングになると、前記通信相手へ今回送信すべき制御用データを示す送信指令を発行する送信動作起動手段と、
前記送信指令が発行されると、その送信指令が示す制御用データを前記記憶部から読み出すと共に、前記変換情報記憶手段に記憶されている変換情報に基づいて、前記送信指令が示す制御用データに対応した前記変換プログラム格納手段内の変換プログラムを特定し、その特定した変換プログラムを、前記読み出した制御用データを処理対象として起動することにより、前記送信指令が示す制御用データに対して前記精度変換処理を行うデータ変換手段と、
該データ変換手段による精度変換処理が完了すると、その精度変換処理後の制御用データを前記通信相手へ送信する送信手段と、
を備えていることを特徴とする自動車用制御装置。 - 請求項1に記載の自動車用制御装置において、
前記変換情報記憶手段は、前記変換情報として、前記通信相手へ送信すべき各制御用データの種別情報と、その種別情報が示す制御用データに対して前記精度変換処理を行うための前記変換プログラムが、前記変換プログラム格納手段内において何れの格納位置に格納されているかを示す格納位置情報とを、対応付けて記述したデータテーブルを記憶しており、
前記データ変換手段は、前記データテーブルから、前記送信指令が示す制御用データの種別情報に対応した前記格納位置情報を取得し、前記記憶部から読み出した制御用データを処理対象として、前記取得した格納位置情報が示す格納位置に格納されている変換プログラムを起動することにより、前記送信指令が示す制御用データに対して前記精度変換処理を行うこと、
を特徴とする自動車用制御装置。 - 請求項1に記載の自動車用制御装置において、
前記情報処理装置は、複数種類の制御用データを直列に並べたパケットデータを前記通信相手へ送信するものであり、
前記変換情報記憶手段は、前記変換情報として、前記パケットデータの識別番号と、その識別番号のパケットデータを構成する各制御用データの種別情報と、その種別情報が示す制御用データに対して前記精度変換処理を行うための前記変換プログラムが、前記変換プログラム格納手段内において何れの格納位置に格納されているかを示す格納位置情報とを、対応付けて記述したデータテーブルを記憶しており、
前記送信動作起動手段は、前記送信指令として、前記通信相手へ今回送信すべき前記パケットデータの識別番号を発行し、
前記データ変換手段は、
前記送信動作起動手段によって前記送信指令としての識別番号が発行されると、前記データテーブルから、前記発行された識別番号に対応した各制御用データの種別情報を取得する送信データ特定手段と、
該送信データ特定手段によって取得された前記種別情報の各々について、その種別情報に該当する制御用データを前記記憶部から読み出すと共に、前記データテーブルから、その種別情報に対応した前記格納位置情報を取得し、更に、前記読み出した制御用データを処理対象として、前記取得した格納位置情報が示す格納位置に格納されている変換プログラムを起動することにより、その各識別情報の制御用データに対して前記精度変換処理を行う精度変換手段と、
該精度変換手段によって前記精度変換処理が行われた後の各制御用データを直列に並べることにより、前記通信相手へ送信すべきパケットデータを作成するパケットデータ作成手段とを備え、
前記送信手段は、前記パケットデータ作成手段によって作成されたパケットデータを前記通信相手へ送信すること、
を特徴とする自動車用制御装置。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11853999A JP3666297B2 (ja) | 1999-04-26 | 1999-04-26 | 自動車用制御装置 |
US09/551,870 US6374161B1 (en) | 1999-04-26 | 2000-04-18 | Automobile control system and method capable of revising control data transmission function |
EP04022240A EP1486927B1 (en) | 1999-04-26 | 2000-04-25 | Automobile control system and method capable of revising control data transmission function |
DE60025969T DE60025969T2 (de) | 1999-04-26 | 2000-04-25 | Kraftfahrzeug-Steuerungssystem and Verfahren geeignet zur Revision der Steuerldatenübertragungsfunktion |
EP00108801A EP1049062B1 (en) | 1999-04-26 | 2000-04-25 | Automobile control system and method capable of revising control data transmission function |
ES00108801T ES2254066T3 (es) | 1999-04-26 | 2000-04-25 | Sistema de control de automovil y metodo capaz de revisar la funcion de transmision de datos de control. |
ES04022240T ES2270248T3 (es) | 1999-04-26 | 2000-04-25 | Sistema de control de automovil y metodo capaz de revisar la funcion de transmision de datos de control. |
DE60031464T DE60031464T2 (de) | 1999-04-26 | 2000-04-25 | Kraftfahrzeug-Steuerungssystem und Verfahren geeignet zur Revision der Steuerdatenübertragungsfunktion |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11853999A JP3666297B2 (ja) | 1999-04-26 | 1999-04-26 | 自動車用制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000310152A JP2000310152A (ja) | 2000-11-07 |
JP3666297B2 true JP3666297B2 (ja) | 2005-06-29 |
Family
ID=14739109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11853999A Expired - Fee Related JP3666297B2 (ja) | 1999-04-26 | 1999-04-26 | 自動車用制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3666297B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002236583A (ja) | 2001-02-07 | 2002-08-23 | Fujitsu Ten Ltd | 組込み用ソフトウェアモジュール |
CN111542807B (zh) | 2018-08-21 | 2023-09-29 | 谷歌有限责任公司 | 用于车辆系统总线的可扩展映射 |
-
1999
- 1999-04-26 JP JP11853999A patent/JP3666297B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000310152A (ja) | 2000-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3692820B2 (ja) | 自動車用制御装置 | |
US6360145B1 (en) | Vehicle platform-portable controller | |
WO2018196655A1 (zh) | 一种车载电子处理单元系统公共网络通讯方法 | |
US20070208469A1 (en) | Communication System for a Motor Vehicle | |
US20150127192A1 (en) | Wireless vehicle control system | |
US7299308B2 (en) | Data transmission apparatus and electronic control unit | |
JP4111674B2 (ja) | 通信ゲートウェイ装置 | |
EP1486927B1 (en) | Automobile control system and method capable of revising control data transmission function | |
JP3666286B2 (ja) | 自動車用制御装置 | |
JP4620417B2 (ja) | 車両内の駆動シーケンスの制御方法,車両内の駆動シーケンスを制御する装置,技術ユニット,および制御装置。 | |
US7203580B2 (en) | Electrical control unit and control system comprising plural electrical control units | |
JP3690179B2 (ja) | 自動車用制御装置 | |
JP3666297B2 (ja) | 自動車用制御装置 | |
JP2021135807A (ja) | 車載機器制御装置及び車両制御システム | |
CN111142806A (zh) | 车辆数据的存储方法、装置、设备及存储介质 | |
CN201761451U (zh) | 可配置客车车身控制系统 | |
KR100378675B1 (ko) | 자동차의 원격진단제어장치 | |
US20040098139A1 (en) | Electronic apparatus for a bus system | |
JP4259456B2 (ja) | データ記録装置及びデータ記録方法 | |
JP3809876B2 (ja) | 車両用エアコンシステムのドアアクチュエータ装置 | |
JP3993511B2 (ja) | 車両用電子制御システム | |
KR100666370B1 (ko) | 차량내부 네트워크용 스마트 모듈 | |
WO2023189468A1 (ja) | 車載装置、情報処理方法および情報処理プログラム | |
JP2021167599A (ja) | 入力要素と出力要素との間で燃料消費量および/または作動流体消費量ならびに最適化メッセージを通信する、プロセス全体のアベイラビリティー(可用性)向上にも貢献する、can通信プロトコルシステム | |
JP4917543B2 (ja) | コンピュータ装置を作動させる方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040812 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041207 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050328 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3666297 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080415 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110415 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120415 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120415 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130415 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130415 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140415 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |