Part Number:DAC38RF84
你好,我没有EVM板卡,正在用自制的板卡调试DAC38RF84,我现在遇到一个奇怪的问题。我使用FPGA产生了一个64点的sine信号(I路)和cosine(Q路),每个采样点16位,我以I,Q各360M MPS的速率送到DAC,但DAC的输出是一个多频点的频谱,并不是单频点的频谱。频谱以sine的频率(5.625MHZ)周期性的出现。如下图,我很困惑为什么会出现这么多频率呢?
我使用了CLK_P/N作为时钟输入,频率为180MHz。LMFSHD = 82121, 16x Interpolation.K=32。SYSREF设置为了2.8125MHz,LANE RATE =1800MHZ,采样频率为5760MHz,只使用NCO1,NCO1的频率配置为1.26GHZ,1对IQ输入。PLL时钟和SERPLL时钟也已经锁定。下面是我的寄存器配置表
// Addr Value
{0x0000U, 0x7863U}, // 0 Reset
{0x0000U, 0x7860U}, // 1 Reset
{0x0001U, 0x3081U}, // 2 Config 4-wire mode
{0x0002U, 0x0000U}, // 3
{0x0003U, 0x0000U}, // 4
{0x0004U, 0x00FEU}, // 5
{0x0005U, 0x0000U}, // 6
{0x040AU, 0x7C03U}, // 7
{0x040BU, 0x0002U}, // 8
{0x040CU, 0xA002U}, // 9
{0x040DU, 0xF000U}, // 10
{0x041BU, 0x0100U}, // 11
{0x0423U, 0xFFFFU}, // 12
{0x0424U, 0x1001U}, // 13
{0x0431U, 0x0400U}, // 14
{0x0432U, 0x0708U}, // 15
{0x0433U, 0x333CU}, // 16
{0x0434U, 0x0000U}, // 17
{0x0435U, 0x0018U}, // 18
{0x043BU, 0x9802U}, // 19
{0x043CU, 0x8229U}, // 20
{0x043DU, 0x0088U}, // 21
{0x043EU, 0x0949U}, // 22
{0x043FU, 0x0000U}, // 23
{0x010AU, 0x4810U}, // 24
{0x010CU, 0x4620U}, // 25
{0x010DU, 0x1300U}, // 26
{0x010EU, 0x00FFU}, // 27
{0x010FU, 0xFFFFU}, // 28
{0x0110U, 0xFFFFU}, // 29
{0x0111U, 0xFFFFU}, // 30
{0x0117U, 0x0000U}, // 31
{0x0119U, 0x0001U}, // 32
{0x011CU, 0x0000U}, // 33
{0x011DU, 0x0000U}, // 34
{0x011EU, 0x0000U}, // 35
{0x011FU, 0x0000U}, // 36
{0x0120U, 0x3800U}, // 37
{0x0121U, 0x0000U}, // 38
{0x0122U, 0x0000U}, // 39
{0x0123U, 0x0000U}, // 40
{0x0124U, 0x0030U}, // 41
{0x0125U, 0xB700U}, // 42
{0x0127U, 0x2222U}, // 43
{0x0128U, 0x0330U}, // 44
{0x0129U, 0x0000U}, // 45
{0x012AU, 0x0000U}, // 46
{0x012BU, 0x0000U}, // 47
{0x012CU, 0x0000U}, // 48
{0x012DU, 0x1FFFU}, // 49
{0x012EU, 0x1FFFU}, // 50
{0x012FU, 0x0000U}, // 51
{0x0130U, 0x0200U}, // 52
{0x0132U, 0x0400U}, // 53
{0x0133U, 0x0400U}, // 54
{0x0146U, 0x0044U}, // 55
{0x0147U, 0x190AU}, // 56
{0x0148U, 0x31C3U}, // 57
{0x014AU, 0xFF03U}, // 58
{0x014BU, 0x1300U}, // 59
{0x014CU, 0x1F07U}, // 60
{0x014DU, 0x0101U}, // 61
{0x014EU, 0x0F4FU}, // 62
{0x014FU, 0x1C60U}, // 63
{0x0150U, 0x0000U}, // 64
{0x0151U, 0x00FFU}, // 65
{0x0152U, 0x00FFU}, // 66
{0x0153U, 0x0100U}, // 67
{0x0154U, 0x8E60U}, // 68
{0x015CU, 0x0002U}, // 69
{0x015EU, 0x0000U}, // 70
{0x015FU, 0x3210U}, // 71
{0x0160U, 0x7654U}, // 72
{0x0164U, 0x0000U}, // 73
{0x0165U, 0x0000U}, // 74
{0x0166U, 0x0000U}, // 75
{0x0167U, 0x0000U}, // 76
{0x0168U, 0x0000U}, // 77
{0x0169U, 0x0000U}, // 78
{0x016AU, 0x0000U}, // 79
{0x016BU, 0x0000U}, // 80
{0x016CU, 0x0000U}, // 81
{0x016DU, 0x0000U}, // 82
{0x016EU, 0x0000U}, // 83
{0x020AU, 0x8810U}, // 84
{0x020CU, 0x2402U}, // 85
{0x020DU, 0x0000U}, // 86
{0x020EU, 0x00FFU}, // 87
{0x020FU, 0xFFFFU}, // 88
{0x0210U, 0xFFFFU}, // 89
{0x0211U, 0xFFFFU}, // 90
{0x0217U, 0x0000U}, // 91
{0x0219U, 0x0001U}, // 92
{0x021CU, 0x0000U}, // 93
{0x021DU, 0x0000U}, // 94
{0x021EU, 0x0000U}, // 95
{0x021FU, 0x0000U}, // 96
{0x0220U, 0x0000U}, // 97
{0x0221U, 0x0000U}, // 98
{0x0222U, 0x0000U}, // 99
{0x0223U, 0x0000U}, // 100
{0x0224U, 0x0020U}, // 101
{0x0225U, 0xB700U}, // 102
{0x0227U, 0x8888U}, // 103
{0x0228U, 0x0330U}, // 104
{0x0229U, 0x0000U}, // 105
{0x022AU, 0x0000U}, // 106
{0x022BU, 0x0000U}, // 107
{0x022CU, 0x0000U}, // 108
{0x022DU, 0x1FFFU}, // 109
{0x022EU, 0x1FFFU}, // 110
{0x022FU, 0x0000U}, // 111
{0x0230U, 0x0000U}, // 112
{0x0232U, 0x0400U}, // 113
{0x0233U, 0x0400U}, // 114
{0x0246U, 0x0044U}, // 115
{0x0247U, 0x190AU}, // 116
{0x0248U, 0x31C3U}, // 117
{0x024AU, 0x0003U}, // 118
{0x024BU, 0x1300U}, // 119
{0x024CU, 0x1307U}, // 120
{0x024DU, 0x0101U}, // 121
{0x024EU, 0x0F4FU}, // 122
{0x024FU, 0x1C60U}, // 123
{0x0250U, 0x0000U}, // 124
{0x0251U, 0x001FU}, // 125
{0x0252U, 0x00FFU}, // 126
{0x0253U, 0x0100U}, // 127
{0x0254U, 0x8E60U}, // 128
{0x025CU, 0x0003U}, // 129
{0x025EU, 0x0000U}, // 130
{0x025FU, 0x3210U}, // 131
{0x0260U, 0x5764U}, // 132
{0x0264U, 0x0000U}, // 133
{0x0265U, 0x0000U}, // 134
{0x0266U, 0x0000U}, // 135
{0x0267U, 0x0000U}, // 136
{0x0268U, 0x0000U}, // 137
{0x0269U, 0x0000U}, // 138
{0x026AU, 0x0000U}, // 139
{0x026BU, 0x0000U}, // 140
{0x026CU, 0x0000U}, // 141
{0x026DU, 0x0000U}, // 142
{0x026EU, 0x0000U}, // 143
Katherine Wang:
使用您的设置,我的设置没有显示出这些谐波的迹象,将您的寄存器设置与所附的进行比较,如果您在仅 NCO 模式下使用 DAC 并将 NCO 设置为 1.266Gsps,您的输出会是什么样子?
821_Fs_5760_NCO_1.266G_16x.cfg
,
?? ?:
请问您是在仅NCO模式下试的吗?显示的是1.26G单频信号吗?我的这些谐波的出现是在FPGA侧通过JESD给数的情况下,如果我不给DAC输入IQ数据的话也是1.26G单频信号。
,
?? ?:
这是在1.266GNCO-ONLY模式下的频谱
,
Katherine Wang:
已为您联系TI工程师,稍后给您回复
,
Katherine Wang:
1. 请确保 TRSTB 引脚已连接到 GND。
2. 接通电源且时钟稳定且外部复位脉冲从低电平到高电平后,验证第 0 页地址0x7F中的位 [15:10] 是否为 100000。如果不是,则保险丝仓未加载,而这必须在继续之前发生。
3. 如果 180MHz 输入时钟是差分的,请确保在第 4 页寄存器中0x31位 13 设置为 0。如果使用单端输入时钟,则需要将此位设置为1。
4. 确保所有电源轨的电压正确。
5. 请发送用于您运行的仅 NCO 模式测试的寄存器设置。
6. 如果您希望我们查看,请发送您的原理图。
,
?? ?:
你好我已检查过1,2,3,4都没问题。5,这是我的仅 NCO 模式测试的寄存器设置
{0x0000U, 0x7863U}// 0 Reset {0x0000U, 0x7860U}// 1 Reset {0x0001U, 0x3081U}// 2 Config 4-wire mode {0x0002U, 0x0000U}// 3 {0x0003U, 0x0000U}// 4 {0x0004U, 0x00FEU}// 5 {0x0005U, 0x0000U}// 6 {0x040AU, 0x7C03U}// 7 {0x040BU, 0x0002U}// 8 {0x040CU, 0xA002U}// 9 {0x040DU, 0xF000U}// 10 {0x041BU, 0x0100U}// 11 {0x0423U, 0xFFFFU}// 12 {0x0424U, 0x1001U}// 13 {0x0431U, 0x0400U}// 14 {0x0432U, 0x0708U}// 15 {0x0433U, 0x333CU}// 16 {0x0434U, 0x0000U}// 17 {0x0435U, 0x0018U}// 18 {0x043BU, 0x9802U}// 19 {0x043CU, 0x8229U}// 20 {0x043DU, 0x0088U}// 21 {0x043EU, 0x0949U}// 22 {0x043FU, 0x0000U}// 23 {0x010AU, 0x4810U}// 24 {0x010CU, 0x6620U}// 25 {0x010DU, 0x1300U}// 26 {0x010EU, 0x00FFU}// 27 {0x010FU, 0xFFFFU}// 28 {0x0110U, 0xFFFFU}// 29 {0x0111U, 0xFFFFU}// 30 {0x0117U, 0x0000U}// 31 {0x0119U, 0x0001U}// 32 {0x011CU, 0x0000U}// 33 {0x011DU, 0x0000U}// 34 {0x011EU, 0x4444U}// 35 {0x011FU, 0x4444U}// 36 {0x0120U, 0x3844U}// 37 {0x0121U, 0x0000U}// 38 {0x0122U, 0x0000U}// 39 {0x0123U, 0x0000U}// 40 {0x0124U, 0x0030U}// 41 {0x0125U, 0xB700U}// 42 {0x0127U, 0x2222U}// 43 {0x0128U, 0x0330U}// 44 {0x0129U, 0x0000U}// 45 {0x012AU, 0x0000U}// 46 {0x012BU, 0x0000U}// 47 {0x012CU, 0x0000U}// 48 {0x012DU, 0x1FFFU}// 49 {0x012EU, 0x1FFFU}// 50 {0x012FU, 0x0001U}// 51 {0x0130U, 0x0200U}// 52 {0x0132U, 0x0400U}// 53 {0x0133U, 0x0400U}// 54 {0x0146U, 0x0044U}// 55 {0x0147U, 0x190AU}// 56 {0x0148U, 0x31C3U}// 57 {0x014AU, 0xFF03U}// 58 {0x014BU, 0x1300U}// 59 {0x014CU, 0x1F07U}// 60 {0x014DU, 0x0101U}// 61 {0x014EU, 0x0F4FU}// 62 {0x014FU, 0x1C60U}// 63 {0x0150U, 0x0000U}// 64 {0x0151U, 0x00FFU}// 65 {0x0152U, 0x00FFU}// 66 {0x0153U, 0x0100U}// 67 {0x0154U, 0x8E60U}// 68 {0x015CU, 0x0002U}// 69 {0x015EU, 0x0000U}// 70 {0x015FU, 0x3210U}// 71 {0x0160U, 0x7654U}// 72 {0x0164U, 0x0000U}// 73 {0x0165U, 0x0000U}// 74 {0x0166U, 0x0000U}// 75 {0x0167U, 0x0000U}// 76 {0x0168U, 0x0000U}// 77 {0x0169U, 0x0000U}// 78 {0x016AU, 0x0000U}// 79 {0x016BU, 0x0000U}// 80 {0x016CU, 0x0000U}// 81 {0x016DU, 0x0000U}// 82 {0x016EU, 0x0000U}// 83 {0x020AU, 0x8810U}// 84 {0x020CU, 0x2402U}// 85 {0x020DU, 0x0000U}// 86 {0x020EU, 0x00FFU}// 87 {0x020FU, 0xFFFFU}// 88 {0x0210U, 0xFFFFU}// 89 {0x0211U, 0xFFFFU}// 90 {0x0217U, 0x0000U}// 91 {0x0219U, 0x0001U}// 92 {0x021CU, 0x0000U}// 93 {0x021DU, 0x0000U}// 94 {0x021EU, 0x0000U}// 95 {0x021FU, 0x0000U}// 96 {0x0220U, 0x0000U}// 97 {0x0221U, 0x0000U}// 98 {0x0222U, 0x0000U}// 99 {0x0223U, 0x0000U}// 100 {0x0224U, 0x0020U}// 101 {0x0225U, 0xB700U}// 102 {0x0227U, 0x8888U}// 103 {0x0228U, 0x0330U}// 104 {0x0229U, 0x0000U}// 105 {0x022AU, 0x0000U}// 106 {0x022BU, 0x0000U}// 107 {0x022CU, 0x0000U}// 108 {0x022DU, 0x1FFFU}// 109 {0x022EU, 0x1FFFU}// 110 {0x022FU, 0x0000U}// 111 {0x0230U, 0x0000U}// 112 {0x0232U, 0x0400U}// 113 {0x0233U, 0x0400U}// 114 {0x0246U, 0x0044U}// 115 {0x0247U, 0x190AU}// 116 {0x0248U, 0x31C3U}// 117 {0x024AU, 0x0003U}// 118 {0x024BU, 0x1300U}// 119 {0x024CU, 0x1307U}// 120 {0x024DU, 0x0101U}// 121 {0x024EU, 0x0F4FU}// 122 {0x024FU, 0x1C60U}// 123 {0x0250U, 0x0000U}// 124 {0x0251U, 0x001FU}// 125 {0x0252U, 0x00FFU}// 126 {0x0253U, 0x0100U}// 127 {0x0254U, 0x8E60U}// 128 {0x025CU, 0x0003U}// 129 {0x025EU, 0x0000U}// 130 {0x025FU, 0x3210U}// 131 {0x0260U, 0x5764U}// 132 {0x0264U, 0x0000U}// 133 {0x0265U, 0x0000U}// 134 {0x0266U, 0x0000U}// 135 {0x0267U, 0x0000U}// 136 {0x0268U, 0x0000U}// 137 {0x0269U, 0x0000U}// 138 {0x026AU, 0x0000U}// 139 {0x026BU, 0x0000U}// 140 {0x026CU, 0x0000U}// 141 {0x026DU, 0x0000U}// 142 {0x026EU, 0x0000U}// 143
6.原理图XCKU115_DAC.PDF
谢谢
,
Katherine Wang:
查看原理图后,似乎 DAC_RESET_N 始终被拉高。这个输入是如何切换的?您需要脉冲此复位,软复位作用不同。
,
?? ?:
您好,DAC_RESET_N 不是始终拉高的,我接到了FPGA引脚上,我做了1-0-1的控制,先是拉高等0.5秒后拉低,再等0.5秒后拉高,之后一直为高。
,
Katherine Wang:
已将您的回复发布到E2E英文论坛,您可以关注https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1205805/dac38rf84-the-output-of-dac-is-abnormal查看最新进展
,
?? ?:
你好,我已看到英文论坛的回复。
我的复位是FPGA一上电就开始的,也为DAC提供了时钟,但我的复位是在给DAC提供时钟之前。请问这个有影响吗?
关于CLKTXP/N output的测试只能等两天再做了,因为要拆机箱。
1.266GNCO-ONLY模式下,我关掉SYSREF,得到了一个纯净的信号如下图。这个应该是正常现象吧?那为什么在我使用JESD传输单频点信号的时候会出现多点频信号呢?
,
Katherine Wang:
复位脉冲必须出现在时钟出现之后。