基于GD32E231的人体生命状态监测控制器
本监测生命状态装置体积小,重量轻,可以方便的布置到床单或床垫里面,并可以隔着床单在用户无法觉察的环境下对呼吸,心率,体动,在床/离床等生命状态信息进行检测,在养老院或病房使用时,病人坐或躺在监护床上时,传感器可以隔着衣服和被单准确测量收集患者的生命特征信息。
智能手环或手表虽能检测用户生命状态,但不能判断用户的在床/离床信息,老人或病房人员佩戴穿戴设备势必对监护工作带来不确定性,同时会有皮肤接触交叉感染疾病的风险。
本装置检测数据实时上传到了云端,在医院病人监护中心可以实时显示病人的生命状态信息,动态观察病人的生理参数变化趋势,即时做出治疗措施。
系统原理框图:
原理图1:
原理图2:
控制器实物图:
控制器上线 云端数据展示:
控制器 源代码 介绍:
GD32E231 具有强大的各类外设,且各外设的驱动例子都很给力。首先对 芯片的 时钟进行初始化,我这里直接采用系统内部8M 时钟,PLL后72M。
芯片外设主要用到一路外部中断唤醒,电路图 上选用 PA0 作为外部唤醒功能,官方例子直接移植过来就OK,完成了控制器 休眠后,有人压传感器时自动唤醒 芯片工作。
第2步 是 配置 芯片的 串口通讯功能,采用默认的 UART0 即:PA9,PA10 。官方例子 移过来,直接OK,该功能主要完成与UC666的 通讯和 控制,实现联网功能。
第3步是配置了4路 ADC 采用内部TIMER2 触发采样,在中断里 同时 获得4路 ADC数据。1路ADC 负责采集 压力传感器的 数据,当人体在床,有持续压力值采集到,此时判断在床;同时第2路ADC 负责采集压力传感器的 静态 变化量,即人体呼吸引起的 压力变化。
第3路 负责 采集 人体心跳引起的 压力值变化,该信号微弱,采用了多级放大滤波。
第4路采集电池的电压数据,获取电量。
因系统功能负责,这里不一一叙述。
部分源代码 见附件。因里面涉及多种核心算法,所以不能分享全部代码。
源代码附件:
|