JP6660902B2 - 自動車用電子制御装置 - Google Patents

自動車用電子制御装置 Download PDF

Info

Publication number
JP6660902B2
JP6660902B2 JP2017045603A JP2017045603A JP6660902B2 JP 6660902 B2 JP6660902 B2 JP 6660902B2 JP 2017045603 A JP2017045603 A JP 2017045603A JP 2017045603 A JP2017045603 A JP 2017045603A JP 6660902 B2 JP6660902 B2 JP 6660902B2
Authority
JP
Japan
Prior art keywords
core
initialization
cores
electronic control
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
Application number
JP2017045603A
Other languages
English (en)
Other versions
JP2018151717A (ja
Inventor
匡彰 日野
匡彰 日野
尊文 鈴木
尊文 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Priority to JP2017045603A priority Critical patent/JP6660902B2/ja
Publication of JP2018151717A publication Critical patent/JP2018151717A/ja
Application granted granted Critical
Publication of JP6660902B2 publication Critical patent/JP6660902B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Microcomputers (AREA)
  • Stored Programmes (AREA)

Description

本発明は、自動車用電子制御装置の初期化技術に関する。
近年、自動車用電子制御装置では複数の演算ユニット(以下、コア)を有する1つのCPU(以下、マルチコアCPUという)を備えた自動車用電子制御装置が普及しつつある。マルチコアCPUの目的の一つに、あるコアの故障に対する堅牢制があげられる。すなわち、あるコアが故障し、これを他コアが検知した場合に、正常なコアにより故障したコアの処理を代替して行う。多くの場合、処理量を減らして縮退運転を行う。装置が完全に停止するよりも、機能を限定して縮退運転を行う方が、安全である。縮退運転時においても、正常時の通常制御と同等の安全性を確保する。そのためには、処理時間の長期化を避け、簡素な処理を行う。
特開2013−200602特許文献1では、マルチコアCPUにおいて、独立にあるコアAとあるコアBが初期化処理を行うことで起動時間の短縮を可能にする。
初期化時点でマルチコアCPUのコアAが故障している場合においても、コアBによる縮退運転を行うため、電子制御装置の初期化を行い起動する。このとき、コアAで初期化している機能は初期化されないという課題がある。
また、初期化は、必ずしも均等に並列化できない課題がある。たとえば、起動後、コアAがCPUクロックの設定を行っている間、コアBは他機能の初期化を行うことが出来ない。あるいは、機能によって初期化量の大小があり、コアAの初期化中にコアBに待ちが発生する場合がある。このように、コアAが初期化中にコアBに待ちが発生する場合がある。
また、正常時よりも異常時の初期化完了時間が遅くなる課題がある。初期化が完了した後にコアの正常判定を行った時点でコアAについて故障を検知したとする。この場合、前記故障したコアAが初期化した機能に関しては、コアBが初期化をやり直す必要がある。すべての機能の初期化をコアBが行うことになり、コアAの初期化処理時間とコアBの初期化処理時間の差、すなわち、コアBの待ち時間分だけ、正常時よりも異常時の方が初期化時間は長くなる。
本発明は、これらの課題を解決するための手段である。
上記課題を解決するために本発明の自動車用電子制御装置は、複数のコアで同時に初期化処理を開始し、複数のコアで同じ機能に対して重複して初期化処理をする。
本発明によれば、故障しているコアの数によらずに、初期化を正常時と同等の時間で実施することが可能である。これにより、運転者に違和感を与えない。また、ソフトウェア制御の開始時刻がハードウェアの起動時間に対して一定となり、ハードウェア制御の制御ロジックを、正常時と異常時で切り替える必要が無くなる。
自動車用電子制御装置の概略図である。 2つの正常なコアによる初期化処理を示す図である。 コアの相互監視による故障判定方法を示す図である。 制御用個別部初期化を含む初期化処理を示す図である。 コア異常時の初期化処理を示す図である。 初期化時にRAMの設定と故障判定を行う図である。 初期化時にRAMの設定と故障判定を行う処理手順を示す図である。 他方のコアの初期化が正しく実施されているかを判定する図である。 3つ以上のコアによる初期化処理後に通常制御実施を示す図である。
以下に本発明の実施形態について、図面を用いて説明する。
本発明の実施例1について、図1から図3を用いて説明する。
図1に示すように、自動車用電子制御装置10(以下、ECU)には、外部バッテリから電源が供給され電源ICによって電源制御される。ユーザがイグニッションスイッチをONすると、電源ICは外部接続ポートからマイコン100に電源が供給されると共にリセット信号をマイコン100に入力する。リセット信号により、マイコン100に内蔵されているCPU(Central Processing Unit)1100の内にあるコア1110、コア1120、コア1130、コア1140までのコアが同時に演算を開始する。
実施例1として、コア数Nが2の場合について、初期化手順を図2に示す。
実施例1においては、各コアで使用する初期化プログラムはROM1300に格納されており、CPU1110はROM1300からプログラムを読み出して実行する。
初期化手順を図2に示す。
リセット信号により演算を開始するタイミングがt1000である。タイミングt1000において、コア1110は初期化プログラム1500に従い、マイコン100の各機能の初期化を開始する。たとえば、クロックやタイマ、外部出力、共有メモリであり、コア1110とコア1120で共通に使用する機能である。
一方、コア1120も初期化プログラム1500に従い、マイコン100の各機能の初期化を開始する。すなわち、コア1110とコア1120は同一のプログラムを用いる。これにより、プログラムの作成および管理が容易となる。
コア1110とコア1120が同時にプログラムを実行する場合、演算はそれぞれのコアで独立しているため、時間的に同時刻に実行可能である。ところが、共有機能、たとえば図1の共有レジスタ1101にアクセスする場合、資源競合が発生する。CPUではこのような競合を調停するため、バス1190に調停機能がある。すなわち、コア1110とコア1120が同時に実行開始しても、共有機能の設定を行う際に、ハードウェアの調停機能により、たとえばコア1110が優先されてコア1120が待たされ、競合を起こすことなく、初期化は正常に行われる。この副作用として、コア1110とコア1120の実行時間がずれることになる。この時間は、資源共有待ち時間t212であり、自動車の挙動に影響が及ぶことや、運転者が気づく時間ではない。いずれにせよ、コア1110が初期化処理10011を完了した時点t1001において、コア1120の初期化処理10021は実行中である。そのため、この時点でコア1110がコア1120の故障判定を行うと、コア1120が返答できずに判断ミスを起こす可能性がある。そこで、初期化処理と故障判定の間に明示的に待ち処理を行う。これらの待ち処理が10012と10022である。
その後、相互にコアの故障判定を行う。コアの相互監視による故障判定方法を図3に示す。
S3400において、コア1110がコア1120に問題データを送信する。コア1120はS3500でコア1110から送信された問題データを受信する。S3501で受信した問題データを元に、予め決められた計算式で回答データを算出し、S3502でコア1110に返信する。コア1110はS3401でコア1120から回答データを受信する。
S3402において、コア1110は予めプログラムに埋め込まれた正解データを用い、コア1120から返信されたデータと照合する。コア1120の算出したデータと正解データが一致すれば正常と判断しコア1120は通常制御行うS3043。一方コア1120の算出した回答データと正解データが一致しない場合はS3404にてコア1120を停止する。
前記ロジックにおいて、コア1110とコア1120を入れ替えることで、コア1120の診断を行う。
故障判定により両方のコアの正常が確認されれば、制御2015と2025を行う。正常時の制御は各コアで機能分配された、最適な制御である。
一方、コア1110がコア1120の異常を検知した場合、縮退運転モードに切り替える。この場合、コア1110のみで運転するため、制御2015は縮退運転用となる。
この場合においても機能の初期化は完了しているため、やり直す必要は無い。すなわち、正常時と同じ時間で機能の初期化が完了し、縮退運転モードへの移行開始が可能である。
本実施例ではコア1110とコア1120に同一の初期化プログラムを用いるため、プログラムの作成及び管理が容易となる。
本発明の実施例2について、図4と図5を用いて説明する。なお、実施例1と同様の構成については説明を省略する。
実施例2においては、図4に示すように、故障判定を行うための最低限の初期化である共通部初期化と、制御のための初期化である個別部初期化に分けて、初期化を実施する。
実施例1と同様に共通部初期化11011と共通部初期化11021は、同一のプログラムである。あるいは、共通部初期化11011でレジスタ1101を初期化中に、資源競合を避けるため、共通部初期化11021は共有RAM1200の初期化を行い、その後、共通部初期化11011で共有RAM1200を初期化中に、共通部初期化11021がレジスタ1101の初期化を行っても良い。これにより、資源競合待ちが発生せずに高速化が見込める。
故障判定は実施例1と同様である。
故障判定の結果、正常な場合、コア1110は、制御11015に合わせて個別部初期化 11014を行う。例えば、ローカルRAM1150の初期化である。また、コア1120は、制御11025に合わせて個別部初期化 11024を行う。
一方、故障判定11013にてコア1120の故障を検知した場合、図5に示すように縮退運転モードへ切り替える12015。
個別部初期化 12014は縮退運転用の初期化であり、例えば、個別部初期化 11014とは、ローカルRAM1150の値が異なる。また、停止処理12024は、例えば無限ループ処理やコア1110によるコア1120クロック停止処理であり、故障したコア1120が共有機能に対してアクセスしないようにする。
実施例2では、起動から故障判定までの時間を、正常時とコア故障時で同等とすることが可能である。
本発明の実施例3について、図6から図8を用いて説明するなお、先の実施例と同様の構成については説明を省略する。
実施例3においては、初期化時にRAMの設定と故障判定を行う。初期化処理を図6に示す。
リセット信号により演算を開始するタイミングがt210である。タイミングt210において、コア1110は共通部初期化プログラム2111に従い、マイコン100の共有メモリ1200の初期化を開始する。
一方、コア1120も共通部初期化プログラム2122に従い、マイコン100の各機能の初期化を開始する。
このときの共通初期化プログラム2111の処理を図7に示す。
すなわち、Global RAM1200に格納される変数aの初期化S3000、変数bの初期化S3001、変数cの初期化S3002を実施する。
この間にコア1120は、共通部初期化プログラム2121を実施するが、この処理を図8に示す。すなわち、S3100でコア1120は、コア11110が行った初期化が正しく実施されているかを初期化変数aの読み出し、書き込み予定のデータと照合して正確性を確認するS3100。
初期化が正常に実施されていないと判断するとコア1110のコア正常フラグをOFFにするS3101。ちなみに、コア正常フラグは、S3100以前にONとしておく。この場合、コア1110で初期化が正常に実施できなかったので、S3102にてコア1120が変数aの初期化を実施する。この手順を変数b及びcにも実施する。
本処理により、コア1110の故障判定が可能である。この時点でコア1120の診断は完了していない。次に、コア1120の診断を行うために、実行順番を入れ替える。処理2111と処理2121では、処理2121に判定処理があるので、処理時間が長くなる。そこで、コア1110は待ち処理2112を行い、コア1120が共通部初期化2123を開始するまで待つ。共通部初期化2123の処理を図7に示す。また、共通部初期化2113の処理を図8に示す。先行するコア1120のRAM初期化をコア1110が読み出し診断することで、コア1120が異常な場合にコア1120正常フラグによる診断を行う。
コア1120は処理時間差の調整のため、待ち処理2122を行う。
最後に、故障判定2114および故障判定2124で、コア正常フラグを判定して、相互にコア故障を検知する。
例えば、コア1120が停止している場合、コア1120正常フラグはOFFとなる。コア1120の正常時と故障時でコア1110の処理は変わらないため、起動完了t215の時間は同等である。
本実施例により、コアの初期化完了とともにコア故障の検知が可能である。
本発明の実施例4について、図9を用いて説明する。なお、先の実施例と同様の構成については説明を省略する。
本実施例では、コア数Nが3以上のCPUの場合の初期化手順を図9を用いて示す。
リセット信号により演算を開始するタイミングがt220である。タイミングt220において、コア1110は共通部初期化プログラム2211に従い、マイコン100の各機能の初期化を開始する。
一方、コア1120、コア1130、コア1140も各共通部初期化プログラムに従い、マイコン100の各機能の初期化を開始する。
コア数が、3以上の場合は、予めペアとなるコアを決めておき、そのペアによって故障判定を実施する。例えばコア1110とコア1120、コア1130とコア1140とする。
このように予めペアとなるコアを用いて、実施例1で示した共通部初期化、故障判定、個別部初期化をペアのコア同士で実施する。つまりコア1110はペアではないコア1130やコア1140の共通部初期化処理を待つ必要がなく、ペアのコア1120の共通部初期化処理2221が完了するのを待つだけで良い。
但し、通常制御を開始するタイミングである通常制御開始t226は全てのコアで揃える必要があるため、各コアで個別部初期化処理完了後にコア1110の待ち処理2215、コア1120の待ち処理2225、コア1130の待ち処理2235、コア1140の待ち処理2245を実施する。
本実施例において、どのコアが故障したとしても、起動時間は正常時と同等である。

Claims (3)

  1. 車両機能を制御するCPU
    前記CPU内部の演算部であるコアを複数有し、
    複数の前記コアが共通して使用する機能である共通部を備え、
    複数の前記コアが初期化プログラムを実行することにより前記共通部の初期化を行う自動車用電子制御装置であって、
    前記自動車用電子制御装置の起動後、前記コアの相互故障判定を行う前に、複数の前記コアにおいて同一の初期化プログラムを同時に実行開始し、
    複数の前記コア間で前記初期化プログラムの完了時間にずれが生じた場合には、前記完了時間のずれを打ち消すために待ち処理を行うことを特徴とする自動車用電子制御装置
  2. 前記コアを3個以上有し、
    前記初期化プログラムの実行前に、複数の前記コアのうち、予めペアとなるコアを決めておき、前記ペアとなるコアの共通部において初期化プログラムを実行することを特徴とする請求項1に記載の自動車用電子制御装置。
  3. 複数の前記コアのうち、コアAがコアBに優先して前記初期化プログラムの実行を開始し、途中で前記初期化の順位を入れ替えて、前記コアBが前記コアAに優先して初期化を行うことを特徴とする請求項1に記載の自動車用電子制御装置。
JP2017045603A 2017-03-10 2017-03-10 自動車用電子制御装置 Active JP6660902B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017045603A JP6660902B2 (ja) 2017-03-10 2017-03-10 自動車用電子制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017045603A JP6660902B2 (ja) 2017-03-10 2017-03-10 自動車用電子制御装置

Publications (2)

Publication Number Publication Date
JP2018151717A JP2018151717A (ja) 2018-09-27
JP6660902B2 true JP6660902B2 (ja) 2020-03-11

Family

ID=63680429

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017045603A Active JP6660902B2 (ja) 2017-03-10 2017-03-10 自動車用電子制御装置

Country Status (1)

Country Link
JP (1) JP6660902B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021144261A (ja) * 2020-03-10 2021-09-24 本田技研工業株式会社 電子制御装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094528A (ja) * 2005-09-27 2007-04-12 Canon Inc マルチプロセッサシステムのメモリ使用方法
JP6129499B2 (ja) * 2012-09-03 2017-05-17 日立オートモティブシステムズ株式会社 自動車用電子制御システム
JP6455353B2 (ja) * 2015-07-23 2019-01-23 富士通株式会社 並列計算機、並列計算機の初期化方法および起動プログラム

Also Published As

Publication number Publication date
JP2018151717A (ja) 2018-09-27

Similar Documents

Publication Publication Date Title
JP4831599B2 (ja) 処理装置
JP6754743B2 (ja) 車載電子制御装置およびその異常時処理方法
JP5843786B2 (ja) 制御装置にある監視計算機
US8509989B2 (en) Monitoring concept in a control device
JP7327188B2 (ja) 電子制御装置
US20110072313A1 (en) System for providing fault tolerance for at least one micro controller unit
JP5662181B2 (ja) 移動体の電子制御装置
JP2000066963A (ja) マイコン用メモリの診断装置
JP6660902B2 (ja) 自動車用電子制御装置
JP4321472B2 (ja) 制御装置
JP5978873B2 (ja) 電子制御装置
JP6524989B2 (ja) 演算器の動作保証方法
JP2019061520A (ja) 電子制御装置及び制御プログラム検証方法
JP6887277B2 (ja) 自動車用電子制御装置
JP6946954B2 (ja) 監視システム
JP6960453B2 (ja) 再構成制御装置
JP6624005B2 (ja) 相互監視システム
JP2007283788A (ja) 車両用電子制御装置
WO2010109609A1 (ja) 処理装置及び車両用エンジン制御装置
JP6615302B1 (ja) 電子制御装置
US20240036878A1 (en) Method for booting an electronic control unit
JP2024047214A (ja) 制御装置
JP7226937B2 (ja) 制御装置、制御システムおよび制御方法
KR20160097593A (ko) 차량 제어 장치 및 차량 제어 방법
JP6533489B2 (ja) 車載用制御装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170313

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190409

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191224

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: 20200114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200210

R150 Certificate of patent or registration of utility model

Ref document number: 6660902

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250