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.

[参考译文] DAC8760:DAC8760 CRC 位设置时间

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1330441/dac8760-dac8760-crc-bit-setting-up-time

器件型号:DAC8760

团队、您好!  

      两个 DAC 连接到 MCU 的同一 SPI 线路。 我们的设计与 DAC8760数据表中提到的设计类似(即、我们使用栅极选择每个 DAC 并为其提供时钟)。 在我们的应用中、我们需要执行 DAC8760电源切断(两个 DAC)并将电源恢复为 DAC、然后在 for 循环中为每个 DAC 依次设置 CRC、写入输出和写入控制寄存器。

      我们观察到的是、当 DAC 在切断其电源后恢复供电时、我们初始化 DAC (0x560001)、为 DAC1设置 CRC (0x570008)、为 DAC 2设置 CRC  (0x570008)

      写入 DAC1的 DAC 数据寄存器(0x01xxxx)、写入 DAC1的控制寄存器(0x55100x)。  

      写入 DAC2的 DAC 数据寄存器(0x01xxxx)、写入 DAC2的控制寄存器(0x55100x)。

      我们已运行耐久性测试、发现在每次 DAC1的随机周期后、配置中的 CRC 位都未设置、这是因为在写入 DAC 期间发送的4字节帧会被阻止。

      通常、DAC8760需要多长时间才能在配置寄存器中设置 CRC 位?  

      我们将在 for 循环中为两个 DAC 设置 CRC 位、该循环是否会对 CRC 设置产生任何影响?

CRC 设置部分代码如下所示、

对于(uint8_t i = 0;i<2;i++)

{

 //通过写入0x57008来设置 CRC 位;(3字节 SPI 帧)

此致、

纳温

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

    您好、Naveen:

    我有几个初始问题可以排除任何其他通信问题。

    您是否能够验证 SPI 消息是否可正确到达这两个器件? 您能否共享 DAC1与 DAC2 CRC 写入的捕获结果?

    此外、如果您随后写入了额外的4字节帧、DAC1是否接受它们?

    谢谢。
    卢卡斯

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

    您好、Lucas:

     您能否共享 DAC1与 DAC2 CRC 写入的捕获结果? - 不幸的是,我们没有办法焊接 SPI 测试点,因为它是一个最终的产品。

     如果您随后写入了额外的4字节帧、DAC1是否接受它们? -否

    因此、代码片段看起来像这样、

    if (crc_stat[i]== reset)
    {
     写入0x57008 //设置 CRC 位
     延迟100us
     读取 CRC 状态 0x02000B
     读取 CRC 状态0x000000  
     如果(crc_stat[i] == 0x08)
     {
      crc_stat[i] =设置;
     }

    if (crc_stat[i] == set)
    {
     写入数据0x01xxxx;
     配置0x55100x;

    如果正确读回 CRC 设置和 CRC 位、则 DAC 应该可以正常工作、但我们会看到突出显示的器件存在问题。

    此芯片设置的 CRC 位需要多长时间、 DAC8760的内部 CRC 硬件是什么样的?

    此致、

    纳温

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

    您好、Naveen:

    如果 CRC 使能是您首先发送到器件的操作、数据表建议在之后发送 no operation 命令。 这可以通过切换锁存器来实现。

    有关 CRC 校验的更多信息、我建议参考部分 8.3.10帧错误检查  应用和实现部分。

    除了在写入/读取之间有单独的帧外、不应有任何时序要求。

    如果这无法解决 CRC 问题、则表明问题可能 来自主机的 SPI 通信、可能需要验证。

    谢谢。
    卢卡斯

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

    您好、Lucas:

    我将 CRC 设置部分移位为循环中设置 CRC 位的其他功能(以排除 CRC 位需要一些时间才能设置)、如果设置了 CRC 位、我不再设置、否则、我将再次设置。 这解决了问题。 谢谢。

    此致、

    Naveen。

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

    您好、Naveen:

    我很高兴问题得到解决、感谢您让我知道您的解决方法。

    谢谢。
    卢卡斯