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.

[参考译文] DAC8775:状态寄存器数据不正确

Guru**** 2536100 points


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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/935831/dac8775-status-register-data-incorrect

器件型号:DAC8775

大家好、我将在0-15V 和4-20mA 设置下使用 DAC 8775。 尽管 IC 运行良好、但我们遇到了2个问题:
1)当任何(或所有)通道在未加载的情况下设置为当前模式时,IC 会记录错误。

2)读取错误代码(状态寄存器)会返回 giberish 的答案:34、923 (1000100000000111)。 当我们在电流模式下激活不同通道或加载除一个通道之外的所有通道时、我会收到相同的值。 我已经测试了多个芯片、所有芯片都出现了相同的问题。

请提供建议。

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

    尊敬的 Anil:

    这可能有几个原因、但让我们回顾一下基础知识:

    1.您能否共享原理图?

    2.能否验证您的 SPI 命令是否有效并符合时序要求? 请随意分享两个读取命令的范围截图。

    谢谢、

    Paul

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

    感谢 Paul 的回复、

    我认为 SPI 时序没有任何问题、因为所有其他命令(例如打开降压增压器或选择输出值)似乎都可以正常工作。 为了读取状态寄存器、我们尝试了0x8b0000和0x0b0000命令。


    以下是该器件的原理图;

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

    嗯、回读0x8807可能具有意义。  MSB 是一个保留位、但是你可以有一个看门狗定时器警报。  您是否启用了报警?  

    由于 SPI 主器件中存在错误、该数据也可能在回读时进行位移。  示波器捕获将确认这一点。  如果它被左移、它实际上可能只是0x010F、这意味着所有通道都处于故障状态。  所有配置寄存器是否都正确回读(与写入的值相同)?

    如果您有开路负载、则故障位(FA、FB、FC、FD)可以置为有效、因为这是一种故障条件。   

    谢谢、

    Paul

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

    您好 Paul、

    正如我先前所说的那样、我们在读取状态寄存器时似乎只有一个问题。 我可以将通道设置为电流/电压模式、设置特定值、控制降压升压器、设置 AD 读取偏移、设置和读取器件 ID。 如果您想让我们测试特定的寄存器、我可以对其进行仔细检查。

    我尚未打开 WDT 警报、并且从数据表中可以看到、默认情况下设置为 false。

    这是主要问题:就像您一样、我也怀疑我们的时序可能有故障、因此我做了一些测试。 我特意将选择通道设置为开路条件、以产生可预测的误差。 遗憾的是、无论我选择哪种组合、我都能得到相同的答案。

    监听此信道的通信尤其困难、因为无论怎样、我们都没有任何测试点、我似乎在管理它。 结果如下:
    请注意、青色是时钟、黄色是 MOSI、品红色是 MISO。

    谢谢、

    Anıl μ A

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

    尊敬的 Aniz:

    我认为您会得到不一致的结果、因为您违反了器件的最大时序要求。  该器件支持25MHz 的最大 SCLK 频率、您的工作频率似乎接近60MHz。  数据可能被错误地锁存、SDO 线路可能无法以该速度驱动输出、因此回读无效。

    作为调试步骤、请尝试显著减少 SPI 时序。  我想您可以从最大允许速度开始、但最好检查一下使用非常慢的东西、例如10MHz 来验证响应。

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

    您好 Paul、

    我已将时钟速度降低至750kbit/s、以保持在安全侧。 我还移除了 MISO 侧的上拉电阻器、以获得清晰的信号。 然而,这种反应仍然是一样的;8bc7

    以下是示波器照片。 再说一次、黄色是 MOSI、青色是时钟、 品红色是 MISO

    谢谢、

    Anıl μ A

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

    为了澄清一下、当您执行读取操作时、您发出两条命令、对吧? 例如、发送0x8B0000、然后发送 NOP 命令0x000000。  回读对第二条命令有效。   

    我只想验证这一点、否则器件可能会回显上一条命令。

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

    您好 Paul、


    事实上,这似乎是问题所在。 年龄越大,年龄越大,错误越小,就越难消除。

    对于可能阅读此主题的所有其他人来说、问题似乎是两个方面、

    1) 1)对 SPI (第二沿)使用正确的边沿检测

    2) 2)所有读取命令都需要一个不正确的命令。

    真正令人惊讶的是、即使设置错误、此 IC 也几乎可以对其他所有命令做出正确响应。

    感谢所有的帮助。

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

    听得非常好!

    谢谢、

    Paul