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.

[参考译文] DAC81416:寄存器不更新、只有一个例外。 可以读取。

Guru**** 2534410 points


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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1064567/dac81416-registers-not-updating-with-one-exception-can-read

器件型号:DAC81416

大家好、团队、

请帮助我们的客户回答以下问题。

当我们向 DAC 发送 SPI 代码以更新它们时、除了能够更新 BRDCONFIG 寄存器之外、该 DAC 上的寄存器不会更新。 我们可以发送读取命令并返回信息、这只是在尝试使寄存器退出关断模式或其他模式时写入寄存器。 我们不会尝试使用 LDAC、CLR 或复位、因此我们将这些值保持在高电平、但可以根据需要在 FPGA 上进行更改。 此外、我们不使用切换。

所有输出不会改变并保持固定在16mV、whoami 寄存器返回正确的值、其他配置寄存器仍停留在其复位值时(也无法更改它们)。

感谢你的帮助。

此致、
卡洛

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

    您好、Carlo、

    您是否可以让客户读取 所有寄存器并让我知道每个寄存器中存储的值? 由于 SPI 读取和写入能够写入 BRDCONFIG 寄存器、因此它们看起来工作正常。 他们可能具有错误的配置设置。  

    还可以共享原理图吗? 是否正在使用内部基准? 电源电压是多少?  

    最棒的

    Katlynne Jones

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

    您好 Katlynne、

    为了回答这些问题、在读取寄存器时、它们似乎都是数据表指定的默认值。 BRDCONFIG 寄存器读作默认值、直到我们对其进行写操作、然后读出我们写的值。 我们尝试使用内部基准、但对于数据表而言、这在默认情况下不是开启的、在测试期间、我可以告诉您。 我在下面附上了一个原理图。 我们的两个芯片分别在+20V 和-20V 的 DAC_ANALOG_HIGH 和 DAC_ANALOG_LOW 下运行。 我们还有一个 DAC、我们将这些值提供给+/-5V、这是一个错误、但我们在所有3个 DAC 上面临的问题都是相同的、这使我认为这是一个我们将自己处理的不相关问题。 DAC_REF 网络连接到引脚接头、因此我们可以对其进行检查。 LDAC、RESET、CLR、SDO、SDI、 SCK 和 CS 全部发送到 FPGA、我们在 FPGA 中尝试设置所有内容。 我们仔细检查了 LDAC、RESET 和 CLR 是否处于适当的电平。

    如果您需要其他详细信息、请告诉我。

    此致、
    卡洛

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

    您好、Carlo、

    当我们第三次回到办公室时、我们必须看看这一点。

    谢谢、

    Paul

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

    您好、Carlo、

    我正在与设计团队确认、但我怀疑 DAC 数据寄存器是只写的、这将解释为什么您能够从某些寄存器读取、而不是从数据寄存器读取。 请告诉我客户写入 配置寄存器的内容。 需要向 GENCONFIG 寄存器中的 REF-PWDWN 位写入0来为内部基准供电。 默认情况下、DAC 断电、因此需要将0x0000写入 DACPWDWN 寄存器。 它们可以从 DACRANGE 寄存器中的0至5V 的默认范围开始。 他们是否尝试写入其他设置?  

    让他们尝试上述设置、让我知道他们是否能够在 DAC_REF 测试点上看到内部基准。  

    最棒的

    Katlynne Jones

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

    您好 Katlynne、

    请参阅我们客户的以下回复:

    我看了一下、我也能够写入 SPI_CONFIG 寄存器。 当我尝试写入错误的寄存器时、我正在写入错误的寄存器。 我现在能够在 DAC REF 引脚上看到2.4V 电压、但我需要仔细检查该寄存器中的内容、以确保寄存器设置为正确的值。
    我仍然无法看到输出电压。 我记下了我要更改的初始化内容。 它也不完全完整、因为我还尝试更改设置输出摆幅的寄存器。 我已附上一个表、其中列出了我尝试按顺序进行初始化配置的内容。 在 gen_config 和第二个断电之间、我尝试设置输出摆幅配置。

    如果您需要其他详细信息、请告诉我。

    此致、
    卡洛

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

    您好!

    数据寄存器为只写(0x10至0x1F)。

    除了 SPI_CONFIG、您的配置在我看来是正确的。

    SPI_CONFIG 您需要写入0x0A84以启用 SDO 和启用器件。

    您无需编写两次 GEN_CONFIG。

    配置完成后、发送 DAC_DATA 以查看您是否获得电压输出。

    此致、

    AK

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

    你好、AK、

    我们的客户正在使用 FSDO、因此 SPICDedi4寄存器被配置为0A86而不是0A84。 您能否澄清一下您在数据寄存器中所指的内容:这是否指的是 DACn 寄存器? 请参阅以下客户回复的其他详细信息:

    我正在努力处理我无法写入的其他几个寄存器。 即 DACRANGEn、DACPWRDWN 和 DACn 寄存器、它们在启动时都不会改变它们的默认值。

    此外、GENCONFIG 寄存器现在将返回0000、这对我来说是令人惊讶的、因为我预期该寄存器的保留位将相同、而我写入的值将使这些保留位保持不变。 不过、我现在可以看到引脚上的内部基准。

    我已随附数据表中的屏幕截图、了解我所指的寄存器是否有用。


    附录:

    状态寄存器也将返回0008。 我不确定这意味着什么、因为数据表将该非零位称为保留位。 我希望这是一个警报、会告诉我发生了什么错误、但它只是说保留在数据表中。

    此致、
    卡洛

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

    您好、Carlo、

    DACn 数据寄存器为只写寄存器(这是数据表中的一个拼写错误)。 如果您尝试读取它们、它们将返回0。  DACRANGE 寄存器也是只写的、数据表中有以下提到:

    DACPWDN 寄存器也可以是只写的。 我正在尝试与设计人员确认这一点。  

    客户是否曾尝试写入您在上一帖子中共享的序列并检查输出? 我不会依赖读回这些寄存器、直到我可以确认哪些寄存器实际上是可读的。  

    我还将与设计人员核实 状态寄存器中的0x0008是否意味着任何东西。  

    最棒的

    Katlynne Jones

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

    您好、Carlo、

    状态寄存器读取0x0008是正常的。 DACPWDN 为 R/W、因此客户应能够在所有 DAC 通道上电后读回0x0000。 我已经向设计团队确认、DACn 数据、BRDCASR 和 DACRANGE 都是只写寄存器。  

    最棒的

    Katlynne Jones

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

    您好 Katlynne、

    我们的客户在其探测的点仍然看不到输出电压、并且未从 PWRDWN 寄存器读回0x0000。 是否还有其他寄存器用于设置通道活动、而不是 BRDCST_CONFIG 和 GEN_CONFIG?

    此致、
    卡洛

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

    您好、Carlo、

    GENCONFIG 应该为内部基准加电、并且 DIF-EN 位应该保持缺省状态以禁用差分输出模式。  

    如果希望 BRDcast 寄存器更新 DAC 通道、则应将 BRDCONFIG 保留为默认值(0xFFFF)。 否则、对于不希望通过 BRDCAST 寄存器更新的每个通道、请将 EN 设置为0。

    SYNCCONFIG 应保留为其默认值(0x0000)、以便在异步模式下更新通道。  

    TOGGCONFIG0/1应保留为其默认值(0x0000)、除非您要使用切换功能。  

    DACPWDN 应设置为0x0000、以便为所有通道加电。  

    DACRANGEn 应该被设定为适当 的范围。 您可以尝试保留 默认值(0x0000)以进行调试。  

    BRDCAAST 用于设置所有通道的输出、 DACn-BrdCASTD-EN 设置为1。  

    DACn 被用来为其相应的输出通道设定输出。  

     

    这些寄存器都与设置 DAC 输出有关。 客户可以发送一份示波器截图、说明他们在 CS、SCLK 和 SDI 线路中对 DACPWDN 寄存器的写入和读取操作。 他们的 SPI 通信中可能有一些导致该寄存器不更新的东西。  

    目前是否有任何负载连接到 DAC 输出?  

    最棒的

    Katlynne Jones

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

    尝试让客户只写:

    0x3 0x0086

    0x4 0x3F00

    0x9 0x0000

    0xF 0xFFFF

    将其他所有内容保留为默认值。 这应通过广播寄存器将所有 DAC 输出设置为5V。  

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

    您好 Katlynne、

    我们的客户尝试了建议的故障排除方法、将所有 DAC 全部发送到5V、并且输出仍然保持在15-16mV 左右、并且根据他们可以得出的结果是浮动的。
    期待您的进一步帮助。

    此致、
    卡洛

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

    您好、Carlo、

    请让 客户发送一份示波器截图、说明他们在 CS、SCLK 和 SDI 线路中写入和读取 DACPWDN 寄存器的情况。 它们的 SPI 通信中可能有导致该寄存器不更新的内容。 我 已经看到  、有时错误的 SPI 模式设置允许与某些寄存器通信、而不允许与其他寄存器通信。  

    另一个想法是、内部基准 应该非常接近2.5V:

    您提到客户在2.4V 电压下测量了该电压。  您可以再次让他们进行双重检查吗? 您能否确认电源电 压为±20V、LDAC、CLR、RESET 保持在预期的 VIO 电压(客户原理图中的3.3V)。  

    最棒的

    Katlynne Jones

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

    您好 Katlynne、

    请参阅以下答案。

    我在下面添加了尝试写入 PWRDWN 寄存器的示波器图像。 如果 CS 和示波器上的该通道发生故障、从而使其永久交流耦合、则绿色曲线图会显示。 紫色表示从器件输出(在本例中、我没有读取、它应该只回显我发送的写入命令)、红色表示主器件输出/从器件输入、黄色表示 SCLK。 如果您完全想使用 csv 格式、我还随函附上了该格式。

    e2e.ti.com/.../scope_5F00_2.csv

    我还检查了 VREF 为2.4V、LDAC、CLR 和 RESET 保持在3.3V。


    此致、
    卡洛

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

    您好、Carlo、

    感谢您提供示波器屏幕截图并确认这些值。 查看示波器屏幕截图、我看到寄存器地址被写入0xA 或0x5。 PWDWN 寄存器 是 地址0x9。 您能否再次检查它们是否写入了正确的寄存器地址? SPI 模式对我来说是正确的。  

    最棒的

    Katlynne Jones

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

    您好 Katlynne、

    我们的客户先前为 PWRDWN 寄存器发送了错误的信号部分。 请参阅下面的正确答案。

    此致、
    卡洛

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

    您好、Carlo、

    我正在与我的团队一起查看这一点。 我们很快就会回复您。  

    最棒的

    Katlynne Jones

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

    您好、Carlo、

    客户的电源功能是什么? 具体而言、+5V、DAC_ANALOG_HIGH 和 DAC_ANALOG_LOW 电流驱动能力? 当您从断电状态启用 DAC 并且/或者让 DAC 在具有某种电阻或电容负载的情况下更改代码时、您会期望器件的电流消耗会增加、即使只是短暂的电流消耗(对于电容负载)也是如此。  我怀疑当您启用 DAC 时、您的电源会在短时间内崩溃、从而迫使器件复位。  您能否在更新时监控这些电源轨?

    谢谢、

    Paul

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

    您好 Paul、

    请参阅我们客户的回答:

    我检查了电源、当我尝试更改寄存器时、电流没有明显上升。 电容器可能还无法跟上、但我遵循了我认为旁路的数据表建议、您是否可以让设计团队仔细检查我的原理图? 另外、在尝试配置后、一些寄存器保持其写入配置、这是否意味着不会发生上电复位事件? 您能否与设计团队再次核实哪些寄存器受上电复位影响?

    此致、
    卡洛

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

    我现在检查这个。

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

    您好 Paul、

    请分享更新。 谢谢你。

    此致、
    卡洛

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

    您好、Carlo、很抱歉耽误你的时间。  我仍在与团队一起研究一些细节。  我明天会得到答复。

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

    您好、Carlo、  

    很抱歉耽误你的时间。

    我们订购了 EVM 、以跨越非常严重的行为。  大多数情况下、我会在明天获得它。  

    此外,我还从该主题中了解到,客户可以读取设备,但写入却不会发生? 并且无法获得任何输出。  

    同时、您能否请客户发送读写传输快照。  我可以看到一些咬接式螺纹、但我不清楚这一点。

    通过 SCLK、SDIN、SDO、SYNC 和 LDACn 发送 SNAP 、用于读取和写入。