目次
前
次
光センサー利用(割込み活用)
利用しているPIC16F627Aには、A/D変換器は内蔵されていませんが
リファレンス電圧とアナログコンパレータを使って、A/D変換器を
実現できます。
ピンアサインを見ると、次のようになっています。
A/D変換器利用には、次のハードルを超える必要があります。
- リファレンス電圧選択
- ユニポーラ、バイポーラの指定
- ピンアサイン指定
- レジスタアクセス
- 割込み処理
各々に関連する内容を見ていきます。
リファレンス電圧選択
A/D変換器は、電圧を対応する2進数値に変換します。
利用電圧を電源電圧にするかピン入力電圧にするかを
指定し、それを踏まえたプログラムにします。
ピン入力電圧は、使うピンが決まっています。
リファレンス電圧を電源電圧にしないのなら、RA2を
利用するので、AN2を使えなくなります。
レジスタでは、VRCONを利用します。
以下の項目を制御できます。
- リファレンス電圧制御モジュールを利用するか否か
- レンジ範囲指定
- 分解能指定
ユニポーラ、バイポーラの指定
A/D変換器は、リファレンス電圧を対応する2進数値に変換します。
リファレンス電圧は、電源電圧かRA2の接続電圧になっています。
リファレンス電圧と0V間の電圧を2進数値にするのがユニポーラ
2つのA/D変換ピンの差分電圧を2進数値にするのがバイポーラに
なります。
リファレンス電圧を変更していき、そのリファレンス電圧に
対応したアナログコンパレータ出力値を組み合わせます。
リファレンス電圧の変更幅は、16ビットとレジスタと
ブロックダイアグラムから理解できます。
リファレンス電圧を利用しないときは、2つのアナログコンパレータ
のどちらかを固定電圧として使います。
ピンアサイン指定
ユニポーラの場合、使えるピンはAN0からAN3(RA0からRA3)
バイポーラの場合、AN0とAN3(RA0とRA3)、AN1とAN2(RA1とRA2)を
利用します。
レジスタアクセス
A/D変換器として機能させるために、使うレジスタは以下。
TRISAは、RA0からRA3を入力に指定するように対応ビットを操作します。
CMCONは、主に2つのビットC2OUT、C1OUTを利用します。
VRCONは、主にVRCONの4ビットを利用します。
割込み処理
A/D変換の終了を割込みで通知するのが、内蔵モジュールとして
A/D変換器をもつPICでは採用されています。
アナログコンパレータを利用したA/D変換器では、タイマー
割込みを利用して、シーケンサでA/D変換します。
アナログコンパレータは、電圧比較した結果を2進数で出力
するだけなので、VRCONに設定する電圧値をタイマー割込みで
変化させて、そのときのアナログコンパレータの出力値を
4ビット分集めると、A/D変換したのと等価です。
(under construction)
目次
前
次