(57)【特許請求の範囲】
【請求項１】
スイッチ操作に伴って異なる送信コードを発信する送信機と、この送信機における送信コードの変更に対応して所定の順序で正規コードを切り替える受信機を備え、送信コードと正規コードを対照して両者が一致した時に受信機側で所定の出力を行う無線装置において、
前記受信機は、送信コードとして、少なくともＩＤコード、ローリングコード、スイッチ操作に係わるカウンタ値を含み、
前記ローリングコードは、ＩＤコード、スイッチ操作に係わるカウンタ値に基づいて算出されるものであって、
前記送信機からのスイッチ操作に係わるカウンタ値が、前記受信機での前記送信コードの受信回数より所定の範囲を超えて多いと判断したとき、その受信回数を送信回数に一致せしめたことを特徴とする無線装置。
【請求項２】
前記受信機は、受信回数を送信回数に一致せしめた後、前記暗証コード部分の照合を行うことを特徴とする請求項１記載の無線装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、送信機から所定の送信コードを送信して、例えば施錠装置をロック，アンロックなどの応答動作を行わせるようにした無線装置に関するものである。
【０００２】
【従来の技術】
この種の無線装置としては、例えば特開平８―１２０９８７号に示されているようなものがあるので、それを以下に説明する。
送信スイッチの操作に伴って、送信機（不図示）から、図６に示すようなカスタムコード、固定コード（ＩＤコード）、暗証コード（以下、ローリングコードという）、機能コード、終了コードからなる送信コードを受信機が受信すると、受信機は、まず受信した固定コードが登録された正規コードの固定コードに一致しているか否かを判定し、一致しないと判断した場合には、受信した次のローリングコードと正規ローリングコード（前回の照合に用いられたローリングコードに基づき所定の計算式を利用して求められた正規コードのローリングコード）を比較する。そして、受信したローリングコードが正規ローリングコードに一致すればアクチュエータを駆動して、機能コードに基づく所定の応答動作を行う。
【０００３】
一方、送信機の正規所有者が送信スイッチを空押ししてしまったような場合には、送信コードのローリングコードが変化してしまうので、正規コードとの間にずれが発生して、ローリングコードが一致しなかった場合には、今回使用されたローリングコードを一旦受信機のメモリに記録すると共に、前回入力された送信コードのローリングコードに基づいて送信コードと正規コードの間のずれを修正するようにしている。そしてその結果、次回、送信機からの送信コードは正規コードに一致するようになる。
【０００４】
【発明が解決しようとする課題】
このような装置においては、送信機の送信コードのうちＩＤコードを固定し、ローリングコードのみを変化させて防盗性を高めるようにしているので、ローリングコードの発生パターンが盗まれ、送信コードが読み取られないという保証はない。
【０００５】
この発明は、このような問題点に着目してなされたもので、さらに防盗性を高めることを目的としてなされたものである。
【０００９】
【課題を解決するための手段】
第１の発明に係る無線装置は、スイッチ操作に伴って異なる送信コードを発信する送信機と、この送信機における送信コードの変更に対応して所定の順序で正規コードを切り替える受信機を備え、送信コードと正規コードを対照して両者が一致した時に受信機側で所定の出力を行う無線装置において、前記受信機は、送信コードとして、少なくともＩＤコード、ローリングコード、スイッチ操作に係わるカウンタ値を含み、前記ローリングコードは、ＩＤコード、スイッチ操作に係わるカウンタ値に基づいて算出されるものであって、前記送信機からのスイッチ操作に係わるカウンタ値が、前記受信機での前記送信コードの受信回数より所定の範囲を超えて多いと判断したとき、その受信回数を送信回数に一致せしめたことを特徴とするものである。
【００１０】
第２の発明に係る無線装置は、第１の発明における受信機は、受信回数を送信回数に一致せしめた後、前記暗証コード部分の照合を行うことを特徴とするものである。
【００１１】
【発明の実施の形態】
次に、この発明による実施の形態について説明する。
【００１２】
実施の形態１．
図１はキーレスエントリー装置の回路ブロック説明図、図２は送信コードの構成説明図、図３は図１に示すＣＰＵ１１の作動を示すフローチャートである。
図１において、１は携帯用送信機（無線装置）、２は自動車側に取り付けられた受信機（無線装置）、３は自動車ドアのロック、アンロック装置を駆動するアクチュエータで、受信機２のインターフェイス（Ｉ／Ｆ）１６に接続されている。前記送信機１には、電池４、送信用操作スイッチ（アンロック用スイッチ５ａとロック用スイッチ５ｂとからなる）５、ＲＯＭ６、ＥＥＰＲＯＭ７、ＲＡＭ８、ＣＰＵ９等が設けられており、また前記受信機２には受信機１１、ＲＯＭ１２、ＥＥＰＲＯＭ１３、ＲＡＭ１４、ＣＰＵ１５、インターフェイス１６等が設けられている。
【００１３】
まず、送信機１の構成及びその作動を説明する。
前記ＲＯＭ６は、不揮発性メモリであって、送信コード（図２に示すようにカスタムコード、ＩＤコード（固定）、カウンタ値ｎ、ローリングコード、機能コード及び終了コードから構成される）の通信フォーマットを記憶しているが、このＲＯＭ６に記憶されている前記項目のうちローリングコードにあっては、ローリングコード自身のみではなく、該ローリングコード算出用の計算式そのものが含まれている。すなわち、計算式とはこの発明におけるカウンタ値ｎ（＝ｎ１とｎ２とを結合した値）を意味し、それは上位ビットｎ１と下位ビットｎ２から表現されている。例えば、上位ビットｎ１及び下位ビットｎ２がそれぞれ４ビットで、それらが１つになって８ビットで表現されている。
【００１４】
ＥＥＰＲＯＭ７は、後述のＣＰＵ９が、前記ＲＯＭ６に記憶された前記ローリングコード算出用の計算式に基づいて算出すると共に、ＣＰＵ９によって予め算出された次回の操作スイッチ５のオン時に送出されるローリングコードを記憶する。さらにＥＥＰＲＯＭ７は、前記操作スイッチ５の過去におけるオン操作回数、すなわちカウンタ値ｎを記憶している。
【００１５】
ＣＰＵ９は、送信スイッチ５からオン信号を受けると、前記ＲＯＭ６に記憶された前記通信フォーマットを読み取ると共に、ＥＥＰＲＯＭ７から今回使用する前回までの前記スイッチ５のオン操作回数、すなわちカウンタ値ｎを読み取って、そのカウンタ値ｎに１を加えた今回送信するカウンタ値ｎを算出すると共に、その読み取った計算式に基づいて今回の送信時に使用するローリングコードを算出する。なお、前記ローリングコードは、前記カスタムコード、ＩＤコード、カウンタ値ｎ、機能コード等をもとにして前記計算式に基づいて算出される。
【００１６】
また、前記ＣＰＵ９は、前記算出したローリングコード及びカウンタ値ｎ並びに前記ＲＯＭ６から読み取ったカスタムコード、ＩＤコード、機能コード及び終了コードを所定の通信フォーマットに整えて送信出力器１０から送信コードとして発信する。
【００１７】
上記構成によって、ＣＰＵ９は、カウンタ値ｎ、ローリングコードに前記通信フォーマットを当てはめて、図２に示すようなデータ形態にして送信出力器１０から受信機２に向けて送信する。その後、カウンタ値ｎは１加えられてＥＥＰＲＯＭ７に記憶される。
例えば、本発明に係わるカウンタ値ｎの下位ビットｎ１については、図４に示すように１回目の操作スイッチ５、例えばアンロック用スイッチ５ａのオン操作直前のカウンタ値ｎ１が“０００００１００”の場合には、１回目のオン操作時にはカウンタ値ｎ１が“０００００１０１”になり、２回目は“０００００１１０”、‥‥‥‥‥‥‥、１３回目は“０００１０００１”、１４回目は“０００１００１０”となる。
【００１８】
次に、受信機２について説明する。
すなわち、１１は受信機で、前記送信機１の送信出力器１０から送信される送信コードを受信すると、ＣＰＵ１５は後述のＲＯＭ１２に記憶されている通信フォーマットに基づいてその送信コードの中からＩＤコード、カウンタ値ｎ、ローリングコード、機能コードを抽出する。
【００１９】
１２はＲＯＭで、前記ＲＯＭ６に対応するもので、前記送信フォーマットを受信フォーマットとして記憶し、また１３はＥＥＰＲＯＭで、登録された正規コード、すなわちＩＤコード、カウンタ値ｎ及び機能コードを記憶し、ＣＰＵ１５からの読み取り要求に応答してこれらの各種コードを供給する。また前記ＲＯＭ１２は、ローリングコード計算用の計算式を記憶し、ＣＰＵ１５からの読み取り要求に応答してこれらの各種コードを供給する。
【００２０】
１３はＥＥＰＲＯＭで、カウンタ値ｎ，Ｓ（初期設定時にはｎ１に等しい）を異なる記憶エリア、例えばエリア１にｎを、またエリア２にＳを記憶し、ＣＰＵ１５からの読み取り要求に対してカウンタ値ｎ，Ｓのうちカウンタ値ｎの下位ビットｎ１を供給する。
【００２１】
１５はＣＰＵで、前記受信機１１からＩＤコード、カウンタ値ｎ１、ローリングコード及び機能コードを含む送信コードが供給されてくると、前記ＲＯＭ１２からローリングコード計算式を読み取り、また前記ＥＥＰＲＯＭ１３からカウンタ値ｎ，Ｓの下位ビットｎ１，Ｓ１を読み取って、図３に示すフローチャートに従ってコード照合を行い、その照合結果がＯＫであれば、インターフェイス１６を介してアクチュエータ３を駆動して、前記機能コードに応じてドアロック、又はアンロックを制御し、照合が成り立たずにＮＧであれば制御しない。またＣＰＵ１５は、読み取ったカウンタ値ｎ１を前記ＥＥＰＲＯＭ１３に記憶せしめる。
【００２２】
次に、ＣＰＵ１５の動作を、図３に示すフローチャートに基づいて以下に説明する。
送信機１から送信コードが受信機１１に送信されてくると、ＣＰＵ１５はステップＳＴ１において、受信した送信コードの通信フォーマットからＩＤコードを抽出し、ステップＳＴ２で、そのＩＤコードとＥＥＰＲＯＭ１３に記憶されたＩＤコードとの照合を行う。ステップＳＴ２における照合が成立せず、ＮＧとなり失敗した場合には、不正規の異なる送信コードを受信したと判断してステップＳＴ１０に進み、照合動作を終了する。
【００２３】
また、ステップＳＴ２において、ＩＤコードが一致して照合ＯＫとなった場合には、ステップＳＴ３に進み、前回使用されたカウンタ値ｎ１、例えば図４に示されるカウンタ値ｎ１が“０００００１００”、カウンタ値Ｓ１が“０００００１００”のコードをＥＥＰＲＯＭ１５から読み取り、ステップＳＴ４に進む。
【００２４】
ステップＳＴ４では、受信機１１が受信したローリングコード、ＩＤコード、機能コード及びカウンタ値ｎの下位ビットｎ１からカウンタ値ｎの上位ビットｎ２を算出する。
なお、このカウンタ値ｎの上位８ビットｎ２の算出に当たっては、受信した、例えば２４ビットのＩＤコードを受信した下位ビット分を左にシフトさせる（また、カウンタ値が２４ビット以上の場合には、２４で割った余り分をシフトさせる）ことによって得られたビット列と、受信したカウンタ値ｎの下位ビットｎ１とローリングコードを並べて、ビット列を得て、それらのイクスクルースブオアをとることによって得る。
【００２５】
ステップＳＴ５は、（ステップＳＴ４で算出したカウンタ値ｎ２）から（ステップＳＴ３で読み取ったカウンタ値ｎのうちのカウンタ値ｎ１）を差し引いて、その差を求め、その差が０〜１２８の範囲にあれば、送信機１を所有する人の誤った“空押し”の範囲であると考えられ、次のステップＳＴ６に進むが、この範囲を超えている場合には、他の送信機からの送信コードを受信している可能性があると判断してステップＳＴ１１に進む。
【００２６】
ステップＳＴ６に進んできた場合には、ステップＳＴ４で算出したカウンタ値ｎ２をもとに、ＩＤコード、機能コード、カスタムコードからローリングコードを算出する。
また、次のステップＳＴ７において、今回ステップＳＴ４で読み取られたローリングコードとステップＳＴ６にて算出したローリングコードと照合して一致しない場合にはステップＳＴ１０に進み、照合動作を禁止する。一方、照合が一致して成立した場合にはステップＳＴ８に進む。
【００２７】
ステップＳＴ８においては、次回の照合のためにステップＳＴ４で算出したカウンタ値ｎ２，Ｓ２とステップＳＴ２で読み取ったカウンタ値ｎ１，Ｓ１に結合して、カウンタ値ｎ，Ｓを作成して、ＥＥＰＲＯＭ１３に記憶している前回使用したカウンタ値ｎ，Ｓを書き換える。
その後、ステップＳＴ９に進み、ステップＳＴ１で読み取られた機能コードに対応する動作を行って、例えば機能コードがドアアンロックを示すものであるならばドアロックを示す信号をインターフェイス１６を介してアクチュエータ３に供給し、その後、ステップＳＴ１０に進み、プログラム作動を終了する。
【００２８】
ステップＳＴ５においてカウンタ値ｎが所定値、例えば１２８以上であると判断されて、ステップＳＴ１１に進んできた場合には、前回の送信コード受信時にステップＳＴ８で書き換え記憶されているカウンタ値ＳからステップＳＴ３で読み取ったカウンタ値ｎ１２８，Ｓのうちのカウンタ値Ｓを差し引いて、その差を求め、その差が０〜１２８の範囲にあれば、送信機１を所有する人の誤った“空押し”の範囲であると考えられ、ステップＳＴ６に進み、通常の処理へ進むが、この範囲を超えている場合には、“空押し”を行って、例えば遊んだと判断してステップＳＴ１２，ＳＴ１３に進む。
【００２９】
ステップＳＴ１２，ＳＴ１３では、ステップＳＴ６，ＳＴ７における動作と同一の動作を行う。
また、次のステップＳＴ１３において、今回ステップＳＴ４で読み取られたローリングコードとステップＳＴ１２にて算出したローリングコードと照合して一致しない場合にはステップＳＴ１０に進み、照合動作を禁止する。一方、照合が一致して成立した場合にはステップＳＴ１４に進み、
【００３０】
ステップＳＴ１４では、ステップＳＴ８と同様に、次回の照合のためにステップＳＴ４で算出したカウンタ値ｎ２，Ｓ２とステップＳＴ２で読み取ったカウンタ値ｎ１，Ｓ１に結合して、カウンタ値ｎ，Ｓを作成して、ＥＥＰＲＯＭ１３に記憶する。
【００３１】
次に、上記構成におけるカウンタ値の下位ビット部分の詳細説明を図４を参照して行う。なお、上位ビット部分については、通常のスイッチ操作においては桁数が大きく、変化することはほとんどないので説明は省略する。
（１回目）
まず、送信機１の送信コードのカウンタ値ｎ１が “０００００１００”の場合に、アンロック用スイッチ５ａを１回オン操作すると、カウンタ値ｎ１が“０００００１０１”になり、このカウンタ値ｎ１が受信機２に送信され、ＥＥＰＲＯＭ１３に記憶されていたカウンタ値ｎ１（“０００００１００”：Ｓ１も同一）との比較で差が１２７以内のため、ステップＳＴ８でカウンタ値ｎ１、Ｓ１が“０００００１０１”と更新される。
【００３２】
（２回目）
次に、もう１回、操作スイッチ５を１回オン操作すると、カウンタ値ｎ１が“０００００１１０”になり、このカウンタ値ｎ１が受信機２に送信され、ＥＥＰＲＯＭ１３に前回記憶したカウンタ値ｎ１（“０００００１０１”：Ｓ１も同一）と一致するので、ステップＳＴ８でカウンタ値ｎ１、Ｓ１が“０００００１１０”と更新される。
【００３３】
（途中）
ここで、操作スイッチ５を１３０回空押しすると、送信機１のカウンタ値ｎ１は、“１００００１１１”に更新される。
【００３４】
（３回目）
アンロック用スイッチ５ａを１回オン操作すると、カウンタ値ｎ１が“１０００１０００”になり、このカウンタ値ｎ１が受信機２に送信され、ＥＥＰＲＯＭ１３に２回目の時に記憶したカウンタ値ｎ１（“０００００１１０”：Ｓ１も同一）と異なり、その差が０〜１２７の範囲を超えるので、ステップＳＴ１４でカウンタ値ｎ１のみが“１０００１０００”と、今回のカウンタ値に更新される。
【００３５】
（４回目）
もう１度アンロック用スイッチ５ａを１回オン操作すると、カウンタ値ｎ１が“１０００１００１”になり、このカウンタ値ｎ１が受信機２に送信され、ＥＥＰＲＯＭ１３に２回目の時に記憶していたカウンタ値ｎ１（“１０００１０００”）との比較で差が１２７以内のため、ステップＳＴ１１から、通常動作時のステップであるステップＳＴ６に進み、カウンタ値ｎ１，Ｓ１が“１０００１００１”と更新される。
【００３６】
次に、カウンタ値ｎの算出方法とローリングコードの算出方法について図５を参照しながら再述する。
携帯用送信機１から受信機２に図５（Ａ）に示す送信コード、すなわちカスタムコード、機能コード、ＩＤコード、ローリングコード、カウンタ値ｎの下位ビットｎ１（Ｋ８，Ｋ９，・・・Ｋ２，Ｋ１）が送信されると、その中からＩＤコードが抽出され、このＩＤコード（Ａ２４，Ａ２３，・・・Ａ２，Ａ１）を、今回受信したカウンタ値ｎの下位ビットｎ１分を左にシフトさせる。例えば図５（Ｂ）に示すようにカウンタ値ｎの下位が２７（十進数で表わした場合）で、送信コードが２４ビットの場合、余りが３になるので３回ＩＤコードを左にシフトさせ新ＩＤコードを得る（図５（Ｂ））。
【００３７】
次に新ＩＤコード（ａ２４，ａ２３，・・・ａ２，ａ１）と今回受信したローリングコード（Ｒ２４，Ｒ２３，・・・Ｒ２，Ｒ１）との間でエクスクルーシングオア（ＥＸＯＲ）の論理を演算し、カウンタ値ｎの上位ビットｎ２（Ｋ１６，Ｋ１５，・・・Ｋ９）を抽出する（図５（Ｃ））。
【００３８】
次に新ＩＤコード（ａ２４，ａ２３，・・・ａ２，ａ１）と、カスタムコード、機能コード及びカウンタ値ｎ（上位ビットｎ２と下位ビットｎ１とを結合したもの）との間のエクスクルーシングオア（ＥＸＯＲ）の論理を演算し、ローリングコード（Ｒ２４，Ｒ２３，・・・Ｒ２，Ｒ１）を算出する（図５（Ｄ））。
その後、この算出したローリングコード（Ｒ２４，Ｒ２３，・・・Ｒ２，Ｒ１）と受信したローリングコード（Ｒ２４，Ｒ２３，・・・Ｒ２，Ｒ１）とを比較して照合する（図５（Ｅ））。
【００３９】
なお、上記実施の形態では、操作スイッチ５としてアンロック用スイッチ５ａを挿圧操作した場合について説明したが、ロック用スイッチ５ｂを挿圧操作した場合も同様に考えればよい。また操作スイッチ５としてトランクオープン用スイッチを追加してもよく、この場合も前記アンロック用スイッチ５ａの場合と同様に考えればよい。さらに複数のスイッチを同時に挿圧操作して、新たな機能を発生させる場合、この同時挿圧を１つのスイッチ操作と考え、これに対応する機能コードを発生させるようにすればよい。
【００４０】
【発明の効果】
以上の説明から明らかなように、この発明によれば、送信機からのスイッチ操作に係わるカウンタ値が、受信機での前記送信コードの受信回路より所定の範囲を超えて多いと判断したとき、その受信回数を送信回数に一致せしめ、ＩＤコード、スイッチ操作に係わるカウンタ値に基づいてローリングコードを算出して送信機から受信したローリングコードと照合し、一致した場合、機能コードに対応する動作を行うような構成とすることで、当初の目的とした防盗性の向上を実現できるという効果がある。
【図面の簡単な説明】
【図１】この発明による実施の形態の回路ブロック図である。
【図２】図１で使用される送信コードの構成を説明する送信コード構成図である。
【図３】図１における受信機２のＣＰＵ１５の制御手順を示すフローチャートである。
【図４】図１の作動を説明するための説明図である。
【図５】カウンタ値ｎの上位ビットｎ２とローリングコードを算出する方法の説明図である。
【図６】従来の送信コードの構成を説明する送信コード構成図である。
【符号の説明】
１  携帯用送信機（無線装置）
２  受信機（無線装置）
３  アクチュエータ
４  電池
５  送信用操作スイッチ
６，１２  ＲＯＭ
７，１３  ＥＥＰＲＯＭ
８，１４  ＲＡＭ
９，１５  ＣＰＵ
１０  送信出力器
１１  受信機
１６  インターフェイス
【図１】
0004056685.tif 000002
【図２】
0004056685.tif 000003
【図３】
0004056685.tif 000004
【図４】
0004056685.tif 000005
【図５】
0004056685.tif 000006
【図６】
0004056685.tif 000007