在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3061|回复: 9

[求助] AD与FPGA级联相关时序处理问题

[复制链接]
发表于 2015-1-29 21:29:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
考虑到实际AD芯片和FPGA存在工作时钟误差(即使误差很小,同样会累积出错),所以假设
AD输出数据频率 ≈ FPGA工作时钟频率/N (例如AD输出 = 2.05KHZ,FPGA_FREQ = 32.00KHZ);通常处理残差有些什么方式,可以使FPGA用(4 or 8 or 16 or 32)KHZ的频率连续无误地采2.05K的AD信号?


自己的一些思考:1.使用FIFO? 不过连续工作,即使微小频差累积,也会导致FIFO堆满 或者FIFO取空
2.双端口RAM,应该效果和FIFO一样,会超出RAM设定大小范围,或者RAM被取空
3.用高倍的时钟打两拍采2.05K的AD数据(防止亚稳态,打两拍),前后两次采样数据不等,则把新数据缓存,这样应该能把2.05K的AD数据无误采样。 缺点:采样数据相同时,可能漏掉一次数据。


希望版上热心人提点下
发表于 2015-1-29 21:38:57 | 显示全部楼层
帮楼主顶一个
发表于 2015-1-29 21:46:36 | 显示全部楼层
回复 1# lcxi2727


  AD时钟同样输入FPGA中,用该时钟的倍频时钟来做主时钟处理,是不是就可以了呢?个人看法,不对之处请指正!
 楼主| 发表于 2015-1-29 21:57:30 | 显示全部楼层
回复 3# shirancq


   刚才看了下之前的帖子,也有讨论到同步的问题,一位金领ID提到源同步,把数据和时钟都送过去直接处理。同时提到该方法适合50M一下的工作时钟。 高速时使用差分信号,不是很清楚这种方法的原理。   如果使用系统同步的工作方式,对AD和FPGA使用同源CLK,是不是还需要AD和FPGA之间数据采样同步处理?
如果需要同步,应该使用什么策略
发表于 2015-1-30 07:00:46 | 显示全部楼层
个人建议如下2种方式:
1) 可考虑通过FPGA的高速时钟去采集判断ADC的时钟沿,这样可以把数据同步到高速时钟域;
2) 通过FIFO方式,慢速写,快速读。通过Empty标志来实现速度匹配。FIFO是可以直接调用IP的,支持异步时钟(Xilinx)
发表于 2015-1-30 10:07:28 | 显示全部楼层
速度慢,你采用的高频时钟FPGA的PLL就能实现,你就把数据时钟都同步过去,至于用AD时钟的上沿还是下沿看AD的输出,最好在数据稳定的地方。
发表于 2015-1-30 22:35:17 | 显示全部楼层
回复 4# lcxi2727


   很多设计都是使用源同步的方法来实现的,PCB硬件设计时就推荐使用这种方法,FPGA中涉及到高速AD时,需要在FPGA中对数据和时钟使用IODELAY进行同步
 楼主| 发表于 2015-1-31 10:11:33 | 显示全部楼层
回复 7# shirancq应该是正解;
昨天看到一个老帖里提到,晶振送入带DCM处理的FPGA后,一路锁相时钟信号由FPGA送AD。你提到的IODELAY,是否指同源后,FPGA还需要DCM锁相一次?
发表于 2015-2-2 12:36:20 | 显示全部楼层
我刚刚完成AD-FPGA-DA的采集过程,我的经验就是:7个时钟后FPGA捕获到AD数据,其中AD采样时钟须与FPGA主时钟与DA时钟同步,不然数据对不齐就可能采集错。
发表于 2015-2-2 15:04:20 | 显示全部楼层
楼主的问题好像是要AD在一个时钟域连续送数,而FPGA在另一时钟域连续取数,而FIFO不能出现空或者满的情况,在此我只能说这样的逻辑规划不是好的方案。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-3-29 21:11 , Processed in 0.026161 second(s), 8 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表