以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。以下では、初めに図1~図8を参照しながら本実施の形態によるスタイラス2及びセンサコントローラ31の構成及び動作の概要を説明し、その後、図9~図19を参照しながら本発明の特徴に直接関わるスタイラス2及びセンサコントローラ31の動作について説明する。
図1は、本実施の形態による電子機器3の構成を示す図である。電子機器3は、例えばタブレット端末のようなタッチ面(操作面)を有するコンピュータであり、同図に示すように、センサ30及びセンサコントローラ31を備えて構成される。
センサ30は、タッチ面の内側に配置されたM本の線状電極30X(第1の電極)及びN本(N<M)の線状電極30Y(第2の電極)を含んでなるマトリクス電極によって構成される。具体的な例では、M=72、N=46である。M本の線状電極30Xは、タッチ面に平行な第1の方向に等間隔で延在するように配置される。また、N本の線状電極30Yは、タッチ面に平行かつ第1の方向と直交する第2の方向に等間隔で延在するように配置される。各線状電極30X及び各線状電極30Yは、個別にセンサコントローラ31に接続されている。
センサ30は、液晶等の表示パネル(図示せず)とともに配置される。表示パネル上におけるセンサ30の具体的な配置方法は任意であるが、例えば、線状電極30X,30Yが液晶等の表示パネルの外部に配置されるアウトセル型、線状電極30X,30Yが表示パネル内部のカラーフィルターガラスや基盤ガラスの上に配置されるオンセル型、表示パネルの駆動用電極(具体的には共通電極又は画素電極)が線状電極30X,30Yの一方を兼ねるインセル型などが挙げられる。
センサコントローラ31は、センサ30を利用して、指Fによるタッチの検出(タッチ面内における指Fの位置座標の導出を含む)と、スタイラス2の検出(タッチ面内におけるスタイラス2の位置座標の導出を含む)とを時分割で行う制御部である。
図1(a)は、指Fによるタッチを検出する場合の電子機器3の動作を示している。同図に示すように、指Fによるタッチを検出するときのセンサコントローラ31は、複数の線状電極30Yのそれぞれに対して順次所定の信号(以下、「指検出用信号」という)を供給するとともに、複数の線状電極30Xそれぞれの電位を順次走査することによって、線状電極30Yとの交点を通って各線状電極30Xに到来した指検出用信号の検出を行う。こうして検出される指検出用信号の振幅は、該指検出用信号が通過した交点の近傍に指Fが接近している場合に、接近していない場合に比べて小さくなる。指Fと線状電極30X,30Yとの間に生ずる容量結合を通じて、線状電極30X,30Y上を流れる電流の一部が人体方向に流れ出るからである。センサコントローラ31は、このような振幅の変化を検出することにより、指Fによるタッチを検出する。
図1(b)は、スタイラス2を検出する場合の電子機器3の基本的な動作を示している。同図に示すように、スタイラス2を検出するときのセンサコントローラ31は、基本的な動作としては、複数の線状電極30X及び複数の線状電極30Yのそれぞれを順次受信電極として用いて、スタイラス2が送信する信号(以下、「ダウンリンク信号」という)の検出動作を行う。そして、その検出結果に基づいて、スタイラス2の検出を行う。なお、実際の動作では、線状電極30X,30Yの一部のみを用いてスタイラス2の検出を行う場合があるが、その点については後述する。
センサコントローラ31がスタイラス2を検出するためには、ダウンリンク信号をセンサコントローラ31が受信できる程度にまで、スタイラス2が電子機器3のタッチ面に接近している必要がある。図示したセンシング範囲SRは、ダウンリンク信号をセンサコントローラ31が受信できる範囲を模式的に示したものである。センサコントローラ31は、スタイラス2がこのセンシング範囲SRに入った場合に、ダウンリンク信号を受信し、それによってスタイラス2を検出できるようになる。センシング範囲SRの外から中に移動するというスタイラス2の動きを、以下では「ペンダウン」と称する。ペンダウンは通常、スタイラス2を電子機器3のタッチ面に近づけるというユーザの操作によって実行される。上述したホバー状態は、詳細には、スタイラス2がペンダウンによってセンシング範囲SRに入ったものの、未だタッチ面に接触していない状態である。
また、スタイラス2は、センシング範囲SRの外にいる場合であっても、センサコントローラ31がスタイラス2に向けて送信する信号(以下、「アップリンク信号」という)を受信できる場合がある。これは、一部のアップリンク信号(後述するペン起動信号やロングバースト信号の送信指示を示すコマンド信号など)については、タッチ面の全面(全線状電極30X及び全線状電極30Yの一方又は両方)を用いて送信されるためである。図示したアップリンク検出高さAHは、スタイラス2がこれらのアップリンク信号を受信できる高さ(タッチ面からの距離)の限界を示している。アップリンク検出高さAHは、センシング範囲SRの上限よりも高い位置(タッチ面から遠い位置)となる。
図2は、本実施の形態による電子機器3の構成を示す図である。センサ30を構成する複数の線状電極30X及び複数の線状電極30Yは、スタイラス2及び指Fと容量結合するように構成される。指Fがセンサ30に接近した場合、この容量結合を介して、センサコントローラ31から線状電極30Yに流れ込む電流の一部が指Fに吸い取られる。これにより、上記したように線状電極30Xで検出される指検出用信号の振幅が小さくなるので、センサコントローラ31による指Fによるタッチの検出が可能になる。また、センサ30は、上記容量結合を介して、スタイラス2との間で双方向に信号を送受信可能に構成される。
センサコントローラ31は、図2に示すように、送信部60、選択部40、受信部50、ロジック部70、及びMCU80を有して構成される。
送信部60は、指Fによるタッチを検出するタイミングでは指検出用信号を生成し、スタイラス2を検出するタイミングではアップリンク信号を生成する回路である。アップリンク信号には、スタイラス2に対してセンサコントローラ31の存在を知らせるためのペン起動信号と、スタイラス2に対する指示(コマンド)を示すコマンド信号とが含まれる。
図2の送信部60には、アップリンク信号の生成に関する機能ブロックのみを詳細に示している。この機能ブロックには、パターン供給部61、スイッチ62、拡散処理部63、符号列保持部64、及び送信ガード部65が含まれる。なお、このうち特にパターン供給部61に関して、本実施の形態では送信部60内に含まれるものとして説明するが、MCU80内に含まれることとしてもよい。
ペン起動信号は、所定の検出パターンc1の繰り返しと、末尾に配置される所定の区切りパターンSTPとによって構成される。
検出パターンc1は、スタイラス2がセンサコントローラ31の存在を検出するために用いられるシンボルの値のパターンであり、事前に(スタイラス2がセンサコントローラ31を検出する前に)スタイラス2に既知にされている。シンボルは、送信処理においては変調に用いる情報の単位(送信信号が表現する情報の単位)であり、受信処理においては受信信号である1シンボルを復調して得られる情報の単位である。シンボルの値は、ビット列に変換される値(以下、「ビット列対応値」と称する)と、シンボルを受信したスタイラス2によってビット列に変換されない値(以下、「ビット列非対応値」と称する)とを含むことができる。具体的な例では、検出パターンc1は、2種類のビット列非対応値「P」「M」の結合からなるパターン「PM」により構成される。
区切りパターンSTPは、検出パターンc1の繰り返し期間の終了をスタイラス2に通知するためのシンボルの値のパターンであり、検出パターンc1の繰り返し中に現れないパターンによって構成される。区切りパターンSTPも、事前に(スタイラス2がセンサコントローラ31を検出する前に)スタイラス2に既知にされている。一例を挙げると、上記のように検出パターンc1を2つのビット列非対応値「P」「M」の結合「PM」により構成する場合、区切りパターンSTPは、ビット列非対応値「P」を2回連続させてなるパターン「PP」により構成することができる。区切りパターンSTPと検出パターンc1との構成を逆にして、区切りパターンを「PM」により構成して検出パターンc1を「PP」により構成してもよい。
パターン供給部61は、検出パターンc1及び区切りパターンSTPを保持しており、ロジック部70から供給される制御信号ctrl_t1の指示に従ってこれらを所定の順序で出力するよう構成される。具体的には、所定の連続送信期間の間、検出パターンc1を連続して繰り返し出力するとともに、連続送信期間の終了直後に、区切りパターンSTPを出力するよう構成される。これにより、ペン起動信号の送信が実現される。なお、区切りパターンSTPについては、ロングバースト信号の送信指示を示すコマンド信号(後述)の先頭で出力することとしてもよい。
スイッチ62は、ロジック部70から供給される制御信号ctrl_t2に基づいてパターン供給部61及びMCU80のいずれか一方を選択し、選択した一方の出力を拡散処理部63に供給する機能を有する。スイッチ62がパターン供給部61を選択した場合、拡散処理部63には、パターン供給部61から検出パターンc1又は区切りパターンSTPが供給される。一方、スイッチ62がMCU80を選択した場合、拡散処理部63には、MCU80から制御情報c2が供給される。
制御情報c2は、スタイラス2に対する指示(コマンド)を示す情報であり、MCU80によって生成される。上述したコマンド信号は、この制御情報c2によって構成される。制御情報c2は可変長のビット列に対応づけられるシンボルの値(例えば0~15)を含み、スタイラス2との間でその値が事前に共有されていない点で、検出パターンc1や区切りパターンSTPと異なっている。
符号列保持部64は、ロジック部70から供給される制御信号ctrl_t3に基づき、自己相関特性を有する所定チップ長の拡散符号PNを生成して保持する機能を有する。符号列保持部64が保持している拡散符号PNは、拡散処理部63に供給される。
拡散処理部63は、スイッチ62を介して供給されるシンボルの値(検出パターンc1、区切りパターンSTP、又は制御情報c2)に基づいて符号列保持部64によって保持される拡散符号PNを変調することにより、所定チップ長の送信チップ列を得る機能を有する。拡散処理部63は、取得した送信チップ列を送信ガード部65に供給するよう構成される。
送信ガード部65は、ロジック部70から供給される制御信号ctrl_t4に基づき、アップリンク信号の送信期間とダウンリンク信号の受信期間との間に、送信動作と受信動作を切り替えるために必要となるガード期間(送信と受信の両方を行わない期間)を挿入する機能を有する。
受信部50は、ロジック部70の制御信号ctrl_rに基づいて、送信部60が送信した指検出用信号、又は、スタイラス2が送信したダウンリンク信号を受信するための回路である。具体的には、増幅回路51、検波回路52、及び、アナログデジタル(AD)変換器53を含んで構成される。
増幅回路51は、選択部40から供給される信号(指検出用信号又はダウンリンク信号)を増幅して出力する。検波回路52は、増幅回路51の出力信号のレベルに対応した電圧を生成する回路である。AD変換器53は、検波回路52から出力される電圧を所定時間間隔でサンプリングすることによって、デジタル信号を生成する回路である。AD変換器53が出力するデジタル信号は、MCU80に供給される。
検波回路52による信号の受信処理には、スタイラスのホバー状態あるいは接触状態に応じて、スタイラス2が送信する信号の期間の長さ(後述する第1のビットレート及び第2のビットレート)に応じた期間の信号を検波する処理が含まれる。また、MCU80は、ホバー状態あるいは接触状態に応じた変調方法に対応した復調方法により信号のビット値を判定することで、スタイラス2が送信したデータ(後述するスイッチ情報SW1など)を取得する。また、スタイラス2が送信したフレームに誤り検出符号が含まれている場合には、MCU80は、スタイラス2が送信したデータ(後述するスイッチ情報SW1など)を復号するにあたり、この誤り検出符号に基づいて誤り検出(又は誤り訂正)を行う。
選択部40は、スイッチ44x,44yと、導体選択回路41x,41yとを含んで構成される。
スイッチ44x,44yはそれぞれ、共通端子とT端子及びR端子のいずれか一方とが接続されるように構成された1回路2接点のスイッチ素子である。スイッチ44xの共通端子は導体選択回路41xに接続され、T端子は送信部60の出力端に接続され、R端子は受信部50の入力端に接続される。また、スイッチ44yの共通端子は導体選択回路41yに接続され、T端子は送信部60の出力端に接続され、R端子は受信部50の入力端に接続される。
導体選択回路41xは、M本の線状電極30Xを選択的にスイッチ44xの共通端子に接続するためのスイッチ素子である。導体選択回路41xは、M本の線状電極30Xの一部又は全部を同時にスイッチ44xの共通端子に接続することも可能に構成される。
導体選択回路41yは、N本の線状電極30Yを選択的にスイッチ44yの共通端子に接続するためのスイッチ素子である。導体選択回路41yも、N本の線状電極30Yの一部又は全部を同時にスイッチ44yの共通端子に接続することも可能に構成される。
選択部40には、ロジック部70から4つの制御信号sTRx,sTRy,selX,selYが供給される。具体的には、制御信号sTRxはスイッチ44xに、制御信号sTRyはスイッチ44yに、制御信号selXは導体選択回路41xに、制御信号selYは導体選択回路41yにそれぞれ供給される。ロジック部70は、これら制御信号sTRx,sTRy,selX,selYを用いて選択部40を制御することにより、指検出用信号の送信及び受信と、ペン起動信号及びコマンド信号を含むアップリンク信号の送信と、ダウンリンク信号の受信とを実現する。ロジック部70による選択部40の制御については、後ほどより詳しく説明する。
ロジック部70及びMCU80は、送信部60、受信部50、及び選択部40を制御することにより、センサコントローラ31の送受信動作を制御する制御部である。具体的に説明すると、MCU80は、内部にROMおよびRAMを有し、所定のプログラムに基づき動作するマイクロプロセッサである。一方、ロジック部70は、MCU80の制御に基づき、上述した各制御信号を出力するよう構成される。MCU80はまた、AD変換器53から供給されるデジタル信号に基づいて指F又はスタイラス2の位置を示す座標データx,y等を導出し、電子機器3のシステムコントローラに対して出力する処理と、AD変換器53から供給されるデジタル信号がデータ信号を示している場合には、そのデジタル信号により表されるデータResを取得し、電子機器3のシステムコントローラに対して出力する処理とを行うよう構成される。
以下、ロジック部70による選択部40の制御について、具体的に説明する。
まず指検出用信号の送信及び受信を行うときのロジック部70は、N本の線状電極30Yが順次送信部60の出力端に接続され、M本の線状電極30Xが順次受信部50の入力端に接続されることとなるよう、制御信号sTRx,sTRy,selX,selYを用いて選択部40を制御する。これにより、図1にも示したように、N本の線状電極30Yのそれぞれに対して順次指検出用信号を供給すること、及び、線状電極30Yとの交点を通って各線状電極30Xに到来した指検出用信号を受信部50により検出することが可能になるので、指Fによるタッチの検出が実現される。
アップリンク信号の送信及びダウンリンク信号の受信を行うときのロジック部70は、スタイラス2の検出状態及びダウンリンク信号の種類によって異なる処理を行う。以下、ダウンリンク信号の種類と、スタイラス2とセンサコントローラ31の間における信号送受信のシーケンスとを初めに説明し、その後、アップリンク信号の送信及びダウンリンク信号の受信を行うときを行うときのロジック部70の動作について、詳しく説明する。
図3は、本発明の実施の形態によるスタイラス2が送信するダウンリンク信号の種類を示す図である。同図に示すように、ダウンリンク信号には、ロングバースト信号、バースト信号、及びデータ信号が含まれる。ロングバースト信号は、スタイラス2とセンサコントローラ31との間で予め既知とされた所定パターンの信号である所定波形の信号を、所定の時間T1にわたって連続送信してなる信号である。バースト信号は、上記所定波形の信号を、時間T1より短い所定の時間T4にわたって連続送信してなる信号である。データ信号は、上記所定波形の信号がデータにより変調されてなるデータ信号であり、典型的には、時間T4と時間T1の差T1-T4に相当する時間内にバースト信号に続けて送信される。なお、実際のデータ信号の送信は差T1-T4より長い時間にわたって継続する場合があるが、その点については後述する。バースト信号の先頭には、バースト信号との区切りを示すための所定のギャップ信号(図示せず)が挿入される。スタイラス2が送信するダウンリンク信号の種類は、センサコントローラ31が送信するコマンド信号による指示に従って選択される。
図4~図6は、スタイラス2とセンサコントローラ31の間における信号送受信のシーケンスを示す図であり、図4は、スタイラス2がアップリンク検出高さAHより上方にある場合を、図5は、スタイラス2がセンシング範囲SRの内側にあり、かつ、センサコントローラ31がスタイラス2の位置を未だ特定していない段階を、図6は、スタイラス2がセンシング範囲SRの内側にあり、かつ、センサコントローラ31がスタイラス2の位置を特定した後をそれぞれ示している。以下、それぞれの場合について順に説明する。
<スタイラス2がアップリンク検出高さAHより上方にある場合>
図4(a)はセンサコントローラ31によるペン起動信号の送信時を、図4(b)はセンサコントローラ31がロングバースト信号の送信を要求した場合をそれぞれ示している。
センサコントローラ31は、まず初めに図4(a)に示すように、時刻t0から時刻t1までの時間Ts(=t1-t0)にわたり、ペン起動信号の送信を行う。この送信は、センサコントローラ31がスタイラス2をまだ検出していないときに実行される。ペン起動信号は、上述したように、検出パターンc1の繰り返しと末尾の区切りパターンSTPとを含む信号である。スタイラス2は、検出パターンc1を構成するシンボル(上述した例では「P」及び「M」)の検出動作を間欠的に行うことによって検出パターンc1の検出動作を間欠的に行うが、自身がアップリンク検出高さAHより上方にある場合には、この検出動作によっても検出パターンc1を検出することはできない。したがって、スタイラス2は、検出パターンc1の検出動作をただ繰り返すことになる。
センサコントローラ31は、ペン起動信号の送信に引き続き、図4(b)に示すように、時刻t1以後の時刻t2でコマンド信号(図4~図6、及び後述する図10では「CMD」と記す)の送信を開始する。コマンド信号の送信に要する時間は、上述した時間Tsより短いT0である。まだスタイラス2を検出していない段階では、センサコントローラ31はロングバースト信号の送信指示を示すコマンド信号を送信する。しかし、アップリンク検出高さAHより上方にあるスタイラス2はこのコマンド信号を受信することもできないので、コマンド信号に応じてロングバースト信号を送信することもなく、ただ検出パターンc1の検出動作を繰り返す。
センサコントローラ31は、ロングバースト信号の送信指示を示すコマンド信号を送信した後、ロングバースト信号の検出動作を行う。この検出動作は、後述する全範囲スキャンの前半に相当し、N本の線状電極30Yを順次使用して実行される。全範囲スキャンの詳細については、後述する。ここでは、スタイラス2がロングバースト信号の送信を行わないことから、当然、センサコントローラ31によってロングバースト信号が検出されることはない。ロングバースト信号の検出動作として使用可能な時間は、時間Tsと時間T0の差分に相当する時間T1(=Ts-T0)であるが、N本の線状電極30Yを順次使用してロングバースト信号の検出動作を行う場合、時間T1が経過する時刻t4(=t2+Ts)より前の時刻t3でロングバースト信号の検出動作が一旦完了する。そこで、この検出動作の間にロングバースト信号を検出しなかった場合のセンサコントローラ31は、時刻t3から時刻t4の間、スリープ状態となる。これにより、センサコントローラ31の消費電力が低減される。時刻t4の後には、ペン起動信号の送信が繰り返される。
<スタイラス2がセンシング範囲SRの内側にあり、かつ、センサコントローラ31がスタイラス2の位置を未だ特定していない段階>
図5(a)はセンサコントローラ31によるペン起動信号の送信時を、図5(b)はスタイラス2が送信したロングバースト信号をセンサコントローラ31が線状電極30Yを用いて受信する場合を、図5(c)はスタイラス2が送信したロングバースト信号をセンサコントローラ31が線状電極30Xを用いて受信する場合をそれぞれ示している。
図5(a)に示すようにペンダウン操作(時刻t6)がなされると、スタイラス2は、その後に行う検出パターンc1の検出動作(時刻t7)により検出パターンc1を検出できるようになる。こうして検出パターンc1を検出したスタイラス2は、区切りパターンSTPが検出されるまで検出動作を継続する。そして区切りパターンSTPが検出されると、その検出時刻に基づいてセンサコントローラ31と同期する。この同期は、具体的には後述する送受信スケジュールの作成によって行われる。
なお、図5(a)には、ペン起動信号の送信が開始された時刻t5からペン起動信号の送信が終了した時刻t8(=t5+Ts)の間の時刻t6でペンダウン操作がなされ、時刻t8に至る前の時刻t7でスタイラス2が検出パターンc1を検出した例を示しているが、例えばセンサコントローラ31がロングバースト信号の検出動作を行っている場合にペンダウン操作がなされた場合(例えば図5(b)に示す時刻t6')であっても、少しスタイラス2による検出パターンc1の検出タイミングが遅れるだけで、同様の処理が実行される。
続いて図5(b)に示すように、センサコントローラ31が時刻t8以後の時刻t9でロングバースト信号の送信指示を示すコマンド信号の送信を開始すると、スタイラス2はこのコマンド信号を受信し、時刻t10(=t9+Ts)までの時間T1にわたってロングバースト信号の連続送信を行う。センサコントローラ31は、こうして送信されるロングバースト信号を検出することにより、スタイラス2の検出を行う。
具体的には、まず図5(b)に示すように、N本の線状電極30Yを順次使用して、ロングバースト信号の検出動作を行う(後述する全範囲スキャンの前半)。このとき、いずれか1本以上の線状電極30Yでロングバースト信号が検出されることになるので、センサコントローラ31は、各線状電極30Yにおけるロングバースト信号の検出強度を記憶する。次いでセンサコントローラ31は、図5(c)に示すように、時刻t10以後の時刻t11でロングバースト信号の送信指示を示すコマンド信号の送信を再度開始し、送信終了とともにロングバースト信号の検出動作を再度行う。この検出動作は、時刻t12(=t11+Ts)まで、M本の線状電極30Xを順次使用して実施される(後述する全範囲スキャンの後半)。この検出動作により、いずれか1本以上の線状電極30Xでロングバースト信号が検出されることになるので、センサコントローラ31は、各線状電極30Xにおけるロングバースト信号の検出強度を記憶する。そして、先に記憶した各線状電極30Yにおけるロングバースト信号の検出強度と、今回記憶した各線状電極30Xにおけるロングバースト信号の検出強度とに基づき、タッチ面上におけるスタイラス2の位置座標を導出する。
<スタイラス2がセンシング範囲SRの内側にあり、かつ、センサコントローラ31がスタイラス2の位置を特定した後>
図6は、ホバー状態にあるスタイラス2によるバースト信号及びデータ信号(送信対象のデータが固有IDでないもの)の送信時を示している。なお、スタイラス2が上述した接触状態にある場合、及び、送信対象のデータが固有IDである場合については、後ほど別途詳しく説明する。
図6に示すように、スタイラス2の位置を特定したセンサコントローラ31は、その後の時刻t13で、データの送信指示を示すコマンド信号の送信を開始する。これを受けたスタイラス2は、まず時間T4にわたってバースト信号を連続送信する。センサコントローラ31は、このバースト信号を検出するとともに、検出したバースト信号に基づき、スタイラス2の位置座標の導出を行う。バースト信号の検出動作は、M本の線状電極30X及びN本の線状電極30Yのうち、直前に導出されたスタイラス2の位置座標によってスタイラス2の近くにあることが示されるもののみを順次使用して実行される(後述するセクタスキャン)。スタイラス2は、バースト信号に続けて、指示されたデータを含むデータ信号を送信する。センサコントローラ31は、このデータ信号を受信してデコードすることにより、スタイラス2が送信したデータを取得する。データ信号の受信は、直前に導出されたスタイラス2の位置座標に対応する1本の線状電極30X又は線状電極30Yのみを使用して実行される。
図2に戻り、スタイラス2の検出及びスタイラス2との双方向通信を行うときのロジック部70の動作について、詳細に説明する。
ペン起動信号及びロングバースト信号の送信指示を示すコマンド信号の送信を行うとき(図4(a)(b)、図5(a)(b)(c))のロジック部70は、M本の線状電極30Xのすべて又はN本の線状電極30Yのすべて或いはその両方を同時に使用するよう、選択部40を制御する。具体的には、送信部60の出力端がM本の線状電極30X及びN本の線状電極30Yの一方又は両方に同時に接続されることとなるよう、制御信号sTRx,sTRy,selX,selYを用いて選択部40を制御する。これにより、ペン起動信号及びロングバースト信号の送信指示を示すコマンド信号のそれぞれがタッチ面の全体が送信されることになるので、スタイラス2は、図1に示したセンシング範囲SR内のどこにいても、これらの信号を受信可能となる。
まだスタイラス2を検出していない段階でロングバースト信号を受信するとき(図4(b)、図5(b))のロジック部70は、図4(b)及び図5(b)にも示すように、N本の線状電極30Yを順次使用するよう選択部40を制御する。具体的には、N本の線状電極30Yが順次受信部50の入力端に接続されることとなるよう、制御信号sTRy,selYを用いて選択部40を制御する。これによりセンサコントローラ31は、スタイラス2が図1に示したセンシング範囲SR内のどこにいても、スタイラス2が送信したロングバースト信号を受信し、それによってスタイラス2を検出することが可能になる。
図7(a)は、この場合におけるセンサコントローラ31の動作を説明する図である。同図に示すように、この場合のセンサコントローラ31は、N本の線状電極30Yを順次スキャンすることになる。この段階でM本の線状電極30Xをスキャンしないのは、N本の線状電極30Yのみを用いてもセンサ30の表面の全体をスキャンすることが可能であることに加え、電極1本あたりのスキャン時間を長くするためである。
ロングバースト信号の受信によってスタイラス2を検出した後、スタイラス2の位置座標を未だ導出していない段階でロングバースト信号を受信するとき(図5(c))のロジック部70は、図5(c)にも示すように、M本の線状電極30Xを順次使用するよう選択部40を制御する。具体的には、M本の線状電極30Xが順次受信部50の入力端に接続されることとなるよう、制御信号sTRx,selXを用いて選択部40を制御する。センサコントローラ31は、この制御の結果と、先に実施したN本の線状電極30Yによるロングバースト信号の検出結果とに基づき、上述したようにして、タッチ面上におけるスタイラス2の位置座標を導出する。
図7(b)は、この場合におけるセンサコントローラ31の動作を説明する図である。同図に示すように、この場合のセンサコントローラ31は、M本の線状電極30Xを順次スキャンすることになる。本明細書では、図7(a)に示したN本の線状電極30Yを順次使用するスキャン(前半)と、図7(b)に示すM本の線状電極30Xを順次使用するスキャン(後半)とを合わせて「全範囲スキャン」と称する。
スタイラス2の位置座標を導出した後の段階でコマンド信号の送信を行うとき(図6)のロジック部70は、M本の線状電極30X及びN本の線状電極30Yのうちスタイラス2の近くにあるもののみを使用するよう、選択部40を制御する。具体的には、例えばスタイラス2がj+5番目の線状電極30Xとi+5番目の線状電極30Yの交点に位置しているとすると、例えばそこから両側に5本ずつの範囲、すなわち、j番目~j+10番目の線状電極30Xとi番目~i+10番目の線状電極30Yとが送信部60の出力端に同時に接続されることとなるよう、制御信号sTRx,sTRy,selX,selYを用いて選択部40を制御する。これにより、スタイラス2の近くにある線状電極のみを用いてコマンド信号を送信することができるので、コマンド信号の送信にかかる消費電力を削減することが可能になる。また、タッチ面に置かれた手の平等にコマンド信号が供給されると、スタイラス2に供給されている接地電位が上昇し、その結果としてスタイラス2によるアップリンク信号の検出精度が低下する可能性があるが、上記のようにスタイラス2の近くにある線状電極のみを用いてコマンド信号を送信することで、手の平等にコマンド信号が供給される可能性が低下するので、スタイラス2によるアップリンク信号の検出精度の低下を防ぐことが可能になる。
スタイラス2の位置座標を導出した後、ロングバースト信号でない通常のバースト信号の受信を行うとき(図6)のロジック部70は、M本の線状電極30X及びN本の線状電極30Yのうちスタイラス2の近くにあるもののみを順次使用するよう、選択部40を制御する。具体的には、例えばスタイラス2がj+5番目の線状電極30Xとi+5番目の線状電極30Yの交点に位置しているとすると、例えば図6に示すようにそこから両側に5本ずつの範囲、すなわち、j番目~j+10番目の線状電極30Xとi番目~i+10番目の線状電極30Yとが受信部50の入力端に順次接続されることとなるよう、制御信号sTRx,sTRy,selX,selYを用いて選択部40を制御する。これにより、線状電極1本当たりの受信時間を長くすることができるので、より確実にバースト信号を受信することが可能になる。
図7(c)は、この場合におけるセンサコントローラ31の動作を説明する図である。この例でも、スタイラス2はj+5番目の線状電極30Xとi+5番目の線状電極30Yの交点に位置しているとしている。この例によるセンサコントローラ31は、M×N本の線状電極のうちj番目~j+10番目までの11本の線状電極30X及びi番目~i+10番目までの11本の線状電極30Yのみを順次スキャンし、その結果に基づいてスタイラス2の位置座標を導出する。以下、このようにM本の線状電極30Xの一部とN本の線状電極30Yの一部の両方を用い、一度導出したスタイラス2の位置座標を再導出(更新)するスキャンを「セクタスキャン」と称する。
データ信号を受信するとき(図6)のロジック部70は、直前のバースト信号によって導出されたスタイラス2の位置に対応する1本の線状電極30X又は線状電極30Yのみを使用するよう、選択部40を制御する。具体的には、その1本の線状電極30X又は線状電極30Yが受信部50の入力端に接続されることとなるよう、制御信号sTRx,sTRy,selX,selYを用いて選択部40を制御する。これにより、データ信号の送信時間(=T1-T4)を、スタイラス2からセンサコントローラ31にデータを送るためにフルに活用することが可能になる。
以上、スタイラス2の検出及びスタイラス2との双方向通信を行うときのロジック部70の動作について説明した。
図8は、本実施の形態によるスタイラス2の機能ブロックを示すブロック図である。同図に示すように、スタイラス2は、芯体20、電極21、スイッチ22、筆圧検出センサ23(筆圧検出部)、及び信号処理部24を有して構成される。
芯体20は、スタイラス2のペン先を構成する絶縁性部材である。電極21は、芯体20の付近(特に先端の近傍)に設けられる導電性部材であり、ダウンリンク信号を送信するためのアンテナの役割を果たすとともに、センサコントローラ31から結合容量を介して送信されるアップリンク信号を受信するためのアンテナとしての役割も果たす。なお、ダウンリンク信号を送信する電極と、アップリンク信号の受信するための電極とは同一のものであってもよいし、別々のものであってもよい。
スイッチ22は、スタイラス2の側面に設けられるサイドスイッチや後端部に設けられるテイルスイッチなど、ユーザの操作によってオンオフいずれかの状態を取るスイッチである。筆圧検出センサ23は、芯体20の先端に加えられる圧力(筆圧)を検出するための圧力センサである。
信号処理部24は、電極21を介してセンサコントローラ31からアップリンク信号を受信し、その内容に応じた処理を行うとともに、センサコントローラ31に対して送信するダウンリンク信号を生成し、電極21を介してセンサコントローラ31に向けて送信する機能を有する。具体的には、機能的に切替部76、受信部71、送信部75、及び制御部90を含んで構成される。以下、これらの機能ブロックのそれぞれについて、順に説明する。
切替部76は、共通端子とT端子及びR端子のいずれか一方とが接続されるように構成された1回路2接点のスイッチ素子である。切替部76の共通端子は電極21に接続され、T端子は送信部75の出力端に接続され、R端子は受信部71の入力端に接続される。切替部76の状態は、制御部90からの制御信号SWCによって制御される。制御部90は、センサコントローラ31からのアップリンク信号を受信する場合、R端子と共通端子とが接続されるよう、制御信号SWCによって切替部76を制御する。また、センサコントローラ31に対してダウンリンク信号を送信する場合、T端子と共通端子とが接続されるよう、制御信号SWCによって切替部76を制御する。制御部90は、初期状態、すなわちスタイラス2が上述した検出パターンc1を検出するまでの間においては、切替部76をR端子と共通端子が接続された状態に固定したうえで、スタイラス2の消費電力を削減するためにスリープ状態となる。
受信部71は、切替部76から供給される信号(電極21に到来した信号)の受信と、受信した信号に含まれるシンボルの値のデコードを行う回路であり、波形再生部71a及び相関演算器71bを含み構成される。受信部71は、このデコードにより、上述した検出パターンc1、区切りパターンSTP、及び制御情報c2のそれぞれを検出可能に構成される。受信部71は、スタイラス2の消費電力を削減するため、検出パターンc1を検出するまでの間、間欠的にのみ受信動作を行う。
波形再生部71aは、電極21に誘導された電荷(電圧)のレベルを上述した拡散符号PNのチップレートの数倍(例えば4倍)のクロックで2値化し、正負の極性値のバイナリ列(チップ列)に整形して出力する。相関演算器71bは、波形再生部71aが出力したチップ列をレジスタに格納し、上記クロックで順次シフトしながら拡散符号PN(又は、該拡散符号PNに対して反転及び巡回シフトのいずれか少なくとも一方を施してなる符号)との相関演算を行うことで、受信信号に含まれていたシンボルの値をデコードする。
受信部71は、逐次、相関演算器71bによりデコードされたシンボルの値が上述した検出パターンc1を示しているか否かの判定を行う。その結果として検出パターンc1を検出すると、センサコントローラ31が存在することを検出し、制御部90に対して、コマンド信号により示されるコマンドに応じた処理などを実行可能にするための起動信号ENを発行する。
また、受信部71は、検出パターンc1を検出した場合、受信動作を間欠的から連続的に切り替え、逐次、デコードしたシンボルの値が上述した区切りパターンSTPを示しているか否かの判定を行う。その結果として区切りパターンSTPを検出すると、受信部71は、その検出時刻t2を制御部90に対して出力する。
区切りパターンSTPを検出した後の受信部71は、制御部90によるスケジューリング(後述)に従って、センサコントローラ31が送信するコマンド信号の受信動作を行う。具体的には、受信動作の実施中に相関演算器71bによってデコードされる一連のシンボルの値を制御情報c2として取得し、制御部90に出力する。
制御部90は、マイクロプロセッサ(MCU)により構成され、受信部71から起動信号ENが供給されたことを契機として起動し、続いて受信部71から供給される検出時刻t2に基づいて、各種信号等の送受信スケジュールを生成する。そして、生成した送受信スケジュールに基づく制御信号SWCを生成して切替部76に供給する処理と、コマンド信号の受信を行うよう受信部71を制御する処理と、受信部71から供給される制御情報c2に基づいて送信部75を制御する処理とを行う。
制御部90が行う送信部75の制御には、受信されたコマンド信号に基づいてセンサコントローラ31に向けて送信する信号の種類(後述する図10に示す信号(A)~(F)のいずれか)を決定すること、及び、データを示すデータ信号を送信する場合には、制御情報c2により送信を指示されたデータを取得して送信部75に供給することが含まれる。送信部75に供給するデータには、図示しないメモリに記憶されるスタイラス2の固有ID、スイッチ22のオンオフ状態を示すデータ、筆圧検出センサ23によって検出された筆圧を示すデータなどが含まれる。
また、制御部90は、送信部75にデータ信号を送信させる場合、スタイラス2の状態が接触状態又はホバー状態のいずれであるかを判定し、判定の結果に応じてビットレートを制御する処理を行う。具体的には、判定の結果が接触状態である場合に、送信対象のデータの少なくとも一部を第1のビットレートで送信部75に送信させ、判定の結果がホバー状態である場合に、送信対象のデータの少なくとも一部を上記第1のビットレートより小さい第2のビットレートで送信部75に送信させる。この点については、後ほどより詳しく説明する。
送信部75は、センサコントローラ31に対して送信する信号を生成して電極21に供給する回路であり、変調部73及び昇圧回路74により構成される。送信部75は、こうして送信信号を電極21に供給することにより、送信対象のデータを含む信号を電極21を利用して送信する処理を行う。
変調部73は、所定周波数又は制御部90からの制御に従う周波数のキャリア信号(例えば矩形波信号)を生成し、そのまま、或いは、制御部90の制御に基づいて変調したうえで出力する回路である。ロングバースト信号及びバースト信号の送信時には、変調部73は、キャリア信号を変調せずにそのまま、或いはセンサコントローラ31との間で共有された既知の値のパターンで変調して出力する。これにより変調部73から、昇圧前のロングバースト信号及び昇圧前のバースト信号が出力される。一方、データ信号の送信時には、制御部90から供給されるデータによりキャリア信号を変調(OOK、PSK等)し、その結果として得られる変調信号を出力する。これにより変調部73から、昇圧前のデータ信号が出力される。
昇圧回路74は、変調部73の出力信号を一定の振幅まで昇圧することにより、ロングバースト信号、バースト信号、及びデータ信号を生成する回路である。昇圧回路74によって生成されたロングバースト信号、バースト信号、及びデータ信号は、切替部76を経て電極21から空間に送出される。
以上、図1~図8を参照しながら、本実施の形態によるスタイラス2及びセンサコントローラ31の構成及び動作の概要を説明した。次に、図9~図19を参照しながら、スタイラス2及びセンサコントローラ31の動作のうち本発明の特徴的な部分について、詳細に説明する。
初めに、図9は、センサコントローラ31が行う処理の全体を示す処理フロー図である。ただし、同図にはスタイラス2がホバー状態にある場合の処理のみを例として示している。同図に示すように、センサコントローラ31は、例えば、センサ30とともに配置される表示パネルの表示リフレッシュレートの逆数により定義される時間Tr(例えば、60Hzの逆数である16.67ms)ごとに、同一の動作を繰り返すよう構成される。
各周期では、センサコントローラ31はまず、スタイラス2に対して固有IDの送信を要求したか否かを判定する(ステップS1)。この要求は、固有IDの送信指示を示すコマンド信号の送信によってなされるものである。
ステップS1で要求していないと判定した場合のセンサコントローラ31は、スタイラス検出処理(ステップS2a)と指タッチ検出処理(ステップS3,S4)とを、各4回にわたって交互に実行する。各スタイラス検出処理は時間Ts(図4~図6に示した時間Tsと同じもの。例えば2500μs)の間、各指タッチ検出処理は時間Tf(例えば1500μs)の間、それぞれ継続して実行される。なお、指Fの検出は、スタイラス検出処理を挟んで不連続に実行される2回の指タッチ検出処理(ステップS3とステップS4)を1回の指タッチの位置検出単位として実行される。
一方、ステップS1で要求したと判定した場合のセンサコントローラ31は、スタイラス検出処理(ステップS2b)のみを4回にわたって繰り返し実行する。この場合の各スタイラス検出処理は、時間Ts+Tfにわたり継続して実行される。指タッチ検出処理が行えなくなるため、この間、図1(a)に示した指Fによる入力ができないことになる。このように指Fによる入力を規制してまでスタイラス検出処理の継続時間を長くしているのは、固有IDのサイズが大きく、スタイラス2からセンサコントローラ31に固有IDの全体を送信するためには長い時間を必要とするからである。なお、固有IDの送信はペンダウンごとに一度行えばよく、また、ユーザがスタイラス2のペンダウンと同時に指Fによる入力を行うことはほぼないと考えられ、さらに、規制時間は時間Tr(例えば16.67ms)に過ぎないので、固有IDの送信のための指Fによる入力の規制がユーザの使用感に影響を与えることはほぼないと考えられる。
以下では、時間Ts+Tfを一周期とする周期を「フレーム」と称し、時間Trを一周期とする周期(表示パネルの表示処理の動作周期)を「スーパーフレーム」と称する。すなわち、本実施の形態によるスタイラス2は、スーパーフレームの単位でダウンリンク信号の送信を行い、さらに、フレームの単位でもダウンリンク信号の送信を行うよう構成される。図9の例では1スーパーフレームが4つのフレームを含むが、1スーパーフレーム内のフレームの数は4つに限定されない。また、「フレーム」とフレームを複数含む「スーパーフレーム」は、それぞれ「パケット」とパケットの送信を複数含む「フレーム」と読み替えてもよい。
図10は、センサコントローラ31がスタイラス検出処理を実行している間にスタイラス2が送信するダウンリンク信号のフォーマットを示す図である。上述したように、ダウンリンク信号には、ロングバースト信号、バースト信号、及びデータ信号が含まれる。図10には、このうちのデータ信号により送信するデータに関して、5種類のデータ(A)~(E)を示している。なお、以下では簡単のため、データ信号の送信を指して「データを送信」という言い方をする場合がある。
図10において右下がりのハッチングを施しているデータ(D)(E)はスタイラス2が接触状態にあるときに送信されるもので、スタイラス2により第1のビットレートで送信される。一方、データ(B)(C)はスタイラス2がホバー状態にあるときに送信されるもので、スタイラス2により、上記第1のビットレートより小さい第2のビットレートで送信される。また、データ(A)は、スタイラス2がホバー状態であるか接触状態であるかによらず送信されるもので、スタイラス2により第2のビットレートで送信される。本発明は、データ(A)~(E)のビットレートをこのように制御する点に主たる特徴を有する。
以下、図10と、センサコントローラ31及びスタイラス2それぞれの処理を示す処理フロー図とを参照しながら、センサコントローラ31及びスタイラス2それぞれの動作について詳しく説明する。
図11は、スタイラス2によるアップリンク信号の受信処理及びダウンリンク信号の送信処理を示す処理フロー図である。以下、この図11を参照しながら、図8に示したスタイラス2の各部(特に、受信部71、送信部75、及び制御部90)の動作について、詳しく説明する。
初めに、図示していないが、スタイラス2の制御部90は、自身の状態を示す状態フラグを記憶している。この状態フラグにより示される状態には、センサコントローラ未検出状態(=0)と、センサコントローラ検出済み状態(=1)とが含まれる。制御部90は、上述したフレームの開始タイミングでこの状態フラグを参照する(ステップS70)ことにより、フレーム単位で信号送信を行うよう送信部75を制御する。
ステップS70で参照した状態フラグが「0」であった場合、スタイラス2の受信部71は、まず受信動作休止状態に入る(ステップS71)。そして、所定時間が経過した後、上述した検出パターンc1の検出を試行する(ステップS72)。ステップS71の休止期間を設けているのは、検出パターンc1の検出動作を間欠的に行うことで、スタイラス2の消費電力を低減するためである。
次いで受信部71は、ステップS72の試行によって検出パターンc1が検出されたか否かを判定する(ステップS73)。その結果、検出されていないと判定した場合、ステップS70に処理を戻す。一方、検出されたと判定した場合、受信部71は、図8に示した起動信号ENを発行することによって制御部90を起動する一方で、上述した区切りパターンSTPが検出されるまで、検出パターンc1及び区切りパターンSTPを構成するシンボルの検出動作を継続する(ステップS74)。そして、区切りパターンSTPが検出された場合、受信部71は、その検出時刻t2(図8)を制御部90に出力する。検出時刻t2を受けた制御部90は、検出時刻t2に基づいてセンサコントローラ31と同期する処理(具体的には、上述した送受信スケジュールの生成処理)を行った(ステップS75)うえで状態フラグに「1」を設定し(ステップS76)、ステップS70に処理を戻す。
ステップS70で参照した状態フラグが「1」であった場合、制御部90は、まずコマンド信号の検出動作を行う(ステップS80)。この検出動作は、具体的には受信部71から制御情報c2(図8参照)の供給を受ける動作であり、図4~図6にも示した時間T0(例えば200μs)にわたって行われる。次いで制御部90は、ステップS80の検出動作によってコマンド信号が検出されたか否かを判定し(ステップS81)、検出されていないと判定した場合には、状態フラグに「0」を設定し(ステップS82)、ステップS70に処理を戻す。このステップS82は、例えばスタイラス2が図1に示したアップリンク検出高さAHの外に離脱したなどの理由で、スタイラス2がアップリンク信号を検出できなくなった場合の処理である。
一方、ステップS81においてコマンド信号が検出されたと判定した場合、制御部90は、検出されたコマンド信号の内容(センサコントローラ31からの指示の内容)を判定する(ステップS83)。コマンド信号の内容として具体的には、ロングバースト信号の送信指示(LB)、固有IDの送信指示(ID)、及び、固有ID以外のデータの送信指示(DT)がある。
ステップS83でコマンド信号の内容がロングバースト信号の送信指示(LB)であったと判定した場合、制御部90は、送信部75にロングバースト信号を送信させる(ステップS84)。より具体的に言えば、制御部90は、図10(1)に示すように、時刻t0から時刻t1までの時間T0にわたって送信されるコマンド信号の受信後、時刻t1から時刻t5までの時間T1にわたってロングバースト信号の送信を行うよう送信部75を制御する。なお、図4を参照して説明したように、T1=Ts-T0である。制御部90はその後、図11に示すように、ステップS70に処理を戻す。
ステップS83でコマンド信号の内容が固有IDの送信指示(ID)であったと判定した場合、制御部90は、まずスタイラス2がホバー状態であるか否かの判定を行う(ステップS85)。この判定は、図8に示した筆圧検出センサ23によって検出されている筆圧を確認することによって、実行される。すなわち、制御部90は、筆圧検出センサ23によって検出されている筆圧がゼロである場合にホバー状態であると判定し、筆圧検出センサ23によって検出されている筆圧がゼロより大きい場合にホバー状態でない(接触状態である)と判定する。
ステップS85でホバー状態であると判定した場合、制御部90は送信部75に、まずバースト信号を送信させ(ステップS86)、次いで、データ(A)及びデータ(B)を第2送信方法により続けて送信させる(ステップS87,S88)。
データ(A)は、図10(2)に示すように、バースト信号と、所定のスタートフラグStartと、ステップS85の判定結果(ホバー状態又は接触状態)を示す1ビットの情報からなる状態情報Stateとを含んで構成されるデータである。この場合の状態情報Stateは、ホバー状態を示す情報となる。制御部90は、時刻t1から時刻t2までの時間T4(図3参照)にわたってバースト信号を送信し、その後の時刻t3までの間に、第2送信方法により、スタートフラグStart及び状態情報Stateをこの順で続けて送信するよう送信部75を制御する。第2送信方法は、上述した第2のビットレートにより各ビットを送信する方法であり、1つ1つのビットの送信に後述する第1送信方法による第1の時間(例えば30μ秒)に比して長い第2の時間(例えば90μ秒)がかけられる。バースト信号とスタートフラグStartの間には、所定時間長のギャップ時間が設けられる。
データ(B)は、図10(2)に示すように、モード情報Modeと、フレーム番号FNと、固有IDの一部と、チェックサムCSとを含んで構成されるデータである。制御部90は、状態情報Stateの送信が終了した時刻t3の直後からフレームの終了時刻t7までの間に、データ(A)と同じ第2送信方法により、これらの情報を上記の順で送信するよう送信部75を制御する。これによれば、コマンド信号の受信開始からデータ(B)の送信終了までに要する時間がTs+Tfとなり、図9に示した指タッチ検出用の時間が取れなくなるので、この場合のセンサコントローラ31は指タッチ検出を行うことができない。
データ(B)の構成要素について、詳しく説明する。まずモード情報Modeは、今から送ろうとしているデータの種別(固有ID又はその他のデータ)を示す1ビットの情報である。データ(B)においては、モード情報Modeによって示される種別は「固有ID」となる。
フレーム番号FNは、スーパーフレーム内におけるフレームの順番を示す2ビットの情報であり、現在実行中のスタイラス検出処理が1スーパーフレーム内の何番目のフレームで行われているものであるかを示している。
固有IDは、スタイラス2ごとに異なる52ビットの情報である。52ビットの情報はスタイラス2が送信する情報としては非常にサイズの大きな情報であり、1フレームでは送りきれないので、1スーパーフレーム内の各フレームに分割して送信される。具体的には13ビットずつに分割し、1スーパーフレーム内の4フレームすべてにわたって送信される。フレーム番号FNは、こうして分割送信された固有IDをセンサコントローラ31において復元するために使用される。
固有IDの途中及び直後には、反転ビットOpが配置される。反転ビットOpは所定数のビットのうちの最終ビットを反転させてなるビットであり、制御部90は、該所定数のビットの直後にこの反転ビットOpを送信するよう送信部75を制御する。図10(2)の例では、6ビット分の固有IDの直後に1つ、その後7ビット分の固有IDの直後に1つ、反転ビットOpが配置される。反転ビットOpは、同一のビットが所定数以上連続することを防止するために設置される。
チェックサムCSは、同一データ(B)内に含まれるデータ(例えば13ビット分の固有ID)に基づいて算出される誤り検出符号である。チェックサムCSのビット数は任意であるが、図10では3ビットとしている。制御部90は、例えばデータ(B)の生成時にチェックサムCSを算出し、データ(B)の末尾に配置する。センサコントローラ31は、固有IDが受信された後に自身でもチェックサムCSを算出し、受信されたチェックサムCSと比較することにより、固有IDが正常に受信されたか否かを判定する。
図11に戻る。ステップS85で接触状態であると判定した場合、制御部90は送信部75に、まずバースト信号を送信させ(ステップS89)、次いで、データ(A)を第2送信方法により送信させ(ステップS90)、さらに続けて、データ(D)を第1送信方法により送信させる(ステップS91)。
データ(A)の内容は、上述した通りである。ただし、この場合の状態情報Stateは、接触状態を示す情報となる。
データ(D)は、図10(5)に示すように、モード情報Modeと、フレーム番号FNと、固有IDの一部と、チェックサムCSとを含んで構成される信号である。この場合のモード情報Modeによって示される種別は、「固有ID」となる。また、データ(D)においては、データ(D)の先頭の1カ所と、固有IDの途中の2カ所(より具体的には、3ビット分の固有IDの直後、及び、その後6ビット分の固有IDの直後)との計3カ所に、反転ビットOpが配置される。
1つのデータ(D)によって送信される固有IDのビット数は、12ビットである。この場合のチェックサムCSは、例えば、同一のデータ(D)内に含まれる12ビット分の固有IDに基づいて算出される3ビットの誤り検出符号となる。固有IDは、データ(B)の場合と同じように1スーパーフレーム内の4フレームすべてにわたって分割送信されるが、固有IDの総ビット数は上述したように52ビットであるので、1フレームあたり12ビットでは4ビット分が不足する。この4ビット分の固有IDは、後述するデータ(E)において、シリアル番号SNとして送信される。
制御部90は、状態情報Stateの送信が終了した時刻t3の直後から時刻t6までの間に、第1送信方法により、データ(D)を構成する各情報を上記の順で送信するよう送信部75を制御する。第1送信方法は、上述した第1のビットレートにより各ビットを送信する方法であり、1つ1つのビットの送信に例えば30μ秒の時間がかけられる。この30μ秒という時間長は、上述した第2送信方法の1/3の値である。また、時刻t6は、ロングバースト信号を送信する場合のスタイラス検出処理の終了時刻t5に比べて少し後の時刻(フレームの終了時刻t7よりも前の時刻)であり、バースト信号、データ(A)、及びデータ(D)の送信に要する時間T3(=t6-t1)は、ロングバースト信号の送信に要する時間T1よりも若干長い値となる。これによれば、図9に示した指タッチ検出用の時間の一部がデータ(D)の送受信に利用されることになるものの、指タッチ検出用の時間への浸食はごく僅かであるので、この場合には、センサコントローラ31による指タッチ検出の実行は可能である。
図11に戻る。ステップS83でコマンド信号の内容が固有ID以外のデータの送信指示(DT)であったと判定した場合、制御部90は、まずスタイラス2がホバー状態であるか否かの判定を行う(ステップS92)。ステップS92の判定の詳細はステップS85と同様であるので、詳細の説明は割愛する。
ステップS92でホバー状態であると判定した場合、制御部90は送信部75に、まずバースト信号を送信させ(ステップS93)、次いで、データ(A)及びデータ(C)を第2送信方法により続けて送信させる(ステップS94,S95)。
データ(A)の内容は、上述した通りである。ただし、この場合の状態情報Stateは、ホバー状態を示す情報となる。
データ(C)は、図10(3)に示すように、モード情報Modeと、2つのスイッチ情報SW1,SW2と、バッテリ情報Batとを含む信号であるか、又は、図10(4)に示すように、モード情報Modeのみを含む信号である。この場合のモード情報Modeによって示される種別は、「その他のデータ」となる。また、1つ目のスイッチ情報SW1は、図8に示したスイッチ22のオンオフ状態を示す1ビットの情報(第1のデジタル値)である。図10(3)の記載から理解されるように、状態情報Stateは、1つのフレーム内において、このスイッチ情報SW1の前に配置される。2つ目のスイッチ情報SW2は、本実施の形態では予備的に確保されているもので、実際には使用されない。バッテリ情報Batは、スタイラス2の駆動用電池(図示せず)の残量を示す1ビットの情報である。このバッテリ情報Batは、複数回にわたる送信において「1」となる頻度によってバッテリの残量を表すよう構成される。
制御部90は、1つのスーパーフレーム内の1番目のフレームと3番目のフレームにおいては、図10(3)に示すデータ(C)を送信部75に送信させる一方、1つのスーパーフレーム内の2番目のフレームと4番目のフレームにおいては、図10(4)に示すデータ(C)を送信部75に送信させる。このようにフレームによって送信内容を変えているのは、スイッチ情報SW1,SW2やバッテリ情報Batを高レートで送る必要はないことに鑑み、スタイラス2の消費電力の低減を優先させたことによるものである。
制御部90は、図10(3)に示すデータ(C)については、状態情報Stateの送信が終了した時刻t3の直後から時刻t5までの間に、第2送信方法により、データ(C)を構成する各情報を上記の順で送信するよう送信部75を制御する。したがって、バースト信号、データ(A)、及びデータ(C)の送信に要する時間は、ロングバースト信号の送信に要する時間と同じT1となる。一方、図10(4)に示すデータ(C)については、状態情報Stateの送信が終了した時刻t3の直後から時刻t4(時刻t3と時刻t5の間の時刻)までの間に、第2送信方法により、データ(C)を構成するモード情報Modeを送信するよう送信部75を制御する。後者の場合、時刻t4から時刻t5までの間、制御部90はスリープ状態となり、その分スタイラス2の消費電力が低減される。
図11に戻る。ステップS92で接触状態であると判定した場合、制御部90は送信部75に、まずバースト信号を送信させ(ステップS97)、次いで、データ(A)を第2送信方法により送信させ(ステップS98)、さらに続けて、及びデータ(E)を第1送信方法により送信させる(ステップS99)。
データ(A)の内容は、上述した通りである。ただし、この場合の状態情報Stateは、接触状態を示す情報となる。
データ(E)は、図10(6)に示すように、モード情報Modeと、フレーム番号FNと、シリアル番号SNと、予約情報RSと、筆圧データPと、スイッチ情報SW1と、チェックサムCSとを含んで構成される信号である。この場合のモード情報Modeによって示される種別は、「その他のデータ」となる。また、データ(E)においては、データ(E)の先頭の1カ所と、予約情報RSの直後の一カ所と、筆圧データPの直後の一カ所との計3カ所に、反転ビットOpが配置される。
シリアル番号SNは、上述したように固有IDを構成する52ビットのうちの4ビット分の情報であり、同一のセンサコントローラ31とともに使用中の複数本のスタイラス2をセンサコントローラ31が識別するために使用される。なお、シリアル番号SNは、スタイラス2のペン先の設定状態(鉛筆、ブラシなど)を示すペン先設定種別を特定する情報であるとしてもよい。シリアル番号SNは、固有IDと同様、1スーパーフレーム内の4フレームすべてにわたって1ビットずつ分割送信される。センサコントローラ31は、データ(D)により受信される48ビットを記憶しておき、データ(E)により受信される4ビットと結合することで、固有IDの全体を得る。
予約情報RSは、スタイラス2のベンダが自由に設定できる情報であり、2ビット分が確保されている。
筆圧データPは、筆圧検出センサ23によって検出された筆圧を示す12ビットのデータ(第2のデジタル値)であり、連続する2つのフレーム(より具体的には、1つのスーパーフレーム内に配置される1番目と2番目のフレーム又は3番目と4番目のフレーム)に6ビットずつ分割して配置される。
制御部90は、状態情報Stateの送信が終了した時刻t3の直後から時刻t6までの間に、第1送信方法により、データ(E)を構成する各情報を上記の順で送信するよう送信部75を制御する。したがって、図9に示した指タッチ検出用の時間の一部がデータ(E)の送受信に利用されることになるが、データ(D)の場合と同様、指タッチ検出用の時間への浸食はごく僅かであるので、センサコントローラ31による指タッチ検出の実行は可能である。
以上のように、制御部90は、センサコントローラ31の指示に応じてデータ(A)~(E)を選択的に送信部75に送信させる動作を行い、その際に、スタイラス2の状態(接触状態又はホバー状態)に応じてそのビットレートの制御も行う。具体的には、ホバー状態で送信されるデータ(B)(C)のビットレート(上述した第2のビットレート)を、接触状態で送信されるデータ(D)(E)のビットレート(上述した第1のビットレート)に比べて小さな値とする。また、制御部90は、データ(A)について、ホバー状態で送信されるデータ(B)(C)と同様、第2のビットレートで送信部75に送信させる。なお、図10には、第1のビットレートと第2のビットレートの比率を3:1とした例を示しているが、この比率は適宜変更可能である。制御部90がこのようなビットレートの制御を行うのは、ダウンリンク信号のS/N比が悪化しがちなホバー状態での雑音耐性を改善するためであり、また、特にデータ(A)については、センサコントローラ31が状態情報Stateを確実に受信できるようにするためである。この点については、後ほど再度、まとめて詳しく説明する。
次に、図12及び図13は、センサコントローラ31によるアップリンク信号の送信処理及びダウンリンク信号の受信処理を示す処理フロー図である。以下、この図12及び図13を参照しながら、図11に示したスタイラス2の処理に対応するセンサコントローラ31の処理について説明する。
センサコントローラ31は、スタイラス2と同様に、自身の状態を示す状態フラグを記憶している。この状態フラグにより示される状態には、スタイラス未検出かつペン起動信号送信待ち状態(=0)と、スタイラス未検出かつペン起動信号への応答待ち状態(=1)と、スタイラス検出済みかつ位置未導出状態(=2)と、スタイラス位置導出済みかつ固有ID未受信状態(=3)と、固有ID受信済み状態(=4)とが含まれる。センサコントローラ31は、初めにこの状態フラグを参照する(ステップS10)。
ステップS10で参照した状態フラグが「0」であった場合、センサコントローラ31は、図9等に示した時間Tsにわたってペン起動信号を送信する(ステップS11)。具体的には、検出パターンc1の繰り返し及び区切りパターンSTPを送信する。ペン起動信号の連続送信を終えたセンサコントローラ31は、図9等に示した時間Tfにわたって指タッチの検出処理(ステップS12)を行った後、状態フラグに「1」を設定し(ステップS13)、ステップS10に処理を戻す。なお、図12ではステップS12の後にステップS13を行うとしているが、これらを並行して実行することとしてもよい。この関係は、後述する他の指タッチ検出処理(ステップS16,S23,S41.S54,S61)と、その後の処理(例えば、ステップS16に関してはステップS17~S20の各処理)とについても同様である。
ステップS10で参照した状態フラグが「1」であった場合、センサコントローラ31は、まずロングバースト信号の送信指示(LB要求)を示すコマンド信号を送信する(ステップS14)。このコマンド信号を含む各種コマンド信号の送信には、上述した時間T0を要する。その後、センサコントローラ31は、上述した時間T1にわたって、図10に示したロングバースト信号の受信動作を行う(ステップS15)。この受信動作は、図7(a)を参照して説明した全範囲スキャンの前半によって行われる。
センサコントローラ31は、時間T1が経過してロングバースト信号の受信動作を終了すると、時間Tfにわたって指タッチの検出処理(ステップS16)を行いつつ、ロングバースト信号を受信したか否かを判定する(ステップS17)。その結果、受信しなかったと判定した場合には、状態フラグに「0」を設定し(ステップS18)、ステップS10に処理を戻す。このステップS18は、例えばスタイラス2が図1に示したセンシング範囲SRの外にあるなどの理由で、センサコントローラ31がダウンリンク信号を受信できない場合の処理である。一方、ステップS17で受信したと判定した場合、センサコントローラ31は状態フラグに「2」を設定し(ステップS19)、さらにスタイラス2に対して送信するコマンドを決定した(ステップS20)うえで、ステップS10に処理を戻す。ここで決定されるコマンドは、ロングバースト信号の送信指示(LB)となる。
ステップS10で参照した状態フラグが「2」であった場合、センサコントローラ31は、まずロングバースト信号の送信指示(LB要求)を示すコマンド信号を再送信する(ステップS21)。その後、センサコントローラ31は、時間T1にわたるロングバースト信号の受信動作を再度実行する(ステップS22)。この受信動作は、図7(b)を参照して説明した全範囲スキャンの後半によって行われる。なお、全範囲スキャンの前半の動作(ステップS15)と後半の動作(ステップS22)とを1回の時間T1の間に実行できる場合は、これら2つのステップS15,S22を1回の処理によって実行してもよい。
センサコントローラ31は、時間T1が経過してロングバースト信号の受信動作を終了すると、時間Tfにわたって指タッチの検出処理(ステップS23)を行いつつ、ロングバースト信号を受信したか否かを判定する(ステップS24)。その結果、受信しなかったと判定した場合には、状態フラグに「0」を設定し(ステップS25)、ステップS10に処理を戻す。このステップS25は、例えばスタイラス2が図1に示したセンシング範囲SRの外に離脱したなどの理由で、センサコントローラ31がダウンリンク信号を受信できなくなった場合の処理である。一方、ステップS24で受信したと判定した場合、センサコントローラ31は、状態フラグに「3」を設定する(ステップS26)とともに、ステップS15でのロングバースト信号の検出結果と、ステップS22でのロングバースト信号の検出結果とに基づいて、スタイラス2の位置を導出する(ステップS27)。そして、次にスタイラス2に対して送信するコマンドを決定した(ステップS28)うえで、ステップS10に処理を戻す。ここで決定されるコマンドは、固有IDの送信指示(ID要求)であるとともに、ロングバースト信号でない通常のバースト信号の送信指示の役割も担っている。このようにコマンドがバースト信号の送信指示の役割も担う点は、後述するステップS50で送信するコマンド(固有ID以外のデータの送信指示(DT要求)を示すコマンド)についても同様である。
ステップS10で参照した状態フラグが「3」であった場合、センサコントローラ31は、ステップS28又は後述するステップS37,S45で決定したコマンドを示すコマンド信号を送信する(ステップS30)。その後、センサコントローラ31は、バースト信号及びデータ(A)の受信動作を順次行う(ステップS31a,S31b)とともに、バースト信号を受信した場合には、受信したバースト信号の各線状電極30X,30Yでの検出強度に基づいて、スタイラス2の位置座標の導出を行う。
ステップS31aにおけるバースト信号の受信動作は、図7(c)を参照して説明したセクタスキャンによって行われる。一方、ステップS31bにおけるデータ(A)の受信動作は、バースト信号の検出強度に基づいて導出した位置座標に基づいて選択される1本の線状電極30X又は線状電極30Yを用いて行われる。また、センサコントローラ31は、受信された信号を上述した第2のビットレートに対応する第1の復調方法によって復調することにより、データ(A)を取得する。これらの点は、後述するステップS51a,S51bにおいてバースト信号及びデータ(A)を検出する場合も同様である。
センサコントローラ31は、バースト信号及びデータ(A)の受信動作を終了すると、次に、データ(A)内に含まれていた状態情報Stateを確認することにより、スタイラス2がホバー状態であるか否かを判定する(ステップS32)。そして、ホバー状態であると判定した場合には、データ(B)の受信動作を行う(ステップS33)。なお、図10を参照して説明したようにデータ(B)の送信はフレームの終了時刻まで継続して行われるため、この場合のセンサコントローラ31は指タッチの検出処理を行わない。
ステップS33の受信動作は、データ(A)の受信動作と同様、ステップS31で導出した位置座標に基づいて選択される1本の線状電極30X又は線状電極30Yを用いて行われる。この点は、後述するデータ(C)~(E)の受信動作(ステップS40,S53,S60)についても同様である。こうすることで、データ信号の検出期間をフルに活用することが可能になるので、センサコントローラ31からスタイラス2に対し、より多くのデータを送信することが可能になる。また、センサコントローラ31は、受信された信号を上述した第1の復調方法によって復調することにより、データ(B)を取得する。この点は、後述するデータ(C)の受信動作(ステップS53)についても同様である。
センサコントローラ31は、データ(B)の受信動作を終了すると、バースト信号、データ(A)、又はデータ(B)を受信したか否かを判定する(ステップS34)。その結果、いずれも受信しなかったと判定した場合には、状態フラグに「0」を設定し(ステップS35)、ステップS10に処理を戻す。このステップS35は、例えばスタイラス2が図1に示したセンシング範囲SRの外に離脱したなどの理由で、センサコントローラ31がダウンリンク信号を受信できなくなった場合の処理である。一方、ステップS34でいずれかを受信したと判定した場合、データ(B)を通じて受け取ることのできる固有IDの断片(13ビット分のデータ)をすべて(すなわち52ビット分)受信したか否かを判定する(ステップS36)。そして、未だ受け取っていない(残りがある)と判定した場合には、固有IDの送信指示(ID要求)を示すコマンドを次にスタイラス2に対して送信するコマンドとして決定した(ステップS37)うえで、ステップS10に処理を戻す。一方、ステップS36ですべて受信した(残りがない)と判定した場合には、状態フラグに「4」を設定し(ステップS38)、さらに、固有ID以外のデータの送信指示(DT要求)を示すコマンドを次にスタイラス2に対して送信するコマンドとして決定した(ステップS39)うえで、ステップS10に処理を戻す。
ここで、図示していないが、センサコントローラ31は、ステップS38,S39の実行と並行して、受信した固有IDの複数の断片を結合することによって固有IDを復元し、記憶する処理を行う。この場合においてセンサコントローラ31は、各断片とともに送信されたフレーム番号FNに基づき、結合の順序を決定する。
ステップS32でホバー状態でない(接触状態である)と判定した場合のセンサコントローラ31は、データ(D)の受信動作を行う(ステップS40)。この受信動作は、図13にも示すように、本来指タッチ検出用として確保されている時間に若干食い込む形で行われるが、センサコントローラ31は、ステップS40の終了後の残りの時間を利用して、指タッチの検出処理を行う(ステップS41)。センサコントローラ31は、受信された信号を上述した第1のビットレートに対応する第2の復調方法によって復調することにより、データ(D)を取得する。この点は、後述するデータ(E)の受信動作(ステップS60)についても同様である。第2の復調方法は、第1の復調方法に比べてビット誤り率の高い復調方法となる。
センサコントローラ31は、データ(D)の受信動作を終了すると、バースト信号、データ(A)、又はデータ(D)を受信したか否かを判定する(ステップS42)。その結果、いずれも受信しなかったと判定した場合には、状態フラグに「0」を設定し(ステップS43)、ステップS10に処理を戻す。このステップS43は、例えばスタイラス2が図1に示したセンシング範囲SRの外に離脱したなどの理由で、センサコントローラ31がダウンリンク信号を受信できなくなった場合の処理である。一方、ステップS42でいずれかを受信したと判定した場合、センサコントローラ31は、データ(D)を通じて受け取ることのできる固有IDの断片(12ビット分のデータ)をすべて(すなわち48ビット分)受信したか否かを判定する(ステップS44)。そして、未だ受け取っていない(残りがある)と判定した場合には、固有IDの送信指示(ID要求)を示すコマンドを次にスタイラス2に対して送信するコマンドとして決定した(ステップS45)うえで、ステップS10に処理を戻す。一方、ステップS44ですべて受信した(残りがない)と判定した場合には、状態フラグに「4」を設定し(ステップS46)、さらに、固有ID以外のデータの送信指示(DT要求)を示すコマンドを次にスタイラス2に対して送信するコマンドとして決定した(ステップS47)うえで、ステップS10に処理を戻す。
ステップS10で参照した状態フラグが「4」であった場合、センサコントローラ31は、ステップS39,S47又は後述するステップS57,S64で決定したコマンドを示すコマンド信号を送信する(ステップS50)。その後、センサコントローラ31は、バースト信号及びデータ(A)の受信動作を順次行う(ステップS51a,S51b)とともに、バースト信号を受信した場合には、受信したバースト信号の各線状電極30X,30Yでの検出強度に基づいて、スタイラス2の位置座標の導出を行う。
センサコントローラ31は、バースト信号及びデータ(A)の受信動作を終了すると、次に、データ(A)内に含まれていた状態情報Stateを確認することにより、スタイラス2がホバー状態であるか否かを判定する(ステップS52)。そして、ホバー状態であると判定した場合には、データ(C)の受信動作を行う(ステップS53)。
センサコントローラ31は、データ(C)の受信動作を終了すると、時間Tfにわたって指タッチの検出処理(ステップS54)を行いつつ、バースト信号、データ(A)、又はデータ(C)を受信したか否かを判定する(ステップS55)。その結果、いずれも受信しなかったと判定した場合には、状態フラグに「0」を設定し(ステップS56)、ステップS10に処理を戻す。このステップS56は、例えばスタイラス2が図1に示したセンシング範囲SRの外に離脱したなどの理由で、センサコントローラ31がダウンリンク信号を受信できなくなった場合の処理である。一方、ステップS55でいずれかを受信したと判定した場合、固有ID以外のデータの送信指示(DT要求)を示すコマンドを次にスタイラス2に対して送信するコマンドとして決定した(ステップS57)うえで、ステップS10に処理を戻す。
ステップS52でホバー状態でない(接触状態である)と判定した場合のセンサコントローラ31は、データ(E)の受信動作を行う(ステップS60)。この受信動作は、図13にも示すように、本来指タッチ検出用として確保されている時間に若干食い込む形で行われるが、センサコントローラ31は、ステップS60の終了後の残りの時間を利用して、指タッチの検出処理を行う(ステップS61)。
センサコントローラ31は、データ(E)の受信動作を終了すると、バースト信号、データ(A)、又はデータ(E)を受信したか否かを判定する(ステップS62)。その結果、いずれも受信しなかったと判定した場合には、状態フラグに「0」を設定し(ステップS63)、ステップS10に処理を戻す。このステップS63は、例えばスタイラス2が図1に示したセンシング範囲SRの外に離脱したなどの理由で、センサコントローラ31がダウンリンク信号を受信できなくなった場合の処理である。一方、ステップS62でいずれかを受信したと判定した場合、固有ID以外のデータの送信指示(DT要求)を示すコマンドを次にスタイラス2に対して送信するコマンドとして決定した(ステップS64)うえで、ステップS10に処理を戻す。
ここで、図示していないが、センサコントローラ31は、ステップS64の実行と並行して、データ(E)を通じて受け取ることのできるシリアル番号SNの断片(1ビット分のデータ)をすべて受信したか否かの判定を行う。そして、すべて受信したと判定した場合、受信したシリアル番号SNの複数の断片と、繰り返し実行したステップS40で受信した固有IDの複数の断片とを結合することによって固有IDを復元し、記憶する処理を行う。この場合においてセンサコントローラ31は、シリアル番号SNの各断片とともに送信されたフレーム番号FNに基づいてこれらの結合の順序を決定するとともに、固有IDの各断片とともに送信されたフレーム番号FNに基づいてこれらの結合の順序を決定する。固有ID内におけるシリアル番号SNの位置については、予め仕様によって決定される。
このような情報の復元方法は、筆圧データPについても同様である。すなわち、上述したように、スタイラス2は筆圧データPを複数のフレームに分割して送信するが、センサコントローラ31は、筆圧データPの各断片とともに受信されたフレーム番号FNに基づいて、受信した筆圧データPの複数の断片の結合順を決定することができる。
以上、図11に示したスタイラス2の処理に対応するセンサコントローラ31の処理について説明した。次に、スタイラス2の制御部90が、ホバー状態で送信されるデータ(B)(C)及びデータ(A)のビットレート(第2のビットレート)を、接触状態で送信されるデータ(D)(E)のビットレート(第1のビットレート)に比べて小さな値とするための具体的な方法について、図14~図19を参照しながら詳しく説明する。
図14は、スタイラス2によるデータ(A)~(C)及びデータ(D)(E)それぞれの送信方法の第1の例を示す図である。この例によるスタイラス2の送信部75は、スタイラス2の状態によらず同じ変調方式を用いて、送信対象のデータによるキャリア信号の変調を行うよう構成される。具体的には、固定周波数のキャリア信号を用いる振幅変調(オンオフ変調を含む)又は位相変調を利用して、送信対象のデータによるキャリア信号の変調を行う。そして制御部90は、データ(D)(E)の変調レート(単位時間当たりの変調の回数)がデータ(A)~(C)の変調レートよりも大きくなるように(図14の例では、4:1となるように)、送信部75を制御する。その結果、データ(D)(E)のビットレート(第1のビットレート)がデータ(A)~(C)のビットレート(第2のビットレート)よりも大きくなるので、接触状態では例えば図10のスイッチ情報SW1とは異なる筆圧データP等の大きな情報量のデータ送信を可能にしつつ、ホバー状態で送信される第1のデジタル値(図10のスイッチ情報SW1など)について接触状態で送信されるときに比して、センサコントローラ31での復調エラーやビット値の判定誤り率を低減することが可能となる。変調レートの変更は、例えばスイッチ情報SW1により振幅変調あるいは位相変調された送信時間を、接触状態に比してホバー時には長くすることにより実現するとしてもよい。
図15は、スタイラス2によるデータ(A)~(C)及びデータ(D)(E)それぞれの送信方法の第2の例を示す図である。この例による制御部90は、送信対象データの各ビットについて、データ(D)(E)においては1度だけ送信する一方、データ(A)~(C)においては4回繰り返し送信するよう送信部75を制御する。この制御は、符号化方法としてホバー状態ではより多くの冗長性を持たせる(誤り訂正に用いる)ものであっても、図14のように変調レートをホバー状態で小さくするためのものであってもよい。したがって、実質的に送信されるデータ量の観点で見ると、データ(D)(E)のビットレート(第1のビットレート)がデータ(A)~(C)のビットレート(第2のビットレート)よりも大きくなるので、本例によっても、接触状態ではスイッチ情報SW1とは異なる筆圧データP等の多数の情報量のデータの送信を可能にしつつ、ホバー状態で送信される第1のデジタル値(図10のスイッチ情報SW1など)について接触状態で送信されるときに比してセンサコントローラ31での判定誤り率を低減することが可能となる。
尚、誤り訂正をする上で冗長性を持たせる符号化処理として、ホバー状態の方が接触状態よりも大きければ、その比率はかならずしもN:1(Nは2以上の整数)でなくともよい。例えば、接触時にはM回(Mは2以上の整数)同じ情報を繰り返し、ホバー状態ではN回(N>M)同じ情報を繰り返すとしてもよい。
図16は、スタイラス2によるデータ(A)~(C)及びデータ(D)(E)それぞれの送信方法の第3の例を示す図である。この例による制御部90は、データ信号の末尾にチェックサムCS(第1の誤り検出符号)を付加するよう送信部75を制御する。そして、データ(A)~(C)を送信する場合には、データ(D)(E)を送信する場合に比べて、付加するチェックサムCSのビット数を大きくする。具体的には、送信時間td分のサイズ(nビットとする)のデータに対して、データ(A)~(C)では送信時間tc1分のサイズのチェックサムCSを付加し、データ(D)(E)では送信時間tc2(<tc1)分のサイズのチェックサムCSを付加する。ビットレートは1単位時間当たりの送信ビット数に他ならないので、この場合におけるデータ(A)~(C)のビットレート(第1のビットレート)はn/(td+tc2)となり、データ(A)~(C)のビットレート(第2のビットレート)はn/(td+tc1)となる。tc1>tc2であるので、後者(=n/(td+tc1))は、前者(=n/(td+tc2))より小さい値となる。したがって、本例によっても、第2のビットレートを第1のビットレートより小さな値とすることが実現されると言える。
図17は、スタイラス2によるデータ(A)~(C)及びデータ(D)(E)それぞれの送信方法の第4の例を示す図である。この例によるスタイラス2は、データ(A)~(C)の変調方式(第2の変調方式)として位相変調(具体的にはBPSK)又は振幅変調のいずれかを使用する一方、データ(D)(E)の変調方式(第1の変調方式)として振幅位相変調(具体的には4QAM)を使用する。つまり、データ(A)~(C)とデータ(D)(E)とで異なる変調方式を用い、それによって、データ(A)~(C)のビットレートをデータ(D)(E)に比べて小さくしている。第1の変調方式は、第2の変調方式よりもビット誤り率の小さい変調方式となる。具体的に図17の例では、データ(D)(E)のビットレート(第1のビットレート)とデータ(A)~(C)のビットレート(第2のビットレート)の比率が2:1となっている。したがって、本例によっても、第2のビットレートを第1のビットレートより小さな値とすることが実現される。
図18は、スタイラス2によるデータ(A)~(C)及びデータ(D)(E)それぞれの送信方法の第5の例を示す図である。この例によるスタイラス2は、第4の例によるスタイラス2と同様、データ(A)~(C)の変調方式として位相変調(具体的にはBPSK)を使用する一方、データ(D)(E)の変調方式として振幅位相変調を使用する。本例による振幅位相変調は、位相(0度又は180度)によって1ビット目を表現し、振幅(1倍又は2倍)によって2ビット目を表現するというものである。本例によっても、第4の例と同様、データ(D)(E)のビットレート(第1のビットレート)とデータ(A)~(C)のビットレート(第2のビットレート)の比率が2:1となるので、第2のビットレートを第1のビットレートより小さな値とすることが実現される。
図19は、スタイラス2によるデータ(A)~(C)及びデータ(D)(E)それぞれの送信方法の第6の例を示す図である。本例は、線状電極30X,30Yとともに配置される表示パネルの駆動が休止しているブランク期間内に、センサコントローラ31によるコマンド信号の送信と、スタイラス2によるダウンリンク信号の送信とが実行される場合に関するもので、図19(a)は1つ目のブランク期間に対応するフレームFrame_1を、図19(b)は、1つ目のブランク期間に続く2つ目のブランク期間に対応するフレームFrame_2をそれぞれ示している。各図に示す丸数字の1はデータ(B)(C)に対応し、丸数字の2はデータ(D)(E)に対応している。
本例によるスタイラス2は、データ(D)(E)を送信する場合には、2つのフレームFrame_1,Frame_2を用いて14ビット分の情報を送信する。より具体的に言えば、フレームFrame_1内では、スタイラス2がホバー状態及び接触状態のいずれにあるかを示す状態情報としての役割を持つ2ビットの情報に続けて各1ビットのデータdata1~data6を送信し、フレームFrame_2内では各1ビットのデータdata7~data14を送信する。なお、フレームFrame_1内の最初に配置される状態情報としての2ビットの情報は、具体的には「01」又は「10」であり、センサコントローラ31がデータ(D)(E)とデータ(B)(C)とを区別できるように配置されている。
一方、データ(B)(C)を送信する場合、スタイラス2は、2つのフレームFrame_1,Frame_2を用いて2ビット分の情報を送信する。より具体的に言えば、フレームFrame_1内では、1ビット目の情報(「0」又は「1」)を8回続けて送信し、フレームFrame_2内では、2ビット目の情報(「0」又は「1」)を8回続けて送信する。
つまり、本例によるスタイラス2は、送信対象データの各ビットを、データ(D)(E)においては1度だけ送信する一方、データ(B)(C)においては8回繰り返し送信しているのであり、これは、繰り返し回数が異なる点を除いて図15に示した第2の例によるスタイラス2と同じである。したがって、本例によっても、第2のビットレートを第1のビットレートより小さな値とすることが実現される。
以上説明したように、本実施の形態によるスタイラス2によれば、ホバー状態で送信されるデータ(B)(C)のビットレート(第2のビットレート)を、接触状態で送信されるデータ(D)(E)のビットレート(第1のビットレート)に比べて小さな値とすることが実現される。したがって、ダウンリンク信号のS/N比が悪化しがちなホバー状態での雑音耐性が改善するので、ダウンリンク信号の未検出率の削減、ダウンリンク信号の復調時あるいは復号時におけるビット誤検出率の削減、誤り訂正を考慮した上での復号誤り率の削減などの効果が得られ、それにより、接触状態と同じ送信強度でダウンリンク信号を送信するとしても、ホバー状態でのダウンリンク信号の受信失敗の可能性を低減することが可能になる。
また、データ(A)について、スタイラス2の状態によらず、データ(B)(C)と同様の小さなビットレートで送信しているので、センサコントローラ31は、スタイラス2の状態によらず、状態情報Stateを確実に受信することができる。したがって、センサコントローラ31の受信動作(上述した第1又は第2の復調方法)をダウンリンク信号のビットレートに合わせて確実に変えることができるので、スタイラス2からセンサコントローラ31に対し、データ(B)~(E)を確実に送信することが可能になる。
さらに、図10に示したように、各フレームがフレーム番号FNを有しているので、スタイラス2が固有IDや筆圧データPなどのサイズの大きいデータを複数のフレームに分割して送信する場合に、受信側であるセンサコントローラ31は、分割情報が順番どおりに受信されなくても、フレーム番号FNに基づいて適切に情報を復元することが可能になる。
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
例えば、上記実施の形態では、データ(B)~(E)のいずれについても、その直前にバースト信号及びデータ(A)を送信することとして説明したが、例えばデータ(D)(E)については、直前におけるバースト信号及びデータ(A)の送信を省略することも可能である。
また、上記実施の形態では、スタイラス2はすべてのフレームで状態情報Stateを送信するものとして説明したが、2以上のフレームを連続して送信する場合に、2以上のフレームのうち最初のフレームに状態情報Stateを含め、最初のフレームに連続する後続のフレームでは状態情報Stateを送信しないこととしてもよい。より具体的には、スーパーフレーム内で最初に送信するフレーム以外のフレームでは、状態情報Stateを送信しない(送信を省略する)こととしてもよい。この場合、センサコントローラ31は、最初のフレームで受信した状態情報Stateを記憶しておき、その状態情報Stateを後続のフレームにも適用することとすればよい。なお、このような状態情報Stateの送信の省略は、スタイラス2の状態が接触状態である場合にのみ行うことが好ましい。
また、上記実施の形態では特に言及していないが、図11のステップS85で接触状態と判定した場合のスタイラス2の状態を「固有ID送信モード」と称し、図11のステップS90で接触状態と判定した場合のスタイラス2の状態を「シリアル番号送信モード」と称することとしてもよい。この場合、スタイラス2の制御部90は、固有ID送信モードに対応するスーパーフレームでは、データ(D)によりスタイラス2の固有IDのうちシリアル番号を除く部分を送信するよう送信部75を制御する一方、シリアル番号送信モードに対応するスーパーフレームでは、データ(E)によりシリアル番号SNを送信するよう送信部75を制御することとなる。
また、上記実施の形態では、スタイラス2は、センサコントローラ31から送信されたコマンド信号の内容を判定し、これにより、コマンドが固有IDの送信指示(ID)及び固有ID以外のデータの送信指示(DT)のいずれであるかを判別し、その結果に応じて固有IDを送信するか固有ID以外のデータを送信するかを切り替えるとしたが、この判定は、スタイラス2が自己の状態(例えばスイッチSW1の操作状態)によって行うものとしてもよい。例えば、スイッチSW1が操作されていない場合(つまりユーザがスタイラス2の操作部(スイッチSW1やスイッチSW2等)に全く触れていない場合)には固有IDを送信し、スイッチSW1が操作されている(つまりONである)場合には、固有ID以外のデータ(スイッチSW1の情報など)を送信するとしてもよい。このようにすることで、無操作状態時に、比較的情報量の大きい固有IDの送信を完了することが可能になる。また、ホバー状態で送信される固有IDに、接触状態で送信されるシリアル番号SNの情報を含むとしてもよい。
また、センサコントローラ31は、コマンド等の任意のデータ(第3のデジタル値)を含むアップリンク信号を送信する際、このデータに対応するチェックサム(第2の誤り検出符号)を付加することとしてもよい。この場合、スタイラス2は、このチェックサムを用いて、センサコントローラ31が送信したデータを正しく受信できたか否かを判定することが好ましいが、ロングバースト信号、バースト信号、データ(A)~(E)の送信は、この判定の結果によらず(判定の結果がNGであったとしても)行うこととしてもよい。
以下、上記実施の形態の第1及び第2の変形例について説明する。
図20は、上記実施の形態の第1の変形例によるスタイラス2の構成を示す図である。本変形例によるセンサコントローラ31及びスタイラス2は、アップリンク信号の送信に静電結合方式を利用しない無線通信を用いる点で、上記実施の形態と相違している。また、スタイラス2が互いにキャリア信号の形式が異なる2種類のダウンリンク信号DS1,DS2の送信に対応している点でも、上記実施の形態と相違している。ダウンリンク信号DS1,DS2はともに、上述したロングバースト信号、バースト信号、及びデータ(A)~(E)を送信可能に構成されており、スタイラス2は、接近しているセンサコントローラ31の種類に応じてこれらを使い分ける。以下、図20を参照しながら、本変形例によるスタイラス2の構成について、詳しく説明する。
本変形例によるスタイラス2は、図20に示すように、電極21、信号処理部24、電源25、増幅部26、及び受信部27を有して構成される。
受信部27は、無線通信として例えばブルートゥース(登録商標)による通信を実行可能に構成された機能部であり、本変形例では、センサコントローラ31がブルートゥース(登録商標)によって送信したアップリンク信号を受信する。
信号処理部24は、2種類のダウンリンク信号DS1,DS2を選択的に送信する機能と、受信部27を介してアップリンク信号USを受信する機能とを有する機能部であり、具体的には、制御部91、昇圧部92、発振部93、スイッチ部94を有して構成される。
昇圧部92は、電源25から供給される直流電圧を昇圧することにより、直流電圧V1を生成する機能を有する。具体的な例では、昇圧部92はDC-DCコンバータ又はチャージポンプ回路によって構成される。
発振部93は、電源25から供給される直流電圧に基づいて発振動作を行うことにより、所定周波数で振動する無変調の正弦波信号(搬送波信号)を生成する機能を有する。増幅部26は、発振部93によって生成された正弦波信号を所定の増幅率で増幅することにより、無変調の正弦波信号v2を生成する機能を有する。増幅部26は、図20に示すように、トランス及びキャパシタにより構成される増幅回路により構成されることが好ましい。
スイッチ部94は1回路3接点のスイッチ素子であり、昇圧部92の出力端に接続される端子aと、増幅部26の出力端に接続される端子bと、接地電位が供給される電源配線に接続される端子gと、電極21に接続される共通端子cとを有して構成される。
制御部91は、スイッチ部94を制御するための制御信号Ctrlを供給するとともに、受信部27を制御してセンサコントローラ31が送信したアップリンク信号を受信するICであり、電源25から供給される電力により動作するよう構成される。具体的な例では、制御部91はASIC又はMCUであってよい。制御部91は、受信部27を介して受信されるアップリンク信号の内容又はアップリンク信号が受信されないという事実(センサコントローラ31が、スタイラス2からセンサコントローラ31への一方向の通信のみに対応する場合)に基づき、図10に示したロングバースト信号、バースト信号、及びデータ(A)~(E)を送信するために使用するダウンリンク信号の種別(ダウンリンク信号DS1又はダウンリンク信号DS2)を決定する。また、図8に示した制御部90と同様に各種信号等の送受信スケジュールを決定し、決定した送受信スケジュールに基づいて、スイッチ部94の制御を行う。
ダウンリンク信号DS1を送信する場合の制御部91は、昇圧部92の出力端と電極21の間に設けられる第1のスイッチ部として機能するよう、スイッチ部94を制御する。つまり、端子aが共通端子cに接続されている状態と、端子gが共通端子cに接続されている状態との間で、スイッチ部94を切り替える処理を行う。端子aが共通端子cに接続されている状態は第1のスイッチ部がオンとなっている状態に対応し、端子gが共通端子cに接続されている状態は第1のスイッチ部がオフとなっている状態に対応する。
ダウンリンク信号DS1を用いてバースト信号又はロングバースト信号を送信する場合、制御部91は、所定の周期で周期的にスイッチ部94の切り替え制御を行う。端子aが共通端子cに接続されている場合には、直流電圧V1がスイッチ部94の出力電圧となる。一方、端子gが共通端子cに接続されている場合には、接地電位がスイッチ部94の出力電圧となる。したがって、スイッチ部94からは無変調のパルス列信号が出力され、これがロングバースト信号又はバースト信号となる。
一方、ダウンリンク信号DS1を用いてデータ信号を送信する場合、制御部91は、固有ID、筆圧データP、スタイラス2に設けられるスイッチ(図示せず)のオンオフを示すスイッチ情報SWなどのデータに応じてスイッチ部94の切り替え制御を行うことにより、データに基づいて変調されたパルス列信号であるデータ信号を生成する。制御部91によるパルス列信号の変調の具体的な方式としては、オンオフ変調や周波数変調などが考えられる。
ダウンリンク信号DS2を送信する場合の制御部91は、増幅部26の出力端と電極21の間に設けられる第2のスイッチ部として機能するよう、スイッチ部94を制御する。つまり、端子bが共通端子cに接続されている状態と、端子gが共通端子cに接続されている状態との間で、スイッチ部94を切り替える処理を行う。端子bが共通端子cに接続されている状態は第2のスイッチ部がオンとなっている状態に対応し、端子gが共通端子cに接続されている状態は第2のスイッチ部がオフとなっている状態に対応する。
ダウンリンク信号DS2を用いてバースト信号又はロングバースト信号を送信する場合、制御部91は、スイッチ部94を端子b側に固定する。したがって、スイッチ部94からは無変調の正弦波信号v2が出力され、これがロングバースト信号又はバースト信号となる。
一方、ダウンリンク信号DS2を用いてデータ信号を送信する場合、制御部91は、固有ID、筆圧データP、スイッチ情報SWなどのデータに基づいてスイッチ部94の切り替え制御を行うことにより、データに基づいて変調された正弦波信号であるデータ信号を生成する。制御部91による正弦波信号の変調の具体的な方式としては、オンオフ変調が採用される。
以上説明したように、本変形例によれば、アップリンク信号の送受信にブルートゥース(登録商標)を利用することができる。なお、ここではブルートゥース(登録商標)を利用する例を説明したが、アップリンク信号の送受信のためにブルートゥース(登録商標)以外の近接無線通信を用いてもよいのは、勿論である。
また、本変形例によれば、スタイラス2は、ダウンリンク信号DS1,DS2の使い分けにより、種類の異なる複数のセンサコントローラ31との間で、双方向又は一方向に通信を行うことが可能になる。
図21は、上記実施の形態の第2の変形例によるスタイラス2の動作を示す処理フロー図である。本変形例によるスタイラス2は、筆圧検出センサ23によって検出されている筆圧ではなくアップリンク信号の受信強度に基づいて自身の状態を判定する点で、上記実施の形態と相違している。以下、図21を参照しながら、上記実施の形態との相違点を中心に、本変形例によるスタイラス2の動作について詳しく説明する。
本変形例によるスタイラス2は、図10に示したステップS85,S92の判定に代えて、それぞれステップS100,S101の判定を行う。ステップS100,S101はともに、直前のステップS80で検出したコマンド信号の受信強度を判定するステップである。
ステップS100において受信強度が所定値未満(すなわち「弱」)であると判定した場合、スタイラス2は、自身の状態をホバー状態と決定する。そして、ステップS85でホバー状態であると判定した場合と同様、バースト信号及びデータ(A)(B)の送信を行う(ステップS86~S88)。一方、ステップS100において受信強度が所定値以上(すなわち「強」)であると判定した場合、スタイラス2は、自身の状態を接触状態と決定する。そして、ステップS85で接触状態であると判定した場合と同様、バースト信号及びデータ(A)(D)の送信を行う(ステップS89~S91)。
また、ステップS101において受信強度が所定値未満(すなわち「弱」)であると判定した場合、スタイラス2は、自身の状態をホバー状態と決定する。そして、ステップS92でホバー状態であると判定した場合と同様、バースト信号及びデータ(A)(C)の送信を行う(ステップS93~S95)。一方、ステップS101において受信強度が所定値以上(すなわち「強」)であると判定した場合、スタイラス2は、自身の状態を接触状態と決定する。そして、ステップS92で接触状態であると判定した場合と同様、バースト信号及びデータ(A)(E)の送信を行う(ステップS97~S99)。
このように、本変形例によるスタイラス2によれば、筆圧によらず、コマンド信号の受信強度に基づいてスタイラス2の状態を決定することが可能になる。したがって、例えば筆圧検出機能を有しないスタイラス2に対しても、本発明を適用することが可能になる。
なお、本変形例では、スタイラス2がアップリンク信号(具体的にはコマンド信号)の受信強度に基づいて自身の状態を決定する例を説明したが、センサコントローラ31におけるダウンリンク信号の受信強度に基づいて、センサコントローラ31がスタイラス2の状態を決定し、その結果をスタイラス2に通知するように構成することも可能である。この場合、センサコントローラ31は、コマンド信号の一部に、スタイラス2の状態を示す状態情報を含めることとし、スタイラス2は、この状態情報を受信して復号することにより、自身の状態を取得することが好適である。