在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA上可以用一個(gè)比較器實(shí)現(xiàn)ADC的功能?2

jf_78858299 ? 來(lái)源:硬禾學(xué)堂 ? 作者:蘇老師 ? 2023-04-25 11:19 ? 次閱讀

數(shù)字低通濾波器模塊,做平滑濾波

//*********************************************************************
//
//  'Box' Average 
//
//  Standard Mean Average Calculation
//   Can be modeled as FIR Low-Pass Filter where 
//   all coefficients are equal to '1'.
//
//*********************************************************************


module box_ave (
  clk,
  rstn,
  sample,
  raw_data_in,
  ave_data_out,
    data_out_valid);


parameter 
ADC_WIDTH = 8,        // ADC Convertor Bit Precision
LPF_DEPTH_BITS = 4;         // 2^LPF_DEPTH_BITS is decimation rate of averager


//input ports
input  clk;                                // sample rate clock
input  rstn;                              // async reset, asserted low
input  sample;                        // raw_data_in is good on rising edge, 
input  [ADC_WIDTH-1:0]  raw_data_in;    // raw_data input


//output ports
output [ADC_WIDTH-1:0]  ave_data_out;    // ave data output
output data_out_valid;                      // ave_data_out is valid, single pulse


reg [ADC_WIDTH-1:0]  ave_data_out;    
//**********************************************************************
//
//  Internal Wire & Reg Signals
//
//**********************************************************************
reg [ADC_WIDTH+LPF_DEPTH_BITS-1:0]      accum;          // accumulator
reg [LPF_DEPTH_BITS-1:0]                count;          // decimation count
reg [ADC_WIDTH-1:0]            raw_data_d1;    // pipeline register


reg sample_d1, sample_d2;                               // pipeline registers
reg result_valid;                                       // accumulator result 'valid'
wire accumulate;                                        // sample rising edge detected
wire latch_result;                                      // latch accumulator result


//***********************************************************************
//
//  Rising Edge Detection and data alignment pipelines
//
//***********************************************************************
always @(posedge clk or negedge rstn)
begin
  if( ~rstn ) begin
    sample_d1 <= 0;  
    sample_d2 <= 0;
        raw_data_d1 <= 0;
    result_valid <= 0;
  end else begin
    sample_d1 <= sample;                // capture 'sample' input
    sample_d2 <= sample_d1;             // delay for edge detection
    raw_data_d1 <= raw_data_in;       // pipeline 
    result_valid <= latch_result;    // pipeline for alignment with result
  end
end


assign    accumulate = sample_d1 && !sample_d2;      // 'sample' rising_edge detect
assign    latch_result = accumulate && (count == 0);  // latch accum. per decimation count


//***********************************************************************
//
//  Accumulator Depth counter
//
//***********************************************************************
always @(posedge clk or negedge rstn)
begin
  if( ~rstn ) begin
    count <= 0;    
  end else begin
      if (accumulate)  count <= count + 1;         // incr. count per each sample
  end
end




//***********************************************************************
//
//  Accumulator
//
//***********************************************************************
always @(posedge clk or negedge rstn)
begin
  if( ~rstn ) begin
    accum <= 0;  
  end else begin
        if (accumulate)
            if(count == 0)                      // reset accumulator
            accum <= raw_data_d1;           // prime with first value
            else
                accum <= accum + raw_data_d1;   // accumulate
  end  
end

//***********************************************************************
//
//  Latch Result
//
//  ave = (summation of 'n' samples)/'n'  is right shift when 'n' is power of two
//
//***********************************************************************
always @(posedge clk or negedge rstn)
begin
  if( ~rstn ) begin
        ave_data_out <= 0;
    end else if (latch_result) begin            // at end of decimation period...
        ave_data_out <= accum >> LPF_DEPTH_BITS;    // ... save accumulator/n result
    end
end


assign data_out_valid = result_valid;       // output assignment


endmodule

FPGA的小朋友不妨可以試一下,只需要搭配一顆比較器、一個(gè)電阻R、一個(gè)電容C,只需要FPGA的兩根管腳,你就可以擁有ADC的功能了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1629

    文章

    21748

    瀏覽量

    603954
  • 芯片
    +關(guān)注

    關(guān)注

    456

    文章

    50889

    瀏覽量

    424302
  • adc
    adc
    +關(guān)注

    關(guān)注

    98

    文章

    6505

    瀏覽量

    544904
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    fpga開(kāi)發(fā)板使用教程之在K7Ibert實(shí)現(xiàn)基本的GTX測(cè)試

    測(cè)試,而且基本可以達(dá)到不用敲代碼就可以完成測(cè)試的目的。 下面按步驟,實(shí)現(xiàn)。重點(diǎn)的地方我
    發(fā)表于 12-31 15:36 ?7886次閱讀

    ADC實(shí)現(xiàn)個(gè)IO掛多個(gè)按鍵

    有時(shí)候做設(shè)計(jì)時(shí),我們會(huì)遇到外部按鍵比較多,IO口不夠用的情況。這時(shí)大部分人會(huì)考慮通過(guò)其它芯片擴(kuò)展IO,或者直接換一個(gè)IO口足夠的MCU。其實(shí),還有個(gè)方法可以
    發(fā)表于 09-01 13:25 ?2996次閱讀

    如何用STM32F407實(shí)現(xiàn)個(gè)可編程的模擬比較功能

    STM32F407沒(méi)有獨(dú)立的模擬比較端口,如何能實(shí)現(xiàn)個(gè)可編程的模擬比較
    發(fā)表于 11-28 14:00

    STM32F303VCT6比較只有三個(gè)可以用

    STM32F303VCT6共有7個(gè)比較,為何只有COMP1、COMP2、COMP7這三個(gè)可以用
    發(fā)表于 02-13 07:13

    基于Ginkgo 2ADC實(shí)現(xiàn)虛擬示波器功能

    模塊,調(diào)用ADC_Init()函數(shù)即可,詳細(xì)調(diào)用方法請(qǐng)參考程序源碼。2、開(kāi)個(gè)定時(shí)實(shí)現(xiàn)定時(shí)讀取
    發(fā)表于 02-21 11:38

    怎么利用FPGA和CPLD數(shù)字邏輯實(shí)現(xiàn)ADC

    數(shù)字系統(tǒng)的設(shè)計(jì)人員擅長(zhǎng)在其印制電路板FPGA和CPLD將各種處理、存儲(chǔ)和標(biāo)準(zhǔn)的功能元件粘
    發(fā)表于 08-19 06:15

    如何利用FPGA實(shí)現(xiàn)高頻率ADC

    數(shù)字系統(tǒng)的設(shè)計(jì)人員擅長(zhǎng)在其印制電路板FPGA和CPLD將各種處理、存儲(chǔ)和標(biāo)準(zhǔn)的功能元件粘
    發(fā)表于 09-19 06:18

    可以用FPGA做些什么

    我剛買了新的NEXYS4 DDR板,我已經(jīng)安裝并使用了Vivado套件。我的問(wèn)題是我可以用FPGA做些什么?我是名計(jì)算機(jī)/電氣學(xué)生,我之所以采用這種邏輯與實(shí)驗(yàn)課是因?yàn)槲乙呀?jīng)參加了我學(xué)校提供的常規(guī)
    發(fā)表于 05-05 07:28

    可以用STM32實(shí)現(xiàn)什么?為什么使用STM32而不是8051

    你問(wèn),如何系統(tǒng)地入門學(xué)習(xí)STM32?本身就是個(gè)錯(cuò)誤的問(wèn)題。假如你會(huì)使用8051 , 會(huì)寫C語(yǔ)言,那么STM32本身并不需要刻意的學(xué)習(xí)。你要考慮的是, 我可以用STM32實(shí)現(xiàn)
    發(fā)表于 02-25 06:43

    matlab來(lái)實(shí)現(xiàn)fpga功能的設(shè)計(jì)

    matlab來(lái)實(shí)現(xiàn)fpga功能的設(shè)計(jì) 摘要:System Generator for DSP是Xilinx公司開(kāi)發(fā)的基于Matlab的DSP開(kāi)發(fā)工具?熗?時(shí)也是
    發(fā)表于 01-16 18:10 ?1.1w次閱讀
    <b class='flag-5'>用</b>matlab來(lái)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>fpga</b><b class='flag-5'>功能</b>的設(shè)計(jì)

    基于FPGA和CPLD數(shù)字邏輯實(shí)現(xiàn)ADC技術(shù)

    基于FPGA和CPLD數(shù)字邏輯實(shí)現(xiàn)ADC技術(shù) 數(shù)字系統(tǒng)的設(shè)計(jì)人員擅長(zhǎng)在其印制電路板FPGA
    發(fā)表于 05-25 09:39 ?1454次閱讀
    基于<b class='flag-5'>FPGA</b>和CPLD數(shù)字邏輯<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>ADC</b>技術(shù)

    基于fpga和cpld低頻/最小邏輯ADC實(shí)現(xiàn)

    數(shù)字系統(tǒng)的設(shè)計(jì)人員擅長(zhǎng)在其印制電路板FPGA和CPLD將各種處理、存儲(chǔ)和標(biāo)準(zhǔn)的功能元件粘
    發(fā)表于 04-26 11:53 ?1389次閱讀
    基于<b class='flag-5'>fpga</b>和cpld低頻/最小邏輯<b class='flag-5'>ADC</b><b class='flag-5'>實(shí)現(xiàn)</b>

    編寫個(gè)可以用GRUB來(lái)引導(dǎo)的簡(jiǎn)單x86內(nèi)核

    我們將從零開(kāi)始,動(dòng)手編寫個(gè)可以用GRUB來(lái)引導(dǎo)的簡(jiǎn)單x86內(nèi)核,該內(nèi)核會(huì)在屏幕打印條信息,然后——掛起!
    的頭像 發(fā)表于 01-21 09:12 ?7650次閱讀

    如何制作個(gè)簡(jiǎn)易的Sigma Delta ADC

    本文為備戰(zhàn)電賽的案例之,涉及到的知識(shí)技能: FPGA的使用 ADC的原理及構(gòu)成 PWM的產(chǎn)生 比較的應(yīng)用 數(shù)字濾波
    的頭像 發(fā)表于 04-01 10:27 ?4458次閱讀
    如何制作<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>簡(jiǎn)易的Sigma Delta <b class='flag-5'>ADC</b>?

    FPGA可以用個(gè)比較實(shí)現(xiàn)ADC功能?1

    多數(shù)FPGA芯片沒(méi)有ADC功能,而些應(yīng)用則需要用到ADC對(duì)
    的頭像 發(fā)表于 04-25 11:18 ?4198次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>上</b><b class='flag-5'>可以用</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>比較</b><b class='flag-5'>器</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>ADC</b>的<b class='flag-5'>功能</b>?1
    主站蜘蛛池模板: 三级四级特黄在线观看| 国产人成精品香港三级古代| 性大特级毛片视频| 一级做a爱片特黄在线观看| 一级毛片一级毛片一级毛片aa| 亚洲第一区二区快射影院| 亚洲国产精品婷婷久久久久| 天堂在线视频精品| 日本最顶级丰满的aⅴ艳星| 欧美精品四虎在线观看| 久久99久久精品免费思思6| 国产一级特黄aa大片在线| avtt国产| 日本黄视频在线播放| 91极品女神嫩模在线播放| 亚洲情欲网| 亚洲天堂爱爱| 日韩毛片高清在线看| 久草视频在线免费看| 中文天堂资源在线www| 免费一级特黄特色大片在线观看看| 波多野结衣久久国产精品| 一区二区三区视频| 亚洲一区二区电影| 人人看人人添人人爽| 国产免费一级高清淫曰本片| 天天拍夜夜添久久精品免费 | 四虎永久在线日韩精品观看| 日本免费黄色网| 国产欧美久久久精品影院| 天堂在线最新版资源www| 国产成人永久在线播放| 视频一区二区三区在线观看| 五月六月激情| 久久人人做人人玩人精品| 性试验k8经典| 色播影院性播免费看| 一级特黄性色生活片一区二区| 日本二区免费一片黄2019| 丁香六月婷婷七月激情| 免费一级毛片清高播放|