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.

[参考译文] ADS1282EVM-PDK:尝试将 ADS1282集成到 MCU、不知道如何应用 SYNC 信号

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/750604/ads1282evm-pdk-trying-to-integrate-the-ads1282-to-a-mcu-and-don-t-know-how-to-apply-the-sync-signal

器件型号:ADS1282EVM-PDK
主题中讨论的其他器件:CC1352RADCProADS1282ADS1283

您好!

我已将完整的 EVM-PDK 与 ADCPro 一起使用、它已按预期正确运行。 现在 、我想使用 SPI 接口仅将 EVM 连接到外部微控制器(CC1352R)。

在进行物理连接时、我刚刚意识到没有 SYNC 引脚可从微控制器连接到我的数字输出引脚。 然后、当我阅读 EVM-PDK 的数据表时、我遇到了以下 语句:

"一些数字信号由 J5上的引脚直接控制。 其他信号、例如 SYNC、MFLAG、PMODE 和复位控制、 只能由 U7控制。 这些信号通过 J5的引脚16和20上的 I 2C 信号进行配置和读取。 格式和模式引脚可通过两种方法进行控制(J5上的 GPIO 引脚和 U7的 I 2C 控制)。"

我应该学习如何通过 I2C 与 U7通信吗? 如果是、您有什么提示吗?

或者有一个引脚可以直接连接 到我的微控制器输出?  

提前感谢!

下图显示了物理连接:

EVM-PDK 中的 J5用于为 EVM 供电、而 J5A 用于 SPI CLK、SPI MISO、SPI MOSI 和 DRDY 引脚。

Sara

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

    您好、Sara、

    ADS1282EVM 子卡上的 U7无疑给将此板连接到另一个微控制器带来了挑战...

    这里有几个选项:

    1. (我建议)将这些 GPIO 引脚保持在其默认状态、而不是控制它们、而是尝试使用 SPI 命令。 (注意:ADS1282EVM 上的 RA1A 和 RA2A 拉电阻器应将 GPIO 引脚设置为固定的工作状态、以便您无需设置它们)。



      1. 注意: 对于微控制器而言、可能很难满足非常严格的同步引脚时序要求(有关详细信息、请参阅此 E2E 主题)、甚至更难尝试使用 U7。 因此、我会避免使用 SYNC 引脚、但如果您确实需要使用它、我建议您多次切换它、以帮助确保始终执行同步操作。
         

    2. 另一种选择是尝试将一根导线焊接到 U7附近的过孔、以便绕过 U7并直接从微控制器控制这些引脚。 我不确定 U7的默认输出状态、但您可能需要将其删除以避免信号争用。
       


    3. 最后、最后一个选项是只需花费额外的时间来编写 I2C 代码以与 U7连接、但我与您在一起、如果可以避免、我不想这样做。

    此致、
    Chris

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

    Chris、

    再次感谢您在本主题为#ADS1282时为我提供帮助!

    我有一些意见:

    由于我提出了这个问题、我至少尝试通过 SPI 对 CONFIG0和 CONFIG1寄存器执行读取命令、以确保它们处于数据表(0x52和0x08)的默认值中、并验证我的 SPI 通信。 一切都很好:),然后我只是在等待了解同步。 这是下一步。

    2.我实际上尚未实现 SYNC 命令、我将使用它、因此我可以在引脚上或通过使用 I2C 来执行它。 我目前所需要的只是证明我可以接收数字值并继续在 MCU 中执行代码。 但是、您给我带来了一个我尚未意识到的新问题:SYNC 取决于 SPI 时钟信号。 我的应用具有3个 ADS1282、我需要同步它们(所有读数必须同时完成) 由于 ADS1282没有 SPI CS 引脚、我需要对时钟进行多路信号解复用、因此我无法同时发送同步命令或发送同步脉冲。 (仍然不知道该怎么做)。 缺少的 CS 引脚只会带来更多问题... ADS1283具有 CS 引脚、但未销售。

    实际上、我没有实现 SYNC 命令、因为 在 ADS1282数据表(第39页)的"配置指南"部分中、第5步是:

    " 5. 同步读数。 每当 SYNC 为高电平时、ADS1282自由运行数据转换。要停止并重新同步转换、请采用 SYNC、LOW、然后采用 HIGH。" 我认为有必要进行实际干预。  


    此致、

    Sara

    5.同步读数。 只要 SYNC 为高电平、排序可能会导致错误的 SCLK 检测)。 ADS1282可自由运行数据转换。 复位 SPI 接口、切换 RESET 引脚、或者、要停止和重新同步转换、在连续读取数据模式下进行同步、将 SCLK 保持在低电平、然后保持高电平

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

    克里斯托弗·霍尔

    现在、我还有另一个问题:

    "配置指南"中的步骤6还指出:

    "六. 读取数据。 如果连续读取数据模式有效、则在 DRDY 下降后通过施加 SCLK 脉冲直接读取数据。 (...)"

    这是否意味着 ADS1282需要 SPI 时钟信号在 DRDY 引脚中发送中断信号?  

    因为我用来选择应该去复用哪个端口的机制时钟是通过微控制器侧的输入中断来实现的。

    谢谢!

    Sara

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

    您好、Sara、

    很高兴能提供帮助! 我将尝试解决您上面提到的所有问题、但如果我错过了什么、请告诉我...

    • 与多个 ADS1241通信能够同步它们...
    1. 要与多个 ADS1252通信、您可能需要将 SCLK (以及 DOUT 引脚)多路复用为 MCU 上的 SPI 外设、以避免与多个有源输出产生竞争。



    2. 或者、如果您有多个可用的 SPI 外设、则可以将每个 ADC 分配给其自己的 SPI 外设、但这里的缺点是您必须使用/SYNC 硬件引脚或尝试同时向所有三个器件发送 SYNC SPI 命令。 您很可能会连续发送这些命令、但它们可能无法完全同步、这在您的应用中可能是可以的、也可能不是可以的。

    在介绍了 SPI 连接选项后、我仍需要讨论如何使用/SYNC 硬件引脚、因为上述某些配置可能不允许您轻松使用"SYNC" SPI 命令...

    使用/SYNC 引脚的问题是、如果您没有获得正确的时序(相对于 ADC 的主时钟 fCLK、即4.096MHz 时钟)、则可能不会发生同步。 我看到人们只需两次切换/SYNC 引脚即可解决此问题、因为可能至少有一个同步脉冲会生效。 但是、满足时序要求的最可靠的方法是通过 D 触发器将/SYNC 信号和 ADC CLK 路由到/SYNC 信号的"重新计时"。 总之、您希望/SYNC 的上升沿由 ADC CLK 的下降沿触发(不必精确、您只是不希望这些信号的上升沿对齐)。

    • 正在读取数据问题...

    /DRDY 信号独立于 SCLK (SPI 时钟)。 该时钟仅用于与 ADC 进行通信。

    驱动 ADC 数字逻辑并确定/DRDY 信号何时变为低电平的是 ADC 的主时钟(fCLK、4.096MHz 时钟)。 无论您在上面选择哪种实现、您都不应该在这里遇到任何问题。 但是、以下是另外两个注意事项:

        • 如果您在单个 SPI 总线上共享全部三个 ADC、请确保您有足够的时间(即使用最快的 SCLK 频率、最高为 fCLK / 2)、以便能够在下一次转换完成之前从全部三个 ADC 中读取数据。

        • 由于您尝试同步运行全部三个 ADC、 确保对所有三个 ADC 使用相同的时钟源、并尝试将 fCLK 布线长度保持在每个 ADC 的大致相同长度、以避免一个 ADC 的时钟布线明显更长且时钟信号因不匹配而延迟的情况 传播延迟。

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

    我想您知道、我们已将其全部集成在一起、并且工作正常:MCU + ADS1282 +地震检波器。 谢谢、如果没有您的帮助、就不可能实现。
    第二件事:我们决定使用第二个选项来切换 DE 时钟并发送 SYNC 命令、而不是丢弃引脚并依靠"切换解决方案"。 它看起来更简单、更简单。
    我只有几个问题:
    我和同事不太清楚单极模式和双极模式之间的区别。 首先、我们认为双极表示使用从负电压到正电压的模拟输入、而单极仅表示正电压。 但在实践中、我们可以在两种模式下测量负电压和正电压。
    2.在数据表的数据格式部分(9.25)中、显示结果为2补码。 因此、我只需内插(-2.5V --+ 2.5V)、得到以2补码表示的最大和最小结果、对吧?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sara、

    我想我在最近的另一个主题上也得到了同样的问题 :e2e.ti.com/.../2785985

    单极和双极模拟电源选项仅影响模拟电路的偏置方式。 通过使用与输入信号最佳连接的模式、您可以避免必须通过外部信号调节对模拟信号进行电平转换。


    2.我还有另一个 E2E、它应该有助于回答有关输出数据格式的这个问题。 请参阅 e2e.ti.com/.../650982

    您当然可以内插数据表的表13中显示的值;但是、此处需要了解的最重要的概念是:
    1) 1)如何将31位十六进制代码转换为有符号十进制值。



    2)确定 LSB 大小(LSB 大小= FSR /代码总数=[Vref/PGA]/ 2^31)。

    一旦您知道这两个值、它们的乘积将为您提供以伏特为单位的转换结果