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.

[参考译文] ADS1256EVM-PDK:ADS1256的初始化代码。

Guru**** 2540720 points
Other Parts Discussed in Thread: ADS1256, ADCPRO

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/936892/ads1256evm-pdk-initialization-code-for-the-ads1256

器件型号:ADS1256EVM-PDK
主题中讨论的其他器件:ADS1256ADCPro

您好、TI、

我正在寻找在 MMB0板的 C55x DSP 上运行的 C 代码(或任何编程语言)。 我熟悉 C55x DSP 和 CCS。 我只需要源代码和包含用于初始化 ADC 的代码的项目。   

我计划在测试仪中使用 ADS1256EVM 板。 我已经通过 EVM 板 J2连接器实现了到 ADS1256的 SPI 代码接口。 封装是 I Issue 用于复位器件的波形。 以白色显示的前5个信号是捕获的数字波形。 以蓝色显示的底部5个信号与模拟捕捉中的波形相同。

下面是 MMB0板上的 C55x 执行的 RESET 命令

我不知道为什么在发出 RESET 命令后、DRDY (通道7)会继续切换。 此外、当我遵循与 DSP 初始化 ADC 相同的命令序列(在逻辑分析仪上捕获)时、我没有得到相同的响应。 我正在使用 SPI 模式1 (CPOL=0、CPHA=1)、如 ADS1256数据表第6页图1所示。 我还尝试了 SPI 模式0、但无法设置 ADC。 我希望源代码能对此有所说明。  

我还在寻找应用手册中的 ADS1256编程指南(从处理器的角度来看)、但我找不到任何。 如果存在这些技术伪影、请将我指向 URL。

谢谢、

Sy

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

    您好、Sy、

    供参考、您在上一封电子邮件中发布的图片均未显示。 您可以重新发布吗?

    为了澄清这一点、您是在寻找 EVM 源代码、还是只是一般的 ADS1256代码? 遗憾 的是、我们没有任何可供 ADS1256共享的代码、但您可以在网站上找到代码、例如 github.com/.../ADS1256。 请注意、TI 无法验证此第三方代码的用途等。

    另请注意、TI 不建议或支持在最终产品或设计中使用我们的 EVM。 这些电路板仅用于评估我们器件的运行情况。

    布莱恩

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

    您好、Bryan、

    感谢你的答复。  我计划使用 ADS1256 EVM 来实现内部工程测试设备。 EVM 不适用于客户产品。 这对我来说是一种在不构建电路板的情况下使用该器件的快速方法。 目标是在在 Adafruit FT323H (或类似电路板:Arduino Nano)上运行的 Python 中进行编程、以控制 ADS1256。

    您在 GitHub 上提到的示例代码仅显示基本命令实现、但不显示如何设置器件在不同模式下的使用。 我之所以在 EVM 上要求 C55x 代码、是因为我非常熟悉此 DSP 以及 TI 为该处理器编写 C 代码的方法。 我希望读取它并将其转换为 Python 代码。  

    无论如何、我会对 EVM 套件上的 DSP 在初始化时发送到 ADS1256的命令序列进行逆向工程。 我使用 Saleae 逻辑分析仪捕获了 SPI 波形(该分析仪需要其软件来读取波形)。 我将波形数据保存到 CSV 文件、然后将其转换为 XLS 并使用它进行命令序列分析。 这与我用于将其映射到 在 Adafruit FT323H 上运行的 Python 代码的序列相同。 我能够在非缓冲模式下配置 ADS1256并读出 ADC 转换值。  附带的是供其他人使用的 XLS 文件。  

    我有3个问题:

    1.请确认 ADS1256使用 SPI 模式1:在 CLK 后沿(下降沿)写入数据和读取数据。

    2.现在我的问题是将 ADS 更改为缓冲模式以及偏移和增益值。  当我使用 ADCPro 启用缓冲模式时、然后在逻辑分析仪上捕获 SPI 波形:  

      3字节命令(0x50、0x00、0x03)、然后跟随三个单独的命令(0xFC)、(0x00)、 (0xF0)。 DSP 没有读回它写的内容。  

    在使用 ADCPro 测试 ADS1256时、任何高于3.8V 的电压都会导致3.8V 的饱和、但规格 (SBAS288K−2013年9月修订)、图7、第15页表明它应该被钳制在3V。 我应该期待什么?

    3.在我使用 Python 和 Adafruit FT232H 的设置中,我生成类似序列,每个命令之间的延迟相似。 当我使用命令(0x10、0x00)回读时、读取值为0xFF。

    当我读回状态寄存器时、应该看到什么? 包含捕获的时序。

    此致、

    Sy

    e2e.ti.com/.../ADS1256_5F00_Enable-Buffer_5F00_Timing.pdf

    e2e.ti.com/.../ADS1256_5F00_DSP_5F00_initialization.pdf

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

    您好、Sy、

    感谢您提供其他信息、以下是您的问题的答案:

    1. 是的、ADS1256是模式1
    2. 启用缓冲器后、您应该输入到 ADC 的最大绝对输入电压为3V (使用5V 电源)。 请参阅数据表中的第3页、"绝对输入电压"。 图7中所示的3V 钳位仅在传感器检测电流源(SDCS)开启时才启用、这种情况不应是这样。
      我在发送的 DSP 波形捕获中也没有看到 RREG 命令。
    3. 如果状态字节处于其默认状态、则应读取 xxxx 000x。 因此、只要最后4个位为1h 或0h、就可以了。

    确保在读取或写入 ADS1256上的寄存器之前发送"SDATAC"。 如果器件处于 RDATAC 模式、则会忽略这些命令。 加电后、我通常建议先发送"reset"和"SDATAC"命令、然后通过寄存器写入来继续配置寄存器

    请告诉我这些答案中的任何一个是否有助于解决您的问题

    布莱恩