-
Hintergrund
-
Die Verwendung von elektronischen Schaltungen, beispielsweise Mikrocontrollern, zur Erzeugung periodischer Signale (z.B. impulsbreite-modulierte Signale, Zündungsimpulse, etc.) ist von wachsender Bedeutung. Im Allgemeinen können die Signaleigenschaften während des Betriebs der Schaltungen geändert werden. In bisherigen Vorrichtungen wird ein interner Timer verwendet, um die Zeit einer Aktion zu erstellen. Zu diesem Zweck wird ein Wert in einem Vergleichsregister gespeichert, der mit dem internen Timer verglichen wird. Wenn nun ein neuer Wert in das Vergleichsregister programmiert wird, kann dieser neue Wert vom Gesichtspunkt des Timers aus in der Vergangenheit liegen, aber der überschriebene Wert existiert noch in der Zukunft. Wenn dies passiert, führt die Schreiboperation während des aktuellen Zeitraums keine Aktion durch. Das Ergebnis ist ein gänzlich gestörtes Signal (das Signal hat während eines Zeitraums ein „1“-Signal oder ein „0“-Signal).
-
Einige bisherige Vorrichtungen ermöglichen Veränderungen des Inhalts des Vergleichsregisters nur zu bestimmten Zeitpunkten, die für das Signal nicht kompliziert sind. Im Allgemeinen treten die Zeitpunkte direkt nach einer Aktion auf. Zu diesem Zweck muss die Einheit, die den Inhalt des Vergleichsregisters verändert, entweder auf den richtigen Zeitpunkt in einer Warteschleife warten, oder eine Unterbrechung (d.h. eine Programmunterbrechungsanfrage) aktiviert diese Einheit, die dann den Inhalt des Vergleichsregisters in einer Unterbrechungsbehandlungsroutine aktualisiert. Wenn zwischen der alten Aktion und der neuen Aktion nur ein kurzes Zeitfenster vorhanden ist, könnte das Programm durch die Latenzzeit der Unterbrechung oder durch die eingeschränkte Leistung der Einheit verzögert werden, so dass der neue Wert erst nach dem gezielten Zeitraum erscheint. Wenn dies passiert, ist das Ergebnis ein falsches Signal (ein Signal mit der Periode 0% oder 100%). Außerdem führen Warteschleifen und die Unterbrechungsbehandlung zu beträchtlichen Leistungsverlusten für die Einheit, die die Vergleichsdaten aktualisiert. Des Weiteren ist die Erzeugung eines neuen Signals in einigen Fällen beträchtlich verzögert.
-
Ein komplexer Befehlssatz kann verwendet werden, um die oben genannten Nachteile zu mildern. Es ist jedoch nicht möglich, alle Fälle ganz zu vermeiden, da ein nicht deterministisches Verhalten (Buszuordnung, weitere Unterbrechungen, etc.) ein zeitgerechtes Verarbeiten erschwert. Bei einer weiteren bisherigen Vorrichtung wird ein Stapelspeicher (FIFO) verwendet. Das Vergleichsregister wird mehrmals verwendet. Nach einer erfolgreichen Vergleichsaktion wird der Inhalt des Registers, in das zuletzt geschrieben wurde, an das Vergleichsregister weitergeleitet. Somit werden in allen Fällen nur das vorherige und das aktuelle Signal erzeugt. Dieses Verfahren hat den Nachteil, dass die Erzeugung eines neuen Signals in einigen Fällen verzögert wird, da zuerst ein altes Ereignis stattfinden muss. Dies kann in einigen Fällen zu einer kompletten Fehlfunktion führen, wenn der alte Wert einer Deaktivierung (beispielsweise eine Impulsbreite-Modulation von 0% oder 100% zu erzeugen) entspricht. Ein weiterer Nachteil ist der Hardware-Aufwand und die Unflexibilität der Verwendung der Hardware, da die Mehrfachimplementierung des Vergleichsregisters nur für den gesteuerten Wechsel zwischen zwei Signalen verwendet und nicht durch andere Timerkanäle frei zugeteilt werden kann.
-
Eine weitere bisherige Vorrichtung verwendet identische Module, um temporäre Signale zu erzeugen. Viele dieser Module können zusammen ein Signal erzeugen. Zu diesem Zweck sind diese Module über einen Bus mit einem Signalausgangsmodul verbunden. Verschiedene Befehle können nun auf diesem Bus übertragen werden, beispielsweise ein Signalübergang von „0“ zu „1“, von „1“ zu „0“, wodurch der Zustand in Abhängigkeit von dem gegenwärtigen Zustand verändert wird oder ein Signal von einer anderen Einheit unterdrückt wird. Dieser Bus ist hierarchisch (sequentiell) so aufgebaut, dass alle Einheiten nacheinander auf dem Bus verbunden sind. Der übergeordnete Befehl (d.h. in der Kette weiter vorne) wird durch einen niedrigeren Befehl überschrieben, der zur gleichen Zeit ausgegeben wird. Eine zusätzliche Leitung ermöglicht nun, dass eine Reihe von Modulen an einer Periodengrenze zusammen aktivieren und deaktivieren. Somit kann ein Teil der Zellen so konfiguriert werden, dass sie zur Konfiguration der neuen Daten verwendet werden. Nach dem Aktualisieren aller dieser Register wird der Wechsel zu der nächsten Periodengrenze aktiviert. Dieses Verfahren hat den Nachteil, dass die Erzeugung eines neuen Signals beträchtlich verzögert werden kann, da zuerst ein altes Ereignis stattfinden muss. Außerdem müssen alle Aktualisierungen zeitgleich erfolgen, da nach dem Schreiben neuer Registerinhalte und der Aktivierung des Wechsels an der nächsten Periodengrenze für eine weitere Aktualisierung, beispielsweise eines weiteren Registersatzes, auf die Periodengrenze gewartet oder die Aktualisierung temporär deaktiviert werden muss, wodurch riskiert wird, dass die nächste Periodengrenze versäumt wird und im Fall des periodischen Deaktivierens alle Aktualisierungen versäumt werden.
EP 0 535 615 B1 beschreibt einen Einzel-Chip-Mikrocomputer, in dem zwei Zeitgeber enthalten sind, um die Kosten eines Mikrocomputersystems für die Erzeugung zweier Arten von Zeitgeberausgaben zu senken.
US 7 284 142 B2 beschreibt ein Zeitgebermodul zum Erzeugen von Unterbrechungen für ein System, das einen Mikroprozessor, der eine Echtzeitunterbrechung unter Verwendung eines dezidierten Echtzeitunterbrechungstaktsignals bereitstellt, enthält. Die Erfindung löst dieses und/oder andere Probleme durch die Gegenstände der unabhängigen Ansprüche. Vorteilhafte Weiterbildungen der Erfindung sind in den Unteransprüchen angegeben.
-
Gemäß einem weiteren Aspekt wird eine Lokale Timer-Zelle bereitgestellt, die aufweist:
- ein Speicherelement zum Speichern eines Werts;
- Verbindungen zum Senden und Empfangen von Signalen auf einem ersten und einem zweiten Bus;
- eine Vergleichseinrichtung, die einen Timer-Zählwert mit dem gespeicherten Wert vergleicht; und
- eine Logik, die mit dem ersten Bus und dem zweiten Bus gekoppelt ist, und die einen lokalen Ausgang der lokalen Timer-Zelle in Abhängigkeit von dem Vergleich durch die Vergleichseinrichtung aktiviert oder deaktiviert.
- Vorteilhaft ist der Wert ein Zählwert, der einem gewünschten Zeitintervall entspricht.
- Vorteilhaft kann die lokale Timer-Zelle selektiv so konfiguriert sein, dass sie mit dem ersten Bus oder dem zweiten Bus verbunden ist.
- Vorteilhaft ist wenigstens ein lokaler Ausgang mit einer Ausgangseinheit gekoppelt, und wobei Signale an eine oder mehrere der Ausgangseinheit und anderer lokaler Timer-Zellen, die mit dem ersten Bus und dem zweiten Bus gekoppelt sind, geliefert werden können.
- Vorteilhaft weisen die Signale übergangssynchronisierte impulsbreite-modulierte Signale auf.
-
Gemäß einem weiteren Aspekt umfaßt ein Verfahren:
- Bereitstellen von ersten und zweiten Buseingängen für ein Modul;
- Bereitstellen von ersten und zweiten Busausgangs-Endgeräten und eines lokalen Modulausgangs-Endgeräts von dem Modul; und
- Erzeugen einer lokalen Aktionsanfrage innerhalb des Moduls und Liefern an einen lokalen Modulausgang und entweder Liefern an das erste Busausgangs-Endgerät in einem ersten Betriebsmodus oder Liefern an das zweite Busausgangs-Endgerät in einem zweiten Betriebsmodus.
-
Vorteilhaft weist das Verfahren des Weiteren auf:
- Bereitstellen einer Vielzahl von Modulen, die hierarchisch an die ersten und zweiten Busse gekoppelt sind;
- Bereitstellen eines Zählwerts, der von allen Modulen der Vielzahl von Modulen zu verwenden ist;
- Liefern einer Aktionsanfrage an einen lokalen Ausgang eines ersten Moduls (LTCx) und an die ersten und zweiten Busse, wobei die Aktionsanfrage von einem ersten Modul aus einem Wert, der in der ersten Einheit gespeichert ist, und dem Zählwertsignal erzeugt wird; und
- Liefern einer aktualisierten Aktionsanfrage an einen lokalen Ausgang eines zweiten Moduls (LTCx+1) und den ersten Bus, wobei die aktualisierte Aktionsanfrage von einem zweiten Modul aus einem aktualisierten Wert, der in der zweiten Einheit gespeichert ist, und dem Zählwertsignal erzeugt wird.
-
Vorteilhaft weist das Verfahren des Weiteren auf:
- Zurücksetzen eines Timers zu Beginn einer neuen Periode;
- Vergleichen des Timer-Ausgangs mit einem in einem ersten Register gespeicherten Wert, um eine Aktionsanfrage zu erzeugen, wenn der Timer-Wert den in dem ersten Register gespeicherten Wert erreicht hat;
- Bereitstellen eines aktualisierten Werts für ein zweites Register und Vergleichen des Timer-Ausgangs mit dem aktualisierten Wert;
- gleichzeitig mit dem Bereitstellen des aktualisierten Werts, Vergleichen des Timers mit dem Wert in dem ersten Register und dem aktualisierten Wert in dem zweiten Register und Erzeugen eines Befehls, um das Merkmal basierend auf einem in dem ersten Register gespeicherten Wert zu erzeugen, wenn er kleiner ist, als der Timer-Wert;
- gleichzeitig mit dem Bereitstellen des aktualisierten Werts, Vergleichen des Timers mit dem Wert in dem ersten Register und dem aktualisierten Wert in dem zweiten Register und Erzeugen eines Befehls, um das Merkmal basierend auf dem in dem ersten Register gespeicherten Wert zu erzeugen, wenn er kleiner ist, als der in dem zweiten Register gespeicherte Wert;
- danach Erzeugen weiterer Befehle, um das Merkmal basierend auf dem aktualisierten Wert in dem zweiten Register zu erzeugen; und
- Deaktivieren des ersten Registers.
-
Vorteilhaft basiert das Erzeugen des Befehls, um das Merkmal zu erzeugen, auf dem aktualisierten Wert in dem zweiten Register, wenn der Timer größer ist, als der in dem ersten Register gespeicherte Wert.
-
Kurze Beschreibung der Zeichnungen
-
- 1 ist ein Blockdiagramm eines Timermoduls, das an zwei Busse gekoppelt ist, gemäß einer beispielhaften Ausführungsform.
- 2 ist ein Blockdiagramm eines Timermoduls, das an zwei Busse gekoppelt ist, wobei ein anderer Datenfluss gezeigt ist, gemäß einer beispielhaften Ausführungsform.
- 3 ist Blockdiagramm einer Dual-Bus-Kette von Timermodulen gemäß einer beispielhaften Ausführungsform.
- 4 ist ein Blockdiagramm einer Dual-Bus-Kette von Timermodulen, die verschiedene Funktionen ausführen, gemäß einer beispielhaften Ausführungsform.
-
Detaillierte Beschreibung
-
In der folgenden Beschreibung wird auf die begleitenden Zeichnungen Bezug genommen, die einen Teil hiervon bilden, und in denen spezifische Ausführungsformen, die praktiziert werden können, mittels Illustration dargestellt sind. Diese Ausführungsformen werden ausreichend detailliert beschrieben, so dass sie dem Fachmann ermöglichen, die Erfindung zu praktizieren, und es ist selbstverständlich, dass andere Ausführungsformen verwendet werden können, und dass strukturelle, logische und elektrische Veränderungen erfolgen können, ohne vom Umfang der vorliegenden Erfindung abzuweichen. Die folgende Beschreibung beispielhafter Ausführungsformen ist daher nicht in einschränkendem Sinne zu verstehen, und der Umfang der vorliegenden Erfindung wird durch die beigefügten Patentansprüche definiert.
-
Die Verwendung von elektronischen Schaltungen, beispielsweise Mikrocontrollern, zur Erzeugung periodischer Signale (z.B. impulsbreite-modulierte Signale, Zündungsimpulse, etc.) ist von wachsender Bedeutung. Es besteht ein Bedarf, die Modulation dieser Signale in Echtzeit zu ändern. Zum Zeitpunkt der Veränderung können die erzeugten Signale temporär (z.B. Arbeitszyklus, Periode) das neue und das alte Signal sein oder zwischen dem neuen und dem alten Signal liegen. Eine Verschiebung zu dem neuen Signal sollte so früh wie möglich stattfinden (geringe Latenz).
-
Verschiedene Ausführungsformen der Erfindung beziehen sich auf die Verwendung mehrerer Module 110, die über erste und zweite Busse 115 und 120 in 1 mit einem Signalausgabemodul verbunden sind. Mittels der beiden Busverbindungen können verschiedene Befehle auf den beiden Bussen 115 und 120 übertragen werden. Beispielsweise Signalübergänge von „0“ zu „1“, von „1“ zu „0“, wodurch der Zustand in Abhängigkeit von dem aktuellen Zustand verändert und ein Signal von einer anderen Einheit unterdrückt wird, wie in 2 gezeigt ist, wo ein lokales Ereignis nicht an andere Einheiten weitergeleitet wird, sondern bei 130 an eine nächste Ausgangseinheit gesendet wird. Beide Busse können hierarchisch (sequentiell) so konstruiert sein, dass alle Einheiten nacheinander kettenartig auf dem (Daisy Chain) Bus verbunden sind, wie in 3 und 4 gezeigt ist. Bei einer Ausführungsform kann ein Modul 110 eine lokale Timer-Zelle (local timer cell; LTC) sein, an die ein Timerzustand über einen der Busse gesendet wird.
-
Bei einer Ausführungsform ist das Modul 110 eine lokale Timer-Zelle und weist ein Speicherelement, beispielsweise ein Register 135, zum Speichern eines Werts auf. Der Wert kann ein Zählwert sein, der einem gewünschten Zeitintervall entspricht. Die lokale Timer-Zelle weist Verbindungen auf zum Senden und Empfangen von Signalen auf einem ersten und einem zweiten Bus, sowie eine Vergleichseinrichtung, die einen Timer-Zählwert mit dem gespeicherten Wert vergleicht. Ein logisches Element in der lokalen Timer-Zelle kann das Umgehen eines der Busse ermöglichen. Ein derartiges Umgehen kann bei einer Ausführungsform ein modulkonfigurierbarer Parameter sein, so dass die Befehle für die folgenden Module nicht sichtbar sind. Die lokale Timer-Zelle kann auch Logik aufweisen, die es ihr ermöglicht, dass sie deaktiviert und dann bei Auftreten eines Ereignisses wieder aktiviert.
-
Verschiedene Befehle können auf einem Bus zwischen den Modulen übertragen werden. Ein übergeordneter Befehl (d.h. derjenige, der in der Kette weiter vorne ist), der in ein Modul eintritt, wird durch einen niedrigeren Befehl überschrieben, der innerhalb der Periode in dem Modul ausgegeben wird. Jedes Modul 110 hat eine konfigurierbare Eigenschaft, von dem ersten Bus 115 zu dem zweiten Bus 120 zu schalten, oder von dem zweiten Bus 120 zu dem ersten Bus 115 zu schalten. Somit kann eine Reihe von Modulen 110, 310, 315 mittels des zweiten Busses 120 umgangen werden, so dass ihre Befehle für die folgenden Module nicht sichtbar sind, wie in 3 gezeigt ist. Dies ermöglicht, dass ein Befehl, der auf dem Bus von allen Modulen verwendet wird (z.B. ein Signalwechsel von „0“ zu „1“, was für übergangssynchronisierte, genannt auch asymmetrische (edge aligned) impulsbreite-modulierte Signale typisch ist), unverändert an mehrere Gruppen von Modulen gesendet wird, die dann andere entsprechende lokale Übergänge für ein lokales Signalerzeugungsmodul erzeugen.
-
Diese lokalen Module können nun verwendet werden, um eine Aktualisierung des temporären Signals zu ermöglichen. Zu diesem Zweck werden ein oder mehr deaktivierte Module mit einem neuen Signal konfiguriert und aktiviert (im Allgemeinen zu unterschiedlichen Zeitpunkten). Diese Module mit den alten Signalen werden rekonfiguriert, so dass sie sich bei ihren nächsten Aktionen selbst deaktivieren. Somit werden für dieses Verfahren für eine Periode zwei oder mehr Module gleichzeitig aktiviert. Das zeitlich früheste Modul bestimmt den Signalwechsel (z.B. Wechsel von „1“ zu „0“). Die zeitlich späteren Module wechseln das externe Signal nicht mehr, weil sie denselben Befehl geben und somit versuchen, eine Aktion auszulösen, die bereits von dem zeitlich früheren Modul durchgeführt worden ist.
-
Verschiedene Ausführungsformen der Erfindung ermöglichen eine volle Konfigurabilität der Hardware. So kann entweder ein Modul verwendet werden, um einen einwandfreien Wechsel eines Signals zu ermöglichen, oder um andere Signalübergänge oder andere Signale zu erzeugen, z.B. beim Verwenden von Software, um einwandfreie Signalwechsel zu erzeugen, z.B. für zeitlich sehr langsame Signale (Perioden). Des Weiteren ermöglichen einige Ausführungsformen in vielen Fällen sofort Schaltungen zu dem neuen Signal. Nur in Fällen, in denen das alte Signal bereits einen Signalwechsel durchgeführt hatte, tritt eine Verzögerung von einer Periode beim Wechsel zu dem neuen Signal auf. Diese Einbuße kann durch Eingreifen der Software weiter reduziert werden, indem alte Signalmodule nach Errichten des neuen Signalmoduls deaktiviert werden, wenn die alte Aktion innerhalb der Periode vor der neuen Aktion liegt.
-
Zusätzlich stellen einige Ausführungsformen ein sauberes, ungestörtes Signal für jeden Signalwechsel bereit, ohne die Leistung der Prozessoreinheit zu beeinträchtigen, weil die Prozessoreinheit Warteschleifen oder Unterbrechungen verwenden muss. Eine weitere günstige Eigenschaft einiger Ausführungsformen ist, dass Signalübergänge sequentiell, d.h. nicht notwendigerweise zusammen, geändert werden können. Jede lokale Gruppe kann autonom neu aktualisiert werden. Nur hinsichtlich des exakt gleichen Signals ist ein Wechsel durch die Anzahl von Modulen begrenzt, die parallel innerhalb einer Periode zu aktivieren sind (eine Aktualisierung pro Periode oder mehr).
-
Bei einer Ausführungsform erfolgt eine Verbindung mit einer nächsten lokalen Ausgangseinheit lokal über ein „Aktionsanfrage“-Signal bei 130. Jede Zelle kann die Busse auf folgende Weise beeinflussen:
-
1.) Ein lokal erzeugter Befehl kann auf dem ersten Bus 115 platziert und über 130 an die nächste Ausgangseinheit gesendet werden.
-
2.) Ein lokales Ereignis kann auf dem ersten Bus 115 platziert, über 130 an die nächste Ausgangseinheit gesendet und an weitere Module, die mit dem ersten Bus 115 verbunden sind, weitergeleitet werden, wie in 1 gezeigt ist. 2 zeigt den entgegengesetzten Fall, bei dem ein lokales Ereignis nicht an weitere Module weitergeleitet wird, sondern bei 130 nur an die nächste lokale Ausgangseinheit gesendet werden kann.
-
3.) Das Eingangssignal nicht lokaler Ereignisse weiterer Module, das auf dem ersten Bus 115 empfangen wird, kann bei 130 an die nächste Ausgangseinheit gesendet werden.
-
4.) Das Eingangssignal nicht lokaler Ereignisse weiterer Module, das auf dem ersten Bus 115 empfangen wird, kann an weitere Module weitergeleitet werden, die mit dem ersten Bus 115 verbunden sind, wie in 1 und in 3 gezeigt ist - Module 310 und 315.
-
5.) Das Eingangssignal nicht lokaler Ereignisse weiterer Module, das auf dem zweiten Bus 120 empfangen wird, kann an weitere Module weitergeleitet werden, die mit dem zweiten Bus 120 verbunden sind, wie in 1 und 3 gezeigt ist - Module 310 und 315.
-
6.) Das Eingangssignal nicht lokaler Ereignisse weiterer Module, das auf dem ersten Bus 115 empfangen wird, kann an weitere Module weitergeleitet werden, die mit dem zweiten Bus 120 verbunden sind, wie in 2 und 3 gezeigt ist.
-
7.) Das Eingangssignal nicht lokaler Ereignisse weiterer Module, das auf dem zweiten Bus 120 empfangen wird, kann an weitere Module weitergeleitet werden, die mit dem ersten Bus 115 verbunden sind, wie in 3 bei Modul 315 gezeigt ist.
-
3 zeigt die Konfiguration einer lokalen Gruppe, innerhalb der ein Signal aktualisiert werden kann. Ein Controller 305, z.B. ein Mikrocontroller, ist an einen dritten Bus 307 gekoppelt. Der Controller stellt Konfigurationsdatenbefehle für Module auf dem dritten Bus 307 bereit, um ein gewünschtes Ausgangssignal aus einer Ausgangseinheit 308 zu erzeugen. Bei einer Ausführungsform ist das gewünschte Ausgangssignal ein impulsbreite-moduliertes Antriebssignal, das einen gewünschten Arbeitszyklus hat. Der Controller 305 stellt Befehle bereit, um den Arbeitszyklus zu ändern und sicherzustellen, dass während des Übergangs zwischen unterschiedlichen Arbeitszyklen das Ausgangssignal einen Arbeitszyklus hat, der nicht über den Bereich zwischen dem alten und dem neuen gewünschten Arbeitszyklus hinausgeht.
-
Das erste Modul 110, das sich auf dem ersten Bus 115 befindet, ist so konfiguriert, dass die Befehle auf dem ersten Bus 115 an die Ausgangseinheit 308 weitergeleitet werden. Um das Ausgangssignal zu ändern, werden zwei Module 310, 315 verwendet, die sich hintereinander auf dem ersten Bus 115 und dem zweiten Bus 120 befinden. Ein neuer Wert wird an das inaktive Modul gesendet und das Modul wird aktiviert. Das vorher aktive Modul wird rekonfiguriert, so dass die nächste Aktion es deaktiviert.
-
Des Weiteren kann das vorher aktive Modul ebenfalls deaktiviert werden, wenn die Aktion, deren Auslösen erwünscht ist, in der aktuellen Periode bereits stattgefunden hat oder zeitlich vor dem neuen Signal liegt. Somit können beide Module für eine Periode gleichzeitig aktiv sein und denselben Befehl für die Ausgangseinheit erzeugen. Während des Verfahrens bestimmt der zeitlich frühere Befehl das Verhalten der Ausgangseinheit 308. Da das Modul, das den alten Wert enthält, in der nächsten Aktion oder über Software deaktiviert wurde, ist in der nächsten Periode die einzige aktive Zelle diejenige Zelle, die das neue Signal erzeugt. Weitere Module können folgen, um auch dieses neue Signal mit einem noch neueren Signal innerhalb derselben Periode zu aktualisieren. Für jedes dieser neueren Signale kann der beschriebene Mechanismus verwendet werden, um die älteren Signale zu aktualisieren. Selbstverständlich können weitere Module folgen, um weitere Signalübergänge zu erzeugen. Für jedes dieser weiteren Elemente kann der beschriebene Mechanismus verwendet werden, um das Signal zu aktualisieren.
-
Einige Ausführungsformen der Erfindung können auch beschrieben werden, indem ein Beispiel betrachtet wird: Die Erzeugung eines übergangssynchronisierten (asymmetrischen; edge aligned) impulsbreite-modulierten Signals. Für dieses Beispiel werden, wie in 4 gezeigt ist, vier Module verwendet, nämlich das Rücksetz-Timer-Modul 410, das Periodenvergleichsmodul 415, das Arbeitszyklusvergleichsmodul 420 und das Arbeitszyklusvergleichsmodul 425. Das Modul 410 wird auch als LTC00 bezeichnet, das Modul 415 als LTC01, das Modul 420 als LTC02 und das Modul 425 als LTC03. Das Modul 410, LTC00, ist als Timer konfiguriert. Dieser repräsentiert die Zeitbasis für alle Ereignisse. Der Timer-Zustand wird über den Bus Y 430 an die Module 415, 420 und 425 übertragen. Wenn ein Wert, der in dem Modul 415 (LTC01) gespeichert ist, erreicht ist, setzt LTC01 den Timer in dem Modul 410 (LTC00) auf einen Anfangswert, z.B. „0“, zurück, und LTCOO beginnt, vom Start (Periodengrenze) an zu zählen. Des Weiteren kann LTCO1 einen Befehl auf dem ersten Bus erzeugen.
-
Bei einer Ausführungsform kann beispielsweise die Periode mit 1000D(=3E8H) konfiguriert sein. Des Weiteren erzeugt das Modul 415, LTC01, einen Übergangswechselbefehl auf dem ersten Bus, z.B. von „1“ zu „0“, an der Ausgangseinheit 435, LTC03OUT, die mit dem Modul 425, LTC03, verbunden ist. Das Modul 420, LTC02, ist so konfiguriert, dass es einen Übergangswechselbefehl, z.B. von „0“ zu „1“, an der Ausgangseinheit 435, die mit LTC03 (LTC03OUT) verbunden ist, erzeugt, wenn der in dem Modul 420 gespeicherte Timerwert erreicht ist. Für ein 20% impulsbreite-moduliertes Signal in diesem Beispiel kann der Wert 200D(=C8H) gespeichert werden. Wenn das Signal nun beispielsweise von der aktuell erzeugten 20%- zu 75%-Impulsmodulation geändert werden soll, wird der Wert 600D(=258H) in dem Modul 425, LTC03, gespeichert.
-
Dann wird das Modul 425, LTC03, aktiviert. Das Modul 420, LTC02, ist so konfiguriert, dass die nächste lokale Aktion das Modul 420, LTC02, deaktiviert. Der in dem Modul 420, LTC02, gespeicherte Wert (200D=C8H) wird nun mit dem Timerwert in dem Modul 410, LTC00, verglichen. Wenn der aktuelle Timerwert größer ist, als der in dem Modul 420, LTC02, gespeicherte Wert (2000=C8H), wird LTC02 sofort durch den Host (z.B. durch Software) deaktiviert. Auch wenn der Wert von LTC03 (600D=258H) größer ist, als der Wert von LTC02 (200D=C8H), wird LTC02 sofort durch den Host (z.B. durch Software) deaktiviert.
-
Solche Ausführungsformen des Erfindungsgegenstands können einzeln und/oder zusammen vorliegend der Einfachheit halber durch den Begriff „Erfindung“ bezeichnet werden, ohne dass beabsichtigt ist, den Umfang der vorliegenden Anmeldung freiwillig auf eine einzige Erfindung oder ein einziges erfinderisches Konzept zu beschränken, wenn tatsächlich mehr als eine(s) offenbart ist. Daher ist es, obwohl bestimmte Ausführungsformen hier gezeigt und beschrieben worden sind, selbstverständlich, dass jede Anordnung, die dazu bestimmt ist, denselben Zweck zu erreichen, die Stelle der gezeigten bestimmten Ausführungsformen einnehmen kann. Es ist beabsichtigt, dass die vorliegende Offenbarung sämtliche Anpassungen oder Variationen der verschiedenen Ausführungsformen mit umfasst.
-
Kombinationen der vorstehenden Ausführungsformen und weitere Ausführungsformen, die hier nicht eigens beschrieben worden sind, werden für den Fachmann offensichtlich, wenn er die vorstehende Beschreibung durchsieht.
-
Die hier beschriebenen Funktionen oder Algorithmen können in Software oder in einer Kombination aus Software und von Menschen implementierten Verfahren in einer Ausführungsform implementiert werden. Die Software kann aus auf Computern ausführbaren Befehlen bestehen, die auf computerlesbaren Medien, beispielsweise Speichern oder anderen Arten von Speichervorrichtungen, gespeichert sind. Der Begriff „computerlesbare Medien“ wird auch verwendet, um alle Einrichtungen zu repräsentieren, durch die die computerlesbaren Befehle von dem Computer empfangen werden können, z.B. durch verschiedene Arten von verdrahteten oder drahtlosen Übertragungen. Des Weiteren entsprechen derartige Funktionen Modulen, die Software, Hardware, Firmware oder beliebige Kombination davon sind. Mehrere Funktionen können in einem oder mehr Modulen nach Wunsch ausgeführt werden, und die beschriebenen Ausführungsformen sind nur Beispiele. Die Software kann auf einem digitalen Signalprozessor, ASIC, Mikroprozessor oder einer anderen Art von Prozessor, der in einem Computersystem arbeitet, z.B. einem Personalcomputer, Server oder anderen Computersystem, ausgeführt werden.
-
Die Zusammenfassung wird zur Verfügung gestellt, damit es dem Leser ermöglicht wird, die Art und den Kern der technischen Offenbarung schnell zu ermitteln. Die Zusammenfassung wird mit dem Verständnis vorgelegt, dass sie nicht verwendet wird, um den Umfang oder den Sinn der Patentansprüche auszulegen oder einzuschränken.