线程中讨论的其他部件: LMK0.4828万, DAC39J84, TSW14J10EVM
你(们)好
我使用Xilinx FPGA和DAC38J84来建立JESD204B开发环境。 现在我对同步信号有一些问题。 无法切换我的同步。 始终保持较低水平。 我知道CGS未通过。
FPGA始终传输/K FPGA/ 28.5 ,我可以在示波器上看到波形。 我不知道怎么了。 此错误是来自寄存器配置还是PCB设计? 如何处理?
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.
你(们)好
我使用Xilinx FPGA和DAC38J84来建立JESD204B开发环境。 现在我对同步信号有一些问题。 无法切换我的同步。 始终保持较低水平。 我知道CGS未通过。
FPGA始终传输/K FPGA/ 28.5 ,我可以在示波器上看到波形。 我不知道怎么了。 此错误是来自寄存器配置还是PCB设计? 如何处理?
日鹏
您正在使用什么FPGA? 这是一个定制板,还是使用Xilinx FPGA开发板测试我们的DAC EVM? 请发送以下信息,让我了解更多信息,以便为您提供帮助:
1.您对LMFS和K有哪些JESD204B设置?
2.您的DAC采样率是多少? 您是否使用任何插值?
3.您的SYSREF频率是多少?
4.您的FPGA参考和内核时钟频率是多少?
5. 是否可以发送DAC配置文件?
此致,
Jim
Jim。
我使用Xilinx virtex7 xctvx690T FPGA和jesd204b IP内核。 我没有使用TI的EVM Xilinx FPGA开发板。 我对SPI进行编程以配置 DAC。 我可以正确地写入和读取寄存器。
1.JESD204B设置:L = 8,M=4,F=1,S=1,HD =1。 每个DAC通过两条线路传输了一个样本。 K = 32
2. DAC采样速率= 600MHz。信道速率= 6Gbps。 无插值。
3. SYSREF频率=9.375MHz。 我认为SYSREF频率比DAC采样速率(DAC器件时钟)慢,这样,可以 通过DAC器件时钟的上升沿对SYSREF的高电平进行采样。
FPGA参考时钟为150MHz。内核时钟为150MHz。
5. 附件文件是我的DAC配置文件。 它是我配置DAC的Verilog代码的一部分。 Areg是注册的地址。 Dreg是配置数据。
复杂混音器/ QMC/ FIR滤波器/分次延迟被禁用以简化配置。
我不知道如何配置SerDes速率(如何选择全/半/四分之一/八速率模式)。config37 JESDclock / config 61 CDR,ENOC,EQHLD,EQ。
我无法确定导致SYNC的no Assert问题的原因。 我需要您的帮助!
谢谢!
LvZhipeng
日鹏
我能够使用您的设置让我们的DAC EVM与VC707平台一起运行。 然后,我捕获了DAC的所有寄存器设置,并将它们与您的值进行比较。 在附件中,如果有任何寄存器设置不匹配,我将我们的值添加到行的末尾。 有许多 不匹配。 请查看这些值,因为这可能有助于了解您加载的值可能不正确。 设置之间的通道映射可能不同, 因此我希望有几个寄存器不匹配。
此致,
Jim
日鹏
SYSREF = LMFC / K,因此在您的情况下为600 / 32 = 18.75MHz。 这是SYSREF可以达到的最大速率。 它也可以是(LMFC / K)/ n,因为n = 1,2,3,...所以如果n = 2,SYSREF = 9.375MHz,这是您的值,所以可以使用。
Config36设置为0x20,因为我们通常只脉冲SYSREF几次,然后关闭SYSREF。 您可以让它保持运行以建立链接,但 如果此信号持续运行,则性能可能会略有下降。
附件是我们如何使用GUI对寄存器进行编程。 您必须按顺序执行以下步骤:
1.启用电源
2.提供DACCLK和SYSREF (如果计划使用连续SYSREF)
2.切换重置
3.程序寄存器
4.重置JESD核心
最好将TXENABLE设置为低电平,直到一切都稳定,正常运行,以防止因过度驱动DAC馈送的设备而造成的任何损坏。
此致,
Jim
Jim
我现在轮到你。 我对dac38j84有一些疑问,如下所示。
1.我将JESD车道映射到SerDes车道,就像想象中的那样。 我配置到daca的数据路径A,到DACB的数据路径B,到DACC的数据路径C,到DACD的数据路径D。 如果我将数据传输到RX1和RX2,是否可以从与RX1和RX2对应的daca获取波形。
2.配置4,配置5,配置6的功能是什么。 如果我屏蔽了一些警报和错误,对DAC的使用是否有任何影响?
3.五人系列的功能是什么。 如果fifo已满或为空。 如何修改此错误?
此致
LvZhipeng
日鹏
您是否仅使用2个车道? 如果您正在使用8个车道,并希望将RX1和RX2路由至daca,您希望如何路由其他车道?
Config4,Config5和Config6是 错误和标志指示器。 我建议使用这些设置的默认设置。
SerDes fifo的功能如下:
SERDES FIFO是一种异步FIFO,它将输入字符从每个通道的clk_SerDes传输到clk域。 FIFO由rst_n或init_state重置,并具有可编程的读取延迟,以便在必要时调整读取指针和写入指针之间的延迟。 FIFO重置在内部与写/推时钟(SERDES时钟)同步,并在内部保持多个时钟周期,以避免元稳定性。
如果fifo已满或为空,则您的时钟域设置为错误的频率。 请提供以下信息,我将尽力为您提供帮助:
DAC采样率
LMFS设置
插值率
您正在使用的FPGA
FPGA参考时钟
SerDes价格
K值
此致,
Jim
Jim
1.对不起。 也许我的描述让你感到困惑。 当我使用8个通道时,我将Serdes通道映射 到JESD通道,如第一幅图像所示。daca的输出是否与RX0和RX1的数据输入相对应。 RX2,RX3 == DACB, RX4和RX5 == DACC,RX6和RX7 == DACD。
如果我只使用两个通道,我将使DACB~DACD处于休眠模式。 我将lane2~lane7映射到link1,并将lane0,lane1映射到link0。 我设置 sysref_mode_link1 = 000,sysref_mode_link0 = 001 (配置92 0x0001),我将寄存器配置74位15 ~位8设置为0x03,以仅启用SerDes lane0和lan1。 我把JESD巷映射到Serdes巷作为第二个想象。 如果我将数据传输到RX0和RX1,我是否可以从daca获得输出?
2.如果我掩蔽了config4,config5,config6中的错误和标志,我是否可以在config 100~108中设置警报和错误指示以及警报引脚。
3.我已制作了一个新的主板,并将DAC38J84替换为DAC39J84。 当我仅为DAC39J84供电时,输出引脚 IOUTAP~IOUTDP,IOUTAN~IOUTDN具有1.778V输出。 但是 IOUTAP~IOUTDP,IOUTAN~IOUTDN的终端电压是0.5 数据表第6页中描述的-IOUTAP~1.0V。 为什么DAC输出的默认输出如此高? 对吗? DAC39J84的正确默认输出电压是多少?
4.我的DAC采样速率=600MHz,
LMF =841,HD =1,k =32,插值速率=1,sysref =9.375MHz,使用所有sysref模式,我没有在LMK0.4828万中启用DDLY和ADLY。
FPGA Virtex7 xc7vx690T。
FPGA参考clk = 150MHz,SerDes速率= 6Gbps。 SerDes PLL输出为3GHz,半速率。 我可以通过报警引脚在示波器上看到波形,频率为SerDes PLL输出/80 = 37.5MHz。
config108显示SerDes PLL已锁定。
我的操作顺序:
(1)为FPGA,DAC39J84和LMK0.4828万供电。 SYNC_N_AB和SYNC_N_CD逻辑高。
(2)重置Xilinx JESD204B IP核心,使JESD204B IP核心仍重置,发射器不传输任何字符。
(3)配置DAC39J84,SYNC _N_AB和SYNC_N_CD仍然较高。
(4)为DAC39J84提供配置LMK0.4828万,DACCLK和sysref。 SYNC _N_AB和SYNC_N_CD被拉至低。 也就是说,DAC39J84传输同步请求。
(5)删除重置信号以使JESD204B IP核心正常运行,SYNC_N_AB和SYNC_N_CD被拉至高且仍然高。
我在这项行动中只使用两条车道。 我只启用SerDes lane0和SerDes lane1,并在睡眠模式下使DACB~DACD。 SYNC_N_AB和SYNC_N_CD映射到link0。 数据已输入到RX0和RX1。 SerDes路线被映射到JESD的土地上,就像想象中的那样。 我设置 sysref_mode_link1 = 000,sysref_mode_link0 = 001 (配置92 0x0001)。
我将寄存器config81和config82配置为0xFF,0xFF。 SYNC_N_AB和SYNC_N_CD仍然较高。 我读了config 65,errcnt_link0 == 0。 也就是说,config81和config82中没有描述任何错误。 对吧? 这是否意味着GCS和ILA已通过?
但我读config 100和config101注册为0x0703,0x0703。0703。 daca没有输出。 如何操作? 我应该相信哪些错误指示器寄存器? 10.0101万 或配置81,82,65。
Jim
当我使用八个通道时,SYNC将断言约为360ns,然后下拉。 同步将采用一个周期波形,就像第一个想象中的那样。
我从FPGA传输一个方波,我得到一个波形,就像第二个想象一样。 这不是我想要的。 但发展援助委员会似乎有一些产出。
我在寄存器配置81上排除了错误。 我将配置81分别设置为0x0080,0x0040,0x0020,0x0010,0x0008,0x0004,0x0002,0x0001。 当我将配置81设置为0x0020时,同步将是一个周期波形。 对于其他配置,同步始终较高。 也许我认为问题在于FPGA和DAC38J84之间关于JESD204b参数的配置。 但我检查有关LMF K的配置
S,CS,CF,HD,N,N'等。 FPGA JESD204B IP内核之间的参数相同。 我将配置100读为0x270b。
我不知道哪个错误指示器应该是可靠的。 是否真的是参数配置的问题? 此外,为什么SerDes fifo 已满或为空。 您的回答是时钟频率的问题,
但我不认为我的克莱克频率是错的。
DAC采样速率= 600MHz,信道速率= 6Gbps。
SerDes PLL参考clk = 600MHz,MPY = 5,Serdes Rate =半速率。 我可以在报警引脚处获得37.5MHz信号。
FPGA参考clk =核心clk = 150MHz
此致
志鹏
日鹏
当您从8个通道下降到2个通道时,如果您保持样例时钟不变,新的SerDes速率将变为24Gbps,这远高于12.5Gbps的标准最大速率。 您必须减慢采样时钟速度并进行插值,以使2通道模式工作。 使用两个通道可以运行的最大采样速率 为312.5MHz (使用int 2x)。 这会将SerDes速率设置为12.5Gbps。 有关这些速度限值,请参阅数据表中的表12。
此致,
Jim
e2e.ti.com/.../DAC38J84_5F00_841_5F00_737p88.pptxe2e.ti.com/.../3113.DAC3xJ8x-Device-Initialization-and-SYSREF-Configuration.pdfZhipeng,
您必须获得SYNC才能使DAC保持高电压,才能使任何操作正常工作。 如果正在切换同步,则您的链接未建立。 您正在使用哪一个FPGA系列? 查看这些文档是否对您有所帮助。
此致,
Jim
日鹏
让我们通过使用内部NCO生成输出来确保DAC正在运行。 这不需要JESD链接中的任何数据即可工作。 只需按照随附的说明操作。 在您确认收到提示音后,我们可以将重点放在JESD接口上。
此致,
Jim
e2e.ti.com/.../7384.DAC39J84_5F00_NCO_5F00_NO_5F00_SYSREF.pptx
日鹏
使用VC707平台,我可以使用接近您的数字,使DAC正常运行。 有关此信息,请参阅随附的文件。 如果仍有问题,您可能需要咨询Xilinx。 我还附上了另一个文档,其中介绍了用于此设置的Xilinx固件,其中涉及使用TI TSW14J10EVM和TI的HSDC Pro GUI。
此致,
Jim
e2e.ti.com/.../DAC38J84_5F00_841_5F00_614p4.pptxe2e.ti.com/.../1256.SLAU580B.pdf
日鹏
您的Xilinx JESD204 IP内核需要一个内核和参考时钟还是只需要一个参考时钟? 我们在设计中使用两个。 您是否禁用 链路两侧的加扰器? 请在附件中的寄存器中写入和阅读,然后将 其发回,以便我们可以查看您收到的错误。
此致,
Jim
e2e.ti.com/.../clear_5F00_read_5F00_alarms_5F00_registers.csv
Jim
我的Xilinx JESD204B IP内核需要内核时钟和参考时钟。 和核心时钟==参考时钟=150MHz。信道速率=6Gbps。 我禁用了两侧的加扰器。所附文件是关于报警寄存器的。 我向这些寄存器写入0x0000
首先清除它们。 当我读出它们时,config 100~107是0x070b。config 108 == 0x0003,config 109 == 0x00FF。
同步始终较高。 为什么config100到config107的位15~8 仍有错误通知? 这让我感到困惑。
此致
志鹏
日鹏
查看错误代码后,您似乎从未通过CSG。 我不知道为什么同步较高。 您需要运行Chipscope并验证K 28.5 逗号数据是否正确地从FPGA的所有通道中输出。 您是否遵循了以下步骤:
1.将TXENABLE设置为低
2.供应所有VDDDIG,VDDT,VDDDAC,VDDCLK等0.9 V供应品,以及所有1.8 VDDR-V供应品(VDDD,VDDD,VQPS,VQPS, VDDC,VDDC,VDDD,VDDC,VDDC,VDDC
VDDIO,VDDAPLL,VDDAREF)和所有3.3 -V电源(VDADDAC)。 电源可以通电
同时或按任意顺序。 对于耗材的斜坡率没有特定要求。
3.如果使用JTAG端口,则通过切换TRSTB LOW (低TRSTB)或不使用时保持TRSTB LOW (低TRSTB)来重置JTAG端口
JTAG。
4.开始生成DACCLK
5.切换RESETB LOW (RESETB低)以重置SIF寄存器
6.设定DAC PLL设置(config26,config49,config50,config51)。 如果未使用PLL,请设置PLL_SLEEP
PLL_RESET为“1”,PLL_ENA为“0”。
7.对SERDES设置(config61,config62)进行编程,包括SerDes_clk_SEL和SerDes_REFCLK_div。
8.设定SERDES通道设置(config63,config71,config73,config74,config96)。
9. program clkjesd_div,cdrvser_sysref_mode和interp。
10.对JESD设置进行编程(config3,config74-77,config79,config80-85,config92, config97)。
11.设定挖掘块设置(NCO,PA保护,QMC,分次延迟等)并设置首选
数字块的同步模式(config30-32)。
12.通过检查SERDES PLL报警来验证SERDES PLL锁定状态:ALARM_rw0_PLL (通道0报警
到3)和ALARM_Rw1_PLL (通道4到7的警报)。
13.将init_state设置为“0000”,将JESD_reset_n设置为“1”,以启动JESD204B链路初始化。
14.启动SYSREF生成。
15.通过断言TXENABLE引脚或将sif_txenable设置为“1”来启用数据传输。
2μs清除警报,然后等待大约1-2 º C,然后检查数值
17.验证DAC输出是否为所需输出。
此致,
Jim
Jim
我可以在示波器上看到K 28.5 逗号数据,如下图所示。
1.在上一篇文章中,我没有像 你说的那样启动DAC。 阅读您的回复后,我按照您的说法尝试了设置顺序。 在执行步骤15之前,我将配置100读为107,显示为0x0001。 然后,我将config100清除为107,显示为0x0000。 之后,我再次读取config 100到107。 它们都是0x0000。config 108 == 0x0003,config 109 == 0x0000。 始终断言同步。 是否意味着没有错误。
2.我发现了一件有趣的事。 我将另一个数字写在配置100到107中,然后我读回。 我发现我回读的是我写的配置100到107。 如果在对DAC39J84编程时故意设置链路配置错误。 我将config100读至107。 它们都是0x2001。 然后我清除它们并读回。 我发现它们也是0x2001。 这是否意味着如果没有错误 ,config100到107可以按用户的需要写入。 如果存在错误,则会断言错误位,清除操作将无法清除它们,直到出现正确的状态。
3.当TX传输K 28.5 I发现同步时,也可以在不使用SYSREF的情况下进行断言。 这是否正常?
您好,Jim,可以帮助您了解此主题:
日鹏
SYSREF上升沿需要在设备时钟上升沿之前50ps发生,而在设备时钟上升沿之后50ps不会发生变化。 有关详细信息,请参阅随附文档的第5页。
此致,
Jim
e2e.ti.com/.../0458.DAC3xJ8x-Device-Initialization-and-SYSREF-Configuration.pdf