-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung bezieht sich auf das Fachgebiet der Fernsteuerung
von Sicherheitssystemen und im Speziellen auf die Steuerung der
Funktionen zur Verriegelung und Entriegelung eines Schlosses, wie
zum Beispiel in der Tür
oder im Kofferraumdeckel eines Kraftfahrzeuges o.ä.
-
Beschreibung
des Standes der Technik
-
Ferngesteuerte
Sicherheitssysteme sind im Fachgebiet für die Steuerung der Steuerfunktionen
zur Verriegelung und Entriegelung eines Schlosses, das in einem
Kraftfahrzeug eingebaut ist, bekannt, und solche Systeme umfassen
typischerweise einen am Fahrzeug in der Nähe des zu steuernden Schlosses
befestigten Empfänger
und einen tragbaren Handsender, der sich von dem Sender entfernt
befindet. Ein solches System, wie oben beschrieben, wird in meinem
U.S. Patent Nr. 4,881,148 offenbart. Dieses Patent offenbart ein
System, bei dem der Empfänger
einen Speicher besitzt, der einen oder mehrere Sicherheitscodes
speichert, die alle jeweils einen Sender identifizieren, von dem
der Empfänger
ein ausgesendetes Signal gültig
empfängt. Jeder
Sender ist mit einer Mehrzahl von betätigbaren Schaltern ausgestattet,
wobei jeder Schalter maßgeblich für eine Steuerfunktion
ist, die vom Schloss auszuführen
ist, wie zum Beispiel eine Entriegelungsfunktion oder eine Verriegelungsfunktion
oder eine Funktion zur Entriegelung eines Kofferraumdeckels. Des
Weiteren umfasst jeder Empfänger
Schaltungen, die auf die Betätigung
eines der Schalter zur Sendung eines digitalen Signals reagiert,
das einen Sicherheitscode beinhaltet, der den Sender aus der Mehrzahl
gleicher Sender eindeutig identifiziert, gemeinsam mit einem Funktionscode,
der maßgeblich
für die
bestimmte vom Schloss auszuführende
Steuerfunktion ist. Wenn ein Empfänger ein solches digitales
Signal empfängt,
vergleicht er den empfangenen Sicherheitscode mit jedem gespeicherten
Sicherheitscode, um zu bestimmen, ob eine Übereinstimmung vorliegt, die
anzeigt, dass der Empfänger
das digitale Signal gültig
empfangen und darauf antworten darf. Wenn eine Übereinstimmung vorliegt, antwortet
der Empfänger
auf den Funktionscode für
Durchführung der
angeforderten Steuerfunktion, wie zum Beispiel eine Fahrzeugtüre zu ver-
oder entriegeln.
-
Im
Hinblick auf solch ein System ist es bedenklich, dass ein eventueller
Dieb, der Zugang zu einem verriegelten Fahrzeug wünscht, das
gesendete Signal mit Hilfe entsprechender Hochfrequenzausrüstung aufzeichnen
könnte.
Derartige aufgezeichnete Informationen können dann von einem solchen
Dieb eingesetzt werden, um Zugang zu einem derartigen verriegelten
Fahrzeug zu erlangen.
-
In
einem Versuch, die Tätigkeiten
eines Diebs zu vereiteln, wurden Systeme erfunden, die den Sicherheitscode
des Senders jedes Mal, wenn ein solches digitales Signal gesendet
wird, ändern,
und auch der im Empfänger
gespeicherte Sicherheitscode wird entsprechend geändert. Somit
können
sowohl Sender, als auch Empfänger
mit Codeerzeugern ausgestattet werden, die eine Folge von unterschiedlich
codierten Signalen erzeugen, so dass der Sicherheitscode auf dieselbe
Weise sowohl am Sender, als auch am Empfänger nach jeder Betätigung aktualisiert
wird. Ein System dieser Art wird im U.S. Patent an Bongard et al.
4,596,985 offenbart.
-
Die
oben angeführte
herkömmliche
Technik erfordert es, dass der Sicherheitscode, manchmal auch Zugangscode
oder Identifizierungscode genannt, nach jeder Betätigung geändert wird.
Dies kann insofern eine Schwierigkeit darstellen, als durch die Änderung
des Sicherheitscodes der von einem Sender gesendete Sicherheitscode
versehentlich in einen Code geändert
werden könnte,
der einen unerwünschten
Zugriff auf einen Empfänger
mit demselben Sicherheitscode ermöglicht.
-
Die
oben angeführte
herkömmliche
Technik bietet keine Möglichkeit,
dass der Sicherheitscode unverändert
bleibt und das gesendete digitale Signal einen zusätzlichen
Code enthält,
der sich nach jeder Aussendung so ändert, dass die Änderung
von Informationen abhängt,
die im Sicherheitscode enthalten sind. Außerdem gibt es in der herkömmlichen
Technik keine Lehre darüber,
dass der zusätzliche
Code, hierin manchmal als Sequenz-Steuercode bezeichnet, am Empfänger empfangen
wird, um ihn mit einem ähnlichen
Sequenz-Steuercode zu vergleichen, und der nach jeder Betätigung dadurch
geändert
wird, dass sein digitaler Wert in Abhängigkeit von Informationen
geändert
wird, die im im Empfänger
gespeicherten Sicherheitscode enthalten sind.
-
Zusätzlich zum
eben genannten bietet die herkömmliche
Technik keine Lehre darüber,
dass die Codes verschlüsselt
werden oder dass die Reihenfolge der Aussendung der Codes geändert wird.
-
Die
internationale Patentanmeldung Nr. WO92/02702 offenbart ein ferngesteuertes
Fahrzeugtüren-Verriegelungssystem,
das einen Sender für
die Aussendung von zweiteiligen Binärbit-Signalen umfasst, wobei
jeder Teil einen Sicherheitscode und einen unterschiedlichen Funktionscode
enthält.
Ein Empfänger
ist in einem Fahrzeug eingebaut und kann betrieben werden, um Steuersignale
für die
Ausführung
von Hauptfunktionen zur Verriegelung und Entriegelung von Türen zu erzeugen
und um zumindest eine zweitrangige Funktion, wie zum Beispiel ein
Sicherheitssystem, zu aktivieren oder zu deaktivieren.
-
Die
europäische
Patentanmeldung Nr. 0 244 332 offenbart ein funkferngesteuertes
Hochsicherheitssystem, das das Öffnen
oder diebstahlgesicherte Schließen
von Relaisbetätigungssystemen,
wie zum Beispiel Schlössern,
ermöglicht.
-
Zusammenfassung
der Erfindung
-
In Übereinstimmung
mit einem Aspekt der Erfindung wird ein Sender zur Verwendung in
einem ferngesteuerten schlüssellosen
Sicherheitssystem für
die Fernsteuerung der Steuerfunktionen zur Verriegelung und Entriegelung
eines Verriegelungsmittels in einem Fahrzeug o.ä. bereitgestellt, das einen
im Fahrzeug eingebauten Empfänger
besitzt, wobei der Empfänger
sich von dem Sender entfernt befindet und wobei der Sender folgendes
umfasst: ein betätigbares
Schaltmittel, das maßgeblich
für eine
vom Verriegelungsmittel auszuführende
Steuerfunktion ist;
Signalaussendungsmittel, das einen Schaltkreis
beinhaltet, der auf die Betätigung
des Schaltmittels reagiert und ein digitales Signal aussendet, das
einen ersten Abschnitt mit einem Multi-Bit-Sicherheitscode beinhaltet, der
den Sender aus einer Mehrzahl gleicher Sender eindeutig identifiziert,
und das einen Multi-Bit-Sequenz-Steuercode
beinhaltet, der so angepasst ist, dass er sequentiell in Reaktion
auf jede Betätigung
des Schaltmittels geändert
wird, und wobei der Sicherheitscode Informationen enthält, die
einen aus einer vorher festgelegten Mehrzahl verschiedener Sequenzalgorithmen
stammenden Algorithmus definiert, der zur Änderung des digitalen Wertes
des Sequenz-Steuercodes verwendet wird;
wobei der Sender Mittel
umfasst, die auf jede Betätigung
des Schaltmittels zur sequentiellen und selektiven Änderung
des digitalen Wertes des Sequenz-Steuercodes
reagieren, wobei jede Änderung
von dem Sequenzalgorithmus abhängt,
der in Übereinstimmung
mit den im Sicherheitscode enthaltenen Informationen, die den Sender
identifizieren, ausgewählt
wurde.
-
In Übereinstimmung
mit einem anderen Aspekt der vorliegenden Erfindung wird ein Empfänger für ein ferngesteuertes
schlüsselloses
Sicherheitssystem für
die Fernsteuerung der Steuerfunktionen zur Verriegelung und Entriegelung
eines Verriegelungsmittels, das in einem Fahrzeug eingebaut ist,
bereitgestellt, wobei der Empfänger
folgendes umfasst:
Mittel für
den Empfang eines digitalen Signals eines abgesetzten Senders, wobei
das empfangene digitale Signal einen ersten Abschnitt mit einem
Multi-Bit-Sicherheitscode
beinhaltet, der den Sender aus einer Mehrzahl ähnlicher Sender eindeutig identifiziert,
und das einen Multi-Bit-Sequenz-Steuercode beinhaltet, der so angepasst
ist, dass er sequentiell in Reaktion auf jede Aussendung des digitalen
Signals geändert
wird, und das einen Multi-Bit-Funktionscode beinhaltet, der eine
aus der Mehrzahl von Steuerfunktionen stammende Funktion identifiziert,
die vom Verriegelungsmittel auszuführen ist, und wobei der Sicherheitscode
Informationen umfasst, die einen aus einer vorher festgelegten Mehrzahl
verschiedener Sequenzalgorithmen stammenden Algorithmus definiert,
der zur der Änderung
des digitalen Wertes des Sequenz-Steuercodes verwendet wird;
Sicherheitscode-Speichermittel
für die
Speicherung eines Multi-Bit-Empfängersicherheitscodes,
der einen bestimmten Sender identifiziert, von dem der Empfänger ein
ausgesendetes digitales Signal gültig
empfangen darf; Mittel für
den Vergleich des empfangenen Sicherheitscodes mit dem gespeicherten
Sicherheitscode, um festzustellen, ob die Sicherheitscodes übereinstimmen;
Mittel,
das auf jeden Eintritt einer Übereinstimmung
der Sicherheitscodes reagiert und das den gespeicherten Sicherheitssteuercode
ausliest und seinen Wert selektiv so verändert, dass ein aktualisierter
Sequenz-Steuercode definiert wird, wobei jede Veränderung
einen digitalen Wert aufweist, der von dem Sequenzalgorithmus abhängt, der
in Übereinstimmung
mit der im Sicherheitscode enthaltenen Information ausgewählt wurde;
Mittel
für den
Vergleich des aktualisierten Sequenz-Steuercodes mit dem empfangenen
Sequenz-Steuercode;
Mittel, das auf den Funktionscode reagiert,
um das Verriegelungsmittel je nach Funktionscode zu steuern.
-
In
einer bevorzugten Alternative umfasst der Sender des Weiteren:
ein
kleines hohles Sendergehäuse,
das so angepasst ist, dass es leicht in der Tasche einer Person
transportiert werden kann;
einen manuell bedienbaren Schalter,
der im Gehäuse
befestigt ist und von außerhalb
des Gehäuses
manuell bedient werden kann, um den Betrieb der Funktion zu steuern;
elektronische
Mittel, die im Gehäuse
enthalten sind und auf den Schalter reagieren, um (a) eine Meldung
zur Aussendung an das Fahrzeug für
die Steuerung einer Funktion an dem Fahrzeug zu erzeugen, (b) einen
Fehlererkennungscode zu erzeugen, der auf dem erzeugten Fehlererkennungscode
und auf einem aus einer festgelegten Mehrzahl von Verschlüsselungsalgorithmen
stammenden Algorithmus basiert, und wobei der Fehlererkennungscode
zu einem Hauptzweck erzeugt wird, der in keiner Beziehung zu einem
der Verschlüsselungsalgorithmen
steht, aber wobei ein zweitrangiger Zweck darin besteht, den einen
aus einer festgelegten Mehrzahl von Verschlüsselungsalgorithmen stammenden
Algorithmus zu beschreiben, um ihn in Übereinstimmung mit dem Fehlererkennungscode
auszuwählen,
und (d) die verschlüsselte
Meldung und den unverschlüsselten Fehlererkennungscode
an das Fahrzeug auszusenden; und
tragbares Stromquellenmittel,
das im Gehäuse
enthalten ist, um die elektronischen Mittel mit Strom zu versorgen.
-
In
einer zweiten bevorzugten Alternative umfasst der Sender des Weiteren:
ein
kleines hohles Sendergehäuse,
das so angepasst ist, dass es leicht in der Tasche einer Person
transportiert werden kann;
einen manuell bedienbaren Schalter,
der im Gehäuse
befestigt ist und von außerhalb
des Gehäuses
manuell bedient werden kann, um den Betrieb der Funktion zu steuern;
elektronische
Mittel, die im Gehäuse
enthalten sind und auf den Schalter reagieren, um (a) eine Meldung
zur Aussendung an das Fahrzeug zu erzeugen, wobei die Meldung einen
die gewünschte
Funktion anzeigenden Steuercode und einen den Sender eindeutig identifizierenden
Sicherheitscode beinhaltet, (b) einen zweiten Code zu erzeugen,
der sich regelmäßig in Übereinstimmung
mit jeglicher Änderung
in der Meldung ändert,
(c) die Meldung in Abhängigkeit
vom zweiten Code und in Abhängigkeit
von einem aus einer festgelegten Mehrzahl von Verschlüsselungsalgorithmen
stammenden Algorithmus zu verschlüsseln, und wobei der zweite
Code zu einem Hauptzweck erzeugt wird, der in keiner Beziehung zu
einem der Verschlüsselungsalgorithmen
steht, aber wobei ein zweitrangiger Zweck darin besteht, den einen
aus einer festgelegten Mehrzahl von Verschlüsselungsalgorithmen stammenden
Algorithmus zu beschreiben, um ihn in Übereinstimmung mit dem zweiten Code
auszuwählen,
und (d) die verschlüsselte
Meldung und den unverschlüsselten
Fehlererkennungscode an das Fahrzeug auszusenden; und
tragbares
Stromquellenmittel, das im Gehäuse
enthalten ist, um die elektronischen Mittel mit Strom zu versorgen.
-
In
einer dritten bevorzugten Alternative umfasst der Sender des Weiteren:
ein
kleines hohles Sendergehäuse,
das so angepasst ist, dass es leicht in der Tasche einer Person
transportiert werden kann;
einen manuell bedienbaren Schalter,
der im Gehäuse
befestigt ist und von außerhalb
des Gehäuses
manuell bedient werden kann, um den Betrieb der Funktion zu steuern;
elektronische
Mittel, die im Gehäuse
enthalten sind und auf den Schalter reagieren, um (a) eine Meldung
zur Aussendung an das Fahrzeug zu erzeugen, wobei die Meldung einen
die gewünschte
Funktion anzeigenden Steuercode und einen den Sender eindeutig identifizierenden
Sicherheitscode beinhaltet, (b) einen Fehlererkennungscode, der
auf der Meldung basiert und dazu dient, Fehler in der Aussendung
der Meldung zu entdecken, (c) die Meldung in Abhängigkeit vom erzeugten Fehlererkennungscode
und in Abhängigkeit
von einem aus einer festgelegten Mehrzahl von Verschlüsselungsalgorithmen
stammenden Algorithmus zu verschlüsseln, und wobei der Fehlererkennungscode
zu einem Hauptzweck erzeugt wird, der in keiner Beziehung zu einem
der Verschlüsselungsalgorithmen
steht, aber wobei ein zweitrangiger Zweck darin besteht, den einen aus
einer festgelegten Mehrzahl von Verschlüsselungsalgorithmen stammenden
Algorithmus zu beschreiben, um ihn in Übereinstimmung mit dem zweiten
Code auszuwählen,
und (d) die verschlüsselte Meldung
und den unverschlüsselten
Fehlererkennungscode an das Fahrzeug auszusenden; und
tragbares
Stromquellenmittel, das im Gehäuse
enthalten ist, um die elektronischen Mittel mit Strom zu versorgen.
-
Kurze Beschreibung
der Zeichnungen
-
Die
vorhergehenden und andere Zwecke der Erfindung werden aus der folgenden
Beschreibung des bevorzugten Ausführungsbeispiels der Erfindung
besser ersichtlich, wenn man sie in Verbindung mit den beigefügten Zeichnungen
betrachtet, die ein Teil hiervon sind und in denen:
-
1 ein schematisches Blockdiagramm
darstellt, das die 1A bzw.
1B enthält
und eine Sendeeinheit und eine Empfangseinheit eines ferngesteuerten
Sicherheitssystems veranschaulicht, das die vorliegende Erfindung
einsetzt;
-
1C stellt eine perspektivische
Prinzipansicht der Sendeeinheit in Form eines Schlüsselhalters
dar;
-
2 stellt eine Veranschaulichung
von Spannung in Bezug zu Zeit dar, die die Wellenform eines gesendeten
digitalen Signals, das von der Sendeeinheit hierin geliefert wird,
veranschaulicht, und diese Veranschaulichung ist für die Beschreibung
der Erfindung hierin nützlich;
-
3 stellt ein Flussdiagramm
dar, das die Funktion des im Sender der 1 eingesetzten, programmierten Mikrocomputers
veranschaulicht;
-
4 stellt das Flussdiagramm
einschließlich
der 4A und 4B dar, die gemeinsam die
programmierte Funktion des im Empfänger der 1 eingesetzten Mikrocomputers veranschaulichen.
-
Beschreibung
des bevorzugten Ausführungsbeispiels
-
Nun
wird auf die Zeichnungen Bezug genommen, wobei die Erklärungen lediglich
der Veranschaulichung eines bevorzugten Ausführungsbeispiels der Erfindung
dienen und nicht den Zweck haben, diese einzuschränken. 1 zeigt eine Fernbedienung
A für das
selektive Betätigen
eines Türverriegelungsmechanismus
B, eines Türentriegelungsmechanismus
C oder eines Kofferraum-Solenoids D für die Entriegelung des Kofferraums
eines Kraftfahrzeugs. Das System A schließt eine Sendeeinheit T für das Erzeugen
eines codierten digitalen Signals S ein, das an die Empfangseinheit
R gesendet werden soll, wobei die Türen des Fahrzeugs beliebig
verriegelt oder entriegelt werden können oder der Kofferraum beliebig
entriegelt werden kann, und zwar aus einer Entfernung von mindestens
20–50
Fuß. Die
Sendeeinheit T schließt
einen Mikrocomputer ein, der entsprechende interne PROMs, EEPROMs
und RAMs aufweist, die programmiert sind, um die Funktionen des
Systems, wie später
hierin beschrieben wird, ausführen
zu können,
und er weist genügend
durch ein Wählmittel
oder die Schalter 12, 14 und 16 gesteuerte
I/O Anschlüsse
auf. In Übereinstimmung
mit dem veranschaulichten Ausführungsbeispiels
wird der Schalter 12 niedergedrückt, wenn das System A die
Türen des
Fahrzeugs durch die Betätigung
des Türverriegelungsmechanismus
B verriegeln soll. Auf die gleiche An wird der Schalter 14 manuell
betätigt,
um die Fahrzeugtüren
durch Betätigung
des Türentriegelungsmechanismus
C zu entriegeln. Das Kofferraum-Solenoid
D oder der Mechanismus für
das Ausklinken des Kofferraumschlosses des Fahrzeugs wird durch
das Niederdrücken
des manuellen Schalters 16 betätigt. Sobald einer der Schalter 12–16 niedergedrückt wird,
wird ein Anschalt-Schaltkreis 20 angesprochen,
um Strom an den Mikrocomputer 10 zu liefern und die Oszillatoren 30 und 32 zu
betätigen.
Im bevorzugten Ausführungsbeispiel
versorgen die Schalter 12, 14 und 16 das
System A mit Strom und verursachen eine einzelne Aussendung eines codierten
Signals. Danach wird der Schaltkreis 20 deaktiviert, um
auf eine erneute Funktionsanforderung zu warten.
-
Der
Oszillator 30 weist im bevorzugten Ausführungsbeispiel eine nominale
Frequenz von 315 MHz auf, die im Wesentlichen dieselbe Frequenz
ist, wie sie für
herkömmliche
Garagentorschließer
verwendet wird. Während
die Erfindung hierin mit Bezug auf ein HF-System beschrieben wird,
kann sie auch mit einem IR-System betrieben werden. Der Taktoszillator 32 ist
nicht geregelt, da er keine Quarzsteuerung aufweist und seine Frequenz
kann durch Temperaturunterschiede und Herstellungstoleranzen variieren.
Die Ausgabe des Oszillators 32 wird für die zeitliche Planung der
Funktion des Mikrocomputers 10 verwendet, um die Ausgabezeile 38 immer
dann auf eine logische 1 umzuschalten, wenn eine binäre 1 durch
die Antenne 36 gesendet werden soll. Die Ausgabeleitung 38 des
Mikrocomputers stellt eine Eingabe an das UND-Gatter 39 dar,
das einen zweiten Eingang aufweist, die von der Ausgabe des Oszillators 30 gesteuert
wird. Das Signal in der Ausgabeleitung 37 des Gatters 39 ist
eine Reihe von binären
Bedingungen (logische 0 und logische 1), die auf einem 315 MHz Träger überlagert
sind. Folglich ist, wenn der Mikrocomputer 10 durch den
Schaltkreis 20 mit Energie versorgt wird, das gesendete
Signal S eine Reihe von Impulsen, deren Länge oder Dauer durch die Logik
in Leitung 38 gesteuert wird. Die Leitungen P sind Stromleitungen,
die auf ein Kommando von Schaltkreis 20 gesteuert werden.
-
Wie
später
beschrieben wird, handelt es sich beim Code in Signal S um einen
Binärcode,
bei dem eine binäre
1 und eine binäre
0 voneinander dadurch unterschieden werden, dass sie eine unterschiedliche
Länge oder
Dauer aufweisen. Diese Impulslänge
wird durch die Frequenz des Oszillators 32 gesteuert, bei
dem es sich nicht um einen teuren Oszillator mit Quarzsteuerung
handelt; daher besteht das Verhältnis
zwischen einer binären
0 und einer binären
1 des Identifikationscodes im gesendeten Signal S aus den relativen
Impulslängen einer
logischen 1 und einer logischen 0. Diese Längen variieren gemäß der bestimmten
Frequenz des Oszillators 32, aber sie behalten ihr numerisches
Verhältnis
bei, da sie auf Zählimpulsen
des Taktes in Leitung 34 basieren. Auf diese An kann der
Oszillator 32 relativ günstig
sein, aber die Frequenz oder der Takt in Leitung 34 eines
Senders T ist dann nicht identisch zu einem anderen Sender. Tatsächlich kann
die Frequenz des Taktes in Leitung 34 bei unterschiedlichen
Betriebsbedingungen in einer bestimmten Sendeeinheit abweichen.
-
Durch
das Einsetzen des Anschaltkonzepts wird kein Strom auf den Leitungen
P an die Oszillatoren und den Mikroprozessor angelegt, bis eine
Auswahl durch das Drücken
eines der Schalter 12–16 getroffen wird.
Wenn dies geschieht, leitet der Anschalt-Schaltkreis 20,
der eine Batterie (normal 5,0 Volt) umfasst, für eine vom Mikrocomputer gesteuerte
Zeitspanne Strom an den Mikrocomputer. Die Zeitdauer, während der
der Mikrocomputer den Strom aufrechterhält, ist lange genug, um ein
Steuersignal zu senden. In der Praxis schließt dieses Signal ein Aufweck-Signal,
mindestens ein Initiierungsbit, zweiunddreißig Bits Sicherheitscode, vierundzwanzig
Bit Sequenz-Steuercode, acht Bit Prüfsummencode und acht Bit Funktionscode
ein, um anzuzeigen, welcher der Schalter 12–16 gedrückt wurde.
-
Wie
in 1 C veranschaulicht
handelt es sich bei der Sendeeinheit T um einen tragbaren Schlüsselring
mit einer geeigneten Anordnung von Fingerspitzen-Schaltern 12–16 in einem Gehäuse 50,
der einen Schlüsselring 52 mit
einer schwenkbaren Verbindung 54 einschließen kann.
Das Sendergehäuse 50 ist
ein kleines hohles Gehäuse,
das die Senderschaltungen und eine Stromquelle, wie zum Beispiel
eine Batterie, enthält.
Das Gehäuse
ist so angepasst, dass es leicht in der Tasche einer Person transportiert
werden kann. Das tragbare Gehäuse 50 wird
vom Bediener des Fahrzeuges behalten, so dass das Signal S an den
Empfänger
R durch das bloße
Drücken
eines der fingerbetätigten
Schalter 12–16,
die im Gehäuse
eingebaut sind und von außerhalb
des Gehäuses
manuell bedient werden können,
gesendet werden kann, wenn sich der Bediener dem Fahrzeug nähert.
-
Der
Mikrocomputer 10 des Senders ist mit internen Speichern,
einschließlich
PROMs, EEPROMs und RAMs ausgestattet. Wie bekannt ist, beinhalten
solche Speicher Register für
die Speicherung von Mehrbit-Codes. Während sich diese Register im
Inneren des Mikrocomputers 10 befinden, werden vier dieser
Register in 1 veranschaulicht,
um bei der Erklärung
der Erfindung zu helfen. Diese Register beinhalten ein Sicherheitscode-Register 40,
ein Sequenz-Steuercode-Register 42,
ein Funktionscode-Steuerregister 44 und ein Prüfsummencode-Register 46.
Die Register 40 und 42 befinden sich im EEPROM-Speicher,
während
sich die Register 44 und 46 im RAM befinden. Das
Sicherheitscode-Register 40 enthält einen
festen Code, der den Sender T eindeutig aus dem Code anderer gleicher
Sender identifiziert. Das Register enthält einen Sicherheitscode, der
im Sender vom Hersteller festgelegt wird und auf eine Weise implementiert
werden kann, wie hierin vorher mit meinem früheren U.S. Patent Nr. 4,881,148
beschrieben. Der Sicherheitscode hat vorzugsweise die Form von vier
Acht-Bit Byte.
-
Ein
anderes Register 42 wird hierin als Sequenz-Steuercode-Register
bezeichnet und es speichert einen Sequenz-Steuercode, der vorzugsweise
vierundzwanzig Bit lang und in drei Acht-Bit Byte aufgeteilt ist. Wie
hierin später
genauer erläutert,
wird der digitale Wert des Sequenz-Steuercodes jedes Mal geändert, wenn einer
der Schalter 12, 14 oder 16 betätigt wird,
und daher handelt es sich um einen sich sequentiell ändernden Code.
Dieser Code wird in Übereinstimmung
mit einem aus einer Mehrzahl von Sequenz-Steueralgorithmen, die
in einer Nachschlagetabelle im Mikrocomputer 10 des Senders
gespeichert sind, geändert.
Ebenso wird die Feststellung, welcher aus der Mehrzahl von Sequenz-Steueralgorithmen
einzusetzen ist, durchgeführt,
indem Informationen, die im im Register 40 gespeicherten
Sicherheitscode enthalten sind, untersucht werden, wie später hierin
detaillierter beschrieben.
-
Ein
Funktionscode-Register 44 dient der temporären Speicherung
des Funktionscodes, der als Teil eines gesendeten digitalen Signals
S zu senden ist. Dieser nimmt vorzugsweise die Form eines in acht
Bit codierten Bytes an, wobei die Bits in Reaktion auf die Betätigung eines
der Schalter 12, 14, 16 angeordnet sind, so
dass die dadurch dargestellte Funktion entweder die Fahrzeugtür verriegelt,
die Fahrzeugtür
entriegelt oder den Kofferraumdeckel durch die Betätigung des
Kofferraum-Solenoids entriegelt.
-
Ein
anderes Register im Mikrocomputer 10 ist ein Prüfsummencode-Register 46.
Dieses Register enthält
einen Fehlererkennungscode, der als Prüfsummencode bekannt ist. Dieser
Code wird auf bekannte Weise vom Mikrocomputer unter der Steuerung
durch ein Programm im Register abgelegt. Die zu sendenden Daten werden
zum Beispiel untersucht und ein Acht-Bit-Prüfsummen-Code wird im Register
zur Verwendung bei der Verifizierung der Genauigkeit des gesendeten
Signals abgelegt.
-
Das
gesendete Signal S ist in 2 veranschaulicht
und es enthält
einen Aufweckteil 11, der einen einzelnen Bit umfassen
kann, aber von verlängerter
Dauer ist, wie zum Beispiel in der Größenordnung von zwölf Millisekunden,
und der von einem Start- oder Initiierungsteil 13 gefolgt
wird, der vier Bits umfassen kann. Der Prüfsummencode 15 enthält 8 Bit
und der Sicherheitscode 17 enthält 32 Bit. Der Sequenz-Steuercode 19 enthält 24 Bit
und der Funktionscode 21 enthält acht Bit. Wie hierin später genauer
erläutert
werden wird, wird das digitale Signal in der Reihenfolge gesendet,
dass der Aufweckcode 11 vom Initiierungscode 13 gefolgt wird.
Darauf folgt ein Acht-Bit-Prüfsummencode,
vier Acht-Bit Byte an Sicherheitscode, drei Acht-Bit Byte an Sequenzcode
und ein Acht-Bit-Funktionscode.
Der Prüfsummencode
in diesem Ausführungsbeispiel
der Erfindung befindet sich immer an derselben Stelle. Dieser Code
kann zum Beispiel das erste Byte der neun Byte sein, die der Aussendung
des Initiierungsbits folgen. Die Reihenfolge der übrigen acht
Byte kann variieren und/oder sie können verschlüsselt sein,
wie später
hierin erläutert.
Außerdem ändert sich
der digitale Wert des Sequenz-Steuercodes mit jeder Aussendung eines
digitalen Signals.
-
Der
Empfänger
R enthält
einen HF-Detektor 60, der auf die gesendete Frequenz von
315 MHz eingestellt ist, so dass der Detektor, wenn das digitale
Signal S an der Antenne 61 des Empfängers empfangen wird, die Frequenz
des Signals erkennt und es zulässt,
dass der erste Teil, einschließlich
dem Aufweckteil 11, an einen Aufwecksignal-Detektor 62 geleitet
wird. Der Detektor 62 überprüft, ob die
Aufweckbedingung korrekt ist und, falls ja, aktiviert den Aufweckschaltkreis 64.
Der Schaltkreis 64 agiert als Aufweckschaltkreis, um die
Betriebsspannung, z.B. 5 Volt, an den Mikrocomputer 80 des
Empfängers
zu liefern. Die Betriebsspannung wird durch einen Niederspannungs-Detektor 68 überwacht,
um einen Betrieb der Schaltungen zu gewährleisten, so lange die Spannung
nicht unterhalb eines ausgewählten
Pegels fällt.
-
Die
Daten im empfangenen Signal S werden an den Mikrocomputer 80 geliefert
und durch von einem Taktoszillator 82 bezogene Taktimpulse
eingetaktet. Wie im Falle des Mikrocomputers 10 enthält der Mikrocomputer 80 eine
Mehrzahl von internen Speichern, einschließlich PROMs, RAMs und EEPROMs.
Die internen Speicher sind so programmiert, um die hierin später genauer
beschriebenen Funktionen auszuführen.
-
Einige
der internen Speicher des Mikrocomputers 80 sind in 1 veranschaulicht, um hierin
bei der Beschreibung der Erfindung zu helfen. Dies schließt die Register 100, 102, 104 und 106 ein,
die sich alle im nicht-flüchtigen
Speicher (EEPROM) befinden. Das Register 100 speichert
einen Sicherheitscode A, der einen Sender eindeutig identifiziert,
von dem der Empfänger
gültig
ein digitales Signal empfangen darf. Der im Register 100 festgelegte
Code kann im Speicher bei der Fertigung platziert werden oder er
kann in das Feld auf die Weise, wie in meinem früheren U.S. Patent Nr. 4,881,148
beschrieben, programmiert werden. Der Sicherheitscode wird mit Hilfe
eines Algorithmus erzeugt, der in der Lage ist, Zahlen in einer
zufälligen,
aber nicht-wiederholbaren, Reihenfolge zu erzeugen. Dieser Code
hat eine Länge
von zweiunddreißig
Bit und ist in vier Acht-Bit Datenbyte aufgeteilt. Da es wünschenswert
sein kann, dass der Empfänger
von mehr als einem Sender gültig
digitale Signale empfangen kann, wird ein zweites Sicherheitscode-Register 104 bereitgestellt, das
mit dem aus Register 100 identisch ist, aber das einen
Sicherheitscode B enthält,
der eindeutig unterschiedlich vom Sicherheitscode A im Register 100 ist.
-
Zusätzlich zum
Register 100 enthält
der Empfänger
ein Begleitregister 102, das so programmiert ist, dass
es einen Mehrbit-Sequenz-Steuercode enthält. Wie hierin in Bezug auf
den Empfänger
erläutert,
handelt es sich bei diesem Code um einen Vierundzwanzig-Bit-Code,
der in drei Acht-Bit Byte aufgeteilt ist. Dieser Code wird um einen
vorher festgelegten Betrag, der nur dem Hersteller bekannt ist,
jedes Mal verändert,
wenn der Empfänger
festgestellt hat, dass er ein gültiges
digitales Signal empfangen hat, wie hierin später genau beschrieben wird.
Da es wünschenswert
sein kann, ein digitales Signal von einem zweiten Sender gültig zu empfangen,
wird ein zweiter Sequenz-Steuercode in einem zweiten Register 106 gespeichert,
und auf gleiche Art wird dieser Sequenz-Steuercode jedes Mal verändert, wenn
der Empfänger
festgestellt hat, dass er ein digitales Signal vom zweiten Sender
(oder B-Sender) gültig
empfangen hat.
-
Um
dabei zu helfen, die Erfindung hierin zu beschreiben, wird auch
ein Paar von Registern in 1 gezeigt,
die sich im internen Speicher des Mikroprozessors 80 befinden
und ein Funktionscode-Register 108 und ein Prüfsummencode-Register 110 enthalten.
Hierbei handelt es sich um temporäre Speicher, die jeweils zum
Empfangen und Speichern der Funktionscode- und Prüfsummencodeteile
des vom Sender T empfangenen digitalen Signals S dienen.
-
Wie
später
hierin beschrieben wird, decodiert der Empfänger den Funktionscode in Register 108, wenn
er gültig
ein digitales Signal vom Sender empfängt, und führt dann eine der Türverriegelungs-Steuerfunktionen,
wie zum Beispiel das Verriegeln einer Fahrzeugtür oder das Entriegeln einer
Fahrzeugtür
oder das Betätigen
eines Kofferraum-Solenoids durch geeignete, vom Mikrocomputer 80 gesteuerte
Lasttreiber 120.
-
Nun
wird auf 3 Bezug genommen,
in der das Flussdiagramm abgebildet ist, das die Art zeigt, in der
der Mikrocomputer im Empfänger
in Übereinstimmung
mit der vorliegenden Erfindung programmiert ist. Zu Beginn ruht
der Empfänger
in einem Bereitschaftszustand, der manchmal Power-Down-Zustand genannt wird, was
als Schritt 200 in 3 abgebildet
ist. Der Mikrocomputer erwartet nun das Schließen eines der Schalter 12, 14 oder 16.
-
Im
Schritt 202 reagiert der Mikrocomputer auf das Schließen eines
der Schalter 12, 14 oder 16 und betätigt zu
Beginn den Anschalt-Schaltkreis 20 in Übereinstimmung mit Schritt 204,
um an den Leitungen P Strom an die verschiedenen Schaltkreise im
Empfänger
anzulegen.
-
Der
Mikrocomputer ist so programmiert, dass er in Schritt 206 den
betätigten
Schalter abliest, um herauszufinden, welcher Schalter 12, 14 oder 16 betätigt wurde,
und um dann den diesem Schalter zugehörigen Funktionscode im Funktionscode-Register 44 in Übereinstimmung
mit Schritt 208 zu speichern. Der im Register 44 gespeicherte
Funktionscode stellt nun die präzise
Anforderung dar, wie zum Beispiel das Verriegeln der Fahrzeugtür oder das
Entriegeln der Fahrzeugtür
oder das Entriegeln des Kofferraumdeckels.
-
Im
Schritt 210 liest der Mikrocomputer den aktuellen oder
den alten Sequenz-Steuercode
aus dem Register 42 aus, um den Sequenz-Steuercode in Übereinstimmung
mit Schritt 212 zu aktualisieren. Der Computer führt eine
Lesefunktion bei Schritt 214 aus, bei dem das Sicherheitscode-Register
ausgelesen wird, um den Sicherheitscode für diesen Sender zu erhalten.
Nach dem Erhalt des Sicherheitscodes aus dem Register 40 liest
der Computer nun gemäß Schritt 216 in
der Nachschlagetabelle A, um zu bestimmen, welcher aus einer Mehrzahl
von Sequenz-Steuerungs-Variations-Algorithmen für die Bestimmung des neuen
Sequenz-Steuercodes in Übereinstimmung
mit Schritt 218 einzusetzen ist. Sobald der richtige Algorithmus
aus der Tabelle A in Übereinstimmung
mit Schritt 216 erhalten wurde, wird der nächste oder
neue Sequenz-Steuercode bestimmt, um einen aktualisierten Sequenz-Steuercode
in Übereinstimmung
mit Schritt 212 zu erhalten. Dieser neue Sequenz-Steuercode
wird dann im Sequenz-Steuer-Register 42 gemäß Schritt 220 gespeichert.
-
Im
Folgenden wird auf die unten aufgeführte Tabelle A Bezug genommen. TABELLE
A VARIATIONSVERFAHREN
DES SEQUENZ-STEUER-CODES
-
Wie
in Tabelle A abgebildet, besteht der Sicherheitscode SC aus vier
Acht-Bit-Byte. Die
wichtigsten Bits dieser Byte können
jeweils als Bit A, B, C und D bezeichnet werden und sind in der
linken Spalte unter der Überschrift
ABCD angeordnet. In Tabelle A werden sechzehn Variationen des digitalen
Wertes dieser Vier-Bit-Zahl dargestellt, wobei jede einen anderen
Algorithmus für
die Änderung
des aktuellen Sequenz-Steuercodes auf den nächsten digitalen Wert des Sequenz-Steuercodes
liefert. Wenn die Bits ABCD zum Beispiel einen digitalen Wert von
0010 aufweisen, dann wird der nächste
Sequenz-Steuercode bestimmt, indem der alte oder aktuelle Sequenz-Steuercode
um fünf
inkrementiert wird.
-
Ähnlicherweise
wird der Sequenz-Steuercode um elf inkrementiert, wenn der digitale
Wert des Wortes ABCD in Tabelle A 0101 ist, um den neuen digitalen
Wert des Sequenz-Steuercodes zu erhalten. Es wird darauf hingewiesen,
dass die letzten acht Algorithmen in dieser Tabelle ein Dekrementieren
des Wertes des Sequenz-Steuercodes vorsehen.
-
Wenn
wir nun mit dem programmierten Ablauf des Mikrocomputers fortfahren,
sieht man in Schritt 224, dass der Mikrocomputer des Senders
den Prüfsummencode
dadurch berechnet, dass er die Bits im Sicherheitscode, im Sequenz-Steuercode
und im Funktionscode untersucht. Eine binäre Addition wird mit diesen acht
Byte ausgeführt,
um den Prüfsummencode
zu berechnen. In Übereinstimmung
mit Schritt 226 wird der berechnete Prüfsummencode dann im Prüfsummencode-Register 46 des
Senders gespeichert, bevor die verschiedenen Byte zur Aussendung
im digitalen Signal S zusammengesetzt werden.
-
Bevor
die Byte des digitalen Signals S durch den Sender T gesendet werden,
werden die Bits in jedem der Byte, die den Sicherheitscode SC, den
Sequenz-Steuercode
SSC und den Funktionscode bilden, in Übereinstimmung mit einem aus
einer Mehrzahl von Verschlüsselungsalgorithmen,
wie in Tabelle B unten dargelegt, verschlüsselt. TABELLE
B SCHLÜSSEL ZU
VERSCHLÜSSELUNGSVERFAHREN
-
Unter
Bezugnahme auf Tabelle B wird ersichtlich, dass der eingesetzte
Verschlüsselungsalgorithmus dadurch
bestimmt wird, dass die vier wichtigsten Bits des Prüfsummencodes
untersucht werden. Die Bezeichnung SCC-1 bezieht sich auf das erste
Byte des Sequenz-Steuercodes SCC. Aus dieser Tabelle wird ersichtlich,
dass es möglich
ist, bis zu sechzehn verschiedene Verschlüsselungsverfahren zu haben,
wodurch der Schwierigkeitsgrad des Versuchs eines Diebes o.ä., ein aufgefangenes
Signal zu analysieren, erhöht
wird. Daher wird momentan ein Prüfsummencode
von 00110000 angenommen. Eine Untersuchung der vier wichtigsten
Bits zeigt an, dass der eingesetzte Verschlüsselungsalgorithmus der Algorithmus
4 ist, der anweist, dass jedes Byte der zu sendenden Daten (mit
Ausnahme des Prüfsummencodes)
auf eine exklusive ODER-Art mit dem ersten Byte SCC-1 des Sequenz-Steuercodes kombiniert
wird. Diese Kombination wird dann um zwei Stellen nach links verschoben,
ohne dass eine Invertierung stattfindet. Ähnliche Berechnungen werden
für andere
Kombinationen in Tabelle B gezeigt. Die in Tabelle B dargelegten
Algorithmen werden im Speicher des Mikrocomputers des Senders gespeichert,
wie zum Beispiel auf eine im Fachgebiet wohl bekannte Art, im ROM.
-
Im
Schritt 228 wählt
der programmierte Mikrocomputer das einzusetzende Verschlüsselungsverfahren dadurch
aus, indem er die vier wichtigsten Bits des Prüfsummencodes (bei 230 dargestellt)
dafür verwendet, die
bei 232 dargestellte Tabelle B zu adressieren, um einen
der sechzehn zu verwendenden Verschlüsselungsalgorithmen abzurufen.
Die Bits innerhalb der Datenbyte werden dann, mit Ausnahme des Prüfsummencodes, in Übereinstimmung
mit dem ausgewählten
Verschlüsselungsalgorithmus
in Schritt 234 verschlüsselt,
wobei die verschlüsselten
Daten dann in Übereinstimmung
mit Schritt 236 in den Registern 40, 42 und 44 gespeichert werden.
-
Die
acht zu sendenden Datenbyte beinhalten vier Byte an Sicherheitscode,
drei Byte an Sequenz-Steuercode und ein Byte an Funktionscode. Zusätzlich zur
Verschlüsselung
dieser Byte, wie oben in Bezug auf die Schritte
228,
230,
232 und
234 erläutert, können die
verschlüsselten
Byte in einer Reihenfolge gesendet werden, die von der in
2 abgebildeten abweicht.
Das Prüfsummenbyte
befindet sich immer an derselben Stelle. In dem hierin aufgeführten Beispiel
befindet sich das Prüfsummenbyte
an der Stelle des ersten Bytes der neun Byte, die den Aufweck- und
Initiierungsbits folgen. Die übrigen
acht Datenbyte werden in einer von sechzehn verschiedenen Sendereihenfolgen,
wie unten in Tabelle C dargelegt, gesendet. TABELLE
C
-
Wie
aus der Betrachtung von Tabelle C ersichtlich ist, wird die Auswahl
einer der sechzehn Ausgabereihenfolgen durch die vier unwichtigsten
Bits des Prüfsummencodes
gesteuert. Folglich ist die Sendereihenfolge der Datenbyte die Ausgabereihenfolge
Nr. 8 von den potentiellen Ausgabereihenfolgen eins bis sechzehn,
wenn die vier unwichtigsten Bits des Prüfsummencodes 0111 sind. Die
genaue Sendereihenfolge der Daten ist hierin nicht dargestellt,
da für
jede der möglichen
sechzehn Reihenfolgen verschiedene Kombinationen verwendet werden
können.
Ausgabereihenfolge Nr. 4 kann zum Beispiel die folgende Reihenfolge
annehmen: SCC1, SC1, SC2, SC3, SC4, Funktionscode, SCC2 und SCC3
(wobei vorausgesetzt wird, dass SC1 für das Sicherheitscodebyte eins
steht usw., während
SCC1 für
das Sequenz-Steuercodebyte 1 steht usw.). Gleichermaßen kann
die Ausgabereihenfolge Nr. 6 (0101) es erfordern, dass die Reihenfolge
folgendermaßen
ist: SC1, SCC1, Funktionscode, SC3, SCC2, SC2, SCC3 und SC4. Gleichermaßen kann
die Ausgabereihenfolge Nr. 8 (Prüfsummencode
xxxx0111) die folgende Sendereihenfolge erfordern: Funktionscode,
SC3, SCC2, SC1, SCC3, SC4, SCC1 und SC2. Die Tabelle C ist auf bekannte
Weise in einem Nachschlagespeicher im Mikrocomputer des Senders
enthalten.
-
In
Schritt 238 wählt
der Mikrocomputer des Senders die Reihenfolge aus, in der die hierin
oben beschriebenen Datenbyte auszugeben sind. Um dies zu bewerkstelligen
untersucht der Mikrocomputer die vier unwichtigsten Bits für die im
Register 46 gespeicherten Prüfsummencodes und verwendet
diese Bits, um auf die Tabelle C, die die Informationen bezüglich der
Reihenfolge enthält,
zuzugreifen. Die zu sendenden Daten werden dann gemäß den Informationen
bezüglich
der Reihenfolge, die von der Nachschlagetabelle C ausgelesen wurden,
neu angeordnet. Die Daten werden dann in der neuen Reihenfolge gesendet.
Die Aussendung wird in Schritt 244 ausgeführt, wobei
die Aufweck- und Initiierungsbits zu Anfang gesendet werden, gefolgt
vom Prüfsummencode
und den acht Datenbyte (in der neuen Reihenfolge angeordnet), die
den Sicherheitscode, den Sequenz-Steuercode und den Funktionscode
darstellen. Der Sender wird dann abgeschaltet, um auf das Schließen eines
Schalters zu warten, wodurch eine andere Aussendung eines digitalen
Signals angeordnet wird.
-
Nun
wird auf 4 Bezug genommen,
die ein Flussdiagramm darstellt, das die Art aufzeigt, in der der Mikrocomputer
im Empfänger
R programmiert ist, um verschiedene hierin beschriebene Funktionen,
auszuführen.
Zu Anfang, gemäß Schritt 300,
befindet sich der Empfänger
in einem Power-Down-Bereitschaftszustand
und wartet auf den Empfang eines digitalen Signals S von einem Sender,
wie zum Beispiel Sender T. Wenn ein solches Signal empfangen wird,
aktiviert das Aufweckbit den Aufwecksignaldetektor 62 und
verursacht, wie in Schritt 302 dargestellt, das Anschalten
des Aufweck-Schaltkreises 64, der dann Strom an den Mikrocomputer 80 im
Empfänger
liefert. In Schritt 304, im Anschluss an die normalen Initiierungsschritte
des Mikrocomputers, reagiert der Mikrocomputer auf den Start- oder
Initiierungsteil des digitalen Signals, indem er das eingehende
digitale Signal liest und dieses in den temporären Registern im Mikrocomputer
speichert. Wie oben erwähnt,
wird das eingehende digitale Signal verschlüsselt und die Datenbyte befinden
sich in Unordnung, mit Ausnahme des Prüfsummencodes. Dieser Code befindet
sich immer an derselben Stelle. Im beschriebenen Beispiel befindet
es sich an der Stelle des ersten Bytes von den neun Byte, die den
Initiierungs- und Aufweckbits folgen. Das Prüfsummencodebyte wird im Prüfsummencode-Register 110 im
Empfänger
R gespeichert.
-
In Übereinstimmung
mit Schritt 306 werden die vier unwichtigsten Bits des
im Empfänger-Register 110 gespeicherten
Prüfsummencodes
untersucht, um festzustellen, welcher aus einer Mehrzahl von sechzehn Sendereihenfolgen
bei der Aussendung der acht Datenbyte an den Empfänger eingesetzt
wurde. In Schritt 310 werden die vier unwichtigsten Bits
des Prüfsummencodes
dazu verwendet, auf eine Nachschlagetabelle (bei Schritt 308 angezeigt)
im Speicher des Mikrocomputers des Empfängers zuzugreifen. Diese Tabelle
ist dieselbe, wie die hierin erläuterte
Tabelle C. Folglich wird Reihenfolge Nr. 6 von der Tabelle C abgerufen,
wenn zum Beispiel die vier unwichtigsten Bits des Prüfsummencodes 0101 sind.
Bei dieser Reihenfolge können
die Datenbyte wie folgt angeordnet sein: SC1, SCC1, Funktionscode,
SC3, SCC2, SC2, SCC3 und SC4. Unter Anwendung dieser Informationen
von der Nachschlagetabelle in Schritt 310 werden die Datenbyte
nun in die richtige Reihenfolge gebracht und in entsprechenden temporären Speicherregistern
im Mikrocomputer des Empfängers
gespeichert.
-
Im
Schritt 312 untersucht der Mikrocomputer des Empfängers die
vier wichtigsten Bits des im Register 110 des Mikrocomputers
gespeicherten Prüfsummencodes.
Aus der vorigen Erläuterung
der Tabelle B wird noch bekannt sein, dass die vier wichtigsten
Bits des Prüfsummencodes
bestimmen, welcher der sechzehn Verschlüsselungsalgorithmen am Sender
eingesetzt wurde, um die acht Datenbyte zu verschlüsseln. Gleichermaßen werden
die vier wichtigsten empfangenen und im Prüfsummencode-Register 110 im
Empfänger
R gespeicherten Bits des Prüfsummencodes
dazu verwendet, um ein komplementäres Entschlüsselungsverfahren für die Wiederherstellung
der Originalform der Datenbyte auszuwählen. Infolgedessen wird die
Tabelle B invertiert in einer Nachschlagetabelle B' im Mikrocomputer
des Empfängers,
zum Beispiel im ROM, gespeichert.
-
Diese
Tabelle B' ist wie
die Tabelle B, außer,
dass die gespeicherten Anweisungen die Entschlüsselung der in Übereinstimmung
mit Tabelle B verschlüsselten
Byte bewerkstelligen. Der Mikrocomputer untersucht die vier wichtigsten
Bits des Prüfsummencodes
in Schritt 312 und erhält
dann von Tabelle B' in Übereinstimmung
mit Schritt 314 das korrekte Entschlüsselungsverfahren, um einen
umgekehrten Verschlüsselungsablauf
in Übereinstimmung
mit Schritt 316 durchzuführen.
-
Nun
wird auf die unten aufgeführte
Tabelle B' Bezug
genommen. TABELLE
B' SCHLÜSSEL ZU
ENTSCHLÜSSELUNGSVERFAHREN
-
Wenn
zum Beispiel der Prüfsummencode
für die
vier wichtigsten Bits 0111 ist, dann ist bekannt, dass die
empfangenen Daten im Sender durch die Ausführung eines exklusiven ODERs
für jedes
Byte im digitalen Code verschlüsselt
wurden, wobei das erste Byte SCC-1 im Sequenz-Steuercode dann um
vier Stellen ohne Inversion verschoben wird. Wenn der entgegengesetzte
oder umgekehrte Ablauf ausgeführt
wird, wird jedes Bit um vier Stellen nach rechts verschoben und
danach wird jedes Byte (außer
SCC-1) exklusiv mit dem Byte SCC-1 geODERt, und anschließend gemäß Schritt 318 im
temporären
Register im Mikrocomputer des Empfängers abgelegt.
-
Im
Schritt 320 wird die Prüfsumme
der echten Daten berechnet. Im Schritt 322 wird die resultierende Prüfsumme mit
dem empfangenen, im Register 100 aufgehobenen Prüfsummencode
verglichen. Wenn der berechnete und der empfangene Prüfsummencode übereinstimmen,
fährt das
Programm mit dem unten erläuterten
Schritt 324 fort. Wenn keine Übereinstimmung vorliegt, dann
zeigt dies an, dass ein ungültiges
Signal empfangen wurde und es wird in Schritt 326 festgestellt,
ob die Voraussetzungen für
ein Abschalten erfüllt
wurden. Wenn der Mikrocomputer die Suche nach einem digitalen Signal
beendet hat (z.B. wenn mehr als ein festgesetztes Mindest-„Wach"-Intervall seit dem
Anschalten verstrichen ist), dann sind die Voraussetzungen für ein Abschalten
erfüllt
und der Mikrocomputer kann in einen Bereitschaftszustand versetzt
werden und dadurch zu Schritt 300 zurückkehren und auf das Wahrnehmen
eines neuen digitalen Signals warten. Wenn die Abschaltvoraussetzungen
nicht erfüllt
sind, wie im Falle wenn der Mikrocomputer die Suche nach einem digitalen Signal
noch nicht beendet hat (z.B. wenn das Mindest-„Wach"-Intervall noch nicht verstrichen ist),
dann kehrt der Computer zu Schritt 304 zurück und fährt damit
fort, eingehende Signale zu lesen und zu speichern und die Schritte 306 bis 322 zu
wiederholen.
-
Wenn
der berechnete und der empfangene Prüfsummencode in Schritt 322 übereinstimmen,
dann wird in Schritt 324 der Sicherheitscode im Register 100 gelesen.
Im Entscheidungsschritt 328 wird der Sicherheitscode im
Register 100 mit dem Sicherheitscode des empfangenen Signals
verglichen, um herauszufinden, ob der autorisierte Sicherheitscode
A (der einen ersten zulässigen
Sender identifiziert) mit dem empfangenen Sicherheitscode übereinstimmt.
Wenn es keine Übereinstimmung
gibt, dann wird der autorisierte Sicherheitscode B (der einen zweiten
zulässigen
Sender identifiziert) abgerufen (Schritt 330) und mit dem
empfangenen Code verglichen (Schritt 332). Wenn es auch
hier keine Übereinstimmung
gibt, springt der Mikrocomputer wieder zu Schritt 326,
um herauszufinden, ob die Abschaltvoraussetzungen erfüllt sind.
-
Kehren
wir nun zu Schritt 328 zurück, bei dem das Programm mit
Schritt 334 fortschreitet (4B), wenn
der Sicherheitscode A im Register 100 mit dem empfangenen
Sicherheitscode übereinstimmt,
wobei der entsprechende Sicherheitscode A aus dem Register 100 ausgelesen
wird, um den Sequenz-Steuercode
zu aktualisieren. Im Schritt 336 wird der entsprechende
Sequenz-Steuercode
A aus dem Register 102 ausgelesen. Dabei handelt es sich
um den alten Sequenz-Steuercode und der nächste Sequenz-Steuercode wird
berechnet, indem der alte Sequenz-Steuercode in Übereinstimmung mit den aus
Tabelle A abgerufenen Anweisungen inkrementiert (oder dekrementiert)
wird (in 4B bei 338
angegeben). Auf Tabelle A wird in Übereinstimmung mit einem Vier-Bit-Halbbyte zugegriffen,
das gebildet wird, indem die wichtigsten Bits in jedem der vier
Byte im Sicherheitscode, der im Schritt 334 aus dem Register 100 ausgelesen
wurde, zusammengesetzt werden. Die Nachschlagetabelle A reagiert
mit dem korrekten Inkrementier-/Dekrementier-Algorithmus aus der Tabelle.
Der neue Sequenz-Steuercode wird in Schritt 340 berechnet.
Wenn zum Beispiel die wichtigsten Bits der vier Byte im aus dem
Register 100 ausgelesenen Sicherheitscode sich so zusammensetzen,
dass die das Halbbyte 0011 bilden, dann wird der nächste Sequenz-Steuercode
dadurch berechnet, dass der alte Code um sieben inkrementiert wird.
Gleichermaßen
ist, wenn der digitale Wert des gegenwärtigen oder alten Sequenz-Steuercodes
bei Byte 3 (SCC-3) 00000001 (dezimale 1) ist, das nächste gültige Byte
3 in der Reihe 00001000 (dezimale 8). Für eine Reihe von acht Sequenz-Steuercodes
wird das vorhergehend genannte von 00001111 (dezimale 15), 00010110
(dezimale 22), 00011101 (dezimale 29), 00100100 (dezimale 36), 00101011
(dezimale 43), 00110010 (dezimale 50) und 00111001 (dezimale 57)
gefolgt. In dieser Reihenfolge gab es N Sequenz-Steuercodes, wobei N = B.
-
Nachdem
die nächsten
acht Sequenz-Steuercodes berechnet wurden, wird jeder berechnete
Sequenz-Steuercode in Schritt 342 mit dem im empfangenen
digitalen Signal S eingebetteten Sequenz-Steuercode verglichen,
um herauszufinden, ob die beiden übereinstimmen. Wenn der empfangene
Sequenz-Steuercode
mit einem der acht neu berechneten Sequenz-Steuercodes übereinstimmt,
dann springt der Programmablauf zu Schritt 344, in dem
der Sequenz-Steuercode aktualisiert wird, um den empfangenen Sequenz-Steuercode
widerzuspiegeln, und in das entsprechende Sequenz-Steuer-Register 102 oder 106 geschrieben
wird. Die Übereinstimmung
der Sequenz-Steuercodes liefert die benötigte Bestätigung, dass ein gültiges digitales Signal
S vom Empfänger
empfangen wurde. Im Schritt 346 führt der Mikrocomputer schließlich die
angeforderte Funktion aus, entweder die Fahrzeugtür zu verriegeln
oder die Fahrzeugtür
zu entriegeln, oder den Kofferraumdeckel zu öffnen, und zwar abhängig von
der Funktion, die vom Funktionscode, der im Register 108 im
Empfänger
gespeichert ist, dargestellt wird. Sobald die angeforderte Funktion
ausgeführt
wurde, wird im Schritt 348 eine Entscheidung gefällt, ob
die Abschaltbedingungen erfüllt
wurden. Wenn ja, tritt der Mikrocomputer in einen Power-Down-Bereitschaftszustand
und wartet auf den Empfang eines neuen digitalen Signals von einem
Sender. Andererseits, wenn die Abschaltbedingungen nicht erfüllt sind,
springt der Mikrocomputer zu Schritt 304, um somit mit
dem Lesen und Speichern von eingehenden Signalen fortzufahren.
-
Der
Schritt 342 kann als ein Option-1-Schritt angesehen werden.
Zusätzlich
zum Schritt 342 kann ein Option-2-Schritt eingesetzt werden,
wenn der empfangene Sequenz-Steuercode nicht mit einem der N berechneten
Sequenz-Steuercodes
aus Schritt 340 übereinstimmt.
Ob der Option-2-Schritt eingesetzt wird oder nicht, wird bei der
Programmierung des Empfängers
festgestellt und implementiert. Wenn der Option-2-Schritt eingesetzt
wird, dann wird jedes Mal, wenn in Schritt 342 festgestellt
wird, dass keine Übereinstimmung
zwischen dem empfangenen Sequenz-Steuercode und einem der N berechneten
Sequenz-Steuercodes
gefunden wurde, eine Entscheidung gefällt, mit Schritt 350 (Option-2-Schritt) fortzufahren,
wenn die Option 1 (Schritt 342) nicht unter Ausschluss
von Schritt 342 ausgewählt
wurde. Andernfalls springt der Mikrocomputer zu Schritt 348,
um festzustellen, ob die Abschaltbedingungen, wie vorher erläutert, erfüllt wurden.
Wenn der Schritt 352 zu einer negativen Entscheidung führt, fährt der
Mikrocomputer mit Schritt 350 fort.
-
Im
Schritt 350 (Option-2-Schritt) stellt der Mikrocomputer
fest, ob der Funktionscode „VERRIEGELN" ist, was bedeutet,
dass die angeforderte Funktion die Fahrzeugtüren verriegeln soll. Wenn ja
und wenn der empfangene Sequenz-Steuercode
einen größeren Wert
aufweist als ein beliebiger aus den N berechneten neuen Sequenz-Steuercodes
(aus Schritt 340), dann wird das empfangene Signal als
ein gültig
empfangenes digitales Signal angesehen. Im Schritt 344 wird
der Sequenz-Steuercode mit dem Sequenz-Steuercode aus dem empfangenen
Signal aktualisiert. Wenn entweder (a) das Kommando kein „VERRIEGELN"-Kommando war oder (b) der empfangene
Sequenz-Steuercode nicht höher
als der berechnete nächste
Schritt ist, dann wird das empfangene Signal nicht als gültig angesehen
und daher wird die angeforderte Ausgabefunktion nicht ausgeführt und
der Mikrocomputer befiehlt, dass das System abgeschaltet wird.
-
Es
kann vorkommen, dass der Sender und der Empfänger asynchron werden, wenn
der Sender außerhalb
der Reichweite des Systems aktiviert wird oder wenn weißes Rauschen
innerhalb der Reichweite das korrekte Senden eines Signals an den
Empfänger
verhindert. Immer, wenn der Bediener feststellt, dass der Empfänger nicht
synchron läuft,
muss der Bediener (wenn Option 2 verwendet wird) lediglich den VERRIEGELN-Schalter 12 auf
dem Sender aktivieren und das System läuft wieder synchron. Folglich
wird immer, wenn das System asynchron läuft, der gesendete Sequenz-Steuercode
höher als
der im Empfänger
gespeicherte Sequenz-Steuercode sein und höher als ein beliebiger aus
den N berechneten neuen Sequenz-Steuercodes (aus Schritt 340).
Im Schritt 350 wird das empfangene Signal, wie oben erläutert, als
gültig
angesehen und der Sequenz- Steuercode
wird in Schrift 344 mit dem Sequenz-Steuercode aus dem
empfangenen Signal aktualisiert. Das System ist jetzt resynchronisiert.
Daher wird ein eventueller Dieb, der ein vorher gesendetes digitales
Signal, das ein VERRIEGELN-Kommando enthält, abgefangen und aufgezeichnet
hat, nicht in der Lage sein, das System zu resynchronisieren, da
sein aufgezeichneter Sequenz-Steuercode
niedriger als oder bestenfalls gleich wie der aktuelle Sequenz-Steuercode im Empfänger sein
würde.
-
Das
ursprüngliche
Synchronisieren des Systems findet während der Programmierung des
Sicherheitscodes statt, wie in meinem vorherigen U.S. Patent Nr.
4,881,148 beschrieben. Das Verfahren erfordert es, dass ein festverdrahteter
Eingang (Programmierpin) im Empfänger
geerdet wird und dann einer der Schalter 12, 14 oder 16 auf
dem Sender betätigt
wird. Dieser Schritt führt
dazu, dass der Sicherheitscode und der aktuelle Sequenz-Steuercode
des Senders empfangen und dann im EEPROM-Speicher des Empfängers gespeichert wird.
-
Es
sollte beachtet werden, dass der Prüfsummencode für mehr zuständig ist,
als den Schlüssel
für die Verfahren
zur Verschlüsselung
und Datenanordnungsreihenfolge zu liefern. Dieser Code dient auch
als Überprüfung der
Genauigkeit der gesendeten Mitteilung. Seine Verwendung hierin erlaubt
es, mehr Informationen (Verschlüsselungs-
und Reihenfolgeverfahren) zu übertragen,
ohne dem gesendeten Signal mehr Bits hinzuzufügen.
-
Es
sollte außerdem
beachtet werden, dass es sehr wahrscheinlich ist, dass unterschiedliche
Verschlüsselungsverfahren
in konsekutiven Sendungen von digitalen Signalen eingesetzt werden,
die denselben Sender verwenden. Dies erhöht zusätzlich den Schwierigkeitsgrad
des Versuches, ein abgefangenes digitales Signal zu analysieren.
-
Fachleute
werden aus den o.a. Beschreibungen Verbesserungen, Veränderungen
und Modifikationen erkennen. Derartige Verbesserungen, Veränderungen
und Modifikationen innerhalb des Fachgebiets sollen von den beigefügten Ansprüchen abgedeckt
werden.