JP7841454B2 - Electronic control unit - Google Patents
Electronic control unitInfo
- Publication number
- JP7841454B2 JP7841454B2 JP2023025205A JP2023025205A JP7841454B2 JP 7841454 B2 JP7841454 B2 JP 7841454B2 JP 2023025205 A JP2023025205 A JP 2023025205A JP 2023025205 A JP2023025205 A JP 2023025205A JP 7841454 B2 JP7841454 B2 JP 7841454B2
- Authority
- JP
- Japan
- Prior art keywords
- scheduler
- memory
- electronic control
- cpus
- expected value
- 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
Landscapes
- Stored Programmes (AREA)
Description
本発明は、複数のCPUのそれぞれと複数メモリのそれぞれとが専用バスで接続されている構成を備えた電子制御装置に関する。 This invention relates to an electronic control unit having a configuration in which each of multiple CPUs and each of multiple memory units are connected by a dedicated bus.
自動車等の車両に搭載された電子制御装置は、機能の追加や不具合の改修等によってプログラムが更新される場合がある。従来は、車両をディーラなどに持ち込むことで電子制御装置のプログラムを更新していたが、車両ユーザの利便性が良くないことから、無線通信を使用した所謂OTA(On The Air)によって、ユーザの元でプログラムを更新する技術が提案されている。 Electronic control units installed in vehicles such as automobiles may have their programs updated to include the addition of new functions or the correction of malfunctions. Traditionally, these updates required bringing the vehicle to a dealership, but this was inconvenient for vehicle users. Therefore, a technology has been proposed that allows for program updates at the user's location using wireless communication, known as OTA (On The Air).
OTAによりプログラムを更新する場合、車両走行中等でも更新できることが望ましい。これを実現するため、電子制御装置の不揮発性メモリにより確保された2つの記憶領域を交互に使用し、プログラムの実行中に非アクティブ面のプログラムを更新させ、例えばイグニッションスイッチのON/OFFといった再起動時のタイミングで、アクティブにする領域を切り換えることで車両走行中にもプログラムを更新することを実現可能にしている。 When updating a program via OTA (Over-the-Air), it is desirable that the update can be performed even while the vehicle is in motion. To achieve this, two memory areas, secured by the electronic control unit's non-volatile memory, are used alternately. The program in the inactive area is updated during program execution, and the active area is switched at the time of restart, such as when the ignition switch is turned ON/OFF. This enables program updates even while the vehicle is in motion.
この場合、CPU及びメモリなどデバイスとの接続関係に依っては、アクティブにする面が切り替わったことにより、処理の速度が低下して機能に及ぼす可能性がある。 In this case, depending on the connection relationships with devices such as the CPU and memory, the switching of the active side may reduce processing speed and potentially affect functionality.
例えば、更新されたプログラムを実行するためアクティブにする面、つまりメモリデバイスが切り替わったことで専用バス経由での処理が行えなくなると、リアルタイム性が求められる処理の速度が低下する。 For example, if the memory device that needs to be activated to run an updated program switches, and processing via the dedicated bus becomes impossible, the speed of real-time processing will decrease.
本発明は上記事情に鑑みてなされたものであり、その目的は、更新されたプログラムを実行する対象のメモリデバイスが切り換った場合でも、リアルタイム性が要求される処理の実行速度が低下することを防止できる電子制御装置を提供することにある。 This invention has been made in view of the above circumstances, and its objective is to provide an electronic control device that can prevent a decrease in the execution speed of processing requiring real-time performance, even when the memory device on which the updated program is executed is switched.
請求項1記載の電子制御装置によれば、各スケジューラは、外部と無線通信を行う通信部(3)を介して取得した更新プログラム中の各処理を、複数のCPU(6(0)、6(1))に実行させるように割り当てる。複数のCPUは、それぞれ複数のメモリ(8(0)、8(1))の何れか1つと専用バス(11)を介して接続されていると共に、その他のメモリとは共用バス(5)を介して接続されており、複数のメモリの何れか1つをアクティブメモリとしてアクセスする。選択部(13)は、アクティブメモリの選択に応じてスケジューラの選択を行う。 According to the electronic control device described in claim 1, each scheduler assigns each process in the update program, obtained via a communication unit (3) that performs wireless communication with the outside, to be executed by multiple CPUs (6(0), 6(1)). Each of the multiple CPUs is connected to one of the multiple memories (8(0), 8(1)) via a dedicated bus (11), and to the other memories via a shared bus (5), and accesses one of the multiple memories as active memory. The selection unit (13) selects a scheduler according to the selection of the active memory.
複数のメモリを備えている際に、複数のCPUがプログラムを実行するためにアクセスしているメモリがアクティブメモリとなり、その他のメモリはインアクティブメモリとなる。更新された新たなプログラムは、インアクティブメモリの1つに書き込まれる。更新されたプログラムの実行を開始させる際には、上記のインアクティブメモリがアクティブメモリに切り換えられる。選択部が選択したスケジューラにより、アクティブメモリに専用バスを介して接続されているCPUにリアルタイム性が要求される処理を実行させ、その他のCPUにリアルタイム性が要求されない処理を実行させる。 When multiple memory locations are available, the memory accessed by multiple CPUs to execute programs becomes active memory, while the other memory locations become inactive memory. The updated program is written to one of the inactive memory locations. When execution of the updated program begins, the aforementioned inactive memory location is switched to active memory. The scheduler selected by the selection unit causes the CPU connected to the active memory via a dedicated bus to execute processes requiring real-time processing, while the other CPUs execute processes that do not require real-time processing.
このように構成すれば、プログラムが更新されて、インアクティブメモリがアクティブメモリに切り換えられても、常に、アクティブメモリに専用バスを介して接続されているCPUによりリアルタイム性が要求される処理が実行される。したがって、リアルタイム性が要求される処理の実行速度が低下することを防止できる。 With this configuration, even when the program is updated and inactive memory is switched to active memory, the CPU connected to the active memory via a dedicated bus will always execute processes requiring real-time processing. Therefore, a decrease in the execution speed of processes requiring real-time processing can be prevented.
以下、一実施形態について説明する。図1に示すように、本実施形態の電子制御装置1はOTAコントローラ2を備え、OTAコントローラ2は、通信部である通信インタフェース;I/F3を介して例えばOTAセンタ等の外部装置4と無線通信を行うことで更新プログラム等を取得する。OTAコントローラ2と通信I/F3とは、共用バス5を介して接続されている。共用バス5には、CPU6(0)及び6(1)、RAM7、ROM8(0)及び8(1)、データフラッシュ9並びにタイマ10等が接続されている。尚、ROM8及びデータフラッシュ9はデータが書き換え可能なROMであり、所謂フラッシュメモリである。 The following describes one embodiment. As shown in Figure 1, the electronic control unit 1 of this embodiment includes an OTA controller 2. The OTA controller 2 obtains update programs, etc., by wirelessly communicating with an external device 4, such as an OTA center, via a communication interface (I/F) 3, which is a communication unit. The OTA controller 2 and the communication I/F 3 are connected via a shared bus 5. The shared bus 5 is connected to the CPU 6(0) and 6(1), RAM 7, ROM 8(0) and 8(1), data flash 9, and timer 10, etc. Note that ROM 8 and data flash 9 are ROMs with rewritable data, and are so-called flash memories.
ROM8はデュアルポートメモリであり、CPU6(0)とROM8(0)、及びCPU6(1)とROM8(1)とは、それぞれ専用バス11(0)及び11(1)を介して直接接続されている。つまり、電子制御装置1は、電源回路12より動作用電源が供給されている。OTAコントローラ2は、その内部に選択部である制御装置13と、記憶装置14とを有している。尚、更新プログラム等については「書換データ」と称する場合がある。 ROM8 is a dual-port memory, and CPU6(0) and ROM8(0), and CPU6(1) and ROM8(1) are directly connected via dedicated buses 11(0) and 11(1), respectively. In other words, the electronic control unit 1 is supplied with operating power from the power supply circuit 12. The OTA controller 2 contains a control unit 13, which is a selection unit, and a storage device 14. Note that update programs, etc., may be referred to as "rewrite data."
次に、本実施形態の作用について説明する。図2に示すように、電子制御装置1は、OTA更新処理(S1)、通常処理(S2)及びスケジューラ判定処理(S3)を順次実行する。以降、これらの各処理について説明する。 Next, the operation of this embodiment will be described. As shown in Figure 2, the electronic control unit 1 sequentially executes the OTA update process (S1), normal processing (S2), and scheduler determination process (S3). Each of these processes will be described below.
<OTA更新処理>
図3に示すように、OTAコントローラ2の制御装置13は、通信I/F3を介して外部装置4より書換えデータを受信し、記憶装置14に記憶する(S11)。尚、書換データには、更新プログラム中の各処理を、CPU6(0)、6(1)に実行させるように割り当てるプログラムであるスケジューラが含まれている。より具体的には、スケジューラは、各機能の時間周期処理や割り込み処理をCPU6(0)、6(1)の何れに実行させるかを決定するものである。具体的には、周期実行処理を設計した順番に呼び出すものや、割り込み処理に関するリアルタイムOSのコンフィグレーション設定である(OK?)。
<OTA Update Processing>
As shown in Figure 3, the control device 13 of the OTA controller 2 receives rewrite data from the external device 4 via the communication interface 3 and stores it in the storage device 14 (S11). The rewrite data includes a scheduler, which is a program that assigns each process in the update program to be executed by CPUs 6(0) and 6(1). More specifically, the scheduler determines whether each function's time-periodic processing and interrupt processing will be executed by CPU 6(0) or 6(1). Specifically, it includes calling periodic execution processes in the designed order and configuring the real-time OS for interrupt processing (OK?).
本実施形態では、更新プログラムは、図4に示すように、実行対象のCPU6が異なる2種類のスケジューラを持ち、アクティブ面となるROM8に応じてスケジューラを選択し、各機能のスケジューラ関数を実行するCPU6を変更できるようにしている。「アクティブ面」とは、CPU6(0)及びCPU6(1)がアクセスしているROM8(0)又は8(1)の何れか一方である。アクセスしていない方は「非アクティブ面」と称する。アクティブ面はアクティブメモリに相当し、非アクティブ面はインアクティブメモリに相当する。 In this embodiment, as shown in Figure 4, the update program has two different schedulers for the target CPU 6. It selects the scheduler according to the active ROM 8 and changes the CPU 6 that executes the scheduler function for each function. The "active surface" refers to either ROM 8(0) or 8(1) that CPU 6(0) and CPU 6(1) are accessing. The unaccessed surface is called the "inactive surface." The active surface corresponds to active memory, and the inactive surface corresponds to inactive memory.
スケジューラNo.1は、アクティブ面がROM8(0)の場合に選択され、CPU6(0)にはリアルタイム性が求められる処理を実行させ、CPU6(1)にはリアルタイム性が不要な処理を実行させる。「リアルタイム性が求められる処理」とは、例えば車両制御への適用を想定するとエンジンの燃料噴射制御等であり、「リアルタイム性が不要な処理」とは、例えばカーエアコンの制御等である。この時、CPU6(0)は、専用バス11(0)を介してROM8(0)にアクセスし、CPU6(1)は、共用バス5を介してROM8(0)にアクセスする。 Scheduler No. 1 is selected when the active plane is ROM8(0). In this state, CPU6(0) executes processes requiring real-time processing, while CPU6(1) executes processes that do not require real-time processing. "Processes requiring real-time processing" include, for example, engine fuel injection control (if applied to vehicle control), while "processes that do not require real-time processing" include, for example, car air conditioning control. In this case, CPU6(0) accesses ROM8(0) via the dedicated bus 11(0), and CPU6(1) accesses ROM8(0) via the shared bus 5.
一方、スケジューラNo.2は、上記とは逆になり、アクティブ面がROM8(1)の場合に選択され、CPU6(1)にはリアルタイム性が求められる処理を実行させ、CPU6(0)にはリアルタイム性が不要な処理を実行させる。この時、CPU6(1)は、専用バス11(1)を介してROM8(1)にアクセスし、CPU6(0)は、共用バス5を介してROM8(1)にアクセスする。 On the other hand, scheduler No. 2 operates in the opposite way to the above; it is selected when the active plane is ROM8(1), causing CPU6(1) to execute processes requiring real-time processing and CPU6(0) to execute processes that do not require real-time processing. In this case, CPU6(1) accesses ROM8(1) via the dedicated bus 11(1), and CPU6(0) accesses ROM8(1) via the shared bus 5.
次に、CPU6がプログラムを実行中か、つまり動作中か否かを判断する(S12)。例えば、制御装置13がCPU6の状態を監視し、ROM8へアクセスするバスの状態や、インタフェースが呼び出されている場合はプログラム実行中と判定する。電子制御装置1において、CPU6が動作を停止させる場合とは、例えば車両に搭載されるECU(Electronic Control Unit)等への適用を想定すると、車両が駐停車することでイグニッションスイッチがOFFされたような場合である。 Next, it is determined whether the CPU 6 is executing a program, that is, whether it is operating (S12). For example, the control device 13 monitors the state of the CPU 6 and determines that the program is executing if the bus accessing the ROM 8 or an interface is being called. In the electronic control device 1, a situation in which the CPU 6 stops operating would be, for example, when the ignition switch is turned OFF due to the vehicle being parked, assuming its application to an ECU (Electronic Control Unit) installed in a vehicle.
CPU6が動作中でなければ(No)、プログラムの書換処理を行う(S14)。この書換処理の詳細については後述する。一方、動作中であれば(Yes)、プログラムの書換えに使用しないCPU6及びRAM7の機能を停止させてから(S13)ステップS14に移行する。「CPU6の機能を停止させる」とは、例えばHALTモードに移行させることである。また、「RAM7の機能を停止させる」とは、例えばSRAMであればバックアップ電源の供給を停止させたり、DRAMであればリフレッシュ動作を停止させることを意味する。それから、ステップS12と同様の判断を行い(S15)、動作中であれば(Yes)動作を停止するまで待機し、停止すると(No)アクティブ面を切り替える(S16)。 If CPU 6 is not operating (No), the program rewriting process is performed (S14). Details of this rewriting process will be described later. On the other hand, if it is operating (Yes), the functions of CPU 6 and RAM 7 not used for program rewriting are stopped (S13) before proceeding to step S14. "Stopping the functions of CPU 6" means, for example, switching to HALT mode. "Stopping the functions of RAM 7" means, for example, stopping the supply of backup power for SRAM, or stopping the refresh operation for DRAM. Then, the same determination as in step S12 is made (S15). If it is operating (Yes), the system waits until the operation stops, and once it stops (No), the active side is switched (S16).
<プログラム書換え処理>
図5に示すように、制御装置13は、アクティブ面の判定を行うと(S21)、通信I/F3を介して取得した書換データの一部を記憶装置14に保存する(S22)。次に、制御装置13は共用バス5の混雑具合を確認する(S23)。バス5の混雑具合は、例えば複数のバスマスタによるバスの使用権の要求を調停するアービタを用いている場合は、アービタに対して出力されているバスリクエストの数等により判断する。共用バス5の混雑度合いが期待値以下で混雑してない場合は(Yes)、記憶装置14に保存したデータのROM8に対する書き込みを開始し(S24)、期待値を超えていれば(No)混雑が緩和するまで待機する。
<Program rewriting process>
As shown in Figure 5, when the control device 13 determines the active side (S21), it saves a portion of the rewrite data acquired via the communication interface 3 to the storage device 14 (S22). Next, the control device 13 checks the congestion level of the shared bus 5 (S23). The congestion level of the bus 5 is determined, for example, by the number of bus requests output to the arbiter if an arbiter is used to mediate bus usage rights requests from multiple bus masters. If the congestion level of the shared bus 5 is below the expected value and not congested (Yes), it starts writing the data saved in the storage device 14 to the ROM 8 (S24). If it exceeds the expected value (No), it waits until the congestion is relieved.
ステップS24において、制御装置13は、記憶装置14に保存した書換データを非アクティブ面のROM8に書き込む。この際、スケジューラは書換データに含まれており、どちらのアクティブ面でも使用可能である。最後に、書込みが完了したかを確認し(S25)、書込みが失敗した場合はステップS22に戻り、再度データの書込み処理を行う。 In step S24, the control device 13 writes the rewrite data stored in the storage device 14 to the ROM 8 on the inactive side. At this time, the scheduler is included in the rewrite data and can be used on either the active side. Finally, the device checks whether the writing is complete (S25). If the writing fails, it returns to step S22 and performs the data writing process again.
<通常処理>
図6に示すように、通常処理は、初期化処理を行った後に(S31)開始される(S32)。初期化処理は何れかのCPU6で行い、他方は初期化が完了するまで待機する。各CPU6は、初期化処理で決定したスケジューラを基に通常処理を開始する。通常処理とは、電子制御装置1に付与された機能を実現するため、CPU6がプログラムを実行することである。
<Normal processing>
As shown in Figure 6, normal processing starts after initialization processing (S31) (S32). Initialization processing is performed by one of the CPUs 6, while the other waits until initialization is complete. Each CPU 6 starts normal processing based on the scheduler determined during initialization processing. Normal processing is the execution of a program by the CPU 6 to realize the functions assigned to the electronic control unit 1.
<初期化処理>
図7に示すように、初期化処理では、ROM8のアクティブ面の判定を行う(S41)。但し、図5に示すプログラム書換え処理でもアクティブ面の判定を行っているため、その時の判定結果を記憶装置14に格納しておき、その判定結果を参照しても良い。次に、スケジューラの異常判定を行う(S42)。CPU6は、データフラシュ9に格納されているスケジューラの判定結果を参照し、スケジューラに異常があるか否かを判定する。スケジューラに異常がなければ(No)、アクティブ面に基づいたスケジューラを選択する(S44)。
<Initialization Process>
As shown in Figure 7, the initialization process determines the active side of ROM 8 (S41). However, since the active side is also determined in the program rewriting process shown in Figure 5, the determination result at that time may be stored in the storage device 14 and that determination result may be referred to. Next, the scheduler abnormality is determined (S42). The CPU 6 refers to the scheduler determination result stored in the data flash 9 and determines whether or not there is an abnormality in the scheduler. If there is no abnormality in the scheduler (No), a scheduler based on the active side is selected (S44).
一方、スケジューラに異常がある場合は(Yes)スケジューラを再度選択する(S43)。すなわち、アクティブ面に基づいたスケジューラ設定を行わずに、別のスケジューラを選択する。例えば、図3に示すスケジューラNo.1を設定して異常となった場合には、スケジューラNo.2を選択する。 On the other hand, if there is an abnormality in the scheduler (Yes), the scheduler is selected again (S43). That is, instead of setting the scheduler based on the active plane, a different scheduler is selected. For example, if scheduler No. 1 shown in Figure 3 is set and an abnormality occurs, scheduler No. 2 is selected.
<スケジューラ異常判定処理>
図8に示すように、通常処理の処理速度が期待値を超えている場合は(S51;No)、スケジューラを正常と判定し判定結果をOKとする(S52)。一方、通常処理の処理速度が期待値以下であり遅い場合や、期待値を大幅に超えており速度が異常に速い場合には(S51;Yes)、スケジューラを異常と判定し判定結果をNGとする(S54)。ここで、処理速度の計測は、通常処理を行うCPU6毎にタイマ10を用いて行う。期待値を大幅に超えており速度が異常に速い場合については、前記期待値を下限期待値とすると、下限期待値よりも値が大きい上限期待値を設定し、この上限期待値と処理速度とを比較判定することになる。
<Scheduler Anomaly Detection Process>
As shown in Figure 8, if the processing speed of normal processing exceeds the expected value (S51; No), the scheduler is judged as normal and the judgment result is OK (S52). On the other hand, if the processing speed of normal processing is below the expected value and slow, or if it significantly exceeds the expected value and the speed is abnormally fast (S51; Yes), the scheduler is judged as abnormal and the judgment result is NG (S54). Here, the processing speed is measured using the timer 10 for each CPU 6 that performs normal processing. In the case where the speed significantly exceeds the expected value and is abnormally fast, if the expected value is set as the lower limit expected value, an upper limit expected value that is larger than the lower limit expected value is set, and the processing speed is compared and judged against this upper limit expected value.
最後に、判定結果をデータフラッシュ9に書き込んで(S53)判定処理を終了する。このスケジューラ判定処理は、通常処理終了後に電源が遮断されて、電子制御装置1をシャットダウンする前に行うことを想定している。図7に示したように、この判定結果は、次回に電子制御装置1が起動されて、通常処理を開始する際に参照される。 Finally, the judgment result is written to the data flash 9 (S53), and the judgment process ends. This scheduler judgment process is intended to be performed after the normal processing is completed, before the power is cut off and the electronic control unit 1 is shut down. As shown in Figure 7, this judgment result is referenced when the electronic control unit 1 is started up again and normal processing begins.
以上のように本実施形態によれば、電子制御装置1において、各スケジューラは、通信部を介して取得した更新プログラム中の各処理を、CPU6(0)、6(1)に実行させるように割り当てる。CPU6(0)、6(1)は、それぞれROM8(0),8(1)と専用バス11(0)、11(1)を介して接続されていると共に、ROM8(1),8(0)とは共用バス5を介して接続されている。CPU6(0)、6(1)は、ROM8(0),8(1)の一方をアクティブメモリとしてアクセスする。 As described above, according to this embodiment, in the electronic control unit 1, each scheduler assigns each process in the update program acquired via the communication unit to be executed by CPUs 6(0) and 6(1). CPUs 6(0) and 6(1) are connected to ROMs 8(0) and 8(1) respectively via dedicated buses 11(0) and 11(1), and are also connected to ROMs 8(1) and 8(0) via a shared bus 5. CPUs 6(0) and 6(1) access one of ROMs 8(0) and 8(1) as active memory.
OTAコントローラ2の制御装置13は、CPU6(0)、6(1)がアクセスしているアクティブメモリ、ROM8の選択に応じてスケジューラの選択を行う。選択されたスケジューラにより、アクティブメモリとなるROM8に専用バス11を介して接続されているCPU6にリアルタイム性が要求される処理を実行させ、その他のCPU6にリアルタイム性が要求されない処理を実行させる。 The control unit 13 of the OTA controller 2 selects a scheduler according to the selection of the active memory and ROM 8 being accessed by CPUs 6(0) and 6(1). Based on the selected scheduler, the CPU 6 connected to the ROM 8 (which is the active memory) via the dedicated bus 11 executes processes requiring real-time processing, while the other CPUs 6 execute processes that do not require real-time processing.
このように構成すれば、プログラムが更新されて、インアクティブメモリがアクティブメモリに切り換えられても、常に、アクティブメモリに専用バス11を介して接続されているCPU6によりリアルタイム性が要求される処理が実行される。したがって、リアルタイム性が要求される処理の実行速度が低下することを防止できる。 With this configuration, even when the program is updated and inactive memory is switched to active memory, the CPU 6, which is connected to the active memory via the dedicated bus 11, will always execute processes that require real-time performance. Therefore, a decrease in the execution speed of processes requiring real-time performance can be prevented.
また、制御装置13は、選択したスケジューラによって実行された処理が完了するまでの速度を測定し、測定した速度が下限期待値よりも遅い際には前記スケジューラを異常と判定し、その判定結果をデータフラッシュ9に記憶させる。また、測定した速度が、下限期待値よりも速い値に設定される上限期待値より速い際にも前記スケジューラを異常と判定する。これにより、異常と判定したスケジューラの使用を回避する等の措置を行うことが可能になる。 Furthermore, the control device 13 measures the speed at which the process executed by the selected scheduler is completed. If the measured speed is slower than the lower limit expected value, it determines the scheduler to be abnormal and stores the determination result in the data flash 9. It also determines the scheduler to be abnormal if the measured speed is faster than the upper limit expected value, which is set to a value faster than the lower limit expected value. This makes it possible to take measures such as avoiding the use of a scheduler determined to be abnormal.
(その他の実施形態)
CPU及びROMの組は、3組以上あっても良い。
車両制御以外の制御に適用しても良い。
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
(Other embodiments)
There may be three or more CPU and ROM pairs.
It can also be applied to control systems other than vehicle control.
This disclosure is described in accordance with the embodiments, but it is understood that this disclosure is not limited to such embodiments or structures. This disclosure also includes various modifications and variations within the equivalence. In addition, various combinations and forms, as well as other combinations and forms that include only one, more, or fewer of those elements, fall within the scope and concept of this disclosure.
図面中、1は電子制御装置、3は通信インタフェース、5は共用バス、6はCPU、8はROM、11は専用バス、13は制御装置を示す。 In the drawing, 1 represents the electronic control unit, 3 the communication interface, 5 the shared bus, 6 the CPU, 8 the ROM, 11 the dedicated bus, and 13 the control unit.
Claims (3)
複数のメモリ(8(0)、8(1))と、
外部と無線通信を行う通信部(3)を介して取得した更新プログラム中の各処理を、前記複数のCPUに実行させるように割り当てる複数のスケジューラと、
これら複数のスケジューラのうち1つを選択する選択部(13)と、を備え、
前記複数のCPUは、それぞれ前記複数のメモリの何れか1つと専用バス(11)を介して接続されていると共に、その他のメモリとは共用バス(5)を介して接続されており、前記複数のメモリの何れか1つをアクティブメモリとしてアクセスし、前記複数のCPUがアクセスしていないメモリをインアクティブメモリとして、
前記選択部は、前記アクティブメモリの選択に応じて前記スケジューラの選択を行い、
前記インアクティブメモリをアクティブメモリに切り替えて前記更新プログラムの実行を開始させると、前記選択部が選択したスケジューラにより、前記アクティブメモリに専用バスを介して接続されているCPUにリアルタイム性が要求される処理を実行させ、その他のCPUにリアルタイム性が要求されない処理を実行させる電子制御装置。 Multiple CPUs (6(0), 6(1)),
Multiple memory locations (8(0), 8(1)),
Multiple schedulers that assign each process in the update program obtained via a communication unit (3) that performs wireless communication with the outside to be executed by the multiple CPUs,
It includes a selection unit (13) for selecting one of these multiple schedulers,
Each of the aforementioned multiple CPUs is connected to one of the multiple memories via a dedicated bus (11) and to the other memories via a shared bus (5). One of the multiple memories is accessed as active memory, and the memory not accessed by the multiple CPUs is treated as inactive memory.
The selection unit selects the scheduler according to the selection of the active memory.
An electronic control device that, when the inactive memory is switched to active memory and the execution of the update program is started, causes the selected scheduler to have the CPU connected to the active memory via a dedicated bus execute processing that requires real time, and the other CPUs execute processing that does not require real time.
The electronic control device according to claim 2, wherein the selection unit determines the scheduler to be abnormal even when the measured speed is faster than the upper limit expected value which is set to a value faster than the lower limit expected value.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023025205A JP7841454B2 (en) | 2023-02-21 | 2023-02-21 | Electronic control unit |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023025205A JP7841454B2 (en) | 2023-02-21 | 2023-02-21 | Electronic control unit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2024118749A JP2024118749A (en) | 2024-09-02 |
| JP7841454B2 true JP7841454B2 (en) | 2026-04-07 |
Family
ID=92587868
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2023025205A Active JP7841454B2 (en) | 2023-02-21 | 2023-02-21 | Electronic control unit |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7841454B2 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005235229A (en) | 2004-02-20 | 2005-09-02 | Sony Computer Entertainment Inc | Method and apparatus for processor task migration in multiprocessor system |
| JP2013125549A (en) | 2011-12-13 | 2013-06-24 | Samsung Electronics Co Ltd | Method and device for securing real time property of soft real-time operating system |
-
2023
- 2023-02-21 JP JP2023025205A patent/JP7841454B2/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005235229A (en) | 2004-02-20 | 2005-09-02 | Sony Computer Entertainment Inc | Method and apparatus for processor task migration in multiprocessor system |
| JP2013125549A (en) | 2011-12-13 | 2013-06-24 | Samsung Electronics Co Ltd | Method and device for securing real time property of soft real-time operating system |
Non-Patent Citations (1)
| Title |
|---|
| 左木 茂克 他,通信時間の影響を定量的に考慮したタスク割当て法の提案と評価,電子情報通信学会研究報告,日本,社団法人電子情報通信学会,1995年08月23日,Vol.95 No.210,pp.95-102 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2024118749A (en) | 2024-09-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5382084B2 (en) | Vehicle equipment | |
| JP2010285001A (en) | Electronic control system, function substitution method | |
| JP7232062B2 (en) | Electronic controller and program update method | |
| JP2016224531A (en) | Semiconductor device and diagnostic test method | |
| WO2019123747A1 (en) | Electronic control device for automobile and control method thereof | |
| JP7841454B2 (en) | Electronic control unit | |
| JP6723941B2 (en) | Control device and control program updating method | |
| JP6415990B2 (en) | Electronic control unit for automobile | |
| JP2004338883A (en) | Elevator control device | |
| JP6702161B2 (en) | In-vehicle electronic control unit | |
| TWI438402B (en) | Navigation device for vehicle | |
| JP5660010B2 (en) | Information processing apparatus and data restoration method | |
| JP4522799B2 (en) | Semiconductor circuit device and runaway detection method | |
| JP4864056B2 (en) | Control device | |
| JP4026924B2 (en) | Electronic control unit for automobile | |
| JPH1011293A (en) | Information processor | |
| WO2022215402A1 (en) | Vehicle electronic control device and program rewriting method | |
| JP6762411B2 (en) | Electronic control unit for automobiles | |
| JP6589767B2 (en) | Electronic control unit | |
| JP6998434B2 (en) | Electronic control device for automobiles | |
| JP2008546067A (en) | Switching method and device in storage device of control device | |
| JP2022010439A (en) | Electronic control device | |
| JP2013222294A (en) | Electronic control unit | |
| JP7768850B2 (en) | Electronic control device, reproduction method and reproduction program | |
| JP6596455B2 (en) | Electronic control unit for automobile |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20250509 |
|
| TRDD | Decision of grant or rejection written | ||
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20260218 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20260224 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20260309 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7841454 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |