DE102016222768A1 - Auswahl von Eingabe-/Ausgabeparameter - Google Patents

Auswahl von Eingabe-/Ausgabeparameter Download PDF

Info

Publication number
DE102016222768A1
DE102016222768A1 DE102016222768.8A DE102016222768A DE102016222768A1 DE 102016222768 A1 DE102016222768 A1 DE 102016222768A1 DE 102016222768 A DE102016222768 A DE 102016222768A DE 102016222768 A1 DE102016222768 A1 DE 102016222768A1
Authority
DE
Germany
Prior art keywords
line
configuration
parameters
multiplexer
event
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
DE102016222768.8A
Other languages
English (en)
Inventor
Alain Vergnes
Pierre Samat
Michel Douget
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.)
Atmel Corp
Original Assignee
Atmel 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 Atmel Corp filed Critical Atmel Corp
Publication of DE102016222768A1 publication Critical patent/DE102016222768A1/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/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3041Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is an input/output interface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/05Software aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1332Logic circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Programmable Controllers (AREA)
  • Microcomputers (AREA)
  • Computer Networks & Wireless Communication (AREA)

Abstract

Eine Vorrichtung umfasst eine Erfassungsvorrichtung, die zum Erfassen eines Ereignisses konfiguriert ist, und eine Auswahlvorrichtung, die mit der Erfassungsvorrichtung gekoppelt und konfiguriert ist, um ein Signal in Antwort auf eine Erfassung eines Ereignisses durch die Erfassungsvorrichtung zu erzeugen. Das Signal ist zur Auswahl einer Menge von Eingabe/Ausgabe-(I/O)-Parameter aus ersten und zweiten gespeicherten Parametermengen betriebsfähig. Die Vorrichtung umfasst auch ein Konfigurationsmodul, das mit der Auswahlvorrichtung gekoppelt ist. Das Konfigurationsmodul ist konfiguriert, um die ausgewählte Menge von I/O-Parameter auszugeben.

Description

  • Technisches Gebiet
  • Die folgende Beschreibung betrifft im Allgemeinen eine Auswahl von Eingabe-/Ausgabeparameter.
  • Hintergrund
  • In einem Beispielszenario interagiert ein Mikrocontroller mit der äußeren Umgebung mittels Eingabe/Ausgabe(I/O)-Leitungen. Diese I/O-Leitungen des Mikrocontrollers können mittels einer programmierbaren Eingabe/Ausgabe(PIO)-Steuerung konfiguriert werden.
  • Zusammenfassung
  • In einer Ausführungsform umfasst eine Vorrichtung eine Erfassungsvorrichtung, die konfiguriert ist, um ein Ereignis zu erfassen, und eine Auswahlvorrichtung, die mit der Erfassungsvorrichtung verbunden und konfiguriert ist, um ein Signal in Antwort auf eine Erfassung eines Ereignisses durch die Erfassungsvorrichtung zu erzeugen. Das Signal ist betriebsfähig, um eine Menge von Eingabe/Ausgabe(I/O)-parameter aus ersten und zweiten gespeicherten Parametermengen auszuwählen. Die Vorrichtung umfasst auch ein Konfigurationsmodul, das mit der Auswahlvorrichtung gekoppelt ist. Das Konfigurationsmodul ist konfiguriert, um die ausgewählte Menge von I/O-Parameter auszugeben.
  • Spezielle Ausführungsformen können wenigstens eines der folgenden Merkmale umfassen. Das Konfigurationsmodul kann einen Multiplexer umfassen, der mit der Auswahlvorrichtung gekoppelt ist. Der Multiplexer kann mit den ersten und zweiten gespeicherten Parametermengen als Eingaben bereitgestellt sein. Der Multiplexer kann konfiguriert sein, um das Signal der Auswahlvorrichtung zu empfangen und eines von den ersten und zweiten gespeicherten Parametermengen basierend auf einem Empfang des Signals von der Auswahlvorrichtung auszugeben.
  • Das Konfigurationsmodul kann eine I/O-Leitungsmanagementeinheit umfassen, die mit dem Multiplexer und einer I/O-Leitung gekoppelt ist. Die I/O-Leitungsmanagementeinheit kann konfiguriert sein, um eine aus den ersten und zweiten gespeicherten Parametermengen von dem Multiplexer zu empfangen und die I/O-Leitung an eine ausgewählte Konfiguration entsprechend der Parametermenge anzupassen, die von dem Multiplexer empfangen wurde.
  • Das Konfigurationsmodul kann ein erstes Register zum Speichern der ersten Parametermenge und ein zweites Register zum Speichern der zweiten Parametermenge umfassen. Ausgänge des ersten Registers und des zweiten Registers können mit Eingängen des Multiplexers gekoppelt sein.
  • Die erste Parametermenge kann erste Konfigurationsparameter, die einem ersten Betriebsmodus für eine erste I/O-Leitung zugeordnet sind, umfassen und die zweite Parametermenge kann Sicherheitskonfigurationsparameter umfassen, die einem Sicherheitsbetriebsmodus für die erste I/O-Leitung zugeordnet sind. Die ersten Konfigurationsparameter können durch einen Benutzer rekonfigurierbar sein und die Sicherheitskonfigurationsparameter können für einen Benutzer nicht rekonfigurierbar sein.
  • Die Auswahlvorrichtung kann konfiguriert sein, um eine Anzeige der Ereigniserfassung von der Erfassungsvorrichtung zu empfangen. In Antwort auf das Empfangen der Anzeige der Ereigniserfassung kann die Auswahlvorrichtung konfiguriert sein, um das Signal zu dem Konfigurationsmodul zur Anwendung der Sicherheitskonfigurationsparameter auf die erste I/O-Leitung zu senden.
  • Die Vorrichtung kann eine zweite I/O-Leitung umfassen, die dazu konfiguriert ist, in Antwort auf das Empfangen der Anzeige der Ereigniserfassung an der Auswahlvorrichtung in dem ersten Betriebsmodus betriebsfähig zu sein. Der Sicherheitsbetriebsmodus kann verhindern, dass die erste I/O-Leitung mit einer externen Vorrichtung kommuniziert.
  • Der Sicherheitsbetriebsmodus kann einen ersten Sicherheitsbetriebsmodus und einen zweiten Sicherheitsbetriebsmodus umfassen. Das Konfigurationsmodul kann konfiguriert sein, um die erste I/O-Leitung in Antwort auf das Auftreten eines Ereignisses von einem ersten Typ von dem ersten Betriebsmodus in den ersten Sicherheitsbetriebsmodus zu schalten. Das Konfigurationsmodul kann auch dazu konfiguriert sein, die erste I/O-Leitung in Antwort auf das Auftreten eines Ereignisses von einem zweiten Typ von dem ersten Betriebsmodus in den zweiten Sicherheitsbetriebsmodus zu schalten.
  • Das Konfigurationsmodul kann erste Konfigurationsparameter, die der ersten I/O-Leitung zugeordnet sind, erste Sicherheitskonfigurationsparameter und zweite Sicherheitskonfigurationsparameter umfassen, die der ersten I/O-Leitung zugeordnet sind. Das Konfigurationsmodul kann ferner einen Multiplexer umfassen. Der Multiplexer kann konfiguriert sein, um die ersten Konfigurationsparameter, die ersten Sicherheitskonfigurationsparameter und die zweiten Sicherheitskonfigurationsparameter als Eingaben zu empfangen. Der Multiplexer kann konfiguriert sein, um die ersten Konfigurationsparameter, die ersten Sicherheitskonfigurationsparameter oder die zweiten Sicherheitskonfigurationsparameter zum Managen der ersten I/O-Leitung auf Basis des Signals der Auswahlvorrichtung auszugeben.
  • Die Auswahlvorrichtung kann konfiguriert sein, um ein erstes Signal zur Ausgabe der ersten Sicherheitskonfigurationsparameter in Antwort auf eine Bestimmung, dass ein erstes erfasstes Ereignis von einem ersten Typ ist, zu dem Multiplexer zu senden. Die Auswahlvorrichtung kann konfiguriert sein, um ein zweites Signal zur Ausgabe der zweiten Sicherheitskonfigurationsparameter in Antwort auf eine Bestimmung, dass ein zweites erfasstes Ereignis von einem zweiten Typ ist, zu dem Multiplexer zu senden.
  • Das Ereignis kann einem unnormalen physikalischen Zustand der Vorrichtung und/oder einer auf die Vorrichtung einwirkenden nicht autorisierten externen Untersuchung und/oder einem auf die Vorrichtung einwirkenden nicht autorisierten Ausführungsbefehl zugeordnet sein.
  • In einer anderen Ausführungsform wird ein Ereignis durch eine Erfassungsvorrichtung erfasst. In Antwort auf die Erfassung des Ereignisses erzeugt eine Auswahlvorrichtung, die mit der Erfassungsvorrichtung gekoppelt ist, ein Signal, das betriebsfähig ist, um eine Menge von Eingabe/Ausgabe(I/O)-Parameter aus ersten und zweiten gespeicherten Parametermengen auszuwählen. Ein mit der Auswahlvorrichtung gekoppeltes Konfigurationsmodul gibt die ausgewählte Menge von I/O-Parameter aus.
  • Spezielle Ausführungsformen können wenigstens eines der folgenden Merkmale umfassen. Ein Ausgeben der ausgewählten Menge von I/O-Parameter durch das Konfigurationsmodul kann ein Empfangen des Signals der Auswahlvorrichtung an einem Multiplexer umfassen, der in dem Konfigurationsmodul vorgesehen ist. Der Multiplexer kann eine von den ersten und zweiten gespeicherten Parametermengen auf Basis des Empfangs des Signals von der Auswahlvorrichtung ausgeben.
  • Eine I/O-Leitungsmanagementeinheit, die in dem Konfigurationsmodul vorgesehen und mit dem Multiplexer und einer I/O-Leitung gekoppelt sein kann, kann eine der ersten und zweiten gespeicherten Parametermengen von dem Multiplexer empfangen. Die I/O-Leitungsmanagementeinheit kann die I/O-Leitung an eine ausgewählte Konfiguration entsprechend der vom Multiplexer empfangenen Parametermenge anpassen.
  • Die erste Parametermenge kann erste Konfigurationsparameter umfassen, die einem ersten Betriebsmodus für eine erste I/O-Leitung zugordnet sind, und die zweite Parametermenge kann Sicherheitskonfigurationsparameter umfassen, die einem Sicherheitsbetriebsmodus der ersten I/O-Leitung zugeordnet sind. Die ersten Konfigurationsparameter können durch einen Benutzer rekonfigurierbar sein. Die Sicherheitskonfigurationsparameter können durch einen Benutzer nicht rekonfigurierbar sein.
  • Die Auswahlvorrichtung kann eine Anzeige der Ereigniserfassung von der Erfassungsvorrichtung empfangen. In Antwort auf das Empfangen der Anzeige der Ereigniserfassung kann die Auswahlvorrichtung das Signal zu dem Konfigurationsmodul senden, um die Sicherheitskonfigurationsparameter auf die erste I/O-Leitung anzuwenden.
  • Der Sicherheitsbetriebsmodus kann verhindern, dass die erste I/O-Leitung mit einer externen Vorrichtung kommuniziert. Der Sicherheitsbetriebsmodus kann einen ersten Sicherheitsbetriebsmodus und einen zweiten Sicherheitsbetriebsmodus umfassen. Das Konfigurationsmodul kann die erste I/O-Leitung in Antwort auf das Auftreten eines Ereignisses von einem ersten Typ von dem ersten Betriebsmodus in den ersten Sicherheitsbetriebsmodus schalten. Das Konfigurationsmodul kann die erste I/O-Leitung in Antwort auf das Auftreten eines Ereignisses von einem zweiten Typ von dem ersten Betriebsmodus in den zweiten Sicherheitsbetriebsmodus schalten.
  • Das Konfigurationsmodul kann erste Konfigurationsparameter, die der ersten I/O-Leitung zugeordnet sind, erste Sicherheitskonfigurationsparameter und zweite Sicherheitskonfigurationsparameter umfassen, die der ersten I/O-Leitung und einem Multiplexer zugeordnet sind. Der Multiplexer kann als Eingaben die ersten Konfigurationsparameter, die ersten Sicherheitskonfigurationsparameter und die zweiten Sicherheitskonfigurationsparameter empfangen. Der Multiplexer kann die ersten Konfigurationsparameter oder die ersten Sicherheitskonfigurationsparameter oder die zweiten Sicherheitskonfigurationsparameter zum Managen der ersten I/O-Leitung auf Basis des Signals von der Auswahlvorrichtung ausgeben.
  • Das Ausgeben der ersten Konfigurationsparameter oder der ersten Sicherheitskonfigurationsparameter oder der zweiten Sicherheitskonfigurationsparameter durch den Multiplexer kann ein Senden eines ersten Signals durch die Auswahlvorrichtung zu dem Multiplexer zur Ausgabe der ersten Sicherheitskonfigurationsparameter in Antwort auf eine Bestimmung umfassen, dass ein erstes erfasstes Ereignis von einem ersten Typ ist. Die Auswahlvorrichtung kann ein zweites Signal zur Ausgabe der zweiten Sicherheitskonfigurationsparameter in Antwort auf eine Bestimmung zu dem Multiplexer senden, dass ein zweites erfasstes Ereignis von einem zweiten Typ ist.
  • Das Ereignis kann einem unnormalen physikalischen Zustand einer Vorrichtung und/oder einer nicht autorisierten externen Untersuchung, die auf die Vorrichtung einwirkt, und/oder einer Einwirkung eines nicht autorisierten Ausführungsbefehls auf die Vorrichtung zugeordnet sein.
  • Hierin offenbarte Ausführungsformen umfassen Verfahren, Systeme, Computerprogrammprodukte und computerlesbare Medien. Ein solches System umfasst wenigstens einen Prozessor und eine Speichervorrichtung, die Anweisungen speichert, die, wenn durch den wenigstens einen Prozessor ausgeführt, bewirken, dass der wenigstens eine Prozessor die oben beschriebenen Aktionen durchführt. Ein solches Computerprogrammprodukt ist in einem nicht flüchtigen maschinenlesbaren Medium ausgeführt, das Anweisungen speichert, die durch wenigstens einen Prozessor ausführbar sind. Die Anweisungen sind konfiguriert, um zu bewirken, dass der wenigstens eine Prozessor die oben beschriebenen Aktionen durchführt. Ein entsprechendes computerlesbares Medium speichert Anweisungen, die bei der Ausführung durch einen oder mehrere Prozessoren, dazu konfiguriert sind, zu bewirken, dass der wenigstens eine Prozessor die oben beschriebenen Aktionen durchführt.
  • Kurze Beschreibung der Figuren
  • 1 zeigt ein Blockdiagramm eines beispielhaften Systems gemäß einer Ausführungsform, welches einen Mikrocontroller umfasst.
  • 2A bis 2C stellen Blockdiagramme eines beispielhaften Mikrocontrollers und Komponenten mit einem Hardwaremodul zur I/O-Leitungssicherungskonfiguration gemäß einer Ausführungsform dar.
  • 3 zeigt ein Flussdiagramm eines beispielhaften Prozesses gemäß einer Ausführungsform zum Anwenden einer Sicherheitskonfiguration auf eine Mikrocontroller-I/O-Leitung bei Erfassung eines unnormalen Zustands.
  • Detaillierte Beschreibung
  • Die vorliegende Offenbarung beschreibt Systeme und Techniken zum Anwenden einer Sicherheitskonfiguration auf eine I/O-Leitung eines Mikrocontrollers bei Erfassung eines dem Mikrocontroller zugeordneten unnormalen Zustands. Unter normalen Betriebsbedingungen managt eine PIO-Steuerung, die in dem Mikrocontroller vorgesehen ist, die I/O-Leitung, so dass diese unter Verwendung eines ersten Betriebsmodus funktioniert. Ein der PIO-Steuerung zugeordnetes Hardwaremodul kommuniziert mit einer Ereigniserfassungsvorrichtung. In Antwort auf eine Erfassung eines unnormalen Zustands, wie z. B. eines Gefahrenereignisses oder eines anderen Ereignisses (z. B. eines Frequenz-, Spannungs- oder Temperaturüberwachungsereignisses) wird das Hardwaremodul ausgelöst, um einen zweiten Betriebsmodus auf die I/O-Leitung anzuwenden. In einer Ausführungsform ist der zweite Betriebsmodus ein Sicherheitsbetriebsmodus.
  • In einer Ausführungsform wird eine Sicherheitskonfiguration auf eine Mikrocontroller-I/O-Leitung automatisch und sofort durch eine Hardware ohne Intervention durch eine Software bei Erfassung eines unnormalen Zustands, wie z. B. eines Gefahrenereignisses oder eines nicht autorisierten Ereignisses, angewendet. Wenn die Sicherheitskonfiguration angewendet wird, wird verhindert, dass die I/O-Leitung Anweisungen und/oder Daten von einer externen Quelle empfängt oder Anweisungen und/oder Daten an eine externe Quelle sendet. In diesem Fall können das System und die Techniken verhindern, dass schädliche Software (z. B. Malware) eine Softwarekonfiguration der I/O-Leitung modifiziert, oder verhindern, dass eine schädliche Software im Mikrocontroller die Funktionen anderer Geräte modifiziert. Dadurch wird der Mikrocontroller gegenüber Angriffen abgesichert. Zusätzlich oder alternativ ermöglicht eine hierin offenbarte Ausführung, dass für ein Hardware- oder Softwarezertifikat sichergestellt wird, dass ein Zugriff (z. B. Dateneingang oder -ausgang) auf die Hardware bei der Erfassung eines unnormalen Ereignisses nicht durchgeführt wird. Dies kann nützlich sein, um die offizielle Sicherheitszertifizierung des Labors zu unterstützen. Die Verwendung des hierin offenbarten Hardwarezugangs kann auch eine Antwort auf einen unnormalen Zustand sein, die im Vergleich zu einem Softwarezugang schneller ist. Das Hardwaremodul kann weiterhin gegenüber einer Softwarelösung leichter implementiert werden, da letztere einen Zertifizierungsprozess bezüglich ihrer Sicherungsfähigkeit umfasst.
  • In einer Ausführungsform umfasst ein Mikrocontroller eine oder mehrere I/O-Leitungen, um mit der externen Umgebung zu interagieren. Der Mikrocontroller weist z. B. Schnittstellen mit einer ersten externen Vorrichtung mittels einer ersten I/O-Leitung und mit einer zweiten externen Vorrichtung mittels einer zweiten I/O-Leitung auf. Der Mikrocontroller sendet Anweisungen und/oder Daten zu oder empfängt Anweisungen und/oder Daten von der ersten externen Vorrichtung über die erste I/O-Leitung und der zweiten externen Vorrichtung über die zweite I/O-Leitung. Der Mikrocontroller kann andere I/O-Leitungen verwenden, um mit anderen externen Vorrichtungen in einer ähnlichen Weise zu kommunizieren. Die ersten und zweiten externen Vorrichtungen können u. a. ein anderer Mikrocontroller, eine Speichervorrichtung, eine Benutzereingabevorrichtung, eine Remote-Network-Vorrichtung sein.
  • In einer Ausführungsform umfasst ein Mikrocontroller eine PIO-Steuerung, die konfiguriert ist, um die I/O-Leitungen des Mikrocontrollers zum Interagieren mit der externen Umgebung zu managen. Die PIO-Steuerung ist z. B. konfiguriert, um eine Anwendungskonfiguration auf eine erste I/O-Leitung des Mikrocontrollers anzuwenden. Die Anwendungskonfiguration kann auf Basis der Anweisungen und/oder Daten bestimmt werden, die durch die erste I/O-Leitung zu verarbeiten sind. Die erste I/O-Leitung agiert in einem ersten Betriebsmodus, wenn die Anwendungskonfiguration angewendet wird. In einer Ausführungsform entspricht der erste Betriebsmodus einem normalen oder regulären Betriebsmodus, beispielsweise einem Modus, der ausgeführt wird, wenn kein Gefahrenereignis oder andere unnormale Zustände auftreten. Die PIO-Steuerung konfiguriert andere I/O-Leitungen des Mikrocontrollers in einer ähnlichen Weise. Die Konfiguration jeder I/O-Leitung kann mittels einer Software entsprechend der gewählten Anwendung programmiert werden, die den entsprechenden I/O-Leitungen zugeordnet ist.
  • In einer Ausführungsform ist die PIO-Steuerung aus Sicherheits- oder Sicherheitsgründen dazu ausgelegt, eine Sicherheitskonfiguration auf eine oder mehrere I/O-Leitungen des Mikrocontrollers anzuwenden, wenn ein unnormaler Zustand erfasst wird. Der unnormale Zustand kann z. B. einer Temperaturüberhöhung oder Öffnung des physikalischen Gehäuses des Mikrocontrollers oder einer Öffnung des Gehäuses der Einrichtung entsprechen, in die der Mikrocontroller eingebettet ist. Die PIO-Steuerung kann in dieser Weise ausgelegt sein, um das Erhalten einer Zertifizierung zu unterstützen, wie das „IEC 60335 Klasse B Zertifikat”. Gemäß einem anderen Beispiel kann ein Mikrocontroller, der in einem sicheren Banksystem verwendet wird, eine PIO-Steuerung umfassen, die ausgelegt ist, automatisch einige Mikrocontroller I/O-Leitungen in einem Sicherheitsmodus festzulegen, um zu vermeiden, dass Sicherheitsdaten im Falle eines externen Gefahrenereignisses zu einem externen schädlichen Untersuchungssystem gesendet werden.
  • In diesem Zusammenhang betrifft ein unnormaler Zustand einen Zustand des Mikrocontrollers oder das Auftreten eines Ereignisses, welches von normalen Betriebszuständen des Mikrocontrollers abweicht. Ein unnormaler Zustand kann z. B. ein Gefahrenereignis sein, welches eine Einwirkung auf den Mikrocontroller bezeichnet, die versucht, den Betrieb der Komponenten des Mikrocontrollers zu stören oder nicht autorisierte Änderungen daran vorzunehmen. Ein Gefahrenereignis kann einen physikalischen Eingriff auf den Mikrocontroller, z. B. eine physikalische Untersuchung des Mikrocontrollerkörpers, einen Versuch, das Gehäuse des Mikrocontrollers zu öffnen, oder eine nicht autorisierte Benutzereingabe auf der Mikrocontroller-I/O-Leitung darstellen, die sich von erwarteten oder bekannten Benutzereingaben unterscheidet. Alternativ kann ein Gefahrenereignis einen Softwareeingriff auf den Mikrocontroller darstellen, z. B. eine schädliche Software, die versucht, die Mikrocontroller-firmware zu modifizieren. Ein Gefahrenereignis kann ein externes Ereignis sein, wie z. B. eine externe physikalische Untersuchung des Körpers des Mikrocontrollers, oder eine nicht autorisierte Benutzereingabe. Alternativ kann ein Gefahrenereignis intern erzeugt werden, z. B. eine schädliche Software versucht, nicht autorisierte Anweisungen oder Daten durch mindestens eine I/O-Leitung zu versenden, nachdem die schädliche Software die Konfiguration des Mikrocontrollers in einigen Belangen geändert hat. Gemäß der obigen Erläuterung können unnormale Zustände u. a. einem plötzlichen Ansteigen in der Innentemperatur des Mikrocontrollers (z. B. eine Änderung in der Temperatur über eine vorgegebene Schwelle, die in der Größenordnung von einigen 100 Millisekunden bis zu einigen wenigen Sekunden auftritt) oder einer Spannungs- oder Stromspitze entsprechen. In den folgenden Abschnitten werden die Ausdrücke unnormaler Zustand- und Gefahrenereignis hinsichtlich eines beliebigen Ereignisses oder einer beliebigen Aktion verwendet, die versucht, den Betrieb eines Mikrocontrollers zu ändern oder zu stören.
  • In einer Ausführungsform werden Sicherheitskonfigurationsparameter auf die I/O-Leitungen eines Mikrocontrollers angewendet, der eine Hardwareschaltung verwendet. Tatsächlich wird dies mittels eines zusätzlichen Hardwaremoduls in dem Mikrocontroller erreicht, der mit einer Ereigniserfassungsvorrichtung im Mikrocontroller gekoppelt ist. In diesem Zusammenhang bedeutet „gekoppelt mit” nicht unbedingt eine direkte Kopplung; es können zwischen zwei miteinander gekoppelten Hardwaremodulen ein oder mehrere Zwischenkomponenten vorhanden sein.
  • Wenn der Ereignisdetektor ein Gefahrenereignis oder einen anderen unnormalen Zustand erfasst, wird das Hardwaremodul ausgelöst, um Sicherheitskonfigurationsparameter automatisch und sofort auf die Mikrocontroller-I/O-Leitungen anzuwenden. Der Prozess kann im Vergleich zur Rekonfigurierung der PIO-Steuerung mittels Software zum Laden der oben beschriebenen Sicherheitskonfigurationsparameter beschleunigt werden. Da keine Softwarekonfiguration auftritt, kann dies verhindern, dass die Softwarezertifizierung komplexer wird, oder kann für Modifizierungen durch schädliche Software unempfindlicher gemacht werden. Das zusätzliche Hardwaremodul ist als Teil der PIO-Steuerung ausgeführt. Die folgenden Abschnitte beschreiben einen Mikrocontroller, der eine solche Hardwareschaltung zum Anwenden von Sicherheitskonfigurationsparameter auf die Mikrocontroller-I/O-Leitungen umfasst, und beschreibt Techniken, durch die die Hardwareschaltung zur Anwendung der Sicherheitskonfigurationsparameter auf die I/O-Leitungen verwendet wird.
  • 1 zeigt ein Blockdiagramm eines beispielhaften Systems 100 gemäß einer Ausführungsform, das einen Mikrocontroller 110 umfasst. Zusätzlich zu dem Mikrocontroller 110 umfasst das System 100 externe Vorrichtungen 140 und 150. Der Mikrocontroller 110 umfasst einen Prozessor 112, eine PIO-Steuerung 114, eine digitale Steuerung 116, einen Speicher 118 und einen Systembus 120. Der Mikrocontroller 110 umfasst auch eine oder mehrere I/O-Leitungen 130 (130a, 130b und 130c) zur Verbindung mit anderen Vorrichtungen und der externen Umgebung. Die I/O-Leitungen 130 können als Pads oder Pins des Mikrocontrollers bezeichnet werden.
  • Der Mikrocontroller 110 kommuniziert darstellungsgemäß mit den externen Vorrichtungen 140 und 150 durch I/O-Leitungen 130a und 130b. Die erste oder zweite externe Vorrichtung kann u. a. einen anderen Mikrocontroller, eine Speichervorrichtung, eine Benutzereingabevorrichtung, eine Remote-Network-Vorrichtung darstellen. Der Mikrocontroller 110 kann z. B. mit den externen Vorrichtungen 140 und/oder 150 über direkte physikalische Leitungen kommunizieren, wenn sich der Mikrocomputer 110 und die externe Vorrichtung 140 und/oder die externe Vorrichtung 150 z. B. in dem gleichen lokalen Area Netzwerk befinden. Zusätzlich oder alternativ kann der Mikrocontroller 110 mit den externen Vorrichtungen 140 und/oder 150 über Wide Area Netzwerke kommunizieren, wenn die externe Vorrichtung 140 und/oder die externe Vorrichtung 150 Remote-Network-Vorrichtungen darstellen. In einigen Fällen kann der Mikrocontroller 110 z. B. mit der externen Vorrichtung 140 oder 150 physikalisch gekoppelt sein, wenn der Mikrocontrollerr 110 in die Vorrichtung 140 oder 150 entsprechend eingebettet ist. Die Vorrichtung 140 kann z. B. eine Anzeigevorrichtung sein und der Mikrocontroller 110 kann in die Anzeigenvorrichtung eingebettet sein. Gemäß einem anderen Beispiel kann die Vorrichtung 150 ein Point of Sales Terminal sein, in das der Mikrocontroller 110 eingebettet ist.
  • Der Mikrocontroller 110 stellt eine integrierte Schaltung mit Berechnungsfunktionalität dar. Der Mikrocontroller verwendet den Prozessor 112 zur Durchführung verschiedener Berechnungsoperationen. Der Mikrocontroller 110 kann u. a. in eingebetteten Anwendungen verwendet werden. Der Mikrocontroller kann z. B. zum Betrieb einer Flüssigkristallanzeige (LCD) eines Point of Sales Terminals verwendet werden.
  • Die PIO-Steuerung 114 umfasst eine Hardwareschaltung, die zum Managen der Operationen der I/O-Leitungen 130 konfiguriert ist. Die PIO-Steuerung 114 wendet Anwendungskonfigurationsparameter auf jede I/O-Leitung an, die auf Basis der Art von Anwendung bestimmt werden, die durch die spezielle I/O-Leitung verarbeitet werden, z. B. die Art von Anweisungen und/oder Daten, die mit einer externen Vorrichtung unter Verwendung der I/O-Leitung ausgetauscht werden. Während des Betriebs funktioniert jede I/O-Leitung auf Basis der Anwendungskonfigurationsparameter, die auf die I/O-Leitung angewendet werden. Hinsichtlich des Point of Sales Terminal Beispiels oben können z. B. einige I/O-Leitungen des Mikrocontrollers konfiguriert sein, um Benutzereingaben zu managen, die (z. B. mittels eines Keypads) an dem Point of Sales Terminal empfangen werden, während einige andere Mikrocontroller-I/O-Leitungen konfiguriert sein können, um die Daten auf der Anzeige bereitzustellen. Die Anwendungskonfigurationsparameter können durch einen Benutzer programmiert sein, beispielsweise durch einen Systemadministrator.
  • In einer Ausführungsform werden verschiedene Anwendungskonfigurationsparameter auf verschiedene I/O-Leitungen 130 angewendet. Dies ist z. B. der Fall, wenn die verschiedenen I/O-Leitungen verschiedene Arten von Instruktionen und/oder Daten handhaben, wie in dem obigen Beispiel des Point of Sales Terminals angemerkt ist. In einer anderen Ausführungsform teilen sich jedoch zwei oder mehr I/O-Leitungen 130 die gleichen Anwendungskonfigurationsparameter, z. B. wenn solche I/O-Leitungen dieselbe Art von Instruktionen und/oder Daten handhaben. In einer Ausführungsform können die Anwendungskonfigurationsparameter auf alle I/O-Leitungen angewendet werden. Dies ist z. B. der Fall, wenn alle I/O-Leitungen dieselbe Art von Instruktionen und/oder Daten handhaben.
  • Die digitale Steuerung 116 ist eine Schaltung, die in dem Mikrocontroller 110 vorgesehen ist, der zur Verarbeitung der Instruktionen und/oder Daten konfiguriert ist, die mit der externen Umgebung ausgetauscht werden. Die Anweisungen und/oder Daten werden der digitalen Steuerung 116 und von der digitalen Steuerung 116 mittels der I/O-Leitungen übermittelt, die mit der externen Umgebung verbunden sind. In einer Ausführungsform sind die I/O-Leitungen konfiguriert, um als Leitung für die Anweisungen und/oder Daten zu fungieren, die mit der externen Umgebung ausgetauscht werden, während eine Verarbeitung der Anweisungen und/oder Daten durch die digitale Steuerung 116 durchgeführt wird. Angesichts des Beispiels hinsichtlich des Point of Sales Terminals, das oben beschrieben ist, kann die digitale Steuerung 116 eine LCD-Steuerung sein, die Daten zu den Mikrocontroller-I/O-Leitungen sendet, die die Terminalanzeige betreibt. Obgleich eine digitale Steuerung dargestellt ist, kann der Mikrocontroller 110 mehr als eine digitale Steuerung umfassen, wie etwa u. a. eine Netzwerksteuerung zur Verarbeitung von Netzwerkdaten auf einigen I/O-Leitungen, andere Anzeigesteuerungen oder eine Eingabeschnittstellensteuerung. In einer Ausführungsform kann die digitale Steuerung 116 mit dem Systembus 120 gekoppelt sein.
  • Der Mikrocontroller 110 umfasst zusätzliche Hardwaremodule oder Komponenten, wie z. B. einen Speicher 118. Der Speicher 118 kann einen Programmspeicher darstellen, der in der Form von Hardwareregistern, Flash Memory, Direktzugriffsspeicher oder Nur-Lese-Speicher ausgeführt sein kann. In einer Ausführungsform werden die Anwendungskonfigurationsparameter für die I/O-Leitungen 130 in dem Speicher 118 gespeichert und in die PIO-Steuerung 114 geladen, wenn der Mikrocontroller 110 hochgefahren wird.
  • Der Mikrocontroller 110 kann andere Module umfassen. Der Mikrocontroller 110 kann z. B. eine Ereigniserfassungsvorrichtung umfassen, die dazu konfiguriert ist, die Betriebsbedingungen des Mikrocontrollers zu überwachen und ein Auftreten von unnormalen Zuständen zu erfassen, wie z. B. ein Gefahrenereignis oder andere nicht autorisierte Ereignisse, wie mit Bezug auf 2A beschrieben wird.
  • Der Systembus 120 im Mikrocontroller 110 überträgt Daten unter den verschiedenen Mikrocontrollerkomponenten, wie z. B. dem Prozessor 112, dem Speicher 118, der PIO-Steuerung 114 und der digitalen Steuerung 116. In einer Ausführungsform existieren zusätzliche Kommunikationskanäle zwischen der PIO-Steuerung 114 und der digitalen Steuerung 116. In einer Ausführungsform wird (werden) eine (mehrere) Anwendungskonfiguration(en) für I/O-Leitungen 130 von dem Speicher 118 zu der PIO-Steuerung 114 durch den Systembus 120 gesendet.
  • Die 2A2C stellen Blockdiagramme eines beispielhaften Mikrocontrollers 110 und von Komponenten mit einem Hardwaremodul für eine I/O-Leitungssicherungskonfiguration gemäß einer Ausführungsform dar. Gemäß der Darstellung in 2A umfasst der Mikrocontroller 110 eine PIO-Steuerung 114, eine digitale Steuerung 116, einen Systembus 120, eine Erfassungsvorrichtung bzw. Detektor 222, eine Ereigniserfassungsleitung 228 und mehrere I/O-Leitungen, wie z. B. 130a130c.
  • Eine oder mehrere I/O-Leitungen 130a130c sind konfiguriert, um den Mikrocontroller 110 mit der externen Umgebung zu verbinden. Obgleich drei I/O-Leitungen dargestellt sind, kann der Mikrocontroller 110 eine größere oder geringere Anzahl von I/O-Leitungen umfassen. Die I/O-Leitung 130a kann z. B. einer Netzwerkschnittstelle zugeordnet sein, die verwendet wird, um Anweisungen und/oder Daten mit einer entfernten Vorrichtung über ein Netzwerk auszutauschen. Die I/O-Leitung 130 kann z. B. verwendet werden, um eine Anzeige zu betrieben, die mit dem Mikrocontroller 110 verbunden ist, und kann konfiguriert sein, um Daten für die Anzeige bereitzustellen. Die I/O-Leitung 130c kann einer Eingabeschnittstelle für den Mikrocontroller 110 zugeordnet sein und konfiguriert sein, um Anweisungen und/oder Daten zu empfangen, die von einem Benutzer bereitgestellt werden. Die I/O-Leitungen 130a130c, einschließlich zusätzlicher I/O-Leitungen, die in 2A nicht dargestellt sind, können für andere Verwendungen konfiguriert sein.
  • Die PIO-Steuerung 114 umfasst eine Anzahl von Konfigurationsmodulen, wie z. B. Konfigurationsmodule 231a, 231b und 231c (wie dargestellt ist), wobei die Konfigurationsmodule konfiguriert sind, um die I/O-Leitungen zu managen. In einer Ausführungsform ist jede I/O-Leitung konfiguriert und wird durch ein unterschiedliches Konfigurationsmodul 231 gemanagt. Gemäß der Beschreibung hierin stellt ein Konfigurationsmodul eine logische Sammlung von Hardware in der PIO-Steuerung zum Konfigurieren und Managen einer I/O-Leitung dar. Ein Konfigurationsmodul umfasst Register oder einen anderen Speicher, der Betriebskonfigurationsparameter für eine I/O-Leitung und eine I/O-Leitungsmanagementeinheit speichert, die die Konfigurationsparameter auf eine entsprechend gemanagte I/O-Leitung 130 anwendet. Gemäß der Darstellung in 2A managt das Konfigurationsmodul 231b z. B. die I/O-Leitung 130b und umfasst einen Speicher, der die Anwendungskonfiguration 234b und die I/O-Leitungsmanagementeinheit 232b speichert, die die Konfigurationsparameter auf die I/O-Leitung 130b anwendet. Die I/O-Leitungsmanagementeinheit 232b ist darstellungsgemäß mit der I/O-Leitung 130b mittels der Puffer 233c und 233d verbunden. Der Speicher, der die Anwendungskonfiguration 234b speichert, kann ein Hardwareregister oder ein anderes Speichermedium sein. In einer Ausführungsform werden jedoch zwei oder mehr I/O-Leitungen durch das gleiche Konfigurationsmodul 231 gemanagt (oder geteilt).
  • Einige der I/O-Leitungen 130 in dem Mikrocontroller 110 sind dazu in der Lage, in einem Sicherheitsmodus betrieben zu werden, wenn ein unnormaler Zustand erfasst wird. In solchen Fällen umfasst ein Konfigurationsmodul 231 entsprechend einer sicherungsfähigen I/O-Leitung im Sicherheitsmodul eine zusätzliche Hardware, wie z. B. einen zusätzlichen Speicher, um mehrere Konfigurationsparameter für die I/O-Leitung zu speichern, und einen Multiplexer, der einen der mehreren Konfigurationsparameter an die entsprechende I/O-Leitungsmanagementeinheit zum Managen der zugeordneten I/O-Leitung ausgibt. Die I/O-Leitungen 130a und 130c können in einem Sicherheitsmodul betrieben zu werden. Das Konfigurationsmodul 231a, das der I/O-Leitung 130a entspricht, umfasst die I/O-Leitungsmanagementeinheit 232a und eine Speicherhardware zum Speichern der Anwendungskonfiguration 234a und der Sicherheitskonfiguration 236a. Das Konfigurationsmodul 231a umfasst auch einen Multiplexer 226a, der mit der Hardware gekoppelt ist, die die Anwendungskonfiguration 234a und die Sicherheitskonfiguration 236a speichert, und empfängt die Anwendungskonfiguration 234a, die Sicherheitskonfiguration 236s an seinem Eingang. Der Multiplexer 226a gibt eine dieser zwei Konfigurationsparameter an die I/O-Leitungsmanagementeinheit 232a zum Managen der I/O-Leitung 130a aus. Die I/O-Leitungsmanagementeinheit 232a ist mit der I/O-Leitung 130a durch die Puffer 233a und 233b verbunden
  • In ähnlicher Weise ist das Konfigurationsmodul 231c der I/O-Leitung 130c zugeordnet und es umfasst eine Speicherhardware, die die Anwendungskonfiguration 234c und die Sicherheitskonfiguration 236c speichert. Das Konfigurationsmodul 231c umfasst auch die I/O-Leitungsmanagementeinheit 232c und den Multiplexer 226c. Der Eingang des Multiplexers 226c ist mit der Hardware gekoppelt, die die Anwendungskonfiguration 234c und die Sicherheitskonfiguration 236c speichert; und der Multiplexer gibt die Anwendungskonfiguration 234c oder die Sicherheitskonfiguration 236c an die I/O-Leitungsmanagementeinheit 232c zum Managen der I/O-Leitung 130c aus. Die I/O-Leitungsmanagementeinheit 232c ist mit der I/O-Leitung 130c durch die Puffer 233e und 233f verbunden.
  • Gemäß dieser Beschreibung sind verschiedene Konfigurationen für das Sicherheitsmodul einer I/O-Leitung möglich. Zur Veranschaulichung ist die I/O-Leitung in einer Ausführungsform dazu konfiguriert, wenn das Sicherheitsmodul für eine I/O-Leitung freigegeben wird, in einer Weise betrieben zu werden, die sich von den normalen Operationen unterscheidet, die für die I/O-Leitung erwartet werden. Wenn z. B. eine I/O-Leitung bei einer Anwendung einer Anwendungskonfiguration auf die I/O-Leitung zur Kommunikation von Daten von dem Mikrocontroller 110 zur Außenwelt (z. B. Ausgabemodus) verwendet wird, können der Ausgabepuffer der I/O-Leitung deaktiviert und der Eingabepuffer aktiviert werden, wenn der Sicherheitsmodus für die I/O-Leitung aktiviert wird, so dass die I/O-Leitung in einem Eingabemodus zum Empfang von Daten funktioniert. Demgemäß würde die I/O-Leitung nicht länger Daten zur Außenwelt kommunizieren. Das Umgekehrte ist auch möglich. Eine I/O-Leitung, die in einem Eingabemodus funktioniert, wenn eine Anwendungskonfiguration angewendet wird, kann umgeschaltet werden, um in einem Ausgabemodus zu operieren, wenn ein Sicherheitsmodus auf die I/O-Leitung angewendet wird (wobei z. B. der Eingabepuffer und der Ausgabepuffer deaktiviert werden). Alternativ können der Eingabepuffer und der Ausgabepuffer deaktiviert werden, wenn ein Sicherheitsmodus für eine I/O-Leitung aktiviert wird, so dass die I/O-Leitung nicht länger mit der externen Umgebung kommuniziert, entweder um Daten zu senden oder Daten zu empfangen.
  • Die Speicherhardware, die die Anwendungskonfigurationen 234a und 234c und die Sicherheitskonfigurationen 236a und 236c speichert, kann einzelne Register oder einen anderen Speicher in der PIO-Steuerung 114 darstellen. Die folgenden Abschnitte beschreiben die Speicherhardware hinsichtlich Register, wobei die Beschreibung gleichfalls auf andere Arten von Speicher anwendbar ist. Die Anwendungskonfigurationen und die Sicherheitskonfigurationen können in ihre entsprechenden Register geladen werden, wenn der Mikrocontroller 110 eingeschaltet wird. Während des regulären Betriebs, z. B. wenn kein Gefahrenereignis oder ein anderer unnormaler Zustand erfasst wird, funktionieren die I/O-Leitungen im Mikrocontroller 110 auf Basis der Anwendungskonfigurationsparameter. Während des regulären Betriebs wird z. B. die Anwendungskonfiguration 234a auf die I/O-Leitung 130a angewendet, die Anwendungskonfiguration 234b wird auf die I/O-Leitung 130b angewendet, während die Anwendungskonfiguration 234c auf die I/O-Leitung 130c angewendet wird. In einer Ausführungsform werden die Konfigurationsparameter durch den entsprechenden Multiplexer seriell auf eine I/O-Leitung gestreamt.
  • 2B zeigt ein Blockdiagramm eines Beispiels einer I/O-Leitungsmanagementeinheit 232 des Mikrocontrollers 110 gemäß einer Ausführungsform. Die I/O-Leitungsmanagementeinheit 232 kann eine der I/O-Leitungsmanagementeinheiten 232a, 232b oder 232c sein. Die I/O-Leitungsmanagementeinheit 232 umfasst Register 235a, 235b, 235c, 235d, 235e, 235f und 235g; Multiplexer 237a, 237b, 237c, 237d, 237e und 237f; und Logikgates 238 und 240. Die I/O-Leitungsmanagementeinheit 232 ist mit einer I/O-Leitung 130 durch die Puffer 242a und 242b verbunden. Die I/O-Leitung 130 kann eine der I/O-Leitungen 130a, 130b oder 130c sein.
  • Die I/O-Leitungsmanagementeinheit 232 umfasst einen Ausgang 246 zum Weiterleiten von Inhalten von verbundenen peripheren Modulen des Mikrocontrollers 110 (z. B. darstellungsgemäß die Peripherie A, Peripherie B, Peripherie C und Peripherie D) zu externen Vorrichtungen mittels der I/O-Leitung 130. Die I/O-Leitungsmanagementeinheit 232 kann zwischen den Ausgaben für die verbundenen Peripherien und der Ausgabe für eine verbundene Peripherie schalten, die unter Verwendung der peripheren Ausgabeaktion 247 freigegeben wird. Die I/O-Leitungsmanagementeinheit 232 umfasst auch einen Eingang 248 zum Senden von Inhalten, die von externen Vorrichtungen mittels der I/O-Leitung 130 empfangen werden, zu den verbundenen peripheren Modulen (z. B. Peripherie A, Peripherie B, Peripherie C und Peripherie D).
  • Der Betriebsmodus der I/O-Leitung 130 kann in einem Open-Drain-Modus konfiguriert sein, z. B. hochgezogen auf die Versorgungsspannung 223 durch den Hochziehwiderstand 243. Das Spannungsniveau der I/O-Leitung 130 kann verringert werden, z. B. durch ein Herabziehen auf die Massespannung 225 durch den Herabziehwiderstand 244. Die Register 235f können eingesetzt werden, um ein Hochziehen freizugeben, während die Register 235g verwendet werden können, um ein Herabziehen freizugeben. Die Register 235a235g können ebenfalls für andere Zwecke verwendet werden. Die Register 235c können z. B. verwendet werden, um einen Betrieb von einer digitalen Steuerung freizugeben. In einer Ausführungsform sind die Register 235a235g durch einen Benutzer konfigurierbar.
  • Mit Bezug auf das Blockdiagramm des Mikrocontrollers 110, der in 2A dargestellt ist, funktionieren die I/O-Leitungen 130a und 130c in einem Sicherheitsmodus unter Verwendung von Sicherheitskonfigurationen 236a bzw. 236c, wenn ein unnormaler Zustand erfasst wird. Die PIO-Steuerung 114 umfasst eine Konfigurationsauswahlvorrichtung bzw. Konfigurationsselektor 224 zum Schalten der Konfigurationsparameter von den sicherungsfähigen I/O-Leitungen der Anwendungskonfigurationen in die Sicherheitskonfigurationen. Gemäß der ausführlicheren Beschreibung unten steuert die Konfigurationsauswahlvorrichtung 224 den Multiplexer 226a, um zwischen der Anwendungskonfiguration 234a und der Sicherheitskonfiguration 236a für die I/O-Leitung 130a zu schalten, und steuert den Multiplexer 226c, um zwischen der Anwendungskonfiguration 234c und der Sicherheitskonfiguration 236c für die Anwendung auf die I/O-Leitung 130c zu schalten. In einer Ausführungsform wird weniger Hardware (z. B. eine geringere Anzahl von Register) verwendet, um die Sicherheitskonfigurationen im Vergleich zu den Anwendungskonfigurationen zu speichern. Die Energiequelle, die für die Sicherheitskonfigurationshardware verwendet wird, kann sich auch im Vergleich zu der unterscheiden, die für die Anwendungskonfigurationshardware verwendet wird.
  • Als Teil des Managens einer I/O-Leitung, verarbeitet eine I/O-Leitungsmanagementeinheit Anweisungen und/oder Daten, die an der I/O-Leitung empfangen werden, die sie managt. Die I/O-Leitung 130a kann z. B. einer Netzwerksschnittstelle gemäß der obigen Beschreibung zugeordnet sein und die I/O-Leitungsmanagementeinheit 232a kann Anweisungen und/oder Daten verarbeiten, die an der I/O-Leitung 130a von einer Netzwerkvorrichtung empfangen werden. Die I/O-Leitungsmanagementeinheit 232a kann Anweisungen und/oder Daten zu einer Netzwerksteuerung (z. B. dargestellt durch die digitale Steuerung 116) zur weiteren Bearbeitung weiterleiten. Gemäß einem anderen Beispiel kann die I/O-Leitungsmanagementeinheit 232b mit einer LCD-Steuerung (dargestellt durch die digitale Steuerung 116) interagieren, um Daten zu verarbeiten, die zu der I/O-Leitung 130b zum Betrieb einer Anzeige gesendet werden.
  • In einer Ausführungsform unterscheiden sich die Anwendungskonfigurationsparameter, die auf die unterschiedlichen I/O-Leitungen angewendet werden. Angesichts des obigen Beispiels kann die I/O-Leitung 130a einer Netzwerkschnittstelle entsprechen, die I/O-Leitung 130b kann zum Betrieb einer Anzeige verwendet werden, die mit dem Mikrocontroller 110 verbunden ist, und die I/O-Leitung 130c kann einer Eingabeschnittstelle für den Mikrocontroller 110 zugeordnet sein. Dementsprechend kann die Anwendungskonfiguration 234a, die der I/O-Leitung 130a entspricht, Konfigurationsparameter zur Verarbeitung von Netzwerkanweisungen und/oder Daten umfassen; die Anwendungskonfiguration 234b, die der I/O-Leitung 130b entspricht, kann Konfigurationsparameter zur Verarbeitung von Anweisungen/Daten zum Betreiben der Anzeigensteuerung des Mikrocontrollers umfassen, und die Anwendungskonfiguration 234c, die der I/O-Leitung 130c entspricht, kann Konfigurationsparameter zum Verarbeiten von empfangenen Eingaben eines Benutzers umfassen.
  • In einer Ausführungsform wird die gleiche Anwendungskonfiguration auf zwei oder mehr I/O-Leitungen angewendet. Dies kann z. B. der Fall sein, wenn die entsprechenden I/O-Leitungen gleiche oder ähnliche Funktionen durchführen. Die gleiche Anwendungskonfiguration kann z. B. auf zwei oder mehr I/O-Leitungen angewendet werden, die zum Betrieb der Anzeigensteuerung des Mikrocontrollers verwendet werden.
  • In einer Ausführungsform wird eine oder werden mehrere I/O-Leitungen im Mikrocontroller 110 nicht für einen Betrieb in einem Sicherheitsbetriebsmodus aktiviert. Zum Beispiel ist die I/O-Leitung 130b darstellungsgemäß nicht für einen Betrieb in einem Sicherheitsmodus freigegeben. Das entsprechende Konfigurationsmodul 231b umfasst ein einzelnes Register, das die Anwendungskonfiguration 234b speichert, die für die I/O-Leitung 130b konfiguriert ist, welche in einem Betriebsmodus unter Verwendung der Anwendungskonfiguration 234b funktioniert, sogar wenn ein Gefahrenereignis oder ein anderer unnormaler Zustand erfasst wird. In einer Ausführungsform sind die I/O-Leitungen, die nicht kritische oder nicht sicherungsempfindliche Anweisungen und/oder Daten verarbeiten, nicht sicherungsfähig (z. B. nicht dazu freigegeben, in einem Sicherheitsmodus geschützt zu werden). Die I/O-Leitung 130b kann z. B. konfiguriert sein, um die Anzeigensteuerung des Mikrocontrollers zu betreiben, ohne jedoch Anweisungen und/oder Daten mit der externen Umgebung auszutauschen. In einem solchen Fall kann die I/O-Leitung 130b nicht durch externe Ereignisse modifizierbar sein oder sie kann eine Konfiguration von anderen Vorrichtungen nicht modifizieren, da sie nicht mit einer externen Vorrichtung verbunden ist. Demgemäß ist die I/O-Leitung 130b nicht sicherungsfähig.
  • In einer Ausführungsform sind alle I/O-Leitungen in dem Mikrocontroller 110 für einen Betrieb in einem Sicherheitsmodus freigegeben. In solchen Fällen sind z. B. die Anwendungskonfiguration und die Sicherheitskonfiguration jeder I/O-Leitung in einer Weise zugeordnet, ähnlich der, die bezüglich der I/O-Leitung 130a oder 130c beschrieben ist.
  • Der Konfigurationselektor 224 stellt ein Hardwaremodul dar, das in der PIO-Steuerung 114 vorgesehen ist, die konfiguriert ist, um auszuwählen, welche Konfigurationsparameter auf die I/O-Leitungen angewendet werden. Die Konfigurationsauswahlvorrichtung 224 interagiert mit einer Hardware in den Konfigurationsmodulen, die den sicherungsfähigen I/O-Leitungen zugeordnet sind, um Sicherheitskonfigurationsparameter auf diese I/O-Leitungen anzuwenden, wenn ein Gefahrenereignis oder ein anderer unnormaler Zustand durch die Erfassungsvorrichtung 222 erfasst wird. Die Konfigurationsauswahlvorrichtung 224 ist z. B. mit dem Multiplexer 226a in einem Konfigurationsmodul 231a gekoppelt, das der I/O-Leitung 130a zugeordnet ist, und ist mit dem Multiplexer 226c in dem Konfigurationsmodul 231c gekoppelt, das der I/O-Leitung 130c zugeordnet ist. Die Konfigurationsauswahlvorrichtung 224 wird durch ein Signal aktiviert, das von der Erfassungsvorrichtung 222 empfangen wird, welches anzeigt, dass ein Gefahrenereignis oder ein anderer unnormaler Zustand auftritt. In einer Ausführungsform wird ein Signal auf der Ereigniserfassungsleitung 228 empfangen, erfasst ein Gefahrenereignis oder ein anderes externes Ereignis und sendet ein Erfassungssignal an die Erfassungsvorrichtung 222, die dementsprechend die Konfigurationsauswahlvorrichtung 224 aktiviert.
  • In einer Ausführungsform empfängt die Ereigniserfassungsleitung 228 eine Anzeige eines Ereignisses von wenigstens einer Erfassungsvorrichtung, die mit der Ereigniserfassungsleitung 228 verbunden ist, beispielsweise 229. Der Hochziehwiderstand 227 wird verwendet, um die wenigstens eine Erfassungsvorrichtung z. B. unter Durchführung eines logischen ODERs der Erfassungsvorrichtung zu koppeln und die zusammengesetzte Ausgabe für die Ereigniserfassungsleitung 228 bereitzustellen. Wenn kein Ereignis erfasst wird, liegt die Ausgabe auf der Versorgungsspannung 223. Wenn eine Erfassungsvorrichtung ein Ereignis erfasst, wird die Ausgabe, die durch die Ereigniserfassungsleitung 228 bereitgestellt wird, herabgezogen und das Ereignis wird durch die Ereigniserfassungsvorrichtung 222 erfasst. Wenn z. B. die Erfassungsvorrichtung 229 ein Ereignis erfasst, zieht die Erfassungsvorrichtung 229 das Spannungsniveau an der Ereigniserfassungsleitung 228 auf die Massespannung 225 herab. Der Wechsel im Spannungsniveau an der Erfassungsvorrichtungserfassungsleitung 228 von der Versorgungsspannung zur Massespannung löst eine Erfassung eines Ereignisses durch die Ereigniserfassungsvorrichtung aus.
  • Die Konfigurationsauswahlvorrichtung 224 umfasst eine interne Logik (z. B. Logikgates) und eine Speicherhardwareschaltung (z. B. Latches, Flip-Flops), welche konfiguriert ist, um ein Steuersignal zur Steuerung der Schaltoperation der Multiplexer zu erzeugen, wie z. B. des Multiplexers 226a oder 226c. In einer Ausführungsform wird das Steuersignal in Antwort auf eine Erfassung eines unnormalen Zustands erzeugt und es wird für die Multiplexer kein Steuersignal bereitgestellt, wenn ein unnormaler Zustand erfasst wird. In Abwesenheit des Steuersignals werden die normalen Anwendungskonfigurationsparameter ausgegeben und die Sicherheitskonfigurationsparameter werden in Antwort auf die Gegenwart des Steuersignals ausgegeben. Gemäß der nachfolgenden ausführlicheren Beschreibung ist die interne Logik- und Speicherhardwareschaltung des Konfigurationsauswahlvorrichtung 224 gemäß einer Ausführungsform auch konfiguriert, um den gegenwärtigen Zustand des Steuersignals zu speichern und entsprechend, ob die Anwendungskonfiguration oder die Sicherheitskonfiguration durch einen Multiplexer zu seiner zugeordneten I/O-Leitungsmanagementeinheit ausgegeben wird. In solchen Fällen kann die Konfigurationsauswahlvorrichtung 224 bei Empfang eines neuen Signals von der Erfassungsvorrichtung 222 bestimmen, ob ein aktualisiertes Steuersignal an die Multiplexer gesendet wird. In einer Ausführungsform umfasst die Konfigurationsauswahlvorrichtung 224 einen oder mehrere Konfigurationsbits, um eine Operation der Konfigurationsauswahlvorrichtung gemäß der nachfolgenden Beschreibung freizugeben oder zu deaktivieren.
  • Die Erfassungsvorrichtung 222 umfasst eine Hardwareschaltung, die verschiedene Signalniveaus überwacht, welche dem Mikrocontroller 110 zugeordnet sind, wie z. B. u. a. Spannungs- oder Stromniveaus auf den I/O-Leitungen, interne Spannungs- oder Stromniveaus, eine Temperatur des Mikrocontrollers. Die Erfassungsvorrichtung 222 kann eine Hardwareschaltung zur Durchführung eines Bit-weisen ODER der überwachten Signale umfassen und auf Basis des Ergebnisses der Logikoperation einen unnormalen Zustand bestimmen. Alternativ kann die Konfigurationsauswahlvorrichtung 224 eine Hardwareschaltung zur Durchführung eines Bitweisen ODER der überwachten Signale umfassen und auf Basis des Ergebnisses der Logikoperation einen unnormalen Zustand bestimmen. In einer Ausführungsform wird die Erfassungsvorrichtung 222 verwendet, um Ereignisse in Echtzeit zu filtern. Es können z. B. Logikgates zur Durchführung einer Debounce-Logik oder einer anderen Filterwirkung unter anderen Verwendungen verwendet werden, wobei die Logikgates von der Erfassungsvorrichtung umfasst werden.
  • Gemäß der detaillierteren Beschreibung unten bezüglich 2C sendet die Erfassungsvorrichtung 222 ein Signal an die Konfigurationsauswahlvorrichtung 224, wenn ein unnormaler Zustand erfasst wird. Zusätzlich oder alternativ kann die Erfassungsvorrichtung eine Softwareaktionsanforderung 221 an den Mikrocontroller 110 senden. Wenn das Signal von der Erfassungsvorrichtung 222 empfangen wird, sendet die Auswahlvorrichtung 224 ein Steuersignal (z. B. einen Sicherheitskonfigurationsschaltbefehl) an die Multiplexer, die den sicherungsfähigen I/O-Leitungen zugeordnet sind, wie z. B. die Multiplexer 226a und 226c.
  • 2C zeigt ein Blockdiagramm eines Beispiels der Erfassungsvorrichtung 222 und der Konfigurationsauswahlvorrichtung 224 gemäß einer Ausführungsform. Die Erfassungsvorrichtung 222 umfasst darstellungsgemäß ein Niveauerfassungsmodul 252, einen Debouncer 254 und wenigstens ein UND-Logikgate 256a, 256x und 256y und ein ODER-Gate 258. Die Erfassungsvorrichtung 222 empfängt ein Signal von der Ereigniserfassungsleitung 228 an einem Eingang der Niveauerfassung 252, die eine Hardwareschaltung darstellt, welche konfiguriert ist, um ein Spannungsniveau oder eine Änderung davon (z. B. niedriges oder hohes Niveau) in dem Signal zu erfassen und eine Ausgabe an den Debouncer 254 zu senden. Der Debouncer 254 stellt ein Hardwaremodul dar, des das Signal filtert, welches von der Niveauerfassung 252 empfangen wurde. In einer Ausführungsform sendet die Niveauerfassung 252 mehrere Signale entsprechend einem Gefahrenereignis oder einem anderen externen Ereignis an den Debouncer 254. Der Debouncer 254 ist konfiguriert, um die mehreren Signale zu filtern und das Ergebnis der Filterung auszugeben, z. B. eines der mehreren Signale. In einer anderen Ausführungsform sind mehrere Niveauerfassungsmodule vorhanden, die jeweils einem separaten Signal zugeordnet sind. Entsprechend einem Niveauerfassungsmodul ist für jedes Signal ein separater Anzeiger vorhanden.
  • Die Ausgabe des Debouncers 254 wird als eine Eingabe für das UND-Gate 256a bereitgestellt, welches konfiguriert ist, um Signale zu verarbeiten, die externen Ereignissen zugeordnet sind, wie z. B. einem Gefahrenereignis oder einem anderen externen Ereignis. Die Auslösung der Konfigurationsauswahlvorrichtung 224 auf Basis der Verarbeitung der externen Ereignissignale durch die Erfassungsvorrichtung 222 kann durch Ein- oder Ausschalten des Freigabegefahrensignals 257a an einem Eingang des Gates 256a freigegeben werden. Wenn das Freigabegefahrensignal 257a eingeschalten wird, beispielsweise ein hohes Signalniveau, dann werden externe Ereignissignale, die durch die Erfassungsvorrichtung 222 verarbeitet werden, an die Konfigurationsauswahlvorrichtung 224 gesendet, z. B. wird das Signal, das durch den Debouncer 254 bereitgestellt wird, an den Ausgang des Gates 256a gesendet. Wenn das Freigabegefahrensignal 257a ausgeschaltet wird, beispielsweise niedriges Signalniveau, dann werden externe Ereignissignale, die durch die Erfassungsvorrichtung 222 verarbeitet werden, nicht an die Konfigurationsauswahlvorrichtung 224 gesendet, z. B. wird das Signal, das von dem Debouncer 254 bereitgestellt wird, nicht an das Gate 256a ausgegeben.
  • In einer ähnlichen Weise verarbeiten zusätzliche UND-Gates, z. B. 256x und 256y, Signale, die von internen Quellen 259 an dem Mikrocontroller erzeugt werden (z. B. u. a. Signal X und Y). Die internen Quellen 259 erfassen Spannungs- oder Stromänderungen, Temperaturfluktuationen oder einen anderen unnormalen Zustand. Obwohl lediglich zwei Gates 256x und 256y gezeigt sind, können zusätzliche Gates vorhanden sein, z. B. so viele Gates, wie interne Quellen 259 vorhanden sind, für die die Konfigurationsauswahlvorrichtung 224 zu aktivieren ist.
  • Das Auslösen der Konfigurationsauswahlvorrichtung 228 auf Basis einer Verarbeitung von Ereignissen von internen Quellen, kann durch Ein- oder Ausschalten der Freigabequellensignale 257x oder 257y an den Eingängen der Gates 256x oder 256y entsprechend freigegeben oder deaktiviert werden. Wenn z. B. das Freigabequellen-X-Signal 257x eingeschaltet wird, z. B. ein hohes Signalniveau, dann wird ein Ereignissignal, das durch die interne Quelle X erzeugt wird, am Ausgang des Gates 256x bereitgestellt, um die Konfigurationsauswahlvorrichtung 224 auszulösen. Wenn das Freigabequellen-X-Signal 257x ausgeschaltet wird, z. B. ein niedriges Signalniveau, dann wird ein Ereignissignal, das von der internen Quelle X erzeugt wird, nicht durch das Gate 256x ausgegeben und entsprechend nicht dazu verwendet, die Konfigurationsauswahlvorrichtung 224 auszulösen.
  • Die Ausgaben der UND-Gates, z. B. 256a, 256x, werden als Eingaben an dem ODER-Gate 258 bereitgestellt. Wenn ein Signal durch eines der UND-Gates ausgegeben wird, gibt das Gate 258 ein Signal aus, um die Konfigurationsauswahlvorrichtung 224 zu aktivieren. Zusätzlich oder alternativ versendet das Gate 258 eine Softwareaktionsanforderung 221, wie oben angemerkt ist.
  • Die Konfigurationsauswahlvorrichtung 224 umfasst UND-Gates 262 und 272, ein ODER-Gate 264, eine Latch-Schaltung 266 und einen Multiplexer 268. Die Signalausgabe durch die Erfassungsvorrichtung 222, beispielsweise die Ausgabe des ODER-Gates 258, wird als eine Eingabe an dem ODER-Gate 264 und dem Multiplexer 268 bereitgestellt. Das UND-Gate 262 empfängt an seinen Eingängen die Ausgabe der Latch-Schaltung 266 und ein Softwarelöschsignal 263 und die Ausgabe des Gates 262 wird als eine zweite Eingabe des ODER-Gates 264 bereitgestellt.
  • Die Latch-Schaltung 266 wird zusammen mit der Rückmeldungsschleife für die Gates 262 und 264 zur Aufrechterhaltung des Speichers in der Konfigurationsauswahlvorrichtung 224 verwendet, beispielsweise des vorangegangenen Zustands der Konfigurationsauswahlvorrichtung 224. In einer Ausführungsform stellt die Latch-Schaltung 266 einen Flip Flop vom D-Typ dar. Jedoch sind auch andere Latch-Schaltungen möglich, z. B. ein Flip Flop vom SR-Typ. Die Latch-Schaltung 266 und die Gates 262 und 264 erzeugen eine Logik, die einen Puls (z. B. eine Ausgabe des Detektors 222) in einen stabilen Zustand transformiert. Der Zustand kann durch Bereitstellen des Softwaresignals 263 am Gate 262 gelöscht werden. In einer Ausführungsform wird das Softwarelöschsignal 263 durch die Mikrocontrollersoftware bereitgestellt.
  • Der Multiplexer 268 wird durch das Ereignisspeichersignal 269 gesteuert und es gibt entweder das Auslösesignal, welches durch das ODER-Gate 258 empfangen wird, direkt aus oder es gibt die Ausgabe der Latch-Schaltung 266 aus. Das UND-Gate 272 empfängt die Ausgabe des Multiplexers 268 und erzeugt das Steuersignal (z. B. einen Sicherheitskonfigurationsschaltbefehl) zur Steuerung der Schaltoperationen der Multiplexer, die den Konfigurationsmodulen entsprechend einer sicherungsfähigen I/O-Leitung zugeordnet sind, wie z. B. der Multiplexer 226a oder 226c.
  • In einer Ausführungsform wird das Ereignisspeichersignal 269 durch ein Konfigurationsregister bereitgestellt. Falls das Ereignisspeichersignal 269 gelöscht wird (z. B. ein niedriger Logikwert), werden Sicherheitskonfigurationen an die I/O-Leitungen für die Dauer eines unnormalen Zustands angelegt. Falls das Ereignisspeichersignal 269 festgelegt wird (z. B. hoher Logikwert), werden die Sicherheitskonfigurationen für eine Zeitdauer angelegt, die länger ist als die Dauer eines unnormalen Zustands, bis der Zustand der Konfigurationsauswahlvorrichtung 224 durch Setzen des Softwarelöschsignals 263 gelöscht wird. Gemäß der obigen Anmerkungen wird das Softwarelöschsignal 263 durch die Mikrocontrollersoftware bereitgestellt, wie bei der Anerkennung der Erfassung des unnormalen Zustands.
  • In einer Ausführungsform wird die Konfigurationsauswahlvorrichtung 224 auf Basis des Freigabesicherungssignals 273 freigegeben oder deaktiviert. Wenn z. B. das Freigabesicherungssignal 273 eingeschaltet wird, z. B. ein hohes Signalniveau, dann erzeugt das UND-Gate 272 das Steuersignal an seinem Eingang beim Empfang eines Auslösesignals von der Erfassungsvorrichtung 222. Wenn das Freigabesicherungssignal 273 jedoch ausgeschaltet ist, z. B. niedriges Signalniveau, dann stellt das UND-Gate 272 keine Ausgabe bereit und dementsprechend erzeugt es nicht das Steuersignal. In solchen Fällen funktionieren die I/O-Leitungen unter Verwendung ihrer entsprechenden Anwendungskonfigurationen und nicht unter Verwendung von Sicherheitskonfigurationen.
  • Zurück zum Blockdiagramm des Mikrocontrollers 110, das in 2A dargestellt ist. Im Betrieb schalten die Multiplexer die Anwendungskonfigurationen in ihre Ausgaben, die dann an die I/O-Leitungsmanagementeinheiten an die entsprechenden I/O-Leitungen angelegt werden. Der Multiplexer 226a gibt dann die Anwendungskonfiguration 234a an die I/O-Leitungsmanagementeinheit 202a aus, so dass die I/O-Leitung 130a die Anwendungskonfiguration 234a verwendet. Ähnlich gibt der Multiplexer 226c die Anwendungskonfiguration 234c an die I/O-Leitungsmanagementeinheit 232c aus, so dass die I/O-Leitung 130c die Anwendungskonfiguration 234c verwendet.
  • Wenn die Konfigurationsauswahlvorrichtung 224 das Steuersignal (z. B. einen Sicherheitskonfigurationsschaltbefehl) versendet, schalten die Multiplexer um, um die Sicherheitskonfigurationen an ihre Ausgänge zu senden, die dann durch die I/O-Leitungsmanagementeinheiten an die entsprechenden I/O-Leitungen angelegt werden. Der Multiplexer 226a wird dann z. B. durch das Steuersignal zur Ausgabe der Sicherheitskonfiguration 236a an die I/O-Leitungsmanagementeinheit 232a gesteuert, so dass die I/O-Leitung 130a in einem Sicherheitsmodus unter Verwendung der Sicherheitskonfiguration 236a funktioniert. In ähnlicher Weise wird der Multiplexer 226c durch das Steuersignal zur Ausgabe der Sicherheitskonfiguration 236c an die I/O-Leitungsmanagementeinheit 232c gesteuert, so dass die I/O-Leitung 130c in einem Sicherheitsbetriebsmodus unter Verwendung der Sicherheitskonfiguration 236c funktioniert. Die I/O-Leitung 130b, die keine Sicherheitskonfiguration aufweist, fährt jedoch fort, auf Basis der Anwendungskonfigurationsparameter 234b zu funktionieren.
  • Auf diese Weise aktiviert die Erfassung eines unnormalen Zustands oder Ereignisses durch die Erfassungsvorrichtung 222 die Konfigurationsauswahlvorrichtung 224, so dass sie die sicherungsfähigen I/O-Leitungen in den Sicherheitsbetriebsmodus schaltet, während zugelassen wird, dass nicht sicherungsfähige I/O-Leitungen ihren Betrieb fortsetzen. Die Schaltung von der Anwendungskonfiguration in die Sicherheitskonfiguration wird in der Hardware freigegeben, z. B. unter Verwendung der Konfigurationsauswahlvorrichtung 224, der Multiplexer 226a und 226c und eines zusätzlichen Speichers zum Vorladen der Sicherheitskonfigurationen in die PIO-Steuerung 114. Es ist keine Software-Rekonfigurierung der PIO-Steuerung 114 erforderlich. Dementsprechend kann die Schaltung der Sicherheitskonfiguration der I/O-Leitungen schneller erfolgen, wenn die Erfassungsvorrichtung das Signal an die Konfigurationsauswahlvorrichtung 224 sendet.
  • Demgegenüber muss die Erfassungsvorrichtung eine Softwareaktionsanforderung 221 z. B. in Situationen an einen Prozessor im Mikrocontroller 110 senden, in denen die Konfigurationsauswahlvorrichtung 224 und die Multiplexer nicht umgesetzt sind. In solchen Fällen kann die PIO-Steuerung eine kleinere Anzahl von Register umfassen, die die Applikationskonfiguration oder die Sicherheitskonfiguration zu einem Zeitpunkt speichern. Zur Rekonfigurierung der I/O-Leitungsmanagementeinheiten mit Sicherheitskonfigurationsparameter kann der Prozessor die Sicherheitskonfigurationen aus dem Speicher in die Register laden. Eine entsprechende Software-Rekonfigurierung der PIO-Steuerung kann im Vergleich zu dem oben beschriebenen Hardware-Schaltungsansatz beträchtlich mehr Zeit in Anspruch nehmen, beispielsweise wenn die Erfassung des unnormalen Zustands zu einem Unterbrechungsmanagement führt.
  • In einer Ausführungsform unterscheiden sich die Sicherheitskonfigurationen, die an die verschiedenen I/O-Leitungen angelegt werden. Angesichts des obigen Beispiels kann die I/O-Leitung 130a mit einer Netzwerkschnittstelle verbunden sein und die I/O-Leitung 130c kann einer Eingabeschnittstelle des Mikrocontrollers 110 zugeordnet sein. Demgemäß kann die Sicherheitskonfiguration 236a entsprechend der I/O-Leitung 130a Konfigurationsparameter umfassen, um einen Empfang oder eine Übertragung von Netzwerkanweisungen und/oder -daten an der I/O-Leitung 130a zu deaktvieren. In einem solchen Fall kann die Sicherheitskonfiguration 236a effizienter die I/O-Leitung 130a blockieren, so dass eine Kommunikation mit Netzwerkvorrichtungen nicht erfolgt. Dadurch wird die Möglichkeit verhindert, dass der Mikrocontroller 110 schädliche Anweisungen und/oder Daten von einer entfernten Netzwerkvorrichtung empfängt. Die Sicherheitskonfigurationen 234c entsprechen der I/O-Leitung 130c kann Konfigurationsparameter umfassen, um die I/O-Leitung 130c zur Verarbeitung von Benutzereingaben zu deaktivieren, so dass verhindert wird, dass durch einen Angreifer unautorisierte Eingaben erfolgen können.
  • In einer Ausführungsform wird dieselbe Sicherheitskonfiguration an zwei oder mehrere I/O-Leitungen angelegt. Dies kann z. B. der Fall sein, wenn die entsprechenden I/O-Leitungen ähnliche Funktionen durchführen. Die gleiche Sicherheitskonfiguration kann z. B. auf zwei oder mehr I/O-Leitungen angewendet werden, die zur Verarbeitung von Benutzereingaben eingesetzt werden, welche an dem Mikrocontroller 110 empfangen werden.
  • In einer Ausführungsform werden Sicherheitskonfigurationen für die I/O-Leitungen in dem Mikrocontroller bei der Herstellung programmiert. Diese Konfigurationen können durch einen Benutzer nicht modifiziert werden. Die Sicherheitskonfigurationen 236a und 236c können z. B. konfiguriert und durch ein Boot-Programm in einem Boot-Sektor des Mikrocontrollers 110 gesperrt werden, der in Nur-Lese-Speicher (ROM) oder nicht editierbaren Registern ausgeführt ist. Wenn der Mikrocontroller hochgefahren wird, können die Sicherheitskonfigurationen 236a und 236c aus dem Boot-Sektor (z. B. durch das Boot-Programm) in entsprechende Register in der PIO-Steuerung 114 geladen werden. Anweisungen und/oder Daten, die für den korrekten Betrieb des Mikrocontrollers 110 kritisch sind, können durch das Boot-Programm konfiguriert und in dem Boot-Sektor gesperrt werden und es können Modifizierungen aus Sicherheitsgründen verhindert werden. Demgemäß kann verhindert werden, dass eine schädliche Software, die ansonsten den Mikrocontroller modifizieren kann, die Sicherheitskonfigurationen der I/O-Leitungen modifiziert. Da die Sicherheitskonfigurationen sofort und automatisch auf die I/O-Leitungen angewendet werden, wenn die Konfigurationsauswahlvorrichtung 224 durch die Erfassungsvorrichtung 222 ausgelöst wird, kann die schädliche Software auch nicht verhindern, dass die PIO-Steuerung 114-Logik die Sicherheitskonfigurationen, die schon in die PIO-Register geladen und gegen weitere Modifizierungen gesperrt sind, auf die I/O-Leitungen anwendet, sobald ein unnormaler Zustand erfasst wird, wodurch die I/O-Leitungen gesteuert werden, um im Sicherheitsmodus zu funktionieren. In dieser Weise kann durch den Mikrocontroller 110 eine verbesserte Sicherheit bereitgestellt werden.
  • In einer Ausführungsform sind die Anwendungskonfigurationen für die I/O-Leitungen durch einen Benutzer modifizierbar. Der Mikrocontroller 110 kann z. B. mit vorgegebenen Versionen der Anwendungskonfigurationen 234a, 234b und 234c geliefert werden, die in dem Speicher des Mikrocontrollers gespeichert sind, der modifizierbar ist. Ein Benutzer (z. B. ein Systemadministrator, der die Vorrichtung managt, in der der Mikrocontroller 110 verwendet wird), kann ein oder mehrere dieser Anwendungskonfigurationen während des Betriebs des Mikrocontrollers 110 aktualisieren, um z. B. eine oder mehrere I/O-Leitungen zur Verarbeitung von verschiedenen Arten von Anweisungen und/oder Daten zu rekonfigurieren und die aktualisierten Anwendungskonfiguration bzw. die aktualisierten Anwendungskonfigurationen auf die entsprechende I/O-Leitung anzuwenden bzw. auf die entsprechenden I/O-Leitungen anzuwenden. In dieser Weise kann die Funktionalität der I/O-Leitungen während der Verwendung des Mikrocontrollers 110 eingestellt werden.
  • In einer Ausführungsform sind die Sicherheitskonfigurationen für die I/O-Leitungen durch einen Benutzer modifizierbar. Der Mikrocontroller 110 kann z. B. mit vorgegebenen Versionen der Sicherheitskonfigurationen 236a und 236c geliefert werden, die im Speicher des Mikrocontrollers gespeichert sind, der modifizierbar ist. Ein Benutzer (z. B. ein Systemadministrator, der die Vorrichtung managt, in der der Mikrocontroller 110 verwendet wird) kann ein oder mehrere dieser Sicherheitskonfigurationen während des Betriebs des Mikrocontrollers 110 aktualisieren, z. B. um die Aktionen zu rekonfigurieren, die durch eine oder mehrere I/O-Leitungen in die Wege geleitet werden, wenn ein unnormaler Zustand erfasst wird, und um die aktualisierte Sicherheitskonfiguration bzw. die aktualisierten Sicherheitskonfigurationen auf die entsprechende I/O-Leitung bzw. I/O-Leitungen anzuwenden. Dies kann z. B. der Fall sein, wenn der Mikrocontroller in Küchengeräte eingebettet wird, in denen ein zuverlässiger Betrieb wichtiger sein kann als eine größere Sicherheit. In solchen Fällen können beide Anwendungskonfigurationen und Sicherheitskonfigurationen konfigurierbar sein. In dieser Weise kann der Benutzer die Option haben, die Sicherheitsparameter oder Einstellungen für den Mikrocontroller 110 gemäß den Anforderungen an das System anzupassen, in dem der Mikrocontroller verwendet wird.
  • In einer Ausführungsform werden ein oder mehrere I/O-Leitungen in einem Mikrocontroller jeweils mit mehreren Sicherheitskonfigurationen in Verbindung gebracht. Die Konfigurationsauswahlvorrichtungsschaltung in der PIO-Steuerung wendet eine aus den mehreren verfügbaren Sicherheitskonfigurationen abhängig von der Natur des erfassten unnormalen Zustands auf eine I/O-Leitung an. Beispielsweise kann wenigstens eine zusätzliche Sicherheitskonfiguration für die I/O-Leitung 130a konfiguriert sein und in zusätzlichen Konfigurationsregistern gespeichert sein, wie durch die Punkte nach dem Register für die Sicherheitskonfiguration 236a bezeichnet ist. Andere I/O-Leitungen können mit mehreren Sicherheitskonfigurationen in einer ähnlichen Weise konfiguriert sein, während einige andere I/O-Leitungen mit einer einzelnen Sicherheitskonfiguration konfiguriert sein können. Eine einzige Sicherheitskonfiguration 236c ist z. B. darstellungsgemäß für die I/O-Leitung 130c konfiguriert.
  • Wenn eine I/O-Leitung mit mehreren Sicherheitskonfigurationen konfiguriert wird, werden die Anwendungskonfiguration und die mehreren Sicherheitskonfigurationen als mehrere Eingaben für den Multiplexer bereitgestellt. In einer Ausführungsform, in der die I/O-Leitung 130a mit zwei Sicherheitskonfigurationen konfiguriert ist – 236a wie dargestellt und eine zusätzliche Sicherheitskonfiguration, die in einem anderen Konfigurationsregister gespeichert ist – werden diese Sicherheitskonfigurationen und die Anwendungskonfiguration 234a als drei Eingaben für den Multiplexer 226a bereitgestellt. Die Konfigurationsauswahlvorrichtung 224 steuert den Multiplexer 226a zur Ausgabe von einem dieser Konfigurationen an die I/O-Leitungsmanagementeinheit 232a zum Managen der I/O-Leitung 130a an einem Zeitpunkt.
  • In einer Ausführungsform, in der mehrere Sicherheitskonfigurationen für eine I/O-Leitung verfügbar sind, wird eine dieser Sicherheitskonfigurationen an die I/O-Leitung abhängig von der Art des erfasstem unnormalen Zustands angelegt. In solchen Fällen bestimmt die Erfassungsvorrichtung eine Art des unnormalen Zustands, wenn die Erfassungsvorrichtung 222 einen unnormalen Zustand in dem Mikrocontroller 110 erfasst, und sendet ein unterschiedliches Signal an die Konfigurationsauswahlvorrichtung 224 auf Basis der bestimmten Art. Die Erfassungsvorrichtung 222 kann z. B. ein erstes Signal versenden, wenn der unnormale Zustand als durch eine externe Quelle hervorgerufen bestimmt wird, wie z. B. nicht autorisierte Anweisungen und/oder Daten, die an einer I/O-Leitung von einer externen Vorrichtung empfangen werden, oder einer externen physikalischen Untersuchung an dem Körper des Mikrocontrollers. Die Erfassungsvorrichtung 222 kann ein zweites Signal versenden, wenn der unnormale Zustand als intern hervorgerufen bestimmt wird, wie z. B. schädliche Software, die versucht, nicht autorisierte Anweisungen und/oder Daten an eine externe Vorrichtung über eine I/O-Leitung zu versenden oder ein plötzlicher Anstieg in einer Innentemperatur des Mikrocontrollers.
  • In solchen Fällen, in denen die Erfassungsvorrichtung 222 unterschiedliche Signale abhängig von der Art des unnormalen Zustands versendet, erzeugt die Konfigurationsauswahlvorrichtung 224 unterschiedliche Steuersignale abhängig von der Art des unnormalen Zustands. Wenn das erste Signal von der Erfassungsvorrichtung 222 empfangen wird, das beispielsweise einen unnormalen Zustand hervorgerufen durch eine externe Quelle anzeigt, sendet die Konfigurationsauswahlvorrichtung 224 ein erstes Steuersignal (z. B. einen ersten Sicherheitskonfigurationsschaltbefehl) an den Multiplexer 226a, um seine Eingänge umzuschalten und die Sicherheitskonfiguration 236a an die I/O-Leitungsmanagementeinheit 232a zum Anlegen an die I/O-Leitung 130a auszugeben. Dies kann z. B. der Fall sein, wenn die Sicherheitskonfiguration 236a konfiguriert ist, um die I/O-Leitung 130a vor externen Angriffen zu schützen. Basierend auf der Sicherheitskonfiguration 236a kann die I/O-Leitung 130a damit aufhören, Anweisungen und/oder Daten von externen Quellen zu akzeptieren.
  • Wenn das zweite Signal von der Erfassungsvorrichtung 222 empfangen wird, das einen unnormalen Zustand intern hervorgerufen im Mikrocontroller 110 bezeichnet, sendet die Konfigurationsauswahlvorrichtung 224 ein zweites Steuersignal (z. B. einen zweiten Sicherheitskonfigurationsschaltbefehl) an den Multiplexer 226a, um seine Eingänge umzuschalten und die zweite Sicherheitskonfiguration an die I/O-Leitungsmanagementeinheit 222a auszugeben. Dies kann z. B. der Fall sein, wenn die zweite Sicherheitskonfiguration konfiguriert ist, um externe Vorrichtungen zu schützen, oder den Mikrocontroller 110 selber vor intern hervorgerufenen Angriffen zu schützen. Basierend auf der zweiten Sicherheitskonfiguration kann die I/O-Leitung 130a damit aufhören, Anweisungen und/oder Daten an externe Quellen zu versenden. In dieser Weise kann sich die Antwort der I/O-Leitung 130a auf verschiedene Arten von unnormalen Zuständen unterscheiden.
  • In jeder Situation kann der Multiplexer 226c konfiguriert sein, um die Sicherheitskonfiguration 236c an die I/O-Leitungsmanagementeinheit 232c auszugeben, wenn entweder das erste oder das zweite Steuersignal von dem Konfigurationsauswahlvorrichtung 224 empfangen werden. Demgemäß kann die I/O-Leitung 130c ein ähnliches Sicherheitskonfigurationsverhalten zeigen, unabhängig von der Art des unnormalen Zustands. Ferner fährt die I/O-Leitung 130d, die keine Sicherheitskonfiguration aufweist, damit fort, auf Basis der Anwendungskonfigurationsparameter 234b zu funktionieren.
  • In einer Ausführungsform, in der eine I/O-Leitung, z. B. 130a, mehrere Sicherheitskonfigurationen aufweist, bestimmt die Konfigurationsauswahlvorrichtung 224 die Art des unnormalen Zustands und sendet dementsprechend ein Steuersignal an den Multiplexer 226a, um eines der mehreren Sicherheitskonfigurationen auszugeben. In solchen Fällen sendet die Erfassungsvorrichtung 222 ein Signal an die Konfigurationsauswahlvorrichtung 224 zusammen mit einer Information über den unnormalen Zustand. Die interne Logik in dem Konfigurationsauswahlvorrichtung 224 bestimmt die Art des unnormalen Zustands auf Basis der Information, die durch die Erfassungsvorrichtung 222 bereitgestellt wird.
  • In einer Ausführungsform werden die mehreren Sicherheitskonfigurationen einmal, z. B. zum Zeitpunkt der Herstellung oder der Einstellung des Mikrocontrollers 110, konfiguriert und sind nicht durch einen Benutzer modifizierbar, ähnlich der Beschreibung oben bezüglich der Sicherheitskonfigurationen 236a und 236c. Diese Sicherheitskonfigurationen können in einem Bootsektor des Mikrocontrollers 110 gespeichert sein (z. B. konfiguriert und dann durch ein Bootprogramm gesperrt) und in die Konfigurationsregister in der PIO-Steuerung 114 oder andere Speicherplätze geladen werden, wenn der Mikrocontroller 110 hochfährt.
  • In der oben beschriebenen Weise kann ein Mikrocontroller mit einer zusätzlichen Hardwareschaltung in der PIO-Steuerung implementiert sein, um Sicherheitsparameter auf die Mikrocontroller-I/O-Leitungen bei der Erfassung eines unnormalen Zustands anzuwenden. Die Sicherheitsparameter können automatisch und sofort angewendet werden, wenn der unnormale Zustand erfasst wird, ohne dass der Eingriff durch eine Software erforderlich ist (z. B. eine Rekonfigurierung der PIO-Steuerung unter Verwendung einer Software). Verschiedene Sicherheitsparameter können auf die unterschiedlichen I/O-Leitungen angewendet werden und einige I/O-Leitungen weisen nicht unbedingt eine Sicherheitskonfiguration auf. Weiterhin kann eine Art des unnormalen Zustands bestimmt und unterschiedliche Sicherheitsparameter können auf eine I/O-Leitung abhängig von der bestimmten Art des unnormalen Zustands angewendet werden.
  • 3 zeigt ein Flussdiagramm eines beispielhaften Prozesses 300 zum Anwenden einer Sicherheitskonfiguration auf eine Mikrocontroller-I/O-Leitung bei Erfassung eines unnormalen Zustands gemäß einer Ausführungsform. Der Prozess 300 kann durch einen Mikrocontroller durchgeführt werden (z. B. den Mikrocontroller 110).
  • In einer Ausführungsform wird der Prozess 300 durch einen oder mehrere Prozessoren (z. B. Prozessor 112 im Mikrocontroller 110) durchgeführt. Die Prozessoren führen Anweisungen aus, die in einem Speicher gespeichert sind, der mit der entsprechenden Vorrichtung verbunden ist.
  • Der Prozess 300 beginnt durch ein Managen von I/O-Leitungen eines Mikrocontrollers während eines ersten Betriebsmodus bei 302. Eine PIO-Steuerung wendet Anwendungskonfigurationen auf die I/O-Leitungen in dem ersten Betriebsmodus an. Die PIO-Steuerung 115 wendet z. B. eine Anwendungskonfiguration 234a auf die I/O-Leitung 130a an, eine Anwendungskonfiguration 234b auf die I/O-Leitung 130b an und eine Anwendungskonfiguration 234c auf die I/O-Leitung 130c an. Während des ersten Betriebsmodus kann eine Konfigurationsauswahlvorrichtung einen Multiplexer zur Ausgabe der Anwendungskonfiguration für die entsprechende I/O-Leitungsmanagementeinheit steuern. Ein Konfigurationsauswahlvorrichtung 224 kann z. B. einen Multiplexer 226 zur Ausgabe der Anwendungskonfiguration 234a für die I/O-Leitungsmanagementeinheit 232a steuern und kann den Multiplexer 226c zur Ausgabe der Anwendungskonfiguration 234c für die I/O-Leitungsmanagementeinheit 232c steuern.
  • Bei 304 wird eine Anzeige eines Gefahrenereignisses empfangen. Die Konfigurationsauswahlvorrichtung (z. B. die Konfigurationsauswahlvorrichtung 224) empfängt z. B. ein Signal von der Erfassungsvorrichtung (z. B. der Erfassungsvorrichtung 222), das anzeigt, dass die Erfassungsvorrichtung ein Auftreten eines Gefahrenereignisses oder eines anderen unnormalen Zustands in dem Mikrocontroller erfasst hat.
  • Bei 306 werden Schaltungen, die einem oder mehreren ersten I/O-Leitungen zugeordnet sind, gesteuert, um in einen Sicherheitsbetriebsmodus zu schalten. Wenn z. B. das Signal von der Erfassungsvorrichtung empfangen wird, das ein Gefahrenereignis anzeigt, sendet die Konfigurationsauswahlvorrichtung ein Steuersignal (z. B. einen Sicherheitskonfigurationsschaltbefehl) an die Multiplexer, die mit den sicherungsfähigen I/O-Leitungen verbunden sind (z. B. die Multiplexer 226a und 226c). Die Multiplexer schalten ihre Eingänge, um die Sicherheitskonfigurationen an ihre Ausgänge zu senden, die dann durch die I/O-Leitungsmanagementeinheiten auf die entsprechenden I/O-Leitungen angewendet werden. Der Multiplexer 226a gibt dann z. B. eine Sicherheitskonfiguration 236a an die I/O-Leitungsmanagementeinheit 232a aus, so dass die I/O-Leitung 130a in einem Sicherheitsmodus unter Verwendung der Sicherheitskonfiguration 236a funktioniert. In ähnlicher Weise gibt der Multiplexer 226c eine Sicherheitskonfiguration 236c an die I/O-Leitungsmanagementeinheit 236c aus, so dass die I/O-Leitung 130c in einem Sicherheitsmodus unter Verwendung der Sicherheitskonfiguration 236c funktioniert.
  • Bei 308 wird ein Betrieb der zweiten I/O-Leitungen in dem ersten Betriebsmodus fortgesetzt. Eine I/O-Leitung, die keine Sicherheitskonfiguration aufweist, wird fortgesetzt, um z. B. auf der Basis der Anwendungskonfigurationsparameter entsprechend der I/O-Leitung zu funktionieren, nachdem die Anzeige des Gefahrenereignisses an dem Konfigurationsauswahlvorrichtung empfangen wurde. Die I/O-Leitung 130b, die keine Sicherheitskonfiguration aufweist, fährt dann z. B. fort, auf Basis der Anwendungskonfigurationsparameter 234b zu funktionieren, nachdem die Anzeige des Gefahrenereignisses an dem Konfigurationsauswahlvorrichtung 224 empfangen wurde. Schritt 308 stellt einen optionalen Teil des Prozesses 300 dar, der z. B. in Mikrocontroller mit wenigstens einer I/O-Leitung umgesetzt ist, die nicht sicherungsfähig ist. Mikrocontroller, in denen alle I/O-Leitungen sicherungsfähig sind, implementieren jedoch nicht unbedingt 308.
  • In der obigen Weise steuern Anwendungen, die dem Prozess 300 zugeordnet sind, eine Hardwareschaltung in einer PIO-Steuerung, wie z. B. eine Konfigurationsauswahlvorrichtung und Multiplexer, die in Konfigurationsmodulen vorgesehen sind, um automatisch und sofort Sicherheitskonfigurationen auf die Mikrocontroller-I/O-Leitungen anzuwenden, wenn ein unnormaler Zustand durch einen Mikrocontrollerdetektor erfasst wird. In einer Ausführungsform ist keine Software-Rekonfigurierung der PIO-Steuerung erforderlich, um die Sicherheitskonfigurationen auf die I/O-Leitungen anzuwenden.
  • Während dieses Dokument verschiedene Besonderheiten beschreiben kann, sollten diese nicht als den Bereich einer Erfindung begrenzend angesehen werden, die beansprucht wird oder aus der Ansprüche abgeleitet wird, sondern es soll als eine Beschreibung von Merkmalen verstanden werden, die für spezielle Ausführungsformen spezifisch sind. Bestimmte Merkmale, die in diesem Dokument im Zusammenhang von separaten Ausführungsformen beschrieben sind, können auch in Kombination in einer einzelnen Ausführungsform umgesetzt sein. Dementgegen können verschiedene Merkmale, die in dem Zusammenhang einer einzelnen Ausführungsform beschrieben sind, auch in mehreren Ausführungsformen separat oder in Unterkombinationen umgesetzt sein. Obwohl Merkmale oben beschrieben werden können, so dass sie in bestimmten Kombinationen agieren, und können sogar anfänglich als solche beansprucht sein, können ein oder mehrere Merkmale aus einer beanspruchten Kombination in einigen Fällen aus der Kombination ausgeschieden werden und die beanspruchte Kombination kann auf eine Unterkombination oder eine Variation von Unterkombinationen gerichtet sein. Während Operationen in den Figuren in einer speziellen Reihenfolge dargestellt sind, soll dies in ähnlicher Weise nicht dahingehend verstanden werden, dass solche Operationen in der speziell dargestellten Reihenfolge oder in einer Abfolge durchgeführt werden, oder dass alle veranschaulichten Operationen durchgeführt werden, um gewünschte Resultate zu erreichen.
  • Es werden lediglich einige Beispiele und Ausführungsformen offenbart. Variationen, Modifizierungen und Verbesserungen der beschriebenen Beispiele und Ausführungsformen und andere Ausführungsformen können auf Basis der Offenbarung gemacht 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 Nicht-Patentliteratur
    • IEC 60335 Klasse B Zertifikat [0031]

Claims (22)

  1. Vorrichtung, umfassend: eine Erfassungsvorrichtung, die konfiguriert ist, ein Ereignis zu erfassen; eine Auswahlvorrichtung, die mit der Erfassungsvorrichtung gekoppelt und konfiguriert ist, um ein Signal in Antwort auf eine Erfassung eines Ereignisses durch die Erfassungsvorrichtung zu erzeugen, wobei das Signal betriebsfähig ist, um eine Menge von Eingabe/Ausgabe(I/O)-Parameter aus ersten und zweiten gespeicherten Parametermengen auszuwählen; und ein Konfigurationsmodul, das mit der Auswahlvorrichtung gekoppelt ist, wobei das Konfigurationsmodul zur Ausgabe der ausgewählten Menge von I/O-Parameter konfiguriert ist.
  2. Vorrichtung nach Anspruch 1, wobei das Konfigurationsmodul einen Multiplexer umfasst, der mit der Auswahlvorrichtung gekoppelt ist, wobei der Multiplexer mit den ersten und zweiten gespeicherten Parametermengen als Eingaben bereitgestellt und konfiguriert ist, um: das Signal von der Auswahlvorrichtung zu empfangen; und eine der ersten und zweiten gespeicherten Parametermengen basierend auf dem Empfangen des Signals von der Auswahlvorrichtung auszugeben.
  3. Vorrichtung nach Anspruch 2, wobei das Konfigurationsmodul eine I/O-Leitungsmanagementeinheit, die mit dem Multiplexer gekoppelt ist, und eine I/O-Leitung umfasst und konfiguriert ist, um: eine von den ersten und zweiten gespeicherten Parametermengen von dem Multiplexer zu empfangen; und die I/O-Leitung an eine ausgewählte Konfiguration entsprechend der Parametermenge anzupassen, die von dem Multiplexer empfangen wird.
  4. Vorrichtung nach Anspruch 2, wobei das Konfigurationsmodul ein erstes Register zum Speichern der ersten Parametermenge und ein zweites Register zum Speichern der zweiten Parametermenge umfasst und wobei Ausgaben des ersten Registers und des zweiten Registers mit Eingaben des Multiplexers gekoppelt sind.
  5. Vorrichtung nach Anspruch 1, wobei die erste Parametermenge erste Konfigurationsparameter umfasst, die einem ersten Betriebsmodus für eine erste I/O-Leitung zugeordnet sind, und die zweite Parametermenge Sicherheitskonfigurationsparameter umfasst, die einem Sicherheitsbetriebsmodus für die erste I/O-Leitung zugeordnet sind.
  6. Vorrichtung nach Anspruch 5, wobei die ersten Konfigurationsparameter durch einen Benutzer rekonfigurierbar sind und wobei die Sicherheitskonfigurationsparameter nicht durch einen Benutzer rekonfigurierbar sind, und wobei die Auswahlvorrichtung konfiguriert ist, um: eine Anzeige der Ereigniserfassung von der Erfassungsvorrichtung zu empfangen; und das Signal in Antwort auf das Empfangen der Anzeige der Ereigniserfassung zu dem Konfigurationsmodul zu senden, um die Sicherheitskonfigurationsparameter auf die erste I/O-Leitung anzuwenden.
  7. Vorrichtung nach Anspruch 6, wobei die Vorrichtung eine zweite I/O-Leitung umfasst, die konfiguriert ist, um im ersten Betriebsmodus in Antwort auf das Empfangen der Anzeige der Ereigniserfassung an der Auswahlvorrichtung zu funktionieren.
  8. Vorrichtung nach Anspruch 5, wobei der Sicherheitsbetriebsmodus ein Verhindern einer Kommunikation der ersten I/O-Leitung mit einer externen Vorrichtung umfasst.
  9. Vorrichtung nach Anspruch 5, wobei der Sicherheitsbetriebsmodus einen ersten Sicherheitsbetriebsmodus und einen zweiten Sicherheitsbetriebsmodus umfasst, und wobei das Konfigurationsmodul konfiguriert ist, um: die erste I/O-Leitung in Antwort auf ein Auftreten eines Ereignisses von einer ersten Art von dem ersten Betriebsmodus in den zweiten Betriebsmodus zu schalten; und die erste I/O-Leitung in Antwort auf ein Auftreten eines Ereignisses von einer zweiten Art von dem ersten Betriebsmodus in den zweiten Sicherheitsmodus zu schalten.
  10. Vorrichtung nach Anspruch 9, wobei das Konfigurationsmodul erste Konfigurationsparameter, die der ersten I/O-Leitung zugeordnet sind, erste Sicherheitskonfigurationsparameter und zweite Sicherheitskonfigurationsparameter, die der ersten I/O-Leitung zugeordnet sind, und einen Multiplexer umfasst, der konfiguriert ist, um: als Eingaben die ersten Konfigurationsparameter, die ersten Sicherheitskonfigurationsparameter und die zweiten Sicherheitskonfigurationsparameter zu empfangen; und die ersten Konfigurationsparameter oder die ersten Sicherheitskonfigurationsparameter oder die zweiten Sicherheitskonfigurationsparameter zum Managen der ersten I/O-Leitung auf Basis des Signals von der Auswahlvorrichtung auszugeben.
  11. Vorrichtung nach Anspruch 10, wobei die Auswahlvorrichtung konfiguriert ist, um: in Antwort auf eine Bestimmung, dass ein erstes erfasstes Ereignis von einer ersten Art ist, ein erstes Signal an den Multiplexer zur Ausgabe der ersten Sicherheitskonfigurationsparameter zu senden; und in Antwort auf eine Bestimmung, dass ein zweites erfasstes Ereignis von einer zweiten Art ist, ein zweites Signal an den Multiplexer zur Ausgabe der zweiten Sicherheitskonfigurationsparameter zu senden.
  12. Vorrichtung nach Anspruch 1, wobei das Ereignis einen unnormalen physikalischen Zustand der Vorrichtung und/oder einer nicht autorisierten externen Untersuchung, die auf die Vorrichtung angewendet wird, und/oder einen nicht autorisierten Ausführungsbefehl umfasst, der auf die Vorrichtung angewendet wird.
  13. Verfahren, umfassend: Erfassen eines Ereignisses durch eine Erfassungsvorrichtung; Erzeugen eines Signals, das betriebsfähig ist, um eine Menge von Eingabe/Ausgabe(I/O)-Parameter aus ersten und zweiten gespeicherten Parametermengen in Antwort auf die Erfassung des Ereignisses einer Auswahlvorrichtung auszuwählen, die mit der Erfassungsvorrichtung gekoppelt ist; und Ausgeben der ausgewählten Menge von I/O-Parameter durch ein Konfigurationsmodul, das mit der Auswahlvorrichtung gekoppelt ist.
  14. Verfahren nach Anspruch 13, wobei das Ausgeben der ausgewählten Menge von I/O-Parameter durch das Konfigurationsmodul umfasst: Empfangen des Signals der Auswahlvorrichtung an einem Multiplexer, der in dem Konfigurationsmodul vorgesehen ist; und Ausgeben der ersten oder zweiten gespeicherten Parametermengen durch den Multiplexer basierend auf dem Empfangen des Signals von der Auswahlvorrichtung.
  15. Verfahren nach Anspruch 14, ferner umfassend: Empfangen einer von den ersten und zweiten gespeicherten Parametermengen von dem Multiplexer an einer I/O-Leitungsmanagementeinheit, die in dem Konfigurationsmodul vorgesehen und mit dem Multiplexer und einer I/O-Leitung gekoppelt ist; und Anpassen der I/O-Leitung an eine ausgewählte Konfiguration entsprechend der Parametermenge, die von dem Multiplexer empfangen wird.
  16. Verfahren nach Anspruch 13, wobei die erste Parametermenge erste Konfigurationsparameter umfasst, die einem ersten Betriebsmodus für eine erste I/O-Leitung zugeordnet sind, und die zweite Parametermenge Sicherheitskonfigurationsparameter umfasst, die einem Sicherheitsbetriebsmodus für die erste I/O-Leitung zugeordnet sind.
  17. Verfahren nach Anspruch 16, wobei die ersten Konfigurationsparameter durch einen Benutzer rekonfigurierbar sind und wobei die Sicherheitskonfigurationsparameter nicht durch einen Benutzer rekonfigurierbar sind, wobei das Verfahren umfasst: Empfangen einer Anzeige der Ereigniserfassung von der Erfassungsvorrichtung an der Auswahlvorrichtung; und Senden des Signals in Antwort auf das Empfangen der Anzeige der Ereigniserfassung durch die Auswahlvorrichtung an das Konfigurationsmodul, um die Sicherheitskonfigurationsparameter auf die erste I/O-Leitung anzuwenden.
  18. Verfahren nach Anspruch 16, wobei der Sicherheitsbetriebsmodus ein Verhindern einer Kommunikation der ersten I/O-Leitung mit einer externen Vorrichtung umfasst.
  19. Verfahren nach Anspruch 16, wobei der Sicherheitsbetriebsmodus einen ersten Sicherheitsbetriebsmodus und einen zweiten Sicherheitsbetriebsmodus umfasst, wobei das Verfahren ferner umfasst: Schalten der ersten I/O-Leitung durch das Konfigurationsmodul von dem ersten Betriebsmodus in den ersten Sicherheitsbetriebsmodus in Antwort auf ein Auftreten eines Ereignisses einer ersten Art; und Schalten der ersten I/O-Leitung durch das Konfigurationsmodul von dem ersten Betriebsmodus in den zweiten Sicherheitsbetriebsmodus in Antwort auf ein Auftreten eines Ereignisses von einer zweiten Art.
  20. Verfahren nach Anspruch 19, wobei das Konfigurationsmodul erste Konfigurationsparameter, die der ersten I/O-Leitung zugeordnet sind, erste Sicherheitskonfigurationsparameter und zweite Sicherheitskonfigurationsparameter umfasst, die der ersten I/O-Leitung und einem Multiplexer zugeordnet sind, wobei das Verfahren ferner umfasst: Empfangen der ersten Konfigurationsparameter, der ersten Sicherheitskonfigurationsparameter und der zweiten Sicherheitskonfigurationsparameter als Eingaben an dem Multiplexer; und Ausgeben der ersten Konfigurationsparameter oder der ersten Sicherheitskonfigurationsparameter oder der zweiten Sicherheitskonfigurationsparameter durch den Multiplexer, um die erste I/O-Leitung auf Basis des Signals von der Auswahlvorrichtung zu managen.
  21. Verfahren nach Anspruch 20, wobei das Ausgeben der ersten Konfigurationsparameter oder der ersten Sicherheitskonfigurationsparameter oder der zweiten Sicherheitskonfigurationsparameter durch den Multiplexer umfasst: Senden eines ersten Signals durch die Auswahlvorrichtung in Antwort auf eine Bestimmung, dass ein erstes erfasstes Ereignis von einer ersten Art ist, an den Multiplexer zur Ausgabe der ersten Sicherheitskonfigurationsparameter; und Senden eines zweiten Signals durch die Auswahlvorrichtung in Antwort auf eine Bestimmung, dass ein zweites erfasstes Ereignis von einer zweiten Art ist, an den Multiplexer zur Ausgabe der zweiten Sicherheitskonfigurationsparameter.
  22. Verfahren nach Anspruch 13, wobei das Ereignis einem oder mehreren unnormalen physikalischen Zuständen einer Vorrichtung oder einer nicht autorisierten externen Untersuchung, die auf die Vorrichtung angewendet wird, oder einem nicht autorisierter Ausführungsbefehl zugeordnet ist, der auf die Vorrichtung angewendet wird.
DE102016222768.8A 2015-11-20 2016-11-18 Auswahl von Eingabe-/Ausgabeparameter Pending DE102016222768A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/946,901 2015-11-20
US14/946,901 US9934377B2 (en) 2015-11-20 2015-11-20 Input/output parameter selection

Publications (1)

Publication Number Publication Date
DE102016222768A1 true DE102016222768A1 (de) 2017-05-24

Family

ID=58694086

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016222768.8A Pending DE102016222768A1 (de) 2015-11-20 2016-11-18 Auswahl von Eingabe-/Ausgabeparameter

Country Status (2)

Country Link
US (2) US9934377B2 (de)
DE (1) DE102016222768A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934377B2 (en) 2015-11-20 2018-04-03 Atmel Corporation Input/output parameter selection
US10962972B2 (en) * 2016-01-05 2021-03-30 Carnegie Mellon University Safety architecture for autonomous vehicles
US20220269645A1 (en) * 2019-08-13 2022-08-25 Neuroblade Ltd. Memory mat as a register file
US11580224B2 (en) 2019-12-13 2023-02-14 Target Brands, Inc. Power detection for identifying suspicious devices
US20210334373A1 (en) * 2020-04-22 2021-10-28 Arm Limited Moderator system for a security analytics framework

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01248185A (ja) * 1988-03-30 1989-10-03 Toshiba Corp ディスプレィコントローラ
US5613162A (en) * 1995-01-04 1997-03-18 Ast Research, Inc. Method and apparatus for performing efficient direct memory access data transfers
DK1305708T3 (da) * 2001-05-11 2003-07-14 Sospita As Rækkefølge-nummereringsmekanisme til at sikre integriteten af eksekveringsrækkefølgen for indbyrdes afhængige smartcard-applikationer
US7644290B2 (en) * 2003-03-31 2010-01-05 Power Measurement Ltd. System and method for seal tamper detection for intelligent electronic devices
FR2883998A1 (fr) * 2005-04-05 2006-10-06 St Microelectronics Sa Coprocesseur securise comprenant un circuit de detection d'un evenement
US7945792B2 (en) * 2007-10-17 2011-05-17 Spansion Llc Tamper reactive memory device to secure data from tamper attacks
US8826092B2 (en) * 2011-10-25 2014-09-02 International Business Machines Corporation Characterization and validation of processor links
US8756594B2 (en) * 2011-10-28 2014-06-17 Microsoft Corporation Reactive anti-tampering system for protected services in an enterprise computing system
US9547767B2 (en) * 2013-11-13 2017-01-17 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
US9934377B2 (en) 2015-11-20 2018-04-03 Atmel Corporation Input/output parameter selection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEC 60335 Klasse B Zertifikat

Also Published As

Publication number Publication date
US20180225452A1 (en) 2018-08-09
US9934377B2 (en) 2018-04-03
US10387646B2 (en) 2019-08-20
US20170147464A1 (en) 2017-05-25

Similar Documents

Publication Publication Date Title
DE102016222768A1 (de) Auswahl von Eingabe-/Ausgabeparameter
DE102012006225B4 (de) Programmierbare Logikschaltung mit einem Kill-Schalter und Datenverarbeitungsvorrichtung mit einer programmierbaren Logikvorrichtung
DE102007062745B4 (de) Vorrichtung und Verfahren zum schnellen und sicheren Speicherkontextwechsel
DE102005030612A1 (de) Halteeinrichtung für ein Sensorsignal, Verfahren zum Weiterleiten eines Sensorsignals und Computerprogramm
EP2628086B1 (de) Schnittstellenüberwachungsvorrichtung für einen schnittstellenanschluss und verwendung einer schnittstellenüberwachungsvorrichtung
DE102015217933B4 (de) Vorrichtung zum Verarbeiten von Daten und Verfahren zum Betreiben einer solchen Vorrichtung
EP2977905A1 (de) Anordnung zur selektiven freigabe einer debuggingschnittstelle
DE102022109122A1 (de) Fpga-chip mit geschützter jtagschnittstelle
EP1262856B1 (de) Programmgesteuerte Einheit
DE112010005515T5 (de) Sicherheitsvorrichtung und Fehlerdetektionsverfahren
DE102008036654A1 (de) Verfahren und System zum Verwalten von Meldungen eines elektronischen Geräts
DE10002204B4 (de) Verfahren zum Schutz eines Mikrorechners eines Steuergeräts gegen Manipulation eines Programmes und Vorrichtung zur Durchführung des Verfahrens
EP3819804A1 (de) Integritätsüberprüfung eines registerinhalts
DE112017002556B4 (de) Steuerungssystem
EP3286872B1 (de) Bereitstellen eines gerätespezifischen kryptographischen schlüssels aus einem systemübergreifenden schlüssel für ein gerät
EP3983887B1 (de) Verfahren zum betreiben von virtuellen maschinen auf einem rechnersystem für ein kraftfahrzeug sowie ein derartiges rechnersystem
EP3469778A1 (de) Speichervorrichtung, datenübertragungsvorrichtung und verfahren zum übertragen von daten
DE112006003217T5 (de) Anlagensteuersystem
EP1283471B1 (de) Programmgesteuerte Einheit
DE112011103361T5 (de) Schalter zum Durchführen einer zerstörungsfreien und sicheren Deaktivierung von IC-Funktionalität unter Verwendung von MEMS und deren Verfahren
EP3987742A1 (de) Filter, anordnung und betriebsverfahren für eine anordnung
DE102007005113A1 (de) Schnittstellenüberwachungsvorrichtung und Verfahren zum Überwachen eines Schnittstellenanschlusses
DE102021110987B3 (de) Systeme, vorrichtungen, und verfahren zum erfassen von sicherheitsrelevanten verbindungsunterbrechungen
EP3347848B1 (de) Speicherprogrammierbarer baustein und verfahren zur geschützten übertragung von daten auf einen speicherprogrammierbaren baustein
DE102021110768B3 (de) Forensik-Modul und eingebettetes System

Legal Events

Date Code Title Description
R012 Request for examination validly filed