-
Die
Erfindung betrifft eine Frequenzdetektionsschaltung, eine Halbleitervorrichtung
mit einer solchen Frequenzdetektionsschaltung und ein Frequenzdetektionsverfahren.
-
Um
Schaltungsstabilität
sicherzustellen, ist es erforderlich, integrierte Schaltungskarten,
wie Smartcards, nur in einem vorgegebenen Frequenzbereich zu betreiben
und in einem Frequenzbereich vollständig zurückzusetzen, in dem ein Fehler
in einer integrierten Schaltung auftreten kann. Für diesen
Vorgang umfassen einige Halbleitervorrichtungen, d.h. Vorrichtungen
bzw. Bauelemente mit Halbleiterbauelementen, wie Smartcards, eine
Frequenzdetektionsschaltung. Die Frequenzdetektionsschaltung detektiert
eine Frequenz eines in die Halbleitervorrichtung eingegebenen Taktsignals
und bestimmt, ob die Frequenz in einem normalen Bereich liegt.
-
1 zeigt eine herkömmliche
Frequenzdetektionsschaltung, die eine Impulsformschaltung 110,
einen ersten Filter 120, einen zweiten Filter 130 und
einen Detektionssignalgenerator 140 umfasst.
-
Die
Impulsformschaltung 110 ändert oder teilt die Wellenform,
d.h. den Verlauf bzw. die Form, eines Eingabetaktsignals XCLK. Der
erste und zweite Filter 120 und 130 sind Tiefpassfilter
(LPFs) und weisen eine erste Grenzfrequenz bzw. zweite Grenzfrequenz
auf, wobei die erste Grenzfrequenz größer als die zweite Grenzfrequenz
ist. Herkömmlicherweise
sind der erste und zweite Filter 120 und 130 unter
Verwendung eines analogen Widerstands-Kondensator-Filters (RC-Filters)
implementiert.
-
Tabelle
1 zeigt eine ideale Funktionsweise der in 1 dargestellten Frequenzdetektionsschaltung. Hierbei
wird beispielsweise angenommen, dass die erste und zweite Grenzfrequenz
den Wert 7,5MHz bzw. 500kHz haben.
-
-
Unter
Bezugnahme auf Tabelle 1 sind, wenn eine Eingabefrequenz abnormal
niedrig ist, d.h. niedriger als die zweite Grenzfrequenz ist (0
bis 500kHz), Ausgabesignale HIGH_OUT und LOW_OUT des ersten bzw. zweiten
Filters 120 und 130 Taktsignale, die zwischen
einem hohen Pegel und niedrigen Pegel umschalten bzw. toggeln. Wenn
die Eingabefrequenz in einem normalen Bereich ist, d.h. zwischen
der ersten und zweiten Grenzfrequenz liegt (500kHz bis 7,5MHz),
ist das Ausgabesignal HIGH_OUT des ersten Filters 120 ein
Taktsignal und das Ausgabesignal LOW_OUT des zweiten Filters 130 nahe
oder gleich dem Wert „0". Wenn die Eingabefrequenz
abnormal hoch ist, d.h. höher
als die erste Grenzfrequenz ist (über 7,5MHz), sind die Ausgabesignale
HIGH_OUT und LOW_OUT des ersten und zweiten Filters 120 und 130 beide
gleich oder nahe dem Wert „0".
-
Der
Detektionssignalgenerator 140 erzeugt ein Detektionssignal
FREQ_DET mit einem hohen Pegel nur, wenn das Ausgabesignal HIGH_OUT
des ersten Filters 120 das Taktsignal ist und das Ausgabesignal LOW_OUT
des zweiten Filters 130 den Wert „0" aufweist, wodurch angezeigt wird, das
die Eingabefrequenz im normalen Bereich ist.
-
Wenn
dieses Analogverfahren unter Verwendung eines analogen RC-Filters zur Frequenzdetektion verwendet
wird, ist eine große
Chipfläche
erforderlich und eine große
Energiemenge wird verbraucht. Zusätzlich kann, wenn das Taktsignal
XCLK kein Tastverhältnis
von 50% aufweist, d.h. wenn eine Periode mit hohem Pegel kurz und
eine Periode mit niedrigem Pegel lang ist oder wenn die Periode
mit niedrigem Pegel kurz ist und die Periode mit hohem Pegel lang
ist, die Frequenz nicht unter Verwendung dieses Analogverfahrens
detektiert werden. Daraus resultiert, dass ein Halbleiterbauelement,
wie ein Speicher, der normalerweise sowohl im Hochpegelzeitraum
als auch im Niederpegelzeitraum des Taktsignals XCLK betrieben wird,
fehlerhaft arbeiten kann. Insbesondere bei einer Anwendung als Smartcard,
in der Datenwerte im Speicher sehr wichtig sind, ist eine hohe Zuverlässigkeit
der Frequenzdetektionsschaltung erforderlich.
-
Es
ist Aufgabe der Erfindung, eine Frequenzdetektionsschaltung, eine
Halbleitervorrichtung und ein Frequenzdetektionsverfahren anzugeben,
die es ermöglichen,
eine Frequenz genau zu detektieren, auch wenn ein Taktsignal eingegeben
wird, das ein Tastverhältnis
aufweist, das nicht 50% ist, den Energieverbrauch zu begrenzen und
eine erforderliche Chipfläche
zu reduzieren.
-
Die
Erfindung löst
diese Aufgabe durch eine Frequenzdetektionsschaltung mit den Merkmalen
des Patentanspruchs 1, durch eine Halbleitervorrichtung mit den
Merkmalen des Patentanspruchs 18 sowie durch ein Frequenzdetektionsverfahren
mit den Merkmalen des Patentanspruchs 23.
-
Vorteilhafte
Weiterbildungen der Erfindung sind in den abhängigen Ansprüchen angegeben.
-
Beispielhafte
erfindungsgemäße Ausführungsformen
stellen eine digitale Frequenzdetektionsschaltung und ein zugehöriges Verfahren,
die ein Erhöhen
der Genauigkeit und Zuverlässigkeit
der Frequenzdetektion durch Detektieren einer Frequenz in Intervallen
einer halben Periodendauer, d.h. einmal in jedem Hoch-/Niederpegelzeitraum,
eines Taktsignals erlauben, sowie eine Halbleitervorrichtung mit
einer solchen Frequenzdetektionsschaltung zur Verfügung.
-
Vorteilhafte,
nachfolgend beschriebene Ausführungsformen
der Erfindung sowie das zu deren besserem Verständnis oben erläuterte,
herkömmliche
Ausführungsbeispiel
sind in den Zeichnungen dargestellt. Es zeigen:
-
1 ein
schematisches Blockdiagramm einer herkömmlichen Frequenzdetektionsschaltung,
-
2 ein
Blockdiagramm einer erfindungsgemäßen Frequenzdetektionsschaltung,
-
3 ein
Schaltbild einer für
die Schaltung von 2 geeigneten Flankendetektionsschaltung,
-
4 ein
Zeitablaufdiagramm zur Darstellung der Funktionsweise der in 3 dargestellten
Flankendetektionsschaltung,
-
5 ein
Schaltbild einer für
die Schaltung von 2 geeigneten Taktsignalgeneratorschaltung,
-
6 ein
Schaltbild einer ersten für
die Schaltung von 5 geeigneten Verzögerungszelle,
-
7 ein
Zeitablaufdiagramm zur Darstellung der Funktionsweise der Taktsignalgeneratorschaltung von 5,
-
8 ein
Blockdiagramm einer für
die Schaltung von 2 geeigneten Bestimmungsschaltung,
-
9A bis 9C jeweils
ein Zeitablaufdiagramm zur Darstellung der Funktionsweise der Bestimmungsschaltung
von 8,
-
10 ein
Blockdiagramm einer für
die Schaltung von 2 geeigneten Steuerschaltung,
-
11 ein
Zeitablaufdiagramm zur Darstellung der Funktionsweise der Steuerschaltung
von 10,
-
12 ein
schematisches Blockdiagramm einer Smartcard mit erfindungsgemäßer Frequenzdetektionsschaltung
und
-
13 ein
Zeitablaufdiagramm zur Darstellung der Funktionsweise einer herkömmlichen
Smartcard.
-
In
den Zeichnungen bezeichnen gleiche Bezugszeichen Elemente bzw. Komponenten,
welche gleiche bzw. analoge Funktionen ausführen. 2 zeigt
ein erfindungsgemäßes Ausführungsbeispiel
einer Frequenzdetektionsschaltung 200, die eine Flankendetektionsschaltung 210,
eine Taktsignalgeneratorschaltung 220, eine Bestimmungsschaltung 230 und
eine Steuerschaltung 240 umfasst. Die Frequenzdetektionsschaltung 200 detektiert
eine Frequenz eines Eingabetaktsignals XCLK durch ein genaues Detektieren
jeder Periode zwischen benachbarten Flanken des Taktsignals XCLK,
d.h. jeder erste logische Pegel, z.B. jede Periode mit einem hohen
Pegel, und jeder zweite logische Pegel werden detektiert, z.B. jede
Periode mit niedrigem Pegel.
-
Die
Flankendetektionsschaltung 210 detektiert eine ansteigende
Flanke und eine abfallende Flanke des Taktsignals XCLK und erzeugt
Flankendetektionssignale START und STOPB, die mit den detektierten Flanken
synchronisiert sind. Die ansteigende Flanke korrespondiert mit dem Übergang
vom niedrigen Pegel auf hohen Pegel und die abfallende Flanke korrespondiert
mit dem Übergang
vom hohen Pegel auf den niedrigen Pegel.
-
3 zeigt
eine mögliche
Realisierung der Flankendetektionsschaltung 210 aus 2.
Unter Bezugnahme auf 3 umfasst die Flankendetektionsschaltung 210 in
diesem Beispiel eine Verzögerungseinheit 311,
ein XOR-Gatter 320 und einen Flankendetektionssignalgenerator 330.
Der Flankendetektionssignalgenerator 330 umfasst eine Mehrzahl
von Verzögerungseinheiten 313, 315 und 317 und
einen Inverter 331.
-
4 zeigt
ein Zeitablaufdiagramm zur Darstellung der Funktionsweise der in 3 dargestellten Flankendetektionsschaltung 210.
Die Funktionsweise der Flankendetektionsschaltung 210 wird
nachfolgend unter Bezugnahme auf die 3 und 4 beschrieben.
Das Taktsignal XCLK wird durch die Verzögerungseinheit 311 für eine vorbestimmte
Zeitspanne verzögert.
Das XOR-Gatter 320 führt
eine XOR-Verknüpfung
mit dem Taktsignal XCLK und dem verzögerten Taktsignal aus. Der
Inverter 331 invertiert ein Ausgabe- bzw. Stopsignal des
XOR-Gatters 320, um ein invertiertes Stoppsignal STOPB
zu erzeugen. Entsprechend wird das Signal STOPB bei jeder Flanke
des Taktsignals XCLK erzeugt und ist ein periodisches Impulssignal
mit einer Pulsbreite, die der Verzögerungszeit der Verzögerungseinheit 311 entspricht,
wie aus 4 ersichtlich ist.
-
Die
Verzögerungseinheiten 313 und 315 verzögern das
Ausgabesignal des XOR-Gatters 320, um ein Startsignal START
zu erzeugen. Die Verzögerungseinheit 317 verzögert das
Signal STOPB, um ein Rücksetzdetektionssignal
RST_DET zu erzeugen. Entsprechend weist das Rücksetzdetektionssignal RST_DET
die gleiche Signalform wie das invertierte Stoppsignal STOPB auf,
seine Phase eilt der des invertierten Stoppsignals STOPB jedoch
nach. Das Startsignal START wird durch eine Verzögerung des Inversen des invertierten Stoppsignals
STOPB um eine vorgegebene Zeitspanne erhalten. Als Ergebnis sind
das invertierte Stoppsignal STOPB, das Startsignal START und das
Rücksetzdetektionssignal
RST_RST Flankendetektionssignale, die in Reaktion auf jede der ansteigenden
und abfallenden Flanken des Taktsignals XCLK erzeugt werden.
-
Die
Flankendetektionsschaltung 210 kann in Reaktion auf ein
nicht dargestelltes Freigabesignal freigegeben oder gesperrt werden.
In anderen Worten ausgedrückt,
nur wenn das Freigabesignal aktiviert ist, arbeitet die Flankendetektionsschaltung 210 normal,
d.h. aktiv.
-
Die
Taktsignalgeneratorschaltung 220 erzeugt in Reaktion auf
die Flankendetektionssignale START und STOPB, die von der Flankendetektionsschaltung 210 ausgegeben
werden, ein Auswahltaktsignal SEL_CLK mit einem vorbestimmten Tastverhältnis und
einer vorbestimmten Periodendauer. Die Taktsignalgeneratorschaltung 220 erzeugt
das Auswahltaktsignal SEL_CLK wenigstens ein Mal während jeder
Periode des Taktsignals XCLK, wenn die Frequenz des Taktsignals
XCLK in einem vorbestimmten normalen Bereich liegt.
-
5 zeigt
eine mögliche
Realisierung der Taktsignalgeneratorschaltung 220 aus 2. 7 zeigt ein
Zeitablaufdiagramm zur Darstellung der Funktionsweise der Taktsignalgeneratorschaltung 220,
die in diesem Beispiel einen Verzögerungssignalgenerator 510 und
einen Selektor 503, d.h. eine Auswahlschaltung, umfasst.
-
Der
Verzögerungssignalgenerator 510 erzeugt
eine Mehrzahl von verzögerten
Taktsignalen DCLK1 bis DCLK15, welche jeweils zum Auswahltaktsignal
SEL_CLK werden können.
Die Auswahlschaltung 530 wählt eines der verzögerten Taktsignale
DCLK1 bis DCLK15 aus, um das Auswahltaktsignal SEL_CLK zu erzeugen.
Der Verzögerungssignalgenerator 510 umfasst
einen Multiplexer 511, ein Flip-Flop 513, ein
UND-Gatter 515, einen Inverter 517 und eine Mehrzahl
von in Reihe geschalteten Verzögerungszellen 52-1 bis 52-15.
-
Der
Multiplexer 511 wählt
in Reaktion auf das eingegebene Startsignal START entweder ein Einschaltrücksetzsignal
PORSL oder das Auswahltaktsignal SEL_CLK aus und gibt es aus. Das
Einschaltrücksetzsignal PORSL
ist auf einem hohen Pegel aktiviert, wenn eine Versorgungsspannung
VDD von extern an das Flip-Flop 513 angelegt wird, und
das Auswahltaktsignal SEL_CLK wird von der Auswahlschaltung 530 ausgegeben.
-
Das
Flip-Flop 513 weist einen Taktsignalanschluss CK, der ein
Ausgabesignal des Multiplexers 511 empfängt, und einen Eingabeanschluss
auf, der mit der Versorgungsspannung VDD verbunden ist. Entsprechend
gibt das Flip-Flop 513 in Synchronisation mit dem Ausgabesignal
des Multiplexers 511 ein Signal mit einem Versorgungsspannungspegel
aus, d.h. mit einem hohen Pegel. Das Ausgabesignal des Flip-Flops 513 wird
in die erste Verzögerungszelle 52-1 eingegeben.
Die erste Verzögerungszelle 52-1 verzögert das
Ausgabesignal des Flip-Flops 513 für eine erste Verzögerungszeit,
um das erste verzögerte
Taktsignal DCLK1 auszugeben, und wird in Reaktion auf das invertierte
Stoppsignal STOPB zurückgesetzt,
das an das UND-Gatter 515 angelegt wird. Entsprechend wird
das erste verzögerte
Taktsignal DCLK1 in Reaktion auf das Startsignal START erzeugt,
wechselt aber nach einer Verzögerung
für eine
vorgegebene Zeitspanne gegenüber
dem Startsignal START auf den hohen Pegel, wie aus 7 ersichtlich
ist.
-
Das
Flip-Flop 513 wird in Reaktion auf ein. UND-Signal AS vom
UND-Gatter 515 zurückgesetzt.
Das UND-Signal AS resultiert aus einer UND-Verknüpfung eines invertierten Signals/DCLK3
des dritten verzögerten
Taktsignals DCLK3, des Einschaltrücksetzsignals PORSL und des
invertierten Stoppsignals STOPB. Entsprechend wechselt das UND-Signal
AS auf einen niedrigen Pegel und das Flip-Flop 513 wird
zurückgesetzt, wenn
das dritte verzögerte
Taktsignal DCLK3 auf hohen Pegel wechselt. Wenn das Flip-Flop 513 zurückgesetzt
wird, ist ein Ausgabesignal Q des Flip-Flops 513 auf niedrigem
Pegel und daher ist das erste verzögerte Taktsignal DCLK1 auch
auf niedrigem Pegel. In anderen Worten ausgedrückt, wenn das dritte verzögerte Taktsignal
DCLK3 auf hohen Pegel wechselt, wechselt das erste verzögerte Taktsignal
DCLK1 nach ungefähr
der ersten Verzögerungszeit
auf niedrigen Pegel. Als Ergebnis wird die Hochpegelzeitdauer des
ersten verzögerten
Taktsignals DCLK1 bestimmt.
-
Entsprechend
erzeugen der Multiplexer 511 und das Flip-Flop 513 ein
Basistaktsignal, das in Reaktion auf das Startsignal START auf hohen
Pegel wechselt und in Reaktion auf ein bestimmtes Signal auf niedrigen Pegel
wechselt, das ist im dargestellten Ausführungsbeispiel das dritte verzögerte Taktsignal
DCLK3 des ersten bis N-ten verzögerten
Taktsignals DCLK1 bis DCLK15. Das Auswahltaktsignal SEL_CLK wird
zu einem ersten Eingabeanschluss des Multiplexers 511 zurückgekoppelt,
so dass das Basistaktsignal kontinuierlich erzeugt wird, bis das
invertierte Stoppsignal STOPB erzeugt wird.
-
Die
erste bis fünfzehnte
Verzögerungszelle 52-1 bis 52-15,
die in Reihe geschaltet sind, geben durch eine Verzögerung des
Basistaktsignals um eine „erste
Verzögerungszeit", um eine „erste
Verzögerungszeit
+ zweite Verzögerungszeit", ..., um eine „erste
Verzögerungszeit
+ zweite Verzögerungszeit
+ ... + fünfzehnte Verzögerungszeit" Ausgabesignale aus.
-
Dabei
wird das erste verzögerte
Taktsignal DCLK1, das von der ersten Verzögerungszelle 52-1 ausgegeben
wird, in die zweite Verzögerungszelle 52-2 eingegeben.
Die zweite Verzögerungszelle 52-2 verzögert das
empfangene erste verzögerte
Taktsignal DCLK1 für
die zweite Verzögerungszeitspanne,
wodurch das zweite verzögerte
Taktsignal DCLK2 ausgegeben wird, und wird in Reaktion auf das invertierte
Stoppsignal STOPB zurückgesetzt.
Entsprechend eilt das zweite verzögerte Taktsignal DCLK2 um die
zweite Verzögerungszeit
dem ersten verzögerten
Taktsignal DCLK1 nach.
-
Das
zweite verzögerte
Taktsignal DCLK2, das von der zweiten Verzögerungszelle 52-2 ausgegeben wird,
wird in die dritte Verzögerungszelle 52-3 eingegeben.
Entsprechend eilt das dritte verzögerte Taktsignal DCLK3 um die
dritte Verzögerungszeit
dem zweiten verzögerten
Taktsignal DCLK2 nach.
-
Auf
diese Weise empfängt
jede der anderen in Reihe geschalteten Verzögerungszellen 52-4 bis 52-15 ein
Ausgabesignal einer vorherigen Verzögerungszelle und gibt ein verzögertes Signal
aus. Die Verzögerungszeiten
der ersten bis fünfzehnten
Verzögerungszelle 52-1 bis 52-15, d.h. die
erste bis fünfzehnte
Verzögerungszeitspanne,
können
sich voneinander unterscheiden oder gleich sein. Im dargestellten
erfindungsgemäßen Ausführungsbeispiel
werden sie als gleich vorausgesetzt.
-
Die
Ausgabesignale der ersten bis fünfzehnten
Verzögerungszelle 52-1 bis 52-15,
d.h. das erste bis fünfzehnte
verzögerte
Taktsignal DCLK1 bis DCLK15, werden in die Auswahlschaltung 530 eingegeben.
Hierbei wird das dritte verzögerte
Taktsignal DCLK3 invertiert und dann in das UND-Gatter 515 eingegeben.
-
6 zeigt
eine mögliche
Realisierung der ersten Verzögerungszelle 52-1.
Unter Bezugnahme auf 6 umfasst die erste Verzögerungszelle 52-1 einen
Multiplexer 610 und ein Verzögerungselement 620.
Das Verzögerungselement 620 verzögert ein
Eingabesignal IN für
die vorbestimmte erste Verzögerungszeitspanne.
Der Multiplexer 610 wählt
in Reaktion auf das eingegebene invertierte Stoppsignal STOPB entweder
ein Ausgabesignal des Verzögerungselements 620 oder
eine Massespannung VSS aus und gibt es aus. Entsprechend weist das
Ausgabesignal der ersten Verzögerungszelle 52-1 eine
Signalform auf, die dem Eingabesignal IN um die erste Verzögerungszeitspanne
nacheilt und in Reaktion auf das invertierte Stoppsignal STOPB auf
den niedrigen Pegel zurückgesetzt
wird.
-
Die
anderen Verzögerungszellen 52-2 bis 52-15 weisen
die gleiche Struktur wie die in 6 dargestellte
erste Verzögerungszelle 52-1 auf.
Daher wird auf eine detaillierte Beschreibung der internen Struktur der
anderen Verzögerungszellen 52-2 bis 52-15 verzichtet.
-
Die
Auswahlschaltung 530 ist eine Decoderschaltung, die ein
Signal aus dem ersten bis fünfzehnten verzögerten Taktsignal
DCLK1 bis DCLK15 auswählt
und das ausgewählte
Signal in Reaktion auf ein Auswahlsignal CAL_VAL als das Auswahltaktsignal
SEL_CLK ausgibt.
-
Das
Auswahltaktsignal SEL_CLK wird in die in 2 dargestellte
Bestimmungsschaltung 230 und in den ersten Eingabeanschluss
D0 des in 5 dargestellten Multiplexers 511 eingegeben.
Da das Auswahltaktsignal SEL_CLK zum Multiplexer 511 zurückgekoppelt
wird, wechselt das erste verzögerte
Taktsignal DCLK1, das in Reaktion auf das dritte verzögerte Taktsignal
DCLK3 auf den niedrigen Pegel gewechselt ist, auf den hohen Pegel.
Danach wechselt das erste verzögerte
Taktsignal DCLK1 in Reaktion auf das dritte verzögerte Taktsignal DCLK3 wieder
vom hohen Pegel auf den niedrigen Pegel. Diese Funktionsweise wird
solange wiederholt, bis alle Verzögerungszellen 52-1 bis 52-15 in
Reaktion auf das invertierte Stoppsignal STOPB zurückgesetzt
sind. Das erste verzögerte
Taktsignal DCLK1 wird verzögert
und dann von der zweiten Verzögerungszelle 52-2 als
zweites verzögertes
Taktsignal DCLK2 ausgegeben und das zweite verzögerte Taktsignal DCLK2 wird
verzögert
und dann von der dritten Verzögerungszelle 52-3 als
drittes verzögertes
Taktsignal DCLK3 ausgegeben. Die verbleibenden vierten bis fünfzehnten
verzögerten
Taktsignale DCLK4 bis DCLK15 werden auf dem gleichen Prinzip basierend
erzeugt wie das zweite und dritte verzögerte Taktsignal DCLK2 und
DCLK3.
-
Entsprechend
werden die ersten bis fünfzehnten
verzögerten
Taktsignale DCLK1 bis DCLK15, wie in 7 dargestellt
ist, in Reaktion auf das Startsignal START nacheinander erzeugt
und dann in Reaktion auf das invertierte Stoppsignal STOPB zurückgesetzt.
Danach werden die verzögerten
Taktsignale DCLK1 bis DCLK15 in Reaktion auf das Startsignal START
wieder sequentiell erzeugt und dann in Reaktion auf das invertierte
Stoppsignal STOPB zurückgesetzt.
Diese Funktionsweise wird wiederholt.
-
Die
nachfolgende Tabelle 2 zeigt Zeitperioden zwischen einem Zeitpunkt,
wenn das Startsignal START erzeugt wird, und einem Zeitpunkt, an
dem jeweils die ersten bis fünfzehnten
verzögerten
Taktsignale DCLK1 bis DCLK15 erzeugt werden.
-
-
Unter
Bezugnahme auf Tabelle 2 weist jede der ersten bis fünfzehnten
Verzögerungszellen 52-1 bis 52-15 bei
besten Bedingungen eine Verzögerungszeitspanne
von 10ns auf. Entsprechend wechseln das erste bis fünfzehnte
verzögerte
Taktsignal DCLK1 bis DCLK15 jeweils nach 10ns, 20ns, 30ns, 40ns,
50ns, 60ns, 70ns, 80ns, 90ns, 100ns, 110ns, 120ns, 130ns, 140ns
bzw. 150ns ab der Erzeugung des Startsignals START auf hohen Pegel,
wenn die Verzögerungszeiten
des Multiplexers 511 und des Flip-Flops 513 ignoriert
werden. Die Verzögerungszeitspannen
von jeder Verzögerungszelle
können
jedoch gemäß verschiedenen
Bedingungen, die beispielsweise von Herstellungsprozessen und Temperaturveränderungen
verursacht werden, verschieden ausfallen.
-
Entsprechend
können
die Verzögerungszeitspannen
unter den schlechtesten Bedingungen doppelt so lange sein wie unter
den besten Bedingungen. In diesem Fall wechseln das erste bis fünfzehnte
verzögerte Taktsignal
DCLK1 bis DCLK15 jeweils nach 20ns, 40ns, 60ns, 80ns, 100ns, 120ns,
140ns, 160ns, 180ns 200ns, 220ns, 240ns, 260ns, 280ns bzw. 300ns
nach der Erzeugung des Startsignals START auf hohen Pegel. Da die
Verzögerungszeitspanne
von jeder Verzögerungszelle
verschieden sein kann, wie oben ausgeführt ist, ist es erforderlich,
ein passendes Signal aus dem ersten bis fünfzehnten verzögerten Taktsignal
DCLK1 bis DCLK15 durch Steuern des Auswahlsignals CAL_VAL auszuwählen. Das
Auswahlsignal CAL_VAL wird durch die in 2 dargestellte
Steuerschaltung 240 bestimmt, die nachfolgend im Detail
beschrieben wird.
-
Die
in 2 dargestellte Bestimmungsschaltung 230 erzeugt
basierend auf der Anzahl von auftretenden Auswahltaktsignalen SEL_CLK
während
einer Periode des Taktsignals XCLK ein Frequenzdetektionssignal
FREQDET. In anderen Worten ausgedrückt, die Bestimmungsschaltung 230 detektiert,
ob eine ansteigende oder abfallende Flanke im Auswahl taktsignal
SEL_CLK während
der Periode des Taktsignals XCLK auftritt, oder detektiert die Anzahl
von ansteigenden oder abfallenden Flanken, die im Auswahltaktsignal
SEL_CLK während
der Periode des Taktsignals XCLK auftreten, und erzeugt basierend
auf einem Detektionsergebnis das Frequenzdetektionssignal FREQDET.
-
8 zeigt
eine mögliche
Realisierung der in 2 dargestellten Bestimmungsschaltung 230.
Unter Bezugnahme auf 8 umfasst die Bestimmungsschaltung 230 einen
Hochfrequenzdetektor 810, einen Niederfrequenzdetektor 820 und
einen Detektionssignalgenerator 830.
-
Der
Hochfrequenzdetektor 810 erzeugt intern ein Hochfrequenzdetektionssignal
HIGH_DET_SIG, das in Reaktion auf das Auswahltaktsignal SEL_CLK
auf einen hohen Pegel aktiviert wird und in Reaktion auf das Rücksetzdetektionssignal
RST_DET zurückgesetzt
wird. Der Hochfrequenzdetektor 810 detektiert in Reaktion auf
das invertierte Stoppsignal STOPB einen Pegel des Hochfrequenzdetektionssignals
HIGH_DET_SIG und erzeugt ein Hochfrequenzbestimmungssignal FREQ_HIGH.
Der Hochfrequenzdetektor 810 erzeugt das Hochfrequenzbestimmungssignal
FREQ_HIGH mit einem hohen Pegel, wenn das Auswahltaktsignal SEL_CLK
wenigstens ein Mal während
einer aktuellen Periode erzeugt wird, und mit einem niedrigen Pegel,
wenn das Auswahltaktsignal SEL_CLK nicht während der aktuellen Periode
erzeugt wird, d.h. wenn die Anzahl der Auftritte des Auswahltaktsignals
SEL_CLK gleich „0" ist. Entsprechend
erzeugt der Hochfrequenzdetektor 810 das Hochfrequenzbestimmungssignal
FREQ_HIGH nur dann mit hohem Pegel, wenn die Anzahl der Auftritte
des Auswahltaktsignals SEL_CLK während
einer Periode des Taktsignals XCLK wenigstens einem minimalen Referenzwert
entspricht, der im dargestellten Ausführungsbeispiel gleich „1" ist.
-
Der
Niederfrequenzdetektor 820 zählt die Anzahl von Auftritten
des Auswahltaktsignals SEL_CLK, um einen Zählwert zu erhalten und ein
Niederfrequenzbestimmungssignal FREQ_LOW mit einem niedrigen Pegel zu
erzeugen, wenn der Zählwert
einen maximalen Referenzwert erreicht. Entsprechend erzeugt der
Niederfrequenzdetektor 820 das Niederfrequenzbestimmungssignal
FREQ_LOW mit einem hohen Pegel, wenn die Anzahl der Auftritte des
Auswahltaktsignals SEL_CLK während
einer Periode des Taktsignals XCLK niedriger als der maximale Referenzwert
ist. Der Zählwert
wird in Reaktion auf das invertierte Stoppsignal STOPB oder das Rücksetzdetektionssignal
RST_DET auf „0" zurückgesetzt.
-
Der
Detektionssignalgenerator 830 empfängt das Hochfrequenzbestimmungssignal
FREQ_HIGH und das Niederfrequenzbestimmungssignal FREQ_LOW und erzeugt
das Frequenzdetektionssignal FREQDET basierend auf dem Hoch- und
Niederfrequenzbestimmungssignal FREQ_HIGH und FREQ_LOW.
-
Die 9A bis 9C zeigen
Zeitablaufdiagramme zur Darstellung der Funktionsweise der in den 2 und 8 dargestellten
Bestimmungsschaltung 230. Das Taktsignal XCLK, das Startsignal
START, das invertierte Stoppsignal STOPB und das Rücksetzdetektionssignal
RST_DET, die in den 9A bis 9C dargestellt
sind, sind die gleichen Signale, die in 4 dargestellt
sind.
-
9A zeigt
die Funktionsweise der Bestimmungsschaltung 230, wenn die
Betriebsfrequenz im normalen Bereich ist. Das Hochfrequenzdetektionssignal
HIGH_DET_SIG wechselt in Reaktion auf die ansteigende Flanke des
Auswahltaktsignals SEL_CLK auf den hohen Pegel. Das Hochfrequenzdetektionssignal HIGH_DET_SIG
wird in Reaktion auf das Rücksetzdetektionssignal
RST_DET zurückgesetzt.
Der Pegel des Hochfrequenzbestimmungssignals FREQ_HIGH wird basierend
auf dem Pegel des Hochfrequenzdetektionssignals HIGH_DET_SIG zu
jeder der abfallenden Flanken T1 oder T2 des invertierten Stoppsignals
STOPB bestimmt. Wenn mit anderen Worten das Hochfrequenzdetektionssignal
HIGH_DET_SIG zu den abfallenden Flanken T1 oder T2 des Stoppbalkensignals
STOPB auf einem niedrigen Pegel ist, wechselt das Hochfrequenzbestimmungssignal
FREQ_HIGH vom hohen Pegel auf den niedrigen Pegel.
-
Wenn
die Betriebsfrequenz im normalen Bereich ist, wird wenigstens ein
Impuls des Auswahltaktsignals SEL_CLK während einer halben Periodendauer
erzeugt, d.h. während
einer Hochpegelperiode oder einer Niederpegelperiode des Taktsignals
XCLK. Das Auswahlsignal CAL_VAL wird gesetzt, um das Auswahltaktsignal
SEL_CLK wenigstens ein Mal während
einer halben Periodendauer des Taktsignals XCLK zu erzeugen, auch
wenn die Betriebsfrequenz eine höchste
Frequenz ist, d.h. eine hohe Referenzfrequenz im normalen Betrieb,
wenn also die halbe Periodendauer des Taktsignals XCLK die kürzeste Periodendauer
ist. Für
diese Funktionsweise ist eine Verzögerungszeitspanne Tphase zwischen
der Erzeugung der ansteigenden Flanke des Startsignals START und
der Erzeugung der ansteigenden Flanke des Auswahltaktsignals SEL_CLK
vorzugsweise kleiner oder gleich einer halben Periodendauer der
höchsten
Referenzfrequenz. Wenn eine Verzögerungszeitspanne
zwischen einer Flanke des Taktsignals XCLK und der Erzeugung der
ansteigenden Flanke des Startsignals START betrachtet wird, ist
die Summe der Verzögerungszeitspanne
zwischen der Flanke des Taktsignals XCLK und der Erzeugung des Startsignals
START und der Verzögerungszeitspanne
Tphase zwischen der Erzeugung des Startsignals START und der Erzeugung
der ansteigenden Flanke des Auswahltaktsignals SEL_CLK vorzugsweise
kleiner oder gleich der halben Periodendauer der hohen Referenzfrequenz.
-
Wie
oben ausgeführt
ist, wechselt auch das Hochfrequenzdetektionssignal HIGH_DET_SIG
auf den hohen Pegel und bleibt auf dem hohen Pegel, bevor es in
Reaktion auf das Rücksetzdetektionssignal RST_DET
zurückgesetzt
wird, da das Auswahltaktsignal SEL_CLK erzeugt und auf den hohen
Pegel wechselt, bevor das invertierte Stoppsignal STOPB nachfolgend
erzeugt wird. Entsprechend der Darstellung in 9A wird
das Hochfrequenzbestimmungssignal FREQ_HIGH kontinuierlich auf dem
hohen Pegel gehalten, was bedeutet, dass die Betriebsfrequenz im
normalen Bereich ist.
-
9B zeigt
die Funktionsweise der Bestimmungsschaltung 230, wenn die
Betriebsfrequenz höher als
der normale Bereich ist. Wenn eine Eingabefrequenz höher als
eine Frequenz im normalen Bereich ist, tritt keine ansteigende Flanke
des Auswahltaktsignals SEL_CLK während
der halben Periodendauer auf, d.h. während der Hochpegelperiode
oder der Niederpegelperiode des Taktsignals XCLK. Entsprechend wird
das Hochfrequenzdetektionssignal HIGH_DET_SIG kontinuierlich auf
einem niedrigen Pegel gehalten und daher wechselt das Hochfrequenzbestimmungssignal
FREQ_HIGH an der abfallenden Flanke T1 des invertierten Stoppsignals
STOPB auf den niedrigen Pegel.
-
9C zeigt
die Funktionsweise der Bestimmungsschaltung 230, wenn die
Betriebsfrequenz niedriger als der normale Bereich ist. Da die Betriebsfrequenz
niedrig ist, ist die halbe Periodendauer des Taktsignals XCLK sehr
lang. Entsprechend steigt und fällt
das Auswahltaktsignal SEL_CLK wiederholend mit einer kleineren Periodendauer
als die halbe Periodendauer des Taktsignals XCLK. Die ansteigenden
Flanken des Auswahltaktsignals SEL_CLK werden von einem nicht dargestellten
Zähler
innerhalb des in 8 dargestellten Niederfrequenzdetektors 820 gezählt. Wenn
ein Zählwert
CLK_CNT den maximalen Referenzwert erreicht, d.h. im dargestellten
Ausführungsbeispiel
den Wert „16", wechselt das Niederfrequenzbestimmungssignal FREQ_LOW
auf den niedrigen Pegel. Der Zählstand
CLK_CNT wird in Reaktion auf das Rücksetzdetektionssignal RST_DET
auf „0" zurückgesetzt.
-
Der
in 8 dargestellte Detektionssignalgenerator 830 erzeugt
das Frequenzdetektionssignal FREQDET mit niedrigem Pegel, wenn das
Hochfrequenzbestimmungssignal FREQ_HIGH und/oder das Niederfrequenzbestimmungssignal
FREQ_LOW auf einem niedrigen Pegel ist, und erzeugt das Frequenzdetektionssignal
FREQDET mit hohem Pegel, wenn das Hoch- und das Niederfrequenzbestimmungssignal
FREQ_HIGH und FREQ_LOW beide auf hohem Pegel sind. Wenn das Frequenzdetektionssignal
FREQDET auf dem niedrigen Pegel ist, ist die Betriebsfrequenz nicht
im normalen Bereich. Wenn das Frequenzdetektionssignal FREQDET auf
dem hohen Pegel ist, ist die Betriebsfrequenz im normalen Bereich.
-
10 zeigt
eine mögliche
Realisierung der in 2 dargestellten Steuerschaltung 240.
Die Steuerschaltung 240 setzt oder ändert das Auswahlsignal CAL_VAL,
um ein Signal aus der Mehrzahl von verzögerten Taktsignalen DCLK1 bis
DCLK15 auszuwählen,
die von der Taktsignalgeneratorschaltung 220 erzeugt werden. 11 zeigt
ein Zeitablaufdiagramm zur Darstellung der Funktionsweise der Steuerschaltung 240.
Die Funktionsweise der Steuerschaltung 240 wird nun unter
Bezugnahme auf die 10 und 11 erläutert.
-
Die
Steuerschaltung 240 umfasst ein Oszillatorfreigabeelement 1010,
einen Komparator 1020 und eine Einstellschaltung 1030.
Das Oszillatorfreigabeelement 1010 erzeugt ein RC-Oszillatorfreigabesignal
RCCLKENL zur Freigabe des RC-Oszillators 250, nachdem das
Einschaltrücksetzsignal
PORSL auf hohen Pegel freigegeben ist. Das RC-Oszillatorfreigabesignal RCCLKENL kann
in Reaktion auf das erste verzögerte
Taktsignal DCLK1 oder das Startsignal START erzeugt werden und ist
ein Freigabesignal mit einem niedrigen Pegel. Entsprechend be ginnt
der RC-Oszillator 250 in Reaktion auf eine abfallende Flanke
oder einen niedrigen Pegel des RC-Oszillatorfreigabesignals RCCLKENL
zu arbeiten und erzeugt ein Oszillatortaktsignal RCCLK. Eine halbe
Periodendauer oder eine Periodendauer des Oszillatortaktsignals
RCCLK wird kaum von Umgebungsbedingungen oder anderen Systemveränderungen
beeinflusst.
-
Wenn
der RC-Oszillator 250 nach einer vorbestimmten Zeitdauer
ab der Freigabe stabilisiert ist, erzeugt der Komparator 1020 ein
Vergleichssignal FREQTUNE, das nur während einer Periodendauer des
Oszillatortaktsignals RCCLK einen hohen Pegel aufweist. In anderen
Worten ausgedrückt,
eine Hochpegelperiode des Vergleichssignals FREQTUNE entspricht
einer Periodendauer TRC des Oszillatortaktsignals RCCLK.
-
Der
Komparator 1020 detektiert die Anzahl der verzögerten Taktsignale,
die von dem ersten bis fünfzehnten
verzögerten
Taktsignal DCLK1 bis DCLK15 mit der Hochpegelperiode des Vergleichssignals
FREQTUNE korrespondieren. Im Detail tastet der Komparator 1020 das
Vergleichssignal FREQTUNE unter Verwendung des ersten bis fünfzehnten
verzögerten
Taktsignals DCLK1 bis DCLK15 ab und überträgt ein Abtastergebnissignal
an die Einstellschaltung 1030. Bei diesem Ausführungsbeispiel
wird angenommen, dass die Hochpegelperiode TRC des Vergleichssignals
FREQTUNE 100ns lang ist. In diesem Fall ist, wenn ein Wert, der
durch Abtasten des Vergleichssignals FREQTUNE unter Verwendung des
ersten bis zehnten verzögerten Taktsignals
DCLK1 bis DCLK10 erhalten wird, ein hoher Pegel ist, und ein Wert,
der durch Abtasten des Frequenzdetektionssignals FREQDET unter Verwendung
des elften bis fünfzehnten
verzögerten
Taktsignals DCLK11 bis DCLK15 erhalten wird, ein niedriger Pegel
ist, die Verzögerungszeitspanne
von jeder der Verzögerungszellen 52-1 bis 52-15 gleich
10ns. Wenn die Verzögerungszeitspanne
von jeder Verzögerungszelle und
die höchste
Referenzfrequenz, d.h. die höchste
Frequenz im normalen Betriebsfre quenzbereich, bekannt sind, kann
das Auswahltaktsignal SEL_CLK ausgewählt werden.
-
Die
Einstellschaltung 1030 setzt das Auswahlsignal CAL_VAL
in Reaktion auf das Ausgabesignal des Komparators 1020,
und zwar unter Berücksichtigung
der halben Periodendauer des Taktsignals XCLK auf die hohe Referenzfrequenz.
Wenn beispielsweise eine höhere
Frequenz als 5MHz nicht im normalen Bereich liegt, ist die hohe
Referenzfrequenz 5MHz. Wenn ein Tastverhältnis des Taktsignals XCLK
bei der hohen Referenzfrequenz 50% ist, ist die halbe Periodendauer
des Taktsignals XCLK gleich 100ns. In diesem Fall kann die Einstellschaltung 1030 das
Auswahlsignal CAL_VAL so setzen, dass das zehnte verzögerte Taktsignal
DCLK10 als das Auswahltaktsignal SEL_CLK ausgegeben wird. Da die
Verzögerungszeit
von jeder Verzögerungszelle gleich
10ns ist, wird das zehnte verzögerte
Taktsignal DCLK10 ungefähr
100ns nach dem Startsignal START erzeugt.
-
In
einem Zustand, in dem die Hochpegelperiode des Vergleichssignal
FREQTUNE 100ns lang ist und die hohe Referenzfrequenz gleich 5MHz
ist, ist die Verzögerungszeitspanne
von jeder Verzögerungszelle gleich
20ns, wenn ein Wert, der durch Abtasten des Vergleichssignals FREQTUNE
unter Verwendung des ersten bis fünften verzögerten Taktsignals DCLK1 bis
DCLK5 erhalten wird, ein hoher Pegel ist, und ein Wert, der durch
Abtasten des Frequenzdetektionssignals FREQDET unter Verwendung
des sechsten bis fünfzehnten verzögerten Taktsignals
DCLK6 bis DCLK15 erhalten wird, ein niedriger Pegel ist. In diesem
Fall kann die Einstellschaltung 1030 das Auswahlsignal
CAL_VAL so setzen, dass das fünfte
verzögerte
Taktsignal DCLK5 als das Auswahltaktsignal SEL_CLK ausgegeben wird.
Es ist zu empfehlen, dass das Auswahlsignal CAL_VAL auch unter Berücksichtigung
von Verzögerungszeiten
von anderen Elementen außer
den Verzögerungszellen 52-1 bis 52-15 gesetzt
wird.
-
Wie
oben ausgeführt
ist, wird in einem erfindungsgemäßen Ausführungsbeispiel
die Verzögerungszeit der
Verzögerungszelle
basierend auf einer Periodendauer des Oszillatortaktsignals RCCLK
bestimmt, das vom RC-Oszillator 250 ausgegeben wird, und
das Auswahlsignal CAL_VAL wird entsprechend der Verzögerungszeitspanne
gesetzt, auch wenn die Verzögerungszeitspanne
einer jeden Verzögerungszelle
in der Taktsignalgeneratorschaltung 220 mit den Umgebungsbedingungen
variiert. Daraus resultiert, dass eine Frequenz unbeeinflusst von
Temperatur und anderen Umgebungsfaktoren genau detektiert werden
kann. Eine Frequenzdetektionsschaltung gemäß einem Ausführungsbeispiel
der Erfindung kann insbesondere für Halbleitervorrichtungen wie
integrierte Schaltungskarten, z.B. Smartcards, verwendet werden.
-
12 zeigt
ein erfindungsgemäßes Ausführungsbeispiel
einer Smartcard 1200 mit der in 2 dargestellten
Frequenzdetektionsschaltung 200. Die Smartcard 1200 umfasst
die Frequenzdetektionsschaltung 200, einen internen Oszillator,
d.h. den RC-Oszillator 250, und einen Prozessor 1210,
der nicht dargestellte Verarbeitungsvorgänge der Smartcard ausführt.
-
Wie
oben ausgeführt
ist, detektiert die Frequenzdetektionsschaltung 200, ob
die Frequenz des Taktsignals XCLK in einem normalen Bereich ist,
und erzeugt das Frequenzdetektionssignal FREQDET. Im oben beschriebenen
Ausführungsbeispiel
erzeugt die Frequenzdetektionsschaltung 200 das Frequenzdetektionssignal
FREQDET mit hohem Pegel, wenn die Frequenz des Taktsignals XCLK
im normalen Bereich ist, und sonst mit niedrigem Pegel.
-
Der
Prozessor 1210 wird in Reaktion auf das Frequenzdetektionssignal
FREQDET mit niedrigem Pegel zurückgesetzt.
-
Der
RC-Oszillator 250 beginnt in Reaktion auf das RC-Oszillatorfreigabesignal
RCCLKENL mit dem Betrieb und erzeugt das Oszillatortaktsignal RCCLK.
Allgemein weisen Smartcards einen eingebetteten Oszillator auf.
Das Oszillatortaktsignal RCCLK wird verwendet, um das Auswahlsignal
CAL_VAL zur Bestimmung des Auswahltaktsignals SEL_CLK zu setzen.
Das Auswahlsignal CAL_VAL kann gesetzt oder verändert werden, ohne den Betrieb
der Smartcard 1200 zu beeinflussen.
-
13 zeigt
ein Zeitablaufdiagramm zur Darstellung der Funktionsweise einer
herkömmlichen
Smartcard. Unter Bezugnahme auf 13 wird
das Taktsignal XCLK eingegeben, wenn eine vorbestimmte Zeitperiode
abgelaufen ist, nachdem das Einschaltrücksetzsignal PORSEL auf das
Einschalten hin auf einen hohen Pegel gesetzt wird. Eine Rücksetzung
wird freigegeben, wenn das Rücksetzsignal
RSTN nach einer vorbestimmten Zeitspanne TB auf hohen Pegel wechselt,
nachdem das Taktsignal XCLK eingegeben wurde. Die vorbestimmte Zeitspanne
TB ist wenigstens 400 Taktzyklen lang. Entsprechend ist während eines
normalen Zustands ausreichend Zeit vorhanden, bis das Rücksetzsignal
RSTN nach der durch die angelegte Energie erfolgte Freigabe des
Einschaltrücksetzsignals
PORSL freigegeben wird. Daher gibt während der vorbestimmten Zeitspanne
TB vorzugsweise die in der Frequenzdetektionsschaltung 200 enthaltene
Steuerschaltung 240 den RC-Oszillator 250 frei
und setzt das Auswahlsignal CAL_VAL unter Verwendung des Oszillatortaktsignals RCCLK.
Zusätzlich
kann die Steuerschaltung 240 das Auswahlsignal CAL_VAL
durch Freigabe des RC-Oszillators 250 mit einer vorbestimmten
Periodendauer einstellen.
-
Wie
oben ausgeführt
ist, kann die Zuverlässigkeit
und Genauigkeit der Frequenzdetektion bei beispielhaften Ausführungsformen
der Erfindung verbessert werden, da die Frequenz eines Taktsignals
jede halbe Periodendauer detektiert wird, d.h. während jeder Hoch-/Niederpegelperiode des
Taktsignals. Insbesondere kann die Frequenz auch dann genau detektiert
werden, wenn die Hochpegelperiode sich von der Niederpegelperiode
des Taktsignals unterscheidet. Zusätzlich können die Chipfläche und
der Energieverbrauch im Vergleich zu herkömmlichen Analogverfahren reduziert
werden, da die Frequenz auf eine digitale Art detektiert wird.