====== 高速AD変換ユニット(AD7820)(PIC16F876) ====== ===== 概要 ===== 秋月電子通商で300円で購入したANALOGDEVICESのAD7820 8ビットA/Dコンバータを使用してみました。 AD7820は高速、マイクロプロセッサ・コンパチブルの8ビットA/Dコンバータ(ADC)で、ハーフフラッシュ変換技術の採用によって1.36μsecの変換時間を実現しています。 PICの内臓モジュールでは、12ビット(20MHz)精度で、最小39μsecなので、約28倍も高速に変換できることになります。 【特長】 * 高速変換時間:1.36μs(max) * トラック・アンド・ホールド回路内蔵 * ノー・ミスコードを保証 * トリミングの必要なし * 単電源+5V動作 * レシオメトリック動作 * 外部クロック必要なし * 拡張動作温度範囲 * スキニー20ピンDIP、SOICパッケージ * アナログ入力電圧範囲は0~+5Vで、+5Vの単電源で動作 AD7820のブロックダイアグラムです。 {{:imgpaste:202004:admin-20200430-174025.png}} ===== 動作原理 ===== A/D変換したデータを単純にD/A変換(ラダー抵抗方式)する処理を繰り返すだけのものです。 AD7820には何種類かのモードがありますが、今回は最も簡易なRDモードを採用しました。 {{:imgpaste:202004:admin-20200430-174052.png}} ===== 回路図 ===== {{:imgpaste:202004:admin-20200430-174106.png}} ===== ソースコード ===== //********************************************************************** void main() { // ポートの設定 TRISA = 0b11111011; TRISB = 0b00000000; TRISC = 0b11111111; ADCON1 = 0b00001110; // while (1) { PORTA.F2 = 0; // 変換開始 while (PORTA.F3 == 1) // 変換終了チェック PORTB = PORTC; // データ取込と出力 PORTA.F2 = 1; // 変換終了 } } //********************************************************************** ===== 動作確認 ===== {{:imgpaste:202004:admin-20200430-174248.png?500}} 入力に1kHzの半波を加えてみました。 上の黄色が入力波形、下の水色が出力波形です。 {{:imgpaste:202004:admin-20200430-174310.png}} 入力に10kHzの半波を加えてみました。 {{:imgpaste:202004:admin-20200430-174316.png}} 如何ですか? これで簡易オシロを作成するのも宜しいのでは...!? このページは稲崎様の閉鎖したHPのコピーで、著作権は稲崎様にあります。[[elechobby:picdic:picdic|詳細]] This page is a copy of Mr. Inasaki's closed website, and the copyright is held by him.[[elechobby:picdic:picdic|Details]]