23. アナログコンパレーター / 非公式訳

ATmega328Pデータシート非公式訳:

23. アナログコンパレーター

23.1 概要

AIN0ピン(PD6)をプラス入力端子、AIN1ピン(PD7)をマイナス入力端子(基準電位)とするコンパレーターです。AIN0ピンの入力電圧のほうがAIN1ピンの入力電圧よりも高いときにアナログコンパレーター出力(ACOビット)がセットされます。アナログコンパレーター出力(ACOビット)をきっかけにしてタイマー1インプットキャプチャを実行するのも可能です。またアナログコンパレーター専用の割り込みも発生できます。割り込みのタイミングは、コンパレーター出力(ACOビット)の立ち上がり時、立ち下がり時、トグル時のいずれも指定できます。コンパレーターとその周辺ロジックのブロックダイアグラムを図23-1に示します。

ADコンバーターの省電力化ビットPRADCは(略)
f:id:ti-nspire:20200719120527p:plain:w600

23.2 マイナス入力端子はAIN1ピン(PD7)以外にもADC7:0の中から選べる

アナログコンパレーターのマイナス入力端子には、AIN1ピン(PD7)の代わりにADC7:0のいずれのピンも指定できます。ADC7:0の各ピンは、ADコンバーターのマルチプレクサーを使って選択するため、ADC7:0の各ピンをアナログコンパレーターに利用するときはADコンバーターをオフにしなければなりません。(略)
f:id:ti-nspire:20200719122055p:plain:w600

23.3 レジスタの説明

23.3.1 ADCSRB - ADC Control and Status Register B

f:id:ti-nspire:20200719122338p:plain:w600

  • ビット6 - ACME: Analog Comparator Multiplexer Enable
    このビットが1であり、かつADCがオフ(ADCSRAレジスタADENビットが0)のときは、ADコンバーターのマルチプレクサによってアナログコンパレーターのマイナス入力が選択されます。このビットが0のときは、AIN1ピン(PD7)がアナログコンパレーターのマイナス入力として使用されます。詳しくは(略)。

23.3.2 ACSR - Analog Comparator Control and Status Register

f:id:ti-nspire:20200719123022p:plain:w600

  • ビット7 - ACS: Analog Comparator Disable
    このビットが1のときは、アナログコンパレーターへの電力が供給されません。(略)

  • ビット6 - ACBG: Analog Comparator Bandgap Select
    このビットが1のときは、内蔵バンドギャップ基準電圧がアナログコンパレーターのプラス入力として使われます。このビットが0のときは、AIN0ピン(PD6)がアナログコンパレーターのプラス入力として使われます。(略)

  • ビット5 - ACO: Analog Comparator Output
    ACOビットは、アナログコンパレーターの出力に応じて変化します。変化するまでに1~2クロックかかります。

  • ビット4 - ACI: Analog Comparator Interrupt Flag
    ACIS1ビットとACIS0ビットとで指定した割り込みモードがコンパレーター出力イベントによって発生したときに、このビットがセットされます。ACIEビットとSREGレジスタIビットとがセットしてある場合は、アナログコンパレーター割り込みルーチンが実行されます。ACIは、対応する割り込みハンドリングベクタが実行されたときにハードウェアによってクリアされます。ACIは、1を書き込んでもクリアされます。

  • ビット3 - ACIE: Analog Comparator Interrupt Enable
    ACIEビットとSREGレジスタIビットとがセットしてある場合は、アナログコンパレーター割り込みが有効化されます。ACIEビットが0のときは、アナログコンパレーター割り込みは無効化されます。

  • ビット2 - ACIC: Analog Comparator Input Capture Enable
    このビットが1のときは、アナログコンパレーターの出力をきっかけにしてタイマー1のインプットキャプチャ機能が実行できます。(略)アナログコンパレーターの出力をきっかけにしてタイマー1のインプットキャプチャ割り込みを発生させるときは、TIMSK1 (Timer Interrupt Mas Register)レジスタICIE1ビットをセットしなければなりません。

  • ビット1:0 - ACIS1, ACIS0:Analog Comparator Interupt Mode Select
    どのコンパレーターイベントでアナログコンパレーター割り込みを発生させるのかを指定します。(略)
    f:id:ti-nspire:20200719125205p:plain:w600
    (略)

23.3.3 DIDR1 - Digital Input Disable Register 1

f:id:ti-nspire:20200719125306p:plain:w600

  • ビット7:2 (略)

  • ビット1:0 - AIN1D, AIN0D: AIN1, AIN0 Digital Input Disable
    このビットが1のときは、AIN1/0ピン(PD7/6)のディジタル入力バッファが無効化され、PINレジスタにおけるそれぞれのビットを読み出すと常に0です。AIN1/0ピン(PD7/6)をアナログ入力用として使用する場合、すなわちにAIN1/0ピン(PD7/6)をディジタル入力として使わない場合は、このビットを1にすればディジタル入力バッファでの消費電力が減らせます。