《多路生理信号采集模块设计、基于 FPGA 心电信号的采集及重现综合设计[优秀]》由会员分享,可在线阅读,更多相关《多路生理信号采集模块设计、基于 FPGA 心电信号的采集及重现综合设计[优秀](63页珍藏版)》请在金锄头文库上搜索。
1、可编程逻辑设计课程设计实验题目多路生理信号采集模块设计 基于 FPGA 心电信号的采集及重现综合设计年级: 专业班级: 小组成员: 学号: 指导教师:重庆大学生物工程学院 重庆大学本科学生课程设计指导教师评定成绩表学院生物工程学院 指导教师 年级 专业生物医学工程学生姓名课程设计题目1. 多路生理信号数据采集模块设计 2. 基于 FPGA 心电信号的采集及重现 综合设计 指导教师评语 课程设计成绩 指导教师签名: 目录II一 多路生理信号采集模块设计21.1 引言31.2 原理与方法31.2.1 设计要求31.2.2 原理概述31.2.3 子模块设计4按键模块4频率产生模块4标号产生模块5AD
2、 时序产生模块5AD 数据转换模块6RAM 模块6循环读取模块7地址模块71.3 结果与讨论81.3.1 子模块仿真分析8按键模块仿真8频率产生模块仿真9标号产生模块仿真9AD 时序产生模块10AD 数据转换模块11地址模块仿真12循环读取模块仿真131.3.2 硬件实现及 Signal Tap II 观察141.3.3 问题及对策141.4 参考文献15二 附件材料162.1 多路生理信号采集模块设计162.1.1 程序清单162.1.2 系统顶层设计图212.1.3 原理电路图222.1.4 RTL 视图24三 基于 FPGA 心电信号的采集及重现综合设计293.1 引言303.2 原理与
3、方法303.2.1 设计要求303.2.2 原理概述303.2.3 子模块设计30AD 时序产生模块30AD 数据转换模块31平均滤波模块32比较转换模块32倍频模块32计数模块32显示模块333.3 结果与讨论353.3.1 子模块仿真分析35AD 时序产生模块35AD 数据转换模块36平均滤波模块37比较转换模块38计数模块39显示模块413.3.2 硬件实现及 Signal Tap II 观察423.3.3 问题及对策423.4 结论443.4.1 总结与展望443.4.2 心得体会443.5 致谢453.6 参考文献45四 附件材料464.1 基于 FPGA 心电信号的采集及重现综合设
4、计464.1.1 程序清单464.1.2 系统顶层设计图524.1.3 原理电路图534.1.4 RTL 视图55重庆大学本科学生课程设计任务书课程设计题目1. 多路生理信号数据采集模块设计学院生物工程学院专业生物医学工程年级、班2013 级 02 班设计要求:(1) FPGA 控制多路模拟选择开关对对给定的至少 4 路模拟信号进行循环采集。 (2) AD 对信号采集的采集总频率默认:1K;可调: 2K、4K;采样频率调节由键盘按键实现。 (3)将每路 AD 转换后的数字信号进行标示,存储到片内 RAM 中,所设RAM 最大存储量为 2K,最小为 1K; (4)采集开始命令由拨码开关实现,待片
5、内 RAM 存满后,点亮 LED 灯, 并停止采集,等待读取命令;读取命令由拨码开关实现;当接收读取命令后循环读取RAM 中的数据,将读取的信号在 SIGNALTAP II 上显示。学生完成的工作:查阅资料、方案设计、各个模块的确定、整体电路图的布局,模块程序的编写,程序的调试、修改。参考资料:1. 潘松,黄继业EDA 技术使用教程科学出版社2006.62.EDA 技术基础实验指导书课程设计工作计划:1 月 10-11 日:查阅资料,方案设计1 月 12-13 日:编写程序,程序的修改、调试、实现功能1 月 14 日:报告编写任务下达日期 2016 年 1 月 4 日完成日期 2016 年 1
6、 月 17日指导教师 (签名)学生 (签名)2一 多路生理信号采集模块设计 摘要 为实现多路数据的实时采集和处理,本文设计了一种基于 VHDL语言的 4 路生理信号数据采集系统。本设计采用 12 位的ADC,实现对4 路生理信号的循环采集、转换、标定、储存、读取等功能。总的程序由几个不同功能的单元模块组成,通过分频模块、键盘扫描模块、AD 转换模块、地址模块、RAM 储存模块、循环读取模块,并且使用Modelism-Altera 软件对各模块进行电路波形仿真以验证各个模块的功能,最后通过Signal TAP II 平台对信号进行观察及分析。 关键词:FPGA 可编程芯片、EDA 技术、多通道
7、AD 转换、VHDL 可编程逻辑设计课程设计:多路生理信号数据采集模块设计引言1.1 引言为了实时、连续及长时间地监测病人的重要生命特征参数,协助医护人员进行诊断和治疗,及时的检测采集生理信号尤为重要。伴随着信息技术的发展, 人类对于数据的采集,信息的获取有了越来越高的要求,由于生理信号采集的数据量较大,如何实现多路数据的实时采集和处理成为了重要的课题。EDA 技术已成为现代电子设计的核心在数字系统设计过程中借助 EDA 技术,应用 VHDL 语言进行电路功能的描述,并在 EDA 工具软件平台上进行仿真测试,最后编程下载到 FPGA/CPLD 芯片实现,可大大提高设计效率,缩短开发周期。,并且
8、整个系统的设计可采用先进的自顶向下的设计方案,各功能模块结构层次分明,有利于系统功能的最终实现。1.2 原理与方法1.2.1 设计要求(1) FPGA 控制多路模拟选择开关对对给定的至少 4 路模拟信号进行循环采集。 (2) AD 对信号采集的采集总频率默认:1K;可调: 2K、4K;采样频率调节由键盘按键实现。 (3)将每路 AD 转换后的数字信号进行标示,存储到片内 RAM 中,所设 RAM 最大存储量为 2K,最小为 1K; (4)采集开始命令由拨码开关实现,待片内 RAM 存满后,点亮 LED 灯,并停止采集,等待读取命令;读取命令由拨码开关实现;当接收读取命令后循环读取RAM 中的数
9、据,将读取的信号在 SIGNALTAP II 上显示。 1.2.2 原理概述在本设计中,要求设计一个对四路 AD 信号进行采集、储存、读取的程序。为完成设计要求,首先通过键盘选择采样频率,默认为 1KHZ,可调 2KHZ 及 4KHZ。利用不同的按键来选择不同的分频,得到 AD 时序产生模块所需的频率。接下来, 设置一个选通程序,对四路 AD 转换输出通道进行循环选通,并对每一路采入的数据进行标记。外部输入的四路模拟信号通过 AD 模块的采样,由模拟信号转换成数字信号,然后通过串入并出移位寄存器,将采样过后的串行数据转换成 12 位并行数据,并与选通通道的特征值相并等到 14 位数据。而后将这
10、些 14 位数据可编程逻辑设计课程设计:多路生理信号数据采集模块设计原理与方法输入到后面的 RAM 模块中进行储存。同时,设计地址模块,利用拨码开关用来控制 RAM 中信号的写入与读取。最后利用 SignalTapII 对四路数据进行观察。 1.2.3 子模块设计本设计共包括频率产生模块、按键模块、标号产生模块、AD 转换模块、RAM 模块、循环读取模块。 按键模块按键模块的功能是当输入行信号为低时,判断列信号的高低,进而得出是否有键按下,并将行列信号相并,输出按键值。由图可知,该模块共有两个输入端口和两个输出端口,分别是时钟控制信号 clk、行信号输入端口 hang3.0、列信号输出端口 l
11、ie3.0和键特征值输出端口 jian7.0。 按键模块的具体原理是:按键设置在行列线交叉点,其中行线通过下拉电阻接 VCC_3.3,即行线的输入在无按键按下时被拉高电平。判断键盘中有无按键按下是通过列线送入扫描信号,然后从行线读取状态得到的。具体方法:依次给列信号线输出低电平,检查行线的输入,如果行线输入都为高电平,则表示信号所在的列中无按键按下;如果行线输入有低电平,则低电平所在的列和出现低电平的行的交点处有按键按下。依次给列信号线输出低电平,检查行线的输入,如果行线输入都为高电平,则表示信号所在的列中无按键按下;如果行线输入有低电平,则低电平所在的列和出现低电平的行的交点处有按键按下。此
12、时将行信号和列信号的值并在一起便是键特征值,在经由键特征值输出端口 jian7.0输送给频率产生模块。该程序由一个状态机实现。 频率产生模块频率产生模块的功能根据按下按键的不同分别输出频率为 1kHz,2KHz,4KHz 的时钟信号。由图可知,该模块共包括三个输入端和一个输出端,分别是使能输入端口 en、时钟输入端口 clk、8 位按键特征值输入端口 jian7.0和频率输出端口clk0。 时钟输入端口 clk 连接实验板提供的50MHZ 频率,作用是提供分频器基准时钟。分频器工作原理是通过对输入时钟进行计数,当计数值达到设置值时,改变输出端口状态,以达到分频目的。模块内有共有三种分频模式,分
13、别产生频率为 1kHz,2KHz,4KHz 的时钟信号提供给 AD 模块。8 位按键特征值输入端口 jian7.0接收来自按键模块的键特征值,通过一个选择语句,判断输入的键特征值并选择应该把哪一个时钟信号经由频率输出端口 clk0 输出。使能输入端口 en 接收来自拨码开关的控制信号,用来控制频率产生模块的工作状态,当 en 输入为 1(即输入为高)时,模块正常工作,输出选择的时钟信号,当 en 输入为 0(即输入为低)时,模块停止工作,输出始终为 0。标号产生模块标号产生模块的功能是在时钟控制下,按时序产生循环采集控制信号 a 和 b,以及两位的二进制标号。由图可知,该模块共有一个输入端口和
14、三个输出端口,分别是时钟控制信号 clk、循环采集控制信号输出端口 a、循环采集控制信号输出端口 b 和两位二进制标号输出端口 bh1.0。 标号产生模块通过一个状态机使标号输出端口依次循环输出 00、01、10、11 四个值输送给 AD 数据转换模块。而循环采集控制信号输出端口 b、a 也同样循环输出 00、01、10、11 四个状态,a,b 端口直接接入 ADC 的输入通道选择端口以实现四路 AD 转换输入通道的循环选通。 AD 时序产生模块AD 时序产生模块的功能是产生 ADC 所需要的转换时序。由图可知,该模块共有一个输入端口和两个输出端口,分别是时钟控制信号 clk_in、AD 片选信号输出端口 cs 和AD 时钟信号输出端口 sclk。 AD 时序产生模块可以用状态机的形式实现, 如下图 IdleWaitCs_staCNTCs_staSclk_staCNT=14Idle:CS 为高,SCLK 为低。CNT 计数器的值置零。 WAIT:等待一个时钟周期。 Cs_state1:CS 为低,SCLK 为低。并判断 CNT 计数器的值是否大于 14。 Sclk_state: