版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE6心电信号采集研究摘要化电子技术的发展,越来越多的用来测量心率的先进仪器被研发出来,他们体积小,测量精确度高,非常适合家用。本文就是基于以上背景,描述对心电信号采集系统的有关研究。系统以STM32微处理器作为控制核心,通过心率检测模块检测人体的实时心率值,再通过液晶显示屏显示实时的心率值以及心率值波形。系统通过高度的电子集成化,使系统设计的仪器体积很小,通过显示屏显示心率和波形图,使测得的数值更为直观。通过这一设计,能够大大的方便人们测量心率,使人们能够随时了解自己的身体状态。方式完成毕业论文设计的最终展示。单片机;ADS1292心率检测模块;液晶显示模块;测量心率ABSTRACTHeartratecollectionhasalwaysbeenaconcernofpeople.Thevalueofheartrateisrelatedtopeople'shealth,especiallythemiddle-agedandelderlypeople.Thevalueofheartratecanshowmanyphysicalhealthproblems.Ifyouknowyourheartratevalueintime,youcangetareminderearlierandavoidaccidents.Theexistinginstrumentsformeasuringheartratearenotverycommon.Ifpeoplewanttogetheartratevalue,theymostlygetitthroughlarge-scaleinstrumentsinhospitals.However,withthedevelopmentofmodernelectronictechnology,moreandmoreadvancedinstrumentsformeasuringheartratehavebeendeveloped.Theyaresmallinsize,highinaccuracy,andverysuitableforhomeuse.Basedontheabovebackground,thispaperdescribestheresearchof心电signalacquisitionsystem.ThesystemusesSTM32microprocessorasthecontrolcore,detectsthereal-timeheartratevalueofhumanbodythroughads1292heartratedetectionmodule,andthendisplaysthereal-timeheartratevalueandheartratewaveformthroughLCD.Throughthehighdegreeofelectronicintegration,thevolumeoftheinstrumentdesignedbythesystemisverysmall,andtheheartrateandwaveformaredisplayedonthedisplayscreen,whichmakesthemeasuredvaluemoreintuitive.Throughthisdesign,itcangreatlyfacilitatepeopletomeasureheartrateandknowtheirbodystateatanytime.Thispaperstartsfromthebackgroundofthebeginning,andputsforwardsomeopinionsthroughreadingandsummarizingtheliterature.Throughthedescriptionofthephysicalschemeselection,tothefinaldeterminationofthespecificsystemhardware,andcleartheirconnectionwiththeMCU,andthenintroducethespecificsoftwaredesigncontent,finallyinthephysicalwaytocompletethefinaldisplayofgraduationthesisdesign.Keywords:32singlechipmicrocomputer;Ads1292heartratedetectionmodule;LCDmodule;Measureheartrate目录第1章引言1内容和意义1国内外研究现状1研究内容和预期目标2本章小结2第2章系统总体设计3主控芯片的选型方案3心率检测模块的选择与论证3显示模块的选择与论证4总体方案设计4本章小结5第3章硬件设计6主控芯片电路设计6心率检测模块电路设计7LCD显示模块电路设计8供电电源电路设计9本章小结10第411主控芯片程序设计11心率模块子程序流程图11LCD液晶显示模块子程序流程图12本章小结13第5章调试与结果分析14软件开发环境的介绍14编程语言的选择15结果分析15结论17致谢19附录20第1章引言内容和意义国现代医学的主要研究目标和方向之一。并不能随时地紧贴人越多地成为了学者们日益重视的课题。国内外研究现状术、智能传感器,使病人摆脱长期健康监护的不适和时间限制。其中,比较典型的是意大利米兰理工学院的MagICWEALTHYMyHeartVitalJacketl、德国CHRONIOUs等等。这类系统主要是内部带有生物传感器的马甲或T恤。研究人员研制出舒适、可伸缩的感应电极,并将便携式电子显示屏和移动计算终端等装在衣服里,利用有线或蓝牙、WiFi、Zigbee等无线通讯技术收集传送心血管病、阻塞性肺炎等慢性疾病的重要生理信号。的测量也至关重要。心电是最早被人类研究并应用于医学临床的生物电之一,在心血管疾病及其他慢性疾病的监。动态心电图在休息、活动、工作、学习、睡眠等不同状态下,均可作为临床分比早期一次性心电图更完整地记录心脏状况,提供更准确的诊断依据。市面上大多限制,电子布料监护仪在这种长期的,动态的健康监测方面有很大的优势。器对移动环境下的人体进行长期监测。研究内容和预期目标背景强,预测有用的信号常常会淹没在无用的信号中;信号频率较低。本论文课题的选择来源于2020A题,经过拆分和简化,要求心电检测电路设计以ADS1292模拟前端芯片为基础,完成用户心电信号的实时检测,基本要求如下:了解并熟悉心电图、心电图测量方法及相关的测量芯片;,并进行动态心电图检测和显示;分析计算了使用者的心率,心率测量相对误差不大于10%。结合以上描述,本系统最终以STM32单片机为核心控制芯片,设计了一种基于TFT-LCDLCD显示和ADS1292心率采集电路的心率检测系统。人体心脏或心率发生器通过电极与ADS1292R心率采集模块相连,将采集到的心率信号转换32单片机读取数据,再由单片机计算的到心率,同时控制TFT-LCD显示心率信号。本章小结文献,总结出国内外现有的对于心率检测的研究现状,探讨其中的优点,值的本文借鉴的地方,总结出其中的不足,通过本论文设计减少不足的要求。通过此,最终引出本论文所设计的心率检测系统的设计。第2章系统总体设计总结出最符合本设计要求的研究方案。主控芯片的选型方案以具有多种产品类型,可以满足各种电路应用场合。它们都具有良好的集成度、数/模混合、全部功能、低工作功DSP中又添加了一些特别重要的指令,有些在单片机系列中也嵌入了LCD的自动化控制/驱动和双音多频段的发生器,并且它们都支持了语音提示的功能。其缺点就是成本太高,不利于改善产品在市场上的性价比。32系列单片机。最常见的就是单片机之一也就是32单片机。它的主要技术优势之一是使其软件系统集成度和程序高、体积小、功耗少、系统软件类型多、扩展性好、使用方便、抗干扰能力强、性能可靠。ST公司STM32F103ZET6为主控制器。采用ARMCortex-M3内核的STM32,运行速度快,片上资源丰富,有大量的外围接口,可扩展性强,灵活性高,多用于工业控制领域。STM32F103ZET6是一种新型的超强抗干扰、高速和低频率功耗的通用单片机,它的功能已经完全满足了设计要求,而且价格便宜,便于程序下载。心率检测模块的选择与论证JFH-RPO-A5V模块。A5V模块是由世联芯科技研制开发的一种多光谱生理学数据测量模块,它能够精确地测量人体脉搏波的形状、心率平均值、血氧含量以及人体动脉管内微循环的参数。由于对前端传感器技术进行了专利许可证的保护,使该模块在灵敏度及其信噪比方面都在相当多的同类型产品中的到了较高的改善。采用了惊帆特别先进的信号调理技术和算法,将脉搏波、心率、血氧和动脉管内微循环参数直接地输出,这样就极大地减少了系统工作的复杂度。使用者仅仅只需要通过一个串口与该模组之间进行通讯,就能直接获取测量的结果。JFH-RPO–A5V模块不仅在精度高、易于使用等优势,而且还具有超小的体积、超低功耗,提高了人们对于智能携带设备的寿命及其外观方面所设计的灵活性。方案二:选择ADS1292R模块。ADS1292R模块可被设计为24位0-2多路红外同步信号采样模数转换器(ADC),内置一(PGA)、内部信号基准和红外板载信号振荡器。ADS1291,ADS1292和新的ADS1292R分别使用包含了便携式、低消耗功率的移动医疗设备心电(以下简称心电),体育和户外运动等其他应用程序中通常都可能需要的所有心电功能。ADS1291、ADS1292和新的ADS1292R都因其具有很高的系统集成化设计精度和卓越的应用性能,在极大地有效降低了系统尺寸、功耗和降低整体系统设计控制成本的必要条件下的前提下,创造了一种具有可靠和扩展性的电子医学检验仪器管理系统。ADS1291,ADS1292,ADS1292R每个输入信道都必须单独拥有一个灵活的内部输入多路复用器,这个输入多路复用电容器配置使的我们不仅可以单独地将输入信号与内部电路产生的输入复能够自动产生由于它的右腿受力驱动(RLD)而自动产生的一个输出控制信号。综合考虑,选择方案二。显示模块的选择与论证方案一:使用OLED液晶显示屏。OLED液晶显示屏不仅能显示数字、字符和汉字,还能显示各种图形和曲线,并能实现实现性内容的闪烁、屏幕内容的上下滚动等功能,具有体积小,质量轻,散热小,电磁辐射小,图像还原清2.7寸之大,且一般只有一种颜色,屏幕刷新率低,并不适合本系统的设计要求。TFT-LCD液晶显示屏。TFT-LCD液晶显示屏是一种可触摸的电子显示屏,其分辨率高,能够达到分辨率,支持任意种颜色的读取,且显示屏大小适中,一般能够达到8寸左右大小,对于本系统的显示需求,能够很好的满足。总之,本系统通过从实用性和价格上综合考虑,选择了方案二TFT-LCD液晶显示屏作为本设计的显示模块。总体方案设计STM32F103ZET6单片机作为主控芯片,主要模块还有TFT-LCD液心率采集电路等。系统框图如图2.4所示。通过电极连接人体心脏部位或者是心率发生器,将获取ADS1292R心率采集模块,将心率信号转换为可以被单片机读取的二进制数字信号,用32单片机读取数据,单片机计算获取心率值,同时控制TFT-LCD显示出来,并绘制心率波形。图2.4硬件框图本章小结块,并最终总结出整体的硬件设计方案,为下章具体描述各器件在系统中的作用打下基础。第3章硬件设计块的作用,他们之间如何实现各自独自的功能,再如何通过整体的搭配,最终完成本系统的整体硬件电路设计。主控芯片电路设计MCU,起着至关重要的作用,它不仅要能够有强大的供电能力,更要有很好的控制能力,它能够读取心率检测模块检测的心率数据,同时能够驱动液晶显示屏显示实时的心率波形,为实现以上STM32单片机,其性能优越,且价格合理,能够完美的实现设备所需的控制要求。(1)STM32单片机的功能概述STM32F1是Cortex-M3内核,支持Thumb-2ARM7TDMI,Cortex-M3的好处,比如有更好的性能、可以写更多的代码、位带操作、能够中断中嵌套中断、成本价格低等。(2)STM32的硬件描述STM32的优异性体现在如下几个方面:32位的单片机,价格和一个8位的单片机差不多。FSMC模块、TIMER定时计数器、SPI通信模块、IIC通信模块、USB接口、CAN通信模块、SDIO接口、AD-DA模数转化模块、RTC时钟、DMA等,集成度很高。3实时性非常好。84个中断,16级可编程优先级,而且几乎所有的引脚都可以用来作为外部中断。STM32各个外设都有自己的独立时钟开关,什么要用打开什么,什么不用,关闭什么,不浪费每个外设的使用。32单片机编程,只需要通过串口模块,通过CH340模块下载数据。也可以通过ST-LINk,JLINK等编译器下载程序,非常简单方便。图3.1主控单片机模块原理图心率检测模块电路设计模块,ELA、ERA分别是连接两个微分电极(局部导电氧化硅胶),com接两个局部电极屏蔽线内侧的一条电极屏蔽线,用来同时消除对整个人体的局部共模放电干扰,原始帧的ELA、ERA分别是连接两个微分电极(局部导电氧化硅胶),COM接两个局部电极屏蔽线,用来同时消除对整个人体的局部共模放电干扰,原始帧的ELA、ERA分别是连接一阶线性微分电路和原来用于滤除这些部分的共模干扰,由一个IN1P、IN1N和一个IN2P、IN2N引脚分别传输进入利用ADS1292R,ADS1292R对随机采集数据的到的两个原始数据引脚信号分别进行一个A/D波的转换、放大,作为从移动计算机直接通过来的SPI_MISO、SPIMOSI两个独立的原始数据引脚,以独特的数字帧编码格I_MCU,3B心脏帧头、3B肺部呼吸供电信号和3B心脏供电信号,组成了每帧9B的原始数字信号。每次处理1STM32F103ZET6,主机接到反馈后再进行数据的传输。在ADS1292R的芯片上,TPS73030DBV5提供了模拟电压ADS_AVDD,模拟ADS_AVSS通过0ω电阻将信号转换到数码地GND,有源晶振Y2的信号输出2.048MHz,为采集的芯片提供了工作的时钟。图3.2模块原理图LCD显示模块电路设计TFT-LCD液晶显示屏,TFTLCD即薄膜晶体管液晶显示器。它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(TFT),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。它与主控单片机通过34个引脚相连,通过相应的指令代码完成心率波形的绘制以及心率值的显示,使系统具有良好的人机交互性。图3.3液晶显示模块原理图供电电源电路设计7805芯片在控制系统中均采用了经典的稳压技术。在GND端直接进行电源和地线连接,在IN端直接进行7.5V的电源与地线及电容,该设计电路的基本原理框图见下文。OUT3号管脚与熔断器及电容相连。7805是我们最常见的稳压电源芯片,他的设计和使用都非常方便,用一个极为简单的电路就已经能够直接输入直流稳压电源,他的直流输出电压正好也就是5V,正好也就是32系列的单片机使用时所需要输入的电压,他的KA7805,ADS7805,CW7805等这些系列都数量很多,它们在设计和应用时的性能相比差别不大,用的最多的还是lM7805。78/79系列三端自动稳压IC电路构成,7805三端自动稳压IC控制电路内部分别预计设有了过流、过热和自动电压调节等安全自动保护控制电路,使用可靠、方便、经济。这一系列的新型集成式直流稳压IC系列型号中,三端口的集成式直流稳压电源回路的每个输入和输出电流分别位置是78或79后的两个位置,例如,7806代表正向6V,7909代表负向9V。整机的三端稳压电路使用方便,常用于电子制造。实际上,应该优先考虑在三端电源整合电路集成后的稳压电源线路(当然,不必再考虑需要较小的输出功率)上同时设置一个足够大的稳压散热器。所以当工作温度太高时,稳压控制系统的工作性能就肯定会随之发生很大变差,甚至可能造成元件损坏。当然在工业生产中通常需要一个具有输出电流频率通常大于1.5A输出电流的稳压式并联电源时,一般情况可以考虑采用多个三端子的稳压并联电路对其进行电源并联,使其中的输出电流频率大于N个1.5A。图3.4电源电路原理图本章小结机将各个模块联系起来,完成本系统的功能。再描述本设计硬件模块与单片机相连接的方式,与单片机的通信方式,为接下来一章做铺垫。第4章软件设计设计。单片机如何控制一个模块,其具体的程序思路是什么,都会在本章进行具体的介绍。主控芯片程序设计ADS1292心率检测模块的数据,并控制TFT-LCD液晶彩屏显示实时的心率值,并绘制出相应的心率波形图,给使用者以直观的感受。图4.1主程序流程图心率模块子程序流程图给32单片机。图4.2心率模块子程序流程图LCD液晶显示模块子程序流程图图4.3液晶显示模块子程序流程图本章小结配调试,最终实现本设计最初的设计要求。第5章调试与结果分析硬件的搭建与软件的编写,再通过不断的调试与测试,设计出性能优良又稳定的设备,实现本设计所需的功能要求。软件开发环境的介绍本文介绍的ARM开发环境是目前流行的嵌入式开发环境keiluvision5。keiluvision5是美国arm公司专门自主设计开发的最新的第一代基于ARM微微处理器的软件编译、连接和运行调试的软件集成应用软件。keil-uvision5不仅为软件客户端开发提供了完整的cowindows等应用程序软件开发应用环境和软件接口,支持各种c/c++语言的软件开C编程语言软件编辑代码效率,使的软件设计师和软件开发者们都可以直接使用各种4-1keil-uvision5开发者的界面设计示意图所示。keil软件具有以:keil软件支持windows、winxp、xp等各种类型操作系统,提供丰富的库函数和强大的系统软件开发实用工具;软件开发者的工作管理流程;keiluvision5在keiluvision4的功能基础上,添加了许多的创新功能。例如针对keiluvision5更加地最大限度地对和增强了对新的cortex-m系统内核以及微控制器的系统软件开发和维护支持,并且同时针对keiluvision4的最新软件开发版本格式和新的软件开发人员界面设计做出了许多相应的版本优化和重大改进。-=图5.1开发环境界面编程语言的选择因为整个程序使用的是C语言,使用的是较多数值间的转换计算,加上我主要学习的编程语言是C语言,所以最后选择了C语言来编写程序。在32C语言等高级语言的使用具有如下优点:您无需知道指令集或处理器的内存结构。变量选择组合的指定操作提高了程序的可读性。运用关键字和运算函数接近思想。编辑程序所花的时间比使用编译语言要少的多。它提供了很多标准的程序,我们只需要知道调用它的头文件,并且了解如何使用这个函数就可以了。模块编程技术可以用C语言实现,这样就可以把已编译程序添加到新的程序中。与其他处理器或环境相比,C语,C语言的编译器几乎适用于所有的目标系统,已完成的项目可以很容易地转换到其他处理器或环境,C语言在功能、结构、可读性、可移植性、可维护性等方面具有明显优势,易于学习和使用。结果分析本次调试过程中也遇到了很多的问题。更换了新的单片机后,排除了故障,电路实现了预先所要求的功能。料后,最终实现了所有功能的实现。决定成败。不过总体而言,本次的调试还是很成功的。图5.3实物演示图本章小结的实物作品,并进行了相关的演示。结论STM32单片机为控制核心,利用ADS129心率检测模块测量人体的实时心率,再通过LCD显示屏显示出来。此次毕业设计,力求硬件电路设计简单易行,充分发挥软件部分的最优势,以满足系统要求。经实际测试表、相关知识的了解,并将所学的理论知识运用于实践,融会贯通,从而掌握了书本上无法掌握的知识。通过这次学习的总结,我的到如下收获:以消化吸收。需要考虑各个组件的工作要求,合理地选择各个组件的种类。需要对程序进行反复修改,即使通过编译,也需要通过模拟来实现其功能。(4)由于持续的上机操作和练习,使我对AltiumDesigner软件绘图、PCB板制作的操作有了更多的熟练掌握,通过Keil软件编写和调试程序,最终完成实物的制作。更值的令人激动。尽管我的设计中还有许多不足之处,但这些不足正是推动我今后做的更好的最大动力,只有敢于面对困难,不怕困难,自己动手解决问题才有可能。不够快地了解这些先进的知识,学以致用,为祖国的发展贡献自己的一份力量。参考文献STM32的夜间心率呼吸监测床垫设计[J].中国科技信息,2021(05):63-64.[J].吉林工程技术师范学院学报,2020,36(12):115-116.[3]吴正玲,陈跃元.婴幼儿心率检测系统设计[J].科学技术创新,2020(34):101-102.[4]卢森幸.一种多终端心率监测系统设计[J].中国科技信息,2020(20):93-96.[5]夏卓,王亚刚.一种基于STM32的心率检测方法设计[J].软件导刊,2020,19(07):81-84.STM32的智能输液装置设计[J].智能计算机与应用,2020,10(07):126-128+131.[7]能明凯,周广明,赵伟,赵立岭.老年人健康检测系统的设计[J].现代计算机,2020(16):33-36.APP的健康监测系统[J].南方农机,2020,51(05):39-42+53.[J].武夷学院学报,2020,39(03):37-41.实现[J].国外电子测量技术,2020,39(02):88-92.[11]罗通.心率监测系统设计[J].无线互联科技,2019,16(09):55-56.[J].福建电脑,2019,35(02):52-54.[13]张超.基于物联网的智能心率检测与情绪监控系统研究[J].企业科技与发展,2019(01):60-61+64.致谢不管是格式规范,论文要点,还是文章结构,在老师的及时帮助下,使我最终能够顺利完成论文写作。自己的专业水平。信息支持,在此一并表示感谢。在结束的时候,再次感谢学校给我带来了宝贵的学习机会,让我可以走上新的舞附录附录A程序#include"ADS1292.h"#include"spi.h"#include"delay.h"#include"usart.h"#include"Timer.h"#include"key.h"#include"led.h"#defineDEBUG_ADS1292//寄存器printf调试u8ADS1292_REG[12];//ads1292寄存器数组ADS1292_CONFIG1Ads1292_Config1={DATA_RATE};//CONFIG1ADS1292_CONFIG2Ads1292_Config2={PDB_LOFF_COMP,PDB_REFBUF,VREF,CLK_EN,INT_TEST};//CONFIG2ADS1292_CHSETAds1292_Ch1set={CNNNLE1_POWER,CNNNLE1_GAIN,CNNNLE1_MUX};//CH1SETADS1292_CHSETAds1292_Ch2set={CNNNLE2_POWER,CNNNLE2_GAIN,CNNNLE2_MUX};//CH2SETADS1292_RLD_SENSAds1292_Rld_Sens={PDB_RLD,RLD_LOFF_SENSE,RLD2N,RLD2P,RLD1N,RLD1P};//RLD_SENSADS1292_LOFF_SENSAds1292_Loff_Sens={FLIP2,FLIP1,LOFF2N,LOFF2P,LOFF1N,LOFF1P};//LOFF_SENSADS1292_RESP1Ads1292_Resp1={RESP_DEMOD_EN1,RESP_MOD_EN,RESP_PH,RESP_CTRL};//RSP1ADS1292_RESP2Ads1292_Resp2={CALIB,FREQ,RLDREF_INT};//RSP2//ADS1292的IO口初始化voidADS1292_Init(void){GPIO_InitTypeDefGPIO_InitStructure;EXTI_InitTypeDefEXTI_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);SPI2_Init();//初始化SPI引脚//250ns频率4.5M发送八组时钟需要23us//125ns频率9M,发送八组时钟需要14us//55ns频率18M发送八组时钟需要9.2us//30ns36M发送八组时钟需要9.2us//手册10页里写的最小时钟周期为50ns//DRDY//待机时高电平,采集时低电平有效GPIO_InitStructure.GPIO_PinGPIO_Pin_8;GPIO_InitStructure.GPIO_ModeGPIO_Mode_IPU;//上拉输入GPIO_Init(GPIOA,&GPIO_InitStructure);//CSGPIO_InitStructure.GPIO_Pin=GPIO_Pin_12;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_10MHz;GPIO_InitStructure.GPIO_ModeGPIO_Mode_Out_PP;//推挽输出GPIO_Init(GPIOB,&GPIO_InitStructure);////RESRT//GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;//GPIO_Init(GPIOA,&GPIO_InitStructure);////START//GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;//GPIO_Init(GPIOA,&GPIO_InitStructure);////CLKSEL//GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;//GPIO_Init(GPIOA,&GPIO_InitStructure);//DRDY中断初始化清除中断标志选择管脚EXTI_InitStructure.EXTI_Line=EXTI_Line8;//选择中断线路EXTI_InitStructure.EXTI_ModeEXTI_Mode_Interrupt;EXTI_InitStructure.EXTI_Trigger=EXTI_Trigger_Falling;//下降沿触发EXTI_InitStructure.EXTI_LineCmd=ENABLE;//外部中断使能EXTI_Init(&EXTI_InitStructure);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitStructure.NVIC_IRQChannel=EXTI9_5_IRQn;//选择中断通道NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority1;//抢占优先级NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;//子优先级NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//使能外部中断通道NVIC_Init(&NVIC_InitStructure);EXTI->IMR&=~(EXTI_Line8);//屏蔽外部中断ADS_CS=1;ADS1292_PowerOnInit();//上电复位,进入待机模式}volatileu8ads1292_recive_flag=0;//数据读取完成标志volatileu8ads1292_Cache[9];//数据缓冲区voidEXTI9_5_IRQHandler(void){if(EXTI->IMR&EXTI_Line8&&ADS_DRDY==0)//数据接收中断{EXTI_ClearITPendingBit(EXTI_Line8);数据存到9字节缓冲区ads1292_recive_flag=1;}}u8ADS1292_Read_Data(u8*data)//72M时钟下函数耗时大约10us8M时钟下函数耗时大约100us{u8i;读9个字节的数据//delay_us(10);for(i=0;i<9;i++){*data=ADS1292_SPI(0X00);data++;}//delay_us(10);ADS_CS=1;return0;}//设置寄存器数组voidADS1292_SET_REGBUFF(void){ADS1292_REG[ID]=ADS1292_DEVICE;//ID只读ADS1292_REG[CONFIG1]=0x00;//00000aaa[7]0连续转换模式[6:3]必须为0ADS1292_REG[CONFIG1]|=Ads1292_Config1.Data_Rate;//[2:0]aaa采样率设置采样率ADS1292_REG[CONFIG2]=0x00;//1abcd0e1[7]1[2]0[0]1HZ、±1mV方波ADS1292_REG[CONFIG2]|=Ads1292_Config2.Pdb_Loff_Comp<<6;//[6]a导联脱落比较器是否掉电ADS1292_REG[CONFIG2]|=Ads1292_Config2.Pdb_Refbuf<<5;//[5]b内部参考缓冲器是否掉电ADS1292_REG[CONFIG2]|=Ads1292_Config2.Vref<<4;//[4]c内部参考电压设置,默认2.42VADS1292_REG[CONFIG2]|=Ads1292_Config2.Clk_EN<<3;//[3]dCLK引脚输出时钟脉冲?ADS1292_REG[CONFIG2]|=Ads1292_Config2.Int_Test<<1;//[1]e是否打开内部测试信号,ADS1292_REG[CONFIG2]|=0x81;//设置默认位ADS1292_REG[LOFF]=0x10;//[7:5][4]必须为1[3:2][1]必须为0[0]导联脱落检测方式0DC1ACADS1292_REG[CH1SET]=0x00;//abbbccccADS1292_REG[CH1SET]|=Ads1292_Ch1set.PD<<7;//[7]a通道1断电?ADS1292_REG[CH1SET]|=Ads1292_Ch1set.GAIN<<4;//[6:4]bbb设置PGA增益ADS1292_REG[CH1SET]|=Ads1292_Ch1set.MUX;//[3:0]cccc设置通道1输入方式ADS1292_REG[CH2SET]=0x00;//abbbccccADS1292_REG[CH2SET]|=Ads1292_Ch2set.PD<<7;//[7]a通道2断电?ADS1292_REG[CH2SET]|=Ads1292_Ch2set.GAIN<<4;//[6:4]bbb设置PGA增益ADS1292_REG[CH2SET]|=Ads1292_Ch2set.MUX;//[3:0]cccc设置通道2输入方式ADS1292_REG[RLD_SENS]=0X00;//11abcdef[7:6]11PGA斩波频率fMOD/4ADS1292_REG[RLD_SENS]|=Ads1292_Rld_Sens.Pdb_Rld<<5;//[5]a该位决定RLD缓冲电源状态ADS1292_REG[RLD_SENS]|=Ads1292_Rld_Sens.Rld_Loff_Sense<<4;//[4]b该位使能RLD导联脱落检测功能ADS1292_REG[RLD_SENS]|=Ads1292_Rld_Sens.Rld2N<<3;//[3]c这个位控制通道2负输入用于右腿驱动的输出ADS1292_REG[RLD_SENS]|=Ads1292_Rld_Sens.Rld2P<<2;//[2]d该位控制通道2正输入用于右腿驱动的输出ADS1292_REG[RLD_SENS]|=Ads1292_Rld_Sens.Rld1N<<1;//[1]e这个位控制通道1负输入用于右腿驱动的输出ADS1292_REG[RLD_SENS]|=Ads1292_Rld_Sens.Rld1P;//[0]f该位控制通道1正输入用于右腿驱动的输出ADS1292_REG[RLD_SENS]|=0xc0;//设置默认位ADS1292_REG[LOFF_SENS]0X00;//00abcdef[7:6]0ADS1292_REG[LOFF_SENS]|=Ads1292_Loff_Sens.Flip2<<5;//[5]a这个位用于控制导联脱落检测通道2的电流的方向ADS1292_REG[LOFF_SENS]|=Ads1292_Loff_Sens.Flip1<<4;//[4]b这个位控制用于导联脱落检测通道1的电流的方向ADS1292_REG[LOFF_SENS]|=Ads1292_Loff_Sens.Loff2N<<3;//[3]c该位控制通道2负输入端的导联脱落检测ADS1292_REG[LOFF_SENS]|=Ads1292_Loff_Sens.Loff2P<<2;//[2]d该位控制通道2正输入端的导联脱落检测ADS1292_REG[LOFF_SENS]|=Ads1292_Loff_Sens.Loff1N<<1;//[1]e该位控制通道1负输入端的导联脱落检测ADS1292_REG[LOFF_SENS]|=Ads1292_Loff_Sens.Loff1P;//[0]f该位控制通道1正输入端的导联脱落检测ADS1292_REG[LOFF_STAT]=0x00;//[6]0fCLK和fMODfCLK=fMOD/4[4:0]只读,导联脱落和电极连接状态ADS1292_REG[RESP1]=0X00;//abcccc1dADS1292_REG[RESP1]|=Ads1292_Resp1.RESP_DemodEN<<7;//[7]a这个位启用和禁用通道1上的解调电路ADS1292_REG[RESP1]|=Ads1292_Resp1.RESP_modEN<<6;//[6]b这个位启用和禁用通道1上的调制电路ADS1292_REG[RESP1]|=Ads1292_Resp1.RESP_ph<<2;//[5:2]c这些位控制呼吸解调控制信号的相位ADS1292_REG[RESP1]|=Ads1292_Resp1.RESP_Ctrl;//[0]d这个位设置呼吸回路的模式ADS1292_REG[RESP1]|=0x02;//设置默认位ADS1292_REG[RESP2]=0x00;//a0000bc1[6:3]必须为0[0]必须为1ADS1292_REG[RESP2]|=Ads1292_Resp2.Calib<<7;//[7]a启动通道偏移校正?ADS1292_REG[RESP2]|=Ads1292_Resp2.freq<<2;//[2]b呼吸频率设置ADS1292_REG[RESP2]|=Ads1292_Resp2.Rldref_Int<<1;//[1]cRLDREF信号源外部馈电?ADS1292_REG[RESP2]|=0X01;//设置默认位ADS1292_REG[GPIO]=0x0C;//GPIO设为输入[7:4]必须为0[3:2]11GPIO[1:0]电平,设置输出时控制引脚电平}总线与ADS1292通信u8ADS1292_SPI(u8com){returnSPI2_ReadWriteByte(com);}//写命令voidADS1292_Send_CMD(u8data){ADS_CS=0;delay_us(100);ADS1292_SPI(data);delay_us(100);ADS_CS=1;}//读写多个寄存器voidADS1292_WR_REGS(u8reg,u8len,u8*data){u8i;ADS_CS=0;delay_us(100);ADS1292_SPI(reg);delay_us(100);ADS1292_SPI(len-1);if(reg&0x40)//写{for(i=0;i<len;i++){delay_us(100);ADS1292_SPI(*data);data++;}}else//读{for(i=0;i<len;i++){delay_us(100);*data=ADS1292_SPI(0);data++;}}delay_us(100);ADS_CS=1;}//寄存器数组写入寄存器u8ADS1292_WRITE_REGBUFF(void){u8i,res=0;u8REG_Cache[12];//存储寄存器数据设置寄存器数组ADS1292_WR_REGS(WREG|CONFIG1,11,ADS1292_REG+1);//数组变量写入寄存器delay_ms(10);读寄存器delay_ms(10);#ifdefDEBUG_ADS1292printf("WRITEREG:\r\n");要写的数据printf("%d%x\r\n",i,ADS1292_REG[i]);printf("READREG:\r\n");#endif
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024各类设备采购协议总览
- 2024年新公司聘用劳动协议样式
- 2024年场地调查委托协议模板
- 2024届安徽江南十校高三数学试题毕业班4月质量检查试题
- 2024年劳务合作及就业保障协议
- 化信息技术硬件采购协议范本
- 2024年智能设备部署与维护协议
- 2024年蔬菜产业链战略合作协议
- DB11∕T 1603-2018 睡莲栽培技术规程
- 2024专业新风系统安装服务协议模板
- 分析化学期中考试试题
- 新外研版高二英语选择性必修二Unit3-A-new-chapter课件(精编)
- 浙江省杭州市余杭区树兰中学2023--2024学年上学期九年级期中数学试卷
- 领导考察谈话怎么评价领导
- 叶片气动特性快速计算桨距角的改进算法
- 幼儿园优质公开课:小班科学《奇妙的声音》课件
- 2023非心脏外科手术围手术期心血管疾病管理中国专家共识(完整版)
- 山东省淄博市张店区2022-2023学年七年级上学期期中英语试卷
- 04.第四讲 坚持以人民为中心
- jgd280同步控制器使用说明
- 传染病首诊医生负责制度传染病首诊负责制
评论
0/150
提交评论