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.

[参考译文] DAC12DL3200:DAC12DL3200中的 IOtest

Guru**** 2387080 points
Other Parts Discussed in Thread: DAC12DL3200, LMK04832
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1415301/dac12dl3200-iotest-in-dac12dl3200

器件型号:DAC12DL3200
主题中讨论的其他器件: LMK04832

工具与软件:

您好!

我们正在研究   DAC12DL3200 数模转换器(DAC)、其 LVDS 接口可通过 双通道4 LVDS 总线运行。

DAC 参数:

1.采样率        :3200 MSPS
2.采样时钟       :3200 MHz
3.频率范围     : 0 -750 MHz
4. LMODE             :双通道、4总线模式。
5. LWIDTH             :12位样本宽度
请注意、
1.我们有 双路 ADC/DAC 同相采样和正交分量、每路工作速度是3200MSPS。
2.    3200MHz 的采样时钟 由 LMK04832生成。  
3.每个转换器使用两条总线、因此总共  使用四条 LVDS 总线。
4.在 DAC 中禁用双时钟模式。
5.数据 由 Xilinx 高速选择 IO 向导(HSSIO)以1600Mbps 的接口速度和 DDR 时钟发送。
寄存器映射的字段 初始化和运行 IO 测试 关系如下:
3.置位复位
0x0000B0

4.置为无效复位–保险丝 ROM 加载将自动开始
0x000030

5.程序部分配置(CH_CFG、DCM_EN、MXMODE_*等)
0x010151:已配置 CH_CFG
0x004800:已配置 DCM_EN
0x016000:已配置 MXMODE
0x017180:为 DACA 配置电流控制
0x017280:为 DACB 配置电流控制


6.等待保险丝 ROM 加载完成(FUSE_DONE =1)
0x890000:我们得到了所需的输出0x03、


将 LVDS 信号(和 SYSREF、如果使用)应用于输入。 如果需要、可以在先前的任何时间点执行此操作、
但必须在这里保持稳定。
我们提供一个0xFFf 的常量数据来运行 IOtest

8.设置 DP_EN =1
0x010001: 观察到 LVDS_CLK_ALM 在此处设置(0xFF)、这表示什么?

9.清除 LVDS_CLK_ALM 和 STROBE_ALM
0x0821ff: 观察到 LVDS_CLK_ALM 仅为高电平(0xFF)、为什么会发生这种情况、为什么不清除它?
我们的 LVDS_CLK 来自 FPGA、在示波器中观察时发现它是正确的。

10.同步系统
   a.如果使用 LVDS 选通信号进行对齐:
   i.设置 LVDS_STROBE_ALIGN = 1
   i.等待 LVDS_STROBE_DET = 1  
   b.如果使用 SYSREF 进行对齐:
   i.请参阅 SYSREF 窗口化以启用和对齐同步 SYSREF 采集。
   二、设置 SYSREF_ALIGN_EN =1
   ii.等待 SYSREF_DET = 1
   IV。设置 SYSREF_ALIGN_EN =0

已跳过同步


11、配置 FIFO_DLY (这可能会尽早完成、但应在此处完成)
0x020000

11.在 IOTEST_PAT 和 IOTEST_CONT 中配置 IOTEST 数据模式。
0x071100
0x071001

0x0720ff
0x07210f
0x0722ff
0x07230f
0x0724ff
0x07250f
0x0726ff
0x07270f
0x0728ff
0x07290f
0x072Aff
0x072B0f
0x072Cff
0x072D0f
0x072Eff
0x072F0f

12.设置 IOTEST_STRB_LOCK=1 (如果需要)。
没有设置、因为我们不使用选通

13.如果使用 LSB 选通并且模式在数据操作中测试 LSB、则设置 LSB_SYNC=0和 SYNC_n=1。
已跳过

14。设置 IOTEST_EN=1
0x0710F1

15.启用使用 txenable 或 TXEN_A/B 的传输
0x022003

16.使用 IOTEST_TRIG 开始测试。
0x071101

17.如果 IOTEST_CONT = 0、则监控 IOTEST_RUN、直到测试停止、然后检查结果。 If
IOTEST_CONT = 1、使用寄存器中的 IOTEST_SUM 或 IOTEST_MISS*字段监控故障
IOTEST_STAT0 - IOTEST_STAT3。

IOTEST_CONT 设置为1 、表示 IOTEST 将一直运行、直到手动停止、但选中时我们 找到 IOTEST_run  
为0 、这表示什么、它是否事先未运行或停止?
IOTEST_SUM 和 IOTEST_MISS 被观察为零。
IOTEST_STAT0和 IOTEST_STAT3被观察为零。
IOTEST_CAP 寄存器提供的数据与从 FPGA 发送的数据不同。

我应该从 IO 测试得出什么结论?为什么即使在清除后也要设置时钟警报? 为什么即使在观察时钟后也要设置时钟警报
示波器?
此外、当配置为 SPIDAC 时、将一个 恒定的采样值馈送到 DAC、我们会在 p 和 n 引脚上观察到相同的电压、这是为什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    这一问题已经通过电子邮件解决。  我将关闭这个帖子

    此致、

    Geoff