-
Diese
Erfindung bezieht sich auf die Impulsbreitenmodulation und insbesondere
auf einen logischen Aufbau, der wesentlich die Anzahl von erforderlichen
logischen Blöcken
und die Größe des Chips,
der die Impulsbreitenmodulationslogik enthält, verringert.
-
Typischerweise
wird für
die Impulsbreitenmodulation, die eine Impulsverzögerung (Digit Delay) verwendet,
ein logischer Aufbau mit zahlreichen logischen Blöcken, wie
beispielsweise D-Flip-Flops, benötigt.
In 1 nun ist ein logisches Diagramm nach dem Stand
der Technik gezeigt, das vier positive flanken-getriggerte D-Flip-Flops
verwendet, um ein Signal für
4 Taktzyklen zu verzögern.
In 2 sind Signale eines Takts C, ein Eingangssignal
D, und Ausgangssignale D1, D2,
D3 und D4, dargestellt.
Das Eingangssignal D wird, wie die 1 und 2 zeigen, an
ein DF1 angelegt, das gehalten werden wird,
bis die ansteigende Flanke t1 des Takts
C den Eingang D zu dem Ausgang D1 abschickt.
Als Folge wird der Eingang D um T' verzögert. D1 erreicht
DF2 kurz nachdem die ansteigende Flanke
t1 des Takts C DF2 erreicht.
Deshalb wird D1 zu dem nächsten Flip-Flop DF3 an der ansteigenden Flanke t2 des
Takts C geschickt. Als Folge ist die Verzögerung, die durch DF2 erzeugt ist, T, was gleich zu einem Taktzyklus
C ist. In derselben Art und Weise ist die Verzögerung, die jeweils durch DF3 und DF4 erzeugt
ist, gleich zu einer Periode T des Takts C.
-
Das
logische Blockdiagramm der 1 ist eine
typische Verzögerungs-Logik.
Die Verwendung dieses logischen Aufbaus erfordert eine Anzahl von Flip-Flops
gleich zu der erforderlichen Anzahl von Verzögerungen. Zum Beispiel werden,
wenn 32T Verzögerungen
erforderlich sind, 32 Flip-Flops benötigt. Dieser Aufbau kann sehr
groß werden,
wenn eine Verzögerung
von zum Beispiel bis zu 64T für
32 Leitungen benötigt
wird. Dies bedeutet, dass jede Leitung 64 Flip-Flops besitzt, was
zu insgesamt 32 × 64
= 2068 Flip-Flops führt.
-
Ein
anderer Typ eines Impulsmodulators, der Zählerketten einsetzt, ist aus
der
JP 06 197 562 A bekannt.
-
Es
ist eine Aufgabe dieser Erfindung, die Anzahl von Flip-Flops und
die Größe und die
Kosten eines Chips, der eine Impulsbreitenmodulationsschaltung mit
einer Vielzahl von Verzögerungs-Erfordernissen
enthält,
zu verringern.
-
Gemäß einem
Aspekt dieser Erfindung weist eine Impulsbreitenmodulationsschaltung
einen Taktteilerblock zum Aufnehmen eines Systemtakts und zum Erzeugen
einer Vielzahl von Takten mit unterschiedlichen Taktzyklen auf.
Ein Verzögerungsblock empfängt ein
Signal und verzögert
das Signal. Der Verzögerungsblock
besitzt eine Vielzahl von Verzögerungselementen.
Jedes der Vielzahl der Verzögerungselemente
nimmt einen der Vielzahl der Takte auf. Der Verzögerungsblock nimmt Verzögerungsdaten
auf und spricht auf die Verzögerungsdaten
zum Auswählen
einer Anzahl der Vielzahl der Takte basierend auf den Verzögerungsdaten
an und aktiviert die jeweiligen Verzögerungselemente. Der Verzögerungsblock
ist auch so aufgebaut und angeordnet, um zu bewirken, dass das Signal
durch die aktivierten Verzögerungselemente
hindurchführt
und an den nicht aktivierten Elementen im Bypass vorbeiführt.
-
Gemäß einem
anderen Aspekt dieser Erfindung weist eine Impulsbreitenmodulationsschaltung einen
Taktteilerblock zum Aufnehmen eines Systemtakts und zum Erzeugen
einer Vielzahl von Takten mit unterschiedlichen Taktzyklen auf.
Eine Vielzahl Verzögerungsblöcke empfängt ein
Signal und verzögert das
Signal entsprechend einer Vielzahl von Daten. Jeder Verzögerungsblock
besitzt eine Vielzahl von Verzögerungselementen.
Jedes der Vielzahl der Verzögerungselemente
jedes Verzögerungsblocks nimmt
einen der Vielzahl der Takte auf. Jeder der Vielzahl der Verzögerungsblöcke nimmt
einen der Vielzahl der Verzögerungsdaten
auf und spricht auf die entsprechenden Verzögerungsdaten zum Auswählen einer
Anzahl der Vielzahl der Takte basierend auf den Verzögerungsdaten
an und aktiviert die jeweiligen Verzögerungselemente. Jeder der
Verzögerungsblöcke ist
so aufgebaut und angeordnet, um zu bewirken, dass das Signal durch
die jeweiligen aktivierten Verzögerungselemente
hindurchführt
und an den jeweiligen nicht aktivierten Verzögerungselementen im Bypass
vorbeiführt.
-
Ausführungsformen
der vorliegenden Erfindung werden nun anhand eines Beispiels unter
Bezugnahme auf die beigefügten
Zeichnungen beschrieben, in denen:
-
1 stellt
eine D-Flip-Flop-Logik nach dem Stand der Technik dar, die für 4 Takt-Zyklus-Verzögerungen
erforderlich ist;
-
2 stellt
einen Takt, ein Eingangssignal und eine Vielzahl von Ausgangssignalen,
die an den logischen Aufbau der 1 angelegt
werden, dar;
-
3 stellt
ein Blockdiagramm der Verzögerungslogik
dieser Erfindung dar;
-
4 stellt
ein Detail-Blockdiagramm des Takt-Teilers der 3 dar;
-
5 stellt
unterschiedliche Perioden von Takten der 3 dar;
-
6 stellt
ein logisches Diagramm einer der Verzögerungsblöcke dar;
-
7 stellt
die Signale der 6 für eine Verzögerung von 35T dar;
-
8 stellt
das logische Diagramm der 6 mit der
Hinzufügung
von Reset-Verbindungen dar;
-
9 stellt
dar, wie die Verzögerungs-Logik der 3 eine
Impulsbreitenmodulation erzielt; und
-
10 stellt
eine alternative Impulsbreitenmodulation durch Verzögern der
entgegengesetzten Flanke des Eingangsimpulses dar.
-
In 3 nun
ist ein Blockdiagramm der Verzögerungslogik 10 dieser
Erfindung dargestellt. Ein Blockteiler CD teilt, in 3,
den Systemtakt CLK und erzeugt 6 Takte C1,
C2, C3, C4, C5 und C6 mit Perioden von T, 2T, 4T, 8T, 16T und
32T und schickt sie zu den Verzögerungs-Logik-Blöcken DL1-DL32 unterschiedlicher
Leitungen.
-
Das
Flip-Flip DF1 verzögert, wie wiederum die 1 und 2 zeigen,
das Signal D um T',
da die ansteigende Flanke zwischen den zwei ansteigenden Flanken
des Takts C auftritt. Um eine Teilverzögerung zu verhindern, ist,
in 3, das Flip-Flop F0 in
dem Pfad des Systemtakts CLK zu dem Takt-Teiler CD angeordnet. Der
D-Eingang des Flip-Flops F0 ist mit VDD
verbunden, um fortlaufend den D-Eingang des Flip-Flops F0 auf hoch (1) zu halten. Der positive Ausgang
(Q) von F0 ist mit dem Takt-Teiler CD verbunden.
Der Eingangsimpuls, der verzögert
werden muss, ist mit der Reset-Leitung des F0 über einen
Invertierer I0 verbunden. Der Takteingang
des Flip-Flops F0 nimmt den Systemtakt CLK auf.
-
Im
Betrieb hält
das Flip-Flop F0 den Systemtakt CLK, bis
es die ansteigende Flanke von IP empfängt, was das Reset des Flip-Flops
F0 deaktiviert. Dann schickt F0 den
Systemtakt als einen synchronisierten Takt CLKS zu
dem CD-Block ab. Da CLKS mit dem Eingangsimpuls
IP synchronisiert ist, wird der Eingangsimpuls IP volle Verzögerungen
aufnehmen.
-
In 4 nun
ist ein Detail-Blockdiagramm des Takt-Teilers CD der 3 dargestellt.
Der System-Reset-Eingangsimpuls IP wird, in 4, zu dem Reset-Stift
der Flip-Flops F1, F2,
F3, F4 und F5 über
einen Invertierer I11 geschickt. Der synchronisierte
Systemtakt CLKS und der Eingangsimpuls IP
werden zu einem UND-Gatter A1 geschickt,
um einen rücksetzbaren
Takt C1 mit derselben Periode wie der synchronisierte
Systemtakt CLKS zu erzeugen. Fünf Flip-Flops
F1, F2, F3, F4 und F5 werden, um den Takt C1 zu
teilen, verwendet. C1 wird zu F1 als
ein Takt geschickt. Der negative Ausgang (QB) jedes der Flip-Flops
F1, F2, F3, F4 und F5 ist mit seinem Eingang verbunden. Dieser
Aufbau bewirkt, dass jedes Flip-Flop F1,
F2, F3, F4 und F5 seinen Takt
durch 2 teilt. Der positive Ausgang (Q) jedes Flip-Flops F1, F2, F3, F4 und F5 ist mit
dem Takt des folgenden Flip-Flops verbunden. Zusätzlich wird jeweils der positive
Ausgang der Flip-Flops F1, F2,
F3, F4 und F5 als Takte C1, C2, C3, C4,
C5 und C6 abgeschickt.
-
Da
jedes Flip-Flop F1, F2,
F3, F4 und F5 seinen Takt durch 2 teilt und ihn auf seinem
positiven Ausgang abschickt, besitzt C2 eine
Periode zweimal seines Eingangstakts. Da die Periode des Takts C1 gleich zu der Periode T des synchronisierten
Systemtakts CLKS ist, ist T2 die Periode
des Takts C2. In derselben Art und Weise
sind 4T, 8T, 16T und 32T die Perioden der Takte C3,
C4, C5 und C6, wie dies in 5 dargestellt
ist.
-
Takte
C1, C2, C3, C4, C5 und
C6 werden, wie wiederum 3 zeigt,
zu allen Verzögerungsblöcken DL1-DL32 geschickt,
wo jeder Verzögerungsblock eine
Kombination der Takte C1, C2,
C3, C4, C5 und C6 auswählt, um
eine erforderliche Verzögerung
zu erzeugen. Jeder Verzögerungsblock
DL1-DL32 nimmt den
Eingangsimpuls IP und einen Verzögerungswert V1-V32 mit sechs Bits
auf. Unter Verwendung von Takten C1, C2, C3, C4,
C5 und C6 verzögert jeder
Verzögerungsblock
DL1-DL32 den Eingangsimpuls
IP entsprechend seinem jeweiligen Verzögerungswert V1-V32 und schickt ihn auf seinem Ausgang OUT1-OUT32 jeweils ab.
-
In 6 ist
ein logisches Diagramm eines Verzögerungsblocks DL1 dargestellt.
Es sollte angemerkt werden, dass die Verzögerungsblöcke DL2-DL32 identisch zu DL1 sind.
In dem Verzögerungsblock
DL1 sind sechs D-Flip-Flops FF1,
FF2, FF3, FF4, FF5, FF6 vorhanden. Die Takt-Eingänge der Flip-Flops
FF1, FF2, FF3, FF4, FF5, FF6 sind mit den Takten
C6, C5, C4, C3, C2 und
C1 jeweils verbunden.
-
Der
positive Ausgang jedes Flip-Flops FF1, FF2, FF3, FF4 und FF5 ist mit
dem Eingang des folgenden Flip-Flops über Schalter SS1,
SS2, SS3, SS4 und SS5 jeweils
verbunden. Der positive Ausgang des Flip-Flops FF6 ist
mit dem Ausgang OUT1 der Verzögerungsleitung
1 über
den Schalter SS6 verbunden. Der Eingang
jedes Flip-Flops FF1, FF2,
FF3, FF4, FF5, FF6 ist mit dem
Eingang des folgenden Flip-Flops über Schalter S1,
S2, S3, S4, S5 und S6 jeweils verbunden.
-
Jeder
Verzögerungsblock
DL1-DL32 der 3 nimmt
einen separaten Verzögerungswert über V1-V32 jeweils auf.
Jeder V1-V32 besitzt
sechs Bits B1, B2,
B3, B4, B5 und B6, die eine
Zahl zwischen 0 bis 63 liefern. B1, B2, B3, B4,
B5 und B6 sind direkt
mit den Steuerstiften der Schalter SS1,
SS2, SS3, SS4, SS5 und SS6 jeweils verbunden und sind mit den Steuerstiften
der Schalter S1, S2,
S3, S4, S5 und S6 über Invertierer
I1, I2, I3, I4, I5 und
I6 jeweils verbunden.
-
In 6 schließt sich
zu jedem Zeitpunkt, zu dem eines der Bits B6,
B5, B4, B3, B2 und B1 hoch (1) ist, sein jeweiliger Schalter
SS1, SS2, SS3, SS4, SS5 und SS6. Zum Beispiel
schließt
sich, wenn 84 hoch (1) ist, der Schalter SS3 und
verbindet den positiven Ausgang von FF3 mit
dem Eingang von FF4. Allerdings schließt sich
zu jedem Zeitpunkt, zu dem eines der Bits B6,
B5, B4, B3, B2 und B1 niedrig (0) ist, sein jeweiliger Schalter
S1, S2, S3, S4, S5 und
S6. Zum Beispiel schließt sich, wenn B4 niedrig
(0) ist, Schalter S3 und verbindet den Eingang
von FF3 mit dem Eingang von FF4.
Mit anderen Worten wird dann, wenn eines der Bits B6,
B5, B4, B3, B2 und B1 hoch (1) ist, der Ausgang des vorherigen
Flip-Flops zu dem Eingang des nachfolgenden Flip-Flops zugeführt, allerdings
wird, wenn er niedrig (0) ist, das vorherige Flip-Flop umgangen
und sein Eingang wird zu dem Eingang des nächsten Flip-Flops zugeführt.
-
Mit
dem Aufbau der 6 wählen die hohen (1) Bits B6, B5, B4,
B3, B2 und B1 die geeignete Verzögerung aus. Zum Beispiel bedeutet,
wenn die sechs Bits B6, B5,
B4, B3, B2 und B1 100011 darstellen,
dies, dass eine 32 + 2 + 1 = 35 Verzögerung benötigt wird. Da B6 (1)
ist, schließt
sich der Schalter SS1 und das Flip-Flop
FF1 wird aktiv. Deshalb wird der Eingang des
Flip-Flops FF1 um 32T verzögert, da
FF1 durch den Takt C6 getaktet
wird, der einen Taktzyklus von 32T besitzt. Es sollte angemerkt
werden, dass der Eingang des Flip-Flops FF1 der
Eingangsimpuls IP ist, der verzögert
werden muss. Da Bits B5, B4 und
B3 Null sind, schließen sich die Schalter S2, S3 und S4, umgehen die Flip-Flops FF2,
FF3 und FF4 und
führen den
Ausgang des Flip-Flops FF1 zu dem Eingang
von FF5 zu.
-
Da
die Bits B2 und B1 hoch
(1) sind, schließen sich
beide Schalter SS5 und SS6 und
aktivieren die Flip-Flops FF5 und FF6. Da das Flip-Flop FF5 den
Takt C2 aufnimmt, verzögert es seinen Eingang (Ausgang von
FF1, der um 32T verzögert wird) um 2T. Deshalb wird
der Ausgang des Flip-Flops FF5 um 32T +
2T = 34T verzögert.
Das Flip-Flop FF6 verwendet den Takt C1, der eine Verzögerung von T besitzt. Darauf
folgend verzögert
das Flip-Flop FF6 den Ausgang von FF5 um T. Deshalb liefert der Ausgang des Flip-Flops FF6, der über
den Schalter SS6 mit OUT1 verbunden ist,
ein Signal mit einer 35T Verzögerung.
Das Ergebnis ist in 7 dargestellt.
-
Beim
Einschalten können
die Ausgänge
der Flip-Flops FF1, FF2,
FF3, FF4, FF5 und FF6 in einem unbeachteten
Zustand (unbekannten) Zustand sein. Um irgendeinen Fehler in der
Verzögerungsschaltung
zu verhindern, müssen
die Flip-Flops FF1, FF2, FF3, FF4, FF5 und FF6 einen Reset
aufnehmen.
-
In 8 ist
ein logisches Diagramm der 6 mit der
Hinzufügung
von Reset-Verbindungen dargestellt.
Jedes Flip-Flop FF2, FF3,
FF4, FF5 und FF6 empfängt
ein Rest-Signal
von einem von zwei Schaltern (S1A und S1B), (S2A und S2B), (S3A und S3B), (S4A und S4B) und (S5A und
S5B) jeweils. Die Steuerstifte der Schalter
S1B, S2B, S3B, S4B und S5B sind jeweils mit B6,
B5, b4, B3 und B2 verbunden.
Allerdings sind die Steuerstifte der Schalter S1A,
S2A, S3A, S4A und S5A mit B6, B5, B4,
B3 und B2 jeweils über Invertierer
I1, I2, I3, I4 und I5 verbunden. Der negative Ausgang (QB) der
Flip-Flops FF1, FF2,
FF3, FF4 und FF5 ist mit dem Reset-Stift der Flip-Flops
FF2, FF3, FF4, FF5 und FF6 über
Schalter S1B, S2B,
S3B, S4B und S5B verbunden. Weiterhin sind die Eingänge der
Flip-Flops FF1, FF2, FF3, FF4 und FF5 mit dem Reset-Stift der Flip-Flops FF2, FF3, FF4, FF5 und FF6 über
Invertierer und Schalter (II1 und S1A), (II2 und S2A), (II3 und S3A), (II4 und S4A) und (II5 und
S5A) jeweils verbunden. Das Flip-Flop FF1 wird durch das Eingangssignal IP über den
Invertierer II1 zurückgesetzt.
-
Beim
Einschalten wird, wenn das Eingangssignal IP niedrig (0) ist, wenn
ein Flip-Flop aktiv wird, zum Beispiel FF1,
der Eingangs-Impuls IP (0) zu dem positiven Ausgang (Q) geschickt.
Deshalb wird der Ausgang (QP) (1), und setzt das nachfolgende Flip-Flop
FF2 über
S1B zurück.
Zu jedem Zeitpunkt, zu dem ein Flip-Flop umgangen wird, zum Beispiel
FF1, dann wird sein Eingang (Eingangsimpuls
0) das nachfolgende Flip-Flop FF2 über II1 und S1A zurückgesetzt.
Als Folge wird, wenn das Eingangssignal niedrig ist, der Verzögerungsblock
DL1 zurückgesetzt werden
und OUT1 wird 0. Wenn das Eingangssignal IP
hoch (1) wird, dann erzeugt das logische Diagramm der 8 Verzögerungen,
so wie dies für
das logische Diagramm der 6 beschrieben
ist.
-
Jede
Leitung wird, wie 9 zeigt, dann, wenn ein Eingangssignal
IP mit einer ansteigenden Flanke bei t1 und
einer abfallenden Flanke bei t2 zu der Verzögerungslogik 10 der 3 geschickt
wird, die ansteigende Flanke desselben Eingangsimpulses IP mit einem
unterschiedlichen Verzögerungswert
verzögern.
Deshalb verzögern
die Ausgangsleitungen OUT1, OUT2 und
OUT32 die ansteigende Flanke von IP und
schicken sie bei t11, t13 und
t12 jeweils ab. Allerdings werden, wenn
die abfallende Flanke des Eingangsimpulses IP bei t2 in
die Logik 10 eintritt, alle Ausgänge OUT1,
OUT2 und OUT32 0
werden. Es sollte angemerkt werden, dass jede Leitung eine unterschiedliche
Verzögerung
haben kann, und deshalb kann jeder Ausgang eine geringere oder eine
größere Verzögerung als
dasjenige, was dargestellt ist, haben. Die Verzögerungslogik 10 liefert
eine Impulsbreitenmodulation, da jede Leitung ein Signal mit einer
ansteigenden Flanke abschickt, die einen unterschiedlichen Zeitpunkt
besitzt, allerdings eine abfallende Flanke gleichzeitig mit der
abfallenden Flanke der Signale der anderen Ausgänge OUT1-OUT32 besitzt. Als Folge wird die Breite jedes
Ausgangsimpulses durch seinen jeweiligen Verzögerungswert V1-V32 bestimmt.
-
Das
logische Diagramm der 3 ist so ausgelegt, um 0–64T Verzögerungen
für jedes
Signal von 32 Leitungen zu erzeugen. Allerdings kann das Konzept
dieser Erfindung auf eine unterschiedliche Anzahl von Verzögerungen
bei einer unterschiedlichen Anzahl von Leitungen angewandt werden.
-
In 10 ist
eine alternative Impulsbreitenmodulation dieser Erfindung dargestellt.
In 10 wird der Eingangsimpuls IP über einen Invertierer IIN vor Anlegen an einen Block DL1 invertiert
und der Ausgang OUT1 von DL1 wird
mit dem Invertierer IOUT verbunden. In 10 wird
die ansteigende Flanke des Eingangsimpulses IP bei t1 den
DL1 Block zurücksetzen und die abfallende
Flanke des Eingangsimpulses t2 wird verzögert werden.
Deshalb schickt IOUT ein Signal mit einer
ansteigenden Flanke bei t2 und mit einer
abfallenden Flanke bei t21 (die verzögerte, abfallende
Flanke des Eingangsimpulses IP) ab. Wenn diese Inversion bei allen
Blöcken
DL1-DL32 der 3 angewandt
wird, wird dies zu einer Impulsbreitenmodulation durch gleichzeitiges
Abschicken der ansteigenden Flanke des Eingangsimpulses und ein Verzögern der
abfallenden Flanke des Eingangsimpulses IP entsprechend deren jeweiliger
Verzögerungswerte
V1-V32 führen.
-
Jeder
Verzögerungsblock
DL1-DL32 besitzt, wie
wiederum 3 zeigt, sechs Flip-Flops (6 und 7)
und ein Taktteilungsblock CD besitzt fünf Flip-Flops. Deshalb besitzt
das logische Diagramm der 3 (32 × 6) + 5
= 197 Flip-Flops im Gegensatz zu 2068 Flip-Flops des Stands der
Technik. Die angegebene Ausführungsform
dieser Erfindung verringert wesentlich die Anzahl von Flip-Flops,
des Silizium-Einsatzes, der Größe des bestückten Chips
und die Endkosten des Systems unter Verwendung dieses Chips.
-
Es
sollte angemerkt werden, dass zahlreiche Änderungen in den Details des
Aufbaus und der Kombinationen und der Anordnung der Elemente vorgenommen
werden können,
ohne die Erfindung, wie sie hier beansprucht ist, zu verlassen.