(58)【調査した分野】(Int.Cl.,DB名)
前記シフト量は、ある1つのデータの値が対応づけられるビット列と他の1つのデータの値が対応付けられるビット列とのハミング距離が小さいほど、前記ある1つのデータの値のシフト量と前記他の1つのデータの値のシフト量との差が小さくなるように決定される、
請求項1に記載の方法。
前記センサコントローラは、前記所定の符号列及び前記所定の符号列を反転してなる符号列のいずれか一方を前記データの値に応じて選択し、選択した一方の符号列を前記データの値に応じたシフト量だけ巡回シフトすることにより、前記第2のチップ列を生成する、
請求項1に記載の方法。
前記センサコントローラはさらに、巡回シフトによって得られた符号列に固定符号又は該固定符号を反転してなる符号を付加することにより、前記第2のチップ列を生成する、
請求項4に記載の方法。
【発明を実施するための形態】
【0016】
以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
【0017】
図1は、本発明の実施の形態による位置検出システム1の構成を示す図である。位置検出システム1は、スタイラス2と、位置検出器3とを備えて構成される。
【0018】
スタイラス2は、位置検出器3が順次送信する信号を受信可能に構成されたアクティブES方式の位置指示器であって、
図1に示すように、芯20、電極21、筆圧検出センサ23、回路部24、及び電源25を有して構成される。電源25としては、例えば円筒型のAAAA電池が用いられる。なお、本実施の形態では、本発明をアクティブES方式のスタイラス2に適用する例を説明するが、本発明は、例えば電磁誘導方式などの他の方式のスタイラスを用いる場合にも好適に適用可能である。
【0019】
芯20は、その長手方向がスタイラス2のペン軸方向と一致するように配置される棒状の部材である。芯20の先端部20aの表面には導電性材料が塗布され、電極21を構成している。芯20の後端部は、筆圧検出センサ23に当接される。筆圧検出センサ23は、芯20の先端部20aに加えられる圧力(筆圧)を検出するために用いられる。
【0020】
回路部24は、位置検出器3が送信するアップリンク信号US(第1の制御信号US_c1及び第2の制御信号US_c2)を電極21を介して受信する機能と、位置検出器3に向け、電極21を介してダウンリンク信号DS(位置信号DS_pos及びデータ信号DS_res)を送信する機能とを有する。これらの信号については、後ほど詳細に説明する。
【0021】
位置検出器3は、タッチ面3aを構成するセンサ30と、センサコントローラ31と、これらを含む位置検出器3の各部を制御するホストプロセッサ32とを有して構成される。
【0022】
センサコントローラ31は、スタイラス2が送信するダウンリンク信号DS(位置信号DS_pos及びデータ信号DS_res)をセンサ30を介して受信する機能と、スタイラス2に向け、センサ30を介してアップリンク信号US(第1の制御信号US_c1及び第2の制御信号US_c2)を送信する機能とを有する。
【0023】
図2は、位置検出器3の構成を示す図である。同図に示すように、センサ30は複数の線状電極30Xと複数の線状電極30Yとがマトリクス状に配置された構成を有しており、これら線状電極30X,30Yによってスタイラス2と容量結合する。また、センサコントローラ31は、送信部60、選択部40、受信部50、ロジック部70、及びMCU80(制御部)を有して構成される。
【0024】
送信部60は、
図1に示したアップリンク信号US(第1の制御信号US_c1及び第2の制御信号US_c2)を送信するための回路である。具体的には、第1の制御信号供給部61、スイッチ62、拡散処理部63、符号列保持部64、及び送信ガード部65を含んで構成される。なお、このうち特に第1の制御信号供給部61に関して、本実施の形態では送信部60内に含まれるものとして説明するが、MCU80内に含まれることとしてもよい。
【0025】
第1の制御信号供給部61は検出パターンc1を保持しており、ロジック部70から供給される制御信号ctrl_t1の指示に従って、後述する
図5に示す連続送信期間TCP(例えば、3msec)の間、検出パターンc1に対応する信号(あるいはビット列)を連続して繰り返し出力する機能を有する。また、連続送信期間TCPの終了直後、あるいは、第2の制御信号US_c2の送信開始時に所定の区切パターンSTPを少なくとも2回連続して出力する機能も有している。第1の制御信号US_c1は、第1の制御信号供給部61からこうして出力される検出パターンc1及び区切パターンSTPにより構成される。
【0026】
検出パターンc1は、スタイラス100がセンサコントローラ31の存在を検出するために用いられるシンボルの値のパターンであり、事前に(スタイラス100がセンサコントローラ31を検出する前に)スタイラス100に既知にされている。シンボルは、送信処理においては変調に用いる情報の単位(送信信号が表現する情報の単位)であり、受信処理においては受信信号である1シンボルを復調して得られる情報の単位である。シンボルの値は、ビット列に変換される値(以下、「ビット列対応値」と称する)と、シンボルを受信したスタイラス100によってビット列に変換されない値(以下、「ビット列非対応値」と称する)とを含むことができる。後述の表1に示すように、前者にかかるシンボルは2のべき乗の個数の値をとり、「0001」などのビット列に対応付けることができる。こうしてビット列により表記される各シンボルのビット長は、直接拡散部63の仕様により決定される。一方、後者にかかるシンボルは1個以上(例えば2個)の値をとり、後述の表1に示すように「P」「M」などと表記されるビット列に対応づけない値を取る。後述の表1に示す一例では、「P」と「M」はそれぞれ、所定の拡散符号列とその反転符号列とに対応付けられる。
【0027】
検出パターンc1はビット列非対応値のパターンにより表すことができ、例えば「PMPMPM・・・」のように2つのビット列非対応値「P」「M」の繰り返しにより検出パターンc1を構成することができる。
【0028】
区切パターンSTPは、上記連続送信期間の終了をスタイラス100に通知するためのシンボルのパターンであり、検出パターンc1の繰り返し中に現れないシンボルのパターンによって構成される。一例を挙げると、上記のように検出パターンc1を「PMPMPM・・・」のように2つのビット列非対応値「P」「M」の繰り返しで構成する場合、区切パターンSTPは、ビット列非対応値「P」を2回連続させてなるパターン「PP」により構成することができる。尚、区切りパターンSTPと検出パターンc1との構成を逆にして、区切りパターンを「PM」により構成して検出パターンc1を「PP」により構成してもよい。
【0029】
スイッチ62は、ロジック部70から供給される制御信号ctrl_t2に基づいて第1の制御信号供給部61及びMCU80のいずれか一方を選択し、選択した一方の出力を拡散処理部63に供給する機能を有する。スイッチ62が第1の制御信号供給部61を選択した場合、拡散処理部63には検出パターンc1又は区切パターンSTPが供給される。一方、スイッチ62がMCU80を選択した場合、拡散処理部63には制御情報c2が供給される。
【0030】
制御情報c2は、スタイラス2への指示内容を示すコマンドを含む情報であり、MCU80によって生成され、
図10に示すような第2の制御信号US_c2により送信される。制御情報c2は可変長のビット列に対応づけられるシンボルの値(例えば0〜15)を含み、スタイラス2との間でその値が事前に共有されていない点で、検出パターンc1とは異なっている。また、制御情報c2は、上述した所定ビット長の2のべき乗の個数(8値)の値を示す値「D」により示される点で、値「P」「M」とを含む検出パターンc1と異なっている。第2の制御信号US_c2は、
図10に示すように区切りパターンSTP「PP」をプリアンブルとしその後にD1〜D3で示す3つの制御情報c2に対応する送信信号(チップ列)を含み構成され送信される。
【0031】
符号列保持部64は、ロジック部70から供給される制御信号ctrl_t3に基づき、自己相関特性を有する11チップ長の拡散符号PN(第2の符号列)を生成して保持する機能を有する。符号列保持部64が保持している拡散符号PNは、拡散処理部63に供給される。拡散符号PNの具体的な内容については後述する。
【0032】
拡散処理部63は、スイッチ62を介して供給されるシンボルの値(拡散処理部63の処理により送信信号により表現される情報)に基づいて符号列保持部64によって保持される拡散符号PNを1次変調(後述する巡回シフトあるいは反転)することにより、12チップ長の符号列(後述する表1、
図6に示すチップ列CN2。第2のチップ列)を得る機能(チップ列取得機能)を有する。このチップ列取得機能(1次変調処理)については後に
図5〜
図9を参照しながらより詳しく説明するが、ここで簡単に概要のみ説明する。
【0033】
本実施の形態における検出パターンc1、区切パターンSTP、制御情報c2はそれぞれ、ビット列対応値0〜15(対応ビット列「0000」〜「1111」)及びビット列非対応値「P」「M」の組み合わせによって構成される。また、拡散符号保持部64から供給される拡散符号PNは、「00010010111」である。
【0034】
拡散処理部63による1次変調において、各シンボルの値(0〜15並びにP及びM)は、各々対応するチップ列CN2に変換される。表1には、チップ列取得機能によるシンボルの値と生成されるチップ列CN2の対応関係の具体例を示している。
【0036】
表1に示すように1つのシンボルは多値を示し、シンボルの値は拡散符号PNをシンボルの値に基づいたシフト量巡回シフトし、非反転又は反転させることで得られる上記表1のいずれかのチップ列CN2に対応づけられる。シンボルの値は所定ビット長のビット列により表される2のべき乗の個数(例えば16個)の値のいずれか(「0〜15」)、又は、ビット列に対応しない前記2のべき乗の個数の値とは異なる1個以上の個数の値(「P」「M」)のいずれかを取る。前者は制御情報c2の送信に用いられ、後者はプリアンブルなど区切パターンSTPの送信に用いられる。
【0037】
表の各行を詳しく説明すると、シンボルの値「P」はビット列非対応値であり、自己相関特性を有する拡散符号PN「00010010111」の先頭に固定チップ「1」を付けてなる符号列に変換される。ビット列非対応値「M」は、拡散符号PN「00010010111」の極性を反転された反転符号「11101101000」の先頭に固定チップである「0」を付けてなる符号列に変換される。
【0038】
ビット列対応値0〜7はそれぞれ、拡散符号PNを各々表1に示すシフト量で巡回シフトしてなる符号の先頭に「1」を付けてなる符号列に変換される。例えば、シンボルの値「4」は、拡散符号PNを右に9個(左に2)巡回シフトしてなる符号の先頭に「1」を付けてなる符号列に変換される。また、ビット列対応値8〜15はそれぞれ、拡散符号PNの極性が反転された反転符号「11101101000」を、それぞれシンボルの値で所定のシフト量で巡回シフトしてなる符号の先頭に「0」を付けてなる符号列に変換される。例えば、シンボルの値「12」は、拡散符号PNを反転し、右に9(左に2)巡回シフトしてなる符号の先頭に「1」を付してなる符号列に変換される。
【0039】
コマンドに用いられるビット列対応値0〜7のシフト量のうち最も近いもののシフト量の差は1である。一方、プリアンブルなど区切パターンSTPに用いるシンボルの値「P」のシフト量(即ち、0)と、コマンドに用いられるビット列対応値0〜7のうち最もシフト量の近い値「0」(右に2)又は「4」のシフト量(左に2)のとの差は2であり、ビット列対応値0〜7のシフト量の差うち最小の差に比して大きく確保してある。このように、プリアンブルなどの区切パターンを構成するシンボルの値「P」及び「M」のシフト量(「0」)とコマンドを構成する値(「0」「4」及び「8」「12」)に基づいたシフト量(+2、−2)との差を、コマンドを構成するある1つの値とコマンドを構成する他の値とのシフト量のうち最も小さい値よりも大きくとることで、プリアンブルなどの区切パターンをコマンドに対応する所定の値のいずれかと誤って判定してしまう確率を低減することが可能となる。
【0040】
ここで、シフト量は、ある1つのシンボルの値が対応づけられるビット列と他の1つのシンボルの値が対応付けられるビット列とのハミング距離が小さいほど、ある1つのシンボルの値のシフト量と他の1つのシンボルの値のシフト量との差が小さくなるように、決定されている。単純に、シンボルの値が大きくなるにつれシフト量を大きくするのではなく、表1のようにビット列間のハミング距離に基づいてシフト量を決定して構成する理由については後述する。
【0041】
尚、送信部60(チップ列CN2を取得した拡散処理部63)は、表1のようにして取得したチップ列CN2をそのまま送信信号とするのではなく、チップ列CN2に基づいてキャリア信号を変調することで送信信号を生成する処理(2次変調処理)を行うとしてもよい。2次変調処理は必ずしも必要とはされないが、この2次変調処理には、チップ列CN2をマンチェスター符号化する処理などを含むことができる。
【0042】
図3(a)〜(c)はそれぞれ、拡散処理部63が生成する信号の一例を示す図である。以下、それぞれについて説明する。
【0043】
図3(a)は、拡散処理部63が2次変調処理を行わない場合の例である。この例では、1次変調によって生成されたチップ列CN2がそのまま、拡散処理部63によって生成される送信信号となる。
【0044】
図3(b)は、拡散処理部63が2次変調処理としてマンチェスター符号化のみを行う場合の例である。この場合の拡散処理部63は、チップ列CN2に含まれる複数のチップのうち「1」であるチップに立ち上がりエッジを割り当て、「0」であるチップに立ち下がりエッジを割り当てることによって、マンチェスター符号化したチップ列CN2を取得する。なお、「0」であるチップに立ち上がりエッジを割り当て、「1」であるチップに立ち下がりエッジを割り当てることによってチップ列CN2のマンチェスター符号化を行うこととしてもよい。
図3(b)の例では、マンチェスター符号化されたチップ列CN2が、拡散処理部63によって生成される送信信号となる。
【0045】
図3(c)は、拡散処理部63が2次変調処理としてマンチェスター符号化及びデジタル変調を行う場合の例である。この場合の拡散処理部63は、マンチェスター符号化したチップ列CN2に基づいて所定の搬送波信号を変調することにより、
図3(c)に示すような送信信号を生成する。なお、
図3にはBPSK(Binary Phase Shift Keying)に従って生成した送信信号の例を記載しているが、他のデジタル変調方式を用いることとしてもよい。また、
図3では搬送波信号として正弦波信号を用いているが、矩形波信号など他の種類の搬送波信号を用いてもよい。
【0046】
拡散処理部63が行う2次変調処理にマンチェスター符号化を含むことで、
図3(b)からも理解されるように、1チップに相当する期間以上の期間にわたって同じ値が連続することがなくなる。このように拡散符号PNによりスペクトラムが拡散された送信信号を2次変調することにより、例えば低周波数成分を避けるように所望の周波数帯を利用して送信することができる。
【0047】
図2に戻る。拡散処理部63によって生成された送信信号(第1の制御信号US_c1及び第2の制御信号US_c2)は、送信ガード部65に供給される。送信ガード部65は、ロジック部70から供給される制御信号ctrl_t4に基づき、第1の制御信号US_c1及び第2の制御信号US_c2の送信期間と後述する受信期間RDSとの間に、送信動作と受信動作を切り替えるために送信と受信の両方を行わない期間であるガード期間を挿入する機能を有する。
【0048】
選択部40は、ロジック部70の制御に基づいて、センサ30から信号を送信する送信期間と、センサ30により信号を受信する受信期間とを切り替えるスイッチである。具体的に説明すると、選択部40は、スイッチ44x,44yと、導体選択回路41x,41yとを含んで構成される。スイッチ44xは、ロジック部70から供給される制御信号sTRxに基づき、送信期間には、送信部60の出力端を導体選択回路41xの入力端に接続し、受信期間には、導体選択回路41xの出力端を受信部50の入力端に接続するよう動作する。スイッチ44yは、ロジック部70から供給される制御信号sTRyに基づき、送信期間には、送信部60の出力端を導体選択回路41yの入力端に接続し、受信期間には、導体選択回路41yの出力端を受信部50の入力端に接続するよう動作する。導体選択回路41xは、ロジック部70から供給される制御信号selXに基づき、複数の線状電極30Xのうちの1つを選択し、選択したものをスイッチ44xに接続するよう動作する。導体選択回路41yは、ロジック部70から供給される制御信号selYに基づき、複数の線状電極30Yのうちの1つを選択し、選択したものをスイッチ44yに接続するよう動作する。
【0049】
受信部50は、ロジック部70の制御信号ctrl_rに基づいて、スタイラス2が送信する位置信号DS_pos及びデータ信号DS_resを検出あるいは受信するための回路である。具体的には、増幅回路51、検波回路52、及び、アナログデジタル(AD)変換器53を含んで構成される。
【0050】
増幅回路51は、選択部40から供給される位置信号DS_pos及びデータ信号DS_resを増幅して出力する。検波回路52は、増幅回路51の出力信号のレベルに対応した電圧を生成する回路である。AD変換器53は、検波回路52から出力される電圧を所定時間間隔でサンプリングすることによって、デジタル信号を生成する回路である。AD変換器53が出力するデジタルデータはMCU80に供給される。
【0051】
ロジック部70及びMCU80は、送信部60及び受信部50等の送受信動作を制御する制御部である。具体的に説明すると、MCU80は、内部にROMおよびRAMを有し、所定のプログラムに基づき動作するマイクロプロセッサである。一方、ロジック部70は、MCU80の制御に基づき、上述した各制御信号を出力するよう構成される。MCU80はまた、AD変換器53から供給されるデジタルデータに基づいてスタイラス2の位置を示す座標データx,y等を導出し、ホストプロセッサ32に対して出力する役割を担う。
【0052】
図4は、スタイラス2の機能ブロックを示すブロック図である。同図に示すように、スタイラス2は、切替部SW、受信部26、送信部27、並びに制御部28を含んで構成される。
【0053】
切替部SWは、制御部28からの制御信号SWCに基づき、受信Rと送信Tとを切り替えるスイッチである。受信Rの場合には電極21を受信部26に接続し、送信Tの場合には電極21を送信部27に接続する。初期状態、すなわちスタイラス2が第1の制御信号US_c1を検出するまでの検出前期間BD(
図5参照)の間、切替部SWは受信Rに設定される。
【0054】
受信部26は、切替部SWから供給される信号(電極21に到来した信号)の受信を行い表1で示した送信信号からシンボルの値を得るための回路であり、復調回路26a及び相関回路26bを含んで構成される。受信部26は、消費電力を削減するため、センサコントローラ31を検出するまでの検出前期間BDでは、短縮された受信期間SRPを除いてその動作を停止している。
【0055】
図5も参照しながら説明すると、受信部26は、所定の周期WPa(例えば2.5msec)ごとに、短縮された受信期間SRP(周期WPaより短い時間。例えば60μsec)の間だけ第1の制御信号US_c1の受信動作を行い、第1の制御信号US_c1に例えば「PM」あるいは「MP」など所定長のビット列に対応付けないシンボルの値のパターンである検出パターンc1が含まれているか否かを判定する。スタイラス2は、これによってセンサコントローラ31の検出を試みる。センサコントローラ31を検出した後には、受信部26は、受信動作を継続して区切パターンSTPを検出し、さらに区切パターンSTPの後に検出した信号を第2の制御信号US_c2として受信して、そこから所定長のビット列に対応付けられる値Dにより構成される制御情報c2を抽出する処理を行う。
【0056】
ここで、上述したように、本実施の形態では連続する2つの同じシンボルの値「PP」により区切パターンSTPを構成している。このようにしているのは、スタイラス2が、電極21ではなく、その筐体をアンテナとして位置検出器3からの信号を受信してしまうことがあるためである。この場合、スタイラス2の回路部24には正負が逆転した状態で各信号が供給されるため、スタイラス2は、制御情報c2を正常に受信することができなくなる。そこで、スタイラス2は、区切パターンSTPを検出する際、シンボル値「PP」だけでなく、シンボル値「PP」を表すチップ列を反転させてなるチップ列により構成されるシンボル値「MM」も監視する。そして、シンボル値「PP」が検出された場合には通常どおりに後続のチップ列を検出することにより制御情報c2の受信を試みる一方、シンボル値「MM」が検出された場合には、後続のチップ列を検出後にすべて反転させることにより、制御情報c2の受信を試みる。このようにシンボル値が反転されているか非反転であるかを判定する際に、1つ目のチップ列の反転または非反転を参照として利用することで、スタイラス2は電極21ではなく筐体を介して位置検出器3からの信号が到来し電極21で得られた信号の極性が反転してしまっているような場合にも、極性の反転及び非反転の判定を誤らず制御情報c2を構成するデータを取得することが可能になる。
【0057】
復調回路26aは、位置検出器3が送信した信号を受信することにより、一連のチップを生成する受信回路である。具体的に説明すると、例えば位置検出器3が2次変調処理としてマンチェスター符号化及びデジタル変調を行う場合であれば、復調回路26aは、位置検出器3の拡散処理部63が搬送波信号の変調に用いた変調方式によって電極21に誘導された信号を復調することにより一連のチップを順次取得し、さらに、マンチェスター符号化の逆処理によってこの一連のチップを順次復号する処理を行う。復調回路26aは、この復号の結果得られる一連のチップを、1チップずつ相関回路26bに供給するよう構成される。拡散処理部63がマンチェスター符号化もデジタル変調も行わない場合には、復調回路26aは、順次受信される一連のチップを直接、1チップずつ相関回路26bに供給すればよい。
【0058】
相関回路26bは、復調回路26aから供給される一連のチップと、複数の既知の符号列のそれぞれとの相関処理を行うことにより、一連のチップ内に含まれる検出パターンc1、区切パターンSTP、制御情報c2を検出する機能を有する。この検出機能については、後に
図11を参照しながら、別途より詳しく説明する。検出パターンc1を検出した場合、相関回路26bは、制御部28に対して起動信号ENを発行する。区切パターンSTPを検出した場合、相関回路26bは、その検出時刻t2を制御部28に対して出力する。制御情報c2を検出した場合、相関回路26bは、検出した制御情報c2を制御部28に対して出力する。
【0059】
制御部28は、マイクロプロセッサ(MCU)により構成され、受信部26から起動信号ENが供給されたこと(すなわち、受信部26が検出パターンc1を検出したこと)を契機として起動し、各種の処理を行う。具体的には、受信部26から供給される検出時刻t2に基づいて各信号(制御情報c2、位置信号DS_pos、及びデータ信号DS_res)の送受信スケジュールを生成し、生成した送受信スケジュールに基づく制御信号SWCを生成して切替部SWに供給する処理と、受信部26から供給される制御情報c2に基づいてデータ信号DS_resの送信方法を制御する処理とを行う。
【0060】
データ信号DS_resの送信方法の制御について、詳しく説明する。制御部28は、制御情報c2により送信すべき情報の内容(ペンID、筆圧値、サイドスイッチの押下状態等)が指定されている場合、その指定に従い、位置検出器3に対して送信する情報の内容を制御する。具体的には、送信する情報を含む送信データResを生成し、送信部27に供給する。また、制御情報c2によりデータ信号DS_resの送信タイミング(例えば、データ信号DS_resの送信に用いるタイムスロット)が指定されている場合、その送信タイミングでデータ信号DS_resが送られることとなるよう、送信部27に送信データResを供給するタイミングを制御する。さらに、制御情報c2によりデータ信号DS_resの送信に用いる周波数が指定されている場合、その周波数のキャリア信号を生成するよう、後述する変調部27aを制御する。
【0061】
なお、受信部26が検出パターンc1を検出していない場合、すなわち前回の起動信号ENの供給を受けて上記処理を完了した後、未だ次の起動信号ENの供給を受けていない場合、制御部28は上記各処理の実行を休止する(すなわち、制御部28の処理を実行しない)こととしてもよい。これにより、制御部28の消費電力を低減することができる。
【0062】
送信部27は、位置信号DS_pos及びデータ信号DS_resを送信する回路であり、変調部27a及び昇圧回路27bにより構成される。
【0063】
変調部27aは、所定周波数又は制御部28からの制御に従った周波数の搬送波信号(例えば矩形波信号)を生成し、そのまま、或いは、制御部28の制御に基づいて変調したうえで出力する回路である。位置信号DS_posの送信時には、変調部27aは、搬送波信号を変調せずにそのまま出力する。一方、データ信号DS_resの送信時には、制御部28から供給される送信データResにより搬送波信号を変調し、その結果として得られる送信信号を出力する。この変調に用いる具体的な変調方式としても、PSK(Phase Shift Keying)などのデジタル変調方式が挙げられる。
【0064】
昇圧回路27bは、変調部27aの出力信号を一定の振幅まで昇圧することにより、位置信号DS_pos及びデータ信号DS_resを生成する回路である。昇圧回路27bによって生成された位置信号DS_pos及びデータ信号DS_resは、切替部SWを経て電極21から空間に送出される。なお、昇圧回路27bと変調部27aとは、1つの処理部として実現されてもよい。
【0065】
図5は、スタイラス2及びセンサコントローラ31の動作を時系列で説明するためのタイミング図である。同図において、上段Tsで示す時間軸は、スタイラス2の送信Txと受信Rxを示している。また、下段Ttで示す時間軸は、センサコントローラ31の送信Txと受信Rxを示している。
【0066】
時刻t0までの期間は、スタイラス2がセンサコントローラ31の検出範囲の外にある期間である。スタイラス2は、消費電力を削減するために、連続送信期間TCPよりも短い周期WPaで間欠的に、複数回にわたって受信部26を動作させる。具体的には、各周期WPa内において、短縮された受信期間SRPの間に限り受信部26を動作させることとし、その他の時間は受信部26を停止させる。受信期間SRPの時間長は、検出パターンc1を1回受信するために必要十分な値に設定される。
【0067】
センサコントローラ31は、周期WPで、第1の制御信号US_c1及び第2の制御信号US_c2の送信を繰り返すよう構成される。
【0068】
具体的に説明すると、センサコントローラ31は、周期WPの開始とともに、周期WPaより長い時間である所定の連続送信期間TCPにわたり、検出パターンc1を示すチップ列の送信を繰り返す。
【0069】
ここで、上述したように、本実施の形態での検出パターンc1は「PMPMPMP・・・」である。位置検出器3では、この検出パターンc1を構成する値P及び値Mのそれぞれが、
図2に示した拡散処理部63のチップ列取得機能により12チップ長のチップ列CN2に変換される。詳細は後述する。
【0070】
センサコントローラ31は、連続送信期間TCPの終了直後に、同じシンボルの値Pを示すチップ列を2回連続して送信することにより、検出パターンc1の送信終了(あるいは第2の制御信号US_c2の開始)を示す区切パターンSTPを送信するよう構成される。なお、値Pは、
図2に示した拡散処理部63のチップ列取得機能により、1つずつ12ビット長のチップ列CN2に変換される。ここまでで、第1の制御信号US_c1の送信が完了する。
【0071】
第1の制御信号US_c1の送信を完了したセンサコントローラ31は、続いて制御情報c2を示すチップ列(すなわち、第2の制御信号US_c2)を送信する。制御情報c2は、上述したように区切パターンSTPの後に続いて送信され、コマンドを示す任意のビット列を含む情報である。
図4に示した「D1」「D2」「D3」・・・「Dn」はそれぞれ4ビットの任意のビット列(「0000」「0001」など)である値Dを表しており、それぞれが、
図2に示した拡散処理部63のチップ列取得機能により12チップ長のチップ列に変換される。
【0072】
第2の制御信号US_c2の送信を完了したセンサコントローラ31は、スタイラス2からの信号を受信するための受信期間RDSを設ける。スタイラス2は、上記のようにして送信された第1の制御信号US_c1を受信した場合、この受信期間RDS内に位置信号DS_posを送信するよう構成される。センサコントローラ31は、受信期間RDSの間、こうして送信される位置信号DS_posの受信を待機する。
【0073】
時刻t0でスタイラス2がセンサ30の検出範囲に移動する(スタイラスダウン)と、スタイラス2は、その後に到来する連続送信期間TCP内に位置する受信期間SRPの直後の時刻t1のタイミングで、センサコントローラ31が送信した検出パターンc1を検出することになる。
【0074】
検出パターンc1を検出したスタイラス2は、上述した起動信号ENを生成するとともに、その後も、受信期間SRPを越えて受信動作を継続する。そして、スタイラス2がこの受信動作を行っている間にセンサコントローラ31が区切パターンSTPを送信すると、スタイラス2により区切パターンSTPが検出される。スタイラス2は、区切パターンSTPを検出した場合にその検出が完了した時刻t2を参照し、第2の制御信号US_c2、位置信号DS_pos、及びデータ信号DS_resの送受信のスケジューリングを行う。具体的には、
図5に示すように、まず時刻t2に基づくタイミングで第2の制御信号US_c2の受信を待機し、次いで位置信号DS_posを送信し、最後にデータ信号DS_resを送信する。
【0075】
センサコントローラ31は、上述したように、第2の制御信号US_c2の送信後に受信期間RDSを設け、位置信号DS_posの受信を待機している。位置信号DS_posを受信したセンサコントローラ31は、
図2に示した複数の線状電極30X,30Yのそれぞれにおける位置信号DS_posの受信状況に基づいてスタイラス2の位置(座標データx,y)を算出し、
図1に示したホストプロセッサ32に対して出力するとともに、再度受信期間RDSを設け、今度はデータ信号DS_resの受信を待機する。データ信号DS_resを受信したセンサコントローラ31は、受信したデータ信号DS_resから上述した送信データResを抽出し、ホストプロセッサ32に対して出力する。
【0076】
こうしてスタイラス2から位置信号DS_pos及びデータ信号DS_resを受信した後も、センサコントローラ31は、それまでと同様にして第1の制御信号US_c1及び第2の制御信号US_c2を繰り返す。これによりスタイラス2も上述した動作を繰り返すこととなり、センサコントローラ31は、その都度、スタイラス2から位置信号DS_pos及びデータ信号DS_resを受信し、それによってスタイラス2の位置算出と、スタイラス2が送信した送信データResの取得とを行う。
【0077】
以上、位置検出システム1の概要を説明した。次に、
図2に示した拡散処理部63のチップ列取得機能、及び、
図3に示した相関回路26bの検出機能について、順に詳しく説明する。特に、表1で説明したようにシンボルの値から送信信号を得る拡散処理部63のチップ列取得機能の具体的な構成の例の説明に併せて、拡散符号PNの具体的な内容についても詳しく説明する。
【0078】
図6は、
図2に示した拡散処理部63の機能ブロックを示すブロック図である。同図に示すように、拡散処理部63は、制御回路63a、符号反転/非反転切替回路63b(符号列生成部)、巡回シフタ63c(巡回シフト部)、シフトレジスタ63d(チップ列生成部)、及び変調回路63eを有して構成される。
【0079】
符号反転/非反転切替回路63bは、符号列保持部64に記憶される11チップ長の拡散符号PN(第2の符号列)に基づき、自己相関特性を有する11チップ長の符号列PNa(第1の符号列)を生成する機能を有する。具体的には、制御回路63aから供給される反転情報IIに従って、拡散符号PN、及び、拡散符号PNを反転してなる符号列のいずれか一方を選択し、選択した一方により符号列PNaを生成する。
【0080】
ここで、拡散符号PNについて詳しく説明する。拡散符号PNは、上述したように、自己相関特性を有する符号列である。したがって、拡散符号PNと、拡散符号PN又はその反転信号を任意のシフト量で巡回シフトしてなる符号列との相関値を算出した場合に、シフト量が0である場合にのみ相関値のピークが現れる。以下、
図9を参照しながら、拡散符号PNが自己相関特性を有していることについて説明する。なお、以下では、拡散符号PNは「00010010111」であるとして説明する。
【0081】
図9(a)の破線は、拡散符号PN「00010010111」と、該拡散符号PNを任意のシフト量で巡回シフトしてなる符号列との相関値を示している。この破線において、例えばシフト量が「+1」である場合の相関値は、拡散符号PN「00010010111」と、この拡散符号PNの各チップを1つ右に巡回シフトしてなる「10001001011」との相関値となる。また、例えばシフト量が「−2」である場合の相関値は、拡散符号PN「00010010111」と、この拡散符号PNの各チップを2つ左に巡回シフトしてなる「01001011100」との相関値となる。なお、相関値の計算においては、「0」は「−1」として取り扱われる。
【0082】
また、
図9(b)の破線は、拡散符号PN「00010010111」と、その反転符号「11101101000」を任意のシフト量で巡回シフトしてなる符号列との相関値を示している。この破線において、例えばシフト量が「+1」である場合の相関値は、拡散符号PN「00010010111」と、その反転符号の各チップを1つ右に巡回シフトしてなる「01110110100」との相関値となる。また、例えばシフト量が「−2」である場合の相関値は、拡散符号PN「00010010111」と、その反転符号の各チップを2つ左に巡回シフトしてなる「10110100011」との相関値となる。
【0083】
図9(a)(b)のいずれにおいても、破線で示される相関値のピークは、シフト量が「0」である場合にのみ現れている。したがって、拡散符号PNと、拡散符号PN又はその反転信号を任意のシフト量で巡回シフトしてなる符号列との相関値を算出した場合、シフト量が0である場合にのみ相関値のピークが現れると言えるので、拡散符号PNは自己相関特性を有していると言える。
【0084】
図6に戻る。符号反転/非反転切替回路63bは、制御回路63aから固定符号NRの供給を受け、制御回路63aから供給される反転情報IIに従って固定符号NRを反転し、又は、反転しないことにより、固定チップNRaを生成する機能も有している。固定符号NRは1チップ長の符号であり、
図6の例では「1」としている。このような固定符号NRを用いるのは、後述するシフトレジスタ63dから出力されるチップ列CN2の相関値のフロア値(ピーク以外における相関値)を「0」にするためである。この点については、後ほど別途詳しく説明する。
【0085】
巡回シフタ63cは、符号反転/非反転切替回路63bが生成した符号列PNaを、制御回路63aから供給されるシフト量SAで巡回シフトさせることにより、チップ列CN1(第1のチップ列)を生成する機能部である。また、シフトレジスタ63dは、巡回シフタ63cが生成したチップ列CN1及び符号反転/非反転切替回路63bが生成した固定チップNRaをパラレルに受け取り、受け取ったチップ列CN1に受け取った固定チップNRaを付加することによってチップ列CN2(第2のチップ列)を生成し、生成したチップ列CN2をシリアルに出力する機能部である。
【0086】
図8は、シフトレジスタ63dから出力されるチップ列CN2の説明図である。同図に示す符号列C1−0は、符号反転/非反転切替回路63bが反転処理を行わず、巡回シフタ63cによる巡回シフトも行われない(シフト量SAが「0」である)場合に、シフトレジスタ63dから出力されるチップ列CN2であり、拡散符号PN「00010010111」の先頭に固定符号NR「1」を付加したものとなっている。また、符号列C1−nは、符号列C1−0のチップ列CN1部分をシフト量nで巡回シフトすることによって得られる符号列であり、符号反転/非反転切替回路63bが反転処理を行わない一方、巡回シフタ63cによりシフト量nで巡回シフトが行われる場合に、シフトレジスタ63dから出力されるチップ列CN2を示している。
【0087】
一方、
図8に示す符号列C2−0は、符号反転/非反転切替回路63bが反転処理を行う一方で巡回シフタ63cによる巡回シフトが行われない(シフト量SAが「0」である)場合に、シフトレジスタ63dから出力されるチップ列CN2であり、符号列C1−0の反転符号となっている。また、符号列C2−nは、符号列C2−0のチップ列CN1部分をシフト量nで巡回シフトすることによって得られる符号列であり、符号反転/非反転切替回路63bが反転処理を行い、かつ、巡回シフタ63cによりシフト量nで巡回シフトが行われる場合に、シフトレジスタ63dから出力されるチップ列CN2を示している。
【0088】
ここで再度
図9を参照すると、
図9(a)の実線は、
図8に示した符号列C1−0と、該符号列C1−0のうち固定チップNRaを除く部分を任意のシフト量で巡回シフトしてなる符号列との相関値を示している。また、
図9(b)の実線は、
図8に示した符号列C1−0と、その反転符号(すなわち、
図8に示した符号列C2−0)のうち固定チップNRaを除く部分を任意のシフト量で巡回シフトしてなる符号列との相関値を示している。
図9(a)(b)のいずれにおいても、実線で示される相関値のピークは、破線の例と同様、シフト量が「0」である場合にのみ現れている。図示していないが、同じことは、すべての符号列C1−n,C2−nについて言える。したがって、符号列C1−n,C2−nを受信するスタイラス2は、予め符号列C1−n,C2−nを記憶しておき、受信したチップ列との相関値を算出することにより受信したチップ列内に含まれる符号列C1−n,C2−nを検出することができ、本実施の形態による位置検出システム1では、この性質を利用して第1の制御信号US_c1及び第2の制御信号US_c2の送受信を行っている。スタイラス2による符号列C1−n,C2−nの検出動作の詳細については後述する。
【0089】
なお、
図9(a)に示すように、拡散符号PNに関して算出される相関値(破線)のフロア値が「−1」となるのに対し、符号列C1−0に関して算出される相関値(実線)のフロア値は「0」となっている。また、
図9(b)に示すように、拡散符号PNの反転符号に関して算出される相関値(破線)のフロア値が「+1」となるのに対し、符号列C1−0の反転符号に関して算出される相関値(実線)のフロア値は「0」となっている。このように相関値のフロア値が「0」となるのは、チップ列CN2の先頭に固定チップNRaを配置し、正のチップの数と負のチップの数を同数としているからである。逆に言えば、チップ列CN2の先頭に固定チップNRaを配置することで、相関値のフロア値を「0」にすることが実現されている。
【0090】
拡散符号PNに固定チップNRaを付さない場合、相関値のフロア値「−1」と最大値「+11」との距離は10となる。一方、拡散符号PNに固定チップNRaを付す場合、相関値のフロア値「0」と最大値「+12」との距離は12となる。したがって、拡散符号PNに固定チップNRaを付してフロア値を「0」とすることで受信側での判定エラーを低減することが可能になると言えるので、本実施の形態による位置検出器3によれば、この点からも、スタイラス2側で判定エラーとなる可能性を減らすことが可能とされている。
【0091】
図6に戻る。変調回路63eは、シフトレジスタ63dが生成したチップ列CN2に基づき、第1の制御信号US_c1又は第2の制御信号US_c2を構成する送信信号を生成するための2次変調処理を行う。2次変調処理の詳細については、上述したとおりである。変調回路63eが2次変調処理によって生成した送信信号は、
図2に示した送信ガード部65及び選択部40を経てセンサ30に到達し、センサ30により、タッチ面3a(
図1参照)を介してスタイラス2に対して送信される。
【0092】
制御回路63aは、拡散処理部63内の各部の動作を制御する機能部であり、この機能の一環として、固定符号NR及び反転情報IIを生成して符号反転/非反転切替回路63bに供給する機能と、シフト量SAを生成して巡回シフタ63cに供給する機能とを有している。
【0093】
図7は、制御回路63aの機能ブロックのうち、反転情報II及びシフト量SAの生成に関する部分を示すブロック図である。同図に示すように、制御回路63aは機能的に、入力受付部100、反転情報決定部101、シフト量決定部102、シフト量・反転情報記憶部103、及び出力選択部104を有して構成される。
【0094】
入力受付部100は、
図2に示したスイッチ62から、上述した検出パターンc1、区切パターンSTP、制御情報c2を構成する値P,M,Dの入力を受け付ける機能部である。入力受付部100は、特定のビット列に対応付けられない値P又は値Mの入力を受け付けた場合、受け付けた値を出力選択部104に供給する。一方、ビット列である値D(ここでは4ビット長)の入力を受け付けた場合には、最上位ビットを反転情報指示ビットIIIB(スタイラス2に対して送信すべき1ビット長の第2のビット列)として反転情報決定部101に供給するとともに、残りの部分(3ビット)をシフト量指示ビット列SAIB(スタイラス2に対して送信すべき2以上の所定ビット長の第1のビット列)としてシフト量決定部102に供給する。
【0095】
反転情報決定部101は、入力受付部100から供給される反転情報指示ビットIIIBに基づき、第1の反転情報II1を決定する機能部である。具体的には、反転情報決定部101は、次の表2に示す反転割当テーブル101aを記憶しており、これに従って第1の反転情報II1を決定する。こうして決定された第1の反転情報II1は、出力選択部104に供給される。
【0097】
シフト量決定部102は、入力受付部100から供給されるシフト量指示ビット列SAIBに基づき、第1のシフト量SA1を決定する機能部である。具体的には、シフト量決定部102は、次の表3に示すシフト量割当テーブル102aを記憶しており、これに従って第1のシフト量SA1を決定する。こうして決定された第1のシフト量SA1は、出力選択部104に供給される。
【0099】
表3から理解されるように、本実施の形態によるシフト量決定部102は、まずビット列「000」(所定の基準ビット列)に対し、値「2」を第1のシフト量SA1として決定する。この「2」という値は、後述する第2のシフト量SA2(=0)に所定の値(=2)を加算してなる値「2」となっている。そして、このビット列「000」から所定の基準により順次インクリメントしてなる複数のビット列のそれぞれについて、ビット列「000」に対して決定する第1のシフト量SA1(=2)にインクリメントの回数を加算することによって得られる値を第1のシフト量SA1として決定する。なお、ここでいう所定の基準は、インクリメント前のビット列とインクリメント後のビット列とのハミング距離が1であることである。このような基準を採用することの意味については、後述する。
【0100】
例えば、ビット列「000」から上記所定の基準により3回インクリメントすることによって得られるビット列は「010」であり、このビット列「010」に対して割り当てられる第1のシフト量SA1は、ビット列「000」に対して決定する第1のシフト量SA1(=2)に、インクリメントの回数3を加算することによって得られる「5」(=2+3)となる。
【0101】
シフト量・反転情報記憶部103は、第2の反転情報II2、第2のシフト量SA2、第3の反転情報II3、第3のシフト量SA3それぞれの値を記憶している。具体的には、第2の反転情報II2として「反転なし」を、第2のシフト量SA2として「0」を、第3の反転情報II3として「反転あり」を、第3のシフト量SA3として「0」をそれぞれ記憶している。
【0102】
出力選択部104は、入力受付部100から値Pが供給されたことに対応して、シフト量・反転情報記憶部103に記憶される第2の反転情報II2及び第2のシフト量SA2を反転情報II及びシフト量SAとして、それぞれ
図6に示した符号反転/非反転切替回路63b及び巡回シフタ63cに供給する。これにより、
図6に示したシフトレジスタ63dは、チップ列CN2として
図8に示す符号列C1−0を出力することになる。また、出力選択部104は、入力受付部100から値Mが供給されたことに対応して、シフト量・反転情報記憶部103に記憶される第3の反転情報II3及び第3のシフト量SA3を反転情報II及びシフト量SAとして、それぞれ
図6に示した符号反転/非反転切替回路63b及び巡回シフタ63cに供給する。これにより、
図6に示したシフトレジスタ63dは、チップ列CN2として
図8に示す符号列C2−0を出力することになる。
【0103】
一方、出力選択部104は、入力受付部100から値P,Mのいずれもが供給されていないこと(すなわち、入力受付部100に値Dが入力されたこと)に対応して、反転情報決定部101が決定した第1の反転情報II1を反転情報IIとして
図6に示した符号反転/非反転切替回路63bに供給するとともに、シフト量決定部102が決定した第1のシフト量SA1をシフト量SAとして
図6に示した巡回シフタ63cに供給する。これにより、
図6に示したシフトレジスタ63dは、チップ列CN2として、
図8に示す符号列C1−2〜C1−9,C2−2〜C2−9のいずれかを出力することになる。より具体的には、反転情報IIが「反転なし」である場合には符号列C1−SAを出力し、反転情報IIが「反転あり」である場合には符号列C2−SAを出力することになる。なお、
図8には、入力受付部100が受け付けた4ビット長のビット列と、シフトレジスタ63dが出力するチップ列CN2との対応関係も図示している。例えば、入力受付部100が受け付けたビット列が「0010」である場合、シフトレジスタ63dが出力するチップ列CN2は符号列C1−5、すなわち「110111000100」となる。また、入力受付部100が受け付けたビット列が「1010」である場合、シフトレジスタ63dが出力するチップ列CN2は符号列C2−5、すなわち「001000111011」となる。
【0104】
このようにして、送信部60は前述の表1に示したように、自己相関特性を有する拡散符号PNを、送信すべきシンボルの値に基づいたシフト量で巡回シフトさせ、必要であればこれを反転(あるいは非反転)して得られるチップ列CN2を含む送信信号を生成することができる。尚、表1に示したようにチップ列CN2を得ることができれば、送信部60における、巡回シフト処理と反転非反転の処理の順番は問わない。また、送信部60は、表1のようなシンボルの値とチップ列CN2あるいはこれを含む送信信号との対応をメモリに記憶しておき、シンボルの値が入力されるごとにメモリに記憶されたチップ列CN2を読みだして送信するとしても良い。
【0105】
図10は、位置検出器3がスタイラス2に対して送信する第2の制御信号US_c2を示す図である。同図の例では、位置検出器3は、プリアンブルとして区切パターンSTPを構成する値Pを2回連続して送信した後、制御情報c2として3つの値D1「0」(0b0000)、D2「8」(0b1000)、D3「6」(0b0110)を送信するとしている。値Pを送信する際には、シフトレジスタ63dからチップ列CN2として、
図8に示す符号列C1−0、すなわち「100010010111」が出力される。一方、制御情報c2を送信する際には、4ビットの値D1、D2、D3ごとにチップ列CN2が生成される。この場合、最初の4ビットである値D1については、対応するビット列が「0000」であることから、
図8に示す符号列C1−2、すなわち「111000100101」がチップ列CN2として生成される。次の4ビットであるビット列D2については、その内容が「1000」であることから、
図8に示す符号列C2−2、すなわち「000111011010」がチップ列CN2として生成される。最後の4ビットであるビット列D3については、その内容が「0110」であることから、
図8に示す符号列C1−6、すなわち「101011100010」がチップ列CN2として生成される。
【0106】
なお、例えば制御情報c2の最後の1値(4ビット値)であるビット列D3の一部または全部を、その前に位置するビット列D1,D2に基づいて算出された誤り訂正符号によって構成することとしてもよい。こうすることで、受信側であるスタイラス2は、この誤り訂正符号を利用して、ビット列D1,D2に発生したビット誤りの検出あるいは訂正することが可能になる。
【0107】
ここで、第1のシフト量SA1を決定するための上記所定の基準として、「インクリメント前のビット列とインクリメント後のビット列とのハミング距離が1」という基準を用いることの意味について説明する。スタイラス2がチップ列CN2を受信する際、シフト量が1ずれた状態で受信されてしまう場合がある。例えば、位置検出器3は
図8に示す符号列C1−6を送信したのに、スタイラス2では符号列C1−7と判定してしまう、というような場合である。このような誤判定を上述した誤り訂正符号で訂正するためには、符号列C1−6により表されるビット列と符号列C1−7により表されるビット列との違いが少なければ少ないほど望ましい。本実施の形態では、上記所定の基準を採用していることにより、符号列C1−6により表されるビット列が「0110」、符号列C1−7により表されるビット列が「0111」と、その違いが1ビットだけとなっており、したがって誤判定した場合でも1ビットの相違のみになっており、コマンド送信に際し1ビット訂正が可能な誤り訂正符号を施すことにより誤り訂正が可能となっている。このように、上記所定の基準として、「インクリメント前のビット列とインクリメント後のビット列とのハミング距離が1」という基準を採用し、誤り訂正符号を付すことでシフト量の誤判定に対してロバストな信号を送信することができる。
【0108】
次に、
図11は、
図4に示した相関回路26bの機能ブロックを示すブロック図である。同図に示すように、相関回路26bは、シフトレジスタ110、符号列記憶部111、検出パターン検出部112、区切パターン検出部113(プリアンブル検出部)、ビット列検出部114、及びコマンド復元部115を有して構成される。
【0109】
シフトレジスタ110は、復調回路26aが取得した一連のチップを1チップずつ受け入れる先入れ先出し型のレジスタであり、12チップ分のチップを蓄積可能に構成される。12チップを超える数のチップが入力された場合、古いものから順に削除される。
【0110】
符号列記憶部111は、自己相関特性を有する所定の符号列を任意のシフト量で巡回シフトさせることによって得られる複数の符号列を記憶している。符号列記憶部111が記憶する必要のある符号列は、具体的には、位置検出器3が送信する可能性のあるすべての符号列である。したがって、本実施の形態による符号列記憶部111は、
図8に示した符号列C1−0,C1−2〜C1−9,C2−0,C2−2〜C2−9を記憶していればよい。
【0111】
検出パターン検出部112は、内部にタイマー(図示せず)を有しており、このタイマーにより現在時刻が
図5に示した受信期間SRP内にあることが示される場合に、復調回路26aから出力される一連のチップ内に含まれる検出パターンc1の検出動作を行う機能部である。この検出動作として具体的には、シフトレジスタ110に新たなチップが入力される都度、シフトレジスタ110内に一時的に蓄積されているチップ列と、符号列記憶部111に記憶される複数の符号列のうち検出パターンc1を構成する値P,Mに対応するもの、具体的には符号列C1−0及び符号列C2−0との相関値を算出する。そして、符号列C1−0との相関値がピーク値を示した場合に値Pを検出したと判定し、符号列C2−0との相関値がピーク値を示した場合に値Mを検出したと判定する。検出パターン検出部112は、値Pと値Mを交互に所定回数連続して検出したことに応じて検出パターンc1を検出したと判定し、制御部28に対して上述した起動信号ENを発行する。
【0112】
区切パターン検出部113は、検出パターン検出部112が検出パターンc1を検出したことに応じて、復調回路26aから出力される一連のチップ内に含まれる区切パターンSTP(プリアンブル)の検出動作を開始する機能部である。この検出動作として具体的には、シフトレジスタ110に新たなチップが入力される都度、シフトレジスタ110内に一時的に蓄積されているチップ列と、符号列記憶部111に記憶される複数の符号列のうち区切パターンSTPを構成する値Pに対応するもの、具体的には符号列C1−0との相関値を算出する。そして、こうして算出した相関値がピーク値を示した場合に値Pを検出したと判定する。区切パターン検出部113は、2回連続して値Pを検出したことに応じて区切パターンSTPを検出したと判定し、検出動作を停止するとともに、制御部28に対して上述した検出時刻t2を出力する。
【0113】
ビット列検出部114は、制御部28の生成した送受信スケジュールにより制御情報c2の受信期間であることが示されるタイミングで、復調回路26aから出力される一連のチップ内に含まれる値D(4ビット長のビット列)の検出動作を行う機能部である。この検出動作として具体的には、シフトレジスタ110に新たなチップが入力される都度、シフトレジスタ110内に一時的に蓄積されているチップ列と、符号列記憶部111に記憶される複数の符号列のうち値Dに対応するもの、具体的には符号列C1−2〜C1−9,C2−2〜C2−9のそれぞれとの相関値を算出する。そして、こうして算出した相関値がピーク値を示した場合に、ピーク値を示した符号列に対応する値D(4ビット長のビット列)を検出したと判定する。ビット列検出部114は、検出した値Dであるビット列を、その都度コマンド復元部115に出力する。
【0114】
コマンド復元部115は、ビット列検出部114から順次供給されるビット列を結合することにより、位置検出器3が送信した制御情報c2を復元する機能部である。コマンド復元部115は、復元した制御情報c2を制御部28に対して出力するよう構成される。こうして、位置検出器3が送信したコマンドが制御部28に供給される。
【0115】
以上説明したように、本実施の形態による位置検出器3及びスタイラス2によれば、位置検出器3が送信するチップ列CN2の生成に符号列の巡回シフトを利用しているので、1つの符号列により2ビット以上を表現することが可能になる。したがって、1つの符号列により1ビットしか表現できない背景技術に比べ、同じチップレートで高いビットレートを得ることが可能になる。
【0116】
また、チップ列CN1に固定チップNRaを付加したものをチップ列CN2としているので、受信側での検出エラーを低減し、それによってスタイラス2側で受信エラーとなる可能性を減らすことが可能になる。
【0117】
また、所定の基準ビット列から所定の基準により順次インクリメントしてなる複数のビット列のそれぞれについて、上記基準ビット列に対して決定する第1のシフト量SA1にインクリメントの回数を加算することによって得られる値を第1のシフト量SA1として決定することとし、上記所定の基準として「インクリメント前のビット列とインクリメント後のビット列とのハミング距離が1」という基準を採用しているので、シフト量が1ずれた状態でチップ列CN2が受信されたとしても、シフト量の誤判定による誤り訂正を1ビットの誤りに抑えることができ、より短い誤り訂正符号により実現することができるという効果が得られる。
【0118】
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
【0119】
例えば、上記実施の形態では、拡散符号PNとして11ビットの「00010010111」を用いたが、自己相関特性を有してさえいれば、どのような符号列でも拡散符号PNとして使用可能である。また、1つのシンボルの値を送信するのに1つの拡散符号PNを用いるとしたが、1つのシンボルの値に対して複数個(例えば5個)同じチップ列CN2を含むとしてもよい。この場合、複数回(例えば5回)同じのシンボルの値を送信することに等しく、複数個のシフト量のうち最も確からしいシフト量を選択することでシフト量の誤判定を更に低減することができる。
【0120】
表4及び表5並びに
図12及び
図13は、上記実施の形態の第1の変形例において、
図6のシフトレジスタ63dから出力されるチップ列CN2の説明図である。
【0123】
本変形例では、拡散符号PNとして31ビット長のビット列「0000100100011011011110001010111」を使用する。この拡散符号PNも、上記実施の形態において使用した11ビットの拡散符号PNと同じように、自己相関特性を有している。
【0124】
本変形例では、シフト量割当テーブル102aを次の表6のように構成している。表6は、基準ビット列「000」に対して決定する第1のシフト量SA1が「2」ではなく「5」(第2のシフト量SA2(=0)に5を加算してなる値)である点と、この第1のシフト量SA1(=5)に加算する数がインクリメントの回数そのものではなく、インクリメントの回数に応じた数(具体的にはインクリメントの回数の3倍)となっている点とで、表3に示したシフト量割当テーブル102aと異なっている。反転割当テーブル101a、並びに、シフト量・反転情報記憶部103に記憶される第2の反転情報II2及び第2のシフト量SA2の値は、上記実施の形態で示したものと同じである。
【0126】
本変形例では、
図12に示す符号列C3−0が値Pに対応し、
図13に示す符号列C4−0が値Mに対応し、
図12に示す符号列C3−5,C3−8,C3−11,C3−14,C3−17,C3−20,C3−23,C3−26、及び、
図13に示す符号列C4−5,C4−8,C4−11,C4−14,C4−17,C4−20,C4−23,C4−26がそれぞれ4ビット長のビット列に対応する。なお、符号列C3−0は、拡散符号PN「0000100100011011011110001010111」の先頭に固定符号NR「1」を付加したものであり、符号列C3−nは、符号列C3−0のうちチップ列CN1に相当する部分のみをシフト量nで巡回シフトしたものであり、符号列C4−0は符号列C3−0の反転符号であり、符号列C4−nは、符号列C4−0のうちチップ列CN1に相当する部分のみをシフト量nで巡回シフトしたものである。
【0127】
このように、より長い拡散符号PNを用いても、上記実施の形態と同様に、1つの送信信号により2ビット以上の多値を表現することが可能になる。拡散符号PNが長い分、ビットレートは低下してしまうが、一方で隣接する符号列間におけるシフト量の差を大きく取ることができるので、スタイラス2がシフト量(対応するシンボルの値)を誤って判定して検出してしまう可能性を減ずることが可能になる。例えば、シフト量を右に+6と検出した場合であっても、本来シフト量が右に+5である値「0」と判定することでシフト量の誤りに対してロバストな復号を行うことができる。また、変形例のようにシフト量を3以上の奇数個とすることで、例えば、シフト量が右に+7であると検出された場合は本来右に+8である値「1」に、シフト量が右に+5であると検出された場合は本来右に+5である値「0」にするなど、シフト量の判定に際して同じ離散量余裕を持たせることができ好適である。
【0128】
また、上述の変形例においてもコマンドに用いられるビット列対応値0〜7のシフト量のうち最も近いもののシフト量の差は3である。一方、プリアンブルなど区切パターンSTPに用いるシンボルの値「P」のシフト量(即ち0)と、コマンドに用いられるビット列対応値0〜7のうち最もシフト量の近い値「0」(右に5)又は「4」のシフト量(左に5)のとの差は5であり、ビット列対応値0〜7のシフト量の差である3に比して大きく確保してある。このように、プリアンブルなどの区切パターンに用いるシンボルの値「P」「M」に基づいたシフト量とコマンドを構成する値に基づいたシフト量の差のうち最も小さい差(5)を、コマンドを構成するある1つの値に基づいたシフト量と他の1つの値に基づいたシフト量の差のうち最小の値(3)よりも大きく取ることで、プリアンブルなどの区切パターンをコマンドに対応する所定の値のいずれかと誤って判定してしまう確率を低減することが可能となる。
【0129】
また、上記実施の形態では、スタイラス2の復調回路26aにおいてマンチェスター符号化の逆処理を行ったが、位置検出器3の拡散処理部63がマンチェスター符号化を行う場合であっても、復調回路26aにおいてマンチェスター符号化の逆処理を行わないこととしてもよい。以下、この場合のスタイラス2の処理について、
図14を参照しながら説明する。
【0130】
図14は、上記実施の形態の第2の変形例による相関回路26bの機能ブロックを示すブロック図である。同図に示すように、本変形例による相関回路26bは、
図11に示したシフトレジスタ110、検出パターン検出部112、区切パターン検出部113(プリアンブル検出部)、及びビット列検出部114に代え、シフトレジスタ120、マンチェスター符号化部121、検出パターン検出部122、区切パターン検出部123(プリアンブル検出部)、及びビット列検出部124を有して構成される。
【0131】
シフトレジスタ120は、24チップ分のチップを蓄積可能に構成される点で、12チップ分しか蓄積できない上記実施の形態によるシフトレジスタ110と異なっている。これは、復調回路26aがマンチェスター符号化の逆処理を行っていないため、1つのチップ列CN2についてシフトレジスタ120に入力されるチップ数が24に増えていることに対応するものである。
【0132】
マンチェスター符号化部121は、符号列記憶部111に記憶される符号列を検出パターン検出部122、区切パターン検出部123、及びビット列検出部124に供給する際に、その符号列をマンチェスター符号化する機能部である。したがって、検出パターン検出部122、区切パターン検出部123、及びビット列検出部124には、マンチェスター符号化された符号列が供給されることになる。
【0133】
検出パターン検出部122、区切パターン検出部123、及びビット列検出部124は、シフトレジスタ120に一時的に蓄積されている24チップ長のチップ列と、マンチェスター符号化された状態の24チップ長の符号列との相関値を算出するよう構成されている点で、それぞれ検出パターン検出部112、区切パターン検出部113、及びビット列検出部114と異なる。その他の点では、それぞれ検出パターン検出部112、区切パターン検出部113、及びビット列検出部114と同じである。
【0134】
ここで、マンチェスター符号化された状態の符号列は通常、
図9に示したような綺麗な自己相関特性(フロア値がすべて同じ値となる自己相関特性)を示さない。しかしながら、ピーク値を検出することは可能であるため、検出パターン検出部122、区切パターン検出部123、及びビット列検出部124は、上記処理によって、それぞれ検出パターンc1、区切パターンSTP、4ビット長のビット列を検出することが可能になる。
【0135】
また、上記実施の形態では、位置検出器3が、
図5に示したように第1の制御信号US_c1に続けて第2の制御信号US_c2を送信するとして説明したが、第1の制御信号US_c1(具体的には区切パターンSTPに対応するチップ列CN2)を送信した後、0より大きい所定時間が経過した後、第2の制御信号US_c2(具体的には制御情報c2に対応するチップ列CN2)を送信することとしてもよい。
【0136】
図15は、上記実施の形態の第3の変形例によるスタイラス2及びセンサコントローラ31の動作を時系列で説明するためのタイミング図である。同図に示す位置検出器3は、第1の制御信号US_c1に続けて第2の制御信号US_c2を送信することをせず、第1の制御信号US_c1の送信後に所定時間長WTの受信期間RDSを設け、そこで位置信号DS_posが受信された場合に限り第2の制御信号US_c2を送信する点で、上記実施の形態による位置検出器3と異なっている。このように第1の制御信号US_c1と第2の制御信号US_c2の間にギャップを設けることとしても、そのギャップの時間長が予め決まっている限り、スタイラス2は、ギャップを考慮して上述した送受信スケジュールを決定することができるので、問題なく第2の制御信号US_c2を受信することができる。
【0137】
また、上記実施の形態では、4ビットに対して1つのチップ列CN2を割り当てたが、1つのチップ列CN2に割り当てることのできるビット数は4に限られない。特に、
図12及び
図13に示したような長い符号列を用いる場合には、より多くのビットを1つの符号列により表現することとしてもよい。
【0138】
また、上記実施の形態では、検出パターンc1及び区切パターンSTPを専用の符号列C1−0,C2−0により表現したが、ビット列用の符号列と同じものにより表現してもよい。符号列C1−0,C2−0を検出パターンc1及び区切パターンSTPの専用とする場合、
図8にも示したように、符号列C1−0(又は符号列C2−0)と、隣接する符号列C1−1,C1−9(又は符号列C2−1,C2−9)との間のシフト量の差(
図8では2)を、符号列C1−n(又は符号列C2−n)(n≠1)間のシフト量の差(
図8では1)より大きくすることで、検出パターンc1及び区切パターンSTPの検出エラーを低減することができる一方で、ビット列の送信に使える符号列が減ってしまう。上記のように区切パターンSTP用としてビット列用の符号列と同じものを用いるようにすることで、ビット列の送信に使える符号列が増加するという効果が得られる。
【0139】
また、上記実施の形態では、チップ列CN1に固定チップNRaを付加したものをチップ列CN2としたが、相関値のフロア値が「0」でないことに起因して生ずるノイズが問題とならない場合には、チップ列CN1をそのままチップ列CN2としてもよい。
【0140】
また、上記実施の形態では、チップ列CN1の先頭に固定チップNRaを付加したものをチップ列CN2としたが、チップ列CN1の末端に固定チップNRaを付加することによりチップ列CN2を構成することとしてもよい。
【0141】
また、上記実施の形態では、区切パターンSTPの前に検出パターンc1を送信する例を説明したが、スタイラス2が間欠的ではなく連続的に受信動作をしても構わない場合には、検出パターンc1の送信を省略してもよい。この場合、スタイラス2は、区切パターンSTPの検出により位置検出器3を検出することになる。
【0142】
また、上記実施の形態では、位置検出器3からスタイラス2に対して送信する信号に本発明を適用した例を説明したが、スタイラス2から位置検出器3に対して送信する信号に本発明を適用することも可能である。
【0143】
また、上記実施の形態では、拡散処理部63に符号反転/非反転切替回路63b及び巡回シフタ63cを設け、拡散処理部63内で符号列の反転及び巡回シフトを行うこととしたが、制御回路63aに入力される可能性のあるシンボルの値と、出力すべきチップ列CN2とを予め対応付けて記憶領域内に記憶しておき、入力されたシンボルの値に対応するチップ列CN2をこの記憶領域から取り出すことにより、チップ列CN2を生成するように拡散処理部63を構成することとしてもよい。