DE102017202398A1 - Mikrocontroller und elektronische steuereinheit - Google Patents

Mikrocontroller und elektronische steuereinheit Download PDF

Info

Publication number
DE102017202398A1
DE102017202398A1 DE102017202398.8A DE102017202398A DE102017202398A1 DE 102017202398 A1 DE102017202398 A1 DE 102017202398A1 DE 102017202398 A DE102017202398 A DE 102017202398A DE 102017202398 A1 DE102017202398 A1 DE 102017202398A1
Authority
DE
Germany
Prior art keywords
clock
processing
processing block
processing blocks
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
DE102017202398.8A
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
Publication of DE102017202398A1 publication Critical patent/DE102017202398A1/de
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

Ein Mikrocontroller (1) weist zwei Verarbeitungsblöcke (2) auf, die jeweils eine CPU (3) und eine periphere Schaltung aufweisen, wobei ein Zugriff auf die periphere Schaltung in jedem der Verarbeitungsblöcke (2), d. h. auf ein ROM (3) oder einen PWM-Signalgenerator (11), nur von der CPU (3) aus möglich ist, die in demselben Verarbeitungsblock (2) angeordnet ist. Hierdurch kann eine Fail-Safe-Funktionalität des Mikrocontrollers verbessert werden.

Description

  • Die vorliegende Erfindung betrifft im Allgemeinen eine elektronische Steuereinheit mit einem Mikrocontroller, der wenigstens zwei Verarbeitungsblöcke auf einem Halbleiterchip aufweist, wobei jeder der wenigstens zwei Verarbeitungsblöcke jeweils eine CPU und eine periphere Schaltung aufweist.
  • In einem System, in dem eine Steuerung auch während eines Fehlers in einer Steuervorrichtung fortgesetzt werden muss, wird eine Systemredundanz durch Multiplexing bereitgestellt. So weist beispielsweise eine Steuervorrichtung, die in einem Patentdokument, der JP 2012-73748 (Patentdokument 1), beschrieben ist, eine Doppelkern-CPU auf, bei der ein Kern einen Betrieb des anderen Kerns unter Verwendung eines Watchdog-Timers (Laufzeitüberwachung) überwacht, und dann, wenn eine Abnormität von einem der beiden Kerne erfasst wird, der Prozess, der von dem fehlerhaften Kern ausgeführt wird, von dem anderen Kern als Ersatz ausgeführt/hervorgebracht wird.
  • Bei der Konfiguration gemäß Patentdokument 1 verwenden die zwei Kerne jedoch eine periphere Schaltung in einer gemeinschaftlichen Weise, was es unmöglich macht, dass der Prozess des fehlerhaften Kerns von dem anderen Kern ausgeführt wird, sobald eine Abnormität in der peripheren Schaltung verursacht wird.
  • Es ist Aufgabe der vorliegenden Erfindung, einen Mikrocontroller und eine ECU mit solch einem Mikrocontroller bereitzustellen, die mit einer verbesserten Fail-Safe-Funktion ausgestattet sind.
  • Gemäß einem Aspekt der vorliegenden Erfindung weist der Mikrocontroller, auf einem Halbleiterchip, zwei oder mehr als zwei Verarbeitungsblöcke auf, die jeweils eine CPU (Central Processing Unit oder zentrale Recheneinheit) und eine periphere Schaltung, die in der CPU angeordnet ist, aufweisen. Die periphere Schaltung in einem Verarbeitungsblock ist nur von der CPU in demselben Verarbeitungsblock zugreifbar bzw. zugänglich. Bei solch einer Konfiguration kann, auch wenn einer der beiden Verarbeitungsblöcke einen Fehler aufweist, der andere der beiden Verarbeitungsblöcke problemlos einen Prozess von dem fehlerhaften/ausgefallenen Verarbeitungsblock fortführen/beerben und den beerbten/delegierten Prozess ausführen. Genauer gesagt, eine Delegierung eines Prozesses von einem ausgefallenen Verarbeitungsblock an den anderen Verarbeitungsblock wird auf diese Weise ermöglicht.
  • Der Mikrocontroller gemäß einem weiteren Aspekt der vorliegenden Erfindung weist einen Lockstep-(Gleichschritt)-Kern als die periphere Schaltung auf, so dass es für den Mikrocontroller möglich wird, zu erfassen, ob ein Fehler in den Verarbeitungsblöcken verursacht worden ist, und zwar anhand eines Betriebs des Lockstep-Kerns.
  • Der Mikrocontroller gemäß noch einem weiteren Aspekt der vorliegenden Erfindung weist einen gemeinsamen Speicher auf, der von jeder der CPUs in den Verarbeitungsblöcken zugreifbar ist. Bei solch einer Konfiguration ist, wenn beispielsweise ein Fehler in einem der zwei oder mehr als zwei Verarbeitungsblöcke verursacht wird, solch ein Ereignis (d. h., Verarbeitung eines Prozesses) in einem der Verarbeitungsblöcke über den gemeinsamen Speicher an den anderen Verarbeitungsblock übertragbar, so dass der Prozess in dem ausgefallenen Verarbeitungsblock an den anderen Verarbeitungsblock delegiert werden kann.
  • Die obigen und weitere Aufgaben, Eigenschaften und Vorteile der vorliegenden Erfindung sind aus der nachfolgenden detaillierten Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen näher ersichtlich. In den Zeichnungen zeigt:
  • 1 ein Blockdiagramm eines Mikrocontrollers gemäß einer ersten Ausführungsform der vorliegenden Erfindung;
  • 2 ein Blockdiagramm einer elektronischen Steuereinheit (ECU), die den in der 1 gezeigten Mikrocontroller aufweist, und eines solch eine ECU verwendenden Steuersystems;
  • 3 ein Ablaufdiagramm eines Prozesses, der von jedem von Verarbeitungsblöcken in der ECU ausgeführt wird;
  • 4 ein Blockdiagramm der ECU und des Steuersystems gemäß einer zweiten Ausführungsform der vorliegenden Erfindung, einschließlich des in der 5 gezeigten Mikrocontrollers;
  • 5 ein Blockdiagramm des Mikrocontrollers in der zweiten Ausführungsform der vorliegenden Erfindung;
  • 6 ein Ablaufdiagramm eines Prozesses, der von einem Steuerblock ausgeführt wird;
  • 7 ein Ablaufdiagramm eines Prozesses, der von einem Standby-Block ausgeführt wird;
  • 8 ein Ablaufdiagramm eines Prozesses, der von einem von zwei Verarbeitungsblöcken ausgeführt wird, gemäß einer dritten Ausführungsform der vorliegenden Erfindung;
  • 9 ein Ablaufdiagramm eines Prozesses, der von dem anderen der beiden Verarbeitungsblöcke ausgeführt wird, in der dritten Ausführungsform der vorliegenden Erfindung;
  • 10 ein Blockdiagramm der ECU gemäß einer vierten Ausführungsform der vorliegenden Erfindung;
  • 11 ein Ablaufdiagramm eines Prozesses, der von einer externen integrierten Schaltung (IC) ausgeführt wird;
  • 12 ein Ablaufdiagramm eines Prozesses, der von einem der beiden Verarbeitungsblöcke ausgeführt wird, in der vierten Ausführungsform der vorliegenden Erfindung;
  • 13 ein Ablaufdiagramm eines Prozesses, der von dem anderen der beiden Verarbeitungsblöcke ausgeführt wird, in der vierten Ausführungsform der vorliegenden Erfindung;
  • 14 ein Ablaufdiagramm eines Prozesses, der von der externen integrierten Schaltung (IC) ausgeführt wird, gemäß einer fünften Ausführungsform der vorliegenden Erfindung;
  • 15 ein Ablaufdiagramm eines Prozesses, der von einem der beiden Verarbeitungsblöcke ausgeführt wird, in der fünften Ausführungsform der vorliegenden Erfindung;
  • 16 ein Ablaufdiagramm eines Prozesses, der von dem anderen der beiden Verarbeitungsblöcke ausgeführt wird, in der fünften Ausführungsform der vorliegenden Erfindung;
  • 17 ein Blockdiagramm des Mikrocontrollers gemäß einer sechsten Ausführungsform der vorliegenden Erfindung;
  • 18 ein Blockdiagramm des Mikrocontrollers gemäß einer siebten Ausführungsform der vorliegenden Erfindung;
  • 19 ein Blockdiagramm des Mikrocontrollers gemäß einer achten Ausführungsform der vorliegenden Erfindung;
  • 20 ein Blockdiagramm des Mikrocontrollers gemäß einer neunten Ausführungsform der vorliegenden Erfindung;
  • 21 ein Blockdiagramm des Mikrocontrollers gemäß einer zehnten Ausführungsform der vorliegenden Erfindung;
  • 22 ein Blockdiagramm des Mikrocontrollers gemäß einer elften Ausführungsform der vorliegenden Erfindung;
  • 23 ein Ablaufdiagramm eines Prozesses, der von einer Taktüberwachungseinheit ausgeführt wird; und
  • 24 ein Blockdiagramm des Mikrocontrollers gemäß einer zwölften Ausführungsform der vorliegenden Erfindung.
  • (Erste Ausführungsform)
  • Nachstehend ist die erste Ausführungsform der vorliegenden Erfindung unter Bezugnahme auf die 1 beschrieben. Ein Mikrocontroller 1 der vorliegenden Ausführungsform wird beispielsweise auf eine Servolenkanlage eines Fahrzeugs angewandt und weist zwei Verarbeitungsblöcke 2_0 und 2_1 auf einem Halbleiterchip auf. ”_0” und ”_1” entsprechen in diesem Fall ”#0” und ”#1” in der 1. Die zwei Verarbeitungsblöcke 2 weisen eine symmetrische Konfiguration auf. Eine CPU (Central Processing Unit bzw. zentrale Recheneinheit) 3 verwendet ein ROM (Read-Only Memory bzw. Nur-Lese-Speicher) 4 und ein RAM (Random Access Memory bzw. Schreib-Lese-Speicher) 5, um ein gespeichertes Steuerprogramm, das im ROM 4 gespeichert und aus dem ROM 4 gelesen wird, unter Verwendung des RAM 5 als ein Arbeitsbereich auszuführen, wobei die Ausführung des gespeicherten Programms eine Verarbeitung einer gewünschten Anwendung ermöglicht.
  • Ferner greift die CPU 3 auf jede von peripheren Schaltungen, wie beispielsweise ein Timer 7, ein A/D-(Analog-zu-Digital)-Wandler (ADC) 8, eine SENT-(Single-Edge Nibble Transmission)-Kommunikationseinheit 9, eine CAN-(Controller Area Network)-Kommunikationseinheit 10, ein PWM-(Pulse Width Modulation bzw. Pulsweitenmodulation)-Signalgenerator 11 und dergleichen, über einen Bus 6 zu. Die Bezeichnung ”CAN” beschreibt ein ”Controller Area Network” und ist eine eingetragene Marke.
  • Ein Lockstep-Kern 12 greift, gleich der CPU 3, auf jede der peripheren Schaltungen zu, einschließlich des vorstehend beschriebenen ROM 3 bis zu dem vorstehend beschriebenen PWM-Signalgenerator 11 und dergleichen und überwacht die CPU 3, indem er den gleichen Prozess wie die CPU 3 ausführt. Wenn der Lockstep-Kern 12 eine Diskrepanz in einem Vergleichsergebnis, d. h. einem Vergleich zwischen dem Verarbeitungsergebnis der CPU 3 und dem Verarbeitungsergebnis des Lockstep-Kerns 12, ermittelt, bestimmt der Lockstep-Kern 12, dass ein Fehler in der CPU 3 vorliegt und gibt der Lockstep-Kern 12 fehlerbedingte Information aus.
  • Die peripheren Schaltungen in jedem der Verarbeitungsblöcke 2 sind für einen Zugriff von der CPU 3 in demselben Verarbeitungsblock ausgelegt, und der Verarbeitungsblock 2_0 und der Verarbeitungsblock 2_1 stören sich nicht gegenseitig. Nachstehend ist der Mikrocontroller 1 einfach als der Controller 1 bezeichnet.
  • Der Controller 1 weist zwei Taktzuführungseinheiten 13_0 und 13_1 auf. Taktsignale, die von diesen Taktzuführungseinheiten 13_0 und 13_1 bereitgestellt werden, werden an zwei Schaltkreise 14_0 und 14_1 gegeben, und die zwei Schaltkreise 14_0 und 14_1 geben ein Taktsignal von einer der beiden Taktzuführungseinheiten 13_0 und 13_1 in schaltbarer Weise an die zwei Verarbeitungsblöcke 2_0 und 2_1.
  • Wie in 2 gezeigt, weist eine ECU (elektronische Steuereinheit) 15 den Controller 1 auf und führt die ECU 15 eine Antriebssteuerung eines Motors 16 aus, der eine Servolenkanlage bildet (EPS-ECU).
  • Die ECU 15 führt eine Antriebssteuerung des Motors 16, praxisnaher beschrieben, über Ansteuerschaltungen (nicht gezeigt), wie beispielsweise eine H-Brücke, ein Inverter und dergleichen, aus.
  • Der Motor 16 ist gleichbedeutend mit einem Aktuator in den Ansprüchen. Der Statorwicklungsdraht des Motors 16 ist gemultiplext (d. h., geduplext bzw. doppelt vorgesehen), und die zwei Verarbeitungsblöcke 2_0 und 2_1 des Controllers 1 nehmen die Energieversorgung zu den zwei Statorwicklungsdrähten jeweils unabhängig vor. Die Antriebssteuerung ist ebenso gemultiplext (d. h., geduplext bzw. doppelt vorgesehen), anhand einer Konfiguration, bei der die Verarbeitungsblöcke 2_0 und 2_1 den gleichen Steuerinhalt zur Ansteuerung des Motors 16 ausführen. Solch eine Konfiguration ist als ein Verfahren zweier unabhängiger Systeme bezeichnet. Es sollte beachtet werden, dass das Umschalten der Schaltkreise 14 ebenso durch die ECU 15 erfolgt.
  • Wenn die ECU 15 eine Kommunikation mit drei ECUs 17_0, 17_1, 17_2 auf einer Befehlsseite über ein CAN ausführt, wird eine Kommunikationsleitung 18 zwischen den drei ECUs 17_0 bis 17_2 und den zwei Verarbeitungsblöcken 2_0 und 2_1 ebenso geduplext. D. h., die CAN-Kommunikationseinheit 10 in jeder der drei ECUs 17_0 bis 17_2 ist dazu ausgelegt, mit solch einer geduplexten Konfiguration kompatibel zu sein. Die ECU 17 ist gleichbedeutend mit einem externen Controller in den Ansprüchen.
  • Die ECU 15 empfängt, von der ECU 17_0 bis 17_2, einen Lenkwinkeländerungsbefehl für einen Fahrspurwechsel eines Fahrzeugs, um einem Hindernis oder dergleichen auszuweichen.
  • Zwei Sensoren 19_0 und 19_1 sind Sensoren, die beispielsweise einen Lenkwinkel eines Lenkrades erfassen, und die Sensorsignale von den Sensoren 19_0 und 19_1 werden per SENT-Kommunikation an jeden der Verarbeitungsblöcke 2_0 und 2_1 gegeben. Eine Kommunikationsleitung 20 der SENT-Kommunikation ist zur Kommunikation mit jedem der Verarbeitungsblöcke 2_0 und 2_1 ebenso geduplext.
  • Nachstehend ist der Betrieb der vorliegenden Ausführungsform beschrieben.
  • Jeder der Verarbeitungsblöcke 2_0 und 2_1 führt einen in der 3 gezeigten Prozess aus. Wenn die CPU 3 beispielsweise unter Verwendung des Lockstep-Kerns 12 erfasst, dass ein Fehler in einem Verarbeitungsblock 2 verursacht wird (S1: JA), stoppt der fehlerbehaftete Verarbeitungsblock 2 den Betrieb (S2). D. h., wenn der Verarbeitungsblock 2_0 ausfällt, erfolgt eine Antriebssteuerung des Motors 16 folglich nur durch den Verarbeitungsblock 2_1.
  • In solch einem Fall kann, wenn eine Abnahme in der Anzahl der Antriebsverarbeitungsblöcke zur gleichzeitigen Ansteuerung des Motors 16 von ”2” auf ”1” ein Problem, wie beispielsweise eine unzureichende Ausgangsleistung des Motors 16, verursacht, die Ausgangsleistung des Motors 16 zur Kompensierung abgestimmt, d. h. verdoppelt werden. Es sollte beachtet werden, dass ein Fehler von einem der beiden Verarbeitungsblöcke 2 einem Nutzer gemeldet werden kann, indem Fehlerinformation an die ECU 17 auf der Befehlsseite gesendet wird, obgleich dies optional ist (S3).
  • Ferner kann die Fehlererfassung in Schritt S1 nicht nur durch den Lockstep-Kern 12 erfolgen, sondern ebenso anhand der folgenden Verfahren.
    • – Wenn eine Speicherabnormität beispielsweise per ECC (Error Checker und Corrector) über das RAM 5 erfasst wird, wird der Betrieb eines Verarbeitungsblocks per Software gestoppt.
    • – Wenn eine Abnormität in der CAN-Kommunikation durch die ECU 17 erfasst wird, wird ein Betriebsstoppbefehl an den Verarbeitungsblock 2 gesendet. In solch einem Fall ist die ECU 17 gleichbedeutend mit einer Kommunikationsüberwachungseinheit in den Ansprüchen.
    • – Wenn bestimmt wird, dass ein bestimmter Fehler vorliegt, basierend auf einem unerwarteten Ablauf von Software, wird der Betrieb eines Verarbeitungsblocks per Software gestoppt.
  • Gemäß der vorliegenden Ausführungsform ist der Controller 1 mit zwei Verarbeitungsblöcken 2 ausgerüstet, in denen jeweils die CPU 3 und deren periphere Schaltung angeordnet sind, so wie es vorstehend beschrieben ist. Die peripheren Schaltungen, d. h. das ROM 4 bis zu dem PWM-Signalgenerator 11, sind derart konfiguriert, dass sie nur von der CPU 3 zugreifbar zw. zugänglich sind, die in demselben Verarbeitungsblock 2 wie die jeweiligen peripheren Schaltungen angeordnet ist.
  • Hierdurch kann, auch wenn ein Fehler in einem der Verarbeitungsblöcke 2 auftritt, der von dem fehlerbehafteten bzw. ausgefallenen Verarbeitungsblock 2 ausgeführte Prozess problemlos von dem anderen Verarbeitungsblock 2 ausgeführt, d. h. an den anderen Verarbeitungsblock 2 delegiert werden. Ferner wird, da der Verarbeitungsblock 2 mit dem Lockstep-Kern 12 als eine der peripheren Schaltungen ausgerüstet ist, ein Fehler des Verarbeitungsblocks 2 durch den Betrieb des Lockstep-Kerns 12 überwacht.
  • Darüber hinaus weist der Controller 1 die zwei Taktzuführungseinheiten 13 auf und ist das Taktsignal von einer der beiden Taktzuführungseinheiten 13 dazu ausgelegt, über den Schaltkreis 14 selektiv an jeden der Verarbeitungsblöcke 2 gegeben zu werden. Folglich ist eine Taktsignalzuführung ebenso redundant ausgelegt.
  • Ferner ist die Kommunikationsleitung 18 gemultiplext, um das Signal von der ECU 17 auf der Befehlsseite an den Controller 1 zu geben, wobei der Motor 16, d. h. ein Motor, auf der Grundlage des Signals von der ECU 17 unter Verwendung der beiden Verarbeitungsblöcke 2 angetrieben wird.
  • Hierdurch ist, auch wenn ein Fehler in einem der beiden Verarbeitungsblöcke 2 der ECU 15 verursacht wird, die Antriebssteuerung des Motors 16 durch den anderen der Verarbeitungsblöcke 2 fortsetzbar. Ferner wird, per Überwachung einer CAN-Kommunikation unter Verwendung der ECU 17, wenn eine Abnormität in der Kommunikation verursacht wird, das Umschalten der Verarbeitungsblöcke 2 ermöglicht.
  • (Zweite Ausführungsform)
  • Nachstehend sind Komponenten gleich denjenigen in der ersten Ausführungsform mit den gleichen Bezugszeichen versehen und nicht wiederholt beschrieben.
  • Wie in 4 gezeigt, ist eine ECU 21 in der zweiten Ausführungsform mit einem Controller 22 anstelle des Controllers 1 ausgerüstet.
  • Wie in 5 gezeigt, ist der Controller 22 mit einem gemeinsamen RAM 23 ausgerüstet, das gleichbedeutend mit einem gemeinsamen Speicher in den Ansprüchen ist, und weist die CPU 3 in jedem der Verarbeitungsblöcke 24_0 und 24_1 einen Zugriff auf das gemeinsame RAM 23 über den Bus 6 und eine Vermittlungseinheit (Arbitrator, nicht gezeigt) in jedem der Blöcke 24 auf.
  • Jeder der Verarbeitungsblöcke 24 weist eine E/A (Eingabe/Ausgabe) 25, die mit dem Bus 6 verbunden ist, als eine der peripheren Schaltungen auf. Wie in 4 gezeigt, ist, an einer Position zwischen jedem der Verarbeitungsblöcke 24 und dem Motor 16, ein Schalter 26 zum Trennen eines Ausgangs angeordnet, wobei die CPU 3 das EIN/AUS des Schalters 26 in Übereinstimmung mit einem im Register gespeicherten Setup steuert.
  • Nachstehend ist der Betrieb der zweiten Ausführungsform beschrieben.
  • Jeder der zwei Verarbeitungsblöcke 24 führt gleichzeitig den gleichen Steuerinhalt aus, der gleich der ersten Ausführungsform ist. Ferner führt, in der zweiten Ausführungsform, einer der beiden Verarbeitungsblöcke 24 eine Antriebssteuerung des Motors 16 aus, was als ein sogenanntes Hot-Standby-(sofort einsetzbarer Ersatz)-Verfahren bezeichnet wird. Nachstehend ist der Verarbeitungsblock 24, der eine Antriebssteuerung des Motors 16 ausführt, als ein ”Steuerblock” bezeichnet, und der Verarbeitungsblock 24, der einen Standby-Zustand aufweist, ohne eine Antriebssteuerung des Motors 16 auszuführen, als ein ”Standby-Block” bezeichnet.
  • Im Anfangszustand versetzt der Steuerblock 24 den Schalter 26 in einen EIN-Zustand und versetzt der Standby-Block 24 den Schalter 26 in einen AUS-Zustand. Anschließend meldet der Steuerblock 24, wie in 6 gezeigt, wenn ein Fehler auf eine Weise gleich derjenigen in Schritt S1 erfasst wird (S11: JA), das Auftreten eines Fehlers an den Standby-Block 24 (S12). Solch eine Meldung kann erfolgen, indem ein ”Fehlerauftritts-Flag” an einer bestimmten Adresse des gemeinsamen RAM 23, die vorher festgelegt wird, gesetzt wird. Anschließend wird, indem der Schalter 26 in einen AUS-Zustand versetzt wird, um ”eine Trennung des Ausgangs zu validieren” (S13)”, der Prozess beendet.
  • Demgegenüber fragt der Standby-Block 24, wie in 7 gezeigt, die vorstehend erwähnte bestimmte Adresse des gemeinsamen RAM 23 ab, auf eine Fehlermeldung, die das Auftreten eines Fehlers anzeigt, vom Steuerblock 24 wartend (S14).
  • Anschließend versetzt der Standby-Block 24, auf eine Bestätigung, dass das Fehlerauftritts-Flag gesetzt ist (S14: JA), den Schalter 26 in einen EIN-Zustand, um ”die Trennung des Ausgangs für ungültig zu erklären” (S15). Auf diese Weise wird der Standby-Block 24 zu dem Steuerblock 24. Anschließend kann, wie in Schritt S3, eine Benachrichtigung an den Benutzer gegeben werden (S16), was jedoch optional ist.
  • Gemäß der zweiten Ausführungsform wird, wie vorstehend beschrieben, indem das gemeinsame RAM 23 vorgesehen wird, auf das die CPU 3, die in jedem der Verarbeitungsblöcke 24 angeordnet ist, gemeinsam zugreifen kann, für den Fall, dass ein Fehler in einem der Verarbeitungsblöcke 24 auftritt, solch ein Ereignis über das gemeinsame RAM 23 an den anderen Verarbeitungsblock 24 gesendet, um so eine Delegierung der Ausführung des Prozesses an den anderen Verarbeitungsblock 24 zu ermöglichen.
  • (Dritte Ausführungsform)
  • In der dritten Ausführungsform führen, obgleich die ECU 21 gleich derjenigen in der zweiten Ausführungsform ist, die zwei Verarbeitungsblöcke 24 nicht den gleichen Prozess zur Steuerung desselben Motors 16 aus. D. h., während der Verarbeitungsblock 24_0 beispielsweise den Motor 16 steuert, führt der Verarbeitungsblock 24_1 eine Steuerung von anderen Steuerobjekten verschieden von dem Motor 16 aus, als eine Annahme. Anschließend wechselt der Controller 22 für den Fall, dass ein Fehler in dem Verarbeitungsblock 24_0 auftritt, zu einer sogenannten Degenerationssteuerung, indem er eine Steuerung des Motors 16 an den Verarbeitungsblock 24_1 delegiert.
  • Folglich schreibt der Verarbeitungsblock 24_0, während einer Antriebssteuerung des Motors 16, in das gemeinsame RAM 23, je nach Bedarf, Information, die für eine Delegierung der Antriebssteuerung des Motors 16 an den Verarbeitungsblock 24_1 erforderlich ist.
  • Anschließend wird, wenn ein Fehler im Verarbeitungsblock 24_0 erfasst wird, so wie es in der 8 gezeigt ist (S11: JA), das Auftreten eines Fehler an den Verarbeitungsblock 24_1 gemeldet (S12'). Hierauf folgend wird der Betrieb des Verarbeitungsblocks 24_0 gestoppt (S17).
  • Demgegenüber steuert, wie in 9 gezeigt, der Verarbeitungsblock 24_1 die anderen Steuerobjekte, während der Verarbeitungsblock 24_0 eine Antriebssteuerung des Motors 16 ausführt, wobei er überwacht, ob ihn irgendeine Fehlermeldung von dem Verarbeitungsblock 24_0 erreicht hat, gleich der zweiten Ausführungsform (S14').
  • Anschließend wird, wenn eine Fehlermeldung, die das Auftreten eines Fehlers anzeigt, von dem Verarbeitungsblock 24_0 empfangen wird (S14': JA), ein Betriebszustand zu der Degenerationssteuerung geschaltet (S18). In solch einem Fall liest der Verarbeitungsblock 24_1 die Information, die für eine Antriebssteuerung des Motors 16 erforderlich ist, aus dem gemeinsamen RAM 23, die durch den Verarbeitungsblock 24_0 dort hinein geschrieben wurde (S19).
  • Gemäß der dritten Ausführungsform ist das Degenerationssteuerverfahren, wie vorstehend beschrieben, von der ECU 21 ausführbar.
  • (Vierte Ausführungsform)
  • Obgleich eine ECU 31 der vierten Ausführungsform gemäß 10, gleich der dritten Ausführungsform, das Degenerationssteuerverfahren anwendet, weist die ECU 31 einen Controller 32 und eine externe integrierte Schaltung (IC) 33 zum Ausführen der Degenerationssteuerung auf.
  • Der Controller 32 weist zwei Verarbeitungsblöcke 34_0 und 34_1 auf, und der externe IC 33 führt eine Abnormitätsüberwachung und eine Fehlererfassung der zwei Verarbeitungsblöcke 34 zusammen mit der Bereitstellung eines Befehls zum Umschalten zu der Degenerationssteuerung und dergleichen aus.
  • Der externe IC 33 führt die Abnormitätsüberwachung der Verarbeitungsblöcke 34 beispielsweise anhand der folgenden Verfahren aus.
    • – Gleich der Verwendung eines Watch-dog-Timers sendet jeder der Verarbeitungsblöcke 34 beispielsweise periodisch ein Impulssignal an den externen IC 33. Anschließend erfasst der externe IC 33 einen Fehler der Verarbeitungsblöcke 34, wenn ein Senden des Impulssignals stoppt oder der Sendezyklus fehlerhaft wird.
    • – Wenn sich ein Kommunikationsformat der Kommunikation, die zwischen dem Verarbeitungsblock 34 und dem externen IC 33 erfolgt, von demjenigen unterscheidet, das im Voraus definiert wird, erfasst der externe IC 33 einen Fehler des Verarbeitungsblocks 34.
  • Nachstehend ist der Betrieb der vierten Ausführungsform beschrieben.
  • Gleich der dritten Ausführungsform steuert der Verarbeitungsblock 34_0 den Motor 16 und steuert der Verarbeitungsblock 34_1 die Steuerobjekte verschieden von dem Motor 16. Wie in 11 gezeigt, überwacht der externe IC 33, wie vorstehend beschrieben, ob ein Fehler in dem Verarbeitungsblock 34_0 aufgetreten ist (S21), und sendet der externe IC 33, wenn das Auftreten eines Fehlers erfasst wird (S21: JA), ein Befehlssignal an den Verarbeitungsblock 34_1, um ein Umschalten zu der Degenerationssteuerung zu erwirken (S22). Anschließend sendet der externe IC 33, an den Verarbeitungsblock 34_0, ein Stoppsignal, das den Verarbeitungsblock 34_0 anweist, den Betrieb zu stoppen (S23).
  • Wie in 12 gezeigt, stoppt der Verarbeitungsblock 34_0 den Betrieb (S25), wenn er das Stoppsignal von dem externen IC 33 empfängt (S24: JA).
  • Demgegenüber schaltet der Verarbeitungsblock 34_1, wie in 13 gezeigt, bei Empfang eines Signals, das das Umschalten zu der Degenerationssteuerung anweist, von dem externen IC 33 (S26: JA), zu der Degenerationssteuerung (S27). Anschließend erfolgen die gleichen Prozesse wie in Schritt S19 und in Schritt S16 (S28, S29). Es sollte beachtet werden, dass Prozesse verschieden von dem Hauptmerkmal der vierten Ausführungsform aus den Ablaufdiagrammen gemäß den 11 bis 13 ausgelassen sind.
  • Gemäß der vierten Ausführungsform ist, wie vorstehend beschrieben, da die ECU 31 mit dem externen IC 33 ausgerüstet ist und der Betrieb der Verarbeitungsblöcke 34 durch den externen IC 33 überwacht wird, das Umschalten zu der Degenerationssteuerung ausführbar, wenn ein Fehler in einem der Verarbeitungsblöcke 34 auftritt.
  • (Fünfte Ausführungsform)
  • Gemäß der fünften Ausführungsform erfolgt, beispielsweise unter Verwendung der ECU 31 der vierten Ausführungsform, eine Antriebssteuerung des Motors 16 durch einen der Verarbeitungsblöcke 34, wobei der andere der Verarbeitungsblöcke 34 seinen Betrieb stoppt. Die Bezugszeichen der Komponenten sind gleich denjenigen der zweiten Ausführungsform. In der fünften Ausführungsform wird ein sogenanntes Cold-Standby-Verfahren angewandt, bei dem, wenn in einem der Steuerblöcke 34 einen Fehler auftritt, ein Subjekt der Steuerung zu dem anderen Steuerblock 34 geschaltet wird, d. h. zu einem Standby-Steuerblock, um die Antriebssteuerung des Motors 16 auszuführen.
  • Nachstehend ist der Betrieb der fünften Ausführungsform beschrieben.
  • Der Verarbeitungsblock 34_0 wird beispielsweise als ein Steuerblock angenommen, und der Verarbeitungsblock 34_1 wird als ein Standby-Block angenommen. Wie in 14 gezeigt, startet der externe IC 33, wenn ein Fehler im Verarbeitungsblock 34_0 erfasst wird (S31: JA), einen Betrieb des Verarbeitungsblocks 34_1, indem er ein Wecksignal sendet (S32). Anschließend sendet der externe IC 33 ein Stoppsignal an den Verarbeitungsblock 34_0 und stoppt der Betrieb des Verarbeitungsblocks 34_0 (S33).
  • Wie in 15 gezeigt, stoppt der Verarbeitungsblock 34_0 den Betrieb (S35) bei Empfang des Stoppsignals (S34: JA). Wie in 16 gezeigt, startet der Verarbeitungsblock 34_1 den Betrieb (S37) bei Empfang des Wecksignals (S36: JA). Anschließend erfolgen die gleichen Prozesse wie in Schritt S19 und in Schritt S16 (S38, S39).
  • Gemäß der fünften Ausführungsform ist die ECU 31 in der Lage, das Cold-Standby-Verfahren auszuführen, so wie es vorstehend beschrieben ist.
  • (Sechste Ausführungsform)
  • Ein Controller 41 der sechsten Ausführungsform gemäß 17 weist eine Konfiguration ähnlich dem Controller 1 der ersten Ausführungsform auf, wobei sich der Controller 41 einzig im Taktsignalzuführungsverfahren unterscheidet.
  • Was die peripheren Schaltungen, wie beispielsweise den Bus 6 bis zu dem PWM-Signalgenerator 11 und dergleichen, betrifft, so beschreibt eine periphere Funktion 42 diese Schaltungen in kollektiver Weise.
  • In der sechsten Ausführungsform gibt eine der beiden Taktzuführungseinheiten 13_0 und 13_1 das Taktsignal an einen der beiden Verarbeitungsblöcke 2_0 und 2_1, ohne den Schalter 14 zu verwenden. Es ist beispielsweise nur eine der Taktzuführungseinheiten 13_0 und 13_1 dazu ausgelegt, zu arbeiten. In solch einem Fall kann der Taktpfad zwischen der Taktzuführungseinheit 13_0, oder 13_1, und den Verarbeitungsblöcke 2_0 und 2_1 ein gemeinsamer Pfad sein.
  • Gemäß der sechsten Ausführungsform wird, wie vorstehend beschrieben, wenn die zwei Taktzuführungseinheiten 13_0 und 13_1 vorgesehen sind, das Taktsignal von nur einer der Taktzuführungseinheiten 13 an jeden der Verarbeitungsblöcke 2_0 und 2_1 gegeben. Auf diese Weise wird das Taktsignalzuführungssystem oder Taktsignalzuführungsverfahren redundant ausgelegt.
  • (Siebte Ausführungsform)
  • Ein Controller 51 der siebten Ausführungsform gemäß 18 weist eine Konfiguration ähnlich dem Controller 41 der sechsten Ausführungsform auf, mit einem Unterschied einzig im Taktsignalzuführungsverfahren.
  • D. h., die Taktzuführungseinheit 13_0 gibt das Taktsignal an den Verarbeitungsblock 2_0, und die Taktzuführungseinheit 13_1 gibt das Taktsignal an den Verarbeitungsblock 2_1, in einer festen, d. h. nicht änderbaren Weise.
  • Gemäß der auf diese Weise konfigurierten Taktsignalzuführung ist, auch wenn eine der beiden Taktzuführungseinheiten 13_0 und 13_1 unterbrochen wird, der Prozess durch den Verarbeitungsblock 2 auf der anderen Seite fortsetzbar.
  • (Achte bis zehnte Ausführungsform)
  • Controllers 1A1C der achten bis zehnten Ausführungsform gemäß den 1921 sind Variationen der Details der Taktzuführungseinheit 13 im Controller 1 der ersten Ausführungsform.
  • Der Controller 1A der achten Ausführungsform gemäß 19 weist eine Konfiguration auf, bei der jede der Taktzuführungseinheiten 13A jeweils einen externen Oszillator 43 als eine Quelle für die Schwingung des Taktsignals verwendet.
  • Der Controller 1B der neunten Ausführungsform gemäß 20 weist eine Konfiguration auf, bei der jede der Taktzuführungseinheiten 13B jeweils einen integrierten MEMS-(Micro Electro-Mechanical Systems oder mikro-elektromechanische Systeme)-Oszillator 44 als eine Quelle für die Schwingung des Taktsignals aufweist. Bezüglich der detaillierten Konfiguration des MEMS-Oszillators 44 wird beispielsweise auf die Offenbarung der JP 2009-200888 A oder dergleichen verwiesen.
  • Der Controller 1C der zehnten Ausführungsform gemäß 21 weist eine Konfiguration auf, bei der der Verarbeitungsblock 2_0 die Taktzuführungseinheit 13A verwendet und der Verarbeitungsblock 2_1 die Taktzuführungseinheit 13B verwendet.
  • Gemäß den Konfigurationen der achten bis zehnten Ausführungsform, die vorstehend beschrieben sind, sind die gleichen Effekte wie in der ersten Ausführungsform erzielbar.
  • (Elfte Ausführungsform)
  • Ein Controller 61 der elften Ausführungsform gemäß 22 weist eine Konfiguration mit einer Taktüberwachungseinheit 62 auf, die zu dem Controller 41 der sechsten Ausführungsform hinzugefügt ist.
  • Die Taktüberwachungseinheit 62 überwacht, ob der Schwingungsbetrieb der Taktzuführungseinheiten 13 normal ist, indem sie beispielsweise auf eine Schwingungsfrequenz Bezug nimmt. D. h., wenn eine Schwingungsfrequenz innerhalb eines zulässigen Bereichs von weniger als ± einigen Prozent bezüglich eines Referenzwerts liegt, wird bestimmt, dass der Schwingungsbetrieb normal ist (23, S41: NEIN).
  • Für den Fall, dass die Schwingungsfrequenz den zulässigen Bereich überschreitet und somit als fehlerhaft bestimmt wird (S41: JA), wird das normale Taktsignal an den Verarbeitungsblock 2 gegeben, an den das als fehlerhaft bestimmte Taktsignal gegeben wurde (S42), und, je nach Bedarf, der Benutzer benachrichtigt (S43).
  • Wie in 22 gezeigt, wird beispielsweise, wenn das Taktsignal im Anfangszustand von der Taktzuführungseinheit 13_0 an die Verarbeitungsblöcke 2_0 und 2_1 gegeben wird, angenommen, dass die Taktzuführungseinheit 13_0 als fehlerhaft bestimmt wird.
  • In diesem Fall stoppt die Taktüberwachungseinheit 62 den Betrieb der Taktzuführungseinheit 13_0 und schaltet die Taktüberwachungseinheit 62, indem sie eine Ausgabe des Taktsignals von der Taktzuführungseinheit 13_1 ermöglicht, den Betrieb dahingehend um, dass das Taktsignal von der Taktzuführungseinheit 13_1 an die Verarbeitungsblöcke 2_0 und 2_1 gegeben wird.
  • In der elften Ausführungsform wird, da der Controller 61 mit der Taktüberwachungseinheit 62 ausgerüstet ist, die, wie vorstehend beschrieben, überwacht, ob der Betrieb der Taktzuführungseinheiten 13 normal ist, dann, wenn der Betrieb der Taktzuführungseinheit 13, die das Taktsignal zuführt, fehlerhaft wird, die fehlerhafte Taktzuführungseinheit 13 zu der normalen Taktzuführungseinheit 13 u geschaltet, um das normale Taktsignal zuzuführen.
  • (Zwölfte Ausführungsform)
  • Die zwölfte Ausführungsform gemäß 24 weist eine Konfiguration auf, bei der der Controller 41 der sechsten Ausführungsform die Taktüberwachungseinheit 62 außerhalb des Controllers 41 aufweist. In solch einem Fall dient die Taktüberwachungseinheit 62 beispielsweise als ein Element der ECU, die dazu ausgelegt ist, den Controller 41 aufzuweisen. Bei solch einer Konfiguration, bei der die Taktüberwachungseinheit 62 als eine externe Vorrichtung zu dem Controller 41 vorgesehen ist, wird der Taktüberwachungseinheit 62 ermöglicht, den Betrieb der Taktzuführungseinheit 13 zu überwachen, ohne durch einen internen Zustand des Controllers 41 beeinflusst zu werden.
  • Obgleich die vorliegende Erfindung vorstehend in Verbindung mit ihren bevorzugten Ausführungsformen unter Bezugnahme auf die beigefügten Zeichnungen beschrieben ist, sollte beachtet werden, dass Fachleuten verschiedene Änderungen und Modifikationen ersichtlich sein werden.
  • Es können beispielsweise mehr als drei Verarbeitungsblöcke 2 vorgesehen sein.
  • Das Design der peripheren Schaltungen im Controller kann als eine Designangelegenheit auf beliebige Weise geändert werden.
  • Die siebte Ausführungsform kann die achte und die neunte Ausführungsform kombiniert enthalten.
  • Der vom erfindungsgemäßen Mikrocontroller angesteuerte Aktuator ist nicht zwangsläufig auf den Motor beschränkt. Der vorliegende Mikrocontroller kann ferner auf eine Vorrichtung verschieden von dem elektrischen Servolenkungssystem angewandt werden.
  • Solche Änderungen, Modifikationen und zusammengefassten Schemata sollen als mit im Schutzumfang der vorliegenden Erfindung, so wie er in den beigefügten Ansprüchen dargelegt ist, beinhaltet verstanden werden.
  • Vorstehend sind ein Mikrocontroller und eine elektronische Steuereinheit beschrieben.
  • Ein Mikrocontroller 1 weist zwei Verarbeitungsblöcke 2 auf, die jeweils eine CPU 3 und eine periphere Schaltung aufweisen, wobei ein Zugriff auf die periphere Schaltung in jedem der Verarbeitungsblöcke 2, d. h. auf ein ROM 3 oder einen PWM-Signalgenerator 11, nur von der CPU 3 aus möglich ist, die in demselben Verarbeitungsblock 2 angeordnet ist. Hierdurch kann eine Fail-Safe-Funktionalität des Mikrocontrollers verbessert werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2012-73748 [0002]
    • JP 2009-200888 A [0091]

Claims (14)

  1. Mikrocontroller mit: – wenigstens zwei Verarbeitungsblöcken, die auf einem Halbleiterchip angeordnet sind, wobei jeder der Verarbeitungsblöcke aufweist: – eine zentrale Recheneinheit (3) und eine periphere Schaltung (312), wobei – die periphere Schaltung, die in einem Verarbeitungsblock enthalten ist, nur von der zentralen Recheneinheit zugreifbar ist, die in demselben Verarbeitungsblock wie die periphere Schaltung enthalten ist.
  2. Mikrocontroller nach Anspruch 1, dadurch gekennzeichnet, dass er ferner einen Lockstep-Kern (12) aufweist, der als eine der peripheren Schaltungen vorgesehen ist.
  3. Mikrocontroller nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass er ferner einen gemeinsamen Speicher (23) aufweist, der von der zentralen Recheneinheit in jedem der wenigstens zwei Verarbeitungsblöcke zugreifbar ist.
  4. Mikrocontroller nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass er ferner mehrere Taktzuführungseinheiten (13) aufweist, wobei jeder der wenigstens zwei Verarbeitungsblöcke ein Taktsignal selektiv von einer der mehreren Taktzuführungseinheiten empfängt.
  5. Mikrocontroller nach Anspruch 4, dadurch gekennzeichnet, dass jeder der Verarbeitungsblöcke das Taktsignal selektiv von normal arbeitenden Taktzuführungseinheiten empfängt.
  6. Mikrocontroller nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass jeder der wenigstens zwei Verarbeitungsblöcke ein Taktsignal von einer entsprechenden Taktzuführungseinheit empfängt.
  7. Mikrocontroller nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass er ferner eine Taktüberwachungseinheit (62) aufweist, die einen Betrieb von jeder der mehreren Taktzuführungseinheiten überwacht.
  8. Mikrocontroller nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass jede der mehreren Taktzuführungseinheiten von einer externen Taktüberwachungseinheit (62) überwacht wird, um zu bestimmen, ob ein Betrieb von jeder der mehreren Taktzuführungseinheiten normal ist.
  9. Mikrocontroller nach einem der Ansprüche 4 bis 8, dadurch gekennzeichnet, dass wenigstens eine der mehreren Taktzuführungseinheiten das Taktsignal auf der Grundlage einer Schwingung erzeugt, die von einem außen hinzugefügtem Schwingungserzeuger (43) eingegeben wird.
  10. Mikrocontroller nach Anspruch 9, dadurch gekennzeichnet, dass der außen hinzugefügte Schwingungserzeuger ein Oszillator ist.
  11. Mikrocontroller nach einem der Ansprüche 4 bis 8, dadurch gekennzeichnet, dass wenigstens eine der mehreren Taktzuführungseinheiten das Taktsignal auf der Grundlage einer Schwingung erzeugt, die von einem internen Schwingungserzeuger (44) eingegeben wird.
  12. Mikrocontroller nach Anspruch 11, dadurch gekennzeichnet, dass der interne Schwingungserzeuger ein MEMS-Oszillator (14) ist.
  13. Elektronische Steuereinheit mit: – dem Mikrocontroller nach einem der Ansprüche 1 bis 12; und – einer Kommunikationsleitung (18), die für eine Eingabe eines Signals von mehreren externen Controllern (17) gemultiplext ist, wobei – ein Ansteuersignal zur Ansteuerung eines gleichen Aktuators (16) von jedem von wenigstens zwei Verarbeitungsblöcken ausgegeben wird, auf der Grundlage des Signals von den mehreren externen Controllern.
  14. Elektronische Steuereinheit nach Anspruch 13, ferner aufweisend: – eine Kommunikationsüberwachungseinheit (17), die (a) eine Kommunikation zwischen den mehreren externen Controllern und einem entsprechenden Verarbeitungsblock überwacht und (b) bestimmt, ob eine Kommunikation zwischen den mehreren externen Controllern und dem entsprechenden Verarbeitungsblock normal ist; und – eine Verarbeitungsblock-Wähleinheit, die (a) einen normal arbeitenden Verarbeitungsblock wählt und (b) zu dem normal arbeitenden Verarbeitungsblock umschaltet, um das Ansteuersignal zur Ansteuerung des Aktuators auszugeben.
DE102017202398.8A 2016-02-19 2017-02-15 Mikrocontroller und elektronische steuereinheit Pending DE102017202398A1 (de)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
DE102017202398A1 true DE102017202398A1 (de) 2017-08-24

Family

ID=59522551

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017202398.8A Pending DE102017202398A1 (de) 2016-02-19 2017-02-15 Mikrocontroller und elektronische steuereinheit

Country Status (3)

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

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019106830A1 (ja) * 2017-12-01 2019-06-06 株式会社日立製作所 分散制御装置
JP6962176B2 (ja) * 2017-12-20 2021-11-05 株式会社デンソー 電力変換装置の制御装置
JP2019164472A (ja) 2018-03-19 2019-09-26 株式会社東芝 半導体装置
JP7023192B2 (ja) * 2018-06-21 2022-02-21 株式会社日立製作所 電子連動装置、電子連動システム、及び異常検出方法
CN113067528B (zh) * 2019-12-31 2023-01-06 比亚迪股份有限公司 电机控制***和具有其的车辆
JP7516070B2 (ja) 2020-02-25 2024-07-16 ニデックエレシス株式会社 モータ制御装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009200888A (ja) 2008-02-22 2009-09-03 Seiko Instruments Inc Mems発振器
JP2012073748A (ja) 2010-09-28 2012-04-12 Denso Corp 制御装置

Family Cites Families (12)

* 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
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
JP2000194437A (ja) * 1998-12-24 2000-07-14 Matsushita Electric Ind Co Ltd クロック二重化方法
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
US8212601B2 (en) * 2010-10-29 2012-07-03 Netgear, Inc. Method and apparatus for providing system clock failover
JP2012168605A (ja) * 2011-02-10 2012-09-06 Toyota Motor Corp 制御装置
JP6207987B2 (ja) * 2013-11-26 2017-10-04 日立オートモティブシステムズ株式会社 車載用電子制御装置
JP6183251B2 (ja) 2014-03-14 2017-08-23 株式会社デンソー 電子制御装置
JP2016060413A (ja) 2014-09-19 2016-04-25 日立オートモティブシステムズ株式会社 車両用電子制御装置及び制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009200888A (ja) 2008-02-22 2009-09-03 Seiko Instruments Inc Mems発振器
JP2012073748A (ja) 2010-09-28 2012-04-12 Denso Corp 制御装置

Also Published As

Publication number Publication date
JP2017146897A (ja) 2017-08-24
US10592356B2 (en) 2020-03-17
US20170242823A1 (en) 2017-08-24

Similar Documents

Publication Publication Date Title
DE102017202398A1 (de) Mikrocontroller und elektronische steuereinheit
EP2550599B1 (de) Kontrollrechnersystem, verfahren zur steuerung eines kontrollrechnersystems, sowie verwendung eines kontrollrechnersystems
EP1673667B1 (de) Integriertes mikroprozessorsystem für sicherheitskritische regelungen
EP3768574B1 (de) Steer-by-wire architekturen
EP1769293B1 (de) Automatisierungssystem und ein-/ausgabebaugruppe für dasselbe
EP3473512B1 (de) Funktionsmodul, steuereinheit für ein betriebsassistenzsystem und arbeitsvorrichtung
DE112017005645T5 (de) Motorsteuersystem und elektrisches servolenksystem
DE102007045398A1 (de) Integriertes Mikroprozessorsystem für sicherheitskritische Regelungen
DE102011014142A1 (de) Fahrzeugsteuervorrichtung für eine CAN-Kommunikation und Diagnoseverfahren hierfür
EP2331383B1 (de) Vorrichtung und verfahren zur steuerung einer elektrischen lenkung
WO2017137222A1 (de) Rechner- und funktionsarchitektur zur erhöhung der ausfallsicherheit einer hilfskraftlenkung
DE102017218395A1 (de) Verfahren zur fehlerrobusten Regelung von hochautomatisierten Fahrzeugen
EP1622039A1 (de) Verfahren und Vorrichtung zur Adressvergabe an Teilnehmer eines Bussystems
WO2016005187A1 (de) Steueranordnung für sicherheitsrelevante aktoren
DE102006024378A1 (de) Elektronische Steuereinrichtung eines elektrischen Antriebssystems, elektronische Antriebseinheit eines elektrischen Antriebssystems und elektrisches Antriebssystem
EP1962193A1 (de) Schaltungsvorrichtung und entsprechendes Verfahren zum Ansteuern einer Last
DE102006037124A1 (de) Ansteuersystem für eine Antriebseinheit eines Kraftfahrzeuges
EP2237118B1 (de) Sicherheitssystem zur Sicherung einer fehlersicheren Steuerung elektrischer Anlagen und Sicherheitssteuerung damit
EP3470301B1 (de) Lenkungssteuersystem für ein lenksystem eines kraftfahrzeuges sowie verfahren zum betreiben eines lenkungssteuersystems
EP2449438B1 (de) Verfahren und system zur ansteuerung von mindestens einem aktuator
DE112017003178T5 (de) Elektronische Steuervorrichtung
DE19605606B4 (de) Einrichtung zum Rücksetzen eines Rechenelements
DE102016117169B4 (de) System zur Energie- und/oder Datenübertragung
DE102015203253A1 (de) Sicherheitsschaltungseinheit
DE10344070B4 (de) Antriebsmodul für eine Druckmaschine

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R084 Declaration of willingness to licence