JP6293612B2 - Vehicle control device - Google Patents
Vehicle control device Download PDFInfo
- Publication number
- JP6293612B2 JP6293612B2 JP2014161086A JP2014161086A JP6293612B2 JP 6293612 B2 JP6293612 B2 JP 6293612B2 JP 2014161086 A JP2014161086 A JP 2014161086A JP 2014161086 A JP2014161086 A JP 2014161086A JP 6293612 B2 JP6293612 B2 JP 6293612B2
- Authority
- JP
- Japan
- Prior art keywords
- rewrite
- core
- control program
- data
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
本発明は、車両に搭載された内燃機関、変速機、空調装置などの制御対象を制御する車両用制御装置に関し、特に複数のプロセッサコアを含んで構成されるマルチコア型演算処理ユニットを用いて制御対象を制御する制御装置に関する。 The present invention relates to a vehicle control device that controls a control target such as an internal combustion engine, a transmission, and an air conditioner mounted on a vehicle, and in particular, controls using a multi-core type arithmetic processing unit including a plurality of processor cores. The present invention relates to a control device that controls an object.
特許文献1には、複数の処理部(プロセッサコア)を含んで構成されるマルチコア型演算処理ユニットを用いて車両に搭載された制御対象を制御する制御装置が示されている。この装置によれば、イグニッションスイッチがオン状態にあるときは、複数の処理部のすべてを作動させ、イグニッションスイッチがオフ状態にあるときは、複数の処理部の一部のみを作動させ、イグニッションスイッチがオフ状態にあるときに、制御装置の処理負荷が増加する場合、例えば外部故障診断処理や自己診断処理が行われる場合には、作動させる処理部の数を増加させる制御が行われる。
特許文献2には、マルチコア型演算処理ユニットに含まれる1つコアから他のコアに割込によってイベントを通知する際にイベントの誤通知を防止する手法が示されている。
複数のプロセッサコアを含んで構成されるマルチコア型演算処理ユニットの各プロセッサコアが実行する制御プログラムを書き換えることが必要となる場合、例えば車両に搭載される制御対象を制御する制御ユニットが実行する制御プログラム中にバグが発見された場合や、制御性能を高めるための改良が行われた場合などには、書き換え可能な読み出し専用メモリ(以下単に「ROM」という)に格納された制御プログラムを、外部装置によって書き換えることが行われる。 When it is necessary to rewrite a control program executed by each processor core of a multi-core arithmetic processing unit configured to include a plurality of processor cores, for example, control executed by a control unit that controls a control target mounted on a vehicle When a bug is found in a program or when improvements are made to improve control performance, a control program stored in a rewritable read-only memory (hereinafter simply referred to as “ROM”) Rewriting is performed by the device.
特許文献1及び2には、マルチコア型演算処理ユニットを用いた車両用制御装置が示されているが、ROMに格納されている制御プログラムの書き換え処理は示されていない。また、特許文献1には、イグニッションスイッチがオフ状態にあるときに、複数の処理部(コア)の一部を作動させないようにして、消費電力を低減する点が記載されているが、イグニッションスイッチがオン状態にあるときには、全ての処理部が作動状態とされる。上述した制御プログラムの書き換え処理は通常、イグニッションスイッチをオン状態として実行されるため、特許文献1に示された装置では、制御プログラムの書き換え処理時に消費電力を低減するための制御は行われない。
車両に搭載される内燃機関の作動を制御する制御装置に適用されるマルチコア型演算処理ユニットの制御プログラムを書き換える場合には、内燃機関の作動を継続できないため、発電(バッテリの充電)ができない状態となり、さらに最近は制御内容が複雑化しているため、書き換えに要する時間が長くなる傾向がある。したがって、イグニッションスイッチをオンした状態で制御プログラムの書き換え処理を実行し、かつ書き換え処理実行中の消費電力を低減すること及び書き換え処理時間を短縮することが求められている。 When rewriting a control program for a multi-core type arithmetic processing unit applied to a control device that controls the operation of an internal combustion engine mounted on a vehicle, the operation of the internal combustion engine cannot be continued, and power generation (battery charging) is not possible. Furthermore, recently, since the control content has become complicated, the time required for rewriting tends to increase. Therefore, it is required to execute the rewriting process of the control program with the ignition switch turned on, to reduce the power consumption during the rewriting process, and to shorten the rewriting process time.
マルチコア型演算処理ユニットの構成には、非対称型の構成と対称型の構成とがあり、非対称型の構成を有するマルチコア型演算処理ユニットでは、複数のプロセッサコアのそれぞれに対応して、キャッシュメモリ及び制御プログラムを格納するROMが設けられる。したがって、非対称型の構成を有するマルチコア型演算処理ユニットの制御プログラムを外部装置によって書き換える場合には、その構成上の特徴を生かした手法が適用可能である。 The configuration of the multi-core type arithmetic processing unit includes an asymmetric type configuration and a symmetric type configuration. In the multi-core type arithmetic processing unit having an asymmetric type configuration, a cache memory and a A ROM for storing the control program is provided. Therefore, when the control program of the multi-core arithmetic processing unit having an asymmetric type configuration is rewritten by an external device, a method that takes advantage of the configuration features can be applied.
本発明は、上述した事情に鑑みなされたものであり、非対称型の構成を有するマルチコア型演算処理ユニットに含まれる複数のプロセッサコアが実行する制御プログラムを、外部装置によって書き換える処理を適切に実行し、書き換え処理を比較的高速に実行することができる車両用制御装置を提供することを目的とする。 The present invention has been made in view of the above-described circumstances, and appropriately executes processing for rewriting a control program executed by a plurality of processor cores included in a multi-core arithmetic processing unit having an asymmetric configuration by an external device. An object of the present invention is to provide a vehicle control device capable of executing rewriting processing at a relatively high speed.
上記目的を達成するため請求項1に記載の発明は、複数のプロセッサコアを含んで構成されるマルチコア型演算処理ユニットを用いて車両に搭載された制御対象の制御を行う車両用制御装置において、前記マルチコア型演算処理ユニット(11)は、前記複数のプロセッサコア(21〜23)のそれぞれに対応して設けられたキャッシュメモリ(31〜33)と、前記複数のプロセッサコアのそれぞれに対応して設けられ、前記複数のプロセッサコアが実行する制御プログラムを格納する書き換え可能な読み出し専用メモリ(41〜43)と、外部装置(2)との間でデータの送受信を行う通信部(54)とを備え、前記マルチコア型演算処理ユニット(11)が、前記外部装置から前記通信部を介して前記制御プログラムの書き換え要求を受信したときは、該書き換え要求の対象となる制御プログラムを実行する対象プロセッサコア(21〜23の何れか一つ、例えば22)が、対応する前記読み出し専用メモリ(例えば42)に格納されている制御プログラムの書き換え処理を実行し、該書き換え処理では、前記制御プログラムの書き換え用データを前記通信部を介して受信し、受信したデータを対応する前記キャッシュメモリ(例えば32)に格納し、該格納した書き換え用データが所定データ量(DW)に達する毎に対応する前記読み出し専用メモリ(例えば42)への書き込み処理を実行し、前記対象プロセッサコア(例えば22)は、前記書き換え処理を実行するときは、前記対象プロセッサコア以外のプロセッサコア(例えば21,23)の作動を休止させることを特徴とする。
In order to achieve the above object, an invention according to
この構成によれば、マルチコア型演算処理ユニットが、外部装置から通信部を介して制御プログラムの書き換え要求を受信したときは、書き換え要求の対象となる制御プログラムを実行する対象プロセッサコアによって、対応する読み出し専用メモリに格納されている制御プログラムの書き換え処理が実行され、該書き換え処理では、制御プログラムの書き換え用データが通信部を介して受信され、受信されたデータが対応するキャッシュメモリに格納され、該格納された書き換え用データが所定データ量に達する毎に対応する読み出し専用メモリへの書き込み処理が実行される。キャッシュメモリを書き換え用データを一時的に格納するバッファメモリとして使用することによって、書き換え処理を比較的高速で行うことができ、書き換え処理時間を短縮することによって消費電力を抑制することができる。さらに、書き換え処理実行中において、書き換え処理を実行しないプロセッサコアの作動を休止させる制御が行われるので、消費電力を抑制することができる。 According to this configuration, when the multi-core arithmetic processing unit receives a control program rewrite request from an external device via the communication unit, the multi-core arithmetic processing unit responds by the target processor core that executes the control program that is the target of the rewrite request. A rewrite process of the control program stored in the read-only memory is executed. In the rewrite process, rewrite data of the control program is received via the communication unit, and the received data is stored in the corresponding cache memory, Each time the stored rewrite data reaches a predetermined data amount, a write process to the corresponding read-only memory is executed. By using the cache memory as a buffer memory for temporarily storing rewrite data, the rewrite process can be performed at a relatively high speed, and the power consumption can be suppressed by shortening the rewrite process time. Further, during execution of the rewriting process, control is performed to stop the operation of the processor core that does not execute the rewriting process, so that power consumption can be suppressed.
請求項2に記載の発明は、請求項1に記載の車両用制御装置において、前記対象プロセッサコアは、対応する前記読み出し専用メモリに格納されている書き換え処理プログラムを起動することにより、前記書き換え処理を実行し、対応する前記読み出し専用メモリの、前記書き換え処理プログラムが格納されている記憶領域以外の記憶領域に格納されている制御プログラムの書き換えを行うことを特徴とする。
The invention according to
この構成によれば、対象プロセッサコアに対応する読み出し専用メモリに格納されている書き換え処理プログラムを起動することにより、書き換え処理が実行され、対応する読み出し専用メモリの、書き換え処理プログラムが格納されている記憶領域以外の記憶領域に格納されている制御プログラムの書き換えが行われる。対応する読み出し専用メモリに格納されている書き換え処理プログラムを起動して書き換え処理を実行するため、例えば書き換え処理プログラムをキャッシュメモリにコピーして起動する処理が不要となり、書き換えのために必要とされる付加的な処理を簡易化できる。また、書き換え処理中にイグニッションスイッチがオフされたりバッテリ電圧が低下した場合、または通信異常が発生したような場合においても、対応する読み出し専用メモリに格納されている書き換え処理プログラムが失われることが無いため、電源電圧あるいは通信異常が正常に復帰すれば、再び書き換え処理を実行することができる。さらに、マルチコア型演算処理ユニットの再起動時にも書き換え処理が実行されるため、書き換え処理に不要なプロセッサコアを直ちに休止することができる。 According to this configuration, by starting the rewrite processing program stored in the read-only memory corresponding to the target processor core, the rewrite processing is executed, and the rewrite processing program of the corresponding read-only memory is stored. The control program stored in the storage area other than the storage area is rewritten. Since the rewrite processing program stored in the corresponding read-only memory is activated to execute the rewrite processing, for example, the process of copying and reactivating the rewrite processing program to the cache memory becomes unnecessary, and is required for rewriting. Additional processing can be simplified. Also, even if the ignition switch is turned off or the battery voltage drops during rewrite processing, or if a communication error occurs, the rewrite processing program stored in the corresponding read-only memory will not be lost. Therefore, if the power supply voltage or the communication abnormality is restored normally, the rewriting process can be executed again. Furthermore, since the rewriting process is executed even when the multi-core arithmetic processing unit is restarted, a processor core unnecessary for the rewriting process can be immediately stopped.
以下本発明の実施の形態を図面を参照して説明する。
図1は本発明の一実施形態にかかる車両用制御装置の構成を示すブロック図であり、この制御装置は、車両1に搭載された内燃機関、変速機、空調装置などの制御を行うマルチコア型演算処理ユニット(以下「MCU」という)11〜14と、それらを相互に接続するバス3とを備えている。バス3は、データリンクコネクタ4を介して、外部装置2と接続可能に構成されている。外部装置2は、MCU11〜14のROM(Read Only Memory)に格納されている制御プログラムの書き換えや、MCU11〜14を含む制御装置、内燃機関、変速機などの制御対象、制御に使用される各種センサ及びアクチュエータなど(以下全体として「制御系」という)の故障診断などを行う。MCU11〜14が備えるROMは、何れも記憶内容を書き換え可能なものである。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a block diagram showing the configuration of a vehicle control apparatus according to an embodiment of the present invention. This control apparatus is a multi-core type that controls an internal combustion engine, a transmission, an air conditioner and the like mounted on a
図2は、MCU11の構成を示すブロック図であり、MCU11は3つのプロセッサコア(以下単に「コア」という)21〜23と、コア21が使用するキャッシュメモリ(以下「CAM」という)31、コア21が実行する制御プログラムを格納するROM41、及びバス55と、コア22が使用するCAM32、コア22が実行する制御プログラムを格納するROM42、及びバス56と、コア23が使用するCAM33、コア23が実行する制御プログラムを格納するROM43、及びバス57と、3つのコア間の通信を仲介するインタフェースとして機能するコア間通信部51と、コア21〜23が使用可能な共有メモリ52と、制御系の各種センサ及びアクチュエータが接続された入出力部53と、バス3上のデータの受信及びバス3へのデータの送信を行う外部通信部54とを備えている。MCU11では、車両1に搭載された内燃機関の制御に必要な処理を、3つコア21〜23が分担して実行する。MCU12は、MCU11と同様の構成(以下「非対称型の構成」という)を有する。
FIG. 2 is a block diagram showing the configuration of the
図3は、MCU13の構成を示すブロック図であり、MCU13は2つのコア61,62と、コア61が使用するCAM71と、コア62が使用するCAM72と、コア61,62が使用可能な共有メモリ81と、コア61,62が実行する制御プログラムを格納するROM82と、制御系の各種センサ及びアクチュエータが接続された入出力部83と、バス3上のデータの受信及びバス3へのデータの送信を行う外部通信部84とを備えている。MCU13では、例えば車両1に搭載された変速機の制御に必要な処理を、2つコア61,62が分担して実行する。MCU14は、MCU13と同様の構成(以下「対称型の構成」という)を有する。
FIG. 3 is a block diagram illustrating the configuration of the
図4は、外部装置2によってMCU11の制御プログラムを書き換える処理を説明するためのタイムチャートであり、この図には、コア22に対応するROM42に格納された制御プログラムの書き換え処理動作例が示されている。この動作例では、コア21が制御プログラムの書き換え要求を受信する処理を実行し、コア22が書き換え用データの受信処理、及び受信したデータをROM42に書き込む処理を実行する。このときコア22が実行する受信処理及び書き込み処理のプログラムは、ROM42のブート領域に格納されており、ROM42に格納された制御プログラムの書き換えは、ブート領域以外の領域に格納されている制御プログラムについて実行される。
FIG. 4 is a time chart for explaining the process of rewriting the control program of the
図4(a)〜(f)は、それぞれバス3上のメッセージ(上側:外部装置2が送出し、MCU11が受信するメッセージ、下側:MCU11が送出し、外部装置2へ送信するメッセージ)、コア21で実行される処理、コア22で実行される処理、CAM32への書き込みデータ、ROM42への書き込みデータ(ただし、BTはブート領域に格納されている受信処理プログラム及び書き込み処理プログラムを起動することを示す)、及びコア23で実行される処理の推移を示す。図4(a),(d),及び(e)に破線で示すデータは、制御プログラムの書き換え用データを示している。
4 (a) to 4 (f) are respectively messages on the bus 3 (upper: messages sent by the
制御プログラムの書き換え要求を含むメッセージM1がバス3に送出されると、コア21が読み込んで書き換え要求対応処理(RES)を起動し、確認応答メッセージM11を送出する。次いで、制御プログラムを書き換える対象がROM42であることを指定するメッセージM2が送出されると、コア21は確認応答メッセージM12を送出し、コア22に対してROM42のブート領域に格納されている受信処理プログラム及び書き込み処理プログラムを起動する指令を出力する。コア22が書き込み処理プログラムの起動直後に、コア21及び23を休止させる指令を出力し、コア21及び23は作動を休止する。
When the message M1 including the rewrite request for the control program is sent to the
その後書き換え用データを含むメッセージMRWが、ROM42への書き込み処理に適した所定データ量DW毎に外部装置2から送出される。コア22は、受信処理プログラム及び書き込み処理プログラム(RW)を実行し、メッセージMRWを受信して確認応答メッセージMACを送出するとともに、受信した書き換え用データをCAM32に格納し、さらにCAM32に格納された書き換え用データが所定データ量DWに達すると、ROM42に書き込む処理を実行する。
Thereafter, a message MRW including rewrite data is sent from the
書き込み処理が完了すると、コア22は書き込んだデータ(プログラム)のチェック処理CHKを実行し、CVN(Calibration Verification Number)の算出を行う。外部装置2はCVNを要求するメッセージM3を送出し、コア22はこのメッセージM3に対応してCVNを含むメッセージM13を送出する。これに対応して外部装置2は、書き換え処理完了メッセージM4を送出する。コア22は、書き換え処理完了メッセージM4を受けて、コア22自身を書き換え処理モードから通常制御モードに移行させるとともに、コア21及び23を起動する(時刻tE)。コア21〜23は、初期化処理を経て通常制御へ移行する。
When the writing process is completed, the
図5(a),(b),及び(c)は、MCU11のコア21〜23で実行される通常制御処理の一部を示すフローチャートであり、図5(d)は上述したように外部装置2からMCU11宛のメッセージ(書き換え要求メッセージ)を受信したときに実行されるイベント処理のフローチャートである。
5A, 5B, and 5C are flowcharts showing a part of normal control processing executed by the
コア21は、通常制御では故障検知確定処理及びデータ送受信処理を実行する(ステップS11,S12)。故障検知確定処理は、コア21〜23で実行される故障検出処理の結果に基づいて、外部装置2へ送信する故障コードを確定する処理である。データ送受信処理は、他のMCU12〜14や外部装置2との間のデータ送受信を行う処理である。また、MCU11宛のメッセージの受信は、本実施形態ではコア21が実行するように予め決められており、図5(d)に示すイベント処理は、コア21により実行され、書き換え要求メッセージの受信及び確認応答メッセージなどの送信が、メッセージの受信イベントに対応して実行される(ステップS21)。
The
コア22は、故障検出処理、TRQT算出処理、及び協調制御処理(ステップS31〜S33)を実行する。故障検出処理は、車両1に搭載された内燃機関あるいは内燃機関に装着されたセンサやアクチュエータなどの故障を検出する処理であり、TRQT算出処理は、車両1のアクセルペダルの踏み込み量などに応じて内燃機関の目標トルクTRQTを算出する処理であり、協調制御処理は、他のMCU12〜14が実行する制御との協調制御を行う処理である。
The
コア23は、入出力処理、アイドル停止処理、及びTRQA算出処理(ステップS41〜S43)を実行する。入出力処理は、センサにより検出されるデータの入力処理及びアクチュエータへ駆動信号を出力する処理であり、アイドル停止処理は、所定のアイドル停止条件が成立したときに内燃機関を一時的に停止させる処理であり、TRQA算出処理は内燃機関の実出力トルクTRQAを算出する処理である。
The
図6は、図5(d)のイベント処理で実行される書き換え要求対応処理のフローチャートである。ステップS51では受信したメッセージのチェックを行い、異常がないときはメッセージ正常フラグFMSGOKを「1」に設定する。 FIG. 6 is a flowchart of the rewrite request response process executed in the event process of FIG. In step S51, the received message is checked, and if there is no abnormality, the message normal flag FMMSGOK is set to “1”.
ステップS52では、メッセージ正常フラグFMSGOKが「1」であるか否かを判別し、その答が否定(NO)であって異常が検出されたときは、その異常を送信元に通知するネガティブメッセージを作成し(ステップS53)、ステップS57に進む。 In step S52, it is determined whether or not the message normal flag FMSGOK is “1”. If the answer is negative (NO) and an abnormality is detected, a negative message is sent to notify the sender of the abnormality. Create (step S53) and proceed to step S57.
ステップS52の答が肯定(YES)であるときは、書き換え対象は自ユニット(MCU11)のROMであるか否かを判別する(ステップS54)。ステップS54の答が否定(NO)であるときは、他のMCU12〜14のROMに格納された制御プログラムの書き換え要求であるため、ステップS55に進んで、図8に示す書き換え監視処理を実行する。ステップS54の答が肯定(YES)であるときは、図7に示す書き換えモード遷移処理を実行し(ステップS56)、MCU11内のコア21〜23を制御プログラムの書き換え処理モード(休止待ち状態を含む)へ移行させる。
If the answer to step S52 is affirmative (YES), it is determined whether or not the rewriting target is a ROM of the own unit (MCU11) (step S54). If the answer to step S54 is negative (NO), this is a request to rewrite the control program stored in the ROMs of the
ステップS57では、ネガティブメッセージまたは受信した書き換え要求メッセージの確認応答メッセージ(MAC)を送信する。ステップS58では、処理切換許可フラグFSWOKが「1」であるか否かを判別する。処理切換許可フラグFSWOKは、書き換え対象のROMが確定し、コア21〜23の書き換え処理モードへの移行が完了すると、「1」に設定される。ステップS58の答が否定(NO)である間は、直ちに処理を終了し、肯定(YES)となると、実行プログラムの切り換えを行うか、または休止指令待ち状態へ移行する(ステップS59)。すなわち、ROM41の書き換えを行うときは、実行プログラムをROM41のブート領域に格納されている受信処理プログラム及び書き込み処理プログラムに切り換えて、書き換え用データの受信及びROM41への書き込み処理を行い、ROM42または43の書き換えを行うときは、休止指令待ち状態へ移行する。
In step S57, a negative message or an acknowledgment message (MAC) of the received rewrite request message is transmitted. In step S58, it is determined whether or not a process switching permission flag FSWOK is “1”. The process switching permission flag FSWOK is set to “1” when the ROM to be rewritten is confirmed and the transition of the
図7は、図6のステップS56で実行される書き換えモード遷移処理のフローチャートである。本実施形態では、ROM指定パラメータNROMの値「1」〜「3」がROM41〜43に対応する。すなわち、NROM=1であるきは、ROM41が書き換え対象ROMであり、NROM=2であるきは、ROM42が書き換え対象ROMであり、NROM=3であるきは、ROM43が書き換え対象ROMである。
FIG. 7 is a flowchart of the rewrite mode transition process executed in step S56 of FIG. In this embodiment, values “1” to “3” of the ROM designation parameter NROM correspond to the
ステップS61〜S63では、ROM指定パラメータNROMが「1」「2」,[3」の何れであるかを判別する。ROM指定パラメータNROMを受信していないときは、処理を終了する。 In steps S61 to S63, it is determined whether the ROM designation parameter NROM is “1”, “2”, or “3”. If the ROM designation parameter NROM has not been received, the process is terminated.
ROM指定パラメータNROMが「1」であるときは、コア21が書き換え用データの受信処理及び書き込み処理を実行するので、ROM41に格納されている受信処理プログラム及び書き込み処理プログラムを起動するように設定し(ステップS64)、受信データの一時的な保存先をCAM31に設定する(ステップS65)。ステップS66では、制御プログラムの書き換え処理(受信処理及び書き込み処理)を行わないコア22,23の休止を許可する(休止待ち状態とする)。
When the ROM designation parameter NROM is “1”, the
ROM指定パラメータNROMが「2」であるときは、コア22が受信処理及び書き換え処理を実行するので、ROM42に格納されている受信処理プログラム及び書き込み処理プログラムを起動可能とし(ステップS67)、受信データの一時的な保存先をCAM32に設定する(ステップS68)。ステップS69では、制御プログラムの書き換え処理(受信処理及び書き込み処理)を行わないコア21,23を休止を許可する(休止待ち状態とする)。
When the ROM designation parameter NROM is “2”, the
ROM指定パラメータNROMが「3」であるときは、コア23が受信及び書き換え処理を実行するので、ROM43に格納されている受信処理プログラム及び書き込み処理プログラムを起動可能とし(ステップS70)、受信データの一時的な保存先をCAM33に設定する(ステップS71)。ステップS72では、制御プログラムの書き換え処理(受信処理及び書き込み処理)を行わないコア21,22の休止を許可する(休止待ち状態とする)。
When the ROM designation parameter NROM is “3”, the
図8は、図6のステップS55で実行される書き換え監視処理のフローチャートである。他のMCU12,13,または14による制御プログラムの書き換え処理の監視処理は、MCU11ではコア21が実行する。ステップS81では、他のMCUにおける書き換え実行中であるか否かを判別し、その答が肯定(YES)であるときは、監視処理を実行しないコア22,23を休止させる(ステップS82)。他のMCUにおける書き換え処理が終了すると、コア22,23を起動し(ステップS83)、通常制御に復帰させるとともに、コア21自身も通常制御に復帰する(ステップS84)。
FIG. 8 is a flowchart of the rewrite monitoring process executed in step S55 of FIG. The monitoring process of the control program rewriting process by the
なお、例えばMCU11において制御プログラムの書き換え処理を行うときは、他のMCU12〜14のそれぞれに含まれる一つのコアのみが、書き換え監視処理を実行し、監視処理を実行する一つのコア以外のコアの作動を休止させ、書き換え処理終了後に起動する制御を行う。これによって、書き換え処理の実行中において制御装置全体として消費電力を低減できる。
For example, when the control program is rewritten in the
図9は、書き換え用データの受信処理のフローチャートである。この処理は、書き換え処理を実行するコア(図4に示す動作例ではコア22)によって、メッセージの受信イベントに対応して実行される。
ステップS91では書き換え用データを含む受信メッセージのチェックを行い、異常が検出されないときは、メッセージ正常フラグFMSGOKを「1」に設定する。ステップS92は、メッセージ正常フラグFMSGOKが「1」であるか否かを判別し、その答が否定(NO)であるときはネガティブメッセージを作成して(ステップS94)、ステップS95に進む。メッセージ正常フラグFMSGOKが「1」であるときは、受信データを対応するキャッシュメモリ(CAMx)に格納する(ステップS93)。
FIG. 9 is a flowchart of the rewrite data reception process. This processing is executed in response to the message reception event by the core that executes the rewriting processing (
In step S91, the received message including the rewriting data is checked, and if no abnormality is detected, the message normal flag FMSGOK is set to “1”. In step S92, it is determined whether the message normal flag FMSGOK is “1”. If the answer is negative (NO), a negative message is created (step S94), and the process proceeds to step S95. When the message normal flag FMSGOK is “1”, the received data is stored in the corresponding cache memory (CAMx) (step S93).
ステップS95では、ネガティブメッセージまたは書き換え用データの受信確認メッセージ(MAC)を送信する。ステップS96では送信が完了するまで待機し、完了すると送信完了処理を実行する(ステップS97)。送信完了処理では、書き換え用データの受信から受信確認メッセージの送信までに要した応答時間TRESを計測し、規定されている応答時間TRESLMT以内に応答が完了したことを確認する。 In step S95, a negative message or rewrite data reception confirmation message (MAC) is transmitted. In step S96, the process waits until the transmission is completed. When the transmission is completed, a transmission completion process is executed (step S97). In the transmission completion process, the response time TRES required from the reception of the rewriting data to the transmission of the reception confirmation message is measured, and it is confirmed that the response is completed within the specified response time TRESLMT.
なお、図9に示す受信処理は、コア21に対応するROM41に格納された制御プログラムを書き換える場合には、コア21により実行され(受信データはCAM31に一時的に保存される)、コア22に対応するROM42に格納された制御プログラムを書き換える場合には、コア22により実行され(受信データはCAM32に一時的に保存される)、コア23に対応するROM43に格納された制御プログラムを書き換える場合には、コア23により実行される(受信データはCAM33に一時的に保存される)。
9 is executed by the core 21 (reception data is temporarily stored in the CAM 31) when the control program stored in the
図10は、書き換え用データの書き込み処理のフローチャートである。この処理は、書き換え処理を実行するコア(図4に示す動作例ではコア22)によって、起動後は所定時間毎に実行される。
ステップS101では、プログラムの起動直後であるか否かを判別し、その答が肯定(YES)であるときは、コア21で起動されたか否かを判別する(ステップS102)。その答が肯定(YES)であるときは、コア22,23を休止させる(ステップS103)。ステップS102の答が否定(NO)であるときは、コア22で起動されたか否かを判別する(ステップS104)。その答が肯定(YES)であるときは、コア21,23を休止させ(ステップS105)、否定(NO)であるとき、すなわちコア23で起動さえたときは、コア21,22を休止させる(ステップS106)。
FIG. 10 is a flowchart of rewrite data write processing. This process is executed every predetermined time after activation by the core (
In step S101, it is determined whether or not the program has just been started. If the answer is affirmative (YES), it is determined whether or not the core 21 has been started (step S102). If the answer is affirmative (YES), the
ステップS101の答が否定(NO)であるときは、受信した書き換え用データを対応するキャッシュメモリ(CAMx)に格納する処理が完了したか否かを判別する。その答が否定(NO)、すなわちデータ受信中であるときは、直ちにステップS109に進み、ステップS107の答が肯定(YES)となると、対応するキャッシュメモリ(CAMx)に格納された書き換え用データを対応するROMに書き込む(ステップS108)。 If the answer to step S101 is negative (NO), it is determined whether or not the process of storing the received rewrite data in the corresponding cache memory (CAMx) is completed. If the answer is negative (NO), that is, if data is being received, the process immediately proceeds to step S109. If the answer to step S107 is affirmative (YES), the rewrite data stored in the corresponding cache memory (CAMx) is stored. Writing to the corresponding ROM (step S108).
ステップS109では、書き換え用データのROMへの書き込みが完了したか否かを判別する。ステップS109の答が否定(NO)である間は、直ちに処理を終了し、肯定(YES)となると、ROMに書き込んだデータのチェック(CVNの算出)を行う(ステップS110)。 In step S109, it is determined whether or not the rewriting data has been written to the ROM. While the answer to step S109 is negative (NO), the processing is immediately terminated. When the answer is affirmative (YES), the data written in the ROM is checked (calculation of CVN) (step S110).
以上のように本実施形態では、非対称型の構成を有するMCU11(コア21)が、外部装置2から外部通信部54を介して制御プログラムの書き換え要求を受信したときは、書き換え要求の対象となる制御プログラムを実行する対象プロセッサコア(コア21〜23の何れか一つ)によって、対応するROMに格納されている制御プログラムの書き換え処理が実行され、その書き換え処理では、制御プログラムの書き換え用データが通信部54を介して受信され、受信されたデータが対応するキャッシュメモリ(CAMx)に格納され、該格納された書き換え用データが所定データ量DWに達する毎に対応するROMへの書き込み処理が実行される。キャッシュメモリを書き換え用データを一時的に格納するバッファメモリとして使用することによって、共有メモリ52に書き換え用データを一時的に格納する場合に比べて、より高速で読み出し及び書き込みを実行できるため、書き換え処理を比較的高速で行うことができ、書き換え処理時間を短縮することによって消費電力を抑制することができる。
As described above, in this embodiment, when the MCU 11 (core 21) having an asymmetric configuration receives a control program rewrite request from the
また書き換え処理実行中において、書き換え処理を実行しないプロセッサコアの作動を休止させる制御が行われるので、書き換え処理実行中のMCU11全体としての消費電力を低減することができる。
Further, during execution of the rewriting process, control is performed to stop the operation of the processor core that does not execute the rewriting process, so that the power consumption of the
また書き換え処理を実行するコアに対応するROMに格納されている書き換え処理プログラム(受信処理プログラム及び書き込み処理プログラム)を起動することにより、書き換え処理が実行され、対応するROMの、書き換え処理プログラムが格納されている記憶領域以外の記憶領域に格納されている制御プログラムの書き換えが行われる。対応するROMに格納されている書き換え処理プログラムを起動して書き換え処理を実行するため、例えば書き換え処理プログラムをキャッシュメモリにコピーして起動する処理が不要となり、書き換えのために必要とされる付加的な処理を簡易化できる。 In addition, the rewrite processing program (reception processing program and write processing program) stored in the ROM corresponding to the core that executes the rewrite processing is started to execute the rewrite processing, and the rewrite processing program of the corresponding ROM is stored. The control program stored in the storage area other than the stored storage area is rewritten. Since the rewriting process program stored in the corresponding ROM is activated to execute the rewriting process, for example, the process of copying and reactivating the rewriting process program to the cache memory becomes unnecessary, and additional processing required for rewriting Simple processing can be simplified.
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、図11に示すように、バス3が、ゲートウエイ5によってバス3aと3bとに分割されているような構成を有する制御装置、あるいは例えばMCU14が無線通信装置14aを備え、無線通信装置2aを備える外部装置2が、無線通信装置2a,14aを介して、制御プログラムの書き換え処理を実行可能な制御装置などにも本発明は適用可能である。
The present invention is not limited to the embodiment described above, and various modifications can be made. For example, as shown in FIG. 11, the control device having a configuration in which the
1 車両
2 外部装置
3 バス
11,12 マルチコア型演算処理ユニット(非対称型)
21〜23 プロセッサコア
31〜33 キャッシュメモリ
41〜43 読み出し専用メモリ
54 外部通信部
DESCRIPTION OF
21-23 Processor core 31-33 Cache memory 41-43 Read-only
Claims (2)
前記マルチコア型演算処理ユニットは、前記複数のプロセッサコアのそれぞれに対応して設けられたキャッシュメモリと、前記複数のプロセッサコアのそれぞれに対応して設けられ、前記複数のプロセッサコアが実行する制御プログラムを格納する書き換え可能な読み出し専用メモリと、外部装置との間でデータの送受信を行う通信部とを備え、
前記マルチコア型演算処理ユニットが、前記外部装置から前記通信部を介して前記制御プログラムの書き換え要求を受信したときは、該書き換え要求の対象となる制御プログラムを実行する対象プロセッサコアが、対応する前記読み出し専用メモリに格納されている制御プログラムの書き換え処理を実行し、
該書き換え処理では、前記制御プログラムの書き換え用データを前記通信部を介して受信し、受信したデータを対応する前記キャッシュメモリに格納し、該格納した書き換え用データが所定データ量に達する毎に対応する前記読み出し専用メモリへの書き込み処理を実行し、
前記対象プロセッサコアは、前記書き換え処理を実行するときは、前記対象プロセッサコア以外のプロセッサコアの作動を休止させることを特徴とする車両用制御装置。 In a vehicle control device that controls a control object mounted on a vehicle using a multi-core arithmetic processing unit configured to include a plurality of processor cores,
The multi-core arithmetic processing unit includes a cache memory provided corresponding to each of the plurality of processor cores, and a control program provided corresponding to each of the plurality of processor cores and executed by the plurality of processor cores. A rewritable read-only memory that stores data and a communication unit that transmits and receives data to and from an external device,
When the multi-core arithmetic processing unit receives a rewrite request for the control program from the external device via the communication unit, the target processor core that executes the control program that is the target of the rewrite request corresponds to the corresponding processor core. Execute the rewrite process of the control program stored in the read-only memory,
In the rewriting process, rewrite data of the control program is received via the communication unit, the received data is stored in the corresponding cache memory, and each time the stored rewrite data reaches a predetermined data amount Performing a write process to the read-only memory ,
The target processor core, the rewrite processing when the execution is the vehicle control device according to claim Rukoto rested the operation of the processor core other than the target processor core.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014161086A JP6293612B2 (en) | 2014-08-07 | 2014-08-07 | Vehicle control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014161086A JP6293612B2 (en) | 2014-08-07 | 2014-08-07 | Vehicle control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016037157A JP2016037157A (en) | 2016-03-22 |
JP6293612B2 true JP6293612B2 (en) | 2018-03-14 |
Family
ID=55528647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014161086A Expired - Fee Related JP6293612B2 (en) | 2014-08-07 | 2014-08-07 | Vehicle control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6293612B2 (en) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4437468B2 (en) * | 2004-12-06 | 2010-03-24 | 富士通テン株式会社 | Electronic control device for vehicle |
JP4501159B2 (en) * | 2005-03-30 | 2010-07-14 | 株式会社デンソー | Automotive control unit |
JP4941103B2 (en) * | 2007-05-25 | 2012-05-30 | トヨタ自動車株式会社 | Multiprocessor system, exclusive control method, vehicle electronic control unit |
JP2010198307A (en) * | 2009-02-25 | 2010-09-09 | Hitachi Automotive Systems Ltd | Controller for automobile |
JP6129499B2 (en) * | 2012-09-03 | 2017-05-17 | 日立オートモティブシステムズ株式会社 | Electronic control system for automobile |
-
2014
- 2014-08-07 JP JP2014161086A patent/JP6293612B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2016037157A (en) | 2016-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6044316B2 (en) | In-vehicle electronic control unit | |
CN109804355B (en) | Software updating device, software updating method, and software updating system | |
WO2018120213A1 (en) | Firmware updating method and controller | |
JP4650566B2 (en) | Control system and electronic control device | |
US11392368B2 (en) | Electronic control system for updating circuit | |
US11433718B2 (en) | Upgrading method and apparatus for tire pressure monitoring module and tire pressure sensor | |
CN105703991B (en) | Local interconnect network system and method | |
JP2014029619A (en) | Control system and program update method | |
JP5762016B2 (en) | Information processing apparatus, control method, and program | |
JP2005071303A (en) | Program starting device | |
JP6201298B2 (en) | Controller and program | |
JP6293612B2 (en) | Vehicle control device | |
JP6184917B2 (en) | Vehicle control device | |
JP2007001420A (en) | Control unit for vehicle | |
JP7184855B2 (en) | SOFTWARE UPDATE DEVICE, SOFTWARE UPDATE METHOD | |
JP2014215871A (en) | Electronic control device | |
JP5867350B2 (en) | Electronic control device for vehicle | |
JP2015098311A (en) | Electronic control apparatus and software rewrite system | |
JP6624005B2 (en) | Mutual monitoring system | |
JP5575086B2 (en) | Electronic control unit | |
JP2015205555A (en) | embedded control system | |
WO2024062897A1 (en) | Control system and software update method | |
JP6887277B2 (en) | Electronic control device for automobiles | |
JP7291541B2 (en) | Control device and monitoring method | |
JP2007137654A (en) | Control system for elevator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170712 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171006 |
|
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: 20180213 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180214 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6293612 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |