【解決手段】アクティブスタイラス100の通信制御部120は、アップリンク信号USからセンサコントローラ200とともに利用されるアクティブスタイラス100と他のアクティブスタイラス100とを識別するローカル識別子の値を抽出して通信設定テーブルに設定する。通信制御部120は、上記アップリンク信号USの後に送信された他のアップリンク信号USに含まれたローカル識別子の値を抽出し、他のアップリンク信号USに含まれたローカル識別子の値が通信設定テーブルに記憶されたローカル識別子の値と同じ場合に、センサコントローラ200に対して所定の信号を返信し、通信設定テーブルに記憶されたローカル識別子の値と異なる場合には所定の信号を返信しない。
【発明を実施するための形態】
【0017】
以下、添付図面を参照しながら、本発明の好ましい実施の形態について詳細に説明する。
【0018】
図1は、本実施の形態による位置入力システム1の概要図である。同図に示すように、位置入力システム1は、位置を指示するためのスタイラス100と、センサ電極201を用いてスタイラス100の指示位置を導出するセンサコントローラ200とを含み構成される。スタイラス100には、共にアクティブ静電スタイラスである、第1スタイラス101及び第2スタイラス102が含まれる。
【0019】
(1)ユーザは、第1スタイラス101をダウンさせ図中軌跡st1を描くように所定期間移動させ第1スタイラス101をアップさせて第1スタイラス101を利用する。その後ユーザは、再び第1スタイラス101をダウンさせ別の軌跡st2に沿って第1スタイラス101を所定期間移動させその後第1スタイラス101をアップさせる。ユーザがスタイラスダウンからアップまでのサイクルを繰り返すことにより、1つのセンサコントローラ200の検出範囲に対し第1スタイラス101が出入りを繰り返す状況が発生する。
【0020】
(2)また、ユーザが、一旦第1スタイラス101を置き、第1スタイラス101と異なる設定(ブラシのタイプなど)がされた第2スタイラス102に持ち替える場合がある。このような場合に、1つのセンサコントローラ200の検出範囲に対し、第1スタイラス101と第2スタイラス102とがを交互に出入りを繰り返す状況が発生する。図中軌跡st3は第1スタイラス101と異なる設定がされた第2スタイラス102により入力された軌跡を示している。
【0021】
図中の破線円P1及びP2は、それぞれ第1スタイラス101及び第2スタイラス102の指示位置を示している。破線円P1付近の矢印DSは、第1スタイラス101からセンサコントローラ200への方向の信号であるダウンリンク信号DSを示している。破線円P2付近の矢印USは、センサコントローラ200からスタイラス100への方向の信号であるアップリンク信号USを示している。
【0022】
センサコントローラ200は、ダウンリンク信号DSとアップリンク信号USを用いて1以上のスタイラス100との間でセンサコントローラ200を中心とした双方向通信を行う。また、センサコントローラ200は、第1スタイラス101及び第2スタイラス102の指示位置を、スタイラスを区別しつつ電子機器301全体を制御する電子機器制御部300(ホストコントローラ)に供給する処理も行う。
【0023】
図2は、スタイラス100の機能ブロック図である。同図に示すように、スタイラス100は、電極103、送受信切替部104、発振部111、送信部112、受信部113、操作情報検出部117、操作入力部118、構成情報保持部119、及び、通信制御部120を含み構成される。
【0024】
電極103は、送受信切替部104から供給されるダウンリンク信号DSに一致した交番電界を発生させる役割とともに、アップリンク信号USに応じた電荷を発生させて送受信切替部104に供給する役割を担う導体である。これら2つの役割は、交互に実行される。
【0025】
送受信切替部104は、切替信号S_Selに基づいて、電極103と送信部112又は受信部113との接続状態を切り替えるスイッチである。1つの時間スロットs内であるいは時間スロットs単位で送信と受信とを時分割で切り替えるために用いられる。
【0026】
発振部111は、周波数設定信号F_Selに基づいて周波数f0、f1、f2、・・・(
図7参照)のいずれかの周波数の正弦波あるいは対応した矩形波の信号を生成する発振回路である。
【0027】
送信部112は、通信制御部120から供給された送信用のパケット(探索応答パケットD_DP、操作状態送信パケットOD_DP、構成情報送信パケットCD_DP)に対応したダウンリンク信号DSを生成する。例えば、パケットを構成するビット列に誤り訂正符号等を付し送信デジタル信号を生成し、送信デジタル信号をDA変換して得られたベースバンド信号により、発振部111から与えられる周波数f(f0、f1、f2、・・・)の信号を変調することで、各種パケットに対応したダウンリンク信号DSを生成する。
【0028】
受信部113は、アップリンク信号USからパケットを抽出し通信制御部120に供給する。例えば、電極103に誘導された電荷量の変化によりアップリンク信号USを受信し、発振部111から与えられる周波数fの信号を用いてベースバンド信号を復調し、ベースバンド信号をAD変換して受信デジタル信号を取得し、後述するローカル識別子LIDの値に基づいて自己(第1スタイラス101等)を宛先に含む各種パケット(探索報知パケットD_UP、構成情報要求パケットCD_UP、チャネル変更要求パケットCC_UP、操作状態要求パケットOD_UP)を抽出する。また、所定の期間T(
図7参照)の先頭で送信される探索報知パケットD_UPに含まれた同期コード(
図6(a)参照)を用いて、所定の期間Tに相当するフレームの開始時刻を検出する。
【0029】
操作情報検出部117は、スタイラス100に設けられたボタンなどの操作入力部118のオンオフなどの操作状態、図示しない筆圧検出部により検出された筆圧Fの値、又は、バッテリの残量データなど、スタイラス100の操作状態によって変化する情報である操作状態データODを取得し出力する。
【0030】
構成情報保持部119は、スタイラス100ごとに異なるスタイラス識別子SID、スタイラス100の製造元を示すベンダID、スタイラス100が有している機能(ペン先のタイプ、ブラシタイプやボタン数など)を示す機能情報など、スタイラス100の操作状態(スタイラスの位置、スタイラス先端にかかる筆圧、ボタンの押下の有無)によって変化しない静的なデータである構成データCDを保持する。
【0031】
通信制御部120は、上述した各機能部を利用し、通信設定テーブルに設定されている通信チャネルを用いて、センサコントローラ200のとの間で
図6に示す各種パケットを送受信し、
図10のフロー図に示す位置入力方法を実行する。
【0032】
図3は、センサ電極201とともに用いられるセンサコントローラ200の機能ブロック図である。
【0033】
センサ電極201は、電子機器301のパネルに平行な面を形成するように2次元に配設される、行電極群202(202a、202b、202c)及び列電極群203(203a、203b、203c、203d)を含み構成される。
【0034】
送受信切替部204は、行電極群202を送信電極として用いる送信時間と受信電極として用いる受信時間とを時分割で切り替えるスイッチである。スタイラス100からの信号を受信する時間には、行電極群202と列電極群203の両方が受信電極として用いられる。スタイラス100に対して信号を送信する時間には、行電極群202が送信電極として用いられる。
【0035】
センサコントローラ200は、送信部211、発振部212、受信部213、及びスタイラス検出部215を含み構成され、送受信切替部204を介して行電極群202に接続される一方、列電極群203には直接接続される。
【0036】
発振部212は、周波数設定信号F_Selに基づいて周波数f0、f1、f2、・・・(
図7参照)のいずれかの周波数fの正弦波あるいは矩形波である信号を生成する。
【0037】
送信部211は、スタイラス検出部215から供給される各種パケット(探索報知パケットD_UP、構成情報要求パケットCD_UP、チャネル変更要求パケットCC_UP、操作状態要求パケットOD_UP)に対応したアップリンク信号USを生成する。例えば、パケットを構成するビット列に対し繰り返し符号を付加するなどの誤り訂正処理を含む符号化処理を行うことによって送信デジタル信号を生成し、送信デジタル信号をDA変換して得られたベースバンド信号により発振部212から供給される周波数f(f0、f1、f2、・・・)の信号を変調してアップリンク信号USを生成する。アップリンク信号USは、既に位置を特定しているスタイラス100のみならず位置を特定していない新たなスタイラス100においても検出できるように、P1およびP2付近を含むパネル全面に形成される。
【0038】
受信部213は、ダウンリンク信号DSを入力しダウンリンク信号DSから抽出したパケットを出力する。例えば、変調信号であるダウンリンク信号DSに発振部212から供給されるキャリア信号を乗算することでベースバンド信号を復調する。更に、ベースバンド信号をAD変換し得られた受信デジタル信号を取得し、誤り訂正等を行いパケットを抽出する。受信部213はパケットを抽出すると同時に、当該パケットに対応したダウンリンク信号DSを受信した電極を示す位置情報Posをスタイラス検出部215に供給する。
【0039】
スタイラス検出部215は、上述した各機能部を用い
図9のフロー図に示す位置入力方法を実行する。例えば、通信リソーステーブルCRTblの各エントリに、通信チャネルの割り当てと、割り当てた通信チャネルを利用するスタイラス100の構成データCDとの対応を保持し、割り当てられた通信チャネルにより
図4に示す各種パケットの送受信を行いつつ、スタイラス100のスタイラス識別子SIDなどの構成データCDを対応付けて、これらを電子機器制御部300に対して供給することを可能にする。
【0040】
図4は、本発明の位置入力方法におけるセンサコントローラ200とスタイラス100の4つの動作モードM1〜M4を説明する図である。
【0041】
図4(a)は、探索モードM1を説明する図である。探索モードM1は、センサコントローラ200とスタイラス100とが互いに通信相手を探索するモードである。センサコントローラ200は、自己の存在とフレーム期間の開始タイミングとをスタイラス100に対して報知するために、センサコントローラ200の識別情報を含む探索報知パケットD_UPを所定時間スロット毎(例えば、8時間スロット毎)に送信する。スタイラス100は探索報知パケットD_UPを検出した場合に、探索応答パケットD_DPを返信する。
【0042】
図4(b)は、設定モードM2を説明する図である。設定モードM2は、デフォルトの通信チャネル(第1通信チャネル)を用いて、センサコントローラ200とスタイラス100との通信に用いる通信チャネル(第2通信チャネル)を決定するモードである。
【0043】
センサコントローラ200は、検出された第1スタイラス101を一時的に識別するローカル識別子LIDと、第1スタイラス101との通信に用いる通信チャネルを決定し、それぞれ構成情報要求パケットCD_UP及びチャネル変更要求パケットCC_UPを用いてスタイラス100に送信する。
【0044】
第1スタイラス101は、デフォルトの通信チャネル(第1通信チャネル)を用いてこの設定モードM2(探索モードM1の後であってストロークモードM3の前)で、スタイラス識別子SIDを含む構成データCDを送信する。
【0045】
ここで、センサコントローラ200とスタイラス100の間の通信は、例えば周波数時分割多重アクセスによって実施される。周波数時分割多重アクセスを用いる場合の通信チャネルは、周波数f及び時間スロットsによって特定される。したがって、チャネル変更要求パケットCC_UPには、周波数fを指定する周波数指定情報と、時間スロットsを指定する時間スロット指定情報とが含まれる(
図6(b)参照)。なお、このうち周波数指定情報については、チャネル変更要求パケットCC_UPではなく探索報知パケットD_UPに含めて予めスタイラス100に通知しておくこととしてもよい。また、ローカル識別子LIDについても同様に、構成情報要求パケットCD_UPではなく探索報知パケットD_UPに含めてスタイラス100に通知することとしてもよい。
【0046】
図4(c)は、ストロークモードM3を説明する図である。ストロークモードM3では、スタイラス100とセンサコントローラ200は、設定モードM2で決定した通信チャネル(第2通信チャネル)を用いて筆圧F等の操作状態データODの送受信を行う。ストロークモードM3では、スタイラス識別子SIDなどスタイラスの操作状態によって変化しないデータである構成データCDの送信は省略される。
【0047】
図4(d)は、ホールドモードM4を説明する図である。ホールドモードM4は、ユーザがスタイラス100を持ち上げた後に、次のペンダウンまでの間、ペンを空中に保持しているような状況において、設定モードM2で設定した通信チャネル(第2通信チャネル)とスタイラス100に割り当てられたローカル識別子LIDとをしばらく維持するための状態である。センサコントローラ200及びスタイラス100は、設定モードM2で確保されたローカル識別子LIDと通信リソースを利用した通信パケットの送出がなされているかを検出することで、ローカル識別子LIDと通信リソースとを維持してストロークモードM3に復帰するか、開放して探索モードM1に戻るかを判定する。
【0048】
図5は、各種パケットの共通フォーマットを示す図である。パケットは同期コードPsyncを先頭にヘッダHDRとペイロードPLとを含み構成される(
図5(a))。
【0049】
同期コードPsyncは、スタイラス100がセンサコントローラ200のクロックと同期をとるためのコードである。同期コードPsyncは、センサコントローラ200が選択したPN符号やバーカー符号などのコードである。スタイラス100の受信部113は、受信デジタル信号と同期コードPsyncとの相関値のピークタイミングを検出し、センサコントローラ200のクロックと同期を取る(
図5(b))。
【0050】
なお、上記説明で同期コードPsyncをセンサコントローラ200が選択したコードとしているのは、同期コードPsyncによってスタイラス100がセンサコントローラ200を識別できるようにするためであり、センサコントローラ200が選択したコードは、後述する探索報知パケットD_UP(
図6(a)参照)によってセンサコントローラ200からスタイラス100に通知される。探索報知パケットD_UPの同期コードとしては、同期コードPsyncではなく、各スタイラス100とセンサコントローラ200とのそれぞれが予め記憶しているコード(
図6(a)に示す同期コードbroadcast)が含まれる。しかしながら、このような識別機能は必ずしも必要ではなく、識別機能を設けない場合には、探索報知パケットD_UP以外の各パケットについても、同期コードとして同期コードbroadcastを用いることとしてもよい。同期コードbroadcastも、同期コードPsyncと同様、PN符号やバーカー符号によって構成される。
【0051】
ヘッダHDRには、ローカル識別子LID及びパケットのタイプ情報TYPEが含まれる。
【0052】
ローカル識別子LIDは、センサコントローラ200上で利用されるスタイラス100のうち、このパケットを受信すべきスタイラス100又はこのパケットを送信したスタイラス100を一意に識別するための識別子である。
【0053】
ローカル識別子LIDは、複数のアドレスの中から選択されるひとつを表現可能に構成された情報である。例えば3ビットの情報によりローカル識別子LIDを構成するのであれば、ローカル識別子LIDは、2
3=8個のアドレスの中から選択されるひとつを表現できる。ローカル識別子LIDのビット数は、スタイラス識別子SIDのビット数より少なくすることが好適である。一例では、スタイラス識別子SIDを5ビット以上の情報とし、ローカル識別子LIDを4ビット以下の情報とすることが好ましい。ローカル識別子LIDのビット数を具体的に選択する際には、1つのセンサコントローラ200上で交互にあるいは略同時に利用されるスタイラス100を識別するのに十分な数とすればよい。例えば、3ビットあれば、7個のスタイラス100を識別し1個のアドレスをブロードキャストIDとして利用することができる。
【0054】
第1スタイラス101は、受信デジタル信号に含まれたローカル識別子LIDと、自己の通信設定テーブル(
図2参照)に記録されたローカル識別子LIDとの合致を判定することで、パケットが自己(第1スタイラス101)に向けたパケットであるか、他のスタイラス(第2スタイラス102)に向けたパケットであるかを識別する。第2スタイラス102についても、第1スタイラス101と同様の処理を行う。
【0055】
タイプ情報TYPEは、パケットの種類(
図6参照)を区別するフィールドである。ペイロードPLには、パケットの種類に応じたペイロードデータが含まれる。
【0056】
ここで、スタイラス100及びセンサコントローラ200のそれぞれが送信するパケットは、例えば直接スペクトラム拡散(DSSS)方式などのスペクトラム拡散方式により拡散された状態で送信されることが好ましい。この場合に必要となる拡散符号は、スタイラス100とセンサコントローラ200の双方に予め記憶されるものとすればよい。こうしてスペクトラム拡散方式を用いることにより、ノイズに強い通信を実現することができる。
【0057】
図6は、位置入力システム1の4つの動作モードM1〜M4の各々で通信されるパケットを説明する図である。
【0058】
(a)探索モードM1で利用されるパケット
探索報知パケットD_UPは、センサコントローラ200が、未検出のスタイラス100を新たに検出するため、あるいは自己の存在を未検出のスタイラス100に対して報知しつつ、既に検出された第1スタイラス101や第2スタイラス102に対して所定の期間Tのタイミングを供給するために、不特定のスタイラス100に対して送出するパケット(探索パケット)である。探索報知パケットD_UPの同期コードの部分には、同期コードPsyncではなく不特定のスタイラス100が受信可能な同期コードbroadcastが含まれる。探索報知パケットD_UPのペイロードには、当該探索報知パケットD_UPを送信したセンサコントローラ200を識別するための、同期コードPsyncを識別する情報が含まれている。なお、上述したように、探索報知パケットD_UP以外の各パケットについても同期コードとして同期コードbroadcastを用いることとしてもよく、この場合には、探索報知パケットD_UPのペイロードに同期コードPsyncを識別する情報を含める必要はない。
【0059】
探索応答パケットD_DPは、探索報知パケットD_UPを受信したスタイラス100(第1のアクティブ静電スタイラス)が、応答としてセンサコントローラ200に対して送信するパケット(応答パケット)である。探索報知パケットD_UPのペイロードに同期コードPsyncを識別する情報が含まれていた場合、探索応答パケットD_DPの同期コードとしては、センサコントローラ200が選択した同期コードPsyncが用いられる。
【0060】
(b)設定モードM2で利用されるパケット
構成情報要求パケットCD_UPは、センサコントローラ200が、探索応答パケットD_DPを送信したスタイラス100に対し、スタイラス識別子SIDを含む構成データCDの送信を要求するパケットである。センサコントローラ200は、この構成情報要求パケットCD_UPを送信する前に、探索応答パケットD_DPを送信したスタイラス100に対して付与するローカル識別子LIDを決定する処理を行い、決定したローカル識別子LIDの情報を構成情報要求パケットCD_UPのペイロードPLに設定する。ローカル識別子LIDの決定にあたっては、センサコントローラ200は、検出中の1以上のスタイラス100(センサコントローラ200上に存在する1以上のスタイラス100)のそれぞれに対し、互いに異なるローカル識別子LIDが付与されるように決定する。これにより、ローカル識別子LIDは、センサコントローラ200上に存在する1以上のスタイラス100を識別する情報となる。
【0061】
構成情報送信パケットCD_DPは、スタイラス100から送信されるパケットであり、スタイラス識別子SIDなどスタイラス100の操作状態によっては変化しない静的な構成データCDを含む。
【0062】
チャネル変更要求パケットCC_UPは、センサコントローラ200がローカル識別子LIDで指定したスタイラス100に対して操作状態データODを送信する通信チャネル(第2通信チャネル)を通知するためのパケット(設定パケット)であり、通知する通信チャネルを示すチャネルデータCHDを含む。通信チャネルは、時間スロットs及び/又は周波数fにより指定される。
【0063】
チャネルデータCHD内に記述される具体的な情報としては、まず時間スロットsに関しては、フレームの開始時点を示す基準タイミングからのオフセット時間により表現される時間スロット指定情報が記述される。例えば、後述する
図7(a)に示す例では、基準タイミングは通信チャネル700の送信タイミングであり、通信チャネル701を指定する場合には時間スロット指定情報としてオフセット時間+1が記述され、通信チャネル702を指定する場合には時間スロット指定情報としてオフセット時間+2が記述されることとなる。一方、周波数fに関しては、予め定められた複数の周波数のいずれかを指定する周波数指定情報がチャネルデータCHD内に記述される。なお、ここでは設定モードM2でチャネルデータCHDを送信することとしているが、上でも触れたように、探索報知パケットD_UPにチャネルデータCHDの全部又は一部(例えば周波数指定情報のみ)を含めることとしてもよい。尚、時間スロット指定情報として、オフセット時間に加えてオフセット時間の後に繰り返し送信する送信する際のインターバル時間あるいは時間スロットを示すとしてもよい。例えば、オフセットを+1とし、インターバルを2時間スロットと指定することで、時間スロットs8n+1、s8n+3、s8n+5、s8n+7を指定するとしても良い。
【0064】
(c)ストロークモードM3、(d)ホールドモードM4で通信されるパケット
操作状態要求パケットOD_UPは、ローカル識別子LIDで指定されたスタイラス100に対し操作状態データODの送信を要求するパケットである。ペイロード部には何もデータを有さない。
【0065】
操作状態送信パケットOD_DPは、スタイラス100から送信され、筆圧Fやボタン操作状態などスタイラス100の操作状態によって変化する操作状態データODを含むパケットである。操作状態送信パケットOD_DPは、スタイラス識別子SID等の構成データCDを含まないが、図示するように、ローカル識別子LIDは含んでもよい。ただし、センサコントローラ200は、操作状態送信パケットOD_DPを受信した通信チャネルの情報から送信元であるスタイラス100を識別することができるので、ローカル識別子LIDについても、操作状態送信パケットOD_DPに含めないこととしてもよい。また、スタイラス100からの操作状態送信パケットOD_DPの送出について、センサコントローラ200から操作状態要求パケットOD_UPでの要求はなくともよい。
【0066】
図7は、センサコントローラ200により割り当てられる通信チャネルを説明する図である。
図7の横軸は、期間Tにより規定される時間スロットs0、s1、s2、・・・を示している。期間Tは、センサコントローラ200のクロックを基準として当該センサコントローラ200と通信を行うスタイラス100の間で1つ規定される。1つの時間スロットsについて1つの時間スロットsを送信時間又は受信時間で占有するとしても良いし、送信時間と受信時間とを設けるとしても良い。
図7の縦軸は周波数fであり、通信に用いられる周波数f0、f1、f2、・・・の周波数が示されている。
【0067】
通信チャネルは、上述したように、時間領域(時間スロットs)及び/又は周波数領域(周波数f)により定められ、センサコントローラ200により割り振られる。
【0068】
図中、ハッチング枠で示す通信チャネル700は、探索モードM1においてセンサコントローラ200が新たなスタイラス100を探索するため、又は、探索モードM1にて検出された第1スタイラス101と通信を行うために与えられているデフォルトの通信チャネル(第1通信チャネル)である。
【0069】
図中、白塗で示す通信チャネル701は、ストロークモードM3やホールドモードM4にて、センサコントローラ200と第1スタイラス101とが通信するために割り振られた通信チャネル(第2通信チャネル)を示す。
【0070】
図中、黒塗で示す通信チャネル702は、ストロークモードM3やホールドモードM4にて、センサコントローラ200と第2スタイラス102とが通信するために割り振られた通信チャネル(第2通信チャネル)を示す。
【0071】
図7(a)は、通信チャネルが時間スロットsにより規定される例である。この例では、s8n(nは0以上の整数)で示す周期(フレーム周期)である8時間スロットs毎に、センサコントローラ200が探索モードM1等のために使用するデフォルトの通信チャネル700(第1通信チャネル)として、時間スロットs8nで表わされる通信リソースが確保されている。この通信チャネル700は、センサコントローラ200が時間スロットs0〜s7の8時間スロットで1つの周期とする期間T(フレーム期間)の開始時刻を、第1スタイラス101や第2スタイラス102と共有するために用いられる。センサコントローラ200が利用する時間スロットs8nに続く時間スロットs8n+1は、第1スタイラス101に付与された時間スロットであり、通信チャネル701(第2通信チャネル)となる。時間スロットs8n+2は、第2スタイラス102に付与された時間スロットであり、通信チャネル702(第2通信チャネル)となる。
【0072】
図7(b)は、通信チャネルが周波数fにより規定される例である。この例では、周波数f0の通信チャネルが、センサコントローラ200が探索モードM1や設定モードM2のために使用するデフォルトの通信チャネル700(第1通信チャネル)として利用される。周波数f1のチャネルは、センサコントローラ200が、ストロークモードM3又はホールドモードM4にある第1スタイラス101と通信するために確保された通信チャネル701(第2通信チャネル)となる。周波数f2のチャネルは、センサコントローラ200が、ストロークモードM3又はホールドモードM4にある第2スタイラス102と通信するために確保された通信チャネル702(第2通信チャネル)となる。
【0073】
図7(c)は、時間スロットs及び周波数fの組で通信チャネルが規定される例である。この例では、時間スロットs8nで規定される通信チャネルが、センサコントローラ200が探索モードM1や設定モードM2のために使用するデフォルトの通信チャネル700(第1通信チャネル)として利用される。通信チャネル700は、センサコントローラ200が、期間Tの開始時刻を第1スタイラス101や第2スタイラス102に示すために探索報知パケットD_UPを送信する時間として、全ての周波数fに跨って確保されている。センサコントローラ200がストロークモードM3又はホールドモードM4にある第1スタイラス101と通信するために確保される通信チャネル701(第2通信チャネル)としては、周波数f1及び時間スロットs8n+1で規定される通信チャネルが利用される。センサコントローラ200がストロークモードM3又はホールドモードM4にある第2スタイラス102と通信するために確保される通信チャネル702(第2通信チャネル)としては、周波数f2及び時間スロットs8n+2で規定される通信チャネルが利用される。
【0074】
図7(d)は、時間スロットs及び周波数fの組で通信チャネルが規定される他の例である。ハッチングが付された時間スロットs8n(nは0以上の整数)で示される通信チャネル700は、
図7(a)と同様である。センサコントローラ200がストロークモードM3又はホールドモードM4にある第1スタイラス101と通信するために確保される通信チャネル701(第2通信チャネル)としては、周波数f1及び時間スロットs8n+2で規定される通信チャネルが利用される。センサコントローラ200がストロークモードM3又はホールドモードM4にある第2スタイラス102と通信するために確保される通信チャネル702(第2通信チャネル)としては、周波数f2及び時間スロットs8n+2で規定される通信チャネルが利用される。
【0075】
図8は、スタイラス検出部215の通信リソーステーブルCRTblを示す図である。テーブルの行で示すエントリには、スタイラス100に付与されたローカル識別子LID及び通信チャネル(時間スロットs及び/又は周波数f)、並びに設定モードM2で取得したスタイラス識別子SID等の構成データCDが保持される。
【0076】
各エントリには、センサコントローラ200と各エントリが管理対象とするスタイラス100との間で設定モードM2までの処理が完了した時点で、全ての情報が設定される。
【0077】
エントリ801は、第1スタイラス101についての情報を含むエントリである。スタイラス検出部215は、第1スタイラス101から操作状態送信パケットOD_DPを受信すると、当該操作状態送信パケットOD_DPに含まれたローカル識別子LIDの値、又は、当該操作状態送信パケットOD_DPを受信した通信チャネル701、のいずれかの情報を基に、その操作状態送信パケットOD_DPの送信により指示された位置が第1スタイラス101によるものであることを判別する。
【0078】
エントリ802は、第2スタイラス102についての情報を含むエントリである。スタイラス検出部215は、第2スタイラス102から操作状態送信パケットOD_DPを受信すると、当該操作状態送信パケットOD_DPに含まれたローカル識別子LIDの値、又は、当該操作状態送信パケットOD_DPを受信した通信チャネル702、のいずれかの情報を基に、その操作状態送信パケットOD_DPの送信により指示された位置が第2スタイラス102によるものであることを判別する。
【0079】
通信リソーステーブルCRTblの各エントリは、センサコントローラ200及びスタイラス100の動作モードがホールドモードM4から探索モードM1に戻るときに、削除される。
【0080】
図9は、センサコントローラ200(スタイラス検出部215)の動作フロー図である。
【0081】
<M1探索モード:センサコントローラ200>
センサコントローラ200は、探索モードM1で動作を開始する。ステップS911にて、センサコントローラ200は、例えば、
図7(a)あるいは
図7(d)に示した時間スロットs8n(nは0以上の整数)の通信チャネル700(第1通信チャネル)を用いて、探索報知パケットD_UPを送信する。ステップS913にて、探索応答パケットD_DPを受信するまで探索報知パケットD_UPの送信を所定の期間T(例えば、8時間スロット毎)で繰り返す。
【0082】
<M2設定モード:センサコントローラ200>
ステップS913にて、センサコントローラ200がスタイラス100から探索応答パケットD_DPを受信すると、センサコントローラ200の動作モードは設定モードM2に遷移する。尚、設定モードM2以降のモードになっても、他の新たなスタイラス100を検出するために、探索報知パケットD_UPの送信は繰り返される。
【0083】
ステップS921にて、センサコントローラ200は、検出したスタイラス100をセンサコントローラ200上で識別するためのローカル識別子LIDを決定する。そして、決定したローカル識別子LIDを含む構成情報要求パケットCD_UPを、スタイラス100に通知する。
【0084】
ステップS923にて、センサコントローラ200は、スタイラス100から構成情報送信パケットCD_DPを受信し(S923YES)、構成情報送信パケットCD_DPに含まれたスタイラス識別子SIDなどの構成データCDを抽出する。
【0085】
次に、ステップS925にて、センサコントローラ200は、スタイラス100との通信に用いる通信チャネル(第2通信チャネル)を決定する。例えば
図7(d)の例によれば、第1スタイラス101に対して、時間スロットs8n+1(nは0以上の整数)及び周波数f1の組からなる通信チャネル701を付与する。センサコントローラ200は、割り当てた通信チャネル701と構成データCDとの対応関係を
図8の通信リソーステーブルCRTblに登録する。
【0086】
次に、ステップS927にて、センサコントローラ200は、スタイラス100に対してチャネル変更要求パケットCC_UPを送信することにより、検出されたスタイラス100とのストロークモードM3での通信に使用する通信チャネル701(第2通信チャネル)の値として、先に決定した時間スロットs8n+1(nは0以上の整数)及び周波数f1の組を通知する。
【0087】
なお、センサコントローラ200は、探索報知パケットD_UPの送信前の段階で通信チャネルの一部(周波数)と、ローカル識別子LIDとを決定しておき、決定したこれらの情報を探索報知パケットD_UPに含めて送信することとしてもよい。こうすれば、探索報知パケットD_UPを受信したスタイラス100は、構成情報要求パケットCD_UP及びチャネル変更要求パケットCC_UPの受信を待たずに、自身に割り当てられるローカル識別子LID及び通信チャネルの一部(周波数)を知ることができる。
【0088】
<M3ストロークモード:センサコントローラ200>
ステップS931からは、連続して操作状態送信パケットOD_DPの受信を行うための処理を行う。
【0089】
まず、ステップS931にて、センサコントローラ200は、通信リソーステーブルCRTblに登録された既に接続あるいは検出済のスタイラスに対し、操作状態送信パケットOD_DPの送信を要求する。この要求は、センサコントローラ200が明示的に操作状態要求パケットOD_UPを送信することによって行っても良いし、単に、特定の時間スロットs(例えばs8n(nは0以上の整数))で探索報知パケットD_UPを送信することにより、暗示的にスタイラス100に対して第2通信チャネル(例えば、時間スロットs8nに続く時間スロットs8n+1、周波数f1)での送信を期待するものであっても良い。
【0090】
第2通信チャネルにて操作状態送信パケットOD_DPを受信したセンサコントローラ200のスタイラス検出部215(
図3参照)は、受信部213から供給される位置情報Posに基づいてスタイラス100の座標位置を導出するとともに、操作状態送信パケットOD_DPを受信した通信チャネルに対応する構成データCDを通信リソーステーブルCRTblから読み出す(ステップS934)。そして、導出した座標位置と、通信リソーステーブルCRTblから読み出した構成データCDに含まれていたスタイラス識別子SIDとを関連付けて、電子機器制御部300に供給する。なお、このとき、操作状態送信パケットOD_DPから操作状態データODを抽出し、座標位置とともに電子機器制御部300に供給してもよいのは勿論である。
【0091】
ステップS939においてセンサコントローラ200は、連続不受信カウンタの値を初期化し、ステップS931の処理を繰り返しストロークモードM3の動作を継続する。
【0092】
ストロークモードM3の処理により、ユーザがスタイラス100をダウンさせてパネル上で移動させ、スタイラス100を持ち上げるまでの間は、通信チャネルあるいは通信チャネルに付与されたローカル識別子LIDによりスタイラス100を識別することができるため、スタイラス100は、48ビット又は64ビット等の完全な長さのスタイラス識別子SIDの送信を省略することができる。
【0093】
<M4ホールドモード:センサコントローラ200>
他方、ステップS933にて操作状態送信パケットOD_DPを受信しない場合、センサコントローラ200はステップS945にて、操作状態送信パケットOD_DPを何回連続で受信していないかを検出する。一度ストロークモードM3で動作したスタイラス100からパケットを連続で受信しない場合は、ユーザがスタイラス100を一度アップさせ、空中で次のペンダウンまでの間保持している可能性がある。このようなユーザのスタイラスの利用形態に合わせ、操作状態送信パケットOD_DPを連続で受信していない回数がN回以下である場合は、センサコントローラ200は、スタイラス100との通信に用いている通信チャネル(第2通信チャネル)を維持する。
【0094】
例えば、ステップS947で、連続不受信カウンタをインクリメントし、再度、操作状態送信パケットOD_DPを受信するまでの間、保持している第2通信チャネルにて待機する。この状態で、操作状態送信パケットOD_DPを受信すると、再び復帰前のストロークモードM3で使用していた第2通信チャネルを用いて操作状態データODを受信し、第2通信チャネルに対応付けられた構成データCDを対応付けて電子機器制御部300へ供給する。
【0095】
一方、ステップS641で、操作状態送信パケットOD_DPを連続で受信していない回数がN回より大きいときは、ユーザが一時的にペンアップしたのではなく、スタイラス100の使用をユーザが停止した場合であると判断する。この場合、通信リソーステーブルCRTblから該当するエントリを削除することによって第2通信チャネルとローカル識別子LIDを解放し(ステップS949)、第1通信チャネルを用いた通信を行う探索モードM1に復帰する。
【0096】
図10は、スタイラス100(通信制御部120)の動作フロー図である。
【0097】
<M1探索モード:スタイラス100>
スタイラス100は、探索モードM1から動作を開始する。ステップS1011にて、スタイラス100は、デフォルトの通信チャネル(第1通信チャネル)にて探索報知パケットD_UPの検出を行う。探索報知パケットD_UPを受信しない間(S1011NO)、スタイラス100は、探索報知パケットD_UPの検出を所定の周期で繰り返す。ステップS1011にて探索報知パケットD_UPを受信すると、スタイラス100は、該探索報知パケットD_UPから同期コードPsyncを取得するとともに、探索応答パケットD_DPを送出する。探索応答パケットD_DPに含める同期コードは、同期コードPsyncを取得できた場合にはその同期コードPsyncとし、できなかった場合には探索報知パケットD_UPと同じ同期コードbroadcastとする。
【0098】
<M2設定モード:スタイラス100>
ステップS1021にて、スタイラス100は構成情報要求パケットCD_UP(又は探索報知パケットD_UP)に含まれたローカル識別子LIDを取得し、
図2に示した通信設定テーブルにローカル識別子LIDを設定する。また、探索報知パケットD_UPから取得した同期コードPsync(又は同期コードbroadcast)を示す符号列PNを、受信部113の相関器に設定する。
【0099】
ステップS1023にて、スタイラス100は、スタイラス識別子SIDを含む構成データCDを含む構成情報送信パケットCD_DPを送信する。原則、設定モードM2の動作は通信の開始時の最初に1回だけであるため、スタイラス識別子SIDのビット数が48ビットや64ビットと長い場合や、構成データCDとしてベンダIDやブラシタイプなど他の情報を含めて送信する場合であっても、特許文献1に記載の通信方法に比して通信リソースの消費を抑制することができる。尚、このようにスタイラス識別子SIDのビット数として長いビット数の通信を行う初めの1回の通信では、構成情報送信パケットCD_DPは複数回のパケットで複数回の時間スロットにて分割して送信してもよい。
【0100】
次に、スタイラス100はステップS1027にて、チャネル変更要求パケットCC_UPを受信し、チャネル変更要求パケットCC_UPにて指定された通信チャネル(第2通信チャネル)を取得する。なお、通信チャネルの一部が探索報知パケットD_UPにて通知済みである場合には、チャネル変更要求パケットCC_UPにて指定された残部と組み合わせることにより、通信チャネル(第2通信チャネル)を取得する。スタイラス100は、取得した通信チャネルを示す情報(周波数f(例えばf1)及び時間スロットs(例えば、s8n+1))を
図2に示した通信設定テーブルに設定するとともに、この情報により発振部111及び送受信切替部104を設定することにより、M3ストロークモードの通信に利用する通信チャネル(第2通信チャネル)を利用可能にする。
【0101】
<M3ストロークモード:スタイラス100>
ステップS1031にて、スタイラス100は、操作状態送信パケットOD_DPの送信タイミングであるか否かを判定する。この判定はセンサコントローラ200が明示的に送信した操作状態要求パケットOD_UPを受信することによって行っても良いし、センサコントローラ200から時間スロットs8nで送信された探索報知パケットD_UPを検出してその時間スロットs8nに続く時間スロットs8n+1が自己が操作状態送信パケットOD_DPを送信するものであると判定しても良い。
【0102】
ステップS1031の判定の結果がYESである場合、スタイラス100は、例えば
図7(d)で示す第2通信チャネル(周波数f1、時間スロットs8n+1)にて、操作状態送信パケットOD_DPを送信する。また、ステップS1035にて、連続不受信カウンタの値を初期化しつつ、ステップS1031の処理に戻り、スタイラス100がアップされるまでストロークモードM3での動作を続行する。原則として、スタイラス100がダウンされてからアップされるまでの間は、第2通信チャネルで操作状態要求パケットOD_UPが受信され(又は第1通信チャネルで探索報知パケットD_UPが受信され)、操作状態送信パケットOD_DPが送信され続けることになる。
【0103】
<M4ホールドモード:スタイラス100>
ステップS1031で操作状態要求パケットOD_UP(又は探索報知パケットD_UP)を受信しなかった場合、ステップS1041においてスタイラス100は、操作状態要求パケットOD_UP(又は探索報知パケットD_UP)を何回連続(どの位の期間)で受信していないかを検出する。
【0104】
ステップS1041で、連続で受信していない回数がN回以下である場合は、スタイラス100は再度ダウンされ新たな通信が再開される可能性が残っていると判定する。従って、この間はステップS1043で連続不受信カウンタをインクリメントするなどしながら、スタイラス100との通信に用いる第2通信チャネルとローカル識別子LIDとを維持する。ホールドモードM4では通信設定テーブルに指定された第2通信チャネルを用いて操作状態要求パケットOD_UPの受信を試み続け、新たな操作状態要求パケットが受信された場合は即座にストロークモードM3に復帰する。
【0105】
一方、ステップS641で、センサコントローラ200からのパケットを受信していない連続回数がN回より大きい場合は、スタイラス100の使用が停止された場合であると判定し、通信設定テーブルに設定された第2通信チャネルとローカル識別子LIDとを解放し、再び第1通信チャネルを利用する探索モードM1に復帰する。
【0106】
<動作例1:第1スタイラス101が検出範囲に対しインアウトを繰り返す場合>
図11は、第1スタイラス101がセンサコントローラ200の検出範囲に対しインアウトを繰り返す場合の、位置入力システム1の動作を説明する図である。
【0107】
最上段の表は利用される通信チャネルを示している。横方向s0からs610は時間スロットsを示す。縦方向f0からf2は、通信チャネルで利用される周波数fを示す。
【0108】
図7と同様に、ハッチング枠で示す通信チャネルは、センサコントローラ200が不特定のスタイラス100に対して探索報知パケットD_UP等を送信するために用いるデフォルトの通信チャネル(第1通信チャネル)を示している。白塗で示す通信チャネルは、第1スタイラス101がストロークモードM3にて操作状態データODを送信するために用いる通信チャネル(第2通信チャネル)を示している。mode101で示す横軸は、第1スタイラス101とセンサコントローラ200との通信の動作モードを示している。図の最下段は、第1スタイラス101とセンサコントローラ200との間のパケットシーケンスを示している。
【0109】
時間スロットs0から時間スロットs201までは、探索モードM1が実行される。
【0110】
探索モードM1が実行される間、センサコントローラ200は、所定の周期(例えば、時間スロットs0、s8、s200、s8n(nは0以上の整数)など8時間スロットs毎の周期)で、ハッチング枠で示す第1通信チャネルを用いて探索報知パケットD_UPを送出し続ける。
【0111】
時間スロットs201で第1スタイラス101が近接し探索応答パケットD_DPを返信すると、第1スタイラス101とセンサコントローラ200とで構成される位置入力システム1の動作は、探索モードM1から設定モードM2に遷移する。
【0112】
時間スロットs208から時間スロットs279までの期間では、設定モードM2が実行される。
【0113】
1回目の設定モードM2の間、第1スタイラス101は、48ビットや64ビットのスタイラス識別子SIDなど第1スタイラス101の操作状態によって変化しないデータである構成データCDを含む構成情報送信パケットCD_DPを送出する。一方、センサコントローラ200は、第1スタイラス101のために付与されたローカル識別子LIDを含む構成情報要求パケットCD_UPと、通信に用いる第2通信チャネルを示すチャネルデータCHDを含むチャネル変更要求パケットCC_UPとを送信する。
【0114】
時間スロットs280から時間スロットs407までは、第1スタイラス101がパネル上を摺動している時間である。この間、第1スタイラス101とセンサコントローラ200とで構成される位置入力システム1の動作モードとして、ストロークモードM3が実行される。
【0115】
図11の例では、センサコントローラ200から探索報知パケットD_UPが送出される時間スロットs8nの次の時間スロットである時間スロットs8n+1及び周波数f1の組で規定される第2通信チャネルにより、筆圧FやボタンのONOFF状態など第1スタイラス101の操作状態によって変更する操作状態データODが繰り返し送信される。
【0116】
時間スロットs408から時間スロットs600の前の時間スロットs599までの期間では、ホールドモードM4が実行される。
【0117】
センサコントローラ200は第2通信チャネルで操作状態送信パケットOD_DPの受信を待機するが、第1スタイラス101がセンサコントローラ200を検出できない状態で保持されているため、センサコントローラ200が操作状態送信パケットOD_DPを受信することはない。
【0118】
時間スロットs600からは、時間スロットs601(又は時間スロットs600)において再び第1スタイラス101の近接が検出された状態であり、第1スタイラス101とセンサコントローラ200とで構成される位置入力システム1の動作モードとして再びストロークモードM3が実行される。第1スタイラス101からセンサコントローラ200へは、周波数f1及び時間スロットs8n+1の組によって特定される第2通信チャネルにおいて、ローカル識別子LIDを含む操作状態送信パケットOD_DPにより再び操作状態データODが送信される。なお、必ずしも操作状態送信パケットOD_DPにローカル識別子LIDが含まれていなくてもよいのは、上述したとおりである。
【0119】
このように、センサコントローラ200は、第1スタイラス101に対して付与した通信チャネル(あるいは該通信チャネルに対応付けられたローカル識別子LID)に基づいて、操作状態データODを送信しているスタイラス100を識別するので、スタイラス100は、ペンダウンされてアップされるまでの間のストロークモードM3での動作期間において、スタイラス識別子SIDの送出を省略することが可能となる。
【0120】
また、センサコントローラ200を、スタイラス100のスタイラス識別子SIDを設定モードM2における通信により取得し、スタイラス100との通信に用いる通信チャネルに対応付けて通信リソーステーブルCRTblにて管理する構成としたことにより、センサコントローラ200は、スタイラス識別子SIDが毎回供給されなくとも、受信した操作状態データODとスタイラス識別子SIDと対応付けて出力することができる。
【0121】
また、ストロークモードM3の後に所定期間、通信リソースとローカル識別子LIDを維持したまま待機するホールドモードM4を設けているので、1つのスタイラス100がINOUTを繰り返す場合などに、スタイラス識別子SIDの送出回数や送出ビット数を削減することができる。
【0122】
<動作例2:複数のスタイラス100が交互に利用される場合>
図12は、センサコントローラ200の検出範囲に対し第1スタイラス101と第2スタイラス102と交互に出入りする場合の位置入力システム1の動作を説明する図である。
図11と同様の部分は説明を省略する。
【0123】
図12中の黒塗で示す通信チャネルは、第2スタイラス102がパケット送信に用いる通信チャネル(第2通信チャネル)を示している。mode102で示す横軸は、第2スタイラス102とセンサコントローラ200とによる位置入力システムの動作モードを示している。
【0124】
時間スロットs800から時間スロットs2001までの期間は、例えば、ユーザが以前利用していた第1スタイラス101を横に置き、第1スタイラス101を第2スタイラス102に持ちかえている間のような時間である。この時間は、第1スタイラス101とセンサコントローラ200とによる位置入力システムは、ホールドモードM4で動作している。
【0125】
時間スロットs801は、例えば、ユーザが第2スタイラス102を近接させペンダウンしたタイミングである。デフォルトの通信チャネル(周波数f0の通信チャネル)を用いてセンサコントローラ200から所定の周期で送信される探索報知パケットD_UPに対して、第2スタイラス102が応答した時間スロットを示している。
【0126】
時間スロットs808から時間スロットs839までは、第2スタイラス102とセンサコントローラ200とが設定モードM2で構成データCDを交換する時間を示している。センサコントローラ200は、通信リソーステーブルCRTblを参照し、現在第1スタイラス101がホールドモードM4にあり、第1スタイラス101に付与されたローカル識別子LIDが0b001であり、第1スタイラス101が確保している第2通信チャネルが時間スロットs8n+1及び周波数f1の通信チャネルであることを把握し、第1スタイラス101に付与されたこれらのリソースとは異なるローカル識別子LID(例えば0b010)並びに第2通信チャネル(
図12の例では時間スロットs8n+2及び周波数f2)を割り当て、第2スタイラス102に通知する。通信リソーステーブルCRTblには、第2スタイラス102のためのエントリが新たに生成される。
【0127】
時間スロットs840から時間スロットs1007は、第2スタイラス102とセンサコントローラ200がストロークモードM3で動作する時間スロットを示している。この間も第1スタイラス101のための通信リソース(第2通信チャネル)は、第1スタイラス101の復帰に備え維持され続けている。
【0128】
時間スロットs1008で、ペンアップされるなどの理由で第2スタイラス102が第2通信チャネルでの通信を行えなくなった場合、第2スタイラス102とセンサコントローラ200とはホールドモードM4に遷移する。周波数f2を利用した通信リソースは通信リソーステーブルCRTblに維持される。
【0129】
時間スロットs2000からは、第1スタイラス101がストロークモードM3に復帰した状況を示している。この場合においても、周波数f1の通信チャネルは維持されており、第1スタイラス101は再度探索モードM1または設定モードM2の動作を行う必要がないため、48ビットや64ビットなど長いビット数のスタイラス識別子SIDの送信などを省略したまま高速に復帰することができる。
【0130】
このように、本発明による方法によれば、複数のスタイラス100が交互に利用されるような場合でも、スタイラス識別子SIDの送出回数や通信リソースの設定のためのシーケンスなどを省略した状態で、複数のスタイラス100を利用することができる。
【0131】
以上説明したように、本実施の形態による方法によれば、センサコントローラ200は、チャネル変更要求パケットCC_UPで指定した第1の時間スロットにより第1スタイラス101を識別できる。したがって、操作状態データODにスタイラス識別子SIDが付加されていなくても、その操作状態データODが第1の時間スロットで受信されたという事実から、センサコントローラ200は、その操作状態データOD第1スタイラス101によって送信されたものであると理解することができる。したがって、第1スタイラス101は、操作状態データODを送信する際に、スタイラス識別子SIDの送信を省略することができる。
【0132】
また、本実施の形態による方法によれば、センサコントローラ200は、通信によって第1スタイラス101からスタイラス識別子SIDを取得し、第1スタイラス101との通信に用いる通信チャネルに対応付けて、通信リソーステーブルCRTblにて管理することができる。したがって、操作状態データODにスタイラス識別子SIDが付加されていなくても、受信した操作状態データODと第1スタイラス101のスタイラス識別子SIDとを関連付けて、電子機器制御部300に出力することができる。
【0133】
さらに、本実施の形態による方法によれば、スタイラス100とセンサコントローラ200とが連続して操作状態データODを通信するストロークモードM3の後に、所定の期間、通信リソースとローカル識別子LIDを維持したまま待機するホールドモードM4を設けている。したがって、第1スタイラス101がセンサコントローラ200の検出範囲に対し出入りを繰り返す場合や、第1スタイラス101と第2スタイラス102が交互に利用されるような場合においても、設定モードM2等の処理を経ることなくストロークモードM3に復帰して操作状態データODの通信を再開することができ、その結果としてスタイラス識別子SIDの送出回数を削減することができる。
【0134】
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【0135】
例えば、上記実施の形態によるセンサコントローラ200は、
図9に示したステップS949で第2通信チャネルとローカル識別子LIDを解放するときまで通信リソーステーブルCRTbl内にスタイラス識別子SIDを保持し続けていたが、操作状態送信パケットOD_DPが受信されなくなって一定時間が経過した場合には、まずは通信リソーステーブルCRTblからスタイラス識別子SIDを削除する処理を行うこととしてもよい。以下、この変形例について、
図13を参照しながら詳しく説明する。
【0136】
図13は、センサコントローラ200(スタイラス検出部215)の動作フロー図の変形例である。本変形例は、ストロークモードM3及びホールドモードM4における処理が
図9に示した例と異なっており、図示を省略しているが、探索モードM1及び設定モードM2における処理は
図9に示す例と同一である。以下、
図9に示した例との相違点を中心に説明する。
【0137】
本変形例によるセンサコントローラ200は、ステップS933にて操作状態送信パケットOD_DPを受信しない場合、まず連続不受信カウンタが定数N1と等しいか否かを判定する(ステップS941)。定数N1は、ステップS945での判定に用いる定数Nより小さい数字である。ステップS941で等しくないと判定したセンサコントローラ200は、ステップS945に処理を移し、以降は
図9に示す例と同様の処理を行う。一方、ステップS941で等しいと判定したセンサコントローラ200は、通信リソーステーブルCRTblの該当レコードからスタイラス識別子SIDを削除する(ステップS943)。その後はステップS945に処理を移し、以降は
図9に示す例と同様の処理を行う。これらの処理により、操作状態送信パケットOD_DPが受信されなくなって一定時間が経過した場合には、通信リソーステーブルCRTblからスタイラス識別子SIDが削除されることになる。
【0138】
次に、本変形例によるセンサコントローラ200は、ステップS934にて通信リソーステーブルCRTblからスタイラス識別子SIDを含む構成データCDを読み出す処理を行った後、スタイラス識別子SIDの読み出しに失敗したか否かを判定する(ステップS935)。ステップS943で通信リソーステーブルCRTblの該当レコードからスタイラス識別子SIDが削除されていた場合、ステップS935の判定結果はYESとなる。ステップS935で読み出しに失敗していないと判定したセンサコントローラ200は、
図9を参照して説明した処理と同様に、ステップS934で導出した座標位置と、通信リソーステーブルCRTblから読み出したスタイラス識別子SIDとを関連付けて電子機器制御部300に供給し(図示せず)、その後、ステップS939に処理を移す。これ以降の処理は、
図9に示した例と同様である。一方、ステップS935で読み出しに失敗したと判定したセンサコントローラ200は、
図9のステップS921で送信した構成情報要求パケットCD_UPを再送信する(ステップS936)。そして、その応答としてスタイラス100から構成情報送信パケットCD_DPを受信したか否かを判定し(ステップS937)、受信したと判定した場合(S937YES)には、受信した構成情報送信パケットCD_DPからスタイラス識別子SIDなどの構成データCDを抽出し、通信リソーステーブルCRTblの該当レコードに登録する(ステップS937)。これにより、通信リソースとスタイラス識別子SIDとが再度対応付けて、センサコントローラ200内に保持されることになる。その後、センサコントローラ200は、ステップS934で導出した座標位置と、通信リソーステーブルCRTblに新たに登録したスタイラス識別子SIDとを関連付けて電子機器制御部300に供給した後(図示せず)、ステップS939に処理を移し、以降は
図9に示す例と同様の処理を行う。ステップS937で受信していないと判定したセンサコントローラ200は、ステップS941に処理を移し、以降は
図9に示す例と同様の処理を行う。
【0139】
以上説明したように、本変形例によるセンサコントローラ200によれば、操作状態送信パケットOD_DPが受信されなくなって一定時間が経過した場合に通信リソーステーブルCRTblからスタイラス識別子SIDを削除しているので、通信リソーステーブルCRTblによって占有されるセンサコントローラ200の記憶領域の一部を、上記実施の形態に比べて早期に解放することが可能になる。一方で、スタイラス識別子SIDが再度必要となった場合にはスタイラス100からスタイラス識別子SIDを再度受信できるので、本変形例によるセンサコントローラ200によれば、電子機器制御部300に対するデータ(座標位置及びスタイラス識別子SID)の供給についても、支障なく行うことができる。