(57)【要約】【課題】データ転送速度を向上させること。【解決手段】通信装置は、シリアルインターフェースと、シリアルインターフェースで送信するデータの制御情報を前記データの送信先に送信する通信部と、シリアルインターフェースでデータを前記送信先に送信する制御を実行するとともに、該制御情報を通信部から前記送信先に送信する制御を実行する制御部とを備える。【選択図】  図２
2015014967.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信路および第２の通信路により送信先と接続され、前記送信先との間でシリアル通信する通信装置であって、
前記第１の通信路と接続されるシリアルインターフェースと、
前記第２の通信路と接続され、前記シリアルインターフェースを介して前記送信先に送信するデータの制御情報を送信する通信部と、
前記シリアルインターフェースで前記データを送信する制御を実行するとともに、該データの制御情報を前記通信部で送信する制御を実行する制御部と
を備える、通信装置。
【請求項２】
前記通信部は、前記シリアルインターフェースから受信するデータの制御情報を受信し、
前記制御部は、前記シリアルインターフェースで前記データを受信する制御を実行するとともに、該データの制御情報を前記通信部で受信する制御を実行する、請求項１に記載の通信装置。
【請求項３】
前記通信部は、割込み機能を有する、請求項１または２に記載の通信装置。
【請求項４】
無線信号を受信するワイヤレス通信部
を有し、
前記制御部は、前記ワイヤレス通信部により受信したデータを前記シリアルインターフェースで、前記送信先に送信するとともに、該データの制御情報を前記通信部で前記送信先に送信する制御を実行する、請求項１ないし３のいずれか１項に記載の通信装置。
【請求項５】
第１の通信装置と、該第１の通信装置と第１の通信路および第２の通信路により接続され、前記第１の通信装置との間でシリアル通信する第２の通信装置とを備える通信システムであって、
前記第１の通信装置は、
前記第１の通信路と接続される第１のシリアルインターフェースと、
前記第２の通信路と接続され、前記第１のシリアルインターフェースを介して前記送信先に送信するデータの制御情報を送信する第１の通信部と、
前記第１のシリアルインターフェースで前記データを送信する制御を実行するとともに、該データの制御情報を前記第１の通信部で送信する制御を実行する第１の制御部と
を備え、
前記第２の通信装置は、
前記第１の通信路と接続される第２のシリアルインターフェースと、
前記第２の通信路と接続され、前記第２のシリアルインターフェースを介して前記第１の通信装置から受信するデータの制御情報を受信する第２の通信部と
前記第２のシリアルインターフェースで前記データを受信する制御を実行するとともに、該データの制御情報を前記第２の通信部で受信する制御を実行する第２の制御部と
を備える、通信システム。
【請求項６】
第１の信号線および第２の信号線により他の通信装置と接続され、前記他の通信装置との間で通信を行う通信装置の通信方法であって、
前記第１の信号線を介して、前記他の通信装置に送信するデータに関わる制御情報、あるいは前記データのデータサイズを前記他の通信装置に送信し、
前記制御情報、あるいは前記データサイズの送信後、前記第２の信号線を介して前記データを前記他の通信装置に送信する、通信方法。
【請求項７】
前記通信装置と前記他の通信装置との間は、更に、第３の信号線により接続され、
前記第３の信号線を介して、前記他の通信装置に、前記制御情報、あるいは前記データサイズの送信開始あるいは送信終了を示す情報を送信する、請求項６に記載の通信方法。
【請求項８】
前記第３の信号線を介して送信する情報は割り込み信号であり、
前記第１の信号線を介して送信する情報は、パルス信号として送信する、請求項７に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システムに関する。
【背景技術】
【０００２】
無線モジュールとホスト装置との間は、シリアルインターフェースを介して、データ転送が実行されることが多い。シリアルインターフェースの一例は、シリアル・ペリフェラル・インタフェース(Serial Peripheral Interface, SPI)、UART (Universal Asynchronous Receiver Transmitter)、IIC(Inter-Integrated Circuit)である。
【０００３】
シリアルインターフェースを介したデータ転送に関して、データの種別を判別する必要のない場合には、送信データをパケット形式にしなくてもデータ転送が可能である。つまり、無線モジュールとホスト装置は、データを送受信する機能があればよい。
【０００４】
しかし、シリアルインターフェースを介して転送されるデータの種別を判別する必要がある場合には、データを含むパケットに、データの種別（識別ＩＤ）、データの長さ（サイズ）、データ終了などを表す制御データを付加する必要がある。
【０００５】
送受信信号の転送を行うデータバスと、制御信号の転送を行う制御バスを個別に設けた無線機が知られている（例えば、特許文献１参照）。
【０００６】
無線通信部分を別個の小型モジュールとして独立させた無線通信モジュールが知られている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開2006-72592号公報
【特許文献２】特開2007-189726号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
パケットに制御データを付加すると、制御データの分だけ送信すべきデータ量が増え、実質的なデータ転送速度が低下し、データ転送の効率が悪くなる。特に、各パケットに制御データを付加する場合には、種別を判別する必要のあるデータの数が多くなるに従って制御データの数も多くなる。特に、サイズの小さいデータに制御データを付加して送受信する場合、パケットに占める制御データの割合が大きくなってしまい、実質的なデータ転送速度が低下する。さらに、転送速度の遅いインターフェースを使用した場合には、実質的なデータ転送速度の低下は顕著である。
【０００９】
開示の通信システムは、データ転送速度を向上させることを目的とする。
【課題を解決するための手段】
【００１０】
開示の通信装置は、
第１の通信路および第２の通信路により送信先と接続され、前記送信先との間でシリアル通信する通信装置であって、
前記第１の通信路と接続されるシリアルインターフェースと、
前記第２の通信路と接続され、前記シリアルインターフェースを介して前記送信先に送信するデータの制御情報を送信する通信部と、
前記シリアルインターフェースで前記データを送信する制御を実行するとともに、該データの制御情報を前記通信部で送信する制御を実行する制御部と
を備える。
【発明の効果】
【００１１】
開示の実施例によれば、データ転送速度を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施例による通信システムを示す図である。
【図２】本実施例による無線モジュールを示す図である。
【図３】本実施例によるパケットデータを示す図である。
【図４】本実施例による無線モジュールを示す機能ブロック図である。
【図５】本実施例による外部装置を示す図である。
【図６】本実施例による外部装置を示す機能ブロック図である。
【図７】本実施例による通信システムを示すシーケンスチャート（その１）である。
【図８】本実施例による通信システムを示すシーケンスチャート（その２）である。
【発明を実施するための形態】
【００１３】
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明する。以下で説明する実施例は一例に過ぎず、本発明が適用される実施の形態は、以下の実施例に限られない。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００１４】
＜通信システム＞
図１は、発明の一実施例による通信システムを示す。
【００１５】
本実施例による通信システムは、第１の通信装置としての無線モジュール１００と、第２の通信装置としての外部装置２００とを備える。無線モジュール１００と外部装置２００との間は、シリアル接続される。無線モジュール１００は、ハンドヘルドターミナル、ハンディターミナル、ポータブルデジタルアシスタント、ポータブルメディアプレーヤなどの情報端末、テレビ、エアコン、照明などの家電機器、その他の機器に搭載されるのが好ましい。本実施例による外部装置２００は、パーソナルコンピュータなどのCPUを搭載したホスト装置である。
【００１６】
無線通信モジュール１００と外部装置２００との間は、第１のバス（信号線）３０２、第２のバス（信号線）３０４、第３のバス（信号線）３０６により接続される。
【００１７】
第１のバス３０２は、無線モジュール１００と外部装置２００との間を接続するシリアルバスの規格に準拠して通信を行うための信号線である。第１のバス３０２は、シリアルバスの規格に応じて複数の信号線で構成されることもある。
【００１８】
第２のバス３０４は、無線モジュール１００と外部装置２００との間で、パケットデータに含まれるデータのデータ長、データの種別（識別ＩＤ）情報などの制御データを通知する際に、受信側へ割込みを発生させるための信号線である。第２のバス３０４を介して、無線モジュール１００と外部装置２００との間で送受信されるパケットデータの誤り検出符号を通知してもよい。
【００１９】
第３のバス３０６は、無線モジュール１００と外部装置２００との間で送受信するデータのデータ長などのデータサイズ、データの種別情報などを通知するための信号線である。例えば、第３のバス３０６へクロックパルスを与えることにより、送信するデータの文字数を通知するようにしてもよく、第３のバス３０６へクロックパルスを与えることにより、データの種別情報を通知するようにしてもよい。データの種別情報を通知する場合、クロックパルスのカウント値とデータの種別とが予め対応付けられる。
【００２０】
無線モジュール１００と外部装置２００との間でデータ長を通知する一例について説明する。なお、以下無線モジュール１００と外部装置２００とのうち、データを送信する側を「送信側」、データを受信する側を「受信側」と称する。
【００２１】
送信側は、受信側へ割込みを発生させることによりクロックパルスをカウントするカウンタの読み込みを有効にさせる。受信側への割り込みの後、送信側は、第３のバス３０６へクロックパルスを与えることにより、データ長を示す情報の送信を開始する。
【００２２】
受信側は、カウンタの読み込みを有効にした後、クロックパルスのカウントを開始し、カウント値をアップする。
【００２３】
送信側は、送信するデータの文字数又はバイト数に相当するクロックパルスの送信の終了後、受信側へ割込みを発生させることによりクロックパルスの送信の終了を通知する。
【００２４】
クロックパルスの送信の終了を通知された受信側は、クロックパルスのカウントを終了し、カウント値を求めることにより送信側から送信されるデータ長を認識する。データ長とクロックパルスの数とが予め対応付けられてもよい。例えば、１バイトのデータ長とクロックパルスの１パルスとが対応付けられる。この場合、送信するデータ長が２０バイトである場合には、送信側は、第３のバス３０６へ２０パルスを与えることにより、データ長を通知する。
【００２５】
データの種別情報を通知する一例について説明する。
【００２６】
送信側は、受信側へ割込みを発生させることによりクロックパルスをカウントするカウンタの読み込みを有効にさせる。送信側は、第３のバス３０６へクロックパルスを与えることにより、データの種別情報の送信を開始する。
【００２７】
受信側は、カウンタの読み込みを有効にした後、クロックパルスのカウントを開始し、カウント値をアップする。
【００２８】
送信側は、送信するデータの種別情報に相当するクロックパルスの送信の終了後、受信側へ割込みを発生させることによりクロックパルスの送信の終了を通知する。
【００２９】
クロックパルスの送信の終了を通知された受信側は、クロックパルスのカウントを終了し、カウント値を求めることによりデータの種別を認識する。例えば、データ種別と送信側が送出するパルス数とを対応付けておくことにより、受信側はカウント値に対応するデータの種別情報を認識する。
【００３０】
＜無線モジュール１００＞
図２は、本実施例による無線モジュール１００を示す。
【００３１】
無線モジュール１００は、第１のCPU１０２と、第１の割込み制御部１０４と、第１の主記憶装置１０６と、第１のシリアルインターフェース通信部１０８と、第１のGPIO部１１０と、第１のカウンタ部１１２と、第１のワイヤレス通信部１１４とを備える。
【００３２】
第１のCPU１０２と、第１の割込み制御部１０４と、第１の主記憶装置１０６と、第１のシリアルインターフェース通信部１０８と、第１のGPIO部１１０と、第１のカウンタ部１１２と、第１のワイヤレス通信部１１４との間は、バス１５０により相互に接続される。
【００３３】
第１のCPU１０２は、第１の主記憶装置１０６に記憶されたプログラムに従って、無線モジュール１００の各部を制御する。
【００３４】
第１の割込み制御部１０４は、第１のCPU１０２と接続され、外部装置２００との割込み制御を実行する。例えば、第１のワイヤレス通信部１１４が無線信号を受信し、該無線信号を外部装置２００へ送信する際に、第１の割込み制御部１０４は、外部装置２００からの割込み制御を実行する。第１の割込み制御部１０４の機能は、第１のCPU１０２により実行されてもよい。
【００３５】
第１の主記憶装置１０６は、第１のCPU１０２が実行する各種プログラムを記憶する。
【００３６】
第１のシリアルインターフェース通信部１０８は、無線モジュール１００と外部装置２００との間のインターフェースである。第１のシリアルインターフェース通信部１０８は、無線モジュール１００と外部装置２００との間を接続するシリアルバスの規格に従って、第１のバス３０２へパケットデータを送信する。また、第１のシリアルインターフェース通信部１０８は、無線モジュール１００と外部装置２００との間を接続するシリアルバスの規格に従って、第１のバス３０２からのパケットデータを受信する。
【００３７】
無線モジュール１００と外部装置２００との間を接続するシリアルバスの規格の一例は、SPIである。この場合には、第１のバス３０２は、複数の信号線により構成される。また、無線モジュール１００、外部装置２００のうちの一方がマスターとされ、他方がスレーブとされる。
【００３８】
第１のバス３０２は、シリアルクロックを伝送する信号線と、マスターから出力されスレーブへ入力されるデータを伝送する信号線と、スレーブから出力されマスターへ入力されるデータを伝送する信号線とを有する。さらに、第１のバス３０２には、スレーブを選択する信号を伝送する信号線が含まれてもよい。スレーブを選択する信号は、マスターから出力される。
【００３９】
図３は、第１のシリアルインターフェース通信部１０８により送受信されるパケットデータのフレームフォーマットの一例を示す。図３の上側に第１のシリアルインターフェース通信部１０８により送受信される本実施例によるパケットデータ４００のフレームフォーマットを示し、下側に従来のパケットデータ５００のフレームフォーマットの一例を示す。
【００４０】
本実施例によるパケットデータ４００は、データを格納するペイロードフィールド４０２を有する。さらに、パケットデータ４００は、ペイロードCRCフィールド４０４を有する。ペイロードCRCフィールド４０４には誤り検出符号が付加される。誤り検出符号の一例は、巡回冗長検査符号（CRC: Cyclic Redundancy Check）である。CRCは、ペイロードフィールド内のデータのエラー検出に使用される。
【００４１】
本実施例によるパケットデータ４００は、従来のパケットデータ５００のフレームフォーマットから、ペイロードフィールド５１０とペイロードCRCフィールド５１２とを抽出したものである。つまり、パケットデータ４００は、従来のパケットデータ５００のフレームフォーマットからヘッダ部分と、エンドオブフレーム５１４とを除いたものである。ここで、ヘッダ部分は、スタートオブフレーム(SOF)５０２、ID５０４、データ長(Length)５０６、ヘッダCRC５０８である。
【００４２】
また、パケットデータ４００は、従来のパケットデータ５００のフレームフォーマットからヘッダ部分を除いたものであってもよい。従来のパケットデータ５００からヘッダ部分などを除くことにより、第１のシリアルインターフェース通信部１０８からヘッダ部分などに含まれる情報が送信されないため、データ転送の効率を向上させることができる。
【００４３】
第１のGPIO部１１０は、第１のシリアルインターフェース通信部１０８により送受信されるパケットデータのデータ長、データの種別（識別ＩＤ）などの制御データ（制御情報）を外部装置２００へ送信する際に、外部装置２００へ割込みを発生させる送信開始割込み信号を送信する。
【００４４】
第１のシリアルインターフェース通信部１０８から外部装置２００へパケットデータを送信する場合には、第１のGPIO部１１０は、外部装置２００へパケットデータの制御データを送信する前に、送信開始割込み信号を外部装置２００に送信する。
【００４５】
第１のシリアルインターフェース通信部１０８を介して外部装置２００からパケットデータを受信する場合には、第１のGPIO部１１０は、外部装置２００からパケットデータの制御データが送信される前に、外部装置２００からの送信開始割込み信号を受信する。
【００４６】
第１のカウンタ部１１２は、無線モジュール１００と外部装置２００との間で送受信するクロックパルスをカウント（計数）する。第１のカウンタ部１１２は、クロックパルスのカウント値に基づいて、データ長情報、データの種別情報を識別する。
【００４７】
第１のシリアルインターフェース通信部１０８からパケットデータを送信する場合には、第１のカウンタ部１１２は、外部装置２００に送信するパケットデータのデータ長、データの種別情報を外部装置２００に通知する。本実施例では、第１のカウンタ部１１２は、第３のバス３０６へクロックパルスを与えることにより、送信するパケットデータのデータ量、データの種別情報を通知する。送信するパケットデータのデータ長を通知する際には、パケットデータのデータ長とクロックパルスの数とが予め対応付けられている。例えば、１バイトのデータ長とクロックパルスの１パルスとが対応付けられる。この場合、送信するデータ量が２０バイトである場合には、第１のカウンタ部１１２は、第３のバス３０６へ２０パルス与える。
【００４８】
第１のシリアルインターフェース通信部１０８がパケットデータを受信する場合には、第１のカウンタ部１１２は、外部装置２００により第３のバス３０６へ与えられたクロックパルスをカウントする。
【００４９】
第１のカウンタ部１１２は、外部装置２００からの送信開始割込み信号を受信することにより、クロックパルスをカウントするカウンタの読み込みを有効にする。第１のカウンタ部１１２はまた、クロックパルスをカウントしている際に外部装置２００から受信した送信完了割込み信号によりクロックパルスのカウントを終了する。第１のカウンタ部１１２は、カウンタの読み込みを有効にしてから終了するまでにカウントされたクロックパルスの数に基づいて、受信するデータの文字数（バイト数）、データの種別を検出する。
【００５０】
第１のワイヤレス通信部１１４は、他の無線通信装置（図示なし）との間で、所定の無線通信方式に従って、無線通信を行う。無線通信方式の一例として、第１のワイヤレス通信部１１４は、IEEE802.11a/b/g/nに従って、無線通信を行う。また、第１のワイヤレス通信部１１４は、Bluetooth（登録商標）に従って、無線通信を行ってもよい。
【００５１】
＜無線モジュール１００の機能＞
図４は、本実施例による無線モジュール１００の機能ブロック図を示す。
【００５２】
図４の機能ブロック図により表される機能は、主に、第１のCPU１０２により実行される。つまり、第１のCPU１０２は、第１の主記憶装置１０６に記憶されたアプリケーションプログラムに従って、第１のプロトコル処理部１０２２と、第１のシリアルインターフェース処理部１０２４と、第１のGPIOインターフェース処理部１０２６と、第１のカウンタ処理部１０２８として機能する。
【００５３】
＜無線モジュール１００からパケットデータを送信する場合＞
第１のCPU１０２の一機能として実現される第１のプロトコル処理部１０２２は、所定のプロトコルに従って、送信するパケットデータの処理を実行する。プロトコルの一例は、TCP/IP(Transmission Control Protocol/Internet Protocol)である。第１のプロトコル処理部１０２２は、TCP/IP以外のプロトコルに従って、送信するパケットデータの処理を実行するようにしてもよい。第１のプロトコル処理部１０２２は、TCP/IPに従って、第１のワイヤレス通信部１１４からのパケットデータを処理することにより、図３を参照して説明した本実施例によるパケットデータ４００（以下、「送信パケット」という）を作成する。
【００５４】
第１のプロトコル処理部１０２２は、送信パケットを作成する際に、送信パケットに含まれるデータの制御データ（制御情報）を作成する。具体的には、第１のプロトコル処理部１０２２は、各パケットデータを識別する識別IDを作成する。識別IDの一例は、TCP/IPに従って通信を行う場合には、IPアドレスとポート番号とを組み合わせたネットワークアドレスである。このネットワークアドレスは、ソケットIDとも呼ばれる。例えば、第１のワイヤレス通信部１１４により他の無線通信装置（図示なし）からのデータが受信された場合、第１のプロトコル処理部１０２２は、他の無線通信装置との間の通信毎に識別IDを作成する。
【００５５】
また、第１のプロトコル処理部１０２２は、送信パケットのデータ長（以下、「送信データ長」という）を求める。
【００５６】
第１のプロトコル処理部１０２２は、第１のシリアルインターフェース処理部１０２４へ送信パケットを入力すると共に、第１のカウンタ処理部１０２８へ送信データ長情報、識別IDを入力する。
【００５７】
第１のプロトコル処理部１０２２は、外部装置２００へ送信データ長情報を送信するための送信開始割込みを発生させるための第１の割込み信号を作成する。第１のプロトコル処理部１０２２は、第１のGPIOインターフェース処理部１０２６に対してアサートし、第１の割込み信号を入力する。第１のGPIOインターフェース処理部１０２６は、第１のGPIO部１１０を制御することにより第１のプロトコル処理部１０２２からの第１の割込み信号を外部装置２００へ送信する。
【００５８】
外部装置２００は、無線モジュール１００からの第１の割込み信号を受信することによりクロックパルスのカウンタの読み込みを有効にするとともに、カウント値を零にリセットする。
【００５９】
第１のカウンタ処理部１０２８は、第１のプロトコル処理部１０２２からの送信データ長情報に基づいて、第１のカウンタ部１１２へクロックパルスを送信するように命令する。第１のカウンタ部１１２は、第１のカウンタ処理部１０２８からの命令に従って、第３のバス３０６へクロックパルスを与えることにより、外部装置２００への送信データ長情報の送信を開始する。
【００６０】
第１のカウンタ処理部１０２８から送信データ長に相当するクロックパルスの送信が終了した場合、第１のプロトコル処理部１０２２は、外部装置２００へクロックパルスのカウンタの読み込みを終了させるための送信完了割込みを発生させる第２の割込み信号を作成する。
【００６１】
第１のプロトコル処理部１０２２は、第１のGPIOインターフェース処理部１０２６に対してアサートし、第２の割込み信号を入力する。第１のGPIOインターフェース処理部１０２６は、第１のGPIO部１１０を制御することにより第１のプロトコル処理部１０２２からの第２の割込み信号を外部装置２００へ送信する処理を実行する。
【００６２】
外部装置２００は、無線モジュール１００からの第２の割込み信号によりクロックパルスのカウンタの読み込みを終了する。外部装置２００は、カウンタ値に基づいて、送信データ長を検知する。
【００６３】
第１のプロトコル処理部１０２２は、外部装置２００へデータの種別情報を送信するための送信開始割込みを発生させるための第３の割込み信号を作成する。第１のプロトコル処理部１０２２は、第１のGPIOインターフェース処理部１０２６に対してアサートし、第３の割込み信号を入力する。第１のGPIOインターフェース処理部１０２６は、第１のGPIO部１１０を制御することにより第１のプロトコル処理部１０２２からの第３の割込み信号を外部装置２００へ送信する処理を実行する。
【００６４】
外部装置２００は、無線モジュール１００からの第３の割込み信号によりクロックパルスのカウンタの読み込みを有効にするとともに、カウント値を零にリセットする。
【００６５】
第１のカウンタ処理部１０２８は、第１のプロトコル処理部１０２２からのデータの種別情報に基づいて、第１のカウンタ部１１２へクロックパルスを送信するように命令する。第１のカウンタ部１１２は、第１のカウンタ処理部１０２８からの命令に従って、第３のバス３０６へクロックパルスを与えることにより、データの種別情報の送信を開始する。
【００６６】
第１のカウンタ処理部１０２８からデータの種別情報に相当するクロックパルスの送信が終了した場合、第１のプロトコル処理部１０２２は、外部装置２００へクロックパルスのカウンタの読み込みを終了させる送信完了割込みを発生させるための第４の割込み信号を作成する。
【００６７】
第１のプロトコル処理部１０２２は、第１のGPIOインターフェース処理部１０２６に対してアサートし、第４の割込み信号を入力する。第１のGPIOインターフェース処理部１０２６は、第１のGPIO部１１０を制御することにより第１のプロトコル処理部１０２２からの第４の割込み信号を外部装置２００へ送信する処理を実行する。
【００６８】
外部装置２００は、無線モジュール１００からの第４の割込み信号によりクロックパルスのカウンタの読み込みを終了する。外部装置２００は、カウンタ値に基づいて、データの種別を検知する。
【００６９】
続いて第１のプロトコル処理部１０２２は、第１のシリアルインターフェース処理部１０２４へ、パケットデータを送信するように命令する。第１のシリアルインターフェース処理部１０２４が、第１のプロトコル処理部１０２２による命令に従って、第１のシリアルインターフェース通信部１０８からパケットデータを送信する処理を実行する。
【００７０】
外部装置２００は、無線モジュール１００から送信データ長に相当するデータを受信した場合、そのことを通知する第５の割込み信号を作成し、無線モジュール１００に送信する。
【００７１】
第１のGPIOインターフェース処理部１０２６は、第１のGPIO部１１０に第５の割込み信号が受信されると、第１のプロトコル処理部１０２２へ、第５の割込み信号が受信されたことを通知する。
【００７２】
第１のプロトコル処理部１０２２は、第５の割込み信号が受信されたことにより、パケットデータが外部装置２００に受信されたことを検出する。
【００７３】
第１のシリアルインターフェース処理部１０２４は、第１のプロトコル処理部１０２２と接続される。第１のシリアルインターフェース処理部１０２４は、第１のシリアルインターフェース通信部１０８を制御することにより、第１のプロトコル処理部１０２２からの送信パケットを送信する処理を実行する。
【００７４】
第１のGPIOインターフェース処理部１０２６は、第１のプロトコル処理部１０２２と接続される。第１のGPIOインターフェース処理部１０２６は、第１のGPIO部１１０を制御することにより、第１のプロトコル処理部１０２２から第１の割込み信号、第２の割込み信号、第３の割込み信号、第４の割込み信号を送信する処理を実行する。また、第１のGPIOインターフェース処理部１０２６は、第１のGPIO部１１０で第５の割込み信号を受信する処理を実行する。
【００７５】
第１のカウンタ処理部１０２８は、第１のプロトコル処理部１０２２と接続される。第１のカウンタ処理部１０２８は、第１のカウンタ部１１２を制御することにより、第１のプロトコル処理部１０２２から送信データ長情報、データの種別情報を送信する処理を実行する。また、第１のカウンタ処理部１０２８は、第１のカウンタ部１１２が送信データ長情報、データの種別情報を受信する処理を実行する。
【００７６】
第１のプロトコル処理部１０２２は、所定のプロトコルに従って、パケットデータを送信する処理を実行する。
【００７７】
外部装置２００は、無線モジュール１００からのパケットデータを受信する。外部装置２００は、無線モジュール１００から受信したパケットデータに含まれるデータのデータ長をその都度求め、求めたデータ長が無線モジュール１００から通知された送信データ長と等しくなったか否かを判定する。外部装置２００は、無線モジュール１００からのパケットのデータ長が無線モジュール１００から通知された送信データ長と等しくなった場合、そのことを無線モジュール１００に通知するための第５の割込み信号を送信する。
【００７８】
第１のプロトコル処理部１０２２は、外部装置２００からの第５の割込み信号に基づいて、外部装置２００がパケットデータを受信したことを検出する。
【００７９】
＜外部装置２００からパケットデータを受信する場合＞
外部装置２００からパケットデータを受信する際には、第１のGPIO部１１０へ、送信データ長情報を送信するための送信開始割込みを発生させるための第６の割込み信号が外部装置２００から入力する。
【００８０】
第１のGPIO部１１０へ外部装置２００からの第６の割込み信号が入力されると、第１のGPIOインターフェース処理部１０２６は、第１のプロトコル処理部１０２２へ第６の割込み信号が入力されたことを通知する。第１のプロトコル処理部１０２２は、カウンタ処理部１０２８へカウンタの読み込みを有効にするように命令する。
【００８１】
第１のカウンタ処理部１０２８は、第１のプロトコル処理部１０２２からのカウンタの読み込みを有効にする命令に従って、第１のカウンタ部１１２を制御することにより外部装置２００からのクロックパルスの読み込みを有効にするとともに、カウント値を零にリセットする。
【００８２】
第１のカウンタ処理部１０２８は、第１のカウンタ部１１２を制御することにより外部装置２００からのクロックパルスを受信する処理を実行する。
【００８３】
外部装置２００が送信データ長情報の送信を終了すると、第１のGPIO部１１０へ、外部装置２００から送信データ長情報の送信が終了したことを通知するための送信完了割込みを発生させるための第７の割込み信号を入力する。
【００８４】
第１のGPIO部１１０へ外部装置２００からの第７の割込み信号が入力されると、第１のGPIOインターフェース処理部１０２６は、第１のプロトコル処理部１０２２へ第７の割込み信号が入力されたことを通知する。第１のプロトコル処理部１０２２は、カウンタ処理部１０２８へカウンタの読み込みを終了するように命令する。
【００８５】
第１のカウンタ処理部１０２８は、第１のプロトコル処理部１０２２からのカウンタの読み込みを終了する命令に従って、第１のカウンタ部１１２を制御することにより外部装置２００からのクロックパルスの読み込みを終了する。第１のカウンタ処理部１０２８は、カウント値に基づいて、送信データ長を検出し、第１のプロトコル処理部１０２２へ入力する。第１のプロトコル処理部１０２２は、第１のシリアルインターフェース処理部１０２４へ、送信データ長を入力する。
【００８６】
外部装置２００がデータ種別情報の送信を開始する際には、第１のGPIO部１１０へ、外部装置２００からデータの種別情報を送信するための送信開始割込みを発生させるための第８の割込み信号が入力される。
【００８７】
第１のGPIO部１１０へ外部装置２００からの第８の割込み信号が入力されると、第１のGPIOインターフェース処理部１０２６は、第１のプロトコル処理部１０２２へ第８の割込み信号が入力されたことを通知する。第１のプロトコル処理部１０２２は、第１のカウンタ処理部１０２８へカウンタの読み込みを有効にするように命令する。
【００８８】
第１のカウンタ処理部１０２８は、第１のプロトコル処理部１０２２からのカウンタの読み込みを有効にする命令に従って、第１のカウンタ部１１２を制御することにより外部装置２００からのクロックパルスの読み込みを有効にするとともに、カウント値を零にリセットする。
【００８９】
第１のカウンタ処理部１０２８は、第１のカウンタ部１１２を制御することにより外部装置２００からのクロックパルスを受信する処理を実行する。
【００９０】
外部装置２００がデータ種別情報の送信を終了すると、第１のGPIO部１１０へ、外部装置２００からデータの種別情報の送信が終了したことを通知するための送信完了割込みを発生させるための第９の割込み信号を入力する。
【００９１】
第１のGPIO部１１０へ外部装置２００からの第９の割込み信号が入力されると、第１のGPIOインターフェース処理部１０２６は、第１のプロトコル処理部１０２２へ第９の割込み信号が入力されたことを通知する。第１のプロトコル処理部１０２２は、カウンタ処理部１０２８へカウンタの読み込みを終了するように命令する。
【００９２】
第１のカウンタ処理部１０２８は、第１のプロトコル処理部１０２２からのカウンタの読み込みを終了する命令に従って、第１のカウンタ部１１２を制御することにより外部装置２００からのクロックパルスの読み込みを終了する。第１のカウンタ処理部１０２８は、カウント値に基づいて、データの種別を検出し、第１のプロトコル処理部１０２２へ通知する。
【００９３】
第１のプロトコル処理部１０２２は、第１のシリアルインターフェース処理部１０２４へ、外部装置２００からのパケットデータを受信する処理を実行するように命令する。
【００９４】
第１のシリアルインターフェース処理部１０２４は、第１のシリアルインターフェース通信部１０８を制御することにより、所定のプロトコルに従って、外部装置２００からのパケットデータを受信する処理を実行する。第１のシリアルインターフェース処理部１０２４は、外部装置２００から受信したパケットデータのデータ長を求め、求めたデータ長が外部装置２００から通知された送信データ長と等しくなったか否かを判定する。第１のシリアルインターフェース処理部１０２４は、外部装置２００からのパケットデータのデータ長が外部装置２００から通知された送信データ長と等しくなった場合、そのことを第１のプロトコル処理部１０２２へ通知する。
【００９５】
第１のプロトコル処理部１０２２は、第１のシリアルインターフェース処理部１０２４からのパケットデータに含まれるデータ長が外部装置２００から通知された送信データ長と等しくなったことが通知された場合、そのことを外部装置２００へ通知するための第１０の割込み信号を作成する。第１のプロトコル処理部１０２２は、第１のGPIOインターフェース処理部１０２６に対してアサートし、第１０の割込み信号を入力する。第１のGPIOインターフェース処理部１０２６は、第１のプロトコル処理部１０２２からの第１０の割込み信号を外部装置２００へ送信する。
【００９６】
外部装置２００は、無線モジュール１００からの第１０の割込み信号に基づいて、無線モジュール１００がパケットデータを受信したことを検出する。
【００９７】
第１のプロトコル処理部１０２２は、データの種別に基づいて、外部装置２００からのパケットデータを合成するのが好ましい。具体的には、第１のプロトコル処理部１０２２は、データの種別が同じであるパケットデータを合成する。
【００９８】
＜外部装置２００＞
図５は、本実施例による外部装置２００を示す。
【００９９】
外部装置２００は、第２のCPU２０２と、第２の割込み制御部２０４と、第２の主記憶装置２０６と、第２のシリアルインターフェース通信部２０８と、第２のGPIO部２１０と、第２のカウンタ部２１２とを備える。
【０１００】
第２のCPU２０２と、第２の割込み制御部２０４と、第２の主記憶装置２０６と、第２のシリアルインターフェース通信部２０８と、第２のGPIO部２１０と、第２のカウンタ部２１２との間は、バス２５０により相互に接続される。
【０１０１】
第２のCPU２０２は、第２の主記憶装置２０６に記憶されたプログラムに従って、外部装置２００の各部を制御する。
【０１０２】
第２の割込み制御部２０４は、第２のCPU２０２と接続され、無線モジュール１００との割込み制御を実行する。例えば、外部装置２００と接続される装置から信号を受信し、該信号を無線モジュール１００へ送信する際に、第２の割込み制御部２０４は、無線モジュール１００からの割込み制御を実行する。第２の割込み制御部２０４の機能は、第２のCPU２０２により実行されてもよい。
【０１０３】
第２の主記憶装置２０６は、第２のCPU２０２が実行する各種プログラムを記憶する。
【０１０４】
第２のシリアルインターフェース通信部２０８は、無線モジュール１００と外部装置２００との間のインターフェースである。第２のシリアルインターフェース通信部２０８は、無線モジュール１００と外部装置２００との間を接続するシリアルバスの規格に従って、第１のバス３０２へパケットデータを送信する。また、第２のシリアルインターフェース通信部２０８は、無線モジュール１００と外部装置２００との間を接続するシリアルバスの規格に従って、第１のバス３０２からのパケットデータを受信する。
【０１０５】
無線モジュール１００と外部装置２００との間を接続するシリアルバスの規格の一例は、SPIである。この場合には、第１のバス３０２は、複数の信号線により構成される。また、無線モジュール１００、外部装置２００のうちの一方がマスターとされ、他方がスレーブとされる。
【０１０６】
第１のバス３０２は、上述したように、シリアルクロックを伝送する信号線と、マスターから出力されスレーブへ入力されるデータを伝送する信号線と、スレーブから出力されマスターへ入力されるデータを伝送する信号線とを有する。さらに、第１のバス３０２には、スレーブを選択する信号を伝送する信号線が含まれてもよい。スレーブを選択する信号は、マスターから出力される。
【０１０７】
第２のシリアルインターフェース通信部２０８は、図３を参照して説明したパケットデータ４００を送受信する。
【０１０８】
第２のGPIO部２１０は、第２のシリアルインターフェース通信部２０８により送受信されるパケットデータのデータ長、データの種別（識別ＩＤ）などの制御データを無線モジュール１００へ送信する際に、無線モジュール１００へ割込みを発生させる送信開始割込み信号を送信する。
【０１０９】
第２のシリアルインターフェース通信部２０８から無線モジュール１００へパケットデータを送信する場合には、第２のGPIO部２１０は、無線モジュール１００へパケットデータの制御データを送信する前に、送信開始割込み信号を無線モジュール１００に送信する。
【０１１０】
第２のシリアルインターフェース通信部２０８を介して無線モジュール１００からパケットデータを受信する場合には、第２のGPIO部２１０は、無線モジュール１００からパケットデータの制御データが送信される前に、無線モジュール１００からの送信開始割込み信号を受信する。。
【０１１１】
第２のカウンタ部２１２は、無線モジュール１００と外部装置２００との間で送受信するクロックパルスをカウントすることによる。第２のカウンタ部２１２は、クロックパルスのカウント値に基づいて、データ長情報、データの種別情報を識別する。
【０１１２】
第２のシリアルインターフェース通信部２０８からパケットデータを送信する場合には、第２のカウンタ部２１２は、無線モジュール１００に送信するパケットデータのデータ長、データの種別情報を無線モジュール１００に通知する。本実施例では、第２のカウンタ部２１２は、第３のバス３０６へクロックパルスを与えることにより、送信するパケットデータのデータ量、データの種別情報を通知する。送信するパケットデータのデータ長を通知する際には、パケットデータのデータ長とクロックパルスの数とが予め対応付けられている。例えば、１バイトのデータ長とクロックパルスの１パルスとが対応付けられる。この場合、送信するデータ量が２０バイトである場合には、第２のカウンタ部２１２は、第３のバス３０６へ２０パルス与える。
【０１１３】
第２のシリアルインターフェース通信部２０８がパケットデータを受信する場合には、第２のカウンタ部２１２は、無線モジュール１００により第３のバス３０６へ与えられたクロックパルスをカウントする。第２のカウンタ部２１２は、無線モジュール１００からの送信開始割込み信号を受信することにより、クロックパルスをカウントするカウンタの読み込みを有効にする。第２のカウンタ部２１２はまた、クロックパルスをカウントしている際に無線モジュール１００から受信した送信完了割込み信号によりクロックパルスのカウントを終了する。第２のカウンタ部２１２は、カウンタの読み込みを有効にしてから終了するまでにカウントされたクロックパルスの数に基づいて、受信するデータの文字数（バイト数）、データの種別を検出する。
【０１１４】
＜外部装置２００の機能＞
図６は、本実施例による外部装置２００の機能ブロック図を示す。
【０１１５】
図６の機能ブロック図により表される機能は、主に、第２のCPU２０２により実行される。つまり、第２のCPU２０２は、第２の主記憶装置２０６に記憶されたアプリケーションプログラムに従って、第２のプロトコル処理部２０２２と、第２のシリアルインターフェース処理部２０２４と、第２のGPIOインターフェース処理部２０２６と、第２のカウンタ処理部２０２８として機能する。
【０１１６】
＜外部装置２００からパケットデータを送信する場合＞
第２のCPU２０２の一機能として実現される第２のプロトコル処理部２０２２は、所定のプロトコルに従って、送信するパケットデータの処理を実行する。プロトコルの一例は、TCP/IPである。第２のプロトコル処理部２０２２は、TCP/IP以外のプロトコルに従って、送信するパケットデータの処理を実行するようにしてもよい。第２のプロトコル処理部２０２２は、TCP/IPに従って、外部装置２００と接続される装置から入力される信号を処理することにより、図３を参照して説明した本実施例によるパケットデータ４００（送信パケット）を作成する。
【０１１７】
第２のプロトコル処理部２０２２は、送信パケットを作成する際に、送信パケットに含まれるデータの制御データ（制御情報）を作成する。具体的には、第２のプロトコル処理部２０２２は、各パケットデータを識別する識別IDを作成する。識別IDの一例は、TCP/IPに従って通信を行う場合には、IPアドレスとポート番号とを組み合わせたネットワークアドレスである。このネットワークアドレスは、ソケットIDとも呼ばれる。例えば、外部装置２００を搭載する装置または接続される装置（図示なし）からのデータが受信された場合、第２のプロトコル処理部２０２２は、該装置との間の通信毎に識別IDを作成する。
【０１１８】
また、第２のプロトコル処理部２０２２は、送信パケットの送信データ長を求める。
【０１１９】
第２のプロトコル処理部２０２２は、第２のシリアルインターフェース処理部２０２４へ送信パケットを入力すると共に、第２のカウンタ処理部２０２８へ送信データ長情報、識別IDを入力する。
【０１２０】
第２のプロトコル処理部２０２２は、無線モジュール１００へ送信データ長情報を送信するための送信開始割込みを発生させるための第６の割込み信号を作成する。第２のプロトコル処理部２０２２は、第２のGPIOインターフェース処理部２０２６に対してアサートし、第６の割込み信号を入力する。第２のGPIOインターフェース処理部２０２６は、第２のGPIO部２１０を制御することにより第２のプロトコル処理部２０２２からの第６の割込み信号を無線モジュール１００へ送信する。
【０１２１】
無線モジュール１００は、外部装置２００からの第６の割込み信号を受信することによりクロックパルスのカウンタの読み込みを有効にするとともに、カウント値を零にリセットする。
【０１２２】
第２のカウンタ処理部２０２８は、第２のプロトコル処理部２０２２からの送信データ長情報に基づいて、第２のカウンタ部２１２へクロックパルスを送信するように命令する。第２のカウンタ部２１２は、第２のカウンタ処理部２０２８からの命令に従って、第３のバス３０６へクロックパルスを与えることにより、無線モジュール１００への送信データ長情報の送信を開始する。
【０１２３】
第２のカウンタ処理部２０２８から送信データ長に相当するクロックパルスの送信が終了した場合、第２のプロトコル処理部２０２２は、無線モジュール１００へクロックパルスのカウンタの読み込みを終了させるための送信完了割込みを発生させる第７の割込み信号を作成する。
【０１２４】
第２のプロトコル処理部２０２２は、第２のGPIOインターフェース処理部２０２６に対してアサートし、第７の割込み信号を入力する。第２のGPIOインターフェース処理部２０２６は、第２のGPIO部２１０を制御することにより第２のプロトコル処理部２０２２からの第７の割込み信号を無線モジュール１００へ送信する処理を実行する。
【０１２５】
無線モジュール１００は、外部装置２００からの第７の割込み信号によりクロックパルスのカウンタの読み込みを終了する。無線モジュール１００は、カウンタ値に基づいて、送信データ長を検知する。
【０１２６】
第２のプロトコル処理部２０２２は、無線モジュール１００へデータの種別情報を送信するための送信開始割込みを発生させるための第８の割込み信号を作成する。第２のプロトコル処理部２０２２は、第２のGPIOインターフェース処理部２０２６に対してアサートし、第８の割込み信号を入力する。第２のGPIOインターフェース処理部２０２６は、第２のGPIO部２１０を制御することにより第２のプロトコル処理部２０２２からの第８の割込み信号を無線モジュール１００へ送信する処理を実行する。
【０１２７】
無線モジュール１００は、外部装置２００からの第８の割込み信号によりクロックパルスのカウンタの読み込みを有効にするとともに、カウント値を零にリセットする。
【０１２８】
第２のカウンタ処理部２０２８は、第２のプロトコル処理部２０２２からのデータの種別情報に基づいて、第２のカウンタ部２１２へクロックパルスを送信するように命令する。第２のカウンタ部２１２は、第２のカウンタ処理部２０２８からの命令に従って、第３のバス３０６へクロックパルスを与えることにより、データの種別情報の送信を開始する。
【０１２９】
第２のカウンタ処理部２０２８からデータの種別情報に相当するクロックパルスの送信が終了した場合、第２のプロトコル処理部２０２２は、無線モジュール１００へクロックパルスのカウンタの読み込みを終了させる送信完了割込みを発生させるための第９の割込み信号を作成する。
【０１３０】
第２のプロトコル処理部２０２２は、第２のGPIOインターフェース処理部２０２６に対してアサートし、第９の割込み信号を入力する。第２のGPIOインターフェース処理部２０２６は、第２のGPIO部２１０を制御することにより第２のプロトコル処理部２０２２からの第９の割込み信号を無線モジュール１００へ送信する処理を実行する。
【０１３１】
無線モジュール１００は、外部装置２００からの第９の割込み信号によりクロックパルスのカウンタの読み込みを終了する。無線モジュール１００は、カウンタ値に基づいて、データの種別を検知する。
【０１３２】
続いて第２のプロトコル処理部２０２２は、第２のシリアルインターフェース処理部２０２４へ、パケットデータを送信するように命令する。第２のシリアルインターフェース処理部２０２４が、第２のプロトコル処理部２０２２による命令に従って、第２のシリアルインターフェース通信部２０８からパケットデータを送信する処理を実行する。
【０１３３】
無線モジュール１００は、外部装置２００から送信データ長に相当するデータを受信した場合、そのことを通知する第１０の割込み信号を作成し、外部装置２００に送信する。
【０１３４】
第２のGPIOインターフェース処理部２０２６は、第２のGPIO部２１０に第１０の割込み信号が受信されると、第２のプロトコル処理部２０２２へ、第１０の割込み信号が受信されたことを通知する。
【０１３５】
第２のプロトコル処理部２０２２は、第１０の割込み信号が受信されたことにより、パケットデータが無線モジュール１００に受信されたことを検出する。
【０１３６】
第２のシリアルインターフェース処理部２０２４は、第２のプロトコル処理部２０２２と接続される。第２のシリアルインターフェース処理部２０２４は、第２のシリアルインターフェース通信部２０８を制御することにより、第２のプロトコル処理部２０２２からの送信パケットを送信する処理を実行する。
【０１３７】
第２のGPIOインターフェース処理部２０２６は、第２のプロトコル処理部２０２２と接続される。第２のGPIOインターフェース処理部２０２６は、第２のGPIO部２１０を制御することにより、第２のプロトコル処理部２０２２から第６の割込み信号、第７の割込み信号、第８の割込み信号、第９の割込み信号を送信する処理を実行する。また、第２のGPIOインターフェース処理部２０２６は、第２のGPIO部２１０で第１０の割込み信号を受信する処理を実行する。
【０１３８】
第２のカウンタ処理部２０２８は、第２のプロトコル処理部２０２２と接続される。第２のカウンタ処理部２０２８は、第２のカウンタ部２１２を制御することにより、第２のプロトコル処理部２０２２から送信データ長情報、データの種別情報を送信する処理を実行する。また、第２のカウンタ処理部２０２８は、第２のカウンタ部２１２が送信データ長情報、データの種別情報を受信する処理を実行する。
【０１３９】
第２のプロトコル処理部２０２２は、所定のプロトコルに従って、パケットデータを送信する処理を実行する。
【０１４０】
無線モジュール１００は、外部装置２００からのパケットデータを受信する。無線モジュール１００は、外部装置２００から受信したパケットデータに含まれるデータのデータ長をその都度求め、求めたデータ長が外部装置２００から通知された送信データ長と等しくなったか否かを判定する。無線モジュール１００は、外部装置２００からのパケットのデータ長が外部装置２００から通知された送信データ長と等しくなった場合、そのことを無線モジュール１００に通知するための第１０の割込み信号を送信する。
【０１４１】
第２のプロトコル処理部２０２２は、無線モジュール１００からの第１０の割込み信号に基づいて、無線モジュール１００がパケットデータを受信したことを検出する。
【０１４２】
第２のプロトコル処理部２０２２は、外部装置２００からの第５の割込み信号に基づいて、外部装置２００にパケットデータが受信されたことを検出する。
【０１４３】
＜無線モジュール１００からデータを受信する場合＞
無線モジュール１００からデータを受信する際には、第２のGPIO部２１０へ、送信データ長情報を送信するための送信開始割込みを発生させるための第１の割込み信号が無線モジュール１００から入力する。
【０１４４】
第２のGPIO部２１０へ無線モジュール１００からの第１の割込み信号が入力されると、第２のGPIOインターフェース処理部２０２６は、第２のプロトコル処理部２０２２へ第１の割込み信号が入力されたことを通知する。第２のプロトコル処理部２０２２は、カウンタ処理部２０２８へカウンタの読み込みを有効にするように命令する。
【０１４５】
第２のカウンタ処理部２０２８は、第２のプロトコル処理部２０２２からのカウンタの読み込みを有効にする命令に従って、第２のカウンタ部２１２を制御することにより無線モジュール１００からのクロックパルスの読み込みを有効にするとともに、カウント値を零にリセットする。
【０１４６】
第２のカウンタ処理部２０２８は、第２のカウンタ部２１２を制御することにより無線モジュール１００からのクロックパルスを受信する処理を実行する。
【０１４７】
無線モジュール１００が送信データ長情報の送信を終了すると、第２のGPIO部２１０へ、無線モジュール１００から送信データ長情報の送信が終了したことを通知するための送信完了割込みを発生させるための第２の割込み信号を入力する。
【０１４８】
第２のGPIO部２１０へ無線モジュール１００からの第２の割込み信号が入力されると、第２のGPIOインターフェース処理部２０２６は、第２のプロトコル処理部２０２２へ第２の割込み信号が入力されたことを通知する。第２のプロトコル処理部２０２２は、カウンタ処理部２０２８へカウンタの読み込みを終了するように命令する。
【０１４９】
第２のカウンタ処理部２０２８は、第２のプロトコル処理部２０２２からのカウンタの読み込みを終了する命令に従って、第２のカウンタ部２１２を制御することにより無線モジュール１００からのクロックパルスの読み込みを終了する。第２のカウンタ処理部２０２８は、カウント値に基づいて、送信データ長を検出し、第２のプロトコル処理部２０２２へ入力する。第２のプロトコル処理部２０２２は、第２のシリアルインターフェース処理部２０２４へ、送信データ長を入力する。
【０１５０】
無線モジュール１００がデータ種別情報の送信を開始する際には、第２のGPIO部２１０へ、無線モジュール１００からデータの種別情報を送信するための送信開始割込みを発生させるための第３の割込み信号が入力される。
【０１５１】
第２のGPIO部２１０へ無線モジュール１００からの第３の割込み信号が入力されると、第２のGPIOインターフェース処理部２０２６は、第２のプロトコル処理部２０２２へ第３の割込み信号が入力されたことを通知する。第２のプロトコル処理部２０２２は、第２のカウンタ処理部２０２８へカウンタの読み込みを有効にするように命令する。
【０１５２】
第２のカウンタ処理部２０２８は、第２のプロトコル処理部２０２２からのカウンタの読み込みを有効にする命令に従って、第２のカウンタ部２１２を制御することにより無線モジュール１００からのクロックパルスの読み込みを有効にするとともに、カウント値を零にリセットする。
【０１５３】
第２のカウンタ処理部２０２８は、第２のカウンタ部２１２を制御することにより無線モジュール１００からのクロックパルスを受信する処理を実行する。
【０１５４】
無線モジュール１００がデータ種別情報の送信を終了すると、第２のGPIO部２１０へ、無線モジュール１００からデータの種別情報の送信が終了したことを通知するための送信完了割込みを発生させるための第４の割込み信号を入力する。
【０１５５】
第２のGPIO部２１０へ無線モジュール１００からの第４の割込み信号が入力されると、第２のGPIOインターフェース処理部２０２６は、第２のプロトコル処理部２０２２へ第４の割込み信号が入力されたことを通知する。第２のプロトコル処理部２０２２は、カウンタ処理部２０２８へカウンタの読み込みを終了するように命令する。
【０１５６】
第２のカウンタ処理部２０２８は、第２のプロトコル処理部２０２２からのカウンタの読み込みを終了する命令に従って、第２のカウンタ部２１２を制御することにより無線モジュール１００からのクロックパルスの読み込みを終了する。第２のカウンタ処理部２０２８は、カウント値に基づいて、データの種別を検出し、第１のプロトコル処理部１０２２へ通知する。
【０１５７】
第２のプロトコル処理部２０２２は、第２のシリアルインターフェース処理部２０２４へ、無線モジュール１００からのパケットデータを受信する処理を実行するように命令する。
【０１５８】
第２のシリアルインターフェース処理部２０２４は、第２のシリアルインターフェース通信部２０８を制御することにより、所定のプロトコルに従って、無線モジュール１００からのパケットデータを受信する処理を実行する。第２のシリアルインターフェース処理部２０２４は、無線モジュール１００から受信したパケットデータのデータ長を求め、求めたデータ長が無線モジュール１００から通知された送信データ長と等しくなったか否かを判定する。第２のシリアルインターフェース処理部２０２４は、無線モジュール１００からのパケットデータのデータ長が無線モジュール１００から通知された送信データ長と等しくなった場合、そのことを第２のプロトコル処理部２０２２へ通知する。
【０１５９】
第２のプロトコル処理部２０２２は、第２のシリアルインターフェース処理部２０２４からのパケットデータに含まれるデータ長が通知された送信データ長と等しくなったことが通知された場合、そのことを無線モジュール１００へ通知するための第５の割込み信号を作成する。第２のプロトコル処理部２０２２は、第２のGPIOインターフェース処理部２０２６に対してアサートし、第５の割込み信号を入力する。第２のGPIOインターフェース処理部２０２６は、第２のプロトコル処理部２０２２からの第５の割込み信号を無線モジュール１００へ送信する。
【０１６０】
無線モジュール１００は、外部装置２００からの第５の割込み信号に基づいて、外部装置２００がパケットデータを受信したことを検出する。
【０１６１】
第２のプロトコル処理部２０２２は、データの種別に基づいて、無線モジュール１００からのパケットデータを合成するのが好ましい。具体的には、第２のプロトコル処理部２０２２は、データの種別が同じであるパケットデータを合成する。
【０１６２】
＜通信システムの動作＞
図７は、通信システムの動作（その１）を示す。
【０１６３】
図７は、無線モジュール１００から外部装置２００にパケットデータを送信するときの動作を示す。
【０１６４】
ステップＳ７０２では、無線モジュール１００は、第１のGPIO部１１０から信号線３０４を介して外部装置２００へ第１の割込み信号を送信する。外部装置２００は、無線モジュール１００からの第１の割込み信号に基づいて、クロックパルスのカウンタの読み込みを有効にするとともに、カウント値をリセットする。
【０１６５】
ステップＳ７０４では、無線モジュール１００は、第１のカウンタ回路１１２から信号線３０６を介して外部装置２００へクロックパルスを送信する。外部装置２００は、無線モジュール１００からのクロックパルスをカウントする。
【０１６６】
ステップＳ７０６では、無線モジュール１００は、第１のGPIO部１１０から第２の割込み信号を外部装置２００へ送信する。外部装置２００は、無線モジュール１００からの第２の割込み信号に基づいて、クロックパルスのカウンタの読み込みを終了するとともに、カウンタ値に基づいて、送信データ長を検知する。
【０１６７】
ステップＳ７０８では、無線モジュール１００は、第１のGPIO部１１０から第３の割込み信号を外部装置２００へ送信する。外部装置２００は、無線モジュール１００からの第３の割込み信号に基づいて、クロックパルスのカウンタの読み込みを有効にするとともに、カウント値をリセットする。
【０１６８】
ステップＳ７１０では、無線モジュール１００は、外部装置２００へ第１のカウンタ部１１２からクロックパルスを送信する。外部装置２００は、無線モジュール１００からのクロックパルスをカウントする。
【０１６９】
ステップＳ７１２では、無線モジュール１００は、第１のGPIO部１１０から外部装置２００へ第４の割込み信号を送信する。外部装置２００は、無線モジュール１００からの第４の割込み信号に基づいて、クロックパルスのカウンタの読み込みを終了するとともに、カウンタ値に基づいて、データの種別を検知する。
【０１７０】
ステップＳ７１４では、無線モジュール１００は、第１のシリアルインターフェース通信部１０８から外部装置２００へパケットデータを送信する。外部装置２００は、無線モジュール１００からのパケットデータを受信する。
【０１７１】
ステップＳ７１６では、外部装置２００は、無線モジュール１００から送信データ長に相当するデータを受信した場合、そのことを通知する第５の割込み信号を作成し、無線モジュール１００へ第５の割込み信号を送信する。
【０１７２】
図７に示されるシーケンスチャートにおいて、ステップＳ７０２−Ｓ７０６の処理と、ステップＳ７０８−Ｓ７１２の処理は、入れ替えてもよい。ステップＳ７０２−Ｓ７０６の処理と、ステップＳ７０８−Ｓ７１２の処理の順番は、無線モジュール１００と外部装置２００との間で予め設定される。
【０１７３】
第１の割込み信号−第４の割込み信号は、同様の信号であるのが好ましい。
【０１７４】
図８は、通信システムの動作（その２）を示す。
【０１７５】
図８は、外部装置２００から無線モジュール１００にパケットデータを送信するときの動作を示す。
【０１７６】
ステップＳ８０２では、外部装置２００は、第２のGPIO部２１０から信号線３０４を介して無線モジュール１００へ第６の割込み信号を送信する。無線モジュール１００は、外部装置２００からの第６の割込み信号に基づいて、クロックパルスのカウンタの読み込みを有効にするとともに、カウント値をリセットする。
【０１７７】
ステップＳ８０４では、外部装置２００は、第２のカウンタ回路２１２から信号線３０６を介して無線モジュール１００へクロックパルスを送信する。無線モジュール１００は、外部装置２００からのクロックパルスをカウントする。
【０１７８】
ステップＳ８０６では、外部装置２００は、第２のGPIO部２１０から第７の割込み信号を無線モジュール１００へ送信する。無線モジュール１００は、外部装置２００からの第７の割込み信号に基づいて、クロックパルスのカウンタの読み込みを終了するとともに、カウンタ値に基づいて、送信データ長を検知する。
【０１７９】
ステップＳ８０８では、外部装置２００は、第２のGPIO部２１０から第８の割込み信号を無線モジュール１００へ送信する。無線モジュール１００は、外部装置２００からの第８の割込み信号に基づいて、クロックパルスのカウンタの読み込みを有効にするとともに、カウント値をリセットする。
【０１８０】
ステップＳ８１０では、外部装置２００は、無線モジュール１００へ第２のカウンタ部２１２からクロックパルスを送信する。無線モジュール１００は、外部装置２００からのクロックパルスをカウントする。
【０１８１】
ステップＳ８１２では、外部装置２００は、第２のGPIO部２１０から無線モジュール１００へ第９の割込み信号を送信する。無線モジュール１００は、外部装置２００からの第８の割込み信号に基づいて、クロックパルスのカウンタの読み込みを終了するとともに、カウンタ値に基づいて、データの種別を検知する。
【０１８２】
ステップＳ８１４では、外部装置２００は、第２のシリアルインターフェース通信部２０８から無線モジュール１００へパケットデータを送信する。無線モジュール１００は、外部装置２００からのパケットデータを受信する。
【０１８３】
ステップＳ８１６では、無線モジュール１００は、外部装置２００から送信データ長に相当するデータを受信した場合、そのことを通知する第１０の割込み信号を作成し、外部装置２００へ第１０の割込み信号を送信する。
【０１８４】
図８に示されるシーケンスチャートにおいて、ステップＳ８０２−Ｓ８０６の処理と、ステップＳ８０８−Ｓ８１２の処理は、入れ替えてもよい。ステップＳ８０２−Ｓ８０６の処理と、ステップＳ８０８−Ｓ８１２の処理の順番は、無線モジュール１００と外部装置２００との間で予め設定される。
【０１８５】
第６の割込み信号−第９の割込み信号は、同様の信号であるのが好ましい。
【０１８６】
通信システムの一実施例によれば、SPIに従ったシリアル通信によりデータを送信する際に、データを送信する信号線とは異なる信号線で該データの制御情報を送信する。データを送信する信号線とは異なる信号線で該データの制御情報を送信することにより、データのデータ転送速度を向上させることができる。
【０１８７】
本実施例による通信システムにおいて、データの制御情報を送信するための割込み信号を送信する信号線とデータの制御情報を送信するための信号線を共通の信号線としてもよい。
【０１８８】
＜変形例（その１）＞
本変形例による通信システムは、無線モジュール１００と外部装置２００との間を接続するシリアルバスの規格をUARTとしたものである。この場合には、第１のバスは、複数の信号線により構成される。第１のバス３０２は、無線モジュール１００から外部装置２００へデータを伝送する信号線と、外部装置２００から無線モジュール１００へデータを伝送する信号線で構成される。
【０１８９】
通信システムの一変形例によれば、UARTに従ったシリアル通信によりデータを送信する際に、データを送信する信号線とは異なる信号線で該データの制御情報を送信する。データを送信する信号線とは異なる信号線で該データの制御情報を送信することにより、データのデータ転送速度を向上させることができる。
【０１９０】
本変形例による通信システムにおいて、データの制御情報を送信するための割込み信号を送信する信号線とデータの制御情報を送信するための信号線を共通の信号線としてもよい。
【０１９１】
＜変形例（その２）＞
本変形例による通信システムは、無線モジュール１００と外部装置２００との間を接続するシリアルバスの規格をIICとしたものである。この場合には、第１のバスは、複数の信号線により構成される。第１のバス３０２は、無線モジュール１００と外部装置２００との間でデータを伝送する信号線と、クロックを伝送する信号線で構成される。
【０１９２】
通信システムの一変形例によれば、IICに従ったシリアル通信によりデータを送信する際に、データを送信する信号線とは異なる信号線で該データの制御情報を送信する。データを送信する信号線とは異なる信号線で該データの制御情報を送信することにより、データのデータ転送速度を向上させることができる。
【０１９３】
本変形例による通信システムにおいて、データの制御情報を送信するための割込み信号を送信する信号線とデータの制御情報を送信するための信号線を共通の信号線としてもよい。
【０１９４】
以上、本発明は特定の実施例を参照しながら説明されてきたが、各実施例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。例えば、SPI、UART、IIC以外のシリアルインターフェースを適用できる。説明の便宜上、本発明の実施例に従った装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
【符号の説明】
【０１９５】
１００  無線モジュール
１０２  第１のCPU
１０４  第１の割込み制御部
１０６  第１の主記憶装置
１０８  第１のシリアルインターフェース通信部
１１０  第１のGPIO部
１１２  第１のカウンタ部
１１４  第１のワイヤレス通信部
２００  外部装置
２０２  第２のCPU
２０４  第２の割込み制御部
２０６  第２の主記憶装置
２０８  第２のシリアルインターフェース通信部
２１０  第２のGPIO部
２１２  第２のカウンタ部
３０２  第１のバス
３０４  第２のバス
３０６  第３のバス
１０２２  第１のプロトコル処理部
１０２４  第１のシリアルインターフェース処理部
１０２６  第１のGPIOインターフェース処理部
１０２８  第１のカウンタ処理部
２０２２  第２のプロトコル処理部
２０２４  第２のシリアルインターフェース処理部
２０２６  第２のGPIOインターフェース処理部
２０２８  第２のカウンタ処理部
【図１】
2015014967.tif 000003
【図２】
2015014967.tif 000004
【図３】
2015014967.tif 000005
【図４】
2015014967.tif 000006
【図５】
2015014967.tif 000007
【図６】
2015014967.tif 000008
【図７】
2015014967.tif 000009
【図８】
2015014967.tif 000010