社区导航

 

搜索
查看: 4362|回复: 11

[讨论] AD9266时序问题,求解释!!!!!!!!

[复制链接]

7

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2014-11-4 21:42 | 显示全部楼层 |阅读模式
ADA9266的时序图如下:C:\Users\Administrator\Desktop\YWZ_FQE%HGJ73(@6@JSY6%5BV.jpg

我的理解是:在DCO的上升沿采16位数据的奇数八位,在下降沿采16位数据的偶数八位,然后在下一个DCO的上升沿将数据拼接。但是按照上述方法采的数据不对,请问是不是我对时序图理解错了?求指教
此帖出自FPGA/CPLD论坛
YWZ_FQE%HGJ73(@6@JSY6[V.jpg


回复

使用道具 举报

6553

TA的帖子

8

TA的资源

版主

Rank: 6Rank: 6

发表于 2014-11-5 09:49 | 显示全部楼层
信息量不足

1、说明如何进行测试的
2、把你的预期结果和实际结果贴上来

点评

代码仿真结果和预期的一样~~[attachimg]177762[/attachimg],  详情 回复 发表于 2014-11-6 14:36
用如下代码采20K的正弦波,然后用chipscope 抓拼起来的数据,发现根本不是正弦波。。。。然后看学长的程序,他的是:上升沿采偶数位,下降沿采奇数位,然后在下降沿品数据,结果竟然可以采到正弦波~~这与DATASHEET不  详情 回复 发表于 2014-11-6 14:26
生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰


回复

使用道具 举报

7271

TA的帖子

19

TA的资源

版主

Rank: 6Rank: 6

发表于 2014-11-5 20:53 来自手机 | 显示全部楼层
我的理解和你一样


回复

使用道具 举报

7271

TA的帖子

19

TA的资源

版主

Rank: 6Rank: 6

发表于 2014-11-5 20:53 来自手机 | 显示全部楼层
我的理解和你一样

点评

别人的程序是在DCO的上升沿采偶数位,在下降沿采奇数位,结果竟然是对的,,但是感觉与DATASHEET不相符啊,·····难道理解错了  详情 回复 发表于 2014-11-6 14:29


回复

使用道具 举报

7

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2014-11-6 14:26 | 显示全部楼层
chenzhufly 发表于 2014-11-5 09:49
信息量不足

1、说明如何进行测试的

用如下代码采20K的正弦波,然后用chipscope 抓拼起来的数据,发现根本不是正弦波。。。。然后看学长的程序,他的是:上升沿采偶数位,下降沿采奇数位,然后在下降沿品数据,结果竟然可以采到正弦波~~这与DATASHEET不符啊~~求指点,谢谢module adc_9266( ////////////////adc////////////
     input sys_clk,
          input adc_dco,
          input [7:0] adc_in,
          input rest_n,
          
          output clk_p,
          output clk_n,
          output adc_dfs,
          output adc_csb,
          output[15:0] adc_data_out,
          output adc_pdwn
/////////////////////////////////
);

////////////////////////////////
        wire      clk_wire;
        wire      rest_wire_n;
        reg[0:0]  clk_reg_n = 0;
        reg[0:0]  clk_reg_p = 1;
        reg[7:0]  clk_num = 0;
        reg[7:0]  adc_data_o;  
        reg[7:0]  adc_data_m;
        reg[15:0] adc_data;
        reg[0:0]  flag_reflash = 0;
       

////////////////////////////////       
   assign clk_wire = sys_clk;
        assign adc_dfs  = 1'b1;
        assign adc_csb  = 1'b1;
        assign adc_pdwn = 1'b0;
        assign rest_wire_n = rest_n;
        assign clk_n = clk_reg_n;
   assign clk_p = clk_reg_p;       
        assign adc_data_out=  adc_data;
/////////////////////////////////
always@(posedge sys_clk or negedge rest_wire_n )
begin
   if(rest_wire_n == 0)
         begin  
                 clk_reg_p <= 0;
                 clk_reg_n <= 1;
         end
        else
         begin
            clk_num <= clk_num + 1;
                 if(clk_num == 5)
                 begin
                   clk_reg_p <= ~clk_reg_p;
                        clk_reg_n <=  clk_reg_p;
                        clk_num   <= 0;
            end   
    end
  end
  ////////////////////////////////////
always@(negedge adc_dco or negedge rest_wire_n)
begin
    if(!rest_wire_n)
           begin
                 adc_data_o <= 8'b0;
                 
                end
    else
          begin
            adc_data_o <= adc_in;
                 flag_reflash <= ~flag_reflash;
          end

end
always@(posedge adc_dco or negedge rest_wire_n)
begin
    if(!rest_wire_n)
           begin
                 adc_data_m <= 8'b0;
                end
    else
          begin
            adc_data_m <= adc_in;
          end

end
always@(posedge adc_dco or negedge rest_wire_n )
begin
if(!rest_wire_n)
           begin
                 adc_data <= 16'b0;
                end
    else
         begin
                 adc_data <= {adc_data_m[7],adc_data_o[7],adc_data_m[6],adc_data_o[6],adc_data_m[5],adc_data_o[5],
                             adc_data_m[4],adc_data_o[4],adc_data_m[3],adc_data_o[3],adc_data_m[2],adc_data_o[2],
                             adc_data_m[1],adc_data_o[1],adc_data_m[0],adc_data_o[0]};       
        end

end
//////////////////////////////////////         


       

endmodule






回复

使用道具 举报

7

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2014-11-6 14:29 | 显示全部楼层

别人的程序是在DCO的上升沿采偶数位,在下降沿采奇数位,结果竟然是对的,,但是感觉与DATASHEET不相符啊,·····难道理解错了


回复

使用道具 举报

7

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

 楼主| 发表于 2014-11-6 14:36 | 显示全部楼层
chenzhufly 发表于 2014-11-5 09:49
信息量不足

1、说明如何进行测试的

代码仿真file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\360893981\QQ\WinTemp\RichOle\71`XS8(62B5SSOY8P~Z{U4B.jpg结果和预期的一样~~ 71`XS8(62B5SSOY8P~Z{U4B.jpg

file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\360893981\QQ\WinTemp\RichOle\71`XS8(62B5SSOY8P~Z{U4B.jpg



回复

使用道具 举报

3

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2016-9-1 15:20 | 显示全部楼层
楼主 可以来一份程序吗   我现在在弄这个


回复

使用道具 举报

734

TA的帖子

1

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2016-11-29 10:54 来自手机 | 显示全部楼层
解决了吗?


回复

使用道具 举报

12

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2018-1-3 23:06 | 显示全部楼层

他们没有正确的理解采样时序图何图中一些参数标注,采样时序图没有错的。


回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2018-3-2 11:03 | 显示全部楼层
zk1991zy 发表于 2014-11-6 14:26
用如下代码采20K的正弦波,然后用chipscope 抓拼起来的数据,发现根本不是正弦波。。。。然后看学长的程 ...

请问这几个是做什么用的?  
      assign adc_dfs  = 1'b1;
        assign adc_csb  = 1'b1;
        assign adc_pdwn = 1'b0;


回复

使用道具 举报

2

TA的帖子

2

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2018-3-5 15:59 | 显示全部楼层
从手册看,你的理解是正确的,不过这个东西还和你的硬件有关,有没有保证硬件上时钟与数据等长?有没有保证FPGA引脚时序约束,如果上升沿采偶数位,在下降沿采奇数位能对?会不会只是在某些电路板能对?


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/6 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-6-1 08:13 , Processed in 0.383787 second(s), 34 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表