(57)【要約】 【課題】データ通信の迅速性の向上とデータ通信以外の他の処理の遅延の抑制とを両立させることができる通信装置を提供する。【解決手段】制御装置は、第１割り込み信号に応じてバッファメモリの状態を確認し、バッファメモリが次の送信データを書き込み可能な空き容量を有する場合にバッファメモリに次の送信データを書き込む第１書き込み処理を実行可能である。また、制御装置は、Ｎ１回の第１書き込み処理の完了に応じてバッファメモリの状態を確認し、バッファメモリが空き容量を有する場合にバッファメモリに次の送信データを書き込む第２書き込み処理を実行可能である。制御装置は、第１または第２書き込み処理での送信データの書き込みを合計でＮ２回実行した後に、新たな第１書き込み処理を実行する。【選択図】図１
2016171451.tif 000002
【特許請求の範囲】
【請求項１】
通信相手装置に送信すべき送信データが書き込まれるバッファメモリと、前記送信データを前記バッファメモリから読み出して前記通信相手装置に送信する送信装置と、を有する無線通信部と、
前記バッファメモリに前記送信データを書き込む制御装置と、を備え、
前記送信装置は、前記送信データの送信の完了に応じて前記制御装置に第１割り込み信号を出力し、
前記制御装置は、
前記第１割り込み信号に応じて前記バッファメモリの状態を確認し、前記バッファメモリが次の送信データを書き込み可能な空き容量を有する場合に前記バッファメモリに前記次の送信データを書き込む第１書き込み処理と、
Ｎ１回（Ｎ１は自然数、以下同様）の前記第１書き込み処理の完了に応じて前記バッファメモリの状態を確認し、前記バッファメモリが前記空き容量を有する場合に前記バッファメモリに前記次の送信データを書き込む第２書き込み処理と、を実行可能であり、
前記制御装置は、前記第１または第２書き込み処理での前記送信データの書き込みを合計でＮ２回（Ｎ２はＮ１以上の自然数、以下同様）実行した後に、新たな前記第１書き込み処理を実行する、通信装置。
【請求項２】
前記制御装置は、前記バッファメモリの状態の確認をＮ３回（Ｎ３はＮ１以上の自然数、以下同様）実行した場合において、前記バッファメモリがＮ３回の確認の全てにおいて前記空き容量を有しない場合に、前記第２書き込み処理を行わずに前記新たな第１書き込み処理を実行する、請求項１に記載の通信装置。
【請求項３】
前記制御装置は、前記送信装置の送信スループットを取得し、前記送信スループットが第１送信側閾値より高い場合に、Ｎ３回をＮ１＋１回に設定する、請求項２に記載の通信装置。
【請求項４】
前記制御装置は、前記送信スループットが前記第１送信側閾値より低い第２送信側閾値よりも低い場合に、Ｎ３回をＮ１回に設定する、請求項３に記載の通信装置。
【請求項５】
前記送信データは、送信を要求された送信フレームを複数のパケットに分割した１つのパケット単位のデータであり、
Ｎ２回は、前記送信フレーム全体の送信の完了に要する前記送信データの書き込み回数である、請求項１〜３のいずれか１項に記載の通信装置。
【請求項６】
通信相手装置から受信した受信データが書き込まれるバッファメモリと、前記受信データを前記通信相手装置から受信して前記バッファメモリに書き込む受信装置と、を有する無線通信部と、
前記バッファメモリから前記受信データを読み出す制御装置と、を備え、
前記受信装置は、前記受信データの受信の完了に応じて前記制御装置に第２割り込み信号を出力し、
前記制御装置は、
前記第２割り込み信号に応じて前記バッファメモリの状態を確認し、前記バッファメモリが次の受信データを有する場合に前記バッファメモリから前記次の受信データを読み出す第１読み出し処理と、
Ｎ４回（Ｎ４は自然数、以下同様）の前記第１読み出し処理の完了に応じて前記バッファメモリの状態を確認し、前記バッファメモリが前記次の受信データを有する場合に、前記バッファメモリから前記次の受信データを読み出す第２読み出し処理と、を実行可能であり、
前記制御装置は、前記第１または第２読み出し処理での前記受信データの読み出しを合計でＮ５回（Ｎ５はＮ４以上の自然数、以下同様）実行した後に、新たな前記第１読み出し処理を実行する、通信装置。
【請求項７】
前記制御装置は、前記バッファメモリの状態の確認をＮ６回（Ｎ６はＮ４以上の自然数、以下同様）実行した場合において、前記バッファメモリがＮ６回の確認の全てにおいて前記次の受信データを有しない場合に、前記第２読み出し処理を行わずに前記新たな第１読み出し処理を実行する、請求項６に記載の通信装置。
【請求項８】
前記制御装置は、前記受信装置の受信スループットを取得し、前記受信スループットが第１受信側閾値より高い場合に、Ｎ６回をＮ４＋１回に設定する、請求項７に記載の通信装置。
【請求項９】
前記制御装置は、前記受信スループットが前記第１受信側閾値より低い第２受信側閾値よりも低い場合に、Ｎ６回をＮ４回に設定する、請求項８に記載の通信装置。
【請求項１０】
前記受信データは、受信フレームを構成する１つのパケット単位のデータであり、
Ｎ５回は、前記受信フレームの最後の受信データを前記バッファメモリから読み出し終えるまでに要する前記受信データの読み出し回数である、請求項６〜８のいずれか１項に記載の通信装置。
【請求項１１】
第１の通信相手装置に送信すべき送信データと、第２の通信相手装置から受信した受信データとが書き込まれるバッファメモリと、前記送信データを前記バッファメモリから読み出して前記第１の通信相手装置に送信し、かつ、前記受信データを前記第２の通信相手装置から受信して前記バッファメモリに書き込む送受信装置と、を有する無線通信部と、
前記バッファメモリに対して、前記送信データの書き込みと前記受信データの読み出しとを実行する制御装置と、を備え、
前記送受信装置は、前記送信データの送信の完了に応じて前記制御装置に第１割り込み信号を出力し、かつ、前記受信データの受信の完了に応じて前記制御装置に第２割り込み信号を出力し、
前記制御装置は、
前記第１割り込み信号に応じて前記バッファメモリの状態を確認し、前記バッファメモリが次の送信データを書き込み可能な空き容量を有する場合に前記バッファメモリに前記次の送信データを書き込む第１書き込み処理と、
Ｎ１回（Ｎ１は自然数、以下同様）の前記第１書き込み処理の完了に応じて前記バッファメモリの状態を確認し、前記バッファメモリが前記空き容量を有する場合に前記バッファメモリに前記次の送信データを書き込む第２書き込み処理と、
前記第２割り込み信号に応じて前記バッファメモリの状態を確認し、前記バッファメモリが次の受信データを有する場合に前記バッファメモリから前記次の受信データを読み出す第１読み出し処理と、
Ｎ４回（Ｎ４は自然数、以下同様）の前記第１読み出し処理の完了に応じて前記バッファメモリの状態を確認し、前記バッファメモリが前記次の受信データを有する場合に、前記バッファメモリから前記次の受信データを読み出す第２読み出し処理と、を実行可能であり、
前記制御装置は、
前記第１または第２書き込み処理での前記送信データの書き込みを合計でＮ２回（Ｎ２はＮ１以上の自然数、以下同様）実行した後に、新たな前記第１書き込み処理を実行し、
前記第１または第２読み出し処理での前記受信データの読み出しを合計でＮ５回（Ｎ５はＮ４以上の自然数、以下同様）実行した後に、新たな前記第１読み出し処理を実行する、通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信装置に関する。
【背景技術】
【０００２】
従来から、無線通信技術の１つとして、近距離無線通信が知られている。例えば、TransferJet （登録商標）においては、データを転送したい相手機器に自らの機器をかざすことで、無線通信特有の煩雑な設定を省略して、データを相手機器に転送できる。
【０００３】
しかし、従来の無線通信技術においては、データの転送（すなわち、データ通信）を、データの転送以外の他の処理の遅延を抑えつつ迅速に行うことが困難であるといった問題があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−２１６１７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
データ通信の迅速性の向上とデータ通信以外の他の処理の遅延の抑制とを両立させることができる通信装置を提供する。
【課題を解決するための手段】
【０００６】
本実施形態による通信装置は、無線通信部と制御装置とを備える。無線通信部は、バッファメモリと送信装置とを有する。バッファメモリには、通信相手装置に送信すべき送信データが書き込まれる。制御装置は、バッファメモリに送信データを書き込む。送信装置は、送信データをバッファメモリから読み出して通信相手装置に送信する。送信装置は、送信データの送信の完了に応じて制御装置に第１割り込み信号を出力する。制御装置は、第１割り込み信号に応じてバッファメモリの状態を確認し、バッファメモリが次の送信データを書き込み可能な空き容量を有する場合にバッファメモリに次の送信データを書き込む第１書き込み処理を実行可能である。また、制御装置は、Ｎ１回の第１書き込み処理の完了に応じてバッファメモリの状態を確認し、バッファメモリが空き容量を有する場合にバッファメモリに次の送信データを書き込む第２書き込み処理を実行可能である。制御装置は、第１または第２書き込み処理での送信データの書き込みを合計でＮ２回実行した後に、新たな第１書き込み処理を実行する。
【図面の簡単な説明】
【０００７】
【図１】本実施形態を示す通信システム１のブロック図である。
【図２】図１の通信システム１における通信装置１０の送信動作を示すフローチャートである。
【図３】図１の通信システム１における通信装置１０の受信動作を示すフローチャートである。
【図４】図１の通信システム１の通信装置１０における制御装置１２の状態遷移図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明に係る実施形態を説明する。本実施形態は、本発明を限定するものではない。
【０００９】
図１は、本実施形態を示す通信システム１のブロック図である。通信システム１は、通信装置１０と相手端末１００とを備える。相手端末１００は、通信相手装置、第１の通信相手装置または第２の通信相手装置でもある。
【００１０】
通信装置１０は、例えば、携帯電話機、スマートフォン、タブレット端末、ラップトップコンピュータおよびデジタルカメラなどの可搬型の電子装置に搭載される。通信装置１０は、例えば、デスクトップコンピュータ、サーバ、映像再生装置などの固定型の電子装置に搭載されてもよい。
【００１１】
通信装置１０は、例えば、電子装置のコネクタ（例えば、ＵＳＢコネクタ等）に着脱可能に接続されるアダプタであってもよい。通信装置１０の態様は以上に限定されず、例えば、通信装置１０は、電子装置に着脱不能に搭載されてもよい。相手端末１００は、可搬型または固定型の端末であってよく、また、通信装置１０と同様の通信装置を搭載してよい。
【００１２】
図１に示すように、通信装置１０は、無線通信部１１と制御装置１２とを有する。制御装置１２は、例えば、ＣＰＵ、ＲＯＭおよびＲＡＭなどで構成してもよい。無線通信部１１は、送受信装置１１１とバッファメモリ１１２とを有する。送受信装置１１１は、送信装置でもある。また、送受信装置１１１は、受信装置でもある。送受信装置１１１は、送信装置および受信装置のいずれか一方として機能してもよい。
【００１３】
送受信装置１１１は、例えば、近距離無線通信によって相手端末１００との間でデータ通信を実行する。近距離無線通信の態様は、例えば、送受信装置１１１の結合電極と相手端末１００の結合電極との間での電界結合によって高周波信号を送受信する態様であってもよい。近距離無線通信は、例えば、TransferJetであってもよい。
【００１４】
バッファメモリ１１２には、相手端末１００に送信すべき送信データが書き込まれる。また、バッファメモリ１１２には、相手端末１００から受信した受信データが書き込まれる。
【００１５】
送受信装置１１１は、送信データをバッファメモリ１１２から読み出して相手端末１００に送信する。また、送受信装置１１１は、受信データを相手端末１００から受信してバッファメモリ１１２に書き込む。
【００１６】
制御装置１２は、バッファメモリ１１２に送信データを書き込む。また、制御装置１２は、バッファメモリ１１２から受信データを読み出す。
【００１７】
なお、制御装置１２は、送受信装置１１１に非同期にアクセスし、送受信装置１１１を介して（制御して）バッファメモリ１１２に送信データを書き込んでもよい。また、制御装置１２は、送受信装置１１１に非同期にアクセスし、送受信装置１１１を介して（制御して）バッファメモリ１１２から受信データを読み出してもよい。
【００１８】
送受信装置１１１は、送信データの送信の完了に応じて、次の送信データの書き込みを許可する第１割り込み信号を制御装置１２に出力する。また、送受信装置１１１は、受信データの受信の完了に応じて、次の受信データの読み出しを許可する第２割り込み信号を制御装置１２に出力する。
【００１９】
制御装置１２は、第１書き込み処理と第２書き込み処理とを選択的に実行可能である。ここで、第１書き込み処理とは、第１割り込み信号に応じてバッファメモリ１１２の状態を確認し、バッファメモリ１１２が次の送信データを書き込み可能な空き容量を有する状態である場合に、バッファメモリ１１２に次の送信データを書き込む処理である。第２書き込み処理とは、Ｎ１回の第１書き込み処理の完了に応じてバッファメモリ１１２の状態を確認し、バッファメモリ１１２が空き容量を有する状態である場合に、バッファメモリ１１２に次の送信データを書き込む処理である。ただし、Ｎ１は、自然数である（以下同様）。Ｎ１回は、例えば、１回であってもよい。また、第１書き込み処理の完了とは、第１書き込み処理によってバッファメモリ１１２に送信データが実際に書き込まれたことをいう。第１書き込み処理の完了は、第１書き込み処理による送信データの書き込みの完了（成功）ということもできる。したがって、空き容量が無いことでバッファメモリ１１２に送信データを書き込めなかった場合には、第１書き込み処理は完了していない。前述のように、第２書き込み処理は、第１書き込み処理が第１割り込み信号の受信（入力）を契機とするのに対して、Ｎ１回の第１書き込み処理の完了を契機としている。したがって、第２書き込み処理では、第１割り込み信号の受信を省略できる。
【００２０】
第１書き込み処理は、第１割り込み信号に応じたバッファメモリ１１２の状態の確認において、バッファメモリ１１２が空き容量を有しない場合に、バッファメモリ１１２に次の送信データを書き込まない処理でもある。また、第２書き込み処理は、Ｎ１回の第１書き込み処理の完了に応じたバッファメモリ１１２の状態の確認において、バッファメモリ１１２が空き容量を有しない場合に、バッファメモリ１１２に次の送信データを書き込まない処理でもある。
【００２１】
なお、第２書き込み処理による送信データの送信は、ポーリング処理であってもよい。
【００２２】
制御装置１２は、第１または第２書き込み処理での送信データの書き込みを合計でＮ２回実行した後に、新たな第１書き込み処理を実行する。ただし、Ｎ２は、Ｎ１以上の自然数である（以下同様）。例えば、制御装置１２は、第１書き込み処理での送信データの書き込みを１回実行し、第２書き込み処理での送信データの書き込みをＮ２−１回実行した後に、新たな第１書き込み処理を実行してもよい。
【００２３】
もし、第１書き込み処理のみに依存したデータ送信を実行する場合、制御装置１２は、送受信装置１１１から第１割り込み信号を受信するまでは、バッファメモリ１１２に送信データを書き込めない。そして、バッファメモリ１１２に送信データを書き込めないことで、送信データの送信が遅延してしまう。これに対して、本実施形態では、第１割り込み信号の受信を要しない第２書き込み処理を実行することができるので、送信データを迅速に送信できる。すなわち、送信スループットを向上させることができる。
【００２４】
一方で、もし、第２書き込み処理のみに依存したデータ送信を実行する場合、制御装置１２は、第２書き込み処理のためにバッファメモリ１１２の状態を常に確認しなければならないので、送信データの書き込み以外の他のタスクを実行できない。したがって、第２書き込み処理のみに依存したデータ送信を実行する場合、他のタスクの実行が遅延してしまう。これに対して、本実施形態では、第２書き込み処理の後に第１書き込み処理に切換えることができるので、他のタスクの実行の遅延を抑える（低減する）ことができる。
【００２５】
なお、Ｎ２回は、一定および可変のいずれであってもよい。
【００２６】
例えば、制御装置１２において、上位レイヤから送信を要求された送信フレームを、複数のパケットに分割して１つのパケット単位のデータ（送信データ）として順次送信する場合がある。送信フレームをパケット単位で送信する場合、Ｎ２回は、送信フレーム全体の送信の完了に要する送信データの書き込み回数であってよい。この場合、制御装置１２は、Ｎ２回を送信フレームのヘッダ内の送信パケット数に関する情報に基づいて設定してもよい。Ｎ２回を送信フレーム全体の送信の完了に要する書き込み回数とすることで、送信フレームを迅速に送信できる。
【００２７】
また、制御装置１２は、バッファメモリ１１２の状態の確認をＮ３回実行した場合において、バッファメモリ１１２がＮ３回の確認の全てにおいて空き容量を有しない場合に、第２書き込み処理を行わずに新たな第１書き込み処理を実行してもよい。ただし、Ｎ３は、Ｎ１以上の自然数である（以下同様）。
【００２８】
バッファメモリ１１２が連続して空き容量を有しない場合に、第２書き込み処理を省略して第１書き込み処理に移行することで、他のタスクの実行の機会を確保できる。また、バッファメモリ１１２の状態の確認結果に応じて第２書き込み処理を省略できるので、送信スループットを取得する処理を省略することもできる。一方で、バッファメモリ１１２の空き容量を確認する機会を複数回数確保することもできるので、制御装置１２は、第２書き込み処理での送信データの迅速な送信の機会をうかがうことができる。
【００２９】
また、制御装置１２は、送受信装置１１１の送信スループットを取得し、送信スループットに応じてＮ３回を設定（変更）してもよい。
【００３０】
例えば、送信スループットが高ければ、バッファメモリ１１２に書き込まれた送信データは直ちに送信され得る。換言すれば、送信スループットが高ければ、送信データの書き込みの際に前の送信データがバッファメモリ１１２に残存している可能性は低いと言える。前の送信データがバッファメモリ１１２に残存していないことで、次の送信データをバッファメモリ１１２に直ちに書き込むことができる。そこで、制御装置１２は、送信スループットが第１送信側閾値より高い場合に、Ｎ３回をＮ１＋１回に設定してよい。Ｎ１＋１回は、例えば、２回であってもよい。送信スループットが高い状況下においてバッファメモリ１１２の確認の回数をＮ１＋１回に設定することで、送信データを迅速かつ確実に送信できるとともに、他のタスクの実行の機会をすみやかに確保できる。
【００３１】
一方、送信スループットが低ければ、送信データの書き込みの際に前の送信データがバッファメモリ１１２に残存している可能性は高いと言える。前の送信データがバッファメモリ１１２に残存していることで、次の送信データをバッファメモリ１１２に直ちに書き込むことはできない。そこで、制御装置１２は、送信スループットが第１送信側閾値より低い第２送信側閾値よりも低い場合に、Ｎ３回をＮ１回に設定してもよい。Ｎ３回をＮ１回に設定することは、第２書き込み処理を行わずに新たな第１書き込み処理を実行することでもある。送信スループットが低い状況下において成功率が低い無駄な第２書き込み処理を回避することで、他のタスクの実行の機会をすみやかに確保できる。
【００３２】
また、制御装置１２は、基本的に、Ｎ２回を送信フレーム全体の送信の完了に要する送信データの書き込み回数に設定し、例外的に、送信スループットが第２送信側閾値よりも低い場合には、Ｎ２回をＮ１回に設定（変更）してもよい。Ｎ２回をＮ１回に設定することで、仮に第１書き込み処理による書き込みが成功した場合でも、次回の書き込み処理は、第２書き込み処理ではなく新たな第１書き込み処理となる。これにより、送信スループットが低い状況下での不安定な書き込み処理（フレーム送信）を停止して、他のタスクの実行の機会をすみやかに確保できる。
【００３３】
さらに、制御装置１２は、第１読み出し処理と第２読み出し処理とを選択的に実行可能である。ここで、第１読み出し処理とは、第２割り込み信号に応じてバッファメモリ１１２の状態を確認し、バッファメモリ１１２が次の受信データを有する場合にバッファメモリ１１２から次の受信データを読み出す処理である。第２読み出し処理とは、Ｎ４回の第１読み出し処理の完了に応じてバッファメモリ１１２の状態を確認し、バッファメモリ１１２が次の受信データを有する場合に、バッファメモリ１１２から次の受信データを読み出す処理である。ただし、Ｎ４は、自然数である（以下同様）。Ｎ４回は、例えば、１回であってもよい。また、第１読み出し処理の完了とは、第１読み出し処理によってバッファメモリ１１２から受信データが実際に読み出されたことをいう。第１読み出し処理の完了は、第１読み出し処理による受信データの読み出しの完了（成功）ということもできる。したがって、バッファメモリ１１２に受信データが無いことでバッファメモリ１１２から受信データを読み出せなかった場合には、第１読み出し処理は完了していない。前述のように、第２読み出し処理は、第１読み出し処理が第２割り込み信号の受信（入力）を契機とするのに対して、Ｎ４回の第１読み出し処理の完了を契機としている。したがって、第２読み出し処理では、第２割り込み信号の受信を省略できる。
【００３４】
第１読み出し処理は、第２割り込み信号に応じたバッファメモリ１１２の状態の確認において、バッファメモリ１１２が次の受信データを有しない場合にバッファメモリ１１２から次の受信データを読み出さない処理でもある。また、第２読み出し処理は、Ｎ４回の第１読み出し処理の完了に応じたバッファメモリ１１２の状態の確認において、バッファメモリ１１２が次の受信データを有しない場合に、バッファメモリ１１２から次の受信データを読み出さない処理でもある。
【００３５】
なお、第２読み出し処理による受信データの受信は、ポーリング処理であってもよい。
【００３６】
制御装置１２は、第１または第２読み出し処理での受信データの読み出しを合計でＮ５回実行した後に、新たな第１読み出し処理を実行する。ただし、Ｎ５は、Ｎ４以上の自然数である（以下同様）。例えば、制御装置１２は、第１読み出し処理での受信データの読み出しを１回実行し、第２読み出し処理での受信データの読み出しをＮ５−１回実行した後に、新たな第１読み出し処理を実行してもよい。
【００３７】
もし、第１読み出し処理のみに依存したデータ受信を実行する場合、制御装置１２は、送受信装置１１１から第２割り込み信号を受信するまでは、バッファメモリ１１２から受信データを読み出せない。そして、バッファメモリ１１２から受信データを読み出せないことで、受信データの受信が遅延してしまう。これに対して、本実施形態では、第２割り込み信号の受信を要しない第２読み出し処理を実行することができるので、受信データを迅速に受信できる。すなわち、受信スループットを向上させることができる。
【００３８】
一方で、もし、第２読み出し処理のみに依存したデータ受信を実行する場合、制御装置１２は、第２読み出し処理中に他のタスクを実行できないので、他のタスクの実行が遅延してしまう。これに対して、本実施形態では、第２読み出し処理の後に第１読み出し処理に切換えることができるので、他のタスクの実行の遅延を抑える（低減する）ことができる。
【００３９】
なお、Ｎ５回は、一定および可変のいずれであってもよい。
【００４０】
例えば、制御装置１２において、受信フレームを、１つのパケット単位の受信データずつ順次受信する場合がある。受信フレームをパケット単位で受信する場合、Ｎ５回は、受信フレームの最後の受信データをバッファメモリ１１２から読み出し終えるまでに要する受信データの読み出し回数であってよい。この場合、制御装置１２は、Ｎ５回を受信フレームのヘッダ内の受信パケット数に関する情報に基づいて設定してもよい。Ｎ５回を、受信フレームの最後の受信データを読み出し終えるまでに要する受信データの読み出し回数とすることで、受信フレームを迅速に受信できる。
【００４１】
また、制御装置１２は、バッファメモリ１１２の状態の確認をＮ６回実行した場合において、バッファメモリ１１２がＮ６回の確認の全てにおいて次の受信データを有しない場合に、第２読み出し処理を行わずに新たな第１読み出し処理を実行してもよい。ただし、Ｎ６は、Ｎ４以上の自然数である（以下同様）。
【００４２】
バッファメモリ１１２が連続して次の受信データを有しない場合に、第２読み出し処理を省略して第１読み出し処理に移行することで、他のタスクの実行の機会を確保できる。また、バッファメモリ１１２の状態の確認結果に応じて第２読み出し処理を省略できるので、受信スループットを取得する処理を省略することもできる。一方で、バッファメモリ１１２に次の受信データを確認する機会を複数回数確保できるので、制御装置１２は、第２読み出し処理での受信データの迅速な受信の機会をうかがうことができる。
【００４３】
また、制御装置１２は、送受信装置１１１の受信スループットを取得し、受信スループットに応じてＮ６回を設定（変更）してもよい。
【００４４】
例えば、受信スループットが高ければ、バッファメモリ１１２から受信データを読み出した後、直ちに次の受信データが受信されてバッファメモリ１１２に書き込まれ得る。次の受信データがバッファメモリ１１２に書き込まれていることで、次の受信データをバッファメモリ１１２から直ちに読み出すことができる。そこで、制御装置１２は、受信スループットが第１受信側閾値より高い場合に、Ｎ６回をＮ４＋１回に設定してよい。Ｎ４＋１回は、例えば、２回であってもよい。受信スループットが高い状況下においてバッファメモリ１１２の確認の回数をＮ１＋１回に設定することで、受信データを迅速かつ確実に受信できるとともに、他のタスクの実行の機会をすみやかに確保できる。
【００４５】
一方、受信スループットが低ければ、バッファメモリ１１２から受信データを読み出した後、直ちに次の受信データが受信されてバッファメモリ１１２に書き込まれている可能性は低いと言える。そこで、制御装置１２は、受信スループットが第１受信側閾値より低い第２受信側閾値よりも低い場合に、Ｎ６回をＮ４回に設定してもよい。Ｎ６回をＮ４回に設定することは、第２読み出し処理を行わずに新たな第１読み出し処理を実行することでもある。受信スループットが低い状況下において成功率が低い無駄な第２読み出し処理を回避することで、他のタスクの実行の機会をすみやかに確保できる。
【００４６】
また、制御装置１２は、基本的に、Ｎ５回を受信フレームの最後の受信データを読み出し終えるまでに要する受信データの読み出し回数に設定し、例外的に、受信スループットが第２受信側閾値よりも低い場合には、Ｎ５回をＮ４回に設定（変更）してもよい。Ｎ５回をＮ４回に設定することで、仮に第１読み出し処理による読み出しが成功した場合でも、次回の読み出し処理は、第２読み出し処理ではなく新たな第１読み出し処理となる。これにより、受信スループットが低い状況下での不安定な読み出し処理（フレーム受信）を停止して、他のタスクの実行の機会をすみやかに確保できる。
【００４７】
図１のような構成を有する通信装置１０の送信動作の一例について説明する。図２は、図１の通信システム１における通信装置１０の送信動作を示すフローチャートである。なお、図２のフローチャートでは、Ｎ１＝１を前提としている。
【００４８】
図２に示すように、制御装置１２は、先ず、送受信装置１１１からの第１割り込み信号の受信を確認する（ステップＳ１）。そして、制御装置１２は、送受信装置１１１に第１割り込み信号の送信を禁止させる（割り込みをマスクする）。このとき、制御装置１２は、送信データ書き込み回数（書き込み回数の合計）ｉを０に設定し、メモリ状態確認回数（バッファメモリ１１２の状態の確認回数）ｊを０に設定する。
【００４９】
次いで、制御装置１２は、送受信装置１１１の送信スループットを取得する（ステップＳ２）。
【００５０】
次いで、制御装置１２は、送信スループットに応じたＮ３回を設定する（ステップＳ３）。
【００５１】
次いで、制御装置１２は、バッファメモリ１１２の状態すなわち空き容量を確認する（ステップＳ４）。このとき、制御装置１２は、メモリ状態確認回数ｊをインクリメントしてｊ＋１に設定する。
【００５２】
次いで、制御装置１２は、バッファメモリ１１２が空き容量を有する状態であるか否かを判定する（ステップＳ５）。そして、バッファメモリ１１２が空き容量を有する状態である場合（ステップＳ５：Ｙｅｓ）、制御装置１２は、バッファメモリ１１２に次の送信データを書き込む（ステップＳ６）。このとき、制御装置１２は、送信データ書き込み回数ｉをインクリメントしてｉ＋１に設定する。次の送信データの書き込み（ステップＳ６）が１巡目の書き込みである場合、この書き込みは、第１書き込み処理での書き込みである。次の送信データの書き込み（ステップＳ６）が２巡目以上の書き込みである場合、この書き込みは、第２書き込み処理での書き込みである。
【００５３】
一方、バッファメモリ１１２が空き容量を有しない状態である場合（ステップＳ５：Ｎｏ）、制御装置１２は、メモリ状態確認回数ｊがＮ３回に達したか否かを判定する（ステップＳ９）。そして、確認回数ｊがＮ３回に達した場合（ステップＳ９：Ｙｅｓ）には、制御装置１２は、割り込みマスクを解除する（ステップＳ８）。割り込みマスクの解除（ステップＳ８）後は、新たな第１書き込み処理を実行する。一方、確認回数ｊがＮ３回に達していない場合（ステップＳ９：Ｎｏ）には、再びバッファメモリ１１２の状態を確認し、確認回数ｊをインクリメントする（ステップＳ４）。
【００５４】
次の送信データの書き込み（ステップＳ６）の後、制御装置１２は、フレーム送信が完了または送信データ書き込み回数ｉがＮ２回に達したか否かを判定する（ステップＳ７）。そして、フレーム送信が完了するか、または、送信データ書き込み回数ｉがＮ２回に達した場合（ステップＳ７：Ｙｅｓ）には、制御装置１２は、割り込みマスクを解除する（ステップＳ８）。一方、フレーム送信が未完了で、かつ、送信データ書き込み回数ｉがＮ２回に未到達の場合（ステップＳ７：Ｎｏ）には、制御装置１２は、再びバッファメモリ１１２の状態を確認する（ステップＳ４）。バッファメモリ１１２の状態の確認が２巡目以上である場合、この確認は、第２書き込み処理によるものである。
【００５５】
次に、図１のような構成を有する通信装置１０の受信動作の一例を説明する。図３は、図１の通信システム１における通信装置１０の受信動作を示すフローチャートである。なお、図３のフローチャートでは、Ｎ４＝１を前提としている。
【００５６】
図３に示すように、制御装置１２は、送受信装置１１１からの第２割り込み信号の受信を確認する（ステップＳ１０）。そして、制御装置１２は、受信データ読み出し回数（読み出し回数の合計）ｉを０に設定し、メモリ状態確認回数ｊを０に設定する。
【００５７】
次いで、制御装置１２は、送受信装置１１１の受信スループットを取得する（ステップＳ２０）。
【００５８】
次いで、制御装置１２は、受信スループットに応じてＮ６回を設定する（ステップＳ３０）。
【００５９】
次いで、制御装置１２は、バッファメモリ１１２の状態すなわち次の受信データの有無を確認（ステップＳ４）してメモリ状態確認回数ｊをインクリメントしたうえで、バッファメモリ１１２が次の受信データを有するか否かを判定する（ステップＳ５０）。
【００６０】
次いで、制御装置１２は、バッファメモリ１１２が次の受信データを有する場合（ステップＳ５０：Ｙｅｓ）、バッファメモリ１１２から次の受信データを読み出す（ステップＳ６０）。このとき、制御装置１２は、受信データ読み出し回数ｉをインクリメントしてｉ＋１に設定する。次の受信データの読み出し（ステップＳ６０）が１巡目の読み出しである場合、この読み出しは、第１読み出し処理での読み出しである。次の受信データの読み出し（ステップＳ６０）が２巡目以上の読み出しである場合、この読み出しは、第２読み出し処理での読み出しである。
【００６１】
一方、制御装置１２は、バッファメモリ１１２が次の受信データを有しない場合（ステップＳ５０：Ｎｏ）、メモリ状態確認回数ｊがＮ６回に達したか否かを判定する（ステップＳ９０）。そして、制御装置１２は、確認回数ｊがＮ６回に達した場合（ステップＳ９０：Ｙｅｓ）には、割り込みマスクを解除する（ステップＳ８）。制御装置１２は、割り込みマスクの解除（ステップＳ８）後は、新たな第１読み出し処理を実行する。一方、制御装置１２は、確認回数ｊがＮ６回に達していない場合（ステップＳ９０：Ｎｏ）には、再びバッファメモリ１１２の状態を確認し、確認回数ｊをインクリメントする（ステップＳ４）。
【００６２】
次の受信データの読み出し（ステップＳ６０）の後、制御装置１２は、フレーム受信が完了または受信データ読み出し回数ｉがＮ５回に達したか否かを判定する（ステップＳ７０）。そして、フレーム受信が完了するか、または、受信データ読み出し回数ｉがＮ５回に達した場合（ステップＳ７０：Ｙｅｓ）には、制御装置１２は、割り込みマスクを解除する（ステップＳ８）。一方、フレーム受信が未完了で、かつ、受信データ読み出し回数ｉがＮ５回に未到達の場合（ステップＳ７０：Ｎｏ）には、制御装置１２は、再びバッファメモリ１１２の状態を確認する（ステップＳ４）。バッファメモリ１１２の状態の確認が２巡目以上である場合、この確認は、第２読み出し処理によるものである。
【００６３】
図４は、図１の通信システム１の通信装置１０における制御装置１２の状態遷移図である。図４に示すように、制御装置１２は、第１書き込み処理および第１読み出し処理を待機する待機状態（Ｓ＿１）において、第１割り込み信号が受信された場合に、第１書き込み処理状態（Ｓ＿２）に遷移する。なお、待機状態（Ｓ＿１）は、制御装置１２がバッファメモリ１１２に対する書き込みおよび読み出し以外の他のタスクを実行可能な状態である。逆に、制御装置１２は、第１書き込み処理状態（Ｓ＿２）において、フレーム送信が完了するか、または、バッファメモリ１１２の空き容量が無いことが確認された場合に、待機状態（Ｓ＿１）に遷移する。
【００６４】
また、制御装置１２は、第１書き込み処理状態（Ｓ＿２）において、Ｎ１回の第１書き込み処理が完了した場合に、第２書き込み処理状態（Ｓ＿３）に遷移する。
【００６５】
また、制御装置１２は、第２書き込み処理状態（Ｓ＿３）において、書き込み回数の合計がＮ２回に未到達の場合に、第２書き込み処理状態（Ｓ＿３）を維持する。また、制御装置１２は、バッファメモリ１１２の空き容量が無く、かつ、バッファメモリ１１２の状態の確認回数がＮ３回に未到達の場合にも、第２書き込み処理状態（Ｓ＿３）を維持する。
【００６６】
一方、制御装置１２は、第２書き込み処理状態（Ｓ＿３）において、フレーム送信が完了した場合に、待機状態（Ｓ＿１）に遷移する。また、制御装置１２は、書き込み回数の合計がＮ２回に到達した場合にも、待機状態（Ｓ＿１）に遷移する。また、制御装置１２は、バッファメモリ１１２の状態の確認回数がＮ３回に到達した場合にも、待機状態（Ｓ＿１）に遷移する。
【００６７】
また、図４に示すように、制御装置１２は、待機状態（Ｓ＿１）において、第２割り込み信号が受信された場合に、第１読み出し処理状態（Ｓ＿４）に遷移する。逆に、制御装置１２は、第１読み出し処理状態（Ｓ＿４）において、フレーム受信が完了するか、または、バッファメモリ１１２に次の受信データが無いことが確認された場合に、待機状態（Ｓ＿１）に遷移する。
【００６８】
また、制御装置１２は、第１読み出し処理状態（Ｓ＿４）において、Ｎ４回の第１読み出し処理が完了した場合に、第２読み出し処理状態（Ｓ＿５）に遷移する。
【００６９】
また、制御装置１２は、第２読み出し処理状態（Ｓ＿５）において、読み出し回数の合計がＮ５回に未到達の場合に、第２読み出し処理状態（Ｓ＿５）を維持する。また、制御装置１２は、バッファメモリ１１２に次の受信データが無く、かつ、バッファメモリ１１２の状態の確認回数がＮ６回に未到達の場合にも、第２読み出し処理状態（Ｓ＿５）を維持する。
【００７０】
一方、制御装置１２は、第２読み出し処理状態（Ｓ＿５）において、フレーム受信が完了した場合に、待機状態（Ｓ＿１）に遷移する。また、制御装置１２は、読み出し回数の合計がＮ５回に到達した場合にも、待機状態（Ｓ＿１）に遷移する。また、制御装置１２は、バッファメモリ１１２の状態の確認回数がＮ６回に到達した場合にも、待機状態（Ｓ＿１）に遷移する。
【００７１】
待機状態に遷移することで、バッファメモリ１１２に対する書き込みおよび読み出し以外の他のタスクを実行できる。
【００７２】
なお、他のタスクの実行の遅延を軽減することよりもデータ送信を優先させたい場合には、送信スループットの低下にともなってＮ３回を増加させてよい。また、他のタスクの実行の遅延を軽減することよりもデータ受信を優先させたい場合には、受信スループットの低下にともなってＮ６回を増加させてよい。
【００７３】
以上説明したように、本実施形態によれば、第１書き込み処理と第２書き込み処理とを選択的に実行することで、データ送信の迅速性の向上と、他の処理の遅延の抑制とを両立させることができる。また、本実施形態によれば、第１読み出し処理と第２読み出し処理とを選択的に実行することで、データ受信の迅速性の向上と、他の処理の遅延の抑制とを両立させることができる。すなわち、本実施形態によれば、データ通信の迅速性の向上とデータ通信以外の他の処理の遅延の抑制とを両立させることができる。
【００７４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００７５】
１０  通信装置
１１  無線通信部
１１１  送受信装置
１１２  バッファメモリ
１２  制御装置  
【図１】
2016171451.tif 000003
【図２】
2016171451.tif 000004
【図３】
2016171451.tif 000005
【図４】
2016171451.tif 000006