JP2017146897A - マイクロコントローラ及び電子制御装置 - Google Patents

マイクロコントローラ及び電子制御装置 Download PDF

Info

Publication number
JP2017146897A
JP2017146897A JP2016029870A JP2016029870A JP2017146897A JP 2017146897 A JP2017146897 A JP 2017146897A JP 2016029870 A JP2016029870 A JP 2016029870A JP 2016029870 A JP2016029870 A JP 2016029870A JP 2017146897 A JP2017146897 A JP 2017146897A
Authority
JP
Japan
Prior art keywords
processing block
microcontroller
processing
clock
microcontroller according
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.)
Pending
Application number
JP2016029870A
Other languages
English (en)
Inventor
祐輔 亀谷
Yusuke Kamegai
祐輔 亀谷
信彦 牧野
Nobuhiko Makino
信彦 牧野
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2016029870A priority Critical patent/JP2017146897A/ja
Priority to US15/423,694 priority patent/US10592356B2/en
Priority to DE102017202398.8A priority patent/DE102017202398A1/de
Publication of JP2017146897A publication Critical patent/JP2017146897A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1637Error detection by comparing the output of redundant processing systems using additional compare functionality in one or some but not all of the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1604Error detection or correction of the data by redundancy in hardware where the fault affects the clock signals of a processing unit and the redundancy is at or within the level of clock signal generation hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2028Failover techniques eliminating a faulty processor or activating a spare
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2043Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share a common memory address space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)
  • Microcomputers (AREA)

Abstract

【課題】フェイルセーフ機能をより高めることができるマイクロコントローラを提供する。
【解決手段】コントローラ1にCPU3及びその周辺回路が搭載された処理ブロック2を2つ以上備える。各処理ブロック2に搭載されている周辺回路;ROM4〜PWM信号生成部11には、それぞれの処理ブロック2に搭載されているCPU3のみがアクセスするように構成する。さらに、周辺回路の1つとしてLockStep12を備え、処理ブロックに故障が発生したか監視する。各ブロックのCPU3が共通にアクセスする記憶部を備え、1つの処理ブロックに故障が発生した場合、共有記憶部を介して他の処理ブロックに伝達し処理を代行させる。
【選択図】図1

Description

本発明は、1つの半導体チップ上に、CPU及びその周辺回路が搭載された処理ブロックを2つ以上備えるマイクロコントローラ,及びそのマイクロコントローラを備える電子制御装置に関する。
制御装置に故障が発生した場合でも、制御を継続する必要があるシステムについては、一般に制御系統の多重化,冗長化を図って対応している。例えば特許文献1では、2つのCPUコアを有する構成において、一方のコアが他方のコアの動作をウォッチドッグタイマにより監視しており、他方のコアに異常が発生したことを検知すると、当該コアが実行していた処理を一方のコアが代行することを相互に行う制御装置が開示されている。
特開2012−73748号公報
しかしながら、特許文献1の構成では、2つのCPUコアが使用する周辺回路が共通であることから、周辺回路自体に故障が発生すると他方のコアが処理を代行できなくなるという問題がある。
本発明は上記事情に鑑みてなされたものであり、その目的は、フェイルセーフ機能をより高めることができるマイクロコントローラ,及びそのマイクロコントローラを備える電子制御装置を提供することにある。
請求項1記載のマイクロコントローラによれば、1つの半導体チップ上に、CPU及びその周辺回路が搭載された処理ブロックを2つ以上備える。そして、各処理ブロックに搭載されている周辺回路には、それぞれの処理ブロックに搭載されているCPUのみがアクセスするように構成される。このように構成すれば、何れか1つの処理ブロックに故障が発生した場合でも、その他の処理ブロックによって、故障した処理ブロックが行っていた処理を全く問題なく代行させることができる。
請求項2記載のマイクロコントローラによれば、周辺回路の1つとしてロックステップコアを備えるので、ロックステップコアの動作により、処理ブロックに故障が発生したか否かを監視できる。
請求項3記載のマイクロコントローラによれば、各処理ブロックに搭載されているCPUが共通にアクセスする共有記憶部を備える。これにより、例えば何れか1つの処理ブロックに故障が発生した場合、共有記憶部を介して他の処理ブロックにその事象を伝達し、処理を代行させることが可能になる。
第1実施形態であり、マイクロコントローラの構成を示す機能ブロック図 図1に示すマイクロコントローラを備えて構成されるECU及び制御システムの構成を示す機能ブロック図 各処理ブロックの処理内容を示すフローチャート 第2実施形態であり、図5に示すマイクロコントローラを備えて構成されるECU及び制御システムの構成を示す機能ブロック図 マイクロコントローラの構成を示す機能ブロック図 制御ブロックの処理内容を示すフローチャート スタンバイブロックの処理内容を示すフローチャート 第3実施形態であり、処理ブロック#0側の処理を示すフローチャート 処理ブロック#1側の処理を示すフローチャート 第4実施形態であり、ECUの構成を示す機能ブロック図 外部ICの処理を示すフローチャート 処理ブロック#0側の処理を示すフローチャート 処理ブロック#1側の処理を示すフローチャート 第5実施形態であり、外部ICの処理を示すフローチャート 処理ブロック#0側の処理を示すフローチャート 処理ブロック#1側の処理を示すフローチャート 第6実施形態であり、マイクロコントローラの構成を示す機能ブロック図 第7実施形態であり、マイクロコントローラの構成を示す機能ブロック図 第8実施形態であり、マイクロコントローラの構成を示す機能ブロック図 第9実施形態であり、マイクロコントローラの構成を示す機能ブロック図 第10実施形態であり、マイクロコントローラの構成を示す機能ブロック図 第11実施形態であり、マイクロコントローラの構成を示す機能ブロック図 クロック監視部の処理を示すフローチャート 第12実施形態であり、マイクロコントローラの構成を示す機能ブロック図
(第1実施形態)
図1に示すように、本実施形態のマイクロコントローラ1は、例えば車両のパワーステアリングシステムに適用されるもので、1つの半導体チップ上に例えば2つの処理ブロック2_0,1を備えている。尚「_0,1」は、図中の「#0,#1」に対応する。これら2つの処理ブロック2は対称な構成である。CPU3は、ROM4に記憶されている制御プログラムを読み出すとRAM5をワークエリアとして使用し、アプリケーションに応じた処理を実行する。また、CPU3は、バス6を介してタイマ7,A/Dコンバータ8,SENT(Single-Edge Nibble Transmission)通信部9,CAN通信部10,PWM信号生成部11等の各周辺回路にアクセスを行う。尚、CANは“Controller Area Network”であり、登録商標である。
ロックステップコア12は、CPU3と同様に、ROM3〜PWM信号生成部11等の各周辺回路にアクセスを行い、同様の処理を実行することでCPU3を監視する。そして、双方の処理内容を照合した結果に齟齬が生じるとCPU3に故障が発生したと判定し、ロックステップコア12は故障発生情報を出力する。各処理ブロック2が備える周辺回路には、それぞれのCPU3のみがアクセスするようになっており、処理ブロック2_0と処理ブロック2_1とは非干渉である。以下、マイクロコントローラ1は単にコントローラ1と称する。
また、コントローラ1は、2つのクロック供給部13_0,1を備えている。これらのクロック供給部13_0,1より供給されるクロック信号は2つの切替スイッチ14_0,1に入力されており、これら2つの切替スイッチ14_0,1を介して、何れか一方のクロック信号が2つの処理ブロック2_0,1に供給されるように切替えられる。
図2に示すように、ECU(Electronic Control Unit)15はコントローラ1を備えており、パワーステアリングシステムを構成するモータ16を駆動制御の対象としている。ECU15は、実際には図示しないHブリッジやインバータ等の駆動回路を介してモータ16を駆動制御する。モータ16はアクチュエータに相当する。例えば、モータ16の固定子巻線は2重化されており、コントローラ1の2つの処理ブロック2_0,1が、2系統の固定子巻線にそれぞれ独立して通電を行う。処理ブロック2_0,1が、同じ制御内容を実行しモータ16を駆動することで、駆動制御も2重化されている。これを独立2系統方式と称する。尚、切替スイッチ14の切替えもECU15によって行われる。
ECU15は、指令側の3つのECU17_0〜2とCANにより通信を行うが、これらと2つの処理ブロック2_0,1との間の通信線18も2重化されている。すなわち、それぞれのCAN通信部10が2重化に対応した構成となっている。ECU17は外部の制御装置に相当する。ECU15は、ECU17_0〜2より車両のレーンチェンジや障害物回避のための操舵角変更指令を受け取る。
また、2つのセンサ19_0,1は、例えばステアリングの操舵角を検出するセンサであり、これらのセンサ信号はSENT通信により各処理ブロック2_0,1に入力される。前記SENT通信の通信線20も、各処理ブロック2_0,1に対して2重化されている。
次に、本実施形態の作用について説明する。各処理ブロック2_0,1は、図3に示す処理をそれぞれが実行する。CPU3は、例えばロックステップコア12により故障の発生を検知すると(S1;YES)、その処理ブロック2は動作を停止する(S2)。例えば処理ブロック2_0が故障した場合、以降にモータ16は処理ブロック2_1のみにより駆動制御される。ここで、モータ16を同時に駆動する処理ブロック2が「2」から「1」に減じたことでモータ16の出力が低下することが問題となる場合は、その分だけ出力を増大させて補償すれば良い。尚、任意であるが、指令側のECU17に故障情報を伝達することでユーザへの通知を行っても良い(S3)。
また、ステップS1における故障検知は、ロックステップコア12によるものの他、以下を要因としても良い。
・RAM5について、例えばECC(Error Checker and Corrector)によるメモリ異常が検知されると、ソフトにより動作を停止。
・CAN通信の異常をECU17側で検知し、動作停止指令を処理ブロック2に送信する。この場合、ECU17は通信監視部に相当する。
・想定外のソフト動作により何らかの故障があると判断した場合、ソフトにより動作を停止。
以上のように本実施形態によれば、コントローラ1にCPU3及びその周辺回路が搭載された処理ブロック2を2つ備える。そして、各処理ブロック2に搭載されている周辺回路;ROM3〜PWM信号生成部11には、それぞれの処理ブロック2に搭載されているCPU3のみがアクセスするように構成した。これにより、何れか1つの処理ブロック2に故障が発生した場合でも、その他の処理ブロック2によって、故障した処理ブロック2が行っていた処理を全く問題なく代行させることができる。また、処理ブロック2に、周辺回路の1つとしてロックステップコア12を備えるので、ロックステップコア12の動作により、処理ブロック2に故障が発生したか否かを監視できる。
さらに、2つのクロック供給部13を備え、各処理ブロック2には切替スイッチ14を介して、何れか1つのクロック供給部13からのクロック信号を選択的に供給するようにした。したがって、クロック信号の供給についても冗長化することができる。
加えて、コントローラ1に、指令側のECU17からの信号を入力するために多重化されている通信線18を備え、ECU17からの信号に基づいて、2つの処理ブロック2により同一のモータ16を駆動するように構成した。これにより、ECU15の何れか1つの処理ブロック2に故障が発生した場合でも、他の処理ブロック2によってモータ16の駆動制御を継続できる。また、ECU17がCAN通信が正常か否かを監視することで、通信に異常が発生した際に、処理ブロック2の切替えを行うことができる。
(第2実施形態)
以下、第1実施形態と同一部分には同一符号を付して説明を省略し、異なる部分について説明する。図4に示すように、第2実施形態のECU21は、コントローラ1に替わるコントローラ22を備えている。図5に示すように、コントローラ22は、共有記憶部に相当する共用RAM23を備えており、各処理ブロック24_0,1のCPU3は何れも、それぞれのバス6及び図示しない調停部を介して共用RAM23にアクセス可能となっている。
また、各処理ブロック24は、周辺回路の1つとしてバス6に接続されるI/O25を備えている。図4に示すように、各処理ブロック24とモータ16との間には、出力カット用のスイッチ26が配置されており、CPU3は、レジスタの設定によりスイッチ26のON/OFFを制御する。
次に、第2実施形態の作用について説明する。2つの処理ブロック24が同じ制御内容を同時に実行することは第1実施形態と同様であるが、第2実施形態では、2つの処理ブロック24の内、何れか1つだけがモータ16の駆動制御を行う,いわゆるホットスタンバイ方式を採用する。以下では、モータ16の駆動制御を行っている処理ブロック24を「制御ブロック」と称し、モータ16の駆動制御を行わずにスタンバイ状態にある処理ブロック24を「スタンバイブロック」と称する。
初期状態において、制御ブロック24はスイッチ26をONに、スタンバイブロック24はスイッチ26をOFFにしている。そして図6に示すように、制御ブロック24では、ステップS1と同様に故障を検知すると(S11;YES)、スタンバイブロック24に故障の発生を通知する(S12)。この通知は、例えば共用RAM23に予め設定した特定のアドレスに「故障発生フラグ」を立てることで行う。それから、スイッチ26をOFFにして「出力カットを有効化」すると(S13)処理を終了する。
一方、スタンバイブロック24は、図7に示すように、共用RAM23における上記特定のアドレスをポーリングすることで、制御ブロック24からの故障発生の通知があるまで待機している(S14)。そして、故障発生フラグがセットされたことを確認すると(YES)、スイッチ26をONにして「出力カットを無効化」する(S15)。これにより、スタンバイブロック24は制御ブロック24に転じる。その後は、ステップS3と同様に、任意でユーザへの通知を行っても良い(S16)。
以上のように第2実施形態によれば、各処理ブロック24に搭載されているCPU3が共通にアクセスする共用RAM23を備えることで、何れか1つの処理ブロック24に故障が発生した場合、共用RAM23を介して他の処理ブロック24にその事象を伝達し、処理を代行させることが可能になる。
(第3実施形態)
第3実施形態では、第2実施形態のECU21を用いるが、2つの処理ブロック24が同じモータ16を制御するための処理を並行して実行せず、例えば処理ブロック24_0がモータ16を制御し、処理ブロック24_1はモータ16以外の対象を制御する状態を前提とする。そして、処理ブロック24_0に故障が発生すると、処理ブロック24_1がモータ16の制御を代行することでいわゆる縮退制御に移行する。
そのため、処理ブロック24_0は、モータ16の駆動制御中に、処理ブロック24_1側に処理を代行させるために必要な情報を随時共用RAM23に書き込んでいる。そして、図8に示すように、処理ブロック24_0に故障が発生すると(S11;YES)処理ブロック24_1に故障の発生を通知する(S12’)。それから、動作を停止する(S17)。
一方、図9に示すように処理ブロック24_1は、処理ブロック24_0がモータ16を駆動制御している間はその他の対象を制御しながら、第2実施形態と同様に処理ブロック24_0からの故障発生通知があるか否かを監視している(S14’)。そして、故障発生通知があると(YES)縮退制御に切替える(S18)。その際に、処理ブロック24_0が共用RAM23に書き込んだ、モータ16の駆動制御に必要な情報を読み取る(S19)。
以上のように第3実施形態によれば、ECU21によって縮退制御方式にも対応することができる。
(第4実施形態)
図10に示す第4実施形態のECU31は第3実施形態と同様に縮退制御方式を採用するが、そのためにコントローラ32と外部IC33とを備えている。コントローラ32は2つの処理ブロック34_0,1を備え、外部IC33は、2つの処理ブロック34の異常監視,故障検知を行うと共に、これらに対して縮退制御に切替えるための指示等を与える。外部IC33は、例えば以下のような方法で処理ブロック34の異常監視を行う。
・例えばウォッチドッグタイマと同様に、各処理ブロック34が外部IC33に、周期的にパルス信号を送信する。外部IC33は、前記パルス信号の送信が停止したり、送信周期が異常となった場合に、処理ブロック34の故障を検知する。
・処理ブロック34と外部IC33との間で行う通信フォーマットが、予め定めたものと異なった場合に、処理ブロック34の故障を検知する。
次に、第4実施形態の作用について説明する。第3実施形態と同様に、処理ブロック34_0がモータ16を制御し、処理ブロック34_1はモータ16以外の対象を制御している。図11に示すように、外部IC33は、上述したように処理ブロック34_0に故障が発生したか否かを監視し(S21)、故障が発生すると(YES)処理ブロック34_1に縮退制御に切替える旨の信号を送信する(S22)。それから、処理ブロック34_0に動作の停止を指示するストップ信号を送信する(S23)。
図12に示すように、処理ブロック34_0は、外部IC33からのストップ信号を受信すると(S24;YES)動作を停止する(S25)。一方、図13に示すように、処理ブロック34_1は、外部IC33からの縮退制御への切替えを指示する信号を受信すると(S26;YES)縮退制御に切替える(S27)。それから、ステップS19,S16と同様の処理を行う(S28,S29)。尚、図11〜図13に示すフローチャートでは、第4実施形態の主要な作用以外の処理については図示を省略している。
以上のように第4実施形態によれば、ECU31に外部IC33を備え、外部IC33により処理ブロック34の動作を監視して、何れかの処理ブロック34に故障が発生した際に縮退制御への切替えを行うことができる。
(第5実施形態)
第5実施形態では、例えば第4実施形態のECU31を用いて、一方の処理ブロック34によりモータ16を駆動制御し、他方の処理ブロック34は動作を停止している。ここで、第2実施形態と同様の名称を用いるが、前者の制御ブロック34に故障が発生すると、後者のスタンバイブロック34がモータ16を駆動制御するように切替えるいわゆるコールドスタンバイ方式を採用する。
次に、第5実施形態の作用について説明する。例えば処理ブロック34_0を制御ブロックとし、処理ブロック34_1をスタンバイブロックとする。図14に示すように、外部IC33は、処理ブロック34_0に故障が発生したことを検知すると(S31;YES)、処理ブロック34_1にウェイクアップ信号を送信して起動させる(S32)。それから、処理ブロック34_0にストップ信号を送信して(S33)動作を停止させる。
図15に示すように、処理ブロック34_0は、ストップ信号を受信すると(S34;YES)動作を停止する(S35)。図16に示すように、処理ブロック34_1は、ウェイクアップ信号を受信すると(S36;YES)起動して動作を開始する(S37)。それから、ステップS19,S16と同様の処理を行う(S38,S39)。
以上のように第5実施形態によれば、ECU31によりコールドスタンバイ方式にも対応することができる。
(第6実施形態)
図17に示す第6実施形態のコントローラ41は、第1実施形態のコントローラ1とほぼ同様の構成であるが、クロック信号の供給形態のみが相違している。バス6〜PWM信号生成部11等の周辺回路については、一括したものを周辺機能42として図示している。2つの処理ブロック2_0,1に対して、2つのクロック供給部13_0,1のうち、何れか1つのクロック供給部13からのクロック信号が供給されるが、その供給はスイッチ14を介すことなく決定される。例えば、クロック供給部13_0,1の何れか一方を動作させるように設定する。この場合、クロック供給部13_0,1と処理ブロック2_0,1との間のクロックパスは共通であっても良い。
以上のように第6実施形態によれば、2つのクロック供給部13_0,1を備え、各処理ブロック2_0,1には、何れか1つのクロック供給部13からのクロック信号を供給するようにした。このような構成によってもクロック信号の供給系統を冗長化できる。
(第7実施形態)
図18に示す第7実施形態のコントローラ51は、第6実施形態のコントローラ41とほぼ同様の構成であるが、予め処理ブロック2_0にはクロック供給部13_0からのクロック信号が供給され、処理ブロック2_1にはクロック供給部13_1からのクロック信号が供給されるように固定されている。このように構成すれば、クロック供給部の13_0,1の何れか一方からのクロック信号の供給が途絶した場合でも、他方の側の処理ブロック2によって処理を継続できる。
(第8〜第10実施形態)
図19〜図21に示す第8〜第10実施形態のコントローラ1A〜1Cは、第1実施形態のコントローラ1におけるクロック供給部13の詳細構成を示すバリエーションである。図19に示す第8実施形態のコントローラ1Aは、各クロック供給部13Aが、それぞれ外付けの発振子43をクロック信号の発振源とする構成である。
また、図20に示す第9実施形態のコントローラ1Bは、各クロック供給部13Bが、それぞれ内蔵のMEMS(Micro Electromechanical Systems)発振器44をクロック信号の発振源とする構成である。MEMS発振器44の詳細構成については、例えば特開2009−200888号公報等に開示されている。
そして、図21に示す第10実施形態のコントローラ1Cは、処理ブロック2_0側がクロック供給部13Aを用い、処理ブロック2_1側がクロック供給部13Bを用いた構成である。
以上のように構成される第8〜第10実施形態による場合も、第1実施形態と同様の効果が得られる。
(第11実施形態)
図22に示す第11実施形態のコントローラ61は、第6実施形態のコントローラ41にクロック監視部62を追加した構成である。クロック監視部62は、クロック供給部13の発振動作が正常か否かを、例えば発振周波数を参照することで監視する。例えば、発振周波数が基準値に対して±数%以内の許容範囲内にあれば正常と判断する(図23,S41;NO)。発振周波数が許容範囲を超えて異常と判断すると(S41;YES)、異常と判断されたクロック信号が供給されていた処理ブロック2に、正常なクロック信号を供給し(S42)、必要に応じてユーザに通知を行う(S43)。
例えば、図22に示すように、初期状態でクロック供給部13_0からのクロック信号が処理ブロック2_0,1に供給されていた場合に、クロック供給部13_0が異常となった判断する。すると、クロック監視部62は、クロック供給部13_0の動作を停止させて、クロック供給部13_1側のクロック信号出力をイネーブル状態とすることで、クロック供給部13_1からのクロック信号が処理ブロック2_0,1に供給されるように切替える。
以上のように第11実施形態によれば、コントローラ61に、クロック供給部13の動作が正常か否かを監視するクロック監視部62を備えたので、クロック信号を供給しているクロック供給部13の動作が異常となった場合、それに替えて正常なクロック供給部13からクロック信号を供給するように切替えることができる。
(第12実施形態)
図24に示す第12実施形態は、第6実施形態のコントローラ41の外部にクロック監視部62を配置した構成である。この場合、クロック監視部62は、例えばコントローラ41を有して構成されるECUが備える要素となる。このように、クロック監視部62をコントローラ41の外部に配置することで、クロック監視部62は、コントローラ41の内部状態にかかわることなくクロック供給部13の動作を監視できる。
本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
処理ブロック2を3つ以上備えていても良い。
コントローラが備える周辺回路については、個別の設計に応じ適宜変更して良い。
第7実施形態に、第8,第9実施形態を適用しても良い。
駆動対象とするアクチュエータは、モータに限ることはない。また、パワーステアリングシステム以外のアプリケーションに適用しても良い。
1 マイクロコントローラ、2 処理ブロック、3 CPU、4 ROM、5 RAM、6 バス、7 タイマ7、8 A/Dコンバータ、9 SENT通信部、10 CAN通信部、11 PWM信号生成部、12 ロックステップコア。

Claims (14)

  1. 1つの半導体チップ上に、CPU(3)及びその周辺回路(3〜12)が搭載された処理ブロック(2)を2つ以上備え、
    各処理ブロックに搭載されている周辺回路には、それぞれの処理ブロックに搭載されているCPUのみがアクセスするように構成されているマイクロコントローラ。
  2. 前記周辺回路の1つとして、ロックステップコア(12)を備えている請求項1記載のマイクロコントローラ。
  3. 各処理ブロックに搭載されているCPUが共通にアクセスする共有記憶部(23)を備える請求項1又は2記載のマイクロコントローラ。
  4. 複数のクロック供給部(13)を備え、
    前記各処理ブロックには、前記複数のうち何れか1つのクロック供給部からのクロック信号が選択的に供給される請求項1から3の何れか一項に記載のマイクロコントローラ。
  5. 前記各処理ブロックには、動作が正常であるクロック供給部からのクロック信号が選択的に供給される請求項4記載のマイクロコントローラ。
  6. 前記各処理ブロックには、それぞれに対応したクロック供給部からのクロック信号が供給される請求項1から3の何れか一項に記載のマイクロコントローラ。
  7. 前記クロック供給部の動作が正常か否かを監視するクロック監視部(62)を備える請求項5又は6記載のマイクロコントローラ。
  8. 前記クロック供給部の動作が正常か否かが、外部のクロック監視部(62)によって監視される請求項5又は6記載のマイクロコントローラ。
  9. 前記複数のクロック供給部の少なくとも1つは、外付けの発振源(43)による発振入力に基づいてクロック信号を生成する請求項4から8の何れか一項に記載のマイクロコントローラ。
  10. 前記外付けの発振源は、発振子である請求項9記載のマイクロコントローラ。
  11. 前記複数のクロック供給部の少なくとも1つは、内蔵の発振源(44)による発振入力に基づいてクロック信号を生成する請求項4から8の何れか一項に記載のマイクロコントローラ。
  12. 前記内蔵の発振源は、MEMS(Micro Electro Mechanical System)発振器である請求項11記載のマイクロコントローラ。
  13. 請求項1から12の何れか一項に記載のマイクロコントローラと、
    このマイクロコントローラに、外部の複数の制御装置(17)からの信号を入力するために多重化されている通信線(18)とを備え、
    前記制御装置からの信号に基づいて、前記マイクロコントローラに内蔵される処理ブロックの2つ以上により、同一のアクチュエータ(16)を駆動する信号を出力する電子制御装置。
  14. 前記複数の制御装置と、各制御装置に対応する処理ブロックとの間の通信が正常か否かを監視する通信監視部(17)と、
    前記通信が正常である処理ブロックより、前記アクチュエータを駆動する信号を出力するように切替える処理ブロック選択部とを備える請求項13記載の電子制御装置。
JP2016029870A 2016-02-19 2016-02-19 マイクロコントローラ及び電子制御装置 Pending JP2017146897A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016029870A JP2017146897A (ja) 2016-02-19 2016-02-19 マイクロコントローラ及び電子制御装置
US15/423,694 US10592356B2 (en) 2016-02-19 2017-02-03 Microcontroller and electronic control unit
DE102017202398.8A DE102017202398A1 (de) 2016-02-19 2017-02-15 Mikrocontroller und elektronische steuereinheit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016029870A JP2017146897A (ja) 2016-02-19 2016-02-19 マイクロコントローラ及び電子制御装置

Publications (1)

Publication Number Publication Date
JP2017146897A true JP2017146897A (ja) 2017-08-24

Family

ID=59522551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016029870A Pending JP2017146897A (ja) 2016-02-19 2016-02-19 マイクロコントローラ及び電子制御装置

Country Status (3)

Country Link
US (1) US10592356B2 (ja)
JP (1) JP2017146897A (ja)
DE (1) DE102017202398A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019106830A1 (ja) * 2017-12-01 2019-06-06 株式会社日立製作所 分散制御装置
JP2019110723A (ja) * 2017-12-20 2019-07-04 株式会社デンソー 電力変換装置の制御装置
JP2019217977A (ja) * 2018-06-21 2019-12-26 株式会社日立製作所 電子連動装置、電子連動システム、及び異常検出方法
US10812111B2 (en) 2018-03-19 2020-10-20 Kabushiki Kaisha Toshiba Semiconductor apparatus
JP7446435B2 (ja) 2019-12-31 2024-03-08 ビーワイディー カンパニー リミテッド モータ制御システム及びそれを備えた車両

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
JP2000194437A (ja) * 1998-12-24 2000-07-14 Matsushita Electric Ind Co Ltd クロック二重化方法
JP2012168605A (ja) * 2011-02-10 2012-09-06 Toyota Motor Corp 制御装置
JP2015103052A (ja) * 2013-11-26 2015-06-04 日立オートモティブシステムズ株式会社 車載用電子制御装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US6151689A (en) 1992-12-17 2000-11-21 Tandem Computers Incorporated Detecting and isolating errors occurring in data communication in a multiple processor system
US7065599B2 (en) 2001-08-10 2006-06-20 Sun Microsystems, Inc. Multiprocessor systems
US7290169B2 (en) * 2004-04-06 2007-10-30 Hewlett-Packard Development Company, L.P. Core-level processor lockstepping
DE102005037246A1 (de) 2005-08-08 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Steuerung eines Rechnersystems mit wenigstens zwei Ausführungseinheiten und einer Vergleichseinheit
JP2009200888A (ja) 2008-02-22 2009-09-03 Seiko Instruments Inc Mems発振器
JP5601127B2 (ja) 2010-09-28 2014-10-08 株式会社デンソー 制御装置
US8212601B2 (en) * 2010-10-29 2012-07-03 Netgear, Inc. Method and apparatus for providing system clock failover
JP6183251B2 (ja) 2014-03-14 2017-08-23 株式会社デンソー 電子制御装置
JP2016060413A (ja) 2014-09-19 2016-04-25 日立オートモティブシステムズ株式会社 車両用電子制御装置及び制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
JP2000194437A (ja) * 1998-12-24 2000-07-14 Matsushita Electric Ind Co Ltd クロック二重化方法
JP2012168605A (ja) * 2011-02-10 2012-09-06 Toyota Motor Corp 制御装置
JP2015103052A (ja) * 2013-11-26 2015-06-04 日立オートモティブシステムズ株式会社 車載用電子制御装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019106830A1 (ja) * 2017-12-01 2019-06-06 株式会社日立製作所 分散制御装置
JP2019110723A (ja) * 2017-12-20 2019-07-04 株式会社デンソー 電力変換装置の制御装置
US10812111B2 (en) 2018-03-19 2020-10-20 Kabushiki Kaisha Toshiba Semiconductor apparatus
JP2019217977A (ja) * 2018-06-21 2019-12-26 株式会社日立製作所 電子連動装置、電子連動システム、及び異常検出方法
JP7023192B2 (ja) 2018-06-21 2022-02-21 株式会社日立製作所 電子連動装置、電子連動システム、及び異常検出方法
JP7446435B2 (ja) 2019-12-31 2024-03-08 ビーワイディー カンパニー リミテッド モータ制御システム及びそれを備えた車両

Also Published As

Publication number Publication date
US20170242823A1 (en) 2017-08-24
DE102017202398A1 (de) 2017-08-24
US10592356B2 (en) 2020-03-17

Similar Documents

Publication Publication Date Title
JP2017146897A (ja) マイクロコントローラ及び電子制御装置
US7120820B2 (en) Redundant control system and control computer and peripheral unit for a control system of this type
US20070128895A1 (en) Redundant automation system for controlling a techinical device, and method for operating such an automation system
JP2010285001A (ja) 電子制御システム、機能代行方法
JP7023722B2 (ja) 二重化制御システム
JPWO2018225352A1 (ja) 車両制御装置および車両制御システム
JP2004054907A (ja) プログラマブルコントローラ及びcpuユニット並びに通信ユニット及び通信ユニットの制御方法
JP4941365B2 (ja) 産業用コントローラ
JP2009104246A (ja) プログラマブルコントローラおよびその異常時復旧方法
JP5445572B2 (ja) コンピュータシステム、待機電力削減方法、及びプログラム
JP4470949B2 (ja) フォールトトレラントコンピュータおよびその制御方法
JP2008093752A (ja) ロボット制御システム
JP6681304B2 (ja) 自動車用制御装置及び自動車用内燃機関制御装置
JP2008226111A (ja) 2重化コントローラシステム、その稼動系コントローラ
US20110153037A1 (en) Method for Operating a System of Field Devices
JP4810488B2 (ja) 二重化制御装置、及びそのトラッキング方法
WO2014188764A1 (ja) 機能安全制御装置
JPH11134016A (ja) 制御装置
JP7023726B2 (ja) 二重化制御システム
JP2005148890A (ja) プロセッサ監視装置
JP5353273B2 (ja) プロセッサ周辺回路
JP4600771B2 (ja) 制御装置
JP2017220842A (ja) 二重化切替システム
JP2017228159A (ja) 制御装置、および制御装置の制御方法
WO2020066737A1 (ja) Cpuユニット、cpuユニットの制御方法、情報処理プログラム、および記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190510

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190528