Other Parts Discussed in Thread: ADS1299
器件型号: ADS1299
系统说明
我使用 PCB 板上的软件 SPI 将 ADS1299 与 ESP32 连接起来。
该器件由双电源供电并用于 EEG 信号采集。 我正在使用阿鲁迪诺对其进行编程。
我可以成功地与芯片通信:
- 可以正确读取器件 ID。
- 可以对寄存器进行写和读回。
- 使用 RDATAC 连续读取数据。
- DRDY 中断正常工作。
但是、启用内部测试信号时无法获得正确的波形。
问题描述
我正在尝试启用内部方波测试信号。
预期行为:
- 路由到通道的内部测试信号。
- 已知振幅 (1/4 AVDD)。
- 已知频率(0.5Hz/1Hz,具体取决于配置)。
实际行为:
- 输出波形幅度不正确或极小。
- 频率与配置的值不匹配。
- 有时波形看起来几乎平坦。
以下是我的内部测试信号寄存器配置:
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)以避免削波(仍然没有清晰的方波)。
通过读回验证了寄存器写入(所有值都与我写入的值一致)。
问题
-
用于启用内部测试信号的 CONFIG2 和 CHnSET 配置是否正确?
-
是否必须配置其他寄存器才能将测试信号路由到通道?
-
偏置配置或基准缓冲器配置是否会影响内部测试信号振幅?
-
是否有建议的寄存器配置序列可用于在 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

