0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA的ECG信号采集与处理系统是怎么样设计的呢?

5CTi_cirmall 来源:与非网 作者:ygxlysdxhs 2021-03-10 14:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Hello! 大家好,本次项目主题是“基于FPGA的ECG信号采集与处理系统设计”,与众多STM32Arduino单片机直接利用软件编程调用库函数不同,本项目以底层逻辑为切入点进行数字电路设计,更加关注电路底层的细节,包括基础模块的划分、接口信号的定义、verilog代码设计、仿真验证以及板级调试,在满足性能要求下,同时会评估资源消耗问题,希望大家能和我一起一步一步的完成此次工程项目,而不是简单的copy。其中难免有错误,希望各位指正。

引言: FPGA开发和数字IC设计十分相似,而两者最基础是verilog代码设计,verilog是硬件描述语言,实现的数字电路具备硬件并行处理的优点,所以verilog设计思想与基于软件的编程语言是有很大不同的,复杂的verilog代码设计不是随随便便直接在板子上调试成功的。 本项目侧重对设计代码的仿真验证,而不是简简单单对代码 “搬运工”,达到所谓“快速”入门的假现象。在FPGA开发中,每一行verilog代码已经决定了电路的性能和功能,仿真是对verilog代码设计的有效验证方法,因为代码存在的bug在仿真中会一一被定位出来,“速成”FPGA开发都是假的,不能一行一行代码看懂和敲出来,verilog学习的时长都是无用功,正确设计方法+动手练习是FPGA开发/数字电路设计的正确打开方法。

以下是我个人设计的方法: 首先根据你的硬件条件包括FPGA板型和其他硬件(AD、VGA、LCD、舵机、摄像头等等),确定一个硬件的详细设计方案; 接着根据需求和参考资料将整体划分到各个小模块,并确定各个模块接口之间的数据信号和控制信号;画时序图主要是根据数据信号走向需要哪些控制信号,而控制信号主要实现方式就是cnt、enable、flag等等。

其次按照图纸就可以敲代码了,而verilog代码语法不是很难,主要是算术运算符、赋值运算符、关系运算符、逻辑运算符、条件运算符、位运算符以及移位拼接等,一般设计会这些足够了,而往往多数初学者觉FPGA设计很简单啊,大概指的这部分语法简单,但是在敲代码过程中还要考虑到组合逻辑以及时序逻辑中常用的模块,{组合逻辑主要包括常用逻辑门(与门、或门、非门、异或等)、比较器、半加器、全加器、乘法器、数据选择器、三态门,时序逻辑主要包括D触发器、两级D触发器、带异步复位的D触发器、带异步复位同步清零的D触发器、移位寄存器、单口RAM、伪双口RAM、真双口RAM、单口ROM、有限状态机等}。而这些基本单元在写代码过程做到心中有数,因为这些决定了设计的PPA(Performance,Power,Area); 最后再通过仿真工具对设计的代码进行验证,首先是功能仿真也就是RTL行为级仿真,主要是检查代码中的语法错误以及代码行为的正确性,但是不包括延时信息,验证之前“模块划分与接口定义”阶段。其次是后仿真也就是时序仿真,在设计布局布线后提供一个时序仿真模型,验证之前“画接口信号时序”阶段。

步骤一:项目框架

目的意义 在我国,随着生活节奏加快,心血管疾病的发病率有逐年递增的趋势;同时由于人们生活水平和健康意识的不断提高,对心脏类疾病进行实时监护的需求也不断增加。但是,心血管疾病本身具有无症状性(病人在发生心肌缺血时并没有胸痛、心绞痛等常见症状)和间歇性。 选择这个主题主要原因之一是开发一种可以帮主人们日常生活的非侵入性设备—基于FPGA的ECG信号采集与处理。市场上有许多ECG信号检测产品可以提高效率(尺寸较小,将数据保存在云中等等),但是其中任何一件产品都很少涉及到复杂信号处理,并没有与数据库进行比对。

内容及结构安排:

本文基于Xilinx公司的Artix-7系列芯片xc7a35tcpg236-1和AD83232采集板搭建一套硬件平台用以异常ECG信号检测系统。使用Vivado和ModelSim设计和仿真各个系统模块的功能,本系统主要有AD8232信号采集,FPGA存储和处理,C#GUI显示及matlab处理。其中FPGA处理是核心部分,由以下模块构成:AD模块、RAM模块、UART模块及滤波模块。本文采用Verilog HDL硬件描述语言进行编程,XADC具有两个专用的差分输入引脚Vp和Vn,可用于采样模拟信号,通过ADC模块完成100 MHz到360 Hz的数据采样,同时采用低通滤波器消除共模噪声;在所有存储单元中存满ECG的样本数据后,将生成一个脉冲以触发向PC的传输。UART模块将接收一个信号,该信号使用TX模块进行发送,当接收UART检测到起始位时,它将开始以称为波特率的特定频率读取输入位。

本项目主要有以下方面:

1.FPGA学习流程。编写项目详细设计方案,主要包括数据通路和控制通路的设计,模块划分与接口信号的定义,数据通路原理图以及控制通路时序图,verilog代码的具体设计,以及仿真验证,下载到FPGA开发板调试。在verilog代码设计过程会描述时序图,用到IP核,数据通路的寄存器消耗资源进行评估。

2.用到的滤波处理。在信号处理中,数字滤波器是一种对采样的离散时间信号执行数学运算以减少或增强该信号某些方面的系统。数字滤波器系统通常由一个模数转换器对输入信号进行采样,使用FPGA或ASIC代替通用微处理器或具有特定并行架构的专用DSP,以加快诸如过滤之类的操作。

项目简介: 包含四大部分:AD采集模块、RAM存储模块、滤波处理模块、UART模块。 首先,AD8232放大器输出是一个介于0至3.3V之间的模拟值,ADC模块的输入应为1V,因此需要进行分压。放置在放大器的输出和FPGA板的输入(Vp引脚)之间,AD模块包括PLL和XADC 完成100 MHz到360 Hz的数据采样。 其次,我们利用RAM模块存储通过ADC采集的样本。模块具有2个命令模式:读取和写入。这两种状态由启用写模式时为高电平和禁用写模式时为低电平的信号控制。

Step1:确定整个设计思路,ECG信号检测的总体框图,确定程序流程框图 Step2: AD模块、包括XADC和分频时钟接口定义,进行具体verilog代码设计和仿真验证 Step3:RAM读写模块、根据状态机进行接口定义,进行具体verilog代码设计和仿真验证 Step4:Digital filter模块、UART模块接口定义,进行具体verilog代码设计和仿真验证 Step5:进行功能扩展,并将以上所有模块集成在一起,并且做整个仿真验证以及板级调试,通过在C#GUI中显示及保存为.csv文件,利用MATLAB进行相关算法处理,整理打包完整的开源方案所有资料。

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22282

    浏览量

    630060
  • ECG
    ECG
    +关注

    关注

    4

    文章

    132

    浏览量

    53747

原文标题:《来实战》第6期:基于FPGA的ECG信号采集与处理系统设计

文章出处:【微信号:cirmall,微信公众号:电路设计技能】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    中科亿海微信息采集处理板在电力设备中的应用

    处理板卡之间采用单模光纤方式进行通信,可以实现三相电压电流信号采集信号处理,满足电力设备系统
    的头像 发表于 11-14 18:27 107次阅读
    中科亿海微信息<b class='flag-5'>采集</b><b class='flag-5'>处理</b>板在电力设备中的应用

    【VPX650 】青翼凌云科技基于 VPX 系统架构的 VU13P FPGA+ZYNQ SOC 超宽带信号处理平台

    VPX650 是一款基于 6U VPX 系统架构的 VU13P FPGA + XC7Z100 SOC 超宽带信号处理平台,该平台采用一片 Xilinx 的 Virtex Ultra
    的头像 发表于 10-16 10:48 291次阅读
    【VPX650 】青翼凌云科技基于 VPX <b class='flag-5'>系统</b>架构的 VU13P <b class='flag-5'>FPGA</b>+ZYNQ SOC 超宽带<b class='flag-5'>信号</b><b class='flag-5'>处理</b>平台

    数字信号处理的基本组成及其特点?

    的以数字信号处理器为核心部件的数字信号处理系统框图,此系统既可处理数字
    的头像 发表于 06-18 09:02 785次阅读
    数字<b class='flag-5'>信号</b><b class='flag-5'>处理</b>的基本组成及其特点?

    FPGA定制开发(超声信号采集处理

    我们项目部目前在做关于超声信号采集处理相关项目,需要寻求项目外包,项目外包金额面议,最终需要获取全套知识产权和配套文件*附件:多通道超声采集卡硬件需求方案(1).pdf
    发表于 05-14 16:52

    ADS1298 FE PDK套件测ECG信号求助

    ECG信号?如果可以的话,这个软件的参数具体该怎么设置?我们尝试了一下,并不能得到理想的结果,得到的波形一点规律性都没有。如果您有相关的经验,期待您的分享。
    发表于 04-13 22:47

    进群免费领FPGA学习资料!数字信号处理、傅里叶变换与FPGA开发等

    ~ 01、数字信号处理FPGA实现 旨在讲解前端数字信号处理算法的高效实现。首先概述了当前的FPGA
    发表于 04-07 16:41

    使用ADS1293的管脚DRDYB只能被驱动到通道ECG1、ECG2、ECG3的其中一个,要同步采集三个通道时,怎么来设置?

    我想问下使用ADS1293的管脚DRDYB只能被驱动到通道ECG1、ECG2、ECG3的其中一个(寄存器地址2FH),但我要同步采集三个通道时,我应该怎么来设置? 参照例程图33 5
    发表于 02-07 07:47

    ADS1192IRSMR何处理采集ECG信号伴随的工频干扰、运动基线漂移、电极接触噪声、肌电干扰等及其他干扰的?

    请问这颗ECG 模拟前端,他如何处理采集ECG信号伴随的工频干扰、运动基线漂移、电极接触噪声、肌电干扰等及其他干扰的,是需要外面搭电路还是
    发表于 02-05 08:23

    请问ADS1292R能不能同时采集ECG,EEG和呼吸?

    最近在做一个项目,要求同时采集ECG,EEG和呼吸信息,就想用ADS1292R 的一个通道采集一个导联的心电信号,一个通道采集脑电的
    发表于 01-17 07:57

    请问ADS1198真的能采集ECG/EEG信号吗?

    想请教一下TI的工程师:ADS1198内部只有一级放大,且最大只有12倍,真的能采集ECG/EEG信号吗?如果单芯片真能采集到如此微弱的信号
    发表于 01-10 15:12

    ADS1292可不可以通过配置芯片内部寄存器,来分别采集呼吸或ECG信号

    请问下各位或IT的员工: (1)ADS1292的2个通道中,如果我按照1292EVM 的电路图连接的话,我通道1是不是只能用于测量呼吸信号,可不可以通过配置芯片内部寄存器,来分别采集呼吸或ECG
    发表于 12-20 06:02

    求助,使用ads1292采集ecg遇到的疑问求解

    我们在使用ads1292采集ecg的过程中,参考了TI提供的 ADS1x9x_ECG_Recorder_FW。其中,在滤波算法中有个地方不明白,麻烦解释下。 在 void
    发表于 12-18 07:19

    ADS1192ECG-FE采集不到正确的心电波形怎么解决?

    本人学生党一枚,最近在做心电采集。用ADS1192ECG-FE采集心电信号,无论怎么调波形都不对,不知道是寄存器设置的问题还是怎么回事。大家测试的时候寄存器参数都是怎么设置的?只单独
    发表于 12-16 08:35

    Simulink与 MATLAB 的结合使用 Simulink中的信号处理方法

    在工程和科学研究中,信号处理是一个重要的领域,涉及到信号采集、分析、处理和生成。MATLAB 提供了丰富的
    的头像 发表于 12-12 09:25 2180次阅读

    FPGA的多通道数据采集传输系统

    一、系统总体方案设计 为了满足油田增压站对数据采集的需求,我们设计了一套基于FPGA的多通道数据采集与传输系统
    的头像 发表于 12-09 10:45 1198次阅读
    <b class='flag-5'>FPGA</b>的多通道数据<b class='flag-5'>采集</b>传输<b class='flag-5'>系统</b>