JP3690179B2 - Automotive control device - Google Patents

Automotive control device Download PDF

Info

Publication number
JP3690179B2
JP3690179B2 JP11854199A JP11854199A JP3690179B2 JP 3690179 B2 JP3690179 B2 JP 3690179B2 JP 11854199 A JP11854199 A JP 11854199A JP 11854199 A JP11854199 A JP 11854199A JP 3690179 B2 JP3690179 B2 JP 3690179B2
Authority
JP
Japan
Prior art keywords
data
packet
transmission
communication
packet data
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 - Lifetime
Application number
JP11854199A
Other languages
Japanese (ja)
Other versions
JP2000310153A (en
Inventor
広隆 酒井
岩井  明史
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP11854199A priority Critical patent/JP3690179B2/en
Priority to US09/551,870 priority patent/US6374161B1/en
Priority to DE60025969T priority patent/DE60025969T2/en
Priority to EP00108801A priority patent/EP1049062B1/en
Priority to DE60031464T priority patent/DE60031464T2/en
Priority to EP04022240A priority patent/EP1486927B1/en
Priority to ES04022240T priority patent/ES2270248T3/en
Priority to ES00108801T priority patent/ES2254066T3/en
Publication of JP2000310153A publication Critical patent/JP2000310153A/en
Application granted granted Critical
Publication of JP3690179B2 publication Critical patent/JP3690179B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Small-Scale Networks (AREA)
  • Regulating Braking Force (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)
  • Air-Conditioning For Vehicles (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、制御対象を制御するためにマイクロコンピュータからなる情報処理装置を備えた自動車用制御装置に関し、特に、その情報処理装置が、当該自動車用制御装置内や他の自動車用制御装置に備えられた他の情報処理装置とデータ通信を行うことにより、その通信相手の情報処理装置と制御用のデータを共有するようにした自動車用制御装置に関する。
【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)を例に挙げて、図11を用い説明する。尚、図11は、エンジンECUを含む複数のECUからなる一般的な車両制御システムの構成を表す構成図である。
【0006】
図11に示すように、エンジンECUでは、それに搭載されたマイコン600が、エンジン回転パルス,車速パルス,及びシフトレバー位置信号などの各種信号を、入出力回路602を介して取り込み、エンジンを制御するための演算処理を行う。
【0007】
ここで、エンジンECUのマイコン600に取り込まれる入力信号や、その入力信号に基づきマイコン600で演算される演算結果の中には、他のECUでも必要とされるものがある。例えば、エンジンECUのマイコン600では、エンジン回転パルスのパルス間隔を計測してエンジン回転数を算出するが、エンジン回転数は、エンジンの制御に用いられるだけでなく、車室内にあるメータパネル内のエンジン回転数表示部(タコメータ)に表示されるものであるため、メータパネル内の計器類を制御するECU(メータECU)においても必要となる。
【0008】
このため、エンジンECUにおいて、マイコン600により算出されたエンジン回転数や車速などの物理値を表す各種のデータは、所定の送信タイミングになった時に、マイコン600から通信IC604へ送られ、更にドライバ回路606を介して通信線へ送出される。すると、その通信線に接続されたメータECUなどの他のECU(詳しくは、そのECUに搭載されたマイコン)は、通信線を介して送られて来たデータを受信して、自己の制御対象を制御するための演算処理に用いることとなる。
【0009】
ところで、上記のような車両制御システムを構成するECUにおいて、マイコンは、各種のデータを個別に送信するのではなく、図12に例示するように、エンジン回転数データや車速データ、更にメータパネル内のウォーニングランプ(警告灯)を点灯させるためのフェイルセーフ用データ等といった複数種類のデータを、所定の順番に並べてパケットデータを作成し、そのパケットデータを通信相手へ送信するようにしている。尚、パケットデータの先頭には、一般に、通信プロトコルに応じたヘッダ情報が付加される。
【0010】
そして、このようなパケットデータは、一般に、1種類だけでなく、それを構成する各種データの組み合わせや並び順などによって複数種類作成され、その各パケットデータが、予め定められた送信タイミングで他のECUや他のマイコンへ送信される。そして更に、どのパケットデータにどの種別のデータを含ませるかは、車両制御システムの構成(特に、各マイコンの役割分担)によって適宜決定される。
【0011】
また、一般に、この種の車両制御システムでは、予め定められた時間間隔毎に定期的に送信すれば良いデータと、内容が更新されたら即座に送信しなければならないデータとがあり、このことは、そのデータを受ける通信相手側の機能によって決まる。
【0012】
前述したエンジンECUとメータECUとの関係を例に挙げて具体的に説明すると、タコメータに表示させるエンジン回転数のデータは、前者であり、上記フェイルセーフ用データは、後者である。つまり、フェイルセーフ用のデータについては、異常が発生したら、それを即座に運転者へ報知する必要があるため、予め定められた時間間隔毎に到来する送信タイミングを待つことなく、異常検出時に即座に送信するように設定されるのである。
【0013】
また、上記のようなフェイルセーフ用データの他にも、例えば、エンジンECUのマイコンが、燃料噴射を20回行った分の累計燃料噴射量を表す噴射量データをメータECUへ送信し、メータECUのマイコンは、上記噴射量データに基づき燃料総消費量を計算してディスプレイに表示する、といったシステムの場合には、燃料噴射が20回行われる時間間隔は一定でなくエンジン回転数に応じて変わるため、エンジンECUのマイコンは、燃料噴射が20回完了して噴射量データの値が更新される、といったイベントが発生した時に、最新の噴射量データをメータECUへ送信することとなる。尚、このように、特定のデータが更新された時に、そのデータを即座に送信することを、定期的な送信を意味する「定時送信」と区別して、一般に、「イベント送信」と呼んでいる。
【0014】
そこで、従来より、この種の車両制御システムを構成するECUのマイコンでは、予め設定された一定時間毎に実行されるパケットデータ作成用プログラムによって、送信予定の全てのパケットデータを常時作成し、他のプログラムにより、下記の(1),(2)のような手順で、定時送信とイベント送信とを行うようにしていた。尚、パケットデータ作成用プログラムの実行周期は、そのプログラムで作成されるパケットデータの送信周期よりも当然短く設定される。
【0015】
(1)定時送信については、予め定められた時間間隔毎に到来する送信タイミングになると、上記パケットデータ作成用プログラムによって作成されているパケットデータのうちで今回送信すべきパケットデータを選び、そのパケットデータを通信相手へ送信するようにしていた。
【0016】
(2)イベント送信については、上記パケットデータ作成用プログラムによって作成されるパケットデータのうちで、イベント送信すべきデータを含んだパケットデータを対象として、そのパケットデータに含まれているイベント送信すべきデータの内容が変化したか否かを定期的に監視し、変化したことを検知すると、そのパケットデータを即座に通信相手へ送信するようにしていた。
【0017】
【発明が解決しようとする課題】
しかしながら、上記従来のECUでは、以下の問題があった。
▲1▼:送信予定の全てのパケットデータを、一定時間毎に作成するようにしているため、各送信タイミング毎に異なるパケットデータ(異なる種別のデータによって構成されるパケットデータ)を夫々送信する場合でも、常に全てのパケットデータを逐次更新して記憶しておかなければならず、大きなメモリ領域が必要となる。また、次の送信タイミングでは送信しないパケットデータも作成することとなるため、処理上の無駄が多い。
【0018】
▲2▼:各パケットデータを構成するデータの種別やそのデータのパケットデータ内における配置位置を変更しようとした場合、パケットデータ作成用プログラムを詳細に見て修正しなければならず、非常に手間がかかる。
▲3▼:何れかのパケットデータの送信周期を短く変更しようとした場合、変更後の送信周期よりも更に短い実行間隔のプログラムによって、そのパケットデータを作成するように修正しなければならず、プログラムをどのように修正するかを決定するには、プログラム全体を理解していないとできない。
【0019】
このように従来のECUでは、処理上やメモリ領域の面で無駄が多く、しかも、様々な変更に対して容易に対応することができなかった。そして、理想としては、定時送信とイベント送信との両方について、データ送信を行うべき時に、送信対象のパケットデータを迅速に且つ効率的に作成し、更に、上記▲2▼,▲3▼のような変更に対して容易に対応できれば良いのであるが、従来の技術では、こうした理想的な装置を得ることができなかった。
【0020】
そこで、本発明は、定時送信とイベント送信との両方について、データ送信を行うべき時に、送信対象のパケットデータを迅速に且つ効率的に作成することができると共に、パケットデータを構成するデータの種別や並び、更には、パケットデータの定時送信間隔の変更に対して、非常に容易に対応することができる自動車用制御装置を提供することを目的としている。
【0021】
【課題を解決するための手段、及び発明の効果】
上記目的を達成するためになされた請求項1に記載の本発明の自動車用制御装置は、情報処理装置を備えており、その情報処理装置は、自動車に搭載された制御対象を制御するための演算処理を行うと共に、その演算処理により算出した制御用のデータを所定の記憶部に格納する。そして更に、前記情報処理装置は、前記記憶部に格納されたデータのうちで、前記自動車に搭載された通信相手へ送信すべき複数種類の送信対象データを、所定の順番に並べてパケットデータを作成し、その作成したパケットデータを前記通信相手へ送信する。
【0022】
ここで特に、本発明の自動車用制御装置において、情報処理装置は、第1のデータテーブルと第2のデータテーブルとを格納したテーブル格納部を備えており、第1のデータテーブルには、前記パケットデータの識別番号であるパケット番号毎に、そのパケット番号のパケットデータを構成する各送信対象データの種別番号が記述されている。また、第2のデータテーブルには、送信対象データの種別番号毎に、その種別番号の送信対象データが構成要素となるパケットデータのパケット番号と、その種別番号の送信対象データが前記パケットデータ内においてどの位置に配置されるかを示す配置位置情報とが記述されている。
【0023】
そして、この情報処理装置では、定時送信動作起動手段が、予め定められた送信周期毎に、通信相手へ今回送信すべきパケットデータのパケット番号を送信指令として出し、この定時送信動作起動手段によって送信指令としてのパケット番号が出されると、定時送信用パケットデータ作成手段が、前記第1のデータテーブルから、前記送信指令として出されたパケット番号に対応して記述されている各送信対象データの種別番号を取得して、その各種別番号の送信対象データを前記記憶部から読み出すと共に、前記第2のデータテーブルから、前記取得した各種別番号に夫々対応して記述されている配置位置情報を取得し、前記記憶部から読み出した各送信対象データを前記取得した各配置位置情報に基づいて並べることにより、前記送信指令として出されたパケット番号のパケットデータを作成する。
【0024】
また、この情報処理装置では、イベント送信動作起動手段が、前記記憶部内の送信対象データのうちの特定のデータが更新されたことを検出すると、その特定のデータの種別番号を送信指令として出し、このイベント送信動作起動手段によって送信指令としての種別番号が出されると、イベント送信用パケットデータ作成手段が、前記第2のデータテーブルから、前記送信指令としての種別番号に対応して記述されているパケット番号を取得し、次いで、前記第1のデータテーブルから、前記取得したパケット番号に対応して記述されている各送信対象データの種別番号を取得して、その各種別番号の送信対象データを前記記憶部から読み出すと共に、前記第2のデータテーブルから、前記取得した各種別番号に夫々対応して記述されている配置位置情報を取得し、前記記憶部から読み出した各送信対象データを前記取得した各配置位置情報に基づいて並べることにより、前記送信指令として出された種別番号のデータが含まれるパケットデータを作成する。
【0025】
そして、上記定時送信用パケットデータ作成手段とイベント送信用パケットデータ作成手段との何れかによってパケットデータが作成されると、送信手段が、その作成されたパケットデータを通信相手へ送信する。
このような本発明の自動車用制御装置において、予め定められた送信周期毎の定時送信を行う時には、まず、定時送信動作起動手段によって、今回送信すべきパケットデータのパケット番号が送信指令として出される。
【0026】
すると、定時送信用パケットデータ作成手段は、第1のデータテーブルから、上記送信指令として出されたパケット番号のパケットデータ(即ち、今回送信すべきパケットデータ)を構成する各送信対象データの種別番号を取得して、その各種別番号の送信対象データを記憶部から読み出すこととなるが、このとき、第1のデータテーブルには、パケット番号毎に、そのパケット番号のパケットデータを構成する各送信対象データの種別番号が記述されているため、定時送信用パケットデータ作成手段は、時間のかかる検索処理を行うことなく、送信指令として出されたパケット番号に対応して記述されている各種別番号を読み取るだけで、今回送信すべきパケットデータを構成する各データの種別番号を即座に取得することができる。
【0027】
そして更に、定時送信用パケットデータ作成手段は、第2のデータテーブルから、上記取得した各種別番号に夫々対応して記述されている配置位置情報(即ち、今回送信すべきパケットデータを構成する各送信対象データの、そのパケットデータ内における配置位置の情報)を取得し、その取得した配置位置情報に基づいて、上記記憶部から読み出した各送信対象データを並べることにより、今回送信すべきパケットデータを作成することとなるが、特に、第2のデータテーブルには、送信対象データの種別番号毎に、その送信対象データの配置位置情報が記述されているため、定時送信用パケットデータ作成手段は、時間のかかる検索処理を行うことなく、第1のデータテーブルから取得した種別番号に対応して記述されている配置位置情報を読み取るだけで、記憶部から読み出した各送信対象データのパケットデータ内における配置位置を知ることができ、定時送信用のパケットデータを迅速に作成することができる。
【0028】
一方、本発明の自動車用制御装置において、記憶部内の送信対象データのうち、イベント送信すべき特定のデータが更新されて、その更新されたデータを含むパケットデータを送信(イベント送信)する時には、まず、イベント送信動作起動手段によって、今回イベント送信すべきデータ(更新されたデータ)の種別番号が送信指令として出される。
【0029】
すると、イベント送信用パケットデータ作成手段は、第2のデータテーブルから、上記送信指令として出された種別番号に対応して記述されているパケット番号(即ち、更新されたデータを構成要素とする今回イベント送信すべきパケットデータのパケット番号)を取得することとなるが、特に、第2のデータテーブルには、送信対象データの種別番号毎に、その送信対象データが構成要素となるパケットデータのパケット番号が記述されているため、イベント送信用パケットデータ作成手段は、時間のかかる検索処理を行うことなく、送信指令として出された種別番号に対応して記述されているパケット番号を読み取るだけで、今回イベント送信すべきパケットデータのパケット番号を即座に取得することができる。
【0030】
その後、イベント送信用パケットデータ作成手段は、第2のデータテーブルから取得したパケット番号を元に、定時送信用パケットデータ作成手段と同じ手順で、今回イベント送信すべきパケットデータを作成することとなる。そして、その作成時においても、イベント送信用パケットデータ作成手段は、時間のかかる検索処理を行うことなく、第1のデータテーブルから、今回送信すべきパケットデータを構成する各データの種別番号を即座に取得することができると共に、第2のデータテーブルから、各データの配置位置情報を即座に取得して、イベント送信用のパケットデータを迅速に作成することができる。
【0031】
以上のように本発明の自動車用制御装置では、定時送信用のパケットデータとイベント送信用のパケットデータとを作成するための情報を定義するデータマップを、第1のデータテーブルと第2のデータテーブルとに分け、第1のデータテーブルには、パケット番号毎に、そのパケット番号のパケットデータを構成する各送信対象データの種別番号を記述し、第2のデータテーブルには、送信対象データの種別番号毎に、その種別番号のデータがパケットデータ内においてどの位置に配置されるかを示す配置位置情報と、その種別番号のデータが構成要素となるパケットデータのパケット番号とを記述するようにしている。
【0032】
このため、定時送信とイベント送信との何れの送信時においても、その時に送信すべきパケットデータを迅速に作成することができる。
そして、本発明の自動車用制御装置によれば、実際に送信するパケットデータを、その都度、迅速に作成することができるため、従来装置のように、送信予定のパケットデータを定期的に予め作成しておく必要がなく、処理上及びメモリ領域の面で無駄が無い。つまり、定時送信とイベント送信との両方について、データ送信を行うべき時に、送信対象のパケットデータを迅速に且つ効率的に作成することができるのである。
【0033】
しかも、本発明の自動車用制御装置によれば、パケットデータを構成するデータの種別や並びを変更する場合に、従来装置の如くプログラムを修正する必要がなく、種別の変更に対しては、第1のデータテーブルにてパケット番号毎に記述する送信対象データの種別番号を修正し、並びの変更に対しては、第2のデータテーブルにて送信対象データの種別番号毎に記述する配置位置情報を修正するだけで対応することができる。
【0034】
そして更に、何れかのパケットデータを定時送信する時間間隔(定時送信間隔)を変更する場合には、定時送信動作起動手段がどの周期でどのパケット番号を送信指令として出すか、という内容を修正するだけで対応することができ、プログラム全体を十分に理解していない者でも容易に修正作業を行うことができる。
【0035】
つまり、本発明の自動車用制御装置によれば、パケットデータを構成するデータの種別や並び、或いは更に、パケットデータの定時送信間隔の変更に対して、非常に容易に対応することができる。
また、本発明の自動車用制御装置によれば、第2のデータテーブルにて送信対象データの種別番号毎に記述するパケット番号を修正するだけで、イベント送信するパケットデータを変更することができる。
【0036】
次に、請求項2に記載の自動車用制御装置では、請求項1に記載の装置において、第1のデータテーブルには、パケット番号毎に、そのパケット番号のパケットデータを送信すべき送信周期も記述されている。そして、定時送信動作起動手段は、第1のデータテーブルに記述された各パケット番号を、そのパケット番号に対応して第1のデータテーブルに記述されている送信周期毎に、前記送信指令として出すよう構成されている。
【0037】
この請求項2に記載の自動車用制御装置によれば、何れかのパケットデータの定時送信間隔を変更する場合、第1のデータテーブルにて、そのパケットデータのパケット番号に対応して記述された送信周期を修正するだけで良く、パケットデータの定時送信間隔の変更に対して、より一層容易に対応することができる。
【0038】
ところで、この種の自動車用制御装置(ECU)においては、同じ種別の制御用データであっても、各ECUで扱われる分解能が異なる場合がある。図11の例で具体的に説明すると、例えば、エンジンECUでは、エンジン回転数のデータを、LSB当たり(最下位の1ビット当たり)50/256(=約0.195)rpmの分解能で扱ってエンジンに対する制御量を求めるが、メータECUでは、エンジン回転数のデータを、LSB当たり1rpmで扱う、といった具合である。そして、各制御用データの分解能(即ち、そのデータのLSB当たりによって示される物理値であり、そのデータの精度である)は、そのデータを扱うマイコンで要求される演算精度に応じて、システム設計時に適宜決められるものである。
【0039】
このため、データを算出して送信する側と受信する側とで、そのデータを扱う上での分解能が異なる場合には、データを送信する側が、算出した送信対象データに対して、「そのデータを、該データが示す物理値を通信相手側で扱われる分解能で表すデータに変換する精度変換処理」を行い、その精度変換処理後のデータを通信相手へ送信する様にすれば、受信する側は、受信したデータをそのまま処理に用いることができる。
【0040】
尚、精度変換処理の具体的な処理手順は様々であるが、その思想としては、変換対象のデータが示す10進値を、そのデータの元の分解能B1と通信相手側の分解能B2との比(=B2/B1)で割り、その商を示すデジタルデータを、精度変換後のデータとするものである。また、このことから、変換対象のデータを右シフトして、そのデータ長を短くする(例えば、2バイトを1バイトに変更する)といったデータ長変換も、精度変換の一つである。また更に、以下の説明では、こうした精度変換を、データのLSB当たりによって示される物理値を変更するという意味合いから、“LSB変換”あるいは“物理値変換”とも言う。
【0041】
そこで、請求項3に記載の自動車用制御装置では、上記請求項1,2に記載の装置において、まず、情報処理装置が、前記記憶部内の各送信対象データに対して、上記精度変換処理を行うための、複数種類の変換プログラムを格納した変換プログラム格納手段を備えている。
【0042】
また、前記第2のデータテーブルには、送信対象データの種別番号毎に、その種別番号の送信対象データに対して上記精度変換処理を行うための変換プログラムが、前記変換プログラム格納手段内において何れの格納位置に格納されているかを示す格納位置情報も記述されている。
【0043】
そして、定時送信用パケットデータ作成手段とイベント送信用パケットデータ作成手段との各々は、前記記憶部から読み出した送信対象データの各々について、前記第2のデータテーブルから、その送信対象データの種別番号に対応して記述されている前記格納位置情報を取得すると共に、その送信対象データを処理対象として前記取得した格納位置情報が示す格納位置に格納されている変換プログラムを起動することにより、前記記憶部から読み出した各送信対象データに対して前記精度変換処理を行い、その精度変換処理後の各送信対象データを、前記第2のデータテーブルから取得した各配置位置情報に基づいて並べることにより、今回送信すべきパケットデータを作成する。
【0044】
この請求項3に記載の自動車用制御装置によれば、送信対象データを、通信相手側で扱われる分解能のデータに変換(精度変換)して送信することができるだけでなく、何れかの送信対象データに対する精度変換の内容を変更する場合、第2のデータテーブルにて送信対象データの種別番号毎に記述する前記格納位置情報を修正するだけで対応することができ、精度変換内容の変更に対する修正作業が非常に簡単になる。尚、新たな内容の精度変換処理が必要な場合には、その精度変換処理を行うための変換プログラムを、変換プログラム格納手段に追加した上で、第2のデータテーブルに記述する上記格納位置情報を修正すれば良い。
【0045】
また、この自動車用制御装置では、精度変換すべきデータを処理対象として、第2のデータテーブルに記述された格納位置情報から特定される変換プログラムを起動することにより、そのデータに対して精度変換処理を行うようにしているため、同じ内容の精度変換を行うデータが複数種類ある場合には、その複数種類のデータに対して同じ変換プログラムを共通に使用することができ、プログラムを格納するためのメモリ容量も削減することができる。
【0046】
【発明の実施の形態】
以下、本発明が適用された実施形態の車両制御システムについて、図面を用いて説明する。
まず、図1は、実施形態の車両制御システム1の構成を表す構成図である。尚、本実施形態の車両制御システム1は、車両に搭載されたエンジン,トランスミッション,エアコン,計器類,ブレーキ及びその他の電装品を制御するものである。
【0047】
図1に示すように、本実施形態の車両制御システム1は、主にエンジン及びトランスミッションを制御する制御装置(以下、エンジンECUという)2と、エアコンを制御する制御装置(以下、エアコンECUという)4と、メータパネル内の計器や警告灯を制御する制御装置(以下、メータECUという)6と、車両の不安定な横滑り状態等を抑制するための車両姿勢制御を行う制御装置(以下、姿勢制御ECUという)8とを備えている。
【0048】
そして、エンジンECU2とエアコンECU4とメータECU6は、多重通信線10を介して、互いに通信可能に接続されている。また、エンジンECU2は、多重通信線10とは別のシリアル通信線11を介して、姿勢制御ECU8と1対1のシリアル通信が可能に接続されている。尚、多重通信線10での通信プロトコルと、シリアル通信線11での通信プロトコルとは、異なるものである。
【0049】
ここで、エンジンECU2は、車速SPDを検出するための車速センサ12,エンジン回転数(以下、単に回転数Neという)を検出するためのクランク角センサ14,及びエンジンの冷却水温(以下、単に水温THWという)を検出するための水温センサ16等の、各種センサからの検出信号に基づいて、車両の運転状態を検出する。そして、その検出結果や、後述するようにエアコンECU4から送信されて来る外気温TAMのデータ等に基づいて、インジェクタ18,イグナイタ20,及び図示しない他のアクチュエータを駆動することにより、エンジン及びトランスミッションを最適状態に制御する。
【0050】
そして更に、エンジンECU2は、上記の如く検出した車速SPD,回転数Ne,及び水温THW等を表す制御用の各種データを、多重通信線10及びシリアル通信線11へ適宜送信すると共に、後述するようにエアコンECU4から送信されて来るエアコン制御データACに応じて、A/Cマグネットクラッチ22を作動させることにより、エンジンの駆動力をエアコンの冷媒コンプレッサに伝達させて、エアコンの冷房運転を可能にする。
【0051】
一方、エアコンECU4は、外気センサ26及び内気センサ28からの検出信号に基づき車両外の気温(外気温)TAMと車室内の気温(内気温)とを検出して、該検出結果のデータを送信すると共に、その検出結果と、エンジンECU2から送信されて来る車速SPD,回転数Ne,及び水温THW等を表すデータとに応じて、送風用のブロアモータ30や配風を切り換えるためのエアミックスダンパ32等を駆動することにより、車室内の空調を制御する。また、エアコンECU4は、車両の運転者等によってエアコンスイッチ24がオンされると、エンジンECU2にA/Cマグネットクラッチ22を作動させるために、上述したエアコン制御データACを送信する。
【0052】
そして、メータECU6は、エンジンECU2から送信されて来る車速SPD,回転数Ne,及び水温THW等を表すデータに応じて、メータパネル内のスピードメータ40,タコメータ42,及び水温メータ(図示省略)等を駆動する。また、メータECU6は、エンジンECU2が異常を検出した時に送信する異常報知用の各データ(フェイルセーフ用データ)に応じて、その各データが示す異常の内容に応じた警告灯44,46を点灯させる。
【0053】
また更に、本実施形態では、エンジンECU2が、エンジンへの燃料噴射をN回(例えば20回)行う毎に、そのN回分の累計燃料噴射量を表す噴射量データをメータECU6へ送信し、メータECU6は、上記噴射量データに基づき燃料総消費量を計算してディスプレイ(図示省略)に表示する。
【0054】
一方また、姿勢制御ECU8は、ヨーレートセンサ50等の各種センサからの信号に基づき車両の走行状態を検出し、車両が横滑り状態にあると判断すると、ブレーキアクチュエータ52を駆動してブレーキ制御を行うと共に、シリアル通信線11を介して、エンジンECU2へエンジン出力を低下させるための制御用データ(例えば、燃料カット信号)を送信する。すると、エンジンECU2は、姿勢制御ECU8からの上記制御用データに従いインジェクタ18等を駆動して、エンジン出力を低下させる。
【0055】
尚、各ECU2,4,6,8は、マイコン(マイクロコンピュータ)を備えており、そのマイコンがプログラムを実行することによって上記各ECU2〜8の動作が実現されている。
次に、図2は、エンジンECU2の内部構成を表すブロック図である。
【0056】
図2に示すように、エンジンECU2は、第1マイコン60(本発明の情報処理装置に相当)と第2マイコン62との、2つのマイコンを備えている。尚、図示はしていないが、各マイコン60,62は、CPU,プログラムを記憶する記憶媒体としてのROM,データを一時記憶するためのRAM,及び入出力ポート等を備えた一般的なシングルチップマイクロコンピュータである。また、本実施形態において、各マイコン60,62のRAMは、1アドレス当たりに1バイト(8ビット)のデータが格納されるものである。
【0057】
そして、各マイコン60,62は、前述の各種センサ12,14,16からの信号を入力回路64を介して入力し、その入力信号に基づき制御対象を制御するための演算処理等を実行して、出力回路66へ制御量信号を出力することにより、前述したインジェクタ18やイグナイタ20等の各種アクチュエータを駆動している。
【0058】
また、第1マイコン60と第2マイコン62とは、通信線68を介してデータ通信を行うことにより、制御対象を制御するための制御用データを共有している。つまり、第1マイコン60と第2マイコン62は、エンジン及びトランスミッションを制御するための各演算処理を分担して実行すると共に、各自の演算処理に用いる制御用データを、通信線68を介したデータ通信により共有している。尚、この通信線68での通信プロトコルは、DMA通信であり、多重通信線10及びシリアル通信線11での通信プロトコルとは異なるものである。
【0059】
そして更に、エンジンECU2は、通信IC70を備えており、その通信IC70は、第1マイコン60から出力された通信データ列を、送信信号として多重通信線10へ送出すると共に、エアコンECU4及びメータECU6から多重通信線10を介して送信されて来た通信データ列を所定フレーム分(本実施形態では1フレーム分)だけ受信する毎に、第1マイコン60へ割込信号を出力するように構成されている。
【0060】
また、前述したシリアル通信線11は、第1マイコン60の入出力ポートに接続されており、第1マイコン60は、その入出力ポートを介して、姿勢制御ECU8(詳しくは、姿勢制御ECU8内のマイコン)と1対1でデータをやり取りするようになっている。
【0061】
次に、図3は、第1マイコン60内の通信モデルを仮想的に示した概念図であり、この通信モデルは、ISO/OSI(Open System Interconnection )通信モデルに準拠した階層化構造となっている。
図3に示すように、本実施形態の第1マイコン60で採用されている通信モデルは、制御対象を制御するための演算処理を行うアプリケーション部100と、通信相手としての他のECU4,6,8及び第2マイコン62とデータの送受信を行う通信ドライバ部300と、アプリケーション部100によって算出される制御用のデータから、通信ドライバ部300が送信すべき通信データ列を生成すると共に、通信ドライバ部300によって受信された通信データ列を、アプリケーション部100が使用可能な制御用のデータに変換する通信変換部200とからなる。そして、通信変換部200は、更に、共有メモリ部210と、物理値変換部220と、共通パケットデータ部230と、通信データ変換部240とに階層化されている。また更に、第1マイコン60は、通信制御部400とテーブル格納部500とを備えている。
【0062】
そして、アプリケーション部100から通信相手(他のECU4,6,8、或いは、第2マイコン62)に対して、直接データ転送されることはなく、アプリケーション部100から下位の階層に対して順々にデータを渡し(仮想通信し)、通信ドライバ部300にて、外部(通信相手)との物理的な通信が実現される。また、この通信モデルでの各階層は、その下の階層に対してサービスを要求し、その上の階層にサービスを提供するというものであり、各階層の目的は、上位階層でのサービスに対して実際の通信仕様等の詳細情報を隠蔽することである。尚、本実施形態において、各マイコン60,62により実行されるROM内のプログラムは、プログラムの全機能を単位機能毎に細分化して、その単位機能毎にオブジェクトを用意するオブジェクト指向によってプログラミングされており、オブジェクトとは、データとそのデータを処理する手続きである“メソッド”と呼ばれるプログラムとを、一まとめにしたプログラムモジュールである。
【0063】
そして、図3の通信モデルにおいて、ソフトウエアだけに着目すると、テーブル格納部500以外の各部100〜400は、第1マイコン60のROMに格納された各オブジェクト(メソッド及びデータ)であり、ROMにおける記憶領域の面から見ると、上記各部100〜400は、該当するオブジェクトを格納した記憶領域である。また、テーブル格納部500は、第1マイコン60のROMにて、後述する図4及び図5の各データテーブルを記憶した記憶領域である。
【0064】
そして更に、本実施形態の説明において、例えば「共有メモリ部210が…する。」や「物理値変換部220は…する。」といったオブジェクトを主語とした動作表現は、実際には、第1マイコン60がそのオブジェクトのメソッドに従って動作する(換言すれば、第1マイコン60がそのオブジェクトのメソッドを実行する)ことで実現される機能手段が、上記「…」の動作を行うことを示している。同様に、例えば「共有メモリ部210によって…される。」や「物理値変換部220によって…される。」といったオブジェクトによる受け身の動作表現は、実際には、第1マイコン60がそのオブジェクトのメソッドに従って動作することで実現される機能手段によって、上記「…」の動作が行われることを示している。
【0065】
ここで、アプリケーション部100は、エンジンECU2の制御対象及び制御内容毎に更に細分化された各オブジェクトからなる。そして、本実施形態において、アプリケーション部100は、回転数Ne等の制御用データを算出して、その算出した制御用データに基づきエンジンを制御するための演算処理を行うオブジェクト(以下、エンジンアプリケーションソフトという)110と、車速SPD等の制御用データを算出して、その算出した制御用データに基づきトランスミッションを制御するための演算処理を行うオブジェクト(以下、ECTアプリケーションソフトという)120と、エンジンのスロットル開度等の制御用データを算出して、その算出した制御用データに基づき車両を定速走行させるためのスロットル開度制御用演算処理を行うオブジェクト(以下、クルーズアプリケーションソフトという)130とを有している。そして、これらの各アプリケーションソフト110,120,130は、自分以外のアプリケーションソフトによって算出された制御用データも、自己の演算処理に用いる。つまり、各アプリケーションソフト110,120,130は、制御用データを互いに共有するようにしている。
【0066】
共有メモリ部210は、当該第1マイコン60に備えられたRAMにおいて、アプリケーション部100の各アプリケーションソフト110,120,130が制御対象を制御するために用いる全ての制御用データを一時格納するための記憶領域(以下、制御用データ記憶領域という)とは異なる特定の記憶領域として設定された共有メモリに、上記各アプリケーションソフト110,120,130間で共通使用される制御用データ、及び当該第1マイコン60の通信相手(第2マイコン62及び他のECU4,6,8)でも共通使用される制御用データ(以下、外部共有データという)を書き込み、また、上記共有メモリから制御用データを読み出して、他のオブジェクトに提供する。
【0067】
また、上記共有メモリに格納される各データには、その種別を示す種別番号(以下、Handle番号と記す)が付与されており、各オブジェクトは、Handle番号を指定することにより、共有メモリから必要なデータを入手したり、共有メモリに新たなデータを書き込むことができるようになっている。
【0068】
尚、図3では、ECTアプリケーションソフト120によって算出されると共に、Handle番号として“1”が付与された車速SPDのデータ(SPDデータ)が、エンジンアプリケーションソフト110でも使用され、また、エンジンアプリケーションソフト110によって算出されると共に、Handle番号として“2”が付与された回転数Neのデータ(Neデータ)が、ECTアプリケーションソフト120でも使用されていることを例示している。そして、図3以降の各図及び以下の説明において、“Handle1 ”や“Handle2 ”とは、Handle番号が“1”や“2”であることを表している。
【0069】
物理値変換部220は、当該第1マイコン60から通信相手へのデータ送信時には、上記共有メモリに格納されている制御用データのうち、送信するデータに対して、そのデジタルデータを、それが示す物理値を通信相手側で扱われる分解能で表すデジタルデータに変換するLSB変換処理を行う。また、物理値変換部220は、通信相手からのデータ受信時には、受信された制御用データに対して、そのデジタルデータを、それが示す物理値を各アプリケーションソフト110,120,130で扱われる分解能で表すデジタルデータに変換するLSB変換処理を行う。
【0070】
つまり、LSB変換処理とは、前述した精度変換処理のことであり、デジタルデータを、そのデータの分解能(そのデータのLSB当たりによって示される物理値であり、そのデータの精度である)が、通信相手側で採用されている分解能と同じになるように変換するものである。そして、本実施形態では、上記LSB変換処理を行うための複数種類のLSB変換プログラム(本発明における変換プログラムに相当)が、ROMの所定領域に、物理値変換部220の一部として格納されている。
【0071】
共通パケットデータ部230は、当該第1マイコン60から通信相手へのデータ送信時には、物理値変換部220によってLSB変換された送信対象の制御用データ(LSB変換処理後の送信対象データ)を集めて直列に並べることにより、多重通信,シリアル通信,DMA通信といった通信プロトコルに依存しない各通信プロトコルに共通のパケットデータ(以下、このパケットデータを、伝送路上で実際に送受信されるパケットデータと区別する場合には、共通パケットデータという)を作成する。そして、各共通パケットデータには、その識別番号としてのパケット番号PNが付与されている。尚、図3以降の各図及び以下の説明において、“PN1”や“PN2”とは、パケット番号PNが“1”や“2”であることを表している。
【0072】
通信データ変換部240は、当該第1マイコン60から通信相手へのデータ送信時には、共通パケットデータ部230によって作成された共通パケットデータを、通信相手との通信プロトコルに対応した通信データ列(即ち、実際に送信されるパケットデータ)に変換する。具体的には、共通パケットデータのデータ列に通信プロトコルに準じたヘッダ情報等を付加する、といった処理を行う。また、共通パケットデータのデータ長が、通信相手との通信プロトコルで定められた最大転送単位(1回に送信できる転送単位)よりも長い場合には、その最大転送単位内のデータ長に分割したりもする。
【0073】
通信ドライバ部300は、当該第1マイコン60から通信相手へのデータ送信時には、通信データ変換部240によって作成された通信データ列を、通信相手との通信プロトコルで定められた転送データ量、ボーレート、及び転送タイミングで、実際に通信データとして出力する。そして、通信ドライバ部300は、各通信相手との通信プロトコルに夫々対応して、第2マイコン62とのDMA通信を制御するDMA通信部310と、姿勢制御ECU8とのシリアル通信を制御するシリアル通信部320と、エアコンECU4及びメータECU6との多重通信を制御する多重通信部330とを有している。
【0074】
通信制御部400は、時間をカウントするためのタイマ410を有しており、そのタイマ410のカウント値に基づき、第2マイコン62や他のECU4,6,8との通信が定期的に実行されるように、通信データ列の作成タイミングを決定する。また、通信制御部400は、共有メモリ部210から後述するように出されるイベント送信用の送信要求を受けて、通信データ列の作成動作を起動する機能も有している。
【0075】
一方、通信ドライバ部300(DMA通信部310,シリアル通信部320,多重通信部330)は、通信相手(第2マイコン62や他のECU4,6,8)から送信されて来たデータを受信し取得して、通信データ変換部240に提供する機能も有している。
【0076】
そして、通信データ変換部240は、通信ドライバ部300によって取得された通信データ列を、共通パケットデータに変換する機能も有している。
そして更に、共通パケットデータ部230は、通信相手からのデータ受信時には、通信データ変換部240によって作成された共通パケットデータを分解して、その共通パケットデータを構成していた各制御用データを抽出し、更に、その各制御用データに対し物理値変換部220にLSB変換を行わせて、共有メモリ部210に、そのLSB変換後の各制御用データを共有メモリへ更新して書き込ませる機能も有している。
【0077】
一方また、テーブル格納部500には、図4に示す共有メモリテーブルと、図5(A)に示す第1のデータテーブルとしてのHandle番号特定テーブルと、図5(B)に示す第2のデータテーブルとしてのパケット番号特定テーブルとが格納されている。
【0078】
図4に示すように、共有メモリテーブルは、制御用データの各Handle番号毎に、そのHandle番号のデータが、共有メモリにおいて何れのアドレスを先頭にして格納されるかを示す共有メモリアドレスと、そのHandle番号のデータの共有メモリ内におけるデータ長を示す共有メモリサイズとを、Handle番号順に記述したデータテーブルである。
【0079】
また、図5(A)に示すように、Handle番号特定テーブルは、各パケット番号毎に、そのパケット番号の共通パケットデータを送信すべき送信周期と、そのパケット番号の共通パケットデータを構成する各制御用データのHandle番号と、そのパケット番号の共通パケットデータを何れの通信プロトコルで送受信すべきかを示す通信方式と、そのパケット番号の共通パケットデータを上記通信方式の通信プロトコルで送受信する場合に付加すべきヘッダ情報とを、パケット番号順に記述したデータテーブルである。
【0080】
尚、図5(A)において、Handle番号の項目に記載された「E」は、それ以降にHandle番号を示すデータが存在しないことを示すデータである。また、通信方式の項目に記載された「CAN」は、多重通信の通信プロトコルを示し、「SCI」は、シリアル通信の通信プロトコルを示している。
【0081】
そして、図5(B)に示すように、パケット番号特定テーブルは、制御用データの各Handle番号毎に、そのHandle番号のデータの共通パケットデータにおける配置位置を示す共通パケットデータ位置と、そのHandle番号のデータの共通パケットデータ内におけるデータ長を示す共通パケットデータサイズと、そのHandle番号のデータが構成要素となり且つイベント送信される共通パケットデータのパケット番号であるイベント送信パケット番号と、そのHandle番号のデータに対してLSB変換処理を行うためのLSB変換プログラムが、ROMの何れのアドレスを先頭にして格納されているかを示す格納位置情報としてのLSB変換コールアドレスとを、Handle番号順に記述したデータテーブルである。
【0082】
尚、共通パケットデータ位置は、該当するHandle番号の制御用データが、共通パケットデータにおける最初の1バイトを0バイト目とした場合に、その共通パケットデータにて、何バイト目から配置されるかを示している。また、本実施形態では、この共通パケットデータ位置と共通パケットデータサイズとが、配置位置情報に相当している。
【0083】
そして、各オブジェクトは、図5の上記各データテーブルを参照することにより、例えば、PN1の共通パケットデータには、どのHandle番号の制御用データが集約されるのか等、通信データ列の作成に必要な情報を取得することができる。
【0084】
次に、第1マイコン60から外部へ制御用データを送信する場合の通信データ列への変換処理について、図6〜図10を用いて説明する。
尚、図6〜図9は、制御用データから通信データ列への変換処理動作を示すメッセージシーケンスチャートである。そして、このメッセージシーケンスチャートでは、図3に示した各階層(オブジェクト)100〜500を上下方向の線で示し、その各階層から他の階層へのメッセージを横方向の実線矢印で示している。そして更に、横方向の点線矢印は、各階層がテーブル格納部500内のデータテーブルを参照することを示し、上下方向の線上にある長方形の枠内には、その階層で行われる処理の内容が示されている。また、図10は、図7或いは図9の処理動作によって作成される共通パケットデータを表す模式図である。
【0085】
まず、例えば、アプリケーション部100にあるECTアプリケーションソフト120にて、共有メモリに外部共有データの1つである車速SPDのデータ(以下、SPDデータという)を書き込む処理ステップになると、図6の[1]に示すように、アプリケーション部100のECTアプリケーションソフト120は、共有メモリ部210に対してデータ書込要求のメッセージを出す(発行する)。そして、この時、SPDデータのHandle番号(この例ではHandle1 )と、ECTアプリケーションソフト120でのSPDデータの格納アドレス(即ち、ECTアプリケーションソフト120が制御用の演算処理時にSPDデータの書き込み及び読み出しを行う制御用データ記憶領域のアドレスであって、この例では&SPD)との各情報も、共有メモリ部210へ送られる。
【0086】
尚、データ書込要求のメッセージを出す処理を、C言語でプログラミングした場合、SPDデータを共有メモリに書き込むためのメッセージの発行命令は、次のようになる。
Write(Handle1 ,&SPD)
この命令の意味は、SPDデータのHandle番号(Handle1 )に対応する共有メモリのアドレスへ、&SPDに格納されているデータ(ECTアプリケーションソフト120で求められたSPDデータ)を書き込む、ということである。また、アプリケーション部100の各アプリケーションソフト110,120,130が、SPDデータ以外の制御用データを共有メモリに書き込む場合には、上記命令のうち、“Handle1 ”が、書き込むべきデータのHandle番号となり、“&SPD”が、そのアプリケーションソフト用に設けられた制御用データ記憶領域のうちで、書き込むべきデータが格納された記憶領域のアドレスとなる。
【0087】
そして、共有メモリ部210は、アプリケーション部100(ECTアプリケーションソフト120)からの上記メッセージを受けると、図6の[2]に示すように、テーブル格納部500にある共有メモリテーブル(図4)を参照して、上記メッセージと共に送られて来たHandle番号(Handle1 )に対応する共有メモリアドレスと共有メモリサイズとを、共有メモリ情報として取得する。
【0088】
すると、共有メモリ部210は、上記取得した共有メモリ情報に基づき、SPDデータは共有メモリにて$FFFF0000 番地を先頭にした2バイト(byte)の領域に書き込むべきであることを認知し、図6の[3]の処理にて、ECTアプリケーションソフト120でのSPDデータの格納アドレス(&SPD)から、共有メモリの$FFFF0000 番地へ、2バイトのSPDデータをコピーする。
【0089】
この共有メモリ部210の処理により、図3における共有メモリ部210の枠内に例示しているように、共有メモリへHandle1 に対応したSPDデータが格納される。
そして、図示はしていないが、ECTアプリケーションソフト120で算出された他の制御用データや、エンジンアプリケーションソフト110及びクルーズアプリケーションソフト130で算出された制御用データも、図6の手順と同じ要領で共有メモリに格納される。
【0090】
一方また、図示はしていないが、共有メモリに格納された制御用データを、アプリケーション部100(詳しくは、アプリケーション部100の各アプリケーションソフト)が制御用演算処理に使用する場合には、アプリケーション部100と共有メモリ部210とが、次のように動作する。
【0091】
例えば、アプリケーション部100のエンジンアプリケーションソフト110が、ECTアプリケーションソフト120によって算出されたSPDデータを共有メモリから読み出す場合について説明すると、この場合、まず、エンジンアプリケーションソフト110が、共有メモリ部210に対してデータ読出要求のメッセージを出す。そして、この時、SPDデータのHandle番号(Handle1 )と、エンジンアプリケーションソフト110でのSPDデータの格納アドレス(即ち、エンジンアプリケーションソフト110が制御用の演算処理時にSPDデータの書き込み及び読み出しを行う制御用データ記憶領域のアドレス)との各情報も、共有メモリ部210へ送られる。
【0092】
すると、共有メモリ部210は、テーブル格納部500にある共有メモリテーブル(図4)を参照して、上記データ読出要求のメッセージと共に送られて来たHandle番号(Handle1 )に対応する共有メモリアドレスと共有メモリサイズとを、共有メモリ情報として取得する。そして、その取得した共有メモリ情報に基づき、SPDデータは共有メモリにて$FFFF0000 番地を先頭にした2バイト分の領域に格納されていることを認知し、共有メモリの$FFFF0000 番地から2バイト分の領域に格納されているSPDデータを、エンジンアプリケーションソフト110でのSPDデータの格納アドレスにコピーする。
【0093】
そして、このコピーの動作により、図3における共有メモリ部210の枠内から上向きに伸びた2つの矢印のうちの左側の矢印のように、共有メモリ内のSPDデータがエンジンアプリケーションソフト110へ提供されることとなる。
次に、通信相手へ送信すべき共通パケットデータを作成する処理について説明するが、共通パケットデータを作成するタイミングとしては、予め定められた所定時間間隔毎の定時送信時のタイミングと、共有メモリに格納される制御用データのうちで、イベント送信すべき制御用データが更新された時のイベント送信時のタイミングとがあり、図7は、前者のタイミングでの処理を表しており、図9は、後者のタイミングでの処理を表している。
【0094】
そこで最初に、定時送信時に共通パケットデータを作成する処理について、図7を用い説明する。
まず、他のECU4,6,8や第2マイコン62へデータを定時送信すべきタイミングになると、図7の[7]に示すように、通信制御部400が、共通パケットデータ部230に対して、図3における共通パケットデータ部230の枠内に例示したような共通パケットデータを作成させるために、送信指令としての送信要求のメッセージを出す(発行する)。
【0095】
尚、図3では、パケット番号がPN1しか示されていないが、実際には多数存在するため、通信制御部400は、今回の定時送信で送信すべき共通パケットデータのパケット番号(この例ではPN1)を、送信要求のメッセージ(送信指令)の一部として共通パケットデータ部230へ出す。具体的に説明すると、通信制御部400は、タイマ410のカウント値に基づき時間の経過を把握すると共に、図5(A)のHandle番号特定テーブルに記述されたパケット番号と送信周期とに従って、1S(秒)毎にPN1を含んだ送信要求のメッセージを出し、3S毎にPN2を含んだ送信要求のメッセージを出し、5S毎にPN3を含んだ送信要求のメッセージを出し、0.5S毎にPN4を含んだ送信要求のメッセージを出す。つまり、通信制御部400は、Handle番号特定テーブルに記述された各パケット番号を、そのパケット番号に対応して当該テーブルに記述されている送信周期毎に、送信指令として出すようになっている。また、図7における()内の記述は、通信制御部400から共通パケットデータ部230へ出されたパケット番号がPN1であった場合を示している。
【0096】
このようにして、通信制御部400がパケット番号を含んだ送信要求のメッセージを出すと、共通パケットデータ部230は、図7の[8]に示すように、テーブル格納部500内のHandle番号特定テーブル(図5(A))から、通信制御部400によって出されたパケット番号に対応して記述されている各Handle番号(つまり、通信制御部400が出したパケット番号の共通パケットデータを構成する制御用データの各Handle番号)を、送信データ情報として読み出し取得する。
【0097】
例えば、通信制御部400から共通パケットデータ部230へ出されたパケット番号がPN1であった場合には、図5(A)のHandle番号特定テーブルにおいて、PN1に対応して記述されたHandle番号は、Handle1,Handle10,Handle5,及びHandle2の4つであるため、その4つのHandle番号を、PN1の共通パケットデータを構成する制御用データの各Handle番号として取得することとなる。
【0098】
そして次に、共通パケットデータ部230は、図7の[9]に示すように、まず、上記取得したHandle番号のうちの最初のHandle番号(この例ではHandle1 )を、物理値変換要求のメッセージと共に物理値変換部220へ出す。
すると、物理値変換部220は、図7の[10]に示すように、共通パケットデータ部230からのHandle番号を、データ取得要求のメッセージと共に共有メモリ部210へ出す。
【0099】
このデータ取得要求のメッセージにより共有メモリ部210は、図6の[2]と同様に、テーブル格納部500内の共有メモリテーブル(図4)から、物理値変換部220によって上記データ取得要求のメッセージと共に出されたHandle番号(ここではHandle1 )に対応する共有メモリアドレス($FFFF0000 )と共有メモリサイズ(2byte)とを、共有メモリ情報として取得し、更に、その取得した共有メモリ情報に基づき、共有メモリの$FFFF0000 番地から2バイト分のデータ(この例ではSPDデータ)を読み出して、その読み出したデータを、図7の[11]に示すように、物理値変換部220へ戻り値として返す。
【0100】
すると更に、物理値変換部220は、図7の[12]に示すように、テーブル格納部500内のパケット番号特定テーブル(図5(B))から、上記[10]で自分が共有メモリ部210へ出したHandle番号(Handle1 )に対応して記述されているLSB変換コールアドレス($00001000 )を読み出して取得する。そして、物理値変換部220は、図7の[13]にて、上記[10]及び[11]の動作で共有メモリから読み出したHandle1 の制御用データ(即ち、共有メモリ部210から戻り値として返された制御用データであって、この例では2バイトのSPDデータ)を処理対象として、上記取得したLSB変換コールアドレスに格納されているLSB変換プログラムを起動することにより、その制御用データ(SPDデータ)に対してLSB変換処理を行う。
【0101】
これにより、図3における物理値変換部220の枠内に例示しているように、Handle1 のSPDデータがLSB変換され、そのLSB変換後のデータ(以下、SPD’データと記す)が、物理値変換部220の作業領域として割り当てられたRAMの所定領域に、対応するHandle番号(Handle1 )と共に格納される。
【0102】
尚、このように送信対象の制御用データをLSB変換するのは、前述したように、データを算出して送信する側のマイコンと、そのデータを受信する側のマイコンとで、そのデータを扱う上での分解能が異なる場合があるためであり、このような場合でも、受信する側のマイコンが、受信したデータをそのまま処理に用いることができるようにするためである。
【0103】
その後、共通パケットデータ部230は、図7の[14]に示すように、テーブル格納部500内のパケット番号特定テーブル(図5(B))から、上記[9]で自分が物理値変換部220へ出したHandle番号(Handle1 )に対応して記述されている共通パケットデータサイズと共通パケットデータ位置とを、共通パケットデータ情報として取得する。
【0104】
そして、共通パケットデータ部230は、図7の[15]にて、通信制御部400から出されたパケット番号(ここではPN1)の共通パケットデータを作成するための共通パケットデータ生成処理を行う。
ここで、この共通パケットデータ生成処理は、作成対象の共通パケットデータにおけるデータ領域のうち、上記[14]の動作でパケット番号特定テーブルから今回取得した共通パケットデータ位置及び共通パケットデータサイズにより指定される領域に、物理値変換部220によって今回LSB変換された制御用データを配置する、といった手順で行われる。よって、例えば、図5(B)の最上段に示すように、Handle1 に対応して記述されている共通パケットデータ位置と共通パケットデータサイズは、夫々、“0”と“2バイト”であるため、図10(A)に示すように、Handle1 のLSB変換後のデータ(SPD’データ)H1は、PN1の共通パケットデータにおける0バイト目の位置から2バイト分の領域に配置されることとなる。
【0105】
このようにして、Handle1 の制御用データについてのLSB変換処理及び共通パケットデータ生成処理が終わると、図7の[16]に示すように、共通パケットデータ部230が上記[8]の動作で取得した各Handle番号のうちの次のHandle番号(Handle10)について、上記[9]〜[14]と同じ要領でLSB変換のための動作が行われ、次いで図7の[17]に示すように、上記[15]と同じ要領で共通パケットデータ生成処理が行われる。そして更に、共通パケットデータ部230が上記[8]の動作で取得した各Handle番号のうちの他のHandle番号(Handle5 ,Handle2 )についても、図7の[18]〜[21]に示すように、上記[9]〜[14]及び[15]と同じ要領で、LSB変換動作と共通パケットデータ生成処理とが順次行われる。
【0106】
そして、通信制御部400から共通パケットデータ部230へ出されたパケット番号PNに対応する全てのHandle番号の制御用データについて、LSB変換と共通パケットデータ生成処理とが終了すると、送信すべき共通パケットデータの作成が完了する。
【0107】
例えば、通信制御部400が共通パケットデータ部230へPN1を出した場合、図5の両テーブルに従い作成されるPN1の共通パケットデータとしては、図10(A)に示すように、Handle1 のLSB変換後のデータH1が0バイト目の位置から2バイト分の領域に配置され、Handle10のLSB変換後のデータH10が2バイト目の位置から1バイト分の領域に配置され、Handle5 のLSB変換後のデータH5が3バイト目の位置から3バイト分の領域に配置され、Handle2 のLSB変換後のデータH2が6バイト目の位置から2バイト分の領域に配置されたデータ列となる。
【0108】
また例えば、通信制御部400が共通パケットデータ部230へPN2を出した場合、図5の両テーブルに従い作成されるPN2の共通パケットデータとしては、図10(B)に示すように、Handle3 のLSB変換後のデータH3が0バイト目の位置から2バイト分の領域に配置され、Handle6 のLSB変換後のデータH6が2バイト目の位置から4バイト分の領域に配置され、Handle2 のLSB変換後のデータH2が6バイト目の位置から2バイト分の領域に配置されたデータ列となる。
【0109】
次に、このようにして今回送信すべき共通パケットデータの作成が完了すると、共通パケットデータ部230は、図7の[22]及び図8の[22]に示すように、通信データ変換部240に対して、今回作成した共通パケットデータを通信相手との通信プロトコルに対応する通信データ列(即ち、実際に送信されるパケットデータ)に変換させるために、送信要求のメッセージを出す。そして、この時、今回作成した共通パケットデータのパケット番号(この例ではPN1)も、送信要求のメッセージの一部として通信データ変換部240へ出される。
【0110】
すると、通信データ変換部240は、図8の[23]の処理にて、共通パケットデータ部230によって作成された共通パケットデータを、図5(A)のHandle番号特定テーブルに基づき、通信相手との通信プロトコルに対応した通信データ列に変換する。
【0111】
具体的に説明すると、例えば、共通パケットデータ部230から通信データ変換部240へ出されたパケット番号がPN1であった場合、通信データ変換部240は、まず、図5(A)のHandle番号特定テーブルから、PN1に対応して記述されている通信方式とヘッダ情報とを読み出して取得する。そして、この場合、通信方式は多重通信を示す“CAN”であり、ヘッダ情報は“Arbitration=0x123 ”と“ML=08 ”であるため、通信データ変換部240は、図3における通信データ変換部240の枠内に例示しているように、共通パケットデータ部230によって作成された共通パケットデータの先頭に、Handle番号特定テーブルから取得した上記内容のArbitration とMLとを付加することにより、CANに対応した通信データ列を作成する。尚、Arbitration は、データの優先順位を示し、データが衝突した場合の調停用データである。そして、“Arbitration=0x123 ”とは、Arbitration が16進数表示で123であることを示している。また、MLは、通信データ列におけるデータフレーム部分のデータ長を示すデータであり、“ML=08 ”とは、そのデータ長が8バイトであることを示している。
【0112】
そして、通信データ変換部240は、通信データ列の作成を終了すると、図8の[24]に示すように、通信ドライバ部300にあるDMA通信部310,シリアル通信部320,及び多重通信部330のうち、上記[23]の処理でHandle番号特定テーブルから取得した通信方式(即ち、作成した通信データ列の通信プロトコル)に対応するオブジェクトに対して、送信要求のメッセージを出す。
【0113】
すると、この通信データ変換部240からのメッセージの出力先である通信ドライバ部300内のオブジェクト(DMA通信部310,シリアル通信部320,及び多重通信部330の何れか)は、通信データ変換部240によって作成された通信データ列を、自己の通信プロトコルに応じたボーレートや転送タイミングで、実際の通信データとして外部へ出力する。
【0114】
例えば、通信データ変換部240は、上記[23]の処理でHandle番号特定テーブルから取得した通信方式がCANであった場合、通信ドライバ部300の多重通信部330に対して、送信要求のメッセージを発行する。
すると、多重通信部330は、図8の[25]の送信処理にて、通信データ変換部240により作成された通信データ列を、通信IC70に出力すると共に、その通信IC70を制御して、上記作成された通信データ列を、通信相手との通信プロトコルに応じたボーレートや転送タイミングで多重通信線10へ送出させる。そして、こうした一連の処理により、第1マイコン60内のアプリケーション部100で算出された制御用データが、多重通信線10に対応した通信プロトコルのパケットデータに変換されて、エアコンECU4及びメータECU6に送信される。
【0115】
尚、上記説明では、主に、PN1のパケットデータを作成して送信する場合について述べたが、PN1以外の他のパケットデータについても、PN1のパケットデータと同じ要領で作成されて送信される。
但し、例えば、PN2のパケットデータについては、図7及び図8に示した処理動作が3S毎に行われて、その作成及び送信が行われ、また、PN3のパケットデータについては、図7及び図8に示した処理動作が5S毎に行われて、その作成及び送信が行われる。そして、こうした各パケットデータの作成及び送信の周期は、図5(A)のHandle番号特定テーブルに記述されたパケット番号と送信周期とによって決まる。
【0116】
また例えば、PN2の共通パケットデータについては、図5(A)から分かるように、通信方式がシリアル通信を示す“SCI”であり、ヘッダ情報が“ID=1”と“ML=16 ”であるため、そのヘッダ情報としてのIDとMLが先頭に付加されて、実際に送信されるパケットデータに変換される。そして、PN2のパケットデータを作成して送信する場合、通信データ変換部240は、上記[24]にて、通信ドライバ部300のシリアル通信部320に対して、送信要求のメッセージを出すこととなるため、作成されたPN2のパケットデータは、通信ドライバ部300内のシリアル通信部320によってシリアル通信線11へ送出されることとなる。
【0117】
次に、イベント送信時に共通パケットデータを作成する処理について、図9を用い説明する。
まず、共有メモリ部210は、共有メモリ内のデータのうちで、外部へイベント送信すべきイベント送信対象のデータ(例えば、前述したフェイルセーフ用データやN回噴射毎の噴射量データ)が更新されたことを検出すると、図9の[26]に示すように、通信制御部400に対して、その更新されたデータのHandle番号を含んだ送信要求のメッセージを出す。
【0118】
尚、共有メモリ部210は、アプリケーション部100からのデータ書込要求に応じて図6に示した手順により、イベント送信対象のデータを共有メモリに書き込んだ場合、或いは、イベント送信対象のデータを共有メモリに書き込んだ際にそのデータ値が以前の値から変わった場合に、データが更新されたと判断する。また、図9における()内の記述は、共有メモリ部210から通信制御部400へ出されたHandle番号が、Handle5 であった場合を例示している。
【0119】
すると、通信制御部400は、図9の[27]に示すように、共通パケットデータ部230に対して、共有メモリ部210から出されたHandle番号のデータ(即ち、更新されたイベント送信対象のデータ)を含む共通パケットデータを作成させるために、共有メモリ部210から出されたHandle番号を含んだ送信要求のメッセージを、送信指令として出す。つまり、イベント送信時には、通信制御部400から共通パケットデータ部230へ、パケット番号ではなく、更新されたイベント送信対象のデータを示すHandle番号が送信指令として出される。
【0120】
このようにして、通信制御部400がHandle番号を含んだ送信要求のメッセージを出すと、共通パケットデータ部230は、図9の[28]に示すように、テーブル格納部500内のパケット番号特定テーブル(図5(B))から、通信制御部400によって出されたHandle番号に対応して記述されているイベント送信パケット番号(つまり、通信制御部400が出したHandle番号のデータが構成要素となり且つイベント送信される共有パケットデータのパケット番号)を、今回イベント送信すべき共通パケットデータのパケット番号として読み出し取得する。
【0121】
例えば、通信制御部400から共通パケットデータ部230へ出されたHandle番号がHandle5 であった場合には、図5(B)のパケット番号特定テーブルにおいて、Handle5 に対応して記述されているパケット番号は、PN1であるため、そのPN1を、今回イベント送信すべき共通パケットデータのパケット番号として取得することとなる。
【0122】
そして、共通パケットデータ部230は、図9の[29]にて、前述した図7の[8]と同様に、テーブル格納部500内のHandle番号特定テーブル(図5(A))から、上記[28]の動作で取得したパケット番号に対応して記述されている各Handle番号(つまり、今回イベント送信すべき共通パケットデータを構成するデータの各Handle番号)を、読み出して取得する。例えば、上記[28]の動作で取得したパケット番号がPN1であった場合には、図5(A)のHandle番号特定テーブルにおいて、PN1に対応して記述されたHandle1,Handle10,Handle5,及びHandle2を、今回イベント送信すべきPN1の共通パケットデータを構成するデータの各Handle番号として取得することとなる。
【0123】
その後、共通パケットデータ部230は、物理値変換部220及び共有メモリ部210と連携して、図9の[9]〜[21]に示すように、定時送信時における図7の[9]〜[21]と全く同じ手順で共通パケットデータを作成する。
つまり、上記[29]の動作で取得した各Handle番号のデータを共有メモリから読み出すと共に、その読み出したデータの各々について、図5(B)のパケット番号特定データテーブルに基づき、該当するLSB変換プログラムを起動することによりLSB変換処理を行う。そして、そのLSB変換後の各データを、図5(B)のパケット番号特定データテーブルに記述されている共通パケットデータ位置及び共通パケットデータサイズに基づいて並べることにより、上記[28]の動作で取得したパケット番号の共通パケットデータであって、更新されたイベント送信対象のデータが含まれる共通パケットデータを作成する。
【0124】
そして、共通パケットデータ部230は、共通パケットデータの作成を完了すると、図9の[22]にて、図7の[22]と全く同様に、今回作成した共通パケットデータのパケット番号を含んだ送信要求のメッセージを、通信データ変換部240へ出す。
すると、共通パケットデータ部230によって作成された共通パケットデータは、通信データ変換部240及び通信ドライバ部300により、前述の図8に示した手順で、通信相手との通信プロトコルに対応する通信データ列(実際に送信されるパケットデータ)に変換されて、その通信相手へと送信されることとなる。
【0125】
ところで、図5(B)のパケット番号特定テーブルにおいて、例えば、Handle1 に対しては、イベント送信パケット番号として、PN1とPN4との2つのパケット番号が記述されているため、図9の[26]にて、共有メモリ部210がHandle1 を含んだ送信要求のメッセージを出した場合(つまり、Handle1 のデータをイベント送信する場合)には、PN1とPN4との各々について、図9の[29],[9]〜[22]及び図8の処理動作が行われ、そのPN1とPN4との2種類のパケットデータが作成及び送信されることとなる。
【0126】
また、図5(B)のパケット番号特定テーブルにおいて、イベント送信を行う必要が無いデータ(図5(B)においては、Handle3 とHandle6 の各データ)に対しては、イベント送信パケット番号が記述されていない。よって、仮に、共有メモリ部210が、図9の[26]にて、イベント送信対象ではないデータのHandle番号(Handle3 ,Handle6 )を含んだ送信要求のメッセージを出したとしても、共通パケットデータの作成及びイベント送信は行われない。
【0127】
一方、図5(A)に示すように、Handle5 のデータは、PN1とPN3との2つの各パケットデータに含まれるが、本実施形態において、PN3のパケットデータは姿勢制御ECU8に対してシリアル通信されるパケットデータであり、姿勢制御ECU8へはイベント送信する必要が無いため(姿勢制御ECU8の仕様上から、イベント送信は不要であるため)、図5(B)のパケット番号特定テーブルでは、Handle5 に対応するイベント送信パケット番号として、PN1のみ記述されており、PN3は記述されていない。
【0128】
尚、本実施形態では、第1マイコン60のRAM内に設定された共有メモリが、記憶部に相当している。
そして、通信制御部400のうちで、図7の[7]に示した処理動作(即ち、Handle番号特定テーブルに記述された各パケット番号を、そのパケット番号に対応して当該テーブルに記述されている送信周期毎に、送信指令として出す処理動作)を行う部分が、定時送信動作起動手段に相当し、共通パケットデータ部230,物理値変換部220,及び共有メモリ部210のうちで、図7の[8]〜[22]に示した処理動作を行う部分が、定時送信用パケットデータ作成手段に相当している。
【0129】
また、共有メモリ部210及び通信制御部400のうちで、図9の[26],[27]に示した処理動作(即ち、共有メモリ内の特定のデータが更新されたことを検出すると、そのデータのHandle番号を、送信指令として出す処理動作)を行う部分が、イベント送信動作起動手段に相当し、共通パケットデータ部230,物理値変換部220,及び共有メモリ部210のうちで、図9の[28],[29],[9]〜[22]に示した処理動作を行う部分が、イベント送信用パケットデータ作成手段に相当している。
【0130】
そして、通信データ変換部240と通信ドライバ部300が、送信手段に相当し、また、第1マイコン60のROMにおける記憶領域のうちで、物理値変換部220により起動される複数種類のLSB変換プログラムを格納した所定領域が、変換プログラム格納手段に相当している。
【0131】
以上詳述したように本実施形態のエンジンECU2に設けられた第1マイコン60において、定時送信時には、まず、通信制御部400により、今回送信すべきパケットデータのパケット番号が特定される。すると、Handle番号特定テーブルから、そのパケット番号のパケットデータを構成する各データのHandle番号を取得して、その各Handle番号のデータを共有メモリから読み出すこととなるが、このとき、Handle番号特定テーブルには、パケット番号毎に、そのパケット番号のパケットデータを構成する各データのHandle番号が記述されているため、時間のかかる検索処理を行うことなく、今回送信すべきパケットデータを構成する各データのHandle番号を即座に取得することができる。
【0132】
そして更に、第1マイコン60では、パケット番号特定テーブルから、上記取得した各Handle番号に夫々対応する共通パケットデータ位置,共通パケットデータサイズ,及びLSB変換コールアドレスといった各データに固有の情報を取得し、その取得した各情報に基づき、共有メモリから読み出した各データをLSB変換して配列させることにより、今回送信すべきパケットデータを作成するが、このとき、パケット番号特定データテーブルには、各データのHandle番号毎に、そのデータに固有の情報(共通パケットデータ位置及び共通パケットデータサイズとLSB変換コールアドレス)が記述されているため、時間のかかる検索処理を行うことなく、定時送信用のパケットデータを迅速に作成することができる。
【0133】
一方、第1マイコン60において、イベント送信時には、まず、共有メモリ部210により、今回イベント送信すべきデータのHandle番号が特定される。すると、パケット番号特定テーブルから、そのHandle番号が含まれるパケットデータのパケット番号を取得することとなるが、このとき、パケット番号特定テーブルには、各データのHandle番号毎に、そのデータが構成要素となるパケットデータのパケット番号が記述されているため、時間のかかる検索処理を行うことなく、今回イベント送信すべきデータを含むパケットデータのパケット番号を即座に取得することができる。
【0134】
そして、第1マイコン60では、パケット番号特定テーブルから取得したパケット番号を元に、定時送信時と全く同じ手順で、今回イベント送信すべきパケットデータを作成することとなり、その作成時においても、時間のかかる検索処理を行うことなく、Handle番号特定テーブルから、今回イベント送信すべきパケットデータを構成する各データのHandle番号を即座に取得することができると共に、パケット番号特定テーブルから、各データに固有の情報を即座に取得して、イベント送信用のパケットデータを迅速に作成することができる。
【0135】
このように本実施形態のエンジンECU2に設けられた第1マイコン60では、パケットデータを作成するための情報を定義するデータマップを、Handle番号特定テーブルとパケット番号特定テーブルとに分け、Handle番号特定テーブルには、パケット番号毎に、そのパケット番号のパケットデータを構成する各データのHandle番号を記述し、パケット番号特定テーブルには、データのHandle番号毎に、そのHandle番号のデータがパケットデータ内においてどの位置に配置されるかを示す共通パケットデータ位置及び共通パケットデータサイズと、そのHandle番号のデータをLSB変換するためのLSB変換コールアドレスと、そのHandle番号のデータが構成要素となるパケットデータのパケット番号とを記述するようにしているため、定時送信とイベント送信との何れの送信時においても、その時に送信すべきパケットデータを迅速に作成することができる。
【0136】
そして、本実施形態の第1マイコン60によれば、実際に送信するパケットデータを、その都度、迅速に作成することができるため、従来装置のように、送信予定のパケットデータを定期的に予め作成しておく必要がなく、処理上及びメモリ領域の面で無駄が無い。つまり、定時送信とイベント送信との両方について、データ送信を行うべき時に、送信対象のパケットデータを迅速に且つ効率的に作成することができるのである。
【0137】
しかも、パケットデータを構成するデータの種別や並びを変更する場合に、プログラム制御文自体を修正する必要が無い。つまり、種別の変更に対しては、Handle番号特定テーブルにてパケット番号毎に記述するHandle番号を書き換えるだけで対応することができ、並びの変更に対しては、パケット番号特定テーブルにてHandle番号毎に記述する共通パケットデータ位置及び共通パケットデータサイズを書き換えるだけで対応することができる。
【0138】
また、同じHandle番号のデータを含むパケットデータであっても、イベント送信を必要としないパケットデータについては、パケット番号特定テーブルにパケット番号を記述しなければ良い。具体的には、前述したように、Handle5 のデータは、図5(A)に示す如く、PN1とPN3との2つの各パケットデータに含まれて送信されるが、パケット番号特定テーブルにおいて、Handle5 に対応して記述されているパケット番号はPN1のみであるため、Handle5 のデータが更新されてイベント送信される時に、PN3のパケットデータが作成されることはない。つまり、本実施形態の第1マイコン60によれば、パケット番号特定テーブルにてHandle番号毎に記述するパケット番号を変えるだけで、イベント送信するパケットデータを変更することができる。
【0139】
そして更に、本実施形態の第1マイコン60によれば、何れかのパケットデータの定時送信間隔(送信周期)を変更する場合、Handle番号特定テーブルにて、そのパケットデータのパケット番号に対応して記述する送信周期を書き換えるだけで良く、定時送信間隔の変更に対しても、非常に容易に対応することができる。
【0140】
また、本実施形態の第1マイコン60では、送信する各データに対するLSB変換処理を、アプリケーション部100とは別に設けた物理値変換部220で行うようにしているため、アプリケーション部100の各アプリケーションソフト110〜130は、通信相手側で採用されているデータ精度を全く意識する必要が無く、各アプリケーションソフト110〜130と通信相手との独立性を確保することができる。このため、アプリケーションソフトの入れ替えや、他のシステム構成への転用が非常に容易となる。
【0141】
そして更に、本実施形態の第1マイコン60によれば、何れかのデータに対するLSB変換の内容を変更する場合にも、プログラム制御文自体を修正する必要がなく、パケット番号特定テーブルにて、そのデータのHandle番号に対応して記述するLSB変換コールアドレスを書き換えるだけで対応することができる。尚、新たな内容のLSB変換が必要な場合には、その変換を行うためのLSB変換プログラムをROMに追加した上で、パケット番号特定テーブル内のLSB変換コールアドレスを変更すれば良い。
【0142】
また、本実施形態の第1マイコン60では、LSB変換すべきデータを処理対象として、パケット番号特定テーブルに基づき特定されるLSB変換プログラムを起動することにより、そのデータに対してLSB精度処理を行うようにしているため、同じ内容のLSB変換を行うデータが複数種類ある場合には、例えば図5(B)における1段目のHandle1 と2段目のHandle2 のように、パケット番号特定テーブル内のLSB変換コールアドレスを同じ値($00001000 )にしておくことで、その複数のデータに対して同じLSB変換プログラムを使用することができる。よって、プログラムの全容量(延いては、ROMの必要容量)を削減することができる。
【0143】
以上、本発明の一実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、種々の形態を採り得ることは言うまでもない。
例えば、上記実施形態では、通信データ変換部240が参照するパケット番号毎の通信方式とヘッダ情報も、Handle番号特定テーブルに記述するようにしたが、パケット番号毎の通信方式とヘッダ情報は、別のデータマップで定義するようにしても良い。但し、上記実施形態のように、Handle番号特定テーブルで一括して定義した方が効率的である。
【0144】
また、上記実施形態の車両制御システム1では、エンジンECU2の第1マイコン60が、3種類の通信プロトコルで外部と通信したが、例えば、多重通信線10を介した通信だけを行うのであれば、通信ドライバ部300のDMA通信部310とシリアル通信部320は削除することができる。
【図面の簡単な説明】
【図1】 実施形態の車両制御システムの構成を表す構成図である。
【図2】 図1の車両制御システムを構成するエンジンECUの内部構成を表すブロック図である。
【図3】 エンジンECUに設けられたマイコン内の通信モデルを仮想的に示した概念図である。
【図4】 テーブル格納部に格納された共有メモリテーブルを説明する説明図である。
【図5】 テーブル格納部に格納されたHandle番号特定テーブルとパケット番号特定テーブルを説明する説明図である。
【図6】 アプリケーション部によって求められた制御用データを共有メモリに格納する処理動作を示すメッセージシーケンスチャートである。
【図7】 定時送信時に、共有メモリに格納されている制御用データから共通パケットデータを作成する処理動作を示すメッセージシーケンスチャートである。
【図8】 作成された共通パケットデータを、通信データ列に変換して送信する処理動作を示すメッセージシーケンスチャートである。
【図9】 イベント送信時に、共有メモリに格納されている制御用データから共通パケットデータを作成する処理動作を示すメッセージシーケンスチャートである。
【図10】 図7或いは図9の処理動作によって作成される共通パケットデータを表す模式図である。
【図11】 一般的な車両制御システムの構成を表す構成図である。
【図12】 パケットデータの構成例を説明する説明図である。
【符号の説明】
1…車両制御システム 2…エンジンECU 4…エアコンECU
6…メータECU 8…姿勢制御ECU 10…多重通信線
11…シリアル通信線 60…第1マイコン 62…第2マイコン
64…入力回路 66…出力回路 68…通信線 70…通信IC
100…アプリケーション部 110…エンジンアプリケーションソフト
120…ECTアプリケーションソフト
130…クルーズアプリケーションソフト 200…通信変換部
210…共有メモリ部 220…物理値変換部
230…共通パケットデータ部 240…通信データ変換部
300…通信ドライバ部 310…DMA通信部
320…シリアル通信部 330…多重通信部 400…通信制御部
410…タイマ 500…テーブル格納部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an automotive control device provided with an information processing device composed of a microcomputer for controlling a controlled object. In particular, the information processing device is provided in the automotive control device or in another automotive control device. The present invention relates to a vehicle control apparatus that performs data communication with another information processing apparatus, and shares control data with the information processing apparatus of the communication partner.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, an automobile control device that controls a control target such as an engine or transmission mounted on a car includes a microcomputer (hereinafter referred to as a microcomputer) as an information processing device that performs arithmetic processing for controlling the control target. ing.
[0003]
As the control contents have become more complex in recent years, in this type of vehicle control device, the microcomputer installed in the same control data for other microcomputers installed in the same vehicle control device or other vehicle control devices Controllability is improved by performing communication and sharing data (control data) used for control of the controlled object with the communication partner microcomputer.
[0004]
For example, as a system configuration on the communication form of such an automobile control device (hereinafter also referred to as an ECU), there is a system configuration of communication within the ECU in which two microcomputers mounted on one ECU perform data communication. Further, there is a system configuration of serial communication between ECUs in which each microcomputer mounted in two ECUs performs data communication on a one-to-one basis via a serial communication line provided in an automobile. Furthermore, there is a system configuration of inter-ECU multiplex communication in which each microcomputer mounted in three or more ECUs performs data communication in a one-to-many or many-to-one manner through a multiplex communication line provided in an automobile. is there. In addition, there is a system configuration having both of the above system configurations. In other words, a microcomputer mounted on one ECU performs data communication with another microcomputer mounted on the same ECU, and also performs data communication with a microcomputer mounted on another ECU via a serial communication line or a multiple communication line. It is a system configuration such as performing.
[0005]
Next, regarding the internal configuration of such an ECU and the contents of processing performed by a microcomputer mounted thereon, an engine control ECU (engine ECU) that performs data communication with another ECU via a communication line is taken as an example. This will be described with reference to FIG. FIG. 11 is a configuration diagram showing a configuration of a general vehicle control system including a plurality of ECUs including an engine ECU.
[0006]
As shown in FIG. 11, in the engine ECU, a microcomputer 600 mounted on the engine ECU takes in various signals such as an engine rotation pulse, a vehicle speed pulse, and a shift lever position signal via an input / output circuit 602 and controls the engine. For this purpose.
[0007]
Here, some of the input signals taken into the microcomputer 600 of the engine ECU and the calculation results calculated by the microcomputer 600 based on the input signals are also required by other ECUs. For example, the microcomputer 600 of the engine ECU measures the engine rotation speed by measuring the pulse interval of the engine rotation pulse. The engine rotation speed is not only used for engine control but also in a meter panel in the vehicle interior. Since it is displayed on the engine speed display section (tachometer), it is also required in the ECU (meter ECU) that controls the instruments in the meter panel.
[0008]
For this reason, in the engine ECU, various data representing physical values such as the engine speed and the vehicle speed calculated by the microcomputer 600 are sent from the microcomputer 600 to the communication IC 604 at a predetermined transmission timing, and further, a driver circuit. It is sent to the communication line via 606. Then, another ECU such as a meter ECU connected to the communication line (specifically, a microcomputer mounted on the ECU) receives the data sent via the communication line, and controls itself. It will be used for arithmetic processing for controlling.
[0009]
By the way, in the ECU constituting the vehicle control system as described above, the microcomputer does not transmit various data individually, but as shown in FIG. 12, the engine speed data, the vehicle speed data, and further in the meter panel Packet data is created by arranging a plurality of types of data such as fail-safe data for turning on a warning lamp (warning lamp) in a predetermined order, and the packet data is transmitted to a communication partner. In general, header information corresponding to a communication protocol is added to the head of the packet data.
[0010]
In general, such packet data is created not only by one type, but also by a plurality of types according to the combination and arrangement order of various data constituting the packet data. It is sent to the ECU and other microcomputers. Further, which type of data is included in which packet data is appropriately determined depending on the configuration of the vehicle control system (particularly, the role sharing of each microcomputer).
[0011]
In general, in this type of vehicle control system, there are data that needs to be transmitted periodically at predetermined time intervals and data that must be transmitted immediately when the contents are updated. It depends on the function of the communication partner that receives the data.
[0012]
Specifically, the relationship between the engine ECU and the meter ECU will be described as an example. The engine speed data displayed on the tachometer is the former, and the fail-safe data is the latter. In other words, if an abnormality occurs in the data for fail-safe, it is necessary to notify the driver immediately, so that it is immediately possible at the time of abnormality detection without waiting for the transmission timing that arrives at every predetermined time interval. It is set to transmit to.
[0013]
In addition to the fail-safe data as described above, for example, the microcomputer of the engine ECU transmits injection amount data representing the cumulative fuel injection amount for 20 fuel injections to the meter ECU. In the case of a system in which the microcomputer calculates the total fuel consumption based on the injection amount data and displays it on the display, the time interval at which the fuel injection is performed 20 times is not constant and changes according to the engine speed. Therefore, the microcomputer of the engine ECU transmits the latest injection amount data to the meter ECU when an event occurs in which fuel injection is completed 20 times and the value of the injection amount data is updated. In this way, when specific data is updated, the immediate transmission of the data is generally called “event transmission” in distinction from “regular transmission” which means periodic transmission. .
[0014]
Therefore, conventionally, the ECU microcomputer that constitutes this type of vehicle control system always creates all the packet data scheduled to be transmitted by a packet data creation program that is executed at predetermined time intervals. According to the program, scheduled transmission and event transmission are performed in the following procedures (1) and (2). The execution cycle of the packet data creation program is naturally set shorter than the transmission cycle of packet data created by the program.
[0015]
(1) For scheduled transmission, when the transmission timing arrives at predetermined time intervals, the packet data to be transmitted this time is selected from the packet data created by the packet data creation program, and the packet The data was sent to the communication partner.
[0016]
(2) For event transmission, among the packet data created by the packet data creation program, packet data including data to be transmitted should be transmitted, and the event included in the packet data should be transmitted. Whether or not the content of the data has changed is periodically monitored, and when the change is detected, the packet data is immediately transmitted to the communication partner.
[0017]
[Problems to be solved by the invention]
However, the conventional ECU has the following problems.
(1): All packet data scheduled to be transmitted is created at regular intervals, so that different packet data (packet data composed of different types of data) is transmitted at each transmission timing. However, all packet data must always be updated and stored sequentially, and a large memory area is required. Further, since packet data that is not transmitted at the next transmission timing is also created, there is a lot of processing waste.
[0018]
(2): When trying to change the type of data constituting each packet data and the arrangement position of the data in the packet data, the packet data creation program must be corrected in detail, which is very troublesome. It takes.
(3): When changing the transmission cycle of any packet data to be shorter, the packet data must be modified to be created by a program with an execution interval shorter than the changed transmission cycle, The only way to determine how to modify a program is to understand the entire program.
[0019]
As described above, the conventional ECU is wasteful in terms of processing and memory area, and cannot easily cope with various changes. Ideally, for both scheduled transmission and event transmission, when data transmission is to be performed, packet data to be transmitted is quickly and efficiently created. Further, as described in (2) and (3) above Although it is only necessary to be able to easily cope with various changes, the conventional technology cannot obtain such an ideal device.
[0020]
Therefore, the present invention can quickly and efficiently create packet data to be transmitted when data transmission is to be performed for both scheduled transmission and event transmission, and the types of data constituting the packet data. It is another object of the present invention to provide an automotive control device that can very easily cope with changes in the regular transmission interval of packet data.
[0021]
[Means for solving the problems and effects of the invention]
In order to achieve the above object, the automobile control device according to the present invention described in claim 1 includes an information processing device, and the information processing device is for controlling a control object mounted on the vehicle. In addition to performing arithmetic processing, control data calculated by the arithmetic processing is stored in a predetermined storage unit. Further, the information processing apparatus includes the data stored in the storage unit. Mounted in the car A plurality of types of transmission target data to be transmitted to the communication partner are arranged in a predetermined order to create packet data, and the created packet data is transmitted to the communication partner.
[0022]
In particular, in the automotive control device of the present invention, the information processing device includes a table storage unit that stores a first data table and a second data table, and the first data table includes: For each packet number that is an identification number of packet data, the type number of each transmission target data constituting the packet data of that packet number is described. In addition, for each type number of transmission target data, the second data table includes a packet number of packet data in which the transmission target data of that type number is a constituent element, and transmission target data of that type number in the packet data. In FIG. 4, arrangement position information indicating where the element is arranged is described.
[0023]
In this information processing apparatus, the scheduled transmission operation activation means issues a packet number of the packet data to be transmitted this time to the communication partner as a transmission command every predetermined transmission cycle, and is transmitted by the scheduled transmission operation activation means. When a packet number as a command is issued, the scheduled transmission packet data creation means, from the first data table, type of each transmission target data described corresponding to the packet number issued as the transmission command Acquire a number, read out the transmission target data of the various different numbers from the storage unit, and acquire arrangement position information described corresponding to the acquired various different numbers from the second data table And arranging the transmission target data read from the storage unit on the basis of the acquired arrangement position information. To create a packet data of the issued packet number as.
[0024]
Further, in this information processing apparatus, when the event transmission operation activation unit detects that specific data of the transmission target data in the storage unit has been updated, it issues a type number of the specific data as a transmission command, When a type number as a transmission command is issued by the event transmission operation starting unit, event transmission packet data creation unit is described in correspondence with the type number as the transmission command from the second data table. The packet number is acquired, and then the type number of each transmission target data described corresponding to the acquired packet number is acquired from the first data table, and the transmission target data of the various different numbers is obtained. In addition to reading from the storage unit, the second data table is described corresponding to each of the acquired various numbers. Obtaining location information and arranging each transmission target data read from the storage unit based on the obtained location information, thereby creating packet data including data of the type number issued as the transmission command To do.
[0025]
When the packet data is created by either the scheduled transmission packet data creation means or the event transmission packet data creation means, the transmission means transmits the created packet data to the communication partner.
In such a vehicle control apparatus of the present invention, when performing a scheduled transmission for each predetermined transmission cycle, first, a packet number of packet data to be transmitted this time is issued as a transmission command by the scheduled transmission operation starting means. .
[0026]
Then, the scheduled transmission packet data creation means, from the first data table, the type number of each transmission target data constituting the packet data of the packet number issued as the transmission command (that is, packet data to be transmitted this time). , And the transmission target data of the various numbers are read from the storage unit. At this time, for each packet number, the transmission data constituting the packet data of the packet number is stored in the first data table. Since the type number of the target data is described, the periodic transmission packet data creation means does not perform a time-consuming search process, and the various numbers described in correspondence with the packet number issued as the transmission command. By simply reading the, it is possible to immediately obtain the type number of each data constituting the packet data to be transmitted this time.
[0027]
Further, the scheduled transmission packet data creation means, from the second data table, the arrangement position information described corresponding to each of the acquired various numbers (that is, each of the packet data to be transmitted this time) Packet data to be transmitted this time by arranging the transmission target data read from the storage unit based on the acquired arrangement position information. In particular, in the second data table, the arrangement position information of the transmission target data is described for each type number of the transmission target data. The arrangement position information described corresponding to the type number acquired from the first data table without performing time-consuming search processing. The only reading, position can be known in the packet data of the transmission target data read out from the storage unit, it is possible to quickly create a packet data for scheduled transmission.
[0028]
On the other hand, in the vehicle control device of the present invention, when the specific data to be transmitted is updated among the transmission target data in the storage unit, and packet data including the updated data is transmitted (event transmission), First, the event transmission operation starting means outputs the type number of data (updated data) to be transmitted this time as a transmission command.
[0029]
Then, the event transmission packet data creation means creates a packet number described in correspondence with the type number issued as the transmission command from the second data table (that is, the current data having the updated data as a component). In particular, in the second data table, for each type number of the transmission target data, the packet of the packet data whose transmission target data is a constituent element is acquired in the second data table. Since the number is described, the event transmission packet data creating means simply reads the packet number described corresponding to the type number issued as the transmission command without performing time-consuming search processing, The packet number of the packet data to be transmitted this time can be acquired immediately.
[0030]
After that, the event transmission packet data creation means creates packet data to be transmitted this time in the same procedure as the scheduled transmission packet data creation means based on the packet number acquired from the second data table. . Even at the time of creation, the event transmission packet data creation means immediately determines the type number of each data constituting the packet data to be transmitted this time from the first data table without performing time-consuming search processing. In addition, it is possible to immediately acquire the arrangement position information of each data from the second data table, and to quickly create packet data for event transmission.
[0031]
As described above, in the vehicle control apparatus of the present invention, the data map defining the information for creating the packet data for scheduled transmission and the packet data for event transmission includes the first data table and the second data. In the first data table, for each packet number, the type number of each transmission target data constituting the packet data of the packet number is described. In the second data table, the transmission target data For each type number, describe the location information indicating where the data of the type number is placed in the packet data, and the packet number of the packet data whose data is the type number. ing.
[0032]
For this reason, it is possible to quickly create packet data to be transmitted at any time of the scheduled transmission and the event transmission.
In addition, according to the vehicle control device of the present invention, packet data to be actually transmitted can be quickly created each time, so that packet data to be transmitted is periodically created in advance as in the conventional device. There is no need for this, and there is no waste in terms of processing and memory area. That is, for both scheduled transmission and event transmission, packet data to be transmitted can be created quickly and efficiently when data transmission is to be performed.
[0033]
In addition, according to the automotive control device of the present invention, when changing the type and arrangement of data constituting the packet data, it is not necessary to modify the program as in the conventional device. The arrangement position information described for each type number of the transmission target data in the second data table is corrected for the change in the type of the transmission target data described for each packet number in the data table of 1 It is possible to cope with it simply by correcting.
[0034]
Further, when changing the time interval (timed transmission interval) for transmitting any packet data at a fixed time, the content of which packet number is sent as a transmission command in which cycle by the scheduled transmission operation activation means is corrected. Even those who do not fully understand the entire program can easily make corrections.
[0035]
That is, according to the vehicle control apparatus of the present invention, it is possible to very easily cope with changes in the type and arrangement of data constituting the packet data, or, further, the change in the regular transmission interval of the packet data.
Moreover, according to the vehicle control apparatus of the present invention, it is possible to change packet data for event transmission only by correcting the packet number described for each type number of data to be transmitted in the second data table.
[0036]
Next, in the vehicle control device according to claim 2, in the device according to claim 1, the first data table also includes, for each packet number, a transmission cycle for transmitting packet data of the packet number. is described. Then, the scheduled transmission operation starting means outputs each packet number described in the first data table as the transmission command for each transmission cycle described in the first data table corresponding to the packet number. It is configured as follows.
[0037]
According to the vehicle control apparatus of the second aspect, when changing the scheduled transmission interval of any packet data, it is described in the first data table corresponding to the packet number of the packet data. It is only necessary to modify the transmission cycle, and it is possible to more easily cope with a change in the regular transmission interval of packet data.
[0038]
By the way, in this type of automotive control device (ECU), even if the same type of control data is used, the resolution handled by each ECU may be different. Specifically, referring to the example of FIG. 11, for example, the engine ECU handles the engine speed data with a resolution of 50/256 (= about 0.195) rpm per LSB (per least significant bit). The control amount for the engine is obtained, and the meter ECU handles the engine speed data at 1 rpm per LSB. The resolution of each control data (that is, the physical value indicated by the LSB of the data and the accuracy of the data) depends on the calculation accuracy required by the microcomputer that handles the data. Sometimes it is decided appropriately.
[0039]
For this reason, if the resolution for handling the data differs between the side that calculates and transmits the data and the side that receives the data, the side that transmits the data ”Is converted into data representing the physical value indicated by the data with the resolution handled by the communication partner side”, and the data after the accuracy conversion processing is transmitted to the communication partner. Can use the received data as it is for processing.
[0040]
The specific processing procedure of the accuracy conversion processing is various, but the idea is that the decimal value indicated by the data to be converted is the ratio between the original resolution B1 of the data and the resolution B2 on the communication partner side. Divided by (= B2 / B1) and the digital data indicating the quotient is used as data after precision conversion. For this reason, data length conversion such as shifting the data to be converted to the right to shorten the data length (for example, changing 2 bytes to 1 byte) is one of precision conversions. Furthermore, in the following description, such precision conversion is also referred to as “LSB conversion” or “physical value conversion” in the sense that the physical value indicated by the LSB per data is changed.
[0041]
Therefore, in the vehicle control device according to claim 3, in the device according to claims 1 and 2, first, the information processing device performs the accuracy conversion process on each transmission target data in the storage unit. Conversion program storage means for storing a plurality of types of conversion programs is provided.
[0042]
In the second data table, for each type number of transmission target data, a conversion program for performing the accuracy conversion process on the transmission target data of the type number is stored in the conversion program storage unit. Storage location information indicating whether the storage location is stored is also described.
[0043]
Then, each of the scheduled transmission packet data creation means and the event transmission packet data creation means, for each of the transmission target data read from the storage unit, from the second data table, the type number of the transmission target data The storage location information described corresponding to the storage location information is acquired, and the conversion program stored in the storage location indicated by the acquired storage location information is started by using the transmission target data as a processing target. By performing the accuracy conversion processing on each transmission target data read from the unit, and arranging the transmission target data after the accuracy conversion processing based on each arrangement position information acquired from the second data table, Create packet data to be sent this time.
[0044]
According to the control apparatus for an automobile according to claim 3, not only the transmission target data can be converted (accuracy converted) into data having a resolution handled on the communication partner side, but also transmitted. When changing the content of accuracy conversion for data, it is possible to cope with it by simply correcting the storage location information described for each type number of data to be transmitted in the second data table. Work becomes very easy. In addition, when the accuracy conversion processing of new contents is necessary, the storage location information described in the second data table after adding a conversion program for performing the accuracy conversion processing to the conversion program storage means Should be corrected.
[0045]
Further, in this automobile control apparatus, the accuracy conversion is performed on the data by starting the conversion program specified from the storage position information described in the second data table, with the data to be subjected to accuracy conversion being processed. Because there are multiple types of data for which precision conversion of the same content is performed, the same conversion program can be used in common for the multiple types of data, and the program is stored The memory capacity can be reduced.
[0046]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a vehicle control system according to an embodiment to which the present invention is applied will be described with reference to the drawings.
First, FIG. 1 is a configuration diagram illustrating a configuration of a vehicle control system 1 of the embodiment. In addition, the vehicle control system 1 of this embodiment controls the engine, transmission, air conditioner, instruments, brakes, and other electrical components mounted on the vehicle.
[0047]
As shown in FIG. 1, a vehicle control system 1 according to the present embodiment mainly includes a control device (hereinafter referred to as an engine ECU) 2 that controls an engine and a transmission, and a control device that controls an air conditioner (hereinafter referred to as an air conditioner ECU). 4, a control device (hereinafter referred to as a meter ECU) 6 for controlling instruments and warning lights in the meter panel, and a control device (hereinafter referred to as posture) for controlling vehicle posture for suppressing an unstable skidding state of the vehicle. 8) (referred to as control ECU).
[0048]
The engine ECU 2, the air conditioner ECU 4, and the meter ECU 6 are connected to each other via a multiple communication line 10 so as to communicate with each other. The engine ECU 2 is connected to the attitude control ECU 8 through a serial communication line 11 different from the multiplex communication line 10 so that one-to-one serial communication is possible. The communication protocol on the multiplex communication line 10 and the communication protocol on the serial communication line 11 are different.
[0049]
Here, the engine ECU 2 includes a vehicle speed sensor 12 for detecting the vehicle speed SPD, a crank angle sensor 14 for detecting the engine rotational speed (hereinafter simply referred to as the rotational speed Ne), and an engine cooling water temperature (hereinafter simply referred to as the water temperature). The driving state of the vehicle is detected based on detection signals from various sensors such as a water temperature sensor 16 for detecting (THW). Then, the engine and the transmission are driven by driving the injector 18, the igniter 20, and other actuators (not shown) based on the detection results and the outside temperature TAM data transmitted from the air conditioner ECU 4 as will be described later. Control to the optimum state.
[0050]
Further, the engine ECU 2 appropriately transmits various data for control indicating the vehicle speed SPD, the rotational speed Ne, the water temperature THW, and the like detected as described above to the multiplex communication line 10 and the serial communication line 11 as will be described later. By operating the A / C magnet clutch 22 according to the air conditioner control data AC transmitted from the air conditioner ECU 4, the engine driving force is transmitted to the refrigerant compressor of the air conditioner so that the air conditioner can be cooled. .
[0051]
On the other hand, the air conditioner ECU 4 detects the temperature outside the vehicle (outside temperature) TAM and the temperature inside the vehicle interior (inside temperature) based on detection signals from the outside air sensor 26 and the inside air sensor 28, and transmits data of the detection result. In addition, the blower motor 30 for air blowing and the air mix damper 32 for switching the air distribution according to the detection result and data representing the vehicle speed SPD, the rotational speed Ne, the water temperature THW, etc. transmitted from the engine ECU 2. Etc., the air conditioning in the vehicle interior is controlled. In addition, when the air conditioner switch 24 is turned on by a vehicle driver or the like, the air conditioner ECU 4 transmits the air conditioner control data AC described above to operate the A / C magnet clutch 22 to the engine ECU 2.
[0052]
Then, the meter ECU 6 responds to the data indicating the vehicle speed SPD, the rotational speed Ne, the water temperature THW, etc. transmitted from the engine ECU 2, and the speedometer 40, the tachometer 42, the water temperature meter (not shown), etc. in the meter panel. Drive. Further, the meter ECU 6 turns on the warning lamps 44 and 46 corresponding to the contents of the abnormality indicated by each data in accordance with each abnormality notification data (fail safe data) transmitted when the engine ECU 2 detects the abnormality. Let
[0053]
Furthermore, in this embodiment, every time the engine ECU 2 performs fuel injection to the engine N times (for example, 20 times), the injection amount data indicating the cumulative fuel injection amount for N times is transmitted to the meter ECU 6. The ECU 6 calculates the total fuel consumption based on the injection amount data and displays it on a display (not shown).
[0054]
On the other hand, when the attitude control ECU 8 detects the traveling state of the vehicle based on signals from various sensors such as the yaw rate sensor 50 and determines that the vehicle is in a skidding state, it drives the brake actuator 52 to perform brake control. Then, control data (for example, a fuel cut signal) for reducing the engine output is transmitted to the engine ECU 2 via the serial communication line 11. Then, the engine ECU 2 drives the injector 18 and the like in accordance with the control data from the attitude control ECU 8 to reduce the engine output.
[0055]
Each of the ECUs 2, 4, 6, and 8 includes a microcomputer (microcomputer), and the operation of each of the ECUs 2 to 8 is realized by the microcomputer executing a program.
Next, FIG. 2 is a block diagram showing the internal configuration of the engine ECU 2.
[0056]
As shown in FIG. 2, the engine ECU 2 includes two microcomputers, a first microcomputer 60 (corresponding to the information processing apparatus of the present invention) and a second microcomputer 62. Although not shown, each of the microcomputers 60 and 62 is a general single chip including a CPU, a ROM as a storage medium for storing a program, a RAM for temporarily storing data, an input / output port, and the like. It is a microcomputer. In the present embodiment, the RAM of each of the microcomputers 60 and 62 stores 1 byte (8 bits) of data per address.
[0057]
Each of the microcomputers 60 and 62 receives signals from the various sensors 12, 14, and 16 through the input circuit 64, and executes arithmetic processing for controlling the control target based on the input signals. By outputting a control amount signal to the output circuit 66, various actuators such as the injector 18 and the igniter 20 described above are driven.
[0058]
Further, the first microcomputer 60 and the second microcomputer 62 share data for control for controlling a control target by performing data communication via the communication line 68. That is, the first microcomputer 60 and the second microcomputer 62 share and execute the respective arithmetic processes for controlling the engine and the transmission, and control data used for the respective arithmetic processes is transmitted via the communication line 68. Shared by communication. The communication protocol on the communication line 68 is DMA communication and is different from the communication protocol on the multiplex communication line 10 and the serial communication line 11.
[0059]
Further, the engine ECU 2 includes a communication IC 70. The communication IC 70 sends the communication data string output from the first microcomputer 60 to the multiplex communication line 10 as a transmission signal, and from the air conditioner ECU 4 and the meter ECU 6. It is configured to output an interrupt signal to the first microcomputer 60 every time a communication data string transmitted via the multiplex communication line 10 is received for a predetermined frame (in this embodiment, one frame). Yes.
[0060]
The serial communication line 11 described above is connected to the input / output port of the first microcomputer 60, and the first microcomputer 60 receives the attitude control ECU 8 (specifically, in the attitude control ECU 8 via the input / output port). It is designed to exchange data with a microcomputer.
[0061]
Next, FIG. 3 is a conceptual diagram virtually showing the communication model in the first microcomputer 60. This communication model has a hierarchical structure conforming to the ISO / OSI (Open System Interconnection) communication model. Yes.
As shown in FIG. 3, the communication model employed in the first microcomputer 60 of the present embodiment includes an application unit 100 that performs arithmetic processing for controlling a control target, and other ECUs 4, 6, as communication partners. 8 and a communication driver unit 300 for transmitting / receiving data to / from the second microcomputer 62, and a communication data sequence to be transmitted by the communication driver unit 300 from the control data calculated by the application unit 100, and a communication driver unit The communication conversion unit 200 converts the communication data string received by 300 into control data usable by the application unit 100. The communication conversion unit 200 is further hierarchized into a shared memory unit 210, a physical value conversion unit 220, a common packet data unit 230, and a communication data conversion unit 240. Furthermore, the first microcomputer 60 includes a communication control unit 400 and a table storage unit 500.
[0062]
Then, data is not directly transferred from the application unit 100 to the communication partner (other ECUs 4, 6, 8, or the second microcomputer 62), but sequentially from the application unit 100 to the lower layers. Data is passed (virtual communication), and the communication driver 300 realizes physical communication with the outside (communication partner). In addition, each layer in this communication model is to request a service from the layer below it and provide the service to the layer above it. The purpose of each layer is to provide services to the upper layer. It is to hide the detailed information such as actual communication specifications. In the present embodiment, the programs in the ROM executed by the microcomputers 60 and 62 are programmed in an object-oriented manner in which all functions of the program are subdivided for each unit function and an object is prepared for each unit function. An object is a program module in which data and a program called “method” which is a procedure for processing the data are grouped.
[0063]
In the communication model of FIG. 3, focusing only on software, each unit 100 to 400 other than the table storage unit 500 is each object (method and data) stored in the ROM of the first microcomputer 60. From the viewpoint of the storage area, each of the units 100 to 400 is a storage area that stores a corresponding object. The table storage unit 500 is a storage area that stores each data table of FIGS. 4 and 5 described later in the ROM of the first microcomputer 60.
[0064]
Further, in the description of the present embodiment, for example, an action expression having an object as a subject such as “the shared memory unit 210 does” or “the physical value conversion unit 220 does” is actually the first microcomputer. The functional means realized by the operation of the object 60 according to the method of the object (in other words, the first microcomputer 60 executes the method of the object) indicates that the operation “...” Is performed. Similarly, for example, passive behavior expression by an object such as “performed by the shared memory unit 210” or “performed by the physical value conversion unit 220” is actually performed by the first microcomputer 60 using a method of the object. It is shown that the operation “...” Is performed by the functional means realized by operating according to the above.
[0065]
Here, the application unit 100 includes objects further subdivided for each control target and control content of the engine ECU 2. In the present embodiment, the application unit 100 calculates control data such as the rotational speed Ne and performs an object process for controlling the engine based on the calculated control data (hereinafter referred to as engine application software). 110), an object 120 (hereinafter referred to as ECT application software) 120 for calculating control data such as vehicle speed SPD and performing a calculation process for controlling the transmission based on the calculated control data, and an engine throttle And an object (hereinafter referred to as cruise application software) 130 that performs control processing for throttle opening control for calculating control data such as opening and driving the vehicle at a constant speed based on the calculated control data. doing. Each of these application softwares 110, 120, and 130 also uses control data calculated by application software other than itself for its own arithmetic processing. That is, the application software 110, 120, and 130 share control data with each other.
[0066]
The shared memory unit 210 temporarily stores all control data used by the application software 110, 120, and 130 of the application unit 100 to control the control target in the RAM provided in the first microcomputer 60. The control data shared between the application software 110, 120, and 130 in the shared memory set as a specific storage area different from the storage area (hereinafter referred to as control data storage area), and the first Write control data (hereinafter referred to as “external shared data”) that is shared by the communication partner of the microcomputer 60 (the second microcomputer 62 and the other ECUs 4, 6, and 8), and read control data from the shared memory. Provide to other objects.
[0067]
Each data stored in the shared memory is given a type number indicating the type (hereinafter referred to as a handle number), and each object is required from the shared memory by specifying the handle number. New data can be obtained and new data can be written to the shared memory.
[0068]
In FIG. 3, the vehicle speed SPD data (SPD data) calculated by the ECT application software 120 and assigned with “1” as the Handle number is also used in the engine application software 110, and the engine application software 110 The data of the rotation speed Ne (Ne data) to which “2” is assigned as the Handle number is also used in the ECT application software 120. In each figure after FIG. 3 and the following description, “Handle1” and “Handle2” indicate that the Handle number is “1” or “2”.
[0069]
When transmitting data from the first microcomputer 60 to the communication partner, the physical value conversion unit 220 indicates the digital data for the data to be transmitted among the control data stored in the shared memory. An LSB conversion process is performed to convert the physical value into digital data represented by the resolution handled by the communication partner. In addition, when receiving data from the communication partner, the physical value conversion unit 220 is a resolution that handles the digital data for the received control data and the physical values indicated by the application software 110, 120, and 130. The LSB conversion process is performed to convert the digital data represented by.
[0070]
In other words, the LSB conversion process is the precision conversion process described above, and the resolution of the digital data (the physical value indicated by the LSB of the data and the accuracy of the data) The conversion is performed so that the resolution is the same as that adopted by the other party. In the present embodiment, a plurality of types of LSB conversion programs (corresponding to the conversion program in the present invention) for performing the LSB conversion processing are stored as a part of the physical value conversion unit 220 in a predetermined area of the ROM. Yes.
[0071]
At the time of data transmission from the first microcomputer 60 to the communication partner, the common packet data unit 230 collects transmission target control data (transmission target data after the LSB conversion process) subjected to LSB conversion by the physical value conversion unit 220. By arranging in series, packet data common to each communication protocol that does not depend on communication protocols such as multiplex communication, serial communication, and DMA communication (hereinafter, this packet data is distinguished from packet data actually transmitted / received on the transmission path) Is referred to as common packet data). Each common packet data is given a packet number PN as its identification number. 3 and the subsequent drawings and the following description, “PN1” and “PN2” indicate that the packet number PN is “1” or “2”.
[0072]
When transmitting data from the first microcomputer 60 to the communication partner, the communication data converter 240 converts the common packet data created by the common packet data unit 230 into a communication data string (that is, a communication protocol corresponding to the communication protocol with the communication partner (that is, Packet data actually transmitted). Specifically, processing such as adding header information according to the communication protocol to the data string of the common packet data is performed. Also, if the data length of the common packet data is longer than the maximum transfer unit (transfer unit that can be transmitted at one time) determined by the communication protocol with the communication partner, it is divided into data lengths within that maximum transfer unit. I also do it.
[0073]
When transmitting data from the first microcomputer 60 to the communication partner, the communication driver unit 300 uses the communication data sequence created by the communication data conversion unit 240 to transfer data amount, baud rate, And at the transfer timing, it is actually output as communication data. The communication driver unit 300 corresponds to the communication protocol with each communication partner, and the serial communication that controls the serial communication between the DMA communication unit 310 that controls the DMA communication with the second microcomputer 62 and the attitude control ECU 8. And a multiplex communication unit 330 that controls multiplex communication between the air conditioner ECU 4 and the meter ECU 6.
[0074]
The communication control unit 400 includes a timer 410 for counting time, and communication with the second microcomputer 62 and the other ECUs 4, 6, 8 is periodically executed based on the count value of the timer 410. Thus, the creation timing of the communication data string is determined. The communication control unit 400 also has a function of starting a communication data string creation operation in response to a transmission request for event transmission issued from the shared memory unit 210 as described later.
[0075]
On the other hand, the communication driver unit 300 (the DMA communication unit 310, the serial communication unit 320, the multiplex communication unit 330) receives the data transmitted from the communication partner (the second microcomputer 62 and the other ECUs 4, 6, and 8). It also has a function of acquiring and providing it to the communication data conversion unit 240.
[0076]
The communication data conversion unit 240 also has a function of converting the communication data sequence acquired by the communication driver unit 300 into common packet data.
Further, when receiving data from the communication partner, the common packet data unit 230 decomposes the common packet data created by the communication data conversion unit 240 and extracts each control data constituting the common packet data. Further, there is a function of causing the physical value conversion unit 220 to perform LSB conversion on each control data, and updating and writing each control data after the LSB conversion to the shared memory in the shared memory unit 210. Have.
[0077]
On the other hand, in the table storage unit 500, the shared memory table shown in FIG. 4, the Handle number specifying table as the first data table shown in FIG. 5A, and the second data shown in FIG. A packet number specifying table as a table is stored.
[0078]
As shown in FIG. 4, the shared memory table includes, for each Handle number of the control data, a shared memory address that indicates which address of the Handle number data is stored in the shared memory. This is a data table in which the shared memory size indicating the data length in the shared memory of the data of the Handle number is described in the order of the Handle number.
[0079]
Further, as shown in FIG. 5A, the Handle number specification table includes, for each packet number, a transmission cycle in which the common packet data of the packet number is to be transmitted and each of the common packet data of the packet number. Handled when the handle number of control data and the communication protocol to which the common packet data of the packet number should be transmitted / received and when the common packet data of the packet number is transmitted / received by the communication protocol of the above communication method are added. This is a data table in which header information to be described is described in the order of packet numbers.
[0080]
In FIG. 5A, “E” described in the item of the handle number is data indicating that there is no data indicating the handle number thereafter. In addition, “CAN” described in the item of communication method indicates a communication protocol for multiplex communication, and “SCI” indicates a communication protocol for serial communication.
[0081]
As shown in FIG. 5B, the packet number specifying table includes, for each Handle number of the control data, a common packet data position indicating an arrangement position of the data of the Handle number in the common packet data, and its Handle. The common packet data size indicating the data length in the common packet data of the number data, the event transmission packet number that is the packet number of the common packet data in which the data of the Handle number is a component and the event is transmitted, and the Handle number Data in which the LSB conversion program for performing the LSB conversion processing on the data of the LSB conversion call address as the storage location information indicating which address of the ROM is stored at the head is described in the order of the handle number It is a table.
[0082]
It should be noted that the common packet data position is the number of bytes from which the control data of the corresponding handle number is arranged in the common packet data when the first byte in the common packet data is the 0th byte. Is shown. In this embodiment, the common packet data position and the common packet data size correspond to the arrangement position information.
[0083]
Each object is required to create a communication data string by referring to the above-described data table in FIG. 5, for example, what handle number control data is aggregated in the common packet data of PN1. Information can be acquired.
[0084]
Next, conversion processing into a communication data string when control data is transmitted from the first microcomputer 60 to the outside will be described with reference to FIGS.
6 to 9 are message sequence charts showing the conversion processing operation from the control data to the communication data string. In this message sequence chart, the layers (objects) 100 to 500 shown in FIG. 3 are indicated by vertical lines, and messages from the respective layers to other layers are indicated by horizontal solid arrows. Further, a horizontal dotted arrow indicates that each hierarchy refers to the data table in the table storage unit 500, and the contents of processing performed in the hierarchy are indicated in a rectangular frame on the vertical line. It is shown. FIG. 10 is a schematic diagram showing common packet data created by the processing operation of FIG. 7 or FIG.
[0085]
First, for example, when the ECT application software 120 in the application unit 100 enters a processing step of writing vehicle speed SPD data (hereinafter referred to as SPD data), which is one of the external shared data, into the shared memory, [1 in FIG. ], The ECT application software 120 of the application unit 100 issues (issues) a data write request message to the shared memory unit 210. At this time, the Handle number of the SPD data (Handle1 in this example) and the storage address of the SPD data in the ECT application software 120 (that is, the ECT application software 120 writes and reads the SPD data during the control calculation process). The information of the control data storage area to be performed, which is & SPD in this example, is also sent to the shared memory unit 210.
[0086]
When a process for issuing a data write request message is programmed in C language, a message issuing command for writing SPD data to the shared memory is as follows.
Write (Handle1, & SPD)
The meaning of this command is to write the data (SPD data obtained by the ECT application software 120) stored in & SPD to the address of the shared memory corresponding to the Handle number (Handle1) of the SPD data. When each application software 110, 120, 130 of the application unit 100 writes control data other than SPD data to the shared memory, “Handle1” of the above commands becomes the Handle number of the data to be written, “& SPD” is an address of a storage area in which data to be written is stored in the control data storage area provided for the application software.
[0087]
When the shared memory unit 210 receives the message from the application unit 100 (ECT application software 120), the shared memory table 210 stores the shared memory table (FIG. 4) in the table storage unit 500 as shown in [2] of FIG. Referring to this, the shared memory address and the shared memory size corresponding to the Handle number (Handle1) sent with the message are acquired as shared memory information.
[0088]
Then, based on the acquired shared memory information, the shared memory unit 210 recognizes that the SPD data should be written in a 2-byte area starting at address $ FFFF0000 in the shared memory. In the process [3], the 2-byte SPD data is copied from the storage address (& SPD) of the SPD data in the ECT application software 120 to the address $ FFFF0000 of the shared memory.
[0089]
By the processing of the shared memory unit 210, the SPD data corresponding to Handle1 is stored in the shared memory as illustrated in the frame of the shared memory unit 210 in FIG.
Although not shown, other control data calculated by the ECT application software 120 and control data calculated by the engine application software 110 and the cruise application software 130 are the same as the procedure of FIG. Stored in shared memory.
[0090]
On the other hand, although not shown, when the application unit 100 (specifically, each application software of the application unit 100) uses the control data stored in the shared memory for control arithmetic processing, the application unit 100 and the shared memory unit 210 operate as follows.
[0091]
For example, a case where the engine application software 110 of the application unit 100 reads SPD data calculated by the ECT application software 120 from the shared memory will be described. In this case, first, the engine application software 110 sends the shared memory unit 210 to the shared memory unit 210. A data read request message is issued. At this time, the handle number (Handle1) of the SPD data and the storage address of the SPD data in the engine application software 110 (that is, the control data for the engine application software 110 to write and read the SPD data during the control calculation process) Information on the data storage area address) is also sent to the shared memory unit 210.
[0092]
Then, the shared memory unit 210 refers to the shared memory table (FIG. 4) in the table storage unit 500 and the shared memory address corresponding to the handle number (Handle1) sent together with the data read request message. The shared memory size is acquired as shared memory information. Based on the acquired shared memory information, it is recognized that the SPD data is stored in the 2-byte area starting at address $ FFFF0000 in the shared memory, and 2 bytes from the $ FFFF0000 address of the shared memory. The SPD data stored in this area is copied to the SPD data storage address in the engine application software 110.
[0093]
As a result of this copying operation, the SPD data in the shared memory is provided to the engine application software 110 as indicated by the left arrow of the two arrows extending upward from the frame of the shared memory unit 210 in FIG. The Rukoto.
Next, processing for creating common packet data to be transmitted to the communication partner will be described. The timing for creating the common packet data includes the timing at the scheduled transmission for each predetermined time interval and the shared memory. Among the stored control data, there is an event transmission timing when the control data to be transmitted is updated. FIG. 7 shows the processing at the former timing, and FIG. The process at the latter timing is shown.
[0094]
First, a process for creating common packet data during scheduled transmission will be described with reference to FIG.
First, when it is time to transmit data to the other ECUs 4, 6, 8 and the second microcomputer 62 at regular intervals, the communication control unit 400 sends a common packet data unit 230 to the common packet data unit 230 as shown in [7] in FIG. 7. In order to create the common packet data as illustrated in the frame of the common packet data unit 230 in FIG. 3, a transmission request message as a transmission command is issued (issued).
[0095]
In FIG. 3, only the packet number PN1 is shown. However, since there are actually many packet numbers, the communication control unit 400 uses the packet number of the common packet data to be transmitted in this scheduled transmission (PN1 in this example). ) To the common packet data unit 230 as part of a transmission request message (transmission command). More specifically, the communication control unit 400 grasps the passage of time based on the count value of the timer 410 and 1S according to the packet number and the transmission cycle described in the Handle number identification table of FIG. A message of transmission request including PN1 is issued every (second), a message of transmission request including PN2 is issued every 3S, a message of transmission request including PN3 is issued every 5S, and PN4 is transmitted every 0.5S. Send a send request message that contains. That is, the communication control unit 400 outputs each packet number described in the Handle number specifying table as a transmission command for each transmission period described in the table corresponding to the packet number. The description in parentheses in FIG. 7 indicates a case where the packet number output from the communication control unit 400 to the common packet data unit 230 is PN1.
[0096]
In this way, when the communication control unit 400 issues a transmission request message including the packet number, the common packet data unit 230 specifies the Handle number in the table storage unit 500 as shown in [8] of FIG. From the table (FIG. 5A), each handle number described corresponding to the packet number issued by the communication control unit 400 (that is, common packet data of the packet number issued by the communication control unit 400 is configured. Each Handle number) of the control data is read and acquired as transmission data information.
[0097]
For example, when the packet number output from the communication control unit 400 to the common packet data unit 230 is PN1, the Handle number described corresponding to PN1 in the Handle number identification table of FIG. , Handle1, Handle10, Handle5, and Handle2, the four Handle numbers are acquired as the Handle numbers of the control data constituting the common packet data of PN1.
[0098]
Next, as shown in [9] of FIG. 7, the common packet data unit 230 first uses the first Handle number (Handle1 in this example) of the acquired Handle numbers as the physical value conversion request message. At the same time, it is output to the physical value conversion unit 220.
Then, the physical value conversion unit 220 outputs the Handle number from the common packet data unit 230 to the shared memory unit 210 together with the data acquisition request message, as shown in [10] of FIG.
[0099]
In response to the data acquisition request message, the shared memory unit 210 uses the physical value conversion unit 220 to send the data acquisition request message from the shared memory table (FIG. 4) in the table storage unit 500, as in [2] in FIG. The shared memory address ($ FFFF0000) and shared memory size (2 bytes) corresponding to the handle number (Handle1 in this case) issued together are acquired as shared memory information, and further shared based on the acquired shared memory information. Data of 2 bytes (SPD data in this example) is read from the address $ FFFF0000 in the memory, and the read data is returned as a return value to the physical value converter 220 as shown in [11] of FIG.
[0100]
Then, as shown in [12] in FIG. 7, the physical value conversion unit 220 uses the packet number identification table (FIG. 5B) in the table storage unit 500 as the shared memory unit in the above [10]. The LSB conversion call address ($ 00001000) described corresponding to the handle number (Handle1) issued to 210 is read out and acquired. Then, in [13] of FIG. 7, the physical value conversion unit 220 controls the data for Handle1 read from the shared memory by the operations [10] and [11] (that is, as a return value from the shared memory unit 210). By starting the LSB conversion program stored in the acquired LSB conversion call address for the returned control data (in this example, 2-byte SPD data), the control data ( The LSB conversion process is performed on the SPD data.
[0101]
As a result, as illustrated in the frame of the physical value conversion unit 220 in FIG. 3, the SPD data of Handle1 is LSB converted, and the data after the LSB conversion (hereinafter referred to as SPD ′ data) is a physical value. The data is stored together with the corresponding handle number (Handle1) in a predetermined area of the RAM allocated as the work area of the conversion unit 220.
[0102]
As described above, the LSB conversion of the control data to be transmitted is performed by the microcomputer that calculates and transmits the data and the microcomputer that receives the data as described above. This is because the above resolution may be different. Even in such a case, the receiving microcomputer can use the received data as it is for the processing.
[0103]
Thereafter, as shown in [14] in FIG. 7, the common packet data unit 230 uses the packet number identification table (FIG. 5 (B)) in the table storage unit 500 as the physical value conversion unit in [9]. The common packet data size and the common packet data position described corresponding to the handle number (Handle1) output to 220 are acquired as common packet data information.
[0104]
Then, the common packet data unit 230 performs a common packet data generation process for creating the common packet data of the packet number (here, PN1) output from the communication control unit 400 in [15] of FIG.
Here, this common packet data generation processing is designated by the common packet data position and the common packet data size acquired this time from the packet number identification table in the operation [14] in the data area in the common packet data to be created. The control data that is LSB-converted this time by the physical value converter 220 is arranged in the area to be stored. Therefore, for example, as shown in the uppermost part of FIG. 5B, the common packet data position and the common packet data size described corresponding to Handle1 are “0” and “2 bytes”, respectively. As shown in FIG. 10A, the data (SPD ′ data) H1 after the LSB conversion of Handle1 is arranged in an area for 2 bytes from the position of the 0th byte in the common packet data of PN1. .
[0105]
In this way, when the LSB conversion process and the common packet data generation process for the control data of Handle1 are completed, the common packet data unit 230 is acquired by the operation of [8] as shown in [16] of FIG. For the next Handle number (Handle10) of the Handle numbers, the operation for LSB conversion is performed in the same manner as [9] to [14], and then, as shown in [17] of FIG. The common packet data generation process is performed in the same manner as [15] above. Further, other Handle numbers (Handle5, Handle2) among the Handle numbers acquired by the common packet data unit 230 in the operation [8] are also shown in [18] to [21] in FIG. In the same manner as [9] to [14] and [15], the LSB conversion operation and the common packet data generation process are sequentially performed.
[0106]
When the control data of all Handle numbers corresponding to the packet number PN output from the communication control unit 400 to the common packet data unit 230 is completed, when the LSB conversion and the common packet data generation process are completed, the common packet to be transmitted Data creation is complete.
[0107]
For example, when the communication control unit 400 outputs PN1 to the common packet data unit 230, the common packet data of PN1 created according to both tables in FIG. 5 includes the LSB conversion of Handle1 as shown in FIG. The subsequent data H1 is placed in the area for 2 bytes from the 0th byte position, the data H10 after Handle 10 LSB conversion is placed in the area for 1 byte from the 2nd byte position, and the handle 5 after the LSB conversion Data H5 is arranged in an area for 3 bytes from the position of the third byte, and data H2 after the LSB conversion of Handle2 is a data string arranged in an area for 2 bytes from the position of the sixth byte.
[0108]
Further, for example, when the communication control unit 400 issues PN2 to the common packet data unit 230, the common packet data of PN2 created according to both tables of FIG. 5 includes the LSB of Handle3 as shown in FIG. The converted data H3 is placed in an area of 2 bytes from the 0th byte position, the data H6 after Handle 6 LSB conversion is placed in an area of 4 bytes from the 2nd byte position, and after Handle 2 LSB conversion The data H2 is a data string arranged in an area of 2 bytes from the 6th byte position.
[0109]
Next, when the creation of the common packet data to be transmitted this time is completed in this way, the common packet data unit 230, as shown in [22] in FIG. 7 and [22] in FIG. On the other hand, in order to convert the common packet data created this time into a communication data string (that is, packet data that is actually transmitted) corresponding to the communication protocol with the communication partner, a transmission request message is issued. At this time, the packet number of the common packet data created this time (PN1 in this example) is also output to the communication data conversion unit 240 as part of the transmission request message.
[0110]
Then, the communication data conversion unit 240 converts the common packet data created by the common packet data unit 230 in the process of [23] in FIG. 8 with the communication partner based on the Handle number specification table in FIG. Is converted into a communication data string corresponding to the communication protocol.
[0111]
Specifically, for example, when the packet number output from the common packet data unit 230 to the communication data conversion unit 240 is PN1, the communication data conversion unit 240 first specifies the handle number shown in FIG. From the table, the communication method and header information described corresponding to PN1 are read and acquired. In this case, since the communication method is “CAN” indicating multiplex communication and the header information is “Arbitration = 0x123” and “ML = 08”, the communication data conversion unit 240 is the communication data conversion unit in FIG. As illustrated in the frame of 240, by adding the above-mentioned Arbitration and ML acquired from the Handle number specification table to the top of the common packet data created by the common packet data unit 230, the CAN is added to the CAN. Create a corresponding communication data string. Arbitration indicates the priority of data and is arbitration data when data collides. “Arbitration = 0x123” indicates that the Arbitration is 123 in hexadecimal notation. Further, ML is data indicating the data length of the data frame portion in the communication data string, and “ML = 08” indicates that the data length is 8 bytes.
[0112]
When the communication data conversion unit 240 finishes creating the communication data string, the DMA communication unit 310, the serial communication unit 320, and the multiplex communication unit 330 in the communication driver unit 300, as shown in [24] of FIG. Among them, a transmission request message is issued to the object corresponding to the communication method (that is, the communication protocol of the created communication data string) acquired from the Handle number specifying table in the process [23].
[0113]
Then, the object (any of the DMA communication unit 310, the serial communication unit 320, and the multiple communication unit 330) in the communication driver unit 300 that is the output destination of the message from the communication data conversion unit 240 is the communication data conversion unit 240. The communication data sequence created by the above is output to the outside as actual communication data at a baud rate or transfer timing corresponding to the own communication protocol.
[0114]
For example, when the communication method acquired from the Handle number specification table in the process [23] is CAN, the communication data conversion unit 240 sends a transmission request message to the multiplex communication unit 330 of the communication driver unit 300. Issue.
Then, the multiplex communication unit 330 outputs the communication data string created by the communication data conversion unit 240 to the communication IC 70 in the transmission process of [25] in FIG. The created communication data string is transmitted to the multiplex communication line 10 at a baud rate or transfer timing according to the communication protocol with the communication partner. By such a series of processes, the control data calculated by the application unit 100 in the first microcomputer 60 is converted into packet data of a communication protocol corresponding to the multiple communication line 10 and transmitted to the air conditioner ECU 4 and the meter ECU 6. Is done.
[0115]
In the above description, the case of generating and transmitting PN1 packet data is mainly described. However, packet data other than PN1 is also generated and transmitted in the same manner as the packet data of PN1.
However, for example, for packet data of PN2, the processing operations shown in FIGS. 7 and 8 are performed every 3S, and are created and transmitted. For packet data of PN3, FIG. 7 and FIG. The processing operation shown in FIG. 8 is performed every 5S, and its creation and transmission are performed. The cycle of creating and transmitting each piece of packet data is determined by the packet number and the transmission cycle described in the Handle number specifying table in FIG.
[0116]
For example, for the common packet data of PN2, as can be seen from FIG. 5A, the communication method is “SCI” indicating serial communication, and the header information is “ID = 1” and “ML = 16”. Therefore, ID and ML as the header information are added to the head and converted into packet data to be actually transmitted. When the packet data of PN2 is created and transmitted, the communication data conversion unit 240 issues a transmission request message to the serial communication unit 320 of the communication driver unit 300 in [24]. Therefore, the created packet data of PN2 is sent to the serial communication line 11 by the serial communication unit 320 in the communication driver unit 300.
[0117]
Next, processing for creating common packet data at the time of event transmission will be described with reference to FIG.
First, in the shared memory unit 210, among data in the shared memory, event transmission target data to be transmitted to the outside (for example, the above-described fail-safe data and injection amount data for each N injections) is updated. When it is detected, a transmission request message including the handle number of the updated data is issued to the communication control unit 400 as shown in [26] of FIG.
[0118]
The shared memory unit 210 writes the event transmission target data to the shared memory according to the procedure shown in FIG. 6 in response to the data write request from the application unit 100, or shares the event transmission target data. When the data value is changed from the previous value when writing to the memory, it is determined that the data has been updated. Also, the description in parentheses in FIG. 9 exemplifies the case where the Handle number issued from the shared memory unit 210 to the communication control unit 400 is Handle5.
[0119]
Then, as shown in [27] of FIG. 9, the communication control unit 400 sends the handle number data (that is, the updated event transmission target data) output from the shared memory unit 210 to the common packet data unit 230. In order to create common packet data including (data), a transmission request message including the Handle number issued from the shared memory unit 210 is issued as a transmission command. That is, at the time of event transmission, not the packet number but the handle number indicating the updated event transmission target data is issued as a transmission command from the communication control unit 400 to the common packet data unit 230.
[0120]
In this way, when the communication control unit 400 issues a transmission request message including the Handle number, the common packet data unit 230 specifies the packet number in the table storage unit 500 as shown in [28] of FIG. From the table (FIG. 5B), the event transmission packet number described in correspondence with the Handle number issued by the communication control unit 400 (that is, the data of the Handle number issued by the communication control unit 400 becomes a constituent element). And the packet number of the shared packet data to be transmitted as an event) is read out and acquired as the packet number of the common packet data to be transmitted this time.
[0121]
For example, when the Handle number output from the communication control unit 400 to the common packet data unit 230 is Handle5, the packet number described in correspondence with Handle5 in the packet number identification table of FIG. Since it is PN1, the PN1 is acquired as the packet number of the common packet data to be transmitted this time.
[0122]
Then, in [29] of FIG. 9, the common packet data unit 230 is obtained from the Handle number specifying table (FIG. 5A) in the table storage unit 500 in the same manner as [8] of FIG. Each Handle number described corresponding to the packet number acquired in the operation of [28] (that is, each Handle number of data constituting common packet data to be transmitted this time) is read and acquired. For example, when the packet number acquired in the above operation [28] is PN1, Handle1, Handle10, Handle5, and Handle2 described corresponding to PN1 in the Handle number identification table of FIG. Is acquired as each Handle number of the data constituting the common packet data of PN1 to be transmitted this time.
[0123]
After that, the common packet data unit 230 cooperates with the physical value conversion unit 220 and the shared memory unit 210, as shown in [9] to [21] in FIG. Common packet data is created in exactly the same procedure as [21].
That is, the data of each Handle number acquired by the operation of [29] is read from the shared memory, and the corresponding LSB conversion program for each of the read data is based on the packet number specifying data table of FIG. LSB conversion processing is performed by activating. Then, by arranging the data after the LSB conversion on the basis of the common packet data position and the common packet data size described in the packet number specifying data table of FIG. The common packet data of the acquired packet number and including the updated event transmission target data is created.
[0124]
When the creation of the common packet data is completed, the common packet data unit 230 includes the packet number of the common packet data created this time in [22] in FIG. 9 just like [22] in FIG. A transmission request message is sent to the communication data converter 240.
Then, the common packet data created by the common packet data unit 230 is transmitted to the communication data string corresponding to the communication protocol with the communication partner by the communication data conversion unit 240 and the communication driver unit 300 in the procedure shown in FIG. It is converted into (packet data to be actually transmitted) and transmitted to the communication partner.
[0125]
In the packet number identification table of FIG. 5B, for example, for Handle1, two packet numbers of PN1 and PN4 are described as event transmission packet numbers, so [26] in FIG. Then, when the shared memory unit 210 issues a transmission request message including Handle1 (that is, when the data of Handle1 is transmitted as an event), for each of PN1 and PN4, [29], The processing operations [9] to [22] and FIG. 8 are performed, and two types of packet data of PN1 and PN4 are created and transmitted.
[0126]
In the packet number identification table of FIG. 5B, event transmission packet numbers are described for data that does not require event transmission (in FIG. 5B, each data of Handle3 and Handle6). Not. Therefore, even if the shared memory unit 210 issues a transmission request message including the Handle number (Handle3, Handle6) of the data that is not the event transmission target in [26] in FIG. Creation and event transmission are not performed.
[0127]
On the other hand, as shown in FIG. 5A, Handle5 data is included in two packet data of PN1 and PN3. In this embodiment, the packet data of PN3 is serially communicated to the attitude control ECU 8. Since it is not necessary to transmit an event to the attitude control ECU 8 (because there is no need to transmit an event because of the specifications of the attitude control ECU 8), the packet number specifying table in FIG. Only PN1 is described as the event transmission packet number corresponding to PN3, and PN3 is not described.
[0128]
In the present embodiment, the shared memory set in the RAM of the first microcomputer 60 corresponds to the storage unit.
Then, in the communication control unit 400, the processing operation shown in [7] of FIG. 7 (that is, each packet number described in the Handle number specifying table is described in the table corresponding to the packet number). A portion that performs a processing operation to be output as a transmission command for each transmission cycle corresponds to a scheduled transmission operation activation unit, and among the common packet data unit 230, the physical value conversion unit 220, and the shared memory unit 210, FIG. The part performing the processing operations shown in [8] to [22] corresponds to the packet data creation means for scheduled transmission.
[0129]
Further, in the shared memory unit 210 and the communication control unit 400, when the processing operation shown in [26] and [27] in FIG. 9 (that is, when it is detected that specific data in the shared memory is updated) The part that performs the processing operation for outputting the handle number of data as a transmission command corresponds to the event transmission operation starting means, and among the common packet data unit 230, physical value conversion unit 220, and shared memory unit 210, FIG. [28], [29], and [9] to [22] perform processing operations corresponding to event transmission packet data creation means.
[0130]
The communication data conversion unit 240 and the communication driver unit 300 correspond to transmission means, and a plurality of types of LSB conversion programs activated by the physical value conversion unit 220 in the storage area of the ROM of the first microcomputer 60. The predetermined area in which “” is stored corresponds to the conversion program storage means.
[0131]
As described above in detail, in the first microcomputer 60 provided in the engine ECU 2 of this embodiment, at the time of scheduled transmission, first, the packet number of the packet data to be transmitted this time is specified by the communication control unit 400. Then, from the Handle number identification table, the Handle number of each data constituting the packet data of the packet number is acquired, and the data of each Handle number is read from the shared memory. At this time, the Handle number identification table In each packet number, the handle number of each data constituting the packet data of the packet number is described, so that each data constituting the packet data to be transmitted this time without performing time-consuming search processing Handle number can be obtained immediately.
[0132]
Further, the first microcomputer 60 acquires information unique to each data such as the common packet data position, the common packet data size, and the LSB conversion call address corresponding to each acquired handle number from the packet number specifying table. Based on the acquired information, each data read from the shared memory is LSB converted and arranged to create packet data to be transmitted this time. At this time, each data is stored in the packet number specifying data table. For each Handle number, information specific to the data (common packet data position and common packet data size and LSB conversion call address) is described, so that a packet for scheduled transmission can be performed without performing time-consuming search processing. Data can be created quickly.
[0133]
On the other hand, in the first microcomputer 60, when an event is transmitted, first, the handle number of data to be transmitted this time is specified by the shared memory unit 210. Then, the packet number of the packet data including the Handle number is obtained from the packet number specifying table. At this time, the data is included in the packet number specifying table for each Handle number of each data. Since the packet number of the packet data to be described is described, the packet number of the packet data including the data to be transmitted this time can be obtained immediately without performing time-consuming search processing.
[0134]
Then, the first microcomputer 60 creates packet data to be transmitted for the current event in the same procedure as the scheduled transmission based on the packet number acquired from the packet number identification table. Without performing such search processing, it is possible to immediately obtain the handle number of each data constituting the packet data to be transmitted at this time from the handle number specifying table, and to identify each data from the packet number specifying table. Can be obtained immediately, and packet data for event transmission can be quickly created.
[0135]
As described above, in the first microcomputer 60 provided in the engine ECU 2 of the present embodiment, the data map defining the information for creating the packet data is divided into the handle number specifying table and the packet number specifying table, and the handle number specifying is performed. For each packet number, the handle number of each data constituting the packet data of the packet number is described in the table. In the packet number specification table, the data of the handle number is included in the packet data for each handle number of the data. Common packet data position and common packet data size indicating where to be placed in the LSB conversion call address for LSB conversion of the handle number data, and packet data comprising the handle number data as constituent elements Packet number, so scheduled transmissions and events During both transmission and signal can be generated packet data to be transmitted at that time quickly.
[0136]
According to the first microcomputer 60 of the present embodiment, since packet data to be actually transmitted can be quickly created each time, the packet data scheduled to be transmitted is periodically periodically transmitted as in the conventional device. There is no need to create it, and there is no waste in terms of processing and memory area. That is, for both scheduled transmission and event transmission, packet data to be transmitted can be created quickly and efficiently when data transmission is to be performed.
[0137]
Moreover, there is no need to modify the program control statement itself when changing the type or arrangement of data constituting the packet data. In other words, the change of type can be handled by simply rewriting the handle number described for each packet number in the handle number specification table, and the change of the order can be handled by the packet number specification table. This can be dealt with by simply rewriting the common packet data position and the common packet data size described for each.
[0138]
Even for packet data that includes data with the same Handle number, packet data that does not require event transmission need not be described in the packet number identification table. Specifically, as described above, the data of Handle5 is transmitted by being included in each of two packet data of PN1 and PN3 as shown in FIG. 5A. Since the packet number described corresponding to is only PN1, the packet data of PN3 is not created when the data of Handle5 is updated and the event is transmitted. That is, according to the first microcomputer 60 of the present embodiment, it is possible to change the packet data for event transmission only by changing the packet number described for each Handle number in the packet number specifying table.
[0139]
Furthermore, according to the first microcomputer 60 of the present embodiment, when changing the scheduled transmission interval (transmission cycle) of any packet data, it corresponds to the packet number of the packet data in the Handle number specification table. It is only necessary to rewrite the transmission cycle to be described, and it is very easy to cope with changes in the regular transmission interval.
[0140]
In the first microcomputer 60 of the present embodiment, the LSB conversion process for each data to be transmitted is performed by the physical value conversion unit 220 provided separately from the application unit 100. 110 to 130 do not need to be aware of the data accuracy adopted on the communication partner side, and can ensure the independence of each application software 110 to 130 and the communication partner. For this reason, replacement of application software and diversion to other system configurations become very easy.
[0141]
Furthermore, according to the first microcomputer 60 of the present embodiment, there is no need to modify the program control statement itself when changing the contents of the LSB conversion for any data, This can be handled by simply rewriting the LSB conversion call address described in correspondence with the handle number of the data. When LSB conversion of new contents is required, an LSB conversion program for performing the conversion is added to the ROM, and the LSB conversion call address in the packet number identification table is changed.
[0142]
Further, in the first microcomputer 60 of the present embodiment, the LSB conversion processing specified by the packet number specifying table is started with the data to be LSB converted as a processing target, and the LSB accuracy processing is performed on the data. Therefore, when there are a plurality of types of data to be subjected to LSB conversion with the same contents, for example, the first level Handle1 and the second level Handle2 in FIG. By setting the LSB conversion call address to the same value ($ 00001000), the same LSB conversion program can be used for the plurality of data. Therefore, the total capacity of the program (and hence the required capacity of the ROM) can be reduced.
[0143]
As mentioned above, although one Embodiment of this invention was described, it cannot be overemphasized that this invention can take a various form, without being limited to the said embodiment.
For example, in the above embodiment, the communication method and header information for each packet number referred to by the communication data converter 240 are also described in the Handle number specification table. However, the communication method and header information for each packet number are different. The data map may be defined. However, as in the above embodiment, it is more efficient to define all at once in the Handle number specifying table.
[0144]
In the vehicle control system 1 of the above embodiment, the first microcomputer 60 of the engine ECU 2 communicates with the outside using three types of communication protocols. For example, if only communication via the multiple communication line 10 is performed, The DMA communication unit 310 and the serial communication unit 320 of the communication driver unit 300 can be deleted.
[Brief description of the drawings]
FIG. 1 is a configuration diagram illustrating a configuration of a vehicle control system according to an embodiment.
FIG. 2 is a block diagram showing an internal configuration of an engine ECU constituting the vehicle control system of FIG.
FIG. 3 is a conceptual diagram virtually showing a communication model in a microcomputer provided in an engine ECU.
FIG. 4 is an explanatory diagram illustrating a shared memory table stored in a table storage unit.
FIG. 5 is an explanatory diagram for explaining a handle number specification table and a packet number specification table stored in a table storage unit;
FIG. 6 is a message sequence chart showing a processing operation for storing control data obtained by an application unit in a shared memory.
FIG. 7 is a message sequence chart showing a processing operation for creating common packet data from control data stored in a shared memory during regular transmission.
FIG. 8 is a message sequence chart showing a processing operation for converting the created common packet data into a communication data string and transmitting it.
FIG. 9 is a message sequence chart showing a processing operation for creating common packet data from control data stored in a shared memory during event transmission.
10 is a schematic diagram showing common packet data created by the processing operation of FIG. 7 or FIG.
FIG. 11 is a configuration diagram showing a configuration of a general vehicle control system.
FIG. 12 is an explanatory diagram illustrating a configuration example of packet data.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Vehicle control system 2 ... Engine ECU 4 ... Air-conditioner ECU
6 ... Meter ECU 8 ... Attitude control ECU 10 ... Multiple communication line
11 ... Serial communication line 60 ... 1st microcomputer 62 ... 2nd microcomputer
64 ... Input circuit 66 ... Output circuit 68 ... Communication line 70 ... Communication IC
100 ... Application section 110 ... Engine application software
120 ... ECT application software
130 ... Cruise application software 200 ... Communication converter
210 ... Shared memory unit 220 ... Physical value conversion unit
230 ... Common packet data part 240 ... Communication data conversion part
300: Communication driver unit 310: DMA communication unit
320 ... Serial communication unit 330 ... Multiple communication unit 400 ... Communication control unit
410 ... Timer 500 ... Table storage unit

Claims (3)

自動車に搭載された制御対象を制御するための演算処理を行うと共に、その演算処理により算出した制御用のデータを所定の記憶部に格納し、更に、前記記憶部に格納されたデータのうちで、前記自動車に搭載された通信相手へ送信すべき複数種類の送信対象データを、所定の順番に並べてパケットデータを作成し、その作成したパケットデータを前記通信相手へ送信する情報処理装置を備えた自動車用制御装置において、
前記情報処理装置は、
前記パケットデータの識別番号であるパケット番号毎に、そのパケット番号のパケットデータを構成する各送信対象データの種別番号が記述された第1のデータテーブルと、前記送信対象データの種別番号毎に、その種別番号の送信対象データが構成要素となるパケットデータのパケット番号と、その種別番号の送信対象データが前記パケットデータ内においてどの位置に配置されるかを示す配置位置情報とが記述された第2のデータテーブルとを格納したテーブル格納部と、
予め定められた送信周期毎に、通信相手へ今回送信すべきパケットデータのパケット番号を送信指令として出す定時送信動作起動手段と、
該定時送信動作起動手段によって送信指令としてのパケット番号が出されると、前記第1のデータテーブルから、前記送信指令として出されたパケット番号に対応して記述されている各送信対象データの種別番号を取得して、その各種別番号の送信対象データを前記記憶部から読み出すと共に、前記第2のデータテーブルから、前記取得した各種別番号に夫々対応して記述されている配置位置情報を取得し、前記記憶部から読み出した各送信対象データを前記取得した各配置位置情報に基づいて並べることにより、前記送信指令として出されたパケット番号のパケットデータを作成する定時送信用パケットデータ作成手段と、
前記記憶部内の送信対象データのうちの特定のデータが更新されたことを検出すると、その特定のデータの種別番号を送信指令として出すイベント送信動作起動手段と、
該イベント送信動作起動手段によって送信指令としての種別番号が出されると、前記第2のデータテーブルから、前記送信指令としての種別番号に対応して記述されているパケット番号を取得し、次いで、前記第1のデータテーブルから、前記取得したパケット番号に対応して記述されている各送信対象データの種別番号を取得して、その各種別番号の送信対象データを前記記憶部から読み出すと共に、前記第2のデータテーブルから、前記取得した各種別番号に夫々対応して記述されている配置位置情報を取得し、前記記憶部から読み出した各送信対象データを前記取得した各配置位置情報に基づいて並べることにより、前記送信指令として出された種別番号のデータが含まれるパケットデータを作成するイベント送信用パケットデータ作成手段と、
前記定時送信用パケットデータ作成手段及び前記イベント送信用パケットデータ作成手段の各々によって作成されたパケットデータを、前記通信相手へ送信する送信手段と、
を備えていることを特徴とする自動車用制御装置。
While performing the arithmetic processing for controlling the control object mounted in the motor vehicle, the control data calculated by the arithmetic processing is stored in a predetermined storage unit, and among the data stored in the storage unit And an information processing apparatus that creates packet data by arranging a plurality of types of transmission target data to be transmitted to a communication partner mounted on the automobile in a predetermined order, and transmits the created packet data to the communication partner. In automotive control equipment,
The information processing apparatus includes:
For each packet number that is an identification number of the packet data, a first data table in which a type number of each transmission target data constituting the packet data of the packet number is described, and for each type number of the transmission target data, The packet number of the packet data whose transmission target data of that type number is a component, and the arrangement position information indicating where the transmission target data of that type number is arranged in the packet data are described. A table storage unit storing two data tables;
For each predetermined transmission cycle, a scheduled transmission operation starting means for issuing a packet number of packet data to be transmitted this time to the communication partner as a transmission command;
When a packet number as a transmission command is issued by the scheduled transmission operation starting means, a type number of each transmission target data described corresponding to the packet number issued as the transmission command from the first data table And acquiring the arrangement position information described corresponding to each of the acquired various numbers from the second data table. , Packet data creation means for scheduled transmission for creating packet data of the packet number issued as the transmission command by arranging each transmission target data read from the storage unit based on the obtained arrangement position information;
When detecting that the specific data of the transmission target data in the storage unit has been updated, an event transmission operation starting means for issuing the type number of the specific data as a transmission command;
When a type number as a transmission command is issued by the event transmission operation starting means, a packet number described corresponding to the type number as the transmission command is acquired from the second data table, and then A type number of each transmission target data described corresponding to the acquired packet number is acquired from the first data table, and the transmission target data of the various different numbers are read from the storage unit, and the first The arrangement position information described corresponding to each of the acquired various numbers is acquired from the data table 2 and the transmission target data read from the storage unit are arranged based on the acquired arrangement position information. Thus, packet data creation for event transmission that creates packet data including the data of the type number issued as the transmission command is performed. And means,
Transmission means for transmitting packet data created by each of the scheduled transmission packet data creation means and the event transmission packet data creation means to the communication partner;
An automotive control device comprising:
請求項1に記載の自動車用制御装置において、
前記第1のデータテーブルには、前記パケット番号毎に、そのパケット番号のパケットデータを送信すべき送信周期も記述されており、
前記定時送信動作起動手段は、前記第1のデータテーブルに記述された各パケット番号を、そのパケット番号に対応して前記第1のデータテーブルに記述されている送信周期毎に、前記送信指令として出すこと、
を特徴とする自動車用制御装置。
The vehicle control device according to claim 1,
In the first data table, for each packet number, a transmission cycle for transmitting packet data of the packet number is also described.
The scheduled transmission operation activation means uses each packet number described in the first data table as the transmission command for each transmission period described in the first data table corresponding to the packet number. To put out,
A control apparatus for an automobile.
請求項1又は請求項2に記載の自動車用制御装置において、
前記情報処理装置は、
前記記憶部内の各送信対象データに対して、そのデータを、該データが示す物理値を通信相手側で扱われる分解能で表すデータに変換する精度変換処理を行うための、複数種類の変換プログラムを格納した変換プログラム格納手段を備えており、
前記第2のデータテーブルには、
前記送信対象データの種別番号毎に、その種別番号の送信対象データに対して前記精度変換処理を行うための前記変換プログラムが、前記変換プログラム格納手段内において何れの格納位置に格納されているかを示す格納位置情報も記述されており、
更に、前記定時送信用パケットデータ作成手段と前記イベント送信用パケットデータ作成手段との各々は、
前記記憶部から読み出した送信対象データの各々について、前記第2のデータテーブルから、その送信対象データの種別番号に対応して記述されている前記格納位置情報を取得すると共に、その送信対象データを処理対象として前記取得した格納位置情報が示す格納位置に格納されている変換プログラムを起動することにより、前記記憶部から読み出した各送信対象データに対して前記精度変換処理を行い、その精度変換処理後の各送信対象データを、前記第2のデータテーブルから取得した各配置位置情報に基づいて並べることにより、前記パケットデータを作成すること、
を特徴とする自動車用制御装置。
In the control apparatus for motor vehicles of Claim 1 or Claim 2,
The information processing apparatus includes:
For each transmission target data in the storage unit, a plurality of types of conversion programs for performing an accuracy conversion process for converting the data into data representing a physical value indicated by the data at a resolution handled on the communication partner side. A stored conversion program storage means;
In the second data table,
For each type number of the transmission target data, in which storage position the conversion program for performing the accuracy conversion process on the transmission target data of the type number is stored in the conversion program storage means. Storage location information is also described,
Further, each of the scheduled transmission packet data creation means and the event transmission packet data creation means,
For each of the transmission target data read from the storage unit, the storage location information described corresponding to the type number of the transmission target data is acquired from the second data table, and the transmission target data is By starting the conversion program stored in the storage location indicated by the acquired storage location information as a processing target, the accuracy conversion processing is performed on each transmission target data read from the storage unit, and the accuracy conversion processing is performed. Creating the packet data by arranging each subsequent transmission target data based on each arrangement position information acquired from the second data table;
A control apparatus for an automobile.
JP11854199A 1999-04-26 1999-04-26 Automotive control device Expired - Lifetime JP3690179B2 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP11854199A JP3690179B2 (en) 1999-04-26 1999-04-26 Automotive control device
US09/551,870 US6374161B1 (en) 1999-04-26 2000-04-18 Automobile control system and method capable of revising control data transmission function
EP00108801A EP1049062B1 (en) 1999-04-26 2000-04-25 Automobile control system and method capable of revising control data transmission function
DE60031464T DE60031464T2 (en) 1999-04-26 2000-04-25 Automotive control system and method suitable for revising the control data transfer function
DE60025969T DE60025969T2 (en) 1999-04-26 2000-04-25 Automotive control system and method suitable for revising the control data transfer function
EP04022240A EP1486927B1 (en) 1999-04-26 2000-04-25 Automobile control system and method capable of revising control data transmission function
ES04022240T ES2270248T3 (en) 1999-04-26 2000-04-25 AUTOMOBILE CONTROL SYSTEM AND ABLE TO REVIEW THE FUNCTION OF TRANSMISSION OF CONTROL DATA.
ES00108801T ES2254066T3 (en) 1999-04-26 2000-04-25 AUTOMOBILE CONTROL SYSTEM AND ABLE TO REVIEW THE FUNCTION OF TRANSMISSION OF CONTROL DATA.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11854199A JP3690179B2 (en) 1999-04-26 1999-04-26 Automotive control device

Publications (2)

Publication Number Publication Date
JP2000310153A JP2000310153A (en) 2000-11-07
JP3690179B2 true JP3690179B2 (en) 2005-08-31

Family

ID=14739153

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11854199A Expired - Lifetime JP3690179B2 (en) 1999-04-26 1999-04-26 Automotive control device

Country Status (1)

Country Link
JP (1) JP3690179B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002204238A (en) * 2000-12-28 2002-07-19 Denso Corp Communication controller
JP4522846B2 (en) * 2004-12-27 2010-08-11 ルネサスエレクトロニクス株式会社 Data processing module and method for determining candidate message for sending
JP2015020612A (en) * 2013-07-19 2015-02-02 矢崎総業株式会社 Device for warning against forgetting to close
WO2020040848A1 (en) * 2018-08-21 2020-02-27 Google Llc Extensible mapping for vehicle system buses
JP7376425B2 (en) * 2020-05-11 2023-11-08 日立Astemo株式会社 Vehicle control device
JP7484633B2 (en) 2020-09-30 2024-05-16 株式会社デンソー Shared storage management device and shared storage management method

Also Published As

Publication number Publication date
JP2000310153A (en) 2000-11-07

Similar Documents

Publication Publication Date Title
JP3692820B2 (en) Automotive control device
CN101916089B (en) Configurable passenger car body control system and parameter configuration method thereof
CN100380258C (en) Method and computer system for operating at least two interconnected control devices
JP6446236B2 (en) Vehicle control system
US6360145B1 (en) Vehicle platform-portable controller
US6374161B1 (en) Automobile control system and method capable of revising control data transmission function
US7299308B2 (en) Data transmission apparatus and electronic control unit
JP3690179B2 (en) Automotive control device
JP4111674B2 (en) Communication gateway device
US7203580B2 (en) Electrical control unit and control system comprising plural electrical control units
JP3666286B2 (en) Automotive control device
JP3666297B2 (en) Automotive control device
CN201761451U (en) Configurable passenger vehicle body control system
US20080161994A1 (en) Method and system for autogenerating static fault code data based on a unified summary table for heavy duty diesel engines
JP2004220326A (en) Control software structure and controller using the structure
US20040098139A1 (en) Electronic apparatus for a bus system
JP4581284B2 (en) Communication system and electronic control device
JP4259456B2 (en) Data recording apparatus and data recording method
US6460096B1 (en) Automatic serial bus transmission sequencer
JP2001239901A (en) Control method of vehicle and device therefor
JP2000259208A (en) Device, communication module, generation method for mapping information and tool device
WO2024013995A1 (en) Electronic control device and electronic control method
US20240126937A1 (en) Center, management system, management method, and storage medium
WO2023277185A1 (en) On-board device, data generation method, data generation program, and vehicle system
AU2006310652A1 (en) Data processing device and method for the operation thereof

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050315

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050422

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: 20050524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050606

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080624

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120624

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120624

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130624

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140624

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

EXPY Cancellation because of completion of term