收藏 分享(赏)

心电信号采集模块的设计与开发课程设计.doc

上传人:精品资料 文档编号:10807665 上传时间:2020-01-10 格式:DOC 页数:19 大小:7.53MB
下载 相关 举报
心电信号采集模块的设计与开发课程设计.doc_第1页
第1页 / 共19页
心电信号采集模块的设计与开发课程设计.doc_第2页
第2页 / 共19页
心电信号采集模块的设计与开发课程设计.doc_第3页
第3页 / 共19页
心电信号采集模块的设计与开发课程设计.doc_第4页
第4页 / 共19页
心电信号采集模块的设计与开发课程设计.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、课程设计报告设计题目:心电信号采集模块的设计与开发班 级:学 号:姓 名: 指导教师:设计时间:信息学院电科专业课程设计报告摘 要针对心电信号的特点进行心电信号的采集、数据转换模块的设计与开发。本文设计一种用于心电信号采集的电路,然后进行A/D转换,使得心电信号的频率达到采样要求。人体的心电信号是一种低频率的微弱信号,由于心电信号直接取自人体,所以在心电采集的过程中不可避免会混入各种干扰信号。为获得含有较小噪声的心电信号,需要对采集到的心电信号做降噪处理。本文通过滤波的方法将噪声从信号中分离。并将采集到的小信号放大约1000倍,送入数模转换模块,让单片机处理。关键词: 心电信号采集,降噪,A/

2、D 转换放大信息学院电科专业课程设计报告目 录 1. 课程设计任务及要求 11.1 设计任务 .11.2 设计要求 .12. 理论设计 12.1 方案论证 .12.2 电路原理框图说明 .22.3 单元电路设计 .22.3.1 前置放大及反馈电路 22.3.2 带通滤波电路 32.3.3 50Hz 陷波电路 .42.3.4 电压放大电路 42.3.5 电平抬升电路 52.4 整体电路图仿真 .63. 硬件调试 63.1 焊接及调试过程 .63.2 心电信号采集 .73.3 故障分析 .74. 嵌入式软件设计 74.1 开发软件 CCS 简介 .74.2 软件总体设计框图 .84.3 软件分步配

3、置: .94.3.1 配置 ADC12: .94.3.2 配置 LCD: .94.4 软件主程序 .95. 整体效果 146. 结论 157. 参考文献 16信息学院电科专业课程设计报告-0-1. 课程设计任务及要求1.1 设计任务 了解心电信号特点,设计心电信号调理电路,调理电路包括前端放大和右腿 驱动电路、带通滤波和 50Hz 陷波电路、主放大和电平抬高电路等。学习 MPS430 单片机原理,通过对心电信号采集,实现对脉搏率的测量及显示。 焊接相应电路,完成调试。1.2 设计要求在设计中了解心电信号特点,设计心电信号调理电路,调理电路包括前端放大和右腿驱动电路、带通滤波和 50Hz 陷波电

4、路、主放大和电平抬高电路等。2. 理论设计2.1 方案论证将整个设计分成硬件部分和软件部分,在硬件设计部分又可细分为如下几个部分:前置放大、带通滤波、陷波、电压放大、电平抬升以及反馈。根据已有的器件,本设计使用 AD620 作为前置放大级。带通滤波部分,分成了高通与低通两部分,为了提高滤波的效果,高通部分采低通部分采用了二阶切比雪夫低通滤波器,带通纹波为 3dB。50Hz 滤波陷波电路考虑了 Fliege 结构点阻滤波器和“双 T”型陷波电路,实际焊接后发现后者的效果明显更稳定,故改为采用了“双 T”型陷波电路。信息学院电科专业课程设计报告-1-2.2 电路原理框图说明图 2-1 系统结构图如

5、图 2-1 所示,本系统硬件部分主要由前置放大、带通滤波、陷波、电压放大、电平抬升等电路构成;软件部分由基于 Msp430 Launchpad 的 AD 采集和液晶显示等程序编写构成。2.3 单元电路设计2.3.1 前置放大及反馈电路由于人体心电信号的特点,加上背景噪声较强,采集信号时电极与皮肤间的阻抗大且变化范围也较大,要求前级放大电路应满足高输入阻抗;高共模抑制比;低噪声、低漂移、非线性度小;合适的频带和动态范围等特点。为此,选用仪用放大器 AD620 作为前级放大。该放大器有较高的共模抑制比(CMRR),温度稳定性好,放大频带宽,噪声系数小且具有调节方便的特点,是生物医学信号放大的理想选

6、择。根据小信号放大器的设计原则,前级的增益不能设置太高,因为前级增益过高将不利于后续电路对噪声的处理。仿真过程采用 O5 MV,12 Hz 的差分信号源为模拟心电输入来模拟电路的放大过程,结果满足要求,如图 2-2 所示。信息学院电科专业课程设计报告-2-图 2-2 前置放大及反馈电路2.3.2 带通滤波电路心电信号频带主要集中在 005-100 Hz,因此带通滤波器用高低通滤波器来构成,以滤除干扰信号。 HzCRHf1.0215zl 63经过高通滤波后,可以大大削弱 01 Hz 以下因呼吸等引起的基线漂移程度,经过低通滤波后,也可以较好的削弱 100Hz 以上的干扰信号。图 2-3 带通滤波

7、电路信息学院电科专业课程设计报告-3-2.3.3 50Hz 陷波电路在我国采用的是 50hz 频率的交流电,所以在对信号进行采集处理和分析时,会存在 50hz 的工频干扰,对我们的信号处理造成很大干扰,因此要设计一个50hz 双 T 陷波器来滤除工频干扰。滤波器的中心频率 和抑制带宽 BW 之间的0f关系为: 中心频率: HzRCf50210图 2-4 50Hz 陷波电路2.3.4 电压放大电路心电信号通常比较微弱,至多为 mV 量级,需要用较大增益的放大电路将信号放大到方便分析和采集的量级。该放大电路放大倍数为: )(10倍RAf信息学院电科专业课程设计报告-4-图 2-5 电压放大电路2.

8、3.5 电平抬升电路由于 Msp430 Launchpad 不能采集负电压,直接采集放大后的心电信号将会使液晶屏上波形失真,因此设计该电压抬升电路并通过电位器调节信号整体电平。图 2-6 电平抬升电路信息学院电科专业课程设计报告-5-2.4 整体电路图仿真图 2-7 整体电路图仿真3. 硬件调试3.1 焊接及调试过程为了使作品更加具备实用性和观赏性,焊接电路时采用双面面包板并在不影响电路性能前提下尽可能减小电路面积。考虑“飞线”过多过长可能降低电路稳定性、增加干扰,焊接过程尽量少使用引线,缩短导线长度。将 VCC,VEE,GND 及各级输入输出用一定量排针引出,方便调试,降低出错率。信息学院电

9、科专业课程设计报告-6-图 3-1 硬件部分3.2 心电信号采集经过采集电路在示波器显示的心电信号如图 3-2 所示,信号无明显失真,经测量和计算,该同学心率此时约为 1.4Hz。图 3-2 成功采集的心电信号3.3 故障分析心电信号因人而异,不同的人测量,效果可能会出现较大差异,可以选择信号明显波形较好的人做实验。实验中使用了 3 种运放,都采用双电源接法,焊接时要注意不要短路,焊接完毕,应先检查后通电。Msp430 Launchpad 采集电压范围为 0 至 5V,需调节抬升电路电位器使其输出电压值合适的心电信号。4. 嵌入式软件设计本设计软件部分的设计用 Msp430 Launchpad

10、 来实现。4.1 开发软件 CCS 简介CCS 是一种针对 TMS320 系列 DSP 的集成开发环境,在 Windows 操作系统下,信息学院电科专业课程设计报告-7-采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。 CCS 有两种工作模式,即软件仿真器模式:可以脱离 DSP 芯片,在 PC 机上模拟 DSP 的指令集和工作机制,主要用于前期算法实现和调试。硬件在线编程模式:可以实时运行在 DSP 芯片上,与硬件开发板相结合在线编程和调试应用程序。 CCS 的开发系统主要由以下组件构成: TMS320C54x 集成代码产生工具; CCS 集成开发环境; DSP/BI

11、OS 实时内核插件及其应用程序接口 API; 实时数据交换的 RTDX 插件以及相应的程序接口 API; 由 TI 公司以外的第三方提供的各种应用模块插件。 CCS 的功能十分强大,它集成了代码的编辑、编译、链接和调试等诸多功能,而且支持 C/C+和汇编的混合编程。4.2 软件总体设计框图F5529ADC12LCD模拟信号数据处理显示 logo显示工程相关信息信息学院电科专业课程设计报告-8-4.3 软件分步配置:4.3.1 配置 ADC12:F5529 内部 ADC 为 8 位 12 通道模数转换器。实验中将 P6.4 作为模拟 信号的输入端口。时钟源为 MCLK 的 3 分频。ADC12C

12、TL0 = ADC12SHT02 + ADC12ON; / Sampling time, ADC12 onADC12CTL1 |= ADC12SSEL0 + ADC12DIV2; /ADC12SSEL 0:mclk 1:smclkADC12CTL1 |= ADC12SHP; / Use sampling timer ,0 clockADC12IE = 0x01; / Enable interruptADC12CTL0 |= ADC12ENC;P6SEL |= 0x10; / P6.4 ADC option select4.3.2 配置 LCD1602:采用 F5529 内置的点阵屏,相关详细配

13、置参见 F5529 官方“HAL_Dogs102x6.c”4.4 软件主程序/*/ MSP430F552x/ -/ /| |/ | | |/ -|RST |/ | |/ Vin |P6.4/CB0/A0 |/*信息学院电科专业课程设计报告-9-#include #include “HAL_Dogs102x6.h“#include“info.h“#include int read;volatile unsigned int x = 0;volatile unsigned int flag = 0;volatile unsigned int value = 0;volatile unsigned

14、int count = 0;volatile float freq = 1.4;volatile unsigned int i;#define Num_of_Results 2volatile unsigned int resultsNum_of_Results;/ Needs to be global in this/ example. Otherwise, the/ compiler removes it because it/ is not used for anything.uint16_t timeoutCounter;void init_lcd() uint8_t contrast

15、 = *(unsigned char *)contrastSetpointAddress); /读取FLASH中对比度值uint8_t brightness = *(unsigned char *)brightnessSetpointAddress); /读取FLASH中背光值/ Set up LCDDogs102x6_init(); /初始化LCDDogs102x6_backlightInit(); /背光初始化/ Contrast not programed in Flash Yetif (contrast = 0xFF) /若当前FLASH中无对比度值,则将对比度值设为11(默认)/ S

16、et Default Contrastcontrast = 11;/ Brightness not programed in Flash Yetif (brightness = 0xFF) /若当前FLASH 中无背光值,则将背光值设为11(默认)/ Set Default Brightnessbrightness = 0x11;/ Dogs102x6_setBacklight(brightness); /设置初始背光值/ Dogs102x6_setContrast(contrast); /设置初始对比度值Dogs102x6_clearScreen();信息学院电科专业课程设计报告-10-/显

17、示文字说明:/Dogs102x6_stringDraw(3, 0, “ pan “, DOGS102x6_DRAW_NORMAL);int main(void)WDTCTL = WDTPW + WDTHOLD; / Stop WDT/Board_init(); /初始化GPIO/ Globally enable interruptsADC12CTL0 = ADC12SHT02 + ADC12ON; / Sampling time, ADC12 onADC12CTL1 |= ADC12SSEL0 + ADC12DIV2; /ADC12SSEL 0:mclk 1:smclkADC12CTL1 |=

18、 ADC12SHP; / Use sampling timer ,0 clockADC12IE = 0x01; / Enable interruptADC12CTL0 |= ADC12ENC;P7DIR |= 0x01; / P7.0 outputP6SEL |= 0x10; / P6.4 ADC option selectP1DIR |= 0x01; / P1.0 outputTA1CCTL0 = CCIE; / CCR0 interrupt enabledTA1CCR0 = 2040;/ (1/32768)*205 =5 ms ?TA1CTL = TASSEL_1 + MC_1 + TAC

19、LR; / ACLK, upmode, clear TARinit_lcd();/logo_init();_enable_interrupt(); /使能全局中断/info_init();Dogs102x6_clearScreen();buttonsPressed = 0;/_disable_interrupt(); /关闭全局中断while (1)ADC12CTL0 |= ADC12SC; / Start sampling/conversion_bis_SR_register(LPM0_bits + GIE); / LPM0, ADC12_ISR will force exit_no_ope

20、ration(); / For debugger/Dogs102x6_stringDraw(8, 0, “ pan “, DOGS102x6_DRAW_NORMAL);/ Timer0_A5 Interrupt Vector (TAIV) handler#pragma vector=TIMER1_A0_VECTOR_interrupt void TIMER1_A0_ISR(void)信息学院电科专业课程设计报告-11-P7OUT = 0x01; / Toggle P1.0#pragma vector = ADC12_VECTOR_interrupt void ADC12_ISR(void)st

21、atic unsigned char index = 0;if(x1.0 if(flag = 1) value+;count+;if( abs(results0-results1) 200 freq = (float)102/value/5*2;/buttonsPressed = 1;/*Dogs102x6_stringDraw(7, 0, “ECG FREQ:“, DOGS102x6_DRAW_NORMAL);Dogs102x6_charDraw(7, 60, 0x30+(int)freq%10, DOGS102x6_DRAW_NORMAL);Dogs102x6_stringDraw(7,

22、67, “.“, DOGS102x6_DRAW_NORMAL);Dogs102x6_charDraw(7, 74, 0x30+(int)(freq*10)%10, DOGS102x6_DRAW_NORMAL);Dogs102x6_stringDraw(7,90, “HZ“, DOGS102x6_DRAW_NORMAL);*/_bic_SR_register_on_exit(LPM0_bits); / Exit active CPUcase 8: break; / Vector 8: ADC12IFG1case 10: break; / Vector 10: ADC12IFG2case 12:

23、break; / Vector 12: ADC12IFG3case 14: break; / Vector 14: ADC12IFG4case 16: break; / Vector 16: ADC12IFG5case 18: break; / Vector 18: ADC12IFG6case 20: break; / Vector 20: ADC12IFG7case 22: break; / Vector 22: ADC12IFG8case 24: break; / Vector 24: ADC12IFG9case 26: break; / Vector 26: ADC12IFG10case

24、 28: break; / Vector 28: ADC12IFG11case 30: break; / Vector 30: ADC12IFG12case 32: break; / Vector 32: ADC12IFG13case 34: break; / Vector 34: ADC12IFG14default: break;信息学院电科专业课程设计报告-13-5. 整体效果图 5-1 液晶显示基本信息图 5-2 液晶显示心电信号信息学院电科专业课程设计报告-14-图 5-3 整体作品图 5-4 实际采集的心电信号6. 结论根据以上效果图,可知心电图测试结果跟理论吻合,说明本次实验圆满成功。通过本次实验,我们对模拟电路有了更进一步的理解,将课本上的理论成功应用到了实际中。学习利用 MSP430 对采样信号进行了输出,其结果也与示波器所显示的波形相符合,表明单片机采样也取到了预期的效果,与真实结果符合的很好。信息学院电科专业课程设计报告-15-7. 参考文献1 运算放大器权威指南Bruce Carter、Ron Mancini 主编,姚剑清 译 人民邮电出版社2 OP 放大电路设计冈村迪夫 著,王玲等 译, 科学出版社3 电子技术基础实验与课程设计高吉祥,易凡编著,电子工业出版社,2002

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报