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.
你(们)好
我们在运行 DAC39J84的一些硬件上看到了一些奇怪的行为。
问题
我们在 FPGA 上生成从直流到300MHz 的一系列正弦波、DAC39J84的输出电平大约为满量程的90%。 这通过 JESD204b 传输到 DAC、我们将运行2倍的内插速率以生成2.5GSPS 输出样本。 在大多数已经构建的单元上、我们能够在90%满量程时可靠地生成直流至300MHz 的正弦波、而不会出现任何问题。 但是、在多个器件上、我们观察到信号在特定频率下下降到~0 *(请参阅底部的编辑)、这在故障器件之间有所不同(已将压降频率视为230-295MHz)。 在频率扫描中、这显示为下图。
CHA/CHB 和 CHC/CHD 中同时出现信号压降、并且行为不同。 例如、在上图中、只有 CHC/D 会丢失信号。 更令人困惑的是、信号压降频率随振幅的函数而变化:在较低的振幅下、该截止频率被推高。
最后、这种行为并不总是存在的:器件上电可使问题消失、并且所有通道上都能正确生成正弦波。 它似乎与温度无关、并且在下电上电时是否存在问题似乎是随机的。 在问题出现时对 DAC 和时钟进行重新编程无法解决问题-只有重启才能解决问题。
我们的 DAC 设置为:
调试
我已完成以下测试:
测试 | 结论 |
将输入设置为常数0、并打开 NCO 以生成正弦波。 将所有通道上的正弦波振幅和频率设置为高于截止频率、我可以确认信号是否存在。 | 似乎不是 NCO 下游的问题 |
禁用 NCO 后、以镂空频率生成信号、然后降低输入振幅、直到正弦波再次出现。 然后在 DAC39J84中使用数字增益将信号振幅提高到原始电平。 信号不会因此而被切断 | 问题不是增益块的下游 |
监控发送端和接收端的 JESD 链路是否存在错误、同时关闭所有掩码。 无法观察到任何 JESD 链路或时钟错误 | JESD 链路中似乎没有出现问题 |
在镂空频率(290MHz/90% FS 振幅)下生成相同的波形、并通过 JESD 进行传输。 在默认配置下、两个通道正常工作、两个通道不工作(如上图所示)。 使用"ap JESD Output to dig Input"块:将"gon"通道 JESD 信号连接到"Bad"通道数字输出。 错误仍然存在 |
问题似乎出现在 JESD 输出到 DIG 输入多路复用器处或之后 |
使用"MAP DIG 输出到 DAC 输入"块将"良好"数据连接到"不良"通道、信号看起来良好。 将"坏"数据连接到"正常"通道、信号看起来很差。 表示 DAC 输出电路正在工作、问题似乎在 DAC 输出之前出现。 |
DAC 输出正在工作 |
当前状态
我的电流猜测是在数字数据中的 NCO/混频器块之前出现了一个问题、但我看不到发送到 DAC 的 JESD 数据中有任何问题、因此我认为它必须发生在 DAC 中的下面的圆框内。 我不明白为什么:
如果部件出现故障、似乎只是偶然发现了这一点、这对我们来说是一个问题。
感谢您的任何帮助。
编辑
有时、信号不会降至零、而是显示为:
发生这种情况时、我无法看到任何警报或 JESD 链路错误。
若尔登
1、DAC 采样 SYSREF 是否正确? SYSREF 频率是多少? 摆幅和共模电平是否符合数据表? 如果 SYSREF 未连续运行、您将发送多少个脉冲? 您是否尝试过使用连续 SYSREF?
2. K 的值是多少? 您是否尝试提高 K?
3. RBD 有何价值? 您是否尝试使用不同的值?
4.降低 SerDes 速率时是否会出现此问题?
5.您能否发送原理图和寄存器设置?
6.电源和时钟稳定后,您是否切换复位引脚?
TRSTB 是否连接到低电平?
此致、
Jim
你好、Jim
感谢重播。
我们相信 SYSREF 采样正确、我们以39.0625MHz 的频率运行 SYSREF、数据速率为1250Mbps、输出采样速率为2500MHz。 我们的 SYSREF 是连续的、我认为它满足所有摆幅和共模要求。
我们使用的 K 值为32、但根据数据表、这似乎是无效的。 但是、使用值31不会产生任何影响
3、RBD 是18,我没有尝试其他值
4、我们还没有尝试过,我将研究这是否是一种选择
我无法提供原理图、但我可以用寄存器设置向您发送消息
6.是的
7、是的、TRSTB 保持低电平-电平转换器(SN74LVC2T45DCUR)输入端的10k 下拉电阻下拉电阻、该电平转换器将 JTAG 信号从3.3V 转换为1.8V。 当 TRSTB 线路上的输出发生毛刺时、我们已经探测并且没有看到任何相关的东西
同步
我们测试的进一步更新:我们发现、当出现此问题时、探测来自 DAC39J84的 SYNC 信号会显示异常波形、并且似乎有责任(或症状?) 以获取切断数据。 在下图中、黄色是 SYNC、粉色是 DAC39J84输出迹线。 将输出频率设置为100MHz 时、波形稳定、SYNC 保持在1.8V 高电平。
此外、我们还会在其他频率上看到不寻常的同步波形。 在下图中、SYNC 具有恰好等于输出频率(200MHz) 1/8的波形特性。 如果我们在不存在镂空问题时在重新启动器件时重复此测试、我们将看不到该波形(SYNC 在所有频率下都是稳定的高电平)。 此外、缩放输出功率时同步波形不会改变、因此它显然不是模拟域耦合问题(这不会解释1/8频率因数)。
我还尝试通过将以下寄存器设置为0x0000来禁用任何同步请求:
这样做对 SYNC 引脚上是否生成 SYNC 没有影响-我是否需要设置任何其他寄存器来防止切换 SYNC、以帮助我们进行测试?
EYESCAN
当器件以镂空模式运行时、我们执行了眼图、我们看到所有通道上的眼图张开度非常宽。
错误/警报
我们正在尝试监控以下寄存器是否存在错误和警报:
0x64、0x65、0x66、0x67、0x68、 0x69、0x6A、0x6B、0x6C、0x6D、 0x41、0x42
对于0x6D、我们回读值0x90、对应于 lane7和 lane4的 los 误差-无论我们是否观察到输出波形的问题、我们都会回读该值。 该寄存器未标记为"写入以清除"-您能否确认我们是否需要在读取前以某种方式清除该寄存器? 您能否提供有关 SERDES 通道信号丢失含义的更多详细信息?
谢谢、
约旦
约旦
很抱歉、我休假了、所以耽误了我的回答。 您仍有问题吗? 如果是这样、您的问题似乎是一条或两条线路偏离了我可以告诉的范围。 不应切换同步。 您提到了地址0x6D 的0x90。 此错误与 JESD 短路测试有关。 您是说数据读回为0x09吗? 这将表示通道7和4的 LOS。 是否仍要使用4通道模式运行故障单元并仅使用0-3通道? 这可能会导致问题的隔离。
对于另一项测试、如果使用器件的 LVDS 同步、请尝试将以下同步控制寄存器设置为如下所示:
0x51 0xDC
0x52 0xFF
0x54 0xFC
0x55 0xFF
0x61 0x211
此致、
Jim
你好、Jim
是的、我们仍然看到这个问题。 从地址0x6D 回读0x90意味着位4和位7被置位-如果我没有弄错、这对应于 lane4和 lane7 los 错误? 我没有意识到、在初始器件设置后、0x6D 似乎需要清除-它在数据表中没有像其他故障寄存器那样说"写入以清除"、 但是、当我将0x0000写入0x6D 时、我根本看不到通道错误、无论问题是否存在。 这与使用 DAC39J84电路板时的行为相同、因此我认为0x90不是真正的问题。
我们正在使用 CMOS SYNC_AB、并且我已经将所有这些寄存器设置为0x0000、我认为这应该会关闭生成同步请求的任何能力、但我们仍然看到 SYNC 引脚上出现同步请求。
如果有任何硬件问题、我们是否可以使用 DAC39J84尝试缩小范围的其他硬件自检?
谢谢
约旦
约旦
我正在检查有关寄存器0x6D 的设计。 如果设置为0x90、则这是通道4和7上的 LOS。 我向您发送的有关此数据值的信息不正确。
您无法禁用所有同步请求。 如果存在硬 JESD 链路错误、同步将变为低电平。 在出现故障的电路板上、如果您循环通电并恢复、无论输入的振幅如何、它是否都能保持工作状态?
您的系统是否会持续监控错误?
SYSREF 是否持续运行?
您是否在发生故障的电路板上交换了 DAC?
您是否能始终导致电路板故障?
在错误的电路板上、您是否进行了任何 X 射线测试来验证焊球是否在 DAC 和 FPGA 上都正确飞行?
在故障模式期间、您是否读取了任何错误?
如果您在 PRBS 测试模式期间可以访问 Alarm 引脚、请尝试监控该引脚。
此致、
Jim
你好、Jim
[引用 userid="71232" URL"~/support/data-switchers-group/data-switchers/f/data-switchers-forume/1106695/dac39j84-signal-dropdroping-ate-ate-sensing-and-frequency/4110871#4110871"]对于出现故障的电路板、如果您循环通电并恢复、是否保持输入振幅/恢复正常工作?]是的、没错。 在任何频率/振幅下、我们都看不到同步的奇怪行为、也看不到信号下降。
[~ userid="71232" URL"μ C/support/data-switchers-group/data-switchers/f/data-switchers-forum/1106695/dac39j84-signal-dropdits-ate-sensing-and-frequency/4110871#4110871"]\n 您的系统是否持续监控错误? [/报价]我们正在监视错误、所有错误均未屏蔽。 无论它是否正常工作、我们都不会如上所述从0x6D 寄存器中读取任何错误、除非我们首先将0x00写入该寄存器。
[引用 userid="71232" URL"~~/support/data-switchers-group/data-switchers/f/data-switchers-forume/1106695/dac39j84-signal-dropout-ate-sensing-and-frequences/4110871#4110871"]您是否已在故障电路板上对 DAC 进行过正确的测试?[/quote-fpga-fem-data-fem-drivers/drivers/fpga/sate-drivers/fpga/sate-drivers/date-drivers/date-fpga/semote-drivers/traders/fpga/sem-date-fem-drivers/fpga/semeoes=/fpga-toles/sate-drivers/femeoes/sate-drivers/fem-data-toles/sate-drivers/fpga/sat我们还没有完成任何一项、我们正在尝试通过正常测试(理想情况下通过 SPI 正确检测错误)来检测这种类型的故障。
[~ userid="71232" URL"/support/data-switchers-group/data-switchers/f/data-switchers-forum/1106695/dac39j84-signal-dropdit-ate-sensing-and-frequency/4110871#4110871"]\n 您是否能始终如一地使电路板发生故障? [/报价]是和否-如果我们对电路板进行循环通电足够长的时间、我们将看到它再次发生故障。 但它也可以在下电上电后随机开始工作、并且似乎没有任何模式的行为。
[引用 userid="71232" URL"~μ C/support/data-switchers-group/data-switchers/f/data-switchers-forum/1106695/dac39j84-signal-dropdit-ate-sensing-and-frequency/4110871#4110871"]如果您在 PRBS/引用测试模式期间可以访问 Alarm 引脚,请尝试监控该引脚。[我们可以尝试一下。
[~引脚 userid="71232" URL"/support/data-switchers-group/data-switchers/f/data-switchers-forum/1106695/dac39j84-signal-dropout at-ate-sensing-and-frequency/4110871#4110871"SYSREF 是否持续运行?
[/报价]是的
谢谢
约旦
若尔登
已确认寄存器0x6D 是"写入以清除"寄存器。 同步是否始终在故障模式下切换一次? 如果是、FPGA 是否始终在此模式下发送 K28.5字符? 如果不是、FPGA 在这种模式下是否正在完成 CGS 和 ILA 序列? 当 SYNC 恢复为低电平时、您能否监控 FPGA 发送的数据? 您可以发送 DAC 寄存器设置吗? 您是否在建立链路后尝试关闭 SYSREF 并将其关闭?
此致、
Jim
你好、Jim
感谢您的确认、在这种情况下、无论 DAC 处于良好还是不良状态、我们似乎看不到任何警报或链路错误。
发生故障时、同步似乎在不断切换。 如何检查 K28.5是否正在传输? 我将看到我们需要哪些选项来监控正在传输的数据、但很显然、链路运行得太快、无法进行外部探测。 同样、我们如何确认 CGS 和 ILA 已完成? 根据我之前发送的图像、我假设我们看到数据是在短时间内传输的。
我将向您发送我们的设置的私人消息。
是的、我已经尝试在链路运行后关闭 SYSREF、它看起来没有任何影响。
若尔登
如果您的数据来自 Xilinx 或 Intel 制造的 FPGA、您可以使用 Chipscope 或 Signal Tap 工具来监控离开 FPGA 的数据。 您还可以监控 SYNC 和 SYSREF 以及其他内部时序信号。
此致、
Jim
你好、Jim
我们现在正在研究这个问题、如果我们发现任何问题、我们会给出建议。
你好、Jim
我们尚未能够观察芯片范围中的信号、但我进行了另一项更新。
为了确定导致或重置此问题的原因、我尝试了以下操作
我认为这清楚地表明、问题与 DAC39J84有关、而不是来自 FPGA 的数据或任何外设、如时钟。 在所有情况下、我们都不会读回 DAC39J84的任何错误或警报。 您能否告知我们在数据表中捕获的测试之外是否还有其他测试? 我们是否可以进行更详细的诊断测试?
是否可以为 TI 提供此部件的 RMA 以进一步调查?
约旦
最后一项测试:当您看到此问题时、请读回 config127。 在器件加电并应用时钟后、位15必须始终为高电平。 此外、位14:10应为00000。 如果在保险丝负载期间出现错误、则将对其进行计数、结果将位于该位置。 如果出现错误或位15为低电平、则问题是进入 DAC 的时钟不良或 DAC 出现硬故障。
此致、
Jim
你好、Jim
这似乎是一个很好的线索-将一个好的 DAC 与一个坏的 DAC 进行比较、在对电路板进行下电上电时、我在一个好的 DAC 上看到 CONFIG127的读数为0x800A、因此位15为高电平、14:10为低电平、 在坏 DAC 但启动良好的情况下、它也显示为0x800A。 但在坏的循环通电时、回读值为0xCC0A 或0x900A
编辑:好的、也许不是-当我试验一个"好的" DAC 时、大约20%的时间 CONFIG127的读取显示一些错误(有时位15为低电平、或者14:10不是0)。 80%的时间为0x800A、这是正确的。 这在下电上电并重新配置时钟和 DAC 后读出、然后等待5秒后再读 CONFIG127。
约旦
一些错误不如其他错误那么重要。 我们尚未讨论的一个信号是 DAC 采样时钟的质量。 您是否已将此交流耦合并具有足够的振幅? 此信号如何在您的电路板上路由? 您能否尝试减慢此速度以查看它是否有助于清洁信号发生器或从干净的信号发生器中注入?
此致、
Jim
你好、Jim
您能否详细介绍一下 config127中的这些位是指什么、以及哪些错误在此处至关重要? Fusefarm 是指什么、 这与 DAC39J84本身的上电相关、还是与提供时钟信号的时间相关?
时钟由 LTC6951-1 (CML 输出)提供、并采用交流耦合方式、 时钟和 SYSREF 具有从时钟芯片到 DAC39J84的极短跟踪。 我可以尝试降低时钟频率并查看质量、但这可能受到我可以访问的探头类型的限制。
谢谢
约旦
编辑:
DACCLK 的示波器波形降至1.25GHz、在1.5GHz 无源600 Ω 示波器探针上捕获。 在范围上无限的持久性,我看不到任何问题。 请注意、无论 DAC 是在1.25 GHz (无内插)还是2.5 GHz (具有内插)下运行、该问题仍然存在。
约旦
屏幕截图中的幅值是否为440.7mV?
保险丝负载是指内部保险丝被设定为配置用于器件运行的内部寄存器。 如果未正确加载这些部件、则部件将无法正常工作。
我确实遇到了一个解释错误的文档、但这没有帮助。 我目前正在尝试联系负责此部件的设计人员。
此致、
Jim
你好、Jim
检查时钟发生器的另一个输出(连接到 SMA 电缆而不是探头)、1.25 GHz 时钟的单端摆幅为400mVpp (+/-200mV)、类似于探头测量中所示。 这提供了800mVpp 的差分摆幅、似乎符合的 DAC39J84数据表中 DACCLK 的规格
"V_IDPP 差分输入峰峰值电压:最小值:400mV、典型值为800mV"
若尔登
我觉得您在正确加载保险丝时遇到问题。 确保加电后和发出 RESETB 脉冲之前时钟保持稳定。 确保该脉冲宽度至少为25ns。
稳压器用于为 DAC 电源引脚提供足够高的额定电压吗?
影响保险丝负载的唯一因素是电源、时钟和复位。
另一个要尝试的方法是在 TRSTB 信号上使用较小的下拉电阻器、以确保能够过驱动内部上拉电阻器。 您不能通过将此引脚直接连接到 GND 来损坏器件。
此致、
Jim
您好、Jim、
我已经尝试在时钟被编程和稳定后切换 RESETB、然后重新编程 DAC39J84。 无论时钟在切换 RESETB 之前是否完全稳定、这种做法都不起作用。 从我看到的所有内容来看、触发行为(或解决问题)的唯一方法是仅对 DAC39J84进行下电上电- DAC39J84的重置或重新编程似乎没有任何帮助。
1.8V 和3.3V 电源轨的稳压器是 TI 的 TP7A4700 (额定输出为1A)、两个0.9V 电源轨由单独的 TPS7A8300 LDO (每个 LDO 的额定电流为2A)供电。 这应该有足够的容量为 DAC 供电。
我已将 TRSTB 短接至接地、这一点没有任何影响。
关于 FUSEARM 寄存器 CONFIG127的读取、我不知道它是否提供了合理的读数。 在"坏" DAC 上、它将读取0x900A 或0x800A、但这与 DAC 是否显示信号压降问题无关。 在"良好" DAC 上、它还具有各种可能的读数、包括0x800A、但也有其他读数、例如0xC80A。 您是否能够了解这些位实际上指的是什么?
谢谢、
约旦
若尔登
0x900A 的错误消息是"Interrupt occurred during autoload or program (自动载入或编程期间发生中断)"。 我猜是时钟停止了一小段时间、或者发生了功率损耗或复位或其器件损坏。 我没有其他有关这方面的信息。
如果保险丝未正确加载、则器件可能会间歇性工作、SPI 报告无效读取。
如果您愿意、您可以提交一份请求、要求对不良器件进行故障分析。
此致、
Jim
你好、Jim
我不确定 CONFIG127是否可靠作为此问题的指标-它可能与此相关、但我的主要问题是、我无法可靠地检测我们生产的电路板上是否会出现此问题、 这是我们的生产规模的一个问题。
在有故障的 DAC 板上、当引导错误(即显示信号丢失问题)时、CONFIG127的读数有时仍为0x800A
2.在我们尚未看到信号丢失问题的"良好" DAC 板上、我们通常从 CONFIG127读取0x800A、但有时也读取0xC80A 或0x8C0A 或0xCC0A。 无论读数如何、我们都不会看到任何信号丢失问题(或任何其他异常行为)
我能否确认:
谢谢、
约旦
若尔登
RESETB 应设置为逻辑1 (器件未处于复位状态)、而不是加电时提及的0。 这就是它在 TI EVM 上使用连接到 VDDIO18电源的1K 上拉电阻器进行配置的方式。 不确定这是否是问题、但可能值得尝试。
在 RESETB 脉冲完成之前、是否有任何 SPI 写入开始的机会?
通过查看此链、您曾两次提到您会发送寄存器设置、但我尚未收到这些设置。 您能否发送这些信息以便我们了解一下这一点?
如果您愿意发送、我们将查看您的原理图的任何部分。 如果您愿意、我们可以通过私人电子邮件来完成此操作。
此致、
Jim
你好、Jim
抱歉、我的意思是将 RESETB 设置为1 (在我们的设计中、它也通过1k 上拉至1.8V)、并由 FPGA 上的 GPIO 驱动。
我不认为在 RESETB 被脉冲时应该发生 SPI 事务、但我将确认。
请检查您的私人消息、我已发送寄存器设置和原理图片段。
谢谢
约旦
若尔登
这是我从未从任何客户处处理过的一个非常困难的问题。 我没有任何建议、但这里还有几个要尝试的地方。
1.根据您的以下意见:
您能否尝试为此电源使用实验室电源来查看这是否有帮助?
2.拆下 U13并安装 R39。 只需确保在保险丝负载期间 TRSTB 上没有毛刺脉冲。 在所有情况下、无论好坏、我们都需要让您的系统始终如一地读回0x800A 以进行 CONFIG127。
3.降低器件时钟的速度、查看这是否有助于为 CONFIG127获得0x800A 的恒定回读。
此致、
Jim
你好、Jim
我已经能够使用 DAC 板进行最小的工作引导、该板仅引导板、立即使用我们的配置文件对 DAC39J84进行编程、然后回读 CONFIG127。 在这种情况下、对于正常或不良的 DAC 板、CONFIG127回读为0x800A。 如果 DACCLK 或 SYSREF 存在或频率正确、这似乎也无关紧要。
我们正在尝试确定在完全启动过程中会导致 config127出现问题的原因、因为会发生许多额外的步骤。 在我们完成此过程时、您能否再次解释一下:
谢谢
约旦
约旦
除了我发送给您的信息之外、我找不到错误位的含义。
当器件复位(硬或软)时、或者如果请求自动载入的 SPI 位被写入高电平、这些值将从保险丝(非易失性存储器)加载到各种寄存器中。
一些熔丝位被用来为 SPI 寄存器提供它们的缺省值(包括芯片 ID)。
其他熔丝位用于模拟部分的修整、而其他一些用于对器件进行去特性处理(例如、禁用4个通道中的2个)。
此致、
Jim
你好、Jim
好消息-看起来我们对此有一个解决方案。 HDL 中似乎存在一个问题、这意味着对应于 RESETB 的复位引脚被映射到其他位置、当我认为我们实际上在切换 RESETB 时、它不是切换。 这意味着 DAC 在任何时候都没有被复位。
我认为这一点现在是合理的-器件启动方式存在引导、甚至在器件启动方式方面存在部分差异、如果器件在加电时正常工作、保险丝臂负载就很可能存在。 如果没有显式复位、某些电路板显然更有可能在错误状态下打开。 当我在时钟稳定后手动切换 RESETB 行、然后配置 DAC 后、我始终会从 CONFIG127看到0x800A、并且我不再看到最初描述的输出问题。
我们将对此进行更深入的测试、但我希望这将解决该问题。 感谢您持续的帮助、希望这是供其他人始终检查是否正在重置的良好参考...
谢谢、
约旦