(57)【要約】【課題】消費電力の増加を抑えつつ所定データを受信可能な無線通信装置等を提供する。【解決手段】電子時計の通信モジュール１０３は、スマートフォンと無線通信する通信部１３４と、ＣＰＵ１３１を備える。ＣＰＵ１３１は、通信部１３４を制御して、時刻データを含むリード応答の送信を要求するリード要求を、スマートフォンに送信する。そして、ＣＰＵ１３１は、リード要求に対してスマートフォンが送信したリード応答を正常に受信しなかった場合、通信部１３４を制御して、スマートフォンが新たに受信した時刻データを含むリード応答の送信を要求するリード要求をスマートフォンに送信する。【選択図】図３
2018046519.tif 000002
【特許請求の範囲】
【請求項１】
他の無線通信装置と無線通信する通信部と、
制御部と、を備え、
前記制御部は、
前記通信部を制御して、所定データを含むリード応答の送信を要求するリード要求を、前記他の無線通信装置に送信し、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記他の無線通信装置が新たに受信した前記所定データを含む前記リード応答の送信を要求する前記リード要求を前記他の無線通信装置に送信する、
ことを特徴とする無線通信装置。
【請求項２】
前記制御部は、
第１モードと第２モードのうちのいずれかのモードに基づいて、前記他の無線通信装置との無線通信を制御し、
前記第１モードにおいて、前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード応答の再送を要求する再送要求を前記他の無線通信装置に送信し、
前記第２モードにおいて、前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記他の無線通信装置が新たに受信した前記所定データを含む前記リード応答の送信を要求する前記リード要求を前記他の無線通信装置に送信する、
ことを特徴とする請求項１に記載の無線通信装置。
【請求項３】
前記制御部は、
前記リード要求に対して前記他の無線通信装置が送信すべき前記リード応答を識別する識別子を含む前記リード要求を前記他の無線通信装置に送信し、
前記第１モードにおいて、前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード要求に含まれる前記識別子と同じ識別子を含む前記リード要求を、前記再送要求として前記他の無線通信装置に送信し、
前記第２モードにおいて、前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード要求に含まれる前記識別子と異なる識別子を含む前記リード要求を、前記他の無線通信装置に送信する、
ことを特徴とする請求項２に記載の無線通信装置。
【請求項４】
前記識別子は、１ビットのデータであって、
前記制御部は、
前記第２モードにおいて、前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記リード要求に含まれる前記識別子をインクリメントすることにより、前記異なる識別子を生成し、前記通信部を制御して、生成された前記異なる識別子を含む前記リード要求を、前記他の無線通信装置に送信する、
ことを特徴とする請求項３に記載の無線通信装置。
【請求項５】
前記所定データは、前記他の無線通信装置が計時した現在時刻を表し、
前記制御部は、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記他の無線通信装置が新たに計時した現在時刻を表す前記所定データを含む前記リード応答の送信を要求する前記リード要求を前記他の無線通信装置に送信する、
ことを特徴とする請求項１乃至４のいずれか１項に記載の無線通信装置。
【請求項６】
前記制御部は、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信した場合、受信された前記リード応答に含まれる前記所定データが表す前記現在時刻に基づいて、自装置が計時する現在時刻を変更する、
ことを特徴とする請求項５に記載の無線通信装置。
【請求項７】
請求項５または６に記載の無線通信装置と、
自装置が計時する現在時刻を表示する表示部と、
を備えることを特徴とする電子時計。
【請求項８】
他の無線通信装置と無線通信する通信部と、
制御部と、を備え、
前記制御部は、
前記通信部を制御して、前記他の無線通信装置が計時する現在時刻を表す時刻データを含むリード応答の送信を要求するリード要求を、前記他の無線通信装置に送信し、
前記通信部を制御して、前記リード要求の受信に応答して前記他の無線通信装置が送信した通知を受信し、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード応答の再送を要求する再送要求を前記他の無線通信装置に送信し、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信した場合、前記通知を受信した時刻と、前記リード応答を正常に受信した時刻と、前記リード応答に含まれる前記時刻データが表す時刻と、に基づいて、自装置が計時する時刻を変更する、
ことを特徴とする無線通信装置。
【請求項９】
前記制御部は、前記リード応答を正常に受信した時刻と、前記通知を受信した時刻と、の差分を、前記リード応答に含まれる前記時刻データが表す時刻に加算した時刻に、自装置が計時する時刻を変更する、
ことを特徴とする請求項８に記載の無線通信装置。
【請求項１０】
他の無線通信装置と無線通信する通信部を備える無線通信装置が実行する無線通信方法であって、
前記通信部を制御して、所定データを含むリード応答の送信を要求するリード要求を、前記他の無線通信装置に送信するステップと、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記他の無線通信装置が新たに受信した前記所定データを含む前記リード応答の送信を要求する前記リード要求を前記他の無線通信装置に送信するステップと、
を含むことを特徴とする無線通信方法。
【請求項１１】
他の無線通信装置と無線通信する通信部を備える無線通信装置が実行する時刻変更方法であって、
前記通信部を制御して、前記他の無線通信装置が計時する現在時刻を表す時刻データを含むリード応答の送信を要求するリード要求を、前記他の無線通信装置に送信するステップと、
前記通信部を制御して、前記リード要求の受信に応答して前記他の無線通信装置が送信した通知を受信するステップと、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード応答の再送を要求する再送要求を前記他の無線通信装置に送信するステップと、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信した場合、前記通知を受信した時刻と、前記リード応答を正常に受信した時刻と、前記リード応答に含まれる前記時刻データが表す時刻と、に基づいて、自装置が計時する時刻を変更するステップと、
を含むことを特徴とする時刻変更方法。
【請求項１２】
無線通信装置と無線通信する通信部を備えるコンピュータを、
前記通信部を制御して、所定データを含むリード応答の送信を要求するリード要求を、前記無線通信装置に送信する手段、
前記リード要求に対して前記無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記無線通信装置が新たに（時刻要求受信後に）受信した前記所定データを含む前記リード応答の送信を要求する前記リード要求を前記無線通信装置に送信する手段、
として機能させることを特徴とするプログラム。
【請求項１３】
無線通信装置と無線通信する通信部を備えるコンピュータを、
前記通信部を制御して、前記他の無線通信装置が計時する現在時刻を表す時刻データを含むリード応答の送信を要求するリード要求を、前記他の無線通信装置に送信する手段、
前記通信部を制御して、前記リード要求の受信に応答して前記他の無線通信装置が送信した通知を受信する手段、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード応答の再送を要求する再送要求を前記他の無線通信装置に送信する手段、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信した場合、前記通知を受信した時刻と、前記リード応答を正常に受信した時刻と、前記リード応答に含まれる前記時刻データが表す時刻と、に基づいて、自装置が計時する時刻を変更する手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、無線通信装置、電子時計、無線通信方法、時刻変更方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ（登録商標））などの近距離無線通信を用いて種々の情報をやり取りすることが可能な電子装置がある。このような近距離無線通信により、特に、携帯型の電子装置は、他の複数の電子装置がそれぞれ個別に受信、保持する情報を容易に受信することができる。
【０００３】
例えば、特許文献１には、ブルートゥース通信機能を有する電子腕時計が、携帯電話からブルートゥース通信を利用して時刻情報を受信し、この電子腕時計の時刻を修正する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１１８４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されているようなブルートゥース通信では、一般的に、一方の無線通信装置が他方の無線通信装置から送信されたデータパケットの受信に失敗した場合、その一方の無線通信装置は、他方の無線通信装置に、データパケットの再送を要求する。従って、通信環境が悪く、他方の無線通信装置が計時した現在時刻を表す時刻データを含むデータパケットの再送要求が繰り返された場合、一方の無線通信装置がそのデータパケットを正常に受信した時刻と、そのデータパケットに含まれる時刻データが表す時刻との間に大きな隔たりが生じる。この場合、一方の無線通信装置が、そのデータパケットに含まれる時刻データが表す時刻に自装置が計時する時刻を変更すると、誤差が発生するという問題がある。一方、この問題を解決するために、ブルートゥースのTime Profileでは、一方の無線通信装置と他方の通信装置間での通信間隔（Connection Interval）をより短くすることが規定されている。しかし、通信間隔を短くすると、一方の無線通信装置と他方の通信装置間での通信頻度が増えるため、両装置の消費電力も増えるという問題がある。
【０００６】
この発明の目的は、消費電力の増加を抑えつつ所定データを受信可能な無線通信装置、電子時計、無線通信方法、時刻変更方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、上記目的を達成するため、本発明の第１の観点に係る無線通信装置は、
他の無線通信装置と無線通信する通信部と、
制御部と、を備え、
前記制御部は、
前記通信部を制御して、所定データを含むリード応答の送信を要求するリード要求を、前記他の無線通信装置に送信し、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記他の無線通信装置が新たに受信した前記所定データを含む前記リード応答の送信を要求する前記リード要求を前記他の無線通信装置に送信する、
ことを特徴とする。
【０００８】
本発明は、上記目的を達成するため、本発明の第２の観点に係る無線通信装置は、
他の無線通信装置と無線通信する通信部と、
制御部と、を備え、
前記制御部は、
前記通信部を制御して、前記他の無線通信装置が計時する現在時刻を表す時刻データを含むリード応答の送信を要求するリード要求を、前記他の無線通信装置に送信し、
前記通信部を制御して、前記リード要求の受信に応答して前記他の無線通信装置が送信した通知を受信し、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード応答の再送を要求する再送要求を前記他の無線通信装置に送信し、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信した場合、前記通知を受信した時刻と、前記リード応答を正常に受信した時刻と、前記リード応答に含まれる前記時刻データが表す時刻と、に基づいて、自装置が計時する時刻を変更する、
ことを特徴とする。
【発明の効果】
【０００９】
本発明に従うと、消費電力の増加を抑えつつ所定データを受信することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態に係る無線通信システムの構成例を示す図である。
【図２】第１実施形態に係る電子時計の構成を示すブロック図である。
【図３】第１実施形態に係る電子時計の通信モジュールの構成を示すブロック図である。
【図４】データパケットのＰＤＵの構成を示す図である。
【図５】第１実施形態に係るスマートフォンの構成を示すブロック図である。
【図６】第１実施形態に係るスマートフォンの通信モジュールの構成を示すブロック図である。
【図７】第１実施形態に係る無線通信システムの接続確立動作を示すシーケンス図である。
【図８】第１実施形態に係る無線通信システムの通常モードにおけるデータ通信動作を示すシーケンス図である。
【図９】第１実施形態に係る無線通信システムの時刻変更モードにおけるデータ通信動作を示すシーケンス図である。
【図１０】第１実施形態に係る電子時計の通信モジュールのＣＰＵが実行する、通常モードにおけるデータ通信処理の制御手順を示すフローチャートである。
【図１１】第１実施形態に係る電子時計の通信モジュールのＣＰＵが実行する、時刻変更モードにおけるデータ通信処理の制御手順を示すフローチャートである。
【図１２】第２実施形態に係る電子時計の構成を示すブロック図である。
【図１３】第２実施形態に係る電子時計の通信モジュールの構成を示すブロック図である。
【図１４】第２実施形態に係る無線通信システムの時刻変更モードにおけるデータ通信動作を示すシーケンス図である。
【図１５】第２実施形態に係る電子時計のマイクロコンピュータのＣＰＵが実行する、時刻変更モードにおける時刻変更処理の制御手順を示すフローチャートである。
【図１６】第２実施形態に係る電子時計の通信モジュールのＣＰＵが実行する、時刻変更モードにおけるデータ通信処理の制御手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面に基づいて説明する。
（第１実施形態）
図１は、本発明の第１実施形態に係る無線通信システム１の構成例を表す図である。
【００１２】
図１に示す構成例において、無線通信システム１は、電子時計１００とスマートフォン２００とから構成される。電子時計１００とスマートフォン２００とは、Ｂｌｕｅｔｏｏｔｈ（登録商標） ｌｏｗ ｅｎｅｒｇｙ（以下、ＢＬＥという。）に基づいて、互いに無線通信を行う。ＢＬＥとは、Ｂｌｕｅｔｏｏｔｈ（登録商標）と呼ばれる近距離無線通信規格において、低消費電力を目的として策定された規格（モード）である。本実施形態において、電子時計１００とスマートフォン２００との接続が確立した後の無線通信時において、ＢＬＥに基づいて、電子時計１００は、スレーブとして動作し、スマートフォン２００は、マスターとして、動作する。
【００１３】
次に、第１実施形態に係る電子時計１００の構成について説明する。
【００１４】
まず、第１実施形態に係る電子時計１００のハードウェア構成について説明する。図２は、本発明の第１実施形態に係る電子時計１００の構成を示すブロック図である。電子時計１００は、マイクロコンピュータ１０１と、ＲＯＭ（Read Only Memory）１０２（Read Only Memory）と、通信モジュール１０３と、アンテナ１０４と、電力供給部１０５と、表示部１０６と、表示ドライバ１０７と、操作受付部１０８と、振動子１０９とを備える。
【００１５】
マイクロコンピュータ１０１は、ＣＰＵ（Central Processing Unit）１１０と、記憶部としてのＲＡＭ（Random Access Memory）１１１と、発振回路１１２と、分周回路１１３と、計時回路１１４などを備える。なお、ＲＡＭ１１１、発振回路１１２、分周回路１１３、及び計時回路１１４は、マイクロコンピュータ１０１の内部に限られず、マイクロコンピュータ１０１の外部に設けられてもよい。また、ＲＯＭ１０２と、表示ドライバ１０７と、電力供給部１０５と、振動子１０９と、通信モジュール１０３と、アンテナ１０４とは、マイクロコンピュータ１０１の外部に限られず、マイクロコンピュータ１０１の内部に設けられてもよい。
【００１６】
ＣＰＵ１１０は、各種演算処理を行い、電子時計１００の全体動作を統括制御するプロセッサである。ＣＰＵ１１０は、ＲＯＭ１０２から制御プログラムを読み出し、ＲＡＭ１１１にロードして時刻の表示や各種機能に係る演算制御や表示などの各種動作処理を行う。また、ＣＰＵ１１０は、通信モジュール１０３を制御してスマートフォン２００とデータ通信を行う。
【００１７】
ＲＡＭ１１１は、ＳＲＡＭ（Static Random Access Memory）やＤＲＡＭ（Dynamic Random Access Memory）などの揮発性のメモリであり、ＣＰＵ１１０に作業用のメモリ空間を提供して一時データを記憶すると共に、各種設定データを記憶する。
【００１８】
発振回路１１２は、振動子１０９を発振させて、所定の周波数信号（クロック信号）を生成して出力する。この発振回路１１２には、例えば、水晶発振器が用いられている。
【００１９】
分周回路１１３は、発振回路１１２から入力された周波数信号を計時回路１１４やＣＰＵ１１０が利用する周波数の信号に分周して出力する。この出力信号の周波数は、ＣＰＵ１１０による設定に基づいて変更されても良い。
【００２０】
計時回路１１４は、分周回路１１３から入力された所定の計時信号の入力回数を計数して初期値に加算することで現在の時刻を計時する。計時回路１１４は、ＲＡＭ１１１に記憶させる値を変化させるソフトウェアにより構成されても良いし、或いは、専用のカウンタ回路により構成されても良い。計時回路１１４が計時する時刻は、所定のタイミングからの累積時間、ＵＴＣ（Coordinated Universal Time、協定世界時）、又は予め設定された都市の時刻（地方時）などのうち何れであっても良い。また、この計時回路１１４が計時する時刻は、必ずしも年月日時分秒の形式で保持される必要がない。また、計時回路１１４が計時する時刻は、後述するようにＣＰＵ１１０からの指示によって変更される。
【００２１】
これら発振回路１１２、分周回路１１３及び計時回路１１４により計時部が構成される。
【００２２】
ＲＯＭ１０２は、マスクＲＯＭや書き換え可能な不揮発性メモリなどであり、制御プログラムや初期設定データを記憶する。制御プログラムの中には、スマートフォン２００から時刻を修正するためのデータを通信し、電子時計１００が計時する時刻を変更するための各種処理の制御に係るプログラム１１５が含まれる。
【００２３】
通信モジュール１０３は、アンテナ１０４を介して、ＢＬＥに基づく無線信号の送信及び受信を行う。通信モジュール１０３の構成を図３に示す。図３に示すように、通信モジュール１０３は、制御部としてのＣＰＵ１３１と、ＲＯＭ１３２と、ＲＡＭ１３３と、通信部１３４とを備える。
【００２４】
ＣＰＵ１３１は、各種演算処理を行い、通信モジュール１０３の全体動作を統括制御するプロセッサである。ＣＰＵ１３１は、ＲＯＭ１３２から制御プログラムを読み出し、ＲＡＭ１３３にロードして、ＢＬＥに基づく無線信号の送信及び受信に係る各種動作処理を行う。また、ＣＰＵ１３１は、ＣＰＵ１１０からの指示に従って、各種動作処理を行う。
【００２５】
通信部１３４は、例えば無線周波数（ＲＦ：Radio Frequency）回路やベースバンド（ＢＢ：Baseband）回路、メモリ回路で構成される。通信部１３４は、アンテナ１０４を介して受信した無線信号を、復調、復号等してＣＰＵ１３１へ送る。また、通信部１３４は、ＣＰＵ１３１から送られた信号を、符号化、変調等して、アンテナ１０４を介して外部へ送信する。
【００２６】
電力供給部１０５は、バッテリを備え、電子時計１００の動作に係る電力を各部にその動作電圧で供給する。電力供給部１０５のバッテリとしては、本実施形態では、ボタン型乾電池などの一次電池が用いられている。或いは、バッテリとして、ソーラパネルと二次電池が用いられ、ソーラパネルへの入射光に応じた起電力の大小により、二次電池が充放電されても良い。
【００２７】
これらマイクロコンピュータ１０１、ＲＯＭ１０２、通信モジュール１０３、アンテナ１０４、電源供給部１０５、及び振動子１０９により無線通信装置１０が構成される。
【００２８】
表示部１０６は、例えば、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）や有機ＥＬ（Electro-Luminescent）ディスプレイなどの表示画面を備え、ドットマトリクス方式及びセグメント方式の何れか又はこれらの組み合わせにより時刻や各種機能に係るデータを表示するデジタル表示動作を行う。表示ドライバ１０７は、表示画面の種別に応じた駆動信号をＣＰＵ１１０からの制御信号に基づいて表示部１０６に出力して、表示画面上に表示を行わせる。或いは、表示部１０６は、複数の指針をステッピングモータにより輪列機構を介して回転動作させることで表示を行うアナログ式の構成を有するものであっても良い。
【００２９】
操作受付部１０８は、ユーザからの入力操作を受け付けて、当該入力操作に応じた電気信号を入力信号としてＣＰＵ１１０に出力する。この操作受付部１０８は、例えば、押しボタンスイッチやりゅうずを含む。或いは、操作受付部１０８として、タッチセンサが、表示部１０６の表示画面に重ねて設けられ、表示画面とともにタッチパネルを構成してもよい。この場合、タッチセンサは、当該タッチセンサへのユーザの接触動作に係る接触位置や接触態様を検出し、検出された接触位置や接触態様に応じた操作信号をＣＰＵ１１０に出力する。
【００３０】
次に、第１実施形態に係る電子時計１００のＣＰＵ１１０の機能構成について説明する。
【００３１】
図２に示すように、ＣＰＵ１１０は、接続制御部１２１、データ通信制御部１２２、及び変更部１２３として機能する。これら接続制御部１２１、データ通信制御部１２２、及び変更部１２３の機能は、単一のＣＰＵにより実現されても良いし、各々別個のＣＰＵにより実現されてもよい。また、それらの機能は、通信モジュール１０３のＣＰＵ１３１等、マイクロコンピュータ１０１以外のプロセッサにより実現されても良い。
【００３２】
接続制御部１２１としてのＣＰＵ１１０は、通信モジュール１０３を制御して、スマートフォン２００との接続を制御する。具体的には、ＣＰＵ１１０は、通信モジュール１０３を制御して、スマートフォン２００から、アドバタイズパケットを受信するためのスキャンを実行する。本実施形態において、ＣＰＵ１１０は、計時回路１１４が計時する時刻Ｔｗが所定の時刻Ｔよりも所定時間前になったとき、スキャンの開始を通信モジュール１０３に指示する。また、ＣＰＵ１１０は、通信モジュール１０３から、スマートフォン２００からのアドバタイズパケットを受信した旨の通知を受け付けると、スマートフォン２００への接続要求の送信を通信モジュール１０３に指示する。また、ＣＰＵ１１０は、スマートフォン２００との接続が確立した後、例えば、スマートフォン２００からのデータの受信が終了したとき、またはスマートフォン２００との通信を終了する指示を操作受付部１０８を介してユーザから受け付けたとき、スマートフォン２００への切断要求の送信を通信モジュール１０３に指示する。
【００３３】
データ通信制御部１２２としてのＣＰＵ１１０は、スマートフォン２００との接続が確立した後、通常モード及び時刻変更モードうちの通常モードに基づいて、スマートフォン２００との無線通信を制御する。
【００３４】
ここで、通常モードは、スマートフォン２００から、後述する時刻データ以外の所定データを受信するモードである。また、時刻変更モードは、スマートフォン２００から、スマートフォン２００が計時する現在時刻を表す時刻データを受信し、受信された時刻データに基づいて、電子時計１００が計時する現在時刻を変更するモードである。具体的には、ＣＰＵ１１０は、初期設定において、通常モードで動作するように設定されている。そして、ＣＰＵ１１０は、例えば、時刻変更モードで動作する指示を操作受付部１０８を介してユーザから受け付けたとき、時刻変更モードで動作するよう、通信モジュール１０３に指示する。なお、通常モードは、本発明の第１モードの一例であり、時刻変更モードは、本発明の第２モードの一例である。
【００３５】
具体的には、データ通信制御部１２２としてのＣＰＵ１１０は、所定データを含むリード応答の送信をスマートフォン２００に要求するリード要求を送信するよう、通信モジュール１０３に指示する。また、ＣＰＵ１１０は、通信モジュール１０３から、リード応答に含まれる所定データを受け付ける。
【００３６】
変更部１２３としてのＣＰＵ１１０は、スマートフォン２００との接続が確立した後、時刻変更モードに基づいて、スマートフォン２００との無線通信を制御する。具体的には、ＣＰＵ１１０は、スマートフォン２００が計時する現在時刻を表す時刻データを含むリード応答の送信をスマートフォン２００に要求するリード要求を送信するよう、通信モジュール１０３に指示する。より詳細には、ＣＰＵ１１０は、時刻データを受信するために、接続が確立したスマートフォン２００に対して、ＣＴＳ（Current Time Service）が提供する必須のキャラクタリスティック（属性）であるCurrent Time Characteristicの値を読み出すためのリード要求を送信する。ここで、ＣＴＳは、ＧＡＴＴ（Generic Attribute Profile）と呼ばれるプロファイルをベースとして定義されたＴＩＰ（Time Profile）に含まれるサービスのひとつであり、ＢＬＥを用いて他装置に時刻情報を公開する方法などが定義されている。ＣＴＳには、少なくとも、自装置が計時する時刻を公開するCurrent Time Characteristicが割り当てられている。また、ＣＰＵ１１０は、通信モジュール１０３から、リード応答に含まれる時刻データとして、Current Time Characteristicの値を受け付ける。そして、ＣＰＵ１１０は、受け付けたCurrent Time Characteristicの値に基づいて、計時回路１１４が計時する現在時刻を変更する。具体的には、ＣＰＵ１１０は、受け付けたCurrent Time Characteristicの値が、時刻Ｔｐ０を表す場合、ＣＰＵ１１０は、計時回路１１４が計時する現在時刻Ｔｗを、Ｔｗ＝Ｔｐ０に変更する。
【００３７】
次に、第１実施形態に係る通信モジュール１０３のＣＰＵ１３１の機能構成について説明する。
【００３８】
図３に示すように、ＣＰＵ１３１は、接続制御部１４１、データ通信制御部１４２、及び再送抑制部１４３として機能する。これら接続制御部１４１、データ通信制御部１４２、及び再送抑制部１４３の機能は、単一のＣＰＵにより実現されても良いし、各々別個のＣＰＵにより実現されてもよい。また、それらの機能は、ＣＰＵ１１０等、ＣＰＵ１３１以外のプロセッサにより実現されても良い。
【００３９】
接続制御部１４１としてのＣＰＵ１３１は、通信部１３４を制御して、スマートフォン２００との接続を制御する。具体的には、ＣＰＵ１３１は、ＣＰＵ１１０からスキャンの開始指示を受け付けると、通信部１３４を制御して、アドバタイズパケットのスキャンを開始する。そして、ＣＰＵ１３１は、通信部１３４がアドバタイズパケットを受信すると、ＣＰＵ１１０にアドバタイズパケットの受信を通知する。また、ＣＰＵ１３１は、ＣＰＵ１１０から接続要求の送信指示を受け付けると、通信部１３４を制御して、スマートフォン２００に接続要求を送信する。そして、ＣＰＵ１３１は、ＣＰＵ１１０に接続の完了を通知する。
【００４０】
データ通信制御部１４２としてのＣＰＵ１３１は、スマートフォン２００との接続が確立した後、通常モードにおいて、スマートフォン２００との無線通信を制御する。
【００４１】
具体的には、通常モードにおいて、ＣＰＵ１３１は、通信部１３４を制御して、所定データを含むリード応答の送信を要求するリード要求を、スマートフォン２００に送信する。そして、ＣＰＵ１３１は、リード要求に対してスマートフォン２００が送信したリード応答を正常に受信しなかった場合、通信部１３４を制御して、リード応答の再送を要求する再送要求をスマートフォン２００に送信する。ここで、リード応答を正常に受信しなかった場合は、例えば、通信部１３４がリード応答を所定時間内に受信しなかった場合や、受信したリード応答のＣＲＣ（Cyclic Redundancy Check）エラーが発生した場合を含む。また、ＣＰＵ１３１は、リード要求に対してスマートフォン２００が送信したリード応答を正常に受信した場合、リード応答に含まれる所定データとともに、リード応答の受信をＣＰＵ１１０に通知する。
【００４２】
再送抑制部１４３としてのＣＰＵ１３１は、スマートフォン２００との接続が確立した後、時刻変更モードにおいて、スマートフォン２００との無線通信を制御する。
【００４３】
具体的には、時刻変更モードにおいて、ＣＰＵ１３１は、通信部１３４を制御して、所定データを含むリード応答の送信を要求するリード要求を、スマートフォン２００に送信する。そして、ＣＰＵ１３１は、リード要求に対してスマートフォン２００が送信したリード応答を正常に受信しなかった場合、通信部１３４を制御して、スマートフォン２００が新たに受信した所定データを含むリード応答の送信を要求するリード要求をスマートフォン２００に送信する。また、ＣＰＵ１３１は、リード要求に対してスマートフォン２００が送信したリード応答を正常に受信した場合、リード応答に含まれる所定データとともに、リード応答の受信をＣＰＵ１１０に通知する。
【００４４】
本実施形態では、時刻変更モードにおいて、ＣＰＵ１３１は、通信部１３４を制御して、所定データとして、スマートフォン２００が計時した現在時刻を表す時刻データを含むリード応答の送信を要求するリード要求を、スマートフォン２００に送信する。より詳細には、ＣＰＵ１３１は、通信部１３４を制御して、スマートフォン２００からCurrent Time Characteristicの値を読み出すためのリード要求をスマートフォン２００に送信する。そして、ＣＰＵ１３１は、リード要求に対してスマートフォン２００が送信したリード応答を正常に受信しなかった場合、通信部１３４を制御して、スマートフォン２００が新たに計時した現在時刻を表す時刻データを含むリード応答の送信を要求するリード要求をスマートフォン２００に送信する。また、ＣＰＵ１３１は、リード要求に対してスマートフォン２００が送信したリード応答を正常に受信した場合、リード応答に含まれる時刻データ、すなわちCurrent Time Characteristicの値をＣＰＵ１１０に通知する。
【００４５】
次に、ＣＰＵ１３１が、通常モード及び時刻変更モードにおいて、リード要求、リード応答、及び再送要求を含む、スマートフォン２００との間で送受信するデータパケットについて説明する。図４に、データパケットのＰＤＵ（Payload Data Unit）の構成を示す。図４に示すように、データパケットのＰＤＵは、１６ビットのヘッダ（Header）と、ヘッダに含まれるレングス（Length）に設定された値の長さを有するペイロード（Payload）とを含む。さらに、ヘッダは、ＳＮ（Sequence Number）と、ＮＥＳＮ（Next Expected Sequence Number）と、レングス等のフィールドを含む。ＳＮは、自装置が送信するデータパケットのシーケンス番号が設定されるフィールドである。ＮＥＳＮは、自装置が送信したデータパケットに対して通信先が送信すべきデータパケットのシーケンス番号が設定されるフィールドである。ＳＮ及びＮＥＳＮは、それぞれ１ビットのデータである。なお、ＮＥＳＮは、本発明の識別子の一例である。
【００４６】
通常モードにおいて、ＣＰＵ１３１は、リード要求に対してスマートフォン２００が送信したリード応答を正常に受信しなかった場合、通信部１３４を制御して、前回送信したリード要求に含まれるＮＥＳＮと同じＮＥＳＮを含むリード要求を、再送要求としてスマートフォン２００に送信する。一方、ＣＰＵ１３１は、リード要求に対してスマートフォン２００が送信したリード応答を正常に受信した場合、通信部１３４を制御して、前回送信したリード要求に含まれるＮＥＳＮに設定された値をインクリメントし、新しいデータパケットの送信を要求するリード要求をスマートフォン２００に送信する。
【００４７】
また、時刻変更モードにおいて、ＣＰＵ１３１は、リード要求に対してスマートフォン２００が送信したリード応答を正常に受信しなかった場合及び正常に受信した場合のいずれの場合においても、通信部１３４を制御して、前回送信したリード要求に含まれるＮＥＳＮに設定された値をインクリメントし、新しいデータパケットの送信を要求するリード要求をスマートフォン２００に送信する。
【００４８】
次に、第１実施形態に係るスマートフォン２００の構成について説明する。
【００４９】
まず、第１実施形態に係るスマートフォン２００のハードウェア構成について説明する図５は、本発明の第１実施形態に係るスマートフォン２００の構成を示すブロック図である。スマートフォン２００は、マイクロコンピュータ２０１と、ＲＯＭ２０２と、通信モジュール２０３と、アンテナ２０４と、電力供給部２０５と、表示部２０６と、表示ドライバ２０７と、操作受付部２０８と、振動子２０９とを備える。
【００５０】
マイクロコンピュータ２０１は、制御部としてのＣＰＵ２１０と、記憶部としてのＲＡＭ２１１と、発振回路２１２と、分周回路２１３と、計時回路２１４とを備える。なお、ＲＡＭ２１１、発振回路２１２、分周回路２１３、及び計時回路２１４は、マイクロコンピュータ２０１の内部に限られず、マイクロコンピュータ２０１の外部に設けられてもよい。また、ＲＯＭ２０２と、通信モジュール２０３と、電力供給部２０５と、表示ドライバ２０７と、振動子２０９は、マイクロコンピュータ２０１の外部に限られず、マイクロコンピュータ２０１の内部に設けられてもよい。
【００５１】
ＣＰＵ２１０は、各種演算処理を行い、スマートフォン２００の全体動作を統括制御するプロセッサである。ＣＰＵ２１０は、ＲＯＭ２０２から制御プログラムを読み出し、ＲＡＭ２１１にロードして時刻の表示や各種機能に係る演算制御や表示などの各種動作処理を行う。また、ＣＰＵ２１０は、通信モジュール２０３を制御し、電子時計１００とデータ通信を行う。
【００５２】
ＲＡＭ２１１は、ＳＲＡＭやＤＲＡＭなどの揮発性のメモリであり、ＣＰＵ２１０に作業用のメモリ空間を提供して一時データを記憶すると共に、各種設定データを記憶する。
【００５３】
発振回路２１２は、振動子２０９を発振さることにより所定の周波数信号（クロック信号）を生成して出力する。この発振回路２１２として、例えば、水晶発振器が用いられる。
【００５４】
分周回路２１３は、発振回路２１２から入力された周波数信号を、計時回路２１４やＣＰＵ２１０が利用する周波数の信号に分周して出力する。この出力信号の周波数は、ＣＰＵ２１０による設定に基づいて変更されても良い。
【００５５】
計時回路２１４は、分周回路２１３から入力された所定の計時信号の入力回数を計数して初期値に加算することで現在の時刻を計時する。計時回路２１４は、ＲＡＭ２１１に記憶させる値を変化させるソフトウェアにより構成されても良いし、或いは、専用のカウンタ回路により構成されても良い。計時回路２１４が計時する時刻は、所定のタイミングからの累積時間、ＵＴＣ、又は予め設定された地方時などのうち何れであっても良い。また、この計時回路２１４が計時する時刻は、必ずしも年月日時分秒の形式で保持される必要がない。また、計時回路２１４が計時する時刻は、Ｗｉ−Ｆｉ（登録商標）等の外部から得られる時刻によって修正可能である。
【００５６】
これら発振回路２１２、分周回路２１３及び計時回路２１４により計時部が構成される。
【００５７】
ＲＯＭ２０２は、マスクＲＯＭや書き換え可能な不揮発性メモリなどであり、制御プログラムや初期設定データが記憶されている。制御プログラムの中には、電子時計１００と電子時計１００の時刻を変更するためのデータを通信し、電子時計１００が計時する時刻を変更するための各種処理の制御に係るプログラム２１５が含まれる。
【００５８】
通信モジュール２０３は、アンテナ２０４を介して、ＢＬＥに基づく無線信号の送信及び受信を行う。通信モジュール２０３の構成を図６に示す。図６に示すように、通信モジュール２０３は、制御部としてのＣＰＵ２３１と、ＲＯＭ２３２と、ＲＡＭ２３３と、通信部２３４とを備える。
【００５９】
ＣＰＵ２３１は、各種演算処理を行い、通信モジュール２０３の全体動作を統括制御するプロセッサである。ＣＰＵ２３１は、ＲＯＭ２３２から制御プログラムを読み出し、ＲＡＭ２３３にロードして、ＢＬＥに基づく無線信号の送信及び受信に係る各種動作処理を行う。また、ＣＰＵ２３１は、ＣＰＵ２１０からの指示に従って、各種動作処理を行う。
【００６０】
通信部２３４は、例えば無線周波数（ＲＦ：Radio Frequency）回路やベースバンド（ＢＢ：Baseband）回路、メモリ回路で構成される。通信部２３４は、アンテナ２０４を介して受信した無線信号を、復調、復号等してＣＰＵ２３１へ送る。また、通信部２３４は、ＣＰＵ２３１から送られた信号を、符号化、変調等して、アンテナ２０４を介して外部へ送信する。
【００６１】
電力供給部２０５は、バッテリを備え、スマートフォン２００の動作に係る電力を各部にその動作電圧で供給する。電力供給部２０５のバッテリとしては、本実施形態では、リチウムイオン電池等の二次電池が用いられる。
【００６２】
これらマイクロコンピュータ２０１、ＲＯＭ２０２、通信モジュール２０３、アンテナ２０４、電源供給部２０５、及び振動子２０９により無線通信装置２０が構成される。
【００６３】
表示部２０６は、例えば、液晶ディスプレイや有機ＥＬディスプレイなどの表示画面を備える。表示ドライバ２０７は、表示画面の種別に応じた駆動信号をＣＰＵ２１０からの制御信号に基づいて表示部２０６に出力して、表示画面上への表示を行う。
【００６４】
操作受付部２０８は、ユーザからの入力操作を受け付けて、当該入力操作に応じた電気信号を入力信号としてＣＰＵ２１０に出力する。例えば、操作受付部２０８としてタッチセンサが表示部２０６の表示画面に重ねて設けられ、表示画面とともにタッチパネルを構成してもよい。この場合、タッチセンサは、当該タッチセンサへのユーザの接触動作に係る接触位置や接触態様を検出し、検出された接触位置や接触態様に応じた操作信号をＣＰＵ２１０に出力する。
【００６５】
次に、第１実施形態に係るスマートフォン２００のＣＰＵ２１０の機能構成について説明する。
【００６６】
ＣＰＵ２１０は、接続制御部２２１及びデータ通信制御部２２２として機能する。これら接続制御部２２１及びデータ通信制御部２２２の機能は、単一のＣＰＵにより実現されても良いし、各々別個のＣＰＵにより実現されても良い。また、それらの機能は、通信モジュール２０３のＣＰＵ２３１等、マイクロコンピュータ２０１以外のプロセッサにより実現されても良い。
【００６７】
接続制御部２２１としてのＣＰＵ２１０は、通信モジュール２０３を制御して、電子時計１００との接続を制御する。具体的には、ＣＰＵ２１０は、通信モジュール２０３を制御して、電子時計１００にスマートフォン２００の存在を知らせるためのアドバタイズパケットの送信を実行する。本実施形態において、ＣＰＵ２１０は、計時回路２１４が計時する時刻Ｔｐが所定の時刻Ｔになったとき、アドバタイズパケットの送信開始を通信モジュール２０３に指示する。また、ＣＰＵ２１０は、通信モジュール２０３から、電子時計１００からの接続要求を受信して、接続が確立した旨の通知を受け付けると、アドバタイズパケットの送信を停止するよう、通信モジュール２０３に指示する。
【００６８】
データ通信制御部２２２としてのＣＰＵ２１０は、電子時計１００との接続が確立した後、電子時計１００との無線通信を制御する。具体的には、ＣＰＵ２１０は、通信モジュール２０３から、所定データを含むリード応答の送信をスマートフォン２００に要求するリード要求を受信した旨の通知を受け付けると、所定データを受信し、受信された所定データを含むリード応答を電子時計１００に送信するよう、通信モジュール２０３に指示する。
【００６９】
また、ＣＰＵ２１０は、所定データとして、スマートフォン２００が計時した現在時刻を表す時刻データを含むリード応答の送信を要求するリード要求を受信した旨の通知を通信モジュール２０３から受け付けると、計時回路２１４が計時する現在時刻を表す時刻データとして、Current Time Characteristicの値を受信する。そして、ＣＰＵ２１０は、受信された時刻データを含むリード応答を電子時計１００に送信するよう、通信モジュール２０３に指示する。
【００７０】
次に、第１実施形態に係る通信モジュール２０３のＣＰＵ２３１の機能構成について説明する。
【００７１】
図６に示すように、ＣＰＵ２３１は、接続制御部２４１及びデータ通信制御部２４２として機能する。これら接続制御部２４１及びデータ通信制御部２４２の機能は、単一のＣＰＵにより実現されても良いし、各々別個のＣＰＵにより実現されてもよい。また、それらの機能は、ＣＰＵ２１０等、ＣＰＵ２３１以外のプロセッサにより実現されても良い。
【００７２】
接続制御部２４１としてのＣＰＵ２３１は、通信部２３４を制御して、電子時計１００との接続を制御する。具体的には、ＣＰＵ２３１は、ＣＰＵ２１０からアドバタイジングパケットの送信開始の指示を受け付けると、通信部２３４を制御して、アドバタイズパケットの送信を開始する。そして、ＣＰＵ２３１は、所定の時間間隔Ｔｉおきにアドバタイジングパケットを送信する。また、ＣＰＵ２３１は、通信部２３４が電子時計１００から接続要求を受信すると、電子時計１００からの接続要求を受信して、接続が確立した旨をＣＰＵ２１０に通知する。また、ＣＰＵ２３１は、ＣＰＵ２１０からアドバタイズパケットの送信停止の指示を受け付けると、通信部２３４を制御して、アドバタイズパケットの送信を停止する。
【００７３】
データ通信制御部２４２としてのＣＰＵ２３１は、電子時計１００との接続が確立した後、電子時計１００との無線通信を制御する。具体的には、ＣＰＵ２３１は、通信部２３４が所定データを含むリード応答の送信を要求するリード要求を、電子時計１００から受信すると、リード要求を受信した旨をＣＰＵ２１０に通知する。そして、ＣＰＵ２３１は、ＣＰＵ２１０から所定データを含むリード応答を送信する旨の指示を受け付けると、通信部２３４を制御して、電子時計１００にリード応答を送信する。また、ＣＰＵ２３１は、通信部２３４がリード応答の再送を要求する再送要求を電子時計１００から受信すると、電子時計１００に前回送信したリード応答と同じリード応答を電子時計１００に送信する。
【００７４】
図７は、第１実施形態における無線通信システム１の接続確立動作の一例を示すシーケンス図である。図７に示す例では、電子時計１００がセントラル、スマートフォン２００がペリフェラルとして動作する場合の、電子時計１００及びスマートフォン２００のホスト及びコントローラの動作について説明する。ここで、ＣＰＵ１１０、２１０がホストとして機能する。また、ＣＰＵ１３１、２３１がコントローラとして機能する。
【００７５】
電子時計１００とスマートフォン２００は、例えば、１日に１回の定期的な時刻である時刻Ｔに接続確立動作を開始する。また、電子時計１００は、時刻変更モードで動作する場合、予め時刻変更モードで動作するように設定される。以下の説明において、電子時計１００の計時回路１１４が計時する現在時刻をＴｗ、スマートフォン２００の計時回路２１４が計時する現在時刻をＴｐ、と表す。
【００７６】
電子時計１００は、時刻Ｔｗ＝Ｔにスマートフォン２００からのアドバタイズパケットを受信できるように、時刻Ｔｗ＝Ｔに対して時間Ｍだけ早くスキャンを開始する。即ち、電子時計１００のＣＰＵ１１０は、時刻Ｔｗ＝Ｔ−Ｍに、ＣＰＵ１３１へスキャンを開始するように指示する（ステップＳ１０）。
【００７７】
時間Ｍは時刻Ｔに対する電子時計１００とスマートフォン２００との間の計時誤差のためのマージンであり、電子時計１００からのアドバタイズパケットをいち早く確実に受信するために設定される。時間Ｍは、例えば、計時回路２１４の歩度と、電子時計１００の前回の時刻変更からの経過時間とを考慮し、計時回路２１４が計時する時刻Ｔｐの誤差よりも長い時間に設定されることが好ましい。
【００７８】
スマートフォン２００のＣＰＵ２１０は、時刻Ｔｐ＝Ｔに、ＣＰＵ２３１にアドバタイズパケットを送信するように指示する（ステップＳ１１）。以後、ＣＰＵ２３１は、時間間隔Ｔｉおきに、アドバタイズパケットを送信する（ステップＳ１２）。
【００７９】
電子時計１００のＣＰＵ１３１は、スマートフォン２００からアドバタイズパケットを受信すると、アドバタイズパケットを受信した旨をＣＰＵ１１０に通知する（ステップＳ１３）。
【００８０】
ＣＰＵ１１０は、接続要求をスマートフォン２００に送信するよう、ＣＰＵ１３１に指示する（ステップＳ１４）。これにより、ＣＰＵ１３１は、電子時計１００へ接続要求を送信する（ステップＳ１５）。そして、ＣＰＵ１３１は、スマートフォン２００との接続確立をＣＰＵ１１０に通知する（ステップＳ１６）。
【００８１】
スマートフォン２００のＣＰＵ２３１は、電子時計１００から接続要求を受信すると、電子時計１００との接続確立をＣＰＵ２１０に通知する（ステップＳ１７）。そして、ＣＰＵ２１０は、ＣＰＵ２３１にアドバタイズパケットの送信を停止するよう指示する（ステップＳ１８）。
【００８２】
以上の接続確立動作により、電子時計１００とスマートフォン２００との接続が確立される。以後、電子時計１００及びスマートフォン２００は、図８及び図９に例示するデータ通信動作を実行する。図８及び図９に示す例では、電子時計１００がマスター、スマートフォン２００がスレーブとして動作する場合の、電子時計１００及びスマートフォン２００のホスト及びコントローラの動作について説明する。ここで、ＣＰＵ１１０、２１０がホストとして機能する。また、ＣＰＵ１３１、２３１がコントローラとして機能する。
【００８３】
図８は、第１実施形態における無線通信システム１の通常モードにおけるデータ通信動作の一例を示すシーケンス図である。
【００８４】
まず、電子時計のＣＰＵ１３１が、スマートフォン２００からのリード応答を正常に受信する場合のデータ通信動作について説明する。
【００８５】
電子時計のＣＰＵ１１０は、ＣＰＵ１３１に、所定データを含むリード応答の送信を要求するリード要求（Read_REQ）をスマートフォン２００に送信するよう指示する（ステップＳ２１）。そして、ＣＰＵ１３１は、ＳＮ及びＮＥＳＮにそれぞれ初期値である「０」が設定されたリード要求をスマートフォン２００に送信する（ステップＳ２２）。
【００８６】
スマートフォン２００のＣＰＵ２３１は、電子時計１００からリード要求を受信すると、ＣＰＵ１１０にリード要求の受信を通知する（ステップＳ２３）。また、ＣＰＵ２３１は、ＳＮに「０」、ＮＥＳＮに「１」が設定された空パケット（Empty PDU）を電子時計１００に送信する（ステップＳ２４）。すなわち、ＣＰＵ２３１は、ステップＳ２２においてリード要求を正常に受信したため、電子時計１００から次のパケットの送信を要求するべく、受信したリード要求に含まれるＳＮに設定された「０」をインクリメントすることにより、電子時計１００に送信すべき空パケットに含まれるＮＥＳＮに「１」を設定する。
【００８７】
スマートフォン２００のＣＰＵ２１０は、所定データを受信し、受信された所定データを含むリード応答（Read_RSP）を電子時計１００に送信するようＣＰＵ２３１に指示する（ステップＳ２５）。
【００８８】
電子時計１００のＣＰＵ１３１は、ステップＳ２４において送信されたスマートフォン２００からの空パケットを正常に受信すると、ＳＮに「１」、ＮＥＳＮに「１」が設定された空パケットをスマートフォン２００に送信する（ステップＳ２６）。すなわち、ＣＰＵ１３１は、受信した空パケットに含まれるＮＥＳＮに設定された「１」をＳＮに設定する。また、ＣＰＵ１３１は、ステップＳ２４において送信されたスマートフォン２００からの空パケットを正常に受信したため、スマートフォン２００から次のパケットの送信を要求するべく、受信した空パケットに含まれるＳＮに設定された「０」をインクリメントすることにより、ＮＥＳＮに「１」を設定する。
【００８９】
スマートフォン２００のＣＰＵ２３１は、ステップＳ２６において送信された電子時計１００からの空パケットを正常に受信すると、ＳＮに「１」、ＮＥＳＮに「０」が設定された、所定データを含むリード応答を電子時計１００に送信する（ステップＳ２７）。すなわち、ＣＰＵ２３１は、受信した空パケットに含まれるＮＥＳＮに設定された「１」をＳＮに設定する。また、ＣＰＵ２３１は、ステップＳ２６において送信された電子時計１００からの空パケットを正常に受信したため、電子時計１００から次のパケットの送信を要求するべく、受信した空パケットに含まれるＳＮに設定された「１」をインクリメントすることにより、ＮＥＳＮに「０」を設定する。
【００９０】
電子時計１００のＣＰＵ１３１は、ステップＳ２７において送信されたスマートフォン２００からのリード応答を正常に受信すると、リード応答に含まれる所定データとともに、リード応答の受信をＣＰＵ１１０に通知する（ステップＳ２８）。
【００９１】
次に、電子時計のＣＰＵ１３１が、スマートフォン２００からのリード応答の受信に失敗する場合のデータ通信動作について説明する。
【００９２】
まず、電子時計のＣＰＵ１１０は、ＣＰＵ１３１に、所定データを含むリード応答の送信を要求するリード要求をスマートフォン２００に送信するよう指示する（ステップＳ２９）。そして、ＣＰＵ１３１は、ＳＮ及びＮＥＳＮにそれぞれ「０」が設定されたリード要求をスマートフォン２００に送信する（ステップＳ３０）。すなわち、ＣＰＵ１３１は、ステップＳ２７において受信した空パケットに含まれるＮＥＳＮに設定された「０」をＳＮに設定する。また、ＣＰＵ１３１は、ステップＳ２７において送信されたスマートフォン２００からの空パケットを正常に受信したため、スマートフォン２００から次のパケットの送信を要求するべく、受信した空パケットに含まれるＳＮに設定された「１」をインクリメントすることにより、ＮＥＳＮに「０」を設定する。
【００９３】
スマートフォン２００のＣＰＵ２３１は、電子時計１００からリード要求を受信すると、ＣＰＵ１１０にリード要求の受信を通知する（ステップＳ３１）。また、ＣＰＵ２３１は、ＳＮに「０」、ＮＥＳＮに「１」が設定された空パケットを電子時計１００に送信する（ステップＳ３２）。すなわち、ＣＰＵ２３１は、ステップＳ２２においてリード要求を正常に受信したため、電子時計１００から次のパケットの送信を要求するべく、受信したリード要求に含まれるＳＮに設定された「０」をインクリメントすることにより、電子時計１００に送信すべき空パケットに含まれるＮＥＳＮに「１」を設定する。
【００９４】
スマートフォン２００のＣＰＵ２１０は、所定データを受信し、受信された所定データを含むリード応答を電子時計１００に送信するようＣＰＵ２３１に指示する（ステップＳ３３）。
【００９５】
電子時計１００のＣＰＵ１３１は、ステップＳ３２において送信されたスマートフォン２００からの空パケットを正常に受信すると、ＳＮに「１」、ＮＥＳＮに「１」が設定された空パケットをスマートフォン２００に送信する（ステップＳ３４）。すなわち、ＣＰＵ１３１は、受信した空パケットに含まれるＮＥＳＮに設定された「１」をＳＮに設定する。また、ＣＰＵ１３１は、ステップＳ３２において送信されたスマートフォン２００からの空パケットを正常に受信したため、スマートフォン２００から次のパケットの送信を要求するべく、受信した空パケットに含まれるＳＮに設定された「０」をインクリメントすることにより、ＮＥＳＮに「１」を設定する。
【００９６】
スマートフォン２００のＣＰＵ２３１は、ステップＳ３４において送信された電子時計１００からの空パケットを正常に受信すると、ＳＮに「１」、ＮＥＳＮに「０」が設定された、所定データを含むリード応答を電子時計１００に送信する（ステップＳ３５）。すなわち、ＣＰＵ２３１は、受信した空パケットに含まれるＮＥＳＮに設定された「１」をＳＮに設定する。また、ＣＰＵ２３１は、ステップＳ３４において送信された電子時計１００からの空パケットを正常に受信したため、電子時計１００から次のパケットの送信を要求するべく、受信した空パケットに含まれるＳＮに設定された「１」をインクリメントすることにより、ＮＥＳＮに「０」を設定する。
【００９７】
電子時計１００のＣＰＵ１３１は、ステップＳ３５において送信されたスマートフォン２００からのリード応答の受信に失敗すると、ＳＮに「１」、ＮＥＳＮに「１」が設定された空パケットをスマートフォン２００に送信する（ステップＳ３６）。すなわち、ＣＰＵ１３１は、ステップＳ３５において送信されたスマートフォン２００からのリード応答の受信に失敗したため、ステップＳ３５において送信されたリード応答の再送をスマートフォン２００に要求するべく、ステップ３４において送信された空パケットに含まれるＮＥＳＮに設定された値と同じ値である「１」を、ＮＥＳＮに設定する。
【００９８】
スマートフォン２００のＣＰＵ２３１は、ステップＳ３６において送信された電子時計１００からの空パケットを正常に受信すると、ステップＳ３５において送信したリード応答を電子時計１００に再送する（ステップＳ３７）。すなわち、ＣＰＵ２３１は、ステップＳ３６において送信された空パケットに含まれるＮＥＳＮに設定された値「１」が、ステップ３５において送信したリード応答に含まれるＳＮに設定された値「１」と同じであると判定し、ステップＳ３５において送信したリード応答を電子時計１００に再送する。
【００９９】
そして、電子時計１００のＣＰＵ１３１は、ステップＳ３７において送信されたスマートフォン２００からのリード応答を正常に受信すると、リード応答に含まれる所定データとともに、リード応答の受信をＣＰＵ１１０に通知する（ステップＳ３８）。
【０１００】
そして、電子時計１００のＣＰＵ１１０は、例えば、スマートフォン２００から受信すべき所定データがないと判定すると、切断要求（Terminate_IND）をスマートフォン２００に送信するよう、ＣＰＵ１３１に指示する（ステップＳ３９）。これにより、ＣＰＵ１３１は、スマートフォン２００へ切断要求を送信する（ステップＳ４０）。そして、ＣＰＵ１３１は、スマートフォン２００との接続の切断が完了した旨をＣＰＵ１１０に通知する（ステップＳ４１）。
【０１０１】
スマートフォン２００のＣＰＵ２３１は、電子時計１００から切断要求を受信すると、電子時計１００との接続の切断が完了した旨をＣＰＵ２１０に通知する（ステップＳ４２）。
【０１０２】
図９は、第１実施形態における無線通信システム１の時刻変更モードにおける動作の一例を示すシーケンス図である。なお、電子時計のＣＰＵ１３１が、スマートフォン２００からのリード応答を正常に受信する場合のデータ通信動作は、図８に示す通常モードにおけるデータ通信動作の一例と同様であるため、その詳細な説明を省略する。以下では、電子時計のＣＰＵ１３１が、スマートフォン２００からのリード応答の受信に失敗する場合のデータ通信動作について説明する。
【０１０３】
まず、電子時計のＣＰＵ１１０は、時刻変更モードに設定するようＣＰＵ１３１に指示する（ステップＳ５１）。
【０１０４】
電子時計１００のＣＰＵ１１０は、ＣＰＵ１３１に、スマートフォン２００からCurrent Time Characteristicの値を読み出すためのリード要求をスマートフォン２００に送信するよう指示する（ステップＳ５２）。そして、ＣＰＵ１３１は、ＳＮ及びＮＥＳＮにそれぞれ初期値である「０」が設定されたリード要求をスマートフォン２００に送信する（ステップＳ５３）。
【０１０５】
ＣＰＵ１３１，２３１は、図８に示すステップＳ２２〜Ｓ２４と同様に、ステップＳ５３〜Ｓ５５の処理を実行する。
【０１０６】
スマートフォン２００のＣＰＵ２１０は、Current Time Characteristicの値を受信し、受信されたCurrent Time Characteristicの値を含むリード応答を電子時計１００に送信するようＣＰＵ２３１に指示する（ステップＳ５６）。
【０１０７】
電子時計１００のＣＰＵ１３１は、ステップＳ５５において送信されたスマートフォン２００からの空パケットを正常に受信すると、図８に示すステップＳ２６と同様にＳＮに「１」、ＮＥＳＮに「１」が設定された空パケットをスマートフォン２００に送信する（ステップＳ５７）。
【０１０８】
スマートフォン２００のＣＰＵ２３１は、ステップＳ５７において送信された電子時計１００からの空パケットを正常に受信すると、図８に示すステップＳ２７と同様にＳＮに「１」、ＮＥＳＮに「０」が設定された、Current Time Characteristicの値を含むリード応答を電子時計１００に送信する（ステップＳ５８）。
【０１０９】
電子時計１００のＣＰＵ１３１は、ステップＳ５８において送信されたスマートフォン２００からのリード応答の受信に失敗すると、ＳＮに「０」、ＮＥＳＮに「０」が設定されたリード要求をスマートフォン２００に送信する（ステップＳ５９）。すなわち、ＣＰＵ１３１は、ステップＳ５８において送信されたスマートフォン２００からのリード応答の受信に失敗すると、ステップＳ５７において送信したリード要求に含まれるＳＮ及びＮＥＳＮに設定された値をそれぞれインクリメントすることにより、ＳＮ及びＮＥＳＮに「０」を設定する。
【０１１０】
スマートフォン２００のＣＰＵ２３１は、電子時計１００からリード要求を受信すると、ＣＰＵ２１０にリード要求の受信を通知する（ステップＳ６０）。また、ＣＰＵ２３１は、ＳＮに「０」、ＮＥＳＮに「１」が設定された空パケット（Empty PDU）を電子時計１００に送信する（ステップＳ６１）。すなわち、ＣＰＵ２３１は、ステップＳ５９において受信したリード要求に含まれるＮＥＳＮに設定された値「０」が、ステップＳ５７において受信した空パケットに含まれるＮＥＳＮに設定された値「１」と異なるため、ステップＳ５９において受信したリード要求が、新しいデータパケットの送信を要求するリード要求であると判定する。そして、ＣＰＵ２３１は、ＣＰＵ２１０にリード要求の受信を通知する。
【０１１１】
スマートフォン２００のＣＰＵ２１０は、Current Time Characteristicの値を新たに受信し、受信されたCurrent Time Characteristicの値を含むリード応答を電子時計１００に送信するようＣＰＵ２３１に指示する（ステップＳ６２）。
【０１１２】
電子時計１００のＣＰＵ１３１は、ステップＳ６１において送信されたスマートフォン２００からの空パケットを正常に受信すると、ステップＳ５７と同様にＳＮに「１」、ＮＥＳＮに「１」が設定された空パケットをスマートフォン２００に送信する（ステップＳ６３）。
【０１１３】
スマートフォン２００のＣＰＵ２３１は、ステップＳ６３において送信された電子時計１００からの空パケットを正常に受信すると、新たに受信されたCurrent Time Characteristicの値を含む、ＳＮに「１」、ＮＥＳＮに「０」が設定されたリード応答を電子時計１００に送信する（ステップＳ６４）。
【０１１４】
そして、電子時計１００のＣＰＵ１３１は、ステップＳ６４において送信されたスマートフォン２００からのリード応答を正常に受信すると、リード応答に含まれるCurrent Time Characteristicの値とともに、リード応答の受信をＣＰＵ１１０に通知する（ステップＳ６５）。そして、ＣＰＵ１１０は、ＣＰＵ１３１から通知されたCurrent Time Characteristicの値で、計時回路１１４が計時する現在時刻を変更する。
【０１１５】
そして、電子時計１００のＣＰＵ１１０は、時刻変更モードの設定を解除するようＣＰＵ１３１に指示する（ステップＳ６６）。
【０１１６】
そして、電子時計１００のＣＰＵ１１０は、切断要求をスマートフォン２００に送信するよう、ＣＰＵ１３１に指示する（ステップＳ６７）。これにより、ＣＰＵ１３１，２３１は、図８に示すステップＳ４０〜４２と同様には、ステップＳ６８〜７０の処理を実行して、接続を切断する。
【０１１７】
図１０は、電子時計１００のＣＰＵ１３１が実行する通常モードにおけるデータ通信処理の制御手順を示すフローチャートである。ＣＰＵ１３１は、例えば、スマートフォン２００との接続が確立したことを契機として、本データ通信処理を開始する。
【０１１８】
データ通信処理が開始されると、ＣＰＵ１３１は、ＣＰＵ１１０からリード要求の送信指示を受け付けたか否かを判定する（ステップＳ１０１）。ＣＰＵ１３１は、リード要求の送信指示を受け付けていないと判定した場合（ステップＳ１０１；Ｎｏ）、リード要求の送信指示を受け付けるまで待機する。
【０１１９】
ＣＰＵ１３１は、リード要求の送信指示を受け付けたと判別した場合（ステップＳ１０１；Ｙｅｓ）、リード要求を生成し、ＲＡＭ１３３に格納する（ステップＳ１０２）。このとき、ＣＰＵ１３１は、ＳＮ及びＮＥＳＮにそれぞれ初期値である「０」が設定されたリード要求を生成する。
【０１２０】
そして、ＣＰＵ１３１は、通信部１３４を制御して、ステップＳ１０２において格納されたリード要求をスマートフォン２００に送信する（ステップＳ１０３）。
【０１２１】
ＣＰＵ１３１は、スマートフォン２００から、ステップＳ１０３において送信したリード要求に対して送信された空パケットを正常に受信したか否かを判定する（ステップＳ１０４）。ＣＰＵ１３１は、空パケットを正常に受信しなかったと判定した場合（ステップＳ１０４；Ｎｏ）、ステップＳ１０３に戻って、ＲＡＭ１３３に格納されたリード要求を再送する。
【０１２２】
ＣＰＵ１３１は、空パケットを正常に受信したと判定した場合（ステップＳ１０４；Ｙｅｓ）、空パケットを生成し、ＲＡＭ１３３に格納する（ステップＳ１０５）。このとき、ＣＰＵ１３１は、ステップＳ１０２においてＲＡＭ１３３に格納されたリード要求に含まれるＳＮ及びＮＥＳＮに設定された値をインクリメントすることにより、空パケットに含まれるＳＮ及びＮＥＳＮに設定される値を生成する。
【０１２３】
そして、ＣＰＵ１３１は、通信部１３４を制御して、ステップＳ１０５において格納された空パケットをスマートフォン２００に送信する（ステップＳ１０６）。
【０１２４】
ＣＰＵ１３１は、スマートフォン２００から、ステップＳ１０６において送信した空パケットに対して送信されたリード応答を正常に受信したか否かを判定する（ステップＳ１０７）。ＣＰＵ１３１は、リード応答を正常に受信しなかったと判定した場合（ステップＳ１０７；Ｎｏ）、ステップＳ１０６に戻って、ＲＡＭ１３３に格納された空パケットを再送する。
【０１２５】
ＣＰＵ１３１は、リード応答を正常に受信したと判定した場合（ステップＳ１０７；Ｙｅｓ）、リード応答の受信をＣＰＵ１１０に通知する（ステップＳ１０８）
【０１２６】
そして、ＣＰＵ１３１は、ＣＰＵ１１０から、スマートフォン２００との接続の切断要求の送信指示を受け付けたか否かを判定する（ステップＳ１０９）。ＣＰＵ１３１は、切断要求の送信指示を受け付けていないと判定した場合（ステップＳ１０９；Ｎｏ）、Ｓ１０１に戻って、その後の処理を繰り返す。
【０１２７】
ＣＰＵ１３１は、切断要求の送信指示を受け付けたと判定した場合（ステップＳ１０９；Ｙｅｓ）、通信部１３４を制御して、スマートフォン２００に切断要求を送信する（ステップＳ１１０）。そして、ＣＰＵ１３１は、本処理を終了する。
【０１２８】
図１１は、電子時計１００のＣＰＵ１３１が実行する時刻変更モードにおけるデータ通信処理の制御手順を示すフローチャートである。ＣＰＵ１３１は、例えば、スマートフォン２００との接続が確立した後に、ＣＰＵ１１０から時刻変更モードの設定指示を受け付けたことを契機として、本データ通信処理を開始する。
【０１２９】
データ通信処理が開始されると、ＣＰＵ１３１は、ＣＰＵ１１０からCurrent Time Characteristicの値を読み出すためのリード要求の送信指示を受け付けたか否かを判定する（ステップＳ２０１）。ＣＰＵ１１０は、リード要求の送信指示を受け付けていないと判定した場合には（ステップＳ２０１；Ｎｏ）、ＣＰＵ１１０は、リード要求の送信指示を受け付けるまで待機する。
【０１３０】
そして、ＣＰＵ１３１は、図１０に示すステップＳ１０２〜Ｓ１０７と同様に、ステップＳ２０２〜２０７の処理を実行する。
【０１３１】
そして、ＣＰＵ１３１は、リード応答を正常に受信しなかったと判定した場合（ステップＳ２０７；Ｎｏ）、ＲＡＭ１３３に格納された空パケットに含まれるＳＮ及びＮＥＳＮに設定された値をインクリメントする（ステップＳ２０８）。
【０１３２】
ＣＰＵ１３１は、ステップＳ２０２に戻って、ステップＳ２０８においてインクリメントされた値がＳＮ及びＮＥＳＮに設定されたリード要求を生成し、ＲＡＭに格納する。
【０１３３】
そして、ＣＰＵ１３１は、リード応答を正常に受信したと判定した場合（ステップＳ２０７；Ｙｅｓ）、リード応答に含まれるCurrent Time Characteristicの値とともに、リード応答の受信をＣＰＵ１１０に通知する（ステップＳ２０９）。
【０１３４】
ＣＰＵ１３１は、ＣＰＵ１１０から時刻変更モードの解除指示を受け付けたか否かを判定する（ステップＳ２１０）。ＣＰＵ１３１は、時刻変更モードの解除指示を受け付けていないと判定した場合（ステップＳ２１０；Ｎｏ）、解除指示を受け付けるまで待機する。
【０１３５】
ＣＰＵ１３１は、ＣＰＵ１１０から時刻変更モードの解除指示を受け付けたと判定した場合（ステップＳ２１０；Ｙｅｓ）、ＣＰＵ１１０から、スマートフォン２００との接続の切断要求の送信指示を受け付けたか否かを判定する（ステップＳ２１１）。ＣＰＵ１３１は、切断要求の送信指示を受け付けていないと判定した場合（ステップＳ２１１；Ｎｏ）、接続要求の送信指示を受け付けるまで待機する。
【０１３６】
ＣＰＵ１３１は、切断要求の送信指示を受け付けたと判定した場合（ステップＳ２１１；Ｙｅｓ）、通信部１３４を制御して、スマートフォン２００に切断要求を送信する（ステップＳ２１２）。そして、ＣＰＵ１３１は、本処理を終了する。
【０１３７】
以上のように、第１実施形態の電子時計１００は、リード要求に対してスマートフォン２００が送信したリード応答を正常に受信しなかった場合、スマートフォン２００が新たに受信した時刻データを含むリード応答の送信を要求するリード要求をスマートフォン２００に送信する。従って、電子時計１００は、通信環境が悪くても、最新の時刻データを受信することができる。そのため、電子時計１００は、再送されたリード応答に含まれる時刻データを用いて時刻を変更する場合と比較して、変更誤差を小さくすることができる。また、電子時計１００は、通信間隔を短くして変更誤差を小さくする場合と比較して、少ない消費電力で時刻を変更することができる。
【０１３８】
また、第１実施形態の電子時計１００は、通常モード及び時刻変更モードのうちいずれかのモードに基づいて、スマートフォン２００との無線通信を制御する。そして、電子時計１００は、通常モードにおいて、リード応答を正常に受信しなかった場合、リード応答の再送を要求する再送要求をスマートフォン２００に送信する。また、電子時計１００は、時刻変更モードにおいて、リード応答を正常に受信しなかった場合、スマートフォン２００が新たに受信した時刻データを含むリード応答の送信を要求するリード要求をスマートフォン２００に送信する。従って、電子時計１００は、ユーザが所望するデータに応じて、通常モード及び時刻変更モードのうちいずれかに切り替えて、スマートフォン２００との無線通信を制御することができる。
【０１３９】
また、第１実施形態の電子時計１００は、リード要求に対してスマートフォン２００が送信すべきリード応答を識別する識別子として、ＮＥＳＮを含むリード要求をスマートフォンに送信する。そして、通常モードにおいて、電子時計１００は、リード応答を正常に受信しなかった場合、リード要求に含まれるＮＥＳＮに設定された値と同じ値を含むリード要求を、再送要求としてスマートフォン２００に送信する。また、時刻変更モードにおいて、電子時計１００は、リード応答を正常に受信しなかった場合、リード要求に含まれるＮＥＳＮに設定された値と異なる値を含むリード要求を、スマートフォン２００に送信する。従って、スマートフォン２００は、受信したリード要求に含まれるＮＥＳＮに設定された値が、前回受信したリード要求に含まれるＮＥＳＮに設定された値と同じ場合、電子時計１００がリード応答を正常に受信しなかったと判別して、リード応答を再送する。また、スマートフォン２００は、受信したリード要求に含まれるＮＥＳＮに設定された値が、前回受信したリード要求に含まれるＮＥＳＮに設定された値と異なる場合、電子時計１００がリード応答を正常に受信したと判別して、受信したリード要求を新たなリード要求であると判別し、新たに受信した時刻データを含むリード応答を送信する。従って、電子時計１００は、リード要求に含まれるＮＥＳＮに設定される値を適宜設定することにより、再送要求または新たなリード応答を要求するリード要求のいずれかを送信することができる。
【０１４０】
また、第１実施形態の電子時計１００は、時刻変更モードにおいて、リード応答を正常に受信しなかった場合、前回送信したリード要求に含まれるＮＥＳＮに設定された値をインクリメントした値を、送信すべきリード要求に含まれるＮＥＳＮに設定する。これにより、電子時計１００は、新たなリード応答を要求するリード要求を送信することができる。
【０１４１】
（第２実施形態）
上記の第１実施形態では、電子時計１００は、時刻変更モードにおいて、リード応答を正常に受信しなかったときに、リード応答の再送をスマートフォン２００に要求せずに、リード要求を送信する。これにより、電子時計１００は、新たに受信されたCurrent Time Characteristicの値を含むリード応答を受信し、その受信した値に基づいて、自装置が計時する現在時刻を変更する。しかし、電子時計１００がリード応答を正常に受信しなかったときでも、誤差が小さくなるように電子時計１００が計時する現在時刻を変更する方法は、この方法に限られない。第２実施形態では、電子時計１００ａが送信したリード要求に応答してスマートフォン２００から送信された通知を受信した時刻からリード応答を正常に受信した時刻までの時間を考慮して、電子時計１００ａが計時する現在時刻を変更する方法について説明する。なお、第１実施形態と同一の構成要素には同一の符号を付すこととして、その詳細な説明を省略する。
【０１４２】
まず、第２実施形態の電子時計１００ａについて説明する。図１２は、本実施形態の電子時計１００ａの構成を示すブロック図である。電子時計１００ａは、第１実施形態の電子時計１００の構成と比較して、ＣＰＵ１１０が、変更部１２３の代わりに変更部１２３ａとして機能する点、及び通信モジュール１０３の代わりに通信モジュール１０３ａを備える点を除き同一である。
【０１４３】
変更部１２３ａとしてのＣＰＵ１１０は、スマートフォン２００との接続が確立した後、時刻変更モードに基づいて、スマートフォン２００との無線通信を制御する。具体的には、ＣＰＵ１１０は、第１実施形態と同様に、スマートフォン２００が計時する現在時刻を表す時刻データとして、Current Time Characteristicの値を含むリード応答の送信をスマートフォン２００に要求するリード要求を送信するよう、通信モジュール１０３ａに指示する。そして、ＣＰＵ１１０は、通信モジュール１０３ａがリード要求の受信に応答してスマートフォン２００が送信した通知を受信すると、通信モジュール１０３ａからその通知を受信したことを表すAck reportの通知を受け付ける。そして、ＣＰＵ１１０は、そのAck reportを受け付けた時刻を、計時回路１１４が計時する現在時刻から受信する。また、ＣＰＵ１１０は、通信モジュール１０３から、リード応答に含まれる時刻データとして、Current Time Characteristicの値を受け付ける。そして、ＣＰＵ１１０は、そのCurrent Time Characteristicの値を受け付けた時刻を、計時回路１１４が計時する現在時刻から受信する。そして、ＣＰＵ１１０は、Ack reportを受け付けた時刻と、Current Time Characteristicの値を受け付けた時刻と、受け付けたCurrent Time Characteristicの値が表す時刻と、に基づいて、計時回路１１４が計時する現在時刻を変更する。具体的には、Ack reportを受け付けた時刻がＴｗ１、Current Time Characteristicの値を受け付けた時刻がＴｗ２、受け付けたCurrent Time Characteristicの値が表す時刻がＴｐ０である場合、ＣＰＵ１１０は、計時回路１１４が計時する現在時刻Ｔｗを、Ｔｗ＝Ｔｐ０＋Ｔｗ２−Ｔｗ１に変更する。
【０１４４】
次に、第２実施形態の電子時計１００ａの通信モジュール１０３ａについて説明する。図１３は、本実施形態の通信モジュール１０３ａの構成を示すブロック図である。通信モジュール１０３ａは、第１実施形態の通信モジュール１０３の構成と比較して、ＣＰＵ１３１が、データ通信制御部１４２の代わりにデータ通信制御部１４２ａとして機能する点、及び再送抑制部１４３を備えない点を除き同一である。
【０１４５】
データ通信制御部１４２ａとしてのＣＰＵ１３１は、スマートフォン２００との接続が確立した後、通常モード及び時刻変更モードのいずれにおいても、スマートフォン２００との無線通信を制御する。
【０１４６】
具体的には、ＣＰＵ１３１は、通信部１３４を制御して、所定データを含むリード応答の送信を要求するリード要求を、スマートフォン２００に送信する。なお、時刻変更モードにおいて、ＣＰＵ１３１は、所定データとして、スマートフォン２００が計時した現在時刻を表す時刻データを含むリード応答の送信を要求するリード要求を、スマートフォン２００に送信する。より詳細には、ＣＰＵ１３１は、通信部１３４を制御して、スマートフォン２００からCurrent Time Characteristicの値を読み出すためのリード要求をスマートフォン２００に送信する。さらに、時刻変更モードにおいて、ＣＰＵ１３１は、通信部１３４が、リード要求に応答してスマートフォン２００が送信した通知を受信し、受信された通知が、スマートフォン２００がリード要求を正常に受信したことを表す場合、ＣＰＵ１１０にスマートフォン２００から通知を受信したことを表すAck reportを通知する。
【０１４７】
また、ＣＰＵ１３１は、リード要求に対してスマートフォン２００が送信したリード応答を正常に受信しなかった場合、通信部１３４を制御して、リード応答の再送を要求する再送要求をスマートフォン２００に送信する。また、ＣＰＵ１３１は、リード要求に対してスマートフォン２００が送信したリード応答を正常に受信した場合、リード応答に含まれる所定データをＣＰＵ１１０に通知する。
【０１４８】
図１４は、第２実施形態における無線通信システム１の時刻変更モードにおける動作の一例を示すシーケンス図である。なお、第２実施形態における無線通信システム１の通常モードにおける動作は、図８に示す第１実施形態における動作と同様であるため、その詳細な説明を省略する。
【０１４９】
まず、電子時計１００ａのＣＰＵ１１０，１３１及びスマートフォン２００のＣＰＵ２１０，２３１は、図９に示す第１実施形態のステップＳ５２〜Ｓ５５と同様に、ステップＳ８１〜Ｓ８４の処理を実行する。
【０１５０】
ＣＰＵ１３１は、ステップＳ８４においてスマートフォン２００から送信された空パケットを正常に受信し、かつ、空パケットが、スマートフォン２００がステップＳ８２において送信されたリード要求を正常に受信したことを表す場合、スマートフォン２００から通知を受信したことを表すAck reportをＣＰＵ１１０に通知する（ステップＳ８５）。具体的には、ＣＰＵ１３１は、空パケットに含まれるＮＥＳＮに設定された値「１」が、ステップＳ８２において送信したリード要求に含まれるＳＮに設定された値「０」と異なることを判定することにより、スマートフォン２００がステップＳ８２において送信されたリード要求を正常に受信したと判定する。また、ＣＰＵ１１０は、Ack reportを受け付けた時刻Ｔｗ１を受信する。
【０１５１】
スマートフォン２００のＣＰＵ２１０は、計時回路２１４が計時する現在時刻Ｔｐ＝Ｔｐ０を表すCurrent Time Characteristicの値を受信し、受信されたCurrent Time Characteristicの値を含むリード応答を電子時計１００に送信するようＣＰＵ２３１に指示する（ステップＳ８６）。
【０１５２】
電子時計１００のＣＰＵ１３１及びスマートフォン２００のＣＰＵ２３１は、図８に示す第１実施形態のステップＳ３４〜Ｓ３７と同様に、ステップＳ８７〜Ｓ９０の処理を実行する。すなわち、ＣＰＵ１３１は、リード応答を正常に受信しなかった場合、通常モードと同様に、リード応答の再送をスマートフォン２００に要求する。
【０１５３】
そして、電子時計１００のＣＰＵ１３１は、ステップＳ９０において送信されたスマートフォン２００からのリード応答を正常に受信すると、リード応答に含まれるCurrent Time Characteristicの値とともに、リード応答の受信をＣＰＵ１１０に通知する（ステップＳ９１）。また、ＣＰＵ１１０は、リード応答の受信通知を受け付けた時刻Ｔｗ２を受信する。そして、ＣＰＵ１１０は、Ack reportを受け付けた時刻Ｔｗ１と、リード応答の受信通知を受け付けた時刻Ｔｗ２と、Current Time Characteristicの値が表す時刻Ｔｐ０から、計時回路１１４が計時する現在時刻Ｔｗを、Ｔｗ＝Ｔｐ０＋Ｔｗ２−Ｔｗ１に変更する。
【０１５４】
そして、電子時計１００のＣＰＵ１１０は、切断要求をスマートフォン２００に送信するよう、ＣＰＵ１３１に指示する（ステップＳ９２）。これにより、ＣＰＵ１３１，２３１は、図８に示すステップＳ４０〜４２と同様に、ステップＳ９３〜９５の処理を実行して、接続を切断する。
【０１５５】
図１５は、電子時計１００ａのＣＰＵ１１０が実行する時刻変更モードにおける時刻変更処理の制御手順を示すフローチャートである。ＣＰＵ１１０は、例えば、スマートフォン２００との接続が確立した後に、本時刻変更処理を開始する。
【０１５６】
時刻変更処理が開始されると、ＣＰＵ１１０は、ＣＰＵ１３１に、スマートフォン２００からCurrent Time Characteristicの値を読み出すためのリード要求をスマートフォン２００に送信するよう指示する（ステップＳ３０１）。
【０１５７】
次に、ＣＰＵ１１０は、ＣＰＵ１３１から、Ack reportを受け付けたか否かを判定する（ステップＳ３０２）。ＣＰＵ１１０は、Ack reportを受け付けていないと判定した場合（ステップＳ３０２；Ｎｏ）、Ack reportを受け付けるまで待機する。
【０１５８】
ＣＰＵ１１０は、Ack reportを受け付けたと判定した場合（ステップＳ３０２；Ｙｅｓ）、Ack reportを受け付けた時刻として、計時回路１１４が計時する現在時刻Ｔｗ１を受信する（ステップＳ３０３）。
【０１５９】
次に、ＣＰＵ１１０は、ＣＰＵ１３１から、リード応答の受信通知を受け付けたか否かを判定する（ステップＳ３０４）。ＣＰＵ１１０は、リード応答の受信通知を受け付けていないと判定した場合（ステップＳ３０４；Ｎｏ）、受信通知を受け付けるまで待機する。
【０１６０】
ＣＰＵ１１０は、リード応答の受信通知を受け付けたと判定した場合（ステップＳ３０４；Ｙｅｓ）、リード応答を受け付けた時刻として、計時回路１１４が計時する現在時刻Ｔｗ２を受信する（ステップＳ３０５）。
【０１６１】
そして、ＣＰＵ１１０は、計時回路１１４が計時する現在時刻Ｔｗを、リード応答に含まれるCurrent Time Characteristicの値が表す時刻Ｔｐ０と、Ack reportを受け付けた時刻Ｔｗ１と、リード応答を受け付けた時刻Ｔｗ２とに基づいて、Ｔｗ＝Ｔｐ０＋Ｔｗ２−Ｔｗに変更する（ステップＳ３０６）。
【０１６２】
そして、ＣＰＵ１１０は、ＣＰＵ１３１に、切断要求をスマートフォン２００に送信するよう指示する（ステップＳ３０７）。そして、ＣＰＵ１１０は、本処理を終了する。
【０１６３】
図１６は、電子時計１００ａのＣＰＵ１３１が実行する時刻変更モードにおけるデータ通信処理の制御手順を示すフローチャートである。ＣＰＵ１３１は、例えば、スマートフォン２００との接続が確立した後に、本データ通信処理を開始する。
【０１６４】
データ通信処理が開始されると、ＣＰＵ１３１は、図１１に示すステップＳ２０１〜２０４と同様に、ステップＳ４０１〜Ｓ４０４の処理を実行する。
【０１６５】
そして、ＣＰＵ１３１は、空パケットを正常に受信したと判定した場合（ステップＳ４０４；Ｙｅｓ）、ＣＰＵ１１０にAck reoprtを通知する（ステップＳ４０５）。
【０１６６】
そして、ＣＰＵ１３１は、図１１に示すステップＳ２０５〜Ｓ２０７と同様に、ステップＳ４０６〜４０８の処理を実行する。
【０１６７】
そして、ＣＰＵ１３１は、リード応答を正常に受信しなかったと判定した場合（ステップＳ４０８；Ｎｏ）、ステップＳ４０７に戻って、ＲＡＭ１３３に格納された空パケットを再送する。
【０１６８】
ＣＰＵ１３１は、リード応答を正常に受信したと判定した場合（ステップＳ４０８；Ｙｅｓ）、リード応答に含まれるCurrent Time Characteristicの値とともに、リード応答の受信をＣＰＵ１１０に通知する（ステップＳ４０９）。
【０１６９】
そして、ＣＰＵ１３１は、図１１に示すステップＳ２１１〜Ｓ２１２と同様に、ステップＳ４１０〜４１１の処理を実行する。そして、ＣＰＵ１３１は、本処理を終了する。
【０１７０】
以上説明したように、第２実施形態に係る電子時計１００ａは、リード要求の受信に応答してスマートフォン２００が送信した通知を受信した時刻と、リード応答を正常に受信した時刻と、リード応答に含まれる時刻データが表す時刻と、に基づいて、自装置が計時する時刻を変更する。このように、電子時計１００ａは、リード要求の送信が完了してから、リード応答を受信するまでの時間で、リード応答を正常に受信することができなくても、その時間を考慮して、リード応答に含まれる時刻データが表す時刻と、に基づいて、自装置が計時する時刻を変更するため、より正確な時刻変更を行うことができる。
【０１７１】
具体的には、電子時計１００ａは、リード応答を正常に受信した時刻Ｔｗ２と、リード要求に応答して送信されたスマートフォン２００からの通知を受信した時刻Ｔｗ１と、の差分Ｔｗ２−Ｔｗ１を、リード応答に含まれるCurrent Time Characteristicの値が表す時刻Ｔｐ０に加算した時刻Ｔｐ０＋Ｔｗ２−Ｔｗ１に、自装置が計時する時刻Ｔｗを変更する。従って、電子時計１００ａは、リード応答を正常に受信せず、再送されたリード応答を受信した場合であっても、再送されたリード応答に含まれる時刻データにリード応答を正常に受信しなかった時間を加算して自装置が計時する時刻を変更するため、より正確な時刻変更を行うことができる。
【０１７２】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
【０１７３】
例えば、第１実施形態において、時刻修正モードにおける電子時計１００が、所定データとして、スマートフォン２００が計時する現在時刻が表す時刻データを受信する例について説明した。しかし、電子時計１００が受信する所定データは、時刻データに限られない。所定データは、例えば、温度データや気圧データなど、スマートフォン２００が提供可能なデータであればよい。このようなデータを本実施形態に適用することにより、電子時計１００は、通信が悪く、リード応答を正常に受信することが困難な場合でも、スマートフォン２００から最新のデータを受信することができる。
【０１７４】
また、上記第１及び第２実施形態では、電子時計１００，１００ａが、スマートフォン２００とブルートゥースで通信する例を説明した。しかし、電子時計１００、１００ａは、スマートフォン２００とその他の通信方法、例えば、無線ＬＡＮ（Local Area Network）やＷｉ−Ｆｉ（登録商標）で通信しても良い。
【０１７５】
また、上記第１及び第２実施形態では、電子時計１００，１００ａが計時する時刻をスマートフォン２００が計時する時刻に基づいて変更する例を説明した。しかし、スマートフォン２００が計時する時刻を電子時計１００，１００ａが計時する時刻に基づいて変更しても良い。
【０１７６】
また、上記第１及び第２実施形態では、電子時計１００，１００ａ及びスマートフォン２００を例に挙げて説明したが、これらはスマートウォッチなどの各種電子機器であって良い。
【０１７７】
また、上記第１及び第２実施形態では、ＣＰＵ１１０，１１３，２１０，２１３が、制御動作を行う例を説明した。しかし、制御動作は、ＣＰＵによるソフトウェア制御に限られるものではない。制御動作の一部又は全部が専用の論理回路などのハードウェア構成を用いてなされても良い。
【０１７８】
また、以上の説明では、本発明のデータ通信処理に係るプログラム、時刻変更処理に係るプログラムを記憶するコンピュータ読み取り可能な媒体としてフラッシュメモリなどの不揮発性メモリからなるＲＯＭ１０２，１３２を例に挙げて説明した。しかし、コンピュータ読み取り可能な媒体は、これらに限定されず、ＨＤＤ（Hard Disk Drive）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）やＤＶＤ（Digital Versatile Disc）などの可搬型記録媒体を適用してもよい。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウェーブ（搬送波）も本発明に適用される。
【０１７９】
その他、上記実施の形態で示した構成、制御手順や表示例などの具体的な細部は、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【０１８０】
本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記の番号は、この出願の願書に最初に添付した特許請求の範囲の通りである。
【０１８１】
（付記１）
他の無線通信装置と無線通信する通信部と、
制御部と、を備え、
前記制御部は、
前記通信部を制御して、所定データを含むリード応答の送信を要求するリード要求を、前記他の無線通信装置に送信し、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記他の無線通信装置が新たに受信した前記所定データを含む前記リード応答の送信を要求する前記リード要求を前記他の無線通信装置に送信する、
ことを特徴とする無線通信装置。
【０１８２】
（付記２）
前記制御部は、
第１モードと第２モードのうちのいずれかのモードに基づいて、前記他の無線通信装置との無線通信を制御し、
前記第１モードにおいて、前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード応答の再送を要求する再送要求を前記他の無線通信装置に送信し、
前記第２モードにおいて、前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記他の無線通信装置が新たに受信した前記所定データを含む前記リード応答の送信を要求する前記リード要求を前記他の無線通信装置に送信する、
ことを特徴とする付記１に記載の無線通信装置。
【０１８３】
（付記３）
前記制御部は、
前記リード要求に対して前記他の無線通信装置が送信すべき前記リード応答を識別する識別子を含む前記リード要求を前記他の無線通信装置に送信し、
前記第１モードにおいて、前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード要求に含まれる前記識別子と同じ識別子を含む前記リード要求を、前記再送要求として前記他の無線通信装置に送信し、
前記第２モードにおいて、前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード要求に含まれる前記識別子と異なる識別子を含む前記リード要求を、前記他の無線通信装置に送信する、
ことを特徴とする付記２に記載の無線通信装置。
【０１８４】
（付記４）
前記識別子は、１ビットのデータであって、
前記制御部は、
前記第２モードにおいて、前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記リード要求に含まれる前記識別子をインクリメントすることにより、前記異なる識別子を生成し、前記通信部を制御して、生成された前記異なる識別子を含む前記リード要求を、前記他の無線通信装置に送信する、
ことを特徴とする付記３に記載の無線通信装置。
【０１８５】
（付記５）
前記所定データは、前記他の無線通信装置が計時した現在時刻を表し、
前記制御部は、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記他の無線通信装置が新たに計時した現在時刻を表す前記所定データを含む前記リード応答の送信を要求する前記リード要求を前記他の無線通信装置に送信する、
ことを特徴とする付記１乃至４のいずれか１つに記載の無線通信装置。
【０１８６】
（付記６）
前記制御部は、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信した場合、受信された前記リード応答に含まれる前記所定データが表す前記現在時刻に基づいて、自装置が計時する現在時刻を変更する、
ことを特徴とする付記５に記載の無線通信装置。
【０１８７】
（付記７）
付記５または６に記載の無線通信装置と、
自装置が計時する現在時刻を表示する表示部と、
を備えることを特徴とする電子時計。
【０１８８】
（付記８）
他の無線通信装置と無線通信する通信部と、
制御部と、を備え、
前記制御部は、
前記通信部を制御して、前記他の無線通信装置が計時する現在時刻を表す時刻データを含むリード応答の送信を要求するリード要求を、前記他の無線通信装置に送信し、
前記通信部を制御して、前記リード要求の受信に応答して前記他の無線通信装置が送信した通知を受信し、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード応答の再送を要求する再送要求を前記他の無線通信装置に送信し、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信した場合、前記通知を受信した時刻と、前記リード応答を正常に受信した時刻と、前記リード応答に含まれる前記時刻データが表す時刻と、に基づいて、自装置が計時する時刻を変更する、
ことを特徴とする無線通信装置。
【０１８９】
（付記９）
前記制御部は、前記リード応答を正常に受信した時刻と、前記通知を受信した時刻と、の差分を、前記リード応答に含まれる前記時刻データが表す時刻に加算した時刻に、自装置が計時する時刻を変更する、
ことを特徴とする付記８に記載の無線通信装置。
【０１９０】
（付記１０）
他の無線通信装置と無線通信する通信部を備える無線通信装置が実行する無線通信方法であって、
前記通信部を制御して、所定データを含むリード応答の送信を要求するリード要求を、前記他の無線通信装置に送信するステップと、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記他の無線通信装置が新たに受信した前記所定データを含む前記リード応答の送信を要求する前記リード要求を前記他の無線通信装置に送信するステップと、
を含むことを特徴とする無線通信方法。
【０１９１】
（付記１１）
他の無線通信装置と無線通信する通信部を備える無線通信装置が実行する時刻変更方法であって、
前記通信部を制御して、前記他の無線通信装置が計時する現在時刻を表す時刻データを含むリード応答の送信を要求するリード要求を、前記他の無線通信装置に送信するステップと、
前記通信部を制御して、前記リード要求の受信に応答して前記他の無線通信装置が送信した通知を受信するステップと、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード応答の再送を要求する再送要求を前記他の無線通信装置に送信するステップと、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信した場合、前記通知を受信した時刻と、前記リード応答を正常に受信した時刻と、前記リード応答に含まれる前記時刻データが表す時刻と、に基づいて、自装置が計時する時刻を変更するステップと、
を含むことを特徴とする時刻変更方法。
【０１９２】
（付記１２）
無線通信装置と無線通信する通信部を備えるコンピュータを、
前記通信部を制御して、所定データを含むリード応答の送信を要求するリード要求を、前記無線通信装置に送信する手段、
前記リード要求に対して前記無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記無線通信装置が新たに（時刻要求受信後に）受信した前記所定データを含む前記リード応答の送信を要求する前記リード要求を前記無線通信装置に送信する手段、
として機能させることを特徴とするプログラム。
【０１９３】
（付記１３）
無線通信装置と無線通信する通信部を備えるコンピュータを、
前記通信部を制御して、前記他の無線通信装置が計時する現在時刻を表す時刻データを含むリード応答の送信を要求するリード要求を、前記他の無線通信装置に送信する手段、
前記通信部を制御して、前記リード要求の受信に応答して前記他の無線通信装置が送信した通知を受信する手段、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信しなかった場合、前記通信部を制御して、前記リード応答の再送を要求する再送要求を前記他の無線通信装置に送信する手段、
前記リード要求に対して前記他の無線通信装置が送信した前記リード応答を正常に受信した場合、前記通知を受信した時刻と、前記リード応答を正常に受信した時刻と、前記リード応答に含まれる前記時刻データが表す時刻と、に基づいて、自装置が計時する時刻を変更する手段、
として機能させることを特徴とするプログラム。
【符号の説明】
【０１９４】
１…無線通信システム、１０，２０…無線通信装置、１００，１００ａ…電子時計、１０１…マイクロコンピュータ、１０２…ＲＯＭ、１０３，１０３ａ…通信モジュール、１０４…アンテナ、１０５…電源供給部、１０６…表示部、１０７…表示ドライバ、１０８…操作受付部、１０９…振動子、１１０…ＣＰＵ、１１１…ＲＡＭ、１１２…発振回路、１１３…分周回路、１１４…計時回路、１１５…プログラム、１２１…接続制御部、１２２…データ通信制御部、１２３，１２３ａ…変更部、１３１…ＣＰＵ、１３２…ＲＯＭ、１３３…ＲＡＭ、１３４…通信部、１４１…接続制御部、１４２，１４２ａ…データ通信制御部、１４３…再送抑制部、２００…スマートフォン、２０１…マイクロコンピュータ、２０２…ＲＯＭ、２０３…通信モジュール、２０４…アンテナ、２０５…電源供給部、２０６…表示部、２０７…表示ドライバ、２０８…操作受付部、２０９…振動子、２１０…ＣＰＵ、２１１…ＲＡＭ、２１２…発振回路、２１３…分周回路、２１４…計時回路、２１５…プログラム、２２１…接続制御部、２２２…データ通信制御部、２３１…ＣＰＵ、２３２…ＲＯＭ、２３３…ＲＡＭ、２３４…通信部、２４１…接続制御部、２４２…データ通信制御部
【図１】
2018046519.tif 000003
【図２】
2018046519.tif 000004
【図３】
2018046519.tif 000005
【図４】
2018046519.tif 000006
【図５】
2018046519.tif 000007
【図６】
2018046519.tif 000008
【図７】
2018046519.tif 000009
【図８】
2018046519.tif 000010
【図９】
2018046519.tif 000011
【図１０】
2018046519.tif 000012
【図１１】
2018046519.tif 000013
【図１２】
2018046519.tif 000014
【図１３】
2018046519.tif 000015
【図１４】
2018046519.tif 000016
【図１５】
2018046519.tif 000017
【図１６】
2018046519.tif 000018