Dies Aliquanti

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

VerlogでA/Dコンバータ、その5

積分器をRC(抵抗とコンデンサ)タイプにして見ます。相変わらず、積分は差分式なのでむちゃくちゃ遅いです(そのうち、Veritakのルンゲ・クッタに変えます)。ついでに、ディジタル回路のなかで使いやすいように、オフセットをつけて、入力電圧の範囲を0~5Vに変更しました。
実行結果はこんな感じ。
RCintegral

だいたいよさそうです。この例では、前回の時定数より、1/10にしていますが特に問題はないようです。
CMOSデジタル回路では、コンパレータをどうするかは、ちょっと悩ましいですね。ディジタルICでのスレッショルド電圧を使うとすると、スレッショルド電圧に近い電圧で変化することになり、ラッチアップの可能性を考慮する必要があります。
(とりあえずこの項終わり)
---
本日の御託
横浜市水道局のホームページが更新されて、「はまピョン」のカレンダーのコーナーがなくなってしまった。orz・・・

     1  //  behavior model of sigma delta A/D converter
     2  //    with RC intergral model
     3  // (c) 2007 Bakaoyaji
     4  //
     5  `include "ANALOG.H"
     6 
     7  `timescale 1ns/100ps
     8 
     9  `define RESOLUTION (1.0)
    10  `define GAIN2   (0.000001)
    11  `define RELATIVE_GAIN2 (`GAIN2 * `RESOLUTION)
    12  `define VDD (5.0)
    13 
    14  module sigma_delta_adc(
    15      input clk_i ,
    16      input `ANALOG analog_i ,
    17      output reg digital_o 
    18  ) ;
    19 
    20      real real_in , integ_in , integral = `VDD/2.0 ,feedback = 0.0 ;
    21 
    22      always@ * begin // converting `ANALOG to real
    23          real_in = $bitstoreal( analog_i) ;
    24      end
    25     
    26      always@ * begin // summing
    27          integ_in = real_in - feedback ;
    28      end // always
    29 
    30      always begin // integral
    31          # `RESOLUTION
    32          integral = integral + `RELATIVE_GAIN2 * (integ_in-integral+2.5) ;
    33      end
    34 
    35      always@( posedge clk_i) begin // comparater and delay
    36         if( integral >= (`VDD/2) ) begin
    37              feedback <= `VDD ;
    38              digital_o <= 1'b1 ;
    39          end
    40          else begin
    41              feedback <= 0.0 ;
    42              digital_o <= 1'b0 ;
    43          end
    44      end
    45  endmodule // sigma_delta_adc
 



コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://diesaliquanti.blog.fc2.com/tb.php/409-0cb8e098
この記事にトラックバックする(FC2ブログユーザー)

FC2Ad

まとめ

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。