JP6477430B2 - 電子制御装置 - Google Patents

電子制御装置 Download PDF

Info

Publication number
JP6477430B2
JP6477430B2 JP2015220546A JP2015220546A JP6477430B2 JP 6477430 B2 JP6477430 B2 JP 6477430B2 JP 2015220546 A JP2015220546 A JP 2015220546A JP 2015220546 A JP2015220546 A JP 2015220546A JP 6477430 B2 JP6477430 B2 JP 6477430B2
Authority
JP
Japan
Prior art keywords
domain
electronic control
application
processing
control application
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.)
Active
Application number
JP2015220546A
Other languages
English (en)
Other versions
JP2017091214A (ja
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 JP2015220546A priority Critical patent/JP6477430B2/ja
Priority to DE102016222091.8A priority patent/DE102016222091A1/de
Publication of JP2017091214A publication Critical patent/JP2017091214A/ja
Application granted granted Critical
Publication of JP6477430B2 publication Critical patent/JP6477430B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W20/00Control systems specially adapted for hybrid vehicles
    • B60W20/50Control strategies for responding to system failures, e.g. for fault diagnosis, failsafe operation or limp mode
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0006Digital architecture hierarchy
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/009Priority selection
    • B60W2050/0094Priority selection of control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Description

本発明は、他の電子制御装置と連携した制御と、他の電子制御装置とは独立して、単独での制御とを行う電子制御装置に関する。
例えば特許文献1には、車両に搭載された複数のECU間での機能連携のための情報を、各ECUの車両制御用アプリケーションが使用するよりも事前に共有可能とした車載用情報処理装置が記載されている。
この車両用情報処理装置では、例えば、ナビゲーション用のアプリケーションプログラムを実行する第1ECUと、トランスミッション制御用のアプリケーションプログラムを実行する第2ECUとが、車載LANを介して接続される。
第1ECUは、地図探索用のプログラムである地図探索用アプリケーションや、データベースに記憶されている地図情報を用いてナビゲーションに表示する地図データを描画する描画アプリケーションなどを実行する。第1ECUにおいて、地図探索用アプリケーションが実行されている場合に、車両の前方に険しく曲がりくねった坂道があることが検出されたとき、燃費向上のためには、道路の勾配、カーブに従って自動的にトランスミッションのシフト変更を適切に行うことが効果的となる。
このため、第2ECUは、機能連携のために第1ECU200とデータを共有する。具体的には、第2ECUがトランスミッション制御を実行する前に、予め第1ECUが第2ECUに地図データを送信しておく。これにより、第2ECUが、トランスミッション制御を行うとき、即座に詳細な地図情報を参照することが可能としている。
特開2011−14033号公報
上述した例のように、第1ECUと第2ECUとが連携した制御を行う場合、例えば、第1ECUでは、第2ECUと連携した制御を行うための連携制御用アプリケーション(例えば、地図探索用アプリケーション)と、単独での制御を行うための単独制御用アプリケーション(例えば、描画アプリケーション)とを同時期に実行することが必要となることがある。
この際、連携制御用アプリケーションに含まれる処理であるか、それとも単独制御用アプリケーションに含まれる処理であるかをなんら考慮することなく、第1のECUが、単に、それぞれの処理を行うことが必要となった時期に応じて順番に処理することとすると、それぞれの処理を適切に処理できない状況が生じたり、また、効率的な処理を行い得ない虞がある。
本発明は、上述した点に鑑みてなされたものであり、他の電子制御装置と連携した制御と、他の電子制御装置とは独立して単独での制御とを行う場合に、それぞれの制御処理を適切かつ効率的に行い得る電子制御装置を提供することを目的とする。
上記目的を達成するために、本発明による電子制御装置は、
アプリケーションソフトを記憶する記憶部(41)と、
そのアプリケーションソフトには、他の電子制御装置と連携した制御を行うための連携制御用アプリケーション(41a、41b)と、他の電子制御装置とは独立して、単独で制御を行うための単独制御用アプリケーション(41c)とが含まれており、
連携制御用アプリケーションに含まれる処理及び単独制御用アプリケーションに含まれる処理をそれぞれ実行するものであり、リソースとして、少なくともマイクロプロセッシングユニットとキャッシュメモリとを備えたマイクロコントローラ(48)と、
連携制御用アプリケーションに含まれる処理と、単独制御用アプリケーションに含まれる処理とを同時期に実行する必要が生じたとき、それぞれの処理の内容に基づき、いずれを優先するべきかを決定する決定部(S120)と、
決定部によって決定された優先順位に従い、優先順位が高い処理から、その処理の実行に必要なリソースを確保して、該当する処理に割り付けるリソース割付部(S130)と、を備える。
連携制御用アプリケーションと、単独制御用アプリケーションとは、互いに依存関係にはなく、一方の処理の終了後に他方の処理を開始する必要はない。換言すれば、連携制御用アプリケーションの処理と、単独制御用アプリケーションの処理とは、マイクロコントローラにおいて、並行処理を行うことが可能である。ただし、マイクロコントローラの処理能力の制約から、常に、連携用制御用アプリケーションの処理と、単独制御用アプリケーションの処理とを並行処理することができるとは限らない。
そこで、本発明の電子制御装置では、それぞれの処理内容に基づき、連携制御用アプリケーションの処理と、単独制御用アプリケーションの処理とのいずれを優先すべきか決定する決定部と、決定部によって決定された優先順位に従い、優先順位が高い処理から、その処理の実行に必要なリソースを確保して、該当する処理に割り付けるリソース割付部とを設けた。
このように構成したため、同時期に実行する処理のそれぞれの負荷が小さければ、それぞれの処理に対してリソースを確保して割り付けることができ、各処理を並行処理することができる。従って、連携制御用アプリケーションの処理と、単独制御用アプリケーションの処理とを効率的に実行することができる。一方、同時期に実行する処理の負荷の合計が、マイクロコントローラの処理能力を超え、並行処理することができない場合には、優先順位の高い処理から順に、リソースを確保して割り付けを行っているので、より早期に処理する必要性の高い処理から確実に実行することができる。このように、連携制御用アプリケーションの処理と、単独制御用アプリケーションの処理とのいずれかしか実行できない状況において、適切な順序で、処理を実行することが可能となる。
上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
第1実施形態に係る制御システムの構成を示す構成図である。 マスタECU及びスレーブECUのソフトウエア構造と、マスタECUとスレーブECU間の接続関係を示す図である。 マスタECUにおけるドメイン抽象化層の役割を説明するための図である。 ドメイン抽象化層において実行される処理を示すフローチャートである。 図4のフローチャートにおける、優先順位の決定処理を詳細に示すフローチャートである。 他の実施形態に係る電子制御装置のソフトウエア構造を示す図である。
以下、本発明の実施形態に係る電子制御装置について、図面を参照しつつ説明する。なお、以下には、本実施形態に係る電子制御装置を車両の制御システムに適用した例について説明する。
車両の制御システムは、例えば、図1に示すように、走行駆動源として、エンジンと電動モータ(モータジェネレータ)とを有するハイブリッド車両に適用され、このハイブリッド車両に搭載された各種の車載装置を制御するために用いられる。しかし、制御システムは、ハイブリッド車両における車載装置の制御に適用されることに限られる訳ではなく、エンジンのみを有する通常の車両や、電動モータのみを有する電動車両の車載装置の制御に適用されても良い。
図1は、上述したハイブリッド車両における複数の車載装置を制御するために、制御システム1が有する各種機能の一例を機能ブロック図として表したものである。ただし、図1には、制御システム1が有する機能の全てが示されている訳ではない。これは、説明の便宜のため、図1には、本実施形態に係る制御システム1の構成の一例しか示していないためである。
図1において、制御システム1は、車載装置としての冷却機構30,エンジン31,トランスミッション(TM)32、モータジェネレータ(MG)33、ブレーキ装置34、及びステアリング装置35などを制御するための機能を有する。しかしながら、上述したように、制御システム1は、さらに、例えば、サスペンション、高圧バッテリ、エアコン装置などのその他の車載装置を制御するための機能を有していても良い。
図1に示すように、制御システム1は、各種の車載装置30〜35を制御するための機能が予め複数の論理ブロック(機能ブロック)12〜16、22〜26に区分けされ、それら複数の論理ブロック12〜16、22〜26間の連結関係を規定することによって構成されている。すなわち、制御システム1における各種の車載装置30〜35を制御するための論理構造が、論理ブロック12〜16、22〜26と、それら論理ブロック12〜16、22〜26間の連結関係によって規定されている。そして、制御システム1は、複数の論理ブロック12〜16、22〜26が、規定された連結関係に従って連携して動作することにより、各種の車載装置30〜35を制御する。
なお、図1には示していないが、各論理ブロック12〜16、22〜26は、少なくとも1つ、通常は多数の制御ブロックを有している。各論理ブロック12〜16、22〜26は、それら多数の制御ブロックにおける演算処理を適宜組み合わせることにより、それぞれの機能(役割)を発揮する。
例えば、論理ブロックとしてのエンジン制御部24は、エンジン31の運転状態を検出すべく、各種のセンサからのセンサ信号を入力して、論理ブロック内で取り扱うことができる信号に変換する制御ブロックを有する。また、センサ信号から把握されるエンジン31の運転状態から現状の発生トルクを算出するとともに、上位の論理ブロック(パワートレインコーディネータ(PTC)22)から指示された指令トルクと差異がある場合に、その差異をなくすための目標とするエンジン運転状態を算出する制御ブロックを有する。さらに、目標エンジン運転状態を達成するためのスロットルバルブ開度、燃料噴射量と燃料噴射時期、及び点火時期を算出する制御ブロックを有する。ただし、これらは単なる例示であって、エンジン制御部24は、その機能を発揮するために必要な、その他の演算処理を行う制御ブロックを有する場合もあり得る。また、例示された制御ブロックを含め、エンジン制御部24内の制御ブロックは、適宜、統合されたり、逆に、細分化されたりすることが可能なものである。
制御システム1は、実際には、各論理ブロック12〜16、22〜26を、プログラムやデータベースなどの制御ソフトとして、複数の電子制御装置に振り分けて実装することにより具現化される。この場合、複数の電子制御装置は、論理ブロック12〜16、22〜26の連結関係を維持できるように、個別の通信線を介して接続されたり、各電子制御装置が共通のネットワークに接続され、連結関係に従う所望の電子制御装置同士が通信可能に構成されたりする。なお、必ずしも各論理ブロック12〜16、22〜26をそれぞれ別個の電子制御装置に実装する必要はなく、幾つかの論理ブロックを共通の電子制御装置に実装しても良い。
本実施形態に係る制御システム1は、複数の車載装置30〜35の機能に応じて予め複数のドメインに区分けされている。別の表現をすれば、各論理ブロック12〜16、22〜26が果たすべき機能のまとまりに応じて、予め複数のドメイン10、20に区分けされている。
複数の車載装置30〜35は、いずれかのドメイン10、20に割り振られる。そして、割り振られたドメイン10、20に属するドメイン制御部11、21が、各車載装置30〜35の制御目標値を算出して、車載装置30に直接出力したり、車載装置31〜35の制御を司る車載装置制御部15、16、24〜26へ出力したりする。なお、図1に示すように、各ドメイン制御部11、21は、少なくとも1つの論理ブロックから構成される。
具体的には、図1に示す例では、制御システム1は、運動ドメイン10とエネルギードメイン20とに区分けされている。そして、運動ドメイン10には、前後方向及び横方向における車両の挙動を制御する機能を担う運動ドメイン制御部11が設けられている。また、エネルギードメイン20には、車両を加速させたり、減速させたり、あるいは速度を一定に保つように、車両の動力を制御する機能を担うエネルギードメイン制御部21が設けられている。
また、本実施形態に係る制御システム1では、図1に示すように、各ドメイン制御部11、21の下に、対応するドメイン制御部11、21からの指令(制御目標値)に従い、各車載装置31〜35の動作状態を制御する車載装置制御部15、16、24〜26が設けられている。これら車載装置制御部15、16、24〜26は、各車載装置31〜35の動作状態をドメイン制御部11、21からの制御目標値に近づけるための制御信号を生成し、各車載装置31〜35に出力する。
具体的には、図1に示す例では、運動ドメイン制御部11の下に、ブレーキ装置34を制御するブレーキ制御部15及びステアリング装置35を制御するステアリング制御部16が設けられている。また、エネルギードメイン制御部21の下に、エンジン31を制御するエンジン制御部24、トランスミッション32を制御するトランスミッション(TM)制御部25、及びモータジェネレータ33を制御するMG制御部26が設けられている。
なお、モータジェネレータ33は、車両の減速時などに回生エネルギーを発生する。MG制御部26の上位の論理ブロックであるモータジェネレータコーディネータ(MGC)23は、その回生エネルギーの生成も管理する。このエネルギーは、インバータによってDC変換され、図示しない高圧バッテリに蓄電される。
ここで、図1に論理ブロック12〜16、22〜26として例示した、制御システム1が有する各種の機能について詳しく説明する。
制御システム1には、各論理ブロック12〜16、22〜26が与えられた機能を発揮するために必要な各種の情報が入力される。例えば、図示しない各種のセンサによって、ハイブリッド車両の運転のため、運転者によって操作される各種の操作部(アクセルペダル、ブレーキペダル、シフトレバー、ステアリングホイールなど)の操作が検出され、その操作検出信号が制御システム1に入力される。また、車両の走行状態(例えば、速度、加速度、ヨーレートなど)や、各種の車載装置30〜35の動作状態(例えば、エンジン温度、エンジン回転数、トランスミッション変速比、インバータ温度、モータ回転数、ブレーキ油圧、操舵角など)を検出するセンサからの動作検出信号も、制御システム1に入力される。
上述した各種の信号は、制御システム1の各ドメイン制御部11、21や車載装置制御部15、16、24〜26に与えられる。
例えば、運動ドメイン制御部11には、運転者による各種の操作部の操作を示す操作検出信号、及び車両の走行状態を検出するセンサからの動作検出信号が入力される。そして、運動ドメイン制御部11は、原則として、車両が運転者による操作部の操作に応じた挙動を示すように、ブレーキ装置34及びステアリング装置35の制御目標値を算出する。
具体的には、車両挙動制御部12が、車両の挙動を安定させつつ、運転者の操作に対応するように車両の挙動を制御すべく、前後挙動制御部13に対して前後方向の目標加速度(目標減速度)を与えるとともに、左右挙動制御部14に対して左右方向の目標加速度を与える。前後挙動制御部13は、与えられた前後方向の目標加速度(目標減速度)を実現すべく、エネルギードメイン制御部21のパワートレインコーディネータ(PTC)22に対して目標駆動トルク(加速トルク又は制動トルク)を出力するとともに、ブレーキ制御部15に対して、ブレーキ装置34の制御目標値である目標制動トルクを出力する。また、左右挙動制御部14は、与えられた左右方向の目標加速度を実現すべく、ステアリング制御部16に対して、ステアリング装置35の制御目標値である目標アシストトルクを出力する。
なお、例えば、運動ドメイン制御部11に、車両の走行車線を区画する白線の認識情報や、先行車両や障害物の情報など、車両の外部環境に関する情報を与えるようにしてもよい。これにより、運動ドメイン制御部11において、例えば、白線によって区画される走行車線を逸脱しないように、ステアリング装置35のアシスト力を調整する(レーンキープコントロール)ように制御目標値を算出することが可能となる。また、運動ドメイン制御部11にて、例えば、先行車両や障害物との衝突を避けるように、ブレーキ装置34やステアリング装置35の制御目標値を算出することが可能となる。
また、エネルギードメイン制御部21には、例えば、図示しない高圧バッテリの電圧や電流を検出するセンサ信号や、車両の走行状態を示すセンサ信号などが入力される。エネルギードメイン制御部21のMGC23は、それらのセンサ信号に基づいて、高圧バッテリの蓄電量を算出する。さらに、MGC23は、主として、高圧バッテリの蓄電量に基づいて、モータジェネレータ33が発生可能な最大MGトルクを算出して、PTC22に与える。PTC22は、運動ドメイン制御部11から与えられた目標駆動トルク(加速トルク)を最も効率良く実現するために、モータジェネレータ33が発生可能な最大MGトルクや、車両の走行状態を考慮しつつ、エンジン31が発生すべき目標エンジントルク、トランスミッション32が実現すべき目標変速比、及びモータジェネレータ33が発生すべき目標MGトルクを算出する。算出された目標エンジントルク、目標変速比、及び目標MGトルクは、それぞれ、制御目標値として、エンジン制御部24、TM制御部25、及びMGC23に与えられる。また、TM制御部25に対しては、クラッチの動作に関する制御目標値(クラッチの接続開始時期や、クラッチの接続完了までの時間など)も与えられる。
さらに、エネルギードメイン制御部21のMGC23は、車両の減速時等において、主として、高圧バッテリの蓄電量に基づいてモータジェネレータ33が発生可能な回生電力量を算出する。この回生電力量に対応する回生制動トルクに関する情報は、MGC23から、PTC22を介して運動ドメイン制御部11の前後挙動制御部13に与えられる。
前後挙動制御部13は、車両挙動制御部12から目標減速度が与えられた場合、その目標減速度を実現するための目標制動トルクを算出する。そして、モータジェネレータ33が回生制動トルクを発生可能である場合には、極力、その回生制動トルクを活用するように、ブレーキ装置34による目標制動トルクと、回生ブレーキによる目標回生制動トルクとを定める。この目標回生制動トルクは、制御目標値として、PTC22を介して、エネルギードメイン制御部21のMGC23に与えられる。
また、PTC22は、上述した運動ドメイン10における前後挙動制御部13と協調したドメイン間連携制御、及び、MGC23、エンジン制御部24、並びにTM制御部25と協調したドメイン内連携制御に加え、他の論理ブロック(電子制御装置)とは独立した単独制御である、冷却機構30を用いた温度調節制御を実行する。
冷却機構30は、ハイブリッド車両において、エンジン31の冷却系と、MG33のインバータの冷却系とを共通化し、同じ冷却水が、エンジン31及びMG33のインバータとを循環するように構成されたものである。冷却機構30は、温められた冷却水を空気と熱交換して冷却するためのラジエータの他、冷却水を循環させるためのポンプ、冷却水の温度を検出する水温センサ、冷却水の循環経路を切り換える3方弁などの流路切換弁などを備える。
PTC22には、例えば、冷却水温度、エンジン温度及びインバータ温度が入力される。そして、PTC22が、冷却水温度、エンジン温度及びインバータ温度に基づき、冷却機構30のポンプ及び流路切換弁の制御目標値を算出するとともに、それぞれの動作状態が制御目標値に近づくように、ポンプ及び流路切り換え弁を制御する。具体的には、PTC22は、エンジン31及びMG33のインバータの温度調節(冷却等)の必要性に応じて、冷却水がいずれも循環しない状態、冷却水がエンジン31だけを循環する状態、冷却水がMG33のインバータだけを循環する状態、及び冷却水がエンジン31及びインバータの双方を循環する状態のいずれかに切り換える。また、PTC22は、冷却水温度、エンジン温度及びインバータ温度に基づいて、ポンプの回転数により冷却水の流量を制御する。これにより、PTC22は、エンジン31及び/又はインバータの発熱温度を適切に調節することが可能となる。
ブレーキ制御部15は、前後挙動制御部13から与えられたブレーキ装置34の制御目標値である目標制動トルクに従い、ブレーキ装置34を制御する。より具体的には、ブレーキ制御部15は、ブレーキ装置34が目標制動トルクを発生するようにブレーキフルード圧を制御するための制御信号を出力する。また、ステアリング制御部16も、ステアリング装置35が左右挙動制御部14から与えられた目標アシストトルクを発生するように制御信号を出力して、ステアリング装置35によるアシストトルクを制御する。
エンジン制御部24は、PTC22から与えられた目標エンジントルクを実現するための制御信号をエンジン31に出力する。より詳細には、エンジン制御部24は、エンジン31の運転状態を検出する各種のセンサ(回転数、温度、空気流量等)からのセンサ信号を入力する。そして、センサ信号から把握されるエンジンの運転状態から現状の発生トルクを算出する。エンジン制御部24は、現状の発生トルクを目標エンジントルクに近づけるためのエンジン運転状態を算出し、その算出したエンジン運転状態を達成するための燃料噴射量と燃料噴射時期、及び点火時期を求め、これらに応じた噴射制御信号及び点火制御信号をエンジン31に出力する。
TM制御部25も、PTC22から目標変速比が与えられ、この与えられた目標変速比を実現するための制御信号をトランスミッション32に出力する。また、TM制御部25は、トランスミッション32において変速比を変更する場合、クラッチの動作に関する制御目標値に従って、クラッチの動作を制御するための制御信号も出力する。
MG制御部26は、MGC23から目標MGトルクが与えられた場合には、その目標MGトルクを発生させるように、モータジェネレータ33のインバータへ制御信号を出力する。一方、MG制御部26は、MGC23から目標回生制動トルクが与えられた場合には、その目標回生制動トルクに相当する制動力をモータジェネレータ33が車軸に対して付与するように、モータジェネレータ33のインバータへ制御信号を出力する。
上述した制御システム1におけるPTC22のように、制御システム1のドメイン制御部11,21に適用される電子制御装置には、他の電子制御装置と連携した制御(ドメイン間連携制御、ドメイン内連携制御)を行うための連携制御用アプリケーションと、他の電子制御装置とは独立して、単独で制御(温度調節制御)を行うための単独制御用アプリケーションとを含むものがある。このため、状況によっては、電子制御装置は、マイクロコントローラにおいて、連携制御用アプリケーションと、単独制御用アプリケーションとを同時期に実行することが必要となることがある。なお、PTC22以外のドメイン制御部11、21に属するECUも、車載装置制御部を介することなく、単独で制御を行うべき車載装置が割り当てられた場合、同様の状況が発生し得る。
この際、連携制御用アプリケーションに含まれる処理であるか、それとも単独制御用アプリケーションに含まれる処理であるかをなんら考慮することなく、電子制御装置が、単に、それぞれの処理を行うことが必要となった時期に応じて順番に処理することとすると、それぞれの処理を適切に処理できない状況が生じたり、また、効率的な処理を行い得ない虞が生じる。例えば、より重要な処理が後回しになってしまい、その重要な処理に関連する制御全体に遅れが生じてしまったり、一方の処理が終了するまで、他方の処理を待機することで、マイクロコントローラの能力を十分に活用できず、全体として処理の実行が非効率になってしまったり、といった問題が生じる虞がある。
ここで、連携制御用アプリケーションと、単独制御用アプリケーションとは、互いに依存関係にはなく、一方の処理の終了後に他方の処理を開始する必要はない。換言すれば、連携制御用アプリケーションの処理と、単独制御用アプリケーションの処理とは、電子制御装置のマイクロコントローラにおいて、並行処理を行うことが可能である。ただし、マイクロコントローラの処理能力の制約から、常に、連携用制御用アプリケーションの処理と、単独制御用アプリケーションの処理とを並行処理することができるとは限らない。
そこで、本実施形態の電子制御装置では、それぞれの処理内容に基づき、連携制御用アプリケーションの処理と、単独制御用アプリケーションの処理とのいずれを優先すべきか決定し、その決定された優先順位に従い、優先順位が高い処理から、その処理の実行に必要なマイクロコントローラのリソースを確保して、該当する処理に割り付けることとした。これにより、同時期に実行する処理のそれぞれの負荷が小さければ、それぞれの処理に対してマイクロコントローラのリソースを確保して割り付けることができ、各処理を並行処理することができる。従って、連携制御用アプリケーションの処理と、単独制御用アプリケーションの処理とを効率的に実行することができる。一方、同時期に実行する処理の負荷の合計が、マイクロコントローラの処理能力を超え、並行処理することができない場合には、優先順位の高い処理から順に、リソースを確保して割り付けを行っているので、より早期に処理すべき重要性の高い処理から確実に実行することができる。このように、連携制御用アプリケーションの処理と、単独制御用アプリケーションの処理とのいずれかしか実行できない状況において、適切な順序で処理を実行することが可能となる。
以下、このような機能を備えた電子制御装置について、図2〜図5に基づき、さらに詳細に説明する。なお、以後の説明において、連携制御用アプリケーションと単独制御用アプリケーションを実行する電子制御装置をマスタECUと呼び、同じドメイン内において、マスタECUから指示された制御目標値に従って車載装置を制御する電子制御装置をスレーブECUと呼ぶ。
図2は、主として、マスタECU40及びスレーブECU50a、50bのソフトウエア構造と、マスタECU40とスレーブECU50a、50b間の接続を示しており、制御対象となる車載装置などの、その他の構成は省略している。マスタECU40及びスレーブECU50a、50bは、各々、メモリを有しており、図2に示す構造のソフトウエアを、それぞれのメモリに記憶している。
マスタECU40及びスレーブECU50a、50bは、図2に示すように、いわゆるAUTOSAR(AUTomotive Open System Architecture)に準拠するソフトウエア構造を有している。以下、マスタECU40を例として、ソフトウエア構造について説明する。なお、マスタECU40とスレーブECU50a、50bとのソフトウエア構造は、基本的には類似しているが、後述するドメイン抽象化層44は、マスタECU40のみに設けられ、スレーブECU50a、50bには設けられない点で相違している。スレーブECU50a、50bでは、ドメイン間連携制御用アプリケーション41aやドメイン内連携制御用アプリケーション41bは実行されず、これらのアプリケーション41a、41bの処理との調停を図る必要がないので、ドメイン抽象化層は設けられないためである。
マスタECU40では、図2に示すように、ハードウエアであるマイクロコントローラ48に、ソフトウエアが搭載され、そのソフトウエアは、大きくは、基本ソフトウエア43〜47、ランタイム環境(RTE)42、及び、アプリケーション層41に含まれるアプリケーションソフトウエア41a〜41cに分けられる。また、マイクロコントローラ48は、少なくとも1セットのマイクロプロセッシングユニットとキャッシュメモリとを備えている。
基本ソフトウエア43〜47は、マイクロコントローラ抽象化層43、ドメイン抽象化層44、ECU抽象化層45、サービス層46に階層化され、階層が高くなるほど、抽象化度合が強くなり、各種のハードウエアから独立するようになっている。また、基本ソフトウエア43〜47は、複合ドライバ47を含む。
マイクロコントローラ抽象化層43は、基本ソフトウエア43〜47の最下層に位置し、マイクロコントローラドライバ、メモリドライバ、通信ドライバ、I/Oドライバなどを有する。このマイクロコントローラ抽象化層43は、マイクロコントローラ48のハードウエア構成に依存する部分であるが、このマイクロコントローラ抽象化層43によって、マイクロコントローラ48とその周辺機器とが抽象化されるため、これより上位の階層は、マイクロコントローラ48及び周辺機器から独立することになる。
ドメイン抽象化層44は、マイクロコントローラ抽象化層43の上位に位置している。このドメイン抽象化層44は、連携制御用アプリケーション(ドメイン間連携制御用アプリケーション41a、ドメイン内連携制御用アプリケーション41b)に含まれる処理と、単独制御用アプリケーション41cに含まれる処理とをそれぞれ受け付けて、それらの処理を同時期に実行する必要が生じたとき、それぞれの処理の内容に基づき、いずれを優先するべきかを決定する機能を有する。さらに、ドメイン抽象化層44は、決定された優先順位に従い、優先順位が高い処理から、その処理の実行に必要なリソースを確保して、該当する処理に割り付ける機能を有する。ドメイン抽象化層44に関しては、後に詳細に説明する。
ECU抽象化層45は、ドメイン抽象化層44の上位に位置しており、マスタECU40の基本コンポーネントを抽象化することにより、上位のソフトウエア層を、マスタECU40のハードウエアから独立させるものである。このECU抽象化層45は、搭載機器抽象化、メモリハードウエア抽象化、通信ハードウエア抽象化、I/Oハードウエア抽象化などを含む。
サービス層46は、その一部が、ECU抽象化層45の上位に位置し、アプリケーションのための基本的なサービスを提供するためのものである。具体的には、サービス層46は、OS、車両ネットワークの通信と管理、メモリサービス、診断サービス、ECU状態管理などのサービスを提供する。このサービス層46は、大部分がハードウエアから独立しているが、OSなどマイクロコントローラ48に依存する部分も有している。
複合ドライバ47は、複雑なセンサやアクチュエータを操作するための特殊な機能やタイミング要求を満たすような、他のレイヤにはない複雑な機能が必要な場合に使用されるものである。この複合ドライバ47は、例えば、燃料を噴射するインジェクタを駆動制御する場合などに使用される。
そして、RTE42は、上述した各層からなる基本ソフトウエア43〜47の上位に位置し、アプリケーション層41に含まれる各種のアプリケーション41a〜41cが、マスタECU40に依存しないようにするためのものである。そのため、RTE42は、アプリケーション41a〜41c間の通信や、アプリケーション41a〜41cと基本ソフトウエア43〜47との通信を提供する。
このように、AUTOSARに準拠したソフトウエア構造を採用することで、アプリケーション41a〜41cは、マイクロコントローラ48やマスタECU40のハードウエアに依存せずに済むので、アプリケーション41a〜41cの再利用性を高めることができる。
次に、ドメイン抽象化層44について、詳しく説明する。図2、図3に示すように、ドメイン抽象化層44は、ドメイン間抽象化層44aとドメイン内抽象化層44bとを有している。ドメイン間抽象化層44aは、ドメイン間連携制御用アプリケーション41aからの処理要求を受け付ける。また、ドメイン内抽象化層44bは、ドメイン内連携制御用アプリケーション41bからの処理要求を受け付ける。一方、単独制御用アプリケーション41cからの処理要求は、従来通り、サービス層46、ECU抽象化層45を介して、ドメイン抽象化層44に与えられる。
このように、ドメイン抽象化層44は、これらのアプリケーション41a〜41cからの処理要求を受け付けて、マイクロコントローラ抽象化層43に対して、各処理へのマイクロコントローラ48のリソース(マイクロプロセッシングユニット、キャッシュメモリなど)の割り付けを指示する。具体的には、単一のアプリケーション41a〜41cのみから処理要求を受け付けた場合、ドメイン抽象化層44は、その要求を受け付けた処理の実行に必要なリソースの割合を決定し、その決定した割合のリソースを、該当する処理に割り付けるよう、マイクロコントローラ抽象化層43に指示する。また、複数の種類のアプリケーション41a〜41cから同時期に処理要求を受け付けた場合には、ドメイン抽象化層44は、まず、それぞれの処理の内容に基づき、いずれを優先するべきかを決定する、次いで、ドメイン抽象化層44は、決定された優先順位に従い、優先順位が高い処理から順番に、該当する処理の実行に必要なリソースの割合を決定して、その決定した割合のリソースを、該当する処理に割り付けるよう、マイクロコントローラ抽象化層43に指示する。
この際、ドメイン抽象化層44は、相対的に優先順位が低い処理の実行に必要なリソースの割合を決定したときに、その優先順位が低い処理を実行するために必要なリソースが残されていないと判断した場合には、リソースが利用可能となるまで、マイクロコントローラ抽象化層43にリソースの割り付けの指示を行わない。このため、相対的に優先順位が高い処理に多くのリソースが必要で、その結果、相対的に優先順位が低い処理についてリソース不足が発生した場合には、リソースが利用可能となるまで、相対的に優先順位が低い処理の実行が待機される。あるいは、相対的に重要度の低い処理が既に実行開始されている場合には、その実行が一時中断される。
さらに、ドメイン抽象化層44は、相対的に優先順位の低い処理についてリソース不足が判明した時点で、その優先順位の低い処理を、より少ないリソースにて処理可能なサブ処理に分割し、その分割したサブ処理に対してリソースを確保して割り付けるようにしても良い。
ここで、ドメイン抽象化層44による、各処理に対するリソースの割り振りについて説明する。ドメイン抽象化層44は、例えば、該当する処理を実行するために必要なリソースの割合を、単位時間におけるマイクロプロセッシングユニットの使用時間を示す使用率によって定めることができる。つまり、キャッシュメモリの使用容量は、マイクロプロセッシングユニットの使用率と相関する傾向にあるため、マイクロプロセッシングユニット及びキャッシュメモリ含むリソースについて、マイクロプロセッシングユニットの使用率から、該当処理の実行に必要なリソースの割合を定めることができる。あるいは、ドメイン抽象化層44は、マイクロプロセッシングユニットと、キャッシュメモリとで別個に定めても良い。この場合、例えば、該当する処理を実行するために必要なリソース割合を、マイクロプロセッシングユニットに関しては見込まれる使用率によって定め、キャッシュメモリに関しては見込まれる使用容量によって定めることができる。
そして、相対的に優先順位が低い処理を実行するために必要なリソースが残されているか否かは、少なくともマイクロプロセッシングユニットに関しては、単位時間におけるマイクロプロセッシングユニットの未使用率と、相対的に優先順位が低い処理によるマイクロプロセッシングユニットの見込み使用率とに基づいて判断することができる。
また、マイクロコントローラ48が、複数のマイクロプロセッシングユニットを含む場合には、ドメイン抽象化層44は、相対的に優先順位が低い処理を実行するために必要なリソースが残されているか否かを、処理が割り付けられていないマイクロプロセッシングユニットが残されているか否かに基づき判断するようにしても良い。
次に、ドメイン抽象化層44における具体的な処理内容について、図4及び図5のフローチャートを参照して説明する。
まず、図4のフローチャートのステップS100では、各種のアプリケーション41a〜41cからの処理要求を受け付ける。続くステップS110では、受け付けた処理要求が複数種類のアプリケーション41a〜41cからによるものであるか否かを判定する。ステップS110において、複数種類のアプリケーション41a〜41cから処理要求を受け付けたと判定した場合には、ステップS120の処理に進み、単一のアプリケーション41a〜41cから処理要求を受け付けた又は処理要求の受付は無かったと判定した場合には、ステップS140の処理に進む。
ステップS120では、複数種類のアプリケーション41a〜41cから受け付けた各処理の内容に基づいて、各処理の優先順位を決定する。この優先順位の決定方法は、後に、図5のフローチャートに基づき詳細に説明する。続くステップS130では、決定された優先順位に従い、優先順位が高い処理から順番に、該当する処理の実行に必要なリソースを割り付ける。その実行後、処理は、再びステップS100に戻る。これにより、マイクロコントローラ48において、割り付けられたリソースを用いて、該当する処理が実行される。
ステップS140では、ステップS100において、単一のアプリケーション41a〜41cからの処理要求を受け付けたか、それとも、処理要求の受付は無かったかを判定する。この際、単一のアプリケーション41a〜41cから処理要求を受け付けたと判定した場合には、ステップS150に進み、該当する処理の実行に必要なリソースの割合を決定し、その決定した割合のリソースを、該当する処理に割り付ける。これにより、マイクロコントローラ48において、割り付けられたリソースを用いて、該当する処理が実行される。一方、ステップS140において、処理要求の受付は無かったと判定した場合には、ステップS100の処理に戻る。
次に、図5のフローチャートに基づき、複数種類のアプリケーション41a〜41cから同時期に処理要求を受け付けた場合における、各処理の優先順位の決定方法について説明する。
まず、ステップS200では、複数種類のアプリケーション41a〜41cから受け付けた処理要求に、単独制御用アプリケーション41cからの処理要求が含まれているか否かを判定する。この判定処理において、単独制御用アプリケーション41cからの処理要求が含まれていると判定した場合には、ステップS240の処理に進み、単独制御用アプリケーション41cからの処理要求が含まれていないと判定した場合には、ステップS210の処理に進む。
ステップS210に処理が進んだ場合、複数の処理要求は、ドメイン間連携制御用アプリケーション41aからの処理要求と、ドメイン内連携制御用アプリケーション41bからの処理要求とを含んでいる。ステップS210では、ドメイン内連携制御用アプリケーション41bから要求された処理が、即時に実行することが必要な処理であるか否かを判定する。例えば、本実施形態に係る電子制御装置が、図1のPTC22に適用された場合、PTC22が、エンジン31が所定回転角度変化する毎に、エンジン制御部24に対して、制御目標値を指示するドメイン内連携処理を実施する場合がある。このような場合、PTC22は、エンジンの回転角度変化に応答して、遅滞なく、制御目標値を出力する必要があるので、PTCは、このドメイン内連携処理を最優先で処理する必要がある。また、例えば、エンジン31の回転角度に応じたトルク変動を抑制するためのトルク補正をMG33に発生させる場合も、PTC22は、エンジン回転角度に応じて遅滞無くMGC23に対してトルク補正量を指示するドメイン内連携処理を実施する必要がある。ステップS210では、ドメイン内連携制御用アプリケーション41bの処理が、このような即時に実行する必要がある処理であるか否かを判定する。そして、即時に実行する必要がある処理と判定した場合にはステップS220の処理に進み、即時に実行する必要がある処理ではないと判定した場合にはステップS230の処理に進む。
ステップS220では、ドメイン内連携制御用アプリケーション41bの処理に最も高い優先順位を付与する。そして、ドメイン間連携制御用アプリケーション41aの処理に対して、ドメイン内連携制御用アプリケーション41bよりも低い優先順位を付与する。一方、ステップS230では、ドメイン間連携制御用アプリケーション41aの処理に最も高い優先順位を付与する。そして、ドメイン内連携制御用アプリケーション41bの処理に対しては、ドメイン間連携制御用アプリケーション41aよりも低い優先順位を付与する。
このように、ドメイン間連携制御用アプリケーション41aの処理と、ドメイン内連携制御用アプリケーション41bの処理とに関しては、原則として、ドメイン間連携制御用アプリケーション41aの処理に対して、より高い優先順位を付与する。上述したように、ドメイン間連携制御用アプリケーション41aの処理の結果として、それぞれのドメイン10、20に割り当てられた車載装置31〜35の制御目標値が決定される。このため、時々刻々と変化する車両の状況に応じた適切な制御を行うためには、ドメイン内連携制御用アプリケーション41bの処理よりも、ドメイン間連携制御用アプリケーション41aの処理を優先して行うべきだからである。
ただし、ドメイン内連携制御用アプリケーション41bの処理には、上述したように、即時に実行することが必要な処理が含まれることがある。このように即時に実行することが必要な処理に関しては、ドメイン間連携制御用アプリケーション41aの処理よりも優先して実行することが望ましい。そのため、本実施形態では、ドメイン内連携制御用アプリケーション41bの処理が、即時に実行することが必要な処理であるか否かを判定する。そして、即時に実行することが必要な処理と判定したときに限り、ドメイン内連携制御用アプリケーション41bの処理の優先順位を、ドメイン間連携制御用アプリケーション41aの優先順位よりも高くしているのである。
一方、複数種類のアプリケーション41a〜41cから受け付けた処理要求に、単独制御用アプリケーション41cからの処理要求が含まれていると判定した場合に実行されるステップS240では、単独制御用アプリケーション41cから要求された処理が、割込みにて実行することが必要な割込処理や、ある事象に同期して実行することが必要な同期処理であるか否かを判定する。例えば、図1に示す例では、上述したように、PTC22は、冷却水温度、エンジン温度及びインバータ温度に基づき、冷却機構30のポンプ及び流路切換弁を制御する。この場合、例えば、エンジン温度或いはインバータ温度が所定の上限温度を超えたことが検出された場合、PTC22は、それ以上の温度上昇を防ぐため、即座に、その上限温度を超えた装置を対象として、最大の流量にて冷却水を循環させるようポンプ及び流路切換弁を制御する。また、例えば、温度センサ、ポンプ、流路切換弁の異常を検出した場合なども、PTC22は、即座に、その異常の発生を運転者に報知するとともに、他の制御部に対して、温度上昇を抑制するため、退避走行や、出力制限などを指示する。これらの処理は、異常発生時において、最優先で処理すべきものであるため、割込処理や同期処理として実行される。ステップS240において、単独制御用アプリケーション41cの処理が、割込処理又は同期処理であると判定した場合には、ステップS250の処理に進む。一方、単独制御用アプリケーション41cの処理が、割込処理又は同期処理ではないと判定した場合には、ステップS270に進む。
ステップS250では、単独制御用アプリケーション41cに加え、ドメイン間連携制御用アプリケーション41aとドメイン内連携制御用アプリケーション41bとの両方からも処理要求を受け付けたか否かを判定する。ステップS250において、ドメイン間連携制御用アプリケーション41aとドメイン内連携制御用アプリケーション41bとの両方から処理要求を受け付けたと判定した場合、ステップS290の処理に進む。一方、いずれか一方のみから処理要求を受け付けたと判定した場合、ステップS260の処理に進む。
ステップS260では、単独制御用アプリケーション41cの処理に最も高い優先順位を付与する。また、処理要求を受け付けたドメイン間連携制御用アプリケーション41aとドメイン内連携制御用アプリケーション41bとの一方の処理に対しては、それよりも低い優先順位を付与する。上述したように、単独制御用アプリケーション41cの処理が、例えば異常発生時の処理として、最優先で実行されることが望ましいためである。
ステップS290では、ステップS210の処理と同様に、ドメイン内連携制御用アプリケーション41bの処理が、即時に実行することが必要な処理であるか否かを判定する。この判定処理において、ドメイン内連携制御用アプリケーション41bの処理が、即時に実行することが必要な処理であると判定した場合、ステップS300の処理に進む。一方、即時に実行することが必要な処理ではないと判定した場合、ステップS310の処理に進む。
ステップS300では、単独制御用アプリケーション41cの処理に最も高い優先順位を付与する。ドメイン内連携制御用アプリケーション41bの処理に次に高い優先順位を付与する。そして、ドメイン間連携制御用アプリケーション41aの処理に対して、最も低い優先順位を付与する。一方、ステップS310では、単独制御用アプリケーション41cの処理に最も高い優先順位を付与する。ドメイン間連携制御用アプリケーション41aの処理に次に高い優先順位を付与する。そして、ドメイン内連携制御用アプリケーション41bの処理に対して、最も低い優先順位を付与する。
ステップS300、S310の優先順位付けの理由は、以下の通りである。まず、単独制御用アプリケーション41cの処理に最も高い優先順位を付与する理由は、単独制御用アプリケーション41cの処理が、異常発生時の処理として、最優先で実行されることが望ましいためである。また、ドメイン内連携制御用アプリケーション41bの処理が即時に実行することが必要な処理である場合、ドメイン間連携制御用アプリケーション41aの処理よりも優先されることが望ましい。そのため、ステップS300では、ドメイン内連携制御用アプリケーション41bの処理の優先順位を、ドメイン間連携制御用アプリケーション41aよりも高くしている。一方、ドメイン内連携制御用アプリケーション41bの処理が、即時に実行することが必要な処理以外の処理である場合には、ドメイン間連携制御用アプリケーション41aの処理を優先することが望ましい。そのため、ステップS310では、ドメイン間連携制御用アプリケーション41aの処理の優先順位を、ドメイン内連携制御用アプリケーション41bよりも高くしている。
一方、単独制御用アプリケーション41cの処理が、割込処理又は同期処理ではないと判定した場合に実行されるステップS270では、ステップS250と同様に、単独制御用アプリケーション41cに加え、ドメイン間連携制御用アプリケーション41aとドメイン内連携制御用アプリケーション41bとの両方から処理要求を受け付けたか否かを判定する。ステップS270において、ドメイン間連携制御用アプリケーション41aとドメイン内連携制御用アプリケーション41bとの両方から処理要求を受け付けたと判定した場合、ステップS320の処理に進む。一方、いずれか一方のみから処理要求を受け付けたと判定した場合、ステップS280の処理に進む。
ステップS280では、処理要求を受け付けたドメイン間連携制御用アプリケーション41aとドメイン内連携制御用アプリケーション41bとの一方の処理に最も高い優先順位を付与する。そして、単独制御用アプリケーション41cの処理に、それよりも低い優先順位を付与する。
ステップS320でも、ステップS210及びS290の処理と同様に、ドメイン内連携制御用アプリケーション41bの処理が、即時に実行することが必要な処理であるか否かを判定する。この判定処理において、ドメイン内連携制御用アプリケーション41bの処理が、即時に実行することが必要な処理であると判定した場合、ステップS330の処理に進む。一方、即時に実行することが必要な処理ではないと判定した場合、ステップS340の処理に進む。
ステップS330では、ドメイン内連携制御用アプリケーション41bの処理に最も高い優先順位を付与する。ドメイン間連携制御用アプリケーション41aの処理に次に高い優先順位を付与する。そして、単独制御用アプリケーション41cの処理に最も低い優先順位を付与する。一方、ステップS340では、ドメイン間連携制御用アプリケーション41aの処理に最も高い優先順位を付与する。ドメイン内連携制御用アプリケーション41bの処理に次に高い優先順位を付与する。そして、単独制御用アプリケーション41cの処理に、最も低い優先順位を付与する。
ステップS330、S340の優先順位付けの理由は、以下の通りである。まず、単独制御用アプリケーション41cの処理が、異常発生時の処理として、最優先で実行される割込処理や同期処理以外の処理である場合、通常、その実行に、高い応答性は求められない。そのため、ステップS330、S340では、単独制御用アプリケーション41cの処理に最も低い優先順位を付与している。また、ドメイン内連携制御用アプリケーション41bの処理が即時に実行することが必要な処理である場合、ドメイン間連携制御用アプリケーション41aの処理よりも優先されることが望ましい。そのため、ステップS330では、ドメイン内連携制御用アプリケーション41bの処理の優先順位を最上位にしている。一方、ドメイン内連携制御用アプリケーション41bの処理が、即時に実行することが必要な処理以外の処理である場合には、ドメイン間連携制御用アプリケーション41aの処理を優先することが望ましい。そのため、ステップS340では、ドメイン間連携制御用アプリケーション41aの処理の優先順位を最上位にしている。
以上、本発明の好ましい実施形態について説明したが、本発明は、上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
例えば、上述した実施形態では、マスタECU40に、ドメイン抽象化層44を設け、このドメイン抽象化層44において、複数種類のアプリケーション41a〜41cから同時期に処理要求を受け付けた場合に、各処理の優先順位の決定、及びマイクロコントローラ48のリソースの割り付けを行った。しかしながら、図6に示すように、ドメイン抽象化層44ではなく、サービス層46のオペレーティングシステムを用いて、各処理の優先順位の決定、及びマイクロコントローラ48のリソースの割り付けを行うことも可能である。
以下、サービス層46のオペレーティングシステムによって、優先順位の決定及びリソースの割り付けを行う場合の一例を、図6に基づき説明する。図6に示すように、サービス層46には、オペレーティングシステムとして、マイクロプロセッシングユニット毎に設けられ、各マイクロプロセッシングユニットにおける処理をスケジューリングする個別オペレーティングシステム46c、46eと、個別オペレーティングシステム46c、46eの処理を統括する統合オペレーティングシステム46aを有する。
このような構成において、統合オペレーティングシステム46aが、各処理の優先順位を決定し、その決定した各処理の優先順位に基づき、各個別オペレーティングシステムに対して実行すべき処理を指示することにより、上述した実施形態と同様の作用効果を奏することができる。
なお、図6において、統合ステートマネージャ46bは、統合オペレーティングシステム46aの起動、停止を制御し、個別ステートマネージャ46d,46fは、個別オペレーティングシステム46c、46eの起動、停止を制御する。
また、サービス層46のオペレーティングシステムと、ドメイン抽象化層44とが協働して、各処理の優先順位の決定及びリソースの割り付けを行うように構成することも可能である。この場合、オペレーティングシステムとドメイン抽象化層44とに、図4及び図5のフローチャートに示した各機能を、適宜、割り振れば良い。例えば、ドメイン抽象化層44が、優先順位の高い処理に対してリソースを割り付けた場合におけるマイクロプロセッシングユニットの未使用率を算出する。そして、オペレーティングシステムが、その未使用率と、次に優先順位が低い処理の見込使用率とに基づいて、当該優先順位の低い処理の実行に必要なリソースが確保可能か否かを判定するようにしても良い。
より具体的な例を説明すると、例えば、優先順位の高い処理を、複数のマイクロプロセッシングユニットに分散させて処理する場合、1つのマイクロプロセッシングユニットにおける処理結果を、他のマイクロプロセッシングユニットにおける処理に用いることもあり得る。この場合、マイクロプロセッシングユニット間で処理結果の受渡しが必要になり、他のマイクロプロセッシングユニットにおける待ち時間発生の原因にもなる。このようなマイクロプロセッシングユニットにおける待ち時間(未使用率)をドメイン抽象化層44にて把握する。ドメイン抽象化層44は、マイクロプロセッシングユニットの待ち時間(未使用率)を簡単に把握することができる。そして、オペレーティングシステムにより、優先順位が低い処理が、そのマイクロプロセッシングユニットにおける待ち時間(未使用率)に収まるかどうかを判定する。オペレーティングシステムは、このような判定処理を簡単に行うことができる。このようにすれば、ドメイン抽象化層44とオペレーティングシステムとの特徴を活かしつつ、各処理の優先順位の決定及びリソースの割り付けを行うことが可能となる。
また、上述した実施形態では、制御システム1が複数のドメイン10、20に区分された例について説明したが、制御システム1は、必ずしも複数のドメイン10、20に区分されたものである必要はない。単一のドメインしか有さない場合、ドメイン間連携制御用アプリケーション41aは設けられないため、マスタECU40は、ドメイン内連携制御用アプリケーション41bの処理と、単独制御用アプリケーション41cの処理との優先順位付け、及びリソースの割り付けを行うことになる。
1 制御システム、11 運動ドメイン制御部、12 車両挙動制御部、13 前後挙動制御部、14 左右挙動制御部、15 ブレーキ制御部、16 ステアリング制御部、21 エネルギードメイン制御部、22 パワートレインコーディネータ、23 モータジェネレータコーディネータ、24 エンジン制御部、25 TM制御部、26 MG制御部、30 冷却機構、31 エンジン、32 トランスミッション、33 モータジェネレータ、34 ブレーキ装置、35 ステアリング装置

Claims (13)

  1. アプリケーションソフトを記憶する記憶部(41)と、
    前記アプリケーションソフトには、他の電子制御装置と連携した制御を行うための連携制御用アプリケーション(41a、41b)と、前記他の電子制御装置とは独立して、単独で制御を行うための単独制御用アプリケーション(41c)とが含まれており、
    前記連携制御用アプリケーションに含まれる処理及び前記単独制御用アプリケーションに含まれる処理をそれぞれ実行するものであり、リソースとして、少なくともマイクロプロセッシングユニットを備えたマイクロコントローラ(48)と、
    前記連携制御用アプリケーションに含まれる処理と、前記単独制御用アプリケーションに含まれる処理とを同時期に実行する必要が生じたとき、それぞれの処理の内容に基づき、いずれを優先するべきかを決定する決定部(S120)と、
    前記決定部によって決定された優先順位に従い、優先順位が高い処理から、その処理の実行に必要な前記リソースを確保して、該当する処理に割り付けるリソース割付部(S130)と、を備える電子制御装置。
  2. 前記リソース割付部は、単位時間における前記マイクロプロセッシングユニットの未使用率と、優先順位が低い処理の見込使用率とに基づいて、当該優先順位の低い処理の実行に必要な前記リソースが確保可能か否かを判定する請求項1に記載の電子制御装置。
  3. 前記マイクロコントローラは、複数のマイクロプロセッシングユニットを含み、
    前記リソース割付部は、処理が割り付けられていないマイクロプロセッシングユニットが残されているか否かに基づき、優先順位が低い処理の実行に必要な前記リソースが確保可能か否かを判定する請求項1に記載の電子制御装置。
  4. 前記リソース割付部により前記リソースが確保できない処理は、前記リソースが利用可能となるまで、実行が待機される請求項2又は3に記載の電子制御装置。
  5. 前記リソース割付部は、前記リソースが確保できない処理を、より少ないリソースにて処理可能なサブ処理に分割し、その分割したサブ処理に対して前記リソースを確保して割りつける請求項2に記載の電子制御装置。
  6. ソフトウエア構造として、
    前記電子制御装置の基本動作を実現する基本ソフトウエア(43〜47)と、当該基本ソフトウエアと前記アプリケーションソフト間の通信を提供するランタイム環境(42)とを有し、
    前記基本ソフトウエアは、前記マイクロコントローラを抽象化するマイクロコントローラ抽象化層(43)と、前記マイクロコントローラ抽象化層の上位に位置付けられ、前記電子制御装置の基本コンポーネントを抽象化するECU抽象化層(45)と、オペレーティングシステムを含むサービス層(46)とを含み、
    前記マイクロコントローラ抽象化層とECU抽象化層との間に、前記決定部及び前記リソース割付部として機能するドメイン抽象化層(44)を設けた請求項1乃至5のいずれかに記載の電子制御装置。
  7. ソフトウエア構造として、
    前記電子制御装置の基本動作を実現する基本ソフトウエア(43〜47)と、当該基本ソフトウエアと前記アプリケーションソフト間の通信を提供するランタイム環境(42)とを有し、
    前記基本ソフトウエアは、前記マイクロコントローラを抽象化するマイクロコントローラ抽象化層(43)と、前記マイクロコントローラ抽象化層の上位に位置付けられ、前記電子制御装置の基本コンポーネントを抽象化するECU抽象化層(45)と、オペレーティングシステムを含むサービス層(46)とを含み、
    前記マイクロコントローラ抽象化層とECU抽象化層との間に、前記決定部及び前記リソース割付部として機能するドメイン抽象化層(44)を設け、
    前記ドメイン抽象化層は、優先順位の高い処理に対して前記リソースを割り付けた場合における前記マイクロプロセッシングユニットの未使用率を算出し、前記オペレーティングシステムが、その未使用率と、優先順位が低い処理の見込使用率とに基づいて、当該優先順位の低い処理の実行に必要な前記リソースが確保可能か否かを判定することで、前記ドメイン抽象化層および前記オペレーティングシステムが協働して前記リソース割付部として機能する請求項2に記載の電子制御装置。
  8. ソフトウエア構造として、
    前記電子制御装置の基本動作を実現する基本ソフトウエア(43〜47)と、当該基本ソフトウエアと前記アプリケーションソフト間の通信を提供するランタイム環境(42)とを有し、
    前記基本ソフトウエアは、前記マイクロコントローラを抽象化するマイクロコントローラ抽象化層(43)と、前記電子制御装置の基本コンポーネントを抽象化するECU抽象化層(45)と、オペレーティングシステム(46a、46c、46e)を含むサービス層(46)とを含み、
    前記サービス層のオペレーティングシステムが、前記決定部及び前記リソース割付部としての機能を含む請求項1乃至5のいずれかに記載の電子制御装置。
  9. 前記オペレーティングシステムは、前記マイクロプロセッシングユニット毎に設けられ、各マイクロプロセッシングユニットにおける処理をスケジューリングする個別オペレーティングシステム(46c、46e)と、前記個別オペレーティングシステムの処理を統括する統合オペレーティングシステム(46a)とを有し、
    統合オペレーティングシステムが、各処理の優先順位に基づき、前記個別オペレーティングシステムに対して実行すべき処理を指示する請求項8に記載の電子制御装置。
  10. 前記電子制御装置は、車両に搭載された複数の車載装置(30〜35)を制御する制御システム(1)に適用されるものであり、
    前記制御システムは、前記複数の車載装置の機能に応じて予め複数のドメイン(10、20)に区分けされ、それら複数のドメインにおいて、それぞれ、前記車載装置を制御するためのスレーブECU(15、16、24〜26)と、前記スレーブECUを統括するマスタECU(13,14、22、23)とに階層化され、
    前記電子制御装置は、各ドメインのマスタECUとして利用されるものである請求項1乃至9のいずれかに記載の電子制御装置。
  11. 前記連携制御用アプリケーションは、同じドメインに属するスレーブECUへの制御指令値を作成して出力するためのドメイン内連携制御用アプリケーション(41b)と、異なるドメインに属するマスタECUとの間で協調制御を行うためのドメイン間連携制御用アプリケーション(41a)とを含み、
    前記決定部は、前記ドメイン内連携制御用アプリケーションに含まれる処理と、前記ドメイン間連携制御用アプリケーションに含まれる処理とを同時期に実行する必要が生じたとき、前記ドメイン内連携制御用アプリケーションに含まれる処理が即時に実行することが必要な種類の処理以外の場合、前記ドメイン間連携制御用アプリケーションに含まれる処理を優先すべきと決定する請求項10に記載の電子制御装置。
  12. 前記決定部は、前記ドメイン内連携制御用アプリケーションに含まれる処理が、即時に実行することが必要な種類の処理である場合には、前記ドメイン内連携制御用アプリケーションに含まれる処理を優先すべきと決定する請求項11に記載の電子制御装置。
  13. 前記単独制御用アプリケーションは、割込み処理と同期処理との少なくとも一方の処理を含み、
    前記決定部は、前記単独制御用アプリケーションに含まれる処理と、前記連携制御用アプリケーションに含まれる処理とを同時期に実行する必要が生じたとき、前記単独制御用アプリケーションに含まれる処理が、前記割込み処理又は前記同期処理である場合、前記単独制御用アプリケーションに含まれる処理を優先すべきと決定し、前記割込み処理又は前記同期処理以外の処理である場合、前記連携制御用アプリケーションに含まれる処理を優先すべきと決定する請求項1乃至請求項12のいずれかに記載の電子制御装置。
JP2015220546A 2015-11-10 2015-11-10 電子制御装置 Active JP6477430B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015220546A JP6477430B2 (ja) 2015-11-10 2015-11-10 電子制御装置
DE102016222091.8A DE102016222091A1 (de) 2015-11-10 2016-11-10 Elektronische steuereinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015220546A JP6477430B2 (ja) 2015-11-10 2015-11-10 電子制御装置

Publications (2)

Publication Number Publication Date
JP2017091214A JP2017091214A (ja) 2017-05-25
JP6477430B2 true JP6477430B2 (ja) 2019-03-06

Family

ID=58585450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015220546A Active JP6477430B2 (ja) 2015-11-10 2015-11-10 電子制御装置

Country Status (2)

Country Link
JP (1) JP6477430B2 (ja)
DE (1) DE102016222091A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109905435A (zh) * 2017-12-08 2019-06-18 京东方科技集团股份有限公司 资源订阅方法及系统、存储介质、电子设备
JP2019213081A (ja) 2018-06-06 2019-12-12 ルネサスエレクトロニクス株式会社 半導体装置及び情報処理方法
CN110943957B (zh) * 2018-09-21 2022-04-15 郑州信大捷安信息技术股份有限公司 一种车内网安全通信系统及方法
JP7139866B2 (ja) * 2018-10-18 2022-09-21 トヨタ自動車株式会社 車両用調停システム
CN112445546B (zh) * 2019-08-31 2022-10-18 比亚迪股份有限公司 电动汽车及其流程管理方法、装置、存储介质、电子设备
CN111290313B (zh) * 2020-02-20 2021-06-01 浙江大学 面向autosar网络管理的can总线通信延时解决方法及其系统
US20230261961A1 (en) * 2020-08-25 2023-08-17 Siemens Industry Software Inc. System and method for simulation and testing of multiple virtual ecus
DE102021104977B8 (de) 2021-03-02 2022-06-23 Audi Aktiengesellschaft Verfahren zum Betrieb eines Kraftfahrzeugs und Kraftfahrzeug

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006142994A (ja) * 2004-11-19 2006-06-08 Denso Corp 車両用ネットワークシステムおよび電子制御装置
JP5187194B2 (ja) * 2006-11-21 2013-04-24 富士通株式会社 マルチプロセッサシステム
JP2011014033A (ja) 2009-07-03 2011-01-20 Toyota Motor Corp 車載用情報処理装置、及び車両制御装置

Also Published As

Publication number Publication date
DE102016222091A1 (de) 2017-05-11
JP2017091214A (ja) 2017-05-25

Similar Documents

Publication Publication Date Title
JP6477430B2 (ja) 電子制御装置
JP7230945B2 (ja) 制御装置、マネージャ、システム、制御方法及び車両
US6154688A (en) Method and arrangement for controlling a vehicle
CN105163989B (zh) 车辆控制装置及车辆控制方法
US20070142987A1 (en) Vehicle integrated control system
US11697415B2 (en) Braking force control system, device, and method
JP6500672B2 (ja) 制御システム
JP6504065B2 (ja) 車両用制御システム
JP2018085686A (ja) 車両用制御システム
CN117465432A (zh) 控制装置、管理器、方法、非暂时性存储介质、致动器系统和车辆
CN110217221A (zh) 巡航控制方法、装置、整车控制器、车辆及可读存储介质
JP6551239B2 (ja) 車両用制御システム
JP7010296B2 (ja) 車両の制御方法及び制御装置
JP2017105362A (ja) 制御システム
JP6398837B2 (ja) 制御システム
JP2024009286A (ja) 制御装置、制駆動力制御システム、方法、およびプログラム
JP6900163B2 (ja) 制御システム
JP7243786B2 (ja) 制御装置、マネージャ、システム、制御方法、プログラム及び車両
JP7107358B2 (ja) 制御装置、マネージャ、システム、制御方法及び車両
JP2019109744A (ja) 自動車用電子制御装置
JP7401475B2 (ja) 車両の制御装置、制御方法、制御プログラム、マネージャ、及び車両
US20220355785A1 (en) Control Unit and Method for Operating an Electric Machine of a Hybrid Drive
JP6406082B2 (ja) 制御システム
JP2021045987A (ja) 車両用制御システム
JP7243788B2 (ja) 制御装置、マネージャ、システム、制御方法、プログラム及び車両

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190121

R151 Written notification of patent or utility model registration

Ref document number: 6477430

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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