基于ADS1292芯片的解决方案之源码解析

A 硬件配置ok之后,就剩下软件了。接下来就是接口的配置信息下发了。上电流程如下所示:

void ADS1292_PowerOnInit(void)
{

//        ADS_CLKSEL=1;//启用内部时钟
//        ADS_START=0; //停止数据输出
//        ADS_RESET=0; //复位
//        delay_ms(1000);
//        ADS_RESET=1;//芯片上电,可以使用
//        delay_ms(100);    //等待稳定

        ADS1292_Send_CMD(SDATAC);//发送停止连续读取数据命令
        delay_ms(100);
        ADS1292_Send_CMD(RESET);//复位
        delay_s(1);
        ADS1292_Send_CMD(SDATAC);//发送停止连续读取数据命令
        delay_ms(100);
        //ADS1292_Send_CMD(STANDBY);//进入待机模式
}

B 初始化完成之后,就可以进行数据读取和解析了。这部分的数据如下所示:

while(Set_ADS1292_Collect(0))//0 正常采集  //1 1mV1Hz内部侧试信号 //2 内部短接噪声测试
        {
//                printf("ADS1292寄存器设置失败\r\n");//串口打印调试使用
                delay_s(1);
                DS3 =!DS3;//PC13端口接LED,用于指示ADS1292 初始化状态
        }

C 该adc有三种数据采集模式,具体如下所示,三种模式,对应的不同调试信息。

//配置ads1292采集方式
u8 Set_ADS1292_Collect(u8 mode)
{
        u8 res;

        delay_ms(10);
        switch(mode)//设置采集方式
        {
                case 0:
                    res =ADS1292_Single_Read();
                break;
                case 1:
                    res =ADS1292_Single_Test();
                break;
                case 2:
                    res =ADS1292_Noise_Test();
                break;
        }
        if(res)return 1;            //寄存器设置失败
        ADS1292_Send_CMD(RDATAC);     //启动连续模式
        delay_ms(10);
        ADS1292_Send_CMD(START);    //发送开始数据转换(等效于拉高START引脚)
        delay_ms(10);
        return 0;
}

算法解析

A 采集到的数据一般需要进行滤波和算法处理,

这里一般需要用到fir滤波器,过滤掉数据过来的噪声信号。

//使能FIR带通滤波
                        ecg_fir_res = ecg_fir_tilter(ecg_avr);        //FIR带通滤波
                        ecg_avr_long=filter1(ecg_fir_res);  //滤除50Hz,1秒滑窗内的平均值,作为去直流的基线
                        ecg_fir_res = ecg_fir_res - ecg_avr_long; //去直流

总结备忘

A 采集到的数据其实需要多种算法滤波处理的。根据不同的应用,需要使用不同的算法的。这个后面根据实际需求再进行分析和解析。

Original: https://www.cnblogs.com/dylancao/p/16473006.html
Author: 虚生
Title: 基于ADS1292芯片的解决方案之源码解析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/551696/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球