郑发明,史之峰,吴 伟,郭 聪,任 伟
1) 上海大学理学院,上海大学量子与分子结构国际中心,上海 200444;2) 中国科学院上海微系统与信息技术研究所,上海 200050;3)复旦大学附属华山医院,上海 200040
中心静脉压(central venous pressure, CVP)监测是血流动力学监测中常用的方法之一,它有助于医护人员评估患者心脏功能.通过实时监测CVP的变化可对危重病患进行及时有效的治疗,这对重症监护具有重要的临床指导意义[1-2].传统CVP测量主要通过三通管方法进行手工测量,操作繁琐且精度不高,严重依赖于医护人员的熟练程度,且无法做到实时监测[3];大型CVP监护仪精度高、功能强,但价格昂贵、体积较大,操作维护不便,并不适用于普通病房每床位1台的需求[4-5].本研究基于单片机和LabVIEW软件设计出一种小型的高精度、低功耗CVP监测系统,该系统具有操作方便、可远程监控等优点,弥补了现有两种中心静脉压设备的不足,可在临床应用中大幅度降低医护人员的工作强度.嵌入式单片机系统具有小型化、低功耗等优点,计算机具有性能强大、可全天候工作的优点.将两者有效的结合到一起,利用嵌入式单片机系统采集信息,并将信息传输到计算机上,计算机及时处理病患体征信息,生成数据变化曲线,对超过阈值的信息及时发布告警信息,医护人员可根据告警信息对病患做出及时诊断.
系统结构包括CVP采集器、手持式便携无线接收器、兼顾服务器和数据存储的计算机3台仪器.3台仪器相互兼容,任何一台仪器损坏后均可通过备用仪器代替,通用性强,保证了信息获取的连续性.
图1 无线中心静脉压监护系统的结构示意图Fig.1 Design framework of wireless CVP monitoring system
系统的工作方式如图1.由图1可见,当CVP值发生变化时,采集器首先检测到这种变化的压力信号,并通过无线数据传输的方式将信号发送出去;无线数据接收器接收到信号后对其进行处理,判断压力是否超过阈值,超过则向值班医生示警;计算机与另一个无线接收器相连,通过通用串行总线(universal serial bus,USB)串口和LabVIEW程序实现计算机与单片机的通信,记录CVP的信息,并将相关信息保存到本地计算机中,医护人员可通过互联网查看相关记录.
采集器是整个监护系统的核心部分,其数据的准确性直接影响到后期的数据分析.采集器所使用的压力传感器采用美国GE公司的NPC-1210系列传感器,该传感器灵敏度高,具有独立的温度补偿电阻,方便电路的设计.信号处理及无线发送芯片采用nRF24LE1芯片,该芯片功耗低,自带12 bit的模数转换(analog-to-digital convert, ADC)模块,支持2.4 GHz公共频段通信协议,可在主从模式之间切换[6].CVP采集器电路设计如图2.
图2 采集器电路设计原理图Fig.2 The hardware circuit design schematic of collector
在图2中,压力传感器内部为一个内置惠斯通电桥,当传感器所受压力与标准大气压一致时,电桥上的位点1和2电压相同,无电压差;当传感器所受压力改变时,电阻R1和R4的阻值变化从而引起位点1和2之间产生电压差.电阻R1和R4的变化一致,假设在同一压力下变化幅度均为x, 则在恒定电压U下,位点1和2的电压分别为
(1)
(2)
对同一个传感器来说,x的值改变很小,因此,位点1和2之间的电压差可近似为
(3)
硅基微机电(micro-electro-mechanical, MEM)压力传感器的压阻变化与压力之间的非线性系数很小[7],在此方程中x可被认为是与压力成正比例系数的量,即
x=kp
(4)
其中,p为外界气压;k对于传感器来说是一个常量(单位:Pa-1).
那么,位点1和2之间电压差值为与外加电压以及外界大气压有关的量,即
(5)
因此,通过检测位点1和2的电压差就可得到相应的压力值.电压差幅值变化小,需经过放大后才能使用.经测试,在竖直高度为25 cm的去离子水水柱的压力下,测得x=2.85%, 放大后的电压为2.642 V.
采集器由可充电锂离子电池供电,锂电池的电压变化和电量有关[8],因此,电池需先经过升压芯片升压后,再稳压到5 V驱动传感器工作.
采集器采用nRF24LE1作为控制芯片,该芯片自带12 bit的ADC模块,自带的射频收发器工作于2.400 0~2.483 5 GHz的ISM(industrial scientific medical)频段,在工作前要将接收器和采集器的工作频段调至同一频段,则在该频段的所有器件可组成一个小型的无线传感网.
图3 便携式接收器电路设计原理Fig.3 The hardware circuit design schematic of portable receiver
图3为便携式接收器的电路设计原理图.由图3可见,接收器包括nRF24L01模块、STC89C52单片机、TFT1.44彩色显示器和用于与计算机交换数据的CH340G芯片.nRF24L01模块可很好地兼容nRF24LE1芯片,但该模块自身无信息处理能力,需通过单片机来控制模块的工作方式[9],并利用单片机及时处理接收到的信号,再将相关的压力信息显示到显示器上.接收器的工作电压VCC=5 V,因此CH340G芯片不仅负责单片机和计算机的通信,且需提供3.3 V电压供nRF24L01使用.工作时nRF24L01负责接收采集器的数据,并将相关数据传递给单片机,数据经单片机处理后显示到TFT1.44显示模块中.
计算机端的无线接收器通过USB接口与电脑相连,将接收到的静脉压相关信息存储到本地计算机上,再结合Web技术,将相关信息发布至互联网.
CVP监护系统的软件设计涉及3台仪器,每台仪器的功能和使用的芯片不尽相同,若将每种仪器所要实现的功能最小化且相互之间功能不重叠,则整个系统可拆分为3部分.
采集器初始化时要初始化ADC模块和无线通信模块.每次使用ADC模块时,均需在初始化中设置工作速度、转换精度和输入通道等,设置为:
ADCCON2=0X00; //采用单步转换,速度为2 ksps
ADCCON3|=0XE0; //转换精度为12 bit,数据右对齐
P0DIR|=0X01; //设置转换的输入通道
P0&=0XFE; //端口初始化为低
发射芯片的初始化函数应向射频模块内部写入芯片的工作频率、发射功率和传输速度等信息,同样在接收端也要设置为相同的工作频段和传输速度.设置为:
RF=1; // 允许RF中断
SPI_RW_Reg(WRITE_REG+RF_CH, 0); // 设置工作频率为2 400 MHz,即频道为0,接收端频道也要为0
SPI_RW_Reg(WRITE_REG + RF_SETUP, 0x07); // 设置发射功率为0,传输速率为1 Mbit/s
待ADC模块和射频模块初始化完成后,就可进行ADC操作.启动ADC模块后,转换结果会保存到ADCDATL和ADCDATH寄存器中,利用式(5)将电压数据转换成压力数据,并装入缓存器中,通过射频模块由发射程序发送给接收端.每次发射时,寄存器idbuf[0]会载入表示此器件的唯一ID识别码,数据接收时通过识别此ID码判断数据来自哪个采集器.发送成功后等待接收端发送接收成功信号.若10 ms内未接收到该信号,则再次启动ADC模块,并发送新的数据.
便携式接收器在初始化时除了要初始化射频模块,还要初始化TFT1.44显示模块.显示模块没有字库,初始化时需通过函数定义需要显示的文字的编码,因此显示的字符样式可根据实际需要自由调整.工作时,单片机首先初始化射频模块和显示模块,然后通过读取nRF24L01中的寄存器数据判断采集器是否在工作,待数据接收成功后给采集器发送接收成功信号.数据接收成功后首先判断传感器来自哪个CVP传感器,再将接收到的二进制数据转换为可直接读取的十进制数字,并将超过阈值范围的数据标记为红色.
同低功耗的嵌入式服务器相比,计算机不仅可以24 h不间断记录数据,且其出色的计算性能可提供更丰富的功能[10].本研究设计的实时静脉压监控服务器结合了LabVIEW程序的功能,可实时绘制CVP变化曲线,并保存患者的历史数据.
3.3.1 程序设计
图4为使用LabVIEW 10.0设计完成的主程序,使用串口模块读取单片机中的信息.程序使用while结构保持程序工作并允许通过停止键结束工作.工作时,程序通过虚拟仪器软件结构框架(virtual instrument software architecture, VISA)串口程序[11]读出单片机上接收到的CVP数据并将结果保存到本地电脑上.使用时,程序首先读取历史数据,并绘制最近一段时间保存的数据变化曲线.
图4 中心静脉压监测系统的LabVIEW主程序Fig.4 (Color online) The software on LabVIEW for CVP monitoring system
3.3.2 Web服务器
Web端采用LabVIEW软件自带的服务器平台[12].LabVIEW的Web服务器不仅可发布文档,同时也可发布运行程序的前面板.医护人员可通过远程操作查看最近记录的CVP数据.
图5 在线查看数据Fig.5 (Color online) Online data check
制作的网页命名为test1.html,存放位置为本地硬盘.使用时,在IE浏览器中输入test1.html所对应的网址进入到操作界面,如图5.进入后选择需要监测的床位,程序将自动读取相应床位的数据.上方指针为实时数据,下方变化的曲线为保存的历史数据.这种模式将系统的核心部分集中在计算机上,简化了系统的开发和使用成本,医护人员只需一个浏览器就能查看相关数据并进行数据交互.
系统的封装外壳由3D打印机打印完成,该打印机使用丙烯腈-丁二烯-苯乙烯(acrylonitrile butadiene styrene,ABS)树脂材料熔融沉积成型,密封性好、结构强度高、绿色环保,被广泛用于电子器件和医疗设备中[13].
图6为本研究设计的CVP监测系统的体外模拟环境测试情况.使用时应保证接收器和软导管密封,同时刻度尺和水柱保持竖直,通过改变水柱的高度来改变压强大小.
图6 中心静脉压监护系统在模拟环境中工作Fig.6 (Color online) The CVP monitoring system working in simulated environment
图7是水柱高度与输出的结果图.由图7可见,监护仪对水柱高度的分辨能力为1 mm.
图7 水柱高度与中心静脉压监护仪测量结果比较Fig.7 (Color online) The comparison between height of water column and results of CVP monitor
经外周静脉置入中心静脉导管(peripherally inserted central catheter, PICC)操作简单,与中心静脉插管测量的CVP数据的一致性好[14].因此,实验过程中,静脉压采集器通过检测PICC中的压力来测量CVP.
置管由专业护士操作,置管时选择右颈外静脉,让患者平卧,使静脉压采集器前端的水柱部分平放并与心脏水平.采集时,将三通阀拨至采集器方向,此时静脉压采集器和心脏处于封闭环境中,在静脉压的作用下示数回稳.示数稳定后,静脉压采集器采集到的数值即为通过PICC法测得的中心静脉压数值.置管位置如图8.
图8 中心静脉压监护系统在临床中的置管位置Fig.8 (Color online) The position of CVP monitoring system in clinical trial
对某位CVP值为0.82 kPa的患者分别使用CVP监护系统和传统三通管法对其进行测量,结果如表1.测量时,这两种方法的置管位置完全相同,数据记录也同时进行,实验环境一致.通过分析这两种方法的结果可直接反映哪种方法更精确.
表1 两种方法测得的CVP值比较
通过拟合分析绘制两种方法的拟合图如图9,计得两者的斜率分别是6.92×10-4和1.34×10-3,均方差分别为1.71×10-3kPa和6.44×10-3kPa,平均值分别是0.827 kPa和0.835 kPa.使用CVP监护系统测量的数据更稳定,测得的结果更接近0.82 kPa.可见,CVP监护系统的准确性优于三通管法.
图9 两种测试数据的拟合图像Fig.9 The fitting curves of two test results
造成两者差异的原因在于使用三通管测量时读数误差较大,而监护系统采用高灵敏度的压力传感器采集数据,准确性优于手工测量方法.
图10 长时间连续监测结果Fig.10 The results of long time continuous monitoring
CVP监护系统可长时间连续工作.图10是监护系统与手工测量两种方法在长时间连续监测中的测试结果.其中,手工记录结果由12组医护人员记录完成.结果显示,CVP监护系统的数据连续且平缓,而人工记录的结果则差异较大,分散在监护系统所记录曲线的两侧.这说明,手工测试数据的误差大于CVP监护系统所记录的结果,这种误差通常与医护人员的个人使用习惯有关,是普遍存在的.
本研究在本地主机上搭建了一个CVP记录平台,利用压力传感器记录患者CVP数据.把数据采用无线传输技术传送到便携式接收器和本地服务器上,便于医护人员实时查看患者的静脉压数据.基于LabVIEW技术设计的数据处理软件可根据患者的生命体征判断患者数据是否异常,并将异常情况反馈给医生,由医生根据反馈信息对患者病情做出初步诊断.LabVIEW的可视化编程操作便于人机交互界面的设计,可自由定制仪器显示界面以方便医护人员根据不同病房和患者设置不同的体征监护仪器.该系统的模块化设计思路可根据患者病情定制相应的监护模块,解决了现有监护设备价格昂贵的问题,对推广先进监护手段、降低设备的使用成本具有重要的应用价值和指导意义.