-
Hintergrund der Erfindung
-
I. Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft digitale Kommunikationsprotokolle.
Insbesondere betrifft die vorliegende Erfindung ein neues und verbessertes
Kommunikationsprotokoll zwischen einer Kommunikationsvorrichtung,
wie einem tragbaren drahtlosen Telefon, und einem externen Zusatzgerät, wie einer
Freisprecheinrichtung
-
II. Beschreibung der verwandten Technik
-
In
der Technik der digitalen Audioverarbeitung wird typischerweise
ein Audioband-Codierer/Decodierer (CODEC) verwendet, um analoge
Audiosignale in codierte digitale Signale umzuwandeln und umgekehrt. Zum
Beispiel kann der CODEC die analoge Ausgabe eines Mikrofons empfangen
und das vom Mikrofon erzeugte analoge Audiosignal in ein codiertes
digitales Pulscode-Modulations(PCM – pulse
code modulation)-Audiosignal für
eine weitere digitale Signalverarbeitung in einem digitalen Signalprozessor
(DSP – digital signal
processor) umwandeln. Zusätzlich
kann der CODEC ein codiertes digitales PCM-Audiosignal von dem DSP
empfangen und in ein analoges Audiosignal zur Verwendung durch einen
Audiolautsprecher umwandeln. Selbstverständlich kann der CODEC zusätzliche
digitale Codiertechniken verwenden, wie in der Technik bekannt sind,
wie A-Law, μ-Law
oder dergleichen, oder kann einfach eine andere lineare oder nicht-lineare
Codiertechnik verwenden.
-
Ein
typisches tragbares Funktelefon, das einen internen CODEC hat, kann
an eines oder mehrere externe Zusatzgeräte angeschlossen werden. Zum
Beispiel kann der Benutzer des tragbaren Funktelefons wünschen,
sein tragbares Funktelefon in seinem Auto während des Fahrens zu benutzen,
und interagiert damit über
ein Freisprechtelefon, einen Leistungsverstärker und/oder ein Sprach-betriebenes
Wähl- oder
Spracherkennungssystem. Das Freisprechtelefon (oder das Freisprech-Set)
ermöglicht
dem Benutzer, Telefonanrufe über
einen externen Lautsprecher und ein Mikrofon zu tätigen, ohne
das Funktelefon zu halten, was die Hände des Benutzers freilässt zum
Fahren des Autos. Der Leistungsverstärker verbindet ein Hochfrequenz(HF)-Signal an die und
von der zu dem tragbaren Funktelefon gehörende Antenne, verstärkt das
HF-Signal für
höhere Leistungsübertragung
und -Empfang, was wünschenswert
ist, wenn von einer Autobatterie aus betrieben. Ein Sprachdialer
bzw. Sprachwähler
reagiert auf mündliche
Befehle von dem Benutzer. Zum Beispiel, ein Wählen aus einem Satz von vorprogrammierten
Telefonnummern gemäß den Sprachbefehlen,
ein Wählen
einzelner Zahlen nacheinander oder ein Ändern des Betriebsmodus des
Funktelefons. Diese Zusatzgeräte
werden oft gleichzeitig als Teil eines Autoadapter-Sets verwendet.
-
US 5,333,176 beschreibt
einen Schnittstellenadapter zur Verwendung mit einem zellularen
Telefon, um Lauthörtelefonfunktionen
vorzusehen, das Telefon mit Energie zu versorgen und die Batterie
wieder aufzuladen.
-
Eine
typische Schnittstellenschaltung zwischen einem tragbaren Funktelefon
und einem externen Auto-Set wird in dem U.S. Patent Nr. 6,081,724
mit dem Titel „PORTABLE
COMMUNICATION DEVICE AND ACCESSORY SYSTEM" gegeben, angemeldet am 31. Januar 1996,
das der Anmelderin der vorliegenden Erfindung erteilt wurde. Das
gerade erwähnte
Patent offenbart eine tragbare Kommunikationsvorrichtung und ein Zusatzgerätesystem,
die ermöglichen,
dass sowohl Sprach- als auch Steuerbefehlen zwischen einer tragbaren Kommunikationsvorrichtung
und externen Zusatzgeräten über eine
einzelne flexible digitale Schnittstelle kommuniziert werden. Wenn
die tragbare Kommunikationsvorrichtung mit den externen Zusatzgeräten, wie
einem Leistungsverstärker
und einem Freisprech-Set, verbunden ist, konfiguriert ein Mikroprozessor
den seriellen Kommunikationsbus, um sowohl die digitalen Sprachdaten
als auch die digitalen Steuerungsbefehle an den und von dem externen
Leistungsverstärker
und an das und von dem Freisprech-Set zu leiten. Das externe Freisprech-Set
enthält
seinen eigenen Hilfs-CODEC für
die Codierung von analogen Sprachsignalen und die Decodierung der
digitalen Sprachdaten. Wenn die tragbare Kommunikationsvorrichtung
nicht an externe Zusatzgeräte
angeschlossen ist, konfiguriert der Mikroprozessor den seriellen
Kommunikationsbus, um die digitalen Sprachdaten an und von einem
internen CODEC zu leiten zur Verwendung mit dem eigenen Mikrofon und
Lautsprecher der tragbaren Vorrichtung.
-
Jedoch
bleibt eine Notwendigkeit für
ein Verfahren und eine Vorrichtung, das/die ein Kommunikationsprotokoll
zwischen einer tragbaren drahtlosen Kommunikationsvorrichtung, wie
einem tragbaren drahtlosen Telefon, und einem externen Zusatzgerät, wie einem
Freisprech-Set, implementiert.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Die
vorliegende Erfindung sieht ein neues und verbessertes Verfahren
zur Kommunikation von sowohl Sprach- als auch Steuerdaten, eine
tragbare Kommunikationsvorrichtung (wie ein zellulares Telefon),
ein externes Zusatzgerät
(wie ein Freisprech-Set), und ein System vor, wie jeweils in den
Ansprüchen
1, 8, 15 und 23 dargelegt wird. Bevorzugte Ausführungsbeispiele werden in den
abhängigen
Ansprüchen
dargelegt. Die Kommunikationsvorrichtung kann ein zellulares Telefon
sein. Die Kommunikationsvorrichtung der bevorzugten Ausführungsbeispiele
weist auf einen Mikroprozessor, einen Vocoder, der mit dem Mikroprozessor
verbunden ist, Lese- und Schreibregister, die mit dem Mikroprozessor
verbunden sind, und einen Multiplexer, der sowohl mit dem Vocoder
und dem Schreibregister verbunden ist. Die Kommunikationsvorrichtung
kommuniziert über einen
Datenbus mit einem externen Zusatzgerät. Das externe Zusatzgerät umfasst
vorzugsweise einen digitalen Signalprozessor und einen CODEC.
-
Die
Vorrichtung der vorliegenden Erfindung führt das Verfahren durch, das
hier auch als Kommunikationsprotokoll bezeichnet wird. Das Verfahren
oder Protokoll ist zum Kommunizieren von sowohl Sprach- als auch
Steuerdaten zwischen einer Kommunikationsvorrichtung und einem externen
Zusatzgerät über einen
Datenbus. Das Verfahren umfasst ein Formatieren einer Sequenz von
Bits in eine Wiederholungssequenz von ersten Zeitschlitzen und zweiten
Zeitschlitzen, ein Übertragen
der Sprachdaten in dem ersten Zeitschlitz und ein Übertragen
der Steuerdaten in dem zweiten Zeitschlitz. Besonders ein erstes
Bit von jedem der zweiten Zeitschlitze weist ein Taktbit auf, das
zwischen einem hohen Wert und einem niedrigen Wert (z.B. „1" oder „0") zwischen aufeinander
folgenden zweiten Zeitschlitzen alterniert. Dies ermöglicht dem
empfangenden Ende (d.h. entweder dem Mikroprozessor in der Kommunikationsvorrichtung
oder dem digitalen Signalprozessor in dem externen Zusatzgerät) zwischen
aufeinander folgenden Bytes von Daten zu unterscheiden.
-
Die
Sequenz von zweiten Zeitschlitzen weist N+1 Bytes auf. Ein Anfangsbyte
der N+1 Bytes weist weiter eine Synchronisierungsbitsequenz auf.
Ein zweites der N+1 Bytes umfasst Modusbits zum Definieren einer Bedeutung
des Restes der N+1 Bytes (z.B. die Datenbits). Vorzugsweise ist
N eine ungerade Ganzzahl, so dass alle Befehle und Steuerinformation
als eine gerade Anzahl von Steuerbytes ausgedrückt werden. Somit stellt dies
sicher, wenn kombiniert mit dem wechselnden Taktbit-Schema, dass
das Anfangsbyte immer mit demselben Taktbit beginnt.
-
Das
Taktbit eines letzten Bytes der N+1 Bytes besitzt eine entgegengesetzte
Polarität
als das Taktbit des Anfangsbytes der N+1 Bytes. Dies ermöglicht dem
empfangenden Ende, zwischen aufeinander folgenden Befehlen zu unterscheiden,
die über
zwei oder mehr Steuerbytes gespreizt werden können, vermischt mit Sprachdaten.
Das Verfahren umfasst weiter ein Einstellen eines zweiten Bits eines
jeden jeweiligen dritten und höherrangigen
der N+1 Bytes auf eine entgegengesetzte Polarität als das Taktbit eines jeden
jeweiligen dritten und höherrangigen
der N+1 Bytes. Dieses verhindert, dass das empfangende Ende ein
Steuerbyte, das Daten enthält,
mit einem Steuerbyte verwechselt, das die Synchronisierungsbitsequenz
enthält.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die
Merkmale, Ziele und Vorteile der vorliegenden Erfindung werden offensichtlicher
aus der detaillierten Beschreibung, die im Folgenden dargelegt wird,
in Verbindung mit den Zeichnungen, in denen gleiche Referenzzeichen
Entsprechendes identifizieren und wobei:
-
1 ein
funktionelles Blockdiagramm der Vorrichtung der vorliegenden Erfindung
ist; und
-
2 ein Timing-Diagramm des beispielhaften
Ausführungsbeispiels
der vorliegenden Erfindung ist.
-
DETAILLIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
-
1 zeigt
ein funktionelles Blockdiagramm der Vorrichtung der vorliegenden
Erfindung. Ausgewählte Teile
einer Kommunikationsvorrichtung 100, wie ein tragbares
zellulares Telefon, ein PCS-Telefon, ein PDA oder dergleichen, werden
mit einer Schnittstelle zu einem externen Zusatzgerät 102 über einen
Datenbus 101 gezeigt. In dem momentan bevorzugten Ausführungsbeispiel
ist der Datenbus 101 ein synchroner serieller Vollduplex-Bus
mit der beispielhaften Datenrate von 128 Kilo-Bits pro Sekunde (Kbps).
Der Datenbus 101 trägt Pulscode-modulierte
(PCM – pulse-code
modulated) Daten von der Kommunikationsvorrichtung 100 an
das externe Zusatzgerät 102 und
von dem externen Zusatzgerät 102 an
die Kommunikationsvorrichtung 100.
-
In
dem momentan bevorzugten Ausführungsbeispiel
werden die funktionellen Blockelemente, die als Teil der Kommunikationsvorrichtung 100 gezeigt
werden (d.h. Mikroprozessor 106, Leseregister 104,
Schreibregister 112, Codierer 108, Decodierer 110 und
Multiplexer (MUX) 114) alle in einem einzelnen anwendungsspezifischen
Schaltkreis (ASIC – application-specific
in tegrated circuit) implementiert. Ein Kombinieren aller dieser
funktionellen Blöcke
in einen einzelnen ASIC hat einige Vorteile, die in der Technik
weithin bekannt sind, einschließlich
ein verringerter Stromverbrauch, reduzierte Größe und verringerte Kosten.
Jedoch wird durch die vorliegende Erfindung erwogen, dass einige
oder alle dieser funktionellen Blöcke in physikalisch getrennten
Vorrichtungen implementiert oder gruppiert werden können, wie
gewünscht.
Die tatsächliche
Implementierung dieser funktionellen Blöcke ist eine Frage der Gestaltungswahl
basierend auf der spezifischen Anwendung, ohne von der vorliegenden
Erfindung abzuweichen. Ähnlich
können
die funktionellen Blockelemente, die als Teil des externen Zusatzgeräts 102 gezeigt
werden, als ein einzelner ASIC implementiert werden oder in physikalisch
getrennten Elementen, ohne von der vorliegenden Erfindung abzuweichen.
-
Das
momentan bevorzugte Format des Datenbusses 101 umfasst
eine Wiederholungssequenz von zwei 8 Bit, 8 kHz Zeitschlitzen. Das
heißt,
der 128 Kbps Datenstrom kann als zwei Blöcke von 8 Bitabtastwerten angesehen
werden, bei 8-Kilo-Abtastwerten pro Sekunde. Der erste der zwei
8 Bit-Blöcke wird
zum Überfragen von
Datenabtastwerten verwendet. Vorzugsweise sind die Datenabtastwerte
kompandiert. In einer beispielhaften Sprachanwendung sind die Datenabtastwerte
vorzugsweise als 8 Bit μ-Law
oder A-Law kompandiert. Es ist offensichtlich, dass andere Kompressionsschemen
verwendet werden können,
wie in der Technik bekannt, oder dass die Daten einfach linear sein
können
(nicht kompandiert). Der Zweite der zwei 8 Bit-Blöcke wird
verwendet, um Steuerbefehle zu übertragen.
Diese Steuerbefehle können
für verschiedene
Betriebsmodi sein, einschließlich
Spracherkennung, akustische Echokompensation, automatische Verstärkungssteuerung,
und so weiter.
-
Wie
aus 1 zu sehen ist, gibt es zwei Datenpfade, durch
die der Mikroprozessor 106 einen Steuerbefehl an das externe
Zusatzgerätes 102 über den
Datenbus 101 ausgeben kann. Der erste Pfad beginnt, wenn
der Mikroprozessor 106 ein 8 Bit-Steuer-Byte erzeugt, das
dann an den Decodierer 110 geleitet wird. Zusammen bilden
der Decodierer 110 und der Codierer 108 einen
Sprachcodierer/Decodierer (Vocoder), wie beschrieben wurde in dem
U. S.-Patent Nr. 5,414,796, mit dem Titel „Variable Rate Vocoder", angemeldet am 9.
Mai 1995, das der Anmelderin der vorliegenden Erfindung erteilt
wurde. Der Decodierer 110 kombiniert dieses 8-Bit-Steuer-Byte
von dem Mikroprozessor 106 mit einem 8 Bit-Byte von kompandierten
Sprachdaten und überträgt die kombinierten
8 Bit-Bytes (insgesamt 16 Bits) über
MUX 114 über
den Datenbus 101 an das externe Zusatzgerät 102.
Bei der Verwendung dieses ersten Pfads konfiguriert der Mikroprozessor 106 den
MUX 114, um die Ausgabe des Decodierers 110 über den
Datenbus 101 zu leiten. Dieser erste Pfad ist zum Beispiel für den Mikroprozessor 106 nützlich,
um Steuerdaten in dem akustischen Echokompensations-Modus zu senden,
wenn der Decodierer 110 "an" ist
(d.h. angeschaltet und aktiv Sprachabtastwerte verarbeitend).
-
Der
zweite Pfad beginnt, wenn der Mikroprozessor 106 ein 8
Bit-Steuer-Byte erzeugt, das dann in das Schreibregister 112 geschrieben
wird. Das Schreibregister ist vorzugsweise 16 Bits breit. Wenn der
Mikroprozessor 106 Daten nicht so schnell wie 8KHz lesen
oder schreiben kann, kann er einfach das 8 Bit-Steuer-Byte in das
zweite Byte des Schreibregisters 112 schreiben. Das Schreibregister 112 kann
sich ebenfalls in demselben Vocoder wie der Decodierer 110 befinden.
Das 8 Bit-Steuer-Byte wird dann durch den MUX 114 über den Datenbus 101 übertragen
basierend auf den PCM-Unterbrechungen auf dem Datenbus 101.
Es ist anzumerken, dass in diesem zweiten Pfad der Decodierer 110 nicht
angeschaltet werden muss. Dieser zweite Datenpfad ist zum Beispiel
für den
Mikroprozessor 106 nützlich,
um Steuerdaten in dem Spracherkennungs-Modus zu senden, wenn der
Decodierer 110 „aus" ist.
-
In
jedem Fall werden die kompandierten Daten (z.B. Sprachdaten in dem
ersten 8-Bit-Block) an den CODEC 120 geliefert durch den
AUX DSP (digitaler Hilfs-Signalprozessor) 116. Der CODEC 120 decodiert
die Sprachdaten und wandelt sie in ein analoges Audioband-Sprachsignal
zur Reproduktion bzw. Wiedergabe über Lautsprecher 118 um.
Das Steuerbyte (z.B. Steuer befehle in dem zweiten 8-Bit-Block) wird
zu der geeigneten Entität
in dem externen Zusatzgerät 102 geliefert.
Zum Beispiel werden Befehle zur akustischen Echokompensation an
den AUX DSP 116 geliefert.
-
In
der umgekehrten Richtung (d.h. von dem externen Zusatzgerät 102 zu
der Kommunikationsvorrichtung 100) sendet der digitale
Hilfs-Signalprozessor (AUX DSP) 116 zwei 8-Bit, 8 KHz-Abtastwerte über den 128
Kbps Datenbus 101 sowohl an den Codierer 108 als
auch das Leseregister 104. Wiederum enthält der erste
der zwei 8 Bit-Blöcke
kompandierte Daten (z.B. die Sprachdaten, die durch das Mikrofon 122 erfasst
werden und von dem CODEC 120 codiert werden) und der zweite
8-Bit-Block enthält
Steuerdaten.
-
Vorzugsweise
ist das Leseregister 104 16 Bits breit. Sowohl die ersten
als auch die zweiten Zeitschlitze (sowohl PCM als auch Steuerbytes
von dem AUX DSP 116) aktualisieren das Leseregister 104 bei
8 kHz (d.h. aktualisieren jedes Mal, wenn ein neuer Abtastwert empfangen
wird). Wenn der Mikroprozessor 106 die PCM-Abtastwerte
(den ersten Schlitz) nicht schnell genug lesen kann, kann der Abtastwert überschrieben
werden, bevor der Mikroprozessor 106 ihn lesen kann. Ein
typischer Mikroprozessor 106 kann das Leseregister 104 nicht
so schnell lesen. Somit wird in dem bevorzugten Ausführungsbeispiel
das Steuerbyte (der zweite Schlitz) zum Beispiel alle 10ms oder
80-mal wiederholt, um dem Mikroprozessor 106 ausreichend
Zeit zu gewähren,
es zu lesen. Er kann dann die Nachricht in der Steuerbyte-Position des Leseregisters 104 lesen,
selbst wenn er das PCM-Byte ignorieren muss.
-
In
dem momentan bevorzugten Ausführungsbeispiel
ist das Leseregister 104 ein Mikroprozessor-Leseregister,
das als Teil des Mikroprozessors 106 implementiert werden
kann. Jedoch wird es in der 1 als ein
getrennter funktioneller Block zur Klarheit der Offenbarung gezeigt.
Der Mikroprozessor 106 kann dann die Inhalte des Leseregisters 104 nach
seinen Wünschen
lesen (d.h. nicht notwendigerweise synchron entsprechend der Datenrate
des Datenbusses 101). Dieser umgekehrte Datenpfad wird
für den
AUX DSP 116 verwendet, um eine Information an den Mikroprozessor 106 entweder
zum Beispiel in dem akustischen Echokompensations- oder dem Spracherkennungs-Modus
zu senden.
-
Die
vorliegende Erfindung sieht auch ein umfassendes Kommunikationsprotokoll
vor, das eine Vollduplex-Kommunikation zwischen der Kommunikationsvorrichtung 100 und
dem externen Zusatzgerät 102 ermöglicht.
Jede Anwendung, die auf der Kommunikationsvorrichtung oder dem externen
Zusatzgerät 102 läuft (z.B.
Software-Programme in dem Mikroprozessor 106 oder dem AUX
DSP 116), welche die Verwendung von Vollduplex-Messaging bzw. Nachrichtenübermittlung über den
Datenbus 101 erfordert, kann das Kommunikationsprotokoll
der vorliegenden Erfindung verwenden. Zum Beispiel können Spracherkennungsanwendungen oder
akustische Echokompensationsanwendungen dieses Protokoll verwenden.
-
Das
neue Kommunikationsprotokoll der vorliegenden Erfindung wird nun
unter Bezugnahme auf das beispielhafte Ausführungsbeispiel der Verbindung
eines tragbaren drahtlosen Telefons mit einem externen Auto-Set-Adapter
mit Spracherkennung (VR – voice
recognition), akustischer Echokompensation (AEC – acoustic echo canceling),
Lautstärkensteuerung
und Audiosteuerung beschrieben. Es ist offensichtlich, dass die
vorliegende Erfindung genauso auf andere Ausführungsbeispiele mit anderen
Anwendungen anwendbar ist. Jedoch wird zur Einfachheit und Klarheit
der Offenbarung die Erfindung unter Bezugnahme auf dieses beispielhafte Ausführungsbeispiel
offenbart.
-
Das
beispielhafte Ausführungsbeispiel
der vorliegenden Erfindung sieht unterschiedliche Klassen von Befehlen
vor, die von dem Mikroprozessor 106 zu dem externen Zusatzgerät 102 kommuniziert
werden. Diese Klassen von Befehlen umfassen:
- 1.
Generische Befehle;
- 2. Befehle von dem Mikroprozessor 106 an die Sprachanerkennungs einheit
(VRU – voice
reoognition unit) in dem AUX DSP 116;
- 3. Befehle von dem Mikroprozessor 106 an die AEC (acoustic
echo canceling) in dem AUX DSP 116;
- 4. Lautstärkeregelungs-Befehle
von dem Mikroprozessor 106 an den AUX DSP 116;
und
- 5. Audiosteuerungs-Befehle von dem Mikroprozessor 106 an
den AUX DSP 116.
-
Die
generischen Befehle von dem Mikroprozessor 106 werden von
dem AUX DSP 116 akzeptiert und er handelt danach während jedes
Betriebszustands des externen Zusatzgerätes 102. Diese generischen
Befehle umfassen:
- 1. Software-Versions-Nummern(SVN – software
version number)-Anfrage;
- 2. Auto-Set-Zustands-Anfrage (Carkit Status Inquiry);
- 3. Bestätigungsinformation(Acknowledgement
Information); 4. Gehe in untätigen
Modus (Goto Idle Mode);
- 5. Gehe zu alternativem Protokoll (Goto Alternate Protocol);
- 6. Verzögerungseinstellungen
für Abschalten
(Power Down Delay Settings); und
- 7. Erweiterte Software-Versions-Nummern-Anfrage (Extended Software
Version Number Inquiry).
-
Der
Mikroprozessor 106 verwendet den Befehl der Software-Versions-Nummern-Anfrage,
um die Software-Versions-Nummer des externen Zusatzgerätes 102 nach
dem Einschalten abzufragen. Der Befehl der Software-Versions-Nummer-Anfrage
ermöglicht
dem Mikroprozessor 106, festzustellen, ob die Software-Versions-Nummer
des externen Zusatzgerätes 102 eine
korrekte Revision ist, um bestimmte Anwendungen zu unterstützen, wie
eine Spracherkennung.
-
Der
Befehl der Zustands-Anfrage für
das Auto-Set ermöglicht
dem Mikroprozessor 106, den gegenwärtigen Zustand des externen
Zusatzgerätes 102 abzufragen,
wann immer. passend. Dies ermöglicht
dem Mikroprozessor 106, die Konsistenz der Betriebsmodi
zwischen dem Mikroprozessor 106 und dem AUX DSP 116 zu überprüfen. Zum
Beispiel ermöglicht
dieser Befehl dem Mikroprozessor 106, seinen eigenen Speicher über den
Privat-Zustand des Handapparats, die Audiopfadeinstellung, einen
Stereo-stumm/nichtstumm-Zustand, einen Energie- bzw. Strom-Zustand
und Lautstärkenzustand
nach Belieben zu erneuern. Wenn der tatsächliche Modus, der durch den
AUX DSP 116 berichtet wird, anders ist als der, der von
dem Mikroprozessor 106 erwartet wird, dann kann der Mikroprozessor 106 das
externe Zusatzgerät 102 anweisen,
seinen Betriebszustand zu ändern,
oder der Mikroprozessor 106 kann seinen eigenen internen
Zustand ändern,
um eine Konsistenz zu dem externen Zusatzgerät 102 wieder zu gewinnen.
-
Nachdem
eine Gruppe von Information durch den Mikroprozessor 106 von
dem AUX DSP 116 empfangen wird, sendet der Mikroprozessor 106 einen
Bestätigungsinformations-Befehl
an den AUX DSP 116. Der AUX DSP 116 sendet die
nächste
Gruppe von Information nicht, bis dieser Bestätigungsinformations-Befehl von
dem Mikroprozessor 106 empfangen wird. Somit ermöglicht der
Bestätigungsinformations-Befehl
eine zuverlässige
Datenübertragung über den
Datenbus 101.
-
Der „Gehe zu
Idle-Modus (Goto Idle mode)"-Befehl
weist den AUX DSP 116 an, in den untätigen bzw. Idle-Modus einzutreten
(d.h. die aktive Anwendung zu verlassen). Dieser Befehl ermöglicht dem
Mikroprozessor 106, den AUX DSP 116 von jedem
Betriebsmodus in den Idle-Zustand zu schalten. Es gibt zwei Bedingungen,
die dazu führen
können,
dass der AUX DSP 116 in den Idle-Zustand eintritt. Erstens,
wenn der Mikroprozessor 106 einen „Goto Idle-Modus"-Befehl sendet, und zweitens, wenn der
AUX DSP 116 das Taktsignal für eine vorgegebene Periode
nicht empfängt,
das von der vorliegenden Erfindung verwendet wird (vollständiger im
Folgenden diskutiert). In dem beispielhaften Ausführungsbeispiel
beträgt
diese vorgegebene Periode 8.75 ms.
-
Der „Gehe zu
alternativem Protokollmodus (Goto Alternate Protocol)"-Befehl weist den
AUX DSP 116 an, ein alternatives Kommunikationsprotokoll
zu verwenden statt des Kommunikationsprotokolls der vorliegenden
Erfindung, wie hier offenbart. Dieses alternative Kommunikationsprotokoll
kann ein Protokoll der vorherigen Generation oder ein Protokoll
sein, das zusätzliche
oder andere Merkmale und Anwendungen unterstützt.
-
Der „Verzögerungseinstellung
für Abschalten
(Power Down Delay Setting)"-Befehl wird von dem
Telefon verwendet, um das Abschalten des externen Zusatzgerätes 102 zu
verzögern,
wenn es mit einer externen Stromquelle (wie eine Autozündung) verbunden
ist und die externe Stromquelle abgestellt wird.
-
Die
erweiterte Software-Versions-Nummern-Anfrage wird von dem Mikroprozessor 106 verwendet,
um den „erweiterte
Versions"-Stempel
von dem AUX DSP 116 abzufragen. In diesem beispielhaften
Ausführungsbeispiel
besteht der „erweiterte
Versions"-Stempel
aus acht ASCII-Zeichen. Zum Beispiel können diese acht ASCII-Zeichen
verwendet werden, um sich auf den Dateinamen zu beziehen, der durch
die Software-Version des AUX DSPs 116 verwendet wird.
-
In
dem beispielhaften Ausführungsbeispiel
mit einer Spracherkennungs(VR – voice
recognition)-Fähigkeit
in dem AUX DSP 116 sendet der Mikroprozessor 106 auch
Befehle an die Spracherkennungseinheit (VRU – voice recognition unit) in
dem AUX DSP 116. Eine detailliertere Diskussion der VRU
wird in dem U.S. Patent Nr. 6,449,496 gegeben mit dem Titel „VOICE
RECOGNITION USER INTERFACE FOR TELEPHONE HANDSET", das der Anmelderin der vorliegenden
Erfindung erteilt wurde. In diesem gerade erwähnten Patent werden die VR-Vorlagen
(templates) und die entsprechenden Telefonnummern in dem AUX DSP 116 gespeichert.
Somit umfasst ein beispielhafter Satz von Befehlen, die der Mikroprozessor 106 an
den AUX DSP 116 senden würde, Folgende:
- 1. VR-Initialisierung
- 2. VR-Erkennung
- 3. JA (Ja-Taste)
- 4. NEIN (Nein-Taste)
- 5. ABBRECHEN/LÖSCHEN
(ABBRECHEN- oder LÖSCHEN-Taste)
- 6. NÄCHSTES/MEHR
(NÄCHSTES-
oder MEHR-Taste)
- 7. VORHERGEHEND (VORHERGEHEND-Taste)
- 8. Trainiere grundlegenden Satz
- 9. Trainiere Ziffernsatz
- 10. Forciere Programm (PROGRAMM-Taste)
- 11. Forciere erneutes Trainieren (ERENEUTES TRAINIEREN-Taste)
- 12. Forciere Trainieren (TRAINIEREN-Taste)
- 13. VR-Speicher-Zurückstellen
- 14. Lösche
Telefonbuch
- 15. VR-Zustands-Anfrage
- 16. Ankommender Anruf
- 17. Ankommend Roaming-Anruf
- 18. Ziffern, 0–9,
# (Raute-Taste), * (Stern-Taste), Pause
- 19. Ende der Ziffernkette
-
Jede
Eingabe von der Benutzerschnittstelle (nicht gezeigt), wie eine
Tastatur, wird durch den Mikroprozesser 105 übersetzt
und an die VRU in dem AUX DSP 116 übertragen, um eine Synchronisierung
zwischen der Kommunikationsvorrichtung 100 und dem externen
Zusatzgerät 102 aufrechtzuerhalten.
Dies stellt sicher, dass die VRU geeignet tätig wird, wie Abspielen der
korrekten Sprachaufforderungen, um eine Audioeingabe von dem Benutzer
zu erbitten.
-
Der
VR-Initialisierungs-Befehl wird verwendet, um den AUX DSP 116 von
dem Idle-Modus (wo keine VR-Aufgaben durchgeführt werden) in den VR-Bereitschafts-Modus
zu bringen. Der VR-Erkennungs-Befehl folgt normalerweise auf den
VR-Initialisierungs-Befehl und wird verwendet, um den AUX DSP 116 von
dem VR-Bereitschafts-Modus in den VR-Erkennungs-Modus zu bringen,
wo er aktiv Spracherkennungsaufgaben durchführt. In dem bevorzugten Ausführungsbeispiel
werden die Befehle JA, NEIN, ABBRECHEN/LÖSCHEN, NÄCHSTES/MEHR, VORHERGEHEND,
Ziffern 0–9,
Raute, Stern und Pause in Erwiderung gesendet, wenn der Benutzer
die zugehörigen
Tasten auf der Tastatur betätigt
(nicht gezeigt). Dies liefert ein Mittel für den Benutzer, auf Aufforderungen
und Menüauswahl
von der VRU zu reagieren.
-
Die
Befehle „Trainiere
grundlegenden Satz", „Trainiere
Ziffern-Satz", „Forciere
Programm", „Forciere erneutes
Trainieren" und „Forciere
Trainieren" werden
beim „Training" der VRU verwendet,
um die Stimme des individuellen Sprechers zu erkennen, einschließlich das
Erkennen von Befehlen, Ziffern und Namen (nametags). Der „VR-Speicher-Zurückstellen"-Befehl wird verwendet,
um die Namen, die zugehörigen
Telefonnummern und die VR-Vorlagen
zurückzustellen:
In anderen Worten, dieser Befehl veranlasst den AUX DSP 116, alle
programmierten Speicher zu löschen.
Der „Lösche Telefonbuch"-Befehl wird verwendet,
um alle Einträge des
persönlichen
Telefonbuchverzeichnisses des Benutzers zurückzusetzen, einschließlich sowohl
Namen als auch die zugehörigen
Telefonnummern. Der „Lösche Telefonbuch"-Befehl, anders als
der „VR-Speicher
zurücksetzen"-Befehl, löscht nicht
die VR-Vorlagen, die zu den Steuerwörtern gehören.
-
Der „VR-Zustands-Anfrage"-Befehl wird von
dem Mikroprozessor 106 verwendet, um den momentanen Zustand
der VRU festzustellen (z.B. Idle-, Bereitschafts- oder Spracherkennungs-Modus).
Die Befehle „Ankommender
Anruf" und „Ankommender
Roaming-Anruf" werden
von dem Mikroprozessor 106 verwendet, um den AUX DSP 116 zu
informieren, dass es einen ankommenden Anruf während des VR-Modus gibt. Als Antwort
spielt die VRU eine geeignete Sprachaufforderung ab, um eine Eingabe
von dem Benutzer zu erbitten. Der Befehl „Ende der Ziffernkette" wird von dem Mikroprozessor 106 verwendet,
um das Ende einer Kette von Ziffern (wie eine Telefonnummer) an
den AUX DSP 116 zu übermitteln.
-
In
dem beispielhaften Ausführungsbeispiel
sendet der Mikroprozessor 106 auch Befehle an den akustischen
Echokompensator (AEC – acoustic
echo canceller) in dem AUX DSP 116. Wenn die Kommunikationsvorrichtung 100 ein
Dualmode-analoges/CDMA-drahtloses Telefon ist, umfassen diese AEC-Steuerbefehle:
- 1. FM AEC an;
- 2. CDMA AEC an (Rausch-Unterdrücker an); und
- 3. CDMA AEC an (Rausch-Unterdrücker aus).
-
Der
Mikroprozessor 106 kann den AUX DSP 116 anweisen,
in den VR-Modus
von dem AEC-Modus zu schalten durch Verwendung des VR-Initialisierungs-Befehl,
wie oben erläutert
wird.
-
In
dem beispielhaften Ausführungsbeispiel
sendet der Mikroprozessor 106 auch Befehle für eine PCM-Lautstärkenregelung
an den AUX DSP 116. Diese Befehle werden verwendet, um
die ausgegebene Sprachlautstärke
in dem AUX DSP 116 digital anzupassen. Der Mikroprozessor 106 sendet
einen PCM-Lautstärke-Pegel-Index
an den AUX DSP 116.
-
In
dem beispielhaften Ausführungsbeispiel
sendet der Mikroprozessor 106 auch Audio-Steuerbefehle an
den AUX DSP 116. Diese Befehle werden zum Beispiel verwendet,
um eine Autostereovorrichtung, die sich in demselben Fahrzeug befindet,
stumm und nicht-stumm zu schalten, so dass die Stimme des Benutzers
von der VRU zu hören
ist. Ein weiters Beispiel ist ein Befehl zum „Handapparat-Privat-Betrieb", der das Mikrofon 122 stumm
schaltet, so dass der Benutzer sprechen kann, ohne dass der angerufene
Teilnehmer die Stimme des Benutzers hört.
-
Das
beispielhafte Ausführungsbeispiel
der vorliegenden Erfindung sieht auch unterschiedliche Klassen von
Information vor, die von dem AUX DSP 116 an den Mikroprozessor 106 kommuniziert
werden. Diese Klassen von Information umfassen:
- 1.
Software-Versions-Nummer (SVN – software
version number);
- 2. VR-Modus;
- 3. Generischer Modus; und
- 4. Erweiterte Software-Versions-Nummer (Extended software version
number).
-
Die
SVN (software version number) wird als eine Antwort auf den Software-Versions-Anfrage-Befehl von
dem Mikroprozessor verwendet 106, wie oben beschrieben.
In dem beispielhaften Ausführungsbeispiel
ist der Umfang der SVN von 0 bis 1023 in Dezimal. Der AUX DSP 116 kann
die SVN, zusammen mit anderer Information, wie Handapparat-Privat-Zustand
und VR-Zustand,
spontan an den Mikroprozessor 106 berichten, nachdem das
PCM-Taktsignal (vollständiger im
Folgenden beschrieben) zuerst durch den AUX DSP 116 erfasst
wird.
-
Basierend
auf den VR-Modus-Befehlen, die oben von dem Mikroprozessor 106 an
den AUX DSP 116 dargestellt werden, ist einfach zu sehen,
dass die VRU in dem AUX DSP 116 bestimmte Information zurück an den
Mikroprozessor 106 liefern muss. Zum Beispiel kann der
AUX DSP 116 die VSN und die VWN (Vocabulary Word Number) übertragen,
um eine Sequenz von Ziffern zu senden, die enden mit dem Befehl „Ende der
Ziffernkette", um
Ziffern für
ein Sprachwählen
zu liefern. Er kann auch den VR-Zustand berichten und eine Anzeige
(nicht gezeigt) in der Kommunikationsvorrichtung 100 erbitten,
um ein geeignetes visuelles Benutzerfeedback (z.B. Menüs und Nachrichten)
vorzusehen, um den Benutzer zu führen,
während
des Betriebs in dem VR-Modus.
Alternativ kann der AUX DSP 116 die Befehle „VR-Ziffern" und „Ende der
Ziffernkette" verwenden, um
den Verkehr zu verringern und den Sprachwähl-Prozeß zu beschleunigen, im Vergleich
zu den VSN- und VWN-Nachrichten.
Jedoch ist dies nur auf Ziffern beschränkt, nicht auf Steuerbytes.
-
Eine
generische Modus-Information umfasst Folgendes:
- 1.
Privat-Handapparat abgehoben/aufgelegt (Offhook/Onhook);
- 2. Aktueller Audio-Pfad;
- 3. PCM-Lautstärkeregelung;
- 4. Leistungszustand;
- 5. Stereo stumm/nicht-stumm (Mute/Un-mute); und
- 6. Auto-Set-Modi.
-
Jede
dieser Gruppen von Information gibt eine Information über die
verschiedenen Betriebsparameter und die Zustände des externen Zusatzgerätes 102 weiter.
Diese Information kann von dem AUX DSP 116 an den Mikroprozessor 106 geliefert
werden nach einer spezifischen Anfrage durch den Mikroprozessor 106.
Zusätzlich
kann der AUX DSP 116 spontan einen Teil oder die gesamte
obige Information bei einer Zustandsänderung berichten. Wenn zum
Beispiel sich die Position des Privat-Handapparats ändert, wenn
sich der Leistungszustand ändert,
wenn sich der der Datenerfassungszustand ändert oder wenn die VRU ihren
Betriebszustand ändert.
-
Wie
oben erwähnt,
wird die erweiterte SVN-Information in dem AUX DSP 116 als
ein Versionsstempel gespeichert, der aus acht ASCII-Zeichen besteht.
Zum Beispiel kann der Versionsstompel verwendet werden, um den Dateinamen
der DSP-Software-Quellen-Datei zu codieren. Die erweiterte SVN-Information
wird nur berichtet, wenn der Mikroprozessor 106 den oben
beschriebenen erweiterten SVN-Anfrage-Befehl überträgt.
-
Unter
Bezugnahme nun auf die 2A und 2B wird
ein Timing-Diagramm des Signalisierungsformats dargestellt, das
auf dem Datenbus 101 verwendet wird. 2A zeigt
ein Timing-Diagramm für
den ersten Zeitschlitz der zwei 8 Bit-Zeitschlitze und die 2B zeigt
ein Timing-Diagramm für
den zweiten Zeitschlitz der zwei 8 Bit-Zeitschlitze. Es ist anzumerken,
dass zur Klarheit und Kontinuität
der Erläuterung
es eine Überlappung
zwischen den 2A und 2B gibt.
Wie vorher angemerkt, wird der erste Zeitschlitz, der in der 2A gezeigt
wird, verwendet, um μ-Law-codierte
Daten, wie Sprachdaten, zu tragen. Das zweite Zeitschlitz, der in
der 2B gezeigt wird, wird verwendet, um Steuerdaten
und Informationsdaten zu tragen, wie die Steuerbefehle und die Informationsgruppen,
die oben beschrieben werden.
-
Wie
sowohl in 2A als auch 2B zu
sehen ist, ist der PCM-Takt vorzugsweise ein 128 kHz Taktsignal.
Ein getrenntes Signal, PCM SYNC, ist vorzugsweise ein 8 kHz Synchronisierungssignal.
In 2A ist das PCM SYNC Signal niedrig (low) für den ersten
Zeitschlitz. In 2B ist das PCM SYNC Signal hoch
(high) für
den zweiten Zeitschlitz. Die Signale PCM DATA HERAUS (PCM DATA OUT)
und PCM DATEN HINEIN (PCM DATA IN) von 2A und 2B werden
verwendet, um die tatsächlichen
Informationsdaten über
den Datenbus 101 zu tragen. In beiden 2A und 2B werden
die Signale PCM DATEN HERAUS und PCM DATEN HINEIN dargestellt als
entweder in dem hohen oder dem niedrigen Zustand für jedes
Datenbit, entsprechend dem Wert der Datenbits, die sie tragen.
-
In
der 2A wird PCM DATEN HERAUS dargestellt als bestehend
aus den Datenbits D7/, D6/, D5/, D4/, D3/, D2/, D1/ und D0/. Ähnlich wird
in der 2A PCM DATEN HINEIN dargestellt
als bestehend aus den Datenbits D7, D6, D5, D4, D3, D2, D1 und D0.
Diese Datenbits repräsentieren
einen ersten acht-Bit-Zeitschlitz, der μ-Law-codierte Sprachdaten zwischen
der Kommunikationsvorrichtung 100 und dem externen Zusatzgerät 102 trägt. Diese
Bits werden seriell über
den Datenbus 101 durch das PCM TAKT-Signal getaktet. Das Signal PCM DATEN
HERAUS fließt
in der Richtung von der Kommunikationsvorrichtung 100 an
das externe Zusatzgerät 102.
Das Signal PCM DATEN HINEIN fließt in der umgekehrten Richtung
von dem externen Zusatzgerät 102 an
die Kommunikationsvorrichtung 100. Sowohl das PCM TAKT-Signal
als auch das PCM SYNC-Signal fließen in der Richtung von der
Kommunikationsvorrichtung 100 an das externe Zusatzgerät 102.
-
Am
Ende der ersten 8 Bit-Zeitschlitzes beginnt der zweite 8 Bit-Zeitschlitz.
Der zweite 8 Bit-Zeitschlitz wird in der 2B gezeigt.
In der 2B wird PCM DATEN HERAUS dargestellt
als bestehend aus einem einzelnen Taktbit Clock/, und sieben Datenbits,
Data6/, Data5/, Data4/, Data3/, Data2/, Data1/und Data0/. Diese
Takt- und Datenbits repräsentieren
den zweiten 8-Bit-Zeitschlitz,
der Befehls- und Steuerdaten trägt,
wie oben beschrieben, von dem Mikroprozessor 106 an den
AUX DSP 116. Das Clock/-Bit wird verwendet, um Daten über Zeitschlitze
zu halten (latch) und zu kombinieren. Die Data6/-Data0/-Bits sind
7 Bits pro Abtastwert an jedem Zeitschlitz, verwendet, um die Steuerinformation
von dem Mikroprozessor 106 zu akkumulieren. Ähnlich wird
das Signal PCM DATEN HINEIN gezeigt als bestehend aus einem einzelnen
Taktbit, Clock, und sieben Datenbits, Data6, Data5, Data4, Data3,
Data2, Data1 und Data0. Diese Takt- und Datenbits repräsentieren
den zweiten acht-Bit-Zeitschlitz, der Informations- und Anfrage-Antwort-Daten, wie oben beschrieben,
von dem AUX DSP 116 an den Mikroprozessor 106 trägt.
-
In
der Richtung von dem Mikroprozessor 106 an den AUX DSP 116 wird
das Format der Information, die durch den zweiten 8-Bit Zeitschlitz
getragen wird, im Folgenden in der TABELLE I für einen N+1 Byte-Befehl gegeben.
-
TABELLE
I: Bitkonfiguration für
einen N+1 Byte-Befehl
-
Wie
aus TABELLE I zu sehen ist, beginnt das Anfangsbyte (Byte 0) eines
jeden Befehls von dem Mikroprozessor 106 damit, dass das
Taktbit auf 0 gesetzt wird (niedrig). Alternativ kann es in e inem
anderen Ausführungsbeispiel
auf hoch gesetzt werden. Jedoch alterniert, wie aus der TABELLE
I zu sehen ist, das Taktbit jedes Bytes, um dem AUX DSP 116 zu
ermöglichen,
Befehle über
die Zeitschlitze zu verfolgen. Die nächsten sieben Bits des Anfangsbytes
eines Befehls sind Synchronisierungsbits: S6, S5, S4, S3, S2, S1
und S0. Zusammen bilden diese Synchronisierungsbits einen Synchronisierungs-Header.
In dem beispielhaften Ausführungsbeispiel
ist der Synchronisierungs-Header für ein Befehlspaket das Bitmuster'1111110' (0 × 7e Hexadezimal).
Es sollte angemerkt werden, dass die Synchronisierungsbits der TABELLE
I von dem PCM SYNC Signal der 2A und 2B unterschieden
werden sollen, das ein anderes Signal ist.
-
Das
nächste
Byte eines Befehls (Byte 1) beginnt mit dem entgegengesetzten Taktbit
als das, das verwendet wurde, um das vorhergehende Byte zu starten.
Hier beginnt, da das vorhergehende Byte mit dem Taktbit'0' begonnen hat, das Byte 1 mit dem Taktbit'1'. Die nächsten drei Bits des Bytes
sind Modusbits M2, M1, und M0. Diese Modusbits werden verwendet,
um die Klasse oder den Typ des Befehls zu identifizieren, der durch
den Mikroprozessor 106 übertragen
wird. In dem beispielhaften Ausführungsbeispiel
wird die Modusbit-Konfiguration in der TABELLE II im Folgenden gegeben.
-
TABELLE
II: Modusbit-Konfiguration
-
Wieder
unter Bezugnahme auf die TABELLE I sind die restlichen Bits des
Bytes 1, D3, D2, D1, und D0 Datenbits, die verwendet werden, um
den tatsächlichen
Befehl zu übermitteln,
dessen Definition abhängig
ist von dem Wert der vorhergehenden Modusbits. In anderen Worten,
für jede
Kombination von Modusbits [M2–M0]
repräsentieren
die Datenbits [D3–D0]
einen anderen Befehl. Jeder der Befehle, die oben beschrieben werden,
wird durch eine andere Kombination von Modusbits und Datenbits dargestellt.
Befehle, die mehr als Zwei-Bytes in der Länge sind, werden ebenfalls
von dem Format vorgesehen, das in der TABELLE I gezeigt, durch Hinzufügen einer
zusätzlichen
Anzahl von Datenbytes. Für
jedes dieser zusätzlichen
Datenbytes sollte angemerkt werden, dass der Wert des Data6-Bits
auf '0' gesetzt ist, um
zu verhindern, dass die Kombination der Modusbits und Datenbits
das reservierte Synchronisierungsbitmuster'1111110 (0 × 7e hex) repliziert.
-
Es
sollte auch angemerkt werden, dass ein Befehl des Mikroprozessors 106 immer
aus einer geraden Anzahl von Bytes besteht (d.h. N+1 ist eine gerade
Zahl in der TABELLE I), und immer mit dem Synchronisierungs-Byte
0 × 7e
(hex) beginnt. Die gerade Gesamtanzahl von Bytes pro Befehl stellt
sicher, dass jeder Befehl mit einem Taktbit endet, das auf '1' gesetzt ist. Dies verhindert eine Verwirrung,
ob das letzte Byte eines Befehls der Anfang eines neuen Blocks von
Befehls-Bytes war (die mit dem Taktbit'0' beginnen
würden).
-
Eine
beispielhafte Konfiguration von Datenbits für die verschiedenen beispielhaften
Modi werden in den TABELLEN III–VIII
im Folgenden gezeigt.
-
TABELLE
III: Datenbit-Definition von Modus-0-Befehlen
-
TABELLE
IV: Datenbit-Definition von Modus-1-Befehlen
-
TABELLE
V: Datenbit-Definition von Modus-2-Befehlen
-
TABELLE
VI: Datenbit-Definition von Modus-3-Befehlen
-
TABELLE
VII: Datenbit-Definition von Modus-4-Befehlen
-
TABELLE
VIII: Datenbit-Definition von Modus-5-Befehlen
-
Es
sollte wiederum angemerkt werden, dass die gesamte Anzahl von Befehls-Bytes
für jeden
Befehl des Mikroprozessors 106, einschließlich ein
Synchronisierungs-Byte, eine gerade Zahl ist. Dies stellt sicher, dass
das Taktbit des Synchronisierungs-Bytes immer'0' ist.
Dadurch wird die Integration von Befehls-Bytes in dem AUX DSP 116 erleichtert.
Zusätzlich
gibt es zwei Typen von Bestätigungs(Acknowledgement)-Befehlen von
dem Mikroprozessor 106 an den AUX DSP 116. Sie
werden in der TABELLE III oben als ACK_0 und ACK_1 aufgeführt. ACK_0
wird von dem Mikroprozessor 106 verwendet, um die Bytes
von den AUX DSP 116 zu bestätigen, die das Taktbit '0' haben, während ACK_1 von dem Mikroprozessor 106 verwendet wird,
um die Bytes von den AUX DSP 116 zu bestätigen, die
das Taktbit '1' haben. Der Mikroprozessor 106 wiederholt
den Bestätigungs-
bzw. ACK-Befehl
regelmäßig. Dies
verhindert eine mögliche
Blockierung der Kommunikation zwischen dem Mikroprozessor 106 und
dem AUX DSP 116 über
den Datenbus 101.
-
Der
AUX DSP 116 decodiert die obigen Befehle und die Informationsdaten
von dem Mikroprozessor 106 und wird auf ihnen auf geeignete
Weise tätig.
Damit der AUX DSP 116 diese Befehle und die Information richtig
decodiert, muss er bestimmen, ob ihr Format gültig ist, durch Zählen der
Anzahl von empfangenen Bytes. Entsprechend dem oben beschriebenen
Protokoll ist es offensichtlich, dass eine eingehende Gruppe von
Information (z.B. ein Befehl) nur gültig ist, wenn 8 aufeinander
folgende Bits empfangen werden. Wenn weniger als 8 aufeinander folgende
Bits empfangen werden, werden sie verworfen und der AUX DSP 116 beginnt
erneut zu zählen.
Zusätzlich,
wenn eine gültige
Informationsgruppe (d.h. alle 8 aufeinander folgenden Bits) empfangen
wird, aber der Befehl sich nicht in dem obigen Protokoll befindet,
wird sie verworfen.
-
Die
vorliegende Erfindung sieht auch ein Protokoll zur Übertragung
von Information von dem AUX DSP 116 an den Mikroprozessor 106 vor.
Es ist sehr ähnlich
zu dem Protokoll zur Übertragung
von dem Mikroprozessor 106 an den AUX DSP 116,
wie oben beschrieben. Jedoch gibt es bestimmte Unterschiede, die
angemerkt werden sollen.
-
TABELLE
IX unten zeigt die Bitkonfiguration für eine Nachricht von N+1 Bytes
von dem AUX DSP 116 an den Mikroprozessor 106.
Alle der Nachrichten, die oben von dem AUX DSP 116 an den
Mikroprozessor 106 dargestellt werden, können unter
Verwendung der Bitkonfiguration von TABELLE IX übertragen werden.
-
TABELLE
IX: Bitkonfiguration einer (N+1)-Byte-Nachricht
-
Wie
aus einem Vergleich von TABELLE IX zur TABELLE I oben zu sehen ist,
ist ein Unterschied, dass das erste Byte (Byte 0) jeder Nachricht
von dem AUX DSP 116 an den Mikroprozessor 106 mit
dem Taktbit '1' statt dem Taktbit'0' beginnt. Zusätzlich beginnt das letzte Byte
(Byte N, wobei N ungerade ist) einer jeden Nachricht von dem AUX
DSP 116 an den Mikroprozessor 106 mit einem Taktbit '0' statt dem Taktbit '1'.
Wie oben angemerkt, ist es dieses Alternieren von Taktbits und das
letzte Byte der Nachricht, das das entgegengesetzte Taktbit verwendet,
als in dem ersten Byte der Nachricht verwendet wird, was dem Mikroprozessor 106 ermöglicht,
empfangene Nachrichten genau zu verfolgen und Multi-Byte-Nachrichten über mehrere
Bytes anzusammeln.
-
In
dem beispielhaften Ausführungsbeispiel
sind die Synchronisierungsbits [S6–S1] von dem AUX DSP 116 an
den Mikroprozessor 106 unterschiedlich zu den, die oben
für die
Richtung von dem Mikroprozessor 106 an den AUX DSP 116 gezeigt
werden. In dem beispielhaften Ausführungsbeispiel sind die Synchronisierungsbits
[S6–S1]
von dem AUX DSP 116 '1001100'. Wie oben angemerkt,
dienen diese Synchronisierungsbits [S6–S1] dazu, zwei getrennte Multi-Byte-Nachrichten
von dem AUX DSP 116 an den Mikroprozessor 106 zu trennen.
-
Die
Modusbits [M2–M0]
der TABELLE IX dienen demselben Zweck wie die der TABELLE I oben.
Die TABELLE X unten zeigt die Modusbit-Konfiguration für Nachrichten von dem AUX DSP 116 an
den Mikroprozessor 106. Es sollte angemerkt werden, dass
die Datenbits nach der ersten Informationsgruppe gesetzt werden,
so dass Data6 gleich zu Clock/ ist. Dies verhindert, dass die Sequenz
von Modusbits plus Datenbits das reservierte Synchronisierungsbitmuster,
0 × CC
(hex), imitieren. Es sollte ebenfalls angemerkt werden, dass der
Modus 0 (z.B. M2, M1, M0 sind alle auf Null gesetzt) nicht ermöglicht ist,
so dass die Informationsgruppe 1 nicht das 0 × 00-Muster sein kann. Es ist nicht wünschenswert,
einen Rahmen mit 16 Bits zu haben, in dem die μ-Law-Daten 0 × 00 in
dem ersten 8-Bit-Zeitschlitz sind, und die Nachrichtendaten ebenfalls
0 × 00
in dem zweiten 8-Bit-Zeitschlitz sind. Diese alles-Null-Sequenz
kann fehlinterpretiert werden, als ob das externe Zusatzgerät 102 von
dem Datenbus 101 getrennt ist.
-
TABELLE
X: Modusbit-Konfiguration
-
Für jeden
der unterschiedlichen Modi haben die Datenbits unterschiedliche
Bedeutungen, wie in den folgenden Tabellen dargestellt wird. Für Modus
1, [M2–M0]
= 0 × 1,
werden die Datenbits verwendet, um generischen Modus und Zustandsinformation
zu übermitteln.
Das Datenformat der Nachricht in dem generischen Modus ist eine
4-Byte-Nachricht, wie unten in TABELLE XI gezeigt wird. Der „Modus
1"-Befehl für den Zustand kann
spontan gesendet werden von dem AUX DSP 116 bei einer Änderung
des Zustands, die dem Benutzer auf einer Anzeige (nicht gezeigt)
angezeigt werden sollte. Zum Beispiel eine Zündungszustandsänderung,
eine Handapparat-Privat-Zustandsänderung
oder eine VRU-Zustandsänderung.
-
TABELLE
XI: Datenbit-Definition bei Modus-1-Nachrichten
-
Für Modus
2 sind die Nachrichten VR-Modus-Nachrichten unter Verwendung einer
Vokabular-Satz-Nummer (VSN – vocabulary
set number) und einer Vokabular-Wort-Nummer (VWN – vocabulary
word number). Die Vokabularlvörter
werden in Vokabularsätze
eingeteilt. Jedes Vokabularwort wird mit einer VSN und einer VWN
bezeichnet. Die Zuordnung der Vokabularwörter zu VSN und VWN wird in
der TABELLE XII gezeigt. Es sind vier Informationsgruppen (Bytes)
erforderlich, um die Datenpakete für jede VSN- und VWN-Kombination
zu vervollständigen.
Das Format der Datenbits für
diese vier-Byte-Nachricht wird in der TABELLE XII unten gegeben,
wobei [D4–D0]
die VSN (0 × 0–0 × 1 F) ist
und [D15–D5]
die VWN (0 × 0–0 × 7FF) ist.
-
TABELLE
XII: Zuordnung von Vokabularwörtern
zu VSN+VWN
-
Modus-3-Nachrichten
sind SVN-Nachrichten. Das Datenformat für Modus-3-Nachrichten wird unten in der TABELLE
XIII gezeigt. Modus-3-Nachrichten sind 4-Byte-Nachrichten. Die Modus-3-Nachricht
kann spontan durch den AUX DSP 116 gesendet werden, wenn
das PCM TAKT-Signal (2) zuerst durch
den AUX DSP 116 erfasst wird, das anzeigt, dass das externe
Zusatzgerät 102 gerade
mit der Kommunikationsvorrichtung 100 verbunden wurde.
-
TABELLE
XIII: Datenbit-Definition für
Modus-3-Nachrichten
-
Modus-4-Nachrichten
sind VR-Ziffern-Nachrichten. Das Datenformat für Modus-4-Nachrichten wird unten
in der TABELLE XIV gezeigt. Modus-4-Nachrichten sind 2-Byte-Nachrichten.
-
TABELLE
XIV: Datenbit-Definition für
Modus-4-Nachrichten
-
Modus-5-Nachrichten
sind VR-Zustands-Nachrichten. Das Datenformat der Modus-5-Nachrichten wird
unten in der TABELLE XV gezeigt. Modus-5-Nachrichten sind 4-Byte-Nachrichten.
Es sollte angemerkt werden, dass es in der TABELLE XV unten zwei
Gruppen gibt: Gruppe 0 und Gruppe 1. Wenn eine VR-Zustands-Anfrage
von dem AUX DSP 116 empfangen wird, wird die Gruppe-0-Nachricht
berichtet, um den aktuellen VR-Zustand zu reflektieren. Gruppe-1-Nachrichten
werden spontan von dem AUX DSP 116 berichtet, wann immer
es passend ist.
-
TABELLE
XV: Datenbit-Definition für
Modus-5-Nachrichten
-
Modus-6-Nachrichten
sind erweiterte-SVN-Nachrichten. Das Datenformat von Modus-6-Nachrichten wird
unten in der TABELLE XVI gegeben. Die erweiterte-SVN-Nachricht ist
eine 10-Byte-Nachricht. 52 Datenbits werden verwendet, um die erweiterte-SVN-Daten
zu repräsentieren,
die, wie oben angemerkt, aus 8 ASCII-Zeichen bestehen. Der Versatz
bzw. Offset des ASCII-Codes jedes Zeichens von dem '0'-Zeichen (0 × 30 hex) wird in den letzten
8 Bytes der Nachricht codiert.
-
TABELLE
XVI: Datenbit-Definition für
Modus-6-Nachrichten
-
Wie
bei den Befehlen von dem Mikroprozessor 106 an den AUX
DSP 116 bestehen alle Nachrichten von dem AUX DSP 116 an
den Mikroprozessor 106 aus einer geraden Anzahl von Bytes.
Jedoch beginnen die Nachrichten von dem AUX DSP 116 an
den Mikroprozessor 106 mit dem Byte 0 × CC mit dem Taktbit auf '1' gesetzt, und enden mit dem letzten
Byte, das ein Taktbit auf '0' gesetzt hat. Somit
ist jede der Nachrichten zumindest eine 2-Byte-Nachricht.
-
Ein
Nachrichtenbyte, das von dem AUX DSP 116 an den Mikroprozessor 106 gesendet
wird, wird durch den Mikroprozessor 106 bestätigt. Der
AUX DSP 116 sendet das nächste Nachrichtenbyte nicht,
bis ein entsprechender Bestätigungs-Befehl
empfangen wird. Als ein Ergebnis bleiben die Inhalte des Leseregisters 104 (1)
unverändert,
bis der Mikroprozessor 106 die Inhalte liest und den Bestätigungs-Befehl
sendet. Dies stellt sicher, dass der Mikroprozessor 106 die
Inhalte des Leseregisters 104 nicht verpasst.
-
Jedes
Nachrichtenbyte von dem AUX DSP 116 an den Mikroprozessor 116 ist
nicht vollständig
null (0 × 00).
Der Grund ist, dass dieses Byte, wenn mit einem 0 × 00-μ-Law-Datenbyte
kombiniert, zu einer falschen Anzeige führen kann, dass das externe
Zusatzgerät 102 nicht
mit dem Datenbus 101 verbunden ist.
-
Somit
sieht die vorliegende Erfindung ein Kommunikationsprotokoll zwischen
einer Kommunikationsvorrichtung und einem externen Zusatzgerät vor, das
zuverlässig
in Vollduplex arbeitet. Die vorhergehende Beschreibung der bevorzugten
Ausführungsbeispiele
ist vorgesehen, um Fachleuten zu ermöglichen, die vorliegende Erfindung
herzustellen oder zu verwenden. Die verschiedenen Modifikationen
dieser Ausführungsbeispiele
sind für
Fachleute offensichtlich und die hier definierten generischen Prinzipien
können
auf andere Ausführungsbeispiele
angewendet werden ohne die Verwendung der erfinderischen Fähigkeit.
Somit soll die vorliegende Erfindung nicht auf die Ausführungsbeispiele
begrenzt werden, die hier gezeigt werden, sondern soll dem weitesten
konsistenten Umfang entsprechen, wie durch die Ansprüche definiert.
24353