-
Die vorliegende Erfindung betrifft einen Zeitgeberbaustein für einen Mikrocontroller.
-
Stand der Technik
-
In der Digitaltechnik und insbesondere elektrischen Automatisierungstechnik und Fahrzeugelektronik werden integrierte Schaltkreise, die einen Hauptprozessor (central processing unit, CPU) mit unterschiedlichsten Peripheriefunktionen vereinen, zusammenfassend als Mikrocontroller (µController, µC, MCU) bezeichnet. Gattungsmäßige Mikrocontroller umfassen in der Regel einen teilweise oder vollständig auf demselben Mikrochip integrierten Arbeits- und Programmspeicher und sind dem Fachmann in diesem Fall auch als System-on-a-Chip (SoC) vertraut. Mikrocontroller nach dem Stand der Technik erfüllen mitunter komplexe Peripheriefunktionen und weisen teils programmierbare digitale, analoge oder hybride Funktionsblöcke auf, welche die bei einem klassischen Mikroprozessor als Unterstützungs- und Peripheriebausteine realisierten Komponenten wie Takterzeugung, Interrupt-Controller, Schnittstellenbausteine, Speichercontroller und insbesondere Zeitgeber in den Chip selbst integriert werden.
-
Der Begriff „Zeitgeber“ ist in diesem Zusammenhang in einem engeren, dem Sprachgebrauch der technischen Informatik und Elektronik entsprechenden Wortsinn zu verstehen und bezeichnet einen Steuerbaustein, der zur Realisierung unterschiedlichster zeitbezogener Funktionen eingerichtet ist. Ein gattungsmäßiger Zeitgeberbaustein (generic timer module, GTM) verwaltet einen oder mehrere unterschiedliche Timer, die unabhängig voneinander betrieben und beispielsweise im Rahmen von Impulsgeneratoren, Taktgebern, zur Zeitmessung oder als Referenzzeitgeber für Ereigniszähler eingesetzt werden können.
-
DE 10 2010 003 521 offenbart exemplarisch eine Schaltungsanordnung für ein datenverarbeitendes System zur Verarbeitung von Daten in einer Mehrzahl von Modulen, wobei die Schaltungsanordnung dazu konfiguriert ist, jedem der Mehrzahl der Module mindestens einen Takt, eine Zeitbasis und eine Basis mindestens einer weiteren physikalischen Größe zur Verfügung zu stellen, die Schaltungsanordnung ferner eine zentrale Routing-Einheit umfasst, an welche die Mehrzahl der Module angekoppelt ist und über welche die Mehrzahl der Module untereinander Daten, die auf der Zeitbasis und/oder der Basis der anderen physikalischen Größe basieren, periodisch austauschen können, und jedes der Mehrzahl der Module dazu konfiguriert ist, eigenständig und parallel zu anderen Modulen der Mehrzahl der Module Daten zu verarbeiten. Ferner offenbart
DE 10 2010 003 521 ein entsprechendes Verfahren.
-
In
DE 10 2009 047 121 werden ein Verfahren zum Erzeugen mindestens einer Folge von Signalpegeln an wenigstens einem Ausgang einer elektronischen Schaltung und eine elektronische Einheit zur Durchführung des Verfahrens vorgestellt. Das Verfahren sieht vor, dass die mindestens eine Folge in Abschnitte unterteilt wird, die eine zeitliche Abfolge der Signalpegel in einer Ablaufvorschrift wiedergeben und die Folge auf Grundlage der Ablaufvorschrift von einem Modul verarbeitet wird.
-
DE 10 2010 003 538 schließlich betrifft einen Zeitgeberbaustein mit einem Statusregister. Dabei ist der Zeitgeberbaustein mit einer externen Recheneinheit verbindbar ist und weist Mittel auf, mindestens ein Aktivitätssignal für ein internes Signal des Zeitgeberbausteins und/oder eine interne Einheit des Zeitgeberbausteins und/oder einen Prozess innerhalb der internen Einheit zu erzeugen, im Fall einer festgestellten Aktivität einen Aktivitätsstatus in ein Statusregister einzutragen und den Aktivitätsstatus von der externen Recheneinheit zu von der externen Recheneinheit bestimmten Zeiten abfragen und zurücksetzen zu lassen. Weiterhin bleibt der in dem Statusregister eingetragene Aktivitätsstatus bestehen, bis er von der externen Recheneinheit zurückgesetzt wird.
-
Offenbarung der Erfindung
-
Die Erfindung stellt einen Zeitgeberbaustein für einen Mikrocontroller gemäß dem unabhängigen Anspruch bereit.
-
Dem erfindungsgemäßen Ansatz liegt die Erkenntnis zugrunde, dass echtzeitkritische Aufgaben einer Betriebssoftware typischerweise in Mikrocontrollern mit GTM implementiert werden. Letzteres umfasst hierzu mitunter – gleichsam als Recheneinheit mit reduziertem Befehlssatz (reduced instruction set computer, RISC) – ein mehrkanalfähiges Mikroprogrammsteuerwerk (multi-channel sequencer, MCS), dessen nebenläufig arbeitende Prozessorkerne selbständig Mikroprogramme auszuführen vermögen, ohne den Hauptprozessor zu belasten. Auch Erfassungs-, Vergleichs- und andere Module sind zu diesem Zweck im GTM vorgesehen.
-
Derzeit wird das GTM typischerweise nicht als für die Funktionssicherheit eines Straßenfahrzeuges unerlässliches Modul im Sinne der ISO-Norm 26262 („Road vehicles – Functional safety“) betrachtet. Für zukünftige Systeme kommt jedoch in Betracht, sicherheitskritische Signale über das GTM einzulesen oder auszugeben und diese dann – wie in ISO 26262 gefordert – abzusichern.
-
Um diese Sicherheitsfunktion ohne aufwändige Softwareentwicklung oder eine maßgebliche Erhöhung der Redundanz unterstützen zu können, käme eine Hardwareerweiterung in Gestalt eines sogenannten Lockstep-Systems in Betracht. Dies wäre gleichwohl mit hohem Kostenaufwand verbunden. Ungelöst bliebe so auch die Aufgabe der Absicherung werksseitig noch unbekannter Konfigurationen bei der Nutzung der Hardware des GTM.
-
Vorgeschlagen wird daher, einen oder mehrere MCS-Kanäle gleichsam als „zweiten Pfad“ für die Überwachung zu verwenden. Damit entfällt die Notwendigkeit einer redundanten Ausführung der zu überwachenden Hardware.
-
Ein Vorzug dieser Lösung liegt in der ermöglichten Überwachung von kritischen Ressourcen wie Phasenregelschleifen (digital phase-locked loop, DPLL), Erfassung (capture) und Vergleich (compare), ohne die Hardware eines bekannten Zeitgeberbausteins übermäßig zu erweitern. Als Phasenregelschleife ist im vorliegenden Zusammenhang jedwede elektronische Schaltungsanordnung zu verstehen, die es gestattet, die Phasenlage und damit zusammenhängend die Frequenz eines steuerbaren Schwingungserzeugers über einen geschlossenen Regelkreis so zu beeinflussen, dass die Phasenabweichung zwischen einem äußeren Referenzsignal und dem Schwingungserzeuger oder einem daraus abgeleiteten Signal möglichst konstant ist.
-
Durch die in den abhängigen Ansprüchen aufgeführten Maßnahmen sind vorteilhafte Weiterbildungen und Verbesserungen des im unabhängigen Anspruch angegebenen Grundgedankens möglich.
-
Kurze Beschreibung der Zeichnung
-
Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und in der nachfolgenden Beschreibung näher erläutert. Die einzige Figur zeigt hierzu das stark vereinfachte Blockschaltbild eines Mikrocontrollers unter Hervorhebung seines Zeitgeberbausteins.
-
Ausführungsformen der Erfindung
-
Die Figur stellt eine Ausführungsform eines erfindungsgemäß vorgeschlagenen Mikrocontrollers 60 mit einem Zeitgeberbaustein 24 vor. Der Zeitgeberbaustein 24 umfasst dabei eine Mehrzahl von im Folgenden näher erläuterten Modulen. Der Zeitgeberbaustein 24 umfasst eine zentrale Routing-Einheit 10, welche auch als ARU (Advanced Routing Unit) bezeichnet wird. Ferner umfasst der Zeitgeberbaustein 24 ein Eingabemodul 11, auch bezeichnet als TIM (Timer Input Module), ein Ausgabemodul 12, auch bezeichnet als ATOM (ARU Connected Timer Output Module), eine Recheneinheit 14, wie beispielsweise im hier dargestellten Fall ein MCS (Multi Channel Sequencer) und eine Mehrzahl von Speichermodulen 30, wie beispielsweise FIFO (First In, First Out), F2A und AFD. All diese Module sind an die zentrale Routing-Einheit 10 angeschlossen, was jeweils durch einen dicken Doppelpfeil bzw. einen dicken Pfeil in Richtung Routing-Einheit 10 kenntlich gemacht ist.
-
Im Eingabemodul 11 werden eingehende Signale 50_3 mit Zeit- und anderen physikalischen Informationen verknüpft und nach einer Verarbeitung und gegebenenfalls Zwischenspeicherung in einer der hier dargestellten Ausgabeeinheiten 12 oder 13 zur Generierung von Ausgangssignalen 50_2 bzw. 50_3 benutzt. Dabei handelt es sich bei der Ausgabeeinheit 12 um eine an die zentrale Routing-Einheit 10 angeschlossene Ausgabeeinheit, hier auch als ATOM („ARU Connected Timer Output Module“) bezeichnet wird, während die Ausgabeeinheit 13 eine von der Routing-Einheit 10 unabhängige Ausgabeeinheit bzw. ein Ausgabemodul darstellt.
-
Die genannte andere physikalische Größe ist beispielsweise ein Winkel eines Motors, kann aber auch jede andere physikalische Größe repräsentieren, wie beispielsweise Masse, Temperatur, Pegelstand einer Flüssigkeit, Phasenlage einer Schwingung, eine Anzahl von Ereignissen (Kanten) oder eine Periodendauer bzw. Zeitdauer eines Signals.
-
Der hier dargestellte Zeitgeberbaustein 24 umfasst ferner eine Einheit zur Taktaufbereitung 15, welche auch als CMU (Clock Management Unit) bezeichnet werden kann. Die Einheit 15 stellt konfigurierbare Takte zur Verfügung. Ferner umfasst der Zeitgeberbaustein 24 eine Zeitbasis-Einheit 16 mit sowohl zeit- als auch positionsbezogenen Zählern. Die Zeitbasis-Einheit wird auch als TBU (Time Base Unit) bezeichnet und stellt aktuelle Zeit- und Positionsinformationen wie beispielsweise eine Winkelinformation zur Verfügung. Die genannten einzelnen Module, nämlich das Eingabemodul 11, das Ausgabemodul 12 und die Recheneinheit 14 werden durch die dargestellte Verknüpfung mit den Takten und Zeitbasen, die durch die Einheit zur Taktaufbereitung 15 bzw. die Zeitbasiseinheit 16 zur Verfügung gestellt werden, versorgt. Die einzelnen Module tauschen über die zentrale Routing-Einheit 10 Daten untereinander aus. In den einzelnen Modulen liegen ferner sogenannte Komparatoren vor, die dazu genutzt werden können, lokal in den einzelnen Modulen die ankommenden Daten gegenüber einer aktuellen Zeit und/oder Position abzugleichen, was letztlich zum Treffen von Entscheidungen und Signalisierung der getroffenen Entscheidung führt, wie beispielsweise dem Schalten eines Ausgangssignals.
-
Der dargestellte Zeitgeberbaustein 24 umfasst ferner eine Verzweigungseinheit 17, auch bezeichnet als BRC (Broadcast Unit), die es ermöglicht, dass bei einem Routen von Daten mittels der zentralen Routing-Einheit 10 die Daten einer Quelle auch mehreren Datensenken in einem oder verschiedenen Modulen zur Verfügung gestellt werden können, da in der Regel ein Blockieren des Lesens der Daten vorgesehen ist, die nur das einmalige Lesen eines Datums von einer Quelle erlaubt.
-
Der dargestellte Zeitgeberbaustein 24 umfasst ferner eine Phasenregelschleife 18, welche aus positionsbezogenen Eingangssignalen Impulse erzeugen kann, die feiner unterteilte Positionsinformationen in der Zeitbasis-Einheit 16 ermöglichen. Damit kann beispielsweise eine Winkeluhr eine feinere Auflösung eines Drehwinkels anzeigen, als entsprechende Eingangssignale vorgeben. Darüber hinaus sind in der Phasenregelschleife 18 Informationen über Geschwindigkeit oder Drehzahl verfügbar und es können Voraussagen getroffen werden, wann eine vorgegebene Position auch unter Einbeziehung eines Zeitvorlaufs erreicht sein wird. Einbeziehung eines zeitlichen Vorlaufs bedeutet dabei beispielsweise eine Berücksichtigung der Trägheit eines Ansteuermoduls. Eingangssignale 50_4 für die Phasenregelschleife 18 werden in der Regel über die Eingangseinheit 26 geführt, wobei dies ohne Einbindung der zentralen Routing-Einheit 10 erfolgt. Ferner kann vorgesehen sein, dass ein im Zeitgeberbaustein 24 vorgesehenes MAP-Modul 19 (Input Mapping Module) die über die Eingangseinheit 26 eingegangenen Eingangssignale kombiniert oder selektiert, bevor diese der Phasenregelschleife 18 zugeführt werden. Es ist auch möglich, dass die Zeitgeberbaustein 24 ein SPE-Modul 20 (Sensor Pattern Evaluation) vorsieht, um darin die Eingangssignale für die Phasenregelschleife 18 beispielsweise für eine Ansteuerung von Elektromotoren (PMSM, permanent magnet synchronous motor) geeignet zu kombinieren. Dazu ist es beispielsweise üblich, dass ein PMSM über 3 Sensoren verfügt, die so angeordnet sind, dass die Polwechsel an diesen Sensoren immer nur bei verschiedenen Winkel-Stellungen des Motors auftreten und dadurch nie zeitgleich erfolgen können. Damit ist es möglich, dass der zwischen zwei Polwechseln absolvierte Winkel bekannt ist. Ist die Anordnung der Sensoren beispielsweise so gestaltet, dass zwischen zwei Polwechseln an den Sensoren der Motor immer einen gleichen Winkel dreht, und bei jedem Polwechsel der entsprechende Sensor sein Ausgangssignal ändert, so kann man die drei Sensorsignale mittels Antivalenzverknüpfung (XOR) zu einem Signal kombinieren. Jede Änderung des kombinierten Signals zeigt dann den zurückgelegten Winkel des Motors seit der letzten Änderung an. Ferner kann der Zeitgeberbaustein 24 ein CMP-Modul 21 vorsehen, mit dessen Hilfe Ausgangssignale bitweise miteinander verglichen werden. Eine ferner in der hier dargestellten Schaltungsanordnung vorgesehene Monitor-Einheit 22 ermöglicht dem Hauptprozessor (28) eine einfache Überwachung von zentralen Signalen für beispielsweise sicherheitskritische Anwendungen.
-
Ein Interrupt-Konzentrator ICM 23 (Interrupt Concentrator Module) erlaubt es, von den Einzelmodulen erzeugte Interrupts (IRQ), die jeweils durch ein pfeilförmiges Symbol 38 kenntlich gemacht sind, zu Gruppen zusammenzufassen und dann gebündelt an eine externe CPU weiterzuleiten. Das hat den Vorteil, dass die CPU nicht so viele Interrupts behandeln muss.
-
Die ARU 10 kann durch ihre eigenständige Bearbeitung bewirken, dass nur wenige oder keine Interrupts erzeugt werden müssen, wenn eine Quelle Daten bereitstellt.
-
Ferner ist in dem hier dargestellten Zeitgeberbaustein 24 eine Busschnittstelle 25 vorgesehen, über welche alle Module des Zeitgeberbausteins 24 mittels ihrer jeweiligen eigenen Schnittstellen AEI (Handshake-Interface), generell mit Bezugszeichen 40 bezeichnet, vom Hauptprozessor 28 konfiguriert werden können. Über die Busschnittstelle 25 können auch Daten ausgetauscht werden. Für die nicht an die Routing-Einheit 10 angeschlossene Ausgabe-Einheit 13 (TOM) werden beispielsweise mittels der Busschnittstelle 25 die entsprechenden Ausgänge des Ausgabemoduls 13 für periodische Abläufe konfiguriert. Die erfindungsgemäß eingerichtete Recheneinheit 14 adressiert auf diesem Wege schließlich selbständig die über den Bus 27 zugänglichen Register, Direktzugriffsspeicher 29 und I/O-Bereiche des Mikrocontrollers 60 zum Zweck des Datentransfers.
-
Die Recheneinheit 14 ist eingerichtet, die Funktion eines der Eingabemodule 11 oder 12, des Ausgabemoduls 13, einer weiteren Recheneinheit 14 oder der Phasenregelschleife 18 zu überwachen. Zur Überwachung einer Drehzahl durch ein Motorsteuergerät beispielsweise ist es denkbar, mit dem Zeitgeberbaustein 24 direkt auf wesentliche Rohdaten der Drehzahlerfassung zuzugreifen. Ein Kanal der Recheneinheit 14 liest in diesem Fall die Rohdaten und berechnet damit parallel zur Phasenregelschleife 18 die Winkelbasis für die Zeitgeber. Falls es zu Abweichungen kommt, stellt die Recheneinheit 14 eine Unterbrechungsanforderung (interrupt request, IRQ), die ihrerseits ein Ereignis in einer – zeichnerisch nicht wiedergegebenen – Störungserfassungs- und Überwachungseinheit (fault collection and control unit, FCCU) auslöst.
-
Zur Schließzeitüberwachung ist in Phasenregelschleife 18 eine Funktion implementiert, die wahlweise zwischen einer Winkel- und einer Zeitangabe umrechnet, da für einige Vergleichsoperationen die Zeit und für andere die Winkel benötigt wird. Diese Funktion wird erfindungsgemäß zyklisch mit einem Kanal der Recheneinheit 14 geprüft, indem ein Winkel in eine bekannte Zeit oder die Zeit in einen bekannten Winkel umgerechnet wird. Falls die Ergebnisse nicht korrekt sind, löst die Recheneinheit 14 auch hier per IRQ ein Ereignis in der FCCU aus.
-
Zur Überwachung einer anderweitigen Rechenfunktion schließlich wird die betreffende Funktion zyklisch auf einem anderen Kanal einer anderen Recheneinheit 14 nachvollzogen, um die korrekte Funktion der ersten Recheneinheit 14 zyklisch bestätigen zu können.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102010003521 [0004, 0004]
- DE 102009047121 [0005]
- DE 102010003538 [0006]
-
Zitierte Nicht-Patentliteratur
-
- ISO-Norm 26262 [0009]
- ISO 26262 [0009]