(57)【特許請求の範囲】
【請求項１】
送信装置と受信装置を含むプログラマブル無線通信システムであって、
前記送信装置は、無線送信手段と送信処理手段を含み、
前記送信処理手段は、
送信装置ファームウェアを実行し、
送信装置ソフトウェア・アプリケーションを実行し、
前記送信装置ファームウェアと前記送信装置ソフトウェア・アプリケーションとの間の送信装置インタフェースを作動させるものであり、
前記インタフェースは、１つ以上のオペレータをサポートし、各々の前記オペレータは、１つ以上のエレメントに作用し、
前記送信装置ファームウェアは、
前記インタフェースを介して、仮想パイプと対応した、前記１つ以上のオペレータおよび前記１つ以上のエレメントを、前記送信装置ソフトウェア・アプリケーションから受信する命令と、
前記１つ以上のオペレータおよび前記１つ以上のエレメントをエンコードする命令と、
前記無線送信手段を使用して、エンコードした前記１つ以上のオペレータおよび前記１つ以上のエレメントを無線によって送信する命令と、
を含み、
前記受信装置は、無線受信手段と受信処理手段を含み、
前記受信処理手段は、
受信装置ファームウェアを実行し、
受信装置ソフトウェア・アプリケーションを実行し、
前記受信装置ファームウェアと前記受信装置ソフトウェア・アプリケーションとの間の受信装置インタフェースを作動させるものであり、
前記受信装置ファームウェアは、
前記無線受信手段を使用して、エンコードした前記１つ以上のオペレータおよび前記１つ以上のエレメントを受信する命令と、
前記１つ以上のオペレータおよび前記１つ以上のエレメントをデコードする命令と、
受信装置ソフトウェア・アプリケーションに対して、前記受信装置インタフェースを介して、前記１つ以上のオペレータおよび前記１つ以上のエレメントを送信し、前記送信装置ソフトウェア・アプリケーションと、前記受信装置ソフトウェア・アプリケーションと、の間の前記仮想パイプを生成する命令と、
を含むことを特徴とするプログラマブル無線通信システム。
【請求項２】
前記１つ以上のオペレータおよび前記１つ以上のエレメントが、識別子によってエンコードされる、請求項１記載のプログラマブル無線通信システム。
【請求項３】
前記識別子が数である、請求項２記載のプログラマブル無線通信システム。
【請求項４】
前記送信装置ファームウェアが、前記１つ以上のオペレータおよび前記１つ以上のエレメントと対応したパイプ識別子を決定する命令をさらに含む、請求項２または請求項３に記載のプログラマブル無線通信システム。
【請求項５】
前記受信装置ファームウェアが、受信パイプ識別子と関連した前記１つ以上のオペレータおよび前記１つ以上のエレメントを決定する命令をさらに含む、請求項２から請求項４の何れか１項に記載のプログラマブル無線通信システム。
【請求項６】
前記送信装置ファームウェアが、前記送信装置ソフトウェア・アプリケーションから、前記送信装置インタフェースを介して、数値を受信する命令と、
前記無線送信手段を使用して、前記数値を送信する命令と、
をさらに含む請求項１から請求項５の何れか１項に記載のプログラマブル無線通信システム。
【請求項７】
前記無線受信手段を使用して、前記受信装置ファームウェアが、数値を受信する命令と、
前記受信装置ソフトウェア・アプリケーションから、前記受信装置インタフェースを介して、前記数値を送る命令と、
をさらに含む請求項１から請求項６の何れか１項に記載のプログラマブル無線通信システム。
【請求項８】
前記送信装置ソフトウェア・アプリケーションが、前記送信装置ソフトウェア・アプリケーション自体が前記１つ以上のオペレータおよび前記１つ以上のエレメントと結合しているパイプ識別子を決定する、前記送信装置ファームウェアをさらに含む、請求項１から請求項５の何れか１項に記載のプログラマブル無線通信システム。
【請求項９】
前記送信装置ソフトウェア・アプリケーションが、前記パイプ識別子を、前記無線送信手段に渡すように決められている、請求項８記載のプログラマブル無線通信システム。
【請求項１０】
前記送信装置が、無線送信チップとセパレート・マイクロプロセッサとをさらに含む、
請求項１から請求項９の何れか１項に記載のプログラマブル無線通信システム。
【請求項１１】
前記送信装置ファームウェアが、前記無線送信チップ上のプロセッサで実行される、請求項１０に記載のプログラマブル無線通信システム。
【請求項１２】
受信装置ファームウェアが、無線受信チップ上のプロセッサで実行される、請求項１から請求項１１の何れか１項に記載のプログラマブル無線通信システム。
【請求項１３】
前記送信装置ファームウェアと前記送信装置ソフトウェア・アプリケーションが、無線送信チップ上のプロセッサで実行される、請求項１から請求項１２の何れか１項に記載のプログラマブル無線通信システム。
【請求項１４】
前記受信装置ファームウェアと前記受信装置ソフトウェア・アプリケーションが、無線受信チップ上のプロセッサで実行される、請求項１から請求項１３の何れか１項に記載のプログラマブル無線通信システム。
【請求項１５】
プログラマブル無線通信システムの送信装置であって、
前記送信装置は、無線送信手段と送信処理手段からなり、
前記送信処理手段は、
送信装置ファームウェアを実行し、
送信装置ソフトウェア・アプリケーションを実行し、
前記送信装置ファームウェアと前記送信装置ソフトウェア・アプリケーションとの間の送信装置インタフェースを作動させるものであり、
前記送信装置インタフェースは、１つ以上のオペレータをサポートし、各々の前記オペレータは、１つ以上のエレメントに作用するものであり、
前記送信装置ファームウェアは、
前記送信装置インタフェースを介して、仮想パイプと対応した、前記１つ以上のオペレータおよび前記１つ以上のエレメントを、前記送信装置ソフトウェア・アプリケーションから受信する命令と、
前記１つ以上のオペレータおよび前記１つ以上のエレメントをエンコードする命令と、
前記無線送信手段を使用して、エンコードした前記１つ以上のオペレータおよび前記１つ以上のエレメントを無線によって送信する命令と、
を含む、プログラマブル無線通信システムの送信装置。
【請求項１６】
前記１つ以上のオペレータおよび前記１つ以上のエレメントが、識別子によってエンコードされる、請求項１５に記載のプログラマブル無線通信システム。
【請求項１７】
前記識別子が数である、請求項１６に記載のプログラマブル無線通信システムの送信装置。
【請求項１８】
前記送信装置ファームウェアが、前記１つ以上のオペレータおよび前記１つ以上のエレメントと対応したパイプ識別子を決定する命令をさらに含む、請求項１６または請求項１７に記載のプログラマブル無線通信システム。
【請求項１９】
前記送信装置ファームウェアが、前記送信装置ソフトウェア・アプリケーションから、前記送信装置インタフェースを介して、数値を受信する命令と、
前記無線送信手段を使用して、前記数値を送信する命令と、
をさらに含む請求項１５から請求項１８の何れか１項に記載のプログラマブル無線通信システムの送信装置。
【請求項２０】
前記送信装置ソフトウェア・アプリケーションが、前記送信装置ソフトウェア・アプリケーション自体が前記１つ以上のオペレータおよび前記１つ以上のエレメントと結合しているパイプ識別子を決定する前記送信装置ファームウェアをさらに含む、請求項１５から請求項１９の何れか１項に記載のプログラマブル無線通信システムの送信装置。
【請求項２１】
前記送信装置ソフトウェア・アプリケーションが、前記パイプ識別子を前記無線送信手段に渡すように決められている、請求項２０記載のプログラマブル無線通信システムの送信装置。
【請求項２２】
前記送信装置が、無線送信チップとセパレート・マイクロプロセッサとを含む、請求項１５から請求項２１の何れか１項に記載のプログラマブル無線通信システムの送信装置。
【請求項２３】
前記送信装置ファームウェアが、前記無線送信チップ上のプロセッサで実行される、請求項２２に記載のプログラマブル無線通信システムの送信装置。
【請求項２４】
前記送信装置ファームウェアと、前記送信装置ソフトウェア・アプリケーションとが、無線送信チップ上のプロセッサで実行される、請求項１５から請求項２３の何れか１項に記載のプログラマブル無線通信システムの送信装置。
【請求項２５】
プログラマブル無線通信システムの受信装置であって、
前記受信装置は、無線受信手段と受信処理手段からなり、
前記受信処理手段は、
受信装置ファームウェアを実行し、
受信装置ソフトウェア・アプリケーションを実行し、
前記受信装置ファームウェアと前記受信装置ソフトウェア・アプリケーションとの間の受信装置インタフェースを作動させるものであり、
前記受信装置ファームウェアは、
前記無線受信手段を使用して、エンコードした１つ以上のオペレータおよび１つ以上のエレメントを受信する命令と、
前記エンコードした前記１つ以上のオペレータおよび前記１つ以上のエレメントをデコードする命令と、
受信装置ソフトウェア・アプリケーションに対して、前記受信装置インタフェースを介して前記１つ以上のオペレータおよび前記１つ以上のエレメントを送信し、送信装置ソフトウェア・アプリケーションと、前記受信装置ソフトウェア・アプリケーションと、の間の仮想パイプを生成する命令と、を含むことを特徴とするプログラマブル無線通信システムの受信装置。
【請求項２６】
前記１つ以上のオペレータおよび前記１つ以上のエレメントが、識別子によってエンコードされる請求項２５記載のプログラマブル無線通信システムの受信装置。
【請求項２７】
前記識別子が数である、請求項２６記載のプログラマブル無線通信システム。
【請求項２８】
前記受信装置ファームウェアが、前記１つ以上のオペレータおよび前記１つ以上のエレメントと対応したパイプ識別子を決定する命令をさらに含む、請求項２６または請求項２７に記載のプログラマブル無線通信システムの受信装置。
【請求項２９】
前記受信装置ファームウェアが、受信パイプ識別子と関連した前記１つ以上のオペレータおよび前記１つ以上のエレメントを決定する命令をさらに含む、請求項２６から請求項２８の何れか１項に記載のプログラマブル無線通信システムの受信装置。
【請求項３０】
前記無線受信手段を使用して、前記受信装置ファームウェアが数値を受信する命令と、
前記受信装置ソフトウェア・アプリケーションから、前記受信装置インタフェースを介して、前記数値を送る命令と、
をさらに含む、請求項２５から請求項２９の何れか１項に記載のプログラマブル無線通信システムの受信装置。
【請求項３１】
前記受信装置ソフトウェア・アプリケーションが、前記受信装置ソフトウェア・アプリケーション自体が前記１つ以上のオペレータおよび前記１つ以上のエレメントと結合しているパイプ識別子を決定する、前記受信装置ファームウェアをさらに含む請求項２５から請求項２８の何れか１項に記載のプログラマブル無線通信システムの受信装置。
【請求項３２】
前記受信装置ファームウェアが、無線受信チップ上のプロセッサで実行される、請求項２５から請求項３１の何れか１項に記載のプログラマブル無線通信システムの受信装置。
【請求項３３】
前記受信装置ファームウェアと、前記受信装置ソフトウェア・アプリケーションとが、無線受信チップ上のプロセッサで実行される請求項２５から請求項３２の何れか１項に記載のプログラマブル無線通信システムの受信装置。
【請求項３４】
請求項２５から請求項３３の何れか１項に記載の無線送信装置と、無線受信装置とを含む機器。
【請求項３５】
請求項１５から請求項２４の何れか１項に記載の無線送信装置と、無線受信装置とを含む機器。
【請求項３６】
前記無線受信装置が、請求項２５から３３の何れか１項に記載の無線受信装置である、請求項３５に記載の機器
【請求項３７】
前記無線受信装置および前記無線送信装置の各々の処理手段が部分的にあるいは完全に前記無線受信装置および前記無線送信装置と共有されている請求項３６に記載の機器
【請求項３８】
送信装置ファームウェアおよび前記受信装置ファームウェアが単一の実行可能プログラムとして提供されている、請求項３６または請求項３７に記載の機器
【請求項３９】
前記送信装置ソフトウェア・アプリケーションおよび前記受信装置ソフトウェア・アプリケーションが単一の実行可能プログラムとして提供されている、請求項３６から請求項３８の何れか１項に記載の機器。
【請求項４０】
送信装置ファームウェアおよび前記受信装置ファームウェアが単一の実行可能プログラムとして提供されており、前記送信装置ソフトウェア・アプリケーションおよび前記受信装置ソフトウェア・アプリケーションが単一の実行可能プログラムとして提供されている、請求項３６または請求項３７に記載の機器であって、
前記送信装置ファームウェアと前記送信装置ソフトウェア・アプリケーションとの間の前記送信と、前記受信装置ファームウェアと前記受信装置ソフトウェア・アプリケーションとの間の前記受信装置インタフェースとを一体にした、請求項３６または請求項３７に記載の機器。
【請求項４１】
前記無線受信手段がオペレータと関係づけられた戻り値に関する受信情報を設定する、請求項３６から請求項４０の何れか１項に記載の機器。
【請求項４２】
無線送信手段と送信処理手段を含む送信装置と、無線受信手段とを受信処理手段を含む受信装置と、を有するプログラマブル無線通信システムの操作方法であって、
前記方法は、
送信装置ファームウェアを実行し、
送信装置ソフトウェア・アプリケーションを実行し、
前記送信装置ファームウェアと前記送信装置ソフトウェア・アプリケーションとの間の送信装置インタフェースを作動し、
前記送信装置インタフェースは、１つ以上のオペレータをサポートし、各々の前記オペレータは、１つ以上のエレメントに作用するものであり、
前記送信装置インタフェースを介して、仮想パイプと対応した、前記送信装置ソフトウェア・アプリケーションから、送信装置ファームウェアに、前記１つ以上のオペレータおよび前記１つ以上のエレメントを渡し、
送信装置ファームウェアを使用して、前記１つ以上のオペレータおよび前記１つ以上のエレメントをエンコードし、
前記無線送信手段を使用して、前記エンコードしたオペレータおよびエレメントを無線によって送信する前記送信装置を含み、
さらに、前記方法は、
受信装置ファームウェアを前記受信処理手段で実行し、
受信装置ソフトウェア・アプリケーションを前記受信処理手段で実行し、
前記受信装置ファームウェアと前記受信装置ソフトウェア・アプリケーションとの間の受信装置インタフェースを作動し、
前記無線受信手段を使用して、前記エンコードした前記１つ以上のオペレータおよび前記１つ以上のエレメントを受信し、
受信装置ファームウェアを使用して、前記オペレータおよびエレメントをデコードし、
前記１つ以上のオペレータおよび前記１つ以上のエレメントを、受信装置ファームウェアから、前記受信インタフェースを介して、前記受信装置ソフトウェア・アプリケーションに渡し、前記送信装置ソフトウェア・アプリケーションと前記受信装置ソフトウェア・アプリケーションとの間の前記仮想パイプを生成する、前記受信装置を含む、
プログラマブル無線通信システムの操作方法。
【請求項４３】
無線受信手段と受信処理手段を含む受信装置を有するプログラマブル無線通信システムであって、
前記受信処理手段は、
受信装置ファームウェアを実行し、
受信装置ソフトウェア・アプリケーションを実行し、
前記受信装置ファームウェアと前記受信装置ソフトウェア・アプリケーションとの間の受信インタフェースを作動させるものであり、
前記受信装置ファームウェアは、
前記無線受信手段を使用して、エンコードした１つ以上のオペレータおよび１つ以上のエレメントを受信する命令と、
前記エンコードした前記１つ以上のオペレータおよび前記１つ以上のエレメントをデコードする命令と、
前記受信装置ソフトウェア・アプリケーションに対して、前記受信インタフェースを介して、前記１つ以上のオペレータおよび前記１つ以上のエレメントを送信し、送信装置ソフトウェア・アプリケーションと前記受信装置ソフトウェア・アプリケーションとの間の仮想パイプを生成する命令と、
を含むことを特徴とする、プログラマブル無線通信システム。
【請求項４４】
無線送信手段または無線受信手段と処理手段とを含むプログラマブル無線通信装置のためのファームウェア生成ソフトウェア・ツールであって、
前記ソフトウェア・ツールは、
１つ以上のエレメントに作用する１つ以上のオペレータをサポートするインタフェースの定義を受信する命令と、
前記インタフェースを提供するソフトウェア・アプリケーションとファームウェアとが同時に動作する処理手段を適切に実行できる前記ファームウェアを生成する命令と、
を含み、
前記ファームウェアは
（ａ）
仮想パイプと対応した、前記１つ以上のオペレータおよび前記１つ以上のエレメントを、前記ソフトウェア・アプリケーションから、前記インタフェースを介して受信する命令と、
前記１つ以上のオペレータおよび前記１つ以上のエレメントをエンコードする命令と、
前記無線送信手段を使用して、前記エンコードした前記１つ以上のオペレータおよび前記１つ以上のエレメントを無線によって送信する命令と、
を含み、あるいは
（ｂ）
前記無線受信手段を使用して、エンコードした前記１つ以上のオペレータおよび前記１つ以上のエレメントを受信する命令と、
前記１つ以上のオペレータおよび前記１つ以上のエレメントをデコードする命令と、
前記ソフトウェア・アプリケーションに対して、前記インタフェースを介して、前記１つ以上のオペレータおよび前記１つ以上のエレメントを送信する命令と、
を含むことを特徴とするソフトウェア・ツール。
【請求項４５】
無線送信あるいは受信手段と処理手段を有する、プログラマブル無線通信装置のためのファームウェアであって、
インタフェースを提供するようなソフトウェア・アプリケーションと、前記ファームウェアとが、同時に動作する処理手段を適切に実行できるものであり、
（ａ）
仮想パイプと対応した、オペレータおよびエレメントを、送信装置ソフトウェア・アプリケーションから、前記インタフェースを介して受信する命令と、
前記１つ以上のオペレータおよび前記１つ以上のエレメントをエンコードする命令と、
前記無線送信手段を使用して、前記エンコードした前記１つ以上のオペレータおよび前記１つ以上のエレメントを無線によって送信する命令と、
を含み、あるいは
（ｂ）
前記無線受信手段を使用して、エンコードした前記１つ以上のオペレータおよび前記１つ以上のエレメントを受信する命令と、
前記１つ以上のオペレータおよび前記１つ以上のエレメントをデコードする命令と、
受信装置ソフトウェア・アプリケーションに対して、前記インタフェースを介して、前記１つ以上のオペレータおよび前記１つ以上のエレメントを送信する命令とを含むことを特徴とするファームウェア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラミング可能な（プログラマブル）無線通信システムに関する。
【背景技術】
【０００２】
ソフトウェアで制御できる無線送信装置及び受信装置が知られている。
【０００３】
例えば、シングルチップ型の無線送受信装置（トランシーバー）が知られており、外付のマイクロ・コントローラ（ＭＣＵ）を接続することで、マイクロ・コントローラで実行されるソフトウェア・アプリケーションにより、制御することができる。
また、１チップ上に無線トランシーバとマイクロ・コントローラを含むシステム・オン・チップも知られている。
【０００４】
例えば、無線温度計測プローブ上では、ソフトウェア・アプリケーションが、周期的に、プローブの温度センサから測定値を得て、その測定値が以前の測定値と異なっているか否かを決定する。異なっているならば、新しい測定値をデータパケットにエンコードして、遠隔ベースユニットに送信するために、そのデータパケットをプローブの無線送信部に送る。
【０００５】
上記のような無線装置の問題は、ソフトウェア・アプリケーションがデータパケットを構築しなければならないことにある。特に、ソフトウェア・アプリケーション開発者は、送信のためのデータパケットをどのように構築するか、例えば、パケット長情報、データタイプ識別子、エラー発見情報を、データと共にどのように含めるのか決めなければならない。
【０００６】
これは、ソフトウェア実行時に、ＭＣＵに要求される仕事を増加させる。さらに重要な問題として、ソフトウェア開発者に多大な負担をかけることにもなる。特に、受信装置のある家電製品では、パケットをどのようにデコードするべきか周知し、送信側のエンコーディング・スキーマと正確に一致する方法で、パケットをデコードしなければならない。ソフトウェア開発者は、例えば、データタイプ識別子の解釈が両方の電化製品で整合していることを保証しなければならない。極限まで注意しなければ、アプリケーション開発者によるエラーによって、送信側ソフトウェア・アプリケーションと受信側ソフトウェア・アプリケーションの互換性が保たれなくなる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決すべき技術的課題は、上記の問題を軽減することにある。
【課題を解決するための手段】
【０００８】
上記の技術的課題を解決するための本発明の一つの構成は、送信装置と受信装置を含むプログラマブル無線通信システムである。
前記送信装置は、無線送信手段と送信処理手段とを含む。
前記送信処理手段は、送信装置ファームウェアを実行し、送信装置ソフトウェア・アプリケーションを実行し、前記送信装置ファームウェアと前記送信装置ソフトウェア・アプリケーションとの間のインタフェースを操作する。
前記インタフェースは、１つ以上のオペレータをサポートし、各々の前記オペレータは、１つ以上のエレメントに作用する。前記送信装置ファームウェアは、前記インタフェースを介して、仮想パイプと対応した、前記オペレータ，前記エレメント、前記送信装置ソフトウェア・アプリケーションから受信する命令と、前記オペレータ，前記エレメントをエンコードする命令と、エンコードしたオペレータ，エレメントを無線によって送信するための無線送信手段を使用する命令とを含む。
前記受信装置は、無線受信手段と受信処理手段とを含む。
前記受信処理手段は、受信装置ファームウェアを実行し、受信装置ソフトウェア・アプリケーションを実行し、前記受信装置ファームウェアと前記受信装置ソフトウェア・アプリケーションとの間のインタフェースを操作する。
前記受信装置ファームウェアは、エンコードした前記オペレータ、前記エレメントを受信するための前記無線受信手段を使用する命令と、前記オペレータ、前記エレメントをデコードする命令と、前記受信装置ソフトウェア・アプリケーションに対して、前記インタフェースを介して、前記オペレータ，前記エレメントを送信する命令とを含む。
それによって、前記送信装置ソフトウェア・アプリケーションと、前記受信装置ソフトウェア・アプリケーションと、の間の仮想パイプを生成する。
【０００９】
このように、送信側、受信側双方のソフトウェア・アプリケーションが、直接パケットのデータを構築・分解する必要がないことが、当業者にとって好ましい。そのかわりに、オペレータ、エレメントを介した無線インタフェースが必要になる。ファームウェア・インタフェースは、特別なアプリケーション領域で定義される。
【００１０】
例えば、送信装置がワイヤレス温度計測プローブ内に備えられ、受信装置がウェザー・ステーション内に備えられている場合、送信側及び受信側の各インタフェースは「温度の表示」とし、オペレータを「SET」とする。
【００１１】
オペレータ、エレメントは、任意の好ましい方法でエンコードできるが、いくつかの実施形態では、識別子によってエンコードしている。識別子も、任意の好ましい方法で得られるが、本実施形態では「数」としている。識別子は、仮想パイプと対応したパイプ識別子とすることができる。
従って、送信側ファームウェアは、オペレータ，エレメントと対応したパイプ識別子を決定する命令を含む。同様に、受信側ファームウェアは、受信したパイプ識別子と対応したオペレータ、エレメントを決定する命令を含む。
【００１２】
パケット構造情報のように、送信機能のある電化製品と、受信機能のある電化製品との間で、一貫したデータ型識別子を用いたデータベースを取り扱うと複雑になる（アレンジメントとして知られている）。しかし、本発明により、この複雑さを、送信側、及び受信側ソフトウェア・アプリケーションの開発者が回避できる。
【００１３】
それどころか、パイプ識別子との対応関係を、送信，受信装置ファームウェアの作者により決定できる。
【００１４】
送信，受信装置ファームウェアは、無線送信手段、無線受信手段の製造業者または販売業者によって記述することができる。
【００１５】
ファームウェアという語を使う場合でも、決して、ソフトウェアの性質を制約するものではない。
例えば、このファームウェアは、さらには、ソフトウェア・アプリケーションであってもよいし、送信側または受信側ソフトウェア・アプリケーションの一部であっても良い。
【００１６】
この発明は、送信手段と処理手段とを含む送信装置と、無線受信手段と処理手段とを含む受信装置を有する、プログラマブル無線通信システムの操作方法に拡張できる。
前記送信装置は、送信装置ファームウェアを実行し、送信装置ソフトウェア・アプリケーションを実行し、前記送信装置ファームウェアと前記送信装置ソフトウェア・アプリケーションとの間のインタフェースを操作する。
前記インタフェースは、１つ以上のオペレータをサポートし、各々の前記オペレータは、１つ以上のエレメントに作用する。
前記インタフェースを介して、前記送信装置ソフトウェア・アプリケーションから、前記送信装置ファームウェアに、仮想パイプと対応した、オペレータ、エレメントを渡す。
前記オペレータ、前記エレメントをエンコードする前記送信装置ファームウェアを使って、オペレータ，エレメントをエンコードする命令と、エンコードした前記オペレータ，前記エレメントを無線によって送信するための無線送信手段を使用する。
前記受信装置は、受信装置ファームウェアを受信処理手段で実行し、受信装置ソフトウェア・アプリケーションを受信処理手段で実行し、前記受信装置ファームウェアと前記受信装置ソフトウェア・アプリケーションとの間のインタフェースを操作する。
エンコードした前記オペレータ，前記エレメントを受信するための無線受信手段を使用し、前記オペレータ、前記エレメントをデコードするために受信装置ファームウェアを使用し、前記オペレータと前記エレメントを、受信装置ファームウェアからインタフェースを介して受信装置ソフトウェア・アプリケーションに渡す。
それによって、前記送信装置ソフトウェア・アプリケーションと、前記受信装置ソフトウェア・アプリケーションとの間の仮想パイプを生成する。
【００１７】
この発明は、さらに、プログラマブル無線通信システムの送信装置に拡張できる。
送信装置は、無線送信手段と送信処理手段とを含む。
前記送信処理手段は、送信装置ファームウェアを実行し、送信装置ソフトウェア・アプリケーションを実行し、前記送信装置ファームウェアと前記送信装置ソフトウェア・アプリケーションとの間のインタフェースを操作する。
前記インタフェースは、１つ以上のオペレータをサポートし、各々の前記オペレータは、１つ以上のエレメントに作用する。
前記送信装置ファームウェアは、前記インタフェースを介して、仮想パイプと対応した、前記オペレータ、前記エレメント、前記送信装置ソフトウェア・アプリケーションから受信する命令と、前記オペレータ、前記エレメントをエンコードする命令と、エンコードした前記オペレータ、前記エレメントを無線によって送信するための無線送信手段を使用する命令とを含む。
【００１８】
この発明はプログラマブル無線通信システムの受信装置にも拡張できる。
受信装置は、無線受信手段と受信処理手段とを含む。
前記受信処理手段は、受信装置ファームウェアを実行し、受信装置ソフトウェア・アプリケーションを実行し、前記受信装置ファームウェアと前記受信装置ソフトウェア・アプリケーションとの間のインタフェースを操作する。
前記受信装置ファームウェアは、エンコードした前記オペレータ、前記エレメントを受信するための無線受信手段を使用する命令と、前記オペレータ、前記エレメントをデコードする命令と、前記受信装置ソフトウェア・アプリケーションに対して、前記インタフェースを介して、前記オペレータ、前記エレメントを送信する命令とを含む。
それによって、前記送信装置ソフトウェア・アプリケーションと、前記受信装置ソフトウェア・アプリケーションとの間の仮想パイプを生成する。
【００１９】
本発明の他の特徴は、無線送信または無線受信手段と処理手段とを含むプログラマブル無線通信装置のためのファームウェア生成ソフトウェア・ツールである。
前記ソフトウェア・ツールは、１以上のエレメントに作用する１つ以上のオペレータをサポートするインタフェースの定義を受信する命令と、前記インタフェースを提供するソフトウェア・アプリケーションとファームウェアとが同時に動作する処理手段を、適切に実行できるファームウェアを生成する命令とを含む。
前記ファームウェアは（ａ）前記インタフェースを介して、仮想パイプと対応した、前記オペレータ、前記エレメント、前記送信装置ソフトウェア・アプリケーションから受信する命令、前記オペレータ，前記エレメントをエンコードする命令、エンコードした前記オペレータ、前記エレメントを無線によって送信するための無線送信手段を使用する命令、（ｂ）エンコードした前記オペレータ、前記エレメントを受信するための無線受信手段を使用する命令、前記オペレータ，前記エレメントをデコードする命令、前記受信装置ソフトウェア・アプリケーションに対して、前記インタフェースを介して前記オペレータ、前記エレメントを送信する命令、を含む。
【００２０】
本発明の他の特徴は、無線送信あるいは受信手段と処理手段を有する、プログラマブル無線通信装置のためのファームウェアであって、インタフェースを提供するようなソフトウェア・アプリケーションと、ファームウェアとが、同時に動作する処理手段を適切に実行できるものであり、（ａ）インタフェースを介して、仮想パイプと対応した、オペレータ、エレメント、ソフトウェア・アプリケーションから受信する命令、オペレータ、エレメントをエンコードする命令、エンコードしたオペレータ，エレメントを無線によって送信するための無線送信手段を使用する命令、（ｂ）エンコードしたオペレータ，エレメントを受信するための無線受信手段を使用する命令、オペレータ，エレメントをデコードする命令、受信装置ソフトウェア・アプリケーションに対して、インタフェースを介してオペレータ，エレメントを送信する命令、を含む。
【００２１】
送信装置ファームウェアは、送信装置ソフトウェア・アプリケーションからインタフェースを介して数値を受信する命令と、その受信した数値を送信するために無線送信手段を使用する命令とをさらに含んでもよい。受信装置ファームウェアは、その数値を受信するための無線受信手段を使用する命令と、受信装置ソフトウェア・アプリケーションにインタフェースを介して受信した数値を送る命令とをさらに含んでもよい。
【００２２】
例えば、温度プローブのソフトウェア・アプリケーションが、遠隔ウェザー・ステーションの表示温度を２１度に更新することを決定できる。その際に、オペレータ「SET」、エレメント「displayed temperature」、数値「２１」を、インタフェースを介して、送信装置ファームウェアに送る。
ウェザー・ステーションのソフトウェア・アプリケーションは、オペレータ「SET」、エレメント「displayed temperature」、数値「２１」を、インタフェースを介して、逐次受信する。
温度プローブ、ウェザー・ステーション、何れのソフトウェア・アプリケーションも、どのように無線でデータ伝送を実行するか詳細を知る必要はない。
【００２３】
ここで「SET」と「displayed temperature」の組合せのパイプ識別子を、例えば「７」に対応させることができる。しかし、ソフトウェア・アプリケーションの開発者は、これに係る必要はない。
【００２４】
本実施形態では、ソフトウェア・アプリケーションは、オペレータ、エレメントと対応するパイプ識別子を、そのソフトウェア・アプリケーション自身が決定するようなファームウェアを含む。その際に、無線送信手段に、付加データとして、パイプ識別子を追加して渡す。
【００２５】
送信装置中の処理手段は、ＭＣＵ、あるいは、ＣＰＵのような単一のプロセッサでよいが、二つのプロセッサで、一つが送信装置ファームウェアを実行し、もう一つが送信装置ソフトウェア・アプリケーションを実行するようにしてもよい。同様に、受信装置の処理手段も単一、あるいは、二つのプロセッサを含むものでもよい。
【００２６】
他の実施形態では、送信装置が無線送信チップと、セパレート型のマイクロ・コントローラを含む。送信装置ファームウェアは、無線送信チップ上のプロセッサで実行することが好ましい。一方、送信装置ソフトウェア・アプリケーションは、セパレート型のマイクロ・コントローラで実行することが好ましい。また、送信装置ファームウェアと送信装置ソフトウェア・アプリケーションを両者ともセパレート型のマイクロ・コントローラで実行してもよい。
【００２７】
同様に、本実施形態では、受信装置が無線受信チップとセパレート型のマイクロ・コントローラを含む。受信装置ファームウェアは無線受信チップ上のプロセッサで実行することが好ましい。一方、受信装置ソフトウェア・アプリケーションは、セパレート型のマイクロ・コントローラで実行することが好ましい。また、受信装置ファームウェアと受信装置ソフトウェア・アプリケーションを、両者ともに、前記したセパレート型のマイクロ・コントローラで実行してもよい。
【００２８】
本実施形態では、送信装置ファームウェアと送信装置ソフトウェア・アプリケーションとは、両者ともに、無線受信チップ上のプロセッサで実行してもよい。
同様に、ある実施形態では、受信装置ファームウェアと受信装置ソフトウェア・アプリケーションとは、両者とも、無線受信チップ上のプロセッサで実行してもよい。
【００２９】
送信装置が、本発明の実施形態で示した受信装置を含む無線受信装置を含んでもよい。同様に受信装置が、本発明の実施形態で示した送信装置を含む無線送信装置を含んでもよい。
【００３０】
本発明を具現する送信装置、及び、本発明を具現する受信装置を含む装置に対して、それぞれの送信及び受信装置の処理手段が、部分的あるいは全体的に、両者を共通化してもよい。送信、受信装置ファームウェアは、同じファームウェア（例えば、単一の実行可能プロセッサ）であってもよい。送信、受信装置ソフトウェア・アプリケーションは、同じソフトウェア・アプリケーション（例えば、単一の実行可能プロセッサ）でもよい。送信装置ファームウェアと送信装置ソフトウェア・アプリケーションの間のインタフェースを受信装置ファームウェアと受信装置ソフトウェア・アプリケーションの間のインタフェースと一体的に構築してもよい。
【００３１】
特に、一つ以上のオペレータ（例えば「GET」オペレータ）と選択的に組み合わされる一つ以上のエレメントは、対応した数値を返す。
【００３２】
例えば、ワイヤレス温度計測プロ―ブ上で実行されているソフトウェア・アプリケーションは、プローブのファームウェア・インタフェースで定義された、エレメント「Update Rate」のオペレータ「GET」を呼び出して、遠隔ウェザー・ステーションの温度表示を更新する頻度を決定できる。
インタフェースは、バイト値が返ってくることを示すことができる。
ワイヤレス温度計測プローブの無線送信装置は、遠隔ウェザー・ステーション上の無線受信装置に対する「GET」と「Update Rate」と対応したパイプ識別子を送ることができる。「GET」オペレータと「Update Rate」エレメントは、ウェザー・ステーションのソフトウェア・アプリケーションに渡され、これらはウェザー・ステーションのファームウェアに、インタフェースを介して、戻り値（例えば「５」）を送ることにより応答する。
その際には、無線によって（追加的に特定された「戻り値パイプ識別子」を使用して）ワイヤレス温度計測プローブに通信され、これはプローブのファームウェアから、インタフェースを介して、プローブのソフトウェア・アプリケーションに渡される。
【００３３】
オペレータの中には、例えば、特別なファームウェアの動きを呼び出すことで、無線送信手段あるいは無線受信手段をどう操作するかについて、影響を与えるものもある。
例えば、あるオペレータは、ソフトウェア・アプリケーションと連結したデータを渡す前に、無線装置に連続して３パケット受信させる。別の例では、オペレータは、無線送信装置が、遠隔無線装置からの確認を求める、さらに（あるいは）、もし確認が受信されなければ、自動的に再送信する。
【００３４】
ファームウェアは、無線送信装置または無線受信装置上の読出専用記憶装置（ＲＯＭ）に、情報を格納できる。さもなければ、ＥＥＰＲＯＭ、フラッシュメモリ、ＲＡＭのように、書込可能記憶装置に格納してもよく、それゆえ、ハードウェアの製造後に送信装置あるいは受信装置に読み込まれる。
【００３５】
本発明のある構成の任意の選択的あるいは好ましい特徴は、他の構成においても、任意の選択的あるいは好ましい特徴でもあり、どこであっても妥当する。
【図面の簡単な説明】
【００３６】
【図１】本発明によるワイヤレス温度計測プローブと、遠隔ウェザー・ステーションの概略図である。
【発明を実施するための形態】
【００３７】
本発明の好ましい実施形態の一つを、単に例として、添付の図に関連して示す。
図１には、ワイヤレス温度計測プローブ１と、遠隔ウェザー・ステーション２を示す。
【００３８】
ワイヤレス温度計測プローブ１は、温度計測プローブソフトウェア・アプリケーション４を実行するマイクロ・コントローラ（ＭＣＵ）３を持つ。
ＭＣＵ３は、ファームウェア６を実行するシングルチップ無線送受信装置５と接続されている。
また、ＭＣＵ３は、温度計測装置７とも接続されている。これらの接続は、任意の適切な型、例えば、シリアル・ペリフェラル・インタフェース（ＳＰＩ）で、接続されている。
【００３９】
ウェザー・ステーション２は、ウェザー・ステーション・ソフトウェア・アプリケーション９を実行するＭＣＵ８を持つ。
ＭＣＵ８は、ファームウェア１１を実行するシングルチップ無線送受信装置１０と接続されている。さらに、ＭＣＵ８はＬＣＤ表示モジュール１２とも接続されている。
【００４０】
温度計測プローブソフトウェア・アプリケーション４は、温度計測装置７から、所定時間で、ＭＣＵ８に温度測定値を得させる。
もし、温度が変化したと決定した場合、ソフトウェア・アプリケーション４は、現在の温度値、例えば「２１」と共に、「SET」オペレータを「Displayed Temperature」エレメント上に、ファームウェア６により提供されるインタフェースを用いて送り、表示する。これにより、シングルチップ無線送受信装置５にルックアップテーブルからオペレータとエレメントの組合せに対応するパイプ識別子を決定させる。
【００４１】
シングルチップ無線送受信装置５は、その時、パイプ識別子と数値「２１」をウェザー・ステーション２のシングルチップ無線送受信装置１０に送信する。
【００４２】
ウェザー・ステーション２中のファームウェア１１は、温度計測プローブ１に確認信号を応答する。確認処理は、各デバイスのソフトウェア・アプリケーションの呼び出しなしに実行される。
【００４３】
ウェザー・ステーション２のファームウェア１１は、ルックアップテーブを用いて、受信したパイプ識別子に対応するオペレータとエレメントを決定する。
この例では、決定されたオペレータとエレメントは、温度計測プローブソフトウェア・アプリケーション４により呼び出されたものと同じ、すなわち「SET」と「Displayed Temperature」である。
【００４４】
ウェザー・ステーションファームウェア１１は、インタフェースを介して、ウェザー・ステーションソフトウェア・アプリケーションに渡すイベントを生成する。
このイベントは、「SET」オペレータ、「Displayed Temperature」エレメント、現在の温度測定値「２１」に対応している。
ソフトウェア・アプリケーション９は、ウェザー・ステーション２上のＭＣＵ８に、ＬＣＤ表示モジュール１２を正確な温度に更新させる．
【符号の説明】
【００４５】
１                    ワイヤレス温度計測プローブ
２                    遠隔ウェザー・ステーション
３                    マイクロ・コントローラ（ＭＣＵ）
４                    温度計測プローブソフトウェア・アプリケーション
５                    シングルチップ無線送受信装置
６                    ファームウェア
７                    温度計測装置
８                    マイクロ・コントローラ（ＭＣＵ）
９                    ウェザー・ステーションソフトウェア・アプリケーション
１０                  シングルチップ無線送受信装置
１１                  ファームウェア
１２                  ＬＣＤ表示モジュール
【図１】
0005901660.tif 000002