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.

[参考译文] ADS1299-4:与 Arduino 连接时出现问题

Guru**** 2520540 points
Other Parts Discussed in Thread: ADS1299, ENERGIA, MSP430FR5994, ADS1299-4

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/847048/ads1299-4-problem-interfacing-with-arduino

器件型号:ADS1299-4
主题中讨论的其他器件:ADS1299ENERGIAMSP430FR5994

大家好、我正在尝试从 Arduino UNO 板设置 ADS1299。 我目前正在使用 Github 上发布的 OpenBCI C++代码

我尝试遵循加电时的初始流程(第62页的数据表)、但似乎无法获得正确的 SPI 信号。

-时钟设置为4Mhz,而我得到的是6MHz 信号

- DIN 在 RDATAC 期间显示周期性信号

-所有 SPI 具有不同的电压偏移

我在这里展示了示波器图。

具有 DRDY 的 SCLK:

具有 DOUT 的 SCLK:

采用 DIN 的 SCLK:显示相同的信号、但偏移不同。

此外、当我每隔几秒读取一次寄存器时、它们看起来会随机发生变化:

ID、0x00、0x82、1、0、 0、0、0、0、1、 0
CONFIG1、0x01、0x89、1、0、 0、0、1、0、0、 1
CONFIG2、0x02、0x93、1、0、 0、1、0、0、1、 1
CONFIG3、0x03、0x09、0、0、 0、0、1、0、0、 1
LOFF、0x04、0xBE、1、0、 1、1、1、1、1、 0
CH1SET、0x05、0x83、1、0、 0、0、0、0、1、 1
CH2SET、0x06、0x05、0、0、 0、0、0、1、0、 1
CH3SET、0x07、0x8A、1、0、 0、0、1、0、1、 0
CH4SET、0x08、0xCB、1、1、 0、0、1、0、1、 1
CH5SET、0x09、0x8B、1、0、 0、0、1、0、1、 1
CH6SET、0x0A、0xC5、1、1、 0、0、0、1、0、 1
CH7SET、0x0B、0x47、0、1、 0、0、0、1、1、 1
CH8SET、0x0C、0xF2、1、1、 1、1、0、0、1、 0
BIAS_SENSP、0x0D、0x3D、0、0、 1、1、1、0、 1
BIAS_SENSN、0x0E、0x01、0、0、 0、0、0、0、0、 1
LOFF_SENSP、0x0F、0xF0、1、1、 1、1、0、0、0、 0
LOFF_SENSN、0x10、0x1E、0、0、 0、1、1、1、1、 0
LOFF_FLIP、0x11、0xFE、1、1、 1、1、1、1、1、 0
LOFF_STATP、0x12、0xFF、1、1、 1、1、1、1、1、 1
LOFF_STATN、0x13、0xf8、1、1、 1、1、1、0、0、 0
GPIO、0x14、0x0E、0、0、 0、0、1、1、1、 0
MIPSC1、0x15、0x4F、0、1、 0、0、1、1、1、 1
MIPSC2、0x16、0xBE、1、0、 1、1、1、1、1、 0
CONFIG4、0x17、0x1E、0、0、 0、1、1、1、1、 0

ID、0x00、0x0C、0、0、 0、0、1、1、0、 0
CONFIG1、0x01、0x3F、0、0、 1、1、1、1、1、 1
CONFIG2、0x02、0x46、0、1、 0、0、0、1、1、 0
CONFIG3、0x03、0x2A、0、0、 1、0、1、0、1、 0
LOFF、0x04、0x93、1、0、 0、1、0、0、1、 1
CH1SET、0x05、0x60、0、1、 1、0、0、0、0、 0
CH2SET、0x06、0x14、0、0、 0、1、0、1、0、 0
CH3SET、0x07、0x37、0、0、 1、1、0、1、1、 1
CH4SET、0x08、0x0A、0、0、 0、0、1、0、1、 0
CH5SET、0x09、0x36、0、0、 1、1、0、1、1、 0
CH6SET、0x0A、0x20、0、0、 1、0、0、0、0、 0
CH7SET、0x0B、0xDF、1、1、 0、1、1、1、1、 1
CH8SET、0x0C、0xFE、1、1、 1、1、1、1、1、 0
BIAS_SENSP、0x0D、0xF4、1、1、 1、1、0、1、0、 0
BIAS_SENSN、0x0E、0x00、0、0、 0、0、0、0、0、 0
LOFF_SENSP、0x0F、0xFC、1、1、 1、1、1、0、 0
LOFF_SENSN、0x10、0x3F、0、0、 1、1、1、1、1、 1
LOFF_FLIP、0x11、0x1E、0、0、 0、1、1、1、1、 0
LOFF_STATP、0x12、0x00、0、0、 0、0、0、0、0、 0
LOFF_STATN、0x13、0x00、0、0、 0、0、0、0、0、 0
GPIO、0x14、0x7E、0、1、 1、1、1、1、1、 0
MIPSC1、0x15、0x1F、0、0、 0、1、1、1、1、 1
MIPSC2、0x16、0x00、0、0、 0、0、0、0、0、 0
CONFIG4、0x17、0x1E、0、0、 0、1、1、1、1、 0

 

我使用的是 QFP64 TQFP64至 DIP64插座、试验电路板和跳线。  

这是 Energia 代码:

#include

ADS1299 ADS;

void setup(){
//对于建议的 POR,不要在初始化例程之前放置任何内容
ADS.initialize(8,9,10,4,false);//(DRDY 引脚、RST 引脚、CS 引脚、以 MHz 为单位的 SCK 频率);
延迟(1000);
Serial.begin(115200);
serial.println ("ADS1299-Arduino UNO 示例1");
延迟(1000);

ads.verbose = true;//当 verbose 为 true 时,将出现串行反馈
ads.reset();//所有寄存器设置为默认值
ADS.SDATAC();//停止连续读取数据模式,以与 ADS 通信

ADS.RREGS (0x00、0x17);//读取 ADS 寄存器、从0x00开始、到0x17结束
ADS.WREG (CONFIG3、0xE0);//启用内部基准缓冲器
ads.RREG (CONFIG3);//验证写入

ADS.WREG (CONFIG1、0x96);
ADS.WREG (CONFIG2、0xC0);

ads.start();
ads.RDATAC();//进入连续读取数据模式

}//设置结束

void loop(){
延迟(3000);
ADS.RREGS (0x00、0x17);
serial.println("");
}//循环结束

_________

额外信息:

我尝试更换电源、但遇到了类似的问题。 在 ADS 初始化期间、但在 Serial.begin 行之前、也会出现这种情况、这让人感到非常困惑。 是我烧坏了芯片、还是只是 SPI 问题?

感谢您的帮助!

谢谢!

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

    您好、Agustin、

    感谢您的发帖、欢迎加入论坛!  

    请参阅我签名中的 BIOS 常见问题解答。 具体而言、加电时的初始流程和 SPI 调试博文。 由于您要将我们的器件与外部 MCU 连接、因此我可以提供的支持有限。  

    祝您好运!  

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

    尊敬的 Alex:

    感谢您对论坛的欢迎!  

    我一直在研究您的建议。 上电时的初始流程似乎正常、我仔细检查了。 我仍然必须尝试您发布的调试技术、以验证器件是否仍然正常工作。

    无论如何、我的最终目标是使用 MSP LaunchPad 将 ADS1299与 MSP430FR5994连接。 由于我找不到开始使用的代码、我认为使用 Arduino 将帮助我了解 ADS 的工作原理。  我在另一篇文章中读到、最好从 ADS1299EEGFESW 源代码开始、但我无法正确地对其进行调整。

    如果有一个链接可以下载一些基本 CCS 代码、以便从 ADS1299中写入和读取寄存器、请告诉我、这将非常方便!

    此致、

    Agustin。

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

    您好、Agustin、

    我不知道专门用于 ADS1299-4的任何 CCS 代码。 可能有不同 ADC 的示例代码、在这种情况下、修改 ADS1299的代码需要进行一些更改、但这是一个潜在的起点。 询问 CCS 或 MSP430论坛可能会有所帮助-他们可能更好地了解可用的代码。  

    让我知道他们能够提供帮助!