袁雨鑫 何俊杰 刘亚夫 向诚 袁清
摘 要
设计一款一主机、多从机结构的智能输液监控系统。主机采用STM3 2F4+FPGA架构,由信息采集系统、以FPGA为核心的VGA驱动显示系统及外设模块构成。从机以STM32F1为核心,包括驱动检测系统、Zigbee无线传输模块以及LCD显示系统。通过本系统,护士只需要一次性将滴液瓶挂在系统分机上,只需通过大屏显示器实时地查看和监控多个站点的输液数据等,能有效避免传统输液系统因陪护人或患者的人为疏忽而导致输液滴完未能及时换液瓶而带来的血液倒吸或空气输入血管的现象,消除潜在的安全隐患。
关键词
物联网;输液监控;STM32;ZigBee;传感器检测
中图分类号: R197.39 文献标识码: A
DOI:10.19694/j.cnki.issn2095-2457.2020.09.046
0 前言
随着我国老龄化程度的加剧,加之环境的污染,每天各类医院输液的病人成千上万,我国已成为“一年百亿瓶”的输液大国。输液因其时间较长,加之患者在输液时容易睡觉,需要家人陪护。虽然现在医院都装有各类按键式呼叫输液系统,但还是经常因陪护人或患者本人的疏忽而导致输液已滴完却未能及时换药瓶而带来的血液倒吸或空气输入血管的现象,给患者带来新的安全隐患。为此,本文设计了一款无人陪护智能输液监控系统。
1 系统方案设计
本系统采用主机+多从机结构。其中主控制器通过ZigBee无线传输模块实现与各个从机的数据交互,将从机传回的数据通过FPGA驱动显示器实时显示。为适应不同环境应用,主机部分增设了以太网通信模块,以满足护士站相隔输液现场较远的场所,反之则使用ZigBee通信。主机还能通过USB连接鼠标或者键盘来实现人机交互,通过语音模块实现对预警信息的提示。由于系统使用了UCOS-II實时操作系统以及STemWin图形操作界面,所需要的内存较大,加之系统后期功能升级,增加一片1M的SRAM,其中128M的Nor-Flash用于数据的记录,FPGA驱动显示模块与STM32F407ZGT6通过4线硬件SPI的形式进行连接,其中DDR2主要用于显示界面的缓存,Nor-Flash用于存储字库、图片文件,通过VGA驱动32寸显示屏进行显示。主控制器的设计框图如图1所示。
而从控制器通过称重传感器、液滴测速模块等来采集药瓶的重量、液滴滴速和有无滴落等,并通过EEPROM实现系统参数的存储,LCD触摸显示屏来实现人机交互,以及通过步进电机带动偏心轮实现对液滴下滴速度的调节。每一个分机都通过zigbee或者以太网和主机之间进行数据交互。从控制器的设计框图如2所示。
2 系统硬件电路设计
该智能输液系统的硬件主要由主分系统控制器模块、主控制器外围电路、电源模块、语音模块、ZigBee模块、DS3231时钟电路、硬件看门狗电路、以太网通信模块、药滴滴速检测模块以及称重模块等构成。限于篇幅,本文仅就主从系统控制器、电源、主控制器外围电路、ZigBee及药滴滴速检测等几个模块做介绍。
2.1 系统控制器电路设计
虽然主、从控制器分别位于不同的PCB板上,但两者的设计大同小异,下面仅介绍主控制器电路设计。
主机系统主要通过串口来控制ZigBee无线传输模块实现与各个分机的数据交互,并通过SPI总线与FPGA驱动显示模块通信,实现将数据通过VGA接口在大屏LCD上实时显示。因此主控制器选用的STM32至少需要有一个串口以及一个四线硬件SPI接口。由于主机系统需要移植UCOS-II实时操作系统以及STemWin图形操作界面,所占内存较大。为此选用STM 32F407ZGT6处理器,该处理器是一款以ARM CortexTM-M4为内核的32位MCU,具有210DMIPS的运算处理能力,高达1MB的FLASH以及192KB的RAM,可以稳定运行于168MHz,满足系统的设计要求。
2.2 系统电源电路设计
主机控制器、以太网芯片W5500以及ZigBee模块均通过直流3.3V进行供电,而FPGA驱动显示模块使用5V接口供电。因此供电部分电路较为简单,只需要分5V与3.3V两路供电接口。具体的电路设计如图3所示,外部电源通过DC1引入后,通过AMS1117-3.3将5V的直流电压转化为3.3V以供STM32F、语音模块及W5500和ZigBee供电。为了确保电源的稳定性,降低电源的波纹,在AMS1117-3.3的输入与输出端都增加一对220uF和0.1uF的电容来进行滤波。
主、从机系统电源电路设计一样。
2.3 主机系统控制器外围电路设计
考虑功能的升级,主机系统增设一片1MB的静态随机存储器(SRAM)和一片128MB的Nor-Flash。其中SRAM用于扩展系统内存,Nor-Flash用于存储系统相关数据与配置信息。
2.3.1 SRAM电路设计
本系统外挂的SRAM(型号为IS62WV51216。)连接至Bank1块的第三区,大小为1MB。其中,FSMC_D0-FSMC_D15为其16位的数据总线,FSMC_A0-FSMC_A18为其19条地址总线。FSMC_NE3对应的是Bank1第三区的片选引脚,FSMC_NOE为输出使能引脚,FSMC_NEW为写使能引脚,FSMC_NBL0和FSMC_NBL1分别为奇偶字节读写控制引脚,C79和C80为滤波电容,R58位上拉电阻。
2.3.2 Nor-Flash电路设计
Nor-Flash同样挂载至STM32的FSMC总线上,也用Bank1块,但是接的区不同:其片选引脚接在STM32对应的FSMC_NE2上;数据总线为FSMC_D0-FSMC_D15共16条。其中的FS MC_NOE为输出使能引脚,FSMC_NEW为写使能引脚,ST_NRST为复位引脚,FSMC_NWAIT为读写忙信号引脚,只需要将这些引脚与STM32中FSMC控制器相关的引脚对应接在一起即可。
2.4 ZigBee模块电路设计
ZigBee无线传输模块用来实现主机与各个分机间的通信,选用DRF1609H模块,自带CC2630芯片,通过UART可以直接与其进行数据通信,该模块可以通过串口发送命令将其设置为主节点或者从节点。其与STM32连接的电路如图4所示,图中1脚和2脚为模块供电引脚,3脚为复位引脚,4脚为功能按键引脚,通过连续间隔发送3个低电平信号,该模块将实现与主节点之间的自动组网,7-10引脚本系统未使用,5脚和6脚为UART串口通信引脚连接至STM32的串口。
2.5 藥滴滴速检测电路
对药滴的滴速的实时采集通过ZigBee或者以太网传输至主机,便于护士站护士及时了解每一个输液点的输液速度。本文采用STM32对光电三极管的电压进行采样,这样无须重复多次调节电位器。其电路设计如图5所示:LTC2272双运算放大器对采样的电压信号进行低通滤波和放大,电路的第一级为RC与运放组成的缓冲放大电路,最大放大倍数为11;电路的第二级为Sallen-Key二阶低通滤波器,该低通滤波器的截止频率约为33Hz。
3 系统软件设计
系统软件设计主要包括UCOS-II实时操作系统移植、ST-emWin图形支持系统移植、主机系统程序设计、分机系统程序设计以及串口通信程序设计等。主机软件主要控制输液数据的显示与语音告警等,分机软件主要控制输液数据的实时检测与数据传输等,而连接上位机和下位机之间的纽带就是串口通讯程序设计。
3.1 ST-emWin图形支持系统移植
ST-emWin图形库是Segger公司针对嵌入式平台而开发的图像软件库,系统通过调用其提供的函数接口,可以使设计图形界面非常简捷。
首先,在MDK的工程文件目录下新建三个文件夹GUI_X、GUI/Config、GUI/Lib,其中GUI_X中的文件GUI_X_uCOS.C主要为支持带操作系统能够实现多任务的配置文件。GUI/Config主要存放emWin初始化函数以及与LCD显示器相关的配置信息。GUI/Lib下面为STemWin的库文件。在添加好文件后做一些必要的修改以及在程序中使能与STemWin相关的CRC校验便可使用STemWin设计界面。
3.2 主机系统程序设计
主机系统主要实现对各个分机通过ZigBee无线传回会的数据进行显示与分析。当分机传回的数据异常(如滴速过快等。)时,将这些信息显示在大屏幕上并以文字和语音两种方式同时报警,以提醒医护人员及时处理。其设计流程如图6所示。
3.3 从机系统程序设计
从机系统主要实现对输液状态进行检测,包括输液的滴速以及输液是否完成,并将采集得到的数据通过ZigBee将数据发送到主机系统进行处理与分析,其设计流程如图7所示。
4 调试结果
通过对系统联调和模拟输液测试,该系统的分机能正确地实时检测到液滴的滴速和输液瓶袋的重量,滴速检测范围为5-200滴/分,滴速检测精度高;最大重量检测范围为5Kg,精度为5g;数据通过ZigBee发送至主机准确,主机分析和更新传回的数据实时性强,当数据异常时,语音告警和屏幕文字提醒响应及时,调试结果如图8所示。
参考文献
[1]李扬.WIFI技术原理及应用研究[J].科技信息,2010,06:241-242.
[2]张学武,何玉钧.基于WIFI的远程视频传输智能机器人设计[J].电子科技,2013年第26卷第2期:4-6.
[3]杜敏,谭亮君.Android嵌入式系统的应用实验开发策略研究[J].电子世界,2012.07:57-58.