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.

[参考译文] ADS1246:有关 ADS1246和 Arduino Uno 的帮助

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/716563/ads1246-help-with-ads1246-and-arduino-uno

器件型号:ADS1246
主题中讨论的其他器件: ADS1247ADS1248

大家好、我最近购买了一些 ADS1246来精确测量激光二极管热敏电阻上的电压。 我使用 Arduino Uno 来连接芯片、并使用1.25V 电源和2.048V 外部基准来测试芯片。 我无法与芯片通信、也无法接收任何数据就绪信号。 我在数据表中看到、它提到 SCLK 需要是八的倍数、但后来它还说最小 SCLK 周期对应于不超过2MHz 的频率。 Arduino Uno 的预分频器不允许它生成任何低于8分频倍数的频率。 我只是想知道我的操作是否有问题、或者该芯片是否与 Arduino Uno 不兼容。  在这种情况下、建议将哪种微控制器与该产品配合使用?

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


    我不太熟悉 Arduino 编程、但我相信很多人都使用 Arduino 与我们的设备进行通信。 如果您进行快速搜索、您甚至可以找到 ADS1246 (或 ADS1247和 ADS1248)的代码。

    请注意、该器件需要2.7V 的最小电源。 如果使用1.25V、ADS1247将不会通电。 另请注意、如果使用2.048V 基准电压、则需要使用更高的最小电源。 基准电压应低于模拟电源电压1V、因此新的最小值为3.048V。

    如果您的电源电压真的高于1.25V、并且与器件通信时出现问题、则需要检查其他事项。 对于您的设置、我将首先检查基本连接来开始调试。 确保接地端连接到 DGND 和 AVSS (假设您需要单极电源)。 确保电源连接到 AVDD 和 DVDD。 此外、检查以确保 START 和/RESET 被拉至高电平、以确保器件正常运行。 检查这些连接后、检查是否存在/DRDY 脉冲(表示器件正在转换)。 使用示波器(或逻辑分析仪)检查脉冲。 请记住、该脉冲将每200ms 发生一次、但脉冲宽度非常窄(仅几微秒)。 确保触发脉冲。 如果示波器上没有足够的分辨率、您可能无法看到它。 如果您无法获得/DRDY 脉冲、则可能存在连接不良、布局不良或器件损坏的情况。

    如果您能够获得/DRDY 脉冲、则应该能够与器件通信。 调试通信时、我始终建议查看信号、验证 SPI 的正确版本、确保 SCLK 空闲、并且数据在 SCLK 的下降沿计时。 还要确保/CS 在整个命令中保持低电平(如果您正在读取或写入寄存器、请确保/CS 在整个读取或写入过程中处于低电平)。

    浏览我的评论、运行一些测试、并让我知道测试结果。 如果您仍然有问题、请将问题发布回此主题。


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


    我错过的另一个连接是确保 CLK 线路接地以启用内部振荡器。 或者、您可以将引脚连接到外部时钟。 无论如何、您都需要某种时钟来使器件运行。

    最后、您需要将基准连接到模拟输入、但通过这种连接以及上面提到的其他连接、器件应该会启动。


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

    我在帖子中措辞不好、我使用5V 电源为电路板供电、使用1.25V 电源作为 ADC 读取的测试电压。 我将 Arduino 的3.3V 输出和接地用于数字电路、因此我可能会尝试仅将5V 电源用于模拟和数字电路。 我还将连接一个振荡器、看看我是否可以读取数据就绪脉冲。 所有其他内容如您所述、CLK 接地、START 和/RESET 被拉高、CS 在尝试接收位时被拉低。 我将在实施这些更改后回复、看看这是否可以解决问题。
    谢谢、

    Andrew
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢你的帮助。 运行您推荐的测试并尝试其他一些东西后、我确定这只是一个坏芯片、并使用新的 ADS1246将其关闭。 我的设计现在在 Arduino 上运行得非常完美。