JP2008102830A - マイクロコンピュータ、プログラム及び車両用電子制御装置 - Google Patents
マイクロコンピュータ、プログラム及び車両用電子制御装置 Download PDFInfo
- Publication number
- JP2008102830A JP2008102830A JP2006286330A JP2006286330A JP2008102830A JP 2008102830 A JP2008102830 A JP 2008102830A JP 2006286330 A JP2006286330 A JP 2006286330A JP 2006286330 A JP2006286330 A JP 2006286330A JP 2008102830 A JP2008102830 A JP 2008102830A
- Authority
- JP
- Japan
- Prior art keywords
- task
- sleep
- application
- microcomputer
- tasks
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
Abstract
【課題】マイコンがスリープモードに入れる状態になった時に、そのマイコンを即座にスリープモードへと移行させることができるようにして、無駄な電力消費を無くす。
【解決手段】複数のアプリケーションタスク(以下、アプリタスク)が実行されるマイコンにおいて、アプリタスクの各々では、自タスクが実行されなくても良いスリープ可能状態であると判定すると関数コールによる通知を行う。そして、アプリタスクの何れかにより上記関数がコールされると、状態管理部のプログラムが起動し、その関数をコールしたアプリタスクがスリープ可能状態であるというフラグ(Flag(n):nはアプリタスクの識別子)をセットすると共に(S210)、全アプリタスクのフラグをチェックして、全アプリタスクがスリープ可能状態か否かを判定し(S220)、肯定判定したならば当該マイコンをスリープモードに移行させる(S230)。
【選択図】図4
【解決手段】複数のアプリケーションタスク(以下、アプリタスク)が実行されるマイコンにおいて、アプリタスクの各々では、自タスクが実行されなくても良いスリープ可能状態であると判定すると関数コールによる通知を行う。そして、アプリタスクの何れかにより上記関数がコールされると、状態管理部のプログラムが起動し、その関数をコールしたアプリタスクがスリープ可能状態であるというフラグ(Flag(n):nはアプリタスクの識別子)をセットすると共に(S210)、全アプリタスクのフラグをチェックして、全アプリタスクがスリープ可能状態か否かを判定し(S220)、肯定判定したならば当該マイコンをスリープモードに移行させる(S230)。
【選択図】図4
Description
本発明は、マイクロコンピュータをスリープモードに移行させるための技術に関するものである。
従来より、例えば車両用電子制御装置に搭載されるマイクロコンピュータにおいては、OS(オペレーティングシステム)によるマルチタスクの機能を利用して、制御対象を制御するための複数のアプリケーションタスクを実行するようにしている。
そして、この種のマイクロコンピュータにおいては、処理を行わなくても良くなった場合に、例えば、CPUのクロック周波数又は電源電圧を下げたり、CPUへのクロック供給又は電源供給を停止したりして、通常動作時よりも消費電力の少ないスリープモードに移行させることが行われている(例えば、特許文献1参照)。
次に、マイクロコンピュータをスリープモードに移行させるための手法の具体例について、図7を用い説明する。尚、以下では、アプリケーションタスクを、略してアプリタスクともいう。また、本明細書においては、便宜上、「タスクが・・・する」といったプログラムを主体とした表現を適宜用いるが、その表現は、そのプログラムをコンピュータが実行することで実現される機能手段の動作内容(簡単に言えば、そのプログラムの機能の内容)を表している。
まず、図7の例では、アプリタスクとして、アプリタスク1とアプリタスク2とがあり、また、それら各アプリタスク1,2を一定時間毎に起床させるシステムタスクがある。そして例えば、システムタスクは、1ms毎に起床すると共に、アプリタスク1の起床要求を行い、また、2回起床する毎に1回の割合でアプリタスク2の起床要求を行う。よって、アプリタスク1は1ms毎に起床し、アプリタスク2は2ms毎に起床することとなる。更に、各タスクの優先順位は、「システムタスク>アプリタスク1>アプリタスク2」の順になっている。
ここで、アプリタスク1,2の各々は、自タスクが実行されなくても良い状態(以下、スリープ可能状態という)であるか否かを判定し、スリープ可能状態であると判定すると、各アプリタスク毎に設けられたスリープ可否フラグのうち、自タスクに対応するスリープ可否フラグをセットするための処理を行う。
そして、システムタスクは、起床すると、全アプリタスクのスリープ可否フラグをチェックし、それらが全てセットされていれば、アプリタスクの起床要求を行うことなく、マイクロコンピュータをスリープモードに移行させるための処理を行う。
このため、図7の例では、時刻t3でアプリタスク1がスリープ可能状態になったと判定し、時刻t4でアプリタスク2がスリープ可能状態になったと判定すると、その後の時刻t5でシステムタスクが起床した場合に、そのシステムタスクがマイクロコンピュータをスリープモードに移行させることとなる。尚、図7の例において、時刻t1,t2,t5は、システムタスクが起床する1ms毎のタイミングである。そして、アプリタスク2は、時刻t1で起床したシステムタスクによって、アプリタスク1と共に起床要求されているが、システムタスク及びアプリタスク1よりも優先順位が低いため、時刻t2と時刻t5との間の時刻t4まで実行期間が伸びてしまっている。
一方、マイクロコンピュータをスリープモードに移行させるための他の手法として、アイドルタスクを用いることも考えられる。
即ち、アイドルタスクは、優先度が最も低く、他のタスクが実行されない期間に実行されるタスクである。そして、システムタスクではなく、そのアイドルタスクが、全アプリタスクのスリープ可否フラグをチェックし、それらが全てセットされていれば、マイクロコンピュータをスリープモードに移行させるための処理を行うようにすることが考えられる。また、アイドルタスクの実行される状態が、マイクロコンピュータをスリープモードにしても良い状態と等しいのであれば、アイドルタスクが無条件にマイクロコンピュータをスリープモードに移行させるように構成することも考えられる(例えば、特許文献1参照)。
特開2005−182223号公報
即ち、アイドルタスクは、優先度が最も低く、他のタスクが実行されない期間に実行されるタスクである。そして、システムタスクではなく、そのアイドルタスクが、全アプリタスクのスリープ可否フラグをチェックし、それらが全てセットされていれば、マイクロコンピュータをスリープモードに移行させるための処理を行うようにすることが考えられる。また、アイドルタスクの実行される状態が、マイクロコンピュータをスリープモードにしても良い状態と等しいのであれば、アイドルタスクが無条件にマイクロコンピュータをスリープモードに移行させるように構成することも考えられる(例えば、特許文献1参照)。
システムタスクによってスリープモードへの移行を制御する手法の場合、全てのアプリタスクがスリープ可能状態になったとしても、その後にシステムタスクが起床するまでは、マイクロコンピュータをスリープモードにすることができない。このため、図7に示しているような無駄な動作期間が発生してしまい、その分、無駄な電力を消費することとなる。
また、アイドルタスクによってスリープモードへの移行を制御する手法の場合にも、以下の理由により、同様の問題が生じる。
例えば、図7において、時刻t1の前に、アプリタスク1,2のうち、アプリタスク2は既にスリープ可能状態になっていたとする。そして、この場合、時刻t1でシステムタスクが起床すると、そのシステムタスクは、通常通りアプリタスク1,2の起床要求を行うこととなる。
例えば、図7において、時刻t1の前に、アプリタスク1,2のうち、アプリタスク2は既にスリープ可能状態になっていたとする。そして、この場合、時刻t1でシステムタスクが起床すると、そのシステムタスクは、通常通りアプリタスク1,2の起床要求を行うこととなる。
ここで、もし、その回に起床したアプリタスク1がスリープ可能状態になったとしても、アプリタスク2は既に起床要求されているため、そのアプリタスク1の実行が終了すると、引き続きアプリタスク2が実行される。そして、そのアプリタスク2の実行が終了すると、アイドルタスクによってマイクロコンピュータがスリープモードに移行することとなる。しかし、この場合、アプリタスク1の実行が終了した時点から、アプリタスク2の実行が終了するまでの間は、やはり無駄な動作期間となり、その分、無駄な電力を消費することとなる。
また更に、アイドルタスクによってスリープモードへの移行を制御する場合、そのアイドルタスクに他の機能を組み込み難いという欠点もある。
本発明は、こうした問題に鑑みなされたものであり、マイクロコンピュータがスリープモードに入れる状態になった時に、そのマイクロコンピュータを即座にスリープモードへと移行させることができるようにして、無駄な電力消費を無くすことを目的としている。
本発明は、こうした問題に鑑みなされたものであり、マイクロコンピュータがスリープモードに入れる状態になった時に、そのマイクロコンピュータを即座にスリープモードへと移行させることができるようにして、無駄な電力消費を無くすことを目的としている。
上記目的を達成するためになされた請求項1のマイクロコンピュータでは、アプリケーションアスクが実行され、特に、スリープ移行管理手段が備えられている。
スリープ移行管理手段は、アプリケーションタスクから、そのアプリケーションタスクがスリープ可能状態(実行されなくても良い状態)であることが通知されると起動する。そして、その通知に該当するアプリケーションタスクがスリープ可能状態であるという履歴を記憶すると共に、全アプリケーションタスクについての前記履歴をチェックすることにより、全アプリケーションタスクがスリープ可能状態であるか否かを判定し、その判定で肯定判定したならば、当該マイクロコンピュータを通常動作時よりも消費電力の少ないスリープモードに移行させる。
スリープ移行管理手段は、アプリケーションタスクから、そのアプリケーションタスクがスリープ可能状態(実行されなくても良い状態)であることが通知されると起動する。そして、その通知に該当するアプリケーションタスクがスリープ可能状態であるという履歴を記憶すると共に、全アプリケーションタスクについての前記履歴をチェックすることにより、全アプリケーションタスクがスリープ可能状態であるか否かを判定し、その判定で肯定判定したならば、当該マイクロコンピュータを通常動作時よりも消費電力の少ないスリープモードに移行させる。
また、アプリケーションタスクでは、そのアプリケーションタスク(自タスク)がスリープ可能状態になると上記通知を行うための通知処理が行われるようになっている。
このようなマイクロコンピュータによれば、全てのアプリケーションタスクがスリープ可能状態になった時であって、当該マイクロコンピュータがスリープモードに入れる状態になった時には、即座にスリープモードへと移行させることができる。よって、従来技術で生じていた無駄な電力消費を無くすことができる。
このようなマイクロコンピュータによれば、全てのアプリケーションタスクがスリープ可能状態になった時であって、当該マイクロコンピュータがスリープモードに入れる状態になった時には、即座にスリープモードへと移行させることができる。よって、従来技術で生じていた無駄な電力消費を無くすことができる。
尚、通知処理は、請求項2に記載のように、アプリケーションタスクの末尾で行われるようにすることが好ましい。上記通知を行ったアプリケーションタスクが終了した時点で、スリープ移行管理手段により、全アプリケーションタスクがスリープ可能状態であるか否かの判定が行われることとなり、延いては、アプリケーションタスクの実行中に、スリープモードになってしまうことを確実に回避することができるからである。
一方、コンピュータをスリープ移行管理手段として機能させるためのプログラムによれば、ハードウェアを追加しなくても、請求項1,2のマイクロコンピュータを実現することができる。
また、請求項1,2のマイクロコンピュータは、様々な装置に適用可能であるが、特に、消費電力の低減が望まれる車両用電子制御装置に用いれば、その車両用電子制御装置が動作しなくても良い場合の消費電力を一層抑制することができるようになる。
以下に、本発明が適用された実施形態の車両用電子制御装置について説明する。尚、本実施形態の電子制御装置は、例えば車両のパワーウィンドウやドアロックといったボデー系の機能を制御するものである。また、以下では、電子制御装置のことをECUという。
図1に示すように、本実施形態のECU11は、マイコン(マイクロコンピュータ)13と、センサ信号やスイッチ信号をマイコン13に入力させる入力回路15と、マイコン13からの信号に基づきパワーウィンドウモータやドアロックモータ等の各種アクチュエータへ駆動信号を出力する出力回路17と、車両に搭載された他のECUと通信線18を介してマイコン13が通信するための通信回路19とを備えている。
また、マイコン13には、周知のCPU21、ROM23、RAM25、及びI/Oポート27等が備えられている。ROM23には、CPU21によって実行されるプログラム(ソフトウェア)が予め記憶されている。また、RAM25には、プログラムの実行による演算結果(例えば、演算結果のデータやフラグ等)が一時的に記憶される。
そして、マイコン13では、OSによるマルチタスクの機能により、制御対象を制御するための複数のアプリタスク(アプリケーションタスク)が実行されるが、ROM25に格納されたソフトウェアとしては、OSとアプリタスクの他にも、システムタスクSTと状態管理部SMがある。
図2に示すように、システムタスクSTは、複数のアプリタスクAP1〜APx(xは2以上の整数)のうち、定期的に実行されるべきアプリタスク(以下、定期アプリタスクという)の各々について、その定期アプリタスクの実行間隔毎に、その定期アプリタスクの起床要求をOSに対して行うタスクである。このため、システムタスクSTは、全定期アプリタスクの実行間隔の最小公約数の時間毎(本実施形態では、例えば1ms毎)に起床される。
また、状態管理部SMは、全てのアプリタスクAP1〜APxが実行されなくても良い状態になったことを検知して、マイコン13をスリープモードに移行させるプログラム部分である。
尚、アプリタスクのなかには、不定期なイベントの発生時(例えば、特定のスイッチがオンされたときや、他のECUから特定の信号を受信した時等)に即座に起床されるものもある。
また、図2に示すように、アプリタスクAP1〜APxの各々は、1個以上のモジュール(以下、アプリモジュールという)からなっている。例えば、アプリタスクAP1は、y個(yは1以上の整数)のアプリモジュールAP1−1〜AP1−yからなり、アプリタスクAPxは、z個(zは1以上の整数)のアプリモジュールAPx−1〜APx−zからなっている。そして例えば、アプリモジュールとしては、ドアロック制御、トランク制御、車室内照明制御、ライト制御、パワーウィンドウ制御といった、各種制御をそれぞれ行うためのものがある。
次に、各アプリタスクの処理内容(アプリタスクによって実現される機能)を、図3のフローチャートに沿って説明する。尚、ここでは、1つのアプリタスクAPn(nは1〜xの何れか)について説明するが、他のアプリタスクについても同様である。
アプリタスクAPnの実行が開始されると、そのアプリタスクAPnを成す各アプリモジュールの処理が行われる(S110)。
そして、全アプリモジュールの処理が終了すると(S120:YES)、その全アプリモジュールの各々について、実行されなくても良いスリープ可能状態になったか否かの状態判定を行う(S130)。
そして、全アプリモジュールの処理が終了すると(S120:YES)、その全アプリモジュールの各々について、実行されなくても良いスリープ可能状態になったか否かの状態判定を行う(S130)。
ここで、アプリモジュールにとって、スリープ可能状態とは、そのアプリモジュールによって実現される制御が完了しており、且つ、その制御を行う必要もない状態である。
例えば、パワーウィンドウ制御を行うためのアプリモジュールであれば、そのアプリモジュールが一定時間毎に複数回実行されることにより、パワーウィンドウに関する一連の制御が実現されることとなるため、その一連の制御が完了しており、且つ、新たな制御要求もなくて制御の実施が不要になった状態である。また、アプリモジュールによっては、一連の制御がなく、そのアプリモジュールの実行が終了すると、いつでもスリープ可能状態になるものもある。
例えば、パワーウィンドウ制御を行うためのアプリモジュールであれば、そのアプリモジュールが一定時間毎に複数回実行されることにより、パワーウィンドウに関する一連の制御が実現されることとなるため、その一連の制御が完了しており、且つ、新たな制御要求もなくて制御の実施が不要になった状態である。また、アプリモジュールによっては、一連の制御がなく、そのアプリモジュールの実行が終了すると、いつでもスリープ可能状態になるものもある。
そして、全アプリモジュールの各々についてスリープ可能状態になったか否かの判定が終わると、その判定結果に基づいて、当該アプリタスクAPnがスリープ可能状態であるか否かを判定する(S140)。具体的には、全アプリモジュールがスリープ可能状態になっているか否かを判定し、全アプリモジュールがスリープ可能状態であれば、当該アプリタスクAPnがスリープ可能状態であると判定する。
ここで、当該アプリタスクAPnがスリープ可能状態ではないと判定したならば(S140:NO)、そのまま当該アプリタスクAPnが終了する。
これに対して、当該アプリタスクAPnがスリープ可能状態であると判定した場合には(S140:YES)、当該アプリタスクAPnがスリープ可能状態であることを状態管理部SMに通知するための通知処理を行う(S150)。本実施形態では、通知処理として「SleepOK(n)」という関数(以下、スリープ可能関数という)をコールする。尚、スリープ可能関数における()内のnは、その関数をコールしたアプリタスクの識別子であり、その関数の引数(パラメータ)である。そして、その後、当該アプリタスクAPnが終了する。
これに対して、当該アプリタスクAPnがスリープ可能状態であると判定した場合には(S140:YES)、当該アプリタスクAPnがスリープ可能状態であることを状態管理部SMに通知するための通知処理を行う(S150)。本実施形態では、通知処理として「SleepOK(n)」という関数(以下、スリープ可能関数という)をコールする。尚、スリープ可能関数における()内のnは、その関数をコールしたアプリタスクの識別子であり、その関数の引数(パラメータ)である。そして、その後、当該アプリタスクAPnが終了する。
尚、「実行完了=スリープ可能状態」というようなアプリタスクであれば、S130及びS140のような判定処理を省略し、そのアプリタスクの最後で、常に上記スリープ可能関数をコールするようにしても良い。
次に、状態管理部SMの処理内容(状態管理部SMによって実現される機能)を、図4のフローチャートに沿って説明する。
まず、マイコン13では、アプリタスクAP1〜APxの何れかによって、上記スリープ可能関数(「SleepOK(n)」:nは1〜xの何れか)がコールされると、状態管理部SMに該当するプログラムが即座に実行される。
まず、マイコン13では、アプリタスクAP1〜APxの何れかによって、上記スリープ可能関数(「SleepOK(n)」:nは1〜xの何れか)がコールされると、状態管理部SMに該当するプログラムが即座に実行される。
そして、状態管理部SMに該当するプログラムの実行が開始されると、まず、「Flag(n)」というフラグ(以下、スリープ可能フラグという)をセットする(S120)。尚、そのスリープ可能フラグにおける()内のnは、今回コールされたスリープ可能関数における引数であり、そのスリープ可能関数をコールしたアプリタスクの識別子である。つまり、S210では、スリープ可能状態であることを通知してきたアプリタスクがスリープ可能状態であるという履歴を、スリープ可能フラグというかたちで記憶する。
次に、全アプリタスクAP1〜APxのスリープ可能フラグ(Flag(1)〜Flag(x))が全てセットされているか否かを判定する(S220)。
そして、全アプリタスクAP1〜APxのスリープ可能フラグがセットされていれば(S220:YES)、当該マイコン13を通常動作時よりも消費電力の少ないスリープモードに移行させるための処理を行う(S230)。例えば、CPU21へクロックを供給している発振回路の動作を停止させたり、当該マイコン13へ電源を供給している電源回路の動作を停止させたりする。このため、S230の処理が行われると、当該マイコン13が動作を停止することとなる。また、S230では、CPU21のクロック周波数又は電源電圧を下げるような処理を行うようにしても良い。
そして、全アプリタスクAP1〜APxのスリープ可能フラグがセットされていれば(S220:YES)、当該マイコン13を通常動作時よりも消費電力の少ないスリープモードに移行させるための処理を行う(S230)。例えば、CPU21へクロックを供給している発振回路の動作を停止させたり、当該マイコン13へ電源を供給している電源回路の動作を停止させたりする。このため、S230の処理が行われると、当該マイコン13が動作を停止することとなる。また、S230では、CPU21のクロック周波数又は電源電圧を下げるような処理を行うようにしても良い。
一方、上記S220で否定判定した場合(即ち、何れか1つでもスリープ可能フラグがセットされていない場合)には、そのまま当該状態管理部SMの処理が終了するか、或いは他の処理が行われた後、当該状態管理部SMの処理が終了する。
次に、上記各処理の作用について、図5及び図6を用い説明する。尚、ここでは、前述した図7の例と同様に、アプリタスクが、アプリタスクAP1とアプリタスクAP2との2つであると共に、システムタスクSTによって、アプリタスクAP1が1ms毎に起床要求され、アプリタスクAP2が2ms毎に起床要求され、更に、各タスクの優先順位は、「システムタスクST>アプリタスクAP1>アプリタスクAP2」の順になっているものとする。また、図5に記載しているステップ番号(Sで始まる番号)は、図3,図4の処理において該当するステップ番号である。
まず図5に示すように、アプリタスクAP1によってスリープ可能関数(「SleepOK(1)」)がコールされると、状態管理部SMが起動して、Flag(1)をセットすると共に、全アプリタスクAP1,AP2のスリープ可能フラグ(Flag(1),Flag(2))が全てセットされているか否かを判定する。
そして、この時点では、アプリタスクAP2のスリープ可能フラグ(Flag(2))が未セットであるため、マイコン13はスリープモードにならず、そのまま通常動作を続ける。
その後、アプリタスクAP2によってスリープ可能関数(「SleepOK(2)」)がコールされると、再び状態管理部SMが起動して、Flag(2)をセットすると共に、全アプリタスクAP1,AP2のスリープ可能フラグ(Flag(1),Flag(2))が全てセットされているか否かを判定する。
そして、この時点では、全アプリタスクAP1,AP2のスリープ可能フラグが全てセットされているため、状態管理部SMは、マイコン13をスリープモードに移行させるための処理を行う。すると、マイコン13が動作を停止することとなる。尚、スリープモードに移行させるための処理として、CPU21のクロック周波数又は電源電圧を下げるような処理を行う場合には、CPU21が通常時よりも低速で動作することとなる。
このようなマイコン13によれば、図6に示すように、全てのアプリタスクがスリープ可能状態になった時(この例では、アプリタスクAP2がスリープ可能状態になった時)であって、当該マイコン13がスリープモードに入れる状態になった時に、即座にスリープモードへと移行することができる。よって、前述の従来技術で生じていた無駄な電力消費を無くすことができる。
また、本実施形態では、状態管理部SMとしての機能を、プログラムによって実現しているため、ハードウェアを追加しなくても上記効果を得ることができる。また、最低優先度のタスクとして、アイドルタスクを設けた場合、そのアイドルタスクに何らかの機能(例えば、メモリの異常チェック機能等)を組み込み易いという利点もある。
そして、このようなマイコン13を備えたECU11によれば、動作しなくても良い場合の消費電力を従来よりも抑制することができる。
尚、本実施形態では、状態管理部SMが、スリープ移行管理手段、又はコンピュータをスリープ移行管理手段として機能させるためのプログラムに相当している。
尚、本実施形態では、状態管理部SMが、スリープ移行管理手段、又はコンピュータをスリープ移行管理手段として機能させるためのプログラムに相当している。
以上、本発明の一実施形態について説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々なる態様で実施し得ることは勿論である。
例えば、システムタスクSTや状態管理部SMの機能は、OSに持たせるようにしても良い。
また、状態管理部SMの処理は、システムタスクSTや何れかのアプリタスク内で実行されるようにしてもよい。
また、状態管理部SMの処理は、システムタスクSTや何れかのアプリタスク内で実行されるようにしてもよい。
また、システムタスクST内でアプリケーションの処理が実施されるようにしても良い。つまり、あるアプリタスクがシステムタスクSTの代わりにタスク起床等の制御を行っても良い。
また、図2ではアプリタスクの数(x)を2以上としたが、アプリタスクの数は1つであっても良い。
一方、本発明は、前述したようなボデー系の機能を制御するECUに限らず、例えばエンジンやトランスミッション等のパワートレイン系を制御するECU等にも適用することができ、また、車両用以外のECUに対しても同様に適用することができる。
一方、本発明は、前述したようなボデー系の機能を制御するECUに限らず、例えばエンジンやトランスミッション等のパワートレイン系を制御するECU等にも適用することができ、また、車両用以外のECUに対しても同様に適用することができる。
11…ECU、13…マイコン、15…入力回路、17…出力回路、18…通信線、19…通信回路、21…CPU、23…ROM、25…RAM、27…I/Oポート、AP1〜APx…アプリタスク、SM…状態管理部、ST…システムタスク
Claims (4)
- アプリケーションタスクが実行されるマイクロコンピュータにおいて、
前記アプリケーションタスクから、そのアプリケーションタスクが実行されなくても良い状態(以下、スリープ可能状態という)であることが通知されると起動し、その通知に該当するアプリケーションタスクがスリープ可能状態であるという履歴を記憶すると共に、全アプリケーションタスクについての前記履歴をチェックすることにより、全アプリケーションタスクがスリープ可能状態であるか否かを判定し、その判定で肯定判定したならば、当該マイクロコンピュータを通常動作時よりも消費電力の少ないスリープモードに移行させるスリープ移行管理手段を備えており、
前記アプリケーションタスクでは、そのアプリケーションタスクがスリープ可能状態になると上記通知を行うための通知処理が行われるようになっていること、
を特徴とするマイクロコンピュータ。 - 請求項1に記載のマイクロコンピュータにおいて、
前記通知処理は、前記アプリケーションタスクの末尾で行われること、
を特徴とするマイクロコンピュータ。 - コンピュータを請求項1に記載のスリープ移行管理手段として機能させるためのプログラム。
- 請求項1又は請求項2に記載のマイクロコンピュータを備えた車両用電子制御装置。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006286330A JP2008102830A (ja) | 2006-10-20 | 2006-10-20 | マイクロコンピュータ、プログラム及び車両用電子制御装置 |
DE102007049577A DE102007049577A1 (de) | 2006-10-20 | 2007-10-16 | Mikrocomputer, Programm und elektronische Fahrzeugsteuerung |
CNA2007101815156A CN101165636A (zh) | 2006-10-20 | 2007-10-18 | 微型计算机、程序和车载电子控制器 |
US11/976,080 US20080104438A1 (en) | 2006-10-20 | 2007-10-19 | Microcomputer, program and on-vehicle electronic controller |
KR1020070105565A KR20080035986A (ko) | 2006-10-20 | 2007-10-19 | 차량용 제어 장치의 슬립 상태를 제어하는 방법, 제조물품, 제어 장치 및 마이크로컴퓨터 |
FR0707386A FR2908535A1 (fr) | 2006-10-20 | 2007-10-22 | Microcalculateur, programme et controleur electronique embarque dans un vehicule |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006286330A JP2008102830A (ja) | 2006-10-20 | 2006-10-20 | マイクロコンピュータ、プログラム及び車両用電子制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008102830A true JP2008102830A (ja) | 2008-05-01 |
Family
ID=39265120
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006286330A Pending JP2008102830A (ja) | 2006-10-20 | 2006-10-20 | マイクロコンピュータ、プログラム及び車両用電子制御装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20080104438A1 (ja) |
JP (1) | JP2008102830A (ja) |
KR (1) | KR20080035986A (ja) |
CN (1) | CN101165636A (ja) |
DE (1) | DE102007049577A1 (ja) |
FR (1) | FR2908535A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9274807B2 (en) * | 2006-04-20 | 2016-03-01 | Qualcomm Incorporated | Selective hibernation of activities in an electronic device |
GB2476650A (en) * | 2009-12-30 | 2011-07-06 | 1E Ltd | Computer which enters a low power state when there is no user activity and no process requiring a high power state |
CN101923493A (zh) * | 2010-09-21 | 2010-12-22 | 深圳市华力特电气股份有限公司 | 一种任务调度方法及任务调度设备 |
US8700936B2 (en) * | 2010-12-03 | 2014-04-15 | Schneider Electric It Corporation | Modular gating of microprocessor low-power mode |
US8850251B1 (en) * | 2011-01-19 | 2014-09-30 | Intellectual Ventures Fund 79 Llc | Methods, devices, and mediums associated with controlling a power mode |
DE102013202774A1 (de) * | 2013-02-20 | 2014-08-21 | Robert Bosch Gmbh | Vorrichtung, Verfahren und System zum Steuern eines Prozessors |
CN103914346A (zh) * | 2013-12-16 | 2014-07-09 | 西北工业大学 | 一种基于分组的实时操作系统双优先级任务调度节能方法 |
CN104714624B (zh) * | 2015-03-23 | 2018-01-16 | 广东欧珀移动通信有限公司 | 移动终端节省功耗的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62150416A (ja) * | 1985-12-24 | 1987-07-04 | Nec Corp | 低消費電力状態への移行方式 |
JPH10341187A (ja) * | 1997-06-09 | 1998-12-22 | Nippon Denki Ido Tsushin Kk | 携帯電話機 |
JP2003029886A (ja) * | 2001-07-12 | 2003-01-31 | Denso Corp | オペレーティングシステム、プログラム、車両用電子制御装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2696259A1 (fr) * | 1992-09-30 | 1994-04-01 | Apple Computer | Organisation en tâches et en modules d'une exécution dans un processeur. |
US7100162B2 (en) * | 2002-06-20 | 2006-08-29 | Hewlett-Packard Development Company, L.P. | System and method for process management |
-
2006
- 2006-10-20 JP JP2006286330A patent/JP2008102830A/ja active Pending
-
2007
- 2007-10-16 DE DE102007049577A patent/DE102007049577A1/de not_active Ceased
- 2007-10-18 CN CNA2007101815156A patent/CN101165636A/zh active Pending
- 2007-10-19 US US11/976,080 patent/US20080104438A1/en not_active Abandoned
- 2007-10-19 KR KR1020070105565A patent/KR20080035986A/ko not_active Application Discontinuation
- 2007-10-22 FR FR0707386A patent/FR2908535A1/fr active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62150416A (ja) * | 1985-12-24 | 1987-07-04 | Nec Corp | 低消費電力状態への移行方式 |
JPH10341187A (ja) * | 1997-06-09 | 1998-12-22 | Nippon Denki Ido Tsushin Kk | 携帯電話機 |
JP2003029886A (ja) * | 2001-07-12 | 2003-01-31 | Denso Corp | オペレーティングシステム、プログラム、車両用電子制御装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20080035986A (ko) | 2008-04-24 |
FR2908535A1 (fr) | 2008-05-16 |
US20080104438A1 (en) | 2008-05-01 |
CN101165636A (zh) | 2008-04-23 |
DE102007049577A1 (de) | 2008-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008102830A (ja) | マイクロコンピュータ、プログラム及び車両用電子制御装置 | |
JP5626266B2 (ja) | 通信システム | |
EP2573683A1 (en) | Data processor and electronic control unit | |
JP2008107914A (ja) | マイクロコンピュータ、プログラム及び車両用電子制御装置 | |
CN110830267A (zh) | 网络节点的状态控制方法、装置及网关 | |
JP5231047B2 (ja) | 制御装置 | |
GB2487945A (en) | Motor Vehicle Shutdown Control | |
CN112087355A (zh) | 一种状态控制方法、装置、电子模块及can网络系统 | |
WO2024002316A1 (zh) | 车辆控制器的控制方法、装置、中央网关控制器及介质 | |
JP2011039608A (ja) | 処理システム、動作状態制御方法及びコンピュータプログラム | |
JP2007001420A (ja) | 自動車用制御ユニット | |
JP2010097427A (ja) | 処理装置、処理方法及びコンピュータプログラム | |
JP2009116719A (ja) | マイクロコンピュータ | |
JP3758477B2 (ja) | マイクロコンピュータ | |
JP4083598B2 (ja) | ネットワークシステム | |
CN112068493B (zh) | 一种整车休眠唤醒控制方法和控制系统 | |
JP2006236089A (ja) | 自動車用制御装置 | |
JP2002229791A (ja) | インターフェース生成装置、プログラム及び記録媒体 | |
JP2008222051A (ja) | マイクロコンピュータ、プログラム、電子制御装置、及び通信システム | |
JP3711849B2 (ja) | マイクロコンピュータ | |
WO2010109609A1 (ja) | 処理装置及び車両用エンジン制御装置 | |
JP4446169B2 (ja) | 自動車用制御装置 | |
CN114760610B (zh) | 多路网络唤醒方法、装置及汽车 | |
KR102634970B1 (ko) | 자동차의 전원 제어장치 및 그 제어방법 | |
KR20170040833A (ko) | 웨이크업 프레임(wuf) 메시지를 이용한 차량용 부분 네트워킹 시스템 및 이를 이용한 네트워크 설정방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081204 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100819 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100824 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110111 |