发 帖  
原厂入驻New
[问答] 如何查看ADC是否正确采样了数据?
70 xilinx adc
分享
嘿伙计们,所以我正在研究一个证明有一些道路颠簸的项目。
我的合作伙伴可能已在论坛上发布,因此您可能会看到讨论类似的问题。
首先,我使用的FPGA是Virtex-7 VC7215。所以这里是我正在做的事情的解释,然后是我需要完成的事情。
一家公司生产了一款ADC,可以在6线上以5.6GB / s的速度输出数据。
成功接收数据后,我需要分析波形以查看ADC是否正确采样了数据。
因此,我需要一种方法来存储数据,然后以某种方式将其导出到matlab以重新配置数据。
话虽如此,我正试图找到一种方法来做到这一点。
这似乎对任何人都可行吗?
我不相信FPGA的结构可以让我简单地接收5.6GB / s的数据并将其存储到任何存储元件中。
也许我错了,或者可能有另一种方式?
任何建议或想法将不胜感激。
0
2020-8-27 08:34:55   评论 分享淘帖 邀请回答

相关问题

8个回答
您需要提供更多信息。
你说2.8GHz DDR。
DDR意味着存在与数据相关联的时钟。
如果是这种情况,那就别忘了 - 用同步接口,FPGA甚至无法达到这个频率。
但是,如果使用JESD204B协议通过高速串行链路发送数据,则这不是问题。
Xilinx具有JESD204B内核,可以接收高速串行流,并以极低的时钟速率将其转换为并行接口。
在JESD204B内核之后,您可以根据需要处理数据,将其存储在片外存储器的片上。
从那里捕获的数据可以通过许多不同的协议传输到PC;
PCIe或以太网可能是这个数据量的理想选择(尽管VC7215似乎没有外部存储器,PCIe或以太网连接器......)
所以答案完全取决于ADC的协议。
Avrum
2020-8-27 08:43:47 评论

举报

你假设有一个时钟是正确的。
ADC有6个输出,每个时钟都相互同步。
这不是一个需要解决问题的典型问题,我们将在同步时钟上使用时钟分频器,通过2个四元组,6个收发器和它们的CPLL将其提升到2.8GHz。
数据来自ADC,没有与之关联的通信协议。
2020-8-27 09:02:51 评论

举报

你假设有一个时钟是正确的。
ADC有6个输出,每个时钟都相互同步。
这不是一个需要解决问题的典型问题,我们将在同步时钟上使用时钟分频器,通过2个四元组,6个收发器和它们的CPLL将其提升到2.8GHz。
数据来自ADC,没有与之关联的通信协议。
我不明白你在这说什么。
如果这是一个带时钟且没有协议的5.6Gb / s 6线接口,那么这是不可能处理的。
但是,我发现很难相信任何人都会生产出具有这种界面的设备;
即使在ASIC领域,这也是(至少接近)无法应对的。
你为什么不告诉我们你正在使用什么ADC。
Avrum
2020-8-27 09:18:24 评论

举报

ADC实际上是我们正在测试的一种新技术,我目前甚至不知道它的名称。
但是,你刚才所说的是我现在已经关注了很长一段时间了。
我们实际上有一个ASIC作为该ADC的速率转换器而构建;
然而,在ASIC与ADC配对之前,我们想测试ADC - 从我们的对话中你可以看到,没有编码方案,NRZ数据和5.6GB / s几乎没有办法接收数据
那个速度。
您能详细说明为什么即使使用同步时钟FPGA也无法在这些频率下工作吗?
2020-8-27 09:32:30 评论

举报

按此速率,单位间隔(一位长度)为179ps。
当您考虑其他因素,如占空比失真,信号完整性,时钟到数据偏差,电路板布线不匹配,数据眼图的宽度将小于此(甚至可能不存在 - 设计频道为5.6Gbps需要
各种奇特的模拟东西,如均衡,预加重等......)
要在传统I / O中使用同步时钟静态捕获数据,需要更大的数据眼图 - 更像是1ns到1.5ns的宽度。
很明显,这不是一个选择。
即使采用“完美”动态校准,具有最快速度等级的最佳捕获机制,可捕获的最小数据眼在数据表中指定为Tsamp,即300ps(-3速度等级的Kintex-7)。
很明显,这不是一个选择。
因此,离开了高速收发器。
这些不使用同步时钟,而是依赖于时钟/数据恢复(CDR)。
要使CDR运行,您需要一些确保最大运行长度和DC平衡,执行成帧,执行通道绑定等的机制......这些都是使用为这些设计的协议完成的 - 例如8b / 10b,64b / 66b或
64b / 67b编码。
没有这些,您无法提取数据。
因此,如果没有协议,您将无法使用高速接收器,并且在这些速率下您无法使用传统接收器。
因此,您无法在FPGA中接收此流。
虽然ASIC速度要快得多,但如果这个接口从ADC到ASIC的电路板上,你将面临许多相同的问题 - 这个接口可能是不可能的。
(当然,如果ADC和数据转换器在同一个芯片上,那么这是一个不同的故事)。
Avrum
2020-8-27 09:41:46 评论

举报

以下是关于时钟/数据恢复的评论的有趣部分。
我们可以完全控制进入ADC进行测试的正弦波,因此我们可以创建一个这样的,我们在所有6条线路上切换10101010,这将是DC平衡的,因此为我们提供了恢复的可能性。
这看起来是否可行,然后将数据路由到双端口BRAM?
2020-8-27 09:53:32 评论

举报

以下是关于时钟/数据恢复的评论的有趣部分。
我们可以完全控制进入ADC进行测试的正弦波,因此我们可以创建一个这样的,我们在所有6条线路上切换10101010,这将是DC平衡的,因此为我们提供了恢复的可能性。
这看起来是否可行,然后将数据路由到双端口BRAM?
不可以。协议必须用于所有数据,而不仅仅是链接初始化。
虽然您可以在链接初始化时解决某些问题(例如成帧和通道绑定),但必须始终保持DC平衡和(最重要的)最大运行长度,以保证链路正常运行。
您根本无法通过CDR链路传递非协议数据。
Avrum
2020-8-27 10:07:54 评论

举报

以下是关于时钟/数据恢复的评论的有趣部分。
我们可以完全控制进入ADC进行测试的正弦波,因此我们可以创建一个这样的,我们在所有6条线路上切换10101010,这将是DC平衡的,因此为我们提供了恢复的可能性。
这看起来是否可行,然后将数据路由到双端口BRAM?
不可以。协议必须用于所有数据,而不仅仅是链接初始化。
虽然您可以在链接初始化时解决某些问题(例如成帧和通道绑定),但必须始终保持DC平衡和(最重要的)最大运行长度,以保证链路正常运行。
您根本无法通过CDR链路传递非协议数据。
Avrum
2020-8-27 10:19:29 评论

举报

只有小组成员才能发言,加入小组>>

109个成员聚集在这个小组

加入小组

创建小组步骤

关闭

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

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