-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung bezieht sich auf eine Funkvorrichtung mit
einer Vorrichtung und einem Verfahren zur Ausführung von Burstereignissen.
-
Hintergrund
der Erfindung
-
In
einer zellularen Kommunikation tauschen mobile Funkvorrichtungen
(d. h. "Funkvorrichtung") und Funkbasisstationen
(d. h. "Basis") Daten- und Steuersignale
aus. Die Basis kann mehr als eine Funkvorrichtung versorgen und
mehrere Basen können
eine Mehrzahl von Funkvorrichtungen in einem definierten geographischen
Bereich versorgen. Eine einzelne Funkvorrichtung kommuniziert im
Allgemeinen jeweils mit einer Basis. Die Funkvorrichtung und die
Basis müssen
zeitsynchronisiert sein, damit die übertragenen und empfangenen
Signale durch die Funkvorrichtung und die Basis richtig interpretiert werden
können.
-
Sowohl
in der Funkvorrichtung als auch der Basis gibt es Timingeinheiten
zum Timen von Ereignissen, die in der Funkvorrichtung und der Basis
ausgeführt
werden. Solche Timingeinheiten können
einen oder mehrere Zähler
umfassen. Die Zähler
werden verwendet, um verschiedene Ereignisse zu timen, die in der
Funkvorrichtung und der Basis eintreten, und um Zeitintervalle zu
messen. Zum Beispiel kann ein Zähler
die Zahl von Kommunikationsrahmen zählen, die zwischen einer Basis
und einer Funkvorrichtung ausgetauscht werden, und ein anderer Zähler kann
verwendet werden, um Ereignisse zu triggern, die in einem Kommunikationsrahmen eintreten.
Damit die Funkvorrichtung und die Basis richtig funktionieren, sollten
die Timingzähler
in der Funkvorrichtung und der Basis periodisch synchronisiert werden.
-
Zwischen
den Timingzählern
der Funkvorrichtung und der Basis kann eine Verzögerung auftreten, zum Beispiel
als ein Ergebnis einer Weiterreichung einer Funkvorrichtung zwischen
zwei Basisstationen, oder aufgrund einer Bewegung der Funkvorrichtung,
die die Ausbreitungszeit der Signale verändert, die zwischen der Basis
und der Funkvorrichtung ausgetauscht werden. Um den Timingzähler der mobilen
Funkvorrichtung und den Timingzähler
der Basisstation zu synchronisieren, werden Timingsignale periodisch
von einem zu dem anderen gesendet und es wird eine Verzögerung berechnet
und ein oder beide Timingzähler
eingestellt. Üblicherweise
wird der Timingzähler
in der mobilen Funkvorrichtung eingestellt.
-
Anordnungen
zum Synchronisieren von Funkvorrichtungstimingzählern nach dem Stand der Technik
haben mehrere Nachteile. Ein Zurücksetzen des
Timingzählers
kann den normalen Betrieb der Funkvorrichtung stören, im Besonderen, wenn das Timing-Reset
auftritt, während
sich die Timingeinheit in der Mitte einer Planung oder eines Triggerns
einer Operation in der mobilen Funkvorrichtung befindet.
-
Wenn
zum Beispiel zu der Zeit T1 der Timingzähler auf einen Wert zurückgesetzt
wird, der mit der Zeit T6 verknüpft
ist, und zu den Zeiten T2, T3, T4, T5 eine Mehrzahl von Anweisungen
ausgeführt
werden müssen,
wobei T1<T2<T3<T4<T5<T6, dann werden
diese Anweisungen nur in dem nächsten
Kommunikationsrahmen ausgeführt,
was zu einer unerwünschten
Verzögerung
führt.
Das Dokument
US 5 729 543 offenbart
den Oberbegriff von Anspruch 1.
-
Dementsprechend
gibt es einen Bedarf, ein verbessertes Mittel und Verfahren zur
Verfügung
zu stellen, die diese und andere Mängel des Standes der Technik
abmildern oder vermeiden.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein vereinfachtes schematisches Diagramm einer Funkvorrichtung,
die über
eine Vorrichtung zur Ausführung
und Synchronisation von Burstereignissen gemäß einer bevorzugten Ausführungsform
der vorliegenden Erfindung verfügt;
-
2 ist
ein vereinfachtes schematisches Diagramm der Funkvorrichtung von 1,
das weitere Details zeigt, gemäß der ersten
Ausführungsform;
-
3 ist
ein vereinfachtes schematisches Diagramm eines Teils der Funkvorrichtung
von 1, das weitere Details zeigt, gemäß einer
zweiten Ausführungsform;
-
4 ist
ein vereinfachtes schematisches Diagramm eines Teils der Funkvorrichtung
von 3, das noch weitere Details zeigt;
-
5 ist
ein noch detaillierteres schematisches Diagramm eines Teils der
Funkvorrichtung von 3; und
-
6 ist
ein Flussdiagramm eines Verfahrens zum Handhaben von Anweisungsbursts
und einer Synchronisation, gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
Zusammenfassung
der Erfindung
-
Das
Problem, das der Erfindung zugrunde liegt, wird im Wesentlichen
durch Anwenden der in den unabhängigen
Ansprüchen
niedergelegten Merkmalen gelöst.
Bevorzugte Ausführungsformen werden
in den abhängigen
Ansprüchen
dargelegt.
-
Ein
Vorteil der vorliegenden Erfindung liegt darin, dass sie eine mobile
Funkvorrichtung mit einer genauen Synchronisation zur Verfügung stellt,
während
sie Konflikte mit anderen getimten Operationen der Funkvorrichtung
minimiert oder vermeidet.
-
Ausführliche
Beschreibung der Zeichnungen
-
1 ist
ein vereinfachtes schematisches Diagramm einer Funkvorrichtung 10,
die über
eine Vorrichtung 14 zur Ausführung von Burstereignissen und
Synchronisationen verfügt,
gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung. Die Funkvorrichtung 10 arbeitet
in einer Funkkommunikation mit der Basisstation 12. Die
Vorrichtung 14 umfasst die Timingeinheit 16 und
die Steuereinheit 18.
-
Die
mobile Funkvorrichtung 10 verfügt außerdem über den Transceiver 22,
das optionale Peripheriegerät 24 und
die Antenne 11. Die Steuereinheit 18 ist geeigneter
Weise ein Prozessor, der den Betrieb der Funkvorrichtung 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 sind
in geeigneter Weise durch das Bus 15, jeweils durch die Busverbindungen 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 verfügt über die
Timingeinheit 26 und die Antenne 13 und andere
konventionelle Elemente, die nicht dargestellt werden aber dem Fachmann
auf dem Gebiet gut bekannt sind.
-
Zu
Erklärungszwecken
wird angenommen, dass die Basisstation 12 das Timingsynchronisationssignal 27 an
die mobile Einheit 10 sendet, aber dies ist nicht wesentlich
und das Synchronisationssignal kann andersherum gesendet werden.
Das Synchronisationssignal 27 wird, wie durch den Pfeil 29 angezeigt,
in der mobilen Funkvorrichtung 10 an den Transceiver 22 und
folglich durch das Bus 15 an die Steuereinheit 18 und
die Timingeinheit 16 gekoppelt. Die Steuereinheit 18 und
die Timingeinheit 16 kooperieren, wie in Verbindung mit
den folgenden Abbildungen ausführlicher
erklärt
wird, um jedwede Diskrepanz zwischen den Timingeinheiten 26 und 16,
wie durch die Signale 27, 29 kommuniziert, zu
korrigieren, ohne andere Operationen der Funkvorrichtung zu stören.
-
Obwohl
die vorliegende Erfindung für
die Situation dargestellt wird, wo die mobile Einheit 10 Informationen
mit der Basisstation 12 austauscht, ist es dem Fachmann
auf dem Gebiet klar, dass die Basisstation 12 auch eine
andere mobile Einheit sein kann und dass die mobile Einheit 10 auch
eine andere Basisstation sein kann, das heißt, dass die Elemente 10 und 12 beliebige
Arten von Funkvorrichtungen sein können, zwischen denen eine Synchronisation
von Ereigniszählern
oder internen Taktgebern oder beiden aufrechterhalten werden muss.
Wie hierin verwendet, sollen die Wörter "mobile Funkvorrichtung", "Funkvorrichtung" und "Basisstation" solche Variationen
umfassen.
-
2 ist
ein vereinfachtes schematisches Diagramm der Funkvorrichtung von 1,
das weitere Details zeigt, gemäß einer
ersten Ausführungsform.
Es werden die selben Bezugszeichen verwendet, um gleiche Elemente
in den Abbildungen zu kennzeichnen. In 2 ist die
Timingeinheit 16 so dargestellt, dass sie den Zähler 30,
der durch die Busverbindung 31 an das Bus 15 gekoppelt
ist, und die Ausführungslogik 32,
die durch die Busverbindung 33 an das Bus 15 gekoppelt
ist, umfasst. Die Kooperation dieser Elemente wird ausführlicher
in Verbindung mit den 4 – 6 erklärt.
-
3 ist
ein vereinfachtes schematisches Diagramm eines Teils der Funkvorrichtung 10', die zu der
Funkvorrichtung 10 von 2 analog
ist, aber weitere Details zeigt, gemäß einer zweiten Ausführungsform.
Um eine Erklärung
zu erleichtern, wird der Transceiver 22 von dem Funkvorrichtungsteil 10' von 3 weggelassen.
-
3 stellt
eine 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 sind. Beide Anordnungen sind nützlich.
In 3 empfängt
die Steuereinheit 18 das Timingsynchronisationssignal 29', das zu dem
Signal 29 der 1 – 2 analog
ist. Die Steuereinheit 18 verfügt über die Ausgänge 181 und 183,
die an die Ausführungslogik 32 gekoppelt
sind. Die Ausführungslogik 32 verfügt über den
Ausgang 321, analog zu der Busverbindung 33, zum
Koppeln an andere Teile der Funkvorrichtung 10, die in 3 nicht
gezeigt werden. Die Ausführungslogik 32 verfügt über den
Ausgang 322, der an die Steuereinheit 18 gekoppelt
ist, und über
den Ausgang 323, der an den Zähler 30 gekoppelt
ist. Der Zähler 30 verfügt über den Ausgang 301,
der an die Steuereinheit 18 gekoppelt ist, und über den
Ausgang 302, der an die Ausführungslogik 32 gekoppelt
ist. Die Verbindung 324, analog zu der Busverbindung 25,
koppelt das Peripheriegerät 24 wechselseitig
an die Ausführungslogik 32. Der
Zähler 30 empfängt die
Takteingabe 31, die von einem Systemhaupttaktgeber (nicht
gezeigt) stammt. Die Takteingabe 31 bewirkt, dass der Zähler 30 für jedes
Takteingangssignals um eine Zählung
inkrementiert (oder dekrementiert).
-
Obwohl
die Funkvorrichtung 10, 10' hierin so dargestellt wird, dass
sie nur über
eine Timingeinheit 16 und einen Zähler 30 verfügt, ist
dem Fachmann auf dem Gebiet klar, dass die Funkvorrichtung 10, 10' über mehrere
Timingeinheiten 16 oder mehrere Zähler 30 oder beides
verfügen
kann, die mit zugehörigen
Timingeinheiten und Zählern
in der Basisstation 12 synchronisiert sein können, und
dass die Darstellung von nur einer Timingeinheit und einem Zähler in der
Funkvorrichtung 10, 10' nur Erklärungszwecken dient. Zu Erklärungszwecken
soll die Funkvorrichtung "10" "10'" umfassen.
-
Die
Steuereinheit 18 lädt
eine Sequenz von Anweisungen in die Ausführungslogik 32, die
die Funkvorrichtung 10 zum Beispiel während eines Kommunikationssignalrahmens
ausführen
soll. Die Ausführungslogik 32 umfasst
einen Speicher zum Empfangen dieser Anweisungen. Mit jeder Anweisung
ist ein Zeitwert (zum Beispiel Zählerzählung) verknüpft, wann
die bestimmte Anweisung ausgeführt
werden soll, zum Beispiel in einem Kommunikationsrahmen. Solche
Anweisungen sind jedoch nicht auf eine Verwendung in einem individuellen
Rahmen beschränkt.
-
Die
Funkvorrichtung 10 wird geeigneter Weise durch ein Zurücksetzen
des Zählers 30 synchronisiert.
Der Zähler
wird vorzugsweise mit einem Korrekturwert geladen, der gleich der
Summe des vorherigen Wertes des Zählers 30 und der Verzögerung zwischen
der Timingeinheit 16 der Funkvorrichtung 10 und
der Timingeinheit 26 der Basis 12 ist.
-
Während Kommunikationsrahmen,
in denen der Zähler
nicht zurückgesetzt
wird, führt
die Ausführungslogik 32 jede
Anweisung sequentiell zu der Zeit aus, die mit jeder Anweisung verknüpft ist,
wobei die Zeit durch den Zähler 30 gemessen
wird. Während eines
Kommunikationsrahmens, in dem der Zähler 30 zurückgesetzt
wird, und bevor der Zähler 30 zurückgesetzt
wird, führt
die Ausführungslogik 32 jede Anweisung
sequentiell zu der Zeit aus, die mit jeder Anweisung verknüpft ist,
wobei die Zeit durch den Zähler 30 gemessen
wird. Nachdem der Zähler 30 zurückgesetzt
wurde, führt
die Ausführungslogik 32 die
restlichen Anweisungen in einer von mehreren Betriebsarten aus,
wobei die Betriebsart durch ein Steuersignal bestimmt wird, das
von der Steuereinheit 18 zu der Ausführungslogik 32 gesendet
wird.
-
In
einer ersten Betriebsart führt
die Ausführungslogik 32 jede
Anweisung zu der Zeit T(i) aus, die mit ihr verknüpft ist.
In einer zweiten Betriebsart führt die
Ausfüh rungslogik 32 jede
Anweisung zu der Zeit T(i) aus, die mit der Anweisung verknüpft ist,
wenn die mit der Anweisung verknüpfte
Zeit gleich dem oder kleiner als das Timingzählsignal von dem Zähler 30 ist.
Wenn die mit einer Anweisung verknüpfte Zeit T(i) kleiner als
das Timingzählsignal
von dem Zähler ist,
wird die Anweisung sofort ausgeführt.
-
In
der zweiten Betriebsart führt,
solange bis der Zähler 30 nicht
zurückgesetzt
wird, die Ausführungslogik 32 jede
Anweisung zu der Zeit T(i) aus, die mit der Anweisung verknüpft ist.
Nachdem der Zähler 30 zurückgesetzt
worden ist, können
einige der Anweisungen Ausführungszeiten
T(i) haben, die kleiner als der Timingzählwert sind, und diese Anweisungen können in
einem Burst ausgeführt
werden; wobei jede Anweisung sofort und in aufeinanderfolgender Reihenfolge
ausgeführt
wird, bis es keine Anweisungen mehr gibt, die ausgeführt werden
sollen, oder bis die mit einer Anweisung verknüpfte Zeit größer ist
als das Timingzählsignal
von dem Zähler 30.
Oft ist eine mit einer Anweisung verknüpfte Ausführungszeit T(i) als ein Ergebnis
einer Zurücksetzung
des Zählers 30 kleiner
als der Timingzählwert.
Eine Zurücksetzung des
Zählers 30 kann
den Wert des Zählers 30 ändern, was
in einem neuen Timingzählsignalwert
resultiert, der größer ist
als die Zeit T(i), die mit einer Mehrzahl von noch nicht ausgeführten Anweisungen verknüpft ist.
Diese werden als "übersprungene
Anweisungen" bezeichnet.
-
Zum
Beispiel wird der Zähler 30 zu
der Zeit T1 auf einen Wert zurückgesetzt,
der mit der Zeit T6 verknüpft
ist. Eine Reihe von Anweisungen wurde jedoch ursprünglich geplant,
um zu den Zeiten T2, T3, T4, T5 ausgeführt zu werden, wobei T1 <T2 <T3 <T4 <T5 <T6. Wenn die Ausführungslogik 32 in
der zweiten Betriebsart arbeitet, führt sie dann die übersprungenen
Anweisungen in einer aufeinanderfolgenden Reihenfolge aus, sofort
nachdem der Zähler 30 von T1
zu T6 zurückgesetzt
wurde. Die Kooperation der Elemente in 3 wird ausführlicher
in Zusammenhang mit den 4 – 6 erklärt.
-
4 ist
ein vereinfachtes schematisches Diagramm eines Teils der Funkvorrichtung 10 von 3,
das noch weitere Einzelheiten zeigt. Der Teil umfasst die Vorrichtung 14,
die die Timingeinheit 16 und die Ausführungslogik 32 des
Funkvorrichtungsteils 10' von 3 umfasst,
die noch weitere Einzelheiten zeigt. Es werden die selben Bezugszeichen verwendet,
um die selben Elemente in den Abbildungen zu bezeichnen.
-
Die
Ausführungslogik 32 umfasst
den Burstereignisgenerator 36, den Adressengenerator 38, den
Decodierer 40, das Vorladeregister 46 und den Anweisungsspeicher 42.
Außerdem
werden das Peripheriegerät 24 und
der Zähler 30 gezeigt.
In dem Anweisungsspeicher 42 sind die Anweisungen I(i) gespeichert.
Jede Anweisung I(i) umfasst einen EREIGNIS-Operanden O(i), der in
den Speicherteil 44 gespeichert ist und eine Ausführungs-ZEIT
T(i), die in dem Speicherteil 45 gespeichert ist. Die ZEIT
T(i) spezifiziert die Ausführungszeit
(zum Beispiel in Zählungen
des Zählers 30)
des Operanden O(i). Wenn der Speicher 42 adressiert wird,
werden sowohl der EREIGNIS-Operand als auch seine Ausführungs-ZEIT
je nach dem gespeichert oder abgerufen. Die Steuereinheit 18 stellt
den Ausgang 181 zu dem Speicher 42 zur Verfügung, um
die Anweisungen I(i) zu laden.
-
Der
Burstereignisgenerator 36 ist an den Ausgang 183 der
Steuereinheit 18 gekoppelt, so dass die Steuereinheit 18 ein
Steuersignal an den Burstereignisgenerator 36 senden kann,
das wie zuvor beschrieben bestimmt, in welchen von zwei Betriebsarten
der Burstereignisgenerator 36 arbeitet.
-
Die
Ausführungslogik 32 arbeitet
unter der Steuerung der Steuereinheit 18, die dem Speicher 42 EREIGNIS-
und ZEIT-Anweisungen zuführt,
und empfängt über die
Leitung 401 eine Rückmeldung darüber, welche
Anweisungen durch den Decodierer 40 decodiert worden sind.
Der Speicher 42 stellt dem Decodierer 40 den Ausgang 421 und
dem Burstereignisgenerator 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 so dargestellt wird, dass er
ein einzelner Speicher mit den EREIGNIS- und ZEIT-Teilen 44, 45 ist,
dient dies lediglich Erklärungszwecken
und dem Fachmann auf dem Gebiet ist basierend auf den hierin gegebenen
Ausführungen
klar, dass auch Mehrfachspeicher verwendet werden können.
-
Der
Decodierer 40 empfängt
Signale von dem Speicher 42 auf der Leitung 421 und
von dem Burstereignisgenerator 36 auf der Leitung 361 und stellt
den Ausgang 401 an die Steuereinheit 18 zur Verfügung. Der
Decodierer 40 stellt dem Vorladeregister 46 den
Ausgang 402, oder dem Zähler 30 den Ausgang 403,
oder beides, und dem Rest der Funkvorrichtung 10 (in 4 nicht
gezeigt) den Ausgang 404 und dem Adressengenerator 38 den
Ausgang 406 in geeigneter Weise zur Verfügung. Wie
ausführlicher
in Verbindung mit den 5 – 6 beschrieben,
interpretiert der Decodierer 40 Anweisungen, die von dem
Speicher 42 geliefert werden und gibt entsprechend der
Natur einer jeden Anweisung Befehle an die Elemente 18, 24, 30, 38, 46 aus.
-
Der
Adressengenerator 38 empfängt zum Beispiel eine 'Anweisungsende'-Nachricht von dem Decodierer 40 und
er zeugt auf dem Ausgang 381 einen Befehl, die nächste Anweisung
von dem Speicher 42 in Abhängigkeit von der Anweisung
in den Decodierer 40 oder den Burstereignisgenerator 36 zu laden.
Außerdem
kann der Decodierer 40, in Abhängigkeit von dem Anweisungsoperanden,
auf der Leitung 405 eine Anweisung oder ein Signal an das
Peripheriegerät 24 oder
an einen anderen Teil (nicht gezeigt) der Funkvorrichtung 10 auf
dem Ausgang 404 ausgeben beziehungsweise triggern. Das
Peripheriegerät 24 soll
einen beliebigen anderen Teil der Funkvorrichtung 10 darstellen.
Die Leitung 404 kann auch an den Transceiver 22 gekoppelt
sein.
-
Der
Zähler 30 empfängt bei
dem Eingang 31 Timingtaktsignale und stellt dem Burstereignisgenerator 36 Ereignistimingzählungen
auf der Leitung 302 zur Verfügung. Der Burstereignisgenerator 36 weist den
Decodierer 40 an, eine Anweisung entsprechend der von dem
Zähler 30 empfangenen
Timingzählung und
der Ausführungs-ZEIT-Zählung T(i)
und entsprechend einer von zwei Betriebsarten des Burstereignisgenerators 36 auszuführen.
-
Die
ZEIT-Zählung
T(i) wird von dem ZEIT-Teil 45 des Anweisungsspeichers 42 in
Reaktion auf eine durch den Adressengenerator 38 erzeugte
Adresse in den Burstereignisgenerator 36 geladen.
-
In
der ersten Betriebsart weist der Burstereignisgenerator 36 den
Decodierer 40 an, eine Anweisung auszuführen, wenn ihre Ausführungs-ZEIT-Zählung T(i)
mit der von dem Zähler 30 empfangenen
Timingzählung übereinstimmt.
Wenn der Zähler 30 zurückgesetzt
wurde und wenn es irgendwelche übersprungenen
Anweisungen gibt, weist der Burstereignisgenerator den Decodierer 40 an,
die übersprungenen
Ereignisse während
des nächsten
Kommunikationsrahmens auszuführen.
-
In
der zweiten Betriebsart und unter der Annahme, dass der Zähler 30 ein
Vorwärtszähler ist, weist
dann der Burstereignisgenerator 36 den Decodierer 40 an,
eine Anweisung auszuführen,
wenn ihre Ausführungs-ZEIT-Zählung T(i)
gleich der oder kleiner als die von dem Zähler 30 empfangene(n)
Timingzählung
ist.
-
Solange
der Timer 30 nicht zurückgesetzt wird,
weist der Burstereignisgenerator 36 den Decodierer 40 an,
eine Anweisung auszuführen,
wenn ihre Ausführungs-ZEIT-Zählung T(i)
gleich der von dem Zähler 30 empfangenen
Timingzählung
ist. Wenn der Zähler 30 zurückgesetzt
wurde und es Anweisungen gibt, die über Ausführungszeiten verfügen, die
kleiner sind als die Timingzählwerte
von dem Zähler 30, dann
weist der Burstereignisgenerator 36 den Decodierer 40 an,
diese Anweisungen auszuführen,
und diese Anweisungen werden sofort und in einer sequentiellen Reihenfolge
ausgeführt,
wobei jede Anweisung ausgeführt
wird, nachdem die vorherige Anweisung ausgeführt worden ist. Dies setzt
sich fort, bis es keine auszuführenden
Anweisungen mehr gibt oder bis die Ausführungs-ZEIT-Zählung T(i)
einer Anweisung größer ist
als die von dem Zähler 30 empfangene
Timingzählung.
Dann weist der Burstereignisgenerator 36 den Decodierer 40 an,
eine Anweisung bei ihrer Ausführungs-ZEIT-Zählung T(i)
auszuführen.
-
In
der zweiten Betriebsart und wenn der Zähler 30 ein Rückwärtszähler ist,
arbeitet dann der Burstereignisgenerator 36 wie oben beschrieben, aber
weist den Decodierer 40 an, eine Anweisung auszuführen, wenn
ihre Ausführungs-ZEIT-Zählung (Ti) gleich der oder
größer als
die von dem Zähler 30 empfangene(n)
Timingzählung
ist. Nur zu Erklärungszwe cken
und nicht um einzuschränken,
wird der Zähler 30 weiterhin
als ein Vorwärtszähler betrachtet.
-
5 ist
ein ausführlicheres
schematisches Diagramm der Burstereignisgenerator 36-Vorrichtung
von 3. Der Burstereignisgenerator 36 umfasst:
Die
arithmetische Logikeinheit (das heißt ALU) 50, die über den
ersten Eingang 504, der an den Ausgang 422 des
Anweisungsspeichers 42 zum Empfangen der Ausführungs-ZEIT-Zählung T(i) gekoppelt ist, und
den zweiten Eingang 503 verfügt, der an den Ausgang 302 des
Zählers 30 zum
Empfangen der Timingzählung
des Zählers 30 gekoppelt
ist. Die ALU 50 hat den Ausgang 506. Die ALU 50 subtrahiert
die Ausführungs-ZEIT-Zählung T(i)
von der von dem Zähler 30 empfangenen
Timingzählung
und gibt ein Signal aus, wenn die Ausführungs-ZEIT-Zählung T(i) gleich
der oder kleiner als die von dem Zähler 30 empfangene(n)
Timingzählung
ist. Die Ausgabe 506 der ALU 50 ist vorzugsweise
das Übertragungsbit des
signifikantesten Bit der ALU 50.
-
Der
Komparator 52 verfügt über den
Eingang 524, der an den Ausgang 422 des Anweisungsspeichers 42 zum
Empfangen der ZEIT T(i) gekoppelt ist, und über den Eingang 523,
der an den Ausgang 302 des Zählers 30 zum Empfangen
der Timingzählung vor
dem Zähler 30 gekoppelt
ist, und hat den Ausgang 526. Der Komparator 52 gibt
ein Signal aus, wenn die Ausführungs-ZEIT-Zählung T(i)
gleich der von dem Zähler 30 empfangenen
Timingzählung
ist.
-
Der
Multiplexer 56, dessen erster Dateneingang 560 an
den Ausgang 506 der ALU 50 gekoppelt ist, verfügt über den
zweiten Dateneingang 562, der an den Ausgang 526 des
Komparators 52 gekoppelt ist, und hat den Steuereingang 183 und
den Ausgang 361.
-
Die
Steuereinheit 18 sendet ein Signal an den Steuereingang 183 des
Multiplexers 56. Dieses Steuersignal bestimmt, in welchen
zwei Arten die Burstereignisausführung
arbeitet. Dieses Steuersignal resultiert in einer Auswahl einer
der zwei Multiplexereingänge, 560 beziehungsweise 562.
Zum Beispiel wird in der zweiten Betriebsart der Eingang 560 und
in der ersten Betriebsart der Eingang 562 ausgewählt. Der
ausgewählte
Eingang des Multiplexers 56 ist durch den Multiplexer 56 an
den Ausgang 361 des Burstereignisgenerators 36 gekoppelt.
Dem Fachmann auf dem Gebiet ist klar, dass ALU ein allgemeiner Ausdruck
ist, der verwendet wird, um ein beliebiges Logikarray zu definieren,
das eine Mehrzahl von Werten subtrahieren oder auf andere Weise
arithmetisch manipulieren kann.
-
6 ist
ein Flussdiagramm des Verfahrens 90 zur Burstereignisausführung gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung. Wie durch den Pfad 601 angezeigt,
wird der BEGINNEN-Schritt 60 durch den 'BETRIEBSART BESTIMMEN'-Schritt 62 gefolgt,
in dem die Steuereinheit 18 bestimmt, in welchen der zwei
Betriebsarten die Ausführungslogik 32 arbeitet.
-
In
der ersten Betriebsart liest, wie durch den Pfad 622 angezeigt,
die Ausführungslogik 32 eine erste
Anweisung bei dem 'NÄCHSTE ANWEISUNG I(i)
LADEN'-Schritt 72.
Wie durch die Pfade 721, 741, 761 und 762 angezeigt,
wird, nachdem eine Anweisung I(i) ausgeführt wurde und während es
mehrere Anweisungen I(i) gibt, die ausgeführt werden sollen, die Anweisung,
die der Anweisung folgt, die gerade ausgeführt worden ist, während des
Schrittes 72 gelesen und während des Schrittes 74 ausgeführt.
-
Zu
Erklärungszwecken
nehmen wir an, dass es N Anweisungen I(i) gibt, wobei i ein Index
ist, der Werte von 1 bis N annimmt. Jede der N Anweisungen I(i)
kann bewirken, dass verschiedene Funkvorrichtungsoperationen in
einem gegebenen Kommunikationsrahmen auftreten und wird in geeigneter
Weise durch den Programmierer der Funkvorrichtung bestimmt und kann
durch den Anwender der Funkvorrichtung beeinflusst werden oder nicht.
-
Wie
durch den Pfad 721 angezeigt, werden während des 'I(i) BEI T(i) AUSFÜHREN'-Schrittes 74 N Anweisungen
I(i) durch die Ausführungslogik 32 zu ihrer
Ausführungszeit
T(i), durch die Logik 14, 16, 32, wie
in Verbindung mit den 1 – 4 beschrieben,
für i<N ausgeführt.
-
Wie
durch den Pfad 741 angezeigt, geht die Ausführungslogik 32 nach
dem Ausführen
einer Anweisung I(i) zu dem 'IST
I(i) DIE LETZTE ANWEISUNG?'-Abfrageschritt 76 weiter
und prüft,
ob die Anweisung I(i), die während
des Schrittes 74 ausgeführt
wurde, die letzte Anweisung war. Wie durch den Pfad 761 angezeigt,
geht die Ausführungslogik 32, wenn
die Antwort "NEIN" ist, zu dem Schritt 72 weiter, um
die nächste
Anweisung zu lesen. Wie durch den Pfad 762 angezeigt, geht
die Ausführungslogik 32 zu dem "ENDE"-Schritt 80 weiter, wenn die
Antwort 'JA' ist. Während des
Schrittes 80 endet der Prozess 90, bis ein nachfolgender
Rahmen auftritt oder ein anderes Ereignis eintritt, wodurch bewirkt
wird, dass der Prozess 90 mit den selben oder anderen Anweisungen
I(i) wiederholt wird.
-
In
der zweiten Betriebsart liest, wie durch den Pfad 621 angezeigt,
die Ausführungslogik 32 eine
erste Anweisung bei dem 'NÄCHSTE ANWEISUNG
I(i) LADEN'-Schritt 64.
Wie durch die Pfade 641, 661, 663, 681, 671, 691 und 692 und die
Schritte 64, 66, 67, 68 und 69 angezeigt,
wird, nachdem eine Anweisung I(i) ausgeführt wurde und während es mehr
Anweisungen I(i) gibt, die ausgeführt werden sollen, die Anweisung,
die der Anweisung folgt, die gerade ausgeführt worden ist, während des
Schrittes 64 gelesen und während des Schrittes 68 oder 67 ausgeführt.
-
Wie
durch den Pfad 641 angezeigt, geht der Prozess, nachdem
die Ausführungslogik 32 eine
Anweisung geladen hat, zu dem 'IST
T(i) KLEINER ALS DER ODER GLEICH DEM TIMINGZÄHLWERT?'-Abfrageschritt 66 weiter,
in dem die Ausführungszeit
T(i) mit dem von dem Zähler 30 empfangenen
Timingzählsignal
verglichen wird. Wie durch den Pfad 661 angezeigt, wird
dann, wenn die Antwort 'NEIN' ist, die Anweisung
T(i) zu der Ausführungszeit T(i)
während
des 'BEI T(i) AUSFÜHREN'-Schrittes 68 ausgeführt. Wie
durch den Pfad 663 angezeigt, wird dann, wenn die Antwort 'JA' ist, die Anweisung
I(i) sofort während
des 'I(i) SOFORT
AUSFÜHREN'-Schrittes 67 ausgeführt. Wie
in Verbindung mit 3 erklärt, kann eine mit einer Anweisung
I(i) verknüpfte Zeit
T(i) als ein Ergebnis einer Zähler
30-Zurücksetzung
oder anderer Ereignisse kleiner als ein oder gleich einem Timingzählsignal
sein.
-
Wie
durch die Pfade 681 und 671 angezeigt, geht die
Ausführungslogik 32 nach
dem Ausführen einer
Anweisung I(i) während
des Schrittes 67 oder 68 zu dem 'IST I(i) DIE LETZTE
ANWEISUNG'-Abfrageschritt 69 weiter
und prüft,
ob die Anweisung I(i), die während
des Schrittes 67 oder 68 ausgeführt wurde,
die letzte Anweisung war. Wie durch den Pfad 691 angezeigt,
geht die Ausführungslogik 32,
wenn die Antwort 'NEIN' ist, zu dem Schritt 64 weiter,
um die nächste
Anweisung zu lesen. Wie durch den Pfad 692 angezeigt, geht die
Ausführungslogik 32 zu
dem ENDE-Schritt 80 weiter, wenn die Antwort 'JA' ist. Während des
Schrittes 80 endet der Prozess 90, bis ein nachfolgender
Rahmen oder ein anderes Ereignis bewirkt, dass der Prozess 90 mit
den selben oder anderen Anweisungen I(i) wiederholt wird.
-
Obwohl
zu Erklärungszwecken
angenommen wird, dass die Anweisungen I(i) jeweils während eines
einzelnen Taktzyklus' und
alle während
eines einzelnen Kommunikationsrahmens durchgeführt werden, ist dies nicht
notwendig. Außerdem
können einige
oder alle Anweisungen I(i) in nachfolgenden Kommunikationsrahmen
wiederholt werden.
-
Dem
Fachmann auf dem Gebiet ist klar, dass verschiedene Änderungen
in der Form und im Detail vorgenommen werden können. Zum Beispiel ist die vorliegende
Erfindung nicht auf Funkvorrichtungen begrenzt, sondern kann auf
viele Arten von elektronischen Vorrichtungen breit angewendet werden.