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.

[参考译文] ADS1256:使用 SYNC#/PDWN#引脚代替 WAKEUP 命令的单次触发模式?

Guru**** 2538960 points
Other Parts Discussed in Thread: ADS1255, ADS1256, ADS124S08

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/916742/ads1256-one-shot-mode-with-sync-pdwn-pin-instead-of-wakeup-command

器件型号:ADS1256
主题中讨论的其他部件:ADS1255ADS124S08

您好!

SYNC#/PDWN#引脚上的->低电平->高电平序列在功能上是否与通过 SPI 发出 SYNC 和 WAKEUP 命令等效?

换言之、是否可以使用 SYNC#/PDWN#引脚操作来代替 WAKEUP 命令来触发类似于以下序列的单次转换?

待机命令

SYNC#/PDWN#引脚->低电平->高电平

DRDRDY#变为 LO

4.读取数据

此致

Niclas

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

    您好、Niclas、

    是的、您可以使用 SYNC/PWDN 引脚来控制转换时序。 数据表第20页对此进行了说明、如图18所示。 然而、使用同步将持续转换所选通道上的数据-数据表第22页中提到了这一点。 您必须再次发出 STANDBY 命令以停止转换过程、或者只需忽略额外的转换、直到您准备再次切换 SYNC/PWDN 引脚。

    请记住 SYNC/PWDN、T16和 t16B 的时序要求。 其他 e2e 帖子介绍了在满足这一时间要求方面的一些挑战: https://e2e.ti.com/support/data-converters/f/73/t/218644

    布莱恩

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

    您好、Bryan、

    很抱歉、我有点不清楚。 这尤其与单次转换模式(为了降低功耗)和退出待机模式有关。

    数据表第37页显示"要退出待机模式、请发出 WAKEUP 命令。 此命令也可用于执行单次转换(请参阅单次模式部分)。” "发出 STANDBY 命令后、确保在 CS 处于低电平时 SCLK 上没有其他活动、因为这将中断待机模式。"

    第22页:"通过使用 STANDBY 命令执行单次转换、可以显著降低 ADS1255/6的功耗;图20显示了此过程的顺序。 从待机模式发出 WAKEUP 命令以开始单次转换。"

    第20页和图18没有提到待机模式、因此根据 P37和 P22引用的文本、我假设 SYNC#/PDWN#引脚仅用于在连续转换模式下开始测量。 如果唤醒实际上是由 CS#为低电平时的 SPI 时钟活动引起的、SYNC#/PDWN#将不会唤醒 ADS1256。

    但是、在连续转换模式下、 SYNC#/PDWN#引脚->低电平->高电平转换看起来与 SYNC 和 WAKEUP 命令序列等效、因此我认为我应该仔细检查。 SYNC#/PDWN#引脚->低电平->高电平转换是否会将 ADS1256从待机模式唤醒?

    (此处的时序方面不会是问题。)

    此致

    Niclas

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

    您好、Niclas、

    感谢您澄清问题。

    由于器件的内部逻辑、单独切换 SYNC/PWDN 引脚将无法使 ADS1256退出待机模式。 最好的建议是:

    1. 使用 WAKEUP 命令、或
    2. 多次切换 SCLK、然后根据数据表要求切换 SYNC 引脚

    我们的一位设计人员通过发布8个 SCLK (DIN = 0)来模拟2中出现的行为。 请注意、由于 ADS1256数据表中未详细介绍此功能、因此我建议在您的系统中进行可靠测试、以确保方法#2在所有情况下都能正常工作、前提是您打算通过这种方法操作器件。 我们的官方建议是使用方法1。

    布莱恩

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

    您好、Bryan、谢谢您、

    在 DIN = 0时发出8个 SLK 是 WAKEUP 命令的两种变体之一、因此我恐怕#2实际上是#1、然后是 SYNC 引脚切换。 见表24。 ;-)

    换句话说、#2将唤醒 AD1256、它启动上电、然后进行转换。 SYNC 引脚切换中断此操作(如果正在进行中)并启动新的转换。 我还没有尝试了解这种中断是否会使它忘记正在加电、但我认为、如果在256 * tCLKIN 周期加电之前未触摸 SYNC 引脚(我认为这是在转换之前)、它应该是安全的。

    因此、如果您希望实现周期性半自动的自动启动转换方案、应如下所示:

    1、写入 ADS1256寄存器(如果您要更改设置)。

    2.发出 STANDBY 命令。

    3. zzzz。

    4.在切换 SYNC 引脚之前、稍微发出 WAKEUP 命令。 (在1.875MHz SPI CLK 时、WAKEUP 命令花费4.2667us、而(256 * tCLKIN)上电在7.68MHz 时花费33.333us。)

    5.对 DRDY#引脚变为低电平作出反应。 (同步变为高电平的时间为1000SPS 后为1.18ms。)

    6.发出 RDATA 命令并读取转换结果。

    7.从1重复。

    这有点复杂、但在每个周期单次转换周期中、仍然可以在相当高的待机百分比(降低功耗)下完成。

    如果 ADS1256能够在单次转换 RDATA 之后自动进入待机状态并从 SYNC 引脚自动唤醒、那将会是一种不错的选择。

    此致

    Niclas

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

    您好、Niclas、

    出于好奇、您为什么不想发出 WAKEUP 命令? 是纯粹为了获得更多的待机时间、还是有其他原因?

    我们的许多较新的 ADC 均可提供您所需的功能、例如 ADS124S08。 ADS1256是一款出色的 ADC、拥有经过验证的良好记录、我知道这对该项目没有意义、但我会考虑在您开始下一个从头设计时查看我们的一些其他 ADC。

    布莱恩

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

    您好、Bryan、

    是的、这是一个降低功耗和 MCU 空闲时间的问题、但比这大得多:

    我们正在从基于8051的 MCU 升级到最新一代 ARM、因此在 MCU 集成外设方面存在巨大差异、更不用说有效运行的原始差异(以及更多)。 这意味着必须重写低级 SW 的每个部分。 一种正确的方法是在编程开始之前准确了解平台可以提供的(MCU <->ADS1256)。 在你的杰出帮助下,我已经达到了这一点。

    在 HW TRIG 版本中、ADS1256 CLKIN 和 SYNC#/PDWN#引脚由两个同步 PWM 计时器驱动。 SYNC#/PDWN#计时器还为系统提供(大部分)时间事件生成。 一切都以 ADS1256转换开始为中心、此后、在 DRDY#变为低电平(安静系统)之前、不允许进行通信。 STANDBY 命令是 RDATA 读出的自然结束、但在由 PWM 驱动为低电平之前、需要在适当的时间为唤醒分配一个专用时间事件。 定时器有6个通道、所以它本身可以指示6个比较匹配和1个更新事件、其中大多数都有中断处理程序。 失去一个与唤醒的比较匹配并不是太"昂贵"、但如果能够将其用于其他功能(如果需要的话)会更好。 (ADS1256 DRDY#下降触发是通过 GPIO 外部中断发生的第8次事件。)

    该电路板的第一个版本只能执行 SW TRIG (SYNC 和 WAKEUP 命令)、如果 HW TRIG 版本的性能不好、它也是一个后降解决方案。 (时钟和/或同步信号耦合到模拟部件。) 现在、我将以可以轻松转换为硬件触发的方式在软件版本上开始编程。 总而言之、我将拥有最大的自由度来调节时钟频率、时钟同相或刚好相位差等。

    任何一个角落的削减都可能会破坏未来 HW TRIG 版本的成功机会、但现在我确切地知道如何使其工作:

    只需调整计时器周期和比较值、即可轻松更改转换数(以及 ADS1256数据速率(影响转换时间))。 它还消除了对系统看门狗的需求。 正在输出的大部分数据(例如通信或 ADS1256控制)都是通过循环缓冲区完成的、这样您就可以进行字节阵列的非阻塞发送(当您处于允许的时隙时)。 所有这些(以及更多)有助于实现最高性能和非常"用户界面响应"的产品。

    因此、有一种方法可以让我对细节看起来非常感兴趣。

    --

    尽管如此、对于下一次重大升级、我们可能会寻找与 ADS1256同级的仅3V ADC、因为这样可以移除5V 升压稳压器。 在这一天到来之际、我在该论坛中获得的出色支持将使德州仪器(TI)成为我的首选。 我不能夸大这种支持水平的重要性。 不要让 Bean 计数器将其带走。

    此致

    Niclas