【RVB2601开发板】ADC开始画心电图-阿里云开发者社区

开发者社区> 平头哥芯片开放社区> 正文
登录阅读全文

【RVB2601开发板】ADC开始画心电图

简介: 本案例将利用ADC实现模拟信号采集和心电数据分析。

本文来源:RISC-V大赛 - 木子科技

本文作者:nefuy

本文转自:芯片开放社区(OCC)


开始开发一个核心功能, ADC实现模拟信号采集和心电数据分析。

ADC首先得确认模拟地, 参考电压的范围, 参考电路图找到ADC_VREFP和ADC_VREFN, 做好电平配置。

1.jpg


心电采集模块采取AD8232心电模块, 用来测量心脏的电活动心率监测器。AD8232是一款用于ECG及其他生物电测量应用的集成信号调理模块。 该器件设计用于在具有运动或远程电极放置产生的噪声的情况下提取、放大及过滤微弱的生物电信号。 该设计使得超低功耗模数转换器(ADC)或嵌入式微控制器能够轻松地采集输出信号。


AD8232采用双极点高通滤波器来消除运动伪像和电极半电池电位。 该滤波器与仪表放大器结构紧密耦合,可实现单级高增益及高通滤波,从而节约了空间和成本。


AD8232采用一个无使用约束运算放大器来创建一个三极点低通滤波器,消除了额外的噪声。 用户可以通过选择所有滤波器的截止频率来满足不同类型应用的需要。 为了提高系统线路频率和其他不良干扰的共模抑制性能,AD8232内置一个放大器,用于右侧驱动(RLD)等受驱导联应用。


AD8232包含一项快速恢复功能,可以减少高通滤波器原本较长的建立长尾现象。 如果放大器轨电压发生信号突变(如导联脱离情况),AD8232将自动调节为更高的滤波器截止状态。 该功能让AD8232可以实现快速恢复,因而在导联连接至测量对象的电极之后能够尽快取得有效的测量值。


采取心电模块, 以及心电导联到左右手和右腿驱动, 三个电极即可测量出心电曲线, 收集一组ADC转换出来的串口上传数据, excel画图如下:

2.png


其中,曲线中中断的地方就是电极脱落的报警信号.


后续继续算法开发, 选取合适的采样率, 加上数字滤波器, 分析出心率异常, 心脏疾病初步诊断, 非常有利于外部急救响应.


附加ADC读取简单程序:

static csi_adc_t adc;//PA3 int get_pa3_adc() { uint32_t adc_data;
csi_pin_set_mux(EXAMPLE_ADC_CHANNEL0_PIN,EXAMPLE_ADC_CHANNEL0_PIN_FUNC); csi_adc_init(&adc,0);

csi_adc_freq_div(&adc,128);
csi_adc_sampling_time(&adc,2);
csi_adc_channel_enable(&adc,0,true);
csi_adc_start(&adc);
adc_data = csi_adc_read(&adc);
printf("%d\n",adc_data);

//uninit adc
csi_adc_uninit(&adc);
return adc_data;
}

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
平头哥芯片开放社区
使用钉钉扫一扫加入圈子
+ 订阅

芯片开放社区(Open Chip Community 简称OCC),是平头哥芯片基础设施的云端载体,提供开发中心、创芯空间、技术部落等互动版块,汇聚海量应用资源,助力芯片合作伙伴构建软硬融合的芯片生态。面向芯片企业,OCC以应用驱动芯片精准定义、以全栈技术支撑芯片敏捷开发;面向开发者,OCC以芯片生态降低IoT开发门槛、以1520体系加速IoT产品落地。

官方博客
最新文章
相关文章
官网链接