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.

[参考译文] ADS7142:用于STM32的ADS7142手动模式双通道单端

Guru**** 2533160 points
Other Parts Discussed in Thread: ADS7142

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1092068/ads7142-ads7142-manual-mode-dual-channel-single-ended-for-stm32

部件号:ADS7142

您好,

我目前正在为ADS7142开发STM32库。 通信和编程工作正常,但轮询转换数据尚未工作。

我可以设置起始转换位并使用转换状态寄存器进行验证,但ADC在轮询时仅返回常量(非零)值(在验证状态之前,随后只返回零)。
我 希望在施加电压时,数据会发生变化,或者对于最不重要的位,数据至少会波动,但情况也不会如此。

可能是什么问题?

  • 4个周期的正常I2C读取命令是否不足以读取一个完整转换?
  • 是否需要等待一段时间才能启动Read命令?
  • 我是否需要提供连续的时钟周期并从中挑选正确的数据?

请注意,我的组织与STM32合作已有很长时间,我们不打算换用TI控制器。

谢谢!
Lukas

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

    您好,Lukas:

    对此延误深表歉意。

    您是否正在轮询DATA_BUFFER_STATUS寄存器?  此外,您在什么模式下使用设备? 如果可以通过寄存器配置发送,这将很有帮助。 您可以提供这种信息吗?

    请在下面找到我对您的问题的意见:  

    1.应该有6个I2C周期来读取转换寄存器。 前三个周期包含设备地址,操作码和要读取的寄存器。 接下来的三个周期将设置设备地址,然后设置两个字节的数据。  

    2.检查转换寄存器时,您要确保已转换通道。 此时间取决于nCLK寄存器中的nCLK参数。 在开始转换后,您需要等待多长时间才能读取转换寄存器?

    3.应提供连续的时钟周期。  

    此致,
    亚伦·埃斯特拉达

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

    您好,Aaron,

    几天前我发现了我的问题,我只是在#defines中混合了两个操作码,尽管我反复检查了这两个操作码。

    我没有将此问题标记为已解决,因为我目前正在为STM32L476发布稳定的驱动程序。
    当前版本缺少错误处理功能,而且是特定于应用程序的,我需要先修复。
    完成此操作后,我将发布另一个更新。

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

    您好,Lukas:  

    我很高兴您发现了问题。 期待您的更新。

    此致,

    亚伦·埃斯特拉达