APP下载

凝血过程参数检测系统的设计与实现

2015-12-23廉小亲张晓力段振刚

计算机工程与设计 2015年5期
关键词:机软件散射光下位

廉小亲,沈 卓,张晓力,段振刚

(北京工商大学 计算机与信息工程学院,北京100048)

0 引 言

血凝分析仪已成为临床医疗检测中的一种常用设备,其血凝过程是指可溶于水的纤维蛋白原转化为不能溶解于水的固态纤维蛋白的生化过程,简单地说,该过程是一系列凝血因子连锁性酶反应的结果[1]。整个血凝过程中包含着大量有关被检者的病理信息,许多疾病的发生均与体内出血指标和血栓指标有着密切关系,因此,对凝血过程的检测、对测量结果进行准确有效的数据分析具有重大医学价值。由于其开发周期长、科技含量高、市场准入规则复杂,目前该类产品的研制与销售仍被国外大型医疗器械企业所垄断。本文所研究的基于MC9S12XS128单片机的血凝过程参数检测装置可在极大降低仪器的制造成本的同时,提升检测的准确性,为血凝仪这种高端仪器的国产化打下良好基础。

1 血凝仪的组成和硬件设计

1.1 系统组成框架

一套全自动的血凝分析仪由上位机系统、通讯转换接口装置及下位机系统三大部分组成。上位机系统作为下位机系统的管理者,通过预先制定好的通讯协议控制下位机的动作,比如光强采集、电机运动、温度控制、数据传输等。通讯转换接口装置可将上位机的网口通讯协议转换成下位机系统可读的CAN 口通讯协议。系统组成如图1 所示。此外,上位机还会将接收到的数据以文本格式进行存储,方便后续对数据的处理,并依据检测到的参数绘制成曲线,进行可视化显示。下位机为本论文主要研究内容,如图1中虚线框部分所示,MC9S12XS128单片机作为控制中心协调各组成部分的有序工作。下位机部分主要包括抓手控制机构、温度控制机构、样本臂运动控制机构、试剂臂运动控制机构及两个光学检测单元[3]。本文研究的核心为两个光学检测单元,分别为散射光的检测部分和透射光的检测部分。最终以采集到的两种光强度为基础,加以数据处理算法,计算出被测血样的凝结时间和吸光率。

图1 系统组成框架

图2 MC9S12XS128最小系统

1.2 硬件电路的设计

血凝仪的硬件电路主要包括单片机核心板、光学检测单元、光电转换及电机驱动电路。单片机核心板里装载有各部分的控制程序及通讯协议,通过CAN 接口收发数据;光学检测单元里有光电转换电路,该部分电路可以将光信号转变成电信号加以利用。电机驱动电路可以直接控制抓手、样本臂和试剂臂的动作,将待测样本放置于光学检测单元的合适位置。

1.2.1 单片机核心板设计

本系统采用Freescale公司的MC9S12XS128单片机作为控制核心。该款单片机总线速度高达40 MHz,具备128 KB的 程 序FLASH 和8KB 的 数 据FLASH 存 储 空 间[4]具有速度快、功能强、成本低、能耗低等明显优势。此外其特有的8通道的PWM 输出口,易于实现电机控制,及速度达3μs转换时间的12位精度ADC 模块。MC9S12XS128单片机内部包含可升级控制器局域网络 (MSCAN),全面支持CAN2.0协议。由于芯片仅带协议层控制器,因此使用时需要通过一个收发器提供物理层驱动,这里选取型号为PCA82C250的CAN 总线收发器。该芯片的CANH 和CANL引脚外接一个5Ω 的电流进行限流,从而保护芯片,使其免受过流冲击。MC9S12XS128单片机最小系统电路图如图2所示。

1.2.2 光学检测单元设计

光学检测单元包括散射光检测和透射光检测两部分。其中散射光检测装置又由反应杯托盘和金属支架两大块构成,用黑色塑料制成的托盘具有极好的遮光性,可在测试过程中有效地防止外部干扰光源进入检测装置;用不锈钢材料制成的金属支架具有较好的导热性,可在支撑托盘的同时起到热传导的作用。以此同时,安装在支架与托盘接触的底部的加热和测温装置,可帮助实现样本的孵育。托盘上有若干检测孔,离检测孔底端4 mm 处开有直径为3 mm 的通孔,通孔处装有光电传感器。进行血凝过程检测时,应将点光源固定放置在托盘的两侧,形成对射状态,光电传感器与点光源轴线垂直安装即可。透射光检测部分构造与散射光检测部分类似,此处不再赘述。

1.2.3 光电转换电路设计

散射光和透射光的检测电路大致相同。本系统采用型号为S2386-44K,具有高灵敏度、低暗电流等特点的硅光电二极管作为光电传感器。该传感器输出信号为电流量,其输出的反向电流与入射光强呈线性关系。光电转换电路的第一级须将其输入的电流信号转变成电压信号,第二级不但需要将转变得到的微弱的电压信号进行放大,还需要对放大后的信号进行滤波处理。本系统在两级转换电路之后,又加入了一级电压跟随电路,以提高输入阻抗、降低输出阻抗。

光电转换部分的电路如图3所示,电路选取的低偏置电流运放的型号为MCP602。第一级电路中,使用一个2兆欧的电阻实现电流-电压转换;两级之间加入了一个低通滤波电路,滤除高频噪声的干扰;第二级为同向比例放大电路,通过选取合适的电阻值可以保证光电转换电路的输出量处于单片机的最佳AD采集范围内;第三级选取型号为AD8542的轨对轨运放,实现电压缓冲。

图3 光电转换电路

1.2.4 电机驱动电路设计

血凝仪所使用的电机为两相单极步进电机,该款电机使用型号为SLA7078MR的驱动芯片即可直接驱动。此外,可通过型号为ADG608的电子开关芯片实现电机驱动芯片输出功率的调节,具体调节电路如下:将电子开关的输出端接到驱动芯片的Ref/Sleep1端,通过单片机控制电子开关输出参考电压,进而控制电机的能耗和发热量。通过控制电机驱动芯片M1、M2和M3这3个控制端可以设定细分模式,同时配合Clock端输入脉冲即可控制电机的转速;F/R 端则用来控制电机的正反转。电机驱动电路的设计如图4所示。

图4 电机驱动电路

2 系统软件设计

2.1 下位机软件设计

下位机软件是指血凝仪中单片机核心板的软件,该部分软件主要实现光源工作状态控制和故障检测、电机运动系统控制以及血凝过程参数的采集和发送[5]。

血凝过程参数的采集包括采集散射光信号和透射光信号两部分。本系统设定的采样频率fs在50~100 Hz之间。检测过程中,单片机会不断采集数据,采用均值滤波算法处理后将这些数据存储到缓冲区。数据的传输在定时器中断服务子程序中进行,并通过定时器的配置,使得缓冲区中的数据以50Hz的频率通过CAN 通讯方式发至上位机。下位机软件流程如图5所示。

图5 下位机软件流程

2.2 上位机软件设计

上位机的开发基于Visual Studio.NET 平台,采用C#语言编写,它是设备与用户的连接的桥梁。针对上位机软件包含功能较多、结构较复杂的特点,可将每一个大功能模块细分为多个子模块,即基于模块化开发。上位机软件总体结构如图6所示。下文主要介绍血凝仪下位机软件设计,上位机软件设计部分不再赘述。

图6 上位机软件总体结构

2.3 通讯协议设计

本系统将上下位机通讯协议的长度设置为单个CAN 总线数据包的长度,且每一个协议命令均为8字节指令,系统所制定的主要协议命令如表1所示。上位机发送自检指令后,会等待下位机进行反馈。若下位机系统无故障,则下位机会往上位机发送自检正常指令,否则会发送自检错误指令至上位机。下位机采集数据所使用的AD 转换器精度为12位,因此传输数据时需要分两个字节完成。为了防止错误解析协议命令,将传输数据协议前6 字节固定为0xAA,命令的最后两个字节为所要发送的AD 模块采集到的值,如表1末行所示。

表1 上位机与下位机通讯协议

3 数据处理算法设计

3.1 散射光信号处理算法

散射光信号处理采用百分比检测法,其原理为:将开始检测时采集到的散射光强ys定义为散射光最弱值,将检测过程完成时采集到的ys定义为散射光最强值;分别找出检测过程中出现散射光强ys为最弱时的时刻和散射光强ys最强时的时刻,两个时间间隔即血液凝固时间。

实际应用中,考虑到采集数据可能存在的误差,往往会预先设定一个比较阈值R1、R2及时间区间阈值N1、N2。若某个ys值比它后边的第N1个值小R1,则找到起始时刻t1;若某个ys值比它前边的第N2个值大R2,则找到终止时刻t2;利用t1和t2容易算出凝固时间tcoa,如式(1)所示

式中:Ts——单片机预先设定的采样周期,单位为秒。

3.2 透射光信号处理算法

血液样本的透射光强度与溶液浓度成反比,这里使用yt来表征透射光强度值,表示在t时刻样本的相对透光强度值。定义样本的吸光率为rab,其表达式如式 (2)所示,单位为相对透射光强度水平值/分钟

该部分在实际应用过程中也会设定R1、R2、N1、N2这几个比较阈值,涉及到的其余算法与3.1 节大致相同,不再赘述。接下来,可利用采集到的t1、t2这段时间内的透射光强度值yt,通过最小二乘法拟合出一条曲线,即yt=kxt+b。最 后 计 算 出k 后,通 过 式 (3)即 可 求得rab的值

3.3 数字滤波算法设计

通过单片机AD 采样过程存有干扰信号,采集到的数据具有不连续性,为了提高采样信号信噪比,可采用数字低通滤波方法对采样结果进行二次滤波。系统设计了有限长单位冲激响应滤波器 (finite impulse response,FIR)[6]。

理想的低通数字滤波器的传递函数如式 (4)所示

对式 (4)做离散傅立叶逆变换后得到单位样值时域序列有

接着选取长度为N 的矩形窗函数进行设计,得到滤波器单位样值响应如式 (6)所示,其Z 传递函数如式 (7)所示

令X(Z)为采样值序列,对Y(Z)=H(Z)X(Z)取Z逆变换,得到滤波器差分方程如式 (8)所示

式中:bk——滤波器系数,系统中bk取值如式 (9)所示

这里取N =7,fc=80Hz,可利用Matlab计算得到数字滤波器的差分方程如式 (10)所示

最终,血凝仪上位机利用式 (10)对下位机AD 采集到的数据进行处理,便可得到一平滑的输出序列。

4 测试结果

测试时选用德灵公司 (DADE BEHRING)的标准质控血浆 (CiTrol coagulation control)和专门用于检测血液凝固时间凝血活酶含钙试剂 (Thromborel S)。

首先配置采样频率为50sps,采用散射法检测血液凝固时间。使用血凝仪的电控系统完成样品的混合后进行采集,每次采集600 个数据,依据数据所绘得的曲线如图7所示,其中上图为使用Matlab绘制出未经滤波的原始检测曲线,下图为使用滤波处理后得到的曲线。曲线纵坐标为光强的AD 值,横坐标为采样点数。

图7 散射曲线

接着,按照同样的系统配置和实验步骤进行透射检测,测得曲线如图8所示。

图8 透射曲线

在Matlab环境下,根据上述曲线的参数可以计算得到血液样本的凝固时间为8.13s,同时该血样的吸光率为17.0052相对光强度/分钟。实际医疗检测中,需要取多次实验结果,然后求其平均值作为医学诊断的最终根据。

系统上电后,运行上位机系统即可显示软件初始化界面,如图9所示。点击 “建立连接”,若系统正常则可进行参数检测。测得的散射光凝结过程曲线如图10所示,散射光曲线测得方法类似,此处不再赘述。

图9 上位机软件初始化界面

图10 上位机散射光凝结过程曲线

5 结束语

通过对血凝仪血液凝固过程的研究和分析,制定出一套光学检测方案,基于光信号处理算法,研制出以MC9S12XS128单片机为控制核心的血凝分析系统。系统设计的一套电控系统能够实现全自动取样和检测。同时,下位机将采集到的数据通过CAN 通讯接口传输至上位机,通过数字滤波算法处理后计算得到凝固时间和吸光率。测试结果表明,本系统具有开发成本低、采集精度高、稳定性好等优点,依据本方案测得的结果符合实际规律,满足技术指标的要求。

[1]YUAN Yu.The design of the control part of automatic blood coagulation factor analyzer[D].Taiyuan:Taiyuan University of Technology,2010 (in Chinese). [原毓.全自动凝血因子分析仪控制部分的设计 [D].太原:太原理工大学,2010.]

[2]CHEN Yu,ZHONG Huixiu.Comparison of two methods on fibrinogen measurement used by CA1500automatic coagulation analyzer[J].Medical Information,2011,24 (8):3801-3803(in Chinese).[陈喻,钟辉秀.CA1500全自动血凝仪测定纤维蛋白 原 两 种 方 法 比 较 [J].医 学 信 息,2011,24 (8):3801-3803.]

[3]DUAN Zhengang,HAN Minglu,LIAN Xiaoqin,et al.Software design and implementation of automatic coagulation analyzer based on C# [J].Computer Engineering and Design,2013,34 (4):1488-1492 (in Chinese). [段振刚,韩明璐,廉小亲,等.基于C#的全自动血凝仪软件设计与实现 [J].计算机工程与设计,2013,34 (4):1488-1492.]

[4]YE Xiaojian,ZHANG Xiaoli,LIAN Xiaoqin,et al.A design of intelligent tracing car based on MC9S12XS128 [J].Science and Technology Innovation Herald,2013 (14):80-81 (in Chinese).[叶晓剑,张晓力,廉小亲,等.基于MC9S12XS128单片机智能寻迹小车的设计 [J].科技创新导报,2013 (14):80-81.]

[5]KE Yan,LI Jie,KONG Xianglei,et al.Software design of host computer of multi-channel data acquisition system based on USB2.0 [J].Journal of Test and Measurement Technology,2010,24 (4):351-356 (in Chinese).[柯艳,李杰,孔祥雷,等.基于USB2.0的多路数据采集系统上位机软件设计 [J].测试技术学报,2010,24 (4):351-356.]

[6]LI Lanying,WANG Zhichao,WANG Feng,et al.Design and simulation of FIR digital filter [J].Journal of Harbin University of Science and Technology,2013,18 (3):36-41(in Chinese).[李兰英,王志超,王峰,等.FIR 数字滤波器设计与 仿 真 [J].哈 尔 滨 理 工 大 学 学 报,2013,18 (3):36-41.]

猜你喜欢

机软件散射光下位
百千焦耳装置集束验证平台的背向散射光诊断系统
Oculus C-Quant 散射光计量仪在视功能检查中的临床应用价值
发射机房监控系统之下位机
浅谈背向弹性散射光谱测量中获取光谱的不同实验方法与优点
道岔监测系统上位机软件设计
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”
基于正交试验法的北斗用户机软件测试用例设计
不同类型年龄相关性白内障眼内散射光检测的临床分析
PCI-e高速数据采集卡的驱动与上位机软件设计