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.

[参考译文] DAC61416:只能对读取命令使用 SDO

Guru**** 2692745 points

Other Parts Discussed in Thread: DAC61416

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1598103/dac61416-use-sdo-only-on-a-read-command

器件型号: DAC61416

尊敬的 exparts:

DAC61416 数据表的 CRC 错误检查一节介绍了以下内容。
“在写命令之后、可以发出第二个访问周期以确定 SDO 引脚上的错误检查结果(CRC-ERROR 位)。“

  1. 这意味着在写入命令之后将 CS 降低时、包括 CRC 错误在内的错误校验帧将从 SDO 引脚返回。
  2. 是否有方法只对读取命令使用 SDO?

上述问题的背景情况如下。

  1. 为了确保数据完整性->使用 ALMOUT 而不是 SDO 回读的监视器、需要进行 CRC 检查。
  2. 想要监控读取命令、以确认 DAC 本身的运行状况->为读取命令启用 SDO-EN。
  3. 当 SDO-EN 启用时、读回发生在写入命令期间、写入周期需要的时间是预期的两倍。

如果有办法解决除上述 2 之外增加写入周期的问题、请告诉我。

此致、
Hiromu

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

    Susami-San,

    我认为没有办法减少通信数量来验证 CRC 中的错误。 我认为最好的办法是检查 CRC-ALM 位的状态寄存器 (0x02)。

    这将涉及使用 SPICONFIG 寄存器中的 CRCALM-EN 和 CRC-EN(寄存器 0x03 中的位 9 和位 4)启用 CRC 和警报。

    触发警报时、读取 0x02 中的状态寄存器。 这需要两个通信帧、第一个帧告知器件您要从寄存器读取数据、然后使用 NOP 帧在时钟沿输出寄存器中的数据。 一旦确定警报来自 CRC、您就可以重新写入之前的寄存器写入。

    Joseph Wu

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

    您好、Joseph:

    感谢您发送编修。

    "在“在写入命令之后、可以发出第二个访问周期来确定 SDO 引脚上的错误检查结果(CRC-ERROR 位)。“

    我想确认这一点。 这是否意味着在连续将 CH1 写入 CH16 时、SDO 会返回包含先前并行写访问的 CRC 错误位的帧? 下图展示了我对该 CRC 错误检查的理解。

    此致、
    Hiromu

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

    尊敬的  Hiromu-San:

    是的、您是对的。 连续将 CH1 写入 CH16、SDO 会返回包含上一次并行写入访问的 CRC 错误位的帧。  

    谢谢、
    Sanjay