【《单片机人体健康监测系统的软件设计案例概述》4200字】_第1页
【《单片机人体健康监测系统的软件设计案例概述》4200字】_第2页
【《单片机人体健康监测系统的软件设计案例概述》4200字】_第3页
【《单片机人体健康监测系统的软件设计案例概述》4200字】_第4页
【《单片机人体健康监测系统的软件设计案例概述》4200字】_第5页
已阅读5页,还剩4页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机人体健康监测系统的软件设计案例概述目录TOC\o"1-3"\h\u16300单片机人体健康监测系统的软件设计案例概述 1152071.1Android系统开发环境 135211.2Android系统的软件设计 2121611.3.1血压滤波器电路设计 29051.3.3心电图形绘制和现实 442331.3下位机软件设计 5285321.3.1心电心率传输协议 675181.3.2体温传感器传输协议 6241431.3.3血压检测程序设计 7315821.4本章小结 81.1Android系统开发环境本系统中使用的Android系统,主要由Linux、函数库层、frameWork应用框架层、应用层,应用程序层可以执行后台应用,可以用来更新数据,触发通知,执行一些常规处理,函数库层是由很多的底层库构成,一些库函数就是SDK(开发环境包),定义放在头文件中,把具体的实现放在DLL中或者LIB中,用户使用的时候,需要加入预先设置的头文件,像一些经常用到的函数,开发环境都是预先加载好了的,因此只需要加载头文件。像一些比较大的常用函数,不经常用的,就需要我们自己加载。进入系统后一般采是从1.1版本开始的,也有更早的,在下载的时候选择最新版本,安装SDK版本插件,检查是否完成。图4-1Android系统体系构架1.2Android系统的软件设计1.3.1血压滤波器电路设计Android平台根据软件框架和实现功能的不同分为六大模块,具体模块如图如图4-2所示。本章节首先对人体健康监测系统各个模块进行解释,以及如何实现进行进一步的讨论。本设计能够帮助需要的人更好的监测自身的健康数据,尤其是对于一些患有高血压疾病、心脏疾病、血管疾病的人群、能够使这些人有疾病的人群的医疗费用大大降低,当人体尚未感觉到疼痛或者不适的时候,该系统就可以做出一定的提示,引导人体做出一定的准备工作,可以有效防止因为错过了抢救时间而造成不可挽回的损失。人体健康监测系统开发设计成本较低、性价比高的便携式家庭医疗。同时智能手机软件系统的不断迭代升级,能够保证后期软件的维护更加的方便。使人体健康检测系统后期的检测更具有说服力。图4-2软件功能框图1.蓝牙通信功能:蓝牙通信模块是在Android系统的开发设计的,实现对心电、血压、体温等人体健康数据的传输工作,搜索蓝牙设备进行连接,连接成功后,在将数据传送至手机终端,对人体的健康状况进行反馈。

1.登录注册功能:该功能主要用于用户完善个人数据信息,输入用户名、年龄、身高、体重等关键人体信息,这些数据的测量对于人体健康的评判是后期健康数据诊断的标准依据。

1.心电显示功能:心电图上显示的人体健康数据是关于人体健康重要的参数。经过数据处理后实时显示在智能手机终端上。1.血压体温显示功能:测量的舒张压、收缩压等血压的大小,和人体温度由下位机提供并且保存。5.数据存储功能:该模块采集到的心电频谱、血压的大小和体温的高低,具有数据回放功能,与此同时智能手机软件还具有多点触摸和手势操作等识别功能,可以对心电频谱的影像进行放大和缩小。

6.软件滤波功能:因为硬件测量误差和信号干扰导致心电频谱图测得的数据图像像不够准确。因此需要软件滤波后在进行校正干扰信号,消除坐标补偿。1.3.2蓝牙通信模块设计蓝牙通信模块是需要连接两者,就必须通过TGDevice类来执行两者的连接,不然手机蓝牙设备与下位机蓝牙设备不通过TGDevice是不可能连接成功的。用ReadThread和ConnectionThread类来实现血压、心率、体温信号的读取和输入。获取蓝牙设备操作权限,同意手机相应的插件的权限,通信模块类图如4-3所示:蓝牙设备的通信过程包含两个过程步骤这两个步骤是必须要面对的,是蓝牙设备连接成功的必由之路,第一步是获取BluetoothAdapter、第二步是检测蓝牙输出流,以及蓝牙是否成功连接,与匹配的蓝牙进行连接,检测系统成功通过后在获取蓝牙输出输入流,并将以短信的方式或者拨打手机号的方式使智能手机终端接受信息,做出一定的准备工作。蓝牙配对流程图如图4-4所示。在配对前要提前检查蓝牙的输入输出流的大小,以免发生错误的连接,导致连接失败。关闭蓝牙Socket,tong更改isBluetoothEnable标志位为false。最后连接外部蓝牙设备。检查是否有连接成功的组合蓝牙设备,如果有其他组合蓝牙设备,请尝试断开连接。最后更新isB

luetoothEnable标志位为true。图4-3蓝牙类图1.3.3心电图形绘制和现实软件滤波模块主要作用是为心电图谱去除多余的干扰,其中软件滤波算法如图4-5所示,在进行模块的输入输出流的检测,如果成功检测到蓝牙的输入流以及输出流,并且成功的配对,则下一步关闭输入流和输出流,如果不从在输入流和输出流的配对,那接下来就要检测蓝牙是否配对,若配对成功则关闭Socket,若没有成功需要更改当前的标志位为faise,然后进行下一步的匹配,直到获得已配对的设备信息,然后在检查配对的蓝牙设备是否连接成功,成功后进行蓝牙连接,获得需要的输入流以及输出流,直到系统提示连接成功后,在更改标志位为true,在进行蓝牙的输出,返回到最初连接的蓝牙设备,记录已配对的设备信息,进行再次连接。 图4-4蓝牙连接配对流程图软件滤波模块的作用是消除对心电频谱的干扰,如果不进行消除将会对检测到的信号产生干扰,影响系统测量的精度,如果其他信号干扰心电频谱,软件滤波模块将会对该信号产生拦截,防止信号进入MCU,干扰检测的精度,检测的信号首先要经过滤波算法的处理,然后在去除掉掉其他的干扰信号,大同小异,同样的方法将滤波的算法封装在SmoothingFilter类之中,这样返回值为传输数据Params的滤波处理结果,程序表示为return,其中软件滤波算法类图如图4-5所示。首先将二次样条小波滤波器处理的数据打包成数组,然后储存在FilterList中,因为List是一个长度可以调节的的数据结构,每次长度的变化都是成比例的增加或减少,按照原来的长度增加或减少初始化储存地址的大小,当我们存储数组时,就需要申请很多储存地址,然而很多存储地址并没有用,所以到最后都要调用trim方法来减少地址的过度占用。首先读取List获得坐标数据,以及读取它的时间数据,识别以上数据是,在进行滤波器参数的初始化,选择滤波的区间,选定特征波形,最后降低噪声信号。软件滤波的流程图如图4-6所示。图4-5滤波算法类图1.3下位机软件设计计算机系统接受了整个人体健康监测设备的传感器信号,进行集中处理,然后将计算机得到的数据传输到主控芯片进行分析,主控芯片然后根据生理参数协议进行下一步分析,主控芯片得到的生理实时数据在与人体健康监测系统设定的初值进行对比。获得的人体实时生理数据通过蓝牙无线网络传输至移动监控平台。主控中心程序流程图如图4-7所示。健康数据监控设备与智能手机之间采用蓝牙通信方式进行连接。在此过程中,蓝牙模块的工作模式是通过传输模式进入手机,蓝牙模块的配置主要通过AT命令来实现与监测系统的交流。因此蓝牙模块可以直接传输人体健康监测系统的实时数据。单片机STM32F103RCT6和蓝牙模块通过UART3串口进行连接。1.3.1心电心率传输协议BMD101与MCU通信传输的数字接口为UART。该接口是一个标准的UART接口。对于BMD101的所有数据都是通过UART接口传送的。BMD101提取的数据以字节异步串行数据流,只有对数据包传输的数据进行解析,才能获得实时采集的心电、心率、血压等数据。BMD101是一个简单的数据格式,串口数流控制,主要区分8字节数据是实时采集的心电电压数据,第512个数据时实时采集的是心率数据,如果采集的心率只需要提取第512个数据就行,一秒一个大约,数据就按数据流来取,串口接受做缓存。1.3.2体温传感器传输协议MLX90615温度传感器在测量过程中,可以同时测量被测物体表面温度和外界环境温度的数值,其内部的EEPROM中有32个存储单元,大小为16位寄存器。同时MLX90615采用I2C 图4-6滤波算法执行流程图图4-7主控中心程序流程图MLX90615得益于低噪声放大器,高分辨率16位ADC和功能强大的DSP单元MLX90325,Melexis能够提供精度较高的分辨率。1.3.3血压检测程序设计本次毕业论文中的电子血压计主要是为了测量人体的是舒张压和收缩压,使用STM32F103x8单片机作为控制中心,使用STM32F103x8中的数模转换模块得到人体血压值的高低,通过串口与蓝牙之间传输血压数据,血压检测程序流程图如图4-9所示。STM32F103x8是中等容量产品,内置128k闪存,用于存放程序,CRC计算单元使用多项式发生器,由一个32位的数据得到一个CRC码,CRC计算单元可以用作计算机软件的签名,STM32F103x8内置中断控制器,能够处理43个中断通道,以及16个优先级。系统时钟启动时,复位时内部8Mhz的RC振荡器被默认为CPU时钟信号,再启动模式时候自举模式有三种,自举程序存放于系统存储器中,可以通过USART1对闪存进行编程,它的DMA控制器支持缓冲区管理,避免控制器出现中断,每一个通道都有硬件电路DMA请求逻辑,同时能够触发每个通道,当系统进入初始化状态时,按下采样开始按钮,若阀门打开则开始给系统进行充气,如果阀门没有打开则继续按下开始按钮进行充气,直到充气完成后,关闭充气阀门,进行血压数据的采集,采集到的数据输送到单片机中进行计算血压的大小,然后通过串口将数据发送至前端。若按下开始按钮后充气阀打开了,但没有开始充气则需要等待几秒,在按下开始按钮,打开充气阀门后需要等待一定时间,充气完成后在缓慢关闭关闭充气阀,然后进行计算血压,将数据传送至单片机中,进行数据分析。图4-8数据发送流程图1.4本章小结本章一开始对Android智能手机系统的软件开发进行了简单的概述,而且对编程所需要的语言所需要的库函数进行了介绍,系统性的阐述了人体健康监测系统中软件设计开发的过程中的要点,系统的软件设计分分两大部分,包括Android智能手机平台下进行计算分析的软件设计,以及硬件平台下对外围核心电路MCU的编程开发。Android软件平台下主

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论