JP6890074B2 - Electronic control device - Google Patents
Electronic control device Download PDFInfo
- Publication number
- JP6890074B2 JP6890074B2 JP2017178213A JP2017178213A JP6890074B2 JP 6890074 B2 JP6890074 B2 JP 6890074B2 JP 2017178213 A JP2017178213 A JP 2017178213A JP 2017178213 A JP2017178213 A JP 2017178213A JP 6890074 B2 JP6890074 B2 JP 6890074B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- measurement
- processing load
- time
- execution
- 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
Links
Images
Description
本発明は、車両に搭載される電子制御装置に関する。 The present invention relates to an electronic control device mounted on a vehicle.
自動車などの車両に搭載される電子制御装置は、所定規則に応じて複数のタスクを順次実行することで、アクチュエータなどの制御対象機器を電子制御する。電子制御装置の設計開発段階では、CPU(Central Processing Unit)などのプロセッサの処理負荷を計測し、例えば、制御対象機器が適切に電子制御可能かどうかを検証する必要がある。プロセッサの処理負荷を計測するために、特開2003−15888号公報(特許文献1)に記載されるように、特定のタスクの実行終了時間から実行開始時間を減算したタスク実行時間が閾値を超えているか否かを判断する技術が提案されている。 An electronic control device mounted on a vehicle such as an automobile electronically controls a device to be controlled such as an actuator by sequentially executing a plurality of tasks according to a predetermined rule. At the design and development stage of an electronic control device, it is necessary to measure the processing load of a processor such as a CPU (Central Processing Unit) and verify, for example, whether the controlled device can be appropriately electronically controlled. In order to measure the processing load of the processor, as described in Japanese Patent Application Laid-Open No. 2003-15888 (Patent Document 1), the task execution time obtained by subtracting the execution start time from the execution end time of a specific task exceeds the threshold value. A technique for determining whether or not it is present has been proposed.
ところで、電子制御装置の設計開発段階では、例えば、特定の機能を提供するタスクによる処理負荷を検証するなど、制御対象機器を電子制御するための複数のタスクの一部について処理負荷を計測したい場合がある。しかしながら、特許文献1に記載された技術では、特定のタスクによる処理負荷のみしか計測できず、電子制御装置の検証に関して柔軟性がなかった。
By the way, at the design and development stage of an electronic control device, when it is desired to measure the processing load for a part of a plurality of tasks for electronically controlling a controlled device, for example, verifying the processing load of a task that provides a specific function. There is. However, the technique described in
そこで、本発明は、複数のタスクの一部について優先的にプロセッサの処理負荷を計測可能な電子制御装置を提供することを目的とする。 Therefore, an object of the present invention is to provide an electronic control device capable of preferentially measuring the processing load of a processor for a part of a plurality of tasks.
このため、プロセッサが所定規則に応じて複数のタスクを順次実行する電子制御装置は、複数のタスクのそれぞれについて、アイドルタスクとしてプロセッサの処理負荷を計測するか、又は、アイドルタスク以外の通常のタスクとしてプロセッサの処理負荷を計測するかを設定する第1の設定機構を有している。そして、プロセッサは、第1の設定機構により通常のタスクに設定された各タスクを実行するとき、そのタスクの実行に要した時間を処理負荷として個別に計測する。また、プロセッサは、第1の設定機構によりアイドルタスクに設定されたタスクを実行するとき、所定時間間隔におけるタスクの実行に要した時間の積算値を処理負荷として計測する。 Therefore, the electronic control device in which the processor sequentially executes a plurality of tasks according to a predetermined rule measures the processing load of the processor as an idle task for each of the plurality of tasks, or is a normal task other than the idle task. It has a first setting mechanism for setting whether to measure the processing load of the processor. Then, when the processor executes each task set as a normal task by the first setting mechanism, the time required for executing the task is individually measured as a processing load. Further, when the processor executes the task set as the idle task by the first setting mechanism, the processor measures the integrated value of the time required for executing the task at the predetermined time interval as the processing load.
本発明によれば、電子制御装置において、複数のタスクの一部について優先的にプロセッサの負荷を計測することができる。 According to the present invention, in the electronic control device, the load of the processor can be preferentially measured for a part of a plurality of tasks.
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。
図1は、自動車などの車両に搭載される電子制御装置100の一例を示す。
Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the attached drawings.
FIG. 1 shows an example of an
電子制御装置100は、CPU120A、ROM(Read Only Memory)120B、RAM(Random Access Memory)120C、タイマ120D、入出力回路120E、通信回路120F及びバス120Gを有するマイクロコンピュータ120を備えている。ここで、CPU120Aが、プロセッサの一例として挙げられる。
The
CPU120Aは、アプリケーションプログラムを構成する複数のタスクを所定規則に応じて順次実行し、例えば、各種センサからの出力に応じてアクチュエータの操作量を決定して出力する。ROM120Bは、電源が遮断されてもデータを保持可能な不揮発性メモリの一例であって、例えば、フラッシュROM、EEPROM(Electrically Erasable Programmable ROM)などからなる。RAM120Cは、電源遮断によりデータが消失する揮発性メモリの一例であって、例えば、DRAM(Dynamic RAM)、SRAM(Static RAM)などからなる。タイマ120Dは、所定時間ごとにパルスを出力したり、基準点からの経過時間を出力したりするなどの計時機能を提供する。入出力回路120Eは、アナログ信号又はデジタル信号の入出力機能を提供する。通信回路120Fは、例えば、CAN(Controller Area Network)などを介して、他の電子制御装置と通信可能に接続する機能、電子制御装置100の機能を検証するための外部装置200と通信可能に接続する機能を提供する。バス120Gは、CPU120A、ROM120B、RAM120C、タイマ120D、入出力回路120E及び通信回路120Fを相互通信可能に接続する。
The
外部装置200は、CPU、ROM、RAM、タイマ、ストレージ、入出力回路及び通信回路を有するパーソナルコンピュータからなり、例えば、CANケーブル300を介して、電子制御装置100の通信回路120Fと着脱可能に接続される。また、外部装置200のストレージには、電子制御装置100の機能を検証するためのユーザプログラム400が格納されている。なお、ユーザプログラムは、本実施形態の要部ではないため、その説明は省略することとする。
The
マイクロコンピュータ120のROM120Bには、図2に示すように、オペレーティングシステム(OS)420、アプリケーションプログラム440、制御データ460及びコンフィグレーション480が格納されている。
As shown in FIG. 2, the
オペレーティングシステム420は、アプリケーションプログラム440とハードウエアとの中間に位置し、アプリケーションプログラム440に対して標準的なインターフェースを提供すると共に、ハードウエアなどの各種リソースを効率的に管理する。アプリケーションプログラム440は、アクチュエータなどの制御対象機器を電子制御するためのプログラムであって、ユーザによって作成される。制御データ460は、アプリケーションプログラム440によって使用される定数などのデータであって、ユーザによって作成される。コンフィグレーション480は、その詳細を後述するように、アプリケーションプログラム440を構成する複数のタスクについて、アイドルタスクとしてCPU120Aの処理負荷を計測するか、又は、アイドルタスク以外の通常のタスクとしてCPU120Aの処理負荷を計測するかを、任意かつ個別に設定するためのデータである。
The
なお、コンフィグレーション480は、電子制御装置100に接続された外部装置200によって書き換えることができる。また、コンフィグレーション480は、ROM120Bに限らず、外部装置200から送信されてRAM120Cに展開されてもよい。ここで、コンフィグレーション480が、第1の設定機構の一例として挙げられる。
The
また、アイドルタスクは、最下位の優先度を有するタスクであって、これより優先度が高いタスクが実行されていないときに実行される。従って、CPU120Aの処理負荷が高いときには、アイドルタスクが実行されない場合もある。
Further, the idle task is a task having the lowest priority, and is executed when a task having a higher priority is not executed. Therefore, when the processing load of the
オペレーティングシステム420には、図3に示すように、一般的なディスパッチャ422に加え、タスク計測サービス部424が組み込まれている。ここで、タスク計測サービス部424が、処理負荷を計測する機能の一例として挙げられる。
As shown in FIG. 3, the
ディスパッチャ422は、アプリケーションプログラム440を構成する複数のタスク500を、その内容や用途に応じて振り分ける。また、ディスパッチャ422には、タスク500の実行を制御及び管理するタスク管理部422Aが含まれている。タスク管理部422Aは、タスク500の内容や用途などを解析し、CPU120Aの処理負荷を計測する基準となる計測時間(所定時間間隔)を規定する計測周期開始信号、各タスク500について処理負荷の計測を開始するタスク計測開始信号、各タスク500について処理負荷の計測を終了するタスク計測終了信号をタスク計測サービス部424に送信する。なお、タスク計測開始信号及びタスク計測終了信号には、計測対象となるタスク500を特定可能とする識別子(タスクID)が付されている。
The
タスク計測サービス部424には、上位タスク状態管理部424A、複数の下位タスク状態管理部424B及びアイドルタスク計測部424Cが含まれている。ここで、タスク500には、最下位の優先度を有し、これよりも優先度が高いタスクが実行されていないときに実行されるアイドルタスクも含まれている。
The task
上位タスク状態管理部424Aは、タスク計測開始信号を受信すると、タスクIDにより特定されるタスク500に関連付けられた下位タスク状態管理部424Bに処理負荷の計測を開始する計測開始信号を送信すると共に、アイドルタスクに関連付けられた下位タスク状態管理部424Bに計測中断信号を送信する。また、上位タスク状態管理部424Aは、タスク計測終了信号を受信すると、タスクIDにより特定されるタスク500に関連付けられた下位タスク状態管理部424Bに計測終了信号を送信すると共に、アイドルタスクに関連付けられた下位タスク状態管理部424Bに計測再開信号を出力する。
When the upper task
アイドルタスク以外のタスクに関連付けられた下位タスク状態管理部424Bは、計測開始信号を受信すると、マイクロコンピュータ120のタイマ120Dを使用して、タスクIDにより特定されるタスク500の実行開始時間を記憶する。また、この下位タスク状態管理部424Bは、計測終了信号を受信すると、マイクロコンピュータ120のタイマ120Dを使用して、タスクIDにより特定されるタスク500の実行終了時間を記憶する。そして、下位タスク状態管理部424Bは、タスク500の実行終了時間から実行開始時間を減算することによって、タスク500の実行時間を算出する。このとき、下位タスク状態管理部424Bは、詳細を後述するように、タスクIDにより特定されるタスク500より優先度が高いタスク500が実行されることによって、タスク500の実行が一時的に中断された場合には、上記のように算出された実行時間から中断時間を減算することで実際の実行時間を算出する。
Upon receiving the measurement start signal, the subordinate task
アイドルタスクに関連付けられた下位タスク状態管理部424Bは、計測再開信号を受信すると、アイドルタスク計測部424Cにアイドル時間積算開始信号を送信する。また、この下位タスク状態管理部424Bは、計測中断信号を受信すると、アイドルタスク計測部424Cにアイドル時間積算終了信号を送信する。
When the lower task
アイドルタスク計測部424Cは、マイクロコンピュータ120のタイマ120Dを使用して、アイドルタスクの実行開始時間及び実行終了時間を計時し、その実行終了時間から実行開始時間を減算することによって、アイドルタスクの実行時間を算出する。また、アイドルタスク計測部424Cは、アイドル時間積算開始信号を受信してからアイドル時間積算終了信号を受信するまでの間、上記のように算出したアイドルタスクの実行時間を順次積算した積算値を算出する。さらに、アイドルタスク計測部424Cは、計測周期開始信号を受信すると、上記積算値をクリア(リセット)する。
The idle
ここで、アプリケーションプログラム440を構成する複数のタスク500の一例について説明する。なお、以下に説明するタスク500は、単なる例示であるため、実際のタスクがこのような構成をなしていると理解すべきではない。
Here, an example of a plurality of
タスク500は、図4に示すように、定時タスクとして、1msごとに実行される1msタスクと、2msごとに実行される2ms_0タスク及び2ms_1タスクと、5msごとに実行される5ms_0タスク〜5ms_4タスクと、10msごとに実行される10ms_0〜10ms_9タスクと、を含んでいる。また、タスク500は、アイドルタスクに加え、イベントにより不定期に割り込みが発生する、割り込みタスクxxxTask、yyyTask及びzzzTaskを含んでいる。そして、タスク500の実行タイミングを表す、1ms間隔のオフセット0〜9になったときに、そのオフセットに関連付けられた複数のタスクが適宜実行される。
As shown in FIG. 4, the
ROM120Bに格納されるコンフィグレーション480は、図5に示すように、タスクごとに、アイドルタスクとして処理負荷を計測することを示す「アイドル」と、アイドルタスク以外の通常のタスクとして処理負荷を計測することを示す「負荷」と、を任意に設定できるように構成されている。コンフィグレーション480は、図5の構成に限らず、例えば、各タスクに関連付けられたフラグによって、「アイドル」又は「負荷」であることを設定するようにしてもよい。ここで、フラグが、第1の設定機構の一例として挙げられる。
As shown in FIG. 5, the
図5のコンフィグレーション480では、1ms、2ms、5ms及び10msごとに実行される定時タスク及び割り込みタスクが「負荷」に設定され、アイドルタスクが「アイドル」に設定されている様子を示している。このようにすれば、定時タスク及び割り込みタスクが優先的に処理負荷を計測する対象となり、すべてのタスクを計測対象とすることと比較して、CPU120Aの処理負荷を低減することができる。
In the
また、複数のタスクの一部、例えば、SPI(Serial Peripheral Interface)通信に関するタスクなどの処理負荷のみを計測したい場合には、図6に示すように、一部のタスクのみを「負荷」に設定し、他のタスクを「アイドル」に設定すればよい。図6のコンフィグレーション480では、定時タスクである5ms_0タスク及び割り込みタスクであるxxxTaskが優先的に処理負荷を計測する対象となり、CPU120Aの処理負荷を低減することに加え、余分な計測結果がないことから、設計開発の作業工数を低減することもできる。なお、コンフィグレーション480は、図5及び図6に示すものに限らず、負荷を計測する場合には、アプリケーションプログラム440を構成する複数のタスクの少なくとも一部を「負荷」に設定すればよい。
Further, when it is desired to measure only a part of a plurality of tasks, for example, a task related to SPI (Serial Peripheral Interface) communication, the processing load is set to "load" as shown in FIG. Then set the other tasks to "idle". In the
次に、図7を参照し、アプリケーションプログラム440を構成する複数のタスクの処理負荷を計測する具体的な方法について説明する。
Next, with reference to FIG. 7, a specific method for measuring the processing load of a plurality of tasks constituting the
以下の説明の前提として、ROM120Bに格納されたコンフィグレーション480では、タスクID_0、タスクID_1、タスクID_2及びタスクID_3が「負荷」に設定され、タスクID_4が「アイドル」に設定されているものとする。また、各タスクの優先度は、図7に示すように、タスクID_4、タスクID_0、タスクID_1、タスクID_2及びタスクID_3の順番で順次高くなるものとする。さらに、電子制御装置100は、以下の順番で、各タスクを実行するものとする。なお、説明の便宜上、「アイドル」に設定された「タスクID_4」を「アイドルタスクID_4」と呼ぶこととする。
As a premise of the following description, in the
1.タスクID_0の負荷計測開始
タスク管理部422Aは、タスクID_0の負荷計測を開始することを示すタスク計測開始信号をタスク計測サービス部424に送信する。タスク計測開始信号を受信したタスク計測サービス部424は、アイドルタスクID_4の処理負荷計測を中断すると共に、アイドルタスクID_4の実行時間を算出して積算する(xxx)。また、タスク計測サービス部424は、タスクID_0の実行開始時間t1を記憶する。
1. 1. Start of load measurement of task ID_0 The
2.タスクID_0の負荷計測終了
タスク管理部422Aは、タスクID_0の負荷計測を終了することを示すタスク計測終了信号をタスク計測サービス部424に送信する。タスク計測終了信号を受信したタスク計測サービス部424は、タスクID_0の実行終了時間t2から実行開始時間t1を減算し、これをタスクID_0の実行時間(t2−t1)とする。このとき、タスクID_0の実行中に、これより優先度が高いタスクが実行されていないので、タスク計測サービス部424は、タスクID_0の実行時間(t2−t1)を処理負荷とする。また、タスク計測サービス部424は、アイドルタスクID_4の処理負荷計測を再開する。
2. End of load measurement of task ID_0 The
3.タスクID_3の負荷計測開始
タスク管理部422Aは、タスクID_3の負荷計測を開始することを示すタスク計測開始信号をタスク計測サービス部424に送信する。タスク計測開始信号を受信したタスク計測サービス部424は、アイドルタスクID_4の処理負荷計測を中断すると共に、タスクID_3の実行開始時間t3を記憶する。また、タスク計測サービス部424は、タスクID_3の実行開始時間t3からタスクID_0の実行終了時間t2を減算してアイドルタスクID_4の実行時間(t3−t2)を求め、アイドルタスクID_4の実行積算時間に積算する(xxx+(t3−t2))。さらに、タスク計測サービス部424は、タスクの処理負荷を計測する基準となる計測時間を規定する、所定の定時タスクの一例であるタスクID_3を実行したため、アイドルタスクID_4の実行積算時間をクリア(リセット)する。
3. 3. Start of load measurement of task ID_3 The
4.タスクID_3の負荷計測終了
タスク管理部422Aは、タスクID_3の負荷計測を終了することを示すタスク計測終了信号をタスク計測サービス部424に送信する。タスク計測終了信号を受信したタスク計測サービス部424は、タスクID_3の実行終了時間t4から実行開始時間t3を減算し、これをタスクID_3の実行時間(t4−t3)とする。このとき、タスクID_3は優先度が最も高いタスクであるため、タスク計測サービス部424は、タスクID_3の実行時間(t4−t3)を処理負荷とする。また、タスク計測サービス部424は、アイドルタスクID_4の処理負荷計測を再開する。
4. End of load measurement of task ID_3 The
5.タスクID_0の負荷計測開始
タスク管理部422Aは、タスクID_0の負荷計測を開始することを示すタスク計測開始信号をタスク計測サービス部424に送信する。タスク計測開始信号を受信したタスク計測サービス部424は、アイドルタスクID_4の処理負荷計測を中断すると共に、タスクID_0の実行開始時間t5を記憶する。また、タスク計測サービス部424は、タスクID_0の実行開始時間t5からタスクID_3の実行終了時間t4を減算してアイドルタスクID_4の実行時間(t5−t4)を求め、アイドルタスクID_4の実行積算時間に積算する(0+(t5−t4))。
5. Start of load measurement of task ID_0 The
6.タスクID_1の負荷計測開始
タスク管理部422Aは、タスクID_1の負荷計測を開始することを示すタスク計測開始信号をタスク計測サービス部424に送信する。タスク計測開始信号を受信したタスク計測サービス部424は、実行中のタスクID_0より優先度が高いタスクID_1を実行するため、タスクID_0の処理負荷計測を中断すると共に、タスクID_1の実行開始時間t6を記憶する。
6. Start of load measurement of task ID_1 The
7.タスクID_2の負荷計測開始
タスク管理部422Aは、タスクID_2の負荷計測を開始することを示すタスク計測開始信号をタスク計測サービス部424に送信する。タスク計測開始信号を受信したタスク計測サービス部424は、実行中のタスクID_1より優先度が高いタスクID_2を実行するため、タスクID_1の処理負荷計測を中断すると共に、タスクID_2の実行開始時間t7を記憶する。
7. Start of load measurement of task ID _2 The
8.タスクID_2の負荷計測終了
タスク管理部422Aは、タスクID_2の負荷計測を終了することを示すタスク計測終了信号をタスク計測サービス部424に送信する。タスク計測終了信号を受信したタスク計測サービス部424は、タスクID_2の実行終了時間t8から実行開始時間t7を減算し、これをタスクID_2の実行時間(t8−t7)とする。このとき、タスクID_2より優先度が高いタスクが実行されなかったため、タスク計測サービス部424は、タスクID_2の実行時間(t8−t7)を処理負荷とする。また、タスク計測サービス部424は、中断していたタスクID_1の処理負荷計測を再開する。
8. End of load measurement of task ID _2 The
9.タスクID_1の負荷計測終了
タスク管理部422Aは、タスクID_1の負荷計測を終了することを示すタスク計測終了信号をタスク計測サービス部424に送信する。タスク計測終了信号を受信したタスク計測サービス部424は、タスクID_1の実行終了時間t9から実行開始時間t6を減算し、これをタスクID_1の実行時間(t9−t6)とする。このとき、タスクID_1の実行中に優先度が高いタスクID_2が実行され、タスクID_1の実行が一時的に中断されたので、タスク計測サービス部424は、タスクID_1の実行時間(t9−t6)からタスクID_2の実行時間(t8−t7)を減算し、これをタスクID_1の処理負荷((t9−t6)−(t8−t7))とする。また、タスク計測サービス部424は、中断していたタスクID_0の処理負荷計測を再開する。
9. End of load measurement of task ID_1 The
10.タスクID_0の負荷計測終了
タスク管理部422Aは、タスクID_0の負荷計測を終了することを示すタスク計測終了信号をタスク計測サービス部424に送信する。タスク計測終了信号を受信したタスク計測サービス部424は、タスクID_0の実行終了時間t10から実行開始時間t5を減算し、これをタスクID_0の実行時間(t10−t5)とする。このとき、タスクID_0の実行中に優先度が高いタスクID_1及びタスクID_2が実行され、タスクID_0の実行が一時的に中断されたので、タスク計測サービス部424は、タスクID_0の実行時間(t10−t5)からタスクID_1及びタスクID_2の実行時間(t9−t6)を減算し、これをタスクID_0の処理負荷((t10−t5)−(t9−t6))とする。また、タスク計測サービス部424は、アイドルタスクID_4の処理負荷計測を再開する。
10. End of load measurement of task ID_0 The
11.タスクID_3の負荷計測開始
タスク管理部422Aは、タスクID_3の負荷計測を開始することを示すタスク計測開始信号をタスク計測サービス部424に送信する。タスク計測開始信号を受信したタスク計測サービス部424は、アイドルタスクID_4の処理負荷計測を中断すると共に、タスクID_3の実行開始時間t11を記憶する。また、タスク計測サービス部424は、タスクID_3の実行開始時間t11からタスクID_0の実行終了時間t10を減算してアイドルタスクID_4の実行時間(t11−t10)を求め、アイドルタスクID_4の実行積算時間に積算する((t5−t4)+(t11−10))。さらに、タスク計測サービス部424は、タスクの処理負荷を計測する基準となる計測時間を規定する、所定の定時タスクの一例であるID_3を実行したため、アイドルタスクID_4の実行積算時間をクリアする。
11. Start of load measurement of task ID_3 The
12.タスクID_3の負荷計測終了
タスク管理部422Aは、タスクID_3の負荷計測を終了することを示すタスク計測終了信号をタスク計測サービス部424に送信する。タスク計測終了信号を受信したタスク計測サービス部424は、タスクID_3の実行終了時間t12から実行開始時間t11を減算し、これをタスクID_3の実行時間(t12−t11)とする。このとき、タスクID_3は優先度が最も高いタスクであるため、タスク計測サービス部424は、タスクID_3の実行時間(t12−t11)を処理負荷とする。また、タスク計測サービス部424は、アイドルタスクID_4の処理負荷計測を再開する。
12. End of load measurement of task ID_3 The
従って、コンフィグレーション480において「負荷」と設定されたタスクについて、優先的にCPU120Aの処理負荷が計測されるため、制御対象機器を電子制御するための複数のタスクの一部について負荷を計測することができる。このため、電子制御装置100の検証に関して柔軟性を付与することができる。
Therefore, since the processing load of the
また、あるタスクの処理負荷を計測しているとき、これより優先度が高い少なくとも1つのタスクが実行されても、あるタスクの実行時間からその処理が中断されていた時間が減算されるため、タスクの処理負荷の測定精度を向上させることができる。要するに、CPU120Aは、「負荷」に設定されたタスクの処理負荷を計測しているとき、そのタスクより優先度が高い他のタスクを実行すれば、他のタスクの実行中、「負荷」に設定されたタスクの実行に要した時間の計測を中断する。
Also, when measuring the processing load of a certain task, even if at least one task with a higher priority is executed, the time during which the processing was interrupted is subtracted from the execution time of the certain task. It is possible to improve the measurement accuracy of the processing load of the task. In short, when the
さらに、「アイドル」に設定されたタスクの処理負荷計測については、優先度が最も高い定時タスクの実行間隔を計測時間として、実際にタスクが実行された時間のみを積算した積算値が処理負荷となるため、そのタスクの処理負荷の測定精度も向上させることができる。 Furthermore, for the processing load measurement of tasks set to "idle", the processing load is the integrated value obtained by integrating only the time when the task was actually executed, with the execution interval of the scheduled task with the highest priority as the measurement time. Therefore, the measurement accuracy of the processing load of the task can be improved.
このような機能を提供するタスク計測サービス部424は、オペレーティングシステム420に組み込まれているため、これを利用するユーザは、タスク計測サービス部424に対するインターフェースのみを作成すれば足りる。このため、電子制御装置100は、その製造工場などに限らず、これが搭載された車両が市場に出荷された後にも、アプリケーションプログラム440を構成する複数のタスクの処理負荷を計測することが容易である。
Since the task
さらに、電子制御装置100においては、例えば、コンフィグレーション480によって、CPU120Aの処理負荷を計測するか否かを一括して設定できるようにしてもよい。そして、電子制御装置100は、CPU120Aの処理負荷を計測すると設定されているとき、タスクの実行に要する時間を計測すればよい。このようにすれば、電子制御装置100が搭載された車両が市場に出荷された後には、CPU120Aの処理負荷が計測されないため、本来の制御対象機器の電子制御に支障が及ぶことを回避することができる。ここで、CPU120Aの処理負荷を計測するか否かを一括して設定するコンフィグレーション480が、プロセッサの処理負荷を計測するか否かを設定する第2の設定機構の一例として挙げられる。
Further, in the
その他、「アイドル」に設定されたタスクの処理負荷を計測する場合、そのタスクの実行時間を積算する代わりに、そのタスクの実行が中断されている中断時間を積算し、計測時間から中断時間を減算するようにしてもよい。 In addition, when measuring the processing load of a task set to "idle", instead of accumulating the execution time of the task, the interruption time during which the execution of the task is interrupted is integrated, and the interruption time is calculated from the measured time. You may try to subtract.
上記実施形態について、その技術的思想の一部を任意に組み合わせ、又は、その一部を任意に組み替えることで、新たな実施形態を生み出すことができる。従って、本発明は、上記実施形態に記載された内容に限らず、当業者であればこれらから容易に想起し得る技術的思想を含んだものであることを理解すべきである。 With respect to the above-described embodiment, a new embodiment can be created by arbitrarily combining a part of the technical idea or arbitrarily rearranging a part thereof. Therefore, it should be understood that the present invention is not limited to the contents described in the above-described embodiment, but includes technical ideas that can be easily recalled by those skilled in the art.
100 電子制御装置
120A CPU(プロセッサ)
420 オペレーティングシステム
424 タスク計測サービス部(処理負荷を計測する機能)
480 コンフィグレーション(第1の設定機構)
500 タスク
100
420
480 configuration (first setting mechanism)
500 tasks
Claims (6)
前記複数のタスクのそれぞれについて、アイドルタスクとして前記プロセッサの処理負荷を計測するか、又は、前記アイドルタスク以外の通常のタスクとして前記プロセッサの処理負荷を計測するかを設定する第1の設定機構を有し、
前記プロセッサは、前記第1の設定機構により前記通常のタスクに設定された各タスクを実行するとき、当該タスクの実行に要した時間を処理負荷として個別に計測し、前記第1の設定機構により前記アイドルタスクに設定されたタスクを実行するとき、所定時間間隔における当該タスクの実行に要した時間の積算値を処理負荷として計測するように構成された、
電子制御装置。 An electronic control device in which a processor sequentially executes a plurality of tasks according to a predetermined rule.
For each of the plurality of tasks, a first setting mechanism for setting whether to measure the processing load of the processor as an idle task or to measure the processing load of the processor as a normal task other than the idle task is provided. Have and
When the processor executes each task set for the normal task by the first setting mechanism, the time required for executing the task is individually measured as a processing load, and the first setting mechanism individually measures the time required for executing the task. When the task set to the idle task is executed, the integrated value of the time required to execute the task at a predetermined time interval is measured as a processing load.
Electronic control device.
請求項1に記載の電子制御装置。 When the processor is measuring the processing load of the task set for the normal task, if another task having a higher priority than the task is executed, the normal task is being executed during the execution of the other task. It is configured to interrupt the measurement of the time required to execute the task set in.
The electronic control device according to claim 1.
請求項1又は請求項2に記載の電子制御装置。 The first setting mechanism is a configuration that defines the plurality of tasks, or a flag associated with each of the plurality of tasks.
The electronic control device according to claim 1 or 2.
前記プロセッサは、前記第2の設定機構により処理負荷を計測すると設定されたとき、前記タスクの実行に要する時間を計測するように構成された、
請求項1〜請求項3のいずれか1つに記載の電子制御装置。 A second setting mechanism for setting whether or not to measure the processing load of the processor is provided.
The processor is configured to measure the time required to execute the task when it is set to measure the processing load by the second setting mechanism.
The electronic control device according to any one of claims 1 to 3.
請求項1〜請求項4のいずれか1つに記載の電子制御装置。 The function of measuring the processing load is built into the operating system.
The electronic control device according to any one of claims 1 to 4.
請求項1〜請求項5のいずれか1つに記載の電子制御装置。 The predetermined time interval is defined as a time interval for executing a predetermined scheduled task.
The electronic control device according to any one of claims 1 to 5.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017178213A JP6890074B2 (en) | 2017-09-15 | 2017-09-15 | Electronic control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017178213A JP6890074B2 (en) | 2017-09-15 | 2017-09-15 | Electronic control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019053612A JP2019053612A (en) | 2019-04-04 |
JP6890074B2 true JP6890074B2 (en) | 2021-06-18 |
Family
ID=66013463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017178213A Active JP6890074B2 (en) | 2017-09-15 | 2017-09-15 | Electronic control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6890074B2 (en) |
-
2017
- 2017-09-15 JP JP2017178213A patent/JP6890074B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019053612A (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8190941B2 (en) | Field control system | |
JP5962697B2 (en) | Electronic control unit | |
CN108885570B (en) | Vehicle control device | |
JP2014191655A (en) | Multiprocessor, electronic control device, and program | |
JP6890074B2 (en) | Electronic control device | |
CN112214291A (en) | Task scheduling method and device | |
US9513969B2 (en) | Method for the management of task execution in a computer system | |
CN111095138B (en) | Control device, control method for control device, information processing program, and recording medium | |
US20210389939A1 (en) | Update management device, update management system, and update management method | |
JP2008532150A (en) | Method for real-time analysis of systems | |
WO2016042588A1 (en) | On-board control device and simulation device for on-board control device | |
JP4853390B2 (en) | Measuring device | |
JP2009230425A (en) | Information processor | |
JP2005276113A (en) | Pseudo random number generating method, security check method and controller | |
JP6365387B2 (en) | Electronic control unit | |
JP2000056989A (en) | Task designing method | |
CN109002325B (en) | Program sleep time control method and device | |
CN113176934A (en) | Embedded ultra-high clock precision timing task execution method and embedded operating system | |
KR101692114B1 (en) | Apparatus and method for diagnosing errors of task execution | |
JP2016184315A (en) | Electronic controller | |
KR20190042495A (en) | Control of robot system | |
KR20190105356A (en) | Programmable logic controller system | |
JP2012226409A (en) | Multi-core processor | |
JP2019087118A (en) | On-vehicle control device | |
US11281180B2 (en) | Programmable controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191121 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201030 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201110 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20210112 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210308 |
|
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: 20210427 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210524 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6890074 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |