JP2012247849A - マイクロコンピュータ - Google Patents

マイクロコンピュータ Download PDF

Info

Publication number
JP2012247849A
JP2012247849A JP2011117102A JP2011117102A JP2012247849A JP 2012247849 A JP2012247849 A JP 2012247849A JP 2011117102 A JP2011117102 A JP 2011117102A JP 2011117102 A JP2011117102 A JP 2011117102A JP 2012247849 A JP2012247849 A JP 2012247849A
Authority
JP
Japan
Prior art keywords
core
microcomputer
stop
condition
hypervisor
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.)
Withdrawn
Application number
JP2011117102A
Other languages
English (en)
Inventor
Nobuyuki Kondo
信行 近藤
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 JP2011117102A priority Critical patent/JP2012247849A/ja
Publication of JP2012247849A publication Critical patent/JP2012247849A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】複数のECU機能を単一のマイコンに統合する際における開発工数の増大を抑制
【解決手段】マイコン1はコア11,12,13,14を内蔵している。コア11は、車載バッテリからの電源供給を受けると起動するように構成され、マイコン電源投入時における各コアの動作状態を管理するハイパーバイザ21と、マイコン電源投入時以外において各コアの動作状態を管理するコアマネージャ22を搭載している。ハイパーバイザ21およびコアマネージャ22は、コア12,13,14のそれぞれについて予め設定されたコア起動条件が成立したか否かを判断し、コア起動条件が成立したと判断した場合に、対応するコアを起動させるとともに、コア12,13,14のそれぞれについて予め設定されたコア停止条件が成立したか否かを判断し、コア停止条件が成立したと判断した場合に、対応するコアの動作を停止させる。
【選択図】図1

Description

本発明は、複数のコアを搭載するマイクロコンピュータに関する。
近年、車両に搭載される電子制御装置(以下、ECUという)の個数の増大に伴うECU開発工数の増加に対応するために、複数のECUの機能を単一のマイクロコンピュータ(以下、マイコンという)に統合することによりECU開発の効率化を図る手法が検討されている(例えば、非特許文献1を参照)。
"2007年度期末報告書"、第4頁、[online]、株式会社デンソー、[平成23年4月22日検索]、インターネット<URL: http://www.denso.co.jp/ja/investors/financial/report/files/business2008#3.pdf>
ところで、ECUの機能(以下、ECU機能という)は、機能毎に動作開始条件および動作停止条件が異なる。例えば、IGスイッチがオンになると動作が開始しIGスイッチがオフになると動作が停止する機能、および車載バッテリの電源がECUに供給されると動作が開始し電源供給がなくなるまで動作が継続する機能などがある。
なお、ECU機能の動作開始および動作停止はそれぞれ、マイコンの動作開始および動作停止によって実現されることが多い。しかし、動作開始条件および動作停止条件が異なる複数のECU機能を単一のマイコンに統合すると、単一のマイコンに統合された全てのECU機能について動作開始条件および動作停止条件を満たすことができない。そしてECU機能は、その機能において設定された動作開始条件を満たしていない状態で動作すると、不具合を引き起こす可能性がある。このため、統合先のマイコンの動作開始条件および動作停止条件と一致しないECU機能について、不具合を回避するために制御ロジックを修正する必要が生じ、ECU開発の工数が増大するという問題があった。
本発明は、こうした問題に鑑みてなされたものであり、複数のECU機能を単一のマイコンに統合する際における開発工数の増大を抑制することができる技術を提供することを目的とする。
上記目的を達成するためになされた請求項1に記載のマイクロコンピュータでは、コア起動手段が、複数のコアのそれぞれについて予め設定されたコア起動条件が成立したか否かを判断し、コア起動条件が成立したと判断した場合に、成立したコア起動条件に対応するコアを起動させる処理を実行するとともに、コア停止手段が、複数のコアのそれぞれについて予め設定されたコア停止条件が成立したか否かを判断し、コア停止条件が成立したと判断した場合に、成立したコア停止条件に対応するコアの動作を停止させる処理を実行する。
このように構成されたマイクロコンピュータでは、コア起動手段およびコア停止手段が、複数のコアのそれぞれについての起動および動作停止を行う。このため、マイクロコンピュータの起動および動作停止がコア起動条件およびコア停止条件となっていないコア(以下、起動停止条件相違コアという)について、この起動停止条件相違コアに対応したコア起動条件およびコア停止条件をコア起動手段側およびコア停止手段側で設定しておけば、コア起動条件およびコア停止条件がマイクロコンピュータと相違していることに対応した制御ロジックの修正が起動停止条件相違コア側で不要となり、起動停止条件相違コア側で制御ロジックを修正する場合と比較して修正量が減少する。これにより、複数のコアを用いて複数のECU機能を単一のマイクロコンピュータに統合する際における開発工数の増大を抑制することができる。
なお、複数のコアのうち当該マイクロコンピュータの起動と同時または起動の直後に起動するコアの1つをマスタコアとし、コア起動手段およびコア停止手段をマスタコアに搭載するようにしてもよい。これにより、当該マイクロコンピュータの起動と同時または起動の直後にコア起動手段およびコア停止手段の動作を開始させることができる。
また請求項1に記載のマイクロコンピュータにおいて、請求項2に記載のように、当該マイクロコンピュータは、当該マイクロコンピュータが起動した直後の予め設定された起動後優先期間内において、コア起動手段が実行する処理を、その他の処理よりも優先して実行させるようにしてもよい。
このように構成されたマイクロコンピュータでは、マイクロコンピュータが起動した直後の起動後優先期間内においてコア起動手段が優先して実行されるため、マイクロコンピュータが起動した直後に起動する必要があるコアの起動が、コア起動手段以外の処理の実行のために遅れてしまうといった事態の発生を抑制することができる。
マイコン1の構成を示すブロック図である。 ハイパーバイザ処理を示すフローチャートである。 コアマネージャ処理を示すフローチャートである。 コア11〜14の起動および動作停止の手順を説明するタイミングチャートである。
以下に本発明の実施形態を図面とともに説明する。
図1は、本実施形態のマイクロコンピュータ(以下、マイコンという)1の構成を示すブロック図である。
マイコン1は、車両に搭載されており、図1に示すように、プログラムを実行するための演算ユニットやレジスタなどからなるマイコンコア(以下、単にコアという)11,12,13,14と、IGスイッチ信号等の外部からの各種スイッチ信号を入力する機能を有するI/Oポート15とを内蔵している。
これらのうちコア11は、車載バッテリ(不図示)からの電源供給を受けると起動するように構成されており、マイコン電源投入時における各コアの動作状態を管理する機能21(以下、ハイパーバイザ21という)と、マイコン電源投入時以外において各コアの動作状態を管理する機能22(以下、コアマネージャ22という)を搭載している。またコア12,13,14はそれぞれ、例えば電源制御機能23、始動制御機能24、充電制御機能25を搭載している。
このように構成されたマイコン1のコア11に搭載されたハイパーバイザ21とコアマネージャ22がそれぞれ実行するハイパーバイザ処理とコアマネージャ処理の手順を、図2と図3を用いて説明する。図2はハイパーバイザ処理を示すフローチャート、図3はコアマネージャ処理を示すフローチャートである。
ハイパーバイザ処理は、車載バッテリからの電源供給を受けてコア11が起動すると開始される処理であり、このハイパーバイザ処理が実行されると、コア11は、図2に示すように、まずS10にて、コア12のコア起動条件が成立したか否かを判断する。なお、本実施形態におけるコア12のコア起動条件は、マイコン1が車載バッテリからの電源供給を受けていることである。
ここで、コア12のコア起動条件が成立している場合には(S10:YES)、S20にて、コア12の動作状態を「起動」に設定して、S40に移行する。一方、コア12のコア起動条件が不成立である場合には(S10:NO)、S30にて、コア12の動作状態を「停止」に設定して、S40に移行する。
そしてS40に移行すると、コア13のコア起動条件が成立したか否かを判断する。なお、本実施形態におけるコア13のコア起動条件は、IGスイッチがオンであることである。
ここで、コア13のコア起動条件が成立している場合には(S40:YES)、S50にて、コア13の動作状態を「起動」に設定して、S70に移行する。一方、コア13のコア起動条件が不成立である場合には(S40:NO)、S60にて、コア13の動作状態を「停止」に設定して、S70に移行する。
そしてS70に移行すると、コア14のコア起動条件が成立したか否かを判断する。なお、本実施形態におけるコア14のコア起動条件は、IGスイッチがオンであることである。
ここで、コア14のコア起動条件が成立している場合には(S70:YES)、S80にて、コア14の動作状態を「起動」に設定して、S100に移行する。一方、コア14のコア起動条件が不成立である場合には(S70:NO)、S90にて、コア14の動作状態を「停止」に設定して、S100に移行する。
そしてS100に移行すると、S10〜S90の処理で動作状態が「起動」に設定されたコアに対して起動指令信号を出力する。なお、コア12,13,14は、コア11から起動指令信号を入力すると起動するように構成されている。
その後S110にて、コア11を並列動作状態に移行させて、ハイパーバイザ処理を終了する。なお並列動作状態とは、コアマネージャ処理とその他の処理とが並列に実行可能な状態をいう。換言すると、コア11が起動してからハイパーバイザ処理が終了するまでは、非並列動作状態であり、ハイパーバイザ処理のみが実行され、ハイパーバイザ処理以外の処理は実行されない。
次に、コアマネージャ処理は、ハイパーバイザ処理が終了すると開始される処理であり、このコアマネージャ処理が実行されると、コア11は、図3に示すように、まずS210にて、コア12が動作中であるか否かを判断する。ここで、コア12が動作中である場合には(S210:YES)、S220にて、コア12のコア停止条件が成立したか否かを判断する。なお、本実施形態におけるコア12のコア停止条件は、マイコン1が車載バッテリからの電源供給を受けていないことである。
ここで、コア12のコア停止条件が成立している場合には(S220:YES)、S230にて、コア12に対して停止指令信号を出力して、S260に移行する。なお、コア12は、コア11から停止指令信号を入力するとその動作を停止するように構成されている。一方、コア12のコア停止条件が不成立である場合には(S220:NO)、S260に移行する。
またS210にて、コア12が動作停止中である場合には(S210:NO)、S240にて、コア12のコア起動条件が成立したか否かを判断する。ここで、コア12のコア起動条件が成立している場合には(S240:YES)、S250にて、コア12に対して起動指令信号を出力して、S260に移行する。一方、コア12のコア起動条件が不成立である場合には(S240:NO)、S260に移行する。
そしてS260に移行すると、コア13が動作中であるか否かを判断する。ここで、コア13が動作中である場合には(S260:YES)、S270にて、コア13のコア停止条件が成立したか否かを判断する。なお、本実施形態におけるコア13のコア停止条件は、IGスイッチがオフであることである。
ここで、コア13のコア停止条件が成立している場合には(S270:YES)、S280にて、コア13に対して停止指令信号を出力して、S310に移行する。なおコア13は、コア11から停止指令信号を入力するとその動作を停止するように構成されている。一方、コア13のコア停止条件が不成立である場合には(S270:NO)、S310に移行する。
またS260にて、コア13が動作停止中である場合には(S260:NO)、S290にて、コア13のコア起動条件が成立したか否かを判断する。ここで、コア13のコア起動条件が成立している場合には(S290:YES)、S300にて、コア13に対して起動指令信号を出力して、S310に移行する。一方、コア13のコア起動条件が不成立である場合には(S290:NO)、S310に移行する。
そしてS310に移行すると、コア14が動作中であるか否かを判断する。ここで、コア14が動作中である場合には(S310:YES)、S320にて、コア14のコア停止条件が成立したか否かを判断する。なお、本実施形態におけるコア14のコア停止条件は、IGスイッチがオフであることである。
ここで、コア14のコア停止条件が成立している場合には(S320:YES)、S330にて、コア14に対して停止指令信号を出力して、S210に移行し、上述の処理を繰り返す。なおコア14は、コア11から停止指令信号を入力するとその動作を停止するように構成されている。一方、コア14のコア停止条件が不成立である場合には(S320:NO)、S210に移行し、上述の処理を繰り返す。
またS310にて、コア14が動作停止中である場合には(S310:NO)、S340にて、コア14のコア起動条件が成立したか否かを判断する。ここで、コア14のコア起動条件が成立している場合には(S340:YES)、S350にて、コア14に対して起動指令信号を出力して、S210に移行し、上述の処理を繰り返す。一方、コア14のコア起動条件が不成立である場合には(S340:NO)、S210に移行し、上述の処理を繰り返す。
次に、マイコン1が起動してからのコア11〜14の起動と動作停止を図4を用いて説明する。図4は、コア11〜14の起動および動作停止の手順を説明するタイミングチャートである。
図4に示すように、車載バッテリが接続されてマイコン1に電源が供給されると(時刻t1を参照)、マイコン1が起動して動作を開始する(時刻t2を参照)。これにより、コア11が起動してハイパーバイザ処理が開始される。そして、ハイパーバイザ処理により、コア12,13,14の動作状態がそれぞれ「起動」、「停止」、「停止」に設定されるため、ハイパーバイザ処理が終了すると、コア11では並列動作状態に移行してコアマネージャ処理が開始されるとともにコア12が起動する(時刻t3を参照)。
その後IGスイッチがオンになると(時刻t4を参照)、コアマネージャ処理によりコア11からコア13,14に対して起動指令信号が出力されるため、コア13,14が起動する(時刻t5を参照)。さらにIGスイッチがオフになると(時刻t6を参照)、コアマネージャ処理によりコア11からコア13,14に対して停止指令信号が出力されるため、コア13,14が動作を停止する(時刻t7を参照)。
このように構成されたマイコン1では、複数のコア12,13,14のそれぞれについて予め設定されたコア起動条件が成立したか否かを判断し、コア起動条件が成立したと判断した場合に、成立したコア起動条件に対応するコアを起動させる処理(S10〜S100,S240,S250,S290,S300,S340,S350)を実行するとともに、複数のコア12,13,14のそれぞれについて予め設定されたコア停止条件が成立したか否かを判断し、コア停止条件が成立したと判断した場合に、成立したコア停止条件に対応するコアの動作を停止させる処理を実行する(S220,S230,S270,S280,S320,S330)。
このように構成されたマイコン1では、ハイパーバイザ処理およびコアマネージャ処理が、複数のコア12,13,14のそれぞれについての起動および動作停止を行う。このため、マイコン1の起動および動作停止がコア起動条件およびコア停止条件となっていないコア(以下、起動停止条件相違コアという)について、この起動停止条件相違コアに対応したコア起動条件およびコア停止条件をハイパーバイザ処理およびコアマネージャ処理で設定しておけば、コア起動条件およびコア停止条件がマイコン1と相違していることに対応した制御ロジックの修正が起動停止条件相違コア側で不要となり、起動停止条件相違コア側で制御ロジックを修正する場合と比較して修正量が減少する。これにより、複数のコアを用いて複数のECU機能を単一のマイコン1に統合する際における開発工数の増大を抑制することができる。
また、マイコン1は、マイコン1が起動してからハイパーバイザ処理が終了するまでの期間内において、非並列動作状態であり、ハイパーバイザ処理のみが実行され、ハイパーバイザ処理以外の処理は実行されない。これにより、マイクロコンピュータが起動した直後に起動する必要があるコア12の起動が、ハイパーバイザ処理以外の処理の実行のために遅れてしまうといった事態の発生を抑制することができる。
以上説明した実施形態において、S10〜S100,S240,S250,S290,S300,S340,S350の処理は本発明におけるコア起動手段、S220,S230,S270,S280,S320,S330の処理は本発明におけるコア停止手段、マイコン1が起動してからハイパーバイザ処理が終了するまでの期間は本発明における起動後優先期間である。
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採ることができる。
例えば上記実施形態においては、マイコン1が起動してからハイパーバイザ処理が終了するまでコア11においてハイパーバイザ処理以外の処理は実行されないものを示したが、ハイパーバイザ処理を優先して実行させることにより、コア11においてハイパーバイザ処理とハイパーバイザ処理以外の処理とを並列に動作させるようにしてもよい。
また上記実施形態においては、マイコン1に4個のコアが搭載されているものを示したが、コア数はこれに限定されるものではなく2個以上であればよい。
また上記実施形態においては、コア起動条件が「車載バッテリからの電源供給を受けていること」または「IGスイッチがオンであること」といったマイコン外部からの情報であるものを示したが、これに限定されるものではなく、マイコン内部の情報(例えば、内部リソースの状態)を用いてもよく、マイコン外部からの情報とマイコン内部の情報とを複合的に用いてもよい。
1…マイコン、11,12,13,14…コア、15…I/Oポート、21…ハイパーバイザ、22…コアマネージャ

Claims (2)

  1. 複数のコアを搭載するマイクロコンピュータであって、
    複数のコアのそれぞれについて予め設定されたコア起動条件が成立したか否かを判断し、前記コア起動条件が成立したと判断した場合に、成立した前記コア起動条件に対応する前記コアを起動させる処理を実行するコア起動手段と、
    複数のコアのそれぞれについて予め設定されたコア停止条件が成立したか否かを判断し、前記コア停止条件が成立したと判断した場合に、成立した前記コア停止条件に対応する前記コアの動作を停止させる処理を実行するコア停止手段とを備える
    ことを特徴とするマイクロコンピュータ。
  2. 当該マイクロコンピュータは、
    当該マイクロコンピュータが起動した直後の予め設定された起動後優先期間内において、前記コア起動手段が実行する処理を、その他の処理よりも優先して実行させる
    ことを特徴とする請求項1に記載のマイクロコンピュータ。
JP2011117102A 2011-05-25 2011-05-25 マイクロコンピュータ Withdrawn JP2012247849A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011117102A JP2012247849A (ja) 2011-05-25 2011-05-25 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011117102A JP2012247849A (ja) 2011-05-25 2011-05-25 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JP2012247849A true JP2012247849A (ja) 2012-12-13

Family

ID=47468274

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011117102A Withdrawn JP2012247849A (ja) 2011-05-25 2011-05-25 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP2012247849A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015116180A1 (en) * 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L.P. Functional unit promotion to management unit
CN117389625A (zh) * 2023-12-11 2024-01-12 沐曦集成电路(南京)有限公司 基于主动中断指令的进程同步方法、***、设备及介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015116180A1 (en) * 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L.P. Functional unit promotion to management unit
US10261882B2 (en) 2014-01-31 2019-04-16 Hewlett Packard Enterprise Development Lp Functional unit promotion to management unit
CN117389625A (zh) * 2023-12-11 2024-01-12 沐曦集成电路(南京)有限公司 基于主动中断指令的进程同步方法、***、设备及介质
CN117389625B (zh) * 2023-12-11 2024-03-12 沐曦集成电路(南京)有限公司 基于主动中断指令的进程同步方法、***、设备及介质

Similar Documents

Publication Publication Date Title
JP4665846B2 (ja) マイクロコンピュータ及び電子制御装置
JP6297232B2 (ja) データ処理装置、データ処理方法及びデータ処理プログラム
JP6673202B2 (ja) 演算装置、演算装置の制御方法、及び、演算装置の制御プログラム
JP6430896B2 (ja) 電子機器のスタンバイ処理制御装置およびスタンバイ処理制御方法
JP5533789B2 (ja) 車載電子制御装置
US7480812B2 (en) Microprocessor
JP5561241B2 (ja) マイクロコンピュータ
JP2012247849A (ja) マイクロコンピュータ
JP6519515B2 (ja) マイクロコンピュータ
JP5884788B2 (ja) マイクロコンピュータ
JP2008283492A (ja) ゲートウェイ装置、車載通信システム
JP2014004858A (ja) 車両制御装置
US10269194B2 (en) Multiprocessor system and vehicle control system
JP6183251B2 (ja) 電子制御装置
JP6365387B2 (ja) 電子制御装置
JP2010113419A (ja) マルチコア制御装置
JP2015184796A (ja) 電子制御装置及びメモリ診断方法
WO2010109609A1 (ja) 処理装置及び車両用エンジン制御装置
WO2019044226A1 (ja) アクセス制御装置
JP7087752B2 (ja) 電子装置
JP5774941B2 (ja) コンフィグレーション装置及びコンフィグレーション方法
JP5561294B2 (ja) マイクロコンピュータ
JP2002229791A (ja) インターフェース生成装置、プログラム及び記録媒体
WO2015087493A1 (ja) データ処理装置及びメッセージ処理プログラム製品
JP7378445B2 (ja) 電子制御ユニット、情報処理方法、およびプログラム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140805