(57)【要約】      （修正有）【課題】車庫扉開閉装置等を遠隔操作で起動するために起動信号を学習し、送信する訓練可能なトランシーバを提供する。【解決手段】訓練可能なトランシーバ４３は、無線周波数回路５８及び学習モード又は動作モードで動作するマイクロコントローラ５７を具備している。学習モードでは、コントローラは、可変符号の存在を認識し、可変符号を生成するために、リモート送信機６５によって使用される暗号アルゴリズムに関係する、予め保存されていた暗号アルゴリズムを識別し、さらに起動信号の暗号アルゴリズムと、最後に送信された符号を識別するデータを保存する。動作モードでは、識別した暗号アルゴリズムと、最後に送信された符号を表すデータを使用して、可変符号の次の符号を表す出力データを生成する。無線周波数回路は、この出力データを受け取り、遠隔操作で起動される装置の受信機によって認識される可変符号を含む、変調信号を送信する。【選択図】図５
2008228325.tif 000002
【特許請求の範囲】
【請求項１】
可変符号を含む起動信号を受信し、さらに、遠隔操作で装置を起動するために、同じ特性を有する信号を、その後に送信するために、その起動信号の特性を学習する訓練可能なトランシーバにおいて、リモート送信機から起動信号を受信する受信機と、前記受信機と接続され、また、学習及び動作モードで動作し、前記学習モードで起動信号を受信し、可変符号の存在を認識し、その可変符号を生成するために、リモート送信機によって使用される暗号アルゴリズムに関係する予め保存された暗号アルゴリズムを識別し、さらにその起動信号の暗号アルゴリズムと最後に送信された符号を識別するデータを保存し、また、前記動作モードでは、識別された暗号アルゴリズムと、最後に送信された符号を表しているデータを使って、可変符号の次の連続符号を表している出力データを生成するコントローラと、前記コントローラと接続され、前記出力データを前記コントローラから受け取り、受け取った起動信号に対応し、それの起動のためにリモート装置の受信機によって認識される可変符号を含む、変調された信号を送信する信号発生器とを備えたことを特徴とする訓練可能なトランシーバ。
【請求項２】
前記コントローラが、受信した起動信号の特性に基づいて、リモート送信機によって使用される暗号アルゴリズムに関係する、予め保存された暗号アルゴリズムを識別することを特徴とする請求項１記載の訓練可能なトランシーバ。
【請求項３】
前記可変符号が、ローリング符号であることを特徴とする請求項１記載の訓練可能なトランシーバ。
【請求項４】
前記コントローラが、リモート送信機から送信された再同期信号を受け取り、さらに受け取った再同期信号の特性を表す再同期信号を保存し、また、前記動作モードでは、前記コントローラが、その受け取った再同期信号に対応する変調された再同期信号の生成と送信のための前記信号発生器データへの再同期データを、それの再同期のために、遠隔操作で起動される装置に関連する第二の受信機に出力することを特徴とする請求項１記載の訓練可能なトランシーバ。
【請求項５】
さらに、前記コントローラに接続された第一のオペレータ起動用スイッチと、前記コントローラが、前記信号発生器に、前記第一のオペレータ起動用スイッチの起動に応じて、それの起動のためにリモート装置の受信機に、変調された信号を送信させ、また、前記信号発生器に、第二のオペレータ起動用スイッチの起動に応じて、その変調された再同期信号を受信機に送信させることを特徴とする前記第二のオペレータ起動用スイッチとを具備することを特徴とする請求項４記載の訓練可能なトランシーバ。
【請求項６】
さらに、その訓練可能なトランシーバを、遠隔操作で起動される装置に関連する第二の受信機と再同期させるために使用される再同期手順を実行するように、ユーザに指示を出すための指示手段を具備していることを特徴とする請求項１記載の訓練可能なトランシーバ。
【請求項７】
さらに、前記コントローラと接続され、可変符号の生成のために、識別された、予め保存されていた暗号アルゴリズムの実行のときに、前記コントローラによる使用のために、遠隔操作で起動される装置に関連する第二の受信機によって使用される暗号キーに対応する暗号キーを受け取る入力手段を具備していることを特徴とする請求項１記載の訓練可能なトランシーバ。
【請求項８】
リモート送信機から送信される起動信号が、無線周波数の信号であり、また、前記コントローラが、受け取った起動信号の無線周波数を識別して、保存することを特徴とする請求項１記載の訓練可能なトランシーバ。
【請求項９】
可変符号を含む起動信号を受信し、さらに、遠隔操作で装置を起動するために、同じ特性を有する信号を、その後に送信するために、その起動信号の特性を学習する訓練可能なトランシーバにおいて、アンテナと、リモート装置を起動するために、リモート制御送信機から送信され、かつ可変データ符号を含む特性を有する起動信号を受信し、前記アンテナに接続された受信機と、その受け取った起動信号の可変データ符号を生成するために、リモート制御送信機によって使用される暗号アルゴリズムを識別し；学習モードにおいて、次に送信されるデータ符号を識別するために、暗号アルゴリズムと連続番号を識別するデータを保存し；また、送信モードでは、識別された暗号アルゴリズムと、最後に保存された連続番号を使用して、データ符号を生成し；また、前記受信機と接続されたコントローラと、前記コントローラに接続され；保存されたデータを受け取り；その受け取った起動信号と同じ特性を有し、かつ前記コントローラによって生成されるデータ符号を含んでいる変調された信号を生成し；また、それの起動のためにリモート装置に、変調された信号を送信するための前記アンテナに接続された送信機とを具備していることを特徴としている訓練可能なトランシーバ。
【請求項１０】
携帯型送信機から送信された起動信号が、無線周波数の信号であり、また、前記コントローラが、受け取った起動信号の無線周波数を識別して、さらにそれを保存することを特徴とする請求項９記載の訓練可能なトランシーバ。
【請求項１１】
前記可変符号が、ローリング符号であることを特徴とする請求項９記載の訓練可能なトランシーバ。
【請求項１２】
受信機を有する装置を起動するために使用されるリモート制御送信機から受信した識別可能な特性を有する可変符号信号を受信し、学習し、さらに、その後に送信するために、訓練可能な無線周波数トランシーバを訓練する方法において、リモート制御送信機から出力され、搬送周波数と可変データ符号を含む特性を有する信号を受信するステップと、その受信した信号の可変符号を生成するために使用される暗号アルゴリズムを識別するステップと、その受信したデータ符号に関連する連続番号を識別するために、識別された暗号アルゴリズムを使用して、受信したデータ符号を解読するステップと、識別された連続番号と、識別された暗号アルゴリズムを表しているデータを保存するステップと、その受信した信号の搬送周波数を有する無線周波数搬送信号を生成するステップと、識別された暗号アルゴリズムと保存された連続番号を使用して、送信するためのデータ符号を生成するステップと、その受信した信号に関係する出力信号を作成するために、生成されたデータ符号で、その搬送信号を変調するステップと、その装置を遠隔操作で起動するために、その装置の受信機に、前記出力信号を送信するステップとを具備することを特徴とする訓練可能な無線周波数トランシーバを訓練する方法。
【請求項１３】
さらに、受信した起動信号の無線周波搬送周波数を識別するステップと；受信した起動信号に含まれている符号を得るために、識別された搬送周波数に関係する周波数を有する基準信号を使用して、その受信した起動信号を復調するステップとを具備することを特徴とする請求項１２記載の方法。
【請求項１４】
さらに、識別された暗号アルゴリズムを使用して、可変符号を生成するときに使用するための、遠隔操作で起動される装置に関連する第二の受信機によって使用される暗号キーに対応する暗号キーを受け取るステップを具備することを特徴とする請求項１２記載の方法。
【請求項１５】
少なくとも１台の車庫扉開閉機構の制御に使用され、少なくとも１台の既存の車庫扉開閉用送信機の周波数と符号に対して訓練可能な無線周波数送信機において、既存の無線周波数リモート制御送信機から、符号化された無線周波数信号を受信する手段と、無線周波数出力回路と、訓練モードと動作モードで動作するようにプログラムされ；前記受信手段と前記無線周波数出力回路とに接続され；また、訓練モードにおいては、符号を可変符号として識別し；その可変符号を生成するために使用された暗号アルゴリズムを識別し；また、受信した符号化無線周波数信号の無線周波数を識別する信号と識別された暗号アルゴリズムとを保存するマイクロプロセッサと、前記訓練モードと動作モードとの間、前記マイクロプロセッサの動作状態を制御するために、前記マイクロプロセッサに接続されたオペレータ起動用スイッチにおいて、前記スイッチが、オペレータによって起動され、前記動作モードになったとき、前記マイクロプロセッサが、前記無線周波数出力回路に接続されて、可変符号を生成するためと、受信した符号化無線周波数信号に相当する無線周波数を有し、識別された暗号アルゴリズムを使用して、前記マイクロプロセッサによって生成された可変符号を含む信号を送信するために、前記スイッチの起動と前記保存された信号に応答することを特徴とするオペレータ起動用スイッチとを具備する無線周波数送信機。
【請求項１６】
前記マイクロプロセッサが、複数の受信した符号化無線周波数信号の無線周波数と符号を学習し、さらにそれらを保存するようにプログラムされ、また、さらに、学習した信号毎に、１つのスイッチを有する、複数のオペレータ起動用スイッチを具備していることを特徴とする請求項１５記載の送信機。
【請求項１７】
後で受信した符号が、前に受信した符号と異なるときに、前記マイクロプロセッサが、受信した符号を可変符号として識別することを特徴とする請求項１５記載の送信機。
【請求項１８】
さらに、前記マイクロプロセッサに接続され；可変符号を生成するために、識別された暗号アルゴリズムを実行するときに、前記マイクロプロセッサによって使用されるために、車庫扉開閉機構の受信機によって使用される暗号キーに対応する暗号キーを受信する入力手段を具備していることを特徴とする請求項１５記載の送信機。
【請求項１９】
前記マイクロプロセッサが、受信した符号化無線周波数信号の特性に基づいて、リモート送信機によって使用される暗号アルゴリズムに対応する暗号アルゴリズムを識別することを特徴とする請求項１５記載の送信機。
【請求項２０】
前記可変符号が、ローリング符号であることを特徴とする請求項１５記載の送信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、訓練可能なトランシーバに関し、特に、可変符号を採用している装置用起動信号に対する訓練用の訓練可能な無線周波数トランシーバに関する。
【背景技術】
【０００２】
電気的駆動の車庫扉開閉機構が、徐々に家庭用装置として普及してきている。そのような車庫扉開閉機構は、変調され、符号化された無線周波数信号を、家主の車庫内に配設された独立した受信機に送信するために、電池駆動の携帯用無線周波数送信機を採用している。各車庫扉開閉用受信機は、それと対になっているリモート送信機の周波数に調整され、車庫扉を操作するために、リモート送信機と受信機の両方にプログラムされた所定の符号を、復調する。従来のリモート送信機は、通常、自動車のバイザにクリップ止めされているか、又は固定されずに車内に置かれている携帯用ケーシングから成っていた。自動車内で数年間使用すると、これらのリモート送信機は、失われ、壊され、老朽化し、さらに汚れた上に、バイザへの取付が、どことなく見苦しくなる。また、これらは、車内にきちんと確保されていないと、安全上の問題を引き起こすことにもなる。
【０００３】
これらの問題の内の幾つかを解決するために、米国特許第４，２４７，８５０は、自動車のバイザに組み込まれたリモート送信機を公表し、また、米国特許第４，４４７，８０８は、自動車のバックミラーアセンブリに組み込まれたリモート送信機を公表した。自動車のアクセサリに、リモート送信機を埋め込んでしまうためには、その送信機と同じ周波数に調節され、その変調方式や符号に対応する、それと対になる車庫扉開閉用受信機を購入し、家主の家に設置されることが必要である。既に車庫扉開閉用受信機を所持している自動車の所有者は、その自動車に埋め込まれたリモート送信機と対になる新しい車庫扉開閉用受信機を、購入せざるを得ない。さらに、自動車の所有者が新車を買うと、その所有者は、車庫扉開閉用受信機を、新しい自動車に内蔵されたリモート送信機と対になった、他の車庫扉開閉用受信機に交換せざるを得ない。
【０００４】
米国特許第４，２４１，８７０号は、自動車の電池が、リモート送信機に動作電力を供給するように、特別に改造された車庫扉開閉用リモート送信機が着脱できるように取り付けられる、自動車のオーバーヘッド・コンソールに組み込まれたケーシングを公表した。つまり、自動車の所有者が新車を買う場合、そのリモート送信機は、今までの車から取り外されて、新車に取り付けられる。しかし、オーバーヘッド・コンソールにあるケーシングは、従来の車庫扉開閉用リモート送信機を取り付けられるように、機械的に改造されていないので、自動車の所有者は、特別に改造されたリモート送信機と対になる受信機を、購入しなければならない。
【０００５】
米国特許第４，５９５，２２８号は、従来の車庫扉開閉用リモート送信機が着脱できるように取り付けられる、落とし込み扉付きの区画を有する自動車用オーバーヘッド・コンソールを公表した。その扉は、保管された従来型のリモート送信機のスイッチを入れるために、取り外せるパネルを備えている。しかし、この方法の問題点は、車庫扉開閉用リモート送信機の外形と寸法は、かなり多様であるので、多くのブランドのリモート送信機に、機械的に対応しているケーシングを提供することは、困難である。
【０００６】
上記の問題全てを解決するために、訓練可能なトランシーバが、自動車の中に永続的に取り付けられ、自動車の電池から電力を供給され、汎用車庫扉開閉装置に内蔵されるために開発された。この訓練可能なトランシーバは、自動車の所有者の車庫に取り付けられている、従来型の受信機と対になった従来型の携帯用リモート無線周波数送信機の周波数、変調方式、及びデータ符号を学習することができる。つまり、自動車の所有者が、そのような訓練可能なトランシーバを有する新車を購入すると、その自動車所有者は、自動車や家に何も新しく設置しないで、その送信機を、その所有者の今までのクリップ型リモート送信機の代わりになるように訓練できる。その後、その古いクリップ型送信機を、廃棄するか、保管すればよい。
【０００７】
別の家を購入するか、今までの車庫扉開閉装置を交換した場合、車庫扉開閉装置に組み込まれている新しい車庫扉開閉装置用受信機、又は後で設置された受信機の周波数や符号に適合するように、訓練可能なトランシーバを再訓練できる。車庫扉開閉機構、又は、家の照明器具や門等の遠隔制御装置を起動するために使用されるタイプの、任意のリモート無線周波数送信機に代われるように、訓練可能なトランシーバを訓練できる。これは、その種のリモート送信機によって送信される信号の符号や符号形式（つまり、変調方式）だけでなく、特定の無線周波搬送周波数も学習することによって、実現される。訓練後、その訓練可能なトランシーバは、今までのリモート送信機を必要としないで、車庫扉開閉機構を起動する。訓練可能なトランシーバは、自動車アクセサリの中の必須の部品であるので、従来のクリップ型のリモート送信機で説明した保管やアクセスの難しさは、取り除かれる。２件のその種の訓練可能なトランシーバが公表された。１件は、１９９５年８月１５日に発行された査定済み米国特許第５，４４２，３４０号「減衰制御を含む訓練可能な無線周波数トランシーバ」であり、もう１件は、１９９５年１２月１２日発行の米国特許第５，４７５，３６６号「自動車オプション用電気制御システム」である。
【０００８】
後で、リモート・キーレス・エントリ・システムを備えた犠牲者（所有者）の自動車を盗み、無線周波数起動型車庫扉開閉装置を備えた犠牲者の家に押し入るために使用する目的で、疑いを抱いていない犠牲者によって送信された符号を学習するために、携帯型の単一周波数の訓練可能な送信機を使用する「符号泥棒（ｃｏｄｅ ｇｒａｂｂｅｒ）」の出現のために、車庫扉開閉機構の製造元は、符号泥棒が特定の送信符号の保存後に、他人の車庫への進入に成功する可能性を減らすために、送信機とその対の受信機の中で、可変符号を生成する暗号アルゴリズムの導入を考慮中である。例えば、可変符号が使用され、符号泥棒が、その所有者の送信機から送信された単一符号を学習した場合、その所有者が、その装置を引き続き使用するものとして、その受信機は、その暗号アルゴリズムに応じて、別の符号だけに反応するので、その装置の受信機は、その符号泥棒が送信した符号に反応しない。
【０００９】
そのようなアルゴリズムを実行する種々の暗号アルゴリズムや方法が、自動車用リモート・キーレス・エントリ・システムの分野で知られている。英国内務省警察科学開発局（英国セントアルバンス自治区サンドリッジ）が、１９９４年１０月に発行のジョン・ゴードン著「自動車向けリモート安全システム用符号の設計」で発表されている。可変符号を使用するシステムは、別の機会には別の符号を送信する。本明細書では、２種類の時間変動符号：ローリング符号とリアルタイム符号について説明する。ローリング符号は、符号がその送信機に保存された暗号化アルゴリズムに応じて、その送信機から送信される度に、連続して変化する符号である。そのようなシステムでは、受信機は、その送信機と同じ暗号アルゴリズムを保存し、その受信機は、符号が、その暗号化アルゴリズムに応じて、次に送信されると予想している符号に対応する場合は、適合しているとして、その送信機が送信する連続的で異なる各符号を認識する。次に送信され、受信される符号の情報を得るために、どの符号が最後に送受信されたかを識別する連続番号が保存され、その結果、次の符号は、次の連続番号と関連付けられる。
【００１０】
リアルタイム符号は、暗号化アルゴリズムに応じて、送信機と受信機のそれぞれにおいて、リアルタイム・クロックで計測される所定の周期的間隔を変える符号である。そのクロックを確実にするために、送信機と受信機のクロックの同期が取られる。クロックが確実に同期するように、受信機のクロックは、正規の符号が送信機から送信される度に、再度、同期が取られることもある。
【００１１】
新しい符号は、送信機が送信を起動する度に、送信機により生成されるので、ローリング符号の同期は、それ自体で問題を発生する。つまり、送信機が受信機の範囲外で起動された場合、その受信機は、その発信器が次に送信するものとは、別の符号を予想するはずである。さらに、最後に送信された符号は、揮発性メモリに保存され、電源は送信機か、又は受信機のどちらかで中断される場合には、送信機と受信機の同期は外れてしまう。この問題を解決する方法は種々あるが、その内の幾つかが、上記のジョン・ゴードン著の論文に説明されている。１つの方法は、最後に送信された符号をロールさせるための暗号化アルゴリズムに従って、送信機が送信する後続符号の所定のウインドウの範囲内に入る符号を、受信機が受け取る。最後に送信された符号は、符号泥棒が発信する学習された符号であるので、そのような符号と同じ符号は、いかなる場合でも受信されない。そのウィンドウの選択された寸法は、安全と使いやすさとのトレードオフを反映する。ウィンドウが大きくなればなるほど、受信機はランダムに生成された符号を受け入れ易くなり、安全性の劣るシステムとなる。ウィンドウが小さくなるほど、システムの同期が外れて、正規ユーザを欲求不満にしてしまう。
【００１２】
同期問題を取り扱う別の方法は、２入力再同期法であり、その方法では、最初に受信した符号が、受信機が予想したものと違う場合には、その受信機が、任意の連続した２つの正規の符号を受け取るように、プログラムされている。つまり、予想外の符号のために、最初の送信で車庫の扉が開かない場合、ユーザは、送信機を再度起動して、送信機が次の符号を送信し、またその送信機が、暗号化アルゴリズムに従って、２つの連続して送信された符号が、正規の組み合わせであるか否かを判断する。
【００１３】
送信機と受信機を同期させるさらに別の方法は、特別の押しボタン又は組み合わせた押しボタンを起動することにより、送信機から再同期信号又は再スタート信号を送信する手段を、提供することである。さらに別の方法は、起動されると、受信機が、送信機から次に送信される符号を受信し、再同期するための、受信機に押しボタンを用意することである。
【００１４】
送信機と受信機の同期外れの別の事例は、１台以上の送信機が、車庫の扉を起動するために使用された場合である。この場合、識別コードが、各起動信号と共に送信され、受信機は、その送信された識別コードを認識するために調整され、その識別コードに対応する別の場所にある記録にアクセスして、送信された識別コードにより、どの符号が、送信機から次に送信されるかを判断する。
【００１５】
時間変化又は他の可変符号の使用は、符号泥棒希望者の邪魔をするので、車庫の扉を起動する符号が送信されるまで、泥棒達は、符号を走査して、車庫の扉を開こうとする。この可能性をなくすために、車庫の扉を起動しようとして、所定回数の試行が失敗した後に、受信機は、符号の受け取りを拒否するようにプログラムされている。３２ビット以上の符号語を使って、非常に広範囲の符号を使用することにより、走査も阻止することができる。
【００１６】
上記の論文で、ゴードン教授は、システム設計者は、自分達の暗号化アルゴリズムが、秘密のままで維持されると思ってはならないと述べている。従って、ゴードン教授は、それぞれの特定のシステム用の送信機と受信機の対毎に違う、暗号キーを使用する暗号化アルゴリズムを、推奨している。つまり、例え、泥棒志望者が、その暗号化アルゴリズムを知ったとしても、その泥棒も、その受信機に保存されたアルゴリズムに使用される独自の暗号キーを、知らなければならない。そのような暗号キーは、通常、送信機又は受信機に保存されるが、送信機によって送信されることが無いのは、潜在的泥棒に盗まれないためである。さらに、３２ビット以上の暗号キーを使うことによって、泥棒が、そのキーを推測できる可能性を事実上無くすことができる。
【００１７】
符号泥棒の出現により、車庫扉開閉システム製造元は、できるだけ安全なシステムを作りたいと願っているはずである。そのシステムが安全になる程、そのシステムの正規のユーザにとっては、車庫の扉を起動するために送信されなければならない符号に対して、自動車用の訓練可能なトランシーバを訓練することが、難しくなってくる。つまり、車庫扉開閉システム製造元による可変符号の使用は、学習した無線周波数信号と、さらに変化する符号を、送信できなければならない訓練可能なトランシーバを設計することに関して、難しい問題を引き起こす。この問題は、自動車内設置の訓練可能なトランシーバ製造元にとって、困難な問題を引き起こすだけでなく、自らのシステムが、自動車内設置の訓練可能なトランシーバと互換性があり、符号泥棒から安全であることを願っている、車庫扉開閉システム製造元にとっても、トレードオフ問題を引き起こす。
【発明の開示】
【００１８】
本発明は、上記の問題を解決し、受信信号を、可変符号を含んでいるものとして識別できる、訓練可能なトランシーバを提供する。本発明の様態の１つは、送信機から受信した信号の特性に基づいて、送信機と受信機によって使用される暗号化アルゴリズムを識別する、訓練可能なトランシーバを提供することである。本発明の別の様態は、学習の後に、暗号化アルゴリズムを使用して、起動信号を受信機に送信できる、訓練可能なトランシーバを提供することである。本発明のさらに別の様態は、暗号キーを受信し、車庫扉開閉システムの送信機と受信機が使用する暗号キーに対応する暗号キーを、暗号化アルゴリズムで使用できる訓練可能なトランシーバを、提供することである。本発明の別の様態は、送信機が送信する再同期信号を学習し、受信機に再同期信号を再送信して、その受信機を有する訓練可能なトランシーバを、同期又は再同期することができる訓練可能なトランシーバを、提供することである。
【００１９】
これら及び他の利点を実現し、ここで具体的に説明したような本発明の目的に従って、本発明の訓練可能なトランシーバは：リモート送信機からの起動信号を受信するための受信機；及びその受信機と連結され、学習モードと動作モードで動作する制御装置（コントローラ）を備えている。学習モードにおいて、その制御装置は、起動信号を受信し、送信された無線周波数信号を学習し、さらに可変符号の存在を認識する。その時に、制御装置は、リモート送信機が使用している暗号化アルゴリズムの受信符号に基づいて、事前に保存された暗号化アルゴリズムを識別する。その事前に保存されたアルゴリズムは、可変符号を生成するために使用される、送信機のアルゴリズムに対応している。その制御装置は、この暗号化アルゴリズムを識別するデータと、起動信号の最後に送信された符号を保存する。動作モードでは、その制御装置は、識別された暗号化アルゴリズムと、最後に送信された符号を表すデータを使用して、可変符号の次の順番の符号を表しているデータで変調された無線周波数信号を、生成する。さらに、訓練可能なトランシーバは、制御装置からの出力データを受け取り、受信した起動信号の周波数に対応し、また、それの起動のためのリモート装置である受信機によって認識される可変符号を含んでいる、変調された無線周波数信号を送信するために、制御装置と連結された信号発生器も備えている。
【発明を実施するための最良の形態】
【００２０】
本発明のこれら及びその他の特徴、目的、及び利点は、添付の図面を参照しながら、下記の使用や請求項を読むことによって、本発明を実施する人や、当業者により認識されるはずである。
【００２１】
図２は、本発明の訓練可能なトランシーバ４３を示す。訓練可能なトランシーバ４３は、３つの押しボタンスイッチ４４、４６、及び４７、発光ダイオード４８、及び、ケーシング４５に取り付けられる電気回路基板及び関連回路を備えている。以下に詳しく説明しているように、スイッチ４４、４６、及び４７は、制御される、離れた位置にある車庫の扉又は他の装置に、それぞれ関連している。訓練可能なトランシーバのケーシング４５は、図１に示すように、オーバーヘッド・コンソール５０等の、自動車用アクセサリの中に取り付けられるのに適合した寸法であることが望ましい。図１の示す構成において、訓練可能なトランシーバ４３は、自動車の電池から電力を受け取るために、自動車の電気システムに連結された電気導体を有している。オーバーヘッド・コンソール５０は、スイッチ５４で制御される、地図照明灯５２等の他のアクセサリを備えている。また、オーバーヘッド・コンソール５０は、電子コンパスや表示部（図示せず）も備えている。
【００２２】
訓練可能なトランシーバ４３は、バイザ５１（図３）又はバックミラーアセンブリ（図４）等の自動車アクセサリに、永続的に組み込まれる。訓練可能なトランシーバ４３は、バイザやミラーアセンブリに組み込まれて、オーバーヘッド・コンソール区画に取り外し可能な状態で、取付られているように表示されているが、訓練可能なトランシーバ４３は、自動車のインストルメント・パネル又は車内の他の適当な場所に、永続的又は取り外し可能な状態で、配置することも可能である。
【００２３】
システムのハードウェア
図５は、ブロックと回路形式で、訓練可能なトランシーバ４３の電気回路を示している。訓練可能なトランシーバ４３は、それぞれの一端がアースされている、押しボタンスイッチ４４、４６、及び４７の、それぞれの残りの端子に接続された、従来型のスイッチ・インタフェース回路４９を備えている。インタフェース回路４９は、押しボタンスイッチ４４、４６、及び４７からの信号情報を、マイクロコントローラ５７の入力端子６２に入力する。電源５６は、従来通りにコネクタ６１経由で、自動車の電池６０に接続され、従来通りに、必要な動作電力を供給するために、訓練可能なトランシーバ回路５５の種々の部品に連結されている。マイクロコントローラ５７に加えて、訓練可能なトランシーバの回路５５は、マイクロコントローラ５７とアンテナ５９に接続された無線周波数回路５８を備えている。
【００２４】
上記のように、押しボタンスイッチ４４、４６、及び４７は、それぞれ別々の車庫の扉、電動の門、家の照明制御装置等の、別々の制御対象装置に対応している。それぞれのスイッチは、訓練可能なトランシーバ４３に対して、個別の無線周波数チャネルに対応している、独自の動作をする。押しボタンスイッチ４４、４６、及び４７の内の１個と関連する無線周波数チャネルが、車庫扉開閉システム６６（例えば）に関連する、携帯型リモート送信機６５から送信された無線周波数信号Ｂに対して訓練されると、対応する押しボタンスイッチ（４４、４６、又は４７）が押されると、車庫扉開閉システム６６等の装置を起動する、起動信号Ｂと同じ特性の、無線周波数信号Ｔを送信する。つまり、リモート送信機６５が生成した受信無線周波数起動信号Ｂの搬送周波数、変調方法、及びデータ符号を識別し、保存することにより、訓練可能なトランシーバ４３は、車庫扉開閉システム６６等の装置を起動するために必要な無線周波数信号Ｂの、識別された特性を有する無線周波数信号Ｔを、その後に送信する。各無線周波数チャネルは、車庫扉開閉システム６６だけでなく複数の装置が、押しボタンスイッチ４４、４６、及び４７の内の対応するボタンを、押すことにより起動されるように、別々の無線周波数信号Ｂになるように訓練される。そのような他の装置としては、追加の車庫扉開閉システム、建物の内外の照明器具、建物の安全システム、又は、無線周波数信号を受信できる、他の家庭用器具が含まれる。
【００２５】
マイクロコントローラ５７は、押しボタンスイッチ４４、４６、及び４７の閉じた状態を示す、スイッチ・インタフェース回路４９からの信号を受け取るための、データ入力端子６２を備えている。ダウンロードされた情報を受け取るための、シリアル・コネクタ端子等の他の供給源、音声起動回路、又は自動車用データ・エントリ・システムからの入力データを受け取るために、別の入力端子６２ａが備えられている。入力端子６２ａは、ユーザから直接に、又は他の供給源から、データ入力を受け取るために設けられる。そのようなデータとしては、プログラム命令、暗号キー、リモート送信機６５の製造元と型式の識別、又は暗号化アルゴリズムそれ自体が含まれる。
【００２６】
マイクロコントローラ５７は、押しボタンスイッチ４４、４６、及び４７の内のどれかが閉じられると点灯する、発光ダイオード（ＬＥＤ）４８に接続された出力端子を有する。回路が、押しボタンスイッチ４４、４６、及び４７に関連する無線周波数チャネルの１つに対する訓練モードに入ったときには、ゆっくりと点滅し、チャネルが、成功裏に訓練されると、速く点滅し、また、リモート送信機を再起動するように、ユーザに指示するためには、特徴的なゆっくりとした二重点滅をするように、マイクロコントローラ５７は、発光ダイオード４８に信号を出すようにプログラムされている。あるいは、発光ダイオード４８は、チャネルの訓練が成功したことを示すため、又は、リモート送信機を再起動するように、ユーザに指示するために色を変える、多色発光ダイオードであってもよい。訓練可能なトランシーバ４３が一度でも訓練されると、送信機が信号Ｔを送信していることをユーザに示すために、押しボタンスイッチ４４、４６、又は４７が押されている間は、発光ダイオード４８が発光し続ける。
【００２７】
また、マイクロコントローラ５７は、表示装置６４に接続するための端子６２ｂを備え、訓練可能なトランシーバの訓練と動作の間に、ユーザに操作を指示するためのインタフェースを提供する。例えば、マイクロコントローラ５７は、ユーザに対して、訓練可能なトランシーバを、車庫扉開閉システム６６の受信機と同期させることが必要な場合、再同期又は送信の操作をするように、メッセージを表示する。さらに、マイクロコントローラ５７は、可変符号の存在を示すために、送信コードが変化したか否かを判断するために、リモート送信機６５にある送信スイッチを再起動するように、ユーザに指示するメッセージも表示することもできる。さらに、マイクロコントローラ５７は、受け取った信号に対する訓練に成功したことを示すためのメッセージを表示し、訓練シーケンスを通して、ユーザを導くために有用な、その他のメッセージも表示する。
【００２８】
図６は、マイクロコントローラ５７、無線周波数回路５８、及びアンテナ５９を備えた送信機回路５５の詳細図である。マイクロコントローラ５７は、不揮発性メモリ（ＮＶＭ）とランダム・アクセス・メモリ（ＲＡＭ）を備え、また、モトローラ社製のＭＣ６８０５Ｐ４等の適切な市販ＩＣを具備してもよい。
【００２９】
アンテナ５９は、一端はアースされ、他端はバラクタ・ダイオード７１のアノードに接続されている、小型ループ・アンテナを備えているダイナミック・チューナブル・アンテナが望ましい。バラクタ・ダイオード７１は、そのカソードに印加された制御電圧に応じて、ループ・アンテナ７０のインピーダンス特性を変更する。この制御電圧は、マイクロコントローラ５７によって決定され、そのコントローラは、バラクタ・ダイオード７１のカソードに接続されている、Ｄ／Ａコンバータの入力端子７２’に、アンテナ制御ディジタル出力信号を出力する。ダイナミックに調節されるアンテナを使用することにより、無線周波数信号が送信または受信される、各周波数に対する送信及び受信特性を最大にするために、アンテナ５９の共振周波数を選択的に調節するように、マイクロコントローラ５７を、プログラムすることができる。
【００３０】
つまり、受信モードの時に、アンテナ５９が、受信した無線周波数電磁信号を電気信号に変換する効率と、送信モードの時に、アンテナ５９が、送信する無線周波数電磁信号を放射する効率とを最大にするために、アンテナ５９はダイナミックに調節される。さらに、アンテナ５９が、送信される信号の搬送周波数に応じて、共振周波数にダイナミックに調節されるときに、アンテナ５９は、送信される信号から不要の高調波を、除去することが可能である。屋根の反射特性の利点を生かすために、ループ・アンテナ７０が、自動車の屋根に垂直に取り付けられることが望ましく、それにより、自動車に取り付けられたときに、送信機の送信範囲と感度を増加させることができる。マイクロコントローラ５７が、アンテナ５９を制御する方法は、図９に示すフローチャートに関連して、以下に記述している。
【００３１】
学習した無線周波数制御信号を送信するために、アンテナ５９に接続されているのは、無線周波数回路５８であり、この回路は、電圧制御発信回路７３が出力する周波数を制御するために、マイクロコントローラ５７の、データ出力端子に接続された制御入力端子を有する、電圧制御発信回路７３を備えている。本発明への使用に適している電圧制御発信回路の詳細な構造は、図７に示されている。
【００３２】
電圧制御発信回路７３は、２つの部分から成り、１つは、ＡＳＫデータで変調される正弦波信号を出力する発信回路１０３であり、他は、可変共振周波数信号を、発信回路１０３に供給するＬＣ共振回路１０４である。発信回路１０３は、発振トランジスタ１１０を備え、そのトランジスタは、正の電源電圧ＶＥＥに接続されたコレクタ、コンデンサ１１２の第二端子に接続されたベース、及びスイッチング・トランジスタ１１４を経由して、アースに接続されたエミッタを有している。バッファ・トランジスタ１１６は、コンデンサ１１２の第二端子に接続されたベース、正の電源電圧ＶＥＥに接続されたコレクタ、及び、スイッチング・トランジスタ１１４を経由して、アースに接続された第二端子を有する抵抗器１１８の第一端子に接続されたエミッタを有する。スイッチング・トランジスタ１１４は、トランジスタ１１０と１１６のエミッタと選択的に接続されるように、マイクロコントローラ５７からＡＳＫデータを受け取るために、接続されたベースを有している。つまり、スイッチング・トランジスタ１１４は、バッファ・トランジスタ１１６のエミッタに供給される、電圧制御発信回路の出力端子７３’における信号を、選択的に変調する。
【００３３】
ＬＣ共振回路１０４は、一端が発振トランジスタ１１０のベースに接続され、他端がコイル１２２の第一端子に接続されている、第一結合コンデンサ１２０を具備している。第二の結合コンデンサ１２４は、一端が発振トランジスタ１１０のエミッタに接続され、他端が第一と第二のバラクタ・ダイオード１２６と１２８のカソードに接続されている。第一のバラクタ・ダイオード１２６のアノードは、コイル１２２の第一端子と第一結合コンデンサ１２０に接続され、第二のバラクタ・ダイオード１２８のアノードは、アースに接続されているコイル１２２の第二端子に接続されている。バラクタ・ダイオード１２６と１２８及びコイル１２２は、電圧制御端子７３”に接続されている抵抗器１３０を経由して、バラクタ・ダイオード１２６と１２８のカソードに印加されている電圧を、変えることにより変化する可変共振周波数を有する、ＬＣ共振回路を形成している。
【００３４】
さらに、無線周波数回路５８は、電圧制御発信回路７３の出力に接続された入力端子を有し、結合回路７６を経由して、送信増幅回路７７の入力端子に信号を印加する、可変利得増幅回路（ＶＧＡ）７４を備えている。出力コンデンサ７８は、送信増幅回路７７とバラクタ・ダイオード７１のカソードの間に接続されている。
【００３５】
無線周波数回路５８は、さらに、混合回路７９をアンテナ５９に接続するために、バラクタ・ダイオード７１のカソードに接続されたコンデンサ８０も有している。バッファ増幅回路８１は、電圧制御発信回路７３の出力に接続された入力端子を有し、そこから信号を混合回路７９の１つの入力端子に印加する。混合回路の残りの入力端子は、アンテナ５９から信号を受け取るために、コンデンサ８０に接続されている。帯域フィルタ８２は、混合回路７９の出力端子から信号を受け取るために接続された入力端子を有し、増幅回路８３の入力端子に接続された出力端子を有する。混合回路７９から出力される、他の全ての信号を阻止しながら、３ＭＨｚの周波数成分を有するデータ信号を通過させるために、帯域フィルタ８２は狭い帯域を有し、さらに３ＭＨｚの中心周波数を有する。
【００３６】
増幅回路８３の出力端子は、マイクロコントローラ５７のデータ入力端子に接続された出力端子を有する、積分回路８４の入力端子に接続されている。３ＭＨｚの周波数成分を除去し、さらにマイクロコントローラ５７に、リモート送信機のデータ符号の復調表現を供給するために、増幅回路８３から供給される信号を積分し、整流する。
【００３７】
さらに、無線周波数回路５８は、シリアル・データ・アドレス（ＳＤＡ）ライン７５’に接続された入力端子を有する、シリアル・ポートと制御論理回路７５、及びシリアル制御論理（ＳＣＬ）ライン７５”とを備えている。また、電圧制御発信回路７３は、フェーズ・ロック・ループ回路８５の入力端子にも接続されている出力端子を有する、バッファ回路９１にも接続されている。基準発振回路は、増幅器８７の両端と、それぞれ接続されている第一と第二の端子を有し、コンパレータ増幅回路８７に接続された水晶８６を有する。電圧制御発信回路７３からの出力信号と比較される基準信号を供給するために、その基準発振回路８６は、マイクロコントローラ５７のクロック入力端子に接続され、さらにフェーズ・ロック・ループ回路８５にも接続されている。
【００３８】
また、電圧制御バッファ回路９０を経由して、電圧制御発信回路７３の電圧制御端子７３”に印加される制御電圧を保持するために、フェーズ・ロック・ループ回路８５の出力端子８５’に接続された入力端子を有する低域フィルタ８９を、無線周波数回路５８は備えている。
【００３９】
電圧制御発信回路７３は、その電圧制御端子７３”に印加される電圧を変更することによって、調節される周波数を有する無線周波数信号を出力する。電圧制御発信回路７３からの無線周波数出力信号は、送信モードで動作しているときに、マイクロコントローラ５７から供給される振幅シフト・キーイング（ＡＳＫ）データによって、変調される。電圧制御発信回路７３の変調された無線周波数出力は、可変利得増幅回路７４に印加される。可変利得増幅回路７４は、シリアル制御論理ライン７５”とシリアル・データ・アドレス・ライン７５’にわたって、マイクロコントローラ５７により送られる制御信号に応じて、シリアルポート及び制御論理回路７５によって供給されるＧＡＩＮ制御信号に比例して、電圧制御発信回路７３から供給される変調された無線周波数信号を増幅する。可変利得増幅回路７４は、ある差動増幅回路から他の差動増幅回路に電流の向きを変え、その結果、可変利得増幅回路７４の利得を、選択的に減少する、差動増幅回路対とディジタル制御の分流加減回路によって、実行される。以下にさらに詳しく述べるように、可変利得増幅回路７４の利得レベルは、電圧制御発信回路７３から出力される信号のデューティサイクルと周波数の関数として、決定される。
【００４０】
可変利得増幅回路７４の利得調整済み出力は、可変利得増幅回路７４から出力される無線周波数信号から、不要の高調波にフィルタをかける結合回路７６に供給される。結合回路７６は、４７０ｐＦのコンデンサと直列に接続された２２オームの抵抗器を、具備することが望ましい。結合回路７６のフィルタ後の出力信号は、次に、増幅回路７７に送信するために供給され、その増幅回路は、そのフィルタ後の出力を適切な送信レベルに増幅する。送信増幅回路７７の出力は、出力コンデンサ７８を経由して、アンテナ５９に供給されるが、そのアンテナ５９は、４７０ｐＦのコンデンサを有することが望ましい。
【００４１】
従来のシステムは、比較的高い電力の電圧制御発信回路からの出力信号の電力を減少するために、可変減衰器を使用してきた。しかし、そのようなシステムは、所望の起動信号と共に、不要な高調波成分も送信する傾向がある。アンテナ５９から送信される、その種の高調波の出力エネルギーレベルに関して、ＦＣＣの指針値未満の許容出力エネルギーレベルの計算をすることを、考慮しなければならないので、電圧制御発信回路７３による無線周波数出力信号からこれらの高調波を除去することが望ましい。言い換えれば、アンテナ５９から出力される高調波成分の振幅が大きい程、所望の搬送周波数成分の送信される振幅は、小さくなる。つまり、電圧制御発信回路７３からの低電力無線周波数出力信号を増幅し、さらにフィルタをかける、可変利得増幅回路７４、結合回路７６、及び送信増幅回路７７の使用は、電圧制御発信回路７３からの、比較的高電力の無線周波数出力信号を減衰するために、可変減衰回路を使用する送信回路に、明確な利点を与えている。
【００４２】
混合回路７９は、受け取った無線周波数信号と、電圧制御発信回路７３で生成され、バッファ増幅回路８１を経由して、混合回路７９に供給される基準無線周波数信号とを混合する。混合回路７９の出力は、受け取った無線周波数信号を表しているが、受け取った無線周波数信号の搬送周波数と、電圧制御発信回路７３により生成された基準無線周波数信号の差に等しい搬送周波数を有する成分を含む、若干数の信号成分を含んでいる。混合回路７９の出力信号は、帯域フィルタ８２の入力端子に印加される。その帯域フィルタ８２は、約３ＭＨｚの中心周波数の狭い帯域を有することが望ましく、帯域フィルタ８２は、電圧制御発信回路７３により生成される基準無線周波数信号の周波数が、受け取った無線周波数信号の搬送周波数より、３ＭＨｚ高いか又は低いときに限って、符号化したデータ信号を出力する。つまり、混合回路７９の出力の他の信号成分は、帯域フィルタ８２によって、阻止される。帯域フィルタ８２からの符号化された出力データは、増幅回路８３によって増幅され、積分回路８４によって積分され、リモート送信機６５（図５）から出力されるものと同じデータ符号を有する信号を供給する。本発明への使用に適合する混合回路、増幅回路、及び積分回路は、前記の米国特許第５，４４２，３４０号「減衰制御を含む訓練可能な無線周波数トランシーバ」に公表している。
【００４３】
通常、振幅シフト・キーイング（ＡＳＫ）データである、積分回路８４からのデータ信号出力も、リモート送信機６５によって送信される無線周波数起動信号Ｂと、同じデータ形式を有している。積分回路８４からのＡＳＫデータ出力は、次の処理と保存のために、マイクロコントローラ５７に供給される。マイクロコントローラ５７が、このＡＳＫデータを処理し、保存し、さらに無線周波数回路５８を制御する方法は、電圧制御信号を、電圧制御発信回路７３に供給する無線周波数回路５８の一部分の説明に続いて、詳しく説明している。
【００４４】
電圧制御信号を、電圧制御発信回路７３に供給する無線周波数回路５８の一部分は、フェーズ・ロック・ループ回路８５、基準発信回路８６、増幅回路８７、コンパレータ増幅回路８８、低域フィルタ８９、電圧制御バッファ９０、及びＶＣＯ出力バッファ９１を具備している。無線周波数回路５８のこの部分の動作方法について、フェーズ・ロック・ループ回路８５の詳しい構造を示す図８を参照しながら、説明する。フェーズ・ロック・ループ回路８５は、基準発信回路８６の第二端子に接続された入力端子を有している、「Ｒで割るレジスタ」９２を有している。「Ｎで割るレジスタ」９３は、ＶＣＯ出力バッファ９１の出力端子に接続された入力端子を有している。レジスタ９２と９３の出力端子は、制御論理回路９５の入力端子に接続された出力端子を有する、位相／周波数検知回路９４の入力端子に接続されている。その代わりに、制御論理回路９５は、低域フィルタ８９の入力端子に接続された出力端子を有する、シンク／ソース切換回路９８の入力端子に接続された、一対の端子を有している。低域フィルタ８９は、フェーズ・ロック・ループ回路８５の出力端子に接続された５６０オームの抵抗器、その５６０オームの抵抗器に直列に接続された１．２μＦのコンデンサ、及び５６０オームの抵抗器と１．２μＦのコンデンサに並列に接続された０．１μＦのコンデンサを具備していることが望ましい。
【００４５】
フェーズ・ロック・ループ回路８５の主な目的は、電圧制御発信回路７３による無線周波数出力信号の周波数と、基準発信回路８６の周波数を比較し、電圧制御発信回路７３の電圧制御端子に印加する電圧を制御して、電圧制御発信回路７３による無線周波数出力信号が、基準発信回路８６の出力と、所定の関係を持つようにすることである。これらの信号の周波数間の所定の関係は、シリアル・ポートと制御論理回路７５を経由して、マイクロコントローラ５７から、それぞれ「Ｒで割るレジスタ」９２と「Ｎで割るレジスタ」９３に供給される、変数ＲとＮの比率である。数学的には、電圧制御発信回路７３による無線周波数出力信号の周波数ｆＶＣＯと、基準発信回路８６による出力信号の周波数ｆＲＥＦとの関係は、下記のように表現できる：ｆＶＣＯ＝（Ｎ／Ｒ）ｆＲＥＦここで、ｆＲＥＦは、一定値、例えば、４ＭＨＺである。つまり、ｆＲＥＦ＝４ＭＨＺで、Ｒ＝４を使用すると、周波数ｆＶＣＯは、ＮＭＨＺになるように制御される。ｆＲＥＦとＲ定数が、一定に保持されると、値Ｎが増加すれば、それに従って周波数ｆＶＣＯが増加する。Ｒの値が増加すると、周波数ｆＶＣＯは、さらに微妙に制御される。一方、Ｒの値が小さくなる程、ｆＶＣＯの動作範囲が大きくなる。ＲとＮの値は、８ビットのデータとして提供されることが、望ましい。
【００４６】
「Ｒで割るレジスタ」９２と「Ｎで割るレジスタ」９３の出力は、位相／周波数検出回路９４に供給され、その検出回路は、「Ｎで割るレジスタ」９３からの出力信号の周波数と、「Ｒで割るレジスタ」９２からの出力周波数とを比較し、さらに、その周波数の差に対応した出力パルスを出力する。位相／周波数検出回路９４は、任意の従来の方法で、構成される。これらの周波数が同一である場合は、位相／周波数検出回路９４は、制御信号パルスを、シンク／ソース切換回路９８のスイッチ９９と１００に出力するので、スイッチ９９と１００は、開の状態を維持する。シンク／ソース切換回路９８のスイッチ９９と１００（ＣＭＯＳ又はバイポーラ・トランジスタ等の固体スイッチであってもよい）が、両方とも開の状態で維持されている場合、電圧制御発信回路７３の電圧制御端子に印加される電圧は、バッファ９０と、低域フィルタ８９のコンデンサに蓄積されている電圧によって、一定に保持される。
【００４７】
「Ｎで割るレジスタ」９３からの出力信号の周波数が、「Ｒで割るレジスタ」９２からの出力信号の周波数より低い場合は、位相／周波数検出回路９４は、スイッチ９９は閉じ、スイッチ１００は開くように、制御信号パルスをスイッチ９９と１００に供給する。スイッチ９９が閉じると、例えば、５Ｖの電圧ＶＣＣが、低域フィルタ８９のコンデンサに印加されるので、電圧制御発信回路７３の電圧制御端子に印加される電圧を高くする。電圧制御発信回路７３の電圧制御端子で高くなった電圧により、電圧制御発信回路７３が、無線周波数周波数信号の周波数を上げるので、「Ｎで割るレジスタ」９３からの出力信号の周波数も高くなる。「Ｒで割るレジスタ」９２と「Ｎで割るレジスタ」９３からの出力信号の周波数が、同一である場合は、スイッチ９９が開き、スイッチ１００は、開いたままであるように制御信号を、スイッチ９９と１００に出力する。
【００４８】
「Ｎで割るレジスタ」９３からの出力信号の周波数が、「Ｒで割るレジスタ」９２からの出力信号の周波数より高い場合は、位相／周波数検出回路９４は、スイッチ９９は開いたままで、スイッチ１００が閉じるように、制御信号をスイッチ９９と１００に出力する。スイッチ１００が閉じると、低域フィルタ８９にあるコンデンサは、アースと接続されるので、放電する。低域フィルタ８９のコンデンサの放電により、電圧制御発信回路７３の電圧制御端子に印加される電圧が下がり、電圧制御発信回路７３は、無線周波数出力信号の周波数を下げる。つまり、「Ｒで割るレジスタ」９２と「Ｎで割るレジスタ」９３からの出力信号の周波数が、同一になるまで、「Ｎで割るレジスタ」９３からの周波数信号の周波数は、下げられる。制御論理回路９５は、送信モードの間に、マイクロコントローラ５７のメモリから読み出されたＡＳＫデータの論理レベルに従って、位相／周波数検出回路９４と、シンク／ソース切換回路９８とを選択的に接続したり、又は分離するように、制御論理回路９５は、設定される。送信モードの間、マイクロコントローラ５７は、学習したデータ符号の送信のために、電圧制御発信回路７３によって生成された無線周波数搬送信号に、ＡＳＫデータを変調するために、選択されたチャネル用の、メモリに保存されたＡＳＫデータを使用して、電圧制御発信回路７３を使用可能にしたり、使用不能にしたりする。電圧制御発信回路７３が、ＡＳＫデータにより使用不能にされると、フェーズ・ロック・ループ回路８５によって検知されるように、電圧制御発信回路７３からの出力信号の周波数は、ゼロになる。フェーズ・ロック・ループ回路８５に、適切な手段がない場合は、フェーズ・ロック・ループ回路８５は、シンク／ソース切換回路９８を制御して、電圧制御発信回路７３が使用不能にされると、その回路７３に印加される周波数制御電圧が、かなり上げられる。次に、使用可能にされると、電圧制御発信回路７３は、まず、所望のものより遥かに高い搬送周波数で、送信を始める。使用不能の状態の間、フェーズ・ロック・ループ回路８５が、電圧制御発信回路７３の周波数を、大幅に上げないために、ＡＳＫデータが、電圧制御発信回路７３を使用不能にするレベルであるときに、制御論理回路９５は、フェーズ・ロック・ループ回路８５を、シンク／ソース切換回路９８から選択的に分離するように設定される。
【００４９】
電圧制御発信回路７３を使用不能にした後、「Ｒで割るレジスタ」９２と、「Ｎで割るレジスタ」９３からの周波数信号間の位相関係を維持するために、送信モードの間、マイクロコントローラ５７のメモリから読み出されるＡＳＫデータは、同様に、ＡＳＫデータ信号によって、使用可能や使用不能にされる電圧制御発信回路７３と同期して、「Ｒで割るレジスタ」９２と「Ｎで割るレジスタ」９３を、使用可能や使用不能にするように、設定される。
【００５０】
学習モードの間、信号の送信がなされないようにするために、シリアル・ポートと制御論理回路７５（図６）は、送信制御信号ＴＸを印加することにより、可変利得増幅回路７４と、送信増幅回路７７の使用の可／不可を制御する。同様に、シリアル・ポートと制御論理回路７５は、受け取った制御信号ＲＸを出力するが、その制御信号ＲＸは、図６の点線の使用可能入力で示されている混合回路７９、入力バッファ８１、増幅回路８３、及び積分回路８４を、選択的に使用可能又は不可能にするために印加される。
【００５１】
無線周波数回路５８は、既存の集積回路技術を用いて製造された専用集積回路（ＡＳＩＣ）に、組み込まれることが望ましい。図６に示されている実施例において、下記の要素がＡＳＩＣ１０１の基板１０２上に設けられている：可変利得増幅回路７４；送信増幅回路７７；混合回路７９；入力バッファ８１；増幅回路８３；積分回路８４；フェーズ・ロック・ループ回路８５；増幅回路８７；コンパレータ８８；電圧制御バッファ９０；及び電圧制御発信回路７３の発振部分１０３である。基板１０２の内部に、比較的大きなコンデンサを容れないために、結合回路７５、出力コンデンサ７８、入力コンデンサ８０、帯域フィルタ８２、基準発振回路８６、低域フィルタ８９、及び電圧制御発信回路７３のＬＣ共振回路部分は、ＡＳＩＣ１０１に組み込まれていないように表現されているが、これらの要素は、ＡＳＩＣ１０１に組み込まれることが可能である。
【００５２】
システム動作
トランシーバ回路５５の電気回路の構成要素について説明したので、マイクロコントローラ５７が、トランシーバ回路５５を制御する方法を、図９、１０−１６、１７、１８−１９、２０及び２１を参照しながら、説明する。図１０−１６において、フローチャートの結合子は、任意の番号が後ろに続く一文字の参照文字が付けられている。参照文字は、図１０の後ろの図面番号の文字部分に、該当する。例えば、ラベルＣの結合子は、図１２Ｃというラベルの付いた結合点に、処理が移ることを示している。その参照文字の後に続く任意の数字は、その参照文字に対応する図面に示された処理への、複数の入り口点の１つを表している。例えば、Ｅ１というラベルの付いた結合点は、Ｅ１というラベルの付いた入り口点で、図９Ｅに示されている処理に移行することを示している。
【００５３】
ブロック２００（図８）で示しているように、押しボタンスイッチ４４、４６、及び４７の内の１つが押された時から、動作は開始する。押しボタンスイッチ４４、４６、及び４７の１つが押されたことの検出に関して、マイクロコントローラ５７は、インタフェース回路４９（図５）経由の信号を受け取ると、ブロック２０２に示すように、そのポートとランダム・アクセス・メモリ（ＲＡＭ）を、初期化する。次に、プログラムは、２０秒タイマを開始し（ブロック２０４）、押された押しボタンスイッチ４４、４６、及び４７に対応するチャネルを読む（ブロック２０６）。さらに、マイクロコントローラ５７用のプログラムは、選択されたチャネルが、訓練済みであるか否かを判定する（ブロック２０８）。その選択されたチャネルが、過去に訓練されていた場合は、マイクロコントローラ５７は、その選択されたチャネルに関連するデータを、ＲＡＭにダウンロードし（ブロック２１０）、可変利得増幅回路７４の利得と、電圧制御発信回路７３によって出力される周波数とを設定し、さらに、選択されたチャネルに関連するデータに従って、アンテナ５９を調節する（ブロック２１２）。ＲとＮの値を表している適切な出力信号を、シリアル・ポートと制御論理回路７５経由で、「Ｒで割るレジスタ」９２と「Ｎで割るレジスタ」９３に、供給することによって、マイクロコントローラ５７は、電圧制御発信回路７３の周波数を設定する。
【００５４】
マイクロコントローラ５７は、ＳＣＬ及びＳＤＡ配線を通じて、制御信号をシリアル・ポートと制御論理回路７５に出力することにより、可変利得増幅回路７４の利得を設定する。可変利得増幅回路７４の利得制御入力端子に供給される利得制御信号は、５ビットで構成され、つまり、３２の利得レベルが得られることが望ましい。ＦＣＣ規制は、送信信号のデューティサイクルに基づいて、種々の電力レベルを許容しているので、訓練可能なトランシーバが、送信信号の利得をダイナミックに調整できることは、好都合である。従って、若干数の可能な利得レベルを設けることにより、訓練可能なトランシーバ４３は、送信する別々の周波数及び符号化された信号毎に、最大許容電力レベルで送信可能である。
【００５５】
所与の送信された起動信号に対する適切な利得レベルを最適化するために、マイクロコントローラ５７は、まず、相対レベルを判断するために、送信される信号の周波数を調べる。３２の利得レベルの各レベルは、ゼロが最大利得レベルを表し、３２が最小利得レベルを表すことにして、０と３２の間の整数に対応しているとすると、マイクロコントローラ５７は、送信される信号の周波数に基づいて、初期利得レベルを選択する。例えば、マイクロコントローラ５７は、高電力信号に対しては、初期利得レベル５を選択し、相対的に低い電力信号に対しては、初期利得レベル０を選択する。次に、所定の期間内に、符号の所定数のサンプルを取り、高論理レベルを有している符号のサンプル数を数え、積を計算するために、高論理レベルを有しているサンプルの数えられた数と、予め定めた定数をかけ、その積を、総サンプルの所定数で割ることによって、マイクロコントローラ５７は、その符号のデューティサイクルを判定する。マイクロコントローラ５７は、そのデューティサイクルに基づいて、選択された利得レベルを調整する。例えば、初期利得レベルが５である場合、最小の利得レベル３２は、最高のデューティサィクルに対応し、初期利得レベルを越えていない最高の利得レベル５は、最低の利得レベルに対応するので、マイクロコントローラ５７は、５と３２の間のレベルに、その利得レベルを調節する。また、マイクロコントローラ５７は、そのデータ符号が速いか遅いかの判定に基づいて、利得レベルを選定してもよい。符号信号のデューティサイクルが判定され、また、送信される信号のデューティサイクルと周波数に基づいて、出力電力レベルが選定される方法の例は、上記の米国特許第５，４４２，３４０号に、公表されている。マイクロコントローラ５７が、受け取った起動信号にあるデータ符号が、遅いか速いかを判定する方法は、下記の通りである。
【００５６】
可変利得増幅回路７４の利得は、１５ｄＢと２０ｄＢの間で変化する事が望ましく、送信増幅回路７７は、２５ｄＢの利得を有することが望ましい。可変利得増幅回路７４と送信増幅回路７７の両方とも、１０ｄＢの可変利得を備えている。訓練可能なトランシーバ４３の出力電力は、０ｄＢと５ｄＢの間であることが望ましい。
【００５７】
マイクロコントローラ５７は、アンテナ制御データをＤ／Ａコンバータ７２に供給することにより、アンテナ５９を調節する。アンテナ制御データは、８ビットの値であることが望ましく、そのデータは、電圧制御発信回路７３の周波数から計算されるか、電圧制御発信回路７３から出力される種々の周波数に関連する８ビット値を含む表から、読み込まれてもよい。一般に、Ｄ／Ａコンバータ７２からの電圧出力は、２２０ＭＨＺから４４０ＭＨＺの周波数範囲に関して、直線的に、０．５Ｖから４．５Ｖまで変化するように、制御される。つまり、マイクロコントローラ５７によって提供される８ビットの値における各増分は、Ｄ／Ａコンバータ７２の出力電圧において、約１５．６ｍＶの増分に相当する。８ビットのアンテナ制御データは、選択されたチャネルに関して、事前に保存されるか、データがメモリから読み出された後で、周波数データから計算されてもよい。バラクタ・ダイオード７１の容量は、そのカソードに印加される電圧に対して、直線的で逆の変化をする。例えば、バラクタ・ダイオード７１は、印加電圧が０．５Ｖである場合、１４ｐＦの容量であり、４．５Ｖである場合は、２．４ｐＦの容量となる。このようにして、信号の送受信のために、比較的狭い帯域を有する小型ループアンテナ７０は、送受信信号の搬送周波数と一致する共振周波数を持つように調節されるので、ループアンテナ７０は、リモート送信機からの無線周波数起動信号を、さらに効率的に受信し、送信増幅回路７７から供給される無線周波数送信信号を、さらに効率的に放射できる。出力コンデンサ７８を経由して、バラクタ・ダイオード７１のカソードに印加されるので、アンテナ５９をダイナミックに調節し、さらに出力信号の利得を変化させる能力を備えることにより、訓練可能なトランシーバ回路５５は、アンテナ５９の一致したインピーダンスと、無線周波数回路５８の出力インピーダンスを、維持する。
【００５８】
ブロック２１２（図９）に示すように、可変利得増幅回路７４の利得、電圧制御発信回路７３の周波数、アンテナ５９の調節の設定後、マイクロコントローラ５７は、選択されたチャネルに対する符号が、固定符号か、可変符号かを判定する（ブロック２１３）。起動信号が学習されたときのフラグの設定に基づいて、この判定がなされる。その符号が固定符号である場合は、マイクロコントローラ５７は、選択されたチャネルに関連する、メモリに保存されたデータ符号を読み出し（ブロック２１４）、さらに、ＡＳＫデータで電圧制御発信回路７３を使用可にしたり不可にしたりすることで、電圧制御発信回路７３によって生成される無線周波数信号を変調するために、このＡＳＫ符号を、電圧制御発信回路７３と、フェーズ・ロック・ループ回路８５に供給する（ブロック２１６）。一方、その符号が、可変信号である場合は、マイクロコントローラ５７は、適切な暗号アルゴリズム、暗号キー（使用している場合）、及び最後に送信された符号の連続番号を識別する、選択されたチャネル用に保存されたデータを読み出す。次に、マイクロコントローラ５７は、識別された暗号アルゴリズムを実行する（ブロック２１５）。なお、そのアルゴリズムは、車庫扉開閉機構の受信機に送信される符号を生成するために、その不揮発性メモリ、又は、不揮発性であることが望ましい他のメモリに、保存されている。可変符号が、リアルタイム符号である場合は、マイクロコントローラ５７は、暗号アルゴリズムで定義されているように、時間に基づいて送信するために、適切な符号を判定するための、内部又は外部のクロックから時間を読み出す。車庫の扉を起動するために、１台以上の送信機が使用されている場合は、マイクロコントローラ５７も、起動信号が学習された送信機として、訓練可能なトランシーバを識別する、生成された符号に、識別タグを有する。
【００５９】
送信するために、符号を生成するか、又は読み出した後、マイクロコントローラ５７は、ブロック２１６に示すように、電圧制御発信回路７３の変調済み無線周波数出力信号の送信を可能にするために、送信信号ＴＸを、可変利得増幅回路７４と送信増幅回路７７に出力するように、シリアル・ポートと制御論理回路７５に指示をする。
【００６０】
上記のステップを実行しながら、マイクロコントローラ５７は、押された押しボタンスイッチが、５秒間隔で継続的に押されているかを判定するために、２０秒タイマをモニタする（ブロック２１７）。２０秒タイマが時間切れになっていない場合は、マイクロコントローラ５７は、選択されたチャネルに関連する無線周波数信号を送信し続ける（ブロック２１６）。マイクロコントローラ５７が、ブロック２１７で、押されたスイッチが、２０秒間隔の間、押しボタンスイッチ４４、４６、及び４７が押し続けられたと判定した場合、又は、マイクロコントローラ５７が、ブロック２０８で、押されたスイッチに関連するチャネルが、訓練されていないと判定した場合、マイクロコントローラ５７は、ブロック２１８（図１０）から始まる訓練シーケンスを開始する。訓練モードにおけるマイクロコントローラ５７により実行される手順の詳細な説明の前に、概要を以下に説明する。
【００６１】
訓練シーケンスの間、マイクロコントローラ５７は、初期周波数に対するＲとＮの値を表している周波数制御データを、フェーズ・ロック・ループ回路８５（図６）に出力して、アンテナ５９で受信され、混合回路７９、帯域フィルタ８２、及び増幅回路８３を経由して処理され、さらに積分回路８４からマイクロコントローラ５７に印加される、無線周波数送信信号Ｂ（図５）中の受信データの存在を探す。周波数制御データの受け取り後、フェーズ・ロック・ループ回路８５は、周波数制御電圧を、電圧制御発信回路７３の周波数制御端子に出力する。電圧制御発信回路７３は、周波数制御電圧に対応する基準周波数を有する基準信号を生成して、その基準信号を混合回路７９に出力する。その基準周波数が、受信した起動信号Ｂの搬送周波数に対する所定の関係を有する場合は、積分回路８４は、受信した起動信号の符号信号を、マイクロコントローラ５７に出力する。参照した実施例において、基準周波数と、受信した起動信号の搬送周波数との差が、３ＭＨＺであるときに、所定の関係が存在する。
【００６２】
マイクロコントローラ５７は、その初期周波数に対する符号信号を、積分回路８４から受け取っていない場合は、マイクロコントローラ５７は、次のループで、別の周波数を選定して、その新しい周波数に対応する周波数制御データを、フェーズ・ロック・ループ回路に出力する。マイクロコントローラ５７は、積分回路８４からの信号で示されるように、符号信号が検出されるまでは、このようにして新しい周波数を、選択し続ける。マイクロコントローラ５７は、検証ルーチンにより、符号信号の存在を確認する。その検証ルーチンは、所定の時間間隔の間、積分回路８４からの信号に現れる立上がりの数を数えて、その立上がりの数が、しきい値を越えたときに、そのデータが存在すると判定する。その検証ルーチンについては、以下に詳述する。
【００６３】
基準周波数が、受け取った起動信号の搬送周波数より３ＭＨＺだけ低いときに発生することが望ましい、符号信号の検出に関して、マイクロコントローラ５７は、受け取った起動信号の搬送周波数に対応する周波数制御データを保存して、基準周波数を３ＭＨＺだけ高くする。理想的には、符号信号は、この周波数で消えるべきであるが、消えない場合には、その符号信号が、３ＭＨＺ低い周波数で検出された符号信号に起因する、単なるノイズであるか、又は、この周波数で検出された符号信号が、単なるノイズ以上のものであるかを、判定するために、この周波数で、受け取り中の符号信号を、符号化することを試みる。
【００６４】
その符号信号を符号化する試みにより、マイクロコントローラ５７は、その符号信号が、正規のものであるか否かを判定するために、その符号信号に関して、さらに強力な検査をすることができる。以下に詳述するように、マイクロコントローラ５７は、符号化サブルーチンにより、その符号信号を符号化しようとする。そのサブルーチンは、変調方式を識別するために、その符号信号をさらに分析して、その符号信号の識別された変調方式に対する、最も適切な符号化技術を使って、メモリにその符号信号を保存する。その符号化サブルーチンが、その符号信号の変調方式を識別できて、その符号信号を保存できた場合は、その符号信号を符号化する試みは、成功であると見なされる。
【００６５】
受信された起動信号の周波数に対応する、この増加された周波数で、受け取られた符号信号の符号化が成功すると、マイクロコントローラ５７は、初期の周波数と増加された周波数の両方で受け取られた符号信号は、正規のものではないと判定する。その理由は、経験的なデータに基づいて、正規の符号信号は、３ＭＨＺ離れた２つの周波数で符号化されるはずがないと、判断するからである。この周波数での符号信号は、正規ではないと判定した後、マイクロコントローラ５７により実行されるプログラムは、新しい周波数を選定して、正規の符号信号が検出されるまで、上記の処理を繰り返す。
【００６６】
符号信号が検出されないか、又は、符号化できない符号信号が、その符号信号が、最初に検出された周波数より３ＭＨＺ高い周波数で検出された場合、マイクロコントローラ５７は、さらに３ＭＨＺだけ周波数を上げて、符号信号を探索する。理想的には、以前の周波数で消えた符号信号は、この増加された周波数は、送信機の周波数Ｂより３ＭＨＺだけ高く、混合回路７９から出力される周波数の差の成分は、帯域フィルタ８２を通過するので、この周波数で再度現れるはずである。その符号信号が現れると、マイクロコントローラ５７は、その符号信号が最初に検出された周波数（つまり、起動信号周波数Ｂより３ＭＨＺ低い周波数）に、基準周波数を変更し、その符号信号を符号化して、保存する。一般に、マイクロコントローラ５７は、６８μｓに１度等の、比較的高いサンプル・レートでその信号をサンプリングして、その符号信号を保存する。受信した符号信号の符号形式に対して、検出された特性に基づいて、他のサンプリング・レートが、他の符号信号に対して選択される。このようにして、マイクロコントローラ５７は、その符号信号を保存したときと同じサンプリング・レートを使って、メモリからその保存された符号信号を読み出すことにより、送信モードの間、符号信号を再生する。それに代わって、高及び低の論理レベルで、その符号信号の連続したサンプルの数を表しているデータが、保存されるか、又は、特定のデータ周波数で期間の数を表しているデータが、保存されてもよい。その受信した符号信号が正規であることを二重検査するために、マイクロコントローラ５７は、ＤＡＴＰＲＥＶフラグを設定することが望ましく、訓練シーケンスの開始点に戻り、新しく、さらに高い周波数を選択し、さらに、この新しい周波数で、符号信号が検出されない場合、以前に検出した符号信号は、正規のものであることを確認する。
【００６７】
受信した符号が可変符号であるか否かを判定するために、マイクロコントローラ５７は、その識別された周波数が、時間変化符号により使用されているか否かを検査する。さらに、マイクロコントローラ５７は、可変符号が、さらに多いビット数を有しているので、符号のパルス数に基づいて、可変符号を識別することができる。可変符号の存在の確認のために、マイクロコントローラ５７は、リモート送信機上の送信ボタンを再度、起動するように、ユーザに指示して、２つ目の送信信号に含まれる符号が、最初のものと同じであるかを検査する。あるいは、その符号は、リモート送信機上の送信ボタンの単一の起動で、ダイナミックに変化するか、又は、パルス自体の特性が、その符号が、マイクロコントローラ５７がその受信信号は、可変符号であると判断できるような可変符号であることを示すこともできる。
【００６８】
起動信号中の符号が、可変符号である場合、マイクロコントローラ５７は、次に、その起動信号の特性（つまり、符号のビット数、パルス幅、パルスの繰り返しレート、または搬送周波数及びその全部）を試験する。リモート送信機の製造元と型式を識別することで、マイクロコントローラ５７は、次に、リモート送信機とそれに関連する受信機によって使用される暗号アルゴリズムに対応する予め保存されていた暗号アルゴリズムを、識別して、それにアクセスする。さらに、マイクロコントローラ５７は、そのシステムの再同期のために特定のシーケンスを実行するように、ユーザに指示する。これは、そのユーザが、リモート送信機に、再同期信号を送信させるか、又は、次の送信信号を受け入れて、再同期するために、車庫扉開閉機構の受信機上のボタンが押される、シーケンスである。そのシーケンスが、再同期信号を送信する送信機を含む場合、訓練可能なトランシーバは、その後に、再同期信号を学習して、再送信するために、訓練される。
【００６９】
その識別された暗号アルゴリズムが、暗号キーを必要とする場合、マイクロコントローラ５７は、リモート送信機の識別された製造元と型式に基づいて、暗号キーを受信するための適切な方法を判断することになるが、それは、そのような方法は、製造元によって変化するからである。その暗号キーが、リモート送信機からダウンロードされるか、又は、送信される場合、マイクロコントローラ５７は、適切な行動を取るように、ユーザに指示する。その受信機が、ランダムに、又は、手動で生成された暗号キーに変更する機構を有している場合、マイクロコントローラ５７は、暗号キーをランダムに生成して、そのキーを受信機に送信する。暗号キーが、手動で入力されなければならない場合は、マイクロコントローラ５７は、自動車データ・エントリ・システム又は音声起動回路から、入力信号６２ａを経由して、その情報を受け取る。訓練シーケンスの概要を述べたが、さらに詳しい説明は、図１０−１６、１７、１８、１９、２０、及び２１を参照しながら、以下に記述する。
【００７０】
マイクロコントローラ５７は、予め保存されていた周波数表にある、最初の周波数より３ＭＨＺ低い周波数を表す、周波数制御データＲとＮを読み出して、Ｘレジスタをクリヤすることにより、プログラムのブロック２１８（図１０）から訓練シーケンスを開始する。その周波数表が、最初に、以前のＣａｎａｄｉａｎ車庫扉用送信機のような、限定された時間（約２秒）だけ送信する、車庫扉用送信機の既知の周波数を、昇順で含んでいることが望ましい。これらの短期間の送信機用周波数には、他の市販の車庫扉用送信機が、動作することを知られている周波数が、その周波数表の中で後続している。短期間送信機が、その無線周波数起動信号の送信を止める前に、後続のデータ列が発生する可能性を高めるために、短期間送信機に関連する周波数が、まず、周波数表に納められる。車庫扉用送信機によって送信される無線周波数起動信号が、周波数表に保存される周波数を有していない場合、訓練可能なトランシーバ４３は、受信した無線周波数起動信号の周波数が識別されるまで、初期周波数を、１ＭＨＺ単位で増分する。
【００７１】
その周波数表にある最初又は次の周波数を読み出した後、マイクロコントローラ５７は、読み出した周波数と一致する共振周波数に、アンテナ５９を調節する（ブロック２２０）。さらに、マイクロコントローラ５７は、モード保存（ＭＯＤＳＶ）レジスタをクリヤする。次に、マイクロコントローラ５７は、電圧制御発信回路７３により生成される信号の周波数を、適切なＲとＮの値を、「Ｒで割るレジスタ」９２と、「Ｎで割るレジスタ」９３に出力することにより、読み出した周波数より３ＭＨＺ低い基準周波数に設定する。また、マイクロコントローラ５７は、シリアル・ポートと制御論理回路７５に、受信バッファ８１、混合回路７９、受信増幅回路８３、及び積分回路８４を使用可能にする、受信信号ＲＸを出力することを指示する。
【００７２】
次に、マイクロコントローラ５７は、訓練可能なトランシーバ４３が、訓練されるべきリモート車庫扉開閉送信機６５を起動する、押しボタンスイッチ４４、４６、及び４７の内の１つを押した人に知らせるために、ＬＥＤ４８を点滅させる信号を出力する。続いて、アンテナ５９は、リモート送信機により送信された無線周波数起動信号を受信して、その受信した無線周波数起動信号が、電圧制御発信回路７３から出力された信号と混合される混合回路７９に、その受信した信号を出力する。電圧制御発信回路７３による出力信号の周波数が、受信した無線周波数起動信号の周波数より３ＭＨＺ高いか低い周波数である場合は、マイクロコントローラ５７は、受信した無線周波数起動信号に含まれている任意のＡＳＫデータを検出して、正規のデータ符号信号の存在を検証するために、ＶＥＲＩＦＹ（検証）サブルーチンを呼び出し、さらに、そのデータ符号を、「速いデータ」か「遅いデータ」として識別する。
【００７３】
「速いデータ」は、そのデータが、８５０μｓの間隔に、５個を超える立上がりを有する場合に、検出される。「遅いデータ」は、そのデータが、８５０μｓの間隔に、５個以下の立上がりを有するが、７０ｍｓの間隔に５個を超える立上がりを有する場合に、検出される。速いデータは、２つの一般的な種類のデータ、つまり、ＧＥＮＩＥブランドの送信機から送信されるＧＥＮＩＥデータと、非ＧＥＮＩＥ（単一トーン）データである。ＧＥＮＩＥと非ＧＥＮＩＥデータの区別は、下記のＥＮＣＯＤＥ（符号化）サブルーチンでなされる。ＧＥＮＩＥデータは、ＧＥＮＩＥデータが、１０から２０ＫＨＺの間でシフトするパルス繰返しレートを有する周波数シフトキー付きデータであるところが、他のブランドのリモート車庫扉送信機によって送信されるデータと、相違している。ＧＥＮＩＥデータは、通常、５ＭＨＺ間隔で、２９０から３２０ＭＨＺの間の搬送周波数で送信される。以下の記述で明白なように、速い、遅い、ＧＥＮＩＥ、又は単一トーン等のデータ分類は、マイクロコントローラ５７が、その後、そのデータを検査し、保存し、さらに符号化する方法に影響する。
【００７４】
ＶＥＲＩＦＹサブルーチンは、図１７に示されて、マイクロコントローラ５７が、８５０μｓタイマを開始するブロック２２４から、始まっている。ブロック２２６と２２８において、マイクロコントローラ５７は、そのタイマにより測定される８５０μｓ間隔内で、ＡＳＫにおける立上がりの数を数える。ブロック２３０において、マイクロコントローラ５７は、検出された立上がりの数が、５を超えているかを判定する。その数が５を超えていれば、マイクロコントローラ５７は、そのデータが、検証されたことを示す”１”に、データ肯定応答（ＤＡＣＫ）フラグを立て、そのデータが、「速い」ことを示す”１”をモードビットに立て（ブロック２３２）た後、そのモードビットの値を保存するために、ＭＯＤＳＶレジスタを更新するブロック２３４（図１０）に戻る。
【００７５】
マイクロコントローラのプログラムが、ブロック２３０で、検出された立上がりの数が、５以下であると判定した場合は、そのプログラムは、７０ｍｓタイマを開始させるブロック２３６に進行する。ブロック２３８と２４０において、プログラムは、７０ｍｓ間隔で検出された立上がりの数を数える。その数が、５より大きい場合は（ブロック２４２）、プログラムは、ＤＡＣＫフラグを”１”に設定し、またそのデータが遅いことを示す”０”をモードビットに立てた後、最後にＶＥＲＩＦＹサブルーチンを呼んだブロックの後のブロックに戻る。マイクロコントローラ５７が、７０ｍｓの間隔で検出した立上がりの数が、５より大きくないと判定すると、プログラムは、検証したＡＳＫが存在しないことを示す”０”をＤＡＣＫフラグに立て、モードビットを”０”に設定して、ブロック２４６に示すように、最後にＶＥＲＩＦＹサブルーチンを呼んだブロックの後のブロックに戻る。
【００７６】
図１０に戻って、ＶＥＲＩＦＹサブルーチンから戻り、ＭＯＤＳＶレジスタを更新した後、プログラムは、検証したＡＳＫデータが、存在するかを判定するために、ＤＡＣＫフラグを見る（ブロック２４８）。データが存在しないと、プログラムは、Ｘカウンタが増分されるブロック２５０に進行する。そのときに、プログラムは、そのＸカウンタが、１あるか否かを判定する（ブロック２５２）。Ｘが１であることを判定する場合、マイクロコントローラ５７は、電圧制御発信回路７３の周波数を１ＭＨＺだけ下げ（ブロック２５４）、さらに、ブロック２２０からブロック２３４までのステップを、繰り返す。次に、ブロック２４８において、マイクロコントローラ５７は、再度、データが存在するとして検出されたか否かを判定する。周波数表に保存された周波数より４ＭＨＺ低い周波数でのデータを探すことにより、マイクロコントローラ５７は、その受信した起動信号が、リモート送信機に存在する可能性のある製造誤差により、期待値より低めの周波数で送信されたか否かを検査できる。
【００７７】
データが再度存在しない場合は、プログラムは、Ｘカウンタを増加し（ブロック２５０）、Ｘの値が１に等しいかを検査する（ブロック２５２）。Ｘが１である場合は、プログラムは、任意のデータがＤＡＴＰＲＥＶフラグを見ることによって、以前に検出されたか否かを判定するブロック２５６に進む。下記のように、ＤＡＴＰＲＥＶフラグは、受信した符号信号が強力に検査された後だけに設定される。データが、以前に検出されていた場合は、マイクロコントローラ５７は、ＬＥＤ４８に、訓練シーケンスの成功を示す速い点滅をさせる（ブロック２５８）。一方、マイクロコントローラのプログラムが、データは以前に検出されていないと判定した場合、プログラムは、ブロック２１８に戻り、周波数表にある次の周波数を読み出して、Ｘレジスタをクリヤする。
【００７８】
マイクロコントローラ５７は、ブロック２４８で、データの存在を検出するまで、上記のブロック２１８から２５６で識別されたステップのシーケンスを繰り返す。データが存在すると、プログラムは、ブロック２６０に進み（図１１）、そのブロックでは、電圧制御発信回路７３の周波数が周波数表から読み出された最新の周波数より３ＭＨＺ低いときに、データが検出された場合、”０”の値を有し、電圧制御発信回路７３の周波数が周波数表から読み出された最新の周波数より４ＭＨＺ低いときに、データが検出された場合、”１”の値を有するＸの値を保存する。次に、マイクロコントローラのプログラムは、３ＭＨＺであることが望ましい、帯域フィルタ８２の中間周波数表（ＩＦ）を、電圧制御発信回路７３から、以前に出力された信号の周波数に加算する。さらに、マイクロコントローラ５７は、この増加された電圧制御発信回路の周波数に対する適切な周波数に、アンテナ５９を調節する（ブロック２６２）。
【００７９】
次に、ブロック２６４において、プログラムは、ＶＥＲＩＦＹサブルーチンを呼ぶことによって、データが、存在しているか否かを判定するために検査する。電圧制御発信回路７３の周波数が、マイクロコントローラ５７が、ブロック２４８（図１０）でデータの存在を検証したときに、受信した無線周波数起動信号の周波数より３ＭＨＺ低かった場合は、電圧制御発信回路７３の周波数が、３ＭＨＺだけ上げられて、その無線周波数起動信号と同じ周波数になっている場合、その検出されたデータは、通常、消失する。しかし、マイクロコントローラ５７が、ブロック２６６で、電圧制御発信回路７３の周波数が、３ＭＨＺだけ上げられたときに、データが存在していると判定した場合は、マイクロコントローラのプログラムは、ブロック２６８で、Ｘの値を検査して、電圧制御発信回路７３の周波数が、以前に、周波数表から最後に読み出された周波数表より４ＭＨＺ低い周波数に設定されたか否かを判定する。電圧制御発信回路７３の周波数が、周波数表から最後に読み出された周波数表より４ＭＨＺ低い周波数である場合、マイクロコントローラ５７は、電圧制御発信回路の周波数を、１ＭＨＺだけ上げ、アンテナ５９を再調整し、さらに、ブロック２６４に戻って、データの存在を再度検査する。データが再度検出されると、プログラムは、ブロック２７２に進み、そのブロックでは、検証されたオリジナルデータのモードビットが、ＭＯＤＳＶレジスタに保存された初期値に、戻される。次に、マイクロコントローラのプログラムは、ブロック２７４で、ＥＮＣＯＤＥサブルーチンを呼ぶことにより、その検出データを、さらに強力な検査にかける。
【００８０】
図１８と図１９に示す、そのＥＮＣＯＤＥサブルーチンにおいて、マイクロコントローラ５７は、まず、ブロック２７６でＲＡＭをクリヤして、ブロック２７８で、モードビットが１であるかを判定する。モードビットが１であれば、マイクロコントローラ５７は、割込を可能にして（ブロック２８０）、１０ｋＨＺか又は２０ｋＨＺのどちらかとして、データ・ストリングにおける各期間を識別する（ブロック２８２）。次に、マイクロコントローラ５７は、１２の連続１０ｋＨＺ期間を受け取ったかを判定して、そのデータが、ＧＥＮＩＥブランドの送信機により送信された起動信号に対応して、周波数シフト・キー付きであるか否かを判定する。１２の連続１０ｋＨＺ期間を受け取っていない場合は、プログラムは、エラー・カウンタを増分して（ブロック２８６）、エラー・カウンタが高すぎる値になっていないかを検査する（ブロック２８８）。エラー・カウントが、高すぎる値になっていない場合は、マイクロコントローラ５７は、１０ｋＨＺか又は２０ｋＨＺのどちらかとして、各期間を識別し、さらに１２の連続１０ｋＨＺ期間を受け取っていないか否かを判定することを継続する（ブロック２８４）。
【００８１】
マイクロコントローラ５７が、１２の連続１０ｋＨＺ期間を受け取り、１０ｋＨＺと２０ｋＨＺの期間の数に対応する、受け取ったデータをＲＡＭに保存すると、プログラムは、成功フラグを設定し（ブロック２９２）、ＥＮＣＯＤＥサブルーチンが、最後の呼ばれたブロックの次のブロックに戻る。
【００８２】
しかし、ブロック２８８において、プログラムが、エラー・カウンタが高すぎる値に達していると判定した場合、プログラムは、受け取ったデータは、「単一トーン」データであると判定して、そのデータが、「単一トーン」データであることを示すフラグを立てる。ブロック２９６において、マイクロコントローラ５７は、次に、そのデータに長期間の不動作時間があるか否かを判定する。そのデータに長期間の不動作時間がある場合には、マイクロコントローラ５７は、語形式の単一トーンデータとして、そのデータを識別し、語形式フラグを立て、さらにその不動作時間の長さを測定し、保存する（ブロック２９８）。そのデータには、長期間の不動作時間は無いと判定した後は、又は、そのデータを、語形式の単一トーンデータとして識別した後は、マイクロコントローラ５７は、そのデータ・ストリングをＲＡＭに保存して、ブロック３００で、その受け取ったデータの２５０サイクルの期間を測定する。次に、マイクロコントローラ５７は、その測定結果を２つの周波数に分類し、その期間の長さと、それぞれの合致個数を保存する（ブロック３０２）。マイクロコントローラ５７が、ブロック３０４で、その２つの周波数の内の１つに対し、２００を超える合致個数が見出されたと判定した場合は、マイクロコントローラ５７は、ブロック３０６で、そのサイクルの分類に使用される、その２つの周波数の内の１つが、１０又は２０ｋＨＺ又はその付近であるか否かを判定することにより、そのデータは、「汚れた」ＧＥＮＩＥデータであると考えられるか否かを、判定する。そのデータが、汚れたＧＥＮＩＥデータであり得る場合、又は、ブロック３０４で、２００を超える合致個数が見出されなかった場合は、マイクロコントローラ５７は、ブロック３０８で、成功フラグをクリヤして、ＥＮＣＯＤＥサブルーチンを最後に呼んだブロックの次のブロックに戻る。
【００８３】
ブロック３０６において、マイクロコントローラ５７が、そのデータは、汚れたＧＥＮＩＥデータではあり得ないと判定した場合は、マイクロコントローラ５７は、２００を超える合致個数が見出された（ブロック３１２）期間を保存し、さらにそのプログラムは、ＥＮＣＯＤＥサブルーチンを最後に呼んだブロックの次のブロックに戻る。
【００８４】
図１８のＥＮＣＯＤＥサブルーチンのブロック２７８で、マイクロコントローラ５７が、モードビットは、受け取ったデータが「遅い」ことを示す”１”ではないと判定した場合、マイクロコントローラ５７は、ブロック３１４（図１９）において、６８μｓで、受け取ったデータをサンプリングするように設定する。次に、ブロック３１６で、マイクロコントローラ５７は、低論理レベルにある、７０の連続サンプルが、見出されるときに存在する、受け取ったデータ中にある開始条件を探す。その開始条件が、見つからない場合（ブロック３１８）、マイクロコントローラ５７は、ブロック３２０で、そのデータを「連続パルスデータ」と、識別する。そのデータが、「連続パルスデータ」と識別された後、又は、開始条件が、ブロック３１８で検出された後、マイクロコントローラ５７は、低論理レベルにある連続サンプルの数が、所定数を超えているか否かを判定することにより、ブロック３２２で、データが失われたか否かを判定する。マイクロコントローラ５７が、ブロック３２２で、データが失われたと判定した場合、マイクロコントローラ５７は、ブロック３２４で、成功フラグをクリヤし、また、プログラムは、ＥＮＣＯＤＥサブルーチンを最後に呼んだブロックの次のブロックに戻る。一方、マイクロコントローラ５７が、そのデータは消失していないと判定した場合、マイクロコントローラ５７は、高又は低の論理レベルにある連続サンプルの数として、そのデータを保存し（ブロック３２６）、成功フラグを設定し（ブロック３２８）、またプログラムは、ＥＮＣＯＤＥサブルーチンを最後に呼んだブロックの次のブロックに戻る。
【００８５】
図１１に戻って、周波数表において最後に読み込んだ周波数及びその最後に読み込んだ周波数より３ＭＨＺ低い周波数で検証されたデータが、成功裏に符号化された場合（ブロック３３０）、マイクロコントローラ用プログラムは、電圧制御発信回路７３の周波数が、周波数表から最後に読み出された周波数より４ＭＨＺ低い値に設定されていたか否かを判定するために、Ｘの値を点検する（ブロック３３２）。電圧制御発信回路７３が、最後に読み出された周波数より４ＭＨＺ低い値に、以前は、設定されていたか場合、マイクロコントローラ５７は、電圧制御発信回路の周波数を１ＭＨＺだけ上げて、アンテナ５９を再調整し（ブロック３３４）、また、プログラムは、そのデータを符号化しようとしたブロック２７４に戻る。このデータが、成功裏に符号化されると、プログラムは、ノイズ・カウンタＮＯＩＳＣＮＴが増分される、ブロック３３６に進む。
【００８６】
次に、ブロック３３８で、マィクロコントローラ５７は、ＮＯＩＳＣＮＴの値を点検して、訓練可能なトランシーバ４３が、データが検証された周波数で、ノイズを受け取ったことを示している、高すぎる値か否かを判定する。ＮＯＩＳＣＮＴの値が高すぎる場合は、マイクロコントローラ５７は、周波数表から最後に読み出された周波数が、Ｃａｎａｄｉａｎ周波数（つまり、短期間の起動信号に関連する周波数）であったか否かを判定する（ブロック３４０）。
【００８７】
ＮＯＩＳＣＮＴの値が、高すぎない場合は（ブロック３３８）、又は、ＮＯＩＳＣＮＴの値が、高すぎて、周波数表から最後に読み出した周波数が、Ｃａｎａｄｉａｎ周波数ではない場合、プログラムは、ブロック３４１に進み（図１０）、そのブロックでは、プログラムは、電圧制御発信回路７３の周波数とＸの値を、図１１で、ブロック２５０に移行する前に、それらが有していた値に戻す。次に、プログラムは、ブロック２５０で、Ｘの値を増分して、ブロック２５２で、そのＸの値が１であるかを判定する。そのＸの値が１でない場合は、プログラムは、ブロック２５６に進み、そのブロックでは、プログラムが、データが以前に検出されたか否かを判定する。データが以前に検出されていれば、マイクロコントローラ５７は、信号を出力して、ＬＥＤ４８が、速く点滅するようにして、訓練の成功を示す（ブロック２５８）。しかし、Ｘが１であると（ブロック２５２）、マイクロコントローラ５７は、電圧制御発信回路７３の周波数を１ＭＨＺだけ下げて（ブロック２５４）、ブロック２２０から２４８で説明したステップを繰り返すことにより、その周波数で、データを探す。
【００８８】
図１１に戻ると、プログラムが、ブロック３３８と３４０で、ＮＯＩＳＣＮＴが非常に高く、周波数表から最後に読み出した周波数が、Ｃａｎａｄｉａｎ周波数である場合、プログラムは、Ｃａｎａｄｉａｎ周波数の直後の周波数を指定するために、周波数表にポインタを設定子（ブロック３４２）、周波数表に保存されている残りの周波数表で、データを検知することを試みるために、ブロック２１８（図１０）に進む。
【００８９】
上記のように、電圧制御発信回路７３の周波数が、無線周波数起動信号の周波数より３ＭＨＺだけ低く設定されているときに、正規のデータ符号が存在する場合、電圧制御発信回路７３の周波数が、受け取った無線周波数起動信号の周波数と、一致するために、３ＭＨＺだけ上げられたときは、そのデータは、消えるべきである。さらに、電圧制御発信回路７３の周波数が、受け取った無線周波数起動信号の周波数と同じになるように、上げられたときに検出されるデータが、成功裏に符号化され得ない場合（ブロック３３０）、正規のデータ符号が存在している。つまり、データが、ブロック２６６で検出されないか、又は、検出されたデータがブロック３３０で、成功裏に符号化されなかった場合、プログラムは、ブロック３４４（図１２）に進み、そこでは、プログラムは、３ＭＨＺの中間周波数を、電圧制御発信回路の周波数に加えて、アンテナ５９を再調整する。
【００９０】
次に、プログラムは、ＶＥＲＩＦＹサブルーチンをブロック３４６（図１２）で呼ぶことにより、検証できるデータが再出現するか否かを判定するために、点検する（図１２）。プログラムが、ブロック３４８で、データが存在すると判定した場合、プログラムは、検査をして（ブロック３５０）、モードビットが１か０かを試験することで、その検出されたデータが、「速い」であるか否かを判定する。データが、「速い」であれば（つまり、ＭＯＤＥ＝１）、マイクロコントローラ５７によって実行されるプログラムは、図１８のＥＮＣＯＤＥサブルーチンを呼ぶことにより、ブロック３５２で、この速いデータを符号化しようと試みる。その速いデータが、成功裏に符号化されないか（ブロック３５４）、又は、プログラムが、ブロック３４８でデータは存在しないと判定した場合、マイクロコントローラ５７は、電圧制御発信回路７３の周波数を、１ＭＨＺ単位で上げ、また図１７のＶＥＲＩＦＹサブルーチンを呼ぶ（ブロック２５８）ことにより、データの存在を検証する試みを再度行う。
【００９１】
データが存在すると（ブロック３６０）、マイクロコントローラ５７は、そのデータは速いか否かを、ブロック３６２で、判定する。そのデータが速い場合は、マイクロコントローラ５７は、ブロック３６４で示されるように、ＥＮＣＯＤＥサブルーチンを呼ぶことで、この速いデータを符号化することを試みる。その速いデータが、成功裏に符号化されない場合は（ブロック３６６）、又は、マイクロコントローラ５７が、ブロック３６０で、データを検出しなかった場合は、マイクロコントローラ５７は、電圧制御発信回路の周波数を、２ＭＨＺ単位で減分し、アンテナ５９を再調整し（ブロック３６８）、さらにＶＥＲＩＦＹサブルーチンを呼んで、ブロック３７０で、データの存在を点検する。
【００９２】
次に、プログラムが、ブロック３７２（図１３）において、データが、存在すると判定した場合、プログラムは、ブロック３７４において、その検出されたデータが、速いデータであるか否かを判定する。その検出されたデータが、速いデータである場合、プログラムは、ＥＮＣＯＤＥサブルーチンを呼ぶことにより、ブロック３７６で、この速いデータを符号化しようとする。この速いデータが、成功裏に符号化されないか（ブロック３７８）、又は、プログラムが、ブロック３７２で、データは、存在しないと判定した場合は、プログラムは、ブロック３３６（図１１）に進み、上記のように、ブロック３３６から３４２で示された処理を実行する。
【００９３】
プログラムが、ブロック３５０と３６２（図１２）において、速くないデータを検出した場合、プログラムは、図１４のブロック３８０に進む。同様に、プログラムが、ブロック３５４と３６６（図１２）、又はブロック３７８（図１３）において、検出した速いデータを成功裏に符号化した場合は、プログラムは、図１４のブロック３８０に進む。
【００９４】
図１４のブロック３８０に進んだので、モードビットは、ＭＯＤＳＶレジスタに保存された値に戻され、また、電圧制御発信回路７３の周波数は、データが最初に検出された周波数に戻される。マイクロコントローラ５７は、次に、受け取った起動信号の識別された周波数が、ローリング、リアルタイム、又は可変符号によって使用される、既知の周波数であるか否かを判定する（ブロック３８１）。その代わりかあるいは付加的に、マイクロコントローラ５７は、その符号が可変符号であるか否かを判定するために、ビット数等の、受け取った起動信号の他の特性を点検する。その符号が、可変符号の可能性があるときは、マイクロコントローラ５７は、ローリング符号ＩＤ（ＲＣＩＤ）サブルーチン３８２を呼ぶが、そのサブルーチンの例は、図２１を参照しながら、以下に説明する。
【００９５】
ローリング符号ＩＤサブルーチン３８２において、マイクロコントローラ５７は、まず、受け取った符号が、ダイナミックに変化しているか（例えば、送信ボタンの起動の際に、ある範囲内で）否かを判定する（ブロック５００）。その符号が、ダイナミックに変化していない場合、マイクロコントローラ５７は、第一の記憶場所ＭＥＭ１に、識別符号を保存して（ブロック５０１）、ユーザに、リモート送信機上の押しボタンスイッチを、再起動するように指示する（ブロック５０２）。次に、受け取った再送信起動信号を復調するために、同じ周波数を使用して、マイクロコントローラ５７は、別の記憶場所ＭＥＭ２に、この信号に含まれているその符号を受け取って、これを保存する（ブロック５０６）。マイクロコントローラ５７は、次に、２個所の記憶場所に保存された符号を比較して（ブロック５０８）、それらの符号が異なっているか否かを判定する（ブロック５１０）。それらの符号が、異なっていない場合は、マイクロコントローラ５７は、リモート送信機６５は、可変符号を使用していないと判断し、また、プログラムは、ブロック３８３に戻る（図１４）。それら２つの符号が、異なるか、あるいは、その受け取った符号がダイナミックに変化する場合は、マイクロコントローラ５７は、受け取った起動信号の特性を試験して、その情報と、保存した送信機識別データとを比較して、リモート送信機６５の製造元と型式を判定する。その特性は、パルス幅、パルス繰り返しレート、符号ビット数、又は識別した搬送周波数あるいはその全てを含む。リモート送信機６５の製造元と型式の識別に基づいて、マイクロコントローラ５７は、暗号アルゴリズムを識別するが、そのアルゴリズムは、以前にメモリに保存されており、同じ製造元と型式の識別した送信機と受信機によって使用されている、暗号アルゴリズムに対応している（ブロック５１４）。その暗号アルゴリズムが、以前に、マイクロコントローラのメモリに保存されていない場合、そのアルゴリズムは、入力端子６２ａを経由して、ダウンロードされる。さらに、マイクロコントローラ５７が、受け取った起動信号の特性に基づいて、リモート送信機の製造元を識別できない場合、マイクロコントローラ５７は、ユーザに、そのリモート送信機の製造元と型式を識別する識別符号か、名前を入力するように指示する。種々の組み合わせで、押しボタンスイッチ４４、４６、及び４７を押すことにより、又は入力端子６２ａを経由して、ユーザ・インタフェースを使用することにより、そのような情報を入力できる。
【００９６】
暗号アルゴリズムが識別されるか、又は提供された後、マイクロコントローラ５７は、ユーザに、「特別なシーケンス」を実行するように指示して、最後に送信された符号又は次に送信される符号に関連する連続番号を識別する（ブロック５１６）。この特別なシーケンスは、特定の製造元が使用している方法に従って、その送信機と受信機を再同期するために実行されるものである。ある場合には、このシーケンスは、下記の任意のものを、又は１つを、又は組み合わせたものを含む：リモート送信機６５の送信ボタンを、素早く二度押すこと；所定の時間の間、送信ボタンを押し下げたままにすること；第二の送信ボタンを押すこと；ボタンを組み合わせて押すこと；リモート送信機６５のキーパッドで、符号を入力すること等である。また、そのような特別なシーケンスは、車庫扉開閉機構６６の受信機上にあって、受信機に、受信機が受け取る次の符号を受け入れさせ、再同期させる、再同期又はリセット・スイッチを、操作することも含む。
【００９７】
その暗号アルゴリズムと、送信される次の符号の連続番号の識別後は、マイクロコントローラ５７は、その暗号アルゴリズムが、暗号キーを使用していない場合、車庫の扉を空けるための適切なシーケンスの符号を、その後に生成するために必要な情報を有している。そのアルゴリズムが、そのようなキーを必要とする場合は、マイクロコントローラ５７は、リモート送信機と関連する受信機によって使用される暗号キーを、学習するか、又は受け取るか、あるいは、特別な信号で送信されるか、又は他の方法で連絡される暗号キーを、ランダムに生成することが必要である。つまり、マイクロコントローラ５７は、識別した製造元によって採用されている既知の方法に基づいて、暗号キーをダウンロードするために、オリジナルの送信機（ＯＴ）シーケンスが存在するか否かを判定するはずである（ブロック５１８）。オリジナル送信機シーケンスが、暗号キーのダウンロードに使用できる場合は、マイクロコントローラ５７は、そのシーケンスを実施するために、予め保存しておいたアルゴリズムを実行するはずである（ブロック５２０）。そのシーケンスは、ユーザに、リモート送信機上の特定の送信ボタンを押す等の作業、又は、再同期用の特別なシーケンスに関して、上述したものと似た技術を実施するように指示することを含む。そのオリジナル送信機シーケンスの実施により、暗号キーが、マイクロコントローラ５７の不揮発性メモリにダウンロードされる（ブロック５２２）。
【００９８】
マイクロコントローラ５７は、暗号アルゴリズムと暗号キーを使用して、同期を取る目的で（必要な場合）連続番号を、解読する（ブロック５２４）。次に、マイクロコントローラ５７は、ＬＥＤ４８に、成功裏に訓練がなされたことを示す、速い点滅をさせる（ブロック５２６）。
【００９９】
その暗号キーをダウンロードするためのオリジナル送信機シーケンスが無い場合には、マイクロコントローラ５７は、車庫扉開閉機構６６は、新しい暗号キーを受け取って使用するために、その上のボタンを押すか、他のシーケンスを実行することにより、リセットされることを仮定する。つまり、マイクロコントローラ５７は、ランダムに暗号キーを生成して（ブロック５２８）、そのキーを識別した製造元用の適切なプロトコルを使用して、受信機に送信することにより、受信機を同期させる。その受信機が、同期すると、マイクロコントローラ５７は、ＬＥＤ４８に、成功裏に訓練がなされたことを示す、速い点滅をさせる（ブロック５２６）。
【０１００】
２台以上の送信機が、車庫の扉を開けるために使用されている場合は、マイクロコントローラ５７は、送信機識別タグを含むメッセージ・ヘッダを表す符号の部分を判定するために、暗号アルゴリズムを使用して、受け取った符号を再生して、その受け取った符号と、再生した符号とを比較することにより、送信識別タグを含む送信符号の部分を識別できる。次に、識別した識別タグは、可変符号と共に後続の送信用固定メッセージヘッダに含まれる他のデータと共に保存される。
【０１０１】
図１４に戻り、周波数が、可変符号用に使用されていることが知られていない場合は、ノイズ・カウンタＮＯＩＳＣＮＴが、クリヤされて（ブロック３８３）、ＶＥＲＩＦＹサブルーチンが、ブロック３８４で呼ばれる。その後、可変符号が、存在していない場合（ブロック３８６）、マイクロコントローラ５７は、ユーザに、リモート送信機６５上の起動スイッチを再度、押すことを指示するために、５秒タイマを設定して、明確に分かるように、ＬＥＤ４８にゆっくりとした２重点滅を開始させる（ブロック３８８）。通常は必要がないが、ユーザに対して、リモート送信機に、その起動信号を再送信させるように指示することにより、マイクロコントローラ５７は、訓練可能なトランシーバ４３が、成功裏に、短い周期の起動信号を学習できる可能性を増大する。
【０１０２】
次に、プログラムは、可変データが検出されるか（ブロック３９２）、又は５秒等の所定の時間間隔が、満了するまで（ブロック３９４）、繰り返し、ＶＥＲＩＦＹサブルーチンを呼ぶ（ブロック３９０）。可変データが、ブロック３８６、又はブロック３９２で検出されるか、又は、時間がブロック３９４で満了すると、プログラムは、ＥＮＣＯＤＥサブルーチンを呼ぶ（ブロック３９６）。その後、そのデータが、成功裏に符号化されなかった場合（ブロック３９８）、プログラムは、ノイズ・カウンタＮＯＩＳＣＮＴを増分し（ブロック４００）、ＮＯＩＳＣＮＴが、４であるか否かを点検する（ブロック４０２）。ＮＯＩＳＣＮＴが４でない場合は、プログラムは、その受け取ったデータ符号を検証し、符号化することを再度、試みるために、ブロック３８４に戻る。ＮＯＩＳＣＮＴが４の場合は（ブロック４０２）、プログラムは、図１０のブロック３４１に進み、そのブロックでは、電圧制御発信回路の周波数とＸカウンタが、復元され、処理は、前記のように、ブロック２５０に進む。
【０１０３】
ブロック３９８において、データ符号が、成功裏に符号化されたことが判定されると、プログラムは、そのデータが、ブロック４０４で、単一トーンデータと、以前に識別されたか否かを点検する。そのデータが、単一トーンデータである場合、プログラムは、スタボーン（ＳＴＵＢＲＮ）ビット蓋然に設定されたか否かを判定する（ブロック４０６）。最初は、そのＳＵＴＢＲＮビットは、設定されない。しかし、ＳＵＴＢＲＮビットが、以前に成功裏に単一トーンデータに対する訓練ができなかったために、ブロック４９４（図１６）で、その後に設定され、また処理が、ブロック４０６に戻っている場合、プログラムは、ブロック４００で、ノイズ・カウンタＮＯＩＳＣＮＴをぞうぶんして、前記のように、その処理を続行する。ブロック４０４において、マイクロコントローラ５７が、検出したデータは、単一トーンデータではないと判定すると、マイクロコントローラ５７は、ブロック４０８で、ＣＯＮＤＥＮＳＥサブルーチンを呼ぶことにより、符号化したデータを圧縮しようとする。そのＣＯＮＤＥＮＳＥサブルーチンは、ＥＮＣＯＤＥサブルーチンの最後の実行の間に、メモリに保存されたデータを圧縮しようとするために採用されるので、データシーケンスを多数回繰り返す保存された符号信号は、必要以上のメモリを消費しない。そのＣＯＮＤＥＮＳＥサブルーチンは、図２０を参照しながら、以下に説明する。
【０１０４】
まず、ブロック４１０において、プログラムは、モードビットが、１であるか否かを判定する。そのモードビットが１である場合は、プログラムは、３回以下の期間を有するデータが、あるか否か（つまり、符号化されたデータが、符号化されて、マイクロコントローラ５７に保存された一連のデータの範囲内で、３回以下繰り返されているデータ・シーケンスを、含んでいるか否か）を判定する。そのデータが、３回以下の期間を有していれば、プログラムは、ブロック４１４で、そのデータを圧縮する試みは、失敗したことを表示して、ブロック４４６に戻る（図１５）。
【０１０５】
一方、３回以下の期間を有するデータが無い場合は、プログラムは、その符号化され、保存されたデータが、３０回以上の期間を有する１０ｋＨＺデータを、有するか否かを判定する（ブロック４１６）。３０回以上の期間を有する１０ｋＨＺデータがある場合は、プログラムは、そのデータを圧縮する試みが、失敗したことを表示して（ブロック４１４）、図１４の処理に戻る（ブロック４４６）。３０回以上の期間を有する１０ｋＨＺデータが無い場合は（ブロック４１６）、プログラムは、その圧縮されたデータ符号の開始ポインタを、その符号化されて、保存されたデータの最初のデータ位置に設定する（ブロック４１８）。次に、プログラムは、１２回以上の期間を有する最後の１０ｋＨＺデータに等しい、その保存されたデータに対して、終了ポインタを設定し（ブロック４２０）、そのデータを圧縮する試みが成功したことを表示して（ブロック４２２）、１５のブロック４４６に戻る。このようにして、保存された符号化データは、送信モードの間、メモリから繰り返し読み出される、短縮形式に圧縮される。
【０１０６】
ブロック４１０において、プログラムが、モードビットが１ではないと判定した場合、プログラムは、その保存された符号化データが、長期間の低論理レベルを含んでいるか否かを判定する（ブロック４２４）。その保存された符号化データが、長期間の低論理レベルを含んでいない場合、ブロック４２６で、そのデータは、連続であると判定されて、ブロック４２８で、プログラムは、全データ・バンクは、その符号化データを保存するために使用されるべきであると、判定する。ブロック４２４において、そのデータが、長期間の低論理レベルを含んでいると判定された場合、その圧縮データ用の開始ポインタは、保存された符号化データの最初の位置に設定され、また、その圧縮データの終了ポインタは、保存された符号化データの範囲内で、その長期間の低論理レベルの最後の位置に設定される（ブロック４３２）。
【０１０７】
次に、プログラムは、そのデータが、連続した高論理レベル状態の１２０個以上のサンプルを含んでいるか否かを判定するために、その保存された圧縮データを点検する（ブロック４３４）。そのような連続した高論理レベル期間が見つかった場合、プログラムは、ブロック４３６における、そのデータの圧縮は、失敗したことを表示して、図１４のブロック４４６に戻る。連続した高論理レベル状態の１２０個を超えるサンプルが無い場合は、２個の連続サンプルに対して存在しない、高又は低論理レベルの発生が、あるか否かを判定するために、その保存された圧縮データが、試験される（ブロック４４０）。そのような発生が識別された場合は、ブロック４３６で、そのデータの圧縮の試みが、失敗したことを表示して、プログラムは、ブロック４４６に進む。
【０１０８】
ブロック４４０で、そのような発生が無い場合は、その保存されたデータ・ストリングの長さが、１０サンプル未満であるかが判定される（ブロック４４２）。そのデータ・ストリングが、１０サンプル長未満である場合、ブロック４３６における、そのデータの圧縮の試みは、失敗であることが表示される。一方、保存された圧縮データが、１０個以上のサンプルで構成されている場合は、ブロック４４４において、そのデータを圧縮する試みは、成功であると表示されて、プログラムは、図１４のブロック４４６に進む。
【０１０９】
図１４のブロック４４６において、符号化データの圧縮の試みが、成功であるか否かが判定される。その試みが、成功でなければ、マイクロコントローラ５７は、ブロック４００で、ノイズ・カウンタＮＯＩＳＣＮＴを増分して、プログラムは、上記のように進行する。その符号化されたデータが、成功裏に圧縮されると、プログラムは、そのデータが、以前に、連続パルス・データであることが見付けられたか否かを判定する（ブロック４４８）。そのデータが、連続パルス・データではない場合、プログラムは、ブロック４５０で、図１８と１９のＥＮＣＯＤＥサブルーチンそのデータが、連続パルス・データである場合、又は、そのデータが、試験ブロック４５２に示すように、ブロック４５０において、成功裏に符号化されている場合は、プログラムは、図１５のブロック４５４に進む（ブロック４５２）。そうでない場合は、プログラムは、ノイズ・カウンタＮＯＩＳＣＮＴを増分して、上記のように進行する、ブロック４００に進む。
【０１１０】
ブロック４５４において（図１５）、プログラムは、モードビットと単一トーンビットを点検して、そのデータが、ＧＥＮＩＥデータであるか否かを判定する。そのモードビットが１で、単一トーンフラグが、設定されていなければ、プログラムは、ブロック４５６に進み、そのブロックでは、マイクロコントローラ５７は、受け取った起動信号の識別した搬送信号を、５ＭＨＺ単位で、２９０−３２０ＭＨＺの範囲内の、数個の既知のＧＥＮＩＥ動作周波数の１つに分類する。つまり、例えば、受け取った起動信号の識別した搬送周波数が、３０１ＭＨＺと３０４ＭＨＺの間であれば、マイクロコントローラ５７は、保存されて、その後に送信される搬送周波数が、３００ＭＨＺと３０５ＭＨＺに近いと判定する。ブロック４５６においても、プログラムは、データが検出されたことを表示するために、ＤＡＴＰＲＥＶフラグを設定する。次に、プログラムは、ブロック４５８に進み、マイクロコントローラ５７は、図１０のブロック２１８に戻る前に、その新しいデータを保存する。
【０１１１】
ブロック４５４で、プログラムがモードビットが１ではないと判定した場合、電圧制御発信回路７３の周波数が、周波数表の周波数より３ＭＨＺだけ低く設定されたときに、データが初めて検出されたか否かを判定するために、プログラムは、Ｘの値が”０”であるかを判定する（ブロック４６０）。Ｘの値が”０”であると、プログラムは、周波数表の次の値を読んで、この値が前の値より１ＭＨＺ離れているかを判定する（ブロック４６２）。周波数表の次の値が、１ＭＨＺ離れていれば、マイクロコントローラ５７は、新しいデータを保存し（ブロック４５８）、また、プログラムは、ブロック２１８に戻って（図１０）、上記のように進行する。周波数表の次の値が、前の周波数から１ＭＨＺ離れていなければ、マイクロコントローラ５７は、そのデータを保存した後、ＬＥＤ４８を速く点滅させる信号を出して、訓練シーケンスの成功を表示する（ブロック４６４）。
【０１１２】
ブロック４６０において、プログラムが、Ｘは”０”ではないと判定すると、プログラムは、ＤＡＴＰＲＥＶフラグが、１であるか否かを点検する（ブロック４６６）。ＤＡＴＰＲＥＶフラグが、１でなければ、マイクロコントローラ５７は、そのデータを保存して、ＬＥＤ４８を速く点滅させる信号を出す（ブロック４６４）。ＤＡＴＰＲＥＶフラグが、１であれば、プログラムは、前のデータが周波数表に保存された周波数より３ＭＨＺだけ低い周波数で、訓練されていたかを判定する（ブロック４６８）。前のデータが、周波数表に保存された周波数より３ＭＨＺだけ低い周波数で、訓練されていた場合は、マイクロコントローラ５７は、電圧制御発信回路７３の周波数が、周波数表の周波数より３ＭＨＺだけ低い周波数であったときに得られたデータに戻して、ＬＥＤ４８を速く点滅させて、訓練シーケンスの成功を表示する（ブロック４７０）。電圧制御発信回路７３の周波数が、周波数表の周波数より３ＭＨＺだけ低い周波数であった時に、前のデータが、訓練されていなかった場合（ブロック４６８）、マイクロコントローラ５７は、そのデータを保存して、ＬＥＤ４８を速く点滅させて（ブロック４６４）、訓練シーケンスの成功を表示する。
【０１１３】
図１４に戻り、マイクロコントローラ５７が、読み出したデータ符号が、ブロック４０４において、単一トーンであると判定し、ブロック４０６において、ＳＴＵＢＲＮビットは、設定されていないと判定すると、プログラムは、図１６のブロック４７２に進む。ブロック４７２において、マイクロコントローラ５７は、ＤＡＴＰＲＥＶフラグが、設定されているかを判定する。ＤＡＴＰＲＥＶフラグが、設定されているときは、マイクロコントローラ５７は、ＬＥＤ４８を速く点滅させて、訓練シーケンスの成功を表示する（ブロック４７４）。一方、マイクロコントローラ５７が、ＤＡＴＰＲＥＶフラグが、設定されていないときは、マイクロコントローラ５７は、周波数表から最後に読まれた周波数表が、Ｃａｎａｄｉａｎ周波数表であるかを判断することにより、それが、Ｃａｎａｄｉａｎの速いモードで動作しているか否かを判定する（ブロック４７６）。マイクロコントローラ５７が、Ｃａｎａｄｉａｎの速いモードで動作している場合、プログラムは、図１０のブロック３０８に進み、上記のように進行する。マイクロコントローラ５７が、Ｃａｎａｄｉａｎの速いモードで動作していない場合、プログラムは、３ＭＨＺの中間周波数を電圧制御発信回路７３の周波数に加算する（ブロック４７８）。
【０１１４】
次に、マイクロコントローラ５７は、Ｒの値を保存して、マイクロコントローラ５７の不揮発性メモリに増加された電圧制御発信回路７３の周波数に必要なＮの値を保存する（ブロック４８０）。次に、マイクロコントローラ５７は、電圧制御発信回路７３の周波数を、２ＭＨＺだけ下げて（ブロック４８２）、この周波数を可変のＤＡＴＣＨＫに保存する（ブロック４８４）。このとき、プログラムは、この新しい電圧制御発信、回路７３の周波数でデータを符号化することを試みるために、図１８と１９のＥＮＣＯＤＥサブルーチンを呼ぶ（ブロック４８６）。このデータが、成功裏に符号化されない場合（ブロック４８８）、プログラムは、ＤＡＴＰＲＥＶフラグを設定し（ブロック４９０）、図１０のブロック２１８に戻る。ブロック２１８に戻ることにより、プログラムは、周波数表の次の周波数より３又は４ＭＨＺ低い周波数で、データが検証されたか否かを点検する。検証されたデータが、これらの周波数で見つからない場合は、プログラムが、ＤＡＴＰＲＥＶフラグが、ブロック２５６で設定されたと判定するので、ブロック２５８において、訓練の成功が表示される。
【０１１５】
ブロック４８８において、プログラムは、データを符号化する試みは成功であると判定すると、プログラムは、ブロック４９２において、その符号化されたデータは、単一トーンデータであるかを判定する。そのデータが、単一トーンデータでなければ、マイクロコントローラ５７は、ノイズ・カウンタＮＯＩＳＣＮＴをクリヤして、ＳＴＵＢＲＮビットを設定し（ブロック４９４）、図１４のブロック４８０に進む。そのデータが、単一トーンデータであれば、マイクロコントローラ５７は、そのデータの周波数を点検して、それが、１８ｋＨＺを超えているかを判定する。そのときに、そのデータが、１８ｋＨＺを超えている場合、マイクロコントローラ５７は、以前のデータが、１５ｋＨＺ未満の周波数を有していたかを点検する（ブロック４９８）。以前のデータが、１５ｋＨＺ未満の周波数を有していなかったか、又は、成功裏に符号化された単一トーンデータの周波数が、１８ｋＨＺを超えていない場合は、マイクロコントローラ５７は、ブロック４７６に戻り、上記のように進行する。以前のデータが、１５ｋＨＺ未満の周波数を有していた場合、プログラムは、ＤＡＴＰＲＥＶフラグを設定し（ブロック５００）、図１０のブロック２１８に戻り、上記のように進行する。
【０１１６】
訓練シーケンスの成功が肯定応答されるか、マイクロコントローラ５７が、リモート送信機が、通常、動作する２００と４００ＭＨＺの範囲で、１ＭＨＺ毎に、全ての周波数で、データを点検してしまうまでは、上記の処理は、継続される。
【０１１７】
本発明は、特定の要素を含み、好適な実施例に従って特定の方法で動作する用に説明されてきたが、本発明のある様態は、本発明の特別な機能を必要としないで実施される。例えば、本発明の訓練可能なトランシーバは、ダイナミックに調節されるアンテナ又は可変利得増幅回路を備える必要は無いし、短い繰り返しの起動信号に対する訓練のための手順を実行する必要もない。同様に、可変起動信号に対する訓練のための手順は、上記の好適な実施例の特別に構造的な運用で、実施される必要がない。例えば、可変起動信号に関する訓練手順は、上記の米国特許第５，４４２，３４０で公表されたものか、又は、上記の米国特許第５，４７５，３６６で公表されたもの等の訓練可能なトランシーバにおいて、実施され得る。
【０１１８】
さらに、上記の公表されたものとは違う方法が、可変符号起動信号に対する訓練のために、必要なデータを、マイクロコントローラに提供するために、使用され得る。例えぱ、暗号キー等のデータは、ページング信号を使用して、訓練可能なトランシーバのマイクロコントローラに送信される。別のアプローチは、自動車のＣＤ（コンパクト・ディスク）プレーヤーから訓練可能なトランシーバのマイクロコントローラにダウンロードするために、暗号アルゴリズムと暗号キーを含んでいる可変符号を使用して、製造元が、ＣＤをシステムに備えることである。
【０１１９】
可変符号を送信するリモート送信機が、送信機と受信機の同期が外れたときに、再同期信号も、受信機に送信するために使用される場合、本発明の訓練可能なトランシーバは、その再同期信号を学習し、再送信するように、訓練される。これは、起動信号に対する訓練用の、上記の手順を使って、訓練可能なトランシーバの他のチャネルの１つを訓練することによって、問題なく達成される。
【０１２０】
本発明を実行する人、及び当業者にとっては、本発明に対する種々の変更や改善は、請求項及び法律によって許される、それら請求項の解釈によって、決定される本発明の精神又は範囲から逸脱することなく、実施されることは明白である。
【図面の簡単な説明】
【０１２１】
【図１】本発明の訓練可能なトランシーバを収納するためのオーバーヘッド・コンソールを有する自動車内の部分斜視図である。
【図２】本発明の訓練可能なトランシーバの斜視図である。
【図３】本発明の訓練可能なトランシーバを内蔵するバイザの斜視図である。
【図４】本発明の訓練可能なトランシーバを内蔵するミラー・アセンブリの斜視図である。
【図５】本発明の訓練可能なトランシーバの、プロックと回路を組み合わせ電気回路図である。
【図６】図５に示す回路の詳細を示すブロックと回路を組み合わせた電気回路図である。
【図７】図６に示す電圧制御発信回路の詳細を示す電気回路図である。
【図８】図６に示す位相ロック・ループの詳細を示す、ブロックと回路を組み合わせた電気回路図である。
【図９】図５と図６に示すマイクロコントローラ用プログラムのフローチャートである
【図１０】図５と図６に示すマイクロコントローラが実行する訓練シーケンスのフローチャートである。
【図１１】図５と図６に示すマイクロコントローラが実行する訓練シーケンスのフローチャートである。
【図１２】図５と図６に示すマイクロコントローラが実行する訓練シーケンスのフローチャートである。
【図１３】図５と図６に示すマイクロコントローラが実行する訓練シーケンスのフローチャートである。
【図１４】図５と図６に示すマイクロコントローラが実行する訓練シーケンスのフローチャートである。
【図１５】図５と図６に示すマイクロコントローラが実行する訓練シーケンスのフローチャートである。
【図１６】図５と図６に示すマイクロコントローラが実行する訓練シーケンスのフローチャートである。
【図１７】図５と図６に示すマイクロコントローラが実行する訓練プログラムの間に、使用されるデータ検査サブルーチンのフローチヤートである。
【図１８】図５と図６に示すマイクロコントローラが実行する訓練プログラムによって使用される符号化サブルーチンのフローチャートである。
【図１９】図５と図６に示すマイクロコントローラが実行する訓練プログラムによって使用される符号化サブルーチンのフローチヤートである。
【図２０】図５と図６に示すマイクロコントローラが実行する訓練プログラムに使用される圧縮サブルーチンのフローチャートである。
【図２１】図５と図６に示すマイクロコントローラが実行する訓練プログラムに使用されるローリング・コード識別及び訓練サブルーチンのフローチャートである。
【符号の説明】
【０１２２】
４３  訓練可能なトランシーバ
４４  押しボタンスイッチ
４６  押しボタンスイッチ
４７  押しボタンスイッチ
４８  発光ダイオード
４９  インタフェース回路
５５  訓練可能なトランシーバ回路
５６  電源
５７  マイクロコントローラ
５８  無線周波数回路
５９  マンテナ
６０  自動車の電源
６１  コネクタ
６２  データ入力端子
６５  リモート送信機
６６  車庫扉開閉装置
【図１】
2008228325.tif 000003
【図２】
2008228325.tif 000004
【図３】
2008228325.tif 000005
【図４】
2008228325.tif 000006
【図５】
2008228325.tif 000007
【図６】
2008228325.tif 000008
【図７】
2008228325.tif 000009
【図８】
2008228325.tif 000010
【図９】
2008228325.tif 000011
【図１０】
2008228325.tif 000012
【図１１】
2008228325.tif 000013
【図１２】
2008228325.tif 000014
【図１３】
2008228325.tif 000015
【図１４】
2008228325.tif 000016
【図１５】
2008228325.tif 000017
【図１６】
2008228325.tif 000018
【図１７】
2008228325.tif 000019
【図１８】
2008228325.tif 000020
【図１９】
2008228325.tif 000021
【図２０】
2008228325.tif 000022
【図２１】
2008228325.tif 000023
【手続補正書】
【提出日】平成20年4月4日(2008.4.4)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
暗号アルゴリズムを用いる可変符号であって、リモート送信機からの前記可変符号の受信に応答して装置を起動する受信機によって受信されるべき可変符号を送信するよう構成されるリモート送信機と、
前記リモート送信機により使用された前記暗号アルゴリズムを識別して、前記受信機を作動するために使用される前記可変符号を生成する訓練可能な送信機であって、該訓練可能な送信機は、学習及び動作モードで動作するコントローラであって、
該コントローラは、前記リモート送信機によって使用された前記暗号化アルゴリズムに関係するアルゴリズムを識別して、前記可変符号を生成し、前記アルゴリズムを識別するデータを保存し、前記コントローラはまた、前記識別されたアルゴリズムを使用して可変符号を表す出力データを生成するよう構成されるコントローラと、
前記コントローラに接続され、前記出力データを前記コントローラから受け取り、前記受信機によって認識可能な可変符号を含む、変調された信号を送信する信号発生器であって、前記訓練可能な送信機からの前記可変符号の受信に応答して、前記受信機が前記装置を起動する信号発生器とを備える訓練可能な送信機と、
を具備することを特徴とするリモート起動システム。
【請求項２】
前記コントローラは、ユーザの入力に基づいて、前記リモート送信機によって使用された暗号アルゴリズムに関連するアルゴリズムを識別するよう構成される
ことを特徴とする請求項１に記載のシステム。
【請求項３】
前記コントローラは、固定符号或いは可変符号のいずれも送信可能なチャネルを含む
ことを特徴とする請求項１に記載のシステム。
【請求項４】
前記訓練可能な送信機は、チャネルが、固定符号或いは可変符号を送信するようプログラムされているか否かを決定するよう構成される
ことを特徴とする請求項１に記載のシステム。
【請求項５】
前記訓練可能な送信機は、複数の装置をコントロールするよう構成された複数のチャネルを含み、
第１のチャネルは固定符号を送信するようプログラムされ、第２のチャネルは可変符号を送信するよう構成される
ことを特徴とする請求項１に記載のシステム。
【請求項６】
前記コントローラは、前記リモート送信機から受信される信号の、パルス幅、パルス繰り返しレート、符号ビット数、識別された搬送周波数のうち少なくとも１つ以上を解析することによって、前記リモート送信機によって使用された前記暗号アルゴリズムに関係するアルゴリズムを識別して、前記可変符号を生成する
ことを特徴とする請求項１に記載のシステム。
【請求項７】
前記コントローラは、前記リモート送信機の型式及びモデルを識別することによって、前記リモート送信機によって使用された前記暗号アルゴリズムに関係するアルゴリズムを識別して、前記可変符号を生成する
ことを特徴とする請求項１に記載のシステム。
【請求項８】
前記リモート送信機及び前記訓練可能な送信機に応答して、前記受信機により作動される前記装置は、車庫扉開放機構を具備する
ことを特徴とする請求項１に記載のシステム。
【請求項９】
前記コントローラは、前記訓練可能な送信機に予め保存される複数の暗号アルゴリズムから１つの暗号アルゴリズムを選択することにより、前記リモート送信機により使用された前記暗号アルゴリズムを識別する
ことを特徴とする請求項１に記載のシステム。
【請求項１０】
前記コントローラは、前記リモート送信機が動作するシステムの製造元を識別し、該製造元に対応する暗号アルゴリズムを選択することにより、前記リモート送信機により使用された前記暗号アルゴリズムを識別する
ことを特徴とする請求項１に記載のシステム。
【請求項１１】
前記コントローラは、前記起動信号の特性を解析し、解析された特性を、前記訓練可能な送信機に保存される情報と比較することにより、前記リモート送信機が動作するシステムの製造元を識別する
ことを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記コントローラは、前記システムの前記製造元を示すユーザ入力を受信することにより、前記リモート送信機が動作するシステムの製造元を識別する
ことを特徴とする請求項１０に記載のシステム。