001-13260_BPF2.pdf

2 ポール バンドパス フィルタのデータシート BPF2 V 5.5
001-66118 Rev. **
Two-Pole Band Pass Filter
Copyright © 2002-2010 Cypress Semiconductor Corporation. All Rights Reserved.
PSoC® ブロック
リソース
アナログ
CT
デジタル
API メモリ (バイト)
アナログ
SC
www
Flash
ピン (外部
I/O あたり)
RAM
CY8C29/27/24xxx、CY8C23x33、CY8CLED04/08/16、CY8CLED0xD、CY8CLED0xG、CY8CTST120、
CY8CTMG120、CY8CTMA120、CY8C28x45、CY8CPLC20、CY8CLED16P01、CY8C28x43、 CY8C28x52
CY8C26/25xxx
0
0
2
109
0
1
0
0
2
109
0
1
特徴と概要
„
„
„
„
„
ユーザが中帯域ゲインをプログラムできます。
ユーザが外部コンポーネントを使用せずに中心周波数と Q をプログラムできます。
フィルタの中心周波数の安定性はクロック精度から直接依存します。
1.0 MHz までのサンプリング レートフィルタ。
ゼロ交差検出器を内蔵しています。
BPF2 ユーザ モジュールは、状態変数型、もしくはバイクアッドとも呼ばれるタイプの二次のローパス
フィルタを実装します。中心周波数および Q ( 中心周波数と帯域幅の比率 ) は、クロック周波数と選択
したコンデンサの容量比との関数です。 中心周波数は、サンプル レート クロックを制御することで、非
常に正確に設定し、調整できます。 2 つの BPF2 ユーザ モジュールをカスケード接続すると、複数のセ
クション フィルタを実装できます。 出力は、アナログ出力バスを駆動することや、2 セクション フィル
タを構成するために 2 つ目の BPF2 ユーザ モジュールとカスケード接続することができます。 このフィ
ルタには、アナログ グラウンドを基準とするコンパレータが含まれます。 この機能により、帯域を限定
したゼロ交差検出器を構築できます。
Cypress Semiconductor Corporation
Document Number: 001-66118 Rev. **
•
198 Champion Court
•
San Jose, CA 95134-1709
•
408-943-2600
Revised December 20, 2010
[+] Feedback
Two-Pole Band Pass Filter
Figure 1.
BPF2 回路図
機能説明
1 ポールペア バンド パス フィルタは、周波数領域では以下の式で表される周波数応答を持ちます。
Equation 1
上の式で、Q は中心周波数と -3.0 dB の帯域幅の比率で、φ0 は中心周波数です。複数ポールペア バンド
パス フィルタは、変化した帯域幅要件を満たすために、同一の Q と φ0 をスケーリングしたセクション
を持ちます。 すべての 2 ポール フィルタは、通過帯域から遠い領域では、オクターブごとに 12 dB (1 つ
のポール当たり、オクターブごとに -6 dB) に近い減衰特性を持ちます。 バンド パ ス フィルタは、通過
帯域に近い部分で、帯域オクターブごとに 12 dB に近い減衰特性を持ちます。 最初の帯域外減衰特性は
かなり急峻です。入力周波数がフィルタの中心周波数の 2 倍を超える場合、減衰特性は、中心周波数オ
クターブごとに 12 dB の傾斜に徐々に近づきます。
必要な帯域内性能と帯域付近の減衰特性要件によって、バンド パス形式に移るために選択されるローパ
ス フィルタの種類が決まります。 標準の Butterworth フィルタは単調な振幅性能を持ち、通過帯域での
位相シフトは最も平坦です。 減衰比が小さいフィルタ (Chebyshev) は、通過帯域内の振幅特性は平坦で
すが、通過帯域内の位相シフトが非線形であり、リンギングが大きくなり ます。 減衰比が大きいフィル
タ (Bessel) は通過帯域内の位相シフトは線形で、オーバシュートが最小限のパルス応答特性を持ちます
が、通過帯域に近い領域の減衰比は小さくなります。 ローパス ポールの値は、どのフィルタ設計でもす
ぐに使用できます。
Document Number: 001-66118 Rev. **
Page 2 of 24
[+] Feedback
Two-Pole Band Pass Filter
バイクアッド フィルタの基本的な形は、制御されている DC および周波数依存のフィードバック パスを
持つ積分器のペアです。バイクアッド フィルタは、図 2 に示されているようにバイクアッド フィルタの
標準的な RC フォームを調べることで、簡単に理解できます。
Figure 2.
RC バイクアッドの回路図
代表的な RC バイクアッド バンド パス フィルタでは、3 つのオペアンプが使用されます。 RC バイクア
ッドの伝達関数は、式 2 のとおりです。
Equation 2
PSoC スイッチト キャパシタの実装では、出力ブロックのゲインの極性を反転することで中心の反転オ
ペアンプが不要になります。 抵抗器は、図 1 に示されているように、スイッチト キャパシタに変換され
ます。
スイッチト キャパシタ回路は時間サンプル デバイスとしての性質を持つため、伝達関数は時間領域で作
成します。ここで、z-1 は周波数領域 (s=j φ) ではなく、サンプル時間の時間遅延です。 伝達関数は、双
一次変換によって周波数領域に変換されます。 伝達関数は、以下のように分解されます。
Equation 3
Document Number: 001-66118 Rev. **
Page 3 of 24
[+] Feedback
Two-Pole Band Pass Filter
この式と式 1 の標準形を比較すると、以下のように、一連の Q、中心周波数 fc、およびゲイン G の設計
方程式を求めることができます。
Equation 4
Equation 5
Equation 6
式 3 の分子には項
が含まれます。この結果、信号周波数がナイキスト レートの半分に近づくと、
フィルタの減衰特性が抑制されます ( つまり、サンプリング レート fs と少量の振幅バイアスまたは帯域
通過内での上向きの 「傾斜」)。この傾斜は、Q とサンプリング周波数が小さいほど大きくなります。
また、フィルタの公称帯域幅を調整することで補正できます。
サンプル レートを増加すると、図 3 に示されているように、フィルタの性能が式 1 の標準形に近づき、
より滑らかな波形になります。これは、フィルタ、オペアンプ、DAC を含むすべてのスイッチト キャ
パシタ回路に当てはまります。
Figure 3.
時間分解能対オーバーサンプル比
Document Number: 001-66118 Rev. **
Page 4 of 24
[+] Feedback
Two-Pole Band Pass Filter
フィルタの中心周波数は、クロック周波数、コンデンサの分解能、および PSoC オペアンプの性能によ
って制御されます。 周波数が高くなると、オペアンプの開ループ ゲイン低下の影響で、中心周波数が下
がります。開ループ ゲインの中心周波数性能に対する影響を、単位ゲイン帯域幅で表し、図 4 に示しま
す。中心周波数が 40 kHz より上のフィルタでは、[Global Parameters( グローバル パラメータ)] ウィン
ドウで、ユーザ モジュールの出力を 「HIGHPOWER ( 高出力 )」、オペアンプ バイアスを 「High ( 高
)」に設定すべきです。
Figure 4.
中心周波数対単位ゲイン帯域幅
用途向けの出力設定
フィルタのパフォーマンスはスイッチト キャパシタのブロック出力とバイアス設定で決定します。出力
モードは、ユーザ モジュール API を使って選択されます。 バイアスは、PSoC Designer のグローバル
リソース ウィンドウで 「オペアンプ バイアス」パラメータを使って選択されます。 出力およびバイア
スの設定は、オペアンプ動作電流、さらにスルー レート (SR) を決定します。出力およびバイアスがと
もに 「High ( 高 )」に設定されている場合は、オペアンプ スルー レートは 4 V/µsec となります。出力
とバイアスが 1 ステップ下がるごとに、これは半分になります。
信号を正しく伝達するのに必要なスルー レートは、ピーク電圧 (Vpk) と周波数 (F) に依存します。 フィ
ルタの出力信号は、クロックの 1/2 相の間に、古い値から新しい値に変わります。 この結果、フィルタ
には、信号のスルー レートの 4 倍のオペアンプ スルー レートが必要になります。
Equation 7
Vdd = 5.0 V の場合、レール - レール出力の最大動作周波数を、以下の表に示します。
出力、バイアス
kHz
P,B=H,H
64
P,B=H,L
32
Document Number: 001-66118 Rev. **
Page 5 of 24
[+] Feedback
Two-Pole Band Pass Filter
出力、バイアス
kHz
P,B=M,H
16
P,B=M,L
8
P,B=L,H
4
P,B=L,L
2
この表で、P = 出力、B = オペアンプ バイアス、L = 低、H = 高、M = 中です。 低い信号レベルでは、許
容ピーク電圧は、以下のグラフに示されるようになります。
Figure 5.
低信号レベルでのピーク電圧
フィルタの出力は、内部信号です。 オフチップで駆動される場合は、バッファされる必要があります。
バッファは、0.65 V/µsec のスルー レートを持ちます。 バッファの動作周波数制限は、前のグラフに示
されるようになります。
フィルタ設計
フィルタ設計の目的は、通常、帯域外の信号のエイリアシングの最小化と元信号に対する忠実性のため
に、できるだけ高いサンプリング周波数 (fc) を達成することです。その他のシステム要件によってサン
プル レートが決まる場合もあります。コンデンサの値は、必要なサンプル レートを達成するためにカス
タマイズできます。
BPF2 は、コンデンサの値を決定するために、次の 3 つの代替手段を提供します。 PSoC Designer は、2
ポール フィルタの手順を自動化するフィルタ設計ウィザードを提供しています。 同じ手順は、表計算シ
ート、BPF2 Design.xls で実装されます。 この表計算シートは、PSoC Designer の [Help( ヘルプ )] メニ
ューの [Documentation( 文書化 )...] 項目から開くことができます。 2 ポール ペア (4 次 ) フィルタ向けの
同様の手順が、別の Microsoft® Excel® 表計算シート、LPF4Design.xls でも自動化されています。表計
算シートでは、ウィザードによって課される設計上の制約を実験的に変更できます。設計プロセスで究
極の実践制御を実現するには、手動で実行できる数値的手法が説明されている巻末の付録を参照してく
Document Number: 001-66118 Rev. **
Page 6 of 24
[+] Feedback
Two-Pole Band Pass Filter
ださい。 コーナー周波数が 1 kHz の Butterworth フィルタの場合この手順がどのように機能するかを示
す例も提供されています。
PSoC Designer 内蔵のフィルタ設計ウィザードを使用するには、まずアナログ アレイに LPF2 インスタ
ンスを配置します。 ユーザ モジュールを右クリックし、ポップアップ メニューから [Filter Design
Wizard ( フィルタ設計ウィザード )...] を選択します。この結果表示される図 5 のダイアログでは、伝達
関数を設計するための単純で反復的な手順が説明されます。
Figure 6.
BPF2 の [Filter Design Wizard ( フィルタ設計ウィザード )] ダイアログ ボックス
ダイアログをスクロールダウンすると、マグニチュード特性を作図するために使用される値を含む表が
表示されます。 この表の値は、さらにグラフを作成したり分析したりするために、表計算シートやその
他のツールに切り取って貼り付けることができます。
Document Number: 001-66118 Rev. **
Page 7 of 24
[+] Feedback
Two-Pole Band Pass Filter
DC および AC の電気的特性
値は、初期の特性データを元に予測される性能を表しています。別途指定されている場合を除き、すべ
てのリミットは、TJ =+25°C、Vdd = 5.0V、高出力 (High Power)、オペアンプ バイアス LOW、出力の基
準はアナログ グラウンド = 2*VBandGap という条件で保証されます。
Table 1.
5.0V BPF2 の DC 電気的特性、PSoC デバイスの CY8C29/27/24/22xxx ファミリ
パラメータ
標準値
制限
単位
28
--
mV
低出力
290
--
μA
中出力
1095
--
μA
高出力
4200
--
μA
DC オフセット電圧 1
条件および注意
アナログ グラウンドが基準 1
動作電流
Table 2.
5.0V BPF2 の AC 電気的特性、PSoC デバイスの CY8C29/27/24/22xxx ファミリ
パラメータ
中帯域ゲイン
標準値
制限
単位
.25
--
dB
低出力
.9
--
MHz
中出力
4
--
MHz
高出力
6
--
MHz
コーナー周波数誤差
.85
--
%
減衰比誤差
1.05
--
%
ノイズ 4
615
--
nV/√Hz
条件および注意
期待値からの偏差 2
最大クロック周波数 3
公称値からの偏差 2
値は、初期の特性データを元に予測される性能を表しています。別途指定されている場合を除き、すべ
てのリミットは、TA = 25°C、Vdd = 3.3、高出力 (High Power)、オペアンプ バイアス LOW、出力の基準
はアナログ グラウンド = Vdd/2 という条件で保証されます。
Table 3.
3.3V BPF2 の DC 電気的特性、PSoC デバイスの CY8C29/27/24/22xxx ファミリ
パラメータ
標準値
制限
単位
21
--
mV
低出力
270
--
μA
中出力
1035
--
μA
高出力
4045
--
μA
DC オフセット電圧 1
条件および注意
アナログ グラウンドが基準 1
動作電流
Document Number: 001-66118 Rev. **
Page 8 of 24
[+] Feedback
Two-Pole Band Pass Filter
Table 4.
3.3V BPF2 の AC 電気的特性、PSoC デバイスの CY8C29/27/24/22xxx ファミリ
パラメータ
中帯域ゲイン
標準値
制限
単位
.75
--
dB
低出力
.7
--
MHz
中出力
1.3
--
MHz
高出力
2.4
--
MHz
コーナー周波数誤差
1.55
--
%
減衰比誤差
1.05
--
%
ノイズ 4
1150
--
nV/√Hz
条件および注意
期待値からの偏差 2
最大クロック周波数 3
Note
公称値からの偏差 2
電気的特性に関する注意
1. 1 kHz フィルタの代表的な DC オフセットは、Q = 3、5、および 15、C2 = 1 〜 16、C3 = 3、10、およ
び 25 。 C1 と C4 は、フィルタ設計表計算シートを使用して検出しました。
2. 公称フィルタから決まる偏差値は、fcenter = 1 kHz Butterworth、ユニティ ゲイン、C1 = 1、C2 =
3、C3 = 31、C4 = 1、fclock = 20.3 kHz、Q = 10 です。
3. サンプル レートは、コラム クロック周波数の 1/4 です。
4. 10 kHz フィルタを使用して 1 kHz で検出されるノイズ。
別途指定されている場合を除き、すべてのリミットは、TJ =+25°C、Vdd = 5.0V、高出力 (High Power)、オペアンプ バイアス
LOW、出力の基準はアナログ グラウンド = 2*VBandGap
Table 5.
という条件で保証されます。
5.0V BPF2 の DC 電気的特性、PSoC デバイスの CY8C26/25xxx ファミリ
パラメータ
DC オフセット
制限 2
標準値
32
条件 1 および注意
単位
mV
アナログ グラウンドが基準
動作電流
低出力
250
--
uA
中出力
560
--
uA
高出力
1560
2000
uA
Table 6.
5.0V BPF2 の AC 電気的特性、PSoC デバイスの CY8C26/25xxx ファミリ
OK パラメータ
制限 2
標準値
単位
--
1.0
%
低出力
--
0.8
MHz
中出力
--
1.5
MHz
中帯域ゲイン 3
条件 1 および注意
公称値からの偏差
最大クロック周波数 4
Document Number: 001-66118 Rev. **
Page 9 of 24
[+] Feedback
Two-Pole Band Pass Filter
OK パラメータ
制限 2
標準値
条件 1 および注意
単位
高出力
--
3.0
MHz
中心周波数 3
--
2.5
%
公称値からの偏差
Q3
--
2.6
%
公称値からの偏差
ノイズ
--
8.0
mV rms
別途指定されている場合を除き、すべてのリミットは、TJ = 25°C、Vdd = 5.0V、高出力 (High Power)、
オペアンプ バイアス LOW、出力の基準はアナログ グラウンド =2*Vdd という条件で保証されます。
Table 7.
3.3V BPF2 の DC 電気的特性、PSoC デバイスの CY8C26/25xxx ファミリ
パラメータ
DC オフセット
制限 2
標準値
32
条件および注意 1
単位
mV
動作電流
低出力
250
--
uA
中出力
560
--
uA
高出力
1280
1800
uA
Table 8.
3.3V BPF2 の AC 電気的特性、PSoC デバイスの CY8C26/25xxx ファミリ
パラメータ
制限 2
標準値
単位
条件および注意 1
--
1.0
%
低出力
--
0.6
MHz
中出力
--
1.0
MHz
高出力
--
1.5
MHz
中心周波数 3
--
2.5
%
公称値からの偏差
Q3
--
2.6
%
公称値からの偏差
ノイズ
--
6.0
mV rms
中帯域ゲイン 3
公称値からの偏差
最大クロック周波数 4
Note
電気的特性に関する注意
1. 標準値は +25°C でのパラメータの標準を表します。
2. 制限は、テストまたは統計情報の分析によって保証されます。
3. 公称フィルタで決定される偏差は、1 kHz Butterworth Q=10、ゲイン =0 dB、C1=1、C2=10、
C3=10、C4=3、CA=32、C2=32、fsample=139 kHz です。
4. サンプル レートは、コラム クロック周波数の 1/4 です。
Document Number: 001-66118 Rev. **
Page 10 of 24
[+] Feedback
Two-Pole Band Pass Filter
配置
デバイス エディタは、論理 FLIN および FLFB ブロックをデバイスのアナログ アレイの隣接するスイッ
チト キャパシタ PSoC ブロックのペアにマッピングします。アナログ PSoC ブロックからバイクアッド
フィルタ回路を構成する方法はいくつかあります。各構成方法で図 2 の BPF2 回路図を実装するが、
FLIN および FLFB ブロック内で使用されるキャパシタと接続は異なります。 それぞれ、結果として、異
なるマッピングと I/O 結果を持つ異なる回路トポロジが生成されます。最も顕著な違いは、2 つの PSoC
ブロックがアナログ アレイの行または列のどちらにあるかです。アレイ内にある他のブロックにどの接
続を行うことができるかも、このトポロジによって決まります。ただし、選択したトポロジにかかわら
ず、フィルタの入出力は常に FLIN ブロックに接続されます。
BPF2 ユーザ モジュールのインスタンスが作成されるたびに、PSoC Designer は、回路トポロジの選択
を助けるイラストとテキストを含むダイアログを表示します。選択内容は、選択バーのユーザ モジュー
ル アイコンを右クリックするか、すでに配置済みの場合は、PSoC ブロックのいずれかを右クリックし
て、ポップアップ メニューから [Select User Module Options( ユーザ モジュール オプションを選択 )...]
を選択して、いつでも簡単に変更できます。配置後トポロジを変更すると、ユーザ モジュールをアナロ
グ アレイに再度配置する必要があります。
極性および変調機能
BPF4 の入力スイッチト キャパシタ ブロックは、極性制御選択機能を持ちます。極性は、変調器を形成
するブロックへの外部クロックによっても制御できます。変調器は、用途での必要に応じて、周波数を
上下するのに使用されます。 変調機能は、キャリア レートで入力に +1 または -1 を乗算します。これ
で、キャリアおよび入力変数の合計とキャリアおよび周波数の差での信号を生成します。 変調正方波
は、その基数の奇数倍で高調波を持ちます。これらの高調波は、キャリアのエイリアスが同じ因数で減
衰されるように、1/n として減衰されます。変調キャリアは、偶数の高調波エイリアスを最小限に抑え
るため、50% のデューティサイクルを持つ必要があります。
例のダウンシフトは、132 kHz の信号を使用しています。これは、120 kHz 正方波で変調され、12 kHz
の差信号を生成します。同じサイズの信号が 252 kHz で生成されますが、これは、バンド パス フィル
タでほとんどフィルタされます。 フィルタなしの下変調された信号の例を、以下の図に示します。
Figure 7.
フィルタなしの下変調された信号
Document Number: 001-66118 Rev. **
Page 11 of 24
[+] Feedback
Two-Pole Band Pass Filter
4 kHz 帯域を持つ 12 kHz の差周波数で構成される BPF2 は、高調波とエイリアスを著しく排除するた
め、波長が下図のようになります。 変調およびフィルタリングは、同じブロックで実行されます。
Figure 8.
BPF2 の波長
この技法は、およそ 200 kHz までの上限で、周波数を上方向に混合する場合にも同様に利用できます。
変調器クロックは、適切なグローバル出力またはブロードキャスト バスを選択することで、複数のデジ
タル ブロック源の 1 つから選択できます。変調器は、コンパレータ バス出力に接続できますが、バンド
パス フィルタとともに使用するには実践的ではありません。
パラメータおよびリソース
バンド パス フィルタを作成するには、デバイス エディタのアナログ アレイに BPF2 ユーザ モジュール
のインスタンスを配置します。設計手順の選択肢のいずれかを使用してフィルタのキャパシタの値を決
め、入力を接続して、アナログ バス接続およびクロック リソースを設定します。 これらの各パラメータ
について以下に説明します。
Input ( 入力 )
フィルタへの入力は、隣接する PSoC ブロックの出力によって駆動されます。 入力は、デバイス
エディタのユーザが選択します。
AnalogBus ( アナログ バス )
ユーザ モジュールの FLIN ブロックの出力は、隣接する PSoC ブロックに接続できます。 その他の
ユーザ モジュールからこの出力に接続するには、デバイス エディタを使用します。 FLIN ブロック
の出力は、AnalogOutBus_x の選択内容 ( 「x」はコラム番号 ) を使用して、アナログ コラム出力バ
スに接続できます。 これにより、同じコラムのアナログ出力バッファに接続でき、同じコラムのそ
の他のユーザ モジュールのアナログ出力バスのアクセスを防ぐことができます。 すべての相互接
続は、デバイス エディタを使用して構成します。
Document Number: 001-66118 Rev. **
Page 12 of 24
[+] Feedback
Two-Pole Band Pass Filter
CompBus ( コンパレータ バス )
FLIN ブロックのコンパレータ出力は、デジタル PSoC ブロックの入力バスまたは割り込みに振り
分けられます。 これらの接続のいずれでも、これらの CompBus パラメータを 「Enabled ( 有効 )」
に設定します。
コンデンサの値 C1、C2、C3、C4、CA、および CB
これらの 6 つのコンデンサの値の比率によって、フィルタの周波数と位相応答が決まります。 これ
らの名前は、BPF2 回路図 ( 図 2) に描かれているコンデンサを指します。CA および CB は、それ
ぞれ 16 または 32 の容量の値を取ります。C1 〜 C4 は 0 から 31 の値を取ります ( 意味のある伝達
関数にするには、ゼロより大きい値が必要です )。 伝達関数は、自動または手動手順によって設計
できます。内蔵設計ツールにアクセスするには、配置されているフィルタを右クリックして、ポッ
プアップ メニューから [Filter Design Wizard ( フィルタ設計ウィザード )...] を選択します。 設計に
ついては、「フィルタ設計」を参照してください。
Polarity ( 極性 ) (A 入力トポロジ フィルタのみ )
このパラメータによって、入力を基準とする出力の極性が決まります。出力は、[Inverting ( 反転 )]
を選択して入力信号を反転したり、[Non-inverting ( 反転なし )] を選択して同じ極性を維持したりす
るように設定できます。このパラメータは、A 入力トポロジ フィルタだけに適用されます。
Sample Clock ( サンプル クロック )
ローパス フィルタに必要なサンプル クロックは、「機能説明」の方程式を使用して計算します。
他のユーザ モジュー ル パラメータと異なり、サンプル クロックは、[Global Resources ( グローバ
ル リソース )] の [Device Editors ( デバイス エディタ )] リストの下にあるユーザ モジュール パラメ
ータのリストには表示されません。 さらに、特定のユーザ モジュールに固有の信号入力とは異な
り、サンプル クロックは、各自アナログ コラム全体に提供されます。 両方の PSoC ブロックのサ
ンプル レート クロックは同じにする必要があり、 ブロックの水平配置を選択した場合は、両方の
コラム クロックを同じクロック ソースから駆動する必要があります。 各コラム クロック発生器は
入力を 4 分割し、ブロックの内部クロックである φ1 と φ2 を作成するので、クロック ソースは必
要なフィルタ サンプル クロックの 4 倍の速度になるはずです。
クロック ソースの選択肢には、デジタル PSoC ブロックとシステム クロック分周器が含まれま
す。システム クロック分周器を他の用途に使用する場合は、タイマ、カウンタ、およびパルス幅
変調器 (PWM) ユーザ モジュールのすべてが適しています。
コラム クロックへのクロック ソースは、デバイス エディタのコラムごとに CLK マルチプレクサを
使用して選択されます。システム クロックは、このマルチプレクサに直接入力されます。 PSoC ブ
ロックは、クロック生成に使用する場合、ACLK0 および ACLK1 マルチプレクサを通して CLK マ
ルチプレクサに接続します。
変調器クロック
変調器は、入力ブロックの A 入力で極性制御を使用します (FLIN)。 この機能は、トポロジ BPF2A
と BPF2VA で利用できます。 BPF2B および BPF2V トポロジは、極性制御を持たない入力ブロッ
クの B 入力を使用するため、これらのトポロジでは利用できません。
4 つのソース ( オフを含む ) を利用できます。
Document Number: 001-66118 Rev. **
Page 13 of 24
[+] Feedback
Two-Pole Band Pass Filter
Table 9.
変調クロックのソース選択
パラメータ
注
なし
変調器クロックはオフ
GlobalOutOdd_0
GlobalOutEven_0 から変調器クロックを取得
GlobalOutOdd_1
GlobalOutEven_1 から変調器クロックを取得
Row_0_Broadcast
Row_0_Broadcast から変調器クロックを取得
変調器クロックへのコンパレータ バス接続は、通常、BPF ではなく、LPF トポロジでのみの機能
です。
アプリケーション プログラミング インタフェース (API)
アプリケーション プログラミング インタフェース (API) ルーチンは、設計者が高級言語でモジュールを
操作できるようにユーザ モジュールをコンポーネントとして提供します。 このセクションでは、各機能
に対するインタフェースを 「include」ファイルによって提供される関連定数とともに示します。
Note
すべてのユーザ モジュール API の場合と同じように、API 関数を呼び出すことで A と X レジス
タの値が変更されることがあります。A と X の値が呼び出し後に必要な場合は、呼び出し元関数
で A と X の値を保存してください。PSoC Designer のバージョン 1.0 以降では、効率を高める
ために、この 「registers are volatile ( レジスタの揮発性 )」ポリシーが選択され、実施されてい
ます。C コンパイラは、自動的にこの条件で処理されています。アセンブラ言語のプログラマ
は、コードがこのポリシーを遵守していることも確認する必要があります。一部のユーザ モジュ
ール API 関数では A と X は変更されないこともありますが、将来も変更されないという保証は
ありません。
BPF2 ユーザ モジュールを初期化し、出力設定を変更し、ユーザ モジュールを無効にするためにエント
リ ポイントが提供されています。
BPF2_Start
説明:
このユーザ モジュールで必要なすべての初期化を実行し、スイッチト キャパシタ PSoC ブロック
の出力レベルを設定します。
C プロトタイプ:
void BPF2_Start(BYTE bPowerSetting)
アセンブリ:
mov
A, bPowerSetting
lcall BPF2_Start
パラメータ:
bPowerSetting: 両方のアナログ PSoC ブロックの出力レベルを指定する 1 バイトです。 リセット
と構成の後、計装アンプに割り当てられた PSoC ブロックの電力が遮断されます。C およびアセン
ブラの include ファイルで指定されている記号名と関連する値を以下の表に示します。
Document Number: 001-66118 Rev. **
Page 14 of 24
[+] Feedback
Two-Pole Band Pass Filter
記号名
値
BPF2_OFF
0
BPF2_LOWPOWER
1
BPF2_MEDPOWER
2
BPF2_HIGHPOWER
3
Note
適切な性能を実現するため、中心周波数が 40 kHz を超えるフィルタでは、(1)
BPF2_HIGHPOWER を使用し、(2) [Global Parameters ( グローバル パラメータ )] ウィンドウで
グローバル パラメータ 「Op-Amp Bias ( オペアンプ バイアス )」を 「HIGH ( 高 )」に設定すべき
です。
戻り値:
なし
特殊作用:
この関数によって、A および X レジスタが変更される場合があります。
BPF2_SetPower
説明:
スイッチト キャパシタ PSoC ブロックの出力レベルを設定します。 このルーチンは、ユーザ モジ
ュール内のブロックをオンまたはオフするために使用します。
C プロトタイプ:
void BPF2_SetPower(BYTE bPowerSetting)
アセンブリ:
mov
A, bPowerSetting
lcall BPF2_SetPower
パラメータ:
bPowerSetting: Start エントリ ポイントで使用した bPowerSetting と同じです。
戻り値:
なし
特殊作用:
この関数によって、A および X レジスタが変更される場合があります。
BPF2_SetCA、SetCB
説明:
ユーザ モジュール FLIN ブロック (CA) と FLFB ブロック (CB) でフィードバック コンデンサの値を
設定します。 これにより、バンド パス フィルタの伝達関数を動作中に変更てできます。
C プロトタイプ:
void BPF2_SetCA(BYTE FEEDBACK_CONSTANT)
void BPF2_SetCB(BYTE FEEDBACK_CONSTANT)
Document Number: 001-66118 Rev. **
Page 15 of 24
[+] Feedback
Two-Pole Band Pass Filter
アセンブリ:
mov
A, FEEDBACK_CONSTANT
lcall BPF2_SetCA
; or, call
BPF2_SetCB
パラメータ:
FEEDBACK_CONSTANT: フィードバック コンデンサ CA または CB のサイズを指定する 1 バイ
トです ( 「BPF2 の回路図」を参照 )。C およびアセンブラの include ファイルで指定されている記
号名と関連する値を以下の表に示します。
シンボル名
値
BPF2_FEEDBACK_16
0x00
BPF2_FEEDBACK_32
0x01
戻り値:
なし
副作用
この関数によって、A および X レジスタが変更される場合があります。
BPF2_SetC1、SetC2、SetC3、SetC4
説明:
ユーザ モジュール内の特定のコンデンサの値を設定します。 この API を使用すると、C1 を変更し
てゲインを調整することや、その他の値を調整してフィルタの伝達特性を変更することができま
す。
C プロトタイプ:
void BPF2_SetC1(BYTE
void BPF2_SetC2(BYTE
void BPF2_SetC3(BYTE
void BPF2_SetC4(BYTE
bCapValue)
bCapValue)
bCapValue)
bCapValue)
アセンブリ:
mov
A, CapValue
lcall BPF2_SetC1
; or, call
BPF2_SetC2 (or SetC3 or SetC4)
パラメータ:
bCapValue:C1、C2、C3、および C4 向けの 1 〜 31 の整数値 ( 「BPF2 の回路図」を参照 )。 この
範囲以外の値は modulo 32 として切り捨てられます。
戻り値:
なし
副作用
この関数によって、A および X レジスタが変更される場合があります。
Document Number: 001-66118 Rev. **
Page 16 of 24
[+] Feedback
Two-Pole Band Pass Filter
BPF2_SetPolarity (A 入力トポロジ フィルタのみ )
説明:
FLIN の入力信号を反転するかどうかを選択して、出力信号の極性を設定します。 これにより、動
作中にバンド パス フィルタの出力極性を変更できます。 この関数は、A 入力トポロジ フィルタだ
けに適用されます。
C プロトタイプ:
void BPF2_SetPolarity(BYTE FEEDBACK_CONSTANT)
アセンブリ:
mov
A, FEEDBACK_CONSTANT
lcall BPF2_SetPolarity
パラメータ:
POLARITY_CONSTANT:反転するかどうかを指定する 1 バイトです。C およびアセンブラの
include ファイルで指定されている記号名と関連する値を以下の表に示します。
シンボル名
値
BPF2_POLARITY_INVERTING
0x00
BPF2_POLARITY_NON_INVERTING
0x01
戻り値:
なし
特殊作用:
この関数によって、A および X レジスタが変更される場合があります。
BPF2_Stop
説明:
ユーザ モジュールの電源を切ります。
C プロトタイプ:
void BPF2_Stop(void)
アセンブリ:
lcall BPF2_Stop
パラメータ:
なし
戻り値:
なし
特殊作用:
この関数によって、A および X レジスタが変更される場合があります。
Document Number: 001-66118 Rev. **
Page 17 of 24
[+] Feedback
Two-Pole Band Pass Filter
ファームウェア ソースコードの例
C では、バンド パス フィルタの使用は、簡単であり、Start API を使用して動作を開始し、動作終了時
に Stop API を呼び出します。
#include "BPF2.h"
BPF2_Start(BPF2_HIGHPOWER);
...
BPF2_Stop();
// (application processing)
フィルタ伝達関数は動作中に設定および変更できます。分周器が 304 の 24 MHz のクロック ソースから
アナログ コラム クロックが駆動されるとすると、以下のコードにより、中心周波数が 1000 Hz、Q が
10 のフィルタが作成され、このフィルタが開始されます。選択したトポロジやアナログ PSoC ブロック
アレイ内の配置位置にかかわらず、この同じコードが使用されます。
BPF2_SetC1( 1 );
BPF2_SetC2( 10 );
BPF2_SetC3( 10 );
BPF2_SetC4( 3 );
BPF2_SetCA( BPF2_FEEDBACK_32 );
BPF2_SetCB( BPF2_FEEDBACK_32 );
BPF2_Start(BPF2_HIGHPOWER);
BPF2_SetPolarity(BPF2_POLARITY_INVERTING);
同等のアセンブリ言語コードを以下に示します。
include "BPF2.inc"
mov
lcall
mov
lcall
mov
lcall
mov
lcall
mov
lcall
mov
lcall
mov
lcall
mov
lcall
Note
A, 1
BPF2_SetC1
A, 10
BPF2_SetC2
A, 10
BPF2_SetC3
A, 3
BPF2_SetC4
A, BPF2_FEEDBACK_32
BPF2_SetCA
A, BPF2_FEEDBACK_32
BPF2_SetCB
A, BPF2_POLARITY_INVERTING
BPF2_SetPolarity
A, BPF2_HIGHPOWER
BPF2_Start
式から、ゲインは C1 の値に比例するが、中心周波数と減衰 (Q) はこれに依存しないことを示し
ています。伝達関数を選択すると、BPF2_SetC1 API 関数を使用して、プログラマブル ゲイン制
御を実装できます。
Document Number: 001-66118 Rev. **
Page 18 of 24
[+] Feedback
Two-Pole Band Pass Filter
設定レジスタ
水平 A 入力トポロジ
Table 10.
ブロック FLIN: レジスタ CR0
ビット
7
6
Polarity (
極性 )
4
3
2
CR0
CA
CR1
Input ( 入力 )
C2
CR2
AnalogBus CompBus ( 0
( アナログ コンパレー
バス )
タ バス )
0
0
CR3
0
0
Feedback ( フィードバ
ック )
Table 11.
0
5
0
1
1
0
C1
0
0
0
Power ( 出力 )
ブロック FLFB: レジスタ CR0
ビット
7
6
0
5
0
4
CR0
CB
CR1
FBIN
CR2
0
0
0
C4
CR3
0
0
1
0
2
1
0
C3
0
Document Number: 001-66118 Rev. **
3
0
0
0
0
0
1
Power ( 出力 )
Page 19 of 24
[+] Feedback
Two-Pole Band Pass Filter
水平 B 入力トポロジ
Table 12.
ブロック FLIN
ビット
7
6
1
4
3
CR0
CA
CR1
Feedback ( フィードバック )
C1
CR2
AnalogBus CompBus ( 0
( アナログ コンパレー
バス )
タ バス )
0
0
CR3
0
0
Input ( 入力 )
Table 13.
0
5
0
2
1
0
C2
1
0
0
0
Power ( 出力 )
ブロック FLFB
ビット
7
6
0
5
0
4
CR0
CB
CR1
FBIN
CR2
0
0
0
C4
CR3
0
0
1
0
3
2
1
0
C3
0
0
0
0
1
0
1
Power ( 出力 )
垂直 A 入力トポロジ
Table 14.
ブロック FLIN
ビット
7
6
0
5
CR0
CA
CR1
Input ( 入力 )
C2
CR2
AnalogBus CompBus ( 0
( アナログ コンパレー
バス )
タ バス )
C4
CR3
0
0
0
Document Number: 001-66118 Rev. **
Polarity (
極性 )
4
1
3
2
1
0
C1
Feedback ( フィードバ
ック )
Power ( 出力 )
Page 20 of 24
[+] Feedback
Two-Pole Band Pass Filter
Table 15.
ブロック FLFB
ビット
7
6
CR0
CB
0
CR1
FBIN
CR2
0
0
CR3
0
0
5
0
4
3
2
1
0
C3
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
Power ( 出力 )
垂直 B 入力トポロジ
Table 16.
ブロック FLIN
ビット
7
6
1
4
CR0
CA
CR1
Feedback ( フィードバック )
C1
CR2
AnalogBus CompBus ( 0
( アナログ コンパレー
バス )
タ バス )
C4
CR3
0
0
Table 17.
0
5
0
3
2
1
0
C2
1
Input ( 入力 )
Power ( 出力 )
ブロック FLFB
ビット
7
6
CR0
CB
0
CR1
FBIN
CR2
0
0
CR3
0
0
Document Number: 001-66118 Rev. **
5
0
4
3
2
1
0
C3
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
Power ( 出力 )
Page 21 of 24
[+] Feedback
Two-Pole Band Pass Filter
可変ビットフィールドの定義
以下の定義は、前述のすべてのレジスタ定義に当てはまります。
CA および CB は、FLIN および FLFB フィールドバック コンデンサとして、16 または 32 を設定します
( 「BPF2 の回路図」を参照 )。CA および CB はデバイス エディタで直接設定するか、フィルタ設計ウ
ィザードを使用して間接的に設定します。
C1、C2、C3、および C4 は、「BPF2 の回路図」に示されているコンデンサに 1 〜 32 の整数値を設定し
ます。 これらの値は、CA および CB コンデンサと同じように、デバイス エディタで直接設定するか、
フィルタ設計ウィザードを使用して間接的に設定します。
Input は、BPF2 ユーザ モジュールによって設定される入力信号を選択するマルチプレクサを制御しま
す。ユーザ モジュールの 「Input」パラメータによって、このビットフィールドの値が決まります。
Input パラメータの値は、デバイス エディタを使用して手動で設定します。このビットフィールドが取
る値は、場合によって、FLIN および FLFB ブロック間の C4 接続を適切に保証するために、制限される
場合もあります。
AnalogBus を使用すると、フィルタの出力をアナログ バスに接続できます。このビットフィールドの値
は、ユーザ モジュールの 「AnalogBus」パラメータによって決まります。 AnalogBus パラメータの値
は、デバイス エディタを使用して手動で設定します。
CompBus を使用すると、フィルタの出力をコンパレータ バスに接続できます。このビットフィールド
の値は、ユーザ モジュールの 「CompBus」パラメータによって決まります。CompBus パラメータの値
は、デバイス エディタを使用して手動で設定します。
Feedback は、デバイス エディタでの BPF2 ユーザ モジュールの配置によって自動的に決まる C2 フィ
ードバック接続です。 場合によって、このビットフィールドは、FLIN および FLFB ブロック間に C4 接
続を設定することもあります。
FBIN は、デバイス エディタでの BPF2 ユーザ モジュールの配置によって自動的に決まる FLIN 出力か
ら FLFB 入力への接続です。
Polarity は、フィルタの出力を反転するかどうかを制御します。 このビットは、デバイス エディタを使
用して直接設定できます。 この説明は A 入力トポロジ フィルタにのみ当てはまります。
Power は、PSoC ブロックのオン / オフ状態とバイアス電流設定を制御します。 このパラメータは、最
初、ユーザ モジュール API 関数 BPF2_Start を呼び出して設定し、関数 BPF2_SetPower および
BPF2_Stop. を呼び出して変更できます。
付録: 数値的設計手法
1 ポールペア フィルタ向けの以下の手動設計手順は、デバイス エディタに内蔵されている 2-pole バン
ド パス フィルタ設計ウィザードで自動生成されます。 このウィザードを起動するには、アナログ アレ
イに配置されている BPF2 フィルタを右クリックし、ポップアップ メニューから [Filter Design Wizard (
フィルタ設計ウィザード )...] を選択します。 伝達関数が満足できる内容であれば、ウィザードの [OK] ボ
タンをクリックすることにより、計算された C1~C4、CA および CB の値が、デバイス エディタ パラメ
ータに転送されます。また、PSoC Designer の Documentation ディレクトリにある Microsoft Excel 表計
算シート BPF2Design.xls は、伝達関数の計算およびグラフィック分析に使用できます。
Document Number: 001-66118 Rev. **
Page 22 of 24
[+] Feedback
Two-Pole Band Pass Filter
2 ポールの設計手順
1. 中心周波数、Q、および中帯域ゲインのフィルタ仕様を決定します。上下 -3 dB の点、fu、および fl
が分かっている場合は、以下の式で中心周波数と Q を計算します。
2.
3.
4.
5.
および
CA と CB に 32 を設定します。
C2 の初期値にポール ペアの Q と等しい値を設定します。
C3 の初期値にポール ペアの Q と等しい値を設定します。
変形した式4 から C4 の値を計算します。
6. C4 は正の実数でなければなりません。最も近い整数にします。
7. C4 が負の数または虚数と判断された場合は、C3 の値を調整し、C4 の新しい値を計算します。 必要
に応じてこの手順を繰り返します。
8. 再整理した式 5 からサンプル周波数を計算します。
9. オーバーサンプル比を評価します。
10. OSR が 5.0 未満の場合は、C2 を調整し、手順 3 〜 9 を繰り返します。
11. 式 6 から C1 の値を計算します。最も近い整数にします。
12. fs の 4 倍に等しいアナログ コラム クロックを計算します。 PSoC Designer で使用可能な選択肢か
らアナログ コラム クロック リソース、fsysclk を選択します。 クロックの選択については、「サンプ
ル クロック」を参照してください。 BPF2 アナログ スイッチト キャパシタ PSoC ブロックは別のコ
ラム内にあります。 両方のブロック、よって両方のコラムが同じクロックを持つ必要があります。
13.
14.
15.
16.
17.
最も近い整数にして、分周器を計算します。
選択したシステム クロック リソースを 4n で割って、実際のクロック周波数を取得します。
実際のサンプル クロックを基にフィルタの中心周波数を計算します。
Q およびゲイン G を計算します。
フィルタ設計性能を評価します。 fc、Q、および G の設計値は、ほぼすべての場合、通常設計要件
の 3% 以内で実現できます。 これより誤差が大きい場合は、C2 の新しい値を選択して、手順を繰り
返し、最適化します。
4 ポールの設計手順
4 ポール (2 ポールペア ) バンド パス フィルタでは、さらに制約があります。このフィルタを設計する場
合、両方の BPF2 ユーザ モジュールのクロック周波数を同じにする必要があります。 2 ポールペア (4 次
) フィルタの設計手順は、PSoC Designer の "Documentation" ディレクトリにある Microsoft Excel 表計
算シート BPF4 Design.xls で自動生成されます。この表計算シートのチュートリアルは、同じディレク
Document Number: 001-66118 Rev. **
Page 23 of 24
[+] Feedback
Two-Pole Band Pass Filter
トリ内にある別のファイル、BPF4 Design.pdf に含まれています。文書ディレクトリには、PSoC
Designer の [Help ( ヘルプ )] メニューから直接アクセスできます。
改訂履歴
バージョン
1.2
Note
作成者
SEG
説明
「極性および変調機能」、「用途向けの電力設定」を追加。
PSoC Designer 5.1 より、全ユーザ モジュールの データシートのバージョン履歴が追加されま
す このセクションは、現在および以前のユーザ モジュール バージョン間の差分の概要を説明す
るものです。
Document Number: 001-66118 Rev. **
Revised December 20, 2010
Page 24 of 24
Copyright © 2002-2010 Cypress Semiconductor Corporation. The information contained herein is subject to change without notice. Cypress Semiconductor Corporation assumes no responsibility
for the use of any circuitry other than circuitry embodied in a Cypress product. Nor does it convey or imply any license under patent or other rights. Cypress products are not warranted nor intended
to be used for medical, life support, life saving, critical control or safety applications, unless pursuant to an express written agreement with Cypress. Furthermore, Cypress does not authorize its
products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress products
in life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges.
PSoC Designer™ and Programmable System-on-Chip™ are trademarks and PSoC® is a registered trademark of Cypress Semiconductor Corp. All other trademarks or registered trademarks
referenced herein are property of the respective corporations.
Any Source Code (software and/or firmware) is owned by Cypress Semiconductor Corporation (Cypress) and is protected by and subject to worldwide patent protection (United States and foreign),
United States copyright laws and international treaty provisions. Cypress hereby grants to licensee a personal, non-exclusive, non-transferable license to copy, use, modify, create derivative works
of, and compile the Cypress Source Code and derivative works for the sole purpose of creating custom software and or firmware in support of licensee product to be used only in conjunction with
a Cypress integrated circuit as specified in the applicable agreement. Any reproduction, modification, translation, compilation, or representation of this Source Code except as specified above is
prohibited without the express written permission of Cypress.
Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress reserves the right to make changes without further notice to the materials described herein. Cypress does not
assume any liability arising out of the application or use of any product or circuit described herein. Cypress does not authorize its products for use as critical components in life-support systems
where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress' product in a life-support systems application implies that the manufacturer
assumes all risk of such use and in doing so indemnifies Cypress against all charges.
Use may be limited by and subject to the applicable Cypress software license agreement.
[+] Feedback