JP7548111B2 - Electronic Control Unit - Google Patents
Electronic Control Unit Download PDFInfo
- Publication number
- JP7548111B2 JP7548111B2 JP2021067735A JP2021067735A JP7548111B2 JP 7548111 B2 JP7548111 B2 JP 7548111B2 JP 2021067735 A JP2021067735 A JP 2021067735A JP 2021067735 A JP2021067735 A JP 2021067735A JP 7548111 B2 JP7548111 B2 JP 7548111B2
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- map
- parallel
- processor
- control unit
- 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
- 230000015654 memory Effects 0.000 claims description 23
- 238000000034 method Methods 0.000 description 31
- 230000008569 process Effects 0.000 description 27
- 230000000737 periodic effect Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 18
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 101100048435 Caenorhabditis elegans unc-18 gene Proteins 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004378 air conditioning Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Complex Calculations (AREA)
Description
本発明は、電子制御装置に関する。 The present invention relates to an electronic control device.
近年、例えば自動車の電子制御装置では、制御の複雑化によりマイクロコンピュータの処理能力の向上が図られている。その一例として、複数のコアと並列演算処理器とを備えたマイクロコンピュータを搭載し、コアから並列演算処理器に演算命令の集合体である演算命令群を処理要求し、並列演算処理器により演算命令を並列処理することで演算処理の高速化を図るようにしている。 In recent years, for example in electronic control devices for automobiles, efforts are being made to improve the processing power of microcomputers due to the increasing complexity of control. One example is a microcomputer equipped with multiple cores and a parallel processor, where the core requests the parallel processor to process a set of arithmetic instructions, which is a collection of arithmetic instructions, and the parallel processor processes the arithmetic instructions in parallel, thereby speeding up arithmetic processing.
並列演算処理器は、コアから要求された演算命令群から演算命令を抽出し、ハードウェアの機能により複数の演算器に対して最適なリソース配分を自動的に行うことで高速な並列演算を可能としている。これにより、高速処理が必要なタスクを並列演算処理器に処理させることで、コアの処理時間を削減することが可能となる。 The parallel processor extracts an instruction from a set of instructions requested by the core, and uses the hardware functions to automatically allocate optimal resources to multiple processors, enabling high-speed parallel calculations. This makes it possible to reduce the processing time of the core by having the parallel processor process tasks that require high-speed processing.
しかしながら、並列演算処理器の処理に使用する情報は、制御周期毎に共有メモリから並列演算処理器の内部メモリにロードする必要があり、その際に発生するオーバーヘッドによって処理時間が増大し、並列演算処理器を利用した効果が低下してしまう虞がある。 However, the information used for processing by the parallel processor needs to be loaded from the shared memory to the internal memory of the parallel processor for each control period, and the overhead incurred during this process increases processing time, potentially reducing the benefits of using the parallel processor.
本発明は上記事情に鑑みてなされたもので、その目的は、制御部が並列演算処理器で演算命令群を処理する場合に処理時間を短縮することが可能となる電子制御装置を提供することにある。 The present invention was made in consideration of the above circumstances, and its purpose is to provide an electronic control device that can shorten the processing time when a control unit processes a group of arithmetic instructions using a parallel arithmetic processor.
請求項1の発明によれば、制御部(12a~12c)は、制御情報に基づいて制御対象を制御する場合は、並列演算処理器にてマップに基づいて計算する必要が生じた場合には共有メモリのマップ情報を並列演算処理器に設けられる内部メモリ(23)の所定アドレスにロードし、当該制御情報を求めるのに必要となる変数を引数として並列演算処理器(13)に与える。並列演算処理器は、所定アドレスに記憶されたマップ情報、及び、制御部から与えられた引数に基づいて事前計算して記憶し、実際の計算時に与えられた引数に対応して事前計算によるマップ補間値の計算結果が記憶されていた場合は当該計算結果を制御部に与える。制御部は、並列演算処理器から与えられた計算結果に基づいて制御情報を求め、その制御情報により制御対象を制御する。制御部から与えられた引数が事前計算した範囲外である場合には前記制御部に範囲外であることを通知し、マップの次元数や規模に応じて予め決められた制御部と並列演算処理器のいずれかでマップ補間値を計算する。
According to the invention of
以下、複数の実施形態について図面を参照して説明する。複数の実施形態において、機能的または構造的に対応する部分には同一の参照符号を付与する場合がある。 Several embodiments will be described below with reference to the drawings. In several embodiments, functionally or structurally corresponding parts may be given the same reference numerals.
(第1実施形態)
第1実施形態について図1から図10を参照して説明する。
図2に示すように、車両にはエンジンECU(Electronic Control Unit)1が搭載されている。エンジンECU1は電子制御装置に相当する。このエンジンECU1は、車載LAN2を介して自動変速ECU3、メータECU4、空調ECU5などの他のECUに通信可能に接続されている。車載LAN2のプロトコルは、例えばCAN(Controller Area Network)である。CANは登録商標である。
First Embodiment
The first embodiment will be described with reference to FIGS.
As shown in Fig. 2, the vehicle is equipped with an engine ECU (Electronic Control Unit) 1. The
エンジンECU1は、マイクロコンピュータ11を主体として構成されている。図1に示すようにマイクロコンピュータ11は、複数のコア12a~12cからなるコア群12や並列演算処理器13を備えて構成されており、それらのコア12a~12cや並列演算処理器13が複数の演算処理を並列処理することで高速処理を実現している。
The engine ECU 1 is mainly composed of a
コア12a~12c及び並列演算処理器13は内部バス14を介して互いに接続されていると共に、ROM15、RAM16などのメモリやCANインターフェースなどのI/O17とも接続されている。マイクロコンピュータ11は他のマイクロコンピュータ18やAD変換器などの周辺回路19とも接続されている。
The
コア12a~12cは、入力回路20を介してエンジンの運転状態を検出するための各種センサからの検出信号を入力し、その検出信号が示す検出値を処理することで出力回路21を介してエンジンを制御するためのアクチュエータを制御したり、通信回路22を介して他のECUと通信信号を送受信したりする。コア12a~12cは、エンジンを制御する上で所定の演算処理が必要となった場合は並列演算処理器13に処理要求する。
The
図3に示すように並列演算処理器13は、メモリ23、制御回路24、複数の演算器25から構成されている。メモリ23には複数のコア12a~12cから与えられた演算命令群を処理するための情報が順に記憶される。
As shown in FIG. 3, the parallel
制御回路24は、メモリ23に記憶された演算命令群を演算器25と連携して演算処理する。つまり、制御回路24はスケジューラ機能を有しており、メモリ23に記憶された演算命令群を構成する演算命令を対応する演算器25に自動的に割り振る。
The
演算器25は、制御回路24により割り振られた演算命令を順に演算処理する。複数の演算器25は同一種類や異なる種類であり、同一種類や異なる種類の演算命令を演算器25に割り振ることで並列処理可能である。演算器25は、演算処理結果をメモリ23に記憶する。
The
複数のコア12a~12cは、演算命令群を処理することを並列演算処理器13に要求した場合はメモリ23を介して演算結果を取得し、その演算結果に基づいて以後の処理を実行する。
When the
コア12a~12cが処理要求する演算命令群は、演算命令の処理順序が規定されている。例えば図4に示す演算命令群では、演算命令Aの演算処理が完了してから次の演算命令B~Dをそれぞれ演算処理し、演算命令B~Dの全ての演算処理が完了してから次の演算命令Eを演算処理することを規定している。
The processing order of the calculation instructions requested by the
さて、コア12a~12cの処理時間を削減するために高速処理が必要なタスクを並列演算処理器13に処理をさせることが考えられるが、並列演算処理器13の処理に使用する情報は、制御周期毎に電子制御装置の共有メモリから並列演算処理器13の内部メモリ23にロードする必要がある。このため、その際に発生するオーバーヘッドによって処理時間が増大し、並列演算処理器13を用いた効果が低下してしまう虞がある。
Now, in order to reduce the processing time of the
このような事情から、本実施形態では、並列演算処理器13で事前計算可能な処理がある場合は並列演算処理器13に予め処理依頼する。この処理依頼の際、事前計算に必要となる情報を並列演算処理器13に渡す。並列演算処理器13は、処理依頼を受けて情報に基づいて事前計算し、計算結果を記憶しておく。事前計算の範囲は情報の特性に応じて決定する。例えば時定数で示されるパラメータを決め、情報の変動範囲が制御周期毎に変化しやすい場合はパラメータを大きく設定することで事前計算の範囲を大きく設定する。
In view of these circumstances, in this embodiment, if there is processing that can be pre-calculated by the parallel
以下、並列演算処理器13で事前計算できる処理としてマップ計算を例示するが、マップ計算に限定されることなく事前計算が可能であればどのような処理であってもよい。
図5に示すように電子制御装置の共有メモリ26には制御用のマップ情報が記憶されており、並列演算処理器13でマップに基づいて計算する必要が生じた場合は、並列演算処理器の内部メモリ23の所定アドレスにマップ情報をロードする。
In the following, map calculation is exemplified as a process that can be pre-calculated by the
As shown in FIG. 5, map information for control is stored in the shared
内部メモリ23には要求元のコア12a~12cに対応してマップ情報をロードするアドレスが設定されており、並列演算処理器13にマップ情報をロードする場合は対応するアドレスにロードする。並列演算処理器13は、コア12a~12cから変数が与えられた場合は対応するアドレスに記憶されたマップ情報に基づいてマップ計算し、計算結果をコア12a~12cに返信する。
Addresses for loading map information corresponding to the requesting
以下、上記動作について具体的に説明する。
コア12a~12cは、図6に模式的に示す1次元マップを予め記憶している。この1次元マップは、マップ点Xと対応値点Yとの対応関係を示している。マップ点X1に対応して対応値Y1、マップ値X2に対応して対応値Y2、……マップ値X9に対応して対応値Y9が設定されている。
The above operation will now be described in detail.
The
このような1次元マップを用いて変数に対応するマップ補間値を決定する場合、変数が1次元マップのX軸に規定されているマップ点(X1,X2、……)の場合は対応値(Y1、Y2、……)を直接的に決定することができるが、変数がX軸に規定されていない場合は変数XAからマップ補間値YAを直接的に決定することはできない。 When using such a one-dimensional map to determine a map interpolation value corresponding to a variable, if the variable is a map point (X1, X2, ...) defined on the X-axis of the one-dimensional map, the corresponding value (Y1, Y2, ...) can be directly determined, but if the variable is not defined on the X-axis, the map interpolation value YA cannot be directly determined from the variable XA.
このような場合、マップ点AをX軸及びY軸のマップ点に基づいて補間処理することはできるが、コア12a~12cが1次元マップに基づいて補間処理したのではコア12a~12cの処理時間が長くなり計算に間に合わなくなる虞がある。そこで、高速処理が必要な補間処理を並列演算処理器13に処理させることでコア12a~12cの処理時間の削減を図るようにした。
In such a case, map point A can be interpolated based on the map points of the X-axis and Y-axis, but if
コア12a~12cは、次の周期タスクで変数に対応したマップ補間値を求める場合、現在の変数または現在の変数から次の周期タスクで使用すると予測した変数を引数XAとして並列演算処理器13に与える。
以下、並列演算処理器13にて引数XAに対応するマップ補間値YAを補間処理により計算する方法について説明する。但し、X1≦XA≦X2として説明する。
When the
A method of calculating the map interpolation value YA corresponding to the argument XA by the interpolation process in the
並列演算処理器13は、まず軸探索を行う。軸探索では、図7に示すように算出ポイントがマップ点X1~X9のいずれのマップ点間にあるのかをマップ点X9から順に大小判定を実施し、該当する算出ポイントを探索する。軸探索をマップ点X1から開始してもよいし、中間のマップ点から開始してもよい。X9から探索する場合に算出ポイントがX1~X2となった場合は、以後も探索回数が多くなる状態が継続することが予測される。従って、前回の軸探索による算出ポイントに基づいて探索開始ポイントを制御周期毎に変更することで、探索の効率化を図るのが望ましい。
The
大小判定による軸探索の結果、図8に示すようにX1≦XA≦X2であることを探索した場合は、1次元マップの補間処理を実行する。この補間処理では、マップ点(X1,Y1)、(X2,Y2)から下記の1次式の線形補間式を用いて引数XAに対応したマップ補間値YAを算出する。
YA=((Y2-Y1)/(X2-X1))*(XA-X1)+Y1
以上のようにして引数の軸探索と補間処理とを実行することによりマップ計算し、図6に示すように引数XAに対応したマップ補間値YAを求めることができる。
If the axis search by magnitude judgment finds that X1≦XA≦X2 as shown in Fig. 8, one-dimensional map interpolation processing is executed. In this interpolation processing, a map interpolation value YA corresponding to the argument XA is calculated from map points (X1, Y1) and (X2, Y2) using the following linear interpolation formula of the first degree.
YA=((Y2-Y1)/(X2-X1))*(XA-X1)+Y1
By executing the axis search and interpolation processing of the arguments as described above, map calculation is performed, and a map interpolation value YA corresponding to the argument XA can be obtained as shown in FIG.
次に、X1≦XA≦X2であることから、図9に斜線で示す範囲を引数周辺の範囲と定め、各格子点に対し補間処理をする。X軸における引数周辺は引数の点からX軸方向に±pLSBで表される。LSBはXAを示すRAM値が1変化したときの物理値の変化量、つまり変数の最小変化量である。pは軸の特性を時定数で示すパラメータである。引数周辺の範囲は、制御周期毎の変動を予測して設定する。 Next, since X1≦XA≦X2, the range indicated by diagonal lines in Figure 9 is defined as the range around the argument, and interpolation processing is performed for each lattice point. The range around the argument on the X-axis is expressed as ±pLSB from the argument point in the X-axis direction. LSB is the amount of change in the physical value when the RAM value indicating XA changes by 1, in other words, the minimum amount of change in the variable. p is a parameter that indicates the axis characteristics as a time constant. The range around the argument is set by predicting the fluctuations for each control cycle.
次に、コア12a~12cからの処理依頼に応じて並列演算処理器13でマップ計算する動作について説明する。本実施形態では、並列演算処理器13でマップ補間値を事前計算して保持し、次の周期タスクでコア12a~12cから送信された引数に対応付けたマップ補間値に基づいて処理し、演算結果をコア12a~12cに渡すことを特徴とする。
Next, the operation of performing map calculations in the parallel
図10に示すようにコア12a~12cと並列演算処理器13との間で以下のように情報を送受信する。
[事前計算]
(1)コア12a~12cは、次の周期タスクで使用するマップの引数と、引数周辺のマップ情報を送信する。
(2)並列演算処理器13は、引数周辺の軸探索と補間処理とを実行することによりマップ計算し、引数とマップ補間値とを対応付けて保持する。
(3)並列演算処理器13は、マップ補間値を保持している内部メモリ23のアドレスを送信する。
As shown in FIG. 10, information is transmitted and received between the
[Precalculation]
(1) The
(2) The
(3) The
[周期タスクでの処理]
(4)コア12a~12cは、次の制御周期となると、処理を依頼する。
(5)並列演算処理器13は、コア12a~12cからの引数に対応付けられた計算値を求める処理を行う。このとき、使用するマップは(2)で保存したマップ計算を用いる。
(6)並列演算処理器13は、使用する引数が(2)で保持した値の範囲内の場合は、(5)の計算結果を返信する。一方、使用する引数が範囲外の場合は、コア12a~12cに範囲外であることを通知する。
[Periodic task processing]
(4) When the next control period begins, the
(5) The
(6) If the argument to be used is within the range of values stored in (2), the
(7)コア12a~12cは、範囲外であることを受信した場合は、軸探索と補間処理とを実行することによりマップ計算する。マップの次元数や規模によっては並列演算処理器13で計算した方が早いことから、並列演算処理器13で計算する。マップの次元数や規模に応じてコア12a~12cと並列演算処理器13とのいずれで計算すべきかを予め決めておく。
(7) When
(8)コア12a~12cは、並列演算処理器13で計算させた方が早い場合はマップ補間値及びマップ情報を送信する。
(9)並列演算処理器13は、受信した情報に基づいてマップ計算する。
(10)並列演算処理器13は、計算結果を返信する。これにより、コア12a~12cは、計算結果に基づいて以後の処理を実行する。
(8) The
(9) The
(10) The
[次の周期タスクの事前計算]
(11)コア12a~12cは、再計算したマップについて、次の周期タスクで使用するマップの引数と、引数周辺のマップ情報を送信する。
(12)並列演算処理器13は、(2)と同じ処理をし、保持していた結果を更新する。
(13)並列演算処理器13は、マップ補間値を保持しているアドレスを送信する。
[Precalculate next periodic task]
(11) For the recalculated map, the
(12) The
(13) The
このような実施形態によれば、次のような効果を奏することができる。
並列演算処理器13は、コア12a~12cから与えられた引数に基づいて保持しているマップから引数及び引数周辺に対応したマップ補間値を事前計算して保持し、次の周期タスクで与えられた引数に対応する事前計算の計算結果が保持されていた場合は当該計算結果をコア12a~12cに与え、コア12a~12cは、並列演算処理器13から与えられた計算結果に基づいて求めたマップ補間値により以後の処理を実行する。これにより、オーバーヘッドを抑制することができるので、並列演算処理器13を利用した処理時間の短縮を図ることができる。
According to this embodiment, the following effects can be obtained.
The
並列演算処理器13による引数周辺の範囲をマップの軸の特性に応じて設定するようにしたので、引数周辺の範囲を適切に設定することができる。
コア12a~12cは、事前計算後に計算結果を受け取りたいタイミングで引数を送信することで計算結果を受け取ることができるので、以後の処理を迅速に実行することができる。
Since the range around the argument by the
The
並列演算処理器13は、計算結果の受け渡し先に応じて計算結果を記憶する記憶領域を変更するので、コア12a~12cは、任意のタイミングで計算結果を受信することができる。
The
(第2実施形態)
第2実施形態について図11を参照して説明する。第2実施形態は、並列演算処理器13でマップ補間値を事前計算して保持し、次の周期タスクでコア12a~12cから送信された引数に対応付けたマップ補間値をコア12a~12cに渡し、マップ補間値に基づく計算をコア12a~12cで実行することを特徴とする。
Second Embodiment
The second embodiment will be described with reference to Fig. 11. The second embodiment is characterized in that the parallel
図11に示すようにコア12a~12cと並列演算処理器13との間で以下のように情報を送受信する。
[事前計算]
(1)コア12a~12cは、次の周期タスクで使用するマップの引数と、引数周辺のマップ情報を送信する。
(2)並列演算処理器13は、引数周辺の軸探索と補間処理とを実行することによりマップ計算し、引数とマップ補間値とを対応付けて保持する。
(3)並列演算処理器13は、マップ補間値を保持している内部メモリ23のアドレスを送信する。
As shown in FIG. 11, information is transmitted and received between the
[Precalculation]
(1) The
(2) The
(3) The
[周期タスクでの処理]
(4)コア12a~12cは、次の制御周期となると、マップの引数を送信する。
(5)並列演算処理器13は、使用する引数が(2)で保持した情報の範囲内であれば、引数に対応付けられたマップ補間値を返信する。一方、使用する引数が(2)で保持した情報の範囲外であれば、範囲外であることを通知する。
[Periodic task processing]
(4) When the next control cycle begins, the
(5) If the argument to be used is within the range of the information held in (2), the
(6)コア12a~12cは、受信したマップ補間値に基づいて処理する。一方、範囲外であることを受信した場合、軸探索と補間処理とを実行することによりマップ計算する。マップの次元数や規模によって、並列演算処理器13で計算させたほうが良い場合は並列演算処理器13にマップ情報を送信し、並列演算処理器13で計算する。この場合、マップの次元数や規模に応じていずれで計算すべきかを予め決めておく。
(6)
(7)並列演算処理器13は、マップ計算を並列演算処理器13にさせる場合はマップ情報を送信する。
(8)並列演算処理器13は、マップ計算する。
(9)並列演算処理器13は、マップ補間値を送信する。
(10)コア12a~12cは、受信したマップ補間値を利用して処理する。
(7) The
(8) The
(9) The
(10) The
[次の周期タスクの事前計算]
(11)コア12a~12cは、再計算したマップについて、次の周期タスクで使用するマップの引数と、引数周辺のマップ情報を送信する。
(12)並列演算処理器13は、(2)と同じ処理をし、保持していた結果を更新する。
(13)並列演算処理器13は、マップ補間値を保持しているアドレスを送信する。
[Precalculate next periodic task]
(11) For the recalculated map, the
(12) The
(13) The
このような実施形態によれば、並列演算処理器13でマップ補間値を事前計算して保持し、次の周期タスクでコア12a~12cから送信された引数に対応付けたマップ補間値をコア12a~12cに渡し、マップ補間値に基づく計算をコア12a~12cで実行するので、並列演算処理器13の処理能力が低下した場合であっても全体の処理時間の短縮を図ることができる。
In this embodiment, the parallel
(第3実施形態)
第3実施形態について図12を参照して説明する。第3実施形態では、並列演算処理器13でマップ補間値を事前計算し、それに関連した情報をコア12a~12cが保持し、次の周期タスクで引数に対応付けたマップ補間値に基づいて処理することを特徴とする。
Third Embodiment
The third embodiment will be described with reference to Fig. 12. The third embodiment is characterized in that the
[事前計算]
(1)コア12a~12cは、次の周期タスクで使用するマップの引数と、引数周辺のマップ情報を送信する。
(2)並列演算処理器13は、引数周辺の軸探索と補間処理とを実行することによりマップ計算し、引数とマップ補間値を対応付ける。
(3)並列演算処理器13は、(2)の情報を送信する。
(4)コア12a~12cは、受信した情報を保持する。
[Precalculation]
(1) The
(2) The
(3) The
(4) The
[周期タスクでの処理]
(5)コア12a~12cは、保持した情報を利用して処理する。引数に対応する結果を保持していなかった場合は、マップ計算してから処理する。
[Periodic task processing]
(5) The
[次の周期タスクの事前計算]
(6)コア12a~12cは、再計算したマップについて、次の周期タスクで使用するマップの引数と、引数周辺のマップ情報を送信する。
(7)並列演算処理器13は、(2)と同じ処理をする。
(8)並列演算処理器13は、処理した情報を送信する。
(9)コア12a~12cは、(4)の情報を更新する。
[Precalculate next periodic task]
(6) For the recalculated map, the
(7) The
(8) The
(9) The
このような実施形態によれば、並列演算処理器13に引数及びマップ情報を事前に送信することでマップ計算し、それに関連した情報をコア12a~12cが保持し、次の周期タスクで引数に対応付けたマップ補間値に基づいて処理するので、並列演算処理器13の処理能力が極端に低下した場合であっても全体の処理時間の短縮を図ることができる。
In this embodiment, the map is calculated by sending arguments and map information to the parallel
(第4実施形態)
第4実施形態について図13から図16を参照して説明する。第4実施形態は、対象マップとして2次元マップを用いることを特徴とする。
(Fourth embodiment)
The fourth embodiment will be described with reference to Figures 13 to 16. The fourth embodiment is characterized in that a two-dimensional map is used as the target map.
図13に示すように2次元マップには、マップ点(X1(X1≦XA≦X2),Y1(Y1≦YA≦Y2))に対応して対応値Z11、マップ点(X2,Y2)に対応して対応値Z12、……マップ点(X9,Y9)に対応して対応値Z99が設定されている。
図14に示すように2次元マップにおける任意の点(XA,YA)の補間値ZAの算出方法は、X軸方向とY軸方向の1次式による線形補間の組み合わせで算出される。
As shown in FIG. 13, in the two-dimensional map, a corresponding value Z11 is set corresponding to map point (X1 (X1≦XA≦X2), Y1 (Y1≦YA≦Y2)), a corresponding value Z12 is set corresponding to map point (X2, Y2), ... a corresponding value Z99 is set corresponding to map point (X9, Y9).
As shown in FIG. 14, the method of calculating an interpolated value ZA of an arbitrary point (XA, YA) in a two-dimensional map is a combination of linear interpolations using linear expressions in the X-axis and Y-axis directions.
即ち、任意の点(XA、YA)のマップ点の算出ポイントを探索すると、図14に示すように算出ポイントを決定することができる。算出ポイントは、4点(X1,Y1,Z11),(X2,Y1,Z12),(X1,Y2,Z21),(X2,Y2,Z22)の間にあることから、下記の補間処理1~3の1次式による線形補間の組み合わせでマップ点(XA,YA)の補間値ZAを算出する。
That is, by searching for the calculation point of the map point of an arbitrary point (XA, YA), the calculation point can be determined as shown in FIG. 14. Since the calculation point is between four points (X1, Y1, Z11), (X2, Y1, Z12), (X1, Y2, Z21), and (X2, Y2, Z22), the interpolated value ZA of the map point (XA, YA) is calculated by combining linear interpolation using the first-order equations of the following
まず、点(XA,Y1)に対応するZiを補間処理1により求める。
補間処理1は、図15に示すように点(XA(X1≦XA≦X2),Y1)の探索結果より、補間値Ziをマップ点(X1,Y1,Z11),(X2,Y1,Z12)から算出する。
X軸方向の線形補間式は、Zi=((Z12-Z11)/(X2-X1))*(XA-X1)+Z11となる。
First, Zi corresponding to the point (XA, Y1) is found by the
In the
The linear interpolation equation in the X-axis direction is Zi = ((Z12 - Z11) / (X2 - X1)) * (XA - X1) + Z11.
次に、点(XA,Y2)に対応するZiiを補間処理1により求める。
補間処理2は、図16に示すように点(XA(X1≦XA≦X2),Y2)の探索結果より、補間値Ziiをマップ点(X1,Y2,Z21),(X2,Y2,Z22)から算出する。
X軸方向の線形補間式は、Zii=((Z22-Z21)/(X2-X1))*(XA-X1)+Z21となる。
Next, Zii corresponding to point (XA, Y2) is found by the
In the second interpolation process, as shown in FIG. 16, an interpolated value Zii is calculated from map points (X1, Y2, Z21), (X2, Y2, Z22) based on the search result of point (XA (X1≦XA≦X2), Y2).
The linear interpolation equation in the X-axis direction is Zii = ((Z22 - Z21) / (X2 - X1)) * (XA - X1) + Z21.
最後に、点YAに対応するZAを補間処理3により求める。
補間処理3は、図17に示すように上記補間処理1,2で算出した補間値の2点(XA,Y1,Zi)、(XA,Y2,Zii)から、点YA(Y1≦YA≦Y2)に対する補間値ZAを算出する。
Y軸方向の線形補間式は、ZA=((Zii-Zi)/(Y2-Y1))*(YA-Y1)+Ziとなる。
X軸方向を補間してからY軸方向を補間するのに代えて、Y軸方向を補間してからX軸方向を補間するようにしてもよい。
Finally, ZA corresponding to point YA is obtained by the
As shown in FIG. 17, the
The linear interpolation equation in the Y-axis direction is ZA=((Zii-Zi)/(Y2-Y1))*(YA-Y1)+Zi.
Instead of first interpolating the X-axis direction and then the Y-axis direction, the Y-axis direction may be interpolated first and then the X-axis direction.
図18に示すように例えば引数が点(X(X1≦X≦X2),Y(Y1≦Y≦Y2))であれば、引数周辺を斜線範囲と定め、各格子点に対し補間処理をする。つまり、軸は引数の点からX軸方向に±pLSB、Y軸方向に±qLSBのように計算する。LSBはRAM値が1変化したときの物理値の変化量である。この場合、マップの次元数や規模に応じてどちらで計算すべきかを予め決めておく。例えばX軸が水温、Y軸がエンジン回転数であれば、基本的にはエンジン回転数のほうが変化しやすいパラメータであるため、Y軸のほうが広くなるように設定する。 As shown in Figure 18, for example, if the argument is a point (X (X1 <= X <= X2), Y (Y1 <= Y <= Y2)), the area around the argument is defined as the diagonal line range, and interpolation is performed for each lattice point. In other words, the axis is calculated as ±pLSB in the X-axis direction and ±qLSB in the Y-axis direction from the argument point. LSB is the amount of change in the physical value when the RAM value changes by 1. In this case, which should be calculated is determined in advance depending on the number of dimensions and scale of the map. For example, if the X-axis is water temperature and the Y-axis is engine speed, engine speed is basically the parameter that changes more easily, so the Y-axis is set to be wider.
このような実施形態によれば、対象マップが2次元マップの場合であっても、X軸方向とY軸方向とを順に補間することでマップ計算を適切に行うことができる。 According to this embodiment, even if the target map is a two-dimensional map, map calculations can be performed appropriately by sequentially interpolating the X-axis direction and the Y-axis direction.
(その他の実施形態)
並列演算処理器13は、今回の周期タスクで事前に与えられた引数に対応する計算結果を記憶していない場合は今回与えられた引数に基づいて計算し、その計算結果をコア12a~12cに送信するようにしてもよい。この場合、引数周辺が補間処理されていない場合であっても補間処理を行うことができる。
Other Embodiments
If the
並列演算処理器13は、次の周期タスクを実行するまでに今回与えられた引数及び引数周辺の演算を行い、記憶していた計算結果を更新するようにしてもよい。この場合、並列演算処理器13が引数に対応する計算結果を記憶していない場合であっても、並列演算処理器13を用いた効果が低下してしまうことを抑制することができる。
The parallel
並列演算処理器13の処理能力に合わせて第1~第3実施形態を組み合わせるようにしてもよい。つまり、並列演算処理器13の処理能力が高い場合は第1実施形態のように動作し、処理能力の低下に応じて第2実施形態、第3実施形態のように動作させるようにしてもよい。
The first to third embodiments may be combined according to the processing capacity of the parallel
対象マップとして3次元以上のものを用いるようにしてもよい。
電子制御装置としては、エンジンECUに限定されることなく、制御対象を制御する装置であれば適用可能である。
The target map may be three or more dimensional.
The electronic control device is not limited to the engine ECU, and may be any device that controls a controlled object.
本開示は、実施形態に準拠して記述されたが、本開示は当該実施形態や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。 Although the present disclosure has been described with reference to an embodiment, it is understood that the present disclosure is not limited to the embodiment or structure. The present disclosure also encompasses various modifications and modifications within the scope of equivalents. In addition, various combinations and forms, as well as other combinations and forms including only one element, more than one element, or less than one element, are also within the scope and spirit of the present disclosure.
図面中、1はエンジンECU(電子制御装置)、11はマイクロコンピュータ、12a~12cはコア(制御部)、13は並列演算処理器、25は演算器である。
In the drawing,
Claims (7)
制御用のマップ情報が記憶される共有メモリ(26)と、
制御情報に基づいて制御対象を制御する制御部(12a~12c)と、を備え、
前記制御部は、前記並列演算処理器にてマップに基づいて計算する必要が生じた場合には前記共有メモリのマップ情報を前記並列演算処理器に設けられる内部メモリ(23)の所定アドレスにロードし、前記制御情報を求めるための計算に必要となる変数を引数として前記並列演算処理器に与えると共に、前記並列演算処理器から与えられた計算結果に基づいて前記制御情報を求め、
前記並列演算処理器は、前記所定アドレスに記憶されたマップ情報、及び、前記制御部から与えられた引数に基づいて事前計算して記憶し、前記制御部から実際の計算時に与えられた引数に対応して事前計算によるマップ補間値の計算結果が記憶されていた場合は当該計算結果を前記制御部に与え、前記制御部から与えられた引数が前記事前計算した範囲外である場合には前記制御部に範囲外であることを通知し、前記マップの次元数や規模に応じて予め決められた前記制御部と前記並列演算処理器のいずれかでマップ補間値を計算する電子制御装置。 An electronic control device including a microcomputer (11) equipped with a parallel arithmetic processor (13) capable of performing parallel processing by a plurality of arithmetic units (25),
A shared memory (26) in which map information for control is stored;
A control unit (12a to 12c) that controls a control target based on control information ,
When it becomes necessary for the parallel processor to perform a calculation based on a map, the control unit loads the map information of the shared memory into a predetermined address of an internal memory (23) provided in the parallel processor, provides the parallel processor with variables required for a calculation to obtain the control information as arguments, and obtains the control information based on the calculation result provided by the parallel processor.
The parallel calculation processor performs pre-calculation and stores the map interpolation value based on the map information stored at the specified address and the arguments provided by the control unit, and if a calculation result of a map interpolation value by pre-calculation has been stored corresponding to the arguments provided by the control unit at the time of actual calculation, it provides the calculation result to the control unit , and if the arguments provided by the control unit are outside the pre-calculated range, it notifies the control unit that the arguments are outside the range, and calculates the map interpolation value using either the control unit or the parallel calculation processor, which is predetermined depending on the number of dimensions and scale of the map .
前記並列演算処理器による引数周辺の範囲は、前記軸の特性に応じて設定されている請求項2に記載の電子制御装置。 The variables are set as axes of the map;
3. The electronic control device according to claim 2, wherein a range around an argument by the parallel processor is set according to characteristics of the axis.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021067735A JP7548111B2 (en) | 2021-04-13 | 2021-04-13 | Electronic Control Unit |
| DE102022108539.2A DE102022108539A1 (en) | 2021-04-13 | 2022-04-08 | ELECTRONIC CONTROL DEVICE |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021067735A JP7548111B2 (en) | 2021-04-13 | 2021-04-13 | Electronic Control Unit |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022162753A JP2022162753A (en) | 2022-10-25 |
| JP7548111B2 true JP7548111B2 (en) | 2024-09-10 |
Family
ID=83361933
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021067735A Active JP7548111B2 (en) | 2021-04-13 | 2021-04-13 | Electronic Control Unit |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP7548111B2 (en) |
| DE (1) | DE102022108539A1 (en) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004225668A (en) | 2003-01-27 | 2004-08-12 | Denso Corp | Electronic control unit and memory device of electronic control unit |
| JP2016095796A (en) | 2014-11-17 | 2016-05-26 | 日本電信電話株式会社 | Arithmetic unit and arithmetic method |
| JP2018181144A (en) | 2017-04-19 | 2018-11-15 | 株式会社デンソー | Electronic control unit |
| JP2019200181A (en) | 2018-05-18 | 2019-11-21 | 株式会社デンソー | Gas flow rate meter and gas flow rate metering method |
| JP2021026753A (en) | 2019-07-31 | 2021-02-22 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | Method, apparatus, device and computer-readable storage medium for reducing storage space of parameter table |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5597884A (en) * | 1979-01-17 | 1980-07-25 | Nagoya Dengenshiya:Kk | Control system of thyristor power source for resistance welding machine |
| US5260898A (en) * | 1992-03-13 | 1993-11-09 | Sun Microsystems, Inc. | Result cache for complex arithmetic units |
| JP3598521B2 (en) * | 1992-09-11 | 2004-12-08 | マツダ株式会社 | Data table processing device |
| WO1996016505A2 (en) * | 1994-11-10 | 1996-05-30 | Brooktree Corporation | System and method for generating video data and video control data in a computer system |
-
2021
- 2021-04-13 JP JP2021067735A patent/JP7548111B2/en active Active
-
2022
- 2022-04-08 DE DE102022108539.2A patent/DE102022108539A1/en active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004225668A (en) | 2003-01-27 | 2004-08-12 | Denso Corp | Electronic control unit and memory device of electronic control unit |
| JP2016095796A (en) | 2014-11-17 | 2016-05-26 | 日本電信電話株式会社 | Arithmetic unit and arithmetic method |
| JP2018181144A (en) | 2017-04-19 | 2018-11-15 | 株式会社デンソー | Electronic control unit |
| JP2019200181A (en) | 2018-05-18 | 2019-11-21 | 株式会社デンソー | Gas flow rate meter and gas flow rate metering method |
| US20210054799A1 (en) | 2018-05-18 | 2021-02-25 | Denso Corporation | Gas flow rate measurement device and gas flow rate measurement method |
| JP2021026753A (en) | 2019-07-31 | 2021-02-22 | ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド | Method, apparatus, device and computer-readable storage medium for reducing storage space of parameter table |
Also Published As
| Publication number | Publication date |
|---|---|
| DE102022108539A1 (en) | 2022-10-13 |
| JP2022162753A (en) | 2022-10-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7053891B2 (en) | On-chip code breakpoint debugging method, on-chip processor and breakpoint-based chip debugging system | |
| KR102496115B1 (en) | Apparatus and Method of Altruistic Scheduling based on Reinforcement Learning | |
| US20220222129A1 (en) | System for parallel processing middleware node application algorithms using threads | |
| CN111355779A (en) | Service-based Internet of vehicles task unloading method and unloading device thereof | |
| CN115098412A (en) | Peripheral access controller, data access device and corresponding method, medium and chip | |
| CN111679286A (en) | A Laser Positioning System and Chip Based on Hardware Acceleration | |
| JP7548111B2 (en) | Electronic Control Unit | |
| US5414856A (en) | Multiprocessor shared resource management system implemented as a virtual task in one of the processors | |
| CN111767995A (en) | Computing method, device and related products | |
| CN116052304B (en) | Performance evaluation, performance optimization method, device, electronic device and storage medium | |
| JP2012248114A (en) | Information processing apparatus, method of controlling the same, and program | |
| CN114143836B (en) | Load balancing method, device and terminal based on edge computing gateway | |
| CN103902443A (en) | Program running performance analysis method and device | |
| US20070157207A1 (en) | Hardwired scheduler for low power wireless device processor and method for using the same | |
| CN114936349A (en) | Data processing device and method, processor, chip and computer equipment | |
| CN110308988B (en) | Dynamic scheduling method and system applied to heterogeneous computing platform | |
| CN114826817B (en) | Communication control method, electronic equipment and storage medium | |
| WO2023013649A1 (en) | Data cache device and program | |
| JP7596951B2 (en) | Electronic Control Unit | |
| CN114450665A (en) | Method for executing program | |
| WO2020192587A1 (en) | Artificial intelligence computing device and related product | |
| CN118260035A (en) | Task scheduling method, device, computer equipment and storage medium | |
| CN112860417B (en) | Data processing method, device, equipment, system and storage medium | |
| JP7294226B2 (en) | electronic controller | |
| CN119988808A (en) | Matrix multiplication pipeline calculation method, device, AI chip, electronic device and medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230614 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240131 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240227 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240411 |
|
| 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: 20240730 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240812 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7548111 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |