-
Die
vorliegende Erfindung betrifft eine Speichereinrichtung sowie ein
Verfahren zur Synchronisation eines Datenwortes. Die Erfindung betrifft
weiterhin eine Verwendung der Speichereinrichtung für eine Synchronisation
von Daten auf einem Drei-Leiter-Bus.
-
Moderne
integrierte Hochfrequenzbausteine besitzen eine Vielzahl einstellbarer
Parameter und Funktionen. Dazu gehören unter anderem verschiedene
Testfunktionen, welche die einzelnen Bereiche des Hochfrequenzbausteins
auf ihre Funktionsfähigkeit
hin überprüfen. Darüber hinaus
lassen sich unterschiedliche Betriebsparameter einstellen, um den Hochfrequenzbaustein
auf eine bestimmte und teilweise wählbare Anwendung hin zu optimieren.
Die verschiedenen Funktionen und Einstellparameter werden jedoch
nicht mehr über
einzelne Steuerleitungen angesteuert, sondern der Hochfrequenzbaustein
kommuniziert über
eine serielle Schnittstelle mit einem entsprechenden Steuergerät. Dieses
Steuergerät
wird auch als Host bezeichnet.
-
Als
serielle Programmierschnittstelle hat sich eine Ausführung mit
drei Leitungen als besonders günstig
erwiesen. Dieses Drei-Leitersystem wird auch als Three-Wire-Bus
oder Drei-Leiter-Bus
bezeichnet. Der Bus umfasst eine Taktleitung, eine Datenleitung
sowie eine Aktivierung- oder Enable-Leitung. Eine Kommunikation
zwischen dem Steuerbaustein und dem Hochfrequenzbaustein wird von
dem Steuerbaustein kontrolliert und getrieben. Nach einer Aktivierung
der Programmierschnittstel le durch ein Signal auf der Enable-Leitung
gibt der Steuerbaustein ein Taktsignal auf der Taktleitung ab. Gleichzeitig
werden eine Anzahl von Datenbits auf der Datenleitung ausgegeben,
wobei bevorzugt jede Taktflanke des Taktsignals auf der Taktleitung
immer in der Mitte einer Bitperiode eines Datenbits auftritt. Der
Hochfrequenzbaustein speichert die Anzahl der Datenbits mit jeder
Taktflanke auf der Taktleitung, solange das Signal auf der Enable-Leitung
vorhanden ist. In geeigneter Weise enthält das Signal auf Enable-Leitung
zwei mögliche
einnehmbare Zustände,
wobei ein erster Zustand immer dann gegeben ist, wenn der Steuerbaustein
Daten über
die serielle Programmierschnittstelle an den Hochfrequenzbaustein überträgt.
-
Die
Anzahl der Datenbits auf der Datenleitung ist dabei von verschiedenen äußeren Parametern
abhängig.
Grundsätzlich
ist es so, dass die Datenbits zu einem sogenannten Telegramm oder
Datenwort zusammengefasst und jeweils in ein Register eines Speichers
des Hochfrequenzbausteins abgelegt werden. Als Telegramm hat sich
bevorzugt ein Datenwort mit einer Länge von 24 Bits erwiesen. Geeigneterweise
werden dabei am Ende des Telegramms eine Anzahl der 24 Bits als
Adresse definiert, sodass verschiedene Register des Speichers innerhalb
des Hochfrequenzbausteins gezielt angesprochen werden können.
-
6 zeigt in ihrer Teilfigur A das Taktsignal TWB_CLK
auf der Taktleitung, die Signale auf der Datenleitung sowie das
Signal TWB_DATA_EN_N auf der Enable-Leitung eines Drei-Leiter-Busses. Zu erkennen
ist, dass eine steigende Taktflanke des Taktsignals TWB_CLK immer
zur Mitte eines Datenbits TWB_DATA auftritt. Während der Übermittlung des gesamten Telegramms
aus den neunzehn Datenbits D19 bis D0 und der vier Adressbits A0
bis A3 wird das Signal TWB_DATA_EN_N auf der Enable-Leitung in den
logisch niedrigen Zustand "Low" gezogen und so angezeigt,
dass Daten auf der Datenleitung anliegen.
-
Grundsätzlich ist
die Telegrammlänge
unabhängig,
sofern gewährleistet
wird, dass das komplette Telegramm mit seinen Datenbits innerhalb
eines Registers des Hochfrequenzbausteins gespeichert werden kann.
-
Daneben
besteht die Möglichkeit,
den sogenannten digitalen RF-Standard (DigRF) zur Übertragung
von Steuerparametern über
eine serielle Schnittstelle und bevorzugt über den Drei-Leiter-Bus zu verwenden.
Die dafür
benutzten Signale sind in ähnlicher
Weise aufgebaut wie die Signale in der Teilfigur 6A dargestellten Abbildung.
-
Bei
einer Übertragung
von Signalen nach dem DigRF-Standard wird zwischen einem Lesevorgang,
bei dem Daten aus dem Speicher gelesen werden und einem Schreibvorgang
unterschieden. Lese- und Schreibvorgang werden durch ein erstes
Bit angezeigt, wie es aus den Teilfiguren 6B und 6C zu
entnehmen ist. Zudem sind die Adressbits und die Datenbits eines
jeden Wortes auf der Datenleitung vertauscht. Bei dem DigRF-Standard
können
zudem auf der Enable-Leitung verschieden lange Signale I2RF_DATA_EN_N
erzeugt werden, um zwischen Lese- und Schreibvorgang zu unterscheiden.
-
Das
Taktsignal TWB_CLK, mit dem die Daten in den Hochfrequenzbaustein
geschrieben beziehungsweise aus diesem gelesen werden, werden meistens
von einem externen Taktgenerator erzeugt. Das Taktsignal TWB_CLK
läuft daher
asynchron zu einem intern von dem Hochfrequenzbaustein verwendeten
und generierten Systemtakt. Daher ist es notwendig, das zu übertragende
Datenwort einzusynchronisieren, sodass ein möglicher Daten verlust vermieden
wird. Die Synchronisation muss dabei zumindest vor einer Verarbeitung
der Daten erfolgen. Unter dem Begriff der Synchronisation wird im
Folgenden die Übernahme
beziehungsweise Abgabe von Daten zwischen zwei mit unterschiedlichen
Taktsignalen arbeitenden Schaltungen verstanden.
-
In
modernen Hochfrequenzbausteinen kommt hinzu, dass die intern verwendeten
Register teilweise für
die Takterzeugung verwendet werden. Es kann daher passieren, dass
Daten zur Speicherung an einem Register angelegt werden, welches gegenwärtig nicht
mit dem vom Hochfrequenzbaustein erzeugten Systemtakt betrieben
wird.
-
Aufgabe
der vorliegenden Erfindung ist es daher, eine Speichereinrichtung
vorzusehen, die es ermöglicht,
an einem zentralen Punkt einer Synchronisation von extern der Speichereinrichtung
zugeführten
Daten vorzusehen.
-
Weiterhin
ist es Aufgabe der Erfindung, ein Verfahren anzugeben, bei der mit
einfachen Mitteln eine Synchronisation von Daten möglich ist.
-
Diese
Aufgaben werden mit den Gegenständen
der vorliegenden unabhängigen
Patentansprüche
1 und 8 gelöst.
-
Nach
dem vorgeschlagenen Prinzip umfasst die Speichereinrichtung eine
Registereinrichtung mit einem Dateneingang und mit einem Takteingang.
Die Registereinrichtung ist zur Übernahme
eines parallelen Datenwortes an ihrem Dateneingang abhängig von
einem Taktsignal am Takteingang ausgeführt. Mit dem Dateneingang der
Registereinrichtung ist ein Multiplexer verbunden, der abhängig von
einem Signal an seinem Steuereingang einen seiner beiden Dateneingänge mit
seinem Datenausgang koppelt. Weiterhin ist ein Zwischenspeicher
vorgesehen, der ausgangsseitig mit den beiden Datenausgängen verbunden
ist. Der Zwischenspeicher ist ausgeführt zur Übernahme eines seriellen Datenwortes
an einem Dateneingang der Speichereinrichtung abhängig von Signalen
an einem ersten Takteingang der Speichereinrichtung und an einem
Zustandseingang der Speichereinrichtung. Das übernommene Datenwort wird von
dem Zwischenspeicher als paralleles Datenwort an einen der beiden
Datenausgänge
ausgegeben.
-
Durch
den Zwischenspeicher wird sichergestellt, dass eine Synchronisation
zwischen einem externen ersten Taktsignal an dem ersten Takteingang der
Speichereinrichtung und einem weiteren internen Taktsignal an einem
zweiten Takteingang der Speichereinrichtung möglich ist. Weiterhin ist eine
Synchronisationsschaltung angegeben, die mit einem Regelausgang
an dem Steuereingang des Multiplexers angeschlossen ist. Die Synchronisationsschaltung
weist einen Taktsignaleingang auf, der mit dem Takteingang der Registereinrichtung
verbunden ist. Sie ist ausgeführt,
ein Taktsignal an den Taktsignalausgang abzugeben, das aus einem
zeitlichen Verlauf eines Signals an dem Zustandseingang und einem
Signal an dem zweiten Takteingang ausgeführt ist.
-
Mithilfe
einer Überwachung
des Zustandseingangs und insbesondere einer Auswertung des Zustandssignals
durch die Synchronisationsschaltung übernimmt die Registereinrichtung
ein von dem Zwischenspeicher an einem seiner beiden Datenausgänge abgegebenen
parallelen Datenwort synchron zu dem zweiten Taktsignal am zweiten
Takteingang der Speichereinrichtung. In vorteilhafter Weise wird dabei
der zeitliche Verlauf eines Signals am Zustandseingang und besonders
bevorzugt eine Taktflanke des Signals am Zustandseingang von der
Synchronisati onsschaltung registriert. Eben diese Taktflanke wird
erfindungsgemäß zu dem
Signal am zweiten Takteingang synchronisiert. Dadurch erfolgt eine Übernahme
der in den Zwischenspeichern abgelegten Datenworte synchron in die
Registereinrichtung, so dass ein metastabiler Zustand und insbesondere ein
Datenverlust vermieden wird.
-
Darüber hinaus
ermöglicht
die Synchronisationsschaltung auch bei Abwesenheit eines Signals am
zweiten Takteingang, das heißt
einem fehlenden zweiten Taktsignal eine Übernahme des Datenwortes aus
dem Zwischenspeicher in die Registereinrichtung.
-
In
einer Weiterbildung der Erfindung umfasst die Synchronisationsschaltung
einen Schaltung mit einem Stellausgang, der ausgangsseitig den Taktsignalausgang
bildet. Mit einem ersten Eingang ist der Schalter an dem Zustandseingang
und mit einem zweiten Eingang an einen Taktgenerator angeschlossen.
Der Schalter ist ausgebildet zur wahlweisen Kopplung eines seiner
beiden Eingänge
mit seinem Ausgang abhängig
von einem Synchronisationssignal. Das Synchronisationssignal gibt
vorteilhaft an, ob ein zweites Taktsignal an dem zweiten Takteingang
der Speichereinrichtung anliegt. Ist dieses der Fall, schaltet der
Schalter bevorzugt den Taktgenerator auf seinen Ausgang. Dadurch
ist die Übernahme des
Datenwortes von dem Zwischenspeicher in die Registereinrichtung
synchron mit dem zweiten Taktsignal gewährleistet.
-
Wenn
hingegen das Synchronisationssignal anzeigt, dass kein zweites Taktsignal
an dem zweiten Takteingang anliegt so wird der Schalter in seinen ersten
Schaltzustand versetzt und das Signal am Zustandseingang der Registereinrichtung
als Taktsignal zugeführt.
-
Zur
Synchronisation des Zustandssignals am Zustandseingang auf das zweite
Taktsignal am zweiten Takteingang ist in einer Weiterbildung der
Erfindung ein Synchronisator mit zwei in Reihe geschalteten Flip-Flops
vorgesehen. Deren Taktsignaleingänge
sind an den zweiten Taktsignaleingang angeschlossen und ein Dateneingang
des ersten Flip-Flops ist mit dem Zustandseingang gekoppelt. Ein
Ausgang des Synchronisators ist an den Steuereingang des Schalters
der Synchronisationsschaltung angeschlossen.
-
In
einer anderen Weiterbildung der Erfindung umfasst der Taktgenerator
der Synchronisationsschaltung ein Takttor, das zur Abgabe eines
Taktpulses abgeleitet von einem Signal am zweiten Takteingang und
von einem aus einer Flanke des Zustandssignals erzeugten Puls ausgeführt ist.
Durch das zusätzliche
Takttor zur Abgabe eines Taktpulses wird gewährleistet, dass der Registereinrichtung
lediglich ein Taktpuls zur Übernahme
des Datenwortes aus dem Zwischenspeicher zur Verfügung steht.
Dieser Taktpuls ist zusätzlich
mit dem zweiten Taktsignal synchronisiert, sodass ein Datenverlust
und ein metastabiler Zustand innerhalb der Registereinrichtung vermieden
wird.
-
Bevorzugt
ist der Regelausgang der Synchronisationsschaltung über eine
rückgekoppelte Flip-Flop-Schaltung
mit dem Taktsignalausgang der Synchronisationsschaltung gekoppelt.
Durch diese Anordnung wird der Multiplexer der Speichereinrichtung
wechselweise angesteuert, sodass er abwechselnd den ersten beziehungsweise
den zweiten Dateneingang auf seinen Datenausgang schaltet. Eine Umschaltung
erfolgt mit jedem Takt an dem Taktsignalausgang, der wiederum die Übernahme
des Datenwortes in die Registereinrichtung steuert.
-
In
einer Weiterbildung der Erfindung umfasst der Zwischenspeicher ein
erstes sowie ein zweites Schieberegister, die eingangsseitig an
den Dateneingang der Speichereinrichtung zur Zuführung des seriellen Datenwortes
angeschlossen sind. Ausgangsseitig bilden Ausgänge der Schieberegister den
ersten und den zweiten Datenausgang des Zwischenspeichers. In den
Schieberegistern wird vorteilhaft das serielle Datenwort gespeichert
und parallel an den ersten beziehungsweise zweiten Datenausgang abgegeben.
Die beiden Schieberegister wirken somit als Seriell/Parallel-Wandler.
-
Bevorzugt
ist in dem Zwischenspeicher eine Ansteuerschaltung zur wechselseitigen
Ansteuerung des ersten und des zweiten Schieberegisters vorgesehen.
Dieser ist mit dem ersten Takteingang zur Zuführung des ersten Taktsignals
und mit dem Zustandseingang zur Zuführung des Zustandssignals gekoppelt.
Durch die Ansteuerschaltung wird wechselseitig ein serielles Datenwort
am ersten Dateneingang in einem der beiden Schieberegister gespeichert.
Dadurch wird erreicht, dass ein im Zwischenspeicher abgelegtes Datenwort
nicht überschrieben
wird, bevor es in der nachgeschalteten Registereinrichtung abgelegt
wird. Dies ist insbesondere deswegen zweckmäßig, da eine Synchronisation
einige Zeit dauern kann und während
dieser Zeit bereits weitere Daten anliegen können.
-
Dazu
ist in einer Weiterbildung der Erfindung im Zwischenspeicher ein
erster Takttor mit einem Aktivierungseingang und zweites Takttor
mit einem Aktivierungseingang vorgesehen. Das erste Takttor ist mit
dem ersten Schieberegister zu dessen Ansteuerung und das zweite
Takttor mit dem zweiten Schieberegister zu dessen Ansteuerung verbunden.
Die beiden Aktivierungseingänge
sind mit dem Zustandseingang der Speicherein richtung gekoppelt.
Taktsignaleingänge
des ersten und zweiten Takttores sind an den ersten Takteingang
zur Zuführung
des ersten Taktsignals angeschlossen.
-
Bei
einem Verfahren zur Synchronisation eines Datenwortes, also zur Übermittlung
eines Datenwortes in eine Registereinrichtung ist vorgesehen, ein
erstes Taktsignal, ein Zustandssignal und ein serielles Datenwort
bereitzustellen. Ebenso wird eine Registereinrichtung zur Speicherung
des Datenwortes vorgesehen. Anschließend wird das serielle Datenwort
mithilfe des ersten Taktsignals zwischengespeichert und überprüft, ob ein
zweites Taktsignal vorhanden ist. Dies ist notwendig, um zu gewährleisten,
dass kein Datenverlust auftritt. Sofern ein zweites Taktsignal vorhanden
ist, wird ein zu dem zweiten Taktsignal synchronisierter Taktpuls
aus dem Zustandssignal und dem zweiten Taktsignal erzeugt. Das zwischengespeicherte
Datenwort wird nun entweder mithilfe des Taktpulses in die Registereinrichtung übernommen,
bevorzugt durch entsprechende Ansteuerung der Registereinrichtung
mit dem Taktpuls, oder eine Übernahme
des zwischengespeicherten Datenwortes in die Registereinrichtung
erfolgt durch zeitliches Auswerten des Zustandssignals.
-
Mit
anderen Worten wird, sofern ein zweites Taktsignal vorhanden ist,
ein Taktpuls synchron zu diesem Taktsignal aus dem Zustandssignal
generiert und nachdem das serielle Datenwort vollständig zwischengespeichert
ist, dieses in die Registereinrichtung mithilfe des Taktpulses übernommen.
Wegen der Synchronität
zwischen dem Taktpuls und dem zweiten Taktsignal erfolgt demnach
auch die Übernahme
des zwischengespeicherten Datenwortes in die Registereinrichtung
synchron zu dem zweiten Taktsignal. Dadurch wird automatisch ein
Datenverlust verhindert.
-
In
geeigneter Weise wird der synchronisierte Taktpuls erzeugt, indem
ein Puls bei Auftreten einer Taktflanke im Zustandssignal generiert
wird. Dieser Puls lässt
sich mithilfe des zweiten Taktsignals auf dieses synchronisieren.
Anschließend
wird der Taktpuls zur Übernahme
der zwischengespeicherten Daten mithilfe des synchronisierten Pulses
und zeitlich verschoben zu dem Auftreten der Taktflanke im Zustandssignal
erzeugt. Eine zeitliche Verschiebung zu dem Auftreten der Taktflanke
im Zustandssignal ist zweckmäßig, um
sicherzustellen, dass das serielle Datenwort vollständig zwischengespeichert
ist.
-
Eine Übernahme
des zwischengespeicherten Datenwortes in die Registereinrichtung
erfolgt durch eine Seriell/Parallel-Wandlung. Es wird demnach ein paralleles
Datenwort mit einem Takt in die Registereinrichtung vollständig übernommen.
Bevorzugt enthält
das parallele Datenwort einen Adressteil sowie einen Datenteil,
wobei der Adressteil zur Adressierung eines Registers innerhalb
der Registereinrichtung dient, in den der Datenteil anschließend abgelegt
wird.
-
Für den Fall,
dass kein zweites Taktsignal vorhanden ist, wird das parallele Datenwort
bei Auftreten einer Taktflanke im Zustandssignal in die Registereinrichtung übernommen.
Zweckmäßigerweise kann
eine Übernahme
auch erst nach einer kurzen zeitlichen Verzögerung des Auftretens dieser
Taktflanke erfolgen. Dadurch bleibt sichergestellt, dass alle zwischengespeicherten
Daten in die Registereinrichtung übernommen werden und keine
Datenfehler auftreten.
-
Im
Folgenden wird die Erfindung unter Bezugnahme auf die Zeichnungen
anhand mehrerer Ausführungsbeispiele
im Detail erläutert.
-
Es
zeigen:
-
1 ein
Ausführungsbeispiel
der Erfindung,
-
2 einen
Ausschnitt aus dem Ausführungsbeispiel
gemäß 1,
-
3 ein
Signal-Zeitdiagramm mit verschiedenen Signalen zur Erläuterung
des Synchronisationsvorgangs,
-
4 ein
Signal-Zeitdiagramm mit verschiedenen Signalen zur Darstellung eines
Speichervorgangs,
-
5 ein
Ausführungsbeispiel
des Verfahrens,
-
6A bis 6C mehrere
Signal-Zeitdiagramme zur Darstellung von Signalen auf einem Drei-Leiter-Bus.
-
1 zeigt
eine Ausführungsform
der erfindungsgemäßen Speichereinrichtung.
Diese ist Teil eines hier nicht näher dargestellten Hochfrequenzbausteins,
der integrierte Schaltungen zur Hochfrequenzsignalübertragung
enthält.
In der Speichereinrichtung sollen verschiedene Betriebs- und Einstellparameter
abgelegt werden. Diese können
dann von den einzelnen Schaltkreiselementen der integrierten Hochfrequenzschaltung
ausgewertet werden. Mittels der in der Speichereinrichtung abgelegten
Parameter werden verschiedene Funktionen des integrierten Hochfrequenzbausteins
angesprochen und aktiviert. Beispielsweise können diese besondere Testfunktionen enthalten;
um Signalqualität
oder verschiedene Betriebsarten zu testen. Andere Bereiche werden beispielsweise
als Kundenregister offen gelegt, in dem Benutzer anwendungsspezifische
Daten ablegen können.
Dadurch wird der integrierte Hochfrequenzbaustein besonders flexibel
und kann für
mehrere verschiedene Anwendungen benutzt werden.
-
Die
Speichereinrichtung gemäß 1 zeigt eine
Registereinrichtung 20 mit einer Adressschaltung ADR und
mehreren parallelen Registern R1, R2 und R3. Die Registereinrichtung 20 umfasst
einen Dateneingang 21, dem ein paralleles Datenwort zugeführt wird.
Das parallel zugeführte
Datenwort besteht aus einer Anzahl sogenannter Adressbits, in der eine
Adresse einer der drei Register R1, R2 oder R3 abgelegt ist. Die
Adressbits werden von der Adresseinheit ADR ausgewertet. Weiterhin
enthält
das Datenwort mehrere Datenbits, die in dem von der Adresseinheit
ADR ausgewählten
Register R1, R2 oder R3 abgelegt werden. Die Dateninhalte der einzelnen
Register werden wiederum von dem nicht näher gezeigten Schaltkreiselementen
des Hochfrequenzbausteins ausgelesen.
-
Eine Übernahme
eines am Dateneingang 21 anliegenden Datenwortes erfolgt
mit einer steigenden Taktflanke eines am Taktsignaleingang CLK anliegenden
Taktsignals. Ein Datenwort am Eingang 21 wird daher parallel
mit einem Takt am Taktsignaleingang CLK von der Adresseinheit ADR
ausgewertet und in eine der Registereinrichtungen R1, R2 oder R3
abgelegt.
-
Die
Aufnahme in die Registereinrichtung 20 und spätere Signalverarbeitung
erfolgt mit einem innerhalb des Hochfrequenzbausteins erzeugten
Systemtakt. Dieser kann sowohl in seiner Frequenz als auch in seiner
Phase unterschiedlich zu einem extern verwendeten Takt sein. In
diesem Zusammenhang spricht man von einer Asynchronität zwischen
einem externen Taktsignal und dem intern verwendeten Taktsignal.
Für die
Programmierung der einzelnen Register R1, R2 und R3 innerhalb der
Registereinrichtung 20 hat sich der sogenannte Drei-Leiter-Bus als Standard
etabliert. Dieser umfasst eine Datenleitung, auf dem die einzelnen
Datenbits in serieller Form übertragen
werden. Eine Anzahl von Datenbits ist zu einem Datenwort be ziehungsweise
einem sogenannten Telegramm zusammengefasst. Eine Übertragung
eines Datenwortes wird auf einer sogenannten Enable-Leitung in Form
eines Signals angezeigt. Zudem ist vorgesehen, dass jedes Datenbit
eines Datenwortes bei einer Taktflanke eines Taktsignals auf einer
dritten Leitung des Drei-Leiter-Busses übertragen wird. Da das Taktsignal
auf der dritten Leitung des Drei-Leiter-Busses häufig asynchron zu dem intern
verwendeten Systemtakt ist, muss eine Synchronisierung der einzelnen
Datenbits beziehungsweise des Datenwortes auf dem intern verwendeten
Systemtakt erfolgen.
-
Dazu
enthält
die Speichereinrichtung einen Zwischenspeicher 8, der einen
ersten Eingang 1 zur Zuführung des Datenwortes TWB_DATA
umfasst. Das Datenwort TWB_DATA an dem Eingang 1 wird mit
seinen einzelnen Datenbits seriell eingelesen. Dazu enthält der Zwischenspeicher 8 einen
Taktsignaleingang 2 zur Zuführung des externen Taktsignals TWB_CLK.
An einem weiteren Eingang 3 liegt das Zustandssignal TWB_DATA_EN_N
an, das anzeigt, ob auf der Datenleitung ein Datenwort TWB_DATA übertragen
wird.
-
Der
Zwischenspeicher 8 liest das extern angelegte Datenwort
TWB_DATA an seinem Eingang mithilfe des externen Taktsignals TWB_CLK
am Takteingang 2 ein. Ausgangsseitig ist der Zwischenspeicher 8 mit
einer Multiplexereinheit 9 verbunden. Diese ist mit ihrem
Ausgang 91 an den Dateneingang 21 der Re gistereinrichtung 20 angeschlossen.
Die Multiplexereinheit 9 umfasst weiterhin einen Steuereingang 92.
Dem Steuereingang wird ein Signal zugeführt. Mit diesem kann die Multiplexereinheit 9 einen ihrer
beiden Eingänge
auswählen
und diesen auf ihren Ausgang 91 legen. In dieser Ausgestaltung
wandelt der Zwischenspeicher 8 das seriell eingelesene Datenwort
in ein paralleles Datenwort und gibt es an seinem Ausgang ab.
-
Zur
Synchronisation ist eine Synchronisationsschaltung vorgesehen. Diese
enthält
einen Synchronisator 66, der eingangsseitig an den Zustandseingang 3 für das Zustandssignal TWB_DATA_EN_N
und an einen zweiten Takteingang 4 für das interne Taktsignal SYS_CLK
angeschlossen ist. Der Synchronisator 66 enthält zwei
in Reihe geschaltete Flip-Flop-Schaltungen,
mit deren Hilfe das Zustandssignal TWB_DATA_EN_N auf den intern
verwendeten Systemtakt dem Taktsignal SYS_CLK synchronisiert wird.
Dabei wird TWB_DATA_EN_N an den Dateneingang des ersten Flip-Flops
angelegt und SYS_CLK als Taktsignal verwendet.
-
Zusätzlich wird
der Synchronisator 66 auch zur Überprüfung des Vorhandenseins des
internen Taktsignals SYS_CLK verwendet. Dazu gibt der Synchronisator 66 ein
entsprechendes Schaltsignal SYNC_Mode ab. Wenn der Systemtakt läuft, wechselt
dieses seinen Zustand, beispielsweise vom Zustand "high" in den Zustand "low", wodurch angezeigt wird,
dass eine Übernahme
eines Datenwortes in die Registereinrichtung synchron zu dem intern
verwendeten Taktsignal SYS_CLK erfolgen soll.
-
Darüber hinaus
ist ein Pulsgenerator 70 vorgesehen, der mit einem ersten
Eingang an den Zustandseingang 3 und mit einem zweiten
Eingang an den zweiten Takteingang angeschlossen ist. Der Taktgenerator 70 erzeugt
aus einer steigenden Flanke des Zustandssignals TWB_DATA_EN_N einen Puls,
der eine gewisse Länge
aufweist, um ein Synchronisieren auf das zweite Taktsignal SYS_CLK
zu ermöglichen.
Gleichzeitig wird dieses Pulssignal mithilfe von zwei weiteren in
Reihe geschalteten Flip-Flops
auf das zweite Taktsignal SYS_CLK synchronisiert.
-
Die
Regelschaltung 60, die eingangsseitig mit dem Pulsgenerator 70 und
dem Synchronisator 66 verbunden ist, wertet die unterschiedlichen
Signale aus und erzeugt zum richtigen Zeitpunkt eine Taktsignal
an ihrem Ausgang 621a. Das Taktsignal am Ausgang 621a wird
immer dann erzeugt, wenn ein Datenwort am Dateneingang 21 der
Registereinrichtung 20 anliegt. Dieses wird dann von der
Registereinrichtung 20 in das entsprechende Register R1,
R2 oder R3 übernommen.
-
Wenn
das zweite Taktsignal SYS_CLK nicht aktiv ist, wird dies von dem
Synchronisator 66 der Regelschaltung 60 mitgeteilt.
In diesem Fall erzeugt die Regelschaltung 60 aus dem Zustandssignal TWB_DATA_EN_N
ein Taktsignal und gibt dieses an das Register 20 ab. Dadurch
wird gewährleistet,
dass die Registereinrichtung 20 auch ohne zweites Signal ein
an ihrem Eingang 21 anliegendes Datenwort übernimmt.
-
2 zeigt
eine konkrete Ausführungsform mit
den unterschiedlichen Taktsignalen, dem Zwischenspeicher 8 und
der Regelschaltung 60. Wirkungs- beziehungsweise funktionsgleiche
Bauelemente tragen die gleichen Bezugszeichen. Der Zwischenspeicher 8 umfasst
hier zwei Schieberegister 80 und 85, die zur Abgabe
eines parallelen Datenwortes ausgeführt sind. Die Ausgänge der
Schieberegister 801 beziehungsweise 851 sind an
die Eingänge 93 beziehungsweise 94 des
Schalters 9 angeschlossen.
-
Die
Dateneingänge 802 und 852 der
Schieberegister 80 und 85 sind mit dem Dateneingang 1 zur
Zuführung
des seriellen Datenwortes TWB_DATA verbunden. Ihre Takteingänge CLK
sind an Takttore 86 beziehungsweise 84 angeschlossen.
Die Taktsignaleingänge
CLK der beiden Takttore 86 und 84 sind mit dem
ersten Taktsignaleingang 2 zur Zuführung des externen Taktsignals
TWB_CLK verbunden. Weiterhin enthalten die Takttore 86 und 84 einen
Rktivierungseingang EN. Dieser aktiviert das jeweilige Takttor,
wodurch das Taktsignal an dem Taktsignaleingang CLK an dem entsprechenden
Ausgang gCLK abgegeben wird.
-
Die
beiden Takttore 86 und 84 werden wechselweise
angesteuert. Dazu sind den Aktivierungseingängen EN jeweils ein logisches
UND-Gatter 83 vorgeschaltet. Zwei erste Eingänge der
logischen UND-Gatter 83 sind an den Zustandseingang 83 für das Zustandssignal
TWB_DATA_EN_N angeschlossen. Ein erster Eingang des logischen UND-Gatters 83 für das Takttor 86 ist über einen
Inverter 81 einerseits mit dem ersten Eingang des logischen UND-Gatters 83 für das zweite
Takttor 84 und andererseits an einen Datenausgang Q eines
Flip-Flops 82 angeschlossen. Das Flip-Flop 82 ist
als rückgekoppeltes
Flip-Flop ausgebildet. Der invertierte Datenausgang Q' ist an seinen Dateneingang
zurückgeführt. Als
Taktsignal erhält
das Flip-Flop an
seinem Takteingang das Zustandssignal TWB_DATA_EN_N.
-
Mit
dieser Schaltung erfolgt bei jeder steigenden Taktflanke des Zustandssignals TWB_DATA_EN_N
ein Wechsel zwischen den beiden Takttoren 86 und 84.
Ein nach einer fallenden Flanke des Zustandssignals TWB_DATA_EN_N
am Dateneingang 1 anliegendes serielles Datenwort TWB_DATA
wird mithilfe des externen Taktsignals TWB_CLK in das jeweils ausgewählte Schieberegister 80 beziehungsweise 85 eingelesen.
An den Ausgängen 801 und 851 des
Schieberegisters 80 beziehungsweise 85 steht je weils
ein paralleles Datenwort umfassend n-Datenbits und k-Adressbits an. Diese werden
jeweils dem Umschalter 9 zugeführt.
-
Das
zweite Schieberegister inklusive des zweiten Takttores ist notwendig,
um für
eine Synchronisierung ausreichend Zeit zur Verfügung zu stellen. Dadurch wird
gewährleistet,
dass ein serielles Datenwort in die Registereinrichtung 20 übertragen
werden kann. Wenn während
des Synchronisationsvorgangs, der zwar einige Zeit benötigt, ein
weiteres Wort am Dateneingang 1 anliegt, kann dieses in
das nunmehr zweite ausgewählte
Schieberegister geschrieben werden.
-
Zur
Synchronisation und insbesondere zur Übernahme des Datenwortes in
die Registereinrichtung 20 wird der Regelschaltung das
Steuersignal SYNC_MODE an ihrem Eingang 6 zugeführt. Dieses wird
aus der Synchronisationsschaltung 66 erzeugt und zeigt
an, ob das zweite Taktsignal SYS_CLK vorhanden ist und daher die
Programmierung der Registereinrichtung 20 synchron zu dem
zweiten Taktsignal erfolgen kann. Dazu bildet der Eingang 6 gleichzeitig
auch einen Steuereingang eines Schalters 62. Der Schalter 62 umfasst
einen ersten Eingang 623 sowie einen zweiten Signaleingang 622.
Ausgangsseitig ist er an den Takteingang CLK der Registereinrichtung 20 angeschlossen.
-
Weiterhin
ist der Ausgang 621 des Schalters 62 an den Taktsignaleingang
eines rückgekoppelten Flip-Flops 61 geführt. Der
Datenausgang Q des rückgekoppelten
Flip-Flops 61 ist mit dem Steuereingang 92 des
Schalters 9 zur Auswahl eines seiner beiden Eingänge 93 oder 94 verbunden.
Der rückgekoppelte Flip-Flop 61 invertiert
mit jedem Taktsignal am Ausgang 621 des Schalters 62 seinen
Datenausgang Q und koppelt so wech selweise eine der beiden Eingänge 93 beziehungsweise 94 mit
dem Ausgang 91 des Schalters 9.
-
Der
Schalter 62 ist mit einem ersten Eingang 623 an
den Zustandseingang 3 für
das Zustandssignal TWB_DATA_EN_N angeschlossen. Für den Fall, dass
kein zweites Taktsignal vorhanden ist schaltet das Steuersignal
SYNC_Mode den Schalter 62 so, dass der Takteingang CLK
der Registereinrichtung 20 das Zustandssignal TWB_DATA_EN_N
als Takt erhält.
Bei einer steigenden Taktflanke, die das Ende eines seriellen Datenwortes
TWB_DATA am Eingang 1 anzeigt, wird dieses in die Registereinrichtung übernommen.
-
Der
zweite Eingang 622 des Schalters 62 ist an einen
Ausgang eines Takttores 63 angeschlossen: Einem Takteingang
CLK des Takttores 63 wird das zweite Taktsignal SYS_CLK
am zweiten Taktsignaleingang 4 zugeführt. Takttor 63 weist
ebenso einen Aktivierungseingang EN auf, der an den Ausgang eines
logischen Gatters 64 angeschlossen ist. Ein erster Eingang
des logischen UND-Gatters 64 ist an den Pulseingang 5 geführt zur
Zuführung
des synchronisierten Pulses EN_STB_SYNC des Pulsgenerators 70.
Ein zweiter Eingang des logischen Gatters führt an den invertierten Datenausgang
eines Flip-Flops 65. Der Dateneingang des Flip-Flops 65 ist an
dem Pulseingang 5, der Taktsignaleingang an den zweiten
Taktsignaleingang 4 angeschlossen.
-
Der
Pulsgenerator 70 erzeugt das synchronisierte Pulssignal
EN_STB_SYNC mithilfe von zwei in Reihe geschalteten Flip-Flops. Dieses wird
dazu verwendet, das Takttor 63 zu aktivieren. Dabei stellen das
Flip-Flop 65 sowie das logische UND-Gatter 64 sicher, dass das
Takttor 63 immer nur einen Takt puls des zweiten Taktsignals
SYS_CLK an den Eingang 622 des Schalters 62 abgibt.
-
3 zeigt
verschiedene Signale für
einen Ablauf einer Programmierung eines Datenwortes mit den Synchronisiersignalen.
Deutlich zu erkennen ist der zeitliche Abstand von zwei Taktsignalen
zwischen dem Zustandssignal TWB_DATA_EN_N und dem synchronisierten
zur Erzeugung des Signals SYNC_Mode verwendeten Zustandssignals DATA_EN_SYNC_N.
Die zeitliche Verschiebung rührt
von der Auswertung mit den zwei in Reihe geschalteten Flip-Flops
durch den Synchronisator 66. Bei einer steigenden Taktflanke
des Zustandssignals TWB_DATA_EN_N, die gleichzeitig auch das Ende des
Datenwortes anzeigt, wird ein entsprechendes Pulssignal mit einer
Länge von
zwei Taktflanken erzeugt.
-
Das
Pulssignal TWB_EN_STB muss nicht synchron zu dem zweiten Taktsignal
SYS_CLK sein. Eine Synchronisierung erfolgt ebenfalls mithilfe zweier
in Reihe geschalteter Flip-Flops und ergibt das synchronisierte
Pulssignal EN_STB_SYNC. Diese Synchronisierung wird von der Generatorschaltung 70 vorgenommen.
-
4 zeigt
den weiteren Ablauf für
die Programmierung anhand der verschiedenen Signale. Zum Zeitpunkt
A wechselt das Zustandssignal TWB_DATA_EN_N vom logischen niedrigen
Zustand auf den logisch hohen Zustand und zeigt das Ende eines Datenwortes
an. Gleichzeitig wird ein Puls TWB_EN_STB erzeugt. Dieser ist ausreichend
lang, um eine Synchronisation auf das zweite Taktsignal SYS_CLK
zu gewährleisten.
In der Generatorschaltung 70 sowie in dem Synchronisator 66 wird
das Zustandssignal TWB_DATA_EN_N und das Pulssignal TWB_EN_STB auf
das zweite Taktsignal SYS_CLK synchronisiert. Die beiden synchronisierten
Signale DATA_EN_SYNC_N und EN_STB_SYNC wechseln auf einen logisch
hohen Zustand zwei Takte nach dem Zeitpunkt A.
-
Gleichzeitig
wechselt zum Zeitpunkt A am Datenausgang Q des Flip-Flops 82 von
einem logisch niedrigen Pegel auf einen logisch hohen Pegel. Dadurch
wird das Schieberegister im Hilfsspeicher 8 gewechselt
und das bislang nicht verwendete Schieberegister für die Speicherung
eines weiteren Datenwortes aktiviert.
-
Das
synchronisierte Pulssignal EN_STB_SYNC wird dem Dateneingang D des Flip-Flops 65 zugeführt. Dadurch
wechselt der invertierte Ausgang Q' des Flip-Flops 65 auf einen
logisch hohen Pegel. Dies führt
dazu, dass das Takttor 63 nun aktiviert wird und genau
eine Taktflanke zum Zeitpunkt B an den Auswahlschalter 62 weitergibt. Diese
Taktflanke dient dazu, dass am Dateneingang 21 der Registereinrichtung 20 anliegende
Datenwort in dieselbige zu übernehmen.
-
Der
Zeitpunkt des Umschaltens mit dem Schalter 62 vom Zustandssignal
TWB_DATA_EN_N auf das zweite Taktsignal SYS_CLK ist wichtig, weil sichergestellt
werden muss, dass zu diesem Zeitpunkt das zweite Takttor 63 nicht
transparent ist. Ansonsten würden
Taktsignale am Eingang 622 des Schalters 62 anliegen,
was zu einem Fehlverhalten in der Registereinrichtung 20 führen würde. Dies
ist vor allem bei Verwendung der Speichereinrichtung für Signale
nach dem DigRF-Standard notwendig.
-
Die
minimale Länge,
bei dem das Zustandssignal TWB_DATA_EN_N bei einem Lesezugriff für den DigRF-Standard
den logisch niedrigen Zustand aufweist, beträgt fünf Taktzyklen. Dies setzt sich,
wie in der 6c zu sehen, aus einem Schreib beziehungsweise
Lesebit W, R sowie den vier folgenden Adressbits A0, ..., A4 zusammen.
Damit die Synchronisierung des Zustandssignals TWB_DATA_EN_N auf
das zweite Taktsignal SYS_CLK und die Erzeugung des synchronisierten
Zustandssignals DATA_EN_SYNC_N sicher abgeschlossen werden kann,
muss mindestens drei Taktzyklen des zweiten Taktsignals SYS_CLK
gewartet werden. Zum Lesen des synchronisierten Signals ist noch
ein weiterer Taktzyklus notwendig. Dies bedeutet, dass der Schalter 62 vier
Taktzyklen nach Auftreten der Flanke des Zustandssignals TWB_DATA_EN_N
umgeschaltet werden kann. Es bleibt dann weiterhin ein Taktzyklus
Sicherheitsreserve, bis das Takttor 63 das Programmiersignal
CLK_REC durchlässt.
Grundsätzlich ist
jedoch die Anzahl der Adress- beziehungsweise Datenbits nicht festgelegt.
Eine Abschaltung des zweiten Taktsignals SYS_CLK ist einfacher,
da konstruktionsbedingt eine zeitlang nach der Übernahme des Datenwortes in
die Registereinrichtung 20 kein weiteres Taktsignal kommen
kann. Eine Zurückschaltung
auf das Zustandssignal TWB_DATA_EN_N ist daher gefahrlos möglich.
-
Bei
der Erzeugung des Programmiersignals CLK_REC wird auch erreicht,
dass das Flip-Flop 61 umschaltet und somit die Daten und
die Adresse aus dem jeweils anderen Schieberegister 80 beziehungsweise 85 an
den Dateneingang 21 der Registereinrichtung 20 anliegt.
Mit der Erfindung wird sichergestellt, dass wenn immer möglich in
der Registereinrichtung 20 synchron zu dem zweiten Signaltakt
die extern zugeführten
Datenworte abgelegt werden. Dadurch können diese von den weiteren
Schaltkreiselementen verwendet werden, ohne dass eine zusätzliche
Synchronisation der einzelnen Datenbits notwendig wird. Demnach
wird eine Synchronisation an einer zentralen Stelle vorgenommen.
Gleichzeitig bleibt gewährleistet,
dass bei einem nicht verwendeten zweiten Taktsignal das Datenwort
mit jeder zweiten Taktflanke des Zustandssignals TWB_DATA_EN_N in
die jeweilige Registereinrichtung 20 übernommen wird. Dies ist insbesondere zweckmäßig, da
dieses Zustandssignal angibt, ob Daten auf der Datenleitung vorhanden
sind.
-
Die 5 zeigt
eine Ausführungsform
des Verfahrens. In einem ersten Schritt S1 wird ein erstes Taktsignal,
ein Zustandssignal und eine serielles Datenwort bereitgestellt.
Das Zustandssignal weist einen ersten und einen zweiten Zustand
auf. Es befindet sich immer dann in dem ersten Zustand, wenn Datenbits übertragen
werden. andernfalls weist es den zweiten Zustand auf. Weiterhin
ist eine Registereinrichtung zur Speicherung des seriellen Datenwortes
vorgesehen.
-
In
Schritt S2 wird das serielle Datenwort mithilfe des ersten Taktsignals
zwischengespeichert. Diese Zwischenspeicherung kann bevorzugt in Schieberegistern
erfolgen. Alternativ ist es auch denkbar, das serielle Datenwort
in ein paralleles Datenwort zu wandeln und dieses für eine folgende Übernahme
in die Registereinrichtung bereit zu halten.
-
Anschließend wird
in Schritt S3 überprüft, ob ein
zweites Taktsignal vorhanden ist. Sofern dieses existiert, ist es
zweckmäßig, das
zu speichernde Datenwort mit dem zweiten Taktsignal zu synchronisieren
und dieses Synchron zu dem Taktsignal in die Registereinrichtung
zu übernehmen.
Dadurch bleibt gewährleistet,
dass keine Datenverluste beziehungsweise Datenfehler während der Übernahme
auftreten können.
Ist das zweite Taktsignal nicht vorhanden lässt sich dazu in geeigneter
Weise das Zustandssignal verwenden.
-
Wenn
das zweite Taktsignal vorhanden ist, wird in Schritt S4 aus dem
Zustandssignal ein Puls erzeugt und dieser Puls auf das zweite Taktsignal synchronisiert.
Die Erzeugung eines Pulses geschieht bevorzugt bei einem Auftreten
einer Taktflanke im Zustandssignal. Anschließend wird in Schritt S5 der
so erzeugte Puls auf das zweite Taktsignal synchronisiert und der
Taktpuls mit dem synchronisierten Puls und zeitlich verschoben zu
dem Auftreten der Taktflanke im Zustandssignal erzeugt.
-
Die Übernahme
des zwischengespeicherten Datenwortes in die Registereinrichtung
erfolgt mit diesem Taktpuls.
-
Wenn
das zweite Taktsignal nicht vorhanden ist, wird in Schritt S6 das
zwischengespeicherte Datenwort in die Registereinrichtung mithilfe
des Zustandssignals übernommen.
Dies erfolgt durch zeitliches Auswerten des Zustandssignals, in
dem das parallele Datenwort in die Registereinrichtung übernommen
wird, bevorzugt bei Auftreten einer Taktflanke im Zustandssignal
oder verschoben zu dieser aufgetretenen Taktflanke im Zustandssignal.
-
- 1
- Dateneingang
- 2
- erster
Takteingang
- 3
- Zustandseingang
- 4
- zweiter
Takteingang
- 5
- Pulseingang
- 6
- Reglereingang
- 8
- Speicher
- 9
- Schalter,
Multiplexer
- 20
- Registereinrichtung
- 21
- Dateneingang
- 60
- Regelschaltung
- 61
- Flip-Flop
- 62
- Schaltvorrichtung
- 63
- Takttor
- 64
- logisches
UND-Gatter
- 65
- Flip-Flop
- 66
- Synchronisator
- 70
- Pulsgenerator
- 80,
85
- Schieberegister
- 81
- Inverter
- 82
- Flip-Flop
- 83
- logische
UND-Gatter
- 84,
86
- Takttore
- 91
- Signalausgang
- 92
- Steuereingang
- 93,
94
- Dateneingang
- 622,
623
- Signaleingänge
- 621
- Signalausgang
- 801,
851
- Datenausgang
- 802,
852
- Dateneingang
- EN
- Aktiviereingang
- CLK
- Takteingang
- Q,
Q'
- Datenausgang
- D
- Dateneingang
- TWB_DATA
- serielles
Datenwort
- TWB_CLK
- erstes
Taktsignal
- TWB_DATA_EN_N
- Zustandssignal
- SYS_CLK
- zweites
Taktsignal
- EN_STB_SYNC
- synchronisierter
Taktpuls
- SYNC_MODE
- Regelsignal
- DATA_EN_SYNC_N
- synchronisiertes
Zustandssignal