DE102009061083B3 - Modifizieren periodischer Signale, die von einem Mikrocontroller erzeugt worden sind - Google Patents

Modifizieren periodischer Signale, die von einem Mikrocontroller erzeugt worden sind Download PDF

Info

Publication number
DE102009061083B3
DE102009061083B3 DE102009061083.9A DE102009061083A DE102009061083B3 DE 102009061083 B3 DE102009061083 B3 DE 102009061083B3 DE 102009061083 A DE102009061083 A DE 102009061083A DE 102009061083 B3 DE102009061083 B3 DE 102009061083B3
Authority
DE
Germany
Prior art keywords
value
module
updated
bus
modules
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.)
Active
Application number
DE102009061083.9A
Other languages
English (en)
Inventor
Dr. Wendorff Wilhard von
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Application granted granted Critical
Publication of DE102009061083B3 publication Critical patent/DE102009061083B3/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7839Architectures of general purpose stored program computers comprising a single central processing unit with memory
    • G06F15/7842Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
    • G06F15/7853Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers) including a ROM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7814Specially adapted for real time processing, e.g. comprising hardware timers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Electronic Switches (AREA)
  • Bus Control (AREA)
  • Hardware Redundancy (AREA)

Abstract

Schaltung zum Erzeugen einer aktualisierten Aktionsanfrage, wobei die Schaltung aufweist:ein erstes Modul (415) zum Speichern eines Werts und zum Erzeugen eines Übergangswechselbefehls, wenn ein in dem ersten Modul (415) gespeicherter Zählwert den Wert erreicht, für eine erste Aktionsanfrage und zum Erzeugen der ersten Aktionsanfrage auf einem ersten Bus (430);ein zweites Modul (420) zum Speichern eines aktualisierten Werts und zum Erzeugen eines aktualisierten Übergangswechselbefehls, wenn der Zählwert den in dem zweiten Modul (420) gespeicherten aktualisierten Wert erreicht, für eine aktualisierte Aktionsanfrage und zum Erzeugen der aktualisierten Aktionsanfrage; undein drittes Modul (425), dass so verbunden ist, dass es die erste Aktionsanfrage des ersten Moduls (415) und die aktualisierte Aktionsanfrage des zweiten Moduls (420) empfängt, und den Übergangswechselbefehl an einem lokalen Ausgang liefert, wenn der Wert erreicht ist, und den aktualisierten Übergangswechselbefehl liefert, wenn der aktualisierte Wert erreicht ist.

Description

  • 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.

Claims (9)

  1. Schaltung zum Erzeugen einer aktualisierten Aktionsanfrage, wobei die Schaltung aufweist: ein erstes Modul (415) zum Speichern eines Werts und zum Erzeugen eines Übergangswechselbefehls, wenn ein in dem ersten Modul (415) gespeicherter Zählwert den Wert erreicht, für eine erste Aktionsanfrage und zum Erzeugen der ersten Aktionsanfrage auf einem ersten Bus (430); ein zweites Modul (420) zum Speichern eines aktualisierten Werts und zum Erzeugen eines aktualisierten Übergangswechselbefehls, wenn der Zählwert den in dem zweiten Modul (420) gespeicherten aktualisierten Wert erreicht, für eine aktualisierte Aktionsanfrage und zum Erzeugen der aktualisierten Aktionsanfrage; und ein drittes Modul (425), dass so verbunden ist, dass es die erste Aktionsanfrage des ersten Moduls (415) und die aktualisierte Aktionsanfrage des zweiten Moduls (420) empfängt, und den Übergangswechselbefehl an einem lokalen Ausgang liefert, wenn der Wert erreicht ist, und den aktualisierten Übergangswechselbefehl liefert, wenn der aktualisierte Wert erreicht ist.
  2. Schaltung nach Anspruch 1, wobei das zweite Modul (420) auch so konfiguriert ist, dass es sich selbst deaktiviert, wenn der Wert erreicht ist.
  3. Schaltung zum Erzeugen eines periodischen Signals, das eine Periode hat, die von einem ersten Wert bestimmt wird, und eine Impulsbreite, die von einem zweiten Wert bestimmt wird, wobei die Schaltung aufweist: einen Rücksetz-Timer (410), der zählt, bis er den ersten Wert erreicht hat, zurücksetzt und zu zählen beginnt, um eine neue Periode zu beginnen; ein erstes Vergleichsregister (415), das den ersten Wert speichert und einen ersten Übergangswechselbefehl erzeugt, wenn der Rücksetz-Timer-Zählwert den ersten Wert erreicht hat, und eine erste Aktionsanfrage auf einem ersten Bus erzeugt; ein zweites Vergleichsregister (420), das so konfiguriert ist, dass es einen zweiten Übergangswechselbefehl erzeugt, wenn der Rücksetz-Timer-Zählwert einen zweiten Wert erreicht hat, der in dem zweiten Vergleichsregister (420) gespeichert ist; ein drittes Vergleichsregister (425), das so verbunden ist, dass es den ersten Übergangswechselbefehl des ersten Vergleichsregisters (415) empfängt und den ersten Übergangswechselbefehl an einem lokalen Ausgang davon liefert, wenn der erste Wert erreicht worden ist, und den zweiten Übergangswechselbefehl liefert, wenn der zweite Wert erreicht worden ist, wobei das dritte Vergleichsregister (425) so konfiguriert ist, dass es einen aktualisierten zweiten Wert speichert und einen aktualisierten zweiten Übergangswechselbefehl an dem lokalen Ausgang erzeugt, wenn der aktualisierte zweite Wert erreicht worden ist; und ein Steuerschaltungsmodul, um den zweiten Wert, der in der zweiten Vergleichsschaltung gespeichert ist, mit einem aktuellen Rücksetz-Timer-Zählwert in dem Rücksetz-Timer (410) zu vergleichen und das zweite Vergleichsregister (420) sofort zu deaktivieren, wenn der aktuelle Rücksetz-Timer-Zählwert größer ist, als der in dem zweiten Vergleichsregister (420) gespeicherte Wert, und/oder um den zweiten Wert, der in der zweiten Vergleichsschaltung gespeichert ist, mit dem dritten Wert zu vergleichen, der in der dritten Vergleichsschaltung gespeichert ist, und das zweite Vergleichsregister (420) sofort zu deaktivieren, wenn der in dem dritten Vergleichsregister (425) gespeicherte Wert größer ist, als der in dem zweiten Vergleichsregister (420) gespeicherte Wert.
  4. Schaltung nach Anspruch 3, wobei das Signal eine Impulsbreite hat, die nicht über einen Bereich zwischen einem alten und einem neuen gewünschten Arbeitszyklus während des Übergangs von dem alten zu dem neuen Arbeitszyklus hinausgeht.
  5. System mit: ersten und zweiten Bussen (115, 120); einer Vielzahl von hierarchisch, sequentiell, miteinander verbundenen Modulen (110, 310, 315) in einer Kette, wobei jedes Modul erste und zweite Buseingangs-Endgeräte und erste und zweite Busausgangs-Endgeräte aufweist, wobei die Module, die mit den Ausgangs-Endgeräten von Modulen am Anfang der Kette verbunden sind, mit den Eingangs-Endgeräten eines nächsten Moduls im weiteren Verlauf der Kette verbunden sind, wobei jedes der Module auch Schaltungen aufweist, um einen Befehl zu erzeugen, der von einer Operation bestimmt wird, die von dem Modul durchgeführt wird, für eines der Busausgangs-Endgeräte der Module, wobei jedes der Module auch so konfiguriert ist, dass es einen übergeordneten Befehl weiter vorne in einer Kette verwendet, der von einem niedrigeren Befehl zu überschreiben ist, der zur gleichen Zeit ausgegeben wird, um den empfangenen Eingang selektiv von dem ersten Buseingang an den zweiten Busausgang oder von dem zweiten Buseingang an den ersten Busausgang zu schalten, um ausgewählte Module weiter hinten in der Kette zu umgehen, so dass ihre Befehle für folgende Module nicht sichtbar sind, wobei jedes Modul einen lokalen Ausgang aufweist; und einem Signalausgangsmodul (308), das mit einem aus dem ersten Bus (115) und zweiten Bus (120) ausgewählten Bus verbunden ist, um ein aktualisiertes temporäres Signal zu erzeugen.
  6. System nach Anspruch 5, wobei das aktualisierte temporäre Signal ein asymmetrisches impulsbreite-moduliertes Signal mit einem gewünschten Arbeitszyklus aufweist.
  7. System nach Anspruch 6, wobei der Arbeitszyklus des Signals während eines Übergangs von dem alten zu dem neuen Arbeitszyklus zwischen einem alten und einem neuen gewünschten Arbeitszyklus bleibt.
  8. System nach einem der Ansprüche 5 bis 7, wobei die Module einen Rücksetz-Timer (410), ein Periodenvergleichsmodul (415) und zwei Arbeitszyklusvergleichsmodule (420, 425) aufweisen.
  9. System nach einem der Ansprüche 5 bis 8, wobei die Module deaktiviert und reaktiviert ausgewählt werden können.
DE102009061083.9A 2008-02-20 2009-02-19 Modifizieren periodischer Signale, die von einem Mikrocontroller erzeugt worden sind Active DE102009061083B3 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/033,990 2008-02-20
US12/033,990 US8843777B2 (en) 2008-02-20 2008-02-20 Modifying periodic signals produced by microcontroller

Publications (1)

Publication Number Publication Date
DE102009061083B3 true DE102009061083B3 (de) 2023-11-16

Family

ID=40956164

Family Applications (2)

Application Number Title Priority Date Filing Date
DE102009009730A Active DE102009009730B4 (de) 2008-02-20 2009-02-19 Lokale Timer-Zelle deren Verwendung und Verfahren zum Betreiben eines Moduls
DE102009061083.9A Active DE102009061083B3 (de) 2008-02-20 2009-02-19 Modifizieren periodischer Signale, die von einem Mikrocontroller erzeugt worden sind

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE102009009730A Active DE102009009730B4 (de) 2008-02-20 2009-02-19 Lokale Timer-Zelle deren Verwendung und Verfahren zum Betreiben eines Moduls

Country Status (2)

Country Link
US (1) US8843777B2 (de)
DE (2) DE102009009730B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102014116909B4 (de) * 2014-11-19 2016-07-28 Infineon Technologies Ag Empfänger, Sender, Verfahren zum Wiedergewinnen eines zusätzlichen Datenwerts aus einem Signal und Verfahren zum Übertragen eines Datenwerts und eines zusätzlichen Datenwerts in einem Signal

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0535615B1 (de) 1991-09-30 2004-04-21 NEC Electronics Corporation Ein-Chip-Mikrorechner mit zwei Zeitgeberfunktionsarten
US7284142B2 (en) 2003-08-08 2007-10-16 Texas Instruments Incorporated Real time interrupt module for operating systems and time triggered applications

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414365A (en) * 1992-09-25 1995-05-09 Martin Marietta Corporation Diagnostic apparatus for testing an analog circuit
US6128318A (en) * 1998-01-23 2000-10-03 Philips Electronics North America Corporation Method for synchronizing a cycle master node to a cycle slave node using synchronization information from an external network or sub-network which is supplied to the cycle slave node
US6633989B1 (en) * 1999-11-30 2003-10-14 Lsi Logic Corporation Method and mechanism for synchronizing a slave's timer to a master's timer
AU2002220600A1 (en) * 2000-10-06 2002-04-15 Pact Informationstechnologie Gmbh Cell system with segmented intermediate cell structure
DE10051591A1 (de) * 2000-10-18 2002-05-02 Festo Ag & Co Bus-Repeater
WO2002075563A1 (de) * 2001-03-15 2002-09-26 Robert Bosch Gmbh Bussystem aus wenigstens zwei datenbussen
DE10229129C1 (de) 2002-06-28 2003-12-11 Advanced Micro Devices Inc Debug-Schnittstelle für einen Ereigniszeitgeber
US20060172783A1 (en) * 2004-07-27 2006-08-03 Silicon Laboratories Inc. Digital DC/DC converter with SYNC control
US7680144B2 (en) * 2006-09-12 2010-03-16 Honeywell International Inc. Device coupled between serial busses using bitwise arbitration
US20090138746A1 (en) * 2007-11-28 2009-05-28 Daniel Richard Klemer Method For Efficient Software Generation Of Multiple Pulse Width Modulated Signals
US7941687B2 (en) * 2007-12-13 2011-05-10 Digi International Inc. Method and apparatus for digital I/O expander chip with multi-function timer cells

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0535615B1 (de) 1991-09-30 2004-04-21 NEC Electronics Corporation Ein-Chip-Mikrorechner mit zwei Zeitgeberfunktionsarten
US7284142B2 (en) 2003-08-08 2007-10-16 Texas Instruments Incorporated Real time interrupt module for operating systems and time triggered applications

Also Published As

Publication number Publication date
US8843777B2 (en) 2014-09-23
DE102009009730A1 (de) 2009-10-15
US20090210602A1 (en) 2009-08-20
DE102009009730B4 (de) 2011-03-17

Similar Documents

Publication Publication Date Title
DE3300261C2 (de)
DE3914265C2 (de)
DE68920929T2 (de) Zeitgeberkanal mit mehreren Zeitgeberreferenzmerkmalen.
DE68924810T2 (de) Zeitgeberkanal für die Verwendung in einem Mehrkanal-Zeitsystem.
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE69033482T2 (de) Steuerungssystem für Systembus
DE68919018T2 (de) Zeitgeberkanal mit Übereinstimmungserkennungsmerkmalen.
EP0577919A1 (de) Zugriffssteuerung für gekoppelte maskenprogrammierte Mikrocontroller
DE68922545T2 (de) Zugeordneter Dienstprozessor mit Übertragungsmöglichkeiten zwischen Kanälen.
DE102008059643A1 (de) Elektronische Steuerungsvorrichtung und Verfahren zur elektronischen Steuerung und zur Betätigung einer elektronischen Steuerungsvorrichtung
DE10031642C2 (de) Pulsdauermodulationssignalgenerator
WO2001037058A1 (de) Automatisierungsgerät und aufdat-verfahren
DE112017007558T5 (de) Koordinierte ereignissequenzierung
DE102009061083B3 (de) Modifizieren periodischer Signale, die von einem Mikrocontroller erzeugt worden sind
EP1514180A2 (de) Reaktionszeit-beschränkung eines software-prozesses
DE102017209856A1 (de) Recheneinheit und Betriebsverfahren hierfür
DE10062995A1 (de) Unterbrecher-Steuereinrichtung
WO2022084176A1 (de) Datenverarbeitungsnetzwerk zur datenverarbeitung
DE102004051991A1 (de) Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
DE2554775C2 (de) Vorrichtung zur Datenübertragung bei Elektronikschaltungen für Kraftfahrzeuge
DE3751374T2 (de) Verfahren und Mechanismus zum unabhängigen Sicherstellungsmodustransfer für digitale Steuerprozessoren.
DE2838887C2 (de) Datenverarbeitungsanlage mit einer Schaltung für Unterbrechungsanforderungen zur Übernahme des gemeinsamen Busses
DE19728971C2 (de) Datenverarbeitungsvorrichtung und -verfahren
WO2011064045A1 (de) Verfahren und elektronische einheit zum erzeugen von sequenzen
EP1153339A1 (de) Verfahren und vorrichtung zur funktionsauswahl einer steuereinheit

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: VIERING, JENTSCHURA & PARTNER MBB PATENT- UND , DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division