GPIOにおける入力信号の入力条件は2通りの方法を指定できます。
GPxQSELn[GPIOn]レジスタにてピン毎に設定します。
1)システムクロック(SYSCLKOUT)周期でサンプリングを行いデータを取り込みます。
(GPxQSELn[GPIOn] = 0)*value after reset
但し、入力信号の変化を確実に検出するために、2サイクル以上の期間、入力信号が安定している必要があります。
例えば、システムクロック(SYSCLKOUT)が150MHzの場合、サンプリング周期は約6.67nsですが、
入力信号の変化を確実に検出するためには、13.34ns以上の期間、入力信号が安定している必要があります。
2)指定したサイクル数でサンプリングを行い、指定したサンプル回数分(連続する3または6サンプル)の値が
同じ場合にデータを取り込みます。(GPxQSELn[GPIOn] = 1 or 2)
サンプリング周期をGPxCTRL[QUALPRDn]レジスタにて8つのピン毎のグループ毎に設定します。
システムクロック(SYSCLKOUT)周期(GPxCTRL[QUALPRDn] = 0)もしくは
システムクロック(SYSCLKOUT)2周期分の倍数(GPxCTRL[QUALPRDn] ≠ 0)で指定します。
1.4.4.3 Qualification Using a Sampling Window
但し、入力信号の変化を確実に検出するために、指定したサンプル回数分(3または6サンプル)のサイクル数に加え、
サンプリング周期で1サイクル、更にシステムクロック(SYSCLKOUT)周期で1サイクル以上の期間、
入力信号が安定している必要があります。
例えば、システムクロック(SYSCLKOUT)が150MHzで、下記のデータシートの例の様に、
サンプリング周期をシステムクロック(SYSCLKOUT)2周期分に設定(GPxCTRL[QUALPRDn] = 1)し、
サンプル回数を6サンプルに設定(GPxQSELn[GPIOn] = 2)した場合、サンプリング周期は約13.34nsで、
6サンプル分のサンプリング時間(Sampling Window)は約66.7nsですが、入力信号の変化を確実に検出するためには、
86.71ns以上の期間、入力信号が安定している必要があります。
なお、この入力条件はGPIOだけでなく、ペリフェラルとして使う場合も適用されますので注意が必要です。
例えば、GPIO28をSCIRXDとしてSCI通信を行う場合、
Qualification機能を無効(GPAQSEL2[GPIO28] = 3)にする必要があります。
そうでない場合、SCIRXD入力が遅延して信号のタイミングが変わり、通信エラーとなる恐れがあります。