FPGA XC7K410T 的AD采样率

FPGA XC7K410T 的AD采样率,第1张

FPGA XC7K410T现成的AD芯片,我们并不能改变它的采样速率。

AD的作用是采集模拟信号,如果,信号的20Mhz,根据奈奎斯特定理,那么采样的频率至少为40Mhz,也就是两倍的速率采样,在实际的应用中我们可能会涉及到超采样,那么采集20Mhz的信号,需要AD的采样频率就要更高了。如果我们只有一种型号为100Mhz的AD芯片,还想以200Mhz的频率采样怎么办呢?

可以采用两个相同的100Mhz的AD芯片同时对这一路20Mhz的信号进行采集,只要是交错采集就可以达到200Mhz的采样速率了。注意一定是交错采集,如何将两路的数据进行融合就可以了。

使用FPGA时,要产生需要的特定频率是一件非常简单的事情。一种方法是自己设计对输入的时钟进行倍频和分频。另一种非常简单的方法,使用FPGA自带的PLL,如果运用MegaFunction图形化的设计方法定制PLL模块,仅需几步即可完成。

打开MegaWizard Plug-In Manager,在Installed Plug-Ins下,展开I/O,找到ALTPLL模块。如果没有选择器件,可以在窗口右边最上选择器件。选择要生成模块的程序语言,输入要生成的模块文件的路径和名字。

第二步进入到类似web的设定参数窗口,可以点击各个步骤的链接跳到相应步骤去。右上角的About可以看到这个ALTPLL模块的相关信息,Documentation里有模块用户指南、设计参考等参考文档,还可以生成样例波形作为参考。

1、General/Modes。在General栏里设定器件,速度等级,输入频率,还可以将PLL设置在LVDS模式下(需要器件支持)。在PLL type中设置PLL类型(影响补偿模式)。

2、(Scan/Lock)设置PLL控制信号。

3 、Simulation Library选择模拟时使用的库。

4、 Summary可以看到将要生成的文件。

MegaFunction的ALTPLL模块实际是使用代码,通过调用altera_mf库中的PLL模块实现PLL的。打开生成的vhd文件可以看到调用情况。

reg [25:0] cnt; //cnt为计数寄存器always @(posedge clk or negedge rst_n) //这里的clk为50M时钟输入if(!rst_n) cnt<=26'd0即可。

一、计数分频和dcm分频都可以实现,dcm是专门的数字时钟管理,它所实现的分频时钟更准确,与时钟源和其他的分频分钟有着严格的相位关系,时钟抖动等特性要好;计数分频则必然与原时钟有一定的相位偏移,尽量不要用计数分频的信号去做时钟触发,一般都会报warning。

二、计数count小于10000000时为低,大于10000000小于20000000时为高,计数等于20000000时清零重新开始,循环,这就把25M分成1Hz了。

三、module div(clk,o_clk);input clk;output o_clk;reg[31:0] count;always@(posedge clk)  begin if(count==20000000) count<=0;else count<=count+1; endassign o_clk=(count<10000000)0:1;endmodule。

给你一个思路吧:

AD转换

后采出来的数据设定一个门限,比如Vpp=0-5V的正弦波,可以设置为2-3V(具体数字根据AD器件决定)然后记录每秒钟数据从2V到3V的次数,即可计算频率。

是这样的。 FPGA设计中,有一项专门的设计,叫 “约束”, 尽快掌握这个,才能设计好FPGA程序。

可以参考这个 >

以上就是关于FPGA XC7K410T 的AD采样率全部的内容,包括:FPGA XC7K410T 的AD采样率、用liberoSoc开发FPGA,想倍频时序,如何调用这个软件的pll模块、如何在fpga上实现将25M晶振频率分频为1HZ的信号等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/10101993.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存