A/Dコンバータの選択

いつもお世話になります。

AL78/G14 32PのA/Dを使用したいのですが、CubeSuiteの設定についてお教えください。

ポート2の0~2は入力ポートとし、ポート2の3はADIN3として使用

CubeSuiteのコード生成ツールの設定

・ポート2の設定

 ->0から2を入力ポートとし、3を未使用としています。

・A/Dの設定

 ->ワンショット・セレクトモード

Q1、このとき、ADI0~3の設定部分に「すべてデジタル」としか表示されません。

A/Dの割り込みはかかり(ADS=0x03)、ADI3のA/Dは機能しているようなのですが、設定に問題はないでしょうか?

Q2、ポート2の0~3のすべて使用しないにすると、A/Dの設定部分に、ADI0、ADI0~1、ADI0~2、ADI0~3、すべてデジタルという選択項目が表示されます。

これは、ADI0からしか使用できないということでしょうか?

以上 よろしくお願いします。

  • jinenさん

    残念ながら、RL78ではアナログ入力は番号の若い順にしか設定できません。
    ということで、ANI3をアナログで使用するには、ANI0-2もアナログに設定しなければいけません。
    逆にANI0をデジタルで使うと、それ以降のチャンネルは全てデジタルになります。

    まとめると、ANI0/P20をアナログ、P21からデジタルという設定にすべきということになります。

  • kirinさん

    早速くのご回答ありがとうございました。

    ということは、現在、A/D割り込みにて取り込んでいるADI3のデータは、デジタルの値ということになるのですね。

    助かりました。本当にありがとうございました。

  • チョコです。

    ちょっと情報を追加しておきます。

    この制限があるのは、ADPCレジスタでアナログ/デジタルを

    切り替える端子(ANI0~15)だけです。

    その他のPMCxレジスタでアナログ/デジタルを切り替える端子

    (ANI16~)の場合には自由に組み合わせることが可能です。

    このような制限をつけることで、ANI0~15は総合誤差特性など

    若干(1.5LSB程度ですが)特性がいいようです。

    なお、ADPC等のレジスタの設定は端子の設定で、A/Dの動作を

    制御するものではないので、ADPCの設定によらず、A/D変換は

    実行され、変換が完了すると割り込みが発生します。

    また、デジタルに設定した端子でA/D変換すると、らしい値には

    なるようです。当然、特性が保証されたものではありませんが。

  • 特性が保証されていない状態というのは、

    デジタル設定しているポートに1/2VDD付近のアナログ電圧を入れると変換結果に問題があったり、デジタル回路に貫通電流が流れるので電気的に良くない状態になります。あとデジタル回路からのリーク電流でAD精度劣化したりするので

    AD変換をするポートは必ずアナログに切り替えて(デジタル回路を切断)しないといけないんですよね。

  • チョコです。

    はい、そうです。

    らしい動作をするものだから、そのままで使っていて、

    後からおかしいことに気が付くパターンです。

  • AL78/G14ではないのですが、高性能のA/Dを搭載しているマイコンで私もその経験があります、A/Dがおかしい、こんなはずはない、しらべるとA/Dで使用している端子がOUTにされていました、これをINに設定したところ、正常な動作をしました、このようなことが起きることがありますから、シリアルにしてもA/Dにしてもポートの方向は必ず確認します、ただ特殊な用途でパルスを重ねて計測するような新しい用途もあるのかもしれません(これはたぶんメーカに言わせれば邪道と言われそうですが)

  • チョコです。

    IKUZOさん。そこらは少し異なります。

    RL78では、アナログ入力に設定すると、ポートの入出力バッファは

    切れてしまいます。

    アナログ入力にしないで、ポートになっている場合でも、出力ポート

    ならすぐおかしいことがわかるはずです。(通常は、アナログ信号の

    出力インピーダンスより出力ポートのインピーダンスが小さいはず

    なので入力信号をいくら変化させても変換結果がおかしいことですぐ

    気が付きます。)

    ここでの問題は、Kirinさんが言っているような内容です。