当前位置: 首页 > news >正文

做网站卖狗挣钱吗镇江seo

做网站卖狗挣钱吗,镇江seo,wordpress 直接连接数据库,网站维护与建设ppt1. 今日摸鱼计划 今天来学习一下ADC的原理,然后把ADC给实现 ADC芯片:ADC128S102 视频: 18A_基于SPI接口的ADC芯片功能和接口时序介绍_哔哩哔哩_bilibili 18B_使用线性序列机思路分析SPI接口的ADC芯片接口时序_哔哩哔哩_bilibili 18C_基于线性序列机的S…

1.  今日摸鱼计划

今天来学习一下ADC的原理,然后把ADC给实现

ADC芯片:ADC128S102

视频:

18A_基于SPI接口的ADC芯片功能和接口时序介绍_哔哩哔哩_bilibili

18B_使用线性序列机思路分析SPI接口的ADC芯片接口时序_哔哩哔哩_bilibili

18C_基于线性序列机的SPI接口ADC控制逻辑设计_哔哩哔哩_bilibili

2. ADC指标参数

3. ADC128S102

        在 ACZ702 EDA 扩展板上使用的模数转换器为逐次逼近型的低功耗芯片ADC128S102,其具有 8 通道以及 12 位的分辨率。电源采用独立的模拟供电以及数字供电,其中模拟电源 VA输入范围为 2.7V~5.25V,数字电源 VD输入范围为 2.7V~VA。其与外部通信支持多种接口如:SPIQSPIMICROWIRE以及通用的 DSP 接口。转换速度在 500 kps~1 Mkps,典型情况下当 3V 供电时功耗为2.3mW5V 供电时为 10.7mW,如下图为该 ADC 芯片的内部结构图。

芯片引脚功能如下:

ADC128S102通过 SPI接口与控制器进行通信的时序图如下图所示:

四线SPI分析:

CS

片选信号(本摸鱼怪不会加横线)

CS拉低,表示通信的开始,CS拉高表示通信结束

SCLK
CS 为高时 SCLK 默认高
一帧包含 16 个上升沿 SCLK
DIN

SCLK的上升沿,DIN上的信号要保持稳定,此时ADC芯片会对DIN上的信号采样

DOUT
CS 为高时代表空闲状态,当为低时为传输状态

4.  线性序列机实现ADC

module adc128s102(
                input Clk,
                input Reset_n ,
                
                input Conv_Go,//使能信号
                input [2:0]Addr,
                
                output reg Conv_Done,
                output reg[11:0]Data,
                
                output reg ADC_SCLK,
                output reg ADC_CS_N,
                output reg ADC_DIN,
                input ADC_DOUT
            );

    
    
    parameter CLOCK_FREQ = 50_000_000;
    parameter SCLK_FREQ = 12_500_000;
    parameter MCNT_DIV_CNT = CLOCK_FREQ/(SCLK_FREQ * 2) - 1;

    reg[7:0]DIV_CNT;
    
    reg [5:0]LSM_CNT;

    reg [11:0]Data_r;
    
    reg [2:0]r_Addr;
    
    always@(posedge Clk)
    if(Conv_Go)    
        r_Addr <= Addr;
    else
        r_Addr <= r_Addr;
    
    reg Conv_En; //转换使能
    
    always@(posedge Clk or negedge Reset_n )
    if(!Reset_n )
        Conv_En <= 1'd0;
    else if(Conv_Go)
        Conv_En <= 1'd1;
    else if((LSM_CNT == 6'd34) && (DIV_CNT == MCNT_DIV_CNT))
        Conv_En <= 1'd0;
    else
        Conv_En <= Conv_En;
    
    always@(posedge Clk or negedge Reset_n)
    if(!Reset_n)
        DIV_CNT <= 0;
    else if(Conv_En)begin
        if(DIV_CNT == MCNT_DIV_CNT)
            DIV_CNT <= 0;
        else    
            DIV_CNT <= DIV_CNT + 1'd1;
    end
    else
        DIV_CNT <= 0;

    always@(posedge Clk or negedge Reset_n)
    if(!Reset_n)
        LSM_CNT <= 6'd0;
    else if(DIV_CNT == MCNT_DIV_CNT)begin
        if(LSM_CNT == 6'd34)
            LSM_CNT <= 6'd0;
        else
            LSM_CNT <= LSM_CNT + 1'd1; 
    end
    else
        LSM_CNT <= LSM_CNT;


    always@(posedge Clk or negedge Reset_n )
    if(!Reset_n )begin
        Data_r <= 12'd0;
        ADC_SCLK <= 1'd1;
        ADC_DIN <= 1'd1;
        ADC_CS_N <= 1'd1;
    end
    else if(DIV_CNT == MCNT_DIV_CNT)begin
        case(LSM_CNT)
            0 : begin ADC_CS_N <= 1'd1; ADC_SCLK <= 1'd1;end
            1 : begin ADC_CS_N <= 1'd0;end
            2 : begin ADC_SCLK <= 1'd0;end
            3 : begin ADC_SCLK <= 1'd1;end
            4 : begin ADC_SCLK <= 1'd0;end
            5 : begin ADC_SCLK <= 1'd1;end    
            6 : begin ADC_SCLK <= 1'd0;ADC_DIN <= r_Addr[2]; end
            7 : begin ADC_SCLK <= 1'd1;end    
            8 : begin ADC_SCLK <= 1'd0;ADC_DIN <= r_Addr[1]; end
            9 : begin ADC_SCLK <= 1'd1;end    
            10 :begin ADC_SCLK <= 1'd0;ADC_DIN <= r_Addr[0]; end
            11: begin ADC_SCLK <= 1'd1;Data_r[11] <= ADC_DOUT; end
            12: begin ADC_SCLK <= 1'd0;end
            13: begin ADC_SCLK <= 1'd1;Data_r[10] <= ADC_DOUT; end
            14: begin ADC_SCLK <= 1'd0;end    
            15: begin ADC_SCLK <= 1'd1;Data_r[9] <= ADC_DOUT; end
            16: begin ADC_SCLK <= 1'd0;end
            17: begin ADC_SCLK <= 1'd1;Data_r[8] <= ADC_DOUT; end
            18: begin ADC_SCLK <= 1'd0;end    
            19: begin ADC_SCLK <= 1'd1;Data_r[7] <= ADC_DOUT; end
            20: begin ADC_SCLK <= 1'd0;end
            21: begin ADC_SCLK <= 1'd1;Data_r[6] <= ADC_DOUT; end
            22: begin ADC_SCLK <= 1'd0;end    
            23: begin ADC_SCLK <= 1'd1;Data_r[5] <= ADC_DOUT; end
            24: begin ADC_SCLK <= 1'd0;end
            25: begin ADC_SCLK <= 1'd1;Data_r[4] <= ADC_DOUT; end
            26: begin ADC_SCLK <= 1'd0;end    
            27: begin ADC_SCLK <= 1'd1;Data_r[3] <= ADC_DOUT; end
            28: begin ADC_SCLK <= 1'd0;end
            29: begin ADC_SCLK <= 1'd1;Data_r[2] <= ADC_DOUT; end
            30: begin ADC_SCLK <= 1'd0;end    
            31: begin ADC_SCLK <= 1'd1;Data_r[1] <= ADC_DOUT; end
            32: begin ADC_SCLK <= 1'd0;end
            33: begin ADC_SCLK <= 1'd1;Data_r[0] <= ADC_DOUT; end
            34: begin ADC_SCLK <= 1'd1;ADC_CS_N <= 1'd1; end
            default: ADC_CS_N <= 1'd1; 
        endcase
    end

    always@(posedge Clk or negedge Reset_n )
    if(!Reset_n )begin
        Data <= 12'd0;
        Conv_Done <= 0;
    end
    else if((LSM_CNT == 34) && (DIV_CNT == MCNT_DIV_CNT))begin
        Conv_Done <= 1'd1;
        Data <= Data_r;
    end
    else begin
        Conv_Done <= 1'd0;
        Data <= Data;
    end

endmodule

5.  adc128s102_tb

`timescale 1ns/1ns

module adc128s102_tb;

    reg clk;
    reg reset_n;
    
    reg Conv_Go;
    reg [2:0]Addr;
    
    wire Conv_Done;
    wire[11:0]Data;
    
    wire ADC_SCLK;
    wire ADC_CS_N;
    wire ADC_DIN;
    reg ADC_DOUT;

    adc128s102 adc128s102(
        .Clk(clk),
        .Reset_n(reset_n),
        .Conv_Go(Conv_Go),
        .Addr(Addr),

        .Conv_Done(Conv_Done),
        .Data(Data),
        .ADC_SCLK(ADC_SCLK),
        .ADC_CS_N(ADC_CS_N),
        .ADC_DIN(ADC_DIN),
        .ADC_DOUT(ADC_DOUT)
    );
    
    initial clk = 1;
    always #10 clk = ~clk;
    
    initial begin
        reset_n = 0;
        Conv_Go = 0;
        Addr = 0;
        #201;
        reset_n = 1;
        #200;
        Conv_Go = 1;
        Addr = 3;
        #20;
        Conv_Go  = 0;
        wait(!ADC_CS_N);
        //16'h0A58
        @(negedge ADC_SCLK);
        ADC_DOUT = 0; //DB15 
        @(negedge ADC_SCLK);
        ADC_DOUT = 0; //DB14 
        @(negedge ADC_SCLK);
        ADC_DOUT = 0; //DB13        
        @(negedge ADC_SCLK);
        ADC_DOUT = 0; //DB12        
        @(negedge ADC_SCLK);
        ADC_DOUT = 1; //DB11          
        @(negedge ADC_SCLK);
        ADC_DOUT = 0; //DB10         
        @(negedge ADC_SCLK);
        ADC_DOUT = 1; //DB9         
        @(negedge ADC_SCLK);
        ADC_DOUT = 0; //DB8         
        @(negedge ADC_SCLK);
        ADC_DOUT = 0; //DB7         
        @(negedge ADC_SCLK);
        ADC_DOUT = 1; //DB6         
        @(negedge ADC_SCLK);
        ADC_DOUT = 0; //DB5         
        @(negedge ADC_SCLK);
        ADC_DOUT = 1; //DB4        
        @(negedge ADC_SCLK);
        ADC_DOUT = 1; //DB3         
        @(negedge ADC_SCLK);
        ADC_DOUT = 0; //DB2        
        @(negedge ADC_SCLK);
        ADC_DOUT = 0; //DB1         
        @(negedge ADC_SCLK);
        ADC_DOUT = 0; //DB0      
        wait(ADC_CS_N);
        #2000;   
             
        Conv_Go = 1;
        Addr = 7;
        #20;
        Conv_Go  = 0;        
        wait(!ADC_CS_N);
        //16'h0893
        @(negedge ADC_SCLK);
        ADC_DOUT = 0;
        @(negedge ADC_SCLK);
        ADC_DOUT = 0;
        @(negedge ADC_SCLK);
        ADC_DOUT = 0;        
        @(negedge ADC_SCLK);
        ADC_DOUT = 0;        
        @(negedge ADC_SCLK);
        ADC_DOUT = 1;          
        @(negedge ADC_SCLK);
        ADC_DOUT = 0;         
        @(negedge ADC_SCLK);
        ADC_DOUT = 0;         
        @(negedge ADC_SCLK);
        ADC_DOUT = 0;         
        @(negedge ADC_SCLK);
        ADC_DOUT = 1;         
        @(negedge ADC_SCLK);
        ADC_DOUT = 0;         
        @(negedge ADC_SCLK);
        ADC_DOUT = 0;         
        @(negedge ADC_SCLK);
        ADC_DOUT = 1;         
        @(negedge ADC_SCLK);
        ADC_DOUT = 0;         
        @(negedge ADC_SCLK);
        ADC_DOUT = 0;         
        @(negedge ADC_SCLK);
        ADC_DOUT = 1;         
        @(negedge ADC_SCLK);
        ADC_DOUT = 1;       
        wait(ADC_CS_N);
        #200;    
        #2000;
        $stop;
    end
endmodule


文章转载自:
http://www.morning.xrsqb.cn.gov.cn.xrsqb.cn
http://www.morning.gqfbh.cn.gov.cn.gqfbh.cn
http://www.morning.lzbut.cn.gov.cn.lzbut.cn
http://www.morning.rjznm.cn.gov.cn.rjznm.cn
http://www.morning.yysqz.cn.gov.cn.yysqz.cn
http://www.morning.hryhq.cn.gov.cn.hryhq.cn
http://www.morning.fhrt.cn.gov.cn.fhrt.cn
http://www.morning.pctql.cn.gov.cn.pctql.cn
http://www.morning.dbfj.cn.gov.cn.dbfj.cn
http://www.morning.dfffm.cn.gov.cn.dfffm.cn
http://www.morning.mxlmn.cn.gov.cn.mxlmn.cn
http://www.morning.nqbcj.cn.gov.cn.nqbcj.cn
http://www.morning.dljujia.com.gov.cn.dljujia.com
http://www.morning.jqrp.cn.gov.cn.jqrp.cn
http://www.morning.gyfhk.cn.gov.cn.gyfhk.cn
http://www.morning.bkylg.cn.gov.cn.bkylg.cn
http://www.morning.ndyrb.com.gov.cn.ndyrb.com
http://www.morning.gqksd.cn.gov.cn.gqksd.cn
http://www.morning.hqgkx.cn.gov.cn.hqgkx.cn
http://www.morning.ymrq.cn.gov.cn.ymrq.cn
http://www.morning.mtrz.cn.gov.cn.mtrz.cn
http://www.morning.rxkq.cn.gov.cn.rxkq.cn
http://www.morning.mxxsq.cn.gov.cn.mxxsq.cn
http://www.morning.daxifa.com.gov.cn.daxifa.com
http://www.morning.fkfyn.cn.gov.cn.fkfyn.cn
http://www.morning.krswn.cn.gov.cn.krswn.cn
http://www.morning.xnnpy.cn.gov.cn.xnnpy.cn
http://www.morning.eviap.com.gov.cn.eviap.com
http://www.morning.lmnbp.cn.gov.cn.lmnbp.cn
http://www.morning.kkhf.cn.gov.cn.kkhf.cn
http://www.morning.hkgcx.cn.gov.cn.hkgcx.cn
http://www.morning.qgkcs.cn.gov.cn.qgkcs.cn
http://www.morning.lnbcg.cn.gov.cn.lnbcg.cn
http://www.morning.jjxnp.cn.gov.cn.jjxnp.cn
http://www.morning.mrckk.cn.gov.cn.mrckk.cn
http://www.morning.iknty.cn.gov.cn.iknty.cn
http://www.morning.qpsft.cn.gov.cn.qpsft.cn
http://www.morning.qbdsx.cn.gov.cn.qbdsx.cn
http://www.morning.pkpqh.cn.gov.cn.pkpqh.cn
http://www.morning.qfwzm.cn.gov.cn.qfwzm.cn
http://www.morning.wpmqq.cn.gov.cn.wpmqq.cn
http://www.morning.gyrdn.cn.gov.cn.gyrdn.cn
http://www.morning.lmqfq.cn.gov.cn.lmqfq.cn
http://www.morning.lxhrq.cn.gov.cn.lxhrq.cn
http://www.morning.mcmpq.cn.gov.cn.mcmpq.cn
http://www.morning.wtcyz.cn.gov.cn.wtcyz.cn
http://www.morning.npmx.cn.gov.cn.npmx.cn
http://www.morning.zwndt.cn.gov.cn.zwndt.cn
http://www.morning.rnzwh.cn.gov.cn.rnzwh.cn
http://www.morning.xxzjb.cn.gov.cn.xxzjb.cn
http://www.morning.lfdrq.cn.gov.cn.lfdrq.cn
http://www.morning.wlddq.cn.gov.cn.wlddq.cn
http://www.morning.lqynj.cn.gov.cn.lqynj.cn
http://www.morning.wcqxj.cn.gov.cn.wcqxj.cn
http://www.morning.mjbnp.cn.gov.cn.mjbnp.cn
http://www.morning.rtsd.cn.gov.cn.rtsd.cn
http://www.morning.yxgqr.cn.gov.cn.yxgqr.cn
http://www.morning.glswq.cn.gov.cn.glswq.cn
http://www.morning.smnxr.cn.gov.cn.smnxr.cn
http://www.morning.kttbx.cn.gov.cn.kttbx.cn
http://www.morning.mxnrl.cn.gov.cn.mxnrl.cn
http://www.morning.ymqrc.cn.gov.cn.ymqrc.cn
http://www.morning.wxckm.cn.gov.cn.wxckm.cn
http://www.morning.symgk.cn.gov.cn.symgk.cn
http://www.morning.yfmwg.cn.gov.cn.yfmwg.cn
http://www.morning.crxdn.cn.gov.cn.crxdn.cn
http://www.morning.skrww.cn.gov.cn.skrww.cn
http://www.morning.sjsfw.cn.gov.cn.sjsfw.cn
http://www.morning.dnmzl.cn.gov.cn.dnmzl.cn
http://www.morning.lxlzm.cn.gov.cn.lxlzm.cn
http://www.morning.cjxqx.cn.gov.cn.cjxqx.cn
http://www.morning.gjsjt.cn.gov.cn.gjsjt.cn
http://www.morning.grnhb.cn.gov.cn.grnhb.cn
http://www.morning.thbqp.cn.gov.cn.thbqp.cn
http://www.morning.qtsks.cn.gov.cn.qtsks.cn
http://www.morning.qbtkg.cn.gov.cn.qbtkg.cn
http://www.morning.rcbdn.cn.gov.cn.rcbdn.cn
http://www.morning.pkggl.cn.gov.cn.pkggl.cn
http://www.morning.xptkl.cn.gov.cn.xptkl.cn
http://www.morning.txqsm.cn.gov.cn.txqsm.cn
http://www.tj-hxxt.cn/news/13104.html

相关文章:

  • 网页设计实训总结2000字网络优化工程师简历
  • 大连建设工程交易中心东莞seo建站
  • 深圳建设网站制作公司全文搜索引擎有哪些
  • 杨和网站设计百度风云榜各年度小说排行榜
  • 如何使用好单库选品库做网站windows优化大师是病毒吗
  • 网站列表设计互动营销公司
  • 网站的策划方案怎么写百度竞价托管代运营公司
  • 学php到做网站要多久广告投放平台系统
  • 网站建设销售员话术网络营销外包公司
  • 不会代码怎么做网站口碑营销成功案例简短
  • 网站建设推广怎样找客户百度搜索优化平台
  • 南宁做网站建设yandex引擎搜索入口
  • 网站底部友情链接代码市场营销证书含金量
  • 做外汇需要了解的网站广州关键词优化外包
  • 重庆南昌网站建设google搜索
  • 滨江网站开发快速提升网站排名
  • 垂直电商网站开发seo网站分析报告
  • 网站开发网页加载缓慢查询数据库慢友情链接检索
  • 网站的作用有哪些头条站长平台
  • 做那种网站1个百度指数代表多少搜索
  • 常见的域名注册网站小程序推广
  • h5网站建设文章海口做网站的公司
  • asp网站建设 iis配置百度推广登陆平台
  • 关于做批发网站优化网站排名推广
  • 鞍山网站设计免费域名注册网站
  • 乌鲁木齐做网站多少钱seo网站优化培训找哪些
  • 咸阳b2c网站制作价格交易链接
  • 重庆网站设计费用磁力狗在线引擎
  • 企业网站首页排版分析b站推广在哪里
  • 长沙网站seo收费标准东莞seo顾问