001-13572_LPF2.pdf

2 ポール ローパス フィルタ データシート LPF2 V 2.5
001-66735 Rev. **
Two-Pole Low Pass Filter
Copyright © 2002-2011 Cypress Semiconductor Corporation. All Rights Reserved.
PSoC® ブロック
リソース
デジタル
アナログ
CT
API メモリ (バイト)
アナログ
SC
フラッシュ
RAM
ピン (外付け
I/O あたり)
CY8C29/27/26/25/24xxx, CY8C23x33, CY8CLED04/08/16, CY8CLED0xD, CY8CLED0xG, CY8CTST120,
CY8CTMG120, CY8CTMA120, CY8C28x45, CY8CPLC20, CY8CLED16P01, CY8C28x43, CY8C28x52
0
0
2
120
0
1
このユーザ モジュールを使用した機能プロジェクトの実現例については、
www.cypress.com/psocexampleprojects を参照してください。
特徴と概要
„
„
„
„
ユーザ プログラマブル ゲイン
外部コンポーネントを伴わない減衰比とユーザ プログラマブルなコーナー周波数
フィルタのコーナー周波数の安定性はクロック精度に直接依存します。
1.0 MHz までのサンプリング レートをフィルタします。
LPF2 ユーザ モジュールは、状態変数型、もしくはバイクアッドとも呼ばれるタイプの二次のローパス
フィルタを実装します。コーナー周波数と減衰比は、クロック周波数の関数と、選択されたキャパシタ
値の比率です。 従来の全ポールフィルタ構成 (バターワース、ベッセル、チェビシェフ)であれば、ど
のようなものでも適用できます。 コーナー周波数は、 サンプルレート クロックを制御することで、非常
に正確に設定し、調整できます。 4 次以上の関数は、2 つ以上の LPF2 ユーザモジュールをカスケード接
続することにより、実装できます。
Figure 1.
LPF2 回路図
Cypress Semiconductor Corporation
Document Number: 001-66735 Rev. **
•
198 Champion Court
•
San Jose, CA 95134-1709
•
408-943-2600
Revised January 20, 2011
[+] Feedback
Two-Pole Low Pass Filter
機能説明
2 ポール ロー パス フィルタは、周波数領域では式 1 で表される周波数応答を持ちます。
Equation 1
式 1 では、d は領域比、 ω0 は自然周波数、 ωn は正規化周波数です。 すべての 2 ポールフィルタは、通
過帯域外では、オクターブごとに 12 dB (1 つのポール当たり、オクターブごとに -6 dB) に近い減衰特性
を持ちます。 帯域内性能は、減衰比と自然周波数によって決定します。標準の Butterworth フィルタは
単調な振幅性能を持ち、通過帯域での位相シフトは最も平坦です。 減衰比が小さいフィルタ
(Chebyshev) は、通過帯域内の振幅特性は平坦ですが、通過帯域内の位相シフトが非線形であり、リン
ギングが大きくなり ます。 減衰比が大きいフィルタ (Bessel) は通過帯域内の位相シフトは線形で、オー
バシュートが最小限のパルス応答特性を持ちますが、通過帯域に近い領域の減衰比は小さくなります。d
と ω0 の値は、どのフィルタ設計リファレンスでもすぐに使用できます。 これらのフィルタの構成はす
べて、スイッチド キャパシタ PSoC ブロックのキャパシタ比を調整することにより、実現できます。
バイクアッド フィルタの基本的な形は、制御されている DC および周波数依存のフィードバック パルス
を持つ積分器のペアです。 バイクアッドを理解するために、図 2 に示す標準 RC フォームを見てみまし
ょう。
Figure 2.
RC バイクアッドの回路図
典型的な RC バイクアッド ローパスフィルタは、3 つのオペアンプを使用します。 RC バイクアッドの
伝達関数は、式 2 のとおりです。
Equation 2
Document Number: 001-66735 Rev. **
Page 2 of 29
[+] Feedback
Two-Pole Low Pass Filter
PSoC スイッチド キャパシタの実装では、出力ブロックのゲインの極性を反転することで中心の反転オ
ペアンプが不要になります。 レジスタは、RC バイクアッドとスイッチド キャパシタ実装の回路図の比
較で見られるように、スイッチド キャパシタに変換されます。
スイッチド キャパシタ回路は時間サンプルデバイスとしての性質を持つため、伝達関数は時間領域で作
成します。ここで、z-1 は周波数領域 (s=jω) ではなく、サンプル時間の時間遅延です。伝達関数は、双
一次変換によって周波数領域に変換されます。 伝達関数は、以下のように分解されます。
Equation 3
式 3 を式 1 の標準形式で評価すると、ゲイン、G、コーナー周波数 ωnω0 、減衰比、d の設計式が得ら
れます。
Equation 4
Equation 5
Equation 6
式 3 の分子には項
が含まれます。この結果、信号周波数がナイキスト レートの半分に近
づくと、フィルタの減衰特性が抑制されます ( つまり、サンプリングレート fs)。サンプル レートを増加
すると、フィルタの性能が式 1 の標準形に近づき、より滑らかな波形になります。
Document Number: 001-66735 Rev. **
Page 3 of 29
[+] Feedback
Two-Pole Low Pass Filter
用途向けの出力設定
スイッチト キャパシタのブロック出力とバイアス設定は、フィルタのパフォーマンスを決定します。 出
力モードは、ユーザ モジュール 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
P,B=M,H
16
P,B=M,L
8
P,B=L,H
4
P,B=L,L
2
Document Number: 001-66735 Rev. **
Page 4 of 29
[+] Feedback
Two-Pole Low Pass Filter
この表で、P = 出力、B = オペアンプ バイアス、L = 低、H = 高、M = 中です。 低い信号レベルでは、許
容ピーク電圧は、以下のグラフに示されるようになります。
Figure 3.
低信号レベルでのピーク電圧
フィルタの出力は、内部信号です。 オフチップで駆動される場合は、バッファされる必要があります。
バッファは、0.65 V/µsec のスルー レートを持ちます。 バッファの動作周波数制限は、図 3 に示すよう
になります。
フィルタ設計
フィルタ設計の目的は、通常、帯域外の信号のエイリアシングの最小化と元信号に対する忠実性のため
に、できるだけ高いサンプリング周波数 (fclk) を達成することです。 その他のシステム要件 (例:共有
クロック)によってサンプル レートが決まる場合もあります。キャパシタの値は、必要なサンプル レー
トを達成するためにカスタマイズできます。
LPF2 は、キャパシタの値を決定するために、次の 3 つの代替手段を提供します。まず、PSoC Designer
は、2 ポール フィルタの手順を自動化するフィルタ設計ウィザードを提供しています。同じ手順は、表
計算シート、LPF2 Design.xls で実装されます。この表計算シートは、PSoC Designer の [Help( ヘルプ
)] メニューの [Documentation( 文書化 )...] 項目から開くことができます。2 ポールペア (4 次 ) フィルタ
向けの同様の手順が、別の Microsoft Excel 表計算シート、LPF4 Design.xls でも自動化されています。
表計算シートでは、ウィザードによって課される設計上の制約を実験的に変更できます。 設計プロセス
で究極の実践制御を実現するには、手動で実行できる数値的手法が説明されている巻末の付録を参照し
てください。 コーナー周波数が 1 kHz の Butterworth フィルタの場合、この手順がどのように機能する
かを示す例も提供されています。
PSoC Designer 内蔵のフィルタ設計ウィザードを使用するには、まずアナログ アレイに LPF2 インスタ
ンスを配置します。 ユーザ モジュールを右クリックし、ポップアップ メニューから [Filter Design
Wizard ( フィルタ設計ウィザード )...] を選択します。この結果表示される図 3 のダイアログでは、伝達
関数を設計するための単純で反復的な手順が説明されています。
Document Number: 001-66735 Rev. **
Page 5 of 29
[+] Feedback
Two-Pole Low Pass Filter
Figure 4.
LPF2 の [Filter Design Wizard ( フィルタ設計ウィザード )] ダイアログ ボックス
ダイアログをスクロールダウンすると、マグニチュード特性の作図に使用される値を含む表が表示され
ます。 この表の値は、さらにグラフを作成したり分析したりするために、表計算シートやその他のツー
ルに切り取って貼り付けることができます。
Document Number: 001-66735 Rev. **
Page 6 of 29
[+] Feedback
Two-Pole Low Pass Filter
DC および AC の電気的特徴
以下の値は、初期の特性データを元に予測される性能を示しています。別途指定されている場合を除
き、すべてのリミットは、TJ =+25C、Vdd = 5.0V、高出力 (High Power)、オぺアンプ バイアス LOW、
出力の基準はアナログ グラウンド = 2*VBandGap という条件で保証されます。
Table 1.
5.0V LPF2 DC 特性
パラメータ
標準値
制限
単位
DC オフセット電圧 1
18
--
mV
DC ゲイン誤差 2
1.55
--
%
低出力
290
--
μA
中出力
1065
--
μA
高出力
4015
--
μA
条件および注意
アナログ グラウンドが基準
動作電流
Table 2.
5.0V LPF2 AC 特性
パラメータ
標準値
制限
単位
条件および注意
最大クロック周波数 3
低出力
--
2
MHz
中出力
--
4
MHz
高出力
--
8
MHz
コーナー周波数誤差
2.3
--
%
減衰比誤差
1.85
--
%
ノイズ 4
2140
--
nV/√Hz
公称値からの偏差 2
以下の値は、初期の特性データを元に予測される性能を示しています。別途指定されている場合を除
き、すべてのリミットは、TA = 25C、Vdd = 3.3 V、高出力 (High Power)、オぺアンプ バイアス LOW、
出力の基準はアナログ グラウンド = Vdd/2 という条件で保証されます。
Table 3.
3.3V LPF2 DC 特性
パラメータ
標準値
制限
単位
DC オフセット電圧 1
14
--
mV
DC ゲイン誤差 2
1.65
--
%
Document Number: 001-66735 Rev. **
条件および注意
アナログ グラウンドが基準
Page 7 of 29
[+] Feedback
Two-Pole Low Pass Filter
パラメータ
標準値
制限
単位
条件および注意
動作電流
低出力
225
--
μA
中出力
850
--
μA
高出力
3275
--
μA
Table 4.
3.3V LPF2 AC 特性
パラメータ
標準値
制限
単位
条件および注意
最大クロック周波数 3
低出力
--
2
MHz
中出力
--
4
MHz
高出力
--
8
MHz
コーナー周波数誤差
2.15
--
%
減衰比誤差
1.9
--
%
ノイズ 4
1880
--
nV/√Hz
公称値からの偏差 2
電気的特性に関する注意
1. 代表的な DC オフセットは、Q = 3、5、および 15、C2 = 1 〜 16、C3 = 3、10、および 25 の 1 kHz フ
ィルタを使用して検出しました。 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 =-40C ~ +85C、Vdd = 5.0V±10%、高出力
(High Power)、オぺアンプ バイアス LOW、出力の基準はアナログ グラウンド = 2*VBandGap という条件
で保証されます。
Table 5.
5.0V LPF2 DC 特性
典型 1
パラメータ
限界 2
単位
条件 1 および注意
オフセット電圧 5
42
mV
グラフ参照
DC ゲイン誤差
1.55
%
レファレンス設計 = 1.0 kHz
Butterworth3
Document Number: 001-66735 Rev. **
Page 8 of 29
[+] Feedback
Two-Pole Low Pass Filter
典型 1
パラメータ
限界 2
単位
条件 1 および注意
動作電流
低出力
250
--
μA
中出力
560
--
μA
高出力
1560
2000
μA
Table 6.
5.0V LPF2 AC 特性
典型 1
パラメータ
限界 2
単位
条件および注意
コーナー周波数偏差
--
2.5
%
公称値からの偏差
減衰比偏差
--
2.6
%
公称値からの偏差
ノイズ
--
8.0
mV rms
低出力
--
2.0
MHz
中出力
--
4.0
MHz
高出力
--
8.0
MHz
クロック周波数
別途指定されている場合を除き、すべてのリミットは、TA = -40C ~ +85C、Vdd = 3.0 ~ 3.6 V、高出力
(High Power)、オぺアンプ バイアス LOW、出力の基準はアナログ グラウンド = Vdd/2 という条件で保証
されます。
Table 7.
3.3V LPF2 DC 特性
典型 1
パラメータ
限界 2
単位
条件および注意
オフセット電圧 5
42
mV
グラフ参照
DC ゲイン誤差
1.65
%
レファレンス設計 = 1.0 kHz
Butterworth3
動作電流
低出力
200
--
μA
中出力
500
--
μA
高出力
1280
1800
μA
Document Number: 001-66735 Rev. **
Page 9 of 29
[+] Feedback
Two-Pole Low Pass Filter
Table 8.
3.3V LPF2 AC 特性
典型 1
パラメータ
限界 2
単位
コーナー周波数偏差 3
--
2.5
%
減衰比偏差 3
--
2.6
%
ノイズ
--
6.0
mV rms
低出力
--
1.0
MHz
中出力
--
2.0
MHz
高出力
--
4.0
MHz
条件および注意
クロック周波数 4
電気的特性に関する注意
1. 典型値はパラメータ基準の +25C で測定された値です。
2. 制限は、テストまたは統計情報の分析によって保証されます。
3. レファレンス設計 C1=1、C2=1、C3=2、C4=31、CA=32、CB=32、f(sample)=139.2 kHz、減衰比 =
1.392。
4. クロック周波数は上記 3 のフィルタ用で、コーナー周波数がクロックに合わせてスケーリングされて
います。
5. 1kHz フィルタ、fclk=35 kHz、水平逆トポロジ、C1=C2=8、C3=16、C4=31、CA=CB=32。
Document Number: 001-66735 Rev. **
Page 10 of 29
[+] Feedback
Two-Pole Low Pass Filter
性能に関する注意
ゲイン誤差とフィルタの位相は、コーナー周波数の近隣でのみ重要です。 その他の項目は、フィルタの
キャパシタ値を考慮して選択することができます。C2、C3 比を調整すると、減衰比の分解能を上げる
ことができます。CA または CB を 16 に設定すると、減衰比設定の分解能を上げることができますが、
サンプルレートが可能な最大値より低下するという欠点があります。
サンプルレートを上げると、理想的でないポール位置の結果として、信号忠実性のゲインが伝達関数誤
差を超えてしまう可能性があります。サンプリングレートを下げる (C1 と C2 を増加)と、減衰が低下
してナイキストレートに近づくという効果があります。
Figure 5.
フィルタ性能と過剰サンプリング率
フィルタ性能は、オぺアンプの開放ループゲイン、絶対キャパシタ値、フィルタ配置の結果、標準形式
からいくらか逸脱します。100 kHz を超えるローパス フィルタは数学的に可能ですが、これらの選択肢
はオぺアンプの性能限界によって不安定になります。 中心周波数が 40 kHz より上のフィルタでは、
[Global Parameters( グローバル パラメータ)] ウィンドウで、ユーザ モジュールの出力を
「HIGHPOWER ( 高出力 )」、オぺアンプ バイアスを 「High ( 高 )」に設定すべきです。場合によって
は、一定のフィルタ特性で要件に適合するキャパシタ値は多数ありますが、各バリエーションでサンプ
リングレートは異なります。 一般に、キャパシタ値を上げると過剰サンプリングレート (公称値 -3dB
周波数)が下がります。最大の過剰サンプルレートと、もっともスムーズな出力波形を得るには、フィ
ルタを設計スプレッドシート、設計ウィザード、設計式を使用した 「手による」算出結果の最低値 C2
から構成しなければなりません。 例えば、Butterworth フィルタでは C2=1 と C4=31 を伴う場合、過剰
サンプルレートは 140 となります。 C2=2 の設定では、過剰サンプルレートは 70 となります。 すべての
ケースで、選択されたサンプリングレートは最大値 1.00 MHz より小さくなければなりません (コラム
クロック = 4.0 MHz)。高い周波数のフィルタの場合、この要件に適合するために過剰サンプルレートは
低くなければなりません。 式 3 の分子は、2fs における 2 つの複素数ゼロを示します。 サンプル周波数
が低下すると、これらのゼロの効果はさらに強化され、次の図に示すように、上帯域エッジでピークを
形成します。
内蔵スイッチトポロジでのチャージインジェクションによって、フィルタの DC 性能は制限されます。
この効果は、ランダムなコンポーネントと配置によって決定されるコンポーネントに影響を与えます。
Note
フィルタを水平ブロックペアに配置すると、垂直ブロックペアに配置した場合より、DC オフセ
ットが低下します。 C2 (C1 および C3)の値を増加することでフィルタをスケーリングする
と、DC オフセット誤差が低減されます。 次の図は、C2 の値がオフセット誤差に影響を与える様
子をグラフに示したものです。
Document Number: 001-66735 Rev. **
Page 11 of 29
[+] Feedback
Two-Pole Low Pass Filter
C1、C2、C3 の値は、FPF2 ウィザードに入力される乗数です。 これらの乗数は、デバイス データシー
トの 「DC アナログ PSoC ブロック仕様書」の Csc の係数です。
Figure 6.
PSoC デバイス (CY8C26xxx/25xxx を除く)のキャパシタ値 (C1/C2/C3)への一般的オフセット依
存
Figure 7.
(CY8C25xxx/26xxx のキャパシタ値 (C1/C2/C3)への一般的オフセット依存
Document Number: 001-66735 Rev. **
Page 12 of 29
[+] Feedback
Two-Pole Low Pass Filter
配置
デバイス エディタは、論理 FLIN および FLOUT ブロックをデバイスのアナログ アレイの隣接するスイ
ッチト キャパシタ PSoC ブロックのぺアにマッピングします。アナログ PSoC ブロックからバイクアッ
ド フィルタ回路を構成する方法はいくつかあります。 各構成方法で LPF2 回路図を実装しますが、FLIN
および FLOUT ブロック内で使用されるキャパシタと接続は異なります。それぞれ、結果として、異な
るマッピングと I/O 結果を持つ異なる回路トポロジが生成されます。最も顕著な違いは、2 つの PSoC
ブロックがアナログ アレイの行または列のどちらにあるかです。アレイ内にある他のブロックにどの接
続を行うことかできるかも、このトポロジによって決まります。選択されたトポロジに関わらず、フィ
ルタ入力は常に FLIN ブロックに接続し、出力は FLOUT ブロックから受けます。
LPF2 ユーザ モジュールのインスタンスが作成されるたびに、PSoC Designer は、回路トポロジの選択
を助けるイラストとテキストを含むダイアログを表示します。選択内容は、選択バーのユーザ モジュー
ル アイコンを右クリックするか、すでに配置済みの場合は、PSoC ブロックのいずれかを右クリックし
て、ポップアップ メニューから [Select User Module Options( ユーザ モジュール オプションを選択 )...]
を選択して、いつでも簡単に変更できます。配置後にトポロジを変更すると、ユーザ モジュールを再び
アナログアレイに配置しなければなりません。
極性および変調機能
入力スイッチト キャパシタ ブロックは、極性制御パラメータを持ちます。 極性は、変調器を形成するブ
ロックへの外部クロックによっても制御できます。変調器は、アプリケーションに対応して周波数を上
下に調節するために使用したり、コンパレータと組み合わせて全波形検出器を形成したりできます。 変
調関数は、搬送率またはコンパレータの出力極性で、入力に +1 または -1 を掛けます。 これで、キャリ
アおよび入力変数の合計とキャリアおよび周波数の差での信号を生成します。変調キャリアは、偶数の
高調波エイリアスを最小限に抑えるため、50% のデューティサイクルを持つ必要があります。
ここでは、入力信号 40 kHz、4.0 kHz における 100% AM 変調の例を示します。 入力はコンパレータと
LPF2 に送信され、ゼロ交差機能を提供します。 コンパレータの出力は、コンパレータ入力として選択
されます。全波形検知バージョンの信号 (表示のみを目的として別ブロックで生成)を、コンパレータ
波形の下に示します。ロー パス フィルタの出力を一番下に示します。検知した信号のピークツーピーク
レベルは生変調信号より 30% 低くなっていますが、これは、全波整流正弦波の平均レベルがピークレ
ベルの sqrt(0.5) 倍であるためです。
Figure 8.
LPF2 スコープ プロット
Document Number: 001-66735 Rev. **
Page 13 of 29
[+] Feedback
Two-Pole Low Pass Filter
例のダウンシフトは、132 kHz の信号を使用しています。これは、120 kHz 正方波で変調され、12 kHz
の差信号を生成します。同じサイズの信号が 252 kHz で生成されますが、これは、ロー パス フィルタ
でほとんどフィルタされます。フィルタなしの下変調された信号の例を、下図に示します。
Figure 9.
フィルタなしの下変調された信号
Document Number: 001-66735 Rev. **
Page 14 of 29
[+] Feedback
Two-Pole Low Pass Filter
4 kHz 帯域を持つ 14 kHz のカットオフ周波数で構成される LPF2 は、高調波とエイリアスを著しく排除
するため、波長が下図のようになります。 変調およびフィルタリングは、同じブロックで実行されま
す。エイリアスと残りの入力をさらに低減するには、LPF4 ユーザ モジュールを使用します。
Figure 10. LPF2 の波長
変調器信号は、適切なグローバル出力またはブロードキャスト バスを選択する、またはコンパレータを
選択して全波検知器を形成することで、複数のデジタル ブロック源の 1 つから選択できます。
Document Number: 001-66735 Rev. **
Page 15 of 29
[+] Feedback
Two-Pole Low Pass Filter
パラメータおよびリソース
ロー パス フィルタを作成するには、デバイスエディタのアナログ アレイに LPF2 ユーザ モジュールの
インスタンスを配置します。 設計手順の選択肢かを使用してフィルタのキャパシタの値を決め、入力を
接続して、アナログ バス接続およびクロック リソースを設定します。これらの各パラメータについて以
下に説明します。
入力
フィルタへの入力は、隣接する PSoC ブロックの出力によって駆動されます。 入力は、デバイス
エディタのユーザが選択します。
AnalogBus
ユーザ モジュールの FLOUT ブロックの出力は、隣接する PSoC ブロックに接続できます。その他
のユーザ モジュールからこの出力に接続するには、デバイス エディタを使用します。FLOUT ブロ
ックの出力は、AnalogOutBus_x の選択内容 ( 「x」はコラム番号 ) を使用して、アナログ コラム出
力バスに接続できます。これにより、同じコラムのアナログ出力バッファに接続でき、同じコラム
のその他のユーザ モジュールのアナログ出力バスのアクセスを防ぐことができます。すべての相
互接続は、デバイス エディタを使用して構成します。
CompBus ( コンパレータ バス )
FLOUT ブロックのコンパレータ出力は、デジタル PSoC ブロックの入力バスまたは割り込みに振
り分けられます。いずれの接続でも、これらの CompBus パラメータは Enabled ( 有効 ) に設定し
ます。
キャパシタの値 C1、C2、C3、C4、CA、CB
これらの 6 つのコンデンサの値の比率によって、フィルタの周波数と位相応答が決まります。 これ
らの名前は、LPF2 回路図に描かれているコンデンサを指します。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) ユーザ モジュールのすべてが適しています。
Document Number: 001-66735 Rev. **
Page 16 of 29
[+] Feedback
Two-Pole Low Pass Filter
コラム クロックへのクロック ソースは、デバイス エディスプレイタのコラムごとに CLK マルチプ
レクサを使用して選択されます。 システム クロックは、このマルチプレクサに直接入力されます。
PSoC ブロックは、クロック生成に使用する場合、ACLK0 および ACLK1 マルチプレクサを通して
CLK マルチプレクサに接続します。
変調器クロック
変調器は、入力ブロックの A 入力で極性制御を使用します (FLIN)。 この機能は、トポロジ LPF2A
と LPF2VA で利用できます。LPF2B および LPF2V トポロジは、極性制御を持たない入力ブロック
の B 入力を使用するため、これらのトポロジでは利用できません。
8 つのソース ( オフを含む ) を利用できます。
Table 9.
変調クロックのソース選択
パラメータ
注
なし
変調器クロックはオフ
GlobalOutEven_0
GlobalOutOdd_0 から変調器クロックを取得
GlobalOutEven_1
GlobalOutOdd_1 から変調器クロックを取得
Row_0_Broadcast
Row_0_Broadcast から変調器クロックを取得
ComparatorBus_0
ComparatorBus_0 から変調器クロックを取得
ComparatorBus_1
ComparatorBus_1 から変調器クロックを取得
ComparatorBus_2
ComparatorBus_2 から変調器クロックを取得
ComparatorBus_3
ComparatorBus_3 から変調器クロックを取得
全波検知器は一般に、LPF への信号入力を送信する PGA または BPF の出力を使用して構成されま
す。またコンパレータの出力は、変調器の入力を LPF に送信する BPF のコンパレータ出力です。
Document Number: 001-66735 Rev. **
Page 17 of 29
[+] Feedback
Two-Pole Low Pass Filter
Application Programming Interface (アプリケーション プログラミング インタフ
ェース)
アプリケーション プログラミング インタフェース (API)ルーチンは、高レベルのモジュール処理を可
能にするユーザ モジュールの一部を提供します。 このセクションは、“include” ファイルによって記載さ
れる関連する定数と共に各機能に対するインターフェースを指定しています。
Note
すべてのユーザ モジュール API の場合と同じように、API 関数を呼び出すことで A と X レジス
タの値が変更されることがあります。関数の呼び出し後に A と X の値が必要になる場合は、必
ず呼び出し前に A と X の値を保存してください。“registers are volatile”( レジスタは揮発性であ
る ) ポリシーは、効率的な理由から選択されて、PSoC Designer のバージョン 1.0 より有効とな
っています。 C コンパイラは、自動的にこの条件で処理されています。アセンブラ言語のプログ
ラマは、コードがこのポリシーを遵守していることも確認する必要があります。一部のユーザ モ
ジュール API 関数では A と X は変更されないこともありますが、将来も変更されないという保
証はありません。
LPF2 ユーザ モジュールを初期化し、出力設定を変更し、ユーザ モジュールを無効にするためにエント
リ ポイントが提供されています。
LPF2_Start
説明:
このユーザ モジュールで必要なすべての初期化を実行し、スイッチト キャパシタ PSoC ブロック
の出力レべルを設定します。
C プロトタイプ:
void LPF2_Start(BYTE bPowerSetting)
アセンブリ:
mov
A, bPowerSetting
lcall LPF2_Start
パラメータ:
bPowerSetting: 両方のアナログ PSoC ブロックに対する出力レベルを指定する 1 バイトです。以下
のリセットおよび構成で、計測用アンプに割り当てられた PSoC ブロックは電力が遮断されていま
す。C およびアセンブラで指定されている記号名と関連する値を以下の表に示します。
記号名
値
LPF2_OFF
0
LPF2_LOWPOWER
1
LPF2_MEDPOWER
2
LPF2_HIGHPOWER
3
Note
適切な性能を実現するため、中心周波数が 40 kHz を超えるフィルタでは、(1)
LPF2_HIGHPOWER を使用し、(2) [Global Parameters ( グローバル パラメータ )] ウィンドウで
グローバル パラメータ 「Op-Amp Bias ( オぺアンプ バイアス )」を 「HIGH ( 高 )」に設定しま
す。
戻り値:
なし
Document Number: 001-66735 Rev. **
Page 18 of 29
[+] Feedback
Two-Pole Low Pass Filter
特殊作用:
A および X レジスタがこの機能により変更される場合があります。
LPF2_SetPower
説明:
スイッチド キャパシタ PSoC ブロックの出力レべルを設定します。 このルーチンは、ユーザ モジ
ュール内のブロックをオフまたはオンにするために使用できます。
C プロトタイプ:
void LPF2_SetPower(BYTE bPowerSetting)
アセンブリ:
mov
A, bPowerSetting
lcall LPF2_SetPower
パラメータ:
bPowerSetting: Start エントリ ポイントで使用した bPowerSetting と同じです。
戻り値:
なし
特殊作用:
A および X レジスタがこの機能により変更される場合があります。
LPF2_SetCA、SetCB
説明:
ユーザ モジュール FLIN ブロック (CA) と FLOUT ブロック (CB) でフィードバック キャパシタの値
を設定します。 これにより、ローパス フィルタの伝達関数を動作中に変更できます。
C プロトタイプ:
void LPF2_SetCA(BYTE FEEDBACK_CONSTANT)
void LPF2_SetCB(BYTE FEEDBACK_CONSTANT)
アセンブリ:
mov
A, FEEDBACK_CONSTANT
lcall LPF2_SetCA
; or, call
LPF2_SetCB
パラメータ:
FEEDBACK_CONSTANT: フィードバック キャパシタ CA または CB のサイズを指定する 1 バイト
です ( 「LPF2 の回路図」を参照 )。 C およびアセンブリの include ファイルで指定されている記号
名と関連する値を以下の表に示します。
記号名
値
LPF2_FEEDBACK_16
0x00
LPF2_FEEDBACK_32
0x01
Document Number: 001-66735 Rev. **
Page 19 of 29
[+] Feedback
Two-Pole Low Pass Filter
戻り値:
なし
特殊作用:
A および X レジスタがこの機能により変更される場合があります。
LPF2_SetC1、SetC2、SetC3、SetC4
説明:
ユーザ モジュール内の特定のコンデンサの値を設定します。 この API を使用すると、C1 を変更し
てゲインを調整したり、その他の値を調整してフィルタの伝達特性を変更することができます。
C プロトタイプ:
void LPF2_SetC1(BYTE
void LPF2_SetC2(BYTE
void LPF2_SetC3(BYTE
void LPF2_SetC4(BYTE
bCapValue)
bCapValue)
bCapValue)
bCapValue)
アセンブリ:
mov
A, bCapValue
lcall LPF2_SetC1
; or, call
LPF2_SetC2 (or SetC3 or SetC4)
パラメータ:
上限値: C1、C2、C3、および C4 向けの 1 〜 31 の整数値 ( 「LPF2 の回路図」を参照 )。 この範
囲以外の値は 32 を法として切り捨てられます。
戻り値:
なし
特殊作用:
A および X レジスタがこの機能により変更される場合があります。
LPF2_SetPolarity (A 入力トポロジ フィルタのみ )
説明:
FLIN の入力信号を反転するかどうかを選択して、出力信号の極性を設定します。 これにより、動
作中にローパスフィルタの出力極性を変更できます。 この関数は、A 入力トポロジ フィルタだけ
に適用されます。
C プロトタイプ:
void LPF2_SetPolarity(BYTE FEEDBACK_CONSTANT)
アセンブリ:
mov
A, FEEDBACK_CONSTANT
lcall LPF2_SetPolarity
パラメータ:
POLARITY_CONSTANT: 反転するかどうかを指定する 1 バイトです。 C およびアセンブリの
include ファイルで指定されている記号名と関連する値を以下の表に示します。
Document Number: 001-66735 Rev. **
Page 20 of 29
[+] Feedback
Two-Pole Low Pass Filter
記号名
値
LPF2_POLARITY_INVERTING
0x00
LPF2_POLARITY_NON_INVERTING
0x01
戻り値:
なし
特殊作用:
A および X レジスタがこの機能により変更される場合があります。
LPF2_Stop
説明:
ユーザ モジュールの電源を切ります。
C プロトタイプ:
void LPF2_Stop(void)
アセンブリ:
lcall LPF2_Stop
パラメータ:
なし
戻り値:
なし
特殊作用:
A および X レジスタがこの機能により変更される場合があります。
Document Number: 001-66735 Rev. **
Page 21 of 29
[+] Feedback
Two-Pole Low Pass Filter
ファームウェア ソースコードの例
C では、ローパス フィルタの使用は、Start API を使用して動作を開始し、動作終了時に Stop API を呼
び出すのと同じくらい簡単です。
#include "LPF2.h"
LPF2_Start(LPF2_HIGHPOWER);
...
LPF2_Stop();
// (application processing)
フィルタ伝達関数は動作中に設定および変更できます。分周器が 304 の 24 MHz のクロック ソースから
アナログ コラム クロックが駆動されるとすると、以下のコードにより、中心周波数が 1000 Hz、Q が
10 のフィルタが作成され、このフィルタが開始されます。 この同じコードが、選択したトポロジやアナ
ログ PSoC ブロック アレイ内の配置位置にかかわらず使用されます。
LPF2_SetC1( 1 );
LPF2_SetC2( 10 );
LPF2_SetC3( 10 );
LPF2_SetC4( 3 );
LPF2_SetCA( LPF2_FEEDBACK_32 );
LPF2_SetCB( LPF2_FEEDBACK_32 );
LPF2_SetPolarity( LPF2_POLARITY_INVERTING );
LPF2_Start(LPF2_HIGHPOWER);
同等のアセンブリ言語コードを以下に示します。
include "LPF2.inc"
mov
lcall
mov
lcall
mov
lcall
mov
lcall
mov
lcall
mov
lcall
mov
lcall
mov
lcall
Note
A, 1
LPF2_SetC1
A, 10
LPF2_SetC2
A, 10
LPF2_SetC3
A, 3
LPF2_SetC4
A, LPF2_FEEDBACK_32
LPF2_SetCA
A, LPF2_FEEDBACK_32
LPF2_SetCB
A, LPF2_POLARITY_INVERTING
LPF2_SetPolarity
A, LPF2_HIGHPOWER
LPF2_Start
この計画方程式は、ゲインは C1 の値に比例するが、コーナー周波数と減衰 (Q) はこれに依存し
ないことを示しています。 伝達関数を選択すると、LPF2_SetC1 関数を使用して、プログラマブ
ル ゲイン制御を実装できます。
Document Number: 001-66735 Rev. **
Page 22 of 29
[+] Feedback
Two-Pole Low Pass Filter
設定レジスタ
LPF2 ユーザ モジュールのトポロジと配置によって、使用されるアナログ スイッチド キャパシタ PSoC
ブロックの構成レジスタにおけるビットの半分が決定します。これらのうち、配置位置から独立してい
るビットは、レジスタ表に固定値で示されています。 可変ビットフィールドのうち殆どは、入力と伝達
関数設計の選択によって決定します。レジスタ定義で使用される可変ビットフィールドの定義は、本セ
クションの末尾に説明されています。
水平 A 入力トポロジ
Table 10.
ブロック FLIN: レジスタ CR0
ビット
7
6
Polarity (
極性 )
4
3
2
CR0
CA
CR1
入力
CR2
0
0
0
0
0
CR3
0
0
1
0
Feedback ( フィードバ
ック )
Table 11.
0
5
1
0
C1
C2
0
0
0
電源
ブロック FLOUT: レジスタ CR0
ビット
7
6
0
5
CR0
CB
CR1
FBIN
0
CR2
AnalogBus CompBus ( 0
コンパレー
タ バス )
C4
CR3
0
0
0
Document Number: 001-66735 Rev. **
0
4
1
3
2
1
0
C3
0
0
0
0
1
電源
0
Page 23 of 29
[+] Feedback
Two-Pole Low Pass Filter
水平 B 入力トポロジ
Table 12.
ブロック FLIN
ビット
7
6
1
4
3
CR0
CA
CR1
Feedback ( フィードバック )
C1
CR2
0
0
0
0
0
CR3
0
0
1
0
入力
Table 13.
0
5
2
1
0
C2
0
0
0
電源
ブロック FLOUT
ビット
7
6
0
5
0
4
CR0
CB
CR1
FBIN
0
CR2
AnalogBus CompBus ( 0
コンパレー
タ バス )
C4
CR3
0
0
0
3
2
1
0
C3
1
0
0
0
0
1
電源
1
垂直 A 入力トポロジ
Table 14.
ブロック FLIN
ビット
7
6
0
5
Polarity (
極性 )
4
CR0
CA
CR1
入力
CR2
0
0
0
C4
CR3
0
0
1
0
3
2
1
0
C1
C2
Document Number: 001-66735 Rev. **
Feedback ( フィードバ
ック )
電源
Page 24 of 29
[+] Feedback
Two-Pole Low Pass Filter
Table 15.
ブロック FLOUT
ビット
7
6
0
5
0
4
3
2
1
0
CR0
CB
CR1
FBIN
0
0
0
0
1
CR2
AnalogBus CompBus ( 0
コンパレー
タ バス )
0
0
0
0
0
CR3
0
0
0
1
電源
0
C3
1
垂直 B 入力トポロジ
Table 16.
ブロック FLIN
ビット
7
6
1
4
CR0
CA
CR1
Feedback ( フィードバック )
C1
CR2
0
0
0
C4
CR3
0
0
1
0
Table 17.
0
5
3
2
1
0
1
0
C2
入力
電源
ブロック FLOUT
ビット
7
6
0
5
3
2
CR0
CB
CR1
FBIN
0
0
0
0
1
CR2
AnalogBus CompBus ( 0
コンパレー
タ バス )
0
0
0
0
0
CR3
0
0
0
1
電源
0
Document Number: 001-66735 Rev. **
0
4
1
C3
Page 25 of 29
[+] Feedback
Two-Pole Low Pass Filter
可変ビットフィールドの定義
以下の定義は、前述のすべてのレジスタ定義に当てはまります。
CA および CB は、FLIN および FLOUT フィールド キャパシタにそれぞれ 16 または 32 単位を設定しま
す ( 「LPF2 の回路図」を参照 )。CA および CB はデバイス エディタで直接設定するか、フィルタ設計
ウィザードを使用して間接的に設定します。
C1、C2、C3、、C4 は、「LPF2 のブロック ダイアグラム」に示されているキャパシタに 1 〜 32 の整数
値を設定します。これらの値は、CA および CB キャパシタと同じように、デバイス エディタで直接設
定するか、フィルタ設計ウィザードを使用して間接的に設定します。
入力は、LPF2 ユーザ モジュールで条件付けられる入力信号を選択するマルチプレクサを制御します。
ユーザ モジュールの 「入力」パラメータは、このビットフィールドの値を決定します。 Input パラメー
タの値は、デバイス エディタを使用して手動で設定します。 このビットフィールドが取る値は、場合に
よって、FLIN および FLOUT ブロック間の C4 接続を適切に保証するために、制限される場合もありま
す。
AnalogBus を使用すると、フィルタの出力をアナログ バスに接続できます。このビットフィールドの値
は、ユーザ モジュールの 「AnalogBus」パラメータによって決まります。 AnalogBus パラメータの値
は、デバイス エディタを使用して手動で設定します。
CompBus を使用すると、フィルタの出力をコンパレータ バスに接続できます。このビットフィールド
の値は、ユーザ モジュールの 「CompBus」パラメータによって決まります。CompBus パラメータの値
は、デバイス エディタを使用して手動で設定します。
Feedback は、デバイス エディタでの LPF2 ユーザ モジュールの配置によって自動的に決まる C2 フィ
ードバック接続です。 場合によって、このビットフィールドは、FLIN および FLOUT ブロック間に C4
接続を確立することもあります。
FBIN は、デバイス エディタでの LPF2 ユーザ モジュールの配置によって自動的に決まる FLIN 出力か
ら FLOUT 入力への接続です。
Polarity は、フィルタの出力を反転するかどうかを制御します。 このビットは、デバイス エディタを使
用して直接設定できます。 このオプションは、A 入力トポロジフィルタでのみ利用可能です。
Power は、PSoC ブロックのオン / オフ状態とバイアス電流設定を制御します。 このパラメータは、最
初にユーザ モジュール API 関数 LPF2_Start を呼び出して設定し、関数 LPF2_SetPower および
LPF2_Stop. を呼び出して変更できます。
Document Number: 001-66735 Rev. **
Page 26 of 29
[+] Feedback
Two-Pole Low Pass Filter
付録: LPF2 用の数値フィルタ設計
この付録では、設計ウィザードとスプレッドシートで実行されている設計手順を詳細に説明します。 必
要な値は簡単に計算できます (概略)。 1次近似では、設計式は次のように簡略化されます。
Equation 8
Equation 9
Equation 10
これらの式は、キャパシタの比率の1次相互作用をより明確に示しています。
クロック周波数 fclk は、式 8 を再整理することにより計算されます。
Equation 11
2 ポールの設計手順
設計手順の目的は、最高の忠実性と最低のエイリアシングを得るために、可能なかぎり高い fclk を実現
することです。
1. CA と CB を 32 に設定します。
2. C2 を最低整数値 1 に設定します。
3. C4 の初期値を最大値 31 に設定します。
4. 次の式の C3 に当てはまる最小値を計算します。
. 5. C4 を
から変更し、最も近い整数に四捨五入します。
6. 必要なゲインを使用して、ゲイン (式 4)の C1 の値を計算します。
7. 式 10 から fclk を計算します。
8. アナログコラムクロックを 4 倍 fclk に設定します。PSoC Designer で使用可能な選択肢からアナログ
コラム クロック リソース、fsysclk を選択します。 クロック選択の詳細については、このデータシー
トのサンプルクロック セクションを参照してください。
9. 最も近い整数に四捨五入して、分周器を計算します。
10. 選択したシステム クロック リソースを 4n で割って、実際のクロック周波数を取得します。
Document Number: 001-66735 Rev. **
Page 27 of 29
[+] Feedback
Two-Pole Low Pass Filter
11. 式 6 と式 5 から、減衰比 d、自然周波数 ω0 を計算します。結果を期待値と比較します。 これによ
り適切な起点が与えられ、d と ω0 の両方に必要値から -2 ~ -10% の誤差が生じます。
12. C2、C3、C4 の値を調整して、d と ω0 の必要値を実現します (式 5 と式 6 を使用)。通常、C4 を低
減していき、d の要件に合わせます。
13. システムクロックの周波数を再計算し、更新されたキャパシタ値を用いて ω0 要件に適合させます。
この手順を用いると、LPF2 のキャパシタにだいたい適切な値が得られます。 より正確な計算は、設計
式 4、5、6 に基づいて行われますが、2 ポールフィルタでは開発スプレッドシート LPF2 設計を、4 ポ
ールフィルタでは開発スプレッドシート LPF4 設計を用います。 これらのスプレッドシートについて
は、PSoC デザイナ資料のリストを参照してください。LPF2 設計は、デバイス エディタでユーザ モジ
ュールを右クリックしてアクセスできるフィルタウィザードで実行します。フィルタ最適化の後、キャ
パシタ値とクロック周波数約数の係数を PSoC デザイナのユーザ モジュールに入力できます。
2 ポールの例
この設計例では、f-3dB は 1.0 kHz に設定されています。 Butterworth フィルタでは、正常化されたコー
ナー周波数 ω0 は 1.0 で、減衰比 d は 1.414 です。フィルタは最大過剰サンプルレートに適合するように
設計されています。
設計手順の次は各数値が示されます。
1.
2.
3.
4.
5.
6.
CA, CB = 32
C2 = 1
C4 = 31
C3 を計算した結果は非常に 2 に近い
C4 は変化なし
C1 = 1
7.
8. アナログコラムのクロック = 568.69 kHz
9. n = 42 (24V1、24V2 クロックまたはタイマ、カウンタ PSoC ブロックから)
10. fclk = 142.857 kHz
f-3dB = 1.020 kHz および ω0 = 1.00 または
f-3dB = 1.000 kHz および ω0 = 1.02
Document Number: 001-66735 Rev. **
Page 28 of 29
[+] Feedback
Two-Pole Low Pass Filter
11. 減衰比の誤差 1.6% とコーナー周波数の誤差 2% は、多くのアプリケーションにとって十分です。
12. この性能は改善できます。f-3dB は、24 MHz を 42 で割るシステムクロックの分子を設定するので
はなく、85 で割る設定のタイマやカウンタのユーザ モジュールに 48 MHz 入力を使用することによ
り、期待値に近くなるように調整できます。これにより、f-3dB が 1.008 kHz となります。
Document Number: 001-66735 Rev. **
Revised January 20, 2011
Page 29 of 29
Copyright © 2002-2011 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