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.

[参考译文] ADS8674:读取寄存器时出错

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/672309/ads8674-error-reading-registers

器件型号:ADS8674
主题中讨论的其他器件: ADS8678

ADS8674/ADS8678器件的 SPI 信号连接到处理器上的 GPIO 线路、并通过软件进行控制、以实现器件的 SPI 协议。  上电后、器件的第一个命令是读取 AUTO_SEQ_EN 寄存器(0x01)、该寄存器应返回0x0F (ADS8674)或0xFF (ADS8678)的值。  但是、接收到的值是0x0E 或0xFE、具体取决于器件。  使用了多个器件、结果相同。  

运行的时序显示在示波器跟踪中、它似乎与数据表中的要求相匹配。  请注意、为了保持器件的占空比规格、时钟频率相当慢、但没有针对时钟频率的最小规格。

此外、读取和写入其他寄存器似乎无法正常运行。  评估模块是否提供了任何可用作参考的实际时序跟踪、以尝试查找问题?  

谢谢

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

    您好 Fred、

    我相信您正在写入器件。 SDI 位8应为低电平读取、高电平写入

    您目前正在将0x00写入寄存器地址0x00。  

    我建议查看 数据表的第50页及后续部分

    希望这会有所帮助

    Cynthia

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

    您好、Cynthia、

    感谢您的回答。 不过、在 SCLK 的第八个下降沿上、SDI 线看起来是低电平、这将是对寄存器0x01的读取。  此外、如果寄存器正在被写入、我希望在数据表中描述的时钟周期17-24期间写入的数据在 SDO 线上重复。  

    谢谢、

    Fred

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Fred、
    看到您无法读取或写入寄存器的情况、我猜您与器件的通信不正确。 通常、首先要对器件进行写入和读取操作、以确保根据需要进行通信。
    我正在努力获取硬件、但这需要一些时间。 同时、您是否能够分享显示其他努力与器件进行通信的其他射门。 此外、最好在每次尝试之间重置器件、以确保没有残留错误。
    此致
    Cynthia
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Fred、

    我也无法使器件进行通信。 无论 SPI 模式如何、我得到的都是0。 但是、如果是您提供的图片、则会发出32个 CLKS (4字节)。 "程序寄存器读取/写入操作"的协议为24 CLKS (3字节)。 第一个字节是地址加上读取/写入位以下字节中的一个、不考虑读取操作、或者写入操作时要写入的字节。 最后一个字节用于读取电流设置。

    如果您使其正常工作、我希望使用一些源代码来初始化芯片。 我似乎根本无法使器件正常工作、并且我已使用各种命令尝试了所有4种 SPI 模式、执行了复位等
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们为 ADS8678购买了评估板、并验证了器件的读/写时序与我们所做的相同、但速度要高得多。  实际上、评估板上的 SCLK 速率似乎约为25MHz、大于指定的17MHz。  这也会导致转换时间为640ns、 低于850ns 规格。

    评估板的文档介绍了如何为 SPI 信号使用49.9 Ω 串联端接电阻。  将这些内容添加到我们的硬件中可以在不改变任何信号时序的情况下纠正问题。  我们之前有时不得不为 SPI 接口使用端接电阻器、但我不记得曾经使用过这么大的值。  此时一切似乎都按预期工作。

    示波器跟踪显示从评估板读取值为0x81的寄存器0x01。

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

    供我参考、我解决了我的问题。  我遇到了与主机微控制器无关的问题。  用于控制 RST/PD 信号的引脚被另一个控制引脚方向寄存器的外设错误地占用。  一旦我发现并纠正了这个问题、ADC 的运行方式就会如预期的那样。

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

    很高兴问题得到解决!