对于初学者来说,signal tap的使用方法网上已有许多介绍这里就不再具体细述具体可参考:网上《使用SignalTap II逻辑分析仪调试FPGA》。这里主要讨论如何在一次采样中完整的显示一个周期的数据。
本分析以用DAC0832产生锯齿波为例。我所设计产生的锯齿波的周期为50MHz/8=6.25MHz,系统时钟为50MHz。
采样时钟采用系统时钟(采样时钟决定了显示信号波形的分辨率,它的频率要大于被测信号的最高频率,否则无法正确反映被测信号波形的变化。Signal Tap II在时钟上升沿将被测信号存储到缓存)。它决定了显示框中每一小格的时间长度(比如采样时钟为50MHz,那么每一小格就是0.02us)。
采样深度设置为2K,即整个采样所包含的的采样次数,也就是每次显示框中所能显示的最多的点数,此处为2048个,这样整个signal Tap II窗口所能显示的被测信号波形的时间长度为Tx,计算公式如下:Tx=N×Ts=2048*0.02us=40.96us,N为缓存中存储的采样点数,Ts为采样时钟的周期。设置如下所示:
如果想要显示一个完整的锯齿波,即signal tapⅡ能显示的时间长度至少要为一个锯齿波周期,它的决定条件则有以下三方面:采样频率(即一个周期锯齿波中需要含有多少个数据),采样深度,和能显示的时间长度。这样的话假设锯齿波周期为20.48us,一个周期中有2**7=128个数据,采样时钟选择50MHz的话,那么采样深度至少要为1K,(depth=20.48us /50MHz =1024=1K),在本例中我所设计的采样深度为2K那么整个窗口就可以显示两个周期,如下图所示:
总之:若想保证整个窗口能显示至少一个完整的周期,必须要使窗口所能显示的时间长度大于波形的周期,依据这个原则就可以自由调整采样时钟和采样深度了。
1053683568_507245520 2013-11-30 16:15