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.

[参考译文] ADS8661:ADS8661应用手册

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/767154/ads8661-ads8661-application-note

器件型号:ADS8661
主题中讨论的其他器件: ADS8688ADS8674ADS8665

大家好、

我购买了 ADS8661。 我想对该器件进行编程、但找不到任何用于开发的应用手册。 是否有任何程序示例或代码。

谢谢

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

    是否有其他人使用此 IC?

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

    Fatih Aksoy、您好!

    遗憾的是、我们没有发布 ADC ADS8661的示例软件代码、但我们有一个 ADS8688的源代码(.c)、其内部前端和 SPI 接口与 ADS8661类似。 有关详细信息、请参阅网络链接:

    www.ti.com/.../ads8688sw-linux

    git.kernel.org/.../ti-ads8688.c

    ADS8661产品文件夹下有一个应用手册、用于了解与 AFE 相关的 ADC 错误、其中涵盖了 ADS8661器件 fyi:

    http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=sbaa319&fileType=pdf

    如果您需要进一步的支持、请告诉我。

    此致

    戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用的是8674 (14位、多通道)、这在概念上类似于8661。

    8661数据表的快速浏览显示、对于基本操作、它非常容易使用。
    在一个电源循环/复位后、针对简单的转换操作、所有的缺省值被适当设置。 可以对器件进行查询、以获得开箱即用的转换结果。 如果使用默认范围(+-12V)、则无需考虑任何配置寄存器。
    如果您使用标准 SPI 协议、就不会出现意外情况。 仅具有一条芯片选择线路和每次传输两个字节的标准 SPI、而芯片选择为低电平。

    要开始转换/获取结果、只需对任何内容进行16位传输(视为 NOP、因为对于有效的寄存器读下写命令来说它不是32位)即可触发新的转换、等待最长的转换时间、 然后发送下一个 NOP 命令(触发下一个转换)、同时在接收到的16位的12个 MSB 中接收最后一次转换的结果。
    请记住、转换从 CS 的上升沿开始、因此当您发送 NOP 命令时、您会在您发送的最后一个 NOP 之后立即获得转换结果表单(如果您的上次传输是在一段时间前、可能会过时)。 您始终必须从 NOP 开始并丢弃接收到的数据、在接收数据时继续使用 NOP、然后以附加 NOP 结束以获取最后的转换结果。

    如果需要、您可以使用检查 RVS 引脚来替换最长转换时间的延迟(当 CS 变为低电平时变为低电平、而在转换完成时变为高电平)。 因此、您可以通过端口引脚中断自动查询 RVS 上升沿的结果。 请注意、转换完成后、需要550ns 的最小采集时间、该时间在 RVS 变为高电平时开始。 当8661的 SPI 时钟速度为29MHz 或更低时、它与16个 NOP 命令 SPI 时钟周期相匹配(8665为16MHz、持续1000ns)

    如果您需要不同的输入范围、则需要在每次重启/复位后使用单个32位写入命令设置范围控制寄存器一次。

    如何使用 MCU 的 SPI 接口取决于您使用的 MCU。 从两个接收到的字节中提取12个 MSB 并将该值转换为电压值不需要任何帮助。

    (P.s.s.:我不会回到 E2E 的积极工作中。 我之所以回答这个帖子、是因为我收到了您的友谊请求、并注意到这是将您带到 E2E 的最初问题-提醒我9年前进入 E2E 的原因)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jens:

    感谢您发帖、但 ADS8674的计时与 ADS8624的计时稍有不同。 ADS8674在/CS 的下降沿启动转换、在转换期间 ADS8661 可以在 CONVST/CS 信号的上升沿启动转换、但在数据转换期间不需要 SCLK 时钟以及 SDI 上的任何数据、这是不同的。  此外、ADS8661上的 SPI 接口是 multiSPI、这是一种非常灵活的串行接口。

    Fatih Aksoy、您好!

    请查看 ADS8661数据表。如果您对使用此 ADC 有任何疑问、请告诉我、我很乐意为您提供帮助和支持。

    此致

    戴尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Dale、我曾明确提到 ADS8661/5及其时序。 但是、我错误地采用了转换时间、而不是计算的采集时间(在 ADS8665上、两者都是相同的)。

    当然、该器件的运行不需要 SPI 时钟、我并不是说它。 我的示例仅意味着、在特定的最大 SPI 时钟下、您可以开始发送下一个 NOP/读取转换结果)、在这16个 SPI 时钟周期之后、所需的采集时间已经过去、从该传输结束开始的转换将提供有效结果。
    如果您使用较高的 SPI 时钟、则必须将下一次传输的开始延迟到 RVS 变为高电平之后、因此传输不会结束、因此在所需的采集时间过去之前开始新的转换。
    这不是因为 ADS 需要 SPI 时钟、而是将 SPI 传输与所需的转换时序同步、因此您不必担心它们。
    由于我使用了错误的时序、因此 ADS8661的频率为48MHz、而不是29MHz。

    尽管 ADS8661提供 multiSPI 接口、但它是一个选项、不是必须的、需要额外的配置和软件工作。 我说的是直接使用、无需研究应用手册和写作库等 毕竟、硬件中没有多少器件支持该功能、因此您需要额外的软件来加入两个并行数据流、这需要 CPU 电源并限制了最大的有用 SPI 时钟。 这抵消了速度增益。 使用具有两倍 SPI 时钟的简单 SPI 可提供相同的吞吐量、并可在普通 SPI 硬件中完成。 根据 MCU 的不同、根本不使用 multiSPI 更好、而在任何 CPU 上、更简单、因为 SPI 接口允许66.67MHz (48MHz 足以实现最大吞吐量和最小处理开销、对于 ADS8665为16MHz)

    如果您的 MCU 以低 MHz 而不是多 GHz 运行、那么需要注意计时通常会产生开销、最终会降低最大吞吐量。 无论如何、它会增加编码工作和可能的问题漏洞。 为什么不让硬件尽可能多地完成工作?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Jens-Michael、您好!

    感谢您的深刻见解! 我们将在下一代器件中考虑这一点。