Part Number:ADS1298R
利用ADS1298R设计了一套采集EMG信号的方案,要求采样频率在20Hz-500Hz之间方案如下:
在4K的采样率下,用信号发生器作为输入源输入20Hz -100Hz 500mVpp的正弦波,采集到的信号是畸形的,大于100Hz后,采集的基本就是OK的 采集的图像是下图这样的
在2K的采样频率下20-100hz是正常的,由于采样率频率不够,500Hz下 信号也是畸形的,不过猜测是因为采样率不够造成的
各位大神请教如何解决4K采样频率下20-100Hz之间信号畸形的问题?
Chao Su:
”要求采样频率在20Hz-500Hz“——是输入源的信号在20Hz-500Hz之间 不是采样率
,
Amy Luo:
您好,
您将输入信号配置为内部生成测试信号,看是否可以正确采集?
,
Chao Su:
请问 你说的是寄存器2 INT_TEST配置成1吗?,这个我代码里面初始化时已将其配置成1了,寄存器2配置的参数为10001b
请问还有可能是哪个地方造成的?
,
Chao Su:
这个是4K采样率下 70hz输入信号 采集时间拉长的图像
,
Amy Luo:
是的,但是您使用的通道,对应的CHnSET寄存器的MUXn[2:0] 位,是否选择了测试信号,即将MUXn[2:0]配置为101?
如果选择采集内部生成的测试信号,就不需要从外部输入信号了;
先验证可以正确采集内部测试信号,以验证ADC读取转换数据没有问题,然后再配置采集外部输入信号
,
Chao Su:
可以正确采集内部测试信号
,
Amy Luo:
如果可以正确采集内部信号,那么应该是外部电路连接的问题。
以上采集异常时,您采集的信号是发生器产生的单端信号吗?输入信号幅值是什么?您是怎样连接到AD的?因为这款AD的输入是差分输入,单端输入的话,需采用伪差分输入,看下输入信号幅值是否共模电压输入范围?
,
Chao Su:
信号发生器采用的是RIGOL的DG812,其产生的是单端信号,
我是通过下面这个电路输入到AD的前置电路(问题描述上有对应电路图)上,然后通过前置电路输入到AD
输入信号的幅值是正弦波 从10mVpp-1000mVpp
我采用了单通道伪差分和双通道差分信号输入,得到的结果都是如下图所示的数据(输入信号为70Hz,500mVpp的正弦波)
,
Amy Luo:
也就是说上面图2 单端输入至ADS1298R的一个差分输入端,是这样吗?那么您实测ADS1298R的正输入端的信号波形是什么样的?ADS1298R有输入共模电压要求,看下是否满足下面范围要求:
ADS1298R有 WCT和 RLD电路,您是否使用了这两个电路?同时,您可以把您的寄存器配置附上吗?
,
Chao Su:
这两个图是前置电路和主芯片的外围图
(P.S.前置电路的GND端,我通过飞线方式分别接入电源的GND和VSS(-2.5V)采集到的信号也都是基本一样的,100hz以下信号畸形)
我的信号源是连接的是ADS1298R的一个差分输入端,ADS的差分输入端的电压幅值是100uVpp
寄存器配置如下
,
Amy Luo:
Chao Su 说:我的信号源是连接的是ADS1298R的一个差分输入端,ADS的差分输入端的电压幅值是100uVpp
双电源供电的话,应该在共模电压范围内。这里您可以输入幅值更大些的差分信号吗?因为ADS的输入失调电压都 ±500µV, 如果输入100uVpp的信号,不能确定会不会被无用信号淹没。
您是否使用了WCT和 RLD电路?看您CONFIG3 寄存器的配置,应该是使用RLD电路的,您可以把所有寄存器的值都附出来吗?
,
Chao Su:
WCT和RLD电路就是配置了如电路图所示的电容电阻,寄存器配置了这3个,还有一个配置了12倍的增益和正常采集模式
,
Amy Luo:
使用如上配置,您可以将信号直接输入至 ADS1298R的模拟输入端口吗?输入信号幅值至少几十个mV
因为您可以正确采集内部测试信号,采集内部测试信号或者外部输入信号 在不使用WCT和RLD电路的情况下,仅是输入多路复用器的输入选择不同,不应该出现异常。
,
Chao Su:
直接将信号输入到芯片的输入端口 设置信号幅值27mV,频率70hz,信号依然有干扰
这个会不会跟说明书里提到的抗混叠有关系?
,
Amy Luo:
您是将输入信号直接接ADS129x 的INXP和INXN管脚吗?外部不要接任何电路,直接将信号发生器产生的信号接入ADS129x 的INXP和INXN管脚,看是怎样的?
或者您采集一个固定的直流电压看采集电压是否正确?
或者配置寄存器CONFIG2的INT_TEST = 0 禁用内部测试信号,以从外部驱动测试信号,即将测试信号从TESTP_PACE_OUT1 和 TESTN_PACE_OUT2输入
,
Chao Su:
通过信号发生器直接输入到129x上的INxP和INxN上,显示的波形是下图所示(输入信号20mV 70Hz)
,
Chao Su:
信号输入直接接到了ADS129x上的INXP和INXN管脚,采集DC直流电压,测试了2mV-30mV,均算是可以正常采集。只是误差会随着电压的增大而增大,2mV误差约为0.1mv,30mV越为1mV
,
Amy Luo:
上图中横坐标和纵坐标分别表示的是什么?您是怎样由采集数据得到上图图形的?
您输入固定的直流电压,SPI采集时,您可以附上DRDY、CS、SCLK和DOUT的信号波形图吗?测量时,请将这四个信号显示在同一图形中
,
Chao Su:
我是将获取到的原始数据,利用arduino上自带的划线工具,将收集到的数据显示成图形样式,DRDY CS SCLK和DOUT不好付图形
,
Amy Luo:
ADS129x 在数据读回之前有一个状态字,我不知道您在形成上述波形时是否考虑了这一点,如下输出数据格式:
图形也可以以word、PDF或其他格式附上来,建议您附上SPI通信波形以看一下信号质量和时序