IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社デンソーの特許一覧 ▶ 株式会社ミライズテクノロジーズの特許一覧 ▶ トヨタ自動車株式会社の特許一覧

<>
  • 特開-電子制御装置 図1
  • 特開-電子制御装置 図2
  • 特開-電子制御装置 図3
  • 特開-電子制御装置 図4
  • 特開-電子制御装置 図5
  • 特開-電子制御装置 図6
  • 特開-電子制御装置 図7
  • 特開-電子制御装置 図8
  • 特開-電子制御装置 図9
  • 特開-電子制御装置 図10
  • 特開-電子制御装置 図11
  • 特開-電子制御装置 図12
  • 特開-電子制御装置 図13
  • 特開-電子制御装置 図14
  • 特開-電子制御装置 図15
  • 特開-電子制御装置 図16
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023166167
(43)【公開日】2023-11-21
(54)【発明の名称】電子制御装置
(51)【国際特許分類】
   H04L 12/40 20060101AFI20231114BHJP
   G06F 1/324 20190101ALI20231114BHJP
   G06F 1/3296 20190101ALI20231114BHJP
   B60R 16/023 20060101ALI20231114BHJP
   G06F 1/329 20190101ALI20231114BHJP
【FI】
H04L12/40 B
G06F1/324
G06F1/3296
B60R16/023 P
G06F1/329
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022077025
(22)【出願日】2022-05-09
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(71)【出願人】
【識別番号】520124752
【氏名又は名称】株式会社ミライズテクノロジーズ
(71)【出願人】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】110000567
【氏名又は名称】弁理士法人サトー
(72)【発明者】
【氏名】徳江 達也
【テーマコード(参考)】
5B011
5K032
【Fターム(参考)】
5B011DA06
5B011DC06
5B011EA10
5B011LL02
5B011LL13
5K032AA05
5K032BA06
5K032CB02
5K032DA01
5K032DB31
5K032EA02
(57)【要約】
【課題】車両を制御するシステムにおいて、負荷に応じて、電源電圧及びクロック周波数を適切に制御できる電子制御装置を提供する。
【解決手段】バス2を介してSRAM6やDDR7等にアクセスするマスタIP4及びバスマスタ5、マスタIP4とバス2との間に配置され、バス2に対するマスタIP4及びバスマスタ5のアクセス状態に基づくトラフィック量を測定するバスモニタ3、マスタIP4に動作用電源VDDを供給する電源供給IC10、及びマスタIP4に動作用クロックを供給するクロック周波数制御部9を備える。バス負荷ターゲットテーブルには、マスタIP4により実行される複数のアプリと各アプリに対応する平均スループット及び単位時間当たりの目標転送量とが設定されている。バスモニタ3は、測定したトラフィック量に応じてマスタIP4が実行中であるアプリの目標転送量に均衡するように電源供給IC10の電圧VDD及びクロック周波数制御部9のクロック周波数を制御する。
【選択図】図1
【特許請求の範囲】
【請求項1】
車両に搭載されるもので、
システムバス(2)を介して、複数のリソースにアクセスする複数のバスマスタ(4,5a~5cと、
これら複数のバスマスタの1つであるメインマスタ(4)と、
少なくとも前記メインマスタと前記システムバスとの間に配置され、前記システムバスに対する複数のバスマスタのアクセス状態に基づくトラフィック量を測定するバスモニタ(3,3A,22と、
前記メインマスタに動作用電源を供給し、電圧が可変に構成される電源回路(10)と、
前記メインマスタに動作用クロックを供給し、クロック周波数が可変に構成されるクロック生成回路(9)と、を備え、
前記バスモニタは、バス負荷ターゲットテーブルを備え、
前記バス負荷ターゲットテーブルには、前記メインマスタにより実行される複数のアプリケーションと、各アプリケーションに対応する平均スループット及び単位時間当たりの目標転送量とが設定されており、
測定したトラフィック量に応じて、前記メインマスタが実行中であるアプリケーションの目標転送量に均衡するように、前記電源回路の電圧及び前記クロック生成回路のクロック周波数を制御する電子制御装置。
【請求項2】
前記バスモニタは、測定したトラフィック量によって、前記メインマスタのアクセスが待機状態になると判断すると、前記電源回路の電圧及び前記クロック生成回路のクロック周波数を低下させるように制御する請求項1記載の電子制御装置。
【請求項3】
前記バスモニタは、測定したトラフィック量により、前記バス負荷ターゲットテーブルの対応する目標転送量を達成できないと判断すると、前記電源回路の電圧及び前記クロック生成回路のクロック周波数を上昇させるように制御する請求項1又は2記載の電子制御装置。
【請求項4】
前記バスモニタ(22)は、前記メインマスタが前記システムバスにライトアクセスするデータを圧縮処理すると共に、前記メインマスタが前記システムバスにリードアクセスするデータを伸長処理する請求項1又は2記載の電子制御装置。
【請求項5】
前記バスモニタ(3A)は、前記メインマスタが各アプリケーションを実行する際の平均スループットを測定し、測定した結果に応じて前記バス負荷ターゲットテーブルを動的に生成する請求項1又は2記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両に搭載される電子制御装置に関する。
【背景技術】
【0002】
DVFS(Dynamic Voltage Frequency Scaling)は、例えばマルチコアプロセッサ等の電力制御に関する技術であり、処理するタスクが多く負荷が重い場合には、システムの電源電圧及び動作クロック周波数を上昇させ、負荷が軽い場合には電源電圧及び動作クロック周波数を低下させるものである。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2012-12003号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、車載用の電子制御装置については、DVFS制御は未だ適用されていない。DVFS制御においては、システムの負荷に応じて、電源電圧及びクロック周波数をどのように制御するかが重要となる。
【0005】
本発明は上記事情に鑑みてなされたものであり、その目的は、車両を制御するシステムにおいて、負荷に応じて、電源電圧及びクロック周波数を適切に制御できる電子制御装置を提供することにある。
【課題を解決するための手段】
【0006】
請求項1記載の電子制御装置によれば、車両に搭載され、システムバスを介して、複数のリソースにアクセスする複数のバスマスタの1つであるメインマスタ、少なくともメインマスタとシステムバスとの間に配置され、システムバスに対する複数のバスマスタのアクセス状態に基づくトラフィック量を測定するバスモニタ、メインマスタに動作用電源を供給し、電圧が可変に構成される電源回路、及びメインマスタに動作用クロックを供給し、クロック周波数が可変に構成されるクロック生成回路を備える。
【0007】
バスモニタが備えるバス負荷ターゲットテーブルには、メインマスタにより実行される複数のアプリケーションと、各アプリケーションに対応する平均スループット及び単位時間当たりの目標転送量とが設定されている。そして、バスモニタは、測定したトラフィック量に応じて、メインマスタが実行中であるアプリケーションの目標転送量に均衡するように、電源回路の電圧及びクロック生成回路のクロック周波数を制御する。このように構成すれば、車両に搭載される電子制御装置において、バスモニタが測定したトラフィック量に応じて、メインマスタが実行中であるアプリケーションの目標転送量を最適化するようにDVFS制御を適用できる。
【0008】
具体的には、請求項2記載の電子制御装置のように、バスモニタは、測定したトラフィック量によって、メインマスタのアクセスが待機状態になると判断すると、電源回路の電圧及び前記クロック生成回路のクロック周波数を低下させる。
【0009】
また、請求項3記載の電子制御装置のように、バスモニタは、測定したトラフィック量により、バス負荷ターゲットテーブルの対応する目標転送量を達成できないと判断すると、電源回路の電圧及び前記クロック生成回路のクロック周波数を上昇させる。これらのように制御することで、DVFS制御を適用できる。
【図面の簡単な説明】
【0010】
図1】第1実施形態であり、電子制御装置の構成を示す機能ブロック図
図2】バスモニタ及びマスタIPの周辺構成を示す図
図3】バスモニタの内部構成を示す機能ブロック図
図4】バス負荷ターゲットテーブルの一例を示す図
図5】バストラフィック量の測定処理を示すフローチャート
図6】バスモニタの全体処理を示すフローチャート
図7】現在のスループットが目標転送量に達しない場合を示すイメージ図
図8図7に示す状態を解消した場合を示すイメージ図
図9】バストラフィックが混雑してNPU処理が待たされる場合を示すイメージ図
図10図9に示す状態を解消した場合を示すイメージ図
図11】第2実施形態であり、電子制御装置の構成を示す機能ブロック図
図12】バスモニタの内部構成を示す機能ブロック図
図13】データの圧縮・伸長処理を示すフローチャート
図14】第3実施形態であり、バス負荷ターゲットテーブルを動的に生成する処理を示すフローチャート
図15】第4実施形態であり、バストラフィックの混雑期間を予測して対応する場合を示すイメージ図
図16】第5実施形態であり、実際に車両に搭載されてAI処理等を行う構成に適用した場合を示す機能ブロック図
【発明を実施するための形態】
【0011】
(第1実施形態)
以下、第1実施形態について説明する。図1に示すように、本実施形態の電子制御装置1は、システムバス2にバスモニタ3を介して接続されるマスタIP(Intellectual Property)4、システムバス2に直接接続されているバスマスタ5a,5b,5c、SRAM6及びDDR(Double Data Rate)7を備え、SoC(System on Chip)として構成されている。電子制御装置1は、車両に搭載される例えばECU(Electronic Control Unit)である。バスマスタの1つであり、メインマスタでもあるマスタIP4は、例えばCPUやDSP(Digital Signal Processor)などである。RAM6及びDDR7は、リソースの一例である。マスタIP4やバスマスタ5a~5cは、システムバス2を介してRAM6やDDR7等にアクセスを行い、それぞれの制御プログラムに従い処理を実行する。
【0012】
図2に示すように、バスモニタ3及びマスタIP4の周辺には、電圧制御部8及びクロック周波数制御部9がある。クロック生成回路に相当するクロック周波数制御部9は、マスタIP4に供給するクロック信号を供給し、そのクロック信号の周波数は可変に構成されている。また、電子制御装置1の外部には、電源回路に相当する電源供給IC10があり、当該IC10は、マスタIP4に動作用電源VDDを供給する。電源VDDの電圧も可変に構成されている。電圧制御部8及びクロック周波数制御部9は、バスモニタ3により制御される。
【0013】
図3に示すように、バスモニタ3は、バストラフィック測定部11、トラフィック判定部12、バス負荷ターゲットテーブル部13及び変更指示部14を備えている。バストラフィック測定部11は、例えば、マスタIP4及びバスマスタ5a~5cがシステムバス2のアクセス権を取得するため、図示しないバスアービタに出力しているバスリクエストの数を、アクセス数としてカウントするカウンタである。トラフィック判定部12は、上記のアクセス数に応じて、システムバス2の混雑状態、つまりトラフィック状況を判定する。
【0014】
バス負荷ターゲットテーブル部13は、図4に示すバス負荷ターゲットテーブルを備えている。バス負荷ターゲットテーブルは、マスタIP4により実行されるターゲットである関数やアプリケーションプログラムA~Dのそれぞれについて、平均スループット[GB/s]及び1秒当たりの目標転送量[GB]を示すテーブルである。尚、関数も、アプリケーションの概念に含まれる。これらは、事前にシミュレーション等を行うことで予め求めておく。マスタIP4は、例えばAI(Artificial Intelligence)エンジンとして、NPU(Neural network Processing Unit)に関連した処理を行う。
【0015】
トラフィック判定部12は、バス負荷ターゲットテーブルを参照し、上記のようにシステムバス2のトラフィック状況を判定することで、変更指示部14に指示を行う。変更指示部14は、入力された指示に応じて電圧制御部8に対する電圧変更指示、及びクロック周波数制御部9に対する周波数変更指示を出力する。
【0016】
次に、本実施形態の作用について説明する。図5に示すように、バスモニタ3のバストラフィック測定部11は、測定を開始すると、マスタIP4及びバスマスタ5によるバスアクセスが発生するまで待機し(S1)、バスアクセスが発生すると、アクセスカウンタをカウントアップさせる(S2)。続くステップS3において、所定のインターバル測定期間が終了すると、その時点のアクセスカウンタのカウント値に基づいてスループットSPを、以下の式で算出する(S4)。
SP=(アクセスカウント値)×(1アクセス当たりの転送バイト量[Byte])
/(インターバル測定期間[s])
【0017】
図6に示すように、バスモニタ3は、起動すると初期設定を行い(S11)、インターバル時間が経過すると(S12)ステップS13の判断を行う。ステップS13では、バス負荷ターゲットテーブルを参照し、現在マスタIP4が実行している関数・アプリの種類に応じた目標転送量を実現するため、現在のスループットでは足りないか否かを判断する。足りない場合は(Yes)、電源電圧VDD及びクロック信号の周波数を上昇させるように、電圧制御部8及びクロック周波数制御部9に変更指示を出力する(S15)。
【0018】
図7及び図8は、この場合に対応するイメージを示している。クロック周波数制御部9で変更可能なクロック周波数の範囲が、例えば0.8GHz~1.2GHzであり、周波数0.8GHzでのマスタIP4のスループットが50GB/sであるとする。このスループットでは、現在実行中の関数・アプリに対応する目標転送量に達しなければ、クロック周波数を1.2GHzに上昇させることでスループットを75GB/sに上昇させる。クロック周波数を最大値である1.2GHzに上昇させると、周波数をその値に固定する。尚、これに伴い電源電圧VDDも、例えば0.8Vから1.2Vに上昇させる。
【0019】
一方、ステップS13において、現在のスループットで足りている場合は(No)ステップS14の判断を行う。ステップS14では、システムバス2のトラフィックが混雑しているため、マスタIP4が実行するNPU処理が待たされる状態か否かを判断する。NPU処理が待たされる状態であれば(Yes)、電源電圧VDD及びクロック信号の周波数を低下させるように、電圧制御部8及びクロック周波数制御部9に変更指示を出力する(S16)。
【0020】
図9及び図10は、この場合に対応するイメージを示している。周波数1.0GHzでのマスタIP4のスループットが50GB/sであり、処理を待機するWait率が80%であるとする。この場合、システムバス2の混雑状態がボトルネックとなってWait率が上昇しており、マスタIP4は、無駄に高い周波数で動作している状態にある、と言える。そこで、クロック周波数を0.5GHzに低下させることでスループットを25GB/sに低下させる。尚、これに連動させて、電源電圧VDDも、例えば1.0Vから0.5Vに低下させる。
【0021】
一方、ステップS14において、NPU処理が待たされる状態でなければ(No)ステップS17の判断を行う。ステップS17では、マスタIP4の現在のスループットを、バス負荷ターゲットテーブルの対応する目標スループットと比較する。現在のスループットが目標スループットに一致していれば、ステップS12に移行する。現在のスループットが目標スループットを超えていればステップS16と同様の処理を行い(S18)、現在のスループットが目標スループットを下回っていればステップS15と同様の処理を行う(S19)。
【0022】
以上のように本実施形態によれば、車両に搭載される電子制御装置1において、システムバス2を介して、SRAM6やDDR7等にアクセスするマスタIP4及びバスマスタ5、マスタIP4とシステムバス2との間に配置され、システムバス2に対するマスタIP4及びバスマスタ5のアクセス状態に基づくトラフィック量を測定するバスモニタ3、マスタIP4に動作用電源VDDを供給し、電圧が可変に構成される電源供給IC10、及びマスタIP4に動作用クロックを供給し、クロック周波数が可変に構成されるクロック周波数制御部9を備える。
【0023】
バスモニタ3が備えるバス負荷ターゲットテーブルには、マスタIP4により実行される複数のアプリケーションと、各アプリケーションに対応する平均スループット及び単位時間当たりの目標転送量とが設定されている。そして、バスモニタ3は、測定したトラフィック量に応じて、マスタIP4が実行中であるアプリケーションの目標転送量に均衡するように、電源供給IC10の電圧VDD及びクロック周波数制御部9のクロック周波数を制御する。このように構成すれば、車両に搭載される電子制御装置1において、バスモニタ3が測定したトラフィック量に応じて、マスタIP4が実行中であるアプリケーションの目標転送量を最適化するようにDVFS制御を適用できる。
【0024】
具体的には、バスモニタ3は、測定したトラフィック量によって、マスタIP4のアクセスが待機状態になると判断すると、電源供給IC10の電圧VDD及びクロック周波数制御部9のクロック周波数を低下させる。また、バスモニタ3は、測定したトラフィック量により、バス負荷ターゲットテーブルの対応する目標転送量を達成できないと判断すると、電源供給IC10の電圧VDD及びクロック周波数制御部9のクロック周波数を上昇させる。これらのように制御することで、DVFS制御を適用できる。
【0025】
(第2実施形態)
以下、第1実施形態と同一部分には同一符号を付して説明を省略し、異なる部分について説明する。図11に示すように、第2実施形態の電子制御装置21は、バスモニタ3に替えて、データ圧縮・伸長機能を有するバスモニタ22を備えている。図12に示すように、バスモニタ22は、マスタIP4とシステムバス2との間に、データ圧縮・解凍回路部23が配置されており、バストラフィック測定部11は、データ圧縮・解凍回路部23を介してシステムバス2にアクセスする。
【0026】
図13に示すように、データ圧縮・解凍回路部23は、マスタIP4によるバスアクセスが発生するまで待機し(S21)、バスアクセスが発生するとライトアクセス、リードアクセスの何れであるかを判断する(S22)。ライトアクセスであれば、マスタIP4のライトデータを圧縮処理してSRAM6又はDDR7に書き込む(S23)。一方、リードアクセスであれば、SRAM6又はDDR7より読み出されたリードデータを伸長してマスタIP4に読み込ませる(S24)。
【0027】
以上のように第2実施形態によれば、バスモニタ22は、マスタIP4がシステムバス2にライトアクセスするデータを圧縮処理すると共に、リードアクセスするデータを伸長処理する。このように構成すれば、システムバス2上のデータ量を削減して、バストラフィックの混雑を緩和できる。
【0028】
(第3実施形態)
第3実施形態では、電子制御装置1Aが実際に稼働している間に、バスモニタ3Aが、バス負荷ターゲットテーブルを動的に生成・更新する。更新は、一定期間、例えば10秒毎に行う。図14に示すように、ステップS31で上記の一定期間が経過すると、マスタIP4のバスアクセスが発生するまで待機する(S32)。バスアクセスが発生すると、バストラフィック量を測定し(S33)、平均スループットを算出する(S34)。続くステップS35において、更新するためのキャリブレーション期間が終了するまでは、ステップ32に戻る。キャリブレーション期間が終了すると、バス負荷ターゲットテーブルをキャリブレーションした結果に更新する(S36)。以上の処理を、マスタIP4が実行する関数・アプリの種類毎に行う。
【0029】
以上のように第3実施形態によれば、バスモニタ3Aは、マスタIP4が各アプリケーションを実行する際の平均スループットを測定し、測定した結果に応じてバス負荷ターゲットテーブルを動的に生成する。これにより、実際の処理状況に応じたバス負荷ターゲットテーブルを生成できる。
【0030】
(第4実施形態)
第4実施形態では、図15に示すように、電子制御装置1が実際に稼働している間に、例えば機械学習等を適用することで、処理時間の経過に伴いバストラフィックが混雑する期間が予測できる場合、その期間に入ると予測された時間の前に、電圧VDD及びクロック周波数を最大にする。これにより、バストラフィックが混雑する期間の前に、処理を迅速に実行できる。
【0031】
(第5実施形態)
第5実施形態では、電子制御装置1等の構成を、実際に車両に搭載されてAI処理等を行う構成により近いものに適用した場合を示す。図16に示すように、電子制御装置31において、システムバス2には、CPU32,DSP33,DNN(Deep Neural Network)34,拡張仕様アクセラレータIP35,GPU(Graphic Processing Unit)36,ISP(Image Signal Processor)37,バスマスタ5、SRAM6及びDDR7等が接続されている。尚、システムバス2への接続する矢印が黒塗りのものは、バスモニタ3を介してアクセスすることを示す。
【0032】
CPU32,DSP33,DNN34は、マルチコア構成であり、CPU32は、図示しない1次キャッシュ及び2次キャッシュを備えている。CPU32は、実際にはOS管理やアプリケーション実行用のCPUと、リアルタイム処理用のCPUの2種が搭載され、ソフトウェア処理全般を受け持つ。DSP33は、主に固定/浮動小数点の積和演算を高速に実行する。DNN34は、4又は8ビットの低ビット整数の積和演算を高速実行可能である。
【0033】
一般に、汎用・複雑性はCPU>DSP>DNN、となるが、AI処理等において、高速な単純演算が必要になる処理では、DNN>DSP>CPU、となるため、それぞれ得意な演算を分担して処理を行う。近年の車載用の自動運転制御SoCは制御が複雑化しており、演算量も膨大に膨れ上がる傾向となっている。そのため、CPU、DSP、DNNが互いに協調しながら、得意な演算を分担しなければ高度な制御は実現できない。またCPU,DSP、DNNの3マクロが同時に動き続けると、バス帯域が飽和して性能を引き出せないだけでなく、消費電力も膨れ上がり、発熱問題も考慮しなければならなくなる。よって、CPU、DSP、DNNの最適な協調動作を実現するため、本発明が必要となる。
【0034】
(その他の実施形態)
リソースは、SRAM6やDDR7に限らない。
電源電圧やクロック周波数の具体数値は、個別の設計に応じて適宜変更すれば良い。
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【符号の説明】
【0035】
図面中、1は電子制御装置、2はシステムバス、3はバスモニタ、4はマスタIP、5はバスマスタ、6はSRAM、7はDDR、8は電圧制御部、9はクロック周波数制御部、10は電源供給ICを示す。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16