PICマイコンを使って測定ツールを作ってみよう(6) ―― PIC12F1822を搭載したRS-485ネットワーク対応のセンサ基板を作成

中西 紫朗

tag: 組み込み 電子回路

エレキ系DIY 2011年12月 7日

●4チャネルのA-Dコンバータを搭載

 今回,センサ基板に搭載している「PIC12F1822」は,8ピンのPICマイコンでありながら,同社のラインナップのミッドレンジ製品と位置づけられています.機能面では18ピンのPICマイコンに劣るものではありません.今まで追加されてきたPICマイコンの新機能があますところなく詰め込まれています.ここで説明するA-Dコンバータはもとより,SPI/I2C通信機能,UART通信機能,コンパレータ機能など,使いこなせるかどうか心配になるほどです.それなのに価格は非常に安価です.なんといっても,これまでのPICマイコンの資産をそのまま生かせて,なおかつ実装面積を小さくできるのはありがたいです.

 PIC12F1822には,4チャネルの入力を持つA-Dコンバータが1個搭載されています.同時に測定できるアナログ入力は1チャネルだけですが,チャネルの切り替えにより,多数の入力をほぼ同時に測定しているように見せかけることができます(図8).

 

図8 A-Dコンバータのブロック図

 

 

 PIC12F1822のクロック周波数は32MHzで,A-D変換の時間は1μsです(図9).

 

図9 ADCクロック

 

 

 ただし,アクイジション時間(サンプリングの開始時から実際の入力電圧に到達するまでの時間)が5μs必要なので,後処理も考慮すると,実質1秒間に約10万回程度の測定が行えることになります.PIC12F675と比較すると,8ビット長のA-Dコンバータが10ビット長に拡張された効果は大きく,幅広い応用に適用できます.例えばADRESHとADRESLの二つの1バイト・レジスタを利用し,右寄せフォーマット(ADFM=0)と左寄せフォーマット(ADFM=1)で使い分けることができます(図10図11).

 

図10 ADRESH/ADRESLレジスタ(ADFM=0)

 

 

図11 ADRESH/ADRESLレジスタ(ADFM=1)

 

 

 レジスタ関連はPIC12F675の方式を踏襲しており,A-Dコンバータの各チャネル(CH)について,組み合わせではなく,1チャネルづつ独立に選択できます.マルチインターフェースPICマイコン基板に搭載しているPIC18F2550の場合,組み合わせでしか選択できず,あるチャネルを選択するとほかの残りのいくつかをA-Dコンバータとして選択できなくなる,という制限がありました.今回のPIC12F1822では,どのチャネルも独立しており,ユーザは自由に選択できます.

 PIC12F675と大きく違うのは,各ピンの名称がGPIOnからRAnに変更されたことでしょう.この変更により,PIC16F1933など,多ピンのPICマイコン用に作成されたプログラムが,Aポートに関するものはそのままPIC12F1822でコンパイル・実行できるようになりました.この改善は大きいものがあります.移植時にいつもいろいろなバグが発生して,同じマイコン・ファミリなのに多くの時間をとられることがありました.PIC12F1822の場合はほとんど修正せずにコンパイルできます.

 設定レジスタとしては,ADCON0,ADCON1の2個のレジスタがあります(図12図13).ADCON0では,ADC実行チャネル選択,A-D変換開始,A-D機能イネーブルを設定できます.ADCON1では,変換フォーマットの選択,参照電圧のピン割り当て,A-D変換クロック,変換クロック数を設定できます.

 

図12 ADCON0レジスタ

 

 

図13 ADCON1レジスタ

 

 

 ADCチャネルのコンフィグレーション設定はANSELAで行います.PIC12F1822ではAポートのANSELAだけですが,上位品種のPIC16F1933などではANSELCもあり,CポートのANxも選択できます.A-D変換は,ADCON0レジスタのGOビットをONすることにより開始されます.変換が終了すると,このGOビットが0に変わります.割り込みを使わない場合は,ずっとこのビットを監視していれば,いつ変換が終了したかが分かります.

 また,A-Dコンバータの機能として,非常に便利なものが追加されています.A-Dコンバータの参照電圧を,Vdd,FVRからの電圧,外部からの参照電圧の3種類の中から選択できるようになりました.FVRは,プログラムにより数種の定電圧電源の中から一つを選択できます.つまり,今まで電源電圧の変動でA-Dコンバータの精度が狂っていたものが,かなり正確に測定できるようになったのです.

 さらに,電源電圧そのものも測定できるようになりました.米国Texas Instruments社の低消費電力マイコンであるMSP430シリーズなどには当初よりあった機能ですが,やっと普通のPICマイコンにも実装されました.電池のように,時間とともに電源電圧が下がっていく電源には必須の機能です.変換前にSLEEPモードに入り,変換が終了すると割り込みで目覚めさせることにより,消費電流を抑えることもできます.これは,電池駆動の際に有効な方法です.

 A-Dコンバータ関連のレジスタの一覧を図14に示します.

 

図14 A-Dコンバータ関連レジスタの一覧

 

 

 なお,今回作成した基板では,アナログ入力としてAN2のピンのみを使用しています.

 

 

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日