PSoC 4200 Prototyping Kit (8)

PSoc Creator 上のタイマ・コンポーネントの配置を下に示します。
Timer モードの TCPWM コンポーネントを 2 つ配置して、クロック入力、キャプチャ入力を並列に接続しただけです。
クロック入力は HFCLK (High Frequency CLocK) から得た 48 MHz クロックを接続します。 水晶精度での測定のためには外部に 48 MHz クリスタル・オシレータを設置して PSoc4 の外部クロック入力と接続する必要があります。
キャプチャ入力が周波数/周期を測りたい「被測定信号」のディジタル入力です。 被測定信号の「コンディショニング」はチップ外部で行うこととし、内蔵 OP アンプやコンパレータ・モードにした内蔵 OP アンプの入出力をピンに出して回路の構成要素とします。

キャプチャ入力に使っている入力ピン・コンポーネントはデフォルトで「Double-Sync」モードが選択されており、ここで HFCLK と同期化されてメタ・ステーブルが抑止されるので、問題なく非同期信号を入力できます。
Timer1 のインタラプト出力にインタラプト・コンポーネントを接続してあります。 TC (Terminal Count) 割り込みと CC (Compare/Capture) 割り込みを使用しています。
キャプチャ入力は並列に接続してあるので、CC 割り込みのタイミングは Timer1 と Timer2 とで同一になりますから、Timer1 側からは TC 割り込み、Timer2 側からは CC 割り込みをかけるような構成も可能です。
Timer1 側の設定を下に示します。

ポイントは、

  • プリスケーラなし (1/1 x)
  • アップカウント・モード
  • 連続モード
  • キャプチャ・モード
  • TC 割り込みオン、CC 割り込みオン

です。

[capture]-[Present]チェック・ボックスをオンにしてキャプチャ入力を出現させます。 有効エッジは Rising / Falling どちらでも構いませんが Timer2 の設定と揃えます。
Timer1 の Period 値は 65535 としてモジュロを 216 = 65536 にします。
Timer2 側の設定を下に示します。

Timer1 と同様の設定にしますが、割り込みは使用しません。

[capture]-[Present]チェック・ボックスをオンにしてキャプチャ入力を出現させます。 有効エッジは Rising / Falling どちらでも構いませんが Timer1 の設定と揃えます。
Timer2 の Period 値は 65534 としてモジュロを (216 - 1) = 65535 にします。