RL78/G11を用いた環境センサ(その1)

RL78のA/Dコンバータは、変換結果を格納するレジスタ(ADCRレジスタ)が1個しかありません。つまり、1回のA/D変換ごとにCPU(プログラム)が処理する必要があります。しかし、DTCと組み合わせることで、4回のつまり4つのセンサの変換結果はCPUを介することなく読み出すことが可能です。

ところが、センサは動作電流が結構流れるので、センサの電源の制御をきちんと行う必要があります。このことを考えると、1つのセンサごとにCPUで電源制御(電源を制御するポートの制御)することになります。そこで、DTCのチェイン転送を使うことでA/D変換結果をRAMに転送し、センサの制御ポートに制御データを転送することで対応します。

これで、CPUはセンサの出力のA/D変換とDTCを起動するだけで、変換動作中はHALTで停止させておくことができるので、電力消費を抑制できます。

また、ここで対象とする環境データは短い間隔で変化することはないと考えて、測定間隔を5分に設定し、その間はRL78/G11はSTOPモードでスタンバイさせます。この場合、動作しているのは低速内蔵クロック(LOCO)だけで、そのクロックを8-bit ITでカウントするだけの電力消費が小さい状態となります。このような長い時間のカウントをRL78/G11の8-bit ITだから可能です。

CPUの動作クロックも高速内蔵発振回路(HOCO)ではなく、4MHzの中速内蔵発振回路(MOCO)のクロックを使用します。LOCOの周波数精度は低いのですが、STOPからの復帰は早いので、省電力用途には適しています。

このように、できるだけ動作電流を低く抑えるようにしています。

今回は、まずは測定を行うところまでとします。測定結果はRAMに格納しているだけです。プログラムとドキュメントを今回アップしておきます。

 

Anonymous