-
Die vorliegende Erfindung betrifft
eine Oszillatorschnittstelle zur Verwendung in Leistungsverwaltungssystemen.
-
Vorherige Leistungsverwaltungssysteme
zur Verwendung bei integrierten Schaltungs- (IC) Chips waren in
ihrer Fähigkeit,
konfiguriert zu werden, begrenzt. Folglich besteht ein Bedarf für ein Leistungsverwaltungssystem,
das konfigurierbar ist.
-
Der Stand der Technik wird durch
das Dokument WO 93/10493 dargestellt, das eine Oszillatorschnittstelle
zur Verwendung in einem Leistungsverwaltungssystem offenbart, mit
einer Schnittstellenschaltung zum Koppeln mit einem externen Oszillator,
der als Schwingungsquelle verwendet wird; einem Taktstabilisationsfilter
zum Ausblenden von störenden
Frequenzen in den Schwingungen während
des Starts des Leistungsverwaltungssystems, wobei das Taktstabilisationsfilter
eine Schaltung aufweist, die dafür
sorgt, dass die Schwingungen mit einem steigenden Übergang
nach dem Filtern beginnen; einer selektiv betätigbaren Überbrückungsschaltung zum Aktivieren
des Taktstabilisationsfilters, wenn der externe Oszillator ein Oszillator
ist, der zum Schwingen betriebsfähig
ist, wenn ein Kristall in eine aktivierte Rückkopplungsschleife eingesetzt
ist, und zum Überbrücken des
Taktstabilisationsfilters, wenn der externe Oszillator ein Hülsenoszillator
ist; einer Ausblendschaltung, die die Schwingungen aus dem Rest
des Leistungsverwaltungssystems ausblendet, wobei die Ausblendschaltung
eine Schaltung aufweist, die die Taktausblendung nach einer fallenden
Flanke der Schwingungen deaktiviert und mit einem steigenden Übergang
der Schwingungen wieder startet; und einer internen Takterzeugungsschaltung,
die mit einem Ausgang der Schnittstellenschaltung gekoppelt ist
und zum Erzeugen von internen Takten angeordnet ist.
-
Die Erfindung ist dadurch gekennzeichnet,
dass die interne Quellentakt-Erzeugungsschaltung einen synchronen
Zähler
mit einer synchronen Last und einem asynchronen Löschen, wobei
der synchrone Zähler eine
Vielzahl von Zählausgangssignalen
aufweist; einen ersten Multiplexer, der mit dem synchronen Zähler gekoppelt
ist, zum Empfangen der Vielzahl von Zählausgangssignalen, wobei der
erste Multiplexer zwei Ausgänge
aufweist; einen zweiten Multiplexer, der mit dem ersten Multiplexer
gekoppelt ist, wobei der zweite Multiplexer einen Ausgang aufweist;
einen Flip-Flop, der mit dem Ausgang des zweiten Multiplexers gekoppelt
ist; und einen Takt, der mit dem Takt des externen Oszillators in
Beziehung steht, zum Abtasten eines Ausgangssignals des Flip-Flops
umfasst.
-
Ein besseres Verständnis der
Merkmale und Vorteile der vorliegenden Erfindung wird durch Bezugnahme
auf die folgende ausführliche
Beschreibung und die zugehörigen
Zeichnungen erhalten, die ein erläuterndes Beispiel darlegen,
in dem die Prinzipien der Erfindung verwendet werden.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm, das ein Leistungsverwaltungssystem darstellt.
-
2 ist
ein Blockdiagramm, das ein System darstellt, das das in 1 gezeigte Leistungsverwaltungssystem
beinhaltet.
-
3 ist
ein schematisches Diagramm, das die in 1 gezeigte Konfigurationseinheit darstellt.
-
4 ist
ein schematisches Diagramm, das die in 1 gezeigte Schnittstelle des externen
Oszillators darstellt.
-
5A ist
ein schematisches Diagramm, das den in 1 gezeigten Leistung-Gut-Qualifikationsblock darstellt.
-
5B ist
ein Zustandsdiagramm, das den Betrieb des in 5A gezeigten Leistung-Gut-Qualifikationsdiagramms
darstellt.
-
6 ist
ein schematisches Diagramm, das den in 1 gezeigten Kontaktstellentakt- und Selbstprüfblock darstellt.
-
7A und 7B sind schematische Diagramme,
die den in 1 gezeigten
Taktfreigabeblock darstellen.
-
8 und 9 sind schematische Diagramme,
die den in 1 gezeigten
Leistungspegel-Erfassungsblock darstellen.
-
10 ist
ein schematisches Diagramm, das den in 1 gezeigten internen Quellentakterzeugungsblock
darstellt.
-
11 ist
ein schematisches Diagramm, das den in 1 gezeigten Leistungssparmodus-Änderungserfassungsblock
darstellt.
-
AUSFÜHRLICHE
BESCHREIBUNG DES BEVORZUGTEN AUSFÜHRUNGSBEISPIELS
-
Mit Bezug auf 1 ist ein Leistungsverwaltungssystem 30 dargestellt.
Mit Bezug auf 2 ist
das Leistungsverwaltungssystem 30 ideal, um im System 32 implementiert
zu werden. Das System 32 ist im Datenblatt mit dem Titel "Elentari Optimized
32-bit 486-class Controller With On-chip Peripherals for Embedded Systems", verfasst von der
National Semiconductor Corporation in Santa Clara, Kalifornien,
beschrieben. Das System 32 umfasst eine CPU 34,
eine DMA-Steuereinheit 36, eine DRAM-Speicher-Steuereinheit 38,
eine PCMCIA-Steuereinheit 40, eine Busschnittstelleneinheit
(BIU) 42, einen parallelen ECP-Anschluss 44, eine LCD-Steuereinheit 46 sowie
andere Komponenten. Obwohl das Leistungsverwaltungssystem 30 zur
Integration in das System 32 ideal ist, sollte es durchaus
selbstverständlich
sein, dass eine solche Integration keine Anforderung der vorliegenden
Erfindung ist und dass die Lehren der vorliegenden Erfindung auf
kleinere (oder größere) eigenständige Anwendungen
angewendet werden können.
-
Das Leistungsverwaltungssystem 30 umfasst
eine Anzahl von Leistungssparmechanismen, die kombiniert werden
können,
um unter einer Vielzahl von Systembedingungen umfassende Leistungseinsparungen zu
erzielen. Zuallererst kann der Leistungsverbrauch des Kernprozessors 34 durch
Verändern
der-Prozessor/System-Taktfrequenz gesteuert werden. Der interne
CPU-Takt kann durch 4, 8, 16, 32 oder 64 geteilt werden. Außerdem wird
der interne Prozessortakt im Leerlaufmodus deaktiviert. Wenn eine
Kristalloszillatorschaltung oder ein externer Oszillator verwendet
wird, kann er außerdem
deaktiviert werden. Für
maximale Leistungseinsparungen können
alle internen Takte deaktiviert werden (selbst der Echtzeit-Taktoszillator).
-
Einige Peripheriegeräte, vor
allem der Zeitgeber 48 und die PCMCIA-Schnittstelle 40,
können
zwischen einer festen Frequenz (externer Oszillator/2) und dem CPU-Takt
umgeschaltet werden. Wenn der CPU-Takt geteilt wird, kann dies ihren
Leistungsverbrauch verringern. Man beachte, dass die Takte für andere Peripheriegeräte auf der
Platine individuell oder global gesteuert werden können. Durch
Setzen von Bits in den Leistungsverwaltungs-Steuerregistern (nachstehend
erörtert)
können
die internen Takte für
die DMA-Steuereinheit 36, den ECP-Anschluss 44,
die dreidrähtige
Schnittstelle 50, den Zeitgeber 48, die LCD-Steuereinheit 46,
die DRAM-Steuereinheit 38, die PCMCIA-Steuereinheit 40 und den UART 52 deaktiviert
werden. Außerdem
kann das Leistungsverwaltungssystem 30 zur Verwendung von
CMOS-Pegel-E/As oder TTL-Pegel-E/A-Einstellungen im System 32 programmiert
werden. Schließlich
kann der externe SYSCLK über
ein Bit im Leistungsverwaltungs-Steuerregister deaktiviert werden.
-
Das Leistungsverwaltungssystem 30 umfasst
mehrere Betriebsarten, die hier in der Reihenfolge abnehmenden Leistungsverbrauchs
aufgelistet werden (d. h. volle Leistung bis geringste Leistung).
Im normalen Modus liegen alle Takte auf voller Geschwindigkeit,
wobei der Zeitgeber, PCMCIA, SYSCLK mit cpu dock oder dem externen
OSC/2 verbunden sind und der UART, die DRAM-Auffrischungslogik und
die LCD-Steuereinheit mit OSC dock verbunden sind und der RTC mit
RTC_osc verbunden ist. Im Leistungssparmodus wird zuerst der CPU-Takt
durch 4, 8, 16, 32 oder 64 geteilt, wobei der Zeitgeber, PCMCIA,
SYSCLK mit dem externen OSC/2 verbunden sind, der UART, die DRAM-Logik
und die LCD-Steuereinheit mit OSC verbunden sind und der RTC mit
RTC_osc verbunden ist. Zweitens wird der CPU-Takt durch 4, 8, 16,
32 oder 64 geteilt, wobei der Zeitgeber, PCMCIA, SYSCLK mit cpu_clk
verbunden sind, der UART, die DRAM-Logik und die LCD-Steuereinheit
mit OSC verbunden sind und der RTC mit RTC_osc verbunden ist. Im
Peripheriegeräte-Abschaltmodus können die
einzelnen Peripheriegeräte
deaktiviert werden. Im Leerlaufmodus wird der CPU-Takt deaktiviert, wobei
alle Peripheriegeräte
unbeeinflusst sind und die RTC mit RTC_osc verbunden ist. Im Kristalloszillatorschaltungs-Deaktivierungs/Abschalt-Modus
deaktiviert dieser Modus zuerst, wenn eine Kristalloszillatorschaltung
verwendet wird, um das System 32 anzusteuern, die Oszillatorschaltung
(ANMERKUNG nachdem sie wieder eingeschaltet wird, dauert es ungefähr 1 ms,
bis sich der externe Kristall stabilisiert). Wenn ein externer Oszillator
verwendet wird, deaktiviert der Abschaltmodus zweitens alle Takte
des Systems 32 abgesehen vom RTC_osc. (ANMERKUNG: Dies
ist nach der Wiederherstellung viel schneller, da keine Stabilisationsverzögerung besteht).
Es sollte beachtet werden, dass der RTC-Oszillator selbst während des
Abschaltmodus immer aktiviert ist; er kann, falls erwünscht, deaktiviert
werden.
-
Das folgende gibt an, welche Peripheriegeräte mit welchen
Takten verbunden sind und wie diese Takte deaktiviert/aktiviert
werden können.
Die CPU 34: 1) Verwendet cpu_clk (Takt mit voller Geschwindigkeit
= OSC_CLK/2); 2) cpu_clk kann durch 4, 8, 16, 32 oder 64 geteilt
werden; 3) Im Leerlaufmodus wird der Takt deaktiviert. Der Zeitgeber 48,
PCMCIA 40, SYSCLK: 1) verwendet cpu_clk (volle Geschwindigkeit
oder durch 4, 8, 16, 32 oder 64 geteilt); 2) oder kann den externen
OSC_CLK/2 verwenden (wenn cpu_clk geteilt wird); 3) kann individuell
deaktiviert werden. Der UART 52, die DRAM-Auffrischungslogik,
die LCD-Steuereinheit 46: 1) Verbunden mit OSC; 2) kann
individuell deaktiviert werden. Der ECP 44 und die dreidrähtige serielle
Schnittstelle 50: 1) Verbunden mit OSC_CLK/2; 2) kann individuell
deaktiviert werden. Die DMA-Steuereinheit 36 und Busschnittstelleneinheit 42:
1) Verwendet cpu_clk (volle Geschwindigkeit oder geteilt). Die DRAM-Steuereinheit 38:
1) Muss OSC_CLK für
DRAM-Auffrischungszyklen verwenden; 2) Die Folgesteuerungseinheit
kann auswählbar
cpu_clk oder 2*cpu_clk verwenden; 3) Muss für die Zustandsmaschinenlogik
cpu_clk verwenden. Der Echtzeittakt: 1) Verwendet RTC_ose – typischerweise
immer aktiviert, aber er kann über
die RTC-Schnittstelle
deaktiviert werden. Die globale Deaktivierung/Aktivierung des peripheren
Takts 1) Steuert die DMA-Steuereinheit, den ECP, die dreidrähtige Schnittstelle
und den URRT.
-
Das Leistungsverwaltungssystem 30 umfasst
mehrere Leistungsverwaltungsmodi. Die Leistungssparmerkmale umfassen
die folgenden. Im Leerlaufmodus wird der interne Takt für die CPU 34 deaktiviert.
Alle aktivierten Peripheriegerätblöcke arbeiten
weiter. Irgendeine Unterbrechung oder ein Rücksetzen reaktiviert den internen
Takt für
die CPU 34. Es sollte beachtet werden, dass, wenn sich
die CPU 34 im Leerlaufmodus befindet, der Befehlscache
nicht abhören
kann. Normalerweise hört
der Cache die Adressen ab, um festzustellen, ob eine Cacheadresse
aktualisiert wird. Wenn dies der Fall ist, räumt er den Cache. Daher kann
der Benutzer die entsprechende Handlung unternehmen, wenn sich die
CPU 34 im Leerlauf befindet. Wenn sich die CPU 34 im
Leerlaufmodus befindet, wird auch festgelegt, dass die BIU 42 die
CPU 34 während
DMA-Austauschen zwischen
Speicher und Peripheriegeräten
nachahmt. Durch Reagieren auf DRQs und Erzeugen von DACKs-, HOLDs-
und HOLDAs-Signalen nach Bedarf beseitigt die BIU 42 den
Bedarf, die CPU 34 während
solcher Übertragungen
wie Bildschirmaktualisierungen vom Speicher zur LCD-Steuereinheit 46 zu
reaktivieren. Dies gibt dem Konstrukteur zusätzliche Flexibilität beim Bewahren
von Leistung, während
die Grundsystemfunktionen beibehalten werden.
-
Ein Leistungssparmodus verringert
die Frequenz des internen Takts der CPU 34/des Systems
durch Teilen des internen CPU-Takts
durch 4, 8, 16, 32 oder 64 (Siehe Leistungsverwaltungsregister 1
für mehr
Information). Die internen Takte für den UART 52, die
DRAM-Auffrischungslogik,
die LCD-Steuereinheit 46 und den RTC sind in diesem Modus
unbeeinflusst. Der Zeitgeber, PCMCIA und SYSCLK weisen alle auswählbare Taktquellen
zwischen einer festen Frequenz, die der externe Oszillator/2 ist,
und cpu_clk auf. Nur wenn eine cpu_clk-Quelle ausgewählt wird,
werden diese Takte durch den Leistungssparmodus beeinflusst.
-
Die Kristalloszillatorschaltungs-Deaktivierungsfunktion
deaktiviert das Rückführungsausgangssignal der
Kristalloszillatorschaltung (d. h. bringt OSCX2 auf einen niedrigen
Pegel). Normalerweise wird das Rückführungsausgangssignal
verwendet, um eine Rückführung mit
hoher Verstärkung
zu einem externen Kristall zu liefern, um eine Bezugsschwingung
vom Kristall zu starten, zu stabilisieren und aufrechtzuerhalten.
Wenn die Rückführung deaktiviert
wird, stoppt die Schwingung. Nachdem das Rückführungsausgangssignal reaktiviert
wird, dauert es ungefähr
1 ms, bis der externe Kristall startet und sich stabilisiert. Auf
dem Chip befinden sich ein Tiefpassfilter und ein Zähler, um
sicherzustellen, dass keine der Start- und Stabilisationsschwingungen in
den Rest des Chips gelangen können.
Wenn ein externer TTL- oder CMOS-Oszillator verwendet wird, dann kann
das Rückführungsausgangsignal
deaktiviert werden, um Leistung zu sparen. Das Tiefpassfilter und
der Zähler
können
auch durch Setzen des Bit 7 des Leistungsverwaltungs-Konfigurationsregisters
4 überbrückt werden.
Diese letztere Handlung kann nützlich
sein, wenn ein externer TTL- oder CMOS-Oszillator verwendet wird.
-
Im Abschaltmodus werden alle internen
Takte des Systems 32, abgesehen vom RTC-Oszillator deaktiviert.
Wenn ein Kristall verwendet wird, um den CPU-Takt zu erzeugen, kann
das CPU-Oszillatorschaltungs-Deaktivierungsmerkmal
anstelle dieses Modus verwendet werden, um den Takt abzuschalten.
Wenn ein externer Oszillator CPUX1 ansteuert, dann sollte dieser
Modus verwendet werden, um die internen Takte des Systems 32 abzuschalten.
Es ist wichtig, dass Leistung an die LCD-Anzeige in der korrekten Sequenz angelegt und
von dieser entfernt wird, ansonsten kann sich eine Beschädigung ergeben.
Um eine Beschädigung
an den LCD-Feldern zu verhindern, sollte die externe Gleichspannungsleistung,
die zur LCD-Anzeige geliefert wird (VEE),
deaktiviert werden, bevor der Takt der LCD-Steuereinheit deaktiviert
wird.
-
Die Hochfahrsequenz ist folgendermaßen: 1)
Konfigurieren der LCD-Steuerregister; 2) Anlegen von VDD (5
V oder 3 V) an die Anzeige; 3) Aktivieren des LCD-Takts von den
Leistungsverwaltungsregistern – dies muss
innerhalb 20 ms nach dem Anlegen von VDD durchgeführt werden;
4) Aktivieren der LCD-Steuereinheit; und 5) Innerhalb 20 ms max.
nach dem Anlegen des LCD-Takts Anlegen von VEE (22
V/–26
V) an die Anzeige. Die Herunterfahrsequenz ist folgendermaßen: 1)
Entfernen von VEE von der Anzeige; 2) Deaktivieren
der LCD-Steuereinheit;
3) Innerhalb 20 ms nach dem Entfernen von VEE Deaktivieren
des LCD-Takts; 4) Innerhalb 20 ms nach dem Entfernen des LCD-Takts
Entfernen von VDD von der Anzeige. Der LCD-Takt
sollte nie deaktiviert werden, wenn die LCD aktiviert ist.
-
Die internen Takte für verschiedene
interne Peripheriegeräte
können über Bits
der Leistungsverwaltungsregister 2 und 3 (nachstehend erörtert) individuell
aktiviert/deaktiviert werden. Ein interner Takt eines Peripheriegeräts sollte
nur deaktiviert werden, wenn dieses interne Peripheriegerät nicht
verwendet werden soll.
-
Bezüglich der globalen Aktivierung/Deaktivierung
von peripheren Takten werden, wenn das Bit 7 des Leistungsverwaltungsregisters
2 auf eine Eins gesetzt ist, die internen Takte für die DMA-Steuereinheit 36,
den ECP 44, die dreidrähtige
Schnittstelle 50 und die UART-Logik 52 alle deaktiviert.
Wenn dieses Bit eine Null ist, legen die individuellen Aktivierungs-/Deaktivierungs-Bits
des peripheren Takts fest, ob die einzelnen peripheren Takte aktiviert
werden oder nicht. Die DRAM-Steuereinheit 38 und die LCD-Steuereinheit 46,
der PCMCIA 40, die BIU 42 und der Zeitgeber 48 werden
durch die globale Taktaktivierung/-deaktivierung nicht beeinflusst.
-
Die E/As des Systems 32 sind
hinsichtlich des Leistungsversorgungspegels konfigurierbar. Das
Leistungsverwaltungssystem 30 steuert die Spannungsabtastung
und -einstellung für
die E/A-Versorgungspegelkonfiguration.
Das Leistungsverwaltungssystem 30 hat die Fähigkeit,
die Betriebsspannung durch die Firmware (Bit 5 des Leistungsverwaltungsregisters
4) festzulegen.
-
Wie vorstehend erwähnt, umfasst
das Leistungsverwaltungssystem 30 mehrere Leistungsverwaltungs-Konfigurationsregister.
Die Konfigurationsregistereinheit (CRU) 54 enthält die Konfigurationsregister zum
Steuern des Betriebs des Leistungsverwaltungssystems 30.
Die CRU 54 enthält
auch eine periphere Busschnittstelle zum Lesen und Schrieben der
Konfigurationsregister.
-
Mit Bezug auf 3 ist das Leistungsverwaltungsregister
Eins 56 ein Lese/Schreib-Register und weist eine E/A-Verzeichnisadresse
EF90h auf. Die Bitbelegungen sind folgendermaßen. Das Bit 7 ist reserviert.
Das Bit 6 ist das Leerlaufmodus-Auswahlbit IDLE. Eine "1" setzt den Chip in den Leerlaufmodus
(cpu_clk deaktiviert). Alle Rücksetzungen
und Unterbrechungen bringen dieses Bit auf eine "0".
Das Bit 6 ist das Oszillatordeaktivierungsbit COSCD-CPU (bei dem
Kristalloszillator verwendet). Eine "1" deaktiviert
den CPU-Oszillator. Alle Rücksetzungen
und Unterbrechungen bringen dieses Bit auf eine "0".
Das Bit 4 ist ein Abschaltmodus-Auswahlbit PDM (bei dem externen
OSC verwendet). Eine "1" setzt den Chip in
den Abschaltmodus. Alle Rücksetzungen
und Unterbrechungen bringen dieses Bit auf eine "0".
Das Bit 3 ist ein Leistungssparmodus-Auswahlbit PSVM (teilt cpu_clk). Eine "1" setzt den Chip in den Leistungssparmodus.
Alle Rücksetzungen bringen
dieses Bit auf eine "0". Die Bits 2–0 sind
Leistungssparmodus-Taktteilbits
SVB[2:0]. Alle Rücksetzungen
bringen diese Bits auf eine "0". Tabelle A stellt
die Funktion dieser Bits dar.
-
-
Das Leistungsverwaltungsregister
Zwei 58 ist ein Lese/Schreib-Register und weist eine E/A-Verzeichnisadresse
EF91h auf. Die Bitbelegungen sind folgendermaßen. Das Bit 7 ist ein Deaktivierungsauswahlbit
für den
globalen peripheren Takt GDIS. Eine "1" bewirkt
die Deaktivierung des globalen peripheren Takts. Alle Rücksetzungen
bringen dieses Bit auf eine "0". Das Bit 6 ist ein
ECP-Takt-Deaktivierungsauswahlbit
ECP. Eine "1" deaktiviert den
ECP-Takt. Alle Rücksetzungen
bringen dieses Bit auf eine "0". Das Bit 5 ist ein LCD-Takt-Deaktivierungsauswahlbit
LCD. Eine "1" deaktiviert den
LCD-Takt. Alle Rücksetzungen bringen
dieses Bit auf eine "0". Die LCD-Steuereinheit 46 wird
durch die Aktivierung/Deaktivierung des globalen Takts nicht beeinflusst
(GDIS, Bit 7). Das Bit 4 ist ein DMA-Taktdeaktivierungs-Auswahlbit DMA. Eine "1" deaktiviert den DMA-Takt. Alle Rücksetzungen
bringen dieses Bit auf eine "0". Das Bit 3 ist ein
Zeitgeberblock-Taktdeaktivierungs-Auswahlbit TIMR. Eine "1" deaktiviert den Zeitgebertakt. Alle
Rücksetzungen
bringen dieses Bit auf eine "0". Der Zeitgeber wird
durch die Aktivierung/Deaktivierung des globalen Takts nicht beeinflusst
(GDIS, Bit 7). Das Bit 2 ist ein Taktdeaktivierungs-Auswahlbit TWIR
für den
dreidrähtigen
Block. Eine "1" deaktiviert den
dreidrähtigen
Takt. Alle Rücksetzungen
bringen dieses Bit auf eine "0". Das Bit 1 ist ein
DRAM-Block-Taktdeaktivierungs-Auswahlbit DRAM. Eine "1" deaktiviert den DRAM-Takt. Alle Rücksetzungen
bringen dieses Bit auf eine "0". Die DRAM-Steuereinheit 38 wird
durch die Aktivierung/Deaktivierung des globalen Takts nicht beeinflusst
(GDIS, Bit 7). Das Bit 0 ist ein UART-Block-Taktdeaktivierungsbit
URRT. Eine "1" deaktiviert den UART-Takt.
Alle Rücksetzungen
bringen dieses Bit auf eine "0".
-
Das Leistungsverwaltungsregister
Drei 60 ist ein Lese/Schreib-Register und weist eine E/A-Verzeichnisadresse
EF92h auf. Die Bitbelegungen sind folgendermaßen. Das Bit 7 ist reserviert.
Das Bit 6 ist ein Konfigurationsbit für den externen Treiber DRVCON
für den
Systembus und die DRAM-Schnittstellen-E/As.
Dieses Bit hat nur eine Auswirkung, wenn das Schnittstellen-SETV-Bit
auf eine "1" gesetzt ist. Eine "1" garantiert eine CMOS-Pegel-Ausgangsspannung/Ansteuerung.
Eine "0" garantiert eine
TTL-Pegel-Ausgangsspannung/Ansteuerung
(E/A-Konfiguration mit geringem Rauschen). Das Bit 5 ist ein PCMCIA-Taktreferenz-Auswahlbit PCS. Eine "1" entspricht der Cpu_clk-Taktreferenz (durch
den Leistungssparmodus beeinflusst) und eine "0" entspricht
der Standardtaktreferenz (durch den Leistungssparmodus nicht beeinflusst).
Alle Rücksetzungen bringen
dieses Bit auf eine "0". Das Bit 4 ist ein
PCMCIA-Block-Taktdeaktivierungs-Auswahlbit
PCMCIA. Eine "1" deaktiviert den
PCMCIA-Takt. Alle Rücksetzungen
bringen dieses Bit auf eine "0". Das Bit 3 ist ein
Zeitgebertaktreferenz-Auswahlbit TCS. Eine "1" entspricht
der Cpu_clk-Taktreferenz (durch den Leistungssparmodus beeinflusst)
und eine "0" entspricht der Standardtaktreferenz
(durch den Leistungssparmodus nicht beeinflusst). Alle Rücksetzungen
bringen dieses Bit auf eine "0". Das Bit 2 ist ein
SYSCLK-Taktdeaktivierungs-Auswahlbit
SYSCLK. Eine "1" deaktiviert den
SYSCLK. Nur PWRGOOD-Rücksetzung
bringt dieses Bit auf eine "0". Das Bit 1 ist ein
SYSCLK-Referenzauswahlbit SCS. Eine "1" entspricht
der Cpu_clk-Taktreferenz (durch den Leistungssparmodus beeinflusst)
und eine "0" entspricht der Standardtaktreferenz
(durch den Leistungssparmodus nicht beeinflusst). Nur PWRGOOD-Rücksetzen
bringt dieses Bit auf eine "0". Das Bit 0 ist ein DRAM-Folgesteuerungseinheits-Taktfrequenzmodusbit
SEQU. Eine "1" legt dieselbe Frequenz
wie die Cpu_clk-Taktreferenz fest und eine "0" verdoppelt
die Frequenz der Cpu_clk-Taktreferenz. Nur PWRGOOD-Rücksetzen bringt dieses Bit
auf eine "0".
-
Das Leistungsverwaltungsregister
Vier 62 ist ein Lese/Schreib-Register und weist eine E/A-Verzeichnisadresse
EF93h auf. Die Bitbelegungen sind folgendermaßen. Das Bit 7 ist ein Beschreibungsbit
für die
externe Taktquelle CAN_OSC. Eine "1" entspricht
einem CMOS- oder TTL-Oszillator
und eine "0" entspricht einem
Kristalloszillator. Nur PWRGOOD-Rücksetzen bringt dieses Bit
auf eine "0". Das Bit 6 ist reserviert.
Das Bit 5 ist ein Bit für
die Softwarefestlegung der Betriebsspannung SETV. Eine "1" legt eine Betriebsspannung von 5 V
fest und eine "0" legt eine Betriebsspannung
von 3,3 V fest (Vorgabe). Nur PWRGOOD-Rücksetzen bringt dieses Bit
auf eine "0". Die Bits 4–0 sind
reserviert.
-
Das Leistungsverwaltungssystem 30 umfasst
sieben andere Hauptpartitionen. Mit Bezug auf 4 enthält die Schnittstelle für den externen
Oszillator (EOI) 64 die Schaltung, die mit einem externen
Oszillator in Verbindung steht. Der externe Oszillator kann ein
Kristall oder eine Hülse
sein. Die Schaltung ist für
das Steuern der Rückkopplungsschleife
der analogen Schnittstelle zum externen Kristall verantwortlich.
Wenn die Rückkopplungsschleife
aktiviert ist, wird der externe Kristall zum Schwingen gebracht,
wenn sie deaktiviert ist, kann der externe Kristall nicht schwingen.
Wenn ein Hülsenoszillator
verwendet wird, beeinflusst die Rückkopplungssteuerung den Betrieb
des externen Oszillators nicht und folglich läuft eine Schwingung in die
externe Schnittstellenschaltung, ob die Rückkopplungsschleife aktiviert
ist oder nicht. Die Rückkopplungsdeaktivierung
kann durch irgendeine der folgenden Weisen auf einen aktivierten
Zustand zurückgesetzt
werden: Abschalten und Sicherung, Aussenden einer Zeitüberwachungsrücksetzung
(der Zeitüberwachungszeitgeber wird
durch einen separaten Takt angesteuert, der vom Echtzeittakt stammt),
und eine ausblendbare oder nicht-ausblendbare Unterbrechung. Die
Rückkopplungsschleife
wird durch Programmieren einer Eins in das COSCD-Bit im Konfigurationsregister
Eins 56 auf eine "1" aktiviert. Die Schaltung
wird verwendet, um zu garantieren, dass der Takt nach einer fallenden
Flanke deaktiviert wird (Oszillatordeaktivierungsmodus).
-
Die EOI 64 enthält auch
ein Taktstabilisationsfilter zum Ausblenden von störenden Kristallfrequenzen während seines
Starts nach der Freigabe der Rückkopplungsschleife.
Das Filter wird verwendet, wenn Kristalle die Schwingungsquelle
sind; ansonsten, wenn ein externer Hülsenoszillator verwendet wird
(als Taktquelle programmiert), wird das Filter überbrückt. Die Überbrückung wird durch Programmieren
des CAN_OSC-Bits im Konfigurationsregister Vier 62 auf
eine "1" gesteuert. Die Schaltung
wird verwendet, um zu garantieren, dass der Takt nach dem Filtern
beginnend mit einem steigenden Übergang
ohne irgendwelche durch die Logik erzeugten Störimpulse kommt.
-
Die EOI 64 enthält eine
Schaltung, die den eingehenden Takt vom Rest des Leistungsverwaltungsblocks
sowie vom Rest des Chips ausblendet (unabhängig von der vorher beschriebenen
Funktionalität).
Die Schaltung ermöglicht,
dass eine externe Frequenz in den Teil gelangt, aber innerhalb der
EOI 54 isoliert bleibt. Die Taktausblendung wird durch
Programmieren einer Eins in das PDM-Bit im Konfigurationsregister
Eins 56 auf eine "1" aktiviert. Die allgemeine
Taktausblendung kann durch irgendeine der folgenden Weisen auf einen aktivierten
Zustand zurückgesetzt
werden: Abschalten und Sicherung, Aussenden einer Zeitüberwachungsrücksetzung
(der Zeitüberwachungszeitgeber
wird durch einen separaten Takt angesteuert, der vom Echtzeittakt
stammt), und eine ausblendbare oder nicht-ausblendbare Unterbrechung.
Die Schaltung wird verwendet, um zu garantieren, dass die Taktausblendung
nach einer fallenden Flanke deaktiviert wird und mit einem steigenden Übergang
ohne irgendwelche durch die Logik erzeugten Störimpulse wieder startet (Abschaltmodus).
-
Mit Bezug auf die 5A und 5B enthält der Leistung-Gut-Qualifikations-
(PQ) Block 66 einen Erfassungsmechanismus zum Feststellen
eines minimalen PWRGOOD-Deaktivierungsimpulses. Der Detektor erfasst
einen PWRGOOD-Deaktivierungsimpuls unabhängig davon, ob ein Takt vorhanden
ist oder nicht. Wenn eine PWRGOOD-Deaktivierung stattfindet, wird
sofort ein Leistungsrückführungssignal
erzeugt und gehalten. Der PQ-Block enthält eine Zustandsmaschine, die
garantiert, dass eine Leistungsrückführungsanzeige
für mindestens
2 Taktzyklen gehalten wird. Diese minimale Zeitdauer ist angemessen,
um sicherzustellen, dass die Leistungsrückführung in anderen Konstruktionsblöcken verarbeitet
werden kann, wie beispielsweise beim Aktivieren eines Hochfahrrücksetzens.
Das Signal powergood_int ist ein asynchrones Rücksetzen, das die Zustandsmaschine
in den Zustand 00 zurückbringt,
wenn es aktiviert wird.
-
Mit Bezug auf 6 sieht der Kontaktstellentakt- und Selbstprüf- (PCST)
Block 68 die Steuerung von Pad_clk vor, welches ein Ausgangspuffer
in die Außenwelt
ist. Im Standardbetrieb liefert der PCST-Block eine der folgenden
drei konfigurierbaren Bedingungen. Typ 1) ein Takt, dessen Frequenz
konstant eine Hälfte
von jenem des externen Oszillators ist; Typ 2) ein Takt, dessen
Frequenz "im Allgemeinen" eine Hälfte von
jenem des externen Oszillators ist, jedoch einem programmierbaren
Bruchteil dieser Frequenz gleichgesetzt wird, wenn er sich im Leistungssparmodus
befindet; oder Typ 3) auf einen niedrigen Pegel deaktiviert. Der
Pad_clk kann ähnlich
Verfahren, die im CEB verwendet werden, in die und aus der Deaktivierung
in die vorherigen Modi ohne Störimpulserzeugung
gebracht werden. Der POST weist zwei Nicht-Standard-Betriebsarten
auf, die der schaltungsinterne Emulatormodus und der Prüfmodus sind.
Während
des schaltungsinternen Emulatormodusbetriebs, wie dadurch festgelegt,
dass das Icemode-Signal aktiv ist, ist das Ausgangssignal von Pad_clk
als eng in Phase mit dem für
die eingebettete CPU erzeugten Takt festgelegt. Im Prüfmodus,
wie dadurch festgelegt, dass das Prüfsignal aktiv ist, ist der
POST konfiguriert, um die Beobachtbarkeit der internen Zustände des Leistungsverwaltungsblocks
zu ermöglichen
und bekannte Logikpegel am Pad_clk-Anschluss zu erzwingen. Wenn
er sich im Prüfmodus
befindet und das Test_lv1_en-Signal deaktiviert ist, verzweigt sich
der Takt und interne Quellentakte werden auswählbar im Multiplexbetrieb an
Pad_clk ausgegeben. Die Auswahl, welcher Takt ausgegeben wird, wird
durch Programmieren des unteren Vierbitworts des Konfigurationsregisters
Vier 62 gesteuert. Wenn das Signal Test_lv1_en aktiv ist,
ist der Logikpegel von Pad_clk gleich dem Logikpegel von Test_hi_lowz.
-
Mit Bezug auf die 7A und 7B enthält der Block 70 Taktaktivierungsblock
(CEB) die Taktverzweigungsgeneratoren für jeden der Takte, die aus
dem Leistungsverwaltungsblock stammen, der die internen sequentiellen
Vorrichtungen ansteuert. Es wird garantiert, dass die Taktaktivierungs/deaktivierungs-Schaltung störimpulsfrei
ist. Das heißt,
die Takte werden nach einer fallenden Flanke an den internen Quellentakten
deaktiviert, werden während
der Deaktivierung auf einem niedrigen Pegel gehalten und werden
nach der fallenden Flanke des Quellentakts reaktiviert (Aktivierung
während
des niedrigen Teils des Quellentakts) und beginnen anschließend den
ersten Anstieg mit dem nächsten
steigenden Übergang
des internen Quellentakts ohne irgendwelche durch die Logik erzeugten
Störimpulse.
Spezielle Systempegelerwägungen
werden für
die Leerlaufmodusaktivierung berücksichtigt.
Der Leerlauf ist ein konfigurierbares Stoppen des Takts, der in
die eingebettete CPU 34 läuft. Die Haupterwägung besteht
darin, Cpu_core_clk nicht zu stoppen, wenn die eingebettete CPU 34 aktiv
einen Buszyklus durchführt.
Der am Stoppen der eingebeteten CPU 34 beteiligte Prozess
besteht darin, Idlreq zur Systemsteuerlogik zu liefern und dass
die Systemsteuerlogik Idlack zurücksendet,
das durch den CEB 70 abgetastet wird, um eine störimpulsfreie
Deaktivierung zu erzeugen. In ähnlicher
Weise wird Idle durch Deaktivieren von Idfreq und Zurückempfangen
eines deaktivierten Idlack von der Systemsteuerlogik deaktiviert.
Der Takt wird störimpulsfrei
wieder gestartet (IDLE-Modus). Die Quellentakte für den CEB 70 sind vom
Typ 1, Typ 2 und eine 2 ×-Frequenzversion
vom Typ 2. Die meisten Takte werden jedoch von einem oder vom anderen
dieser Quellentakte erzeugt, Timer_clk und Pcmcia_clk können so
konfiguriert sein, dass sie Takte entweder vom Typ 1 oder Typ 2 aufweisen.
(Globaler und individueller Peripheriegerät-Deaktivierungsmodus).
-
Mit Bezug auf 8 wirkt die Leistungspegelerfassung (PLD) 72 als
analoge Spannungspegel-Detektorschnittstelle mit programmierbarer Übersteuerung.
Sie sieht den digital codierten Spannungspegel als Ausgangssignal
vor, das für
die globale Konfiguration verwendet wird. Eine analoge Aktivierung
D3VEN vom Konfigurationsregister Drei 60 steht zur Verfügung, um
die Gleichstromquellen eines externen Spannungspegeldetektors und
eines Lesefreigabeimpulses einzuschalten. CHK3V vom Konfigurationsregister
Drei 60 steht auch zur Verfügung, um den Spannungspegel-Detektoreingang Pup3V
abzutasten. Nachdem der Detektoreingang abgetastet wurde, können sowohl
CHK3V als auch D3VEN deaktiviert werden. Es ist wichtig, D3VEN vor CHK3V
zu aktivieren und sie in umgekehrter Reihenfolge zu deaktivieren,
so dass ein korrekter Betriebszustand von Pup3v erfasst wird. Das
Vorgabeausgangssignal der PLD 72 nach einem harten Rücksetzen
ist Eins am Anschluss Drei. Die Funktionen der analogen Schnittstelle
können überbrückt werden
und folglich kann das Ausgangssignal THREE unter der Konfigurationssteuerung
durch den SETV-Eingang direkt vom Konfigurationsregister Drei 60 angesteuert
werden.
-
Mit Bezug auf 9 sind viele der E/As des Systems 32 hinsichtlich
des Leistungsversorgungspegels konfigurierbar. Wie vorstehend erörtert, steuert
das Leistungsverwaltungssystem 30 die Spannungsabtastung und
-festlegung für
die E/As. Das beschriebene Leistungsverwaltungssystem 30 hat
die Fähigkeit,
den Betriebsspannungs-Konfigurationspegel durch Firmware und durch
Spannungspegelabtastung festzulegen. Die Schnittstelle mit einer
analogen Spannungsabtastschaltung ist im Leistungsverwaltungsblock
enthalten und wird durch die Bits 4 und 6 des Konfigurationsregisters
Vier 62 gesteuert. Das Bit 4 aktiviert den Spannungsdetektor.
Da eine analoge Schaltung im Allgemeinen Gleichstrom verbraucht,
wenn sie aktiv ist, wird der Aktivierungsschalter verwendet, um
den Strom ein- oder auszuschalten. Die Schaltung wird folglich nur
aktiviert, wenn die Spannungserfassung erforderlich ist, um den
Leistungsverbrauch zu verringern. Das Bit 6 wird verwendet, um den
Pegel des Spannungsdetektors zwischenzuspeichern und zu halten.
In diesem Beispiel muss der Spannungsdetektor einen Versorgungspegel
von entweder 3,3 V oder 5 V erfassen. Somit wird ein 1-Bit-A/D verwendet
und der zwischengespeicherte Ausgangskonfigurationspegel ist entweder
eine logische 1 oder 0. A/Ds höherer
Ordnung können
jedoch verwendet werden, wenn feinere Pegel der Spannungspegelerfassung
erforderlich sind. Der Leistungskonfigurationspegel wird im Bit
5 des Konfigurationsregisters Vier 62 gespeichert. Der
Pegel kann durch die Firmware übersteuert
werden. Dieses Schnittstellen-Spannungserfassungsschema wurde festgelegt,
um Spannungen oberhalb und unterhalb eines Zielerfassungsauslösepunkts
von beispielsweise 4,0 V zu unterscheiden. Diese spezielle Anwendung
weist folglich bei 5,0 V (+/–10%)
einen anderen Konfigurationspegel als bei 3, 3 (+/–10%) auf.
-
Mit Bezug auf 10 erzeugt der Block 74 der
internen Quellentakterzeugung (ISCG) die internen Quellentakte.
Er enthält
einen synchronen 7-Bit-Zähler
mit einer synchronen Last bis zu einem Zählwert von Eins und einem asynchronen
Löschen.
Der Block erzeugt die internen Quellentakte vom Typ 2 und der 2 ×-Frequenzversion
vom Typ 2. Im Standardbetrieb (d. h. KEIN Leistungssparmodus) wird
der Takt vom Typ 2 durch eine Rückführung des
cpu_clk_z-Quellentakts,
der über
eine Zwei-Eingangs-Multiplexeransteuerung (pre_cpu_clk)
ausgegeben wird, zurück
in den D-Eingang des cpu_clk_z erzeugenden Flip-Flops, der durch einen Takt abgetastet
wird, der mit dem Takt des externen Oszillators in Beziehung steht,
der osc_qualified genannt wird, erzeugt (d. h. dies ist eine Division-Durch-2-Funktion);
und im Standardmodus ist der Takt von 2 × Typ 2 im Wesentlichen eine
gepufferte und multiplexierte Version von osc_qualified. Im Leistungssparmodus werden
sowohl die Takte von 1 × als
auch 2 × Typ
2 beginnend über
den synchronen Zähler
bis zu zwei separaten Division-Durch-2-Endtaktgeneratoren erzeugt.
Bei der Division-Durch-4-Taktteilung entspringt der 2 ×-Takt beispielsweise
von YO des Zählers
(d. h. /2 von osc_qualified) über
den Division-Durch-2-Endtaktgenerator, was zu einem durch 4 geteilten
2 ×-Takt
führt.
Ebenso entspringt der 1 ×-Takt
von Y1 des Zählers.
Y1 des Zählers
ist eine Division durch 4 von osc_qualified, die gleich einer Division
durch 2 des "Standard"-cpu_clk ist. Der
Standard_cpu_clk ist die 1 ×-Taktreferenzfrequenz.
Mit anderen Worten Y1 des Zählers durchläuft den
Division-Durch-2-Endtaktgenerator,
was zu einem durch 4 geteilten 1 ×-Takt führt. Im Division-Durch-8-Modus
werden die Zähleranschlüsse Y1 bzw.
Y2 und so weiter bis zur Division durch 64 verwendet. Wenn
zu den, von den oder innerhalb der Leistungssparmodi übergegangen
wird, werden die Übergänge als
störimpulsfrei
festgelegt. Alle Änderungen
der Frequenz werden nach dem ersten Abtastwert der steigenden Flanke
von osc_qualified eines aktiven Eingangsimpulses load_1 durchgeführt, der
von PSVMCD unmittelbar nach einer fallenden Flanke an cpu_clk erzeugt
wird. Die neuen Werte der Eingangssignale svb_d1_5_sync und psvm_d1_5_sync
an derselben steigenden Flanke von osc_qualified. Dieser Prozess
wird so durchgeführt,
dass die Gesamtzahl von Perioden des 2 ×-Takts immer das Doppelte
des 1 ×-Takts über eine beliebige
Menge an Änderungen
in der Taktteilung ist. Dies ist ein kritisches Merkmal, das für den korrekten Betrieb
des Systems erforderlich ist. Man beachte, dass die Änderungen
der Taktteilung stattfinden, wenn sowohl die 1 ×-als auch 2 ×-Takte vom Typ 2 auf einem
niedrigen Pegel liegen. Man beachte auch, dass eine 1 während einer
Frequenzänderung
synchron in den synchronen Zähler
geladen wird. Dies hält
die Phasenbeziehung der Takte vom Typ 1 × und 2 × über Änderungen der Taktteilung gleich,
was auch für
den korrekten Systembetrieb kritisch ist (Leistungssparmodus).
-
Mit Bezug auf 11 wird der Leistungssparmodus-Änderungserfassungs- (PSVMCD)
Block 76 verwendet, um Änderungen
in den Leistungssparmodus-Steuerkonfigurationsregistern
SVB[2:0] und PSVM abzutasten. Zwei Gruppen von Flip-Flops, die von
entgegengesetzten Flanken eines internen Quellentakts vom Typ 2
abgetastet werden, werden verglichen (d. h. die Takte cpu_clk und
cpu_clk_z). Wenn ein Unterschied zwischen den beiden besteht, wird
ein Zwischenindikator aktiviert, der equality_z genannt wird. Wenn
der Leistungssparmodus in einer oder beiden der Abtastgruppen aktiviert
wird, d. h. psvm_d1_5 oder psvm_d1, dann wird ein psvm_change-Indikator
aktiviert. Diese Angabe wird dann durch cpu_clk_z abgetastet, welcher
mit der fallenden Flanke des Systemtakts in Beziehung steht und
einen synchronen Impuls erzeugt, der als load_1 bezeichnet wird,
bis zur nächsten
steigenden Flanke einer intern qualifizierten Referenz mit dem Takt
des externen Oszillators, d. h. osc_qualified, welcher mindestens
2 × die
Frequenz des Systemtakts ist. Zusammengefasst wird somit der Impuls
load_1 von PSVMCD 76 nach der fallenden Flanke des Systemtakts
erzeugt und der Impuls load_1 wird vor der steigenden Flanke des
nächsten
Systemtakts wieder deaktiviert. Die PSVMCD 76 wird verwendet,
um den Impuls load_1 zu erzeugen und zu einem speziellen Zeitpunkt
in der Periode des aktuellen Systemtakts in ISCG zu bringen und
synchronisierte Leistungssparmodus-Steuersignale zu liefern, d.
h. svb_d1_5_sync und psvm_d1_5_sync, die sich mit der fallenden
Flanke (Deaktivierungsflanke) des Impulses load_1 ändern und
gültig
werden, welcher, wie beschrieben, im ISCG nach der ersten steigenden
Flanke von osc_qualified unmittelbar nach einer fallenden Flanke
an cpu_clk vorliegt. (Die eine Ausnahme dafür ist, wenn sich der SVB[2:0]-Bus ändert und
PSVM deaktiviert wird. In diesem Fall wird kein Impuls load_1 erzeugt.)
Dieser Prozess garantiert, dass keine Taktstörimpulse im ISCG erzeugt werden,
wenn sich das Niveau der Taktteilung ändert.
-
Es sollte selbstverständlich sein,
dass verschiedene Alternativen für
die hierin beschriebenen Ausführungsbeispiele
der Erfindung bei der Ausführung
der Erfindung verwendet werden können.
Es ist vorgesehen, dass die folgenden Ansprüche den Schutzbereich der Erfindung
festlegen und dass Strukturen und Verfahren innerhalb des Schutzbereichs
dieses Anspruchs dadurch abgedeckt sind.