-
Hintergrund
der Erfindung
-
Die
Erfindung bezieht sich auf Datenkommunikationssysteme und insbesondere
auf ein HF-Paketkommunikationssystem, bei dem eine Anzahl von entfernten
Einheiten Daten an einen Zentralcomputer schickt, und zwar über dazwischen
angeordnete Basisstationen.
-
Strichcodeleser,
die in Verkauf oder Handelseinrichtungen verwendet werden, sind üblicherweise über eine
physikalische Verdrahtung bzw. Verkabelung mit einem Zentralcomputer
verbunden. Diese Verbindung ist geeignet für permanent angebrachte Strichcodeleser,
wie sie zum Beispiel bei Supermarktkassen verwendet werden, oder
für handgehaltene
Scanner oder Handleser bzw. Stiftleser, die an ähnlichen festen Orten verwendet
werden. Wenn jedoch ein Strichcodeleser durch eine Person verwendet
wird, die sich in einem Gebäude
bewegt oder wenn temporäre
Installationen verwendet werden, ist eine physikalische Verkabelung
nicht geeignet, oder zumindest nicht bequem bzw. aufwendig. Eine
Hochfrequenz (HF) Verbindung kann verwendet werden, um Daten von
einem handgehaltenen Barcodescanner zu einer zentralen Station oder
einem lokalen Weiterleitungspunkt zu senden. Die HF-Verbindungen,
die jedoch bisher für
diesen Zweck verfügbar waren,
besaßen
Eigenschaften, die sie teuer und aufwendig bzw. ungeeignet machten.
Diese HF-Verbindungen verwendeten typischerweise Hochfrequenzbänder, welche
eine F.C.C. Lizensierung für
jede Einrichtung benötigten,
was die Kosten und den Verwaltungsaufwand erhöhten. Die HF-Bauteile, die
bei dieser Art von Gerät
verwendet wurden, müssen
von hoher Präzision
sein, so daß eine
Frequenzabweichung und Bandbreitenüberlauf innerhalb der F.C.C.
Toleranzen gehalten wird. Zusätzlich
hat der Batterieverbrauch entweder große schwere Batterien oder häufiges Aufladen
oder beides notwendig gemacht. Die HF-Übertragungsverfahren, die zuvor
verwendet wurden, haben auch die Anzahl der tragbaren Terminals
begrenzt, die innerhalb eines vorgegebenen Bereichs verwendet werden
konnten, infolge der Verwendung einer relativ schmalen Bandbreite.
Beispiele von Strichcodelesern, welche lokale HF-Datenverbindungen
verwendeten, umfassen tragbare Terminals, die im Handel verfügbar sind
von den folgenden Firmen: MSI Data Corporation, Vectran Coporation, LXE-Corporation,
Noran Corporation und Telxon Corporation. Tragbare Strichcodeleser
mit Langstrecken HF-Verbindungen sind verfügbar von Mobil Data International
und von Motorola, Inc. (das KDX1000).
-
Innenraum-HF-Kommunikationsnetzwerke des
Sprachtyps wurden vorgeschlagen, wie zum Beispiel das gemäß US-A-4 789 983 für "Wireless Network
for Wideband Indoor Communications" oder US-A-4 639 914 für "Wireless PBX/LAN
System".
-
Die
entfernten Terminals bei diesen bekanmten Systemen sind zu jeder
Zeit adressierbar, d. h. sie sind immer aktiviert, so daß die Leistungsanforderungen
durch diese Eigenschaft bestimmt werden. Zusätzlich haben diese bekannten
Systeme HF-Frequenzbänder
verwendet, welche eine F.C.C. Lizensierung für individuelle Verwender benötigte. Aus
diesen Gründen
waren bekannte Systeme dieses Typs zu teuer und auch sonst ungeeignet
für die
vorliegenden Zwecke.
-
Spread-Spectrum
drahtlose Übertragung
ist in der Lage, ein Band zu verwenden, welches als ein "unlizensiertes" Band durch die F.C.C.
designiert ist, und somit spielt die Lizensierung keine Rolle und
die Verwendung von Spread-Spectrum-Techniken ermöglicht, daß die Übertragung in einer verläßlichen Art
und Weise durchgeführt
wird, obwohl dieses Band Interferenzen durch die vielen unterschiedlichen
Verwender ausgesetzt ist. In der US-A-4 672 658 ist ein System gezeigt, bei
dem jeder separate Benutzer-Transceiver oder -Sender/Empfänger mit einem separaten
Transceiver oder Sender/Empfänger
an dem zentralen PBX abgestimmt ist und jedes dieser abgestimmten
Paare überträgt mit einer
direkten Sequenz eines Spread-Spectrums-Aufteilungs- bzw. – Chippingmusters.
Ein separater Anrufaufbau-Transceiver oder -Sender/Empfänger mit
einem gemeinsamen direkten Sequenz-Aufteilungs- bzw. Stückelungsmuster
wird verwendet zum Austausch von Information, die beim Aufbau eines
Anrufs bzw. einer Verbindung beinhaltet ist. Wie bei den obigen Systemen
benötigt
dieses System eine kontinuierliche Überwachung der HF-Bänder durch
alle Transceiver oder Sender/Empfänger und es ist ein sprachorientiertes
System, welches variierende Zeitperioden zum Aufrechterhalten von
Verbindungen benötigt,
sowie eine Verbindung von Benutzer zu Benutzer anstatt von Benutzer
zu einer Zentralstation benötigt. Ein
weiteres Beispiel der Verwendung eines Spread-Spectrums in einer
lokalen HF-Verbindung ist ein Gebrauch- bzw. Verbrauchsmeßlesesystem, bei
dem ein Nutzfahrzeug, das an einem Haus vorbeifährt, einen Leser über eine
CW- bzw. -Dauerstrichübertragung
aktiviert und dann Daten von dem Leser empfängt.
-
Drahtlose
Datenverbindungen, die zwischen einem Zentralcomputer und mehreren
entfernten Terminals, die innerhalb eines Gebäudes angeordnet sind, welche
Direktsequenz-Spread-Spectrum-Techniken
verwenden, um Multipfadinterferenzen zu überwinden, sind durch Freret
et al NTC-Record, November 1980, beschrieben, aber diese Systems
verlassen sich wieder auf einen kontinuierlichen Betrieb der tragbaren
Einheiten und sie erzeugen Anforderungen an die HF-Schaltung in den
entfernten Einheiten, was einen komplexen und teueren Aufbau zur Folge
hat.
-
In
US-A-4 740 792 ist ein Datenübertragungssystem
dargestellt, welches Spread Spectrum-HF verwendet, bei dem Fahrzeuge
mit einem Transmitter oder Sender, aber nicht mit einem Receiver
oder Empfänger
versehen sind und bei dem der Ort jedes Fahrzeugs periodisch an
eine Zentralstation berichtet wird über ein übertragenes Paket. Der Sender
wird nur über
ein sehr begrenztes Tastverhältnis
mit Leistung versorgt, so daß der
Batterieverbrauch minimiert wird. Dieses System besitzt nicht die
Fähigkeit
Daten von einer Zentralstation zu einem der Fahrzeuge zu senden
oder zu erlauben, daß der Sender
des Fahrzeugs ein Bestätigungssignal
empfängt,
das den Empfang der übertragenen
Daten anzeigt.
-
Es
ist ein Ziel der vorliegenden Erfindung, ein verbessertes kostengünstiges,
geringe Energie verbrauchendes Datenkommunikationsnetzwerk vorzusehen,
bei dem eine Anzahl von entfernten Terminaleinheiten in der Lage
sind, Datenpakete an eine Zentralstation zu senden und Bestätigungssignale
und Daten von der Zentralstation zu empfangen, und zwar vorzugsweise
ein Netzwerk, welches eine HF-Verbindung oder ähnliches verwendet, so daß sich die
entfernten Einheiten frei innerhalb eines Bereichs, der durch das
Netzwerk abgedeckt werden soll, bewegen können. Ein weiteres Ziel liegt
in dem Vorsehen eines verbesserten Paketübertragungsnetzwerks, bei dem
entfernte Terminaleinheiten kostengünstig sind, geringe Eenrgie
verbrauchen und eine kleine Größe besitzen,
und trotzdem verläßlich sind
und schnell ansprechen, wie es in einer Handelseinrichtung (typischerweise
in einem Innenraum) die Strichcodescanner oder ähnliches zur Datensammlung
verwenden, benötigt
wird. Ein weiteres Ziel liegt in dem Vorsehen eines verbesserten
Protokolls zur Verwendung in einem Datenpaketübertragungsnetzwerk, welches
einen verläßlichen
Betrieb, einen geringen Leistungsverbrauch und die Implementierung
kostengünstiger
Terminals ergibt. Ein besonderes Ziel liegt darin, eine HF-Datenverbindung für tragbare
Terminals ohne eine Lizensierung unter F.C.C.-Regeln vorzusehen,
so daß die
Kosten und Verzögerungen,
die mit einer solchen Lizensierung zusammenhängen, eliminiert oder minimiert
werden.
-
US-A-4,689,786
offenbart ein örtliches
Netzwerk mit Vorrichtungen und Verfahren zur Datenübertragung
zwischen mehreren Datenverarbeitungsgeräten ("Teilnehmern"), welche an ein Kabel gekoppelt sind.
Bei dem bevorzugten Ausführungsbeispiel ist
eine Vielzahl von Teilnehmern an ein gemeinsames Kabel gekoppelt
zur Datensendung und zum Datenempfang. Ein neu an das Kabel gekoppelter Teilnehmer
ordnet sich selbst dynamisch eine besondere Adresse an dem Kbel
zu, an die andere Teilnehmer Daten senden können. Sobald sich ein Teilnehmer
eine endgültige
Adresse zugeordnet hat, kann er über
das Kabel Daten an andere Teilnemer senden und von diesen emfpangen.
Zum Senden von Daten an einen empfangenden Teilnehmer führt der
sendende Teilnehmer eine dreistufige Handshake-Operation aus, bei der der sendende
Teilnehmer ein "RTS"-Signal sendet und innerhalb einer vorgegebenen
Zeit ein "CTS"-Signal von dem empfangenden Teilnehmer
erhalten muß.
Der sendende Teilnehmer sendet daraufhin einen Datenrahmen innerhalb
einer vorgegebenen Zeit nach Empfang des CTS-Signals. Das Fehlen
eines rücklaufenden
CTS-Signals innerhalb der vorgegebenen Zeit bedeutet einen Kollisionszustand.
Bei einem erneuten Sendeversuch wird von einem linearen Back-Off-Verfahren
Gebrauch gemacht, das auf der Basis der vorhergehenden Kabelverkehrshistorie
eingestellt wird.
-
US-A-4,697,281
offenbart ein zelluläres
Telephondatenkommunikationssystem und -verfahren, das die Verwendung
einer mobilen Datenverarbeitungsschnittstelle und einer damit zusammenarbeitenden
statischen bzw. stationären
Datenverarbeitungsschnittstelle umfasst, um Daten effektiv über eine
zellulären
Telephonsystem zu übertragen.
Jede Datenverarbeitungsschnittstelle umfasst einen Prozessor, der
in dem Sendemodus derart funktioniert, daß er ein Fehlersteuerkorrekturdatenformat
zu Daten hinzufügt,
die von einer externen Datenquelle empfangen wurden. Die Daten werden
in Pakete geteilt und an ein Modem geliefert, das in einzigartiger Weise
betrieben wird, um die Wirkung des Modem-Verwürfelungs-Systems zu eliminieren und trotz eines
Trägersignalverlustes
aktiv zu bleiben. Das Modem wird deaktiviert oder getrennt durch
eine Trenn-Signal von dem Prozessor, und wenn Trägersignalverlust auftritt,
wird dieses Trenn-Signal erst nach Vergehen einer Verzögerungsperiode
geliefert, und zwar ohne Wiederaufnahme des Trägersignals. Das Fehlersteuerkorrekturdatenformat
verursacht, daß ein
Empfänger
die empfangenen Daten hinsichtlich Fehlern auswertet und für jedes
akzeptable Paket von empfangenen Daten erneut ein Bestätigungssignal
sendet. Bei Fehlen eines Bestätigungssignals,
liefert der Prozessor wieder ein Datenpaket zu dem Modem für erneute Übertragung.
Auch wird der Prozessor die Frequenz des Fehlers in den empfangenen
Daten aus den Bestätigungssignalen
bestimmen und nachfolgend die Datenpaketgröße gemäß dieser Fehlerfrequenz einstellen.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Gemäß der Erfindung
sind ein Verfahren und ein System zum Übertragen von Datenpaketen
vorgesehen, wie sie in den beigefügten Ansprüchen beschrieben sind. Ein
Datenpaketkommunikationssystem umfasst eine Anzahl von entfernten
Terminaleinheiten zum Sammeln von Daten und eine Kommunikationsverbindung
zum Versenden von in Paketform gebrachten Daten an eine Zentralstation
und zum Empfangen eines Bestätigungs-
bzw. Anerkennungssignals und Daten von der Zentralstation. Ein Paketaustauschprotokoll
wird für
diese Kommunikationsverbindung verwendet, das einen reduzierten
Leistungsverbrauch an der entfernten Einheit vorsieht durch Aktivieren
der Empfangsfunktion für
nur eine kurze Zeit anstelle der Notwendigkeit, daß die entfernte
Einheit zu jedem Zeitpunkt empfängt
oder "hört". Hierfür baut das
Austauschprotokoll ein starres Zeitfenster auf, das an eine Übertragung
durch die entfernte Einheit gebunden ist, und die entfernte Einheit
spricht auf eine Nachricht von der Zentralstation nur während dieses
Zeitfensters an. Dieses Zeitfenster wird derart definiert, daß es zu
einer festen Zeitverzögerung
nach einer Übertragung
von der entfernten Einheit an die Zentralstation beginnt; zu allen anderen
Zeiten ist der Empfänger
nicht mit Leistung versorgt. Bei diesem Protokoll kann die Zentralstation
keine Paketübertragung
an eine entfernte Einheit initiieren, stattdessen muß sie warten,
bis die entfernte Einheit ein übertragenes
Paket geschickt hat, und dann kann die Zentralstation in dem starren
Zeitfenster antworten, indem sie an das Bestätigungssignal die Daten anhängt, die
sie an die entfernte Einheit übertragen
will. Die entfernten Einheiten sind kostengünstige handgehaltene Einheiten
in einem Ausfürhungsbeispiel
und somit besitzen sie eine geringere Rechnerkapazität als die
Zentralstation und der Leistungsverbrauch muß minimiert werden. Demgemäß erlaubt
die Verwendung dieses Protokolls, das die Empfangsfunktion und die
Rechnerfunktion, die notwendig ist zum Decodieren der empfangenen
Daten, durch die entfernte Einheit geplant bzw. gemanaged wird anstelle
daß die
entfernte Einheit an die Zentraleinheit gebunden ist bzw. von dieser
abhängig
ist.
-
In
einem darstellenden Ausführungsbeispiel umfaßt die Zentralstation
eine Anzahl von Basisstationen, die in unterrschiedlichen Räumen oder
Bereichen angeordnet sind, wobei alle Basisstationen mit einem Zentralcomputer
verbunden sind, und zwar entweder über eine Kabelverbindung oder
eine ähnliche
Hochfrequenzverbindung. Zu jedem gegebenen Zeitpunkt ist eine entfernte
Einheit nur einer die ser Basisstationen zugewiesen und während sich
die entfernte Einheit umherbewegt, wird sie einer anderen Basisstation
zugewiesen. Ein Merkmal des Protokolls ist es, eine ID-Nummer für die entfernte
Einheit in dem übertragenen
Paket aufzunehmen und diese ID-Nummer in dem Antwortpaket aufzunehmen,
so daß eine
Bestätigung
durch eine zugewiesene Basisstation bestätigt wird. Es muß aber keine Adresse
oder ID der Basisstation in dem Protokoll zur Komunikation mit den
entfernten Einheiten vorhanden sein, da eine entfernte Einheit nur
einer Basisstation zugewiesen ist und die Basisstation nur als eine Verbindungsleitung
mit dem zentralen Computer dient.
-
Die
entfernten Terminaleinheiten sind in einem Ausführungsbeispiel handgehaltene
Strichcodeleser und diese Einheiten sind mit einer Zentralstation
gekoppelt über
eine HF-Verbindung, so daß der Verwender
frei ist, sich in dem Netzwerkbereich zu bewegen. Normalerweise
ist das Datenpaket, das von der entfernten Einheit verschickt wird,
das Resultat eines eingescanten Strichcodesymbols. Die Anwort von
der Zentralstation wäre
in diesem Fall eine Bestätigung
oder Verifizierung der Strichcodeinformation oder Instruktionen
an den Benutzer oder Verwender darüber, was mit dem Paket, das
durch die handgehaltene Einheit gescant wurde, gemacht werden soll.
-
In
einem bevorzugten Ausführungsbeispiel verwendet
die HF-Verbindung eine Spread-Spectrum-Modulationstechnik, um Datenpakete
von den entfernten Terminals zu den Basisstationen und zurück zu verschicken.
Spread-Spectrum-Verfahren verwenden eine übertragene Bandbreite, die
viel breiter ist als die für
die Daten benötigten,
indem eine codierte Funktion zu den Daten hinzugefügt wird, dann
wird das empfangene Signal decodiert und in die Originalinformationsbandbreite
zurückgebracht. Ein
besonderer Vorteil dieser Art einer HF-Datenverbindung ist, daß ein Band
verwendet werden kann, welches keine Standortlizen sierung durch
die F.C.C. benötigt
und trotzdem eine verläßliche kostengünstige Kommunikation
von einer leichtgewichtigen handgehaltenen batteriebetätigten Einheit
ermöglicht.
-
Ein
wichtiges Merkmal ist die Verwendung der Decodierung eines anfänglichen
Synchronisierungsteils des Pakets in einer Direktsequenz-Spread-Spectrum-Übertragung,
um einen Qualitätsfaktor
zu erzeugen zur Verwendung in der Bestimmung, welche Basisstation
mit welcher entfernten Einheit zusammenarbeiten sollte. Die Spread-Spectrum-Übertragung enthält eine
erhebliche Redundanz (jedes Bit wird ausgebreitet bzw. verteilt,
um eine Anzahl von Bits zu erzeugen) und somit kann ein empfangenes
Paket selbst in einer lauten bzw. verrauschten Umgebung verwendet
werden, in der alle decodierten Bits (vor dem Zusammenführen bzw.
dem Entspreaden) nicht gültig
sind. Durch Aufzeichnung des Grads, mit dem das ankommende Paket
von einer entfernten Einheit mit dem Pseudozufallscode korreliert,
der verwendet wird, um Spread-Spectrum Signale zu erzeugen, und
durch Vergleichen dieser Daten mit denen, die von anderen Basisstationen
empfangen wurden, kann die beste Station ausgewählt werden, während die
Kommunikationen bzw. Verbindungen ununterbrochen weiterlaufen.
-
Kurze Beschreibung
der Zeichnungen
-
Die
Merkmale, die für
die Erfindung als charakteristisch angesehen werden, sind in den
Ansprüchen
enthalten. Die Erfindung selbst sowie andere Merkmale und Vorteile
davon können
jedoch am besten unter Bezugnahme auf die detaillierte Beschreibung
eines spezifischen Ausführungsbeispiels
in Verbindung mit der Zeichnung verstanden werden; in der Zeichnung
zeigt:
-
1 ein
elektrisches Diagramm in Blockform eines Datenpaketkommunikationssystems
gemäß einem
Ausführunsbeispiel
der Erfindung;
-
2 ein
Zeitsteuerdiagramm, welches Vorfälle
(HF-Übertragung)
abhängig
von Zeit über
eine Datenübertragungssequenz
in dem System gemäß 1 zeigt;
-
3 ein
detaillierteres elektrisches Schemadiagramm in Blockform des Hostcomputers
und einer der Basisstationen in dem System gemäß 1;
-
4 ein
detaillierteres elektrisches Schemadiagramm in Blockform eines der
entfernten Terminals in dem System gemäß 1;
-
5 eine
Schnittansicht einer handgehaltenen Barcodescannereinheit, die als
der entfernte Terminal gemäß ein Ausführungsbeispiel
der Erfindung verwendet werden kann;
-
5a eine
bildliche Ansicht eines anderen Typs eines Strichcodelesers, der
als der entfernte Terminal anstelle des Laserscanners in 5 verwendet
werden kann, und zwar gemäß einem
weiteren Ausführungsbeispiel
der Erfindung;
-
6 eine
Ansicht eines Teils eines Strichcodesymbols, das durch die entfernte
Einheit der 4 und 5 oder 5a gelesen
wird, und eines Zeitsteuerdiagramms des dadurch erzeugten elektrischen
Signals;
-
7 eine
auseinandergezogene Ansicht eines Teils des Zeitsteuerdiagramms
gemäß 2;
-
8a–8c Zeitsteuerdiagramme,
die Vorfälle
abhängig
von der Zeit zeigen, die in dem System gemäß den 1 und 3–6 unter Verwendung
des Protokolls der 2 und 7 auftreten;
-
9 ein
elektrisches Schemadiagramm der Schaltung des Sender/Empfängers in
der entfernten Einheit gemäß 4;
-
10 eine
elektrisches Schemadiagramm der Schaltung des Senders/Empfängers in
einer Basisstation des Systems der 1 und 3;
-
11 ein Logikflußdiagramm eines Algorithmus,
der durch die CPU in einer entfernten Terminaleinheit der 1, 4 und 9 ausgeführt werden
kann, und zwar für
ein System gemäß einem Ausführungsbeispiel
der Erfindung.
-
Detaillierte Beschreibung
eines spezifischen Ausführungsbeispiels.
-
Gemäß 1 ist
ein Datenkommunikationsnetzwerk gemäß einem Ausführungsbeispiel
der Erfindung dargestellt. Ein Hostprozessor 10 ist über eine
Kommunikationsverbindung 11 mit einer Anzahl von Basisstationen 12 und 13 verbunden;
andere Basisstationen 14 können mit dem Host gekoppelt
sein über
die Basisstationen 12 oder 13, und zwar über eine
HF-Verbindung. Jede der Basisstationen 12, 13 oder 14 ist über eine
Hf-Verbindung mit einer Anzahl von entfernten Einheiten 15 verbunden
bzw. gekoppelt. Gemäß einem
Ausführungsbeispiel
sind die entfernten Einheiten 15 Laserscannerstrichcodeleser des
handgehaltenen batteriebetriebenen Typs, wie sie beispielsweise
in den US-Patenten
4 387 297; 4 409 470 oder 4 760 248, die alle Symbol Technologies
Inc. zugewiesen sind, offenbart sind. Unterschiedliche Arten von
entfernten Terminals können vorteilhafterweise
in einem System, welches die Merkmale der Erfindung besitzt, verwendet
werden; die entfernten Terminals würden normalerweise Dateneingabemöglichkeiten,
wie zum Beispiel eine Tastatur oder ähnliches sowie eine Anzeige
(oder einen Drucker) besitzen, und zwar um einen Benutzer Information
anzuzeigen, die detektiert, übertragen und/oder
durch diesen Terminal 15 empfangen wurde. Bei diesem Ausführungsbeispiel,
das als ein darstellende Beispiel verwendet wird, können zwischen einer
bis vierundsechzig Basisstationen 12, 13 und 14 (von
denen drei in der Figur gezeigt sind) und bis zu mehreren hundert
entfernten Einheiten 15 vorgesehen sein, natürlich kann
das Netzwerk ausgedehnt werden, indem einfach die Größe der Adressenfelder und ähnliches
in dem digitalen System verwendet wird, und zwar je nach der Notwendigkeit,
aber ein Begrenzungsfaktor ist der HF-Verkehr und die damit zusammenhängenden
Verzögerungen
beim Warten auf einen ruhigen Kanal. Dieses Kommunikationsnetzwerk,
wie es in 1 zu sehen ist, würde üblicherweise
in einer Herstellungseinrichtung, einem Bürogebäudekomplex, einem Warenhaus,
einer Verkaufseinrichtung oder ähnlichen
Handelseinrichtungen ober einer Kombination dieser Einrichtungen verwendet
werden, in denen Strichcodeleser oder ähnliche Datensammelterminals 15 verwendet
würden
für Inventarkontrolle
im Lager oder Empfangs/Verschiffungseinrichtungen, an Kassen (point of
sale), zum Lesen von Formularen oder Rechnungen oder ähnlichen,
für Personalsicherheitsprüfungen an
den Eingängen
oder anderen Checkpunkten, Zeit- bzw. Stechuhren für Herstellungs-
oder Verarbeitungsflußsteuerung
und vielen anderen solcher Verwendungen. Obwohl handgehaltene laserscannartige
Strichcodeleser genannt sind, können
die Datenterminals 15 auch Strichcodeleser des Handleser- bzw.
Stifttyps sein und sie können
auch stationäre Leser
statt handgehaltene Leser sein. Die Vorrichtung kann auch des optischen
Zeichenerkennungstyps (OCR = optical character recognition) sein.
Andere Typen von Datensammeleinrichtungen bzw. Vorrichtungen können die
Merkmale der Erfindung verwenden, wie zum Beispiel Temperatur oder Druckmeßvorrichtungen,
Vorfallzähler,
sprach- und klangaktivierte Vorrichtungen, Eindringdetektoren usw.
-
Gemäß einem
wichtigen Merkmal eines Ausführungsbeispiels
der Erfindung umfaßt
ein HF-Paketkommunikationsprotokoll zwischen den entfernten Einheiten 15 und
den Basisstationen 12, 13, und 14 einen
Sende/Empfangsaustausch, der nachfolgend einfach als ein "Austausch" bezeichnet wird.
-
Dieses
Protokoll ist ähnlich
zu einem Kollisionsabfühlmultipleaccess
(CSMA = collision-sens multiple-access) dahingehend, daß eine Einheit
zuerst zuhört,
bevor sie überträgt und nicht überträgt, wenn
der Kanal nicht frei ist. Wie in 2 zu sehen ist,
beginnt dieser Austausch immer mit einem übertragenen Paket 17 von
der entfernten Einheit zu der Basis, die eine HF-Übertragung
von einer entfernten Einheit 15 darstellt, die durch die
Basistationen innerhalb des Bereiches empfangen werden. Dem übertragenen
Paket 17 folgt nach einem festen Zeitintervall ein übertragenes
Paket 18 von der Basis zur entfernten Einheit, das den
Empfang durch die entfernte Einheit 15 aus HF-Information
darstellt, die durch die Basisstation, welche die bestimmte entfernte
Einheit 15 bedient, übertragen
wird. Jedes dieser Pakete 17 und 18 besitzt ein
festes Timing; ein Sender/Empfänger
in einer entfernten Einheit 15 beginnt einen Austausch
auf Grund eigener Initiative, indem er zuerst für ein kurzes Intervall t0 (typischerweise 0,3 msec) auf anderen Verkehr
bzw. andere Kommunikationen hört,
und wenn der HF-Kanal frei ist, beginnt er eine Übertragung zu einem Zeitpunkt
ihrer eigenen Wahl (asynchron zu irgendeiner Taktperiode der Basisstationen
oder des Hostcomputers). Das herausgehende Übertragungspaket 17 dauert
eine Zeit t1, wie in der Figur zu sehen
ist, und in einem Ausführungsbeispiel
beträgt
diese Periode 4,8 msec. Dann, zu einer genauen
Zeitverzögerung
t2, nachdem die Übertragung gestartet wurde
(zum Beispiel 5 msec nach dem Beginn von t1),
beginnt der Sender/Empfänger, hinsichtlich
eines Rückpakets 18 von
der Basisstation zu hören.
Der Sender/Empfänger
in der entfernten Einheit 15 spricht nur auf den Empfang
des Pakets an, das in einem sehr starren Zeitfenster t3 mit
ein paar Mikrosekunden Länge
beginnt, und, wenn das Paket 18 nicht während dieses Fensters gestartet wird,
wird alles, was danach folgt, ignoriert. Das Paket 18 ist
ein Anerkennungs- bzw. Bestätigungssignal und
enthält
auch Daten, ob die Basisstation irgendwelche Nachrichten be sitzt,
die darauf warten, verschickt zu werden. Das Paket 18 besitzt
auch eine Länge
von 4,8 msec unabhängig
von den enthaltenen Daten, so daß ein entfernter Einheit-zu-Basis-Austausch einschließlich der
Bestätigung
ungefähr
9,8 msec in dem Beispiel benötigt.
Diese Basisstationen 12, 13 und 14 können keinen
Austausch gemäß 2 initiieren
oder irgendwelche anderen Übertragungen
zu den entfernten Einheiten 15 initiieren, stattdessen
müssen
sie warten, bis ein Paket 17 von der entfernten Einheit 15,
für die
die Basisstation eine wartende Nachricht besitzt, empfangen wird
und dann werden die zu versendenden Daten in dem Datenteil des Rückpakets 18 eingeschlossen.
Aus diesem Grund sind die entfernten Einheiten 15 im allgemeinen
derart programmiert, daß sie
periodisch, zum Beispiel ungefähr
alle 500 msec oder länger,
ein Paket 17 an die Basisstation schicken, und zwar ohne Daten
mit der Ausnahme des Identifizierungscodes (herkömmlich als NOP bezeichnet),
so daß die
Basisstation jegliche Daten, die in dem Speicher zur Weiterleitung
an die entfernte Einheit 15 warten, verschicken kann. Um
zu verhindern, daß eine
andere entfernte Einheit 15 einen Austausch gemäß 2 in dem
Intervall direkt nach dem Übertragungspaket 17, aber
bevor das Empfangspaket 18 gestartet wurde, beginnt, wird
die Zeit t0, d. h. die Hörzeit, im allgemeinen so ausgewählt, daß sie länger ist
als das Zeitintervall zwischen dem Übertragungspaket 17 und
dem Empfangspaket 18 (0,2 msec in diesem Beispiel). Wenn
eine weitere entfernte Einheit 15 versucht, ihren eigenen
Austausch zu initiieren, empfängt
sie die HF-Übertragung
und sie wird zurücktreten
und es wieder versuchen, und zwar mindestens ungefähr 10 msec
später.
In der Art und Weise von CSMA-Protokollen
können
die entfernten Einheiten 15 programmiert werden, über zufällige Zeitverzögerungen
hinweg zu warten, bevor sie es wieder versuchen, um dadurch die
Wahrscheinlichkeit von simultanen Versuchen zu verringern.
-
Gemäß 3 besitzt
in einer typischen Handels- oder Verkaufsanwendung eines Netzewerks gemäß 1 der
Hostprozessor 10 ein Datenbasenmanagementsystem (das eine
geeignete Datenbasismanagementsoftware ähnlich zu dem im Handel verfügbaren verwendet),
in das die entfernten Einheiten 15 Eingaben machen oder
Anfragen an diese stellen, und zwar über die Basisstationen 12, 13 und 14.
Der Hostprozessor 10 besitzt einen CPU 20, der eine
Mikroprozessorvorrichtung des 80386 Typs sein kann, der beispielsweise
hergestellt wird, und der CPU greift auf einen Speicher 21 zu über einen Hauptbus 22,
um Instruktionen auszuführen.
Unterschiedliche I/O-Prozessoren 23 werden verwendet, um
auf Peripherien, wie zum Beispiel eine Tastatur, eine Videoanzeige
usw. sowie auf Diskettenspeicher 24 für das Datenbasissystem und
andere Computerfunktionen zuzugreifen. Ein Kommunikationsadapter 25 koppelt
den CPU 20 über
den Hauptbus 22 zu der Verbindung 11. Diese Kommunikationsverbindung 11 kann
des seriellen Typs sein, wie zum Beispiel ein RS232, oder in einem
System, das für
höhere
Leistung aufgebaut ist, könnte
die Verbindung bzw. das Link 11 eines der verfügbaren Protokolle
des local area networktyps (LAN), wie zum Beispiel das Ethernet
oder Tokenring, verwenden; in dem Ausführungsbeispiel sind jedoch
die Standardlocalareanetworkprotokolle unnötig komplex und teuer und eine
optimalere Lösung
ist die einfache Verwendung eines seriellen Ports oder Anschlusses,
der über
eine geteilte serielle Leitung 11 auf einer Timesharingbasis
(zum Beispiel zeitgesteuert) verbunden ist. Die Datenrate an dem
Link bzw. der Verbindung 11 ist eher mittelmäßig im Vergleich
zu typischen 4-Mbit oder 16-Mbit/sec LAN-Verbindungen des Tokenrings
oder Ethernettyps; und zwar ungefähr 160-Kbit/sec ist für die Verbindung 11 adequat
und somit kann eines der unterschiedlichen seriellen Verbindungsmethoden des
zeigesteuerten Typs (Time-Slot-Type) verwendet werden.
-
Die
Basisstationen 12, 13 und 14 verwenden jeweils
einen CPU 30, der auf einen Speicher 31 über einen
lokalen Bus 32 zugreift, wie in 3 zu sehen ist.
Diese Datenverarbeitungseinheit ist mit der seriellen Verbindung 11 über Kommunikationsadapter 33 verbunden.
Ein HF-Sender/Empfänger 34 ist
mit dem CPU 30 in jeder Basisstation gekoppelt, und zwar über den
lokalen Bus 32 und ist mit einer Antenne 35 zur
HF-Übertragung
an und zum Empfang von den entfernten Einheiten 15 unter
Verwendung des Protokolls gemäß 2 verbunden.
Ein zusätzlicher HF-Sender/Empfänger 34a kann
verwendet werden als eine HF-Verbindung zu und von anderen Basisstationen,
wenn dies notwendig ist. Ein Beispiel einer im Handel verfügbaren Mikroprozessorvorrichtung, die
als der CPU 30 verwendet werden kann, ist eine V-25 Vorrichtung,
die durch NEC hergestellt wird, welches dieselbe Vorrichtung ist,
die in den entfernten Einheiten 15 verwendet wird, wie
nachfolgend beschrieben wird. Eine weitere Mikroprozessorvorrichtung,
die als der CPU 30 verwendet werden kann, ist die DSP56001,
die durch Motorola Inc. aus Phoenex, Arizona, hergestellt wird.
Dieser DSP56001 Mikroprozessor wird hauptsächlich als ein digitaler Signalprozessor
verkauft, aber er dient auch als eine Hochleistungs-, kostengünstige Steuervorrichtung,
die in der Lage ist, eine 24 Bit·24 Bit Multiplikationsoperation
in 100 nsec durchzuführen
und Unterbrechungs- bzw. Interruptroutinen in 200 nsec durchzuführen. Beispiele
von Codes, die verwendet werden, um typische I/O-Algorithmen und
Codeerkennung durchzuführen,
sind von dem Hersteller der Mikroprozessorvorrichtungen oder assoziierter
Anbieter verfügbar. Der
Speicher 31 umfaßt
einen ROM oder einen EPROM für
den Startcode, der durch den CPU 30 ausgeführt wird,
sowie einen schnellen RAM für
das Programm, das während
normaler Operationen durchgeführt
wird und zum Speichern bzw. Zwischenspeichern oder Puffern der gitalen
Daten, die in den HF-Sender/Empfänger 34 eingehen
oder von diesem ausgehen. Zusätzlich
umfaßt
der CPU 30 eine Anzahl von schnellen internen Registern,
die verwendet werden zur Datenmanipulation bei der Ausführung der
Codeerkennungsalgorithmen. Ein besonders nützliches Merkmal der 56001-Vorrichtung ist,
daß ein
serieller Anschluß verfügbar ist
zum Übertragen
und Empfangen von Daten über
die serielle Kommunikationsverbindung 11, so daß diese Funktion
implementiert werden kann mit wenig zusätzlichen Schaltungen in den
Adapter 33. In gleicher Weise besitzt die V-25-Vorrichtung einen
analogen Eingang, der für
diesen Zweck verwendet werden kann; in ähnlicher Weise kann der Adapter 33 die
eingehenden oder ausgehenden seriellen Daten speichern bzw. zwischenspeichern
oder puffern, so daß parallele Übertragungen
an dem Bus 32 für
Verbindungsdaten verwendet werden.
-
Die
Basistationen 12, 13 und 14 sind üblicherweise
in unterschiedlichen Räumen
oder Buchten der Handelseinrichtung, welche das Netzwerk gemäß 1 enthält, angeordnet
oder sie sind in anderen Orten angeordnet, die für einen Bediener nicht leicht
zugänglich
sind, so daß normalerweise
eine Konsole mit einer Tastatur und einer Anzeige nicht verwendet
wird; wenn jedoch eine Basisstation für eine Desktop oder Wandanbringung
konfiguriert ist, die sich an einem zugänglichen Ort befindet, können I/O-Vorrichtungen
mit dem Bus 32 gekoppelt sein, um eine lokale Dateneingabe
oder Anzeige zu erlauben. Die Basisstationen werden üblicherweise
durch Stromleitungen statt Batterien mit Leistung versorgt, und
somit gibt es weniger Probleme hinsichtlich des Leistungsverbrauchs
in diesen Vorrichtungen im Vergleich zu den entfernten Terminals 15.
Der HF-Signalpfad in dieser Umgebung ist hinsichtlich seiner Natur
veränderbar,
wenn Ausrüstung,
Gabelstapler, Möbel,
Türen usw.
umherbewegt werden oder wenn sich der Bediener von einem Platz zu
einem anderen bewegt und die handgehaltene entfernte Einheit mit sich
trägt oder
wenn das Netzwerk hinsichtlich seiner Größe expandiert oder reduziert
wird; es gibt einen hohen Grad an Multipfadbildung bei dieser Art HF-Verbindung.
Somit kann sich die bestimmte der Basisstationen, die zu einer gegebenen
Zeit mit einer der entfernten Einheiten 15 kommuniziert,
verändern;
diesbezüglich
kann ein "hand-of" Protokoll verwendet
werden, wie nachfolgend beschrieben wird, um die Basisstation zu
verändern,
die designiert ist mit einer entfernten Einheit zu kommunizieren.
Auf diese Art und Weise besitzt eine entfernte Einheit 15 eine
bestätigte
virtuelle HF-Verbindung mit nur einer Basisstation zu einer Zeit,
obwohl andere in dem Bereich sein könnten. Die Basisstation 12, 13 oder 14 ist nur
ein Zwischenglied; die entfernte Einheit kommuniziert mit dem Hostprozessor 10 und
die Funktion einer Basisstation besteht nur in dem Weiterleiten
der Daten von einer entfernten Einheit zu dem Hostcomputer oder
von dem Hostcomputer zu einer entfernten Einheit. In einer Installation
auf einer minimalen Skala kann nur eine Basisstation vorhanden sein, wobei
in diesem Fall die Kommunikationsverbindung 11 eine direkte
Verbindung über
einen RS232 seriellen Anschluß und
Kabel sein kann, oder wenn das Gebäude so aufgebaut ist, daß die Basisstation
an demselben Ort wie der Hostcomputer angeordnet sein kann, kann
die Verbindung 11 durch ein paralleles Bus-zu-Bus-Interface
ersetzt werden, wobei in diesem Fall die Basisstation und der Hostcomputer als
eine einzelne Einheit angesehen werden können. Wenn mehrere Basisstationen
vorhanden sind, verwendet die Kommunikationsverbindung 11 ein
Protokoll mit adequater Leistung, um zu erlauben, daß jede HF-Übertragung
(Paket 17) von einer entfernten Einheit 15 in
der Basisstation decodiert wird und an den Hostprozessor 10 weitergeleitet
wird über
die Verbindung bzw. das Link 11, dann eine Antwort von dem
Hostcomputer 10 über
die Verbindung 11 zu der Basisstation zurückgesendet
wird, so daß die
Basisstation auf einen weiteren Austausch warten kann, zur Übertragung
der gespeicherten Nachricht an die entfernte Einheit 15 in
einem Paket 18. Diese Sequenz sollte für den Verwender (eine Person,
die den Strichcodeleser trägt)
im wesentlichen in "Echtzeit" erscheinen, obwohl
die tatsächliche
Verzögerung vielleicht
Hunderte von Milliskunden betragen kann. Dieser kurze Zyklus wird
selbst dann beibehalten, wenn das Netzwerk eine größere Anzahl
von entfernten Einheiten 15 umfaßt, die sporadisch in Betrieb sind.
Infolge des verwendeten HF-Protokolls und der Notwendigkeit, daß die HF-Verbindung
mit einer großen
Anzahl von entfernten Einheiten geteilt werden muß, ist die
serielle Verbindung 11 viel schneller als eine HF-Verbindung über HF-Sender/Empfänger 34a und
Antennen 35a von einer Basisstation zu einer anderen Basisstation,
und somit wird die serielle Verbindung 11 für Nachrichten
zwischen Basisstationen verwendet, wann immer dies möglich ist.
Die HF-Verbindung in dem Ausführungsbeispiel,
welches das beschriebene Protokoll verwendet, besitzt eine Datenrate
von weniger als einem Zehntel der seriellen Verbindung 11.
Nur wenn das physikalische Layout oder die temporäre Natur
des Netzwerks diese Lösung
erfordert, wird die HF-Verbindung von einer Basis zu einer Basis
verwendet.
-
Gemäß 4 ist
jede entfernte Einheit 15 in dem Ausführungsbeispiel ein Datenterminal
(zum Beispiel ein handgehaltener Strichcodeleser) mit einem CPU 40,
der Programminstruktionen von einem Programm und Datenspeicher 41 ausführt, der
mit dem CPU über
einen lokalen Bus 42 gekoppelt ist. Eine periphere Strichcodedatensammelvorrichtung 43 ist
mit dem CPU über
den Bus 42 gekoppelt und wird verwendet zum Detektieren
und/oder Umwandeln von Daten von dem Strichcodescanabschnitt, die
in dem Speicher 41 gespeichert werden und durch den CPU 40 verarbeitet
werden sollen; andere Steuervorrichtungen bilden ein Interface bzw.
eine Schnittstelle mit der Tastatur und der Anzeige. Ein HF-Sender/Empfänger 44 ist
mit dem CPU über
den Bus 42 gekoppelt und wird durch diesen gesteuert, und überträgt das codierte
HF-Signal über
eine Antenne 45 oder detektiert das durch die Antenne empfangene HF-Signal
und wandelt dieses um, und zwar gemäß einem Protokoll. Bei dem
Beispiel, bei dem die entfernte Einheit 15 ein Laserscannerstrichcodeleser
ist, wird die Vorrichtung 43 verwendet zum Eingeben von
Daten von einer Photodetektorvorrichtung 46, die ein serielles
elektrisches Signal erzeugt, das an eine Codeerkennungsschaltung 47 geliefert
wird, die auf charakteristische Muster von Strichcodesymbolen anspricht
und Strichcodedaten für
den Speicher 41 über
die Vorrichtung 43 vorsieht, wenn ein Strichcode gescant
wird. Die Srichcodedaten werden in den Speicher 41 eingegeben
durch DMA, wenn der CPU 40 diese Fähigkeit umfaßt, oder
durch Bewegungsinstruktionen, die durch den CPU ausgeführt werden;
alternativ kann der Speicher 41 eine Video DRAM-Vorrichtung
sein, die serielle Dateneingabe durch einen seriellen Anschluß erlaubt,
der separat von dem ist, der für
den CPU-Zugriff verwendet wird. Der CPU 40 innerhalb der
entfernten Einheit überprüft die Strichcodedaten
hinsichtlich ihrer Gültigkeit und
des Formats durch Ausführung
eines Codes, der in dem Speicher 41 gespeichert wird, und
wenn das Datenpaket in dem Speicher 41 repariert wurde,
iniziiert der CPU eine HF Übertragung
durch Aktivieren des HF Sender/Empfänger 44 und überträgt das codierte
Paket, das die Strichcodedaten enthält, an den Sender/Empfänger über den
Bus 42. Normalerweise besitzt die entfernte Einheit eine
manuelle Dateneingabevorrichtung, wie zum Beispiel eine Tastatur 48 und
eine visuelle Anzeige 49, wie zum Beispiel eine LCD Vorrichtung;
die Elemente der Tastatur und der Anzeige werden gescant durch Signale,
die in dem CPU 40 erzeugt werden oder sie werden in einer
Tastatur und Anzeige I/O Steuerung erzeugt, wie zum Beispiel einem
Intel 8042 Microcontroller, der weit verbreitet für diesen
Zweck verwendet wird, und zwar abhängig von Leistungs-/Kostenbetrachtungen.
Ein Vorteil des Protokolls gemäß 2 ist
jedoch, daß der
CPU 40 alle diese Aufgaben handhaben kann, einschließlich der
Dateneingabe von dem Strichcodescanner, der Tastatur und dem Anzeigescan,
HF Steuerung, Datenstromtransfer zu und von dem HF, und Datencodierung
und -decodierung, da die HF Übertragung
und der Empfang unter Steuerung der entfernten Einheit liegt, anstatt
durch eine Vorrichtung auf höherem
Niveau, wie zum Beispiel die Basisstation oder dem Hauscomputer,
gesteuert zu werden. Das heißt,
ein wichtiges Merkmal ist die Fähigkeit
der entfernten Einheit 15 Vorgänge zu steuern bzw. einzuteilen
und mit der Basisstation zu Zeiten eigener Wahl zu kommunizieren,
da diese Fähigkeit die
Aufgaben der entfernten Einheit vereinfacht. Daher werden die Bauteile,
die in der entfernten Einheit gemäß 4 benötigt werden,
auf einem Minimum hinsichtlich Kosten, Größe, Gewicht und Batterielebenszeit
gehalten.
-
Der
CPU 40 in der entfernten Einheit 15 gemäß 4 kann
eine Intel 8088 16 Bit Microprozessorvorrichtung mit einem externen
Bus 42 sein, der einen 8 Bit Datenbus, einen Adressenbus
mit bis zu 20 Bit Breite (es werden in diesem Beispiel nur 14 bis 15
Bit-Adressen benötigt)
und einen Satz von Kontroll- bzw. Steuerleitungen umfaßt. Alternativ
kann der CPU 40 ein NEC V-25 Microprozessor sein, der Software
kompatibel mit dem 8088 ist aber mehrere zusätzliche Fähigkeiten bzw. Eigenschaften,
wie zum Beispiel einen seriellen Anschluß, DMA Fähigkeit, einen analogen Eingangsanschluß und mehrere
Registersätze
besitzt, um Kontextschalter bzw. -schaltungen zu beschleunigen sowie
mehrere zusätzliche Instruktionen.
Natürlich
vereinfacht die Verwendung einer V-25 Vorrichtung für sowohl
die CPUs 30 als auch 40 die Codeschreibanforderung,
da ein Teil des Codes sowohl in der Basis als auch in den entfernten Einheiten
verwendet wird. Der Speicher 41 kann aus einem 128 Kbit
EPROM-Chip und einem 128 Kbit statischem RAM-Chip bestehen, der
32 Kbytes Speicher vorsieht, was für die zugeordneten Aufgaben dieser
Einheit ausreicht; natürlich
kann zusätzlicher Speicher
für unterschiedliche
Aufgaben oder eine höhere
Leistung hinzugefügt
werden. Vorzugsweise werden CMOS Vorrichtungen für den CPU 40 und den
Speicher 41 (sowie in der HF Schaltung 44, wo dies
möglich
ist) verwendet, um Leistungsverbrauch sowie Batterieverbrauch zu
minimieren. Die 8088 oder V-25 Microprozessorvorrichtungen sind
nur Beispiele der Klasse von CPU-Vorrichtung, die in der entfernten
Einheit benötigt
wird. Es sei bemerkt, daß andere
Microprozessorvorrichtungen verwendet werden können, obwohl die 8088 Vorrichtung
den Vorteil geringer Kosten für
das Teil selbst sowie für
die Software besitzt; für
die 8088 Vorrichtung besteht schon ein breiter Bereich an Software.
-
Obwohl
andere Datenterminaleinheiten 15 vorteilhafterweise in
einem System, das die Merkmale der Erfindung beinhaltet, verwendet
werden können,
ist eine handgehaltene Laserscannerstrichcodeleseeinheit, wie sie
in 5 dargestellt ist, ein Beispiel einer entfernten
Einheit, die besonders geeignet ist für die Verwendung in dem System
gemäß 1. Diese
handgehaltene Vorrichtung gemäß 5 ist im
allgemeinen von der Art, die in den US-Patenten 4,760,248, 4,806,742
oder 4,816,660 von Swartz et al., die Symbol Technologies, Inc.
zugewiesen sind, offenbart sind, und sie ist auch ähnlich zu
der Konfiguration eines Strichcodelesers, der im Handel erhältlich ist
als Teilnummer LS 8100II von Symbol Technologies, Inc. Alternativ
oder zusätzlich
können Merkmale
des US-Patents 4,387,297 von Swartz et al., US-Patent 4,409,470 von Shepard et al.,
US-Patent 4,808,804 von Krichever & Metlitsky oder US-Patent 4,816,661
von Kirchever & Metlitsky,
die alle Symbol Technologies, Inc. zugewiesen sind, beim Aufbau
der Strichcodeleseeinheit 15 gemäß 3 verwendet
werden. Diese Patente 4,816,661, 4,816,660, 4,808,804, 4,806,742,
4,760,248, 4,387,297 und 4,409,470 bzw. deren deutschsprachigen Äquivalente
werden hier durch Bezugnahme aufgenommen. Ein herausgehender Lichtstrahl 51 wird in
dem Laser 10 erzeugt, und zwar normalerweise durch eine
Laserdiode oder ähnliches
und derart gerichtet, daß er
auf ein Strichcodesymbol auftritt, das sich ein paar Zoll von der
Vorderseite der Lesereinheit entfernt befindet. Der herausgehende
Strahl 51 wird in einem festen linearen Muster gescannt,
und der Benutzer positioniert die handgehaltene Einheit so, daß das Scanmuster
das zu lesende Symbol überquert
bzw. überstreicht.
Reflektiertes Licht 52 von dem Symbol wird durch eine auf
Licht ansprechende Vorrichtung 46 in der Lesereinheit detektiert, die
serielle elektrische Signale erzeugt, die verarbeitet werden zur
Identifizierung des Strichcodes. Die Lesereinheit 51 ist
eine pistolenförmige
Vorrichtung mit einem Handgriff bzw. Handteil 53 des Pistolengrifftyps,
und ein bewegbarer Trigger oder Auslöser 54 wird verwendet,
um dem Benutzer zu ermöglichen,
den Lichtstrahl 51 und die Detektorschaltung zu aktivieren,
wenn sie auf ein zu lesendes Symbol gerichtet sind, um dadurch Batterieverbrauch
zu sparen, wenn die Einheit selbst mit Leistung versorgt wird. Ein
leichtgewichtiges Plastikgehäuse 55 enthält die Laserlichtquelle,
den Detektor 46, die Optik und Signalverarbeitungsschaltung
und den CPU 40 und den HF Sender/Empfänger 44 gemäß 2 sowie eine
Batterie. Ein lichtdurchlässiges
Fenster 56 an dem Vorderende des Gehäuses 55 erlaubt, daß der herausgehende
Lichtstrahl 51 austritt und daß das einfallende reflektierte
Licht 52 eintritt. Der Leser 15 ist so aufgebaut,
daß er
auf ein Strichcodesymbol durch den Benutzer gerichtet wird, und
zwar von einer Position, in der der Leser 15 von dem Symbol
beabstandet ist, d. h. das Symbol nicht berührt oder sich über das
Symbol hinwegbewegt. Typischerweise ist diese Art eines handgehaltenen
Strichcodelesers derart spezifiziert, daß er in einem Bereich von ungefähr mehreren
Zoll arbeitet.
-
Wie
in 5 zu sehen ist, wird eine geeignete Linse 57 (oder
ein multiples Linsensystem) verwendet, um den gescannten Strahl
in dem Strichcodesymbol zu bündeln
und zu focusieren, wird, und zwar mit der geeigneten Tiefenschärfe, und
dieselbe Linse 57 kann verwendet werden zum Focusieren des
reflektierten Lichtes 52. Eine Lichtquelle 58,
wie zum Beispiel eine Halbleiterlaserdiode, ist positioniert zum
Einführen
eines Lichtstrahls in die Achse der Linse 57 durch einen
teilweisen Silberspiegel, und andere Linsen oder Strahlformstrukturen,
und zwar je nach Notwendigkeit, zusammen mit einem oszillierenden
Spiegel 59, der an einem Scanmotor 60 befestigt
ist, der aktiviert wird, wenn der Auslöser 54 betätigt wird.
Wenn das durch die Quelle 58 erzeugte Licht nicht sichtbar
ist, kann ein Ziellicht in dem optischen System vorgesehen sein,
das wieder einen teilweisen Silberspiegel verwendet zum Einführen des
Strahls in den Lichtpfad, und zwar koaxial zu der Linse 57.
Das Ziellicht erzeugt, wenn dies notwendig ist, einen sichtbaren
Punkt, der genauso wie der Laserstrahl gescannt wird; der Benutzer
verwendet das sichtbare Licht, um die Lesereinrichtung auf das Symbol
zu richten, und zwar vor dem Betätigen des
Auslösers 54.
Die elektronischen Bauteile gemäß 4 sind
an einer oder mehreren kleinen Schaltungsplatten 61 innerhalb
des Gehäuses 55 gemäß 5 angebracht,
und Batterien 62 sind eingeschlossen zum Vorsehen einer
selbstenthaltenen bzw. selbstversorgenden tragbaren Einheit. Die
Antenne 45 kann auf einer der Schaltungsplatten 61 ausgebildet
bzw. auf diese gedruckt sein.
-
Gemäß 5a ist
ein entfernter Terminal 15 eines weiteren Ausführungsbeispiels
dargestellt, in dem ein Strichcodeleser des Handlesers bzw. Stifttyps
anstelle des Laserscanners in 5 verwendet wird.
Diese Vorrichtung gemäß 5a ist ähnlich zu einem
im Handel verfügbaren
tragbaren Radioterminal, der unter dem Produktnamen "MSI PRT" durch MSI Data Corporation
aus Costa Mesa, Kalifornien, eine Tochter von Symbol Technologies,
Inc., dem Anmelder dieser Erfindung, verkauft wird. Die Tastatur 48 und
die Anzeige 49 sind an der Stirnseite eines handgehaltenen
Gehäuses 63 angebracht,
und die Lichtquelle 58 (in diesem Fall eine LED) und ein Lichtdetektor 46 (in 5a nicht
zu sehen) sind innerhalb eines stiftförmigen Handlesers 64 angebracht,
der über
ein Kabel mit dem Gehäuse 63 verbunden
ist. Die Person, die die Vorrichtung gemäß 5a verwendet,
hält das
Gehäuse 63 in
einer Hand und den Stift- bzw. Handleser 64 in der anderen und
bewegt den Handleser 64 über das Strichcodesymbol, und
zwar in Kontakt mit dem Symbol, statt die Einheit ruhig (beabstandet
von dem Symbol) zu halten und sich auf den oszillierenden Spiegel
zu verlassen, um das Scannen des Symbols zu erzeugen wie in dem
Fall des Ausführungsbeispiels
gemäß 5.
Ansonsten enthält
die Vorrichtung in 5a die Schaltung gemäß 4,
und die HF Verbindung arbeitet in derselben Art und Weise.
-
In 6 ist
ein Teil eines typischen Strichcodesymbols 65 des Typs,
der durch den Laserscanner in 5 oder durch
den Leser des Stifttyps gemäß 5a gelesen
wird. In dem Fall eines Laserscanners erzeugt ein Laserscanstrahl 51 eine
Scanlinie 56, und reflektiertes Laserlicht 52,
das durch den Fotodetektor 46 dedektiert wird und durch
die Schaltung 47 geformt wird, erzeugt ein binäres elektrisches Signal 67,
wie auch in 6 zu sehen ist. Oder in dem
Fall eines Lesers des Stifttyps wird der Handleser oder Stift entlang
der Linie 66 bewegt und reflektiertes Licht wird detektiert
zum Erzeugen desselben Typs des binären Signals 67. Die Übergänge 68 in dem
Signal 67 repräsentieren
den Übergang
des Strahls oder Lichtes zwischen hellen und dunklen Bereichen oder
Strichen und Freiräumen
in dem Symbol 65 (dunkel erzeugt eine binäre "0" und hell eine binäre "1" in
der Darstellung). Ein Strichcodesymbol kann von anderen Bildern
unterschieden werden durch den Abstand zwischen Übergängen 68 als eine Funktion
der Zeit oder ähnlichen
Mustern des Signals. Dieses Unterscheidungsmerkmal kann durch den Code überprüft werden,
der durch den CPU 40 durchgeführt wird, nachdem die Daten
in dem Speicher 41 geladen sind. Ein Datenformat, das verwendet
wird, um Strichcodedaten in den Speicher 41 zu laden, ist
eine Sequenz von Nummern abhängig
von der Zeit zwischen Übergängen 68.
Das Strichcodesymbol 65 gemäß 6 umfaßt normalerweise Start-
und Stoppzeichen, und oft ist eine Überprüfungssumme (check sum) in den
codierten Daten enthalten, so daß die Gültigkeit des Strichcodesymbols,
wie es gelesen wird, leicht überprüft werden kann
durch den Code, der durch den CPU 40 ausgeführt wird,
wenn sich die Daten in dem Speicher 41 befinden.
-
Bei
einem typischen Betrieb kann ein Bediener oder Benutzer in einem
Empfangs- oder Lagerraum einer Handels- oder Industrieeinrichtung angeordnet
sein, in der der Benutzer die entfernte Einheit 15 gemäß 5 auf
ein Strichcodesymbol 65 gemäß 6 auf ein
Paket von Interesse zielt und den Auslöser 54 betätigt. Diese
Betätigung
des Auslösers
iniziiert einen Scanbetrieb, bei dem die Laserdiode 58 aktiviert
wird, der Scanmotor erregt wird zum Oszillieren des Spiegels 59,
der Detektor 46 mit Leistung versorgt wird, und so werden
Strichcodedaten erzeugt zur Eingabe in den Speicher 41 über die
Datenaquisitions- bzw. Sammelschaltung. Alternativ würde natürlich bei
der Verwendung eines Handlesers gemäß 5a der
Benutzer den Leser betätigen
und den Hand- bzw. Stiftleser 64 über das Strichcodesymbol bewegen.
In jedem Fall werden diese Strichcodedaten in den Speicher 41 geladen,
dann werden die Daten verarbeitet zur Überprüfung der Gültigkeit unter Verwendung von
Routinen, die durch den CPU 40 ausgeführt werden, und wenn sie gültig sind,
dann wird ein Datenpaket in dem Speicher 41 definiert gemäß dem Protokoll,
das nachfolgend beschrieben wird, dann wird der HF Sender/Empfänger 44 aktiviert
durch einen Befehl, der von dem CPU 40 geschickt wird,
das codierte Datenpaket wird von dem Speicher 41 in den
Sender/Empfänger 44 geladen,
und zwar in einer Sequenz von Bytes, und es wird eine HF Übertragung
gemäß 2 initiiert,
d. h. Horchen während
t0, dann Übertragen eines Pakets 17,
wenn es ruhig ist. Die Basisstation 12, 13 oder 14 empfängt das
HF Übertragungspaket 17 von
der entfernten Einheit 15, decodiert es im Vorbeilaufen, überprüft es hinsichtlich
Fehlern und schickt ein HF Bestätigungssignalpaket 18 an
die entfernte Einheit 15 während des genauen Zeitfensters
und formatiert die Daten in dem Speicher 31 durch Instruktionen, die
durch den CPU 30 ausgeführt
werden, zum Verschicken an den Hostcomputer 10 über die
Kommunikationsverbindung 11. Das Paket 17 von
der entfernten Einheit 15 oder das Bestätigungspaket 18 einer
Basisstation kann Instruktionen darüber enthalten, wann die entfernte
Einheit einen weiteren Austausch initiieren soll, um eine Antwort
auf ihre Anfrage zu bekommen. Nach dem Empfang der Daten, die durch
die Basisstation weitergeleitet werden, führt der Hostcomputer 10 die
Datenbasistransaktionen durch, die notwendig sind, dann schickt
er eine Antwort zu der Basisstation zurück über die Verbindung 11,
die die Basisstation in dem Speicher 31 hält zum Senden
an die entfernte Einheit 15, wenn ein weiterer Austausch
unter Verwendung des Protokolls gemäß 2 und, wie
nachfolgend beschrieben, auftritt. Wenn die entfernte Einheit 15 die
Daten empfangen hat, die durch den Hostcomputer geschickt wurden, und
zwar ansprechend auf ihre Anfrage (die über eine der Basisstationen
weitergeleitet wurde), kann eine Anzeige für den Benutzer angezeigt werden durch
die LCD Anzeige 49 an der handgehaltenen Einheit gemäß 5 oder 5a.
Zum Beispiel können
die Daten, die von dem Hostcomputer 10 geschickt wurden,
dem Benutzer der entfernten Einheit 15 mitteilen, einen
bestimmten Vorgang hinsichtlich des Pakets einzuleiten, dessen Strichcodesymbol gerade
durch die Betätigung
des Auslösers
gelesen wurde, d. h. Plazieren des Pakets an einen bestimmten Ort
usw. Für
diese Art des Betriebs sollte die Ansprechzeit von der Betätigung des
Auslösers
bis zur Antwort, die auf der Anzeige 49 erscheint, kurz
genug sein, daß sie
kaum bemwerkbar ist, zum Beispiel eine Sekunde oder weniger.
-
Diese
Art von gerade beschriebenen Operationen erzeugt mehrere Anforderungen
an das System. Zunächst
sollten die entfernten Einheiten relativ leichtgewichtig sein, und
sie sollten eine kleine Größe besitzen
und natürlich
sollten sie keine Kabelverbindung zu der Zentralstation benötigen. Somit
wird Batteriebetrieb diktiert, aber die Batterien sollten weder groß noch schwer
sein, und häufiges
Aufladen sollte vermieden werden. Sichtlinienkommunikationen, wie zum
Beispiel bei einer Infrarotverbindung, sind in dieser Umgebung ungeeignet
wegen Hindernissen und Einschränkungen
im Sichtfeld, so daß HF
bevorzugt wird. Eine HF Verbindung erzeugt oft die Last von F.C.C.
Regulierungen, und zwar hinsichtlich Einschränkungen der Ausrüstung der
Bauteile, die verwendet werden, und hinsichtlich der verwendeten Frequenzbänder, aber
auch hinsichtlich einer Lizensierung für individuelle Benutzer oder
Standorte. Die Effekte dieser Anforderungen werden, wie nachfolgend
zu sehen ist, minimiert.
-
Eine
detailliertere Ansicht des Inhalts der übertragenen Pakete 17 oder 18,
ist in 7 zu sehen. Die zwei Pakete 17 und 18 besitzen
dasselbe allgemeine Format, so daß nur eines gezeigt ist. Ein Paket 17 beginnt
mit einem Startsignal 72 mit einer festen Länge, welches
verwendet wird, um den Empfänger
zu benachrichtigen, daß ein
Paket beginnt und auch, um den Empfänger zu synchronisieren; zusätzlich kann
das Startsignal codiert sein, so daß nur Basisstationen und entfernte
Einheiten dieses bestimmten Netzwerks ansprechen (es können überlappende Netzwerke
vorhanden sein, die unterschiedlichen Geschäften gehören). Als nächstes wird ein 3-byte Header 73 verschickt,
und wie in der auseinandergezogenen Ansicht zu sehen ist, enthält der Header
ein 13-Bit Vorrichtungsidentifikationsfeld 74 oder "Kennung"; jede entfernte
Einheit 15 besitzt auch eine Seriennummer mit einer 24-Bit
Länge,
so daß niemals zwei
entfernte Einheiten 15 mit derselben Seriennummer hergestellt
werden müssen.
Um aber unnötige Übertragung
von Daten zu vermeiden, wird dieses Feld 74 auf eine 13-Bit
Kennung gekürzt,
was 213 oder 8192 entfernte Einheiten ermöglicht,
die mit einer einzigartigen Kennung in einem Netzwerk vorhanden
sein können.
Diese Kennung wird der entfernten Einheit 15 während einer
Initialisierung oder einem Hochfahrvorgang gegeben, wenn die entfernte
Einheit mit einer Basis oder einem Host verbunden ist, und zwar über ein
direktes Kabel. Nach dem Vorrichtungs-ID Feld 74 umfaßt der Header 73 ein
5-Bit "Größen" Feld 75,
welches angibt, wieviele Datenbytes folgen, wobei die erlaubte Größe von 0
bis 22 Datenbytes geht. Somit wird ein Protokoll eines "Byte-Zählungs"Typs verwendet, wie
es bei den vorherigen seriellen Kommunikationsprotokollen des Pakettyps
verwendet wurde. Das 5-Bit "Größen" Feld 75 erlaubt,
daß 25 oder 32 Codes verschickt werden, aber es
sind nur 23 notwendig, um die Größeninformation
zu übertragen,
so daß,
wenn keine Größeninformation
in einem gegebenen Paket verschickt werden muß, andere Befehle oder Nachrichten
in diesem Feld verschickt werden können, wie z. B. ein NOP zur einfachen
Signalisierung der Gegenwart einer entfernten Einheit, oder um zu
erlauben, daß die
Basisstation Daten zurückschicken
kann, falls welche warten. Als nächstes
enthält
der Header 73 zwei 3-Bit Felder 76 und 77,
welche die Aufzeichnungsnummer bzw. die Bestätigungsnummer darstellen; wenn
eine Datenmenge, die 22 Bytes übersteigt,
verschickt werden muß (wie
beispielsweise beim down loaden eines Codes von dem Hostcomputer 10 zu
einer entfernten Einheit 15 zur Ausführung durch den CPU 40 der
entfernten Einheit beim Ändern
der Betriebsarten), dann werden diese Daten in 22-Byte Pakete aufgeteilt,
die aufeinanderfolgend nummeriert sind, Module-8 zählen, und
jedes muß durch
eine Nummer bestätigt
werden. Bei der üblichen
Strichcodelesetransaktion sind die Pakete 17 und 18 22-Byte oder kleiner,
so daß die
Funktion der Aufzeichnung und Bestätigungszählung weniger wichtig ist.
Nach dem Header 73 wird ein Datenfeld 78 mit 0
bis 22 Byte übertragen
und ein CRC-Feld 79 beendet das Paket. Das CRC-Feld enthält eine
berechnete Funktion aller Bits des Headerfeldes 73 und
des Datenfeldes 78 zur CRC Überprüfung; wenn die Empfangsvorrichtung (entfernte
Einheit 15 oder Basisstation) ein Paket 17 oder 18 empfängt, aber
die CRC-Berechnung der empfangenen Daten nicht mit dem empfangenen CRC-Feld 79 übereinstimmt,
wird das Packet verworfen und nicht bestätigt, so daß es erneut durch die Übertragungsvorrichtung
versandt wird nach einer Pause bzw. einer Time-out Periode. Wie
in 7 dargestellt ist, ist der Teil des Pakets 17 oder 18 nach dem
Start des Symbols 72 von 2 bis 29 Byte lang; wenn die zu
versendenden Daten 22 Byte übersteigen,
dann kann ein Code in dem Feld 75 (ein Wert über 23)
vorgesehen sein, um anzuzeigen, daß noch mehr kommt.
-
Die
entfernte Einheit 15 muß keine umfassenden Berechnungen
durchführen,
während
sie entweder die Pakete 17 überträgt oder die Pakete 18 empfängt. Stattdessen
wird das Paket 17 vollständig in dem Speicher 41 hergestellt,
bevor der Sender/Empfänger 44 aktiviert
wird, und dann werden während
des festen Empfangs-Fensters für
das Paket 18 die ankommenden Daten nur in den Speicher 41 kopiert
und zwar ohne jegliche Interpretation, so daß eine Dekodierung oder Berechnung
nach dem Austausch durchgeführt wird.
Diese entfernte Einheit muß nicht
mit dem Empfang weiterer Nachrichten von einer Basisstation rechnen,
bis die entfernte Einheit fertig ist. Die entfernte Einheit 15 managed
oder teilt ihre eigenen Paketkommunikationsoperationen ein, statt
ein Slave oder abhängig
von dem Host oder der Basisstation zu sein. Die Basisstationen 12, 13 und 14 andererseits
müssen
bereit sein, einen der Austausche gemäß 2 zu jeder
Zeit zu empfangen, so daß der
Sender/Empfänger 34 zu
jeder Zeit aktiviert sein muß,
und wenn dann ein Paket 17 empfangen wird, muß es sofort
dekodiert, gecheckt und durch ein Paket 18 bestätigt werden,
und die Daten müssen
an den Hostcomputer 10 geschickt werden; wenn eine Antwortnachricht
zu dieser Basisstation von dem Hostcomputer 10 zurückgeschickt
wird, muß sie
formatiert und in dem Speicher 31 gespeichert werden, damit
sie bereit ist zum Zurückschicken
an die entfernte Einheit 15, wenn ein weiterer Austausch
gemäß 2 durch
die entfernte Einheit 15 initiiert wird. Während dieser
Zeit können
Pakete 17 von anderen entfernten Einheiten empfangen werden,
und diese müssen
mit einem Paket 18 bestätigt
werden und zwar innerhalb des fünf
Millisekunden Timings gemäß 2.
Demgemäß werden viel
größere Berechnungsbelastungen
an den CPU 30 der Basisstationen im Vergleich zu dem CPU 40 in einer
entfernten Einheit angelegt und der HF-Sender/Empfänger 34 muß kontinuierlich
arbeiten und eingehende Signale zu jeder Zeit erkennen, statt die meiste
Zeit ausgeschaltet zu sein. Der Sender/Empfänger 34 kann nicht
nur die empfangenen Daten in dem Speicher speichern und sich dann
ausschalten (die Daten werden durch den CPU später ausgewertet), wie es in
den entfernten Einheiten 15 der Fall ist.
-
Das
HF-Übertragungsverfahren,
das für
die Pakete 17 und 18 gemäß den 2 und 7 verwendet
wird, d. h. alle Pakete oder Antworten, die zwischen den entfernten
Einheiten 15 und den Basisstationen 12, 13 und 14 (oder
HF-Kom munikation zwischen Basisstationen, wenn dieses Verfahren verwendet
wird), verwenden die Spread-Spectrum HF-Modulationstechnik, d. h.
das übertragene
Signal wird über
ein breites Frequenzband ausgebreitet, das viel breiter ist als
die Bandbreite, die notwendig ist zum Versenden der digitalen Information
in den Paketen 17 und 18. Es wird auf R.C. Dixon "Spread Spectrum Systems", veröffentlicht
von Wiley & Sons, 1976,
hinsichtlich der Einzelheiten des Designs, des Aufbaus und des Betriebs
dieser Art von HF-Vorrichtungen
Bezug genommen. Ein Träger
wird in den Sendern/Empfängern 44 oder 34 frequenzmoduliert durch
eine digitale Codesequenz (die in dem Speicher 41 oder
dem Speicher 31 gespeichert ist), dessen Bit-Rate viel
höher ist
als die Informationssignalbandbreite. Die Informationssignalbandbreite
während
eines der Pakete 17 oder 18 beträgt nur ungefähr 60 KHz
(29 Byte an Daten in ungefähr
4 Millisekunden bei diesem Beispiel). Aber anstelle der bloßen Übertragung
des 29 Byte Datenpakets in dieser einfachen Form werden die zu versendenden
Daten zuerst expandiert oder ausgebreitet, um jedes einzelne Bit
der Daten mit einem 11-Bit-Satz zu ersetzen. Das heißt, jede
binäre "1" wird "11111111111" und jede binäre "0" wird "00000000000"; in der entfernten Einheit
wird diese Expansion in dem Speicher 41 durchgeführt und
zwar durch eine Routine, die durch den CPU 40 ausgeführt wird
oder in der Basisstation wird dies in dem Speicher 31 durchgeführt durch
einen Code, der durch den CPU 30 ausgeführt wird. Der 11-Bit-für-1-Bit-Ausbreitungsfaktor
wird als ein Kompromiss zwischen unterschiedlichen HF-Bandbreiten-Betrachtungen und ähnlichem
ausgewählt; andere
Ausbreitungsfaktoren könnten
verwendet werden, aber die F.C.C. fordert mindestens eine 10:1 Ausbreitung,
so daß diese
11:1 Ausbreitung ungefähr das
Minimum ist. In jedem Fall werden aus den 29 Bytes oder 232 Bit
an Daten 11 × 232
oder 2552 Bit in dem Speicher 41 plus dem 48 Bit-Startsymbol,
was eine 2600-Bit-Nachrichtenlänge
(Maximum) in dem Speicher 41 zur Folge hat. Als nächstes werden
diese expan dierten Daten kombiniert (einer EX.OR. bzw. einer ausschließlichen
ODER-Operation ausgesetzt (exclusive-Ored)) und zwar mit einem pseudozufälligen binären Codewert,
bevor sie verwendet werden zum Modulieren des Trägers; dieser binäre Codewert
wird auch in dem Speicher 41 gespeichert und die ausschließliche ODER-Logikfunktion, die verwendet
wird zum Kombinieren der Daten und des Codes wird implementiert
durch Instruktionen, die durch den CPU 40, der auf den
Speicher 41 zugreift, ausgeführt werden. Der ausgewählte pseudozufällige binäre Codewert
ist für
dieses Netzwerk einzigartig und kann unter der Steuerung bzw. Kontrolle
des Hostcomputers verändert
werden aus Sicherheitsgründen
oder um ein Überkreuzsprechen
zu verhindern, wenn andere Netzwerke in überlappenden Bereichen arbeiten.
Die Länge
des pseudozufälligen
binären
Codewerts, d. h. die Anzahl der Bits vor der Wiederholung, muß mindestens
127 Bit betragen und zwar gemäß der F.C.C.-Regulierung
für Spread-Spectrum-Übertragung
in diesem Band; oberhalb dieses Werts wird die Länge des pseudozufälligen Codes
ausgewählt
abhängig
von der Sicherheit und den Berechnungszeit-Einschränkungen
und bei diesem beispielhaften Ausführungsbeispiel wird ein Wert
von größer als
2600 verwendet, so daß keine
Wiederholung während
eines Nachrichtenrahmens auftritt. Die kodierten Daten werden von
dem Speicher 41 an den HF-Sender/Empfänger 44 über den
Bus 42 in einem parallelen oder seriellen Format angelegt
und die Daten werden in dem Sender/Empfänger 44 verwendet
zum Modulieren eines Trägers in
der FSK Art und Weise, d. h. jede binäre "1" bewirkt,
daß ein
spannungsgesteuerter Oszillator mit einer Frequenz arbeitet, und
jede binäre "0" bewirkt, daß der Oszillator mit einer
anderen vorgewählten Frequenz
arbeitet. Das durch die F.C.C. spezifizierte Band für diese
Art nicht regulierter und nicht lizensierter Verwendung beträgt 902 bis
928 MHz, so daß der Oszillator
ein Paar von Frequenzen in diesem Band verwendet; wie es durch die
F.C.C. gefordert wird, sind diese Fre quenzen mindestens um die Hälfte der baud-Rate
voneinander getrennt. Jeder "Kanal" in diesem Beispiel
verwendet ungefähr
eine 0,4 MHz-Bandbreite und die Kanäle sind ein MHz voneinander
getrennt. Die Spread-Spectrum-Modulationstechnik,
die für
dieses Ausführungsbeispiel
der Erfindung ausgewählt
ist, kann charakterisiert werden als eine "Schmal-Band-Direktsequenz" (narrow band direct
sequence) dahingehend, daß die
Bandbreite der Ausbreitung relativ schmal bzw. gering ist und zwar
ungefähr
eine Rate von 666667 Chips oder Fragmente pro Sekunde, wobei ein "Chip" oder ein Fragment
ein diskreter Signalfrequenzausgang von einem der Sender/Empfänger 34 oder 44 ist.
Das heißt,
die übertragene
HF-Frequenz wird zwischen zwei diskreten Frequenzen geschaltet,
wobei in diesem Fall die Schaltung (oder die potentielle Schaltung
abhängig
von den binären
Daten) alle 1,5 Mikrosekunden auftritt, wobei jede dieser 1,5 Mikrosekunden-Perioden
als ein "Chip" oder Fragment bezeichnet
wird. Die HF-Sender/Empfänger sind
in der Lage, mit einer Anzahl von unterschiedlichen Trägerfrequenzen
oder "Kanälen" innerhalb des Bandes
von 902 bis 928 MHz (z B. 16 unterschiedlichen Trägerfrequenzen)
zu arbeiten, so daß Interferenz
auf irgendeiner bestimmten Frequenz verhindert werden kann durch
einfaches Ändern
zu einer unterschiedlichen Frequenz, wobei aber die Sender/Empfänger dazu
neigen, auf einer einzelnen Frequenz für eine längere Zeitperiode zu verbleiben,
wenn keine Notwendigkeit für
eine Veränderung
besteht.
-
Gemäß 8a ist
zu sehen, daß das übertragene
Signal von einer entfernten Einheit 15 zu einer Basisstation
oder umgekehrt in einer Art und Weise frequenzmoduliert ist, das
zwischen zwei Frequenzen geschaltet oder abgewechselt wird, wobei aber
auf einer dieser Frequenzen für
eine Periode von 80 oder einem "Chip" oder Fragment von
1,5 Mikrosekunden bei diesem Beispiel verweilt wird. Dieses Signal
wird detektiert und demoduliert zum Erzeugen einer analogen Ausgangsspannung,
wie in 8b zu sehen ist. Die Demodulation
erzeugt eine logische "1", wann immer sich
das Signal oberhalb eines Schwellenwertes 81 befindet (das
einer der Frequenzen entspricht) oder es erzeugt eine logische "0", wann immer sich das Signal unterhalb
dieses Schwellenwertes (der der anderen dieser zwei Frequenzen entspricht)
befindet. Dieses detektierte binäre
Signal wird mit einer dreifachen der "Chip"-Rate von
666667 Hz, d. h. mit zwei MHz abgetastet, was drei "Sätze" von binären Strängen A, B und C erzeugt, wie
in 8c zu sehen ist. Diese drei Sätze werden in den Speicher 41 in
der entfernten Einheit 15 geladen zur Verarbeitung, nachdem
das Paket 18 empfangen wurde, oder es wird in Echtzeit
in einem Hochgeschwindigkeitsdekoder in der Basisstation untersucht,
wenn das Paket 17 anfängt
anzukommen. Jeder dieser Sätze
A, B oder C wird hinsichtlich eines Musters untersucht, das dazu
paßt,
einer ausschließlichen
ODER-Operation ausgesetzt zu sein, und zwar mit dem ersten 44 Chip-Muster
(das dem Startsymbol 72 gemäß 7 entspricht)
desselben pseudozufälligen
binären
Codewertes, der verwendet wird zum Kodieren bei der Übertragung,
um zu sehen, ob das 44 Bit-Startsymbol 72 vorhanden ist – wenn dies
der Fall ist, werden die sofort folgenden Chips oder Fragmente beim
Dekodieren 11 Bit Stränge
von "Einsen" oder "Nullen" erzeugen. Es sei
bemerkt, daß das
44 Bit Startsymbol selbst dann als "gut" akzeptiert
wird, wenn nur ungefähr
35 der 44 Bit oder mehr zusammenpassen, da die Wahrscheinlichkeit
sehr hoch ist, daß 35
aus 44 eine gültige Üertragung
ist, statt eines Rauschens oder eines Überkreuzsprech-Signals (für zufälliges Rauschen
wären im
Durchschitt 22 aus 44 gültig).
In gleicher Weise kann der Algorithmus, der verwendet wird zum Dekodieren
und Despreaden bzw. Zusammenführen
des Datenteils des Nachrichtenrahmens oder des Pakets, derart konfiguriert
sein, daß er
weniger als die vollen 11 Bit Stränge akzeptiert, d. h. wenn
ein oder zwei Bit falsch sind, gibt es noch immer eine hohe Wahrscheinlichkeit,
daß die
Daten gut sind, und somit wird der Strang trotzdem als ein gültiges Bit
akzeptiert.
-
In 9 ist
der Sender/Empfänger 44 in
einer entfernten Einheit 15 in größerer Einzelheit gezeigt. Die
Sender/Empfänger-Schaltung
ist mit dem Bus 42 über
ein Interface 85 verbunden, das mit einem Adressenbus 42a,
einem Datenbus 42b und einem Kontroll- oder Steuerbus 42c verbunden
ist, was den Standard 8088 oder V-25 Bus 42 bildet. Das
Interface 85 enthält
Register, die in dem I/O Raum des CPU 40 adressierbar sind
zum Laden von Befehlen oder Daten zu dem Sender/Empfänger 44 oder
zum Empfangen von Daten von dem Sender/Empfänger. Der Senderteil dieser
Schaltung umfaßt
einen spannungsgesteuerten Oszillator 86, an den serielle
binäre
Daten angelegt werden über
Leitung 87 von dem Speicher 41 und zwar über das
Interface 85 unter Verwendung einer Konditionierschaltung 88,
wie es für
eine Niveauverschiebung notwendig sein kann. Der Ausgang bzw. das
Ausgangssignal 89 des spannungsgesteuerten Oszillators 86 ist über einen
Leistungsverstärker 90 mit
einem T/R Schalter und einem Antennenschalter 91 gekoppelt.
Diese Schaltungsschaltung 91 wird durch ein T/R Steuersignal
auf der Leitung 92 und ein Antennenauswahlsignal auf der Leitung 93,
das von dem Interface 85 kommt, gesteuert. Zwei gedruckte
Dipol-Antennen 45a und 45b sind verfügbar, so
daß, wenn
eine Übertragung
auf einer Antenne nicht funktioniert, die andere Antenne versucht
werden kann; die zwei Antennen sind in unterschiedlichen Teilen
des Gehäuses 55 der
handgehaltenen Einheit 15 positioniert, wobei in dem Ausführungsbeispiel
die Antennen eine viertel Wellenlänge oder ungefähr drei
Zoll voneinander beabstandet sind, so daß abhängig von der Umgebung eine
gefunden werden kann, die ein deutliches Signal erzeugt, wenn die
andere dies nicht tut. I/O Instruktionen, die durch den CPU 40 ausgeführt werden,
betätigen
die T/R Kontrolle und Antennenauswahl auf den Leitungen 92 und 93.
Eine Leistungssteuerung 94 wird auch durch die Steuerleitungen 95 von
dem Interface 85 (und somit von dem CPU 40) aktiviert
zum Einschalten oder Ausschalten der Versorgungsspannung, die zu
der Übertragungsschaltung
geht und zwar über
die Leitung 96 oder die zu der Empfangsschaltung geht über die
Leitung 97. Der Sender wird ausgeschaltet, wenn er nicht
verwendet wird, um Leistungsverbrauch zu reduzieren, er kann aber
sehr rasch angeschaltet werden und auf Leitung gebracht werden,
da es keine F.C.C. Einschränkungen
hinsichtlich Fehlübertragungen
oder Abfall (Spillage) in dem verwendeten Band gibt, und die Empfänger sind in
der Lage, dem Signal durch die AFC Schaltung zu folgen. Die Empfängerschaltung
umfaßt
einen HF-Verstärker 98,
einen Mischer 99 und eine ZF-Verstärkerstufe 100, die
bei 45 MHz gefiltert wird, wobei der lokale Oszillator ein spannungsgesteuerter
Oszillator 101 ist, der durch einen Synthesizer 102 betrieben
wird zum Erzeugen einer 947 bis 973 MHz-Frequenz (45 MHz oberhalb
der verwendeten Frequenz). Der Synthesizer 102 empfängt den Zwei-MHz-Takt
von dem CPU 40 über
Leitung 103 und erzeugt Eingänge bzw. Eingangssignale für einen
Differenzialverstärker 104,
dessen Ausgang bzw. Ausgangssignal den Oszillator 101 steuert,
und zwar mit Feedback bzw. einer Rückkopplung von dem Oszillatorausgangssignal
durch einen geeigneten Teiler 105. Die bestimmte Betriebsfrequenz
wird in dem Synthesizer 102 ausgewählt durch einen binären Code,
der über
die Schnittstelle 85 in den Eingang 106 geladen
wird und zwar von den CPU 40. Der Ausgang bzw. das Ausgangssignal 107 der
ZF-Stufe 100 wird an einen Detektor 108 angelegt,
der auf die FSK-Modulation anspricht zum Erzeugen eines seriellen
binären
Datenausgangs bzw. Ausgangssignals auf einer Leitung 109 entsprechend
der 8b, und dieser Datenausgang bzw. das Ausgangssignal 109 wird
an das Interface bzw. die Schnittstelle 85 angelegt, um
mit einer 3X der Chip- oder Fragmentrate abgetastet zu werden, wie
oben beschrieben, um die drei binären Datenströme A, B
und C zu erzeugen, die in den Speicher 41 geladen werden.
Die Detektorschaltung 108 erzeugt auch eine automatische
Frequenzsteuerung oder einen AFC-Ausgang bzw. ein Ausgangssignal 110 über den
Differentialverstärker 111,
und diese AFC Spannung wird zu der Konditionierschaltung 88 zurückgeführt für den spannungsgesteuerten
Oszillator 86 des Senders. Während der Sender somit arbeitet,
wird auch der Empfangskanal mit Leistung versorgt, um die AFC Spannung
auf der Leitung 110 zu erzeugen zum Einstellen der Frequenz
des Oszillators 86. Zusätztlich
erzeugt der Detektor 108 eine Spannung auf der Leitung 112,
welche die Signalstärke
in dem Empfangsmodus darstellt, und diese Spannung ist verfügbar, um
durch den CPU 40 an der Schnittstelle 85 abgelesen
zu werden; auf diese Art und Weise können die Signale, die durch
die Antennen 45a und 45b erzeugt werden, verglichen
werden, und es können
auch die unterschiedlichen verfügbaren
Frequenzen für
HF-Signalniveaus überprüft werden.
Die Information kann in einem Algorithmus verwendet werden zur Auswahl
des optimalen Sende-/Empfangs-Kanals. Die Schaltung gemäß 9 kann
mit im Handel erhältlichen
integrierten Schaltungsvorrichtungen aufgebaut sein; z. B. kann
eine MMBR901 Vorrichtung für
die Oszillatoren 86 und 101 und den HF-Verstärker 98 verwendet werden,
der Leistungsverstärker 90 kann
diese MMBR901 Vorrichtung und eine MMBR571 Vorrichtung umfassen,
der Synthesizer kann eine MC145158 Vorrichtung sein, und der Detektor 108 kann
eine MC13055 Vorrichtung sein. PIN Dioden werden für die Antennenauswahlschalter
und den T/R Schalter in der Schaltung 91 verwendet. Die Reichweite
eines Senders dieses Aufbaus beträgt ungefähr 500 Fuß in einer Handelsumgebung
mit einer Leistung von ungefähr
einem Watt; der Sender/Empfänger
konsumiert ungefähr
100 mA in der Empfangsbetriebsart und ungefähr 450 mA in einer Übertragungs-
bzw. Sendebetriebsart.
-
In 10 ist
der Sender/Empfänger 34 in größerer Einzelheit
gezeigt. Diese Schaltung kann zum großen Teil genauso aufgebaut
werden wie die gemäß 9,
wobei aber bestimmte kritische Ausnahmen bestehen. Der Oszillator 86 mit
seiner Konditionierschaltung 88 und der AFC Rückkopplung 110 ist
derselbe genauso wie der Leistungsverstärker 90. Die Leistungsversorgungssteuerung 94 gemäß 9 wird
in der Basisstation jedoch nicht verwendet, da der Empfänger zu
jeder Zeit arbeiten muß und es
natürlich
keine Bedenken hinsichtlich des Batterieverbrauchs gibt. Serielle
binäre
Daten auf einem Speicher 31 werden an den Eingang 87 von
dem Interface 85 angelegt, der mit dem Bus 32 verbunden ist,
der aus einem 16 Bit Adressenbus 32a, einem 15 Bit Port-
oder Anschlußbus 32b,
einem Steuerbus 32c und einem 24 Bit Datenbus 32d besteht,
gemäß der Definition
für die
DSP56001 Vorrichtung, die in einem Beispiel verwendet wird; wenn
ein V-25 Mikroprozessor verwendet wird, dann enspricht der Bus 32 natürlich einem
Bus des 8088 Typs. Der Anschlußbus 32b für einen
DSP56001 besitzt 15 Leitungen, die entweder als Eingänge oder
Ausgänge
durch die Mikroprozessorvorrichtung 30 verwendet werden, und
somit können
diese verwendet werden anstelle der I/O Register, die oben für die 8088
Vorrichtung in 9 genannt wurden. Der HF-Verstärker 98,
der Mischer 99 und der ZF-Verstärker 100 sind diesselben
wie in 9, genauso wie der lokale Oszillator 101 und
der Synthesizer 102. Der binäre Eingang 106 zur
Auswahl der Frequenz des Synthesizers kann parallel anstatt seriell
ausgebildet sein zum Laden von dem Anschlußbus 32b über das
Interface bzw. die Schnittstelle 85. Die Sende/Empfange-Auswahlschaltung 91 ist
diesselbe wie in den entfernten Einheiten 15, aber die
Antennenauswahl kann mehr als zwei Antennen besitzen, d. h. Antennen 35a, 35b, 35n zur
Auswahl (z. B. acht), und die Antennenauswahlsteuerung auf den Leitungen 92 ist
daher größer als
ein Bit. Der CPU 30 sendet eine Multibitsteuerung bzw.
ein Steuersignal über
den Anschlußbus 32b zur Auswahl
der Antennen 35a, 35b, ..., 35n, die
verwendet werden sollen. Ein wichtiger Unterschied ist, daß der serielle
Datenausgang bzw. das Ausgangssignal von dem Detektor 108 auf
der Leitung 109 mit einem zugewiesenen 144 Bit (d. h. 3 × 48 Bit)
Schieberegister 115 verbunden ist, das mit 2 MHz getaktet
wird durch den Takteingang bzw. das Eingangssignal 116 von
dem CPU 30, um in Echtzeit nach den 48 Chips bzw. Fragmenten
des Startsymbols 72 zu schauen. Auf diese Art und Weise
sind in dem Register 115 zu jedem Zeitpunkt die letzten
144 Bit des empfangenen, detektierten, abgetasteten HF Signals verfügbar, was
48 Chips bzw. Fragmenten 80 des Signals in 8a entspricht,
wie es in 8b detektiert wurde und mit
der Rate abgetastet wurde, wie in 8c zu
sehen ist. Der Inhalt dieses Schieberegisters 115 wird
in Echtzeit dekodiert, einmal während
jeder 200 MHz Taktperiode durch einen Dekoder 117 ausgewertet,
ob er den pseudozufälligen
binären
Codewert darstellt, der in der EX.OR Funktion in der entfernten Einheit 15 zum
Kodieren der Daten verwendet wurde. Dieser Codewert kann in dem
Dekoder 117 verändert werden
durch Laden einer neuen binären
Zahl von dem CPU 30 über
das Interface 85 unter Verwendung des Anschlußbusses 32b und
dem Eingang 118. Oder alternativ könnte der in dem Dekoder 117 verwendete
Code festgelegt sein unter Verwendung einer PROM-Vorrichtung für dieses
Netzwerk oder für
diese bestimmte Basisstation. Wenn ein gültiges 48 Bit Startsignal 72 eines
Pakets 17 in dem Dekoder 117 erkannt wird, unter
Verwendung des ausgewählten
Vertraulichkeitsniveaus (nicht alle Bits müssen gültig sein), wird ein Signal
an dem Ausgang 119 zu dem Interface 85 erzeugt,
das durch den CPU 30 erkannt wird, bedeutet, daß ein gültiges Paket 17 ankommt
und somit werden die seriellen Daten auf der Leitung 109 von
diesem Punkt an in den Speicher 31 kopiert und zwar über das
Zwischenglied des seriellen Ladens in ein Register in dem CPU 30,
und dann führt
der CPU Move- bzw. Verschiebungsinstruktionen durch, um sie in den
Speicher zu laden. Da nur eine der drei Abtastun gen die besten Daten
enthält, muß dann nur
jedes dritte Bit zu dem Speicher 31 übertragen werden, oder es können alle
geladen werden, und der CPU 30 kann zwei drittel der ankommenden
Daten auf der Leitung 109 verwerfen. Ein weiterer Unterschied
dieser Sender/Empfängerschaltung
gemäß 10 im
Vergleich zu 9 ist, daß das HF-Signal-Stärken-Ausgangssignal 112 von dem
Demodulator 108 ein analoges Signal ist, das an einen Pegeldetektor 120 angelegt
wird, der einen Multibitwert auf den Leitungen 121 von
dem Anschlußbus 32b empfängt, so
daß ein
Ausgang bzw. Ausgangssignal 122 von diesem Schwellenwertdetektor 121 verfügbar ist,
um durch den CPU 30 über seinen
Anschlußbus 32b gelesen
zu werden. Auf diese Art und Weise führt der CPU 30 einen
Algorithmus durch zum Überprüfen der
HF-Kanäle
durch Schalten von HF-Frequenzen und den 16 oder so verfügbaren (über den
Eingang 106 des Synthesizers) durch Schalten der Antennen
(über den
Eingang 92 der Antennenauswahl) und durch Definieren des
zu suchenden Niveaus (über
Leitungen 121), während für jeden
Versuch der Ausgang bzw. das Ausgangssignal 122 in den
Speicher 31 kopiert wird. Die optimale Frequenz für den Träger (in
dem 902 bis 928 MHz Band) und die optimale Antenne 35a bis 35n kann
somit ausgewählt
werden.
-
In 11 ist ein Flußdiagramm eines Beispiels eines
Programmtyps dargestellt, der durch den CPU 40 in der entfernten
Einheit 15 ausgeführt
wird. Für
dieses Beispiel wird angenommen, daß der Laserscanner-Strichcodeleser gemäß 5 als
Datensammelvorrichtung verwendet wird. Der Lehrlauf oder Ruhezustand
des Programms ist eine Schleife, die durch den Entscheidungsblock 125 angezeigt wird,
die überprüft, ob der
Auslöser 54 betätigt ist und,
wenn dies zutrifft, wird das Scannen gestartet durch Aktivieren
der Laserquelle 58 und des Scanmotors 60, wie
es durch den Block 126 angezeigt ist. Der CPU 40 geht
dann in eine Schleife 127, um auf Strichcodedaten von der
Vorrichtung 43 zu warten; wenn keine gültigen Strichcodedaten zum
Ende einer Zeitdauer bzw. Time-out-Periode empfangen wurden, die
durch den Entscheidungspunkt 128 angezeigt ist, dann kehrt
die Steuerung zu der Startschleife 125 zurück. Wenn
Strichcodedaten detektiert wurden, dann geht die Steuerung zum Block 129 zum Laden
der Strichcodedaten in den Speicher 41 und zum Überprüfen der
Gültigkeit
unter Verwendung der für
die spezifische Verwendung geeigneten Kriterien. Als nächstes bestimmt
der Entscheidungspunkt 130, ob eine Paketübertragung
notwendig ist oder nicht, und wenn dies der Fall ist, wird eine
Routine 131 gestartet, um das Paket zu bilden durch Addieren
des Startsymbols 32, des Headers 73 und des CRC-Feldes 79;
wenn die Beidanzahl bzw. Zählung
kleiner ist als 29 für
das Datenfeld 78, dann werden Nullen nach dem CRC-Feld
hinzuaddiert, um eine feste Übertragungszeit
vorzusehen. Es wird dann eine Routine 132 verwendet zum
Spreaden bzw. Ausbreiten und Codieren des Paketes, und als nächstes wird
der Empfänger
im Punkt 133 aktiviert, indem der Leistungsversorgung 94 signalisiert
wird, eine Versorgungsspannung an die Empfangsbauteile über die Leitung 97 in 9 anzulegen.
Der CPU überprüft dann
den Ausgang bzw. das Ausgangssignal 112, um zu sehen, ob
der Kanal ruhig ist, was durch den Entscheidungspunkt 134 angezeigt
ist; wenn dies nicht der Fall ist, wird in eine Warteschleife 135 eingetreten,
um eine ausgewählte
Zeit ablaufen zu lassen, bevor ein Wiederversuch gestartet wird,
indem in den Block 133 zum Aktivieren des Empfängers zurückgegangen
wird. Wenn der Kanal ruhig ist, wird der Empfänger deaktiviert, und die Senderschaltung
wird im Block 135 aktiviert, und es wird ein Timer gestartet zum
Definieren der Zeitperioden gemäß 2,
wie durch den Block 136 angezeigt ist. Bytes des Übertragungs-
bzw. Sendepakets 17 werden von dem Speicher 41 zu
dem Sender geladen bzw. geleitet über eine Schleifenroutine 137,
welche die Bytes zählt,
und wenn alle geladen wurden, wird im Entscheidungsblock 138 die
Auszeit bzw. Zeitperi ode zur Bestimmung der Zeit t2 eingegeben.
Wenn die Auszeit bzw. die Zeitperiode erreicht ist, wird der Empfänger am
Punkt 139 aktiviert, und es wird in eine Schleife 150 eingetreten
zum Laden aller A, B und C Samples bzw. Abtastergebnisse von dem
Sender zum Speicher 41. Wenn t2 +
t4 erreicht ist, wird der Empfänger im
Block 141 deaktiviert, und der CPU beginnt eine Routine 142 zum
Testen jeder der A, B und C Datenströme entsprechend der Zeit t3 zum Erzeugen eines Korrelationsniveaus,
das den Grad der Korrelation mit der erwarteten Startsymboldetektierung
eines gültigen
Pakets anzeigt. Das höchste
Korrelationsniveau wird ausgewählt
(A, B oder C) und an einem Entscheidungspunkt 143 gegenüber einem Schwellenwert
getestet, der aufgestellt wurde zur Annahme eines guten Pakets (z.
B. 41 aus 48). Wenn dieser Test nicht funktioniert,
dann wird angenommen, daß kein
Bestätigungspaket 18 empfangen wurde,
und das Paket wird erneut verschickt durch erneutes Eintreten in
das Flußdiagramm
im Block 133 und zwar über
den Pfad 144. Wenn der Test funktioniert, dann dekodiert
der CPU den ausgewählten
A, B oder C Datenstrom und führt
diesen zusammen bzw. führt
ein Entspreaden durch und zwar im Block 145, und am Punkt 146 führt er einen
CRC Check bzw. eine Überprüfung durch.
Wenn die CRC Überprüfung durchfällt, wird
das Paket 18 verworfen, und es wird der Pfad 144 zum
erneuten Versenden gewählt.
Wenn die CRC Überprüfung durchgeht, dann
beginnt der CPU eine Routine 147, um zu sehen, ob eine
Rückrufanforderung
in den Daten des Pakets 18 enthalten ist, und wenn dies
der Fall ist, dann wird im Punkt 148 ein Timer geladen,
um die Periode zu zählen,
welche durch die Basisstation in dem Bestätigungspaket angefordert wurde.
Es wird ein Standardrückrufpaket 17 in
dem Speicher 41 erzeugt durch eine Routine 149,
die kein Datenfeld enthält,
sondern nur dazu dient, der Basis zu erlauben, Daten zu dieser entfernten
Einheit zu senden. Es wird eine Schleife 150 gestartet,
um auf eine Zeitperiode bzw. eine Auszeit der im Block 148 eingestellten
Periode zu warten, und wenn diese erreicht ist, wird über den
Pfad 144 in die Sendefunktion eingetreten. Wenn keine Rückrufanforderung
vorhanden war, dann unternimmt der CPU was immer durch die Daten
vorgegeben ist, was üblicherweise
das Anzeigen der empfangenen Daten im Block 151 umfaßt, und
dann geht er zurück
zu der Startschleife 125.
-
Es
sei bemerkt, daß die
in dem Ausführungsbeispiel
verwendete Direktsequenz Spread Spectrum HF-Modulationstechnik von
den Frequenz-Hopp-Verfahren in einigen Spread Spectrum Systemen
unterschieden werden muß.
Das Frequenz-Hopp-Verfahren
besteht aus dem "Spreaden" oder Ausbreiten
einer kleinen Anzahl von Datenbits zu einer großen Anzahl von Chips vieler
unterschiedlicher Frequenzen mit einem Pseudorauschgenerator, d.
h. ein pseudozufälliges
Spreaden bzw. Ausbreiten über
eine große
Anzahl von Frequenzen (auch "fast
hopping" bzw. schnelles
Springen) anstelle des hier verwendeten Direktsequenzverfahrens. Das
pseudozufällige
Fast Hopping Verfahren wäre für diese
System weniger geeignet, da die HF-Schaltung, die in der entfernten
Einheit gebraucht würde, wie
sie in 9 gezeigt ist, aufwendiger und teurer wäre. Die
Verwendung einer kleineren pseudozufälligen Anzahl von Sprüngen ("slow" hopping oder langsames
Springen) ist auch aufwendiger hinsichtlich eines HF-Standpunktes
und bringt Probleme hinsichtlich der Erfüllung von F.C.C. Richtlinien
mit sich. Somit ist der Direktsequenzansatz, der nur zwei Frequenzen
verwendet, für
das vorliegende System besser geeignet, da die Komplexität dem CPU
auferlegt wird zum Kodieren und Dekodieren der binären Daten
anstelle des HF-Abschnitts zum Erzeugen einer raschen Schaltung
zwischen Frequenzen zwischen einer weit ausgebreiteten Anzahl von
Alternativen.
-
Der
pseudozufällige
binäre
Codewert, der verwendet wird für
die EX.OR-Operation mit den Daten muß keinen Fehlerkorrekturcode
verwenden (obwohl ein Fehlerkorrekturcode verwendet werden kann,
wenn dies zweckmäßig ist).
In dem verwendeten Vorgang wird nicht versucht, Impulsrauschen in dem
HF-Spectrum entgegen zu wirken. Wenn ein übertragenes Paket 17 oder 18 durch
Rauschen gestört
bzw. verstört
wird, dann wird es durch den Dekoder 117 oder durch die äquivalente
Softwaredekodierung aus dem Speicher 41 in der entfernten
Einheit 15 nicht erkannt, und somit wird das Paket erneut übertragen;
wenn die entfernte Einheit 15 ein Paket 18 empfängt, überträgt es sein
Paket 17 wieder und zwar nach einer Auszeit bzw. einer
bestimmten Zeitperiode.
-
Das
in den Sendern/Empfängern 34 und 46 verwendete
Modulationsverfahren ist nicht koherentes FSK (frequency shift keying).
Diese Technik ist empfindlich gegenüber bestimmten Arten von Jamming
bzw. Störungen,
wie z. B. einer starken Einzelfrequenz (Rauschen) innerhalb des
902 bis 928 MHz Bandes. Dieses Band wird für alle möglichen Arten von Vorrichtungen
ohne Einschränkung
verwendet, und es kann z. B. in dem Bereich durch eine HF-Schmelzvorrichtung
verwendet werden. Wenn Jamming oder Störungen dieses Typs auftreten,
können
die Algorithmen, die durch den CPU 30 in der Basisstation
ausgeführt
werden, verwendet werden zur Erkennung des sehr hohen Fehlerniveaus über den Eingang 122,
und dann wird ein Befehl an den Synthesizer 102 in dem
HF-Sender/Empfänger 34 geschickt,
um ein anderes seiner 16 Frequenzbänder auszuwählen, und hoffentlich erlaubt
das neue Frequenzband eine bessere Übertragung. Die Eigenschaft,
daß der
HF-Sender/Empfänger 34 in
einer Basisstation in der Lage ist, die derzeitige HF-Energie am
Ausgang 122 innerhalb jedes seiner 16 Bänder, die er verwenden kann,
zu messen, ist eine wichtige Eigenschaft; dies erlaubt die Auswahl
des ruhigsten Bandes, das verfügtbar
ist für
die Frequenz, die verwendet wird für den Austausch über Pakete 17 und 18.
-
Der
Sender/Empfänger 34 in
der Basisstation spricht auf das Synchronisierungsstartsignal 72 eines
Pakets 17 in Echtzeit an, und zwar mittels des Registers 115 und
den Dekoder 117 im Gegensatz zu der entfernten Einheit 15.
Die entfernte Einheit bringt das Paket oder die Chipsequenz für den HF-Senderoszillator 86 in
Serie, wartet dann eine genaue Zeitdauer (ungefähr 5 Millisekunden), wie es
durch ein Timerregister gesteuert durch den CPU 40, der
den 200 MHz Takt zählt,
vorgegeben wird und tastet dann den Ausgang 109 des HF-Empfängers 108 mit
genau der dreifachen der Chiprate ab, wie in 8c zu
sehen ist. Die Samples oder Proben werden in drei Sample- oder Probenstränge oder
-ströme
A, B und C aufgeteilt, wobei jeder Datenstrom etwas länger ist als
eine Zeit eines Pakets 18, und diese werden in dem Speicher 41 gespeichert.
Es wird angenommen, daß die
abgetasteten Datenstränge
ein Antwortpaket 18 von der Basis sind. Die CPUs 30 und 40 sind
natürlich
assynchron, aber das Timing der 2 MHz Takte für diese CPUs in den entfernten
Einheiten 15 und den Basisstationen 12, 13 und 14 sollte
aufeinander abgestimmt sein mit einer Genauigkeit von ungefähr 40 ppm
(parts per million, d. h. Teilen pro Million, d. h. Chips oder 1,5
Mikrosekunden-Perioden-Verschiebung
pro einer Million Chips), so daß während der Detektierung
eines der Pakete 17 oder 18, die ein Maximum von
2600 Chips an Länge
besitzen, die Verschiebung nicht einen schmalen Teil eines Chips übersteigt,
d. h. einen sehr kleinen Teil von 1,5 Mikrosekunden. Diese Taktgenauigkeit
ist mit kostengünstigen
Kristalloszillatoren verfügbar.
-
Nachdem
sich die empfangenen Daten in dem Speicher 41 befinden,
bestimmt der durch den CPU 40 ausgeführte Code, welcher der drei
Sample- bzw. Probenströme
verwendet wird, und wo die Aufzeichnung in dem Strom beginnt. Es
gibt drei Synchronisationsniveaus, die die entfernte Einheit 15 erreichen
muß: Phasensynchronisation, Symbolsynchronisation
und Paketsynchronisation. Phasensynchronisation hat damit zu tun
rauszufinden, welche der drei Proben A, B oder C sich pro Chip am
nächsten
an der Mitte des Chips oder Fragments befindet, und daher am wahrscheinlichsten
den wahren Wert des Chips oder Fragments darstellt; wie in 8c zu sehen
ist, ist einer der Probensätze
A, B oder C normalerweise wahrscheinlicher in der Mitte der Wellenform
gemäß 8b,
so daß dieser
am genauesten sein wird, aber einer oder zwei der Sätze befinden sich
in der Nähe
der Übergangspunkte,
und sie wären
somit dazwischenliegend. Symbolsynchronisation ist die Ausrichtung
des ankommenden Chipstroms mit dem Startpunkt des >2600 Bit langen binären Codewertes.
Schlußendlich
ist die Aufzeichnung oder Paketsynchronisation das Finden des Anfangs
des Pakets 17 oder 18. Da alle Übertragungen einer
entfernten Einheit 15 mit einem festen Chipmuster (dem
Synchronisationssignal 72) beginnen, erreicht die entfernte
Einheit 15 alle drei Synchronisationsniveaus mit einem
Mal durch Untersuchung der ersten paar Proben. Um ein einfaches
Beispiel zu geben, nehmen wir an, daß das feste Chipmuster acht
Chips oder Fragmente lang ist und, daß die Aufzeichnung innerhalb
eines sechs Mikrosekunden-(4 Chip)-Fensters gestartet hat. Bei drei
Proben pro Chip gibt es zwölf
Orte, an denen das Paket 18 angefangen haben kann. Für jeden
potentiellen Startort wird die entsprechende acht Chip Sequenz herausgezogen
und mit einer Nachschautabelle mit der gewünschten Sequenz verglichen;
wenn eine mit einer genauen Übereinstimmung
oder einer sehr nahen Übereinstimmung
gefunden wird, dann wurden sehr wahrscheinlich alle drei Synchronisationen
bzw. Synchronisierungen erreicht. Im Gegensatz zu einigen herkömmlichen
Spread-Spectrum-Verfahren gibt es keine Notwendigkeit für ein Phasentrekking
bzw. eine Phasenverfolgung, sobald die Phasensynchronisierung erreicht
wurde, da die übertragenen
Pakete 17 und 18 so kurz sind und praktisch keine
Dopplereffekte auf treten; die entfernten Einheiten 15 sind
entweder stationär
oder sie bewegen sich mit geringen Geschwindigkeiten während der Übertragungszeit. Wenn
die beste Übereinstimmung,
die in der Nachschautabelle zu finden ist, nicht sehr gut ist, wird
das Paket 18 an diesem Punkt verworfen, und es wird ein neuer
Austausch initiiert unter Verwendung der alternativen Antenne oder
einer anderen Frequenz.
-
Ein Übergabe-
oder hand-off-Protokoll wird verwendet, um jede entfernte Einheit 15 einer
spezifischen Basisstation zuzuordnen. Es ist wichtig, daß nur eine
Basisstation 12, 13 oder 14 einer entfernten Einheit 15 zu
einer vorgegebenen Zeit zugewiesen ist; ansonsten könnten zwei
Basisstationen simultan auf ein Paket 17 ansprechen, wenn
eine entfernte Einheit einen Austausch versucht, und die zwei Bestätigungspakete 18 könnten miteinander
interferieren. Bevor irgendeine Basisstation überhaupt auf eine entfernte
Einheit anspricht, muß die
Basisstation die Seriennummer oder Vorrichtungs-ID für eine entfernte
Einheit 15 von dem Hostcomputer 10 empfangen,
und zwar über
die Verbindung 11, und eine Tabelleneintragung in ihrem
Speicher 31 vornehmen. Alle Basisstationen empfangen dieselbe
Nummer von dem Host, aber nur eine Basisstation ordnet sich selbst
willkürlich
dieser entfernten Einheit zu unter Verwendung eines Algorithmus;
z. B. können
die Basisstationen entfernte Einheiten nur basierend auf den Seriennummern
oder Vorrichtungs-IDs auswählen.
Wenn eine Basisstation ein Paket 17 von einer ihrer entfernten
Einheiten (mit der Vorrichtungs-ID, die einer in der Liste entspricht)
empfängt,
sendet diese Basisstation ein Bestätigungspaket 18 als
Antwort auf den Austausch und zeichnet in ihrem Speicher 31 die
Zeit und Qualität
(Anzahl der Fehler) des Datenpakets 17 auf. Alle anderen
Basisstationen, die auch dieses Paket 17 des Austauschs
von dieser entfernten Einheit empfangen, zeichnen nur die Zeit und Qualität auf. Jede
Minute oder so veröffentlicht jede Basisstation
(sie sendet zu den anderen Basisstationen über die Verbindung 11)
die Liste der entfernten Einheiten, von denen sie in der letzten
Minute gehört hat
und die Qualität.
Wenn eine andere Basisstation eine viel höhere Qualitätsrate besitzt als die ursprünglich zugewiesene,
wird die Zuordnung dieser bestimmten entfernten Einheit über Nachrichtenaustausche
zwischen den involvierten zwei Basisstationen bewegt bzw. ausgetauscht.
Zu jedem Zeitpunkt besitzt jede Basisstation in ihrem Speicher eine
Liste der Seriennummern (ID-Nummern) der entfernten Einheiten, auf
die sie anspricht, und wann immer ein Paket 17 empfangen
wird, wird die ID-Nummer in dem Feld 74 mit der Liste in
dem Speicher verglichen, um zu sehen, ob von dieser Basisstation
ein Antwortpaket 18 versandt wird. Es gibt viele Gründe, warum
eine entfernte Einheit 15 keine Antwort auf einen Austausch
gemäß 2,
den sie initiiert, empfängt,
und für
jeden Grund ist eine unterschiedliche Strategie verfügbar, um
die Kommunikation wieder herzustellen. Ein Problem ist, daß sich eine
entfernte Einheit aus dem Bereich einer Basisstation herausbewegt
hat, aber noch immer innerhalb des Bereichs einer anderen Station
ist. In diesem Fall sendet die entfernte Einheit einen "Hilferuf", der ein kurzes
Paket 17 ist, bestehend aus wenig mehr als dem Standardsynchronisierungssignal 72 und
seiner Seriennummer. Dieses Paket wird zweimal verschickt, und zwar
einmal von jeder der zwei Antennen 35a und 35b.
Für diese
bestimmte Art eines Austauschs kann die Antwort eine feste Zeitdauer
nach jedem der ersten und zweiten dieser Pakete 17 ankommen.
Es wird eine längere
Zeitverzögerung,
z. B. 100 Millisekunden, für
das Antwortpaket 18 erlaubt, um jeder Basisstation, die
den Hilferuf hört,
zu erlauben, über einen
Austausch mit der Basisstation zu kommunizieren, die normalerweise
für diese
entfernte Einheit zuständig
ist. Nachdem die zuständige
Basisstation von allen anderen Basisstationen, die den Ruf gehört haben,
benachrichtigt wurde, kann sie bestimmen, welche Basisstation die
neue, zuständige
Basisstation sein soll und die Verantwortung an diese Basisstation übertragen,
und zwar in einer Zeit, die ausreicht, daß diese Basisstation das Antwortpaket 18 schickt. Die
Antwort wird anzeigen, welche Antenne am besten funktioniert hat,
d. h. die wenigsten Fehler erzeugt hat. Wenn die entfernte Einheit
keine Antwort auf diesen Hilferuf erhalten hat, ist die entfernte
Einheit wahrscheinlich außerhalb
des Bereichs aller Basisstationen zu diesem Zeitpunkt (z. B. innerhalb
eines aus Metall bestehenden LKW) und der Hilferuf wird später wiederholt,
und zwar nach einer bestimmten Zeitperiode bzw. einer Auszeit. Nach
mehreren Minuten ohne Kommunikation wird der in dieser entfernten
Einheit durchgeführte
Algorithmus folgern, daß sich
die Netzwerkbetriebsfrequenz verändert
hat und es werden Hilferufe auf den anderen Frequenzen verschickt,
und zwar ein Hilferuf zu einem Zeitpunkt.
-
Ein
wichtiges Merkmal bzw. eine wichtige Eigenschaft eines Ausführungsbeispiels
der Erfindung ist das Messen des Qualitätsfaktors der empfangenen Pakete 17 an
den Basisstationen 12, 13 und 14. Wie
oben bemerkt, wird der Qualitätsfaktor
verwendet bei der Bestimmung, welche entfernte Einheit welcher Basisstation
zugewiesen wird, und zwar entweder anfänglich oder in periodischen
Neuausrichtungen oder auf einen Hilferuf hin. Der Qualitätsfaktor ist
die Anzahl der gültigen
Bits, die sich aus der Dekodierung des 44 Bit Startsymbols 72 in
dem Dekoder 117 ergibt; das Paket wird als gute Daten selbst dann
akzeptiert, wenn die Anzahl der gültigen Bits, die gefunden wurden,
beim Vergleich des ankommenden Symbols 72 mit einer gespeicherten
Version des korrekten pseudozufälligen
Codes (in dem Beispiel) 35 aus 44 beträgt, aber
diese Nummer wird in dem Speicher 31 gespeichert, selbst
wenn sie sich in dem 35 bis 44 Bereich befindet,
und sie wird verwendet, um zu bestimmen, welche Basisstation das
beste Signal von einer gegebenen entfernten Einheit erhält. Das heißt, die
zugewiesene Basisstation kann in der Lage sein, die ankommenden
Pakete recht adequat zu empfangen und zu dekodieren, aber sie könnte einen
durchschnittlichen Qualitätsfaktor
von 38 besitzen, wohingegen eine andere Basisstation, die
dieselben Pakete empfängt,
einen Qualitätsfaktor von 44 besitzt,
so daß offensichtlich
ist, daß die
letztere Einheit in einer besseren Empfangssituation bezüglich der
in Frage stehenden entfernten Einheit ist, und somit sollte das
nächste
Mal, wenn Nachrichtensätze
zwischen Basisstationen ausgetauscht werden, die Verantwortung zu
der Basisstation übertragen
werden, welche mit einer besseren Qualität empfängt. Es sei bemerkt, daß der Qualitätsfaktor
unterschiedlich ist vom einfachen Messen der Signalstärke, die
bei dieser Art Umgebung weniger signifikant ist infolge des hohen
Grades an Multi-Pathing bzw. Multipfadbildung; ferner verändert sich
die Signalstärke
mit dem Abstand, und sie kann sich über Größenordnungen hinweg verändern, und
noch immer einen perfekten Empfang ergeben. Nur das Messen des HF-Niveaus
gibt keine Information über
das Rauschen und Interferenz in der Umgebung. Da keine Fehlerdetektierung
und Korrektur im System verwendet wird, da dies sehr berechnungsaufwendig
ist, sei bemerkt, daß es
kein Qualitätsmaß für einen
Fall eines katastrophalen bzw. vollständigen Ausfalls gibt (was auftreten
würden,
wenn die CRC nicht stimmt), und somit sieht die Verwendung dieser
Korrelationsnummer aus der Dekodierung des Startsymbols 72 ein
Maß bzw.
eine Messung vor, die eine frühe
Anzeige eines sich verschlechternden Signals geben kann, und zwar
lange bevor das Signal so schlecht wird, daß es nicht mehr zu gebrauchen
ist. Der Qualitätsfaktor
(Korrelationskoeffizent für
das Startsymbol 72) kann Verbindung mit der HF-Signalstärkeanzeige, die
an dem Eingang 121 in einer Basisstation verfügbar ist,
verwendet werden; wenn die Korrelation schlecht ist, aber die HF-Signalstärke gut
ist, gibt es ein Frequenzproblem und somit wird der Kanal verändert, wenn
die Korrelation hinge gen schlecht ist, und die Signalstärke schlecht
ist, wird die Basisstation geändert
durch Weiterreichen der Verantwortung.
-
Obwohl
die 24 Bit Seriennummer jeder entfernten Einheit, die jemals hergestellt
wird, wahrscheinlich einzigartig ist (224 = 16 Millionen), besitzen
die meisten Nachrichtenpakete 17 der entfernten Einheit
nur eine 13 Bit Kennung oder einen Kurznamen in dem Nachrichtenheaderfeld 74.
Wenn sich zwei Netzwerke gemäß 1 in überlappenden
Bereichen befinden, könnten
ihre Nachrichten vermischt werden; bei einer Ausstellung bzw. Messe könnten sich
z. B. mehrer dieser Netzwerke in demselben HF-Raum befinden. Die
Basisstationen jedes Netzwerks können
eine unterschiedliche Frequenz zur Verwendung während der Initialisierungsperiode verwenden,
wenn alle Frequenzen hinsichtlich Rauschen oder Verkehr überprüft werden,
und ferner können
die anfänglichen
Nachrichten von jeder entfernten Einheit eine vollständige Seriennummer
benötigen.
Eine viel sicherere Technik diktiert die Verwendung eines unterschiedlichen
zufälligen
Chipping bzw. Aufteilungsmusters für jedes Netzwerk, d. h. es wird
ein unterschiedlicher pseudozufälliger
binärer Code
verwendet für
die EX.OR-Operation mit den Daten. Dann wären die zwei Netzwerke nicht
in der Lage, die Nachrichten des anderen Netzwerks zu entziffern
oder sogar die Gegenwart des anderen zu detektieren; es gäbe zusätzliche
Kollisionen, aber die Pakete eines Netzwerks wären für das andere Netzwerk vollständig nicht
entschlüsselbar.
Diese Technik der Verwendung unterschiedlicher Chipping bzw. Aufteilungsmuster
erfordert jedoch, daß der
Netzwerkmanager (ein Mensch) jeden entfernten Terminal initialisiert.
Zu diesem Zweck besitzt jede entfernte Einheit 15 einen
RS-232 Verbinder (gekoppelt mit dem Bus 42), der mit dem
Hostcomputer 10 temporär zur
Initialisierung gekoppelt wird, und wobei zu diesem Zeitpunkt der
einzigartige pseudozufällige
binäre Codewert
in den Speicher 41 geladen wird und danach in der EX.OR-Funktion
verwendet wird. Die als das ID-Feld 74 eines Pakets 17 verwendete
Kennung wird auch zu diesem Zeitpunkt geladen. Basisstationen, die
mit dem Hostcomputer 10 über ein Kabel 11 verbunden
sind, werden über
diese Kabel initialisiert. Basisstationen, die mit dem Hostcomputer 10 nur über eine
HF-Verbindung (z. B. Basisstation 14, wie in 1 dargestellt)
verbunden sind, könnten
ein Standardchipping bzw. ein Aufteilmuster verwenden, das nur zur
Initialisierung verwendet wird, aber vorzugsweise werden sie temporär über die
serielle Verbindung 11 zur Initialisierung verbunden und
arbeiten dann später über die
HF-Verbindung. Eine Basisstation kann programmiert werden, dieses
Standardmuster auf einen Befehl von dem Hostcomputer zu verändern oder
wenn sie für
eine lange Zeit außer Kommunikation
standen. Ein alternatives Sicherheitsverfahren bei überlappenden
Netzwerken erfordert, daß jedes
Nachrichtenpaket 17 oder 18 die vollständige 24
Bit Seriennummer der entfernten Einheit enthält. Dies fügt 11 Bit zu dem Header hinzu,
und dabei wird angenommen, daß der
Hersteller immer die Seriennummer in allen hergestellten Vorrichtungen
kontrollieren bzw. steuern kann.
-
In
einem Ausführungsbeispiel
wird eine unterschiedliche binäre
Codesequenz bei den Spreading- bzw. Ausbreitungs- und Kodierschritten in jeder Basisstation
und ihren zugewiesenen entfernten Einheiten verwendet. In diesem
Fall kann eine der entfernten Einheiten 15 einen Austausch
mit seiner Basisstation 12, 13 oder 14 durchführen, während zur selben
Zeit eine weitere entfernte Einheit 15 einen Austausch
mit seiner Basisstation durchführt,
selbst wenn sich die zwei Paare innerhalb eines HF-Bereichs voneinander
befinden; dieses ist einer der Vorteile der Spread-Spectrum-Technik,
nämlich
daß mehrere
simultane Übertragungen
in demselben Band getrennt werden können durch Verwendung eines
unterschiedlichen Codes. Alternativ können, wenn jede dieser Basisstationen
eine unterschiedliche Frequenz in dem 902 bis 928 MHz Band bei seinen
Kommunikationen mit den entfernten Einheiten verwendet, in gleicher
Weise simultane Austausche durchgeführt werden. Bis zu ungefähr eintausend dieser
entfernten Einheiten 15 können in einem lokalen Bereich
unterstützt
werden, wenn das durchschnittliche Tastverhältnis bzw. der Arbeitszyklus
gering ist. Ohne Einführung
von Protokollmerkmalen zur Minimierung von Kollisionen kann jede
Basisstation ungefähr
25 zufällig
auftretende Austausche pro Sekunde durchführen bzw. unterstützen. Der
Begrenzungsfaktor wird dann der Hostcomputer 10, und die
Transaktionsverarbeitungsleistung des Host kann expandiert bzw.
ausgedehnt werden, und durch die Verwendung einer schnelleren Taktgeschwindigkeit, einer
höheren
MIPS-Rate, parallelen Prozessoren und bekannten Techniken dieses
Typs.