-
Gebiet der Erfindung
-
Die Erfindung bezieht sich auf eine
mobile Funkeinrichtung mit einer Zeitsynchronisierungsvorrichtung
und auf ein Verfahren zum Durchführen
von Zeitsynchronisierung zwischen einer Basisstation und der mobilen
Funkeinrichtung.
-
Hintergrund
der Erfindung
-
In einer zellularen Kommunikation
tauschen mobile Funkeinrichtungen (d. h. "Funkeinrichtung") und
Basisstationen (d. h. "Basis") Daten- und Steuersignale aus. Die
Basis kann mehr als einer Funkeinrichtung dienen, und mehrere Basen
können
eine Vielzahl von Funkeinrichtungen in einem definierten geographischen
Bereich dienen. Im Allgemeinen kommuniziert eine einzelne Funkeinrichtung
jeweils mit einer Basis. Die Funkeinrichtung und die Basis sollten
zeitsynchronisiert sein, damit die gesendeten und empfangenen Signale
durch die Funkeinrichtung und die Basis richtig ausgewertet werden
können.
-
Sowohl in der Funkeinrichtung als
auch in der Basis gibt es Timingeinheiten für Timingereignisse, die in
der Funkeinrichtung und der Basis ausgeführt werden. Solche Timingeinheiten
können
einen oder mehrere Zähler
umfassen. Ein Beispiel für
diese Technik wird in der internationalen Patentanmeldung WO 97/16893
angegeben. Die Zähler
werden verwendet, um verschiedene Ereignisse, die in der Funkeinrichtung
und der Basis eintreten, zu timen und um Zählerintervalle zu messen. Zum
Beispiel kann ein Zähler
die Anzahl der Kommunikationsrahmen zählen, die zwischen Basis und
Funkeinrichtung ausgetauscht werden, und ein anderer Zähler kann
verwendet werden, um Ereignisse, die in einem Kommunikationsrahmen
auftreten, zu triggern. Damit die Funkeinrichtung und die Basis
richtig funktionieren, sollen die Timingzähler in der Funkeinrichtung
und der Basis periodisch synchronisiert sein.
-
Zwischen den Timingzählern der
Funkeinrichtung und der Basis kann eine Fehlanpassung auftreten,
z. B. als ein Ergebnis eines Handovers einer Funkeinrichtung zwischen
zwei Basisstationen oder aufgrund einer Bewegung der Funkeinrichtung,
die die Ausbreitungszeit der zwischen der Basis und der Funkeinrichtung
ausgetauschten Signale verändert. Um
den Timingzähler
der mobilen Funkeinrichtung und den Timingzähler der Basisstation zu synchronisieren,
werden Timingsignale periodisch von eine zur anderen gesendet, und
es wird eine Fehlanpassung berechnet und ein oder beide Timingzähler werden angepasst.
Für gewöhnlich wird
der Zähler
in der mobilen Funkeinrichtung angepasst.
-
Vorrichtungen nach dem Stand der
Technik zum Synchronisierendes Timingzählers einer mobilen Funkeinrichtung
haben verschiedene Nachteile. Ein Zurücksetzen des Timingzählers kann
den normalen Betrieb der Funkeinrichtung stören, insbesondere dann, wenn
das Zurücksetzen
des Timings auftritt, während
sich die Timingeinheit mitten in der Zeitplanung oder dem Triggern
einer Operation in der Funkeinrichtung befindet.
-
Ein weiteres Problem des Standes
der Technik besteht darin, dass häufig ein Synchronisieren zwischen
einem Mikroprozessor, der die Funkeinrichtung steuert, und der Timingeinheit
fehlt. Wenn der Mikroprozessor gerade in dem Augenblick eine Timeraktualisierungsprozedur
initiiert, wenn der Timingzähler
dazu übergeht,
mit einer neuen Zählung zu
beginnen, kann eine vollständige
Zählperiode
versäumt
werden.
-
Ein weiteres Problem in dem Stand
der Technik besteht in der Notwendigkeit, die Zeitspanne zwischen
dem Lesen des Timingzählerwertes
und dem Schreiben eines aktualisierten Wertes in den Timingzähler zu
kompensieren. Diese Zeitspanne kann variieren, z. B. aufgrund von
Mikroprozessorunterbrechungen, wodurch verursacht wird, dass das
Synchronisieren ungenau ist.
-
Dementsprechend gibt es einen anhaltenden Bedarf
für eine
verbesserte Vorrichtung und ein verbessertes Verfahren zum Synchronisieren
von Timing in getrennten Funkeinrichtungen.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein vereinfachtes schematisches Diagramm eines Funksystems, das
eine Synchronisierungseinrichtung hat, gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung;
-
2 ist
ein vereinfachtes schematisches Diagramm des Funksystems von 1, das weitere Details der
Synchronisierungseinrichtung zeigt, gemäß einer ersten Ausführungsform;
-
3 ist
ein vereinfachtes schematisches Diagramm der Synchronisierungsvorrichtung
von 2, das weitere Details
zeigt, gemäß einer
zweiten Ausführungsform;
-
4 ist
ein vereinfachtes schematisches Diagramm der Synchronisierungsvorrichtung
von 3, das noch weitere
Details zeigt;
-
5 ist
ein vereinfachtes schematisches Diagramm, das bildhaft zeigt, wie
ein "ZÄHLER
NEU LADEN"-Befehl zur Verfügung
gestellt wird, um den Timingzähler
zu aktualisieren; und
-
6 ist
ein Flussdiagramm eines Verfahrens zum Synchronisieren der Funkeinrichtung
gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
Zusammenfassung
der Erfindung
-
Das zugrundeliegende Problem der
Erfindung wird im Wesentlichen durch Anwenden der in den unabhängigen Ansprüchen dargelegten
Merkmale gelöst.
Bevorzugte Ausführungsformen
werden in den abhängigen
Ansprüchen
dargestellt.
-
Ein Vorteil der vorliegenden Erfindung
besteht darin, dass sie eine Funkeinrichtung mit genauer Synchronisierung
zur Verfügung
stellt, während sie
Konflikte mit anderen getimten Operationen der Funkeinrichtung minimiert
oder vermeidet.
-
Beschreibung
einer bevorzugten Ausführungsform
-
Die hierin verwendeten Wörter ,Funkeinrichtung'
oder ,Funkvorrichtung' oder ,Funksignale' und dergleichen sollen
nicht auf eine besondere Betriebsfrequenz oder auf Signale, die
sich lediglich durch die Luft ausbreiten, beschränkt sein, sondern sollen Kommunikationsvorrichtungen
jeglicher Art umfassen, die Timinginformationen durch ein beliebiges Ausbreitungsmittel,
Gas, Flüssigkeit,
Festkörper
oder Weltraum und bei einer beliebigen Ausbreitungsfrequenz austauschen.
-
1 ist
ein vereinfachtes schematisches Diagramm des Funksystems 9,
das die mobile Funkeinrichtung 10 hat, die in Funkkommunikation
mit der Basisstation 12 arbeitet. Die Funkeinrichtung 10 hat die
Synchronisierungsvorrichtung 14, gemäß einer bevorzugten Ausführungsform
der Erfindung. Die Synchronisierungsvorrichtung 14 umfasst
die Timingeinheit 16 und die Steuereinheit 18.
Die Funkeinrichtung 10 hat außerdem den Transceiver 22,
das optionale Peripheriegerät 24 und
die Antenne 11. Die Steuereinheit 18 ist zweckmäßigerweise
ein Prozessor, der den Betrieb der Funkeinrichtung 10 als
Ganzes steuert. Der Transceiver 22 und die Antenne 11 sind
konventionell. Die Timingeinheit 16, die Steuereinheit 18,
der Transceiver 22 und das Peripheriegerät 24 werden
zweckmäßigerweise
durch den Bus 15, je weils durch die Verbindungen 17, 19, 23 und 25 gekoppelt,
obwohl auch andere dem Fachmann gut bekannte Mittel zum Koppeln
solcher Elemente verwendet werden können. Die Basisstation 12 hat
die Timingeinheit 26 und die Antenne 13 und andere
konventionelle Elemente, die nicht dargestellt sind, dem Fachmann
aber gut bekannt sind.
-
Zu Erklärungszwecken wird angenommen, dass
die Basisstation 12 das Timingsynchronisierungssignal 27 zu
der mobilen Einheit 10 sendet, aber dies ist nicht essentiell,
und ein Synchronisierungssignal kann andersherum gesendet werden. Das
Synchronisierungssignal 27 wird, wie durch den Pfeil 29 angezeigt,
in der mobilen Einheit 10 mit dem Transceiver 22 und
von da durch den Bus 15 mit der Steuereinheit 18 und
der Timingeinheit 16 gekoppelt. Die Steuereinheit 18 und
die Timingeinheit 16 kooperieren, so wie ausführlicher
in Verbindung mit den nachfolgenden Abbildungen erklärt, um beliebige Diskrepanzen
zwischen den Timingeinheiten 26 und 16 zu korrigieren,
so wie durch die Signale 27, 29 kommuniziert,
ohne andere Optionen der Funkeinrichtung zu stören.
-
Obwohl die vorliegende Erfindung
für die
Situation dargestellt wird, in der die mobile Funkeinrichtung 10 Informationen
mit der Basisstation 12 austauscht, ist dem Fachmann klar,
dass die Basisstation 12 auch eine andere mobile Einheit
und die Funkeinrichtung 10 auch eine andere Basisstation
sein kann, d. h. die Elemente 10 und 12 können eine
beliebige Art von Funkeinrichtungen sein, zwischen denen eine Synchronisierung
von Ereigniszählern
oder internen Takten oder beidem aufrechterhalten werden muss. Die
hier verwendeten Wörter
"mobile Funkeinrichtung", "Funkeinrich tung" und "Basisstation" sollen
solche Variationen umfassen.
-
2 ist
ein vereinfachtes schematisches Diagramm der Funkeinrichtung von 1, das weitere Details der
Synchronisierungsvorrichtung 14 gemäß einer ersten Ausführungsform
zeigt. Es werden die selben Bezugszeichen verwendet, um gleiche Elemente
in den Abbildungen zu kennzeichnen. In 2 wird die Timingeinheit 16 so
dargestellt, dass sie umfasst, dass der Zähler 30 mit dem Bus 15 durch
die Busverbindung 31 und die Ausführungslogik 32 mit
dem Bus 15 durch die Busverbindung 33 gekoppelt
ist. Die Kooperation dieser Elemente wird in Verbindung mit den 4–6 ausführlicher
erklärt.
-
3 ist
ein vereinfachtes schematisches Diagramm des Funksystems 9 mit
der Funkeinrichtung 10', die zur Funkeinrichtung 10 von 2 analog ist, und das die
Synchronisierungsvorrichtung 14 hat, die ausführlicher
gemäß einer
zweiten Ausführungsform
dargestellt wird. Zum Zwecke der Erklärung wird der Transceiver 22 in
dem Funkeinrichtungsabschnitt 10' von 3 weggelassen. Zum Zwecke der Erklärung soll
ein Verweis auf die Funkeinrichtung "10" die Funkeinrichtung
"10'" umfassen und umgekehrt.
-
3 stellt
die Anordnung dar, bei der der Zähler 30,
die Ausführungslogik 32,
die Steuereinheit 18 und das Peripheriegerät 24 unabhängig von
dem Bus 15 gekoppelt werden. Jede Anordnung ist nützlich.
In 3 empfängt die
Steuereinheit 18 das Timingsynchronisierungssignal 29',
das zu dem Signal 29 der 1–2 analog ist. Der Ausgang 181 der Steuereinheit 18 ist
mit der Ausführungslogik 32 gekoppelt.
Die Ausführungslogik 32 hat
den Ausgang 321, der zu der Busverbindung 33 analog
ist, zum Koppeln mit anderen Abschnitten der in 3 nicht gezeigten Funkeinrichtung 10.
Der Ausgang 322 der Ausführungslogik 32 ist
mit der Steuereinheit 18 und der Ausgang 323 der
Ausführungslogik 32 ist
mit dem Zähler 30 gekoppelt.
Der Ausgang 301 des Zählers 30 ist
mit der Steuereinheit 18 und der Ausgang 302 ist
mit der Ausführungslogik 32 gekoppelt.
Die mit der Busverbindung 25 analoge Verbindung 324 koppelt das
Peripheriegerät 24 wechselseitig
mit der Ausführungslogik 32.
Der Zähler 30 empfängt den
Takteingang 31, der von einem Systemhaupttaktgeber (nicht gezeigt)
abgeleitet wird. Zweckmäßigerweise
bewirkt der Takteingang 31, dass der Zähler 30 für jedes
Takteingangssignal um einen Zählschritt
inkrementiert (oder dekrementiert) wird.
-
Während
die Funkeinrichtung 10 hierin so dargestellt wird, dass
sie nur eine Timingeinheit 16 und einen Zähler 30 hat,
ist dem Fachmann klar, dass die Funkeinrichtung 10 mehrere
Timingeinheiten 16 oder mehrere Zähler 30 oder beides
haben kann, die mit den zusammenhängenden Timingeinheiten und Zählern in
der Basisstation 12 synchronisiert werden können, und
dass die Darstellung nur einer Timingeinheit und eines Zählers in
der Funkeinrichtung 10 lediglich dem Zweck der Erklärung dient.
-
Die Steuereinheit 18 lädt eine
Sequenz von Anweisungen in die Ausführungslogik 32, so
dass es wünschenswert
ist, dass die Funkeinrichtung 10 z. B. während eines
Kommunikationssignalrahmens ausführt.
Die Ausführungslogik 32 umfasst
ein Speichern zum Empfangen dieser Anweisungen. Mit jeder Anweisung
ist ein Zeitwert verknüpft
(z. B. Zählerzählung),
wenn die besondere Anweisung ausgeführt werden soll, z. B. in einem
Kommunikationsrahmen. Solche Anweisungen sind jedoch nicht auf das
Verwenden in einem einzelnen Rahmen beschränkt. Die Ausführungslogik
führt jede
Anweisung zu der Zeit aus, die mit jeder Anweisung verknüpft ist,
wobei die Zeit zweckmäßigerweise
durch den Zähler 30 gemessen
wird.
-
Nachdem die Funkeinrichtung 10 das
von der Basisstation 12 abgeleitete Zeitsynchronisierungssignal 27, 29' empfangen
hat, verursacht die Steuereinheit 18 z. B. eine ,ZÄHLER NEU
LADEN'-Anweisung und eine Ausführungszeit,
die in der Ausführungslogik 32 gespeichert
werden soll, zusammen mit den anderen Anweisungen für den relevanten
Kommunikationsrahmen.
-
Das Synchronisierungssignal 27 kann
verschiedene Formen annehmen. Die Basis 12 kann z. B. einen
,Zeitwert' senden, wie z. B. eine Zählung oder ein anderes Timingsignal,
das durch die Timingeinheit 26 erzeugt wird. Dies ist zweckmäßig, wenn die
Basis 12 keine aktuelle Kenntnis über den Zeitstatus der Funkeinrichtungstimingeinheit 16 hat.
Alternativ kann die Basiseinheit 12 eine Zeitfehlanpassung
senden, wie z. B. die Zeitverschiebung, die auftritt, wenn die Funkeinrichtung 10 von
der einen Basis 1
2 zu einer anderen Basis in einer
Nachbarzelle eines zellularen Funksystems weitergereicht wird. Die Funkeinrichtung 10 ist
in der Lage, zu unterscheiden, ob durch die Basis 12 ein
Zeit- oder Offsetwert gesendet wird.
-
Wenn die Basis 12 einen
Zeitwert sendet, misst die Synchronisierungsvorrichtungslogik 14 den Unterschied
zwischen dem Zeitwert der Timingeinheit 26 und der Basis 12 und
dem Zeitwert der Timingeinheit 16 in der Funkeinrichtung 10,
um die Fehlanpassung zu finden, d. h. den Unterschied der Zeitwerte.
wenn die Basis 12 eine Fehlanpassung oder eine zu der Fehlanpassung
proportionale Größe sendet, dann
wird dies erkannt.
-
In beiden Fällen bestimmt die Steuereinheit 18 die
Zählkorrektur,
die bei dem Ausführen
der ,ZÄHLER
NEU LADEN'-Anweisung in den Zähler 30 geladen
werden muss, um den Zeitwert oder die Fehlanpassung zu berücksichtigen,
die durch das Signal 27, 29, 29' und
der Ausführungsverzögerungszeit
der ,ZÄHLER
NEU LADEN'-Anweisung kommuniziert werden.
-
Die Ausführungslogik führt die
gespeicherten Anweisungen nacheinander aus, wobei jede Anweisung
zu der verknüpften
Ausführungszeit,
die mit der Anweisung gespeichert ist, ausgeführt wird. Wenn die ,ZÄHLER NEU
LADEN'-Anweisung erreicht wird, verursacht die Ausführungslogik,
dass ein aktualisierter Zählwert
(Fehlanpassung F + Anweisungsausführungsverzögerungswert B) in den Zähler 30 geladen
wird, wodurch der Zähler 30 und
der Zähler 26 synchronisiert
werden. Die Kooperation der Elemente in 3 wird in Verbindung mit den 4–6 ausführlicher
erklärt.
Dann führt
die Ausführungslogik 32 jede
beliebige übrige
Anweisung zu den verknüpften
Ausführungszeiten
aus, die durch die korrigierte (d. h. ,zurückgesetzte') Zählung von
dem Zähler 30 bestimmt
wurde.
-
4 ist
ein vereinfachtes schematisches Diagramm der Vorrichtung 14 der
Funkeinrichtung 10, die die Timingeinheit 16 und
die Ausführungslogik 32 des
Funkeinrichtungsabschnitts 10' von 3 umfasst, das noch weitere Details zeigt.
Die selben Bezugsziffern werden verwendet, um die selben Elemente
in den Abbildungen zu zeigen.
-
Die Ausführungslogik 32 umfasst
den Komparator 36, den Adressengenerator 38, den
Dekodierer 40, den Anweisungs speicher 42 und das
Vorladeregister 46. Das Peripheriegerät 24 und der Zähler 30 werden
ebenso gezeigt. In dem Anweisungsspeicher 42 sind die Anweisungen
I(i) in den Speicherstellen 54 (i) gespeichert (siehe 5). Jede Anweisung I(i) umfasst
den EREIGNIS-Operanden 0(i), der in dem Speicherabschnitt 44 gespeichert
ist und führt
die ZEIT T(i) aus, die in dem Speicherabschnitt 45 gespeichert
ist. Die ZEIT T(i) spezifiziert die Ausführungszeit (z. B. in Zählungen
des Zählers 30)
des Operanden 0(i). Wenn der Speicher 42 adressiert wird,
werden sowohl der EREIGNIS-Operand als auch dessen Ausführungs-ZEIT
gespeichert oder abgerufen, je nach Lage des Falles. Die Steuereinheit 18 stellt
dem Speicher 42 den Ausgang 181 zur Verfügung, um
die Anweisungen I(i) zu laden.
-
Die Ausführungslogik 32 arbeitet
unter der Steuerung der Steuereinheit 18, die EREIGNIS-
und ZEIT-Anweisungen an den Speicher 42 liefert und empfängt über die
Leitung 401 eine Rückkopplung darüber, welche
Anweisungen durch den Dekodierer 40 dekodiert worden sind.
Der Speicher 42 stellt dem Dekodierer 40 den Ausgang 421 und
dem Komparator 36 den Ausgang 422 zur Verfügung. Der
Speicher 42 empfängt
außerdem
den Ausgang 381 von dem Adressengenerator 38.
Obwohl der Speicher 42 hier als ein einzelner Speicher
mit den EREIGNIS- und ZEIT-Abschnitten 44, 45 beschrieben
wird, dient dies lediglich dem Zweck der Erklärung, da dem Fachmann basierend
auf der hierin vertretenen Lehre klar ist, dass auch mehrere Speicher
verwendet werden können.
-
Der Dekodierer 40 empfängt Signale
von dem Speicher 42 auf der Leitung 421 und von
dem Komparator 36 auf der Leitung 361 und stellt
der Steuereinheit 18 den Ausgang 401 zur Verfügung. Der
Dekodierer 40 stellt zweckmäßigerweise dem Vorladeregister 46 den
Ausgang 402 oder/und dem Zähler 30 den Ausgang 403,
dem Rest der Funkeinrichtung 10 (in 4 nicht gezeigt) den Ausgang 404,
dem Komparator 36 den Ausgang 405 und dem Adressengenerator 38 den
Ausgang 406 zur Verfügung.
Wie ausführlicher
in Verbindung mit 5–6 erklärt,
wertet der Dekodierer 40 die von dem Speicher 42 gelieferten
Anweisungen aus und, gibt Befehle an die Elemente 18, 24, 30, 36, 38, 46,
gemäß der Natur
einer jeden Anweisung.
-
Der Adressengenerator 38 empfängt z. B. eine
Ende der Anweisung'-Nachricht von dem Dekodierer 40 und
erzeugt einen Befehl auf dem Ausgang 381, um die nächste Anweisung
in Abhängigkeit
von der Anweisung aus dem Speicher 42 in den Dekodierer 40 und
den Komparator 36 zu laden. Ebenso kann, in Abhängigkeit
von dem Anweisungsoperanden, der Dekodierer 40 ein Anweisungs-
oder Triggersignal an das Peripheriegerät 24 auf der Leitung 405 oder
an einen anderen Abschnitt (nicht gezeigt) der Funkeinrichtung 10 auf
dem Ausgang 404 ausgeben. Das Peripheriegerät 24 soll
irgendeinen beliebigen anderen Abschnitt der Funkeinrichtung 10 darstellen.
Die Leitung 404 kann auch mit dem Transceiver 22 koppeln.
-
Der Zähler 30 empfängt Timingtaktsignale auf
dem Eingang 31 und stellt dem Komparator 36 auf
der Leitung 302 Ereignistimingzählungen zur Verfügung. wenn
der Komparator 36 bestimmt, dass die von dem Zähler 30 empfangene
Timingzählung
mit der Ausführungs-ZEIT-Zählung T(i) übereinstimmt, die
von dem ZEIT-Abschnitt 45 des Anweisungsspeichers 42 in
Reaktion auf eine durch den Adressengenerator 38 erzeugte
Adresse in den Komparator 36 geladen wird, dann weist der
Komparator 36 den Dekodierer 40 an, den Anwei sungsoperanden
auszuführen,
der mit dem gegebenen ZEIT-Wert verknüpft ist.
-
Zum Beispiel wird für eine Synchronisierungsoperation
ein Zählkorrekturwert
C, der von dem Korrektursignal 29' durch die Steuereinheit 18 abgeleitet
oder erhalten wird, aus der Steuereinheit 18 über 182
in das Vorladeregister 46 heruntergeladen. Der Operand
O(N) für
,ZÄHLER
NEU LADEN' wird aus dem Speicherabschnitt 54(N) mit seiner
Ausführungszeit
T(N) gelesen, die in den Komparator 36 geladen wird. Wenn
der Komparator 36 bestimmt, dass die Zeit T(N) gekommen
ist, um die ,ZÄHLER
NEU LADEN'-Anweisung O(N) auszuführen,
gibt der Dekodierer 40 einen Befehl auf dem Ausgang 402 an das
Register 46 aus, um C auf 461 an den Zähler 30 zu senden
oder einen Befehl auf dem Ausgang 403 aus, um den Zähler 30 zu
veranlassen, C aus dem Register 46 über 461 abzurufen, wodurch
verursacht wird, dass C in den Zähler 30 geladen
wird, wobei die Timingzählung
dahingehend korrigiert wird, dass sie der Timingzählung der
Timingeinheit 26 oder einer anderen Synchronisierungsnotwendigkeit
entspricht.
-
5 zeigt
das vereinfachte schematische Diagramm 50, das bildhaft
darstellt, wie ein Zählerneuladebefehl
zur Verfügung
gestellt wird, um den Timingzähler 30 zu
aktualisieren. In den Speicherstellen 54 (i) in dem Speicher 42 sind
die Anweisungen I(i) gespeichert, die die EREIGNIS-Operanden 0(i) und
die verknüpften
ZEIT-Werte T(i) umfassen, wobei gilt i = 0 bis M >/= N, wobei i eine
ganze Zahl und M die letzte durch die Funkeinrichtung 10 auszuführende Anweisung,
z. B. während
eines besonderen Kommunikationsrahmens, ist. Die Anweisung ,ZÄHLER NEU
LADEN' wird als in die Speicherstelle 54(N) geladen dargestellt.
Die anderen An weisungen I(i), die in die Speicherstellen 54 (i)
= 54(0) ... 54(N – 1), 54(N
- 2) ... 54(N + 1), 54(N + 2) ... M geladen sind, werden ebenso
symbolisch dargestellt. Die genaue Natur dieser anderen Anweisungen
ist für
die vorliegende Erfindung nicht wichtig.
-
Mit jedem EREIGNIS-Operanden 0(i)
ist in der Speicherstelle 54 (i) ein Zeitwert T(i) verknüpft, für i = 0
... N – 2,
N – 1,
N, N + 1, N + 2, etc. N kann jeden beliebigen Wert annehmen, und
es ist nicht nötig,
dass es Anweisungen mit den Werten i > N gibt. Die Zeitwerte T(i) sind die zweckmäßigerweise
durch den Zähler 30 bestimmten
Zeiten, zu denen der entsprechende Operand 0(i) einer jeden
Anweisung I(i) ausgeführt
werden soll. Die Anweisungen I(i) werden durch die Steuereinheit 18 gemäß den Bedürfnissen des
Anwenders der Funkeinrichtung, seinen Betrieb zu steuern, in den
Speicher 42 geladen. Wenn auf den Speicher 42 zugegriffen
wird, werden die Anweisungen I(i), die den Operanden 0(i)
umfassen und der entsprechende Ausführungszeitwert T(i) bei der Speicheradresse 54 (i)
an die Logik 56 geliefert.
-
Die Logik 56 wird in 4 exemplarisch gezeigt,
aber dem Fachmann ist klar, dass die durch die Logik 56 durchgeführten und
hierin beschriebenen Funktionen durch die Elemente durchgeführt werden können, die
in einer beliebigen der 1–4 gezeigt werden. Wenn die Logik 56 die
Anweisung I(N) = führe
EREIGNIS [definiert durch O(N)] zur ZEIT [definiert durch T(N)]
durch = "ZÄHLER
NEU LADEN" zum Zeitpunkt T(N) empfängt, veranlasst sie den Zähler 30,
die korrigierte Zählung
"C" aus dem Register 46 abzurufen oder dem Register 46 wird
alternativ befohlen, die korrigierte Zählung C in den Zähler 30 herunterzuladen.
Beide Anordnungen sind nützlich. Wenn
der Zählkorrekturwert
C in den Zähler
30 geladen
wird, dann sind der Zähler 30 und
die Timingeinheit 26 (oder eine beliebige andere gewünschte Timingeinheit)
synchron. Die Art und Weise, in der C bestimmt wird, wird ausführlicher
in Verbindung mit 6 erklärt.
-
6 ist
ein Flussdiagramm des Verfahrens 60 zum Synchronisieren
der Funkeinrichtung 10 gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung. Das Timingkorrektursignal 27, 29, 29' wird
in dem Schritt 66 empfangen. Wenn das Timingkorrektursignal 27, 29, 29' einen
Zeitwert enthält (z.
B. den Zählwert
eines Zählers
in der Timingeinheit 26 der Basis 12), dann wird
dieser wert in dem Schritt 68 mit einem entsprechenden Zeitwert
in der Funkeinrichtung 10 (z. B. der aktuellen Zählung des
Zählers 30)
und dem in dem Schritt 70 enthaltenen Timingzählunterschied F, wie durch
die Pfade 661, 681 angezeigt, verglichen.
-
Wenn das Timingkorrektursignal 27, 29, 29' alternativ
ein Offsetwert ist (z. B. proportional zu einem Zählunterschied,
um den der Zähler 30 verschoben
werden soll, um das Kreuzen einer Zellgrenze durch die Funkeinrichtung 10 zu
kompensieren), dann wird diese Fehlanpassung an den Schritt 70 weitergeleitet,
um den Wert F ohne den Bedarf an dem Schritt 68 zu bestimmen, wie
durch den Pfad 662 angezeigt. Obwohl es zweckmäßig ist,
den Status von Zählern
in den Timingeinheiten 26, 16 zu vergleichen,
kann ein beliebiges Verfahren zum Bestimmen des Timingunterschiedes
zwischen der Funkeinrichtung 10 und der Basis 12 (oder
eine beliebige andere Einheit, die zeitsynchronisiert werden soll)
verwendet werden, und das beschriebene Verfahren soll solche Variationen
beim Bestimmen von F umfassen.
-
Wie durch den Pfad 601 angezeigt,
werden in dem Schritt 72 die Anweisungen I(i) für i < N für den Betrieb der Funkeinrichtung 10 zur
Verfügung
gestellt. Einige der Schritte 72–80 können bezüglich der Schritte 66–70 zeitlich
unabhängig
ablaufen und können
vor, während
oder nach den Schritten 66–70
auftreten.
-
In dem Schritt 72 werden die Anweisungen I(i)
für i < N zur Verfügung gestellt.
Diese Anweisungen bewirken z. B., dass verschiedene Funkoperationen
in einem gegebenen Kommunikationsrahmen auftreten und werden zweckmäßigerweise
durch den Funkeinrichtungsprogrammierer bestimmt und können durch
den Funkeinrichtungsanwender entweder beeinflusst werden oder nicht.
Die Anweisungen I(i) für
i < N treten vor
der Anweisung I(N) auf. In diesem Beispiel hat die Anweisung I(N)
den Operanden O(N) = ,ZÄHLER
NEU LADEN'. Der Schritt 72 ist zweckmäßigerweise mit den Schritten
74, 76 und 86 gekoppelt, wie durch die Pfade 721, 722 und 723 angezeigt.
-
In dem Schritt 74 wird die Startzeit
T(N) = B der Anweisung I(N) bestimmt. T(N) hängt von der Startzeit T(N – 1) der
Anweisung I(N - 1) zuzüglich welcher
auch immer mit der Anweisung I(N - 1) verknüpften Ausführungszeit ab. Wenn jede der
Anweisungen I(i) für
i < N nur einen
Taktzyklus (z. B. von dem Zähler 30)
benötigen,
um auszuführen,
und wenn die Anweisungen sequenziell ohne Zwischenverzögerung ausgeführt werden,
dann ist T(N) = N, wobei sich z. B. N auf die Anzahl der Zählungen
des Zählers 30 bezieht,
die aufgetreten sind, seit die Funkeinrichtung 10 begonnen
hat, die Anweisungssequenz I(i) auszuführen (z. B. am Anfang eines
Rahmens). Obwohl zum Zwecke der Erklärung angenommen wird, dass
die Anweisungen I(i) jeweils während
eines einzigen Taktzyklus' und alle während eines einzigen Kommunikationsrahmens
ausgeführt werden,
ist dies nicht erforderlich. Ebenso können alle oder einige der Anweisungen
I(i) in nachfolgenden Kommunikationsrahmen wiederholt werden. Das Ergebnis
des Schrittes 74 wird zweckmäßigerweise an
die Schritte 76, 80, 82 kommuniziert, wie durch die Pfade 741 – 744 angezeigt,
was jedoch nicht für
alle solche Schritte essentiell ist, wobei die unterschiedlichen
Pfade verschiedene Weisen anzeigen, in denen die Ausführungszeiten
T(i > N) für die Anweisungen I(i > N) bestimmt werden
können.
Basierend auf die hier gegebene Beschreibung ist dem Fachmann klar, wie
verschiedene Alternativen in Abhängigkeit
von den Details des Systems, die sie konstruieren oder betreiben,
eingesetzt werden können.
-
Die Schritte 72 und 74 sind mit dem
Schritt 76 gekoppelt, wie durch die Pfade 722 und 741 angezeigt.
In dem Fall von Schritt 72 zeigt dies an, dass weitere Anweisungen
I(i) zur Verfügung
gestellt werden können,
und in dem Fall von Schritt 74 zeigt dies an, welche Startzeit T(N)
für I(N)
bestimmt worden ist. In dem Schritt 76 werden die Anweisungen I(i)
für i > N zur Verfügung gestellt,
um den Betrieb der Funkeinrichtung 10 zu steuern, nachdem
die ,ZÄHLER NEU
LADEN'-Anweisung I(N) abgeschlossen ist.
-
Der Schritt 74 ist mit den Schritten
80, 82 gekoppelt, wie durch die Pfade 743, 744 angezeigt.
In dem Schritt 82 wird der Zählerneuladewert
C = f(F,B) basierend auf den Ausgängen der Schritte 70 und 74, wie
durch die Pfade 701 und 744 angezeigt, bestimmt.
In einer zweckmäßigen Ausführungsform,
bei der F ein Zähloffsetwert
am Anfang eines Kommunikationsrahmens und B ein Zählverzögerungswert entsprechend
der Zeit der Ausführung
T(N) der Anweisung I(N) in dem Kommunikationsrahmen ist, ist dann
C ein Zählwert
(z. B. F + B), der mit dem Ausführen
der Anweisung I(N) bei T(N) in den Zähler 30 geladen werden
soll, um die Timingeinheiten 26 und 16 zu synchronisieren.
Dem Fachmann ist klar, dass die Gleichung C = f(F,B) = F + B funktional
und nicht lediglich algebraisch sein soll und dass die Werte von F
und B, in Abhängigkeit
von der Natur des Zählers 30 und
dem entsprechenden Zähler
in der Timingeinheit 26, durch Addition oder Subtraktion
oder auf andere Weise kombiniert werden, um einen neuen Zählwert C
zur Verfügung
zu stellen, der zu der Zeit T(N) in den Zähler 30 geladen werden
soll.
-
In vielen Funkeinrichtungen wird
das Signal 27 am Anfang eines Kommunikationsrahmens gesendet
(und die Signale 29, 29' werden davon abgeleitet),
von dem ebenso die Zeiten T(i) gemessen werden. Somit ist das Bestimmen
des Wertes von C einfach und wird durch Addieren oder Subtrahieren von
F und B erzielt, in Abhängigkeit
davon, ob der zu korrigierende Zähler
ein Vorwärtszähler oder
ein Rückwärtszähler ist.
Basierend auf der hierin gegebenen Beschreibung ist dem Fachmann
klar, wie C = f(F,B) für
das besondere Kommunikationssystem und das Protokoll, das er verwendet,
berechnet wird. Der Zählerneuladewert
C wird in dem Schritt 84 in das Vorladeregister 46 (siehe 4-5) geladen, wie durch den Pfad 822 angezeigt.
-
Der Zählerneuladewert C (oder ein
Wert, der mit C zusammenhängt)
wird optional, wie durch den Pfad 821 angezeigt, zu dem
Schritt 78 kommuniziert, so dass die korrigierten Werte von T(i)
für i > N in den Anweisungen
I(i > N) zur Verfügung gestellt
werden können,
die umgekehrt zu dem Schritt 76 kommuniziert werden, wie durch den
Pfad 781 an gezeigt. In dem Schritt 76 werden die Anweisungen
I(i) für
i > N zur Verfügung gestellt
und, wie durch den Pfad 761 angezeigt, kommuniziert, um
den Anweisungsschritt 86 zu laden.
-
In dem Schritt 86 werden die Anweisungen I(i)
geladen (z. B. in den Speicher 42) und, wie durch den Schritt
861 angezeigt, in dem Schritt 88 für i < N durch die Logik 14, 16, 32,
wie im Zusammenhang mit den FIGs. 1–5 beschrieben, ausgeführt. Die Schritte 88 und 90
sind, wie durch den Pfad 881 angezeigt, gekoppelt. In dem
Schritt 90 wird die Anweisung I(N) ausgeführt, d. h. ,ZÄHLER NEU
LADEN' und, wie durch den Pfad 901 angezeigt, der zu dem Schritt
92 führt
und den Pfad 841, zwischen den Schritten 84 und 92 angezeigt,
veranlasst dies die Logik 14, 56C aus dem Vorladeregister 46 abzurufen und
C in den Funkeinrichtungstimingzähler 30 zu
laden. Es ist gleichgültig,
ob der Schritt 92 durch einen Download-Befehl durchgeführt wird,
der an das Register 46 gerichtet ist, um C in den Zähler 30 herunterzuladen
oder durch einen Abrufbefehl, in dem der Zähler 30C aus dem Register 46 abruft
oder auf irgend eine andere Weise abruft. Jede geeignete Anordnung
kann verwendet werden.
-
Wenn der ,C laden'-Schritt 92 abgeschlossen
ist, dann werden, wie durch den Pfad 921 angezeigt, die
beliebigen restlichen Anweisungen I(i) für I > N in dem Schritt 94 zu den Zeiten T(i)
für i > N ausgeführt, bei
denen die korrigierten Werte der Ausführungszeit T(i > N) die veränderten
Werte der Zählung berücksichtigen,
die durch den Zähler 30 zur
Verfügung
gestellt werden, nachdem der ,ZÄHLER
NEU LADEN'-Befehl ausgeführt
worden ist. Nach dem Ausführen
der letzten Anweisung I(M) schließt dann der Prozess ab, wie durch
den Pfad 941 und das ,ENDE' 96 angezeigt, bis ein nachfolgender
Rahmen oder ein anderes Ereignis in Erscheinung tritt, wodurch der
Prozess 60 veranlasst wird, sich mit denselben oder unterschiedlichen
Anweisungen I(i) zu wiederholen.
-
Im Allgemeinen kann die mit den Anweisungen
I(i) zusammenhängende
T(i) vorbestimmt werden, einschließlich T(N) für die Anweisung
I(N). T(N) kann z. B. durch den Programmierer der Funkeinrichtung
zu der Zeit ausgewählt
werden, zu der die Anweisungssequenz I(i) für das Steuern des Betriebes der
Funkeinrichtung und das Durchführen
einer Synchronisierungsoperation zu einer solchen Zeit T(N) = B
zur Verfügung
gestellt werden, um nicht andere Operationen der Funkeinrichtung,
gemäß den Anweisungen
I(i < N) und I(i > N) zu den Zeiten T(i < N,) und T(i > N), zu stören. Dies
ist ein besonderes Merkmal der vorliegenden Erfindung und stellt
sicher, dass die ,ZÄHLER
NEU LADEN'-Operation keinen beliebigen anderen Funkeinrichtungsbetrieb
stört.
Dies vermeidet einen der wesentlichen Mängel des Standes der Technik.
-
In dem Stand der Technik ist es oft
nicht sicher bekannt, welche Operationen die Funkeinrichtung durchführen mag,
wenn eine Synchronisierungsoperation erforderlich ist. Somit wird
oft eine zusätzliche,
unbrauchbare, als Schutzabstand bezeichnete Zeit während einer
Synchronisierung aufgespart, um Kollisionen mit anderen Funktionen
der Funkeinrichtung zu vermeiden. Ein Vorteil der vorliegenden Erfindung
liegt darin, dass solche Zeitschutzabstände nicht zur Verfügung gestellt
zu werden brauchen. Dies liegt daran, dass mit der vorliegenden Erfindung
die Zeit, zu der Synchronisierung auftritt, durch Programmieren
der Anweisungen in den Speicher 42, einschließlich der
,ZÄHLER
NEU LRDEN'-Anweisung, vorbestimmt werden kann, so dass es keine
konkurrierenden Anweisungen gibt, die gleichzeitig ausgeführt werden.
Somit wird das Synchronisierungskonfliktproblem vermieden. Dies
ist ein wesentlicher Vorteil der vorliegenden Erfindung.
-
Obwohl in einer bevorzugten Ausführungsform
der vorliegenden Erfindung die Sequenz der Anweisungen vorbestimmt
wird und sich während
eines Kommunikationsrahmens nicht zu ändern braucht, ist dies nicht
essentiell. Die vorliegende Erfindung erlaubt ein variables Timing
der Anweisung I(N) für
die ,ZÄHLER
NEU LADEN'-Operation, unter der Voraussetzung, dass die Startzeit
und die Ausführungszeit der
vorangegangenen Anweisung I(i = N – 1) bestimmt werden kann.
Wenn variables Timing benötigt wird,
wird dies dadurch erreicht, dass der Schritt 74 in Erscheinung tritt,
nachdem einige oder alle Anweisungen I(i) für i < N ausgeführt wurden, so dass T(N – 1) und
die Zeit, die erforderlich ist, um T(N – 1) auszuführen, bekannt oder vorhersehbar
wird. Somit ist die vorliegende Erfindung nicht auf statische Systeme
beschränkt,
durch die die Anweisungsschlange I(i) und ihre Ausführungszeiten
T(i) a priori vollständig bekannt
sind.
-
Dem Fachmann ist klar, dass verschiedene Änderungen
in der Form und im Detail vorgenommen werden können, ohne dabei vom Geist
und Umfang der Erfindung abzuweichen, der durch die folgenden Ansprüche bestimmt
wird.