コンパレータは、2 つのアナログ電圧を比較し、そ の相対的な大きさをデジタル値で表すことでアナ ログ回路をデジタル回路に接続します。コンパレー タはプログラム実行から独立したアナログ機能を 提供するため、ミックスドシグナル (アナログ信号 とデジタル信号の混在した環境) において、きわめ て有用な構成要素となります。アナログ コンパレー タ モジュールには、次の機能があります。
• 独立したコンパレータ制御
• プログラム可能な入力選択
• コンパレータ出力を内部/外部で利用可能
• プログラム可能な出力極性
• 状態変化割り込み
• スリープからのウェイクアップ
• プログラム可能なスピード/電力の最適化
• PWM シャットダウン
• プログラム可能および固定の電圧リファレンス 12.1 コンパレータの概要
シングルコンパレータ、およびアナログ入力レベ ルとデジタル出力の関係を図12-1に示します。VIN+ のアナログ電圧が VIN- のアナログ電圧よりも低い 場合、コンパレータ出力はデジタル Low レベルと なります。VIN+ のアナログ電圧が VIN- のアナログ 電圧よりも高い場合、コンパレータ出力は High (デ
ジタル) レベルとなります。
図 12-1: シングル コンパレータ
– VIN+ +
VIN- Output
Output VIN+ VIN
-注: コンパレータ出力の黒い部分は、入力オフ セットやレスポンス タイムによって変動す る範囲を表しています。
PIC16F193X/LF193X
図 12-2: コンパレータ モジュールの概略ブロック図
注 1: CxON = 0の場合、コンパレータは出力として「0」を生成します。
2: CxON = 0 の場合、マルチプレクサのすべての入力が未接続になります。
3: デバッグ中、コンパレータの出力は停止できます。
MUX
Cx(3) 0
1 2 3
CxON(1) CxNCH<1:0>
2
0 1
CXPCH<1:0>
CX IN1-CX IN2-CX
IN3-CXIN+
MUX
-+
CxVN
CxVP
CXOUT
To ECCP PWM Logic Q1
D
EN Q CXPOL
MCXOUT
Set CxIF
0 1 CXSYNC
CXOE
CXOUT
D Q
SYNCCXOUT DAC
FVR Buffer2 CX
IN0-2
CxSP CxHYS
det Interrupt
det Interrupt
To Timer1 CxINTN
CxINTP
To Data Bus
2 3
VSS CxON TRIS bit
(2)
(2)
(from Timer1) T1CLK
PIC16F193X/LF193X
12.2 コンパレータの制御
各コンパレータには、2 つの制御レジスタ (CMxCON0 および CMxCON1) があります。
CMxCON0 レジスタ (レジスタ12-1 参照) には、次 に示す制御ビットおよびステータスビットがあり ます。
• イネーブル
• 出力選択
• 出力極性
• スピード/電力の選択
• ヒステリシス イネーブル
• 出力同期
CMxCON1 レジスタ (レジスタ12-2 参照) には、次 に示す制御ビットがあります。
• 割り込みイネーブル
• 割り込みエッジ極性
• ポジティブ入力チャネル選択
• ネガティブ入力チャネル選択
12.2.1 コンパレータイネーブル
CMxCON0 レジスタの CxON ビットをセットする
とコンパレータの動作が可能になります。CxON ビットをクリアするとコンパレータ動作を無効に して消費電力を最小限に抑えることができます。
12.2.2 コンパレータ出力選択
コンパレータの出力は、CMxCON0 レジスタの CxOUT ビット、または CMOUT レジスタの
MCxOUT ビットを読み出すことでモニタできま
す。出力を外部接続で利用するには、次の条件を満 たす必要があります。
• CMxCON0 レジスタの CxOE ビットがセットさ れていること
• 対応する TRIS ビットがクリアされていること
• CMxCON0 レジスタの CxON ビットがセットさ れていること
12.2.3 コンパレータ出力極性
コンパレータの出力を反転することは、コンパレータ の入力を入れ替えることと機能的に等価です。コンパ レータ出力の極性は、CMxCON0 レジスタの CxPOL ビットをセットすることで反転できます。CxPOL ビットをクリアすると非反転出力となります。
各入力状態と極性設定の組み合わせにおける出力 ステートの一覧を表12-1 に示します。
12.2.4 コンパレータのスピード/電力の選択
CxSP ビットを使用すると、プログラム実行中にス
ピードと電力のトレードオフが最適化されます。こ のビットのデフォルトは、標準スピード モードの
「1」です。CxSP ビットを「0」にクリアしてコンパ レータの伝播遅延を低速化することによって、デバ イスの消費電力が最適化されます。
注 1: CxOE ビットは PORT データラッチを上 書き変更します。CxON をセットしても ポートの変更には影響しません。
2: コンパレータの内部出力は各命令サイク ルに合わせてラッチします。特に指定の ない限り、外部出力はラッチしません。
表 12-1: コンパレータの各入力状態に対する 出力ステート
Input Condition CxPOL CxOUT
CxVN > CxVP 0 0
CxVN < CxVP 0 1
CxVN > CxVP 1 0
CxVN < CxVP 1 1
PIC16F193X/LF193X
12.3 コンパレータのヒステリシス
各コンパレータの入力ピンに選択可能な分離電圧 の大きさを加算することによって、全体動作にヒス テリシス機能を提供します。
これらのヒステリシスレベルは、コンパレータの スピード/電力のモード選択によって異なります。
表12-2 にヒステリシス レベルを示します。
これらのレベルはおよその値です。
詳細は、28.0項「電気的仕様」を参照してください。
12.4 Timer1 のゲート動作
Timer1 のゲート制御ソースとしてコンパレータ動 作 の 結 果 出 力 を 使 用 で き ま す。詳 細 は、16.6 項
「Timer1 ゲート」を参照してください。この機能は、
アナログ イベントの継続期間やインターバルのタ イミング調整に有効です。
したがって、コンパレータの出力を Timer1 に同期 させることを推奨します。これにより、コンパレー タで変更が生じた場合に Timer1 はインクリメント しません。
12.4.1 コンパレータ出力の同期化
コンパレータ C1 または C2 のいずれかの出力を
Timer1 と同期化する場合、CMxCON0 レジスタの
CxSYNC ビットを設定します。
同期が有効になると、出力が Timer1 ソースクロッ クの立ち下がりエッジでラッチされます。Timer1 に プリスケーラを使用している場合は、プリスケール 機能の後にコンパレータ出力がラッチされます。競 合 条件 を 回 避す る た めに、コ ン パ レー タ 出 力は
Timer1 クロックソースの立ち下がりエッジでラッ
チされ、Timer1 はクロック ソースの立ち上がりエッ
ジでインクリメントします。詳細は、コンパレータ のブロック図 (図12-2) および Timer1 のブロック図 (図16-1) を参照してください。
12.5 コンパレータの割り込み
各コンパレータに立ち上がりエッジ検知器および 立ち下がりエッジ検知器があるため、コンパレータ の出力値が変更されると割り込みが生成されます。
いずれかのエッジ検知器がトリガされ、各イネーブ ルビット (CMxCON1 レジスタの CxINTP および
CxINTN のいずれかまたは両方 ) がセットされる
と、対応する割り込みフラグ ビット (PIR2 レジスタ の CxIF ビット) がセットされます。
割り込みが有効になるには、次のビットがセットさ れる必要があります。
• CMxCON0 レジスタの CxON、CxPOL および CxSP ビット
• PIE2 レジスタの CxIE ビット
• CMxCON1 レジスタの CxINTP ビット (立ち上が りエッジ検知)
• CMxCON1 レジスタの CxINTN ビット (立ち下が りエッジ検知)
• INTCON レジスタの PEIE および GIE ビット 関連する割り込みフラグ ビット (PIR2 レジスタの
CxIF ビット) は、ソフトウェアでクリアされる必要
があります。このフラグがクリアされている間に次 のエッジが検知された場合、クリアシーケンス後 のフラグはセットされた状態になります。
12.6 コンパレータのポジティブ入力選択 CMxCON1 レジスタの CxPCH<1:0> ビットを使用 して、内部電圧リファレンスまたはアナログ入力ピ ンのいずれかをコンパレータの非反転入力へ接続 します。
• CxIN+ アナログ ピン
• DAC
• FVR (固定電圧リファレンス)
• AVSS (アナログ グランド)
固定電圧リファレンスモジュールの詳細は、14.0項
「固定電圧リファレンス」 を参照してください。
CVDAC入力信号の詳細は、11.0項「A/D 変換 (ADC) モジュール」を参照してください。
コンパレータが無効 (CxON = 0) に設定されている 場合は、常にすべてのコンパレータ入力が無効とな ります。
12.7 コンパレータ ネガティブ入力選択 CMxCON0 レジスタの CxNCH<1:0> ビットを使用 して、4 つのアナログピンのいずれかをコンパレー タ反転入力へ接続します。
表 12-2: ヒステリシスレベル
CxSP CxHYS Enabled CxHYS Disabled
0 ± 3 mV << ± 1 mV
1 ± 20 mV ± 3 mV
注: コンパレータが無効の場合でも、CMxCON0 レジスタの CxPOL ビットを使用して出力 極性を変更、または CMxCON0 レジスタの CxON ビットを使用してコンパレータをオ ン / オフ切り替えすると割り込みが生成さ れます。
注: CxIN+ ピンと CxINx- ピンをアナログ入力 として使用するには、ANSEL レジスタの 該当するビットをセットするとともに、対
応する TRIS ビットもセットして出力ドラ
イバを無効にする必要があります。
PIC16F193X/LF193X
12.8 コンパレータのレスポンス タイム 入力ソースの変更後や新しいリファレンス電圧の 選択後に、コンパレータの出力が不定となる時間が あります。この時間のことを、レスポンスタイムと 呼びます。コンパレータのレスポンスタイムは、電 圧リファレンスのセトリング時間とは異なります。
したがって、コンパレータの入力の変化に対する総 レスポンスタイムを決定する際は、コンパレータの レスポンス タイムと電圧リファレンスのセトリン グ時間の両方を考慮する必要があります。詳細は、
28.0 項「電気的仕様」 のコンパレータと電圧リファ レンスの仕様を参照してください。
12.9 ECCP ロジックとの相互関係
C1 および C2 コンパレータは、汎用コンパレータと して使用できます。これらの出力は、C1OUT ピン
および C2OUT ピンを使用します。ただし、ECCP
自動シャットダウン機能が有効の場合は、これらの コンパレータのいずれかまたは両方を使用します。
自動再開機能も有効の場合、コンパレータを ECCP へのクローズドループアナログフィードバックと して設定できるため、アナログ制御の PWM を作成 できます。
12.10 アナログ入力の接続に関する注意点
図12-3 に、アナログ入力の簡単な回路を示します。
アナログ入力ピンはデジタル入力と接続を共有し ているため、VDDとVSSには、逆バイアスの静電気
放電 (ESD) 保護ダイオードが接続されています。こ
のため、アナログ入力は VSS と VDD の間に位置す る必要があります。入力電圧がこれらの値を 0.6V 以上に上回るまたは下回ると、片方のダイオードに 順バイアスがかかり、ラッチアップが発生する場合 があります。
アナログ ソースのソース インピーダンスは、最大 10 k を推奨します。また、コンデンサやツェナーダ イオードなど、アナログ入力ピンに外付け製品を接 続する際は、リーク電流が可能な限り最小のものを 使用し、精度の低下を最小限にしてください。
図 12-3: アナログ入力モデル
注 1: PORT レジスタを読み出す際、アナログ
入力として設定されたピンはすべて「0」 として読み出されます。デジタル入力と して設定されたピンは、入力仕様に基づ いてアナログ入力に変換されます。
2: デジタル入力として定義されたピンに アナログ電圧を加えると、入力バッファ に仕様を超える電流が流れる場合があ ります。
VA
Rs < 10K
CPIN
5 pF
VDD
VT 0.6V
VT 0.6V
RIC
ILEAKAGE(1)
Vss AIN
Legend: CPIN = Input Capacitance
ILEAKAGE= Leakage Current at the pin due to various junctions RIC = Interconnect Resistance
RS = Source Impedance VA = Analog Voltage VT = Threshold Voltage
To Comparator
注 1: 28.0項「電気的仕様」参照