ADコンバータの入力とは?チャネルと入力の違いは何か?

このQ&Aのポイント
  • ADコンバータ機能を持つマイコンには、チャネルと入力の違いがあります。一つは1チャネルで5つの異なる差動アナログ入力があります。もう一つは3つのチャネルでそれぞれ1つのアナログ入力があります。どちらがどのような場合に有効かについて説明します。
  • 1入力を持つ3チャネルのADCと、1チャネルで3入力を持つADCの使い方の違いについて理解できていないということです。ここではそれについて解説します。
  • ADコンバータ機能を持つマイコンには、チャネルと入力の違いがあります。一つは1チャネルで5つの異なる差動アナログ入力があります。もう一つは3つのチャネルでそれぞれ1つのアナログ入力があります。どちらがどのような場合に有効かについて説明します。
回答を見る
  • ベストアンサー

ADコンバータの入力

ADコンバータ機能を持つマイコンを調べていたところ、下のような 説明がある二つの型番のマイコンがありました。 ---- 1 channel, 5 different differential analog inputs 3 channels, each has 1 analog inputs ---- ADCのアナログ入力の「チャネル」と「入力」どちらかが複数ある とのことらしいのです。実際にチャネルと入力の違いというのは どういう時に有効なのでしょうか? 1入力を持つ3チャネルのADCと、1channel, 3入力を持つADCの 使い方の違いというのがいまいち理解できておりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • sinisorsa
  • ベストアンサー率44% (76/170)
回答No.1

詳細はデータシートを見ないと分かりませんが、 >1 channel, 5 different differential analog inputs ADの入力チャネルは1つ、5つの差動入力のアナログ 入力がある。多分同時にはサンプリングできないが マルチプレクサーを内蔵していて、切り替える。 時間的にずれてサンプリングされる。 サンプルホールド回路が独立して5チャネル分あれば、 実質的には、同時サンプリングが可能ですが、 サンプリング周期に制限が付くかもしれません。 >3 channels, each has 1 analog inputs ADの入力チャネルは3つ。各チャネルごとにアナログ入力 がある。多分、同時サンプリングができる。

flex1101
質問者

お礼

回答ありがとうございました。

関連するQ&A

  • ADコンバーターについて

    ADC0804LCNというADコンバーターを使い、入力電圧(0~+5)を8ビットの2進数に変換したいと考えてます。1つのICが高いので、購入する前に質問があります。 この1つのICのみでAD変換はできるでしょうか?それとも何かほかのICも使わなきゃならないでしょうか? よろしくお願いします。

  • ADコンバータの使い方について

    現在、1Vp-p(10kHz)の信号をADコンバータ→集積抵抗→バッファ(インバータ)→CPLDといった構成で回路を作っています。入力信号はファンクションジェネレータから反転増幅回路を通した後、1Vp-pまで落して入力しています。エンコードCLKは水晶発信機からCPLDを使って分周し、5MHz程度で入力(1V0-p)しています。しかし、ADCの出力を見ることができません。実際、バッファの出力を見たところ、Hの状態になっているため、ADCからの出力は出ていないと思います。使用しているコンバータはAD9214(アナログデバイセズ)ですが、不安なピンがいくつかあります。学生ですので、誤解している点も多々あるかとおもいますが、誤っている点をご教授いただきたくおもいます。 ピン配置 1-4:オープン 5,8,11:AGND 6,7,12:AVDD(レギュレータから3.3V) AIN(9):アナログ入力 AIN(反転)(10):抵抗とキャパシタを直列でAGND PWRDN:AGND DVDD:3.3V

  • マイコンのインターフェイスについて

    今現在、下記のような回路の為の部品選定をしているのですが、、、 アナログ電圧入力(DC) → ADC(分解能24bit) → マイコン(H8)にて演算処理 → DAC(電流出力) ADC →(1)→ マイコン 上記(1)のインターフェイスのことについて質問させていただきます。 24ビットの高分解能ADCが実装されているマイコンが見つからなかったため 現在外付けのADCを選定しております。 それで、いくつかのADCのデーターシートを参照すると、 I2C準拠のシリアルインターフェイスが付いているものや、SPIのものやら あるのですが、それらシリアルインターフェイスがついていないADC 例えば↓ http://www.analog.com/jp/analog-to-digital-converters/ad-converters/AD9283/products/product.html などはデーターシートの出力にはTTL、CMOSコンパチと謳われておりますが こういったADCとマイコンを接続する時はマイコン側のインターフェイスは I/Oポートを使用するのでしょうか? とんちんかんなことを言っていたら申し訳無いのですが、 宜しくお願いいたします。

  • ADコンバータ(ADC08351)のデジタルの出力波形について

    現在、ADコンバータ(ADC08351)を用いて、周波数500KHzの基準電圧が0VでVp-p=1.5Vの信号を、ADC08351を用いてAD変換したいと考えております。 仕様は以下のとおりです。 Vin=Vp-p=1.5V(基準電圧0V) Vref=2V /OE=0V(つまり常にHigh状態) CLK=2MHz(V=3.3V) VA=VD=3.3V AGND=DGND=0V この仕様でAD変換を行った結果、上手くAD変換することができませんでした。 クロック信号は2MHzとそこまで大きくはないので、ノイズはほとんどでておりません。(Vp-p=60mVくらい) 上手くいっていない具体的な説明ですが、D6(最上位ビットから3番目)の波形が、入力信号が下がっているところで、立ち上がっています。これは、ディレイによるものかとも考えたのですが、D7の信号波形はこのD6の波形をインバータを通したような波形になっています(つまりD6の信号が"1"のときはD7の信号は"0")。この結果正しい波形はでていないと判断しました。また、LSBのほうは明らかにデジタル出力波形はおかしく、正しく復調できていないとすぐに気づくようなものになっています。 また、入力信号をADコンバータの入力へ入れる前に、何か増幅器を通して、矩形波(パルス波)のような波形にした後に入力すれば間違いなく復調できるかと考えているのですがどうでしょうか? ただ、その場合入力信号が電源電圧まで増幅されてしまうのではないかという欠点はあると思うのですが。 どこが上手くいっていないのか詳しく説明できていないとは思いますが、どなたか分かる方いましたらアドバイスのほうよろしくお願いします。

  • ADCのADCカウントは何Cなのか?

    現在、以下のADCについて調べております。 http://www.analog.com/jp/analog-to-digital-converters/ad-converters/ad9220/products/product.html 私の理解では、このADCは5V(±2.5V)もしくは2V(±1V)の幅を12bitで表せるので、LSBは1.2mVもしくは0.49mVになるものと思われます。 この時、入力信号の電圧値ではなく電荷の値を知りたいのですが、どの様に考えて計算すれば良いのかが分かりません。つまり、ADCの1カウントが何Cに相当するのかを知りたいのです(単位で言うと、[C/count])。しかし、データシートを見ても、私には分かりません。 自分なりに計算してみたのですが、明らかにおかしくて困っております。 どなたか分かる方いらっしゃいましたら、ご指導の程よろしくお願いします。

  • トランジスタ技術9月号の第2章ADコンバータで躓きました

     トランジスタ技術8、9月号にPICマイコン関連が連載されました。 デモ機を部品を買ってつくり、何とか記事の進行について行っています。9月号の第2章ADコンバータで躓きました。  8月初めに、上記ADコンバータを使用したデータ記録計はうまく動きました。ところが、9/21に同じことをやりましたら、"BUILD ALL"でエラーが発生するようになりました。従ってhexファイルは出来ません。   エラーメッセージを見ると下記のようになっていました。 *************************************************** THE MPLAB C30 license has expired. pic30-coff-cc1.exe:warning:Options has been disabled due to expired license *************************************************** *************************************************** D:\CQ\tr0709\projects\Logger\LOGGER.o(.text+0x6):In function 'main': **************************************************** D:\CQ\tr0709\projects\Logger\LOGGER.c:136:undefined reference to 'BusyUART1' BUILD FAILED:Sat Sep 22 17:44:20 2007 また8月号付録のCDのマイクロチップ・テクノロジー Cコンパイラ MPLAB C30 ver.3.0 Student Editionの項に次のことが書かれています。 『インストール日より60日間の使用制限があり、期限内は全ての機能が使用できます。60日を経過すると、コンパイラの最適化レベルが制限されます。そのためコードサイズが大きくなる場合がありますが、それ以外の制限はないので引き続き使用できます。』 この二つより考えますと、8月初めのADコンバータのBUILD時は最適化レベルが働きコードサイズが小さく、PIC30F2012に格納可能だったのが、9/21の同様操作時にはコードサイズが大きくなってしまったのでBUILD出来ない。但し、hexファイルはまだ出来ていない。  或いはOptions has been disabled due to expired licenseのために、今まで利用していたものが利用出来なくなってエラーになった。  PIC30F2013(PIC30F2012よりメモリサイズが大きい)にしなければいけないのでしょうか?まだダウンロードしていないので関係ない?  それともやり方が悪いのでしょうか? 以上よろしくご教示お願いいたします。

  • AD変換した結果を出力する方法は?

    H8マイコンを利用してAD変換し、その結果をパソコンの画面に出力したいのですが何をすればいいのかわかりません。出力の形は整理しやすい形で出力したいと考えています。テキスト形式などは可能でしょうか? プログラムは二つの入力(AN0とAN1)をスキャンしながらAD変換します。 最後に AD.CSR.BIT.ADST = 0; /* A/Dコンバータを止める*/ adhenkan[0] = ADDRA; /*AN0の結果をadhenkan[0]に格納する*/ adhenkan[1] = ADDRB; /*AN1の結果をadhenkan[2]に格納する*/ AD.CSR.BIT.ADF = 0; } AD変換したデータをadhenkan[1],adhenkan[2]に格納した後にどうすればいいのかわかりません。

  • 電子秤のマイコン

    電子秤の勉強をしています。 電子秤を分解してみると電子回路にICはマイコン(COB)が1つとEEPROMが1つしか乗っていません。 どうやらマイコンにはADコンバータ(24bitくらい?)とチャージポンプ(昇圧型DC-DCコンバータ)とLCDドライバーが一体になっていて歪みゲージの出力が直接マイコンに入力されているようです。 このようなマイコンはどこのメーカのどの品番の物があるでしょうか。

  • AD変換

    H8/3664でのAD変換についての質問なのですが、このマイコンだと通常8つあるAD変換をスキャンモードで1度で4つまでしか処理できないのですが グループ0のAN0とグループ1のAN4が同一レジスタで結果が格納されていると思われますが この二つを1度に処理したいのですが、どのようなプログラムにすればいいのですか? AD変換あたりのプログラムを抜粋したので、後半のAD.ADDRB をAN4のAD.ADDRAに変えた場合のプログラムを教えて下さい char aflag=0; //割り込みフラグ void main(void) { char carray0[20],carray1[20],carray2[20]; long ad_data_0,ad_data_1,arrey0,arrey1,ad0,ad1,t,G_data,A_data,hensa_now,hensa_mae,A_out_put; int i; timervset(); timeraset(); IO.PDR5.BYTE = 0xff; // ポート7の出力設定をあらかじめ1に設定 IO.PCR7 = 0x00; // ポート7を全て入力ポートに設定(タクトSW1,SW2,SW3) IO.PCR5 = 0xff; // ポート5を全て出力ポートに設定 IO.PCR1 = 0xa0; // ポート1のP15,P17を出力ポートに Init_rs(); //通信の初期化 AD.ADDRA=0; AD.ADDRB=0; AD.ADDRC=0; AD.ADDRD=0; //AD変換設定 //A/Dコンバータ設定 AD.ADCSR.BYTE = 0x33; // (0011 0011)*/ // スキャンモード,高速変換(70ステート),入力端子:AN0~AN3 set_imask_ccr(0); //割り込み可 while(1) { if(aflag==1){ aflag=0; ad_data_0=AD.ADDRA >> 6; // 「>>」:シフト演算子(ビットを右に6ずらす) ad0=ad_data_0*5000/1024; LToStr(G_data,carray0);//グローブ角度表示 rs_puts("ch.0="); rs_puts(carray0); rs_crlf(); wait(1); G_data=(ad0-2333)*(-0.0426);//グローブ角度 ad_data_1=AD.ADDRB >> 6; // 「>>」:シフト演算子(ビットを右に6ずらす) ad1=ad_data_1*5000/1024; LToStr(A_data,carray1);//アーム角度表示 rs_puts("ch.1="); rs_puts(carray1); rs_crlf(); wait(1);

  • PICのA/D変換の入力が何故か0Vになってしまいます・・・

    現在、PIC12f675を用いて下記のようなことをしたいと検討しているのですが、 中々思った通りに動いてくれません。 どなたか分かる方がいらっっしゃいましたらアドバイスお願い出来ないでしょうか? 「開発環境」 ・CCSのCコンパイラを使用 ・PICは12f675 「内容」 アナログ入力端子に任意の電圧を加えて、RS232CでPC上にその電圧を表示する。 現在、アナログ入力端子(AN0)に電源電圧から分圧して0.5Vや1Vなどの電圧を加えているのですが、 何故か入力端子の電圧をテスターで測定すると0Vとなり、PC上でもやはり0Vと表示されてしまいます。 何故、任意の電圧を加えても全て0Vとなってしまうのかが分かりません。 おそらくプログラム上でのミスがあると思うのですが・・・ 検討中のプログラムを下記に書きます。 ***************************************************** ///// 初期設定 ///// #include <12f675.h> #device ADC=10 #fuses INTRC_IO, NOWDT, PUT, NOPROTECT, BROWNOUT /////RS232C使用宣言///// #use delay(CLOCK = 4000000) #use rs232(BAUD = 9600, XMIT = PIN_A2, RCV = PIN_A1) //GP1=受信 GP2=送信 //// メイン関数 void main() { // A/D初期設定 float data; setup_adc_ports(AN0_ANALOG); //AN0をアナログ設定 setup_adc(ADC_CLOCK_INTERNAL); //ADCのクロック設定(内部発振) set_tris_a(0); output_A(0); while(1) { set_adc_channel(0); delay_us(50); data = read_adc(); data = (data * 3.0) / 1024; printf("電圧 = %1.3fV\r\n",data); } } ***************************************************** 申し訳ありませんが、アドバイスお願いします。