APP下载

基于无线探头的肝储备功能检测仪的设计

2017-04-10钟云靖李凯扬

现代电子技术 2017年6期
关键词:无线传输

钟云靖 李凯扬

摘 要: 为了检测人体脉搏和血氧信号,评估人体的肝脏储备功能,开发一种基于无线探头的三波长肝储备功能检测仪。设备以STM32微处理器为核心设计了模拟式信号采集探头,然后利用nRF24L01射频模块建立探头与主机之间的无线数据通信,最后设备在基于S3C2440平台的主机上对数据进行处理和显示。测试结果表明,该系统运行稳定可靠,能够实时有效地检测人体相关生理参数,而且功能强大,使用方便,具备临床实用性。

关键词: 肝储备功能; STM32; nRF24L01; 信号采集; 无线传输

中图分类号: TN915?34 文献标识码: A 文章编号: 1004?373X(2017)06?0001?04

Abstract: In order to detect the human body′s pulse and blood oxygen signal, and evaluate the liver reserve function of the human body, a new three?wavelength liver reserve function detector based on wireless probe was developed. The analog signal acquisition probe was designed by taking STM32 MCU as the core. The RF module nRF24L01 is used to realize the wireless data transmission between the probe and host computer. The data is processed and displayed on the S3C2440?based host computer. The test results show that the detector has stable and reliable running, and can effectively detect the physiological parameters related to human body in real time. The detector has powerful function, convenience use, and clinical practicability.

Keywords: liver reserve function; STM32; nRF24L01; signal acquisition; wireless transmission

0 引 言

肝儲备能力评估在临床上具有重要意义,是肝叶切除手术之前评估切肝量的重要依据。肝储备功能的评估方法有很多,吲哚青绿(Indocyanine Green,ICG)排泄试验就是其中一种。20世纪70年代,日本人Aoyagi以朗伯?比尔定律[1?2]为基础提出脉搏分光光度法[3]用来计算血氧饱和度。此后他又改进[4]此方法,结合ICG排泄试验,提出脉搏染料密度分光光度法,用来测量动脉血中ICG的浓度,以此来评价肝的储备功能。

本文介绍了一种基于脉搏染料密度分光光度法的三波长肝储备功能检测仪,设备包括无线探头和主机。其中,探头采集人体信号后通过射频模块进行无线传输,打破了传统设备的探头与主机“一对一”的固定模式,可以建立多个探头与一台主机之间“多对一”的数据传输链,实现多人同时检测,提高了设备的使用效率;主机基于ARM S3C2440平台,接收并处理数据,代入相关公式[5]后可以计算出血氧参数和ICG浓度,实现了对肝脏储备能力的有效检测。

1 硬件设计

如图1所示,设备硬件结构主要由无线探头和主机组成。首先,由分布在手指两侧的发光二极管和光电芯片组成的探头前端采集信号,然后送入模拟信号处理电路进行放大、信号分离、滤波,再经STM32处理器A/D转换,最后通过nRF14L01模块发送出去;主机以S3C2440平台为核心,通过nRF14L01接收数据,然后进行相应处理。

1.1 探头前端

动脉的搏动改变了动脉血液的光程长,动脉血液对光的吸收量也随之改变[6],探头前端用来实现对光吸收变化量的有源探测。人体指尖动脉成分含量高,且指尖厚度相对其他人体组织而言比较薄,透过手指后检测到的光强相对较大,因此通常选取人体指尖作为测量对象。

探头前端的探测光源选择了Epitex公司的L660/805/940?35B42芯片,该芯片集成了三个波长(660 nm,805 nm,940 nm)的发光二极管,体积小,照射区域集中、便于光电转换。二极管芯片由单片机输出的三路时序信号分时驱动发光,光透过手指后的强度变化反应了人体的脉搏血氧信息[7]。光电探测芯片采用的是TI公司生产的OPT101,它的灵敏度较高,且集成了前置放大器单元,输出的电压与光照强度成线性关系。通过OPT101可以很方便地将透过手指的光信号转换为电压信号。

1.2 模拟信号处理电路

从OPT101出来的人体信号是三路波长的分时叠加信号,强度比较弱,而且可能掺杂有干扰信号,因此在模拟信号处理电路中需设计增益可调的反向放大电路、分离电路以及低通滤波电路等。滤波后的信号再经跟随器进入STM32自带的ADC进行模数转换。设备采用低成本、低功耗、高精度的仪表放大器AD620设计微小信号放大电路[8],仅需使用一个外部电阻即可设置增益。

经过放大的电压信号依然是三个波长的混合信号,而在主机中需要分别用到三个波长信号的交流值和直流值,因此必须设计信号分离电路来将三路信号分离。本设备将三个双向模拟开关CD4066并联组合,使用三路脉冲序列分别作为三个CD4066的选通信号,以此将三路信号分离出来。最后,为了提高信噪比并解调信号,分离后的信号必须进行低通滤波。人体脉搏信号的主频在20 Hz以下,因此设备选择了截止频率在20 Hz的四阶低通巴特沃斯滤波器。巴特沃斯滤波器通带平坦度很大,再利用高阶次加快通带到阻带的衰减,可以有效降低信号噪声并完成解调。

1.3 nRF24L01模块

通过射频技术实现数据的无线传输在各个领域的应用日益广泛和成熟。本设备采用nRF24L01射频模块向主机传输探头采集到的数据。nRF24L01是由挪威NORDIC公司设计的一款工作在2.4~2.5 GHz的ISM频段的单片无线射频收发芯片,内置硬件CRC(循环冗余校验)和一点对多点通信地址控制,集成了所有与RF协议相关的高速信号处理单元,具有体积小、成本低、便于开发等特点。另外,nRF24L01可以同时控制应答及重发功能而无需增加MCU工作量,使得双向链接协议执行起来更为简单有效。设置为接收模式的nRF24L01可以识别6个发射端,对使用了不同地址的6 路通道的数据进行同时接收,如图2所示。因此,本设备可利用nRF24L01多路发送、一路接收的传输性能,实现多探头共用主机的工作方式,同时为多达6名患者进行检测,提高了设备的便捷性和可利用性。

nRF24L01及其外围电路原理图如图3所示,其工作频率为16 MHz,通过由MOSI,MISO和SCK組成的SPI接口与处理器连接进行通信,其中,SCK为时钟信号线,MOSI为主设备输出/从设备输入端,MISO为从设备输入/主设备输出端。本设备STM32与S3C2440处理器为主设备,产生时钟信号控制输入/输出,nRF24L01模块为从设备。另外,CSN(低电平有效)为片选信号线,CE为芯片的使能端,CE和芯片寄存器PWR_UP,PRIM_RX共同决定了nRF24L01的主要工作模式,如表1所示。

2 软件设计

与硬件系统相对应,软件包括两部分:基于库开发的STM32软件;运行于Window CE系统的主机软件。其中,STM32需完成:脉冲驱动信号输出; A/D转换;nRF24L01控制。主机软件则完成数据处理及显示等功能。

2.1 STM32软件系统

STM32是ST公司基于Cortex?M3内核开发的一系列中端MCU。STM32倡导基于固件库的开发方式,仅通过调用库里的API(应用程序接口)就可以迅速搭建一个大型程序,写出各种用户所需的应用,大大降低了开发周期。本设备设计的探头以STM32F103VET6为核心,它具有3个12位ADC、3个SPI接口和8个16位定时器等片上资源,完全满足需求。

2.1.1 LED时序驱动脉冲

人体脉搏信号的频率主要分布在10 Hz以下[9],为了使采样信号在后续模拟信号处理中得到完整解调,根据奈奎斯特定律,设备选用50 Hz的时序脉冲信号驱动探头前端的发光二极管,如图4所示。三路脉冲占空比为[16],用来分别驱动三个发光二极管。另外,脉冲序列还用于硬件分离电路中的选通信号。

将STM32的三个定时器(TIM2,TIM3,TIM4)设置为PWM波输出方式,以[150] s为一个计数周期,设定高电平持续时间为整个周期的[16],使能重载寄存器,这样就能持续输出脉冲波形了。最后利用一个定时器(TIM7)定时[150] s作为三路脉冲波之间的延时,TIM7设置为每次打开计数一次。具体输出方法为:打开TIM2,输出第一个波形,再打开TIM7延时[150] s,接着打开TIM3,输出第二个波形,依次类推。

2.1.2 三路信号的模/数转换

A/D过程充分利用了STM32片上资源,将分离解调后的三路信号分别输入到3个ADC(ADC1,ADC2,ADC3)的转换通道中。ADC需要受到触发信号才开始转换,这里采用软件触发方式,每次触发转换一次,得到一个转换数据。三个ADC的触发点分别设置在产生脉冲波的三个定时器的计数溢出中断里,这样ADC在每个脉冲周期都会采样一次。设置合适的采样保持时间,就能实现三个ADC的分时转换,避免相互串扰。

由于三个波长的数据在射频传输中共用一路通道,进入主机后需要进行辨别,因此在发送前必须标记数据。考虑到STM32的A/D转换精度为12位,转换值存在16位的数据寄存器中,故可利用其剩余的高4位作为标志位,具体为:660 nm波长数据高4位设置为6(转换值|0x6000),805 nm波长数据高4位设置为8(转换值|0x8000),940 nm波长数据高4位设置为9(转换值|0x9000)。这样主机便可根据高4位的值判断数据类别。A/D转换过程如图5所示。

2.1.3 nRF24L01驱动

nRF24L01的发送过程如下:

(1) 配置nRF24L01。设置为发送模式,并选择数据通道、通信频率等参数,使能自动应答。

(2) 装入有效数据。当片选端CSN为低时,MCU通过SPI接口将要发送的数据按字节写入到nRF24L01的TX FIFO寄存器中。

(3) 使能发射。设置CE为高启动发射,高电平持续时间最小为10 μs。

(4) 等待应答信号。自动应答模式下,发送完一包数据后芯片立即进入接收模式。在设定时间范围内没有接收到应答信号则重发数据。收到应答信号则认为数据成功发送到了接收端,中断引脚(IRQ)由高置低。

(5) nRF24L01进入待机模式,等待新数据。

使用nRF24L01芯片进行无线数据通信时编码和校验都由芯片完成,编程和应用非常方便。本设备STM32对nRF24L01的操作包括初始化配置、装载数据、发送数据[10]。由于STM32的SPI接口能够自动传输位于数据寄存器中的数据,因此装载数据是由STM32硬件自动完成的,然后STM32通过查询IRQ引脚电平状态控制发射过程。具体的发送流程如图6所示。

2.2 主机软件

主机是基于三星公司S3C2440平台,运行于Windows CE 5.0操作系统环境下,采用EVC++进行多线程程序设计,可以实时处理接收到的数据并显示结果。

为避免内存溢出,系统采取每接收300个数据进行一次处理的方法,处理过程包括数字滤波,特征值提取等。接着计算出脉搏、血氧饱和度和ICG浓度等人体参数,最后在显示屏上显示,这个过程如图7所示。界面显示程序利用Embedded Visual C++ 4.0工具,调用MFC类库和系统Win32 API函数,得到了友好的人机交互界面。设备显示界面和测试结果如图8所示,三个波长的脉搏信号分三路实时显示,图8左边分别是计算得到的血氧饱和度和心率。用来评估患者肝储备功能的ICG浓度数据可以通过串口输入到PC机,再由相关软件绘制出来,如图9所示。该测试检测出的ICG的15 min滞留率(ICG15)大致在10%,证明实验对象肝功能正常。若ICG15介于10%~20%,说明肝功能轻度不足;若ICG15大于20%之间,说明肝功能严重不足。实验结果初步验证了该设备的可行性。

3 结 语

本文所设计的基于无线射频探头的三波长肝储备功能检测仪是一种可以实时检测人体脉搏、血氧信息以及肝脏储备能力的医疗设备。该设备采用了射频数据传输技术,可实现多个探头与主机之间的多路通信,大大提高了数据采集的便捷性和高效性;数据处理算法方面若与临床相结合,对人体参数测量值进行持续修正,最终可能会达到医学应用的精度要求。测试结果表明,本设备的软硬件系统有效实用,在临床检测和监护方面具有很大的应用前景。

注:本文通讯作者为李凯扬。

参考文献

[1] 石萍,喻洪流.光电容积描记技术原理及其应用[J].生物医学工程学杂志,2013,30(4):899?904.

[2] GOLDMAN J M, PETTERSON M T, KOPOTIC R J, et al. Masimo signal extraction pulse oximetry [J]. Journal of clinical monitoring and computing, 2000, 16(7): 475?483.

[3] AOYAGI T. Pulse oximetry: its invention, theory, and future [J]. Journal of anesthesia, 2003, 17(4): 259?266.

[4] IIJIMA T, AOYAGI T, IWAO Y, et al. Cardiac output and circulating blood volume analysis by pulse dye?densitometry [J]. Journal of clinical monitoring and computing, 1997, 13(2): 81?89.

[5] 徐泽鹏.三波长肝储备功能检测仪的研制[D].武汉:武汉大学,2012:40?43.

[6] 李庆波,韩庆阳.人体血氧饱和度检测中消除脉搏波信号高频噪声的方法[J].光谱学与光谱分析,2012,32(9):2523?2527.

[7] YESMAN S S, MAMILOV S A, ASIMOV M M, et al. Noninvasive methods of measuring oxygen saturation in venous blood [J]. Journal of applied spectroscopy, 2011, 78(3): 406?413.

[8] 钟辉.基于AD620的高精度信号采集调理模块的设计[J].科学时代,2015(13):132?133.

[9] 邢斌,忻尚芝,张强.脉搏信号采集系统的研制[J].上海理工大学学报,2013,35(4):387?390.

[10] 于超然,付成伟.基于nRF24L01无线模块的井下流量数据传输设计[J].现代电子技术,2014,37(15):41?44.

猜你喜欢

无线传输
基于ZigBee的人体健康数据采集系统的设计
低功耗蓝牙传输远程脉搏血氧饱和度监测系统设计
基于无线传输的LED灯远程控制系统设计
无线传输LED十字屏集群控制系统
公路路面现场检测数据无线传输系统的设计
基于LABVIEW的温室管理系统的研究与设计