TI论坛
直播中

一刀两断

8年用户 1011经验值
私信 关注
[问答]

求助,关于ADS1299 Test Signal电压幅值的疑问求解


  • 使用ADS1299EEG FE Rev A得到Test Signal电压幅值在0.0018到-0.0018左右,但自己做的板子使用和ADS1299EEG FE Rev A相同配置,得到频率对的,电压幅值在0.024v左右,电压计算公式:
    if(ulCount < 0x800000)
    {
    printf("rn%4.4f",(float)ulCount*2.42/8388607);
    }
    else
    {
    printf("rn-%4.4f",(float)(0xFFFFFF-ulCount)*2.42/8388607);
    }
    寄存器配置:
    Config1-3:0x96,0xD0,0xE0
    Channel1:0x65;

回帖(2)

李妍

4 天前
就是说, 同样的软件设置, 出来的效果不一样, 那得检查你的硬件了, 包括PCB布板等
举报

杨言

4 天前
首先,我们需要了解ADS1299的基本参数和配置。ADS1299是一款24位模数转换器(ADC),用于测量生物电信号,如心电图(ECG)和脑电图(EEG)。在这个问题中,用户提到了使用ADS1299EEG FE Rev A板子得到的Test Signal电压幅值在0.0018到-0.0018之间,而自己制作的板子得到的电压幅值在0.024V左右。我们可以通过以下几个步骤来分析和解决这个问题。

1. 检查硬件连接和电源:
确保你的自制板子与ADS1299EEG FE Rev A板子的硬件连接和电源相同。这包括电源电压、地线连接、信号线连接等。如果有任何差异,可能会导致电压幅值的变化。

2. 检查寄存器配置:
用户已经提供了寄存器配置,我们可以检查这些配置是否正确。以下是用户给出的配置:

Config1-3:0x96,0xD0,0xE0
Channel1:0x65

我们可以查阅ADS1299的数据手册,确认这些配置是否正确。如果有任何问题,我们需要根据数据手册进行调整。

3. 检查电压计算公式:
用户给出了电压计算公式,我们可以根据这个公式计算电压幅值。公式如下:

if(ulCount < 0x800000){
    printf("rn%4.4f",(float)ulCount*2.42/8388607);
}else{
    printf("rn-%4.4f",(float)(0xFFFFFF-ulCount)*2.42/8388607);
}

我们可以看到,这个公式使用了2.42V作为参考电压,8388607作为最大值(24位ADC的最大值)。我们需要确认这个公式是否适用于我们的自制板子。如果有任何问题,我们需要根据实际情况进行调整。

4. 检查测试信号:
用户提到了Test Signal电压幅值在0.0018到-0.0018之间,我们需要确认这个测试信号是否适用于我们的自制板子。如果测试信号不适用于我们的自制板子,我们需要寻找其他测试信号或者调整测试信号的参数。

5. 检查板子设计:
最后,我们需要检查自制板子的设计,确保所有元件和布局都正确。如果有任何问题,我们需要进行调整。

综上所述,我们可以通过检查硬件连接、寄存器配置、电压计算公式、测试信号和板子设计来解决这个问题。希望这些建议能帮助你找到问题的原因并解决它。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分