(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-14
(45)【発行日】2022-09-26
(54)【発明の名称】半導体装置および電子制御装置
(51)【国際特許分類】
G06F 11/22 20060101AFI20220915BHJP
G06F 15/78 20060101ALI20220915BHJP
G06F 11/36 20060101ALI20220915BHJP
【FI】
G06F11/22 606B
G06F15/78 516
G06F11/36 196
(21)【出願番号】P 2018236819
(22)【出願日】2018-12-18
【審査請求日】2021-06-07
(73)【特許権者】
【識別番号】302062931
【氏名又は名称】ルネサスエレクトロニクス株式会社
(74)【代理人】
【識別番号】110000350
【氏名又は名称】ポレール弁理士法人
(72)【発明者】
【氏名】大東 正行
【審査官】坂庭 剛史
(56)【参考文献】
【文献】特開2011-028559(JP,A)
【文献】特開2011-216004(JP,A)
【文献】特開2001-282710(JP,A)
【文献】米国特許出願公開第2015/0234677(US,A1)
【文献】中野友貴、本田晋也、枝廣正人、鈴木 均,モデルベース並列化(MBP)におけるマルチレートモデルの車載RTOS向けランタイムとコード生成,情報処理学会研究報告[online],日本,一般社団法人情報処理学会,2017年03月02日,Vol.2017-ARC-225, No.4,pp.1-6,ISSN 2188-8574
【文献】松原 豊、本田晋也、高田広章,時間保護のためのタスク起動遅延付き階層型スケジューリングアルゴリズム,情報処理学会研究報告[CD-ROM],日本,一般社団法人情報処理学会,2011年02月15日,Vol.2010-EMB-19, No.3,pp.1-8,ISSN 1884-0930
【文献】増大する車載システムのテスト負荷低減のカギは「階層的アプローチ」,日経Automotive,日本,日経BP社,2017年10月11日,第80号,pp.16-17,ISSN 1881-9362
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/22
G06F 15/78
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
複数の
電子制御装置(ECU)機能を実行するよう構成される演算リソースと、
前記複数の
ECU機能に
よって共用される
よう構成される周辺リソースと、
前記
複数のECU機能のうちの一つの
ECU機能が前記周辺リソースを利用する期間を制御する
よう構成される制御機構と、
を備え、
前記制御機構は、所定の単位時間内に
おいて前記一つのECU機能が前記周辺リソースの利用が禁止され
る利用禁止期間を評価事前に与えられる性能割り当てである予算値に基づいて生成するよう構成される半導体装置。
【請求項2】
請求項1の半導体装置において、
前記制御機構は、前記一つの
ECU機能が前記周辺リソースを利用する利用時間に基づいて動的に前記利用禁止期間を生成するよう構成される半導体装置。
【請求項3】
請求項2の半導体装置において、
前記制御機構は、
前記一つのECU機能の前記周辺リソースの利用後に、直前の前記利用時間に基づいて前記利用禁止期間を生成するよう構成される半導体装置。
【請求項4】
請求項3の半導体装置において、
前記制御機構は、前記利用禁止期間以外に
前記一つのECU機能によって前記周辺リソース
が利用
されない場合、
前記一つのECU機能によって前記周辺リソースが利用
されない期間は前記利用禁止期間から差し引くよう構成される半導体装置。
【請求項5】
請求項4の半導体装置において、
前記制御機構は、
前記一つのECU機能が前記周辺リソース
を利用する利用時間を計測する第一カウンタと、
前記一つのECU機能による前記周辺リソースの利用可能および不可を判断する第二カウンタと、
を備え、
前記制御機構は、
前記第二カウンタ
のカウント値に前記予算値と前記第一カウンタのカウント値に基づいた値を加算し、
前記一つのECU機能によって前記周辺リソース
が利用
されない期間
に基づいて前記第二カウンタ
のカウンタ値を減数
し、
前記第二カウンタのカウント値
が正の場合は
前記一つのECU機能による前記周辺リソース
の利用
を禁止とし、
前記第二カウンタのカウント値が負の場合は
前記一つのECU機能による前記周辺リソース
の利用
を可能とし、
前記一つのECU機能が周辺リソースを利用している間は前記第二カウンタのカウント動作を停止するよう構成される半導体装置。
【請求項6】
請求項5の半導体装置において、
前記制御機構は、さらに、
前記所定の単位時間を計数し、前記第一カウンタおよび前記第二カウンタを初期化する信号を生成する
よう構成されるタイマと、
前記予算値および前記所定の単位時間を外部から受け取る
よう構成される制御回路と、
を備える半導体装置。
【請求項7】
請求項6の半導体装置において、
前
記演算リソースは、
ソフトウェアプログラムを格納するメモリと、前
記ソフトウェアプログラムを
実行する中央処理装置(CPU)と、
を備え、
前記複数のECU機能は前記ソフトウェアプログラムを実行するCPUによって実行され、
前記周辺リソースは通信周辺回路
を含む半導体装置。
【請求項8】
請求項7の半導体装置と、
車載ネットワーク線と前記通信周辺回路とに接続されるトランシーバICと、
を備える電子制御装置。
【請求項9】
請求項1の半導体装置において、さらに、
前記複数の
ECU機能に共用される
よう構成される第二周辺リソースと、
前記
複数のECU機能のうちの一つの
ECU機能が前記第二周辺リソースを利用する期間を制御する
よう構成される第二制御機構と、
を備え、
前記第二制御機構は、所定の単位時間内に
おいて前記一つのECU機能が前記周辺リソースの利用が禁止され
る利用禁止期間を評価事前に与えられる性能割り当てである予算値に基づいて生成するよう構成される半導体装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は半導体装置に関し、例えば電子制御装置に用いられる半導体装置に適用可能である。
【背景技術】
【0002】
乗用車、トラックおよびバス等の車両には、電子制御装置(Electronic Control Unit、以下、ECUという。)が多数搭載されている。各ECUは車両内ネットワークを介して相互接続し、協調動作する。車両内電子アーキテクチャは複雑化の一途をたどっている。この問題に対し、車両内電子アーキテクチャ全体でのコストダウンのため車両内ネットワークの簡素化およびECUの統合がその解法として採用されつつある(例えば、特開2012-114724号公報)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
機能統合の対象となる個々のシステム(ECU)は、その業務形態からそれぞれ別の会社(Tier1)で開発され検証される。ここで、Tier1とはメーカに直接納入する一次サプライヤ(一次下請け)である。その後、車両組み立てを担う車両メーカ(以下、OEMという。)にて組み上げられる。その際、それぞれの「個々のシステム」の接続に関する部分の検証が行われ全体としての機能の検証が完了する。「個々のシステム」の独立性が自明だからである。
【0005】
一方で、これら「個々」として開発された「システム」を統合してゆくことが期待されているが、この統合の際も、「個々のシステム」として定義・検証された機能が確実に実現されることが条件となる。
【0006】
各Tier1は、統合ECUのハードウェアを用いて自社担当のECU機能を実現するソフトウェアの開発・検証を行う。統合ECUは単体ECU機能に対応する複数の演算リソースとその複数の演算リソースに共用される周辺リソースで構成される場合がある。この場合、各演算リソースは周辺リソースを専有することができず、利用が制限される。
【0007】
しかし、統合ECUにおいて単体ECU機能の検証の際、周辺リソースを専有してしまい、各Tier1は統合状態における単体ECU機能の検証ができない。
その他の課題と新規な特徴は、本開示の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【0008】
本開示のうち、代表的なものの概要を簡単に説明すれば、下記のとおりである。
すなわち、半導体装置は、複数の演算リソースと、前記複数の演算リソースに共用される周辺リソースと、前記演算リソースのうちの一つの演算リソースが前記周辺リソースを利用する期間を制御する制御機構と、を備える。前記制御機構は、所定の単位時間内に利用が禁止される前記周辺リソースの利用禁止期間を評価事前に与えられる性能割り当てである予算値に基づいて生成するよう構成される。
【発明の効果】
【0009】
上記半導体装置によれば、統合状態における単体ECU機能の検証が可能になる。
【図面の簡単な説明】
【0010】
【
図1】
図1(A)は統合前のECUの構成を模式的に示す図であり、
図1(B)は比較例の統合ECUの構成を模式的に示す図である。
【
図2】
図2(A)はTier1による
図1(B)の統合ECUの検証を説明するブロック図であり、
図2(B)はOEMおよびTier1による
図1(B)の統合ECUの検証を説明するブロック図である。
【
図3】
図3は
図1(B)の統合ECUの検証を説明するフローチャートである。
【
図4】
図4は実施形態の統合ECUの構成を模式的に示す図である。
【
図5】
図5は単位時間内の利用可能期間と利用禁止期間を示す図である。
【
図6】
図6は実施例の統合ECUの構成を模式的に示す図である。
【
図9】
図9は
図6の制御回路の複数の単位時間における動作を説明する図である。
【
図11】
図11は変形例の統合ECUの構成を模式的に示す図である。
【発明を実施するための形態】
【0011】
以下、実施形態、実施例および変形例について、図面を用いて説明する。ただし、以下の説明において、同一構成要素には同一符号を付し繰り返しの説明を省略することがある。
【0012】
まず、ECUの機能統合について
図1を用いて説明する。
図1(A)は統合前のECUの構成を模式的に示す図であり、
図1(B)は比較例の統合ECUの構成を模式的に示す図である。
【0013】
図1(A)に示すように、統合前のECU_A1a、ECU_B1b及びECU_C1cは、それぞれ、主に半導体装置10a,10b,10cで構成されている。半導体装置10a,10b,10cはそれぞれCPUおよびメモリ等の演算リソース100a,100b,100cと、周辺リソース200と、を備えている。ECU_A1a、ECU_B1b及びECU_C1cは、それぞれ別の会社(Tier1_A、Tier1_B、Tier1_C)により開発され検証される。その後、OEMにて組み上げられる。その際、ECU_A1a、ECU_B1b及びECU_C1cのそれぞれの接続に関する部分の検証が行われ全体としての機能の検証が完了する。ECU_A1a、ECU_B1b及びECU_C1cの独立性が自明だからである。Tier1_A、Tier1_B、Tier1_Cを代表させる場合は、Tier1と称す。
【0014】
図1(B)に示すように、比較例の統合ECU1Rは、主に半導体装置10Rで構成されている。半導体装置10RはECU_A1a、ECU_B1b、ECU_C1cの機能を実行する演算リソース100と周辺リソース200とを備える。演算リソース100は、例えば一つのCPU、一つのメモリを時分割でECU_A1a、ECU_B1b、ECU_C1cの機能の実行処理に割り当てられ、周辺リソース200は共用される。統合ECU1Rは、OEM、またはTier1_A、Tier1_BおよびTier1_CのいずれかのTier1、または他のTier1により開発され検証される。ただし、ECU_A1a、ECU_B1b、ECU_C1cの機能を実現するソフトウェアは、Tier1_A、Tier1_B、Tier1_Cの各々で開発され検証される。
【0015】
比較例の統合ECU1Rで発生する問題について
図2、3を用いて説明する。
図2(A)はTier1による
図1(B)の統合ECUの検証を説明するブロック図であり、
図2(B)はOEMおよびTier1による
図1(B)の統合ECUの検証を説明するブロック図である。
図3は
図1(B)の統合ECUの検証を説明するフローチャートである。
【0016】
一般に単体ECU機能毎の検証はそれぞれを受け持つTier1で行われることが多く、統合した状態での検証はその性格からOEMで行われることになる。OEMでTier1が実施する検証を実施することは困難である。
よって、統合ECU機能の検証は、
(1)各Tier1による単体ECU機能・タイミングの検証
(2)OEMによる複数ECUを統合した状態での検証
の段階で行われる。
【0017】
上記(1)の検証は、
図2(A)、
図3に示すように、統合ECU1Rのハードウェアを用い、Tier1_A、Tier1_B、Tier1_Cがそれぞれのソフトウェアのみの開発および動作確認を行う。すなわち、
図3に示すように、Tier1_AはECU_Aの機能のソフトウェアを開発し(ステップSA1)、ECU_Aの機能のソフトウェアを検証する(ステップSA2)。同様に、Tier1_BはECU_Bの機能のソフトウェアを開発し(ステップSB1)、ECU_Bの機能のソフトウェアを検証し(ステップSB2)、Tier1_CはECU_Cの機能のソフトウェアを開発し(ステップSC1)、ECU_Cの機能のソフトウェアを検証する(ステップSC2)。
【0018】
上記(2)の検証は、
図2(B)および
図3に示すように、OEMが統合ECU1RにTier1_A、Tier1_B、Tier1_Cの開発ソフトウェアを一緒に搭載し、各Tier1に提供する(ステップSO1)。
【0019】
次に、Tier1_AはECU_A、ECU_B、ECU_Cの機能のソフトウェアを並行して動作させつつ、ECU_Aの機能のソフトウェアの動作確認(検証)を行う(ステップSA3)。同様に、Tier1_BはECU_Bの機能のソフトウェアの動作確認(検証)を行い(ステップSB3)、Tier1_CはECU_Cの機能のソフトウェアの動作確認(検証)を行う(ステップSC3)。
最後に、OEMはECU_A/ECU_B/ECU_Cが連携する動作確認を行う(ステップSO2)。
【0020】
ステップSA1,SA2,SB1,SB2,SC1,SC2は統合していないECUについてTier1が実施している設計・検証と同様である。ステップSO1,SO2は統合していないECUについてOEMが実施している検証と同様である。ステップSA3,SB3,SC3は統合により増加したTier1が実施する検証である。これは、以下の理由による。
【0021】
単体ECU機能評価の際には周辺リソース200を占有可能であるが、ECU統合を行った際にはそれぞれが単一の周辺リソース200を共用することになる。そのため、単体ECU機能・タイミングの検証は実施されているが、周辺リソース200の競合が起きるため、機能統合された環境下においても、単体ECU検証時と同じ動作を行うことの確認が求められる。すなわち、検証を単体で実施した後に、機能統合実施した状態での再検証が必要となってしまう。
【0022】
複数のECU機能を統合した統合ECUを実用するためには上記(2)の複数ECU機能を統合しての検証の際、上記(1)で実施した検証の結果を利用できる(上記(1)の検証が不要である)ことが必須である。言い換えれば、上記(2)の検証の際に上記(1)の検証結果が活用可能になるよう上記(1)の検証を実施することが求められる。
【0023】
よって、統合ECUにおいて、Tier1が単体ECU機能の検証を行う際に、周辺リソースが共用される状態での検証ができるようにする必要がある。
【0024】
<実施形態>
図1(A)の単体ECU_A1a、ECU_B1b、ECU_C1cを統合した実施形態の統合ECUについて
図4を用いて説明する。
図4は実施形態の統合ECUの構成を模式的に示す図である。
【0025】
実施形態の統合ECU1は、主に半導体装置10で構成されている。半導体装置10はECU_A1a、ECU_B1b、ECU_C1cの機能を実行する演算リソース100と周辺リソース200と周辺リソース200を制御する制御機構300を備える。演算リソース100は、例えば一つのCPU、一つのメモリを時分割で演算リソース100a,100b,100cの処理に割り当てられ、周辺リソース200は演算リソース100a,100b,100cによって共用される。なお、演算リソース100は複数のCPUで構成してもよい。
【0026】
次に、
図4の制御機構の機能について
図5を用いて説明する。
図5は単位時間内の利用可能期間と利用禁止期間を示す図である。
【0027】
制御機構300は、上記(1)の単体ECU機能検証時に周辺リソース200の共用による競合された状態を作り出す。
【0028】
例えば、制御機構300は、共用される周辺リソース200に対して事前に割り当てられる予算値(BDG)に応じた利用禁止状態を作り出すことで、統合時に達成される利用頻度内での単体ECUの検証を実現する。BDGの設定は、各単体ECUに対する制限要件(各単体ECUの性能割当て)から定められる。周辺リソース200が利用禁止状態にある期間を利用禁止期間UPといい、利用可能状態にある期間を利用可能期間UAという。単位時間(UNIT TIME)の時間をTU、利用禁止期間UPの時間をTP、利用禁止期間UPの第一時間をTPa、利用禁止期間UPの第二時間をTPb、利用可能期間UAの時間をTAとすると、
TU=TA+TPa+TPb=TA+TP
BDG=TA/(TPa+TPb)=TA/TP
である。ここで、TP=TPa+TPb
よって、
TP=TU/(1+BDG)
である。
【0029】
単位時間の時間(TU)と予算値(BDG)により、利用禁止期間UPの時間(TP)および利用可能期間UAの時間(TA)が決まる。これにより、制御機構300は、単一ECU機能評価時には定義された帯域のみ周辺リソース200を利用可能な状態とする。
【0030】
周辺リソース200は予算値を超えない範囲で離散的に利用される場合があるため、一か所のみの利用可能期間を設けることはそれに沿わない。よって、制御機構300は、例えば、利用可能期間UAを第一利用可能期間UA1、第二利用可能期間UA2、第三利用可能期間UA3および第四利用可能期間UA4に分割し、利用禁止期間UPを第一利用禁止期間UP1、第二利用禁止期間UP2、第三利用禁止期間UP3、第四利用禁止期間UP4および第五利用禁止期間UP5に分割し、利用可能期間UAを離散させてもよい。
ここで、第一利用禁止期間UP1の時間をTP1、第二利用禁止期間UP2の時間をTP2、第三利用禁止期間UP3の時間をTP3、第四利用禁止期間UP4の時間をTP4、第一利用禁止期間UP1の時間をTP1、第二利用禁止期間UP2の時間をTP2、第三利用禁止期間UP3の時間をTP3、第四利用禁止期間UP4の時間をTP4、第五利用禁止期間UP5の時間をTP5、とすると、
TA=TA1+TA2+TA3+TA4
TP=TPa+TPb=TP5+TP1+TP2+TP3+TP4
である。
【0031】
利用禁止期間は、例えば、次のように定める。
(a)周辺リソース200の利用時間に基づいて動的に周辺リソース200の利用禁止期間を挿入する。利用禁止期間の時間は、予算値に基づいて生成される。これにより、単体ECU機能の評価を実施する際、統合ECU時と同じ周辺リソースの利用率を提供することが可能である。
(b)利用禁止期間は、周辺リソース200の利用後に、その利用時間に基づいて利用禁止期間が設定され、挿入される。好ましくは、直前の利用時間(例えば、第一利用可能期間UA1の時間(TA1))に基づいて利用禁止期間(例えば、時間(TP1)の利用禁止期間UP1)が設定され、挿入される。これにより、検証対象の単体ECU機能へ離散的な周辺リソースの利用機会を提供することが可能である。
【0032】
また、単体ECU機能は、それ自身の処理内容の制約により周辺リソース200に対して連続的なアクセスを行わないことがある。このアクセスを行わない状態をアクセス不可能状態といい、その期間をアクセス不可能期間という。利用禁止期間以外に周辺リソース200の利用がなかった場合、その利用していなかった期間は“利用禁止期間”から差し引いて、検証対象の単体ECU機能が潜在的にもつアクセス不可能期間を利用禁止期間に計上しないようにしてもよい。検証対象の単体ECU機能が潜在的にもつアクセス不可能期間が利用可能期間に含まれないので、検証対象の単体ECU機能が潜在的にもつアクセス不可能期間を、利用禁止期間に計上するため、過剰な利用禁止期間が設定されることがない。
【0033】
なお、制御機構300はハードウェアで構成してもよいし、ソフトウェアで構成してもよい。また、周辺リソースは、他のECU等との通信のための通信コントローラ、センサ、スイッチ、アクチュエータ等の周辺機器が接続されるI/O等の半導体装置に対する入力または出力インタフェース機能を実現する回路であり、複数のECU機能で共用可能な回路である。以下の実施例では、実施形態の制御機構300をハードウェアで構成する例および周辺リソースが通信コントローラである例について説明する。
【実施例】
【0034】
図6は実施例の統合ECUの構成を模式的に示す図である。
図6に示すように、統合ECU1Aは車載ネットワークであるCAN(Controller Area Network)バス2aに接続されており、他のECU等と互いに通信可能である。また、統合ECU1AはデバッガI/F4を介してデバッガ3に接続可能である。
【0035】
ECU1Aは、主に、マイクロコントローラまたはSOC等の半導体装置10AとトランシーバIC20で構成されている。半導体装置10Aは、CPU101と、それぞれの単体ECU機能を実現するソフトウェアプログラム102a,102b,102cを格納する記憶装置102と、CAN通信のための通信コントローラ(通信周辺回路)200aと、制御回路300aと、制御回路500と、タイマ600と、を一つの半導体チップに備えている。演算リソース100はCPU101と記憶装置102で構成され、CPU101は記憶装置102に格納されているソフトウェアプログラム102a,102b,102cを時分割で処理することにより、ECU_A1a、ECU_B1b、ECU_C1cの機能を構成する。通信周辺回路200aは実施形態の周辺リソース200と同様に共用される。演算リソース100は複数のCPUで構成してもよい。記憶装置102は、例えば、フラッシュメモリ等の不揮発性メモリおよびSRAM等の揮発性メモリを含む。
【0036】
単体ECU機能は演算リソース100で実行され、必要に応じ通信周辺回路200aを通じて統合ECU1Aの外部への通信を行う。
【0037】
通信周辺回路200aは、CANの通信プロトコルに従って送信バッファ(不図示)のフレームをシリアルの送信信号に変換してトランシーバIC200に向けて出力する。トランシーバIC20は通信周辺回路200aから取得した論理レベルの送信信号を対応する差動電圧に変換してCANバス2aに送信する。
【0038】
データの受信時、トランシーバIC20はCANバス2の差動電圧を読み取り、所定の電圧範囲に含まれるように整形した受信信号を通信周辺回路200aに出力する。通信周辺回路200aの受信用の端子は例えばコンパレータを有しており、所定の閾値電圧とトランシーバIC200からの受信信号とを比較して“1”、“0”のデジタルデータを生成して受信バッファ(不図示)に記憶する。
【0039】
制御回路300aは、通信周辺回路200aに対し利用禁止期間を設定し、通信周辺回路200aに共用による競合状態を生成する。次の条件を満たした状態で利用禁止期間を設定する。
【0040】
(I)利用した直後には他の処理へ割り当てが優先されることを考慮する
(II)単体ECU自身がもつ、アクセス不可能状態を考慮する
具体的には、制御回路300aは、
(A)通信周辺回路200aに対し利用禁止/許可状態を通知し通信周辺回路200aを利用禁止状態にする、
(B)事前に定められた制約(予算値)により通信周辺回路200aの利用禁止状態を生成する、
(C)事前に定められた制約(予算値)と、過去に動作した通信周辺回路200aの利用時間により次の利用禁止状態の期間(利用禁止期間)を設定する、
(D)通信周辺回路200aへのアクセス不可能時間を利用禁止期間から除く。
【0041】
なお、通信周辺回路200aは、制御回路300aから利用禁止を通知されている場合、例えば、CPU101からのアクセス要求信号に対するアクノレッジ信号を出力しないようにし、許可状態を通知されている場合、アクノレッジ信号を出力可能にする。
【0042】
次に、制御回路300aの構成について
図7を用いて説明する。
図7は
図6の制御回路の構成を示すブロック図である。
【0043】
制御回路300aは、通信周辺回路200aの動作時間を計測するカウンタ301と、通信周辺回路200aの利用可能/不可を判断するメインカウンタ302を備える。制御回路300aは、
(i)通信周辺回路200aを利用していない期間はメインカウンタ302をダウンカウントする、
(ii)メインカウンタ302のカウント値が負の場合は通信周辺回路200aを利用可能とし、カウント値が正の場合は通信周辺回路200aを利用禁止とする、
(iii)通信周辺回路200aを利用している間はメインカウンタ302を停止する、
(iv)通信周辺回路200aの利用後は、利用比率に従いメインカウンタ302をカウンタ加算する。
【0044】
カウンタ301はカウンタレジスタ(CNTR)301aとインクリメンタ(INC)301bとセレクタ301cとで構成される。カウンタ301は通信周辺回路200aからの転送終了信号(SC1)またはタイマ600からのリセット信号(SC2)のアサートにより初期化される。これは、転送終了信号(SC1)またはリセット信号(SC2)によりセレクタ301cが「0」を選択し、カウンタレジスタ(CNTR)301aに入力することにより行われる。カウンタ301は通信周辺回路200aが動作中はカウントアップを続ける。これは、通信周辺回路200aが動作中であることを示す動作中信号(SC3)によりセレクタ301cがインクリメンタ301bの出力を選択し、カウンタレジスタ(CNTR)301aに入力することにより行われる。これにより転送終了信号(SC1)の発生時に、カウンタ301は通信周辺回路200aが利用されていた占有時間を示す。
【0045】
メインカウンタ302はメインカウンタレジスタ(MCNTR)302aとデクリメンタ(DEC)302bとセレクタ302cと乗算器302dと加算器302eで構成される。メインカウンタ302は周期的なリセット信号(SC2)により初期化される。これは、リセット信号(SC2)によりセレクタ302cが「0」を選択し、メインカウンタレジスタ(MCNTR)302aに入力することにより行われる。リセット信号(SC2)の周期は通信周辺回路200aを制御するにあたり割り当て帯域を保証したい単位時間(UNIT TIME)を想定する。
【0046】
メインカウンタ302は通信周辺回路200aが非動作中には減算カウンタとして動作する。これは、通信周辺回路200aが動作中であることを示す動作中信号(SC3)によりセレクタ302cがデクリメンタ302bの出力を選択し、メインカウンタレジスタ(MCNTR)302aに入力することにより行われる。
【0047】
メインカウンタ302は転送終了信号(SC1)の発生時に、乗算器302dでカウンタレジスタ(CNTR)301aの値に、制御回路500によりレジスタ302eに予め設定された係数(factor)である予算値(SC4)を乗じ、その演算結果を加算器302fでメインカウンタレジスタ(MCNTR)の値に加算する。これは、転送終了信号(SC1)によりセレクタ302cが加算器302fの出力を選択し、メインカウンタレジスタ(MCNTR)302aに入力することにより行われる。
【0048】
メインカウンタレジスタ(MCNTR)302aの値が負を示しているかどうかを負判定器(<0)308で判定して、利用可能信号(SC5)を通信周辺回路200aに出力する。負判定器308が負を示している場合は、利用可能信号(SC5)がアサートされ、通信周辺回路200aは利用可能となり、負判定器308が正を示している場合は利用可能信号(SC5)がネゲートされ、通信周辺回路200aは利用不可となる。負判定器308は例えばメインカウンタレジスタ(MCNTR)302aの最上位ビットが1かどうかにより判定する。
【0049】
図6に示すように、制御回路300aへの予算値・単位時間(周期)はデバッガ3からデバッガI/F4を経由して設定される。設定は静的値で各Tier1へOEMから指示される。制御回路500はデバッガ3から設定された予算値(SC4)を制御回路300aのレジスタ302eに設定する。また、制御回路500はデバッガ3から設定された単位時間をタイマ600に設定する。タイマ600は単位時間ごとにリセット信号(SC1)を生成する。
【0050】
なお、制御回路300a、制御回路500、タイマ600およびデバッガ3、はTier1での単体ECU機能の評価時のみ用いられ、OEMでの評価時・量産出荷後は利用されない。
【0051】
次に、制御回路300aの動作について
図8、9を用いて詳細に説明する。
図8は
図6の制御回路の動作を説明する図である。
図9は
図6の制御回路の複数の単位時間における動作を説明する図である。
図8では単位時間(UNIT TIME)内に通信周辺回路200aの利用(アクセス要求)α、β、γが発生している例を示している。
【0052】
単位時間の最初は、利用可能期間UAであるが、CPU101は通信周辺回路200aの利用が不可能であり、利用可能になった後、最初のアクセス要求αがある。アクセス要求αの通信周辺回路200aの利用時にかかった時間がTαであったとする。
【0053】
通信周辺回路200aの転送終了イベント信号(SC1)によりメインカウンタ(MCNT)302には通信周辺回路200aの利用禁止期間PBが設定されメインカウンタ(MCNT)302は減算を始める。
【0054】
メインカウンタレジスタ(MCNTR)302aの値が正値をとる間は通信周辺回路200aが利用禁止であり、メインカウンタレジスタ(MCNTR)302aの値が負数を示すまでに発生したアクセス要求βの通信周辺回路200aの利用はメインカウンタレジスタ(MCNTR)302aの値が負になるまで待たされる。
【0055】
通信周辺回路200aの利用禁止期間PBの時間(TB)は、直前の通信周辺回路200aの利用時の処理にかかった時間(Tα)をから導出する。対象単体ECU機能に対し通信周辺回路200aの利用割り当て(係数(factor))がK%であった場合、TBの値はTαを(100-K)/K倍した時間から導出される。例えば、K=25の場合、TB=3×Tαとなる。
【0056】
メインカウンタレジスタ(MCNTR)302aの値が負数となる時点で通信周辺回路200aが利用可能となりアクセス要求βに対する通信周辺回路200aの利用が始まる。
【0057】
アクセス要求βの通信周辺回路200aの利用に必要な時間がカウンタ(CNTR)301にてカウントされる。この間メインカウンタ(MCNT)302は、減数等されないでメインカウンタレジスタ(MCNTR)302aの値は変化せず維持状態を保つ。
【0058】
アクセス要求βの通信周辺回路200aの利用にてかかった時間(Tβ)から再度新たに通信周辺回路200aの利用禁止期間PCの時間(TC)が計算され、メインカウンタレジスタ(MCNTR)302aに加算される。メインカウンタ(MCNT)302は減算カウント処理を開始・継続する。
【0059】
利用禁止期間PCの時間(TC)が経過後は、利用可能期間UAであるが、後続する通信周辺回路200aのアクセス要求がないためメインカウンタ(MCNT)302は減数を継続する。
【0060】
前回のアクセス要求βからTD時間(TC時間より長い)経過後にアクセス要求γが発生する場合、アクセス要求γは即座に通信周辺回路200aの利用を開始できる。メインカウンタレジスタ(MCNTR)302aの値が負数を示しているからである。
【0061】
アクセス要求γの通信周辺回路200aの利用が完了した後に、アクセス要求γの通信周辺回路200aの利用から再計算された利用禁止期間PEの時間(TE)が計算され、メインカウンタレジスタ(MCNTR)302aに加算される。アクセス要求γの通信周辺回路200aの利用にてかかった時間(Tγ)から計算される利用禁止期間PEの時間(TE)は、負数であるメインカウンタレジスタ(MCNTR)302aに加算されるため、メインカウンタレジスタ(MCNTR)302aから判定される通信周辺回路200aの利用禁止期間PEは、過去の時間(TD)と時間(TC)の差分が差し引かれた時間(TE)となる。後続の通信周辺回路200aのアクセス要求は上記の補正が行われた利用禁止期間PEの経過後に発行可能となる。
【0062】
図9に示すように、通信周辺回路200aの帯域保証を成立したい最小単位時間(UNIT TIME)の経過後、メインカウンタ302は、その状態に拘らず、リセット信号(SC2)によって初期化される。
図9における一つ目の単位時間では、アクセス不可能期間UN、利用期間A、利用禁止間P、・・・、アクセス不可能期間UNとなっており、単位時間の経過後のリセット信号は、メインカウンタレジスタ(MCNTR)302aが負数であるが、アクセス不可能期間UN中に入力されている。ここで、利用可能期間UAは利用期間Aとアクセス不可能期間UNとを含む。二つ目の単位時間の初めは一つ目の単位時間のアクセス不可能期間UNが続いている。二つ目の単位時間の経過後のリセット信号も、アクセス不可能期間UN中に入力されている。しかし、三つ目の単位時間の初めは利用期間Aとなっている。制御回路300aは、単位時間経過毎にメインカウンタ302を初期化し、単位時間内で予算割り当てを超えるアクセスの発生を抑制する。
【0063】
図10は
図6の統合ECUの製造方法を説明するフローチャートである。
OEMは統合ECU1のハードウェアを開発し製造する。なお、統合ECU1内の半導体装置10は例えば半導体メーカ等に製造させる。OEMから貸与された統合ECU1のハードウェアを用い、Tier1_A、Tier1_B、Tier1_Cがそれぞれのソフトウェアのみの開発および動作確認を行う。すなわち、
図10に示すように、Tier1_AはECU_Aの機能のソフトウェアを開発し(ステップSA11)、ECU_Aの機能のソフトウェアを検証し(ステップSA12)、OEMに納入する。同様に、Tier1_BはECU_Bの機能のソフトウェアを開発し(ステップSB11)、ECU_Bの機能のソフトウェアを検証し(ステップSB12)、OEMに納入する。Tier1_CはECU_Cの機能のソフトウェアを開発し(ステップSC11)、ECU_Cの機能のソフトウェアを検証し(ステップSC12)、OEMに納入する。各Tier1は統合状態における単体ECU機能の検証が可能になる。
【0064】
図10に示すように、OEMは統合ECU1にTier1_A、Tier1_B、Tier1_Cが開発および検証したソフトウェアを搭載する(ステップSO11)。OEMは、ECU_A、ECU_B、ECU_Cの機能のソフトウェアを並行して動作させつつ、ECU_A/ECU_B/ECU_Cが連携する動作の確認を行う(ステップSO12)。なお、ステップSO11とステップSO12との間に、Tier1による
図3のステップSA3,SB3,SC3は不要になっている。
【0065】
本実施例では、機能統合ECUを目的として提供される半導体において通信周辺回路に対して、一定の“利用禁止期間”を提供する“制御機構”を搭載している。
【0066】
また、その“利用禁止期間”が、対象とする通信周辺回路の過去の占有時間と、単体ECU機能評価時に先立って定められている“帯域割り当て”に従い定められる。この機能により、統合ECUにおいても、統合ECU時に期待される“帯域”内での処理が完結することを保証する。
【0067】
また、直前の通信周辺回路の利用と連携し利用禁止期間を設定するため、利用禁止期間の挿入が離散的タイミングでおこなわれる。長期間の通信周辺回路の利用禁止状態が発生を回避しつつ単体ECUの評価を実現可能である。
【0068】
単体ECU機能がもつ潜在的なアクセス不可能期間を制御回路が設定する“利用禁止期間”から減算することにより、過剰な利用禁止期間設定を回避している。統合ECUとして動作時にはこれら単体ECU機能の“利用禁止期間”においても他の単体ECU機能のアクセスを実行可能であるためである。
【0069】
<変形例>
以下、実施例の代表的な変形例について、幾つか例示する。以下の変形例の説明において、上述の実施例にて説明されているものと同様の構成および機能を有する部分に対しては、上述の実施例と同様の符号が用いられ得るものとする。そして、かかる部分の説明については、技術的に矛盾しない範囲内において、上述の実施例における説明が適宜援用され得るものとする。また、上述の実施例の一部、および、複数の変形例の全部または一部が、技術的に矛盾しない範囲内において、適宜、複合的に適用され得る。
【0070】
実施例では周辺リソースとしてCAN通信のための通信コントローラ(通信周辺回路)を例として説明したが、通信周辺回路はFlexRay、LIN、Ethernet等であってもよい。また、周辺リソースは一つに限定されるものではなく、複数であってもよい。以下、CAN通信のための通信コントローラとEthernet通信のための通信コントローラの二つの通信周辺回路を備える例(変形例)について
図11を用いて説明する。
【0071】
図11は変形例の統合ECUの構成を模式的に示す図である。
【0072】
図11に示すように、統合ECU1Bは車載ネットワークであるCAN(Controller Area Network)バス2aおよびEthernetバス2bの二つの車載ネットワーク線に接続されており、他のECU等と互いに通信可能である。統合ECU1Bは、主に、マイクロコントローラまたはSOC等の半導体装置10BとトランシーバIC20a,20bで構成されている。半導体装置10Bは、CPU101と、それぞれの単体ECU機能を実現するソフトウェアプログラム102a,102b,102cを格納する記憶装置102と、CAN通信のための通信コントローラ(通信周辺回路)200aと、Ethernet通信のための通信コントローラ(通信周辺回路)200bと、制御回路300a,300bと、を一つの半導体チップに備えている。演算リソース100はCPU101と記憶装置102で構成され、CPU101は記憶装置102に格納されているソフトウェアプログラム102a,102b,102cを時分割で処理することにより、ECU_A1a、ECU_B1、ECU_C1cの機能を構成する。通信周辺回路200a,200bは実施形態の周辺リソース200と同様に共用される。演算リソース100は複数のCPUで構成してもよい。記憶装置102は、例えば、フラッシュメモリ等の不揮発性メモリおよびSRAM等の揮発性メモリを含む。
【0073】
単体ECU機能は演算リソース100で実行され、必要に応じ通信周辺回路200aを通じて統合ECU1Aの外部への通信を行う。
【0074】
以上、本発明者によってなされた発明を実施形態、実施例および変形例に基づき具体的に説明したが、本発明は、上記実施形態、実施例および変形例に限定されるものではなく、種々変更可能であることはいうまでもない。
【0075】
例えば、実施形態、実施例および変形例では、三つの単体ECU機能を統合した例について説明したが、これに限定されるものではなく、二つ以上の単体ECU機能を統合したものに適用可能である。
【符号の説明】
【0076】
1・・・電子制御装置
10・・・半導体装置
100・・・演算リソース
200・・・周辺リソース
300・・・制御機構