-
Die
vorliegende Erfindung betrifft eine elektronische Vorrichtung, umfassend
einen Master, einen Slave, einen Bus, der den Master und den Slave
koppelt, um Daten, die der Master empfangen soll, von dem Slave
an den Master zu übertragen,
und eine Takterzeugungsstufe zur Bereitstellung eines Systemtakts
für den
Master und den Slave. Die vorliegende Erfindung betrifft ebenfalls
ein Verfahren zur Bereitstellung eines Systemtaktsignals für einen Master
und einen Slave.
-
Einer
der kritischsten Teile in einem Mikrocontrollersystem ist die Programmausführung, die niemals
außer
Kontrolle geraten darf. Viele Störungen
bzw. unerwartete Situationen können
erfolgreich durch Schutz- bzw. sichere Systemsteuerfunktionen wie
zum Beispiel die Verwendung von Überwachungsschaltungen
bewältigt
werden. Eine äußerst kritische
Situation, die nicht durch einen reinen Überwachungsmechanismus bewältigt werden
kann, tritt jedoch auf, wenn das System vollständig oder teilweise nicht mehr
mit der ausgewählten
Systemtaktfrequenz übereinstimmt.
In dieser Situation kann ein Slave wie zum Beispiel ein Speicher
die Daten möglicherweise
nicht rechtzeitig bereitstellen, und ohne Korrekturmaßnahmen
fällt das
System höchstwahrscheinlich
aus. Ein Master wie zum Beispiel eine Zentraleinheit (CPU) wird
durch einen Systemtakt angesteuert. Ein Datenbus verbindet den Master
und die Slaves, die typischerweise Speicher oder Peripheriemodule
sind. Der Anweisungsspeicher ist normalerweise ein Flash-Speicher
oder Festwertspeicher (ROM), während
der Datenspeicher typischerweise ein Direktzugriffsspeicher (RAM)
ist. Ein Programm kann jedoch ebenso von RAM-Speichern aus ausgeführt werden.
Die Taktung jeglicher Datenübertragungen
(d. h. Anweisungen bzw. Daten, die sich auf Anweisungen beziehen)
basiert auf der Systemtaktfrequenz. Wenn ein Slave, wie zum Beispiel
ein Flash-Speicher, zu langsam ist, können Daten von dem Speicher
möglicherweise
nicht rechtzeitig an den Master übertragen
werden. Neben inhärenten Datenbandbreiten-
bzw. Geschwindigkeitsbeschränkungen
gibt es viele andere Auswirkungen, die zu einer Verzögerung der
Datenübertragung
von einem Slave an einen Master und dadurch zu unvollständigen oder
fehlerhaft empfangenen Daten führen.
Eine herkömmliche
Weise zur Sicherstellung, dass die Maximalfrequenz des Systemtakts
nicht zu hoch für die
Komponenten des Systems ist, besteht darin, eine Maximalfrequenz
vorzubestimmen oder eine Reihe von Parametern zum Betrieb in einem
sicheren Bereich („safe-area-off-operation
parameters”)
vorzugeben, die der Anwender einhalten muss. Andere Lösungen steuern
die Maximaltaktfrequenz durch Verwendung einer Referenzmessung zur
Bestimmung, ob ein zuverlässiger
Systemtakt vorliegt. Die meisten der Lösungen nach dem Stand der Technik hängen von
einem Systempegelsteuermechanismus ab, gemäß dessen die Frequenz des Systemtakts
so gesetzt wird, dass sie sich nach der langsamsten Komponente oder
nach einem kritischen Pfad mit der größten Verzögerung richtet. Folglich wird
der Gesamtdaten- bzw. -programmdurchsatz durch die langsamste Komponente
bzw. den kritischen Pfad beschränkt,
und das System kann möglicherweise keine
Maximalleistung erreichen. Ein anderer herkömmlicher Ansatz besteht im
Einbringen von Wartezuständen
für einen
langsamen Slave, der mehr Zeit für
eine Antwort benötigt.
Hierdurch kann für
das restliche System mit Ausnahme der Teile, welche die Wartezustände benötigen, eine
vergleichsweise hohe Taktfrequenz verwendet werden. Die Taktungsparameter
und die Anzahl von Wartezuständen
müssen
jedoch basierend auf den ungünstigsten
elektrischen Eigenschaften des Slaves bestimmt werden. Entsprechend
erreicht eine elektronische Vorrichtung, die einen Master und einen
Slave umfasst, praktisch kaum oder niemals die Maximalleistung.
-
Aus
der deutschen Offenlegungsschrift
DE 10 2006 026 914 A1 ist
ein Verfahren zum Umschalten eines Systemtakts und eine entsprechende
Taktsynchronisierungsvorrichtung bekannt. Bei dem Verfahren und
auch der Vorrichtung wird von einem ersten auf ein zweites Taktsignal
umgeschaltet, wobei das Umschalten synchron zu dem ersten und/oder dem
zweiten Taktsignal erfolgt. Das Systemtaktsignal wird nach Maßgabe des
ersten Taktsignals auf einem ersten Signalpegel gehalten. Dabei
wird auch eine Flanke des zweiten Taktsignals gewartet, und erst
mit der Flanke des zweiten Taktsignals wird das Systemtakthal tesignal
auf einen zweiten logischen Zustand zurückgesetzt. Auf diese Weise
wird der Systemtakt-Umschaltvorgang zwar durch ein Auswahlsteuersignal
ausgelöst
bzw. angestoßen,
er folgt jedoch anschließend
vollständig
nach Maßgabe
der ersten und zweiten Taktsignale.
-
Aus
US 6,587,961 B1 ist
eine Multiprozessorsystembrücke
mit kontrolliertem Zugriff bekannt. Die Brücke umfasst ein erstes Prozessorbusinterface zu
einem I/O-Bus einer ersten Verarbeitungsanordnung und ein zweites
Prozessorbusinterface für
einen I/O-Bus einer zweiten Verarbeitungsanordnung. Ferner ist ein
Interface für
den Vorrichtungsbus und ein Brückensteuerungsmechanismus
vorgesehen. Im Normalbetrieb wird der Zugriff mindestens einer Verarbeitungsanordnung
auf Ressourcen der Brücke oder
den Vorrichtungsbus gewährt.
In einem Fehlermodus wird der Zugriff durch die Verarbeitungsanordnungen
auf den Vorrichtungsbus verhindert und eingeschränkter Zugriff durch mindestens
eine der Verarbeitungsanordnungen auf zumindest vorgegebene Brückenressourcen
zugelassen.
-
Im
Hinblick auf die bekannten Lösungen
besteht die Aufgabe der vorliegenden Erfindung darin, eine elektronische
Vorrichtung und ein Verfahren zu schaffen, bei der ein Master und
ein Slave für
einen Systemtakt die maximale Leistungsfähigkeit bei der Datenübertragung
erreichen.
-
Gemäß einem
wichtigen Aspekt der vorliegenden Erfindung wird eine elektronische
Vorrichtung bereitgestellt, die einen Master, einen Slave und einen
Bus umfasst, der den Master und den Slave koppelt, um Daten, die
der Master empfangen soll, von dem Slave an den Master zu übertragen.
Des Weiteren gibt es eine Takterzeugungsstufe zur Bereitstellung
eines Systemtakts für
den Master und den Slave. Die Takterzeugungsstufe ist ferner so
eingerichtet, dass sie bestimmt, ob die empfangenen Daten korrekt
sind, und eine Flanke eines nächsten Taktzyklus
des Systemtaktsignals unterdrückt,
wenn die Daten als inkorrekt bestimmt wurden. Die Takterzeugungsstufe
ist ferner so eingerichtet, dass sie eine Flanke eines nächsten Taktzyklus
des Systemtaktsignals zulässt, wenn
die Daten als korrekt bestimmt wurden. Das Zulassen bzw. Unterdrücken von Taktzyklen
wird taktzyklusweise durchgeführt.
Ebenso wird das Bestimmen der Korrektheit (d. h. der Vollständigkeit)
der empfangenen Daten taktyzklusweise durchgeführt. Die Auswertung der Datenintegrität kann auf
einem Signal basieren, das durch den Slave ausgegeben wird und anzeigt,
dass die Daten vollständig
sind. Es sind jedoch viele verschiedene Arten der Bestimmung der
Datenintegrität
denkbar. Entsprechend wertet die Takterzeugungsstufe die empfangenen
Daten aus oder überprüft diese
und bestimmt, ob die empfangenen Daten vollständig bzw. korrekt sind. Wenn
die Datenintegrität
bestätigt
wird, kann der nächste
Systemtaktzyklus ohne jegliches Risiko für das System stattfinden. Wenn
die empfangenen Daten jedoch inkorrekt sind, was der Fall sein kann,
wenn die empfangenen Daten zum Beispiel unvollständig sind, wird eine Flanke
eines nächsten Taktzyklus
des Systemtakts unterdrückt.
Die Auswertung der empfangenen Daten wird taktzyklusweise durchgeführt, was
bedeutet, dass die eingehenden Daten ununterbrochen ausgewertet
bzw. überwacht werden,
um jegliche Fehler zu identifizieren. Jeder Fehler in den empfangenen
Daten kann zum Beispiel einen kritischen Datenpfad oder eine Slave-Vorrichtung
betreffen, die zu langsam für
eine Datenübertragung
mit der Systemtaktgeschwindigkeit sind. Da der Systemtakt jedoch
basierend auf einer taktzyklusweisen Auswertung angepasst wird,
kann eine elektronische Vorrichtung gemäß der vorliegenden Erfindung unverzüglich alle
Arten von Verzögerungen
bzw. Störungen
der internen Datenübertragung
bewältigen und
sich nach ihnen richten. Systeme nach dem Stand der Technik, die
so eingerichtet sind, dass sie Datenfehler detektieren, nehmen Fehler
erst wahr, nachdem die Daten in den Master eingetreten sind. Der
Systemtakt wird somit verringert, nachdem der Fehler bereits aufgetreten
ist. Die Takterzeugungsstufe gemäß der vorliegenden
Erfindung ist jedoch separat und unabhängig von dem Master implementiert
und reagiert unverzüglich
während
jedes Taktzyklus, d. h. bevor die fehlerhaften Daten in den Master eintreten
können.
Dies ermöglicht
es, dass irgendwelche möglichen
Fehler bzw. Verzögerungen
bereits außerhalb
des Masters, und bevor der Master die Daten einliest, bewältigt und
beseitigt werden können.
Folglich stellt die vorliegende Erfindung eine wesentlich höhere Stabilität und Zuverlässigkeit
als Systeme nach dem Stand der Technik bereit, da inkorrekte Daten
detektiert werden können,
bevor der Master die Möglichkeit
hat, mit den Daten zu arbeiten. Eine elektronische Vorrichtung gemäß der vorliegenden
Erfindung muss nicht allgemein auf eine Mindesttaktfrequenz oder
eine Höchstzahl
von Wartezuständen
gesetzt werden, um selbst mit den ungünstigsten Komponenten (Slaves),
Verbindungsbedingungen usw. zurechtzukommen. Außerdem kann die Unterdrückung einer
Flanke des nächsten
Zyklus des Systemtaktsignals beendet werden, sobald die Datenintegrität wiederhergestellt
wurde. Folglich kann die Taktfrequenz gemäß den unmittelbaren Bedingungen
und Bedürfnissen
des Systems herauf- oder herabgesetzt werden. Die Gesamtleistung
des Systems kann dadurch wesentlich erhöht werden.
-
Gemäß einem
anderen Aspekt der vorliegenden Erfindung ist die Takterzeugungsstufe
so eingerichtet, dass sie die Frequenz des Systemtaktsignals selektiv
verringert, um die Flanke des nächsten Taktzyklus
des Systemtakts zu unterdrücken.
Gemäß diesem
Aspekt der vorliegenden Erfindung wird das gesamte System durch
Verringerung des Systemtakts allgemein verlangsamt, wenn die empfangenen Daten
inkorrekt waren. Dies ist eine vorteilhafte Art der Unterdrückung einer
Flanke eines nächsten
Taktzyklus. Gemäß einem
anderen Aspekt der Erfindung kann die Takterzeugungsstufe einen
Multiplexer, der an einem ersten Eingang das Systemtaktsignal empfängt, und
eine einstellbare Taktteilerstufe zur Bereitstellung eines variabel
geteilten Systemtaktsignals umfassen. Die variable Taktteilerstufe
ist über
einen Ausgang mit einem zweiten Eingang des Multiplexers gekoppelt.
Der Multiplexer ist so eingerichtet, dass er einen Ausgang zwischen
dem Systemtaktsignal und dem variabel geteilten Systemtaktsignal umschaltet,
um an dem Ausgang entweder das Systemtaktsignal oder das variabel
geteilte Systemtaktsignal als Systemtakt bereitzustellen. Die Auswahl des
von dem Multiplexer ausgegebenen Taktsignals wird als Reaktion auf
die Entscheidung durchgeführt, ob
die empfangenen Daten korrekt sind. Gemäß diesem Aspekt der vorliegenden
Erfindung können
die Taktfrequenz variabel herabgesetzt und die ursprüngliche
Taktfrequenz schnell wiederaufgenommen werden. Die Verringerung
der Taktfrequenz kann durch Verwendung eines Taktteilers durchgeführt werden,
der beispielsweise ein Teilerverhältnis N hat. So lange eine
Flanke des nächsten
Taktzyklus des Systemtakts unterdrückt werden muss, wird das Taktteilerverhältnis erhöht. Das Taktteilerverhältnis N kann
dann eingefroren bzw. langsam wieder herabgesetzt werden, wenn die
empfangenen Daten wieder korrekt sind.
-
Gemäß einem
Aspekt der vorliegenden Erfindung wird ein Verfahren zur Erzeugung
eines Systemtaktsignals in einem System bereitgestellt. Entsprechend
umfasst das System einen Master und einen Slave. Daten, die der
Master empfangen soll, werden von dem Slave an den Master übertragen. Des
Weiteren wird bestimmt, ob die empfangenen Daten korrekt sind. Eine
Flanke eines nächsten
Taktzyklus des Systemtakts wird unterdrückt, wenn die Daten als inkorrekt
bestimmt wurden. Eine Flanke des nächsten Taktsignals des Systemtaktsignals
wird zugelassen, wenn die Daten als korrekt bestimmt wurden. Das
Zulassen bzw. Unterdrücken
von Taktzyklen sowie die Auswertung der empfangenen Daten werden
taktzyklusweise durchgeführt.
Zur Unterdrückung
bzw. Verzögerung
einer Flanke des nächsten
Taktzyklus des Systemtakts kann die Systemtaktfrequenz des Systemtaktsignals
verringert werden. Es ist jedoch ebenfalls möglich, das Systemtaktsignal
durch einen bestimmten Faktor (z. B. N) zu teilen, um die Verzögerung,
die benötigt
wird, bis die Daten korrekt sind, zu erhöhen.
-
Weitere
Aspekte der vorliegenden Erfindung ergeben sich aus der untenstehenden
Beschreibung der bevorzugten Ausführungsformen unter Bezugnahme
auf die beigefügten
Zeichnungen. Es zeigen:
-
1 Signalverläufe, die
ein System nach dem Stand der Technik betreffen,
-
2 Signalverläufe, die
ein System nach dem Stand der Technik betreffen,
-
3 Signalverläufe, die
sich auf Signalverläufe
einer ersten Ausführungsform
der vorliegenden Erfindung beziehen,
-
4 ein
allgemeines Schaubild einer herkömmlichen
elektronischen Vorrichtung, auf welche die vorliegende Erfindung
angewendet werden kann,
-
5 ein
Schaubild einer Ausführungsform der
vorliegenden Erfindung,
-
6 Signalverläufe, die
sich auf eine Ausführungsform
der vorliegenden Erfindung beziehen,
-
7 Signalverläufe, die
sich auf eine Ausführungsform
der vorliegenden Erfindung beziehen,
-
8 ein
Schaubild, das sich auf eine Ausführungsform der vorliegenden
Erfindung bezieht,
-
9 ein
Schaubild einer Takterzeugungsstufe gemäß Aspekten der vorliegenden
Erfindung,
-
10 ein
Schaubild einer Takterzeugungsstufe gemäß Aspekten der vorliegenden
Erfindung,
-
11 ein
Schaubild einer Takterzeugungsstufe gemäß Aspekten der vorliegenden
Erfindung,
-
12 ein
Schaubild einer Takterzeugungsstufe gemäß Aspekten der vorliegenden
Erfindung,
-
13 ein
Zustandsdiagramm, das sich auf eine Ausführungsform der vorliegenden
Erfindung bezieht,
-
14 ein
Schaubild einer Takterzeugungsstufe gemäß Aspekten der vorliegenden
Erfindung, und
-
15 ein
Schaubild, das sich auf eine Takterzeugungsstufe gemäß Aspekten
der vorliegenden Erfindung bezieht.
-
1 zeigt
Signalverläufe,
die eine elektronische Vorrichtung, einschließlich eines Masters, eines
Slaves und eines Busses betreffen, die gemäß dem Stand der Technik arbeitet.
In dem System nach dem Stand der Technik wird der Takt MCLK_IN in
der elektronischen Vorrichtung für
den Master und den Slave ohne irgendeine Einstellung bzw. Anpassung als
Systemtaktsignal MCLK_OUT verwendet. In diesem Beispiel wird der
Slave zum Beispiel als Flash-Speicher angenommen, der ein Data-Ready-Signal
DRDY (englisch für „Daten
sind bereit") ausgibt,
wenn die Datenübertragung
abgeschlossen ist. Das bedeutet, dass der Slave selbst auswerten kann,
ob die übertragenen
Daten vollständig
sind. Das Signal DRDY kann dann von dem Master für die Bestimmung der Datenintegrität verwendet
werden. Die tatsächliche
Zugriffszeit taccess (Datenantwort) des Flash-Speichers
ist kürzer
als die maximale Zugriffszeit taccess(max) für die gegebene
Systemtaktfrequenz des Systemtakts MCLK_OUT. In der Master-Vorrichtung
werden die empfangenen Daten mit einer fallenden Flanke des Systemtaktsignals
MCLK_OUT eingelesen. Da die tatsächliche
Zugriffszeit taccess kürzer als die maximale Zugriffszeit
taccess(max) ist, sind die empfangenen Daten
immer rechtzeitig vorhanden, und es treten keine Fehler auf.
-
2 zeigt
Signalverläufe,
die eine andere Situation in einem System nach dem Stand der Technik
betreffen. In dem in 2 dargestellten System ist die
maximale Zugriffszeit taccess(max) kürzer als
die tatsächliche
Zugriffszeit taccess. Entsprechend ist die Datenantwort
von dem Flash-Speicher, d. h. das Data-Ready-Signal DRDY, immer zu spät für MCLK_IN, das
als Systemtaktsignal MCLK_OUT für
den Master und den Slave verwendet wird. Folglich wird die Systemtaktfrequenz
MCLK_OUT in Bezug auf MCLK_IN um den Faktor Zwei verringert. Deshalb
ist die Datenübertragung
zwischen dem Flash-Speicher und dem Master halb so schnell wie in
der in 1 gezeigten Situation.
-
3 zeigt
Signalverläufe,
die eine Situation betreffen, in der die tatsächliche Zugriffszeit (Datenantwort)
taccess schwankt. Während des ersten Zyklus liegt
die Zugriffszeit taccess innerhalb der maximalen
Zugriffszeit taccess(max). In einem zweiten
Zyklus überschreitet
die Zugriffszeit taccess jedoch die maximale
Zugriffszeit taccess(max). Infolge dieser
Situation wird die Systemtaktfrequenz MCLK_OUT allgemein um den
Faktor Zwei verringert. Während
des vollen Betriebs, in Schlafstrombetrieb oder nach dem Einschalten
können
sich ändernde
Betriebsbedingungen auftreten. Ein herkömmliches System verringert dann
für die
Wiederherstellung die Taktfrequenz und hält die langsamere Taktfrequenz
während
des weiteren Betriebs aufrecht.
-
4 zeigt
ein Schaubild einer üblichen
herkömmlichen
elektronischen Vorrichtung, auf welche die vorliegende Erfindung
angewendet werden kann. Die Master-Vorrichtung ist eine Zentraleinheit
CPU. Des Weiteren gibt es mehrere Slave-Vorrichtungen wie einen
Programmspeicher PM, einen Datenspeicher DM, Programm- und Datenspeicher
PM/DM und Platz für
Peripheriemodule PMS. Die Takterzeugungsstufe CGS kann entweder
intern ein Systemtaktsignal MCLK_OUT erzeugen, oder sie kann ein externes
Taktsignal MCLK_IN empfangen und das interne Systemtaktsignal MCLK_OUT
von dem empfangenen Taktsignal MCLK_IN ableiten. Die Ausführung und
der Abschluss jeder Aktivität
müssen
innerhalb der geplanten Anzahl von Taktzyklen des Systemtakts MCLK_OUT
durchgeführt
werden. Wenn irgendeine der Aktivitäten nicht rechtzeitig fertig
ist, kann das System möglicherweise
ohne sichtbare Auswirkungen fortfahren. Es kann jedoch auch komplett
ausfallen. Ein wie in 4 gezeigtes System kann Überwachungsmechanismen
verwenden, um das System zurückzusetzen,
falls die Softwareausführung
fehlschlägt.
Dies ist jedoch lediglich ein letzter Ausweg zur Bewältigung
von Fehlern, die bereits aufgetreten sind. Ein standardmäßiger Überwachungsmechanismus
kann nicht verhindern, dass einzelne Anweisungen basierend auf der
Auswertung der Datenintegrität
in dem System ausgeführt werden.
Dieses Merkmal wird jedoch durch die vorliegende Erfindung bereitgestellt.
-
5 zeigt
ein vereinfachtes Schaubild einer elektronischen Vorrichtung gemäß Aspekten
der vorliegenden Erfindung. Es gibt eine Master-CPU, mehrere Slaves
wie einen Programmspeicher PM, einen Datenspeicher DM oder gemischte
Programm- und Datenspeicher PM/DM sowie Platz für Peripheriemodule PMS. Jeder
der Slaves stellt der Takterzeugungsstufe CGS ein Data-Ready-Signal
DRDY1, DRDY2, DRDY3 bzw. DRDY4 bereit. Die Master-CPU, die Slaves PM,
DM, PM/DM, PMS und die Takterzeugungsstufe CGS sind über eine
Buskonstruktion zum Senden und Empfangen von Daten wie Programmanweisungen,
Adressen bzw. Daten gekoppelt. Die Takterzeugungsstufe CGS ist so
eingerichtet, dass sie jedes der Data-Ready-Signale DRDY1, DRDY2, DRDY3 bzw. DRDY4
auswertet, um zu bestimmen, ob die von jeder der Slave-Vorrichtungen
PM, DM, PM/DM bzw. PMS empfangenen Daten vollständig bzw. korrekt sind. Als
Reaktion auf das Auswertungsergebnis, das anzeigt, ob die Daten korrekt
sind, wird das für
die Datenübertragung
zwischen dem Master und den Slave-Vorrichtungen verwendete Systemtaktsignal
MCLK_OUT verlangsamt, beibehalten oder beschleunigt.
-
6 zeigt
Signalverläufe,
die sich auf eine Ausführungsform
der vorliegenden Erfindung beziehen. In einer ersten Ausführungsform
kann die Takterzeugungsstufe so eingerichtet sein, dass sie die nächste Flanke
bzw. den nächsten
Taktzyklus des Systemtaktsignals unterdrückt oder stetig verzögert, bis
die von irgendeiner der Slave-Vorrichtungen bereitgestellten Daten
korrekt sind. Dieses Szenario ist in 6 gezeigt,
in der die nächste
fallende Flanke des Systemtaktsignals MCLK_OUT verzögert wird, bis
das Data-Ready-Signal DRDY, das einem der in 5 gezeigten
Data-Ready-Signale DRDY1 bis DRDY4 entspricht, hoch ist (was anzeigt,
dass die Daten korrekt sind). 6 betrifft
eine Situation, in der die maximale Zugriffszeit taccess(max) wesentlich
kürzer
als die tatsächliche
Zugriffszeit taccess ist. In einer anderen
Ausführungsform
kann das Systemtaktsignal MCLK_OUT lediglich so lange unterdrückt oder verzögert werden,
bis entweder gültige
Daten von einer der in 5 gezeigten Slave-Vorrichtungen PM, DM,
PM/DM oder PMS bereitgestellt werden oder eine Zeitbegrenzung abgelaufen
ist. Diese Zeitbegrenzung kann dann durch einen Überwachungsmechanismus überwacht
werden, der so eingerichtet sein kann, dass er einen Rücksetzimpuls
ausgibt. In noch einer anderen Ausführungsform kann die Steuerstufe
CGS den nächsten
Taktzyklus oder die nächste
fallende Flanke des Systemtaktsignals MCLK_OUT so lange verzögern oder
unterdrücken, bis
gültige
Daten von dem angeforderten Slave empfangen werden. Als zusätzliche
Bedingung kann durch eine Taktsteuerblockstufe, die in 5 nicht gezeigt
ist, eine Zeitbegrenzung gesetzt werden. Die Taktsteuerstufe kann
so eingerichtet sein, dass sie eine bestimmte Anzahl von Taktperioden überwacht und
ein Rücksetzsignal
ausgibt, wenn die maximale Anzahl von Taktzyklen erreicht ist, ohne
dass gültige Daten
empfangen wurden. Entsprechende Signalverläufe sind in 7 gezeigt,
in der nach drei Taktzyklen des Systemtaktsignals MCLK_IN ein Rücksetzimpuls
RESET ausgegeben wird. Die vorhergehende Ausführungsform kann etwas dadurch
angepasst werden, dass die Taktsteuerstufe an Stelle des Rücksetzsignals
ein Flag ausgibt. Das Flag-Signal kann dann dafür verwendet werden, anzuzeigen, dass
eine maximale Anzahl von Taktzyklen des Systemtakts erreicht wurde.
-
8 zeigt
ein vereinfachtes Schaubild einer anderen Ausführungsform. In dieser Ausführungsform
ist es möglich,
von einem Slave auf einen anderen umzuschalten (zum Beispiel ist
es möglich, zwischen
zwei gleichen Speichermodulen umzuschalten), wenn eine maximale
Anzahl von Taktzyklen erreicht wurde, bevor gültige Daten empfangen wurden.
Des Weiteren kann der Master als Reaktion auf das Flag-Signal die
Programmausführung
von einem ersten Programmspeicher PM auf einen wie in 8 gezeigten
zweiten Programmspeicher ERR_PM umschalten. Es gibt einen Slave,
der als Programmspeicher PM angegeben ist, und einen zusätzlichen
Slave, der den Fehlerprogrammspeicher ERR_PM umfasst. Die Programmausführung kann dann
von dem Programmspeicher PM auf den Hilfsprogrammspeicher ERR_PM
umschalten, wenn eine Zeitüberschreitung
auftritt, die durch das Zählen von
Taktzyklen des Systemtakts MCLK_OUT bzw. MCLK_IN bestimmt wird.
-
9 zeigt
ein vereinfachtes Schaubild einer Takterzeugungsstufe, die gemäß Aspekten
der vorliegenden Erfindung ausgeführt ist. In dieser Ausführungsform
umfasst die Takterzeugungsstufe einen Haupttaktgeber MCG, der das
Systemtaktsignal MCLK_IN bereitstellt. Eine Datenauswertungsstufe DRDET
empfängt
die Data-Ready-Signale DRDY1 bis DRDY4 von den Slaves und stellt
ein Steuersignal für
einen Multiplexer MUX bereit, dessen einer Ausgang das Systemtaktsignal
MCLK_OUT bereitstellt. Ein erster Eingang des Multiplexers MUX empfängt das
konstante Haupttaktsignal MCLK_IN. Ein anderer Eingang des Multiplexers
ist mit einer einstellbaren Teilerstufe DIFN gekoppelt, die so eingerichtet
ist, dass sie das Haupttaktsignal MCLK_IN zum Beispiel durch einen
Faktor N teilt. Des Weiteren kann die Datenauswertungsstufe DRDET
Flag-Signale DRFG, die anzeigen, ob die Daten korrekt sind, bzw.
Steuersignale wie DRCNTL zur Steuerung des Multiplexers und optional
anderer Vorrichtungen bereitstellen. Anstatt die Systemfrequenz
des Systemtaktsignals MCLK_IN oder des Systemtaktsignals MCLK_OUT zu überwachen, überwacht
die vorliegende Erfindung die Ausführungsgeschwindigkeit bzw.
Datenübertragungsgeschwindigkeit.
Fehlerbewältigungsmaßnahmen
werden lediglich dann angefordert oder ausgeführt, wenn spezifische Zeitbegrenzungen
ohne eine gültige
Antwort von einem Slave überschritten
wurden. Die maximale Ausführungsgeschwindigkeit
in einer elektronischen Vorrichtung gemäß der vorliegenden Erfindung
muss gemäß den Zielsystemkomponenten
sowie den Temperatur- und Versorgungsspannungsbedingungen festgelegt
werden. Wenn die elektronische Vorrichtung auf gültige Daten bzw. gültigen Code
wartet, kann das System noch immer Programmcode ausführen oder
die Anwendung verarbeiten, beispielsweise mit einer anderen Geschwindigkeit.
Die vorliegende Erfindung stellt ein System bzw. eine elektronische
Vorrichtung bereit, die so eingerichtet sind, dass sie verschiedene
Temperatur- bzw. Spannungsbereiche sowie Verarbeitungsgeschwindigkeitsschwankungen
bewältigen
können.
-
In
einer anderen Ausführungsform
der vorliegenden Erfindung können
die Data-Ready-Signale DRDY1 bis DRDY4 lediglich ein einzelnes Data-Ready- Signal DRDY sein,
wenn keine Datenquellenidentifikation benötigt wird. Des Weiteren kann
das in 9 gezeigte Haupttaktsignal MCLK_IN durch einen
Faktor 1 oder eine höheren
Faktor N geteilt werden, wodurch eine Periode des Systemtakts (eine ausreichend
niedrige Frequenz) zur Sicherstellung des korrekten Betriebs sichergestellt
wird. Es kann ein spezifisches Flag-Signal verwendet werden, um anzuzeigen,
dass die tatsächliche
Taktfrequenz lediglich einen Bruchteil der ursprünglichen Systemtaktfrequenz
beträgt,
wie durch die folgende Gleichung MLCK_OUT = MCLK_IN/N bereitgestellt
wird. Das Flag, das anzeigt, dass die tatsächliche Taktfrequenz lediglich
ein Bruchteil der ursprünglichen
Taktfrequenz beträgt,
kann permanent gespeichert werden, bis die elektronische Vorrichtung
zurückgesetzt wird.
In einer anderen Ausführungsform
kann das Hauptsystemtaktsignal MCLK_IN durch 1 geteilt werden, und
sobald das erste Signal, das anzeigt, dass Daten nicht bereit waren,
detektiert wurde, kann es durch einen höheren Faktor geteilt werden.
Der Teilungsfaktor N kann schrittweise erhöht werden, bis die Periode
des Systemtaktsignals MCLK_OUT ausreichend lange ist, was gleichbedeutend
damit ist, dass die Frequenz niedrig genug ist, damit die elektronische
Vorrichtung korrekt arbeiten kann. Des Weiteren kann die elektronische
Vorrichtung so eingerichtet sein, dass sie gelegentlich oder ständig überprüft, ob der
Teilungsfaktor herabgesetzt werden kann, bis die ursprüngliche
Periode bzw. Frequenz erreicht ist.
-
10 zeigt
ein vereinfachtes Schaubild einer Ausführungsform gemäß Aspekten
der vorliegenden Erfindung. Die in 10 gezeigte
Ausführungsform
ist gleich wie die in 9 gezeigte, außer, dass der
Teiler DIFN nun einstellbar ist und Aufwärts- bzw. Abwärtssteuersignale
empfängt,
um den Teilungsfaktor einzustellen.
-
11 zeigt
ein vereinfachtes Schaubild einer Ausführungsform, die gemäß Aspekten
der vorliegenden Erfindung ausgeführt ist. Die Takterzeugungsstufe
ist so eingerichtet, dass sie die Systemtaktfrequenz MCLK_OUT direkt
einstellt. Wenn die empfangenen Daten nicht gültig sind, wird das Systemtaktsignal
MCLK_OUT (= MCLK_IN) immer weiter herabgesetzt, bis die Periode
des Systemtaktsignals niedrig genug ist, damit die elektronische
Vorrichtung den korrekten Betrieb wiederaufnehmen kann. Die elektronische
Vorrichtung kann so eingerichtet sein, dass sie gelegentlich oder
ständig überprüft, ob die Systemtaktfrequenz
wieder erhöht
werden kann, bis die ursprüngliche
Periode der Frequenz erreicht ist. Die Haupttakterzeugungsstufe MCG
kann durch Verwendung eines digitalen Steuersignals eingestellt
werden, durch direktes Einstellen von Taktgebern wie Phasenregelkreisen
oder Frequenzregelkreisen (PLL, FLL bzw. DLL) oder unter Verwendung
von analogen Oszillatoren wie RC-Oszillatoren.
-
12 zeigt
ein Schaubild einer Ausführungsform,
die gemäß Aspekten
der vorliegenden Erfindung ausgeführt ist. Die in 12 gezeigte
Takterzeugungsstufe umfasst ein NAND-Gatter zum Erzeugen eines Data-Not-Ready-Signals DNRY
(englisch für „Daten
sind nicht bereit")
basierend auf den vier Datensignalen DRDY1 bis DRDY4. Das Data-Not-Ready-Signal
DNRY wird einer Logikstufe CNTL zugeführt, die einen Wert n an einen
(Abwärts-)Zähler DCn
ausgibt. Das Teilerverhältnis
n kann unter Steuerung der Data-Ready-Signale DRDY1 bis DRDY4 herauf- oder
herabgesetzt werden. Das Teilerverhältnis kann jede beliebige natürliche Zahl
für Teilerverhältnisse
von Vielfachen von Zwei (2n) annehmen. Dies
stellt einen vereinfachten Ansatz bereit, in dem lediglich Vielfache
von 2 verwendet werden, wodurch ein weniger komplexer Regelungsmechanismus
bereitgestellt und Leistung eingespart wird. Um die elektronische
Vorrichtung jedoch optimal auf ihre Maximalleistung, d. h. auf die maximale
Systemtaktfrequenz, einzustellen, können natürliche Zahlen für n verwendet
werden. Die in 12 gezeigte Ausführungsform
umfasst einen zusätzlichen
Steuermechanismus, der das ständige und
störende
Aufwärts-
und Abwärtszählen des
Teilungsverhältnisses
n verhindert.
-
13 zeigt
ein Zustandsdiagramm, das eine wie in 12 gezeigt
ausgeführte
elektronische Vorrichtung zeigt. Entsprechend ist nach einem Rücksetzen
das Teilerverhältnis
n = 1. Wenn Daten zum ersten Mal nicht bereit sind, der Eingang
DNR = 1 ist und eine positive Flanke des Haupttaktsignals MCLK_IN
(angegeben durch MCLK_IN+) auftritt, wird der Zwischenteilungsfaktor
nt zu nt = n + 1. Wenn Daten noch immer nicht bereit sind, wird
der Zwischenteilungsfaktor nt immer weiter
heraufgesetzt. Wenn die Daten wieder bereit sind (DNR = 0), fährt die
Steuerstufe CNTL mit der nächsten
positiven Flanke des Systemtaktsignals MCLK_IN (angegeben durch
MCLK_IN+) mit Zustand 3 fort. In Zustand 3 übernimmt der Teilungsfaktor
den Zwischenteilungsfaktorwert n = nt. In
dieser Situation ist MCLK_OUT = MCLK_IN/n.
-
Nur
durch Verwendung eines periodischen oder gelegentlichen Testsignals
Test = 1, kann die Steuerstufe mit den Zuständen 5 und 4 fortfahren, in denen
nt = n – 1
ist und nt = n ist. Von Zustand 4 kehrt die
Zustandsmaschine zu Zustand 1 zurück, wenn DNR = 0, MCLK_IN+
und nt < 2.
Von Zustand 5 kehrt die elektronische Vorrichtung zu Zustand 3 zurück, wenn
DNR = 0, MCLK_IN+ und nt ≥ 2. Das Testsignal Test
dient dazu, irgendeine Erhöhung
der Systemtaktfrequenz zeitlich zu steuern bzw. auszulösen. Der Zwischenteilungsfaktor
nt und das Testsignal dienen dazu, zu verhindern,
dass das System ständig
in Data-Not-Ready-Zustände
(DNR = 1) schaltet.
-
14 zeigt
ein vereinfachtes Schaubild einer anderen Ausführungsform der vorliegenden
Erfindung. Entsprechend wird ein digitaler Steueroszillator DCO
durch einen Steuerwert n gesteuert, welcher der Nennwert ist, der
eine bestimmte Systemtaktfrequenz darstellt. Der Parameter n kann
herauf- oder herabgesetzt werden, damit die Systemtaktfrequenz nicht
mehr ihren Nennwert hat. Nachdem der Wert n eingestellt wurde bzw.
ohne weitere Einstellung wird er an den DCO geleitet, um die DCO-Schwingfrequenz
einzustellen. Der DCO gibt zwei Schwingungssignale (Taktsignale)
mit den Frequenzen fTap und fTap+1 aus.
Das Systemtaktsignal wird durch einen Ausgang des einen Multiplexer
MUX steuernden Modulators ausgewählt.
Der Multiplexer empfängt
zwei verschiedene Taktsignale mit einer ersten Frequenz fTap und fTap+1. Ein
Modulator MOD schaltet das Ausgangssignal des Multiplexers, welches
das Systemtaktsignal MCLK_OUT ist, zwischen den beiden Eingangssignalen
um. Folglich kann die letztendliche Systemtaktfrequenz des von dem
Multiplexer ausgegebenen Systemtakts MCLK_OUT Frequenzen zwischen
den beiden Frequenzwerten fTap und fTap+1 annehmen. Die Systemtaktfrequenz kann somit
direkt eingestellt werden, anstatt lediglich von ihrem maximalen
Zielwert aus herabgesetzt zu werden.
-
15 zeigt
ein vereinfachtes Schaubild einer Ausführungsform, die gemäß Aspekten
der vorliegenden Erfindung ausgeführt ist. Der DCO, der Modulator
MOC, der Multiplexer sowie die n-Erhöhungs-Verringerungsstufe und
das n-Register sind gleich
wie 14. Die Komponenten sind nun jedoch in einem Regelkreis
angeordnet. Der Regelkreis stellt einen Frequenzregelkreis (FLL)
dar, der dazu dient, ein Systemtaktsignal MCLK_OUT mit einer Zieldurchschnittsfrequenz
herzustellen. Alternativ kann ein Phasenregelkreis (PLL) implementiert
werden. Ein geteiltes Taktsignal A MCLK_OUT/n wird in einem Phasen-/Frequenzkomparator
PFC mit einem geteilten Referenztaktsignal fref/m
verglichen. Das Fehlersignal (Aufwärts- und Abwärtsimpulse)
wird einem Frequenzintegrator FI zugeführt, der den DCO und den Modulator
MOD so steuert, dass sie die benötigte
Durchschnittsausgangsfrequenz des Ausgangssystemtaktsignals MCLK_OUT
herstellen. Entsprechend kann die in 15 gezeigte
Ausführungsform
ein Systemtaktsignal MCLK_OUT mit einer bestimmten, stabilen und
genauen Durchschnittsfrequenz (und/oder Phase) über einen großen Bereich von
Systemparametern direkt bereitstellen, das dann gemäß den oben
dargelegten Ausführungsformen und
Aspekten der vorliegenden Erfindung verwendet werden kann.