CY8CMBR3116の応答時間の考え方について

Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
TeMa_2997106
Level 6
Level 6
Distributor - TED (Japan)
10 likes received 10 solutions authored 250 replies posted

CY8CMBR3116を用いて実機評価をしています。

EZ-Click上でScan Periodを500ms、State timeoutを0、Debounceを3に設定しています。

GUI上ではSubsequent Response Time(Rcbt)が60ms、Initial Response Time(Rfbt)が560msと表示されており、

初回タッチ時にはActiveになるには560msかかるものの、Activeステートにいる間は次のタッチが

60msになる、という設定になっているかと思います。

ところが、実機上では2回目以降のタッチも500ms以上かかっています。

(正確に計測しているわけではないので500msなのか560msなのかはわかりませんが、

明らかに60msではない挙動です)

State timeoutが0の設定の場合、Activeステートは規定の20ms経過後すぐに抜け、

Look-for-Touchステートに移行するのでしょうか。

それが正しいとすると、EZ-Click上の表示値が間違っている、という理解で正しいでしょうか。

また、その場合のRfbt、Rcbtは実際の値はいくつになるのでしょうか。

以上です。

0 件の賞賛
1 解決策
Takashi_M
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 750 replies posted

ご連絡が遅くなり、申し訳ございません。

先ず、State timeoutはデバイスがlow-powerモードに切り替わる(Active state-> Look-for-touch state)時のタイムアウトになります。

次にDebounceが3を設定されているのでRcbt = (Active Scan Period) x Debounceで表示通り60msになります。

State timeout=0の場合、MBR3は<20ms後にActive modeからLook-for-Touch stateに遷移します。また、Look-for-Touch stateでのscan periodは今回500msを設定されているので、Look-for-Touch stateで、もしタッチした場合、Look-for-Touch stateからActive stateに遷移するのに少なくとも500ms掛かり、次にRcbt=60msが必要になるので初回タッチに関してRfbtは少なくとも560msになります。

初回タッチ後、センサーにタッチし続けた場合、レスポンス時間はRcbtになりますが、一度センサーから指を外した場合、MBR3は20msでLook-for-touch stateに遷移してしまいます(State timeout=0なので)。この場合次のタッチの検知に対しても少なくとも560msが必要になります。

要約いたしますと

1)もしタッチし続けた(センサーから指を離さない)場合、Rfbt及びRcbtは表示通りの値になります。

2)もしセンサーをタップした場合、その都度Look-for-tach stateからActive stateの遷移及び、Rcbtで合計少なくとも560msが検知に必要になります。

更にRfbt=560msは理想値です。

実際にはスキャン周期としてHardware scan time + CPU Process time + Rest Timeが考えられるのですが、センサータッチとスキャンのタイミングによっては初回タッチの検知まで560msより長い場合があります。

元の投稿で解決策を見る

0 件の賞賛
2 返答(返信)
Takashi_M
Moderator
Moderator
Moderator
1000 replies posted 500 solutions authored 750 replies posted

ご連絡が遅くなり、申し訳ございません。

先ず、State timeoutはデバイスがlow-powerモードに切り替わる(Active state-> Look-for-touch state)時のタイムアウトになります。

次にDebounceが3を設定されているのでRcbt = (Active Scan Period) x Debounceで表示通り60msになります。

State timeout=0の場合、MBR3は<20ms後にActive modeからLook-for-Touch stateに遷移します。また、Look-for-Touch stateでのscan periodは今回500msを設定されているので、Look-for-Touch stateで、もしタッチした場合、Look-for-Touch stateからActive stateに遷移するのに少なくとも500ms掛かり、次にRcbt=60msが必要になるので初回タッチに関してRfbtは少なくとも560msになります。

初回タッチ後、センサーにタッチし続けた場合、レスポンス時間はRcbtになりますが、一度センサーから指を外した場合、MBR3は20msでLook-for-touch stateに遷移してしまいます(State timeout=0なので)。この場合次のタッチの検知に対しても少なくとも560msが必要になります。

要約いたしますと

1)もしタッチし続けた(センサーから指を離さない)場合、Rfbt及びRcbtは表示通りの値になります。

2)もしセンサーをタップした場合、その都度Look-for-tach stateからActive stateの遷移及び、Rcbtで合計少なくとも560msが検知に必要になります。

更にRfbt=560msは理想値です。

実際にはスキャン周期としてHardware scan time + CPU Process time + Rest Timeが考えられるのですが、センサータッチとスキャンのタイミングによっては初回タッチの検知まで560msより長い場合があります。

0 件の賞賛
TeMa_2997106
Level 6
Level 6
Distributor - TED (Japan)
10 likes received 10 solutions authored 250 replies posted

ご返信ありがとうございました。

丁寧な回答ありがとうございます。理解できました。

0 件の賞賛