微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADS1292读不到内部的测试信号

ADS1292读不到内部的测试信号

时间:10-02 整理:3721RD 点击:

最近在用STM32+ADS1292做一个采心电的板子,还没开始采人体信号,想先采一下芯片内部的Test Signal。但是出来的结果总是不对。

我的初始化流程如下:

ADS_RESET_H;// \RESET=1
ADS_CS_H;// \CS=1
ADS_START_L; START=0
delay_ms(100);

ADS_CS_L;// \CS=0

SPI_WriteByte(ADS_RESET);//写入RESET指令
delay_ms(10); //等待
SPI_WriteByte(SDATAC); //写入SDATAC指令
delay_ms(100);
/*寄存器配置*/
Write_REG(CONFIG1,0x00);//采样率500SPS
Write_REG(CONFIG2,0xA3);//使用内部的2.42V参考电压,打开TEST SIGNAL,输出1Hz方波
Write_REG(LOFF,0x10);
Write_REG(CH1SET,0x81);//通道1关闭并短接
Write_REG(CH2SET,0x15);//通道2增益设置为1,输入test signal
Write_REG(RLD_SENS,0x00);
Write_REG(LOFF_SENS,0x00);
Write_REG(LOFF_STAT,0x00);
Write_REG(RESP1,0x02);//
Write_REG(RESP2,0x87);//
Write_REG(GPIO,0x00);
SPI_WriteByte(ADS_OFFSETCAL);//通道偏移校正
ADS_START_H;//START=1
ADS_CS_L;// \CS=0

SPI_WriteByte(RDATAC);

电路图如下所示:

寄存器均可正常读写,但是得到的数据却不是1Hz,1mV的方波信号。而且使用不同的通道作为test signal的输入时,结果差别很大。

希望有大神能够帮忙解决,看看是寄存器配置的问题,还是电路设计的问题,或者操作流程的问题。在此深表感激!

当我按照datasheet上的操作流程进行噪声检测时,寄存器配置如下:

Write_REG(CONFIG1,0x00);//采样率500SPS
Write_REG(CONFIG2,0xA0);//使用内部的2.42V参考电压
Write_REG(LOFF,0x10);
Write_REG(CH1SET,0x01);//通道1打开并短接
Write_REG(CH2SET,0x01);//通道2打开并短接
Write_REG(RLD_SENS,0x00);
Write_REG(LOFF_SENS,0x00);
Write_REG(LOFF_STAT,0x00);
Write_REG(RESP1,0x02);//
Write_REG(RESP2,0x07);//
Write_REG(GPIO,0x00);

得到的数值是:

C00000(24位状态寄存器)+FFFB04(通道1数值,在这个值附近变化)+FFFD09(通道2数值,在这个值附近变化)

显然这个数值不应该这么大才对,不知道哪里出了问题

电路建议重新修改下,请参考附件。

谢谢您的帮助,当初设计电路的时候就是参照这个图做的,现在还没有测外部信号,只是想先测一下内部的测试信号,还是不行,不知道原因出在哪

大兄弟,你现在测到心电信号没有?我也在做这个,加QQ聊一下?734932586

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top