JP3666286B2 - 自動車用制御装置 - Google Patents
自動車用制御装置 Download PDFInfo
- Publication number
- JP3666286B2 JP3666286B2 JP03057299A JP3057299A JP3666286B2 JP 3666286 B2 JP3666286 B2 JP 3666286B2 JP 03057299 A JP03057299 A JP 03057299A JP 3057299 A JP3057299 A JP 3057299A JP 3666286 B2 JP3666286 B2 JP 3666286B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- control
- shared
- storage
- shared memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000015654 memory Effects 0.000 claims description 179
- 238000012546 transfer Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 description 110
- 238000000034 method Methods 0.000 description 51
- 238000004891 communication Methods 0.000 description 41
- 238000013500 data storage Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 239000000498 cooling water Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/18—Propelling the vehicle
- B60W30/1819—Propulsion control with control means using analogue circuits, relays or mechanical links
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/26—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
- F02D41/266—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor the computer being backed-up or assisted by another circuit, e.g. analogue
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0043—Signal treatments, identification of variables or parameters, parameter estimation or state estimation
- B60W2050/0044—In digital systems
- B60W2050/0045—In digital systems using databus protocols
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
- Control Of Transmission Device (AREA)
Description
【発明の属する技術分野】
本発明は、自動車に設けられた複数の制御対象を制御する自動車用制御装置に関する。
【0002】
【従来の技術】
従来より、自動車に設けられてエンジンやトランスミッション等の複数の制御対象を制御する自動車用制御装置は、各制御対象用の制御プログラムに従って該当する制御対象を夫々制御する複数の制御手段としての制御部を備えており、その各制御部同士が制御用データを共有することにより、制御性を向上させている。
【0003】
例えば、エンジン制御用の制御プログラムに従ってエンジンを制御するエンジン制御部と、トランスミッション制御用の制御プログラムに従ってトランスミッションを制御するトランスミッション制御部とを備えた自動車用制御装置の場合には、エンジン制御部側で回転センサからの信号に基づき算出されたエンジン回転数NEのデータを、トランスミッション制御部側でトランスミッションを制御するために用いたり、逆に、トランスミッション制御部側で駆動軸等の回転数に基づき算出された車速SPDのデータを、エンジン制御部側でエンジンを制御するために用いたりしている。
【0004】
次に、こうした自動車用制御装置の様々なシステム構成について、エンジン制御部とトランスミッション制御部とを備えると共に、その両制御部がエンジン回転数NEのデータと車速SPDのデータとを共有する場合を例に挙げて、図10を用い説明する。
【0005】
まず図10(a)に示すように、1つの電子制御ユニット(以下、ECUという)50に設けられた1つのマイクロコンピュータ(以下、CPUという)1に、エンジン制御部A1とトランスミッション制御部A2とを組み込んだシステム構成がある。つまり、図10(a)に示す1ECU且つ1CPUのシステム構成においては、1つのECU50に設けられた1つのCPU1が、エンジン制御用の制御プログラムとトランスミッション制御用の制御プログラムとの各々を実行することにより、エンジン制御部A1とトランスミッション制御部A2との各々として機能する。
【0006】
そして、この1ECU且つ1CPUのシステム構成では、1つのCPU1によって実現されるエンジン制御部A1とトランスミッション制御部A2とが、制御用データを格納するために当該CPU1に設けられた通常のRAMを介して、エンジン回転数NEのデータや車速SPDのデータを共有している。
【0007】
具体的に説明すると、エンジン制御部A1は(換言すれば、CPU1がエンジン制御部A1として機能する場合には)、上記RAMの所定格納位置から、トランスミッション制御部A2によって書き込まれた(換言すれば、CPU1がトランスミッション制御部A2として機能することで書き込まれた)車速SPDのデータを読み出し、また、トランスミッション制御部A2は(換言すれば、CPU1がトランスミッション制御部A2として機能する場合には)、上記RAMの他の所定格納位置から、エンジン制御部A1によって書き込まれた(換言すれば、CPU1がエンジン制御部A1として機能することで書き込まれた)エンジン回転数NEのデータを読み出す。
【0008】
一方、近年における複雑な制御内容を容易に実現するために、図10(b)に示す如く、1つのECU60に2つのCPU1,2を設けると共に、その一方のCPU1にエンジン制御部A1を組み込み、他方のCPU2にトランスミッション制御部A2を組み込むようにしたシステム構成もある。つまり、図10(b)に示す1ECU且つ2CPUのシステム構成においては、1つのECU60に設けられた2つのCPU1,2のうち、一方のCPU1が、エンジン制御用の制御プログラムを実行することにより、エンジン制御部A1として機能し、他方のCPU2が、トランスミッション制御用の制御プログラムを実行することにより、トランスミッション制御部A2として機能する。
【0009】
そして、この1ECU且つ2CPUのシステム構成では、エンジン制御部A1を成すCPU1側に、トランスミッション制御部A2を成すCPU2へエンジン回転数NEのデータを送信すると共に、CPU2から送信されてくる車速SPDのデータを受信するためのCPU間通信制御部B1が組み込まれ、また、CPU2側に、CPU1へ車速SPDのデータを送信すると共に、CPU1から送信されてくるエンジン回転数NEのデータを受信するためのCPU間通信制御部B2が組み込まれる。
【0010】
そして更に、この1ECU且つ2CPUのシステム構成では、CPU1によって実現されるエンジン制御部A1が、CPU2から送信されて自分側のCPU間通信制御部B1(詳しくは、CPU間通信制御部B1を構成するデータ受信用のレジスタ等)に記憶された車速SPDのデータを読み出し、また、CPU2によって実現されるトランスミッション制御部A2が、CPU1から送信されて自分側のCPU間通信制御部B2(詳しくは、CPU間通信制御部B2を構成するデータ受信用のレジスタ等)に記憶されたエンジン回転数NEのデータを読み出すことにより、制御用データの共有が行われる。
【0011】
一方また、自動車内におけるECUの配置スペースによる制約等から、図10(c)に示す如く、エンジン制御部A1が組み込まれた(エンジン制御部A1として機能する)CPU1と、トランスミッション制御部A2が組み込まれた(トランスミッション制御部A2として機能する)CPU2との各々を、2つの各ECU70,80に設けるようにした、2ECUのシステム構成もある。尚、この2ECUのシステム構成では、2つのECU70,80が、自動車内に配設されたネットワーク(以下、LANという)を介して接続される。
【0012】
そして、この2ECUのシステム構成では、一方のECU70に設けられたエンジン制御部A1を成すCPU1側に、上記LANへエンジン回転数NEのデータを送信すると共に、他方のECU80から送信された車速SPDのデータを上記LANから受信するためのLAN通信制御部C1が組み込まれ、また、ECU80に設けられたトランスミッション制御部A2を成すCPU2側に、上記LANへ車速SPDのデータを送信すると共に、ECU70から送信されたエンジン回転数NEのデータを上記LANから受信するためのLAN通信制御部C2が組み込まれる。
【0013】
そして更に、この2ECUのシステム構成では、CPU1によって実現されるエンジン制御部A1が、他方のECU80から送信されて自分側のLAN通信制御部C1(詳しくは、LAN通信制御部C1を構成するデータ受信用のレジスタ等)に記憶された車速SPDのデータを読み出し、また、CPU2によって実現されるトランスミッション制御部A2が、他方のECU70から送信されて自分側のLAN通信制御部C2(詳しくは、LAN通信制御部C2を構成するデータ受信用のレジスタ等)に記憶されたエンジン回転数NEのデータを読み出すことにより、制御用データの共有が行われる。
【0014】
【発明が解決しようとする課題】
前述した図10(a)〜(c)のように、この種の自動車用制御装置は、同じ内容のエンジン制御やトランスミッション制御を行うものであっても、適用される車種等に応じてシステム構成が異なる。
【0015】
そして、従来の自動車用制御装置では、前述したように、システム構成の違いに応じて、各制御部で共有する制御用データ(共有データ)の格納場所が異なる。
ここで、共有データの格納場所が異なるということは、各制御部が他の制御部と制御用データを共有するためにアクセスすべきアクセス先が異なるということであり、このため、同じ内容のエンジン制御やトランスミッション制御を行う場合であっても、各々のシステム構成毎に各制御部の制御プログラムを作成しなければならないという問題があった。
【0016】
つまり、制御ロジック自体に変更が無くても、共有データをやり取りするためのアクセス先やアクセス方法が変わるため、各制御部の制御プログラムを変更せざるを得なかったのである。そして、このような共有データは、上記例で挙げたエンジン回転数NEや車速SPDのデータだけではなく、他のセンサ情報のデータやトランスミッションの変速状態を示すデータなど、多種類にわたって存在するため、制御プログラムの変更箇所も膨大なものとなっていた。
【0017】
本発明は、こうした問題に鑑みなされたものであり、制御プログラムに従って制御対象を制御する複数のマイクロコンピュータからなる制御手段(制御部)が、制御用データを共有しつつ各自の制御対象を制御する自動車用制御装置において、他のシステム構成を採った場合にでも、同じ制御プログラムを用いることができるようにすることを目的としている。
【0018】
【課題を解決するための手段、及び発明の効果】
まず、本発明の前提構成について説明する。前提構成の自動車用制御装置は、第1の制御プログラムに従って自動車に設けられた第1の制御対象を制御する第1の制御手段と、第2の制御プログラムに従って前記自動車に設けられた第2の制御対象を制御する第2の制御手段とを備えている。そして、その両制御手段(第1の制御手段及び第2の制御手段)のうちの少なくとも一方の制御手段が、他方の制御手段によって求められた所定の制御用データを、前記両制御手段で共有する共有データとして、自己の制御対象を制御するために用いる。
【0019】
そして更に、前提構成の自動車用制御装置は、前記両制御手段のうちで前記共有データを求めて提供する方の制御手段から前記共有データを提供される方の制御手段への前記共有データの転送を、前記各制御手段が各自の制御対象を制御するために用いる全ての制御用データを格納するための記憶手段とは別に設けられた共有メモリを介して行うように構成されている。
【0020】
尚、上記記憶手段としては、一般に、揮発性のRAMにおける所定の記憶領域が用いられるが、その場合、共有メモリとしては、上記RAMにおける他の特定の記憶領域を用いることができる。また、共有メモリとしては、上記RAMとは物理的に異なる他のメモリを用いても良い。
【0021】
そして、このような前提構成の自動車用制御装置によれば、図10(a)に示した1ECU且つ1CPUのシステム構成と、図10(b)に示した1ECU且つ2CPUのシステム構成と、図10(c)に示した2ECUのシステム構成との、何れのシステム構成を採った場合にでも、各制御手段で共有する制御用データ(共有データ)の格納場所を、共有メモリにおける同じ格納位置とすることができ、各制御手段が他の制御手段と制御用データを共有するためにアクセスすべきアクセス先を、システム構成に拘わらず同じにすることができる。
【0022】
よって、同じ内容の制御を行うのであれば、各々のシステム構成毎に各制御手段の制御プログラム(第1の制御プログラム及び第2の制御プログラム)を作成する必要が無く、他のシステム構成を採った場合にでも、同じ制御プログラムを用いることができるようになる。つまり、異なるシステム構成間での制御プログラムの共用化を達成することができ、装置開発に必要な時間や経費を大幅に削減することができる。
【0023】
具体的に説明すると、1ECU且つ2CPUのシステム構成あるいは2ECUのシステム構成の場合には、第1の制御手段と第2の制御手段とが、2つのマイクロコンピュータ(CPU)の各々によって実現されることとなる。
【0024】
そこで、請求項1に記載の自動車用制御装置では、第1の制御手段と第2の制御手段とが、2つのマイクロコンピュータ(CPU)の各々からなると共に、前記共有メモリが、第1の制御手段側と第2の制御手段側との各々に設けられた同一アドレス空間を有する2つのメモリからなる。
【0025】
そして、前記両制御手段(第1の制御手段及び第2の制御手段)のうちで共有データを求めて提供する方の制御手段に設けられた書込手段が、自己側の共有メモリにおける所定の格納位置に共有データを書き込む。また、前記両制御手段のうちで共有データを提供される方の制御手段に設けられた読出手段が、自己側の共有メモリにおける前記所定の格納位置から共有データを読み出す。
【0026】
そして更に、請求項1に記載の自動車用制御装置では、転送手段が、前記書込手段によって共有データを提供する方の制御手段側の共有メモリに書き込まれた共有データを、その共有データを提供される方の制御手段側の共有メモリにおいて、前記共有データを提供する方の制御手段側の共有メモリと同じ格納位置に転送する。
【0027】
つまり、一方の制御手段に設けられた書込手段により、その制御手段側の共有メモリにおける所定の格納位置に共有データが書き込まれると、その共有データは、転送手段により、他方の制御手段側の共有メモリにおける同じ格納位置に転送される。そして、その転送された共有データは、上記他方の制御手段に設けられた読出手段によって読み出されることとなり、こうした一連の動作により、両制御手段での制御用データの共有が実現される。
【0028】
尚、参考として、1ECU且つ1CPUのシステム構成の場合には、第1の制御手段と第2の制御手段が、1つのマイクロコンピュータ(CPU)によって実現されることとなるが、この場合には、前記共有メモリが、第1の制御手段側と第2の制御手段側とに共通に設けられた1つのメモリからなる。そして、前記両制御手段(第1の制御手段及び第2の制御手段)のうちで共有データを求めて提供する方の制御手段に設けられた書込手段が、前記共有メモリにおける所定の格納位置に共有データを書き込み、また、前記両制御手段のうちで共有データを提供される方の制御手段に設けられた読出手段が、前記共有メモリにおける前記所定の格納位置から共有データを読み出す。
【0029】
ここで、請求項1に記載の自動車用制御装置によれば、1ECU且つ2CPUのシステム構成から2ECUのシステム構成へ変更する場合には、転送手段での転送処理内容を、CPU間通信に適合する処理内容からECU間通信に適合する処理内容へ変更するだけで良く、逆に、2ECUのシステム構成から1ECU且つ2CPUのシステム構成へ変更する場合には、転送手段での転送処理内容を、ECU間通信に適合する処理内容からCPU間通信に適合する処理内容へ変更するだけで良い。また、1ECU且つ1CPUのシステム構成へ変更する場合には、当該請求項1に記載の構成と上記参考の構成との比較から分かるように、共有メモリを両制御手段に共通の1つのメモリとすると共に、転送手段を削除するだけで良い。
【0031】
このように、請求項1に記載の自動車用制御装置によれば、各制御手段の制御プログラムを修正することなく、他のシステム構成に変更することができ、異なるシステム構成間での制御プログラムの共用化が可能となる。
そして更に、請求項1に記載の自動車用制御装置では、前記両制御手段(第1の制御手段及び第2の制御手段)が、前記共有データの種類と該共有データの前記共有メモリにおける格納位置を表す格納情報とを対応付けて記憶した格納情報記憶手段を備えている。
【0032】
そして、前記書込手段は、前記共有メモリに書き込むべき前記共有データの該共有メモリにおける格納位置を、前記格納情報記憶手段に記憶されている格納情報に基づき特定して、その特定した格納位置に前記共有データを書き込み、前記読出手段は、前記共有メモリから読み出すべき前記共有データの該共有メモリにおける格納位置を、前記格納情報記憶手段に記憶されている格納情報に基づき特定して、その特定した格納位置から前記共有データを読み出す。
【0033】
このような請求項1に記載の自動車用制御装置によれば、何等かの要因で、何れかの共有データの共有メモリにおける格納位置を変更しなければならない場合でも、格納情報記憶手段に記憶させておく格納情報を変更するだけで対応することができ、非常に有利である。
【0034】
また特に、請求項2に記載の如く、格納情報記憶手段が、前記格納情報として、共有データのデータ長と該共有データの前記共有メモリにおける格納先頭アドレス(データを格納すべき先頭のアドレス)とを記憶するように構成すれば、何等かの要因で、何れかの共有データのデータ長が変更された場合でも、格納情報記憶手段に記憶させておく格納情報のうちのデータ長の項目を変更するだけで対応することができ、非常に有利である。
【0035】
つまり、書込手段と読出手段は、格納情報記憶手段に記憶されている格納情報としての格納先頭アドレスとデータ長とから、共有データの共有メモリにおける格納位置を特定して、その共有データの書き込み/読み出しを行うこととなるからである。
【0036】
ところで、この種の自動車用制御装置に用いられるRAMなどのメモリは、一般に、1アドレス当たりに1バイト(=8ビット)あるいは複数バイトのデータを格納することができる。これに対して、この種の自動車用制御装置において、各制御手段が共有する制御用データ(共有データ)としては、バイト単位のデータに限らず、例えばスイッチのオン/オフ状態を示すスイッチデータやフラグデータなど、1バイトに満たないビット単位のデータもある。
【0037】
ここで、上記のようなビット単位の共有データが複数種類ある場合、その各共有データを共有メモリの異なるアドレスに夫々格納するようにしても良いが、そのようにすると、共有メモリの記憶領域を有効に活用することができない。
そこで、請求項3に記載の自動車用制御装置では、上記請求項1,2に記載の自動車用制御装置において、格納情報記憶手段が、前記共有メモリの1アドレス当たりに格納可能なビット数よりもデータ長が小さい共有データの前記格納情報として、その共有データの前記共有メモリにおける格納アドレス(データを格納すべきアドレス)と該格納アドレスにおける格納ビット位置(データを格納すべきビット位置)とを記憶するようにしている。
【0038】
このため、請求項3に記載の自動車用制御装置によれば、両制御手段が、共有メモリの1アドレス当たりに格納可能なビット数よりもデータ長が小さいビット単位のデータを共有データとして用いる場合に、そのビット単位の共有データは、書込手段により、格納情報記憶手段に記憶されている格納アドレスと格納ビット位置によって特定されるビット単位の格納位置に書き込まれ、また、そのビット単位の共有データは、読出手段により、上記格納アドレスと格納ビット位置によって特定されるビット単位の格納位置から読み出されることとなる。
【0039】
よって、この自動車用制御装置によれば、共有メモリの1アドレスに、ビット単位の複数種類の共有データを任意に記憶させることができるようになり、共有メモリの記憶領域を有効に活用することができるようになる。特に、この種の自動車用制御装置では、メモリの容量を大きく設定するのに限度があるため、非常に有利である。
【0040】
【発明の実施の形態】
以下、本発明が適用された実施形態の自動車用制御装置について図面を用いて説明する。
まず図1(a)は、自動車に搭載された内燃機関型エンジンとトランスミッションとを制御する第1実施形態の自動車用制御装置の構成図である。尚、図1において、前述した図10と同様の機能を有する部分については、同じ符号を付している。
【0041】
図1(a)に示すように、本第1実施形態の自動車用制御装置は、1つのECU10内に2つのCPU1,2を備えた1ECU且つ2CPUのシステム構成を採っており、図10(b)に示した従来装置と同様に、エンジン制御用の制御プログラムに従ってエンジンを制御する第1の制御手段としてのエンジン制御部A1が、一方のCPU1に組み込まれ、トランスミッション制御用の制御プログラムに従ってトランスミッションを制御する第2の制御手段としてのトランスミッション制御部A2が、他方のCPU2に組み込まれている。
【0042】
つまり、1つのECU10に設けられた各CPU1,2は、プログラム及び該プログラムの実行時に参照されるデータを格納したROMや、そのプログラムの実行により算出されて制御に用いられる制御用データを一時格納するためのRAMなどを備えており、その2つのCPU1,2のうち、一方のCPU1が、自分側のROMに格納されたエンジン制御用の制御プログラムを実行することにより、エンジン制御部A1として機能し、他方のCPU2が、自分側のROMに格納されたトランスミッション制御用の制御プログラムを実行することにより、トランスミッション制御部A2として機能する。
【0043】
また、本第1実施形態の自動車用制御装置においても、図10に示した従来装置と同様に、エンジン制御部A1側で算出されたエンジン回転数NEやエンジンの冷却水温などの制御用データを、トランスミッション制御部A2側でトランスミッションを制御するために用い、逆に、トランスミッション制御部A2側で算出された車速SPDなどの制御用データを、エンジン制御部A1側でエンジンを制御するために用いるといった具合に、両制御部A1,A2同士が所定の制御用データを共有することにより、制御性を向上させている。
【0044】
そして、本第1実施形態の自動車用制御装置においては、両制御部A1,A2間での制御用データの共有を実現するために、両CPU1,2の各々に、共有メモリ部D1,D2と、CPU間通信制御部B1,B2とが組み込まれている。
尚、本実施形態の自動車用制御装置において、各CPU1,2により実行されるROM内のプログラムは、プログラムの全機能を単位機能毎に細分化して、その単位機能毎にオブジェクトを用意するオブジェクト指向によってプログラミングされており、オブジェクトとは、データとそのデータを処理する手続きである“メソッド”と呼ばれるプログラムとを、一まとめにしたソフトウェアモジュールである。
【0045】
そして、ソフトウエアだけに着目すると、上記エンジン制御部A1は、CPU1側のROMに格納されたエンジン制御用のオブジェクト(エンジン制御用のメソッド及びデータ)であり、そのエンジン制御部A1と共にCPU1に組み込まれた上記共有メモリ部D1及びCPU間通信制御部B1の各々も、CPU1側のROMに格納された各オブジェクト(メソッド及びデータ)である。同様に、上記トランスミッション制御部A2は、CPU2側のROMに格納されたトランスミッション制御用のオブジェクト(トランスミッション制御用のメソッド及びデータ)であり、そのトランスミッション制御部A2と共にCPU2に組み込まれた上記共有メモリ部D2及びCPU間通信制御部B2の各々も、CPU2側のROMに格納された各オブジェクト(メソッド及びデータ)である。
【0046】
また、本実施形態の説明において、例えば「エンジン制御部A1が…する。」や「共有メモリ部D1は…する。」といったオブジェクトを主語とした動作表現は、実際には、CPUがそのオブジェクトのメソッドに従って動作する(換言すれば、CPUがそのオブジェクトのメソッドを実行する)ことで実現される機能手段が、上記「…」の動作を行うことを示している。また同様に、例えば「エンジン制御部A1によって…される。」や「共有メモリ部D1によって…される。」といったオブジェクトによる受け身の動作表現は、実際には、CPUがそのオブジェクトのメソッドに従って動作することで実現される機能手段によって、上記「…」の動作が行われることを示している。
【0047】
ここで、CPU1側の共有メモリ部D1は、当該CPU1に備えられたRAMにおいて、エンジン制御部A1がエンジンを制御するために用いる全ての制御用データを一時格納するための記憶領域(記憶手段に相当し、以下、制御用データ記憶領域という)とは異なる特定の記憶領域として設定された共有メモリM1に、エンジン制御部A1により算出された制御用データのうちでトランスミッション制御部A2でも使用する制御用データ(エンジン回転数NEのデータなど)を書き込むと共に、トランスミッション制御部A2によって算出された制御用データ(車速SPDのデータなど)を、上記共有メモリM1から読み出してエンジン制御部A1に提供するためのオブジェクトである。
【0048】
同様に、CPU2側の共有メモリ部D2は、当該CPU2に備えられたRAMにおいて、トランスミッション制御部A2がトランスミッションを制御するために用いる全ての制御用データを一時格納するための記憶領域(記憶手段に相当し、以下、制御用データ記憶領域という)とは異なる特定の記憶領域として設定された共有メモリM2に、トランスミッション制御部A2により算出された制御用データのうちでエンジン制御部A1でも使用する制御用データ(車速SPDのデータなど)を書き込むと共に、エンジン制御部A1によって算出された制御用データ(エンジン回転数NEのデータなど)を、上記共有メモリM2から読み出してトランスミッション制御部A2に提供するためのオブジェクトである。
【0049】
尚、CPU1側の共有メモリ部D1とCPU2側の共有メモリ部D2は、ソフトウエア上、全く同じものである。また、上記2つの共有メモリM1,M2のメモリ空間(アドレス)は、CPU1側とCPU2側とで同一に設定されている。また更に、本実施形態において、両CPU1,2のRAM(延いては、共有メモリM1,M2)は、1アドレス当たりに1バイトのデータが格納されるものである。
【0050】
一方、CPU1側のCPU間通信制御部B1は、共有メモリ部D1によって共有メモリM1に書き込まれた制御用データをCPU2へ送信すると共に、CPU2から送信されて来た制御用データを受信して共有メモリM1に書き込むためのオブジェクトである。
【0051】
同様に、CPU2側のCPU間通信制御部B2は、共有メモリ部D2によって共有メモリM2に書き込まれた制御用データをCPU1へ送信すると共に、CPU1から送信されて来た制御用データを受信して共有メモリM2に書き込むためのオブジェクトである。
【0052】
そして、CPU1側のCPU間通信制御部B1は、CPU2側のCPU間通信制御部B2によって送信されて来た共有メモリM2内の制御用データを、共有メモリM1の記憶領域のうち、その制御用データの共有メモリM2における格納位置と同じ格納位置に書き込む。
【0053】
また同様に、CPU2側のCPU間通信制御部B2は、CPU1側のCPU間通信制御部B1によって送信されて来た共有メモリM1内の制御用データを、共有メモリM2の記憶領域のうち、その制御用データの共有メモリM1における格納位置と同じ格納位置に書き込む。
【0054】
つまり、上記2つのCPU間通信制御部B1,B2により、エンジン制御部A1とトランスミッション制御部A2とのうちで、共有データ(即ち、エンジン制御部A1とトランスミッション制御部A2とで共有する制御用データ)を求めて提供する方の制御部側の共有メモリに書き込まれた共有データが、共有データを提供される方の制御部側の共有メモリにおいて、共有データを提供する方の制御部側の共有メモリと同じ格納位置に転送される。
【0055】
一方更に、本実施形態の自動車用制御装置において、CPU1,2の各々に備えられた各ROMの所定記憶領域には、図2に示すように、共有データの種類を示す識別コード(以下、Handle.ID と記す)と、そのHandle.ID が示す共有データの共有メモリM1,M2における格納位置を表す格納情報としての格納アドレス,データ長,及びオフセットとを、対応付けて定義した格納位置定義テーブルが記憶されている。
【0056】
そして、この格納位置定義テーブルにおいて、データ長は、Handle.ID が示す共有データ(つまり、共有メモリM1,M2に格納する共有データ)のデータ長を示し、格納アドレスは、Handle.ID が示す共有データを格納すべき共有メモリM1,M2のアドレス(本実施形態では16進数表示)を示している。また、オフセットは、Handle.ID が示す共有データが、上記格納アドレスにおける何れのビット位置から上位側に格納されるかを示すものであり、格納アドレスにおける最下位ビット位置を0ビット目とした場合の格納ビット位置を示している。
【0057】
尚、格納位置定義テーブルにおいて、データ長が1バイト,2バイト,…といったバイト単位の共有データについては、オフセットとして、常に0が設定される(図2にてHandle.ID が1又は6の欄を参照)。よって、バイト単位の共有データについては、格納アドレスは、その共有データの共有メモリM1,M2における格納先頭アドレスを示すこととなる。
【0058】
そして、共有メモリ部D1,D2は、エンジン制御部A1あるいはトランスミッション制御部A2による共有データの書込要求及び読出要求に応じて、その要求に含まれるHandle.ID が示す共有データの共有メモリM1,M2における格納位置を、上記格納位置定義テーブルから特定し、その特定した格納位置へ該当する共有データを書き込んだり、その特定した格納位置から該当する共有データを読み出す。
【0059】
次に、CPU1とCPU2との各々で実行される処理の内容について、トランスミッション制御部A2側で算出された車速SPDのデータを、エンジン制御部A1側でエンジンのアイドリング状態を判定するために用いる場合と、トランスミッション制御部A2側で検出されたトランスミッションのシフト位置(1速〜4速などの変速段)を示すデータを、エンジン制御部A1側でエンジンのアイドリング目標回転数を設定するために用いる場合とを、例に挙げて説明する。
【0060】
まず、図3に示すように、CPU2で定期的に実行されるトランスミッション制御部A2の車速算出処理では、最初のステップ(以下、「S」と記す)100にて、車速センサからの信号に基づき車速SPDを算出し、続くS110にて、その算出した車速SPDのデータ(本実施形態では8ビット)を、トランスミッションの制御に用いるために、当該CPU2に備えられたRAMの制御用データ記憶領域に格納する。
【0061】
そして、続くS120にて、上記算出した車速SPDのデータを共有メモリM2にも書き込む(コピーする)ために、共有メモリ部への車速SPDの書込要求を行い、その後、当該車速算出処理が終了する。
ここで、この車速SPDの書込要求は、車速SPDのHandle.ID と、上記S100で算出した車速SPDのデータ(Data)とを引数とするものであり、本処理をC言語でプログラミングした場合、車速SPDの書込要求を行うための命令は、次のようになる。
【0062】
Write(車速SPDのHandle.ID ,Data)
尚、この命令の意味は、車速SPDのHandle.ID に対応する格納位置にData(この場合、車速SPDのデータ)を書き込む、ということである。また、車速SPD以外の共有データを共有メモリに書き込む場合には、上記命令における引数のうち、Handle.ID が、書き込むべきデータの種類を示すHandle.ID となり、Dataが、書き込むべきデータとなる。
【0063】
そして、このようにして、トランスミッション制御部A2により共有メモリ部への書込要求が行われると(S120)、CPU2は、共有メモリ部D2の処理のうち、図4に示す共有メモリへの書込処理を実行する。
この書込処理では、まずS200にて、図2に示した格納位置定義テーブルから、上記書込要求の一方の引数であるHandle.ID に対応した、格納アドレス,データ長,及びオフセットからなる格納情報を取得する。そして、続くS210にて、上記書込要求の他方の引数であるDataを、上記S200で取得した格納情報に従って共有メモリM2に書き込み、その後、当該書込処理が終了する。
【0064】
例えば、この例の場合には、図2に示すように、車速SPDのHandle.ID (=6)に対応した格納情報としては、格納アドレスが8003番地であり、データ長が8ビット(1バイト)であり、オフセットが0であるため、トランスミッション制御部A2で算出された車速SPDの8ビットデータが、共有メモリM2の8003番地に書き込まれることとなる。
【0065】
そして、このようにしてCPU2側の共有メモリM2の8003番地に書き込まれた車速SPDのデータは、両CPU1,2に組み込まれたCPU間通信制御部B1,B2により、CPU1側の共有メモリM1の8003番地にも書き込まれる。
【0066】
尚、図4の書込処理は、CPU1においても、共有メモリ部D1の処理のうちの1つとして実行されるものであり、エンジン制御部A1によって求めた共有データを共有メモリM1へ書き込む際に実行される。
例えば、CPU1においては、エンジン制御部A1により回転センサからの信号に基づきエンジン回転数NEが算出されるが、そのエンジン制御部A1によって、図3のS120と同様に、共有メモリ部へのエンジン回転数NEの書込要求が行われると、図4の書込処理が実行される。そして、この場合には、図2に示すように、エンジン回転数NEのHandle.ID (=1)に対応した格納情報としては、格納アドレスが8000番地であり、データ長が16ビット(2バイト)であり、オフセットが0であるため、エンジン制御部A1により算出されたエンジン回転数NEの16ビットデータが、共有メモリM1における8000番地を先頭にして書き込まれることとなる。つまり、エンジン回転数NEの16ビットデータは、共有メモリM1の8000番地と8001番地とに亘って書き込まれる。また、このようにしてCPU1側の共有メモリM1の8000番地及び8001番地に書き込まれたエンジン回転数NEのデータは、両CPU1,2に組み込まれたCPU間通信制御部B1,B2により、CPU2側の共有メモリM2の8000番地及び8001番地にも書き込まれることとなる。
【0067】
一方、図5に示すように、CPU1で定期的に実行されるエンジン制御部A1のアイドリング判定処理では、まずS300にて、共有メモリM1からトランスミッション制御部A2によって算出された車速SPDのデータを読み出すために、共有メモリ部への車速SPDの読出要求を行う。
ここで、この車速SPDの読出要求は、車速SPDのHandle.ID を引数とするものであり、本処理をC言語でプログラミングした場合、車速SPDの読出要求を行うための命令は、次のようになる。
【0068】
SPD_Eng =read(車速SPDのHandle.ID )
尚、この命令の意味は、車速SPDのHandle.ID に対応するデータを読み出して、そのデータを、RAMの制御用データ記憶領域のうち、車速SPDのデータを格納するために設定された記憶領域SPD_Eng に記憶する、ということである。また、共有メモリから車速SPD以外の共有データを読み出す場合には、上記命令において、Handle.ID が、読み出すべきデータの種類を示すHandle.ID となり、SPD_Eng が、RAMの制御用データ記憶領域のうち、読み出すべきデータを格納するために設定された記憶領域となる。
【0069】
そして、このようにして、エンジン制御部A1により共有メモリ部への読出要求が行われると(S300)、CPU1は、共有メモリ部D1の処理のうち、図6に示す共有メモリからの読出処理を実行する。
この読出処理では、まずS400にて、図2に示した格納位置定義テーブルから、上記読出要求の引数であるHandle.ID に対応した、格納アドレス,データ長,及びオフセットからなる格納情報を取得する。次に、S410にて、上記S400で取得した格納情報に従って、共有メモリM1からデータを読み出し、その読み出したデータを、戻り値として上記記憶領域SPD_Eng に書き込む。そして、その後、当該読出処理が終了する。
【0070】
例えば、この例の場合には、図2に示すように、車速SPDのHandle.ID (=6)に対応した格納情報としては、格納アドレスが8003番地であり、データ長が8ビット(1バイト)であり、オフセットが0であるため、共有メモリM1の8003番地から、トランスミッション制御部A2によって算出された車速SPDの8ビットデータが読み出されて、上記記憶領域SPD_Eng に記憶されることとなる。
【0071】
そして、このようにして共有メモリM1から車速SPDのデータが読み出されると、処理の実行が図5のアイドリング判定処理に戻り、そのS310にて、上記記憶領域SPD_Eng に記憶された車速SPDのデータや、エンジン制御部A1の他の処理で算出されたスロットル開度(エンジンのスロットル弁の開度)等を用いて、エンジンのアイドリング状態が判定され、その後、当該アイドリング判定処理が終了する。
【0072】
尚、図6の読出処理は、CPU2においても、共有メモリ部D2の処理のうちの1つとして実行されるものであり、共有メモリM2からエンジン制御部A1によって算出された共有データを読み出す際に実行される。
例えば、CPU2において、トランスミッション制御部A2により、図5のS300と同様に、共有メモリ部へのエンジン回転数NEの読出要求が行われると、図6の読出処理が実行される。そして、この場合には、図2に示すように、エンジン回転数NEのHandle.ID (=1)に対応した格納情報としては、格納アドレスが8000番地であり、データ長が16ビット(2バイト)であり、オフセットが0であるため、共有メモリM2の8000番地及び8001番地に格納されている2バイトデータが、エンジン制御部A1により算出されたエンジン回転数NEのデータとして読み出されて、トランスミッションの制御に用いられることとなる。
【0073】
以上のようにして、CPU1側のエンジン制御部A1とCPU2側のトランスミッション制御部A2とで、車速SPDやエンジン回転数NEなどのバイト単位の制御用データが共有される。
次に、図7に示す如く、CPU2で定期的に実行されるトランスミッション制御部A2のシフト位置検出処理では、まずS500にて、トランスミッションに対する制御状況から該トランスミッションの現在のシフト位置を判定し、続くS510にて、その判定したシフト位置のデータ(本実施形態では2ビット)を、トランスミッションの制御に用いるために、当該CPU2に備えられたRAMの制御用データ記憶領域に格納する。
【0074】
そして、続くS520にて、上記判定したシフト位置のデータを共有メモリM2にも書き込む(コピーする)ために、共有メモリ部へのシフト位置の書込要求を行い、その後、当該シフト位置検出処理が終了する。
尚、本処理をC言語でプログラミングした場合、上記S520にてシフト位置の書込要求を行うための命令は、前述した車速SPDの書込要求と同様に、次のようになる。
【0075】
Write(シフト位置のHandle.ID ,Data)
そして、この命令の意味は、シフト位置のHandle.ID に対応する格納位置にData(この場合、シフト位置のデータ)を書き込む、ということである。
このようにして、トランスミッション制御部A2により共有メモリ部への書込要求が行われると(S520)、前述したように、CPU2は、共有メモリ部D2の処理のうち、図4に示す共有メモリへの書込処理を実行する。
【0076】
すると、この例の場合には、図2に示すように、シフト位置のHandle.ID (=3)に対応した格納情報としては、格納アドレスが8002番地であり、データ長が2ビットであり、オフセットが4であるため、トランスミッション制御部A2により求められたシフト位置の2ビットデータは、図9(e)に示すように、共有メモリM2の8002番地にて最下位ビットを0ビット目とした場合の4ビット目と5ビット目に書き込まれることとなる。
【0077】
そして、このようにして共有メモリM2の8002番地における4,5ビット目に書き込まれたシフト位置のデータは、両CPU1,2に組み込まれたCPU間通信制御部B1,B2により、CPU1側の共有メモリM1の8002番地における4,5ビット目にも書き込まれることとなる。
【0078】
一方、図8に示すように、CPU1で定期的に実行されるエンジン制御部A1のアイドリング目標回転数設定処理では、まずS600にて、共有メモリM1からトランスミッション制御部A2によって求められたシフト位置のデータを読み出すために、共有メモリ部へのシフト位置の読出要求を行う。
【0079】
尚、本処理をC言語でプログラミングした場合、上記S600にてシフト位置の読出要求を行うための命令は、前述した車速SPDの読出要求と同様に、次のようになる。
SHIFT_Eng =read(シフト位置のHandle.ID )
そして、この命令の意味は、シフト位置のHandle.ID に対応するデータを読み出して、そのデータを、RAMの制御用データ記憶領域のうち、シフト位置のデータを格納するために設定された記憶領域SHIFT_Eng に記憶する、ということである。
【0080】
このようにして、エンジン制御部A1により共有メモリ部への読出要求が行われると(S600)、前述したように、CPU1は、共有メモリ部D1の処理のうち、図6に示す共有メモリからの読出処理を実行する。
すると、この例の場合には、図2に示すように、シフト位置のHandle.ID (=3)に対応した格納情報としては、格納アドレスが8002番地であり、データ長が2ビットであり、オフセットが4であるため、共有メモリM1の8002番地における4ビット目と5ビット目から、トランスミッション制御部A2によって求められたシフト位置の2ビットデータが読み出されて、上記記憶領域SHIFT_Eng に記憶されることとなる。
【0081】
そして、図6の読出処理により共有メモリM1からシフト位置のデータが読み出されると、処理の実行が図8のアイドリング目標回転数設定処理に戻り、そのS610にて、上記記憶領域SHIFT_Eng に記憶されたシフト位置のデータや、他の処理で検出されたエアコンの動作状態等を用いて、エンジンのアイドリング目標回転数が設定され、その後、当該アイドリング目標回転数設定処理が終了する。
【0082】
以上のようにして、CPU1側のエンジン制御部A1とCPU2側のトランスミッション制御部A2とで、1バイトに満たないシフト位置の2ビットデータが共有されるが、本実施形態においては、トランスミッション制御部A2により、ドライバーがトランスミッションの変速パターンを設定するために操作するモードスイッチの状態(パワーモード,エコノミーモード,オーバードライブカットなど)や、トランスミッションを変速動作させてからの経過時間である変速後時間なども検出している。そして、トランスミッション制御部A2からエンジン制御部A1へ、上記モードスイッチの状態を示すデータ(本実施形態では1ビット)や変速後時間のデータ(本実施形態では4ビット)、あるいは更に、トランスミッションの他の制御状態を示すフラグのデータ(本実施形態では1ビット)なども提供するようにしている。
【0083】
そして、例えば、トランスミッション制御部A2により求めらてエンジン制御部A1でも用いられるフラグの1ビットデータを、CPU2側で共有メモリM2に書き込む際には、図7のS520と同様に、トランスミッション制御部A2により共有メモリ部へのフラグの書込要求(フラグのHandle.ID を引数とする書込要求)が行われて、図4の書込処理が実行されることとなるが、この場合、図2に示すように、フラグのHandle.ID (=2)に対応した格納情報としては、格納アドレスが8002番地であり、データ長が1ビットであり、オフセットが7であるため、フラグの1ビットデータは、図9(e)に示すように、共有メモリM2の8002番地にて最下位ビットを0ビット目とした場合の7ビット目に書き込まれることとなる。
【0084】
同様に、トランスミッション制御部A2により求めらてエンジン制御部A1でも用いられる変速後時間の4ビットデータを、CPU2側で共有メモリM2に書き込む際には、トランスミッション制御部A2により共有メモリ部への変速後時間の書込要求(変速後時間のHandle.ID を引数とする書込要求)が行われて、図4の書込処理が実行されることとなるが、この場合、図2に示すように、変速後時間のHandle.ID (=4)に対応した格納情報としては、格納アドレスが8002番地であり、データ長が4ビットであり、オフセットが0であるため、変速後時間の4ビットデータは、図9(e)に示すように、共有メモリM2の8002番地にて最下位ビットを0ビット目とした場合の0ビット目から3ビット目までに書き込まれることとなる。
【0085】
また、トランスミッション制御部A2により求めらてエンジン制御部A1でも用いられる、モードスイッチの1ビットデータを、CPU2側で共有メモリM2に書き込む際には、トランスミッション制御部A2により共有メモリ部へのモードスイッチの書込要求(モードスイッチのHandle.ID を引数とする書込要求)が行われて、図4の書込処理が実行されることとなるが、この場合、図2に示すように、モードスイッチのHandle.ID (=5)に対応した格納情報としては、格納アドレスが8002番地であり、データ長が1ビットであり、オフセットが6であるため、モードスイッチの1ビットデータは、図9(e)に示すように、共有メモリM2の8002番地にて最下位ビットを0ビット目とした場合の6ビット目に書き込まれることとなる。
【0086】
つまり、シフト位置のデータ,フラグのデータ,変速後時間のデータ,及びモードスイッチのデータといった、1バイトに満たないビット単位の各共有データは、図9(e)からも分かるように、共有メモリM2(延いては両共有メモリM1,M2)の1アドレスに充填して格納するようにしている。尚、ビット単位の各共有データを共有メモリに書き込むタイミングは、全て同じである必要は無く、各共有データは各々の処理の中で適宜書き込まれる。
【0087】
ここで、この理由について説明する。
まず一般に、この種の自動車用制御装置において、RAMの制御用データ記憶領域には、各種のデータが、フラグのデータ,スイッチのデータ,時間を示すカウント値からなる時間のデータ,他の情報のデータといった具合に、データの種別毎に格納される。
【0088】
例えば、トランスミッション制御部A2が組み込まれたCPU2においては、図9(a)に示す如く、1バイトに満たない複数のフラグデータが、RAMの制御用データ記憶領域における何れかのアドレスADaにまとめて格納され、また図9(b)に示す如く、1バイトに満たない複数の情報データが、RAMの制御用データ記憶領域における他のアドレスADbにまとめて格納される。同様に、図9(c)に示す如く、1バイトに満たない複数の時間データが、RAMの制御用データ記憶領域における何れかのアドレスADcにまとめて格納され、また図9(d)に示す如く、1バイトに満たない複数のスイッチデータが、RAMの制御用データ記憶領域における他のアドレスADdにまとめて格納される。
【0089】
即ち、一般に、1バイトに満たないビット単位の各データは、トランスミッション制御部A2だけで使用されるデータか、エンジン制御部A1などの他の制御部との間で共通使用(共有)されるデータであるか、といった観点から分類及び集約されてRAMの制御用データ記憶領域に格納される訳ではない。
【0090】
これは、トランスミッション制御部A2にて演算する場合に、1バイトに満たない同じ種別の複数のデータを1バイト単位で処理(例えば一括にリセットするなど)できるようにして、演算速度を向上させるためである。
尚、図9(a)は、RAMの制御用データ記憶領域におけるフラグデータ格納用のアドレスADaにおいて、0〜3ビット目と5〜7ビット目には、トランスミッション制御部A2だけで使用されるフラグデータが格納され、4ビット目には、エンジン制御部A1との間で共通使用されるフラグデータが格納されていることを示している。また、図9(b)は、RAMの制御用データ記憶領域における情報データ格納用のアドレスADbにおいて、0,1ビット目と4〜7ビット目には、トランスミッション制御部A2だけで使用される情報データが格納され、2,3ビット目には、エンジン制御部A1との間で共通使用される情報データ(具体的には、前述したシフト位置のデータ)が格納されていることを示している。また更に、図9(c)は、RAMの制御用データ記憶領域における時間データ格納用のアドレスADcにおいて、0〜3ビット目には、トランスミッション制御部A2だけで使用される時間データが格納され、4〜7ビット目には、エンジン制御部A1との間で共通使用される時間データ(具体的には、前述した変速後時間のデータ)が格納されていることを示している。そして、図9(d)は、RAMの制御用データ記憶領域におけるスイッチデータ格納用のアドレスADdにおいて、1〜7ビット目には、トランスミッション制御部A2だけで使用されるスイッチデータが格納され、0ビット目には、エンジン制御部A1との間で共通使用されるスイッチデータ(具体的には、前述したモードスイッチのデータ)が格納されていることを示している。
【0091】
ここで仮に、トランスミッション制御部A2が制御に用いるRAMの制御用データ記憶領域内の上記フラグデータや情報データを、図9(a)〜(d)に例示したメモリ配置のままで共有メモリM2(延いては両共有メモリM1,M2)に格納するように構成すると、共有メモリM1,M2内に、共有データ以外の不要なデータ(この例の場合、トランスミッション制御部A2だけで使用されるデータ)も格納されることとなり、共有メモリM1,M2の容量を大きく設定しなければならなくなる。
【0092】
そこで、本実施形態では、格納位置定義テーブルにより、共有メモリM1,M2の1アドレス当たりに格納可能な1バイトよりもデータ長が小さい共有データについては、その共有データの共有メモリM1,M2における格納アドレスと該格納アドレスにおける格納ビット位置(オフセット及びデータ長)とを定義して、図9(e)に示したように、1バイトに満たないビット単位の各共有データを、共有メモリM1,M2の1つのアドレスに再配置して充填格納するようにしているのである。
【0093】
このため、共有メモリM1,M2の1アドレスに、ビット単位の複数種類の共有データを任意に効率良く充填して格納することができ、共有メモリM1,M2の必要容量を小さく抑えることができる。特に、この種の自動車用制御装置では、メモリの容量を大きく設定するのに限度があるため、非常に有利である。
【0094】
尚、本第1実施形態の自動車用制御装置では、図3のS120及び図7のS520で具体的に説明した共有メモリ部への書込要求を行う処理と、図4の共有メモリへの書込処理とが、書込手段に相当し、図5のS300及び図8のS600で具体的に説明した共有メモリ部への読出要求を行う処理と、図6の共有メモリからの読出処理とが、読出手段に相当している。また、CPU間通信制御部B1,B2が転送手段に相当し、各CPU1,2のROMにおいて図2の格納位置定義テーブルを記憶した所定記憶領域が、格納情報記憶手段に相当している。
【0095】
以上詳述したように、本第1実施形態の自動車用制御装置は、エンジン制御部A1が組み込まれたCPU1とトランスミッション制御部A2が組み込まれたCPU2とを1つのECU10内に備えた1ECU且つ2CPUのシステム構成を採っているが、エンジン制御部A1とトランスミッション制御部A2とのうちで、共有データを求めて提供する方の制御部から該共有データを提供される方の制御部への共有データの転送を、各制御部A1,A2が各自の制御対象を制御するために用いる全ての制御用データを格納するためのRAMの制御用データ記憶領域とは別に設けられた共有メモリM1,M2を介して行うようにしている。
【0096】
このため、本第1実施形態の自動車用制御装置によれば、図1(b)に示すように、エンジン制御部A1が組み込まれたCPU1を一方のECU20に設けると共に、トランスミッション制御部A2が組み込まれたCPU2を他方のECU30に設けて、その両ECU20,30を自動車内のLANを介して通信可能に接続するようにした2ECUのシステム構成へ変更する場合、或いは、図1(c)に示すように、1つのECU40に設けられた1つのCPU1にエンジン制御部A1とトランスミッション制御部A2との両方を組み込むようにした1ECU且つ1CPUのシステム構成へ変更する場合でも、エンジン制御部A1とトランスミッション制御部A2とで共有する制御用データ(共有データ)の格納場所を全く同じにすることができ、両制御部A1,A2が制御用データを共有するためにアクセスすべきアクセス先を、システム構成に拘わらず同じにすることができる。
【0097】
よって、本第1実施形態の自動車用制御装置によれば、同じ内容のエンジン制御とトランスミッション制御を行うのであれば、各々のシステム構成毎に制御プログラム(エンジン制御用の制御プログラム及びトランスミッション制御用の制御プログラム)を作成する必要が無く、他のシステム構成を採った場合にでも、同じ制御プログラムを用いることができるようになる。即ち、異なるシステム構成間での制御プログラムの共用化を達成することができ、装置開発に必要な時間や経費を大幅に削減することができる。
【0098】
具体的に説明すると、まず、▲1▼:図1(a)に示した本第1実施形態の自動車用制御装置を、2ECUのシステム構成に変更する場合には、図1(b)に示すように、ECU20側のCPU1とECU30側のCPU2との各々に、CPU間通信制御部B1,B2に代えて、LANを介してデータ通信を行うためのLAN通信制御部C1,C2を組み込む。そして、CPU1側のLAN通信制御部C1が、CPU2側のLAN通信制御部C2によってLANへ送信された共有メモリM2内の制御用データを、共有メモリM1の記憶領域のうち、その制御用データの共有メモリM2における格納位置と同じ格納位置に書き込み、また、CPU2側のLAN通信制御部C2が、CPU1側のLAN通信制御部C1によってLANへ送信された共有メモリM1内の制御用データを、共有メモリM2の記憶領域のうち、その制御用データの共有メモリM1における格納位置と同じ格納位置に書き込むようにすれば良い。
【0099】
また、▲2▼:図1(a)に示した本第1実施形態の自動車用制御装置を、1ECU且つ1CPUのシステム構成に変更する場合には、図1(c)に示すように、ECU40に設けられた1つのCPU1に、エンジン制御部A1及びトランスミッション制御部A2と共有メモリ部D1とを組み込むようにすれば良い。つまり、この場合には、図1(a)のCPU1にトランスミッション制御部A2を組み込み、その代わりにCPU間通信制御部B1を削除したような構成となり、エンジン制御部A1とトランスミッション制御部A2は、図4及び図6に示した共有メモリ部D1の処理によって、1つの共有メモリM1にアクセスすることとなる。
【0100】
このように、本第1実施形態の自動車用制御装置によれば、2ECUのシステム構成と1ECU且つ1CPUのシステム構成との何れに変更する場合でも、エンジン制御部A1とトランスミッション制御部A2とが制御用データを共有するためにアクセスするアクセス先及びアクセス方法を、全く同じにすることができ、制御プログラムを変更する必要が無くなる。
【0101】
一方逆に、図1(b)に示した2ECUのシステムを、本発明が適用された第2実施形態の自動車用制御装置としたならば、前述した▲1▼の変更を逆に行うだけで、図1(a)に示した1ECU且つ2CPUのシステム構成に変更することができ、また、前述した▲2▼と同様の変更を行うだけで、図1(c)に示した1ECU且つ1CPUのシステム構成に変更することができる。つまり、第1実施形態の自動車用制御装置と同様に、他のシステム構成を採った場合にでも制御プログラムを変更する必要が無い。
【0103】
一方更に、上記実施形態の自動車用制御装置では、エンジン制御部A1とトランスミッション制御部A2とが、共有メモリ部への書込要求あるいは読出要求を行い、共有メモリ部D1,D2は、その要求に含まれるHandle.ID が示す共有データの共有メモリM1,M2における格納位置を、格納位置定義テーブルから特定して、その特定した格納位置へ該当する共有データを書き込み、また、その特定した格納位置から該当する共有データを読み出すようにしている。
【0104】
このため、何等かの要因で、何れかの共有データの共有メモリM1,M2における格納位置を変更しなければならない場合でも、格納位置定義テーブルに記憶させておく格納情報を変更するだけで対応することができる。
例えば、エンジン回転数NEのデータの格納アドレスを8000番地から6000番地に変更しなければならない場合でも、エンジン回転数NEのHandle.ID が1であることには変わりがないため、エンジン制御部A1とトランスミッション制御部A2とのプログラムを変更する必要は無く、図2の格納位置定義テーブルにて、Handle.ID =1に対応する格納アドレスを、8000から6000に変更するだけで済むのである。
【0105】
また、上記実施形態の自動車用制御装置では、格納位置定義テーブルにおける格納情報の1つとして、共有データのデータ長を定義するようにしているため、CPU1,2間やECU20,30間における通信プロトコルや通信速度などの要因により、何れかの共有データのデータ長が変更された場合でも、格納位置定義テーブルに記憶させておく格納情報のうちのデータ長の項目を変更するだけで対応することができる。
【0106】
例えば、車速SPDのデータ長が8ビットから16ビットに変更された場合でも、Handle.ID が6であることには変わりがないため、エンジン制御部A1とトランスミッション制御部A2とのプログラムを変更する必要は無く、図2の格納位置定義テーブルにて、Handle.ID =6に対応するデータ長を、8から16に変更するだけで済むのである。
【0107】
そして更に、上記実施形態の自動車用制御装置によれば、仕様や仕向先の違いなどによって共有データの種類や数を変更しなければならない場合でも、どのデータをどの位置に格納するかといった情報は図2の格納位置定義テーブルによって定義されるため、その格納位置定義テーブル内の情報を変更するだけで、メモリ効率良く(即ち、共有メモリに空きエリアが生じることなく)共有データを格納することができる。
【0108】
以上、本発明の一実施形態について説明したが、本発明は、前述した実施形態に限定されるものではなく、種々の形態を採り得ることは言うまでもない。
例えば、上記各実施形態の自動車用制御装置は、エンジンとトランスミッションを制御するものであったが、本発明は、他の様々な制御対象を制御するための自動車用制御装置に対して全く同様に適用することができる。
【図面の簡単な説明】
【図1】 実施形態の自動車用制御装置の構成図である。
【図2】 格納位置定義テーブルの説明図である。
【図3】 トランスミッション制御部の車速算出処理を表すフローチャートである。
【図4】 共有メモリへの書込処理を表すフローチャートである。
【図5】 エンジン制御部のアイドリング判定処理を表すフローチャートである。
【図6】 共有メモリからの読出処理を表すフローチャートである。
【図7】 トランスミッション制御部のシフト位置検出処理を表すフローチャートである。
【図8】 エンジン制御部のアイドリング目標回転数設定処理を表すフローチャートである。
【図9】 1バイト未満の共有データの共有メモリに対する書き込み状態を説明する説明図である。
【図10】 従来技術の問題を説明する説明図である。
【符号の説明】
1,2…CPU(マイクロコンピュータ)
10,20,30,40…ECU(電子制御ユニット)
A1…エンジン制御部 A2…トランスミッション制御部
B1,B2…CPU間通信制御部 C1,C2…LAN通信制御部
D1,D2…共有メモリ部 M1,M2…共有メモリ
Claims (3)
- 第1の制御プログラムに従って、自動車に設けられた第1の制御対象を制御する第1の制御手段と、
第2の制御プログラムに従って、前記自動車に設けられた第2の制御対象を制御する第2の制御手段とを備え、
前記両制御手段のうちの少なくとも一方の制御手段が、他方の制御手段によって求められた所定の制御用データを、前記両制御手段で共有する共有データとして、自己の制御対象を制御するために用いると共に、
前記両制御手段のうちで前記共有データを求めて提供する方の制御手段から、前記共有データを提供される方の制御手段への前記共有データの転送は、前記各制御手段が各自の制御対象を制御するために用いる全ての制御用データを格納するための記憶手段とは別に設けられた共有メモリを介して行うように構成されている自動車用制御装置であって、
前記第1の制御手段と前記第2の制御手段とは、2つのマイクロコンピュータの各々からなると共に、
前記共有メモリは、前記第1の制御手段側と前記第2の制御手段側との各々に設けられた同一アドレス空間を有する2つのメモリからなり、
前記両制御手段のうちで前記共有データを求めて提供する方の制御手段が、前記共有メモリにおける所定の格納位置に前記共有データを書き込む書込手段を有すると共に、
前記両制御手段のうちで前記共有データを提供される方の制御手段が、前記共有メモリにおける前記所定の格納位置から前記共有データを読み出す読出手段を有し、
更に、前記書込手段によって前記共有データを提供する方の制御手段側の共有メモリに書き込まれた共有データを、該共有データを提供される方の制御手段側の共有メモリにおいて、前記共有データを提供する方の制御手段側の共有メモリと同じ格納位置に転送する転送手段を備え、
前記両制御手段は、前記共有データの種類と該共有データの前記共有メモリにおける格納位置を表す格納情報とを対応付けて記憶した格納情報記憶手段を備えており、
前記書込手段は、前記共有メモリに書き込むべき前記共有データの該共有メモリにおける格納位置を、前記格納情報記憶手段に記憶されている格納情報に基づき特定して、その特定した格納位置に前記共有データを書き込み、
前記読出手段は、前記共有メモリから読み出すべき前記共有データの該共有メモリにおける格納位置を、前記格納情報記憶手段に記憶されている格納情報に基づき特定して、その特定した格納位置から前記共有データを読み出すこと、
を特徴とする自動車用制御装置。 - 請求項1に記載の自動車用制御装置において、
前記格納情報記憶手段は、前記格納情報として、前記共有データのデータ長と前記共有メモリにおける格納先頭アドレスとを記憶していること、
を特徴とする自動車用制御装置。 - 請求項1又は請求項2に記載の自動車用制御装置において、
前記格納情報記憶手段は、前記共有メモリの1アドレス当たりに格納可能なビット数よりもデータ長が小さい共有データの前記格納情報として、その共有データの前記共有メモリにおける格納アドレスと該格納アドレスにおける格納ビット位置とを記憶していること、
を特徴とする自動車用制御装置。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03057299A JP3666286B2 (ja) | 1999-02-08 | 1999-02-08 | 自動車用制御装置 |
US09/476,206 US6334080B1 (en) | 1999-02-08 | 1999-12-30 | Vehicle control apparatus and method sharing control data |
ES00100069T ES2223317T3 (es) | 1999-02-08 | 2000-01-05 | Aparato de control de vehiculo y metodo de comparticion de datos de control. |
EP00100069A EP1026386B1 (en) | 1999-02-08 | 2000-01-05 | Vehicle control apparatus and method sharing control data |
DE60012241T DE60012241T2 (de) | 1999-02-08 | 2000-01-05 | Fahrzeugsteuerungseinrichtung und Methode zur Verteilung der Steuerungsdaten |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03057299A JP3666286B2 (ja) | 1999-02-08 | 1999-02-08 | 自動車用制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000225904A JP2000225904A (ja) | 2000-08-15 |
JP3666286B2 true JP3666286B2 (ja) | 2005-06-29 |
Family
ID=12307574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03057299A Expired - Fee Related JP3666286B2 (ja) | 1999-02-08 | 1999-02-08 | 自動車用制御装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US6334080B1 (ja) |
EP (1) | EP1026386B1 (ja) |
JP (1) | JP3666286B2 (ja) |
DE (1) | DE60012241T2 (ja) |
ES (1) | ES2223317T3 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3692820B2 (ja) | 1999-03-10 | 2005-09-07 | 株式会社デンソー | 自動車用制御装置 |
JP2004042794A (ja) * | 2002-07-12 | 2004-02-12 | Fujitsu Ten Ltd | 制御装置及び制御システム |
JP4473609B2 (ja) * | 2003-06-10 | 2010-06-02 | 株式会社デンソー | 電子システム |
JP2007011734A (ja) * | 2005-06-30 | 2007-01-18 | Denso Corp | 車載制御装置 |
JP4925860B2 (ja) * | 2007-02-22 | 2012-05-09 | 株式会社オートネットワーク技術研究所 | 車載通信システム及び車載通信方法 |
JP5141367B2 (ja) * | 2008-05-14 | 2013-02-13 | 株式会社デンソー | 車両制御装置 |
US20100333070A1 (en) * | 2009-06-26 | 2010-12-30 | Toyota Motor Engineering & Manufacturing North America, Inc. | Multiple ECU Software-In-The-Loop Simulation Environment |
JP5743469B2 (ja) | 2010-09-22 | 2015-07-01 | キヤノン株式会社 | 情報処理装置、その制御方法、及び制御プログラム |
KR101925456B1 (ko) | 2012-05-10 | 2018-12-06 | 에스케이이노베이션 주식회사 | 전자 제어 장치 및 그 제어 방법 |
JP2014142823A (ja) * | 2013-01-24 | 2014-08-07 | Azbil Corp | データ作成装置および方法 |
JP6438381B2 (ja) * | 2015-12-14 | 2018-12-12 | 日立オートモティブシステムズ株式会社 | 電子制御装置 |
JP6555184B2 (ja) * | 2016-04-28 | 2019-08-07 | 株式会社デンソー | 車載制御装置 |
JP6702269B2 (ja) * | 2017-06-15 | 2020-05-27 | 住友電気工業株式会社 | 制御装置、制御方法、およびコンピュータプログラム |
KR20210033308A (ko) * | 2019-09-18 | 2021-03-26 | 현대자동차주식회사 | 차량의 무선 업데이트 장치 및 그 방법 |
JP2021144261A (ja) * | 2020-03-10 | 2021-09-24 | 本田技研工業株式会社 | 電子制御装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2767857B2 (ja) * | 1989-02-07 | 1998-06-18 | 株式会社デンソー | 複数のプロセッサユニットを有する制御システム |
US5369581A (en) * | 1989-03-17 | 1994-11-29 | Hitachi, Ltd. | Vehicle control apparatus and method therefor |
JP2570872B2 (ja) * | 1989-12-04 | 1997-01-16 | 三菱電機株式会社 | ワンチップマイクロコンピュータ |
JP3124968B2 (ja) * | 1990-09-10 | 2001-01-15 | 株式会社日立製作所 | 自動車用制御装置 |
JPH05265895A (ja) * | 1992-03-19 | 1993-10-15 | Nippondenso Co Ltd | 車載通信装置 |
JPH06131314A (ja) * | 1992-10-22 | 1994-05-13 | Toyota Motor Corp | 中央処理装置の異常監視装置 |
JP3039187B2 (ja) * | 1993-02-25 | 2000-05-08 | トヨタ自動車株式会社 | 車両制御装置 |
EP0636955B1 (en) * | 1993-07-26 | 1998-11-04 | Hitachi, Ltd. | Control unit for vehicle and total control system therefor |
JPH0740794A (ja) * | 1993-07-26 | 1995-02-10 | Hitachi Ltd | 自動車用制御ユニット |
JP3494459B2 (ja) * | 1993-09-29 | 2004-02-09 | 富士通株式会社 | Cgデータ表示装置 |
US5617537A (en) * | 1993-10-05 | 1997-04-01 | Nippon Telegraph And Telephone Corporation | Message passing system for distributed shared memory multiprocessor system and message passing method using the same |
DE4445651A1 (de) * | 1994-12-21 | 1996-06-27 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen |
US5668675A (en) * | 1995-01-18 | 1997-09-16 | Fredricks; Ronald J. | Opto-electronic aid for alignment of exterior vehicle mirrors to minimize blind spot effects |
JP3491419B2 (ja) * | 1995-12-04 | 2004-01-26 | 株式会社デンソー | 電子制御装置 |
JP3675996B2 (ja) * | 1996-11-13 | 2005-07-27 | 本田技研工業株式会社 | ネットワークシステム |
JP3898264B2 (ja) * | 1997-02-21 | 2007-03-28 | 本田技研工業株式会社 | 車両用ネットワークシステム |
JP3626328B2 (ja) * | 1997-07-24 | 2005-03-09 | 三菱電機株式会社 | 車両用制御装置 |
JPH11296364A (ja) * | 1998-04-09 | 1999-10-29 | Alpine Electronics Inc | 車載用電子機器の記憶装置のデータ更新方法 |
JP3889510B2 (ja) * | 1998-05-21 | 2007-03-07 | アルパイン株式会社 | 車載機器制御システム |
US6101428A (en) * | 1999-05-28 | 2000-08-08 | Jon Snyder, Inc. | Auto remote control with signal strength discrimination |
-
1999
- 1999-02-08 JP JP03057299A patent/JP3666286B2/ja not_active Expired - Fee Related
- 1999-12-30 US US09/476,206 patent/US6334080B1/en not_active Expired - Lifetime
-
2000
- 2000-01-05 ES ES00100069T patent/ES2223317T3/es not_active Expired - Lifetime
- 2000-01-05 DE DE60012241T patent/DE60012241T2/de not_active Expired - Lifetime
- 2000-01-05 EP EP00100069A patent/EP1026386B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE60012241D1 (de) | 2004-08-26 |
EP1026386A3 (en) | 2002-07-31 |
EP1026386B1 (en) | 2004-07-21 |
ES2223317T3 (es) | 2005-03-01 |
DE60012241T2 (de) | 2005-08-18 |
US6334080B1 (en) | 2001-12-25 |
JP2000225904A (ja) | 2000-08-15 |
EP1026386A2 (en) | 2000-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3666286B2 (ja) | 自動車用制御装置 | |
EP0425199B1 (en) | Motor vehicle control system and control unit thereof | |
US5271453A (en) | System and method for controlling air conditioner | |
JPH0792018B2 (ja) | 車両用制御装置 | |
JP2836283B2 (ja) | バッファ管理方式 | |
US6374161B1 (en) | Automobile control system and method capable of revising control data transmission function | |
US5428760A (en) | Circuitry and method for sharing internal microcontroller memory with an external processor | |
JP3726295B2 (ja) | 車両用制御装置 | |
US5455920A (en) | Multiprocessor system having offset address setting | |
US4924379A (en) | Multiprocessor system with several processors equipped with cache memories and with a common memory | |
US11573857B2 (en) | Method for the secured storing of a data element in an external memory and interface module | |
JP3690179B2 (ja) | 自動車用制御装置 | |
JPS6155702B2 (ja) | ||
JP3562126B2 (ja) | Dma制御装置 | |
US5793991A (en) | Method of equalizing loads on a computer bus | |
JPS592058B2 (ja) | 記憶装置 | |
JP3741873B2 (ja) | Ramの診断装置 | |
JP3186150B2 (ja) | データ転送装置 | |
JP2800280B2 (ja) | プリンタサーバ | |
JP3591914B2 (ja) | 車載用音響機器 | |
JPH1196082A (ja) | 車両用メモリ書換え装置 | |
JP2636760B2 (ja) | マルチプロセッサシステム | |
JPS6143367A (ja) | レジスタ制御方式 | |
JPH0712005A (ja) | 車両用の電子制御装置 | |
JPH02193247A (ja) | 複数のマイクロコンピュータを有する制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040714 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041207 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050204 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050315 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050328 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080415 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110415 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120415 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120415 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130415 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130415 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140415 Year of fee payment: 9 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |