-
Stand der Technik
-
Die
vorliegende Erfindung betrifft eine Schaltungsanordnung zur Signalaufnahme
und -erzeugung nach Anspruch 1 sowie ein Verfahren zum Betreiben
dieser Schaltungsanordnung nach Anspruch 10.
-
Derartige
Schaltungen können
zB als Zeitgeber(Timer)-Bausteine
in Mikrokontrollern verwirklicht sein. Die Bausteine sind dabei
als Einzelkomponenten oder Peripheriebausteine des Kontrollers ausgebildet,
welche mehr oder weniger mächtige
Funktionen zur Signalaufnahme und – erzeugung in zeitlicher Abhängigkeit von
einem oder mehreren Takten zur Verfügung stellen.
-
Heute
kommen in Mikrokontrollern unterschiedliche Konzepte zur Realisierung
von Timern zum Einsatz. Hierbei kann grundsätzlich zwischen komplexen und
weniger komplexen Implementierungen unterschieden werden.
-
In
die Kategorie der weniger komplexen Timer fällt beispielsweise die MTU
(Multi-function Timer pulse Unit) des RenesasTM Controllers
SH7741 – HD6417641.
Dieser bietet dem Benutzer 5 Zeitsteuereinheiten, die mit 16 I/O-Pins
verbunden sind. Unter Zeitsteuereinheiten versteht man Module, die
abhängig
von einem oder mehreren Takten und/oder Eingangssignalen ihren inneren
Zustand wie zB einen Zähler ändern, Zeitpunkte von
einer oder mehrerer Zeitbasen speichern und/oder Signalverläufe ausgeben.
Von der MTU können
beispielsweise 8 Taktquellen ausgewertet und Muster aufgenommen
werden. Darüber
hinaus kann ein bis zu 12-Phasen-PWM(Pulse
Width Modulated)-Signal erzeugt werden. PWM-Signale sind Ein- oder
Ausgangssignale, die ihren Signalpegel nach bestimmten Signaldauern,
die uA durch die Zeitsteuereinheiten bestimmt werden können, ändern. Bei
einem 12-Phasen PWM-Signal
sind beispielsweise bis zu 12 unterschiedlich lange Signalpegel
auf einer Leitung aktiv. Mit diesen Bausteinen sind nur eingeschränkte Timer-Funktionen
auf wenigen I/O-Pins darstellbar, was die Kontroller zwar kostengünstig aber
viel Software-Interaktion erforderlich macht, um komplexe Anwendungen
zu realisieren.
-
Neben
diesen einfachen Timer-Bausteinen existieren komplexere Bausteine,
zu denen beispielsweise die eTPU (Enhanced Time Processing Unit)
von FreescaleTM und der GPTA (General Purpose
Timer Array) von Infineon gehören.
Die eTPU bietet neben dedizierter Timer-Hardware einen programmierbaren
Mikroprozessor. Die eTPU verfügt über 32 Zeitsteuereinheiten,
die mit dedizierter Hardware zur Signalaufnahme und – erzeugung
ausgestattet sind. Jeder Kanal ist an dedizierte l/O-Pins angeschlossen.
Eine Erweiterung der Ressourcen wird bei Freescale dadurch erreicht,
dass die komplette Einheit der 32 Zeitsteuereinheiten zusammen mit
dem Microprozessor verdoppelt wird. Ein anderes Konzept für einen
komplexen Timer-Baustein ist der GPTA. Dieser stellt eine reine
Hardware-Implementierung eines Timer-Bausteins dar. Die Kontrollsoftware läuft entweder
auf dem TriCoreTM Mikrokontroller oder seinem
Co-Prozessor PCP (Peripheral Control Processor). Der GPTA verfügt neben
Hardware zur Signalaufnahme und -generierung über Module zur Filterung und Erzeugung
digitaler Takte und die einzelnen Einheiten können mit bis zu 8 Taktquellen
arbeiten. Bei den Einheiten des GPTA wird zwischen 32 GTCs (Global
Timer Cells) und 63 LTCs (Local Timer Cells) unterschieden, die
jeweils in einem Array angelegt sind. In einem Array liegen die
Elemente hintereinander und können
jeweils mit ihrem Vorgänger
und Nachfolger kommunizieren. Das erste Element in einem Array kann
nur mit seinem Nachfolger und das letzte Element nur mit seinem
Vorgänger
kommunizieren. GTCs basieren auf zwei globalen 24-Bit Zeitbasen
und können
mit den jeweiligen Nachbarn im Array und mit I/O-Pins verbunden
werden. Die Zuordnung von I/O-Pins und GTCs erfolgt über eine
Multiplexer-Schaltung. Multiplexer sind Netzwerke, die abhängig von
Steuerleitungen ein/oder mehrere Eingangssignale auf ein oder mehrere
Ausgangssignale schalten. Dadurch kann jede GTC mit jedem I/O-Pin
verbunden werden. Die LTCs sind 16-Bit basiert und reagieren im
Unterschied zu GTCs zusätzlich
noch auf die acht Taktquellen. Die LTCs können Signale aufnehmen, vergleichen
und als Zähler
fungieren. Die Ansteuerung von I/O-Pins durch die LTCs wird ebenfalls
wieder über
einen Multiplexer realisiert.
-
Die
einfacheren Timer-Bausteine sind aufgrund ihrer eingeschränkten Funktionalität kostengünstig zu realisieren,
benötigen
allerdings zur Darstellung komplexer Funktionalität viel Rechenleistung
des Mikrokontollers. Die komplexeren Timer-Bausteine sind dagegen
teuer und nur eingeschränkt
skalierbar. So wird bei Freescale die gesamte eTPU und bei Infineon
der gesamte GPTA oder der LTC-Array verdoppelt, um mehr Ressourcen
zur Verfügung
zu haben. Dies kann dazu führen,
dass einige Ressourcen nicht ausgelastet sind. Bei der eTPU sind
die I/O-Pins darüber
hinaus dedizierten Zeitsteuereinheiten zugeordnet. Der GPTA umgeht diese
Einschränkung,
indem die I/O-Pins auf die GTCs und LTCs gemultiplext werden. Diese
Realisierung benötigt
allerdings sehr viele Logikressourcen. Darüber hinaus können die
GTCs und LTCs aufgrund ihrer geographischen Anordnung in einem Array
nur mit angrenzenden Zellen direkt kommunizieren, um beispielsweise ein
komplexes PWM-Signal zu erzeugen.
-
Offenbarung der Erfindung
-
Es
ist Aufgabe der vorliegenden Erfindung, eine Schaltungsanordnung
zur Signalaufnahme und -erzeugung bereitzustellen, die eine hohe
Skalierbarkeit, Kommunikationsflexibilität und Verarbeitungsgeschwindigkeit
erlaubt, und die zudem einfach und kostengünstig realisierbar ist.
-
Diese
Aufgabe wird vorrichtungsseitig durch eine Schaltungsanordnung gelöst, die
wenigstens ein Zeitgebermodul zum Bereitstellen einer Zeitbasis
an mehrere damit verbundene Zeitsteuermodule umfasst, und eine Zeit-Routing-Einheit,
die zum Verschalten der genannten Module und ihrer Signale mit diesen
verbunden ist.
-
Unter
dem Begriff Signal soll dabei jede Art der Darstellung von Informationen
durch den Wert oder Wertverlauf einer physikalischen Größe verstanden
werden. Der im Folgenden verwendete Begriff Daten soll dagegen die
in erkennungsfähiger
Form dargestellten Elemente dieser Information beschreiben, die
in Systemen verarbeitet werden können.
-
Ein
wesentlicher Punkt der erfindungsgemäßen Schaltungsanordnung besteht
in ihrer flexiblen Verbindungsstruktur. Das zentrale Element dieser
Struktur ist die Zeit-Routing-Einheit oder der Router, an welchen flexibel
Module angeschlossen werden können.
Der Router sorgt dabei für
eine Verschaltung der Module und ihrer Signale. Da sich die Anzahl
der Module anforderungsabhängig
variieren lässt,
ist eine besonders feingranulare Skalierbarkeit der Schaltung möglich. Zum
anderen wird ermöglicht,
I/O-Pins und Zeitsteuereinheiten beliebig miteinander zu verschalten,
ohne dass dafür
eine ressourcenintensive Multiplexerschaltung benötigt wird.
So kann im Unterschied zum GPTA der Multiplexer für die Ansteuerung
der I/O-Pins durch den Router ersetzt werden. Die einzelnen Module
können
dann über
diesen Router mit einem oder mehrerer I/O-Modulen flexibel kommunizieren.
Durch den Router müssen
darüber
hinaus auch keine Timer-Zellen mehr als Routing-Ressourcen verwendet
werden, um eine flexiblere Verschaltung zu erhalten.
-
Bevorzugte
Weiterbildungen der erfindungsgemäßen Schaltungsanordnung sind
in den Unteransprüchen
2 bis 8 angegeben.
-
Danach
ist es in einer vorteilhaften Ausführungsform der Schaltung vorgesehen,
dass die Zeit-Routing-Einheit bezüglich der Anzahl damit verbundener
Module einstellbar ist. Ein derart programmierbarer zentraler Router
ermöglicht
eine feinere Granularität
und Anpassbarkeit an die gestellten Aufgaben. Im Unterschied dazu
wird die eTPU um einen ganzen Microprozessor und 32 Zeitsteuereinheiten
und der GTPA um einen kompletten Baustein oder ein LTC-Array erweitert.
Durch die sich daraus ergebenden geringeren Gatterzahlen können Kosten
eingespart werden.
-
Die
Zeit-Routing-Einheit weist vorzugsweise einen Speicherbereich zum
Schreiben und zum Lesen der zwischen Modulen übermittelten Daten auf. Dies
erlaubt ein Halten der zwischen Modulen übermittelten Signale und damit
eine zeitversetzte, zB zyklische Bedienung der Module durch den
Router. Die Weiterleitung der Daten an das jeweils adressierte Modul
kann aber auch prioritätsgesteuert
erfolgen, um eine Optimierung der Kommunikation zu erreichen.
-
Eine
besonders einfache Speicherung wird dadurch erzielt, dass die Zeit-Routing-Einheit
für jedes
damit verbundene Modul eine feste Schreibadresse in dem Speicherbereich
enthält.
Abhängig
von der Speichergröße lassen
sich dadurch weitere Module besonders einfach anschließen, ohne
dass die Speicheraufteilung bezüglich
schon eingebundener Module zu ändern
wäre.
-
Dabei
weist der Speicherbereich der Zeit-Routing-Einheit in bevorzugter
Weise Speicherstellen auf, die einen festen Wert oder keine verfügbaren Daten
beinhalten. Dadurch wird gewährleistet,
dass sich die angeschlossenen Module bei einem System-Reset in einem
definierten Zustand befinden.
-
Zum
Analysieren und Manipulieren des Speicherbereichs der Zeit-Routing-Einheit
ist es von Vorteil, wenn eine Schnittstelle für einen Debugger vorgesehen
ist. Diese ist bevorzugt an den internen Bus eines Gesamtsystems
angeschlossen, das die Schaltungsanordnung enthält. Damit ist der Speicherbereich über die Schnittstelle
zu diesem System zugreifbar.
-
In
einer weiteren vorteilhaften Ausführungsform der Schaltung ist
es vorgesehen, dass an Zeitgeber- oder Zeitsteuermodulen eine Leseadresse
für an
der Zeit-Routing-Einheit zu lesende Daten über ein Register des Moduls
einstellbar ist. Dies ermöglicht
die flexible Anbindung der Module an den Router, ohne diesen selbst
umkonfigurieren zu müssen.
-
Bevorzugt
ist es dabei, wenn ein Zeitgeber- oder Zeitsteuermodul zum Stoppen
seiner internen Datenverarbeitung bei an der Zeit-Routing-Einheit
nicht verfügbaren
Daten ausgebildet ist. Das Modul blockiert damit und läuft erst
wieder an, wenn Daten verfügbar
sind. Damit wird die Kommunikationslast innerhalb der Schaltung
reduziert und deren Verarbeitungsgeschwindigkeit erhöht. Zudem
ist ein definierter Zustand der Module bei System-Reset einstellbar.
-
Die
eingangs genannte Aufgabe wird auch durch ein Betriebsverfahren
für die
Schaltungsanordnung gelöst,
bei dem die Zeit-Routing-Einheit zyklisch mit den Zeitgeber- und
Zeitsteuermodulen kommuniziert, wobei Daten von einem sendenden
Modul in einen Speicherbereich der Einheit geschrieben und von einem
empfangenden Modul aus diesem Speicherbereich gelesen werden.
-
Ein
wesentlicher Punkt des erfindungsgemäßen Verfahren besteht dabei
in der einfachen Kommunikationsabwicklung über die Zeit-Routing-Einheit,
was eine beliebige Skalierbarkeit der Schaltung durch flexible Anbindung
weiterer Module zulässt.
Durch die Verschaltung über
den Router entsteht gleichzeitig eine hohe Kommunikationsflexibilität zwischen
den Modulen. Da zudem immer eine direkte Kopplung der Module über den
Router möglich
ist, ist eine hohe Verarbeitungsgeschwindigkeit gewährleistet.
Gleichzeitig ist das Verfahren einfach und kostengünstig zu
realisieren.
-
In
einer vorteilhaften Ausführungsform
des Verfahrens stoppen die Zeitgeber- und Zeitsteuermodule bei nicht
an der Zeit-Routing-Einheit
verfügbaren
Daten ihre interne Datenverarbeitung. Dadurch können zum einen die Module bei
einem System-Rest in einen definierten Zustand zurückgesetzt
werden. Zum anderen wird die Kommunikationslast in der Schaltung
reduziert und deren Verarbeitungsgeschwindigkeit erhöht.
-
Bevorzugt
wird die Schaltungsanordnung zB als Timer-Baustein zum Steuern des
Motors eines Kraftfahrzeugs verwendet.
-
Kurze Beschreibung der Zeichnungen
-
Die
erfindungsgemäße Schaltung
und ihr Betriebsverfahren werden im Folgenden anhand eines Ausführungsbeispiels
näher erläutert. Gleiche
oder gleichwirkende Teile sind mit gleichen Bezugszeichen versehen.
Es zeigen:
-
1 ein
Zeitsteuermodul zum Erläutern
des Prinzips der zeitabhängigen
Verarbeitung und Generierung von Signalen im Stand der Technik;
-
2 ein
Blockschaltbild einer ersten Ausführungsform der erfindungsgemäßen Schaltungsanordnung
zum Erläutern
ihrer Funktionsweise;
-
3 ein
Blockschaltbild einer zweiten Ausführungsform der erfindungsgemäßen Schaltungsanordnung
zum Erläutern
der Signaldurchschaltung, und
-
4 eine
schematische Darstellung der zeitbehafteten Signalverarbeitung in
Modulen einer erfindungsgemäßen Schaltungsanordnung.
-
Ausführungsform der Erfindung
-
Die 1 zeigt
ein Zeitsteuermodul TCx (Time Controller) zum Erläutern des
Prinzips der zeitabhängigen
Verarbeitung und Generierung von Signalen im Stand der Technik.
In dem Modul TCx werden dabei ein oder mehrere Eingangssignale SI
(Signal In) abhängig
von einem Takt CLKx (CLocK) aufgenommen und/oder gezählt und
abhängig
davon ein oder mehrere Ausgangssignale SO (Signal Out) erzeugt.
-
Die 2 zeigt
ein Blockschaltbild einer ersten Ausführungsform der erfindungsgemäßen Schaltungsanordnung
CA (Circuit Arrangement) zum Erläutern
ihrer Funktionsweise. Eine Zeit-Routing-Einheit TRU (Timer Routing
Unit) ermöglicht
dabei eine effiziente, auf einer oder mehreren Zeitbasen TM (Timer
Modul) basierende Signalauswertung und/oder – generierung, wie sie in 1 dargestellt
ist. Die Zeitbasen TM stehen über
feste Leitungen W1 ... W4 (Wiring) mit Zeitsteuermodulen TC1 ...
TC4 (Time Controller) in Verbindung. In einem Zeitsteuermodul TC1
... TC4 wird die in 1 beschriebene Signaldurchschaltung
vorgenommen. Dabei können
auch ein oder mehrere Zeitsteuereinheiten miteinander verschaltet
werden, um komplexere Signale zu verarbeiten und/oder auszugeben.
-
Diese
Verschaltung wird von der zentralen TRU vorgenommen und ist in 2 dargestellt.
Innerhalb der TRU befindet sich ein Speicherbereich S, über den
die Daten und Signale zwischen den angeschlossenen Modulen TC1 ...
TC4 transferiert werden können.
Die Anzahl der adressierbaren Module richtet sich nach der Größe des Speichers
S und der Datenrate, mit der die Anwendung betrieben werden muss.
Die Anzahl der TRU-Speicheradressen
richtet sich umgekehrt nach der Anzahl der angeschlossenen Module
TCx.
-
Jedes
Modul, das mit der TRU verbunden ist, besitzt eine feste Schreibadresse
wie zB TC3-W (für
Modul TC3) oder TC4-W (für
Modul TC4). Auf diese Schreibadresse kann geschrieben werden, wenn
die Speicherstelle leer ist. Dies kann über ein spezielles Flag signalisiert
werden. Die Leseadresse ist über
ein Register wie zB TC3-REG (für
Modul TC3) oder TC4-REG (für
Modul TC4) in dem jeweiligen Modul einstellbar. Die Module TC1 ...
TC4 werden dann von der TRU zyklisch bedient, indem Daten bzw Signale,
die geschrieben werden sollen, in dem Speicherbereich S abgelegt
und verfügbare
Daten aus dem Speicherbereich S zB über die Adresse TC3-R (für Modul
TC3) oder TC4-R (für
Modul TC4) an das jeweilige Modul übergeben werden.
-
Bei
Lesezugriffen eines Moduls TCx liefern zwei spezielle Speicherstellen
der TRU einen vordefinierten Wert oder keine Daten. So liefert beispielsweise
die Speicherstelle VD (Value Defined) einen Festwert und die Speicherstelle
ED (Empty Defined) keine verfügbaren
Daten. Die beiden Speicherstellen VD, ED sind nicht modulspezifisch
angelegt und können über das
jeweilige Register der angeschlossenen Module TCx, beispielsweise über TC3-REG
oder TC4-REG adressiert werden. Dadurch wird gewährleistet, dass sich die Module
TC1 ... TC4 bei einem System-Reset in einem definierten Zustand
befinden. Die Module blockieren bei nicht vorhandenen Daten und
stoppen die interne Verarbeitung. Dies kann bei einem System-Reset
durch Lesen der Speicherstelle ED, die keine Daten enthält, erreicht
werden. So zeigt beispielsweise das Leseregister TC4-REG des Moduls
TC4 auf die leere Speicherstelle ED und blockiert damit seine Ausführung.
-
Für den Zugriff
auf den Speicherbereich S, der zB für das Debugging der TRU notwendig
ist, ist die TRU mit einer Schnittstelle I (Interface) ausgestattet.
Um eine leichte Zugreifbarkeit zu gewährleisten, kann diese Schnittstelle
beispielsweise an den internen Bus des Gesamtsystems angeschlossen
werden.
-
Die 3 zeigt
ein Blockschaltbild einer zweiten Ausführungsform der erfindungsgemäßen Schaltungsanordnung
zum Erläutern
der Signaldurchschaltung. Dabei ist ein zeitbehafteter Signalverarbeitungspfad mit
Signaleingang SI und Signalausgang SO dargestellt. Ein Modul TC5
stellt in dem Beispiel ein I/O-Modul dar, an das ein Eingabe- und
ein Ausgabegin angeschlossen sind. Ein Modul TC6 blockiert solange,
bis das Modul TC5 einen Wert an seine Speicheradresse TC5-W geschrieben
hat. Dieser Wert wird dann vom Modul TC6 weiterverarbeitet, das
die Speicherstelle TC6-R adressiert. Das Modul TC6 könnte zB
einen Zähler
abhängig
von einem Takt CLK6 zählen
und dann bei einem vorher programmierten Zählerstand einen Wert an die
Speicherstelle TC6-W schreiben. Ein Modul TC7 blockiert wiederum
auf dieser Speicherstelle TC7-R und läuft los sobald ein Datum verfügbar ist.
Nach Ablauf einer bestimmten Zeitspanne wird ein weiterer Wert an die
Speicherstelle TC7-W des Moduls TC7 geschrieben. Diese Speicherstelle
TC7-W wird dann wieder von dem Modul TC5 über TC5-R ausgelesen und der
Pegel des Signals ausgegeben.
-
Für den oben
beschriebenen Mechanismus müssen
bestimmte zeitliche Rahmenbedingungen erfüllt sein. Die Frequenz des
TRU-Taktes CLK hängt
von zwei Faktoren ab. Zum einen von der maximalen Frequenz eines
Datenstroms oder Signals, welche ohne die Verarbeitung durch den
Timer hindurchgeschleust werden müssen, und zum anderen von der
maximalen Frequenz eines Datenstroms oder Signals, welche von dem Modul
mit der höchsten
Laufzeit bearbeitet werden. Die Zeit t
TRU-Zyklus,
die zwischen zwei sukzessiven Zugriffen der TRU auf ein Modul TC5
... TC7 vergeht, wird als TRU Zyklus bezeichnet. Damit kein Datum
verloren geht, muss dieser TRU-Zyklus höher sein als die maximale Frequenz
der Eingangs- und Ausgangssignale SI und SO. Dazu muss die Anzahl
der Takte bestimmt werden, die notwendig ist, damit jedes der angeschlossenen Module
TC5 ... TC7 lesend und schreibend auf die TRU zugreifen kann. Für den TRU-Zyklus
ergibt sich dann die folgende Gleichung:
-
Daraus
kann die notwendig Taktfrequenz für die TRU anhand der nachfolgenden
Ungleichung bestimmt werden:
-
Benötigen die
Module TC5, TC6, TC7 und TM beispielsweise 3 Takte zum Lesen und
2 Takte zum Schreiben von Daten, so sind im schlechtesten Fall 20
Takte für
die Behandlung aller Module durch die TRU in einem TRU Zyklus erforderlich.
Bei einer maximal möglichen
Frequenz der Eingangs- und Ausgangssignale SI und SO von 1 MHz müsste die
TRU mit einem Takt von 20 MHz betrieben werden. Dies gilt für den Fall, dass
die Signale SI, SO nur durch die Schaltung geroutet, aber nicht
verarbeitet werden. Wenn die Daten bzw Signale in einem Modul TC5
... TC7 verarbeitet werden müssen,
muss die Bearbeitungszeit des Moduls TCx mit betrachtet werden,
welches die für
die Bearbeitung meiste Zeit benötigt.
Dieses Szenario ist in 4 dargestellt.
-
Die
4 zeigt
eine schematische Darstellung der zeitbehafteten Signalverarbeitung
in Modulen TCx einer erfindungsgemäßen Schaltungsanordnung. Zu
den Zeitpunkten t1 ... t3 (time) laufen Daten und Signale mit einer
Frequenz F (Frequency) an den Eingabegins auf. Im schlechtesten
Fall läuft
die TRU einen Umlauf mit der Zeitspanne p1 (period), ehe ein Modul
TCx die Daten lesen kann. Danach dauert es im schlechtesten Fall
die Zeitspannen p2 + p3, bis das Modul TCx seine Daten wieder zur
TRU schreiben kann. Dabei stellt die Zeitspanne p2 die Berechnungszeit
und die Zeitspanne p1 die Zeit für
einen TRU-Zyklus dar. Daraus lässt
sich dann der benötigte
Systemtakt für
die TRU wie folgt ermitteln. Es gilt:
-
Daraus
ergibt sich der Systemtakt mit:
-
Beispielhaft
kann die hier beschriebene TRU in einem Timer für Motorsteuergeräte eingesetzt
werden. Aufgrund der skalierbaren und programmierbaren Architektur
der TRU ist eine darauf aufbauende Schaltungsanordnung äußerst flexibel
konfigurierbar, reaktionsschnell, zuverlässig und zudem kostengünstig realisierbar.