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.

[参考译文] ADS1258:ADS1258正在工作

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1365633/ads1258-ads1258-working

器件型号:ADS1258

大家好、我使用的是控制器与 ADS1258的接口、我使用的是内部 SPI。 仅跟踪 SPI 工作、初始化看起来正常。 但我无法读取通道。 我的应用是以1k SPS 的速率逐个读取所有16个通道。 下图是原理图。 让我知道我错了哪里。  

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

    嗨、Himanshu Sharma、

    您是否能够提供通信的逻辑分析仪图、以表明您是如何读取数据的? 请包括 START、DIN、DOUT、DRDY、SCLK、 和 CS。

    -Bryan

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

    逻辑分析仪图

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

    嗨、Himanshu Sharma、

    感谢您发送随附的逻辑分析仪图

    在 MOSI 上、您将发送0x50 0x00、这是对寄存器0的寄存器读取。 但您将 MUL 位设置为高电平、这意味着您要读取多个寄存器、而这是单个寄存器命令

    为什么要使用这些命令读取数据? 单个寄存器的寄存器读取值应为0x4r、其中 r =您尝试读取的寄存器。 例如、0x40表示对单个寄存器(即寄存器0)的寄存器读取

    -Bryan

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

    嗨、 Himanshu Sharma、

    只是回顾代码总是很困难、因为这不足以捕捉通信过程中发生的情况

    您的逻辑分析仪图像显示、您使用 ADC 的方式存在问题。 您能帮助回答我提出的有关逻辑分析仪图像的问题吗?

    -Bryan

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

    我仍然面临问题。 请帮帮我。 下面是我使用了 TI 提供的示例代码的初始化。 可以吗?

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

    嗨、 Himanshu Sharma、

    这是您将运行的初始化代码:

    这将写入所有寄存器、并将它们设置为存储在"initRegisterMap"中的值。 然后、您将读回所有寄存器以确保 WREG 正确。

    你结束的第一个命令为0x70h = 0111 0000b:

    • 前三位是命令(011)=写入命令
    • 第四个位是多位、它允许您同时读取或写入多个寄存器。 由于 multiple = 1、因此您会写入多个寄存器
    • 最后四位是开始写入的寄存器地址。 在本例中为0000b、或寄存器地址0。 这就是 CONFIG0寄存器

    ADS1258数据表的下表中显示了这一情况。

    然后开始发送寄存器数据。 例如、0x41是第二次寄存器写入、即第二次寄存器= CONFIG1。 设置0x41h = 0100 0001b (它会选择待机模式作为空闲模式)、将开关延时时间设置为100b = 64微秒、关闭传感器偏置电流源、并将数据速率设置为7813SPS。

    但是、在第7个寄存器数据之后、需要将 CS 置为高电平-我在下图中展示了这一点。 这会立即结束命令、因此您发送的下一个字节毫无意义。 您知道为什么将 CS 设置为高电平吗? 它不是 WREG 功能的一部分。

    -Bryan