(57)【特許請求の範囲】
【請求項１】
アクティブスタイラス及びセンサコントローラを含むシステムで実行される方法であって、
前記センサコントローラ及び前記アクティブスタイラスをフレーム同期させる同期ステップと、
前記センサコントローラが、それぞれ可変ビット数のデータを含み得る複数の可変長コマンドの中から第１の可変長コマンドを選択し、第１のフレーム内で、前記第１の可変長コマンドのビット数に応じた可変時間長のアップリンク信号により送信する指示ステップと、
前記アクティブスタイラスが、受信回路を用いて前記アップリンク信号及び前記可変時間長を検知し、前記可変時間長の末尾まで復号を継続することにより、前記第１の可変長コマンドを受信する受信ステップと、
前記アクティブスタイラスが、制御回路及び送信回路により、前記第１のフレームの残りの部分を用いて、受信した前記第１の可変長コマンドに応じたダウンリンク信号を送信する送信ステップと、
を含む方法。
【請求項２】
前記同期ステップは、
前記センサコントローラが、前記アップリンク信号をフレームごとに繰り返し送信することによりフレーム基準時刻を供給するステップと、
前記アクティブスタイラスが、前記受信回路を用いて前記アップリンク信号を検出することにより前記フレーム基準時刻を取得するステップと、
を含む、
請求項１に記載の方法。
【請求項３】
前記第１の可変長コマンドは、自身のビット数を示すレングスフィールドを有し、
前記指示ステップは、前記センサコントローラが、前記第１の可変長コマンドを選択したことに応じて、前記第１の可変長コマンドのビット数を決定するとともに、決定の結果に基づいて前記第１の可変長コマンド内の前記レングスフィールドの値を変更するステップを含み、
前記受信ステップは、受信した前記第１の可変長コマンド内の前記レングスフィールドの値を復号し、該値に応じて前記第１の可変長コマンドの受信動作を継続する時間を決定するステップを含む、
請求項１又は２に記載の方法。
【請求項４】
前記複数の可変長コマンドはそれぞれ、所定バイト長の１以上のフィールドによって構成され、
前記１以上のフィールドはそれぞれ、次のフィールドが存在するか否かを示すフラグを含む、
請求項１又は２に記載の方法。
【請求項５】
前記複数の可変長コマンドはそれぞれ、所定バイト長の複数のフィールドによって構成され、
前記複数のフィールドはそれぞれ、次のフィールドが存在するか否かを示すフラグ、及び、該フィールドに含まれるビット列の値から得られたビット列により計算された誤り検出値を含むＣＲＣフィールドを含み、
前記受信ステップは、前記複数のフィールドのそれぞれに含まれたビット列に基づいて誤り検出値を算出し、対応する前記ＣＲＣフィールドに含まれた値と比較するステップを含み、
前記送信ステップは、前記複数のフィールドのすべてについて前記比較の結果が一致を示している場合に、前記ダウンリンク信号の送信を実行するステップを含む、
請求項１又は２に記載の方法。
【請求項６】
前記１以上のフィールドのうち、第１のフィールドの次に送信される第２のフィールドは、前記第１のフィールドに連続して、又は、前記第１のフィールドの送信完了から所定の時間が経過した後に送信される、
請求項５に記載の方法。
【請求項７】
前記第１の可変長コマンドは、自身の末尾にコマンド終了を示す終了フィールドを有し、
前記受信ステップは、前記アクティブスタイラスが、前記終了フィールドを検出したことに応じて前記第１の可変長コマンドの受信動作を終了する受信終了ステップを含む、
請求項１又は２に記載の方法。
【請求項８】
前記受信ステップは、前記アクティブスタイラスが、既知の拡散符号と前記アップリンク信号との相関演算を行うことによって前記第１の可変長コマンドを受信するよう構成され、
前記受信終了ステップは、前記既知の拡散符号と前記アップリンク信号との相関演算の結果としてのピーク値が得られない場合に、前記終了フィールドを検出する、
請求項７に記載の方法。
【請求項９】
前記アップリンク信号は、前記センサコントローラが、前記第１の可変長コマンドを示すビット列を前記既知の拡散符号で直接拡散することにより得る信号であり、
前記センサコントローラが、前記アップリンク信号を送信した後、少なくとも前記既知の拡散符号１つ分の時間、信号を送信せずに待機する待機ステップと、
前記センサコントローラが、前記待機ステップの終了後、前記ダウンリンク信号の検出動作を実行するステップと、
をさらに含む請求項８に記載の方法。
【請求項１０】
アクティブスタイラスとの間でフレーム同期を確立した後、それぞれ可変ビット数のデータを含み得る複数の可変長コマンドの中から第１の可変長コマンドを選択し、第１のフレーム内で、前記第１の可変長コマンドのビット数に応じた時間長のアップリンク信号により前記第１の可変長コマンドを送信する送信部と、
前記第１のフレームの残りの部分を用いて、前記アクティブスタイラスが前記第１の可変長コマンドに応じて送信したダウンリンク信号を受信する受信部と、
を含むセンサコントローラ。
【請求項１１】
センサコントローラとの間でフレーム同期を確立した後、前記センサコントローラが第１のフレーム内で送信したアップリンク信号を検出することにより、それぞれ可変ビット数のデータを含み得る複数の可変長コマンドの中から選択された第１の可変長コマンドを受信する受信部と、
前記第１のフレームの残りの部分を用いて、受信した前記第１の可変長コマンドに応じたダウンリンク信号を送信する送信部と、
を含むアクティブスタイラス。
【請求項１２】
アクティブスタイラス及びセンサコントローラを含むシステムで実行される方法であって、
前記センサコントローラが、前記第１及び第２の部分信号を含むアップリンク信号を送信する送信ステップと、
前期アクティブスタイラスが、前記アップリンク信号を受信する受信ステップと、を含み、
前記送信ステップは、第１の拡散符号を用いた直接拡散により前記第１の部分信号を送信する一方、前記第１の拡散符号とは異なるコードであって、かつ、前記第１の拡散符号と同一のチップ時間長を有する第２の拡散符号を用いた直接拡散により前記第２の部分信号を送信するよう構成され、
前記受信ステップは、前記第１の拡散符号を用いて前記第１の部分信号を検出することによって前記アップリンク信号と同期した後、前記第２の拡散符号を用いて前記第２の部分信号を検出するよう構成される、
方法。
【請求項１３】
前記第２の拡散符号のコード長は、前記第１の拡散符号のコード長より短い、
請求項１２に記載の方法。
【請求項１４】
前記第１の拡散符号は、複数の前記第２の拡散符号によって構成される、
請求項１３に記載の方法。
【請求項１５】
前記第１の部分信号は、前記第２の拡散符号を指定する情報を含み、
前記受信ステップは、前記第１の拡散符号を用いて検出した前記第１の部分信号から前記情報の値を取得し、取得した該値により、前記第２の部分信号を検出するために用いる拡散符号を前記第２の拡散符号に切り替えるよう構成される、
請求項１２に記載の方法。
【請求項１６】
前記受信ステップは、前記アクティブスタイラスの現在の動作モードに応じて、前記第２の部分信号を検出するために用いる拡散符号を切り替えるよう構成される、
請求項１２に記載の方法。
【請求項１７】
第１及び第２の部分信号を含むアップリンク信号を送信する送信部を含み、
前記送信部は、第１の拡散符号を用いた直接拡散により前記第１の部分信号を送信する一方、前記第１の拡散符号とは異なるコードであって、かつ、前記第１の拡散符号と同一のチップ時間長を有する第２の拡散符号を用いた直接拡散により前記第２の部分信号を送信する、
センサコントローラ。
【請求項１８】
第１及び第２の部分信号を含むアップリンク信号を受信する受信部を含み、
前記受信部は、第１の拡散符号を用いて前記第１の部分信号を検出することによって前記アップリンク信号と同期した後、前記第１の拡散符号とは異なるコードであって、かつ、前記第１の拡散符号と同一のチップ時間長を有する第２の拡散符号を用いて前記第２の部分信号を検出する、
アクティブスタイラス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アクティブスタイラス及びセンサコントローラを含むシステムで実行される方法、センサコントローラ、並びにアクティブスタイラスに関する。
【背景技術】
【０００２】
タッチ式の入力システムの中には、スタイラスからセンサコントローラに対し信号を送信可能に構成されたものがある。特許文献１には、そのような入力システムの例が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１５／１１１１５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、近年、スタイラスからセンサコントローラに対して信号を送信するだけでなく、センサコントローラからスタイラスに対しても信号を供給できるように構成した入力システムが登場している。以下では、前者の信号を「ダウンリンク信号」と称し、後者の信号を「アップリンク信号」と称する。そのような双方向通信に対応する入力システムにおいては、センサコントローラからスタイラスに対して送信するコマンドによりスタイラスを動作させることができるので、通信リソースの効率的な使用が可能になる。【０００５】
しかしながら、双方向通信を時分割で行うと、通信リソースの一部がアップリンク信号によって占有されることになる。その結果、ダウンリンク信号を送信するために使える通信時間が減ってしまうため、改善が必要とされていた。【０００６】
したがって、本発明の目的の一つは、双方向通信を行うスタイラスとセンサコントローラにおいて、スタイラスとセンサコントローラ間の信号送受信に利用可能な通信リソースのうち、センサコントローラからスタイラスへ送信されるアップリンク信号の送信によって占有される部分の割合（アップリンク信号占有率）を削減することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の側面による方法は、アクティブスタイラス及びセンサコントローラを含むシステムで実行される方法であって、前記センサコントローラ及び前記アクティブスタイラスをフレーム同期させる同期ステップと、前記センサコントローラが、それぞれ可変ビット数のデータを含み得る複数の可変長コマンドの中から第１の可変長コマンドを選択し、第１のフレーム内で、前記第１の可変長コマンドのビット数に応じた可変時間長のアップリンク信号により前記第１の可変長コマンドを送信する指示ステップと、前記アクティブスタイラスが、受信回路を用いて前記アップリンク信号及び前記可変時間長を検知し、前記可変時間長の末尾まで復号を継続することにより、前記第１の可変長コマンドを受信する受信ステップと、前記アクティブスタイラスが、制御回路及び送信回路により、前記第１のフレームの残りの部分を用いて、受信した前記第１の可変長コマンドに応じたダウンリンク信号を送信する送信ステップと、を含む方法である。【０００８】
本発明の第１の側面によるセンサコントローラは、アクティブスタイラスとの間でフレーム同期を確立した後、それぞれ可変ビット数のデータを含み得る複数の可変長コマンドの中から第１の可変長コマンドを選択し、第１のフレーム内で、前記第１の可変長コマンドのビット数に応じた時間長のアップリンク信号により前記第１の可変長コマンドを送信する送信部と、前記第１のフレームの残りの部分を用いて、前記アクティブスタイラスが前記第１の可変長コマンドに応じて送信したダウンリンク信号を受信する受信部と、を含むセンサコントローラである。【０００９】
本発明の第１の側面によるアクティブスタイラスは、センサコントローラとの間でフレーム同期を確立した後、前記センサコントローラが第１のフレーム内で送信したアップリンク信号を検出することにより、それぞれ可変ビット数のデータを含み得る複数の可変長コマンドの中から選択された第１の可変長コマンドを受信する受信部と、前記第１のフレームの残りの部分を用いて、受信した前記第１の可変長コマンドに応じたダウンリンク信号を送信する送信部と、を含むアクティブスタイラスである。【００１０】
本発明の第２の側面による方法は、アクティブスタイラス及びセンサコントローラを含むシステムで実行される方法であって、前記センサコントローラが、前記第１及び第２の部分信号を含むアップリンク信号を送信する送信ステップと、前期アクティブスタイラスが、前記アップリンク信号を受信する受信ステップと、を含み、前記送信ステップは、第１の拡散符号を用いた直接拡散により前記第１の部分信号を送信する一方、前記第１の拡散符号とは異なるコードであって、かつ、前記第１の拡散符号と同一のチップ時間長を有する第２の拡散符号を用いた直接拡散により前記第２の部分信号を送信するよう構成され、前記受信ステップは、前記第１の拡散符号を用いて前記第１の部分信号を検出することによって前記アップリンク信号と同期した後、前記第２の拡散符号を用いて前記第２の部分信号を検出するよう構成される、方法である。【００１１】
本発明の第２の側面によるセンサコントローラは、第１及び第２の部分信号を含むアップリンク信号を送信する送信部を含み、前記送信部は、第１の拡散符号を用いた直接拡散により前記第１の部分信号を送信する一方、前記第１の拡散符号とは異なるコードであって、かつ、前記第１の拡散符号と同一のチップ時間長を有する第２の拡散符号を用いた直接拡散により前記第２の部分信号を送信する、センサコントローラである。【００１２】
本発明の第２の側面によるアクティブスタイラスは、第１及び第２の部分信号を含むアップリンク信号を受信する受信部を含み、前記受信部は、第１の拡散符号を用いて前記第１の部分信号を検出することによって前記アップリンク信号と同期した後、前記第１の拡散符号とは異なるコードであって、かつ、前記第１の拡散符号と同一のチップ時間長を有する第２の拡散符号を用いて前記第２の部分信号を検出する、アクティブスタイラスである。
【発明の効果】
【００１３】
本発明の第１の側面によれば、センサコントローラが送信するアップリンク信号の時間長が送信対象の可変長コマンドのビット数に応じて調整されるので、アップリンク信号占有率を削減することが可能になる。【００１４】
本発明の第２の側面によれば、同期後に用いる第２の拡散符号のコード長を、同期のために用いる第１の拡散符号のそれに比べて短くすることができるので、アップリンク信号占有率をさらに削減することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施の形態によるシステム１の構成を示す図である。
【図２】図１に示したセンサ３０及びセンサコントローラ３１の構成を示す図である。
【図３】本発明の第１の実施の形態による可変長コマンドｖＣＭＤを示す図である。
【図４】図１に示したスタイラス２の機能ブロックを示す略ブロック図である。
【図５】図３に示した可変長コマンドｖＣＭＤの送受信方法を示す図である。
【図６】本発明の第１の実施の形態によるセンサコントローラ３１の動作を示すフロー図である。
【図７】本発明の第１の実施の形態によるスタイラス２の動作を示すフロー図である。
【図８】本発明の第１の実施の形態の効果を説明する図である。
【図９】本発明の第１の実施の形態の第１の変形例による可変長コマンドｖＣＭＤを示す図である。
【図１０】本発明の第１の実施の形態の第２の変形例による可変長コマンドｖＣＭＤを示す図である。
【図１１】本発明の第１の実施の形態の第３の変形例による可変長コマンドｖＣＭＤを示す図である。
【図１２】本発明の第１の実施の形態の第３の変形例による可変長コマンドｖＣＭＤの送受信方法を示す図である。
【図１３】本発明の第１の実施の形態の第３の変形例によるセンサコントローラ３１の動作を示すフロー図である。
【図１４】本発明の第１の実施の形態の第３の変形例によるスタイラス２の動作を示すフロー図である。
【図１５】本発明の第２の実施の形態による可変長コマンドｖＣＭＤの送受信方法を示す図である。
【図１６】本発明の第２の実施の形態によるスタイラス２の動作を示すフロー図である。
【図１７】本発明の第３の実施の形態によるスタイラス２の機能ブロックを示す略ブロック図である。
【図１８】図１５に示した拡散符号Ｃ３を説明する図である。
【図１９】本発明の第３の実施の形態によるスタイラス２の動作を示すフロー図である。
【図２０】本発明の第３の実施の形態によるスタイラス２の動作を示すフロー図である。
【図２１】本発明の第３の実施の形態による可変長コマンドｖＣＭＤの送受信方法を示す図である。
【図２２】本発明の第３の実施の形態の変形例による可変長コマンドｖＣＭＤの送受信方法を示す図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
【００１７】
図１は、本発明の第１の実施の形態によるシステム１の構成を示す図である。同図に示すように、システム１は、スタイラス２と、電子機器３とを含んで構成される。電子機器３は、例えば別体のＰＣと接続されたデジタイザ、又は、表示装置を備えるタブレットＰＣであり、パネル面３ａ上でスタイラス２又は指（図示せず）を動かすことにより、線画を入力可能に構成される。
【００１８】
スタイラス２は、静電容量方式のアクティブスタイラスであり、図１に示すように、芯２０、電極２１、筆圧検出センサ２３、信号処理部２４、及び電源２５を有して構成される。
【００１９】
芯２０は、その長手方向がスタイラス２のペン軸方向と一致するように配置される棒状の部材である。芯２０の先端部２０ａの表面には導電性材料が塗布され、電極２１を構成している。芯２０の後端部は、筆圧検出センサ２３に当接される。筆圧検出センサ２３は、パネル面３ａ等に押し当てたときに先端部２０ａに加わる圧力（芯２０に加えられた筆圧）に応じた筆圧レベルを検出するもので、具体的な例では、筆圧に応じて静電容量の変化する可変容量モジュールにより構成される。
【００２０】
電極２１は、配線により信号処理部２４と電気的に接続されている。信号処理部２４がダウンリンク信号ＤＳを電極２１に供給すると、電極２１には、供給されたダウンリンク信号ＤＳに応じた電荷が誘導される。これにより、後述するセンサ３０内の静電容量に変化が生じ、後述するセンサコントローラ３１は、この変化を検出することによりダウンリンク信号ＤＳを受信する。また、センサコントローラ３１がセンサ３０を介して送信しているアップリンク信号ＵＳが電極２１に到来すると、電極２１には、到来したアップリンク信号ＵＳに応じた電荷が誘導される。信号処理部２４は、こうして電極２１に誘導された電荷を検出することにより、アップリンク信号ＵＳを受信する。
【００２１】
信号処理部２４は、センサコントローラ３１が送信するアップリンク信号ＵＳを電極２１を介して受信する機能と、受信したアップリンク信号ＵＳに含まれるコマンド（後述）に応じてダウンリンク信号ＤＳを生成し、センサコントローラ３１に向け、電極２１を介して送信する機能とを有する。
【００２２】
電源２５は、信号処理部２４に動作電力（直流電圧）を供給するためのもので、例えば円筒型のＡＡＡＡ電池により構成される。
【００２３】
電子機器３は、パネル面３ａを構成するセンサ３０と、センサコントローラ３１と、これらを含む電子機器３の各部の機能を制御するホストプロセッサ３２とを有して構成される。
【００２４】
センサコントローラ３１は、センサ３０を通じ、スタイラス２に向けてアップリンク信号ＵＳを送信する機能を有する。アップリンク信号ＵＳは制御内容に応じて時間長が異なる可変長（可変時間長）の信号である。アップリンク信号ＵＳには、スタイラス２に対する制御内容を示す可変長の制御コマンド（後述する可変長コマンドｖＣＭＤ）のデータが含まれている。また、センサコントローラ３１は、センサ３０を通じ、スタイラス２が送信したダウンリンク信号ＤＳを受信する機能も有する。
【００２５】
図２は、センサ３０及びセンサコントローラ３１の構成を示す図である。同図に示すように、センサ３０は、複数の線状電極３０Ｘと複数の線状電極３０Ｙとがマトリクス状に配置された構成を有しており、これら線状電極３０Ｘ，３０Ｙによってスタイラス２の電極２１（図１を参照）と容量結合するよう構成される。また、センサコントローラ３１は、送信部６０、選択部４０、受信部５０、及び、ＭＣＵ８０を有して構成される。
【００２６】
ＭＣＵ８０は、センサコントローラ３１内の各部を制御する機能を有するプロセッサであり、具体的には、アップリンク信号ＵＳとして送信するデータ（以下、「送信データ」という）、及び、送信データの終了を示すコマンド終了値ＥｏＣを送信部６０に供給する機能と、受信部５０から出力されるダウンリンク信号ＤＳを受信し、その結果に基づいてスタイラス２の位置（ｘ，ｙ）を導出するとともにスタイラス２が送信したデータＲｅｓを取得してホストプロセッサ３２に供給する機能と、選択部４０を制御することにより、アップリンク信号ＵＳの送信とダウンリンク信号ＤＳの受信とを切り替えるとともに、アップリンク信号ＵＳの送信に用いる線状電極及びダウンリンク信号ＤＳの受信に用いる線状電極を選択する機能とを有する。
【００２７】
ＭＣＵ８０が送信部６０に供給する送信データには、プリアンブルＰｒｅと、プリアンブルＰｒｅに続く可変長コマンドｖＣＭＤとが含まれる。プリアンブルＰｒｅは、スタイラス２との間で事前に共有されている既知のデータ（例えば、２ビット長のビット列「００」）によって構成される。一方、可変長コマンドｖＣＭＤは、スタイラス２に対する制御の内容を示す可変長の任意のデータである。ＭＣＵ８０は、それぞれ可変ビット数のデータを含み得る複数の可変長コマンドの中から１つの可変長コマンド（第１の可変長コマンド）を選択するよう構成される。
【００２８】
ＭＣＵ８０は、フレーム単位でアップリンク信号ＵＳの送信及びダウンリンク信号ＤＳの受信を行うよう構成される。ＭＣＵ８０は、各フレームの先頭で、プリアンブルＰｒｅを構成するビット列を送信部６０に出力し、続けて、可変長コマンドｖＣＭＤを構成するビット列を送信部６０に出力し、その後、各フレームの残り部分を用いてダウンリンク信号ＤＳを受信するよう構成される。これにより、センサコントローラ３１からスタイラス２に対して、可変長コマンドｖＣＭＤを伴うプリアンブルＰｒｅが繰り返し周期的に送信され、スタイラス２はその都度、可変長コマンドｖＣＭＤの内容に応じたダウンリンク信号ＤＳをセンサコントローラ３１に向けて送信できることになる。フレームごとに繰り返し送信されるプリアンブルＰｒｅは、センサコントローラ３１からスタイラス２に対してフレーム基準時刻を供給する役割を果たす。
【００２９】
図３は、本実施の形態による可変長コマンドｖＣＭＤを示す図である。本実施の形態においては、送信対象の可変長コマンドｖＣＭＤは、同図（ａ）〜（ｄ）に示す４種類の可変長コマンドｖＣＭＤ（それぞれのサイズは、Ｎバイト、２Ｎバイト、３Ｎバイト、４Ｎバイト）の中から選択される。これらの可変長コマンドｖＣＭＤは、共通の所定位置に、そのサイズを示すレングスフィールド（ハッチングを付したフィールド）を有して構成される。図３の例では、レングスフィールドのビット長は２ビットであり、２ビットで表現可能な４種類のレングスフィールドの値「００」、「０１」、「１０」、「１１」がそれぞれＮバイト、２Ｎバイト、３Ｎバイト、４Ｎバイトに対応付けられる。別の言い方をすれば、ＭＣＵ８０は、送信対象の可変長コマンドｖＣＭＤを選択したことに応じて、該可変長コマンドｖＣＭＤのビット数を決定するとともに、決定の結果に基づいて該可変長コマンドｖＣＭＤ内のレングスフィールドの値を変更する。スタイラス２は、受信した可変長コマンドｖＣＭＤ内のレングスフィールドの値を復号し、該値に応じて可変長コマンドｖＣＭＤの受信動作を継続する時間を決定するよう構成される。これにより、可変長コマンドｖＣＭＤの全体を好適に復号することが可能になる。
【００３０】
なお、可変長コマンドｖＣＭＤのサイズは４種類でなければならないわけではなく、２種類以上であればよい。レングスフィールドのビット長は、可変長コマンドｖＣＭＤのサイズの選択肢の数に応じて適宜調整される。
【００３１】
図２に戻り、送信部６０は、ＭＣＵ８０から供給された送信データに応じてアップリンク信号ＵＳを生成し、選択部４０に出力する回路である。送信部６０は、直接拡散部６３、拡散符号保持部６４、及び送信ガード部６５を含んで構成される。なお、直接拡散部６３の後段にＰＳＫ変調（マンチェスター符号化）等を行う変調部を設けてもよい。
【００３２】
拡散符号保持部６４は、１つ以上の拡散符号Ｃ１，Ｃ２，Ｃ３を保持し出力する機能を有する。
【００３３】
拡散符号Ｃ１は、例えば後述する図１８（ａ）の上段に図示するような１６チップ（ビット）のＰＮ符号「０１１１００００１０１００１１０」である。ただし、拡散符号Ｃ１はこのＰＮ符号に限られるものではなく、自己相関特性を有する符号列であればよい。
【００３４】
拡散符号Ｃ２は、拡散符号Ｃ１よりコード長の短いＰＮ符号であり、例えば７チップのＰＮ符号「０１１０００１」である（図１５の時刻ｔ３〜ｔ５を参照）。ただし、拡散符号Ｃ２も、このＰＮ符号に限られるものではなく、送信したいビット列の耐ノイズ性向上させる性質を有する符号列（例えば、自己相関特性を有する符号列）であればよい。また、拡散符号Ｃ２の個々のチップの時間長（チップ時間長）は、拡散符号Ｃ１のそれと同じでよい。さらに、複数の拡散符号Ｃ２によって（例えば、複数の拡散符号Ｃ２を連結することによって）、拡散符号Ｃ１を構成することとしてもよい。具体的な例を挙げると、７チップの複数の拡散符号Ｃ２を３つ連結した２１ビットの符号を拡散符号Ｃ１とすることで、ピーク値の検出レベルが向上しアップリンク信号自体に対する同期タイミングをより正確に判定することが可能となるとともに、スタイラス２内部の相関演算器７１ｂ（後述）の構成を簡易にすることが可能となる。
【００３５】
拡散符号Ｃ３は、拡散符号Ｃ１を所定チップ分巡回シフトさせたり極性を反転したりすることで得られる拡散符号のバリエーションの総称であり、例えば、図１８（ｂ）に示した拡散符号Ｃ３１，Ｃ３２，Ｃ３３，Ｃ３１ｒ，Ｃ３２ｒ，Ｃ３３ｒが該当する。拡散符号Ｃ３１は拡散符号Ｃ１そのものであり、拡散符号Ｃ３２は拡散符号Ｃ３１を５ビットだけシフトさせてなる拡散符号であり、拡散符号Ｃ３３は拡散符号Ｃ３２を５ビットだけシフトさせてなる拡散符号であり、拡散符号Ｃ３１ｒは拡散符号Ｃ３１を反転させてなる拡散符号であり、拡散符号Ｃ３２ｒは拡散符号Ｃ３２を反転させてなる拡散符号であり、拡散符号Ｃ３３ｒは拡散符号Ｃ３３を反転させてなる拡散符号である。
【００３６】
なお、ここでは拡散符号Ｃ１，Ｃ２，Ｃ３について説明したが、本実施の形態では、このうち拡散符号Ｃ１のみを使用する。したがって、拡散符号保持部６４は、少なくとも拡散符号Ｃ１を記憶していれば足りる。拡散符号Ｃ２，Ｃ３については、それぞれ第２及び第３の実施の形態でより詳しく説明する。
【００３７】
直接拡散部６３は、拡散符号保持部６４が出力した拡散符号を用いた直接拡散（例えば、直接スペクトラム拡散）により、アップリンク信号ＵＳを生成する機能を有する。直接拡散部６３の処理により、アップリンク信号ＵＳは、後述する図５に示すように、送信データの値に応じた一連の拡散符号により構成される信号となる。また、アップリンク信号ＵＳの時間長は、その中に含まれる可変長コマンドｖＣＭＤのビット数に応じた時間長となる。
【００３８】
直接拡散部６３の具体的な構成としては、送信データを構成する各ビット値と拡散符号との排他的論理和を算出する論理回路であってもよいし、図示しないメモリにビット値ごとの拡散符号を予め保持しておき、その中から送信データを構成する各ビット値に対応する拡散符号を出力する回路であるとしてもよい。本実施の形態においては、拡散符号として拡散符号Ｃ１が用いられるので、直接拡散部６３は、送信データのビット値「０」に対応して拡散符号Ｃ１を出力し、送信データのビット値「１」に対応して拡散符号Ｃ１の反転符号（以下、拡散符号Ｃ１ｒと称する）を出力するよう構成される。
【００３９】
送信ガード部６５は、ＭＣＵ８０から供給されたコマンド終了値ＥｏＣに基づいて、アップリンク信号ＵＳの出力を停止する機能を有する。
【００４０】
選択部４０は、ＭＣＵ８０の制御に基づいて、センサ３０からアップリンク信号ＵＳを送信する送信期間と、センサ３０によりダウンリンク信号ＤＳを受信する受信期間とを切り替えるスイッチである。選択部４０は、スイッチ４４ｘ，４４ｙと、導体選択回路４１ｘ，４１ｙとを含んで構成される。スイッチ４４ｘは、ＭＣＵ８０から供給される制御信号ｓＴＲｘに基づき、アップリンク信号ＵＳの送信期間には、送信部６０の出力端を導体選択回路４１ｘの入力端に接続し、受信期間には、導体選択回路４１ｘの出力端を受信部５０の入力端に接続するよう動作する。スイッチ４４ｙは、ＭＣＵ８０から供給される制御信号ｓＴＲｙに基づき、アップリンク信号ＵＳの送信期間には、送信部６０の出力端を導体選択回路４１ｙの入力端に接続し、受信期間には、導体選択回路４１ｙの出力端を受信部５０の入力端に接続するよう動作する。導体選択回路４１ｘは、ＭＣＵ８０から供給される制御信号ｓｅｌＸに基づき、複数の線状電極３０Ｘのうちの１つ（あるいは複数）を選択し、それぞれ選択したものをスイッチ４４ｘに接続するよう動作する。導体選択回路４１ｙは、ＭＣＵ８０から供給される制御信号ｓｅｌＹに基づき、複数の線状電極３０Ｙのうちの１つ（あるいは複数）を選択し、それぞれ選択したものをスイッチ４４ｙに接続するよう動作する。
【００４１】
受信部５０は、スタイラス２が送信するダウンリンク信号ＤＳを検出あるいは受信するための回路であり、図示しない増幅回路、検波回路、及び、アナログデジタル（ＡＤ）変換器等を含んで構成される。受信部５０は、検出あるいは受信したダウンリンク信号ＤＳをＭＣＵ８０に供給する。
【００４２】
図４は、スタイラス２の機能ブロックを示す略ブロック図である。同図に示すように、スタイラス２は、切替部ＳＷ、受信部７１（受信回路）、拡散符号記憶部７２、送信部７５（送信回路）、並びに制御部９０（制御回路）を含んで構成される。
【００４３】
切替部ＳＷは、制御部９０からの制御信号ＳＷＣに基づき、受信Ｒと送信Ｔとを切り替えるスイッチである。受信Ｒの場合には電極２１を受信部７１に接続し、送信Ｔの場合には電極２１を送信部７５に接続する。なお、アップリンク信号ＵＳ受信用の電極と、ダウンリンク信号ＤＳ送信用の電極とを別々に設けるとしてもよい。
【００４４】
拡散符号記憶部７２は、上述した拡散符号Ｃ１，Ｃ２，Ｃ３を記憶する記憶部である。ただし、上述したように、本実施の形態では拡散符号Ｃ１のみが使用されるので、拡散符号Ｃ２，Ｃ３は記憶しないこととしてもよい。
【００４５】
受信部７１は、波形再生部７１ａ及び相関演算器７１ｂを含んで構成される。波形再生部７１ａは、電極２１に誘導された電荷（電圧）のレベルを、正負の極性値のバイナリ列（拡散符号のチップ列に対応）に整形して出力する機能を有する。相関演算器７１ｂは、波形再生部７１ａが出力した正負の極性値のバイナリ列をレジスタ列に格納し、クロックＣＬＫ（図示せず）で順次シフトしながら、拡散符号記憶部７２に保持されている拡散符号Ｃ１との相関演算を行う。
【００４６】
受信部７１は、アップリンク信号ＵＳ及びその時間長を検知し、検知した時間長の末尾まで復号を継続することにより、可変長コマンドｖＣＭＤを受信するよう構成される。より具体的に説明すると、受信部７１は、相関演算器７１ｂによる相関演算の結果により、まずプリアンブルＰｒｅの検出を行う。そして、プリアンブルＰｒｅを検出することによってフレーム基準時刻を取得し、取得したフレーム基準時刻に従って可変長コマンドｖＣＭＤの検出を行う。この検出の際には、アップリンク信号ＵＳに含まれる情報（本実施の形態ではレングスフィールド）からアップリンク信号ＵＳの時間長を検知し、検知した時間長の末尾まで復号を継続する。こうして可変長コマンドｖＣＭＤの全体が検出された後、受信部７１は、検出した可変長コマンドｖＣＭＤを制御部９０に供給する。
【００４７】
図５は、本実施の形態による可変長コマンドｖＣＭＤの送受信方法を示す図である。同図には、図３に示したＮが５である場合（すなわち、２ビットのレングスフィールドが「００」である場合に可変長コマンドｖＣＭＤが５バイトとなる場合）を示している。また、同図には、可変長コマンドｖＣＭＤの２ビット目と３ビット目にレングスフィールドが配置される例を示している。
【００４８】
図５に示すように、相関演算器７１ｂによる相関演算の結果は、「０」を示す拡散符号（拡散符号Ｃ１）の全体が受信されたタイミングで正のピーク値を示し、「１」を示す拡散符号（拡散符号Ｃ１ｒ）の全体が受信されたタイミングで負のピーク値を示す。受信部７１は、このピーク値の出現とその正負を確認することにより、「０」又は「１」が受信されたことを検出する。そして、レングスフィールドとして検出されたビット値（図５の例では「００」）を確認することにより可変長コマンドｖＣＭＤのビット長を決定し、決定したビット長分のビット列を可変長コマンドｖＣＭＤとして取得し、制御部９０に供給する。制御部９０は、こうして可変長コマンドｖＣＭＤが供給された場合に、供給された可変長コマンドｖＣＭＤを実行する（すなわち、コマンド実行タイミングがハイになる）よう構成される。
【００４９】
図４に戻る。制御部９０は、マイクロプロセッサ（ＭＣＵ）により構成され、受信部７１においてアップリンク信号ＵＳが検出されたことを契機として起動し、受信部７１から供給された可変長コマンドｖＣＭＤの内容に基づいて、センサコントローラ３１に対してダウンリンク信号ＤＳを送信するための各種の処理（例えば、図１に示した筆圧検出センサ２３から現在の筆圧レベルを取得する処理、図示しない不揮発性メモリに保持されたスタイラスＩＤの読み出し、搬送波周波数の変更等）を行う。
【００５０】
送信部７５は、制御部９０から供給された筆圧レベル等の値により、設定された周波数の搬送波を変調し昇圧することで得られたダウンリンク信号ＤＳを送信する回路である。ダウンリンク信号ＤＳは、切替部ＳＷを経て電極２１から空間に送出される。
【００５１】
以下、本実施の形態によるセンサコントローラ３１及びスタイラス２の動作について、それぞれの動作フローを参照しながら、より詳しく説明する。
【００５２】
図６は、本実施の形態によるセンサコントローラ３１の動作を示すフロー図である。同図に示すように、センサコントローラ３１は、アップリンク信号ＵＳの送信タイミングになると、まずプリアンブルＰｒｅを送信する（ステップＳ１）。上述したように、プリアンブルＰｒｅの値は例えば「００」である。続いてセンサコントローラ３１は、それぞれ可変ビット数のデータを含み得る複数の可変長コマンドｖＣＭＤの中から１つの可変長コマンドｖＣＭＤ（第１の可変長コマンド）を選択し、第１のフレーム内で、その可変長コマンドｖＣＭＤのビット数に応じた時間長のアップリンク信号ＵＳにより送信する（指示ステップ。ステップＳ２）。その後、センサコントローラ３１は、第１のフレームの残りの部分を用いてスタイラス２が送信したダウンリンク信号ＤＳの検出動作（受信）を行い（ステップＳ３）、ステップＳ１に処理を戻す。
【００５３】
図７は、本実施の形態によるスタイラス２の動作を示すフロー図である。同図に示すように、スタイラス２はまず、拡散符号Ｃ１で相関演算器７１ｂを起動する（ステップＳ１０）。こうして起動された相関演算器７１ｂから出力される演算結果は、上述したように、拡散符号Ｃ１が受信された場合には正のピーク値を示し、拡散符号Ｃ１ｒが受信された場合には負のピーク値を示すことになる。
【００５４】
スタイラス２は、プリアンブルＰｒｅが検出されるまで、相関演算器７１ｂに連続的に相関演算を実行させる（ステップＳ１１、ステップＳ１２の否定判定）。なお、ステップＳ１１の処理は、所定のインターバルをおいて間欠的に実行されるとしてもよい。ステップＳ１２の判定結果は、例えばプリアンブルＰｒｅが「００」であるとすると、図５の時刻ｔ２，ｔ３に示すように、正のピーク値が所定の時間間隔で２回続けて検出された場合にのみ肯定判定となる。
【００５５】
プリアンブルＰｒｅを検出したスタイラス２は（ステップＳ１２の肯定判定）、センサコントローラ３１との間でフレーム同期を確立した後（同期ステップ。ステップＳ１３）、図４に示した受信部７１を用いてアップリンク信号ＵＳ及びその時間長を検知し、検知した時間長の末尾まで復号を継続することにより、図７に破線枠で示した可変長コマンドｖＣＭＤの受信処理を実行する（受信ステップ。ステップＳ１４）。ステップＳ１３の処理は、具体的には、プリアンブルＰｒｅの検出によって取得される上述したフレーム基準時刻に基づき、可変長コマンドｖＣＭＤの各ビットを示す個々の拡散符号の受信タイミングをセンサコントローラ３１との間で同期する処理である。この同期処理によりスタイラス２は、相関演算器７１ｂに相関演算を実行させるタイミング（サンプリングタイミング）を取得する。
【００５６】
可変長コマンドｖＣＭＤの受信処理において、スタイラス２は、ステップＳ１３で得たサンプリングタイミングで相関演算器７１ｂに相関演算を実行させる（ステップＳ１５）。例えば図５の例では、時刻ｔ４〜時刻ｔ８の各時刻がサンプリングタイミングに相当する。
【００５７】
スタイラス２は、ステップＳ１５で実行した相関演算の結果として得られたピーク値の極性に基づき、ビット値（「０」又は「１」）を取得する。そして、取得したビット値を、可変長コマンドｖＣＭＤの一部の値としてメモリ（図示せず）に累積する（ステップＳ１６）。この処理により、例えば図５の例では、時刻ｔ４〜時刻ｔ８の各時刻においてビット値「１」「０」「０」「０」「１」がメモリに蓄積されることになる。
【００５８】
次にスタイラス２は、それまでに取得したビット値に基づき、レングスフィールドが新たに検出されたか否かを判定する（ステップＳ１７）。その結果、新たに検出されたと判定した場合には、可変長コマンドｖＣＭＤのビット長を取得し（ステップＳ１８）、処理をステップＳ１５に戻す。一方、新たには検出されていないと判定したスタイラス２は、続いて、可変長コマンドｖＣＭＤの末尾に到達したか否かを判定する（ステップＳ１９）。この判定は、ステップＳ１８で取得した可変長コマンドｖＣＭＤのビット長に基づいて実行される。
【００５９】
ステップＳ１９で末尾に到達していないと判定したスタイラス２は、処理をステップＳ１５に戻す。一方、ステップＳ１９で末尾に到達したと判定したスタイラス２は、その時点までにメモリに累積されたビット列の値を可変長コマンドｖＣＭＤの値として取得し、取得したビット列をコマンドとして実行（解釈）する（ステップＳ２０）。このコマンドを実行するタイミングは、例えば図５の例では、時刻ｔ８となる。
【００６０】
最後にスタイラス２は、図３に示した制御部９０及び送信部７５により、上述した第１のフレームの残りの部分を用いて、可変長コマンドｖＣＭＤに応じたダウンリンク信号ＤＳ、例えば、可変長コマンドｖＣＭＤにより指定された周波数にて、可変長コマンドｖＣＭＤにより指定されたデータ（筆圧レベル等）についての値を含むダウンリンク信号ＤＳを送信する（送信ステップ。ステップＳ２１）。
【００６１】
以上説明したように、本実施の形態によれば、センサコントローラ３１が送信するアップリンク信号ＵＳの時間長が、送信対象の可変長コマンドｖＣＭＤのビット数に応じて調整されることになる。したがって、スタイラス２とセンサコントローラ３１間の信号送受信に利用可能な通信リソースのうち、センサコントローラ３１からスタイラス２へ送信されるアップリンク信号ＵＳの送信によって占有される部分の割合（アップリンク信号占有率）を削減することが可能になる。
【００６２】
図８は、本実施の形態の効果を説明する図である。同図中、右上がりのハッチングを付した部分はセンサコントローラ３１がアップリンク信号ＵＳを送信する期間であり、右下がりのハッチングを付した部分はスタイラス２がアップリンク信号ＵＳを受信する期間である。また、同図に示す例では、時刻ｔ１〜時刻ｔ３が１つ目のフレーム（第１のフレーム）に対応し、時刻ｔ４〜時刻ｔ６が２つ目のフレームに対応する。フレームの間に当たる期間（時刻ｔ３〜時刻ｔ４）は、他の処理（例えば、指タッチ検出、液晶駆動など）に利用される。
【００６３】
図８（ａ）は、比較例として、従前の固定長のアップリンク信号ＵＳを用いた場合における、センサコントローラ３１とスタイラス２の通信の動作を示す図である。
【００６４】
センサコントローラ３１は、各フレーム内の先頭に位置する固定期間（時刻ｔ１〜時刻ｔ２及び時刻ｔ４〜時刻ｔ５）を利用して固定長のアップリンク信号ＵＳを送信し（ＵＳ  Ｔｘ）、各フレームの残りの部分（時刻ｔ２〜時刻ｔ３及び時刻ｔ５〜時刻ｔ６）を利用してダウンリンク信号ＤＳを受信する（ＤＳ  Ｒｘ）。一方、スタイラス２は、各フレーム内の先頭に位置する固定期間（時刻ｔ１〜時刻ｔ２及び時刻ｔ４〜時刻ｔ５）を利用して固定長のアップリンク信号ＵＳを受信し（ＵＳ  Ｒｘ）、各フレームの残りの部分（時刻ｔ２〜時刻ｔ３及び時刻ｔ５〜時刻ｔ６）を利用してダウンリンク信号ＤＳを送信する（ＤＳ  Ｔｘ）。これによれば、アップリンク信号ＵＳの時間長が固定されているので、送信対象のコマンドが短いものである場合、通信リソースが無駄に消費されてしまうことになる。
【００６５】
図８（ｂ）及び図８（ｃ）は、本実施の形態による可変長のアップリンク信号ＵＳを用いた場合における、センサコントローラ３１とスタイラス２の通信の動作を示す図である。図８（ｂ）は送信対象のコマンドが短い場合、図８（ｃ）は送信対象のコマンドが長い場合をそれぞれ示している。
【００６６】
図８（ｂ）に示すように、本実施の形態によれば、送信対象のコマンドが短い場合にはアップリンク信号ＵＳを短くすることができる。したがって、アップリンク信号占有率を削減することが可能になる。また、図８（ａ）と図８（ｂ）とを比較すると理解されるように、必要に応じ、アップリンク信号ＵＳの送信頻度を高めること、及び、ダウンリンク信号ＤＳの送信頻度を高め、位置検出レートを高めることも可能になる。さらに、送信頻度の高いコマンドとして短いビット列を用いることとすれば、スタイラス２及びセンサコントローラ３１のそれぞれがアップリンク信号ＵＳ送受信のために消費するエネルギーを削減することも可能になる。
【００６７】
また、図８（ｃ）に示すように、本実施の形態によれば、送信対象のコマンドが長い場合にはアップリンク信号ＵＳを長くすることができる。したがって、長いコマンドを一度にまとめて送信することが可能となるので、情報送信の速度を向上することが可能になる。なお、長いコマンドの具体的な例としては、スタイラス２のスタイラスＩＤの更新や、スタイラス２のファームウェアのアップデートなど、発生頻度は多くないが多数のビットの情報をスタイラス２に送信することが必要なコマンドが考えられる。
【００６８】
図９は、本実施の形態の第１の変形例による可変長コマンドｖＣＭＤを示す図である。本変形例においては、可変長コマンドｖＣＭＤは、所定バイト長（図９ではＮバイト）の１以上のフィールドによって構成される。そして、各フィールドに、次のフィールドが存在するか否かを示す例えば１ビット長のフラグ（ハッチングを付した部分）が配置される。このフラグは、スタイラス２がアップリンク信号ＵＳの時間長（言い換えれば、可変長コマンドｖＣＭＤの終端）を検知するために利用される。
【００６９】
図９の例では、フラグが１であることが「後続のＮバイトが存在すること（ｎｏｔ  ｅｎｄ）」を示し、０であることが「後続のＮバイトが存在しないこと（ｅｎｄ）」を示している。また、図９（ａ）は、可変長コマンドｖＣＭＤがＮバイトである場合（最初のフラグが「０」である場合）を示し、図９（ｂ）は、可変長コマンドｖＣＭＤがＮ×Ｋバイトである場合（可変長コマンドｖＣＭＤのＫ番目の部分ｖＣＭＤＫが「０」である場合）を示している。
【００７０】
本変形例の可変長コマンドｖＣＭＤによっても、センサコントローラ３１が送信するアップリンク信号ＵＳの時間長が、送信対象の可変長コマンドｖＣＭＤのビット数に応じて調整されることになる。したがって、アップリンク信号占有率を削減することが可能になる。
【００７１】
また、可変長コマンドｖＣＭＤを構成する１以上のフィールドのうち、第１のフィールドの次に送信される第２のフィールドは、第１のフィールドに連続して送信されてもよいし、第１のフィールドの送信完了から所定の時間が経過した後に送信されてもよい。こうすることで、可変長コマンドｖＣＭＤの全体を連続して送信可能な場合はもちろん、例えば液晶駆動の休止期間を時間スロットとして利用することによって可変長コマンドｖＣＭＤを断続的に送信せざるを得ない場合などにも、本変形例を適用することが可能になる。
【００７２】
図１０は、本実施の形態の第２の変形例による可変長コマンドｖＣＭＤを示す図である。本変形例による可変長コマンドｖＣＭＤは、可変長コマンドｖＣＭＤを構成する１以上のフィールドのそれぞれに、該フィールドに含まれるビット列の値から得られたビット列により計算された誤り検出値を含むＣＲＣフィールドを含む点で、第１の変形例と相違する。本変形例による可変長コマンドｖＣＭＤを受信したスタイラス２は、１以上のフィールドのそれぞれに含まれたビット列に基づいて誤り検出値を算出し、対応するＣＲＣフィールドに含まれた値と比較し、この比較の結果が上記１以上のフィールドのすべてについて一致する場合に、ダウンリンク信号ＤＳの送信を実行する。
【００７３】
本変形例によれば、正しくない可変長コマンドｖＣＭＤに応じてダウンリンク信号ＤＳが送信されてしまう可能性を低減できる。また、典型的なデータ通信におけるＣＲＣのように可変長データ末尾にデータ長に合わせた長さのＣＲＣを設けるのに比して、スタイラス２にＣＲＣ検出のロジックを複数設けずとも１つのＣＲＣ検出回路を用いて、各フィールドの誤り検出を行うことが可能になり、スタイラス２の回路規模の更なる削減を実現できる。
【００７４】
図１１は、本実施の形態の第３の変形例による可変長コマンドｖＣＭＤを示す図である。本変形例においては、コマンド終了値ＥｏＣに対応する特別なビットシーケンス（終了フィールド）が用意される。スタイラス２は、この特別なビットシーケンスを検出したことに応じて、アップリンク信号ＵＳの時間長を検知し、可変長コマンドｖＣＭＤの受信動作を終了するよう構成される。図１１（ａ）は、可変長コマンドｖＣＭＤがＮ１バイトである場合、図１１（ｂ）は、可変長コマンドｖＣＭＤがＮ２バイト（Ｎ２＞Ｎ１）である場合をそれぞれ示している。
【００７５】
コマンド終了値ＥｏＣに対応する特別なビットシーケンスの具体的な内容としては種々のものが考えられるが、一例では、１つの拡散符号Ｃ１を送信するために必要となる時間長の間、何も送信しないことが考えられる。以下、そのような場合を例に取って具体的に説明する。
【００７６】
図１２は、本変形例による可変長コマンドｖＣＭＤの送受信方法を示す図である。同図（ａ）と同図（ｂ）とは、可変長コマンドｖＣＭＤのビット長が異なる他は、同一である。
【００７７】
図１２に示すように、本変形例によるセンサコントローラ３１は、まず初めに、プリアンブルＰｒｅとして「０」を２回続けて送信する（時刻ｔ１〜時刻ｔ３）。この間に送信されるアップリンク信号ＵＳの波形は、拡散符号Ｃ１の波形になる。次に、センサコントローラ３１は、可変長コマンドｖＣＭＤの具体的な内容を示すビット列を送信する（図１２（ａ）では時刻ｔ３〜時刻ｔ４、図１２（ｂ）では時刻ｔ３〜時刻ｔｎ）。アップリンク信号ＵＳの波形は、送信ビットが「０」である場合には拡散符号Ｃ１の波形となり、「１」である場合には拡散符号Ｃ１ｒの波形となる。最後にセンサコントローラ３１は、１つの拡散符号Ｃ１を送信するために必要となる時間長にわたり、何も送信せずに待機する（図１２（ａ）では時刻ｔ４〜時刻ｔ５、図１２（ｂ）では時刻ｔｎ〜時刻ｔｎ＋１）。これにより、コマンド終了値ＥｏＣが暗黙的に送信される。
【００７８】
スタイラス２から見ると、プリアンブルＰｒｅを検出した後、周期的に現れていた相関結果のピーク値が、コマンド終了値ＥｏＣの受信時には現れないことになる。したがって、スタイラス２は、相関結果のピーク値が観測されないことによって、コマンド終了値ＥｏＣを検出することができる。
【００７９】
図１３は、本変形例によるセンサコントローラ３１の動作を示すフロー図である。同図に示す動作は、ステップＳ２とステップＳ３の間に待機の時間が設けられている点で、図６に示した動作と相違する。具体的に説明すると、センサコントローラ３１は、可変長コマンドｖＣＭＤの送信がすべて終了した後、少なくとも拡散符号１つ分の時間、拡散符号の送信を行わずに待機することにより、コマンド終了値ＥｏＣを送信する（待機ステップ。ステップＳ３０）。その後、センサコントローラ３１は、スタイラス２が送信したダウンリンク信号ＤＳの検出動作を行い（ステップＳ３）、ステップＳ１に処理を戻す。
【００８０】
図１４は、本変形例によるスタイラス２の動作を示すフロー図である。同図に示す動作は、図７に示したステップＳ１７〜Ｓ１９が設けられない点と、ステップＳ１５とステップＳ１６の間にステップＳ４０の判定処理が追加されている点とで、図７に示した動作と相違する。具体的に説明すると、スタイラス２は、ステップＳ１５で相関演算器７１ｂに相関演算を実行させた後、まず、ピーク値が検出されたか否かを判定する（ステップＳ４０）。そして、検出されたと判定した場合に、そのピーク値の極性に応じてビット値を取得し、取得したビット値を可変長コマンドｖＣＭＤの一部の値としてメモリ（図示せず）に累積する（ステップＳ１６）。この処理により、例えば図１２（ａ）の例では時刻ｔ４においてビット値「１」がメモリに蓄積され、図１２（ｂ）の例では時刻ｔ４〜時刻ｔｎの各時刻においてビット値「１」「１」「０」・・・「１」がメモリに蓄積されることになる。
【００８１】
一方、ステップＳ４０でピーク値が検出されなかったと判定したスタイラス２は、コマンド終了値ＥｏＣを検出したとみなし、可変長コマンドｖＣＭＤの受信動作を終了する（受信終了ステップ）。そして、その時点までにメモリに累積されたビット列の値を可変長コマンドｖＣＭＤの値として取得し、取得したビット列をコマンドとして実行（解釈）する（ステップＳ２０）。このコマンドを実行するタイミングは、例えば図１２（ａ）の例では時刻ｔ５となり、図１２（ｂ）の例では時刻ｔｎ＋１となる。その後の処理は、図７を参照して説明したとおりである。
【００８２】
本変形例の可変長コマンドｖＣＭＤによっても、センサコントローラ３１が送信するアップリンク信号ＵＳの時間長が、送信対象の可変長コマンドｖＣＭＤのビット数に応じて調整されることになる。したがって、アップリンク信号占有率を削減することが可能になる。
【００８３】
次に、本発明の第２の実施の形態について説明する。本実施の形態は、第１の実施の形態の第３の変形例をベースとするものであるが、アップリンク信号ＵＳのうちプリアンブルＰｒｅ（第１の部分信号）の送信時と可変長コマンドｖＣＭＤ（第２の部分信号）の送信時とで異なる拡散符号（具体的には、プリアンブルＰｒｅの送信時に拡散符号Ｃ１、可変長コマンドｖＣＭＤの送信時に拡散符号Ｃ２）が用いられる点で、第１の実施の形態の第３の変形例と相違する。以下では、第１の実施の形態の第３の変形例と同一の構成には同一の符号を付し、第１の実施の形態の第３の変形例との相違点に着目して説明する。
【００８４】
図１５は、本実施の形態による可変長コマンドｖＣＭＤの送受信方法を示す図である。同図に示すように、本実施の形態によるセンサコントローラ３１は、まずプリアンブルＰｒｅに相当する「００」を、図２に示した直接拡散部６３により１６チップの拡散符号Ｃ１を用いて拡散したうえで送信する（時刻ｔ１〜時刻ｔ３）。続いてセンサコントローラ３１は可変長コマンドｖＣＭＤを送信するが、このとき、拡散符号Ｃ１よりもコード長の短い拡散符号Ｃ２を用いて、可変長コマンドｖＣＭＤを示すビット列の拡散を行う（時刻ｔ３〜時刻ｔ５）。具体的には、拡散符号Ｃ２により可変長コマンドｖＣＭＤの「０」を送信し、拡散符号Ｃ２の反転符号により可変長コマンドｖＣＭＤの「１」を送信する。最後にコマンド終了値ＥｏＣを送信するのは、第１の実施の形態の第３の変形例と同様である。ただし、この場合、コマンド終了値ＥｏＣに対応する特別なビットシーケンスの送信期間（すなわち、何も送信しない期間）の時間長は、１つの拡散符号Ｃ２を送信するために必要となる時間長以上であればよい。なお、コマンド終了値ＥｏＣの送信に代え、第１の実施の形態に示したレングスフィールド、又は、第１の実施の形態の第１の変形例に示したフラグを用いることとしても構わない。
【００８５】
スタイラス２は、拡散符号Ｃ１を用いてプリアンブルＰｒｅを検出した後、拡散符号Ｃ１よりコード長の短い拡散符号Ｃ２を用いて可変長コマンドｖＣＭＤの値を取得するよう構成される。図１５に示すように、拡散符号Ｃ１と拡散符号Ｃ２とでは、ピーク値の具体的な値が異なる。したがって、スタイラス２は、プリアンブルＰｒｅと可変長コマンドｖＣＭＤとを異なるピーク値で検出することになる。
【００８６】
図１６は、本実施の形態によるスタイラス２の動作を示すフロー図である。同図に示す処理フローは、ステップＳ１２とステップＳ１３の間に、拡散符号Ｃ２で相関演算器７１ｂを起動する処理（ステップＳ４１）が挿入される点で、図１４に示した処理フローと相違する。このステップＳ４１を行うことにより、スタイラス２は、可変長コマンドｖＣＭＤを構成する各ビット及びコマンド終了値ＥｏＣの検出を、拡散符号Ｃ２に基づいて実行可能となる。
【００８７】
以上説明したように、本実施の形態によれば、フレーム同期後に用いる拡散符号（この場合は拡散符号Ｃ２）のコード長を、同期のために用いる拡散符号（この場合は拡散符号Ｃ１）のそれに比べて短くすることができるので、アップリンク信号占有率をさらに削減することが可能になる。なお、拡散符号が短いと、その分ノイズ耐性が低くなるが、フレーム同期後にはサンプリングタイミングが分かっているので、その点からは、フレーム同期前に比べて高いノイズ耐性を得ることができる。したがって、本実施の形態によれば、フレーム同期後に用いる拡散符号を短くしているけれども、フレーム同期前と同等のノイズ耐性を得ることが可能である。
【００８８】
次に、本発明の第３の実施の形態について説明する。本実施の形態も、第１の実施の形態の第３の変形例をベースとするものであるが、スタイラス２が通信相手となったセンサコントローラ３１の種類に応じて３種類のプロトコルＰ１〜Ｐ３を使い分ける点、及び、プリアンブルＰｒｅの送信に用いる拡散符号が各プロトコルに共通である一方、可変長コマンドｖＣＭＤの送信に用いる拡散符号がプロトコルごとに異なる（具体的には、プロトコルＰ１〜Ｐ３のそれぞれにおいて拡散符号Ｃ１〜Ｃ３が用いられる）点で、第１の実施の形態の第３の変形例と相違する。換言すれば、本実施の形態は、拡散符号Ｃ１〜Ｃ３を使い分けることでアップリンク信号ＵＳをマルチプロトコル対応とするものである。以下では、第１の実施の形態の第３の変形例と同一の構成には同一の符号を付し、第１の実施の形態の第３の変形例との相違点に着目して説明する。
【００８９】
図１７は、本実施の形態によるスタイラス２の機能ブロックを示す略ブロック図である。同図と図４とを比較すると理解されるように、本実施の形態によるスタイラス２は、３つの相関演算器７１ｂを有する点で、第１の実施の形態で説明したスタイラス２と相違する。詳しくは後述するが、３つの相関演算器７１ｂは、スタイラス２が拡散符号Ｃ３を用いて可変長コマンドｖＣＭＤを受信する場合に、それぞれ拡散符号Ｃ３１，Ｃ３２，Ｃ３３（拡散符号Ｃ３を構成する拡散符号のバリエーション）による相関演算を行うために用いられる。スタイラス２が拡散符号Ｃ１又は拡散符号Ｃ２を用いて可変長コマンドｖＣＭＤを受信する場合には、３つの相関演算器７１ｂのうちの１つだけが用いられる。
【００９０】
また、本実施の形態によるスタイラス２は、それぞれプロトコルＰ１〜Ｐ３に対応する３つの動作モードのいずれかにより動作するよう構成される。現在の動作モードは、例えば、スタイラス２のサイドスイッチ（図示せず）をユーザが押下することによって設定される。
【００９１】
図１８は、拡散符号Ｃ３を説明する図である。初めに、図１８（ａ）は、拡散符号Ｃ３を理解するための参考として、プリアンブルＰｒｅの検出時に用いられる拡散符号Ｃ１とその反転符号である拡散符号Ｃ１ｒとを示している。同図に示すように、拡散符号Ｃ１は１６チップのＰＮ符号「０１１１００００１０１００１１０」であり、拡散符号Ｃ１ｒはＰＮ符号「１０００１１１１０１０１１００１」である。
【００９２】
図１８（ｂ）には、拡散符号Ｃ３を構成する拡散符号Ｃ３１，Ｃ３２，Ｃ３３，Ｃ３１ｒ，Ｃ３２ｒ，Ｃ３３ｒを示している。同図に示すように、拡散符号Ｃ３１は拡散符号Ｃ１と同一の拡散符号であり、拡散符号Ｃ３２は拡散符号Ｃ３１を５ビットだけシフトさせてなる拡散符号であり、拡散符号Ｃ３３は拡散符号Ｃ３２を５ビットだけシフトさせてなる拡散符号である。また、拡散符号Ｃ３１ｒは拡散符号Ｃ１ｒと同一のＰＮ符号であり、拡散符号Ｃ３２ｒは拡散符号Ｃ３１ｒを５ビットだけシフトさせてなる拡散符号であり、拡散符号Ｃ３３ｒは拡散符号Ｃ３２ｒを５ビットだけシフトさせてなる拡散符号である。結果的に、拡散符号Ｃ３１ｒは拡散符号Ｃ３１を反転させてなる拡散符号に等しく、拡散符号Ｃ３２ｒは拡散符号Ｃ３２を反転させてなる拡散符号に等しく、拡散符号Ｃ３３ｒは拡散符号Ｃ３３を反転させてなる拡散符号に等しい。このように、拡散符号Ｃ３は、拡散符号Ｃ１を５ビットずつ巡回シフトさせること（Ｃ３１，Ｃ３２，Ｃ３３の３通り）と、拡散符号Ｃ１の極性を反転させること（正負２通り）との組み合わせにより、多値を表現可能に構成されている。具体的には、拡散符号Ｃ３１，Ｃ３２，Ｃ３３，Ｃ３１ｒ，Ｃ３２ｒ，Ｃ３３ｒはそれぞれ、１ビットの「０」、２ビットの「００」、２ビットの「０１」、１ビットの「１」、２ビットの「１０」、２ビットの「１１」に対応付けられる。
【００９３】
図１９及び図２０は、本実施の形態によるスタイラス２の動作を示すフロー図である。これらの図に示す処理フローは、ステップＳ１２でプリアンブルＰｒｅの検出判定がされた場合に、スタイラス２の現在の動作モード（プロトコルＰ１〜Ｐ３のいずれか）が判定される点（ステップＳ４２）、現在の動作モードがプロトコルＰ１に対応していると判定された場合にステップＳ４１が実行されない点、現在の動作モードがプロトコルＰ３に対応していると判定された場合にステップＳ４３が実行され、さらに、ステップＳ１４に代えてステップＳ１４ａが実行される点で、図１６に示した処理フローと相違する。
【００９４】
具体的に説明すると、まずステップＳ４２においてスタイラス２は、現在の動作モードがプロトコルＰ１〜Ｐ３のいずれに対応するものであるかを判定する（ステップＳ４２）。この判定は、例えばユーザによって設定された現在の動作モードを参照することによって行えばよい。
【００９５】
ステップＳ４２でプロトコルＰ１に対応するものであると判定したスタイラス２は、プリアンブルＰｒｅを受信するために用いた拡散符号Ｃ１を、可変長コマンドｖＣＭＤの受信においても使い続ける。この場合のスタイラス２の動作は、図１４を参照して説明したものと同様になる。
【００９６】
一方、ステップＳ４２でプロトコルＰ２に対応するものであると判定したスタイラス２は、拡散符号Ｃ１より短い拡散符号Ｃ２で相関演算器７１ｂを起動する（ステップＳ４１）。この場合のスタイラス２の動作は、図１６を参照して説明したものと同様になる。
【００９７】
また、ステップＳ４２でプロトコルＰ３に対応するものであると判定したスタイラス２は、図２０に示すように、３つの相関演算器７１ｂをそれぞれ拡散符号Ｃ３１，Ｃ３２，Ｃ３３で起動する（ステップＳ４３）。そして、ステップＳ１３でサンプリングタイミングを取得した後、可変長コマンドｖＣＭＤの受信処理を実行する（ステップＳ１４ａ）。
【００９８】
ステップＳ１４ａの処理は、ステップＳ１６，Ｓ４０に代えてそれぞれステップＳ１６ａ，Ｓ４０ａが実行される点で、図１４及び図１６に示した処理と相違する。具体的に説明すると、スタイラス２は、３つの相関演算器７１ｂのそれぞれにサンプリングタイミングで相関演算を実行させた後（ステップＳ１５）、拡散符号Ｃ３１の負ピークが検出されたか否かを判定する（ステップＳ４０ａ）。そして、拡散符号Ｃ３１の負ピークが検出されていないと判定した場合には、拡散符号Ｃ３２，Ｃ３３の正又は負のピーク値が得られるはずであるので、得られたピーク値の種類に応じて２ビットのビット値を取得し、取得したビット値を可変長コマンドｖＣＭＤの一部の値としてメモリ（図示せず）に累積する（ステップＳ１６ａ）。なお、拡散符号Ｃ３１，Ｃ３２，Ｃ３３いずれの正又は負のピーク値も得られなかった場合、スタイラス２は、アップリンク信号ＵＳの受信に失敗したものとみなし、所定のエラー処理を実行することとしてもよい。
【００９９】
一方、ステップＳ４０ａで拡散符号Ｃ３１の負ピークが検出されたと判定したスタイラス２は、その時点までにメモリに累積されたビット列の値を可変長コマンドｖＣＭＤの値として取得し、取得したビット列をコマンドとして実行（解釈）する（ステップＳ２０）。その後、スタイラス２は処理をステップＳ１９（図１９）に戻し、ダウンリンク信号ＤＳの送信を行う。
【０１００】
図２１は、本実施の形態による可変長コマンドｖＣＭＤの送受信方法を示す図である。同図には、センサコントローラ３１が拡散符号Ｃ３を用いて可変長コマンドｖＣＭＤを送信するタイプのものである場合を示している。
【０１０１】
図２１に示すように、センサコントローラ３１は、まずプリアンブルＰｒｅに相当する「００」を、図２に示した直接拡散部６３により１６チップの拡散符号Ｃ１を用いて拡散したうえで送信する（時刻ｔ１〜時刻ｔ３）。続いてセンサコントローラ３１は可変長コマンドｖＣＭＤを送信するが、このとき、拡散符号Ｃ３２，Ｃ３３，Ｃ３２ｒ，Ｃ３３ｒを用いて可変長コマンドｖＣＭＤを示すビット列の拡散を行う（時刻ｔ３〜時刻ｔｎ）。上述したように、拡散符号Ｃ３２，Ｃ３３，Ｃ３２ｒ，Ｃ３３ｒによれば２ビットのデータを表現することができるので、センサコントローラ３１は１度に２ビットずつ可変長コマンドｖＣＭＤを構成するデータを送信することになる。スタイラス２は、こうして送信された拡散符号Ｃ３２，Ｃ３３，Ｃ３２ｒ，Ｃ３３ｒを、３つの相関演算器７１ｂを用いることによって受信する。
【０１０２】
センサコントローラ３１は最後に、「１」を示す拡散符号Ｃ３１ｒを送信する。こうして送信される拡散符号Ｃ３１ｒは、上述したコマンド終了値ＥｏＣに相当する。スタイラス２は、この拡散符号Ｃ３１ｒを検出することによってコマンド終了値ＥｏＣを検出し、それまでに受信したビット列によって構成される可変長コマンドｖＣＭＤを実行する。
【０１０３】
以上説明したように、本実施の形態によれば、スタイラス２を複数のプロトコルに対応させることが可能になる。また、可変長コマンドｖＣＭＤの送受信に拡散符号Ｃ３を用いる場合には、１つの拡散符号Ｃ３で２ビット分のデータを送ることができることから、拡散符号Ｃ１を用いる場合に比べて送信速度を向上することができる。したがって、可変長アップリンク信号ＵＳの時間長を短くすることが可能になる。
【０１０４】
図２２は、本発明の第３の実施の形態の変形例による可変長コマンドｖＣＭＤの送受信方法を示す図である。同図には、図２１と同様、センサコントローラ３１が拡散符号Ｃ３を用いて可変長コマンドｖＣＭＤを送信するタイプのものである場合を示しているが、拡散符号Ｃ１又は拡散符号Ｃ２を用いて可変長コマンドｖＣＭＤを送信するタイプのものである場合においても同様である。本変形例は、拡散符号Ｃ３１ｒの送信によってコマンド終了値ＥｏＣを送信することに代え、プリアンブルＰｒｅに可変長コマンドｖＣＭＤの長さを示す情報を含める点で、第３の実施の形態と相違する。以下、詳しく説明する。
【０１０５】
本変形例では、可変長コマンドｖＣＭＤの長さに応じて、複数のプリアンブルＰｒｅが予め準備される。具体的には、可変長コマンドｖＣＭＤの長さ４ビットに対応付けてプリアンブルＰｒｅの値「００」が準備され（図２２（ａ）を参照）、可変長コマンドｖＣＭＤの長さ２×（ｎ−２）ビット（ｎは、例えば１８）に対応付けて、プリアンブルＰｒｅの値「０１」が準備される（図２２（ｂ）を参照）。センサコントローラ３１は、送信しようとする可変長コマンドｖＣＭＤの長さに応じたプリアンブルＰｒｅの値を選択し、可変長コマンドｖＣＭＤの前段で送信する。このとき、「０」は拡散符号Ｃ１を用いて送信し、「１」は拡散符号Ｃ１ｒを用いて送信すればよい。こうすることで、スタイラス２は、拡散符号Ｃ１との相関演算結果が正負いずれのピーク値を示したかに応じて、複数のプリアンブルＰｒｅを区別して受信可能となる。
【０１０６】
このような構成を採用することで、スタイラス２は、図２１に示した例のようにコマンド終了値ＥｏＣを受信することなく可変長コマンドｖＣＭＤの終了位置を知ることができるので、図２１の例に比して早く可変長コマンドｖＣＭＤを実行することが可能となる可能性がある。
【０１０７】
また、第３の実施の形態においては、プリアンブルＰｒｅに可変長コマンドｖＣＭＤの送信に用いた拡散符号を指定する情報を含めることとしてもよい。そして、スタイラス２は、拡散符号Ｃ１を用いて検出したプリアンブルＰｒｅから上記情報の値を取得し、取得した該値により可変長コマンドｖＣＭＤを検出するために用いる拡散符号を決定し、必要に応じて、相関演算器７１ｂが使用する拡散符号を決定したものに切り替えることとしてもよい。こうすれば、センサコントローラ３１側から、可変長コマンドｖＣＭＤの受信に用いるべき拡散符号を指定することが可能になる。
【０１０８】
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【０１０９】
例えば、上記実施の形態では、所定バイト数のフィールドを用いて可変長コマンドｖＣＭＤを構成する例（図９及び図１０を参照）を説明したが、「所定バイト数」は「所定ビット数」又は「所定ワード数」に置換可能である。また、「フィールド」には、１つの意味を成すデータだけでなく、任意の個数のデータ、ペイロードデータ、検出符号、パディング、あるいはプリアンブルを構成する符号が含まれていてもよいことは勿論である。
【符号の説明】
【０１１０】
１              システム
２              スタイラス
３              電子機器
３ａ            パネル面
２０            芯
２０ａ          先端部
２１            電極
２３            筆圧検出センサ
２４            信号処理部
２５            電源
３０            センサ
３０Ｘ，３０Ｙ  線状電極
３１            センサコントローラ
３２            ホストプロセッサ
４０            選択部
４１ｘ，４１ｙ  導体選択回路
４４ｘ，４４ｙ  スイッチ
５０            受信部
６０            送信部
６３            直接拡散部
６４            拡散符号保持部
６５            送信ガード部
７１            受信部
７１ａ          波形再生部
７１ｂ          相関演算器
７２            拡散符号記憶部
７５            送信部
８０            ＭＣＵ
９０            制御部
Ｃ１，Ｃ１ｒ，Ｃ２，Ｃ３，Ｃ３１，Ｃ３２，Ｃ３３，Ｃ３１ｒ，Ｃ３２ｒ，Ｃ３３ｒ  拡散符号
ＤＳ            ダウンリンク信号
ＥｏＣ          コマンド終了値
Ｐ１〜Ｐ３      プロトコル
Ｐｒｅ          プリアンブル
Ｒｅｓ          データ
ｓｅｌＸ，ｓｅｌＹ，ｓＴＲｘ，ｓＴＲｙ，ＳＷＣ  制御信号
ＳＷ            切替部
ＵＳ            アップリンク信号
ｖＣＭＤ        可変長コマンド
【図１】
0006603435.tif 000002
【図２】
0006603435.tif 000003
【図３】
0006603435.tif 000004
【図４】
0006603435.tif 000005
【図５】
0006603435.tif 000006
【図６】
0006603435.tif 000007
【図７】
0006603435.tif 000008
【図８】
0006603435.tif 000009
【図９】
0006603435.tif 000010
【図１０】
0006603435.tif 000011
【図１１】
0006603435.tif 000012
【図１２】
0006603435.tif 000013
【図１３】
0006603435.tif 000014
【図１４】
0006603435.tif 000015
【図１５】
0006603435.tif 000016
【図１６】
0006603435.tif 000017
【図１７】
0006603435.tif 000018
【図１８】
0006603435.tif 000019
【図１９】
0006603435.tif 000020
【図２０】
0006603435.tif 000021
【図２１】
0006603435.tif 000022
【図２２】
0006603435.tif 000023