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:ADS1299 内部测试信号无法产生正确的振幅和频率(ESP32 SPI 接口)

Guru**** 2810285 points

Other Parts Discussed in Thread: ADS1299

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1623130/ads1299-ads1299-internal-test-signal-cannot-produce-correct-amplitude-and-frequency-esp32-spi-interface

器件型号: ADS1299

系统说明

我使用 PCB 板上的软件 SPI 将 ADS1299 与 ESP32 连接起来。
该器件由双电源供电并用于 EEG 信号采集。 我正在使用阿鲁迪诺对其进行编程。

我可以成功地与芯片通信:

  1. 可以正确读取器件 ID。
  2. 可以对寄存器进行写和读回。
  3. 使用 RDATAC 连续读取数据。
  4. DRDY 中断正常工作。

但是、启用内部测试信号时无法获得正确的波形。

 

问题描述

我正在尝试启用内部方波测试信号。

预期行为:

  1. 路由到通道的内部测试信号。
  2. 已知振幅 (1/4 AVDD)。
  3. 已知频率(0.5Hz/1Hz,具体取决于配置)。

实际行为:

  1. 输出波形幅度不正确或极小。
  2. 频率与配置的值不匹配。
  3. 有时波形看起来几乎平坦。

以下是我的内部测试信号寄存器配置:

CONFIG1 = 0x95 // 500SPS
CONFIG2 = 0xD1 //内部测试信号、1/4 AVDD、1Hz
CONFIG3 = 0xEC
CH1SET–CH8SET = 0x65  

当通道配置为正常电极输入 (CHnSET = 0x60) 时:如果我用手触摸电极接头、 我可以观察数据中的噪声尖峰、而用手移除尖峰。 然而、这些信号非常大 (mV)、偏离了我的预期、其中 EEG 信号应该在 UV 附近。

我已经尝试了这些可能的解决方案:
已尝试设置 CONFIG3 = 0xCC 以禁用 BIAS(无改进)。
已尝试 CHnSET = 0x05(增益=1x)以避免削波(仍然没有清晰的方波)。
通过读回验证了寄存器写入(所有值都与我写入的值一致)。

问题

  1. 用于启用内部测试信号的 CONFIG2 和 CHnSET 配置是否正确?

  2. 是否必须配置其他寄存器才能将测试信号路由到通道?

  3. 偏置配置或基准缓冲器配置是否会影响内部测试信号振幅?

  4. 是否有建议的寄存器配置序列可用于在 RDATAC 模式下启用内部测试信号?

以下是我使用的参考数据:

AVDD =+2.5V 
AVSS =–2.5V
DVDD = 3.3V
已启用内部基准
VREF = 4.5V
#define 增益    24.0
#define V_REF   4.5
#define MAX_RAW  8388608.0
#define CONFIG1_REG 0x95
#define CONFIG2_REG 0xC0
#define CONFIG3_REG 0xEC
#define CHnSET_REG 0x60
#define ENABLE_SRB1 0x20  
#define BIAS_SENSP 0xFF  
#define BIAS_SENSN 0xFF  
#define LOFF_CONFIG 0x06  
#define LOFF_SENSP 0xFF  
#define LOFF_SENSN 0xFF  
 
 
FYI,我仍然是一个本科生的第一语言不是英语,对不起我的潜在语法和设计错误。
 
下面是选择获得内部方波时的原理图和波形。
image.png
 
 
 
 
 

 

image.png