Other Parts Discussed in Thread: DAC3482
尽管我没有收到 FIFO 同步警报、但我得到的 IO 测试结果是0x4为0xFFFF、而相应的 IOtest 警报位于 DAC 的0x5
BTW、I 按照程序启用 IO 测试
请建议任何解决方案
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好,Kang,
感谢您的回复。
我将更好地装饰下面的东西
实际上、我们在同一个板上有两个3482 DAC (两者都是独立的)、因此使用单个源进行 FIFO 同步
->数据时钟:75MHz、150Mhz、300MHz、600Mhz、分别具有插值因子16、8、4、2
->参考 DACCLK 至 DAC PLL:150Mhz、并在 DAC 内部生成1200 DAC_CLK
-> DAC 采用16位字格式
FIFO 同步
首先我尝试实现 FIFO 同步。最初我使用帧信号来实现该目的、并在其中一个 DAC 中发现 FIFO 离开和 FIFO 冲突(有时)。
后来、我尝试使用 DAC 的 SYNC 信号并成功地删除了 FIFO 警报。如果我们以更高的速度 和极低的速度(i.e、DATACLK600Mhz 和75MHz)运行、FIFO 警报仍在出现、但使用 TI 文档中提供的算法实现 FIFO 同步、我可以将其删除。因此、现在没有 同步问题
2.数据模式检查器测试
在 FIFO 同步后,我尝试通过启用 IO_TEST 来运行 IO 测试,并且在 DAC 的 IO_TEST_pattern 寄存器中编程的相同模式用作 FPGA 的训练模式。
在这里、我还提供了相同的同步信号来查找图形的第一个字
我从 DAC 的0x4 (IOtest results)寄存器获取0xFFFF、相应的警报在 DAC 的0x5 reg 中发出
先生、我还尝试向 DAC 提供全0和全1、并且在 DAC 中对其进行编程、但仍然在获得 IO 测试、因为所有位都失败。
那么、我想知道我的遗漏位置以及发生这种情况的原因吗?
Lenin、
如果要发送所有 LVDS 逻辑 HI (1)或低值(0)、则需要确保 IO_Pattern0至 IO_Patter7全部编程为0xFFF (全为1)或0x0000 (全为0)。
如果没有通过测试、则说明您的整个设置有问题。 我建议您实际探测 LVDS 模式、以查看是否向 DAC3482发送了正确的信号。
确保先写入0、然后读回警报以清除警报。
-Kang
你好,Kang,
如果我要发送 DAC 中给出的错误模式、我将得到 IOResults (0x4)为0xFFFF
如果我向 DAC 发送全0 (在 IO_pattern0中保留0到 IO_pattern_7之后)、我将获得 IOResults (0x4)为0x1fff
如果我将全部1发送到 DAC (在 IO_pattern0中保留1后发送到 IO_pattern_7)、我将获取 IOResults (0x4)作为0x0eee
我无法由此推断出任何内容。
BTW、我确信数据线不会被反转、也不会以二进制补码形式发送(如0x2寄存器中所述)
请帮我解决这个问题
您好、Lenin、
在您实际探测每条线路以检查电压电平之前、我无法提供进一步的帮助。 您需要确保较低的 LVDS 总线实际配置为 FPGA 的 LVDS 电平。 没有足够的信息来处理此问题。
正如您提到的、这是一个非常简单的测试。 一个恒定的1或0给出错误指示总线故障的事实。 您将需要探测信号以更好地了解。
请提供实际示波器截图(差分探头)以绘制与数据表图75类似的图。 您还可以尝试0x5555和0xAAAA (0/1切换)模式、并在示波器上测量以检查建立/保持时间。
-Kang