PSoC1 (2) --- スイッチトキャパシタ・フィルタ (2)

 CY8C29466 や CY8C27443 などの代表的な PSoC1 チップには、全部で 12 個のアナログ・ブロックが含まれており、データシートや PSoC Designer の Chip Editor などでは下のように 3 行 4 列のアレイとして表記されます。

 「ACB」と表記されているブロックは、「Analog Continuous time block type-B」という意味で、(スイッチトキャパシタ回路ではない) OP アンプ 1 個 + 抵抗ネットワークという連続時間の回路であることを表しており、第 1 行目に割り付けらています。
 「ASC」と表記されているブロックは、「Analog Switched capacitor block type-C」の略であり、また、「ASD」と表記されているブロックは、「Analog Switched capacitor block type-B」の略で、それぞれ OP アンプ 1 個とスイッチトキャパシタ回路で構成されており、第 2 行目と第 3 行目に互いに「市松模様」の形に割り付けられています。
 ASC の上下左右に隣り合うブロックは ASD (あるいは ACB) であり、同様に ASD の上下左右に隣り合うブロックは ASC (あるいは ACB) です。
 斜め方向には同種の SC ブロックが並んでいます。
 アレイの「列方向」に並ぶ ACB / ASC / ASD の組は「アナログ・カラム」と呼ばれ、アナログ・クロック入力、アナログ出力バス、コンパレータ・バスなどを共有しています。
 ただし、出力バスと言っても専有できるのは 3 つのブロックの内ひとつだけで、複数のブロック間で「切り替え」たい場合にはプログラムで面倒を見る必要があります。
 上の図では、各アナログ・カラムを緑色の枠で囲ってあります。
 各アナログ・ブロックは、0 オリジンで数える「ロウ」、「カラム」をインデクスとして、

  • ACB00 — ロウ 0、カラム 0 の ACB
  • ASC12 — ロウ 1、カラム 2 の ASC
  • ASD22 — ロウ 2、カラム 2 の ASD

のようにして区別されています。
 ASC と ASD とは微妙に仕様が異なっていて、バイクアッド・フィルタを実現する際には 2 次セクションひとつ当たり ASC + ASD のペア一組が使われます。 ( ASC が入力側)
 最も多機能となる組み合わせで ASC + ASD ブロックを使った場合のバイクアッド・フィルタの構成を、連続時間での構成で近似したものを下に示します。

この回路での、入力 (Vin) とV2 出力との間の伝達関数は下のようになります。

\qquad H(s) =\displaystyle  \frac{K_2\cdot s^2 +K_1 \cdot  {\omega_0}s + K_0 \cdot \omega^2_0}{s^2 + \frac{\omega_0}{Q}s + \omega^2_0}

 K2 / K1 / K0 の値と、得られるフィルタ特性を表にすると次のようになります。

K2 K1 K0 V1 出力 V2 出力
0 0 1 BPF LPF
0 1 0 HPF BPF
0 1/Q 0 HPF
(peak = 1)
BPF
(peak = 1)
1 0 0 HPF
1 0 1 BRF
(ノッチ)
< 1 0 1 ローパス
ノッチ
1 0 < 1 ハイパス
ノッチ
1 -1/Q 1 APF

(2018 年 12 月 20 日追記 : 「ローパス・ノッチ」と「ハイパス・ノッチ」を追加しました。)
 ピークを生じる特性で、(peak = 1) と注記のないものはピークレベルは Q になります。 (2018 年 12 月 20 日追記 : ローパス・ノッチとハイパス・ノッチでは、ピーク周波数とノッチ周波数が近接している場合にはピーク・レベルが低くなります。)
 V1 の特性の表記で「—」となっているのは、基本的な 2 次の LPF/BPF/HPF 特性ではないことを示しています。
 APF となる組み合わせでは、K1 = -1/Q と負の値となっていて、次に示すようにシミュレーションは可能ですが、実際の回路で実現するには回路の追加が必要です。
 APF では、OP アンプのゲインが有限なことなどの理由から、伝達関数の極と零点の影響が完全にキャンセルし合わずに振幅特性にわずかな乱れを生じます。
 1 番目の OP アンプ出力と 2 番目の OP アンプ入力との間に、値がマイナスの抵抗が使われていますが、これは、実際にはあり得ないので、もし実現するとしたら、ゲイン G = -1 の反転増幅器を挿入して、計 3 個の OP アンプを使うことになります。
 一方、スイッチトキャパシタ回路では「非反転積分回路」が簡単に実現可能なので、 OP アンプ 2 個でバイクアッド・フィルタが作れます。
 実は、spice によるシミュレーションでは、抵抗の値が負であっても怒られずに実行してくれるので、「E」エレメント (電圧制御電圧源) を理想 OP アンプとして使った下の回路で特性を求めることができます。

 ω0 = 6.28319 = 2 × π [rad/s] としているので、カットオフ周波数 f0 = 1 Hz になります。
 また、K0 = 1、K1 = 0、K2 = 0 と選んでいるので、V1 端子から BPF 出力、V2 端子から LPF 出力が得られます。

 「フルスペック版」のスイッチトキャパシタ回路を下に示します。

 この「BQTAP」信号線を活用した構成にするには、

  • ACB00 + ASC10 + ASD11
  • ACB01 + ASC10 + ASD11
  • ACB02 + ASC12 + ASD13
  • ACB03 + ASC12 + ASD13

のいずれかの組み合わせに、ユーザ・モジュールとしてフィルタ専用のモジュールではなく、汎用の「SCBLOCK」を配置する必要があります。
 ユーザ・モジュールとしては「SCBLOCK」1 種だけで ASC / ASD 両者に対応しており、配置された SC ブロックに合わせて設定可能なパラメタなどが変わります。