熊 鸣
(北京信息科技大学 自动化学院,北京100192)
尿液分析仪是测定尿液中某些化学成分的自动化仪器,是医学实验室尿液自动化检查的重要工具。20世纪50年代即有人采用单一干化学法测定尿中蛋白质和葡萄糖,利用肉眼观察试带颜色的变化与标准板行进行对比,得出相应的数值。随着嵌入式技术的发展,尿液自动化分析仪也得到了迅速发展,逐步由先前的半自动化转变为全自动化。
新设计的全自动仪器采用Cortex-M3内核的STM32F103ZET6作为分析仪的控制芯片。并采用高亮度的冷光源二极管(LED)照射提供RGB(红、绿、蓝)3色光,同时采用Vishay的BPW21R作为光电转换器。
仪器采用的尿液试纸条为德国Bayer公司的Multistix 10SG,该试纸条共有10个测试项目。分别为葡萄糖、胆红素、酮体、比重、潜血、PH值、蛋白质、尿胆原、亚硝酸盐和白细胞。10种试纸块按序安放在试纸条基板上,每个试纸块会与尿液中的特定成份产生化学反应。随着该成份的浓度变化,试纸块的颜色也随之发生改变。利用冷光源对试纸块进行照射,得到不同的反射率。并根据反射率得到尿液中特定成份的浓度[1]。
根据成份的不同,采用不同的光源照射,具体算法如下
其中,Vmb为试纸条对蓝色LED灯的反射率;Vcb为标准条对蓝色LED灯的反射率;Vmr为试纸条对红色LED灯的反射率;Vcr为标准条对红色LED灯的反射率,Vmg为试纸条对绿色LED灯的反射率,Vcg为标准条对绿色LED灯的反射率。由于尿液中不同成份需要用不同的单一光源进行照射或不同的光源进行顺序照射[2]。所以需将上述反射值相加得到算数平均值。
光电检测系统采用步进电机传动系统+高亮度冷光源二极管(LED)+BPW21R(VISHARY)组成。其中LED由两个红灯、绿灯、蓝灯组成。6个LED灯相差60°,同色灯之间互差180°,对于方形的试纸块而言,互差180°的同色照射灯保证了反射光的出射角一致。由于实际中蓝灯的亮度远大于另外两种灯的亮度,故在实际实施过程中选择一个蓝灯,而其他的选择两个。BPW21R作为光电转换器放置在5个LED灯所组成圆的圆心,即5个灯具的几何中心,而中心放置的BPW21R保证了光源照在每种试纸块上的反射光具有相同的吸收角度[3]。
步进电机传动系统采用日本伺服电机公司的KP4P15G-411步进电机,步进角15°。由步进电机带动试纸托板运动,将试纸块准确的送入光源的几何中心,保证光源能够每次均照射到试纸块的中心部位。为降低背景光线对测试的影响,光电检测系统的所有部件均采用黑色。为确保在每次检测中不存在步进系统的累计误差,每次移动开始时均从一个固定点开始运动,该固定点的位置由试纸托板上的突起挡块以及对射式光电开关组成。光电开关的位置固定,当突起挡块到达光电开关时则停止步进电机的运动,利用该种方式保证步进电机每次移动均从同一位置开始,消除由于长期运行齿轮和托板之间间隙扩大所带来的系统误差。采用的红色、绿色、蓝色的LED波长分别为626 nm、569 nm和470 nm。
选用的光电转换器BPW21R具有高灵敏度、较低的暗电流以及较好的线性特性。是作为该光电检测系统的理想元件[4]。
尿液分析仪的硬件如图1所示,包含8个部分,分为:电源模块、键盘(16键)、LCD显示部分、打印部分(SEIKO LPC1245)、EEPROM(24C512)、网络模块(W5100)、驱动芯片(ULN2803)以及由AD8674组成的信号调理电路[5]。
图1 系统原理框图
微控制器采用基于Cortex-M3内核的意法半导体公司STM32F103ZET6,该型号为LQFP144的封装,带FSMC功能,FSMC全称为静态存储器控制器是为了模拟C51的总线功能而设置,利用FSMC可较好地对SSD1963进行控制,SSD1963可以驱动TFT液晶屏,该系统所使用的TFT为7寸800×480的彩屏。由于该系统的画面较为固定,并且在检验过程中画面的变化速度较慢,因此采用SSD1963作为驱动芯片完全满足要求。
分析仪一共有16个键值,设计成一个4×4的键盘,由于微控制器每个GPIO都可以单独配置成上升沿或下降沿进入中断,并可配置该中断的优先级,故在该设计中选择一组GPIO中的8个管脚作为键盘的输入脚。将8个GPIO都配置成上升沿进入中断模式,从而保证了每个键按下后都能得到及时的处理。网络模块采用W5100,该芯片采用SPI接口,通过W5100以及配套的RJ45能将检验结果通过网络发送至指定主机。利用24C512存储检验结果,该EEPROM为32 kB的存储量,将检验结果进行BCD编码之后压缩存储,存储时先建立一个完整的检索表,根据检索表找到存取的地址,并进行相应的存储。将检验结果压缩后可存储3 000条数据,同时可利用替换方式的循环存储。
步进电机采用A3977驱动,A3977为Allergo公司生产的步进电机驱动器,最高可做到8细分。该芯片最高工作电压为35 V,最大工作电流为2.5 A,完全满足系统要求,并且可在自检时使用该芯片的细分功能,保证试纸托架每次均从相同的位置开始运动。ULN2803为内含8通道的达林顿三极管阵列,最高驱动电流可达500 mA,利用该三极管阵列驱动3组LED灯。热敏打印机采用SEIKO公司的LPC1245,将检验结果即刻打印出来。该LPC1245有4组发热组件,共含有386个发热点,CPU将打印数据通过GPIO串行发送至打印机的数据接收端。LPC1245的步进电机驱动采用LB1838M。由于该设备所使用的汉字有限,且微控制器的Flash为512 kB,可直接将热敏打印机所使用的汉字字库存入微控制器的Flash中,方便程序调用,节省了一个数据存储器。
微控制器有RTC控制器、ADC模块以及DAC模块。利用ADC模块可得到光源照射在试纸块上的反射率,DAC模块是作为信号调理的输入部分,RTC控制器则可得到生成检验报告的时间。
图2 调理模块图示
式中,R为将BPW21R输出的电流变换成电压的转换电阻;im为试纸块经过照射之后反射率折算成电流的理论值;id为由于环境光以及BPW21R暗电流所引起的误差值;Ud为微控制器的DAC输出电压,从式中可看出,利用Ud可将BPW21R的暗电流和环境光所引起的误差基本消除,微控制器所带的DAC模块为双路12位,故可调的范围较大。DAC的输出值需要在每次自检时修改,保证每次测试时运算放大器的输出电压只和试纸块的反射率成正比
系统各主要部件相对误差如表1所示,由于BPW21R的暗电流以及安装方式保证了光电转换器的误差远小于电阻的相对误差,且在电流的传输通道中还有运算放大器,AD8674的噪声水平为μL级,因此相对电阻的相对误差也可忽略不计,由于ADC和DAC模块都需要外部电压参考源,选择REF3233作为电压基准,该电压基准的精度为0.01 %,在0 °以上温漂为7 ppm/℃相对于电阻相对误差而言也可忽略不计。系统总的相对误差为0.2 %。
表1 主要部件相对误差
图3显示了3段曲线,为multistix 10SG试纸条中葡萄糖(GLU)的阈值曲线图,该阈值为GLU分档的依据。其中系列1为标准样条在标准样机上的阈值数据形成的曲线,系列2和系列3为利用标准样条在随机抽取的设备上所形成的阈值数据,从图中可看出,系列2和系列3的图形与系列1的曲线存在一定的偏差,采用DAC进行补偿之后,使得系列2和系列3基本与系列1一致,系列2和系列3的阈值数据校正后与系列1的阈值数据误差在理论范围之内,补偿之后的结果如图4。
图3 未经处理的原始数据
图4 经处理的数据
采用DAC模块输出电压对数据进行补偿的方式,可缩短仪器出厂时的校正时间,利用DAC进行自动补偿的方式,将每次补偿时的DAC数值存储在EEPROM中,方便以后校正。由于LED灯的批次不同,LED灯的发光强度也有差异,可利用调节达林顿管之前的输入电阻的阻值来完成,但由于该方法效率较低,且长时间使用后,发光强度变化无法及时调整,因此采用DAC模块输出电压进行校正的方式可补偿LED灯发光强度不一致所带来的测量误差。
该分析仪采用ANSI C编写,微控制器的工作频率为72 MHz,故主程序采用时间片轮询的方式完成各项操作任务。间隔时间为0.5 ms。键盘采用中断的方式,并在软件中加入防抖程序,确保能够及时响应按键。
主程序流程图如图5所示,在完成一次检验后,将检验结果打印并同时将数据通过网络发送至指定的主机,利用微控制器的独立看门狗来确保程序可靠运行。
通过实际临床应用,该尿液分析仪达到了国家标准,满足了尿液检测的需求。针对常用的尿液干化学分析法,本设计采用了新的算法,利用微控制器自带的DAC模块输出给定电压以补偿由于各种原因造成的误差,提高了该分析仪的自动化程度,降低了出厂的检定工作强度。
图5 程序流程图
整个系统采用性价比较高的Cortex-M3处理器,使得系统中只有较少的外围器件,在降低系统成本的前提下保证了系统的整体可靠性。
[1] 刘蓟.近红外光谱尿液分析仪的原理及实现[J].中国测试,2012(1):64-67.
[2] 洪展桐,文海军.尿液分析仪检测尿液白细胞的探讨[J].临床医学工程,2012,19(7):1048-1049.
[3] 曹妍.提高尿液分析仪尿常规检测准确性方法的探讨[J].中国保健医学杂志,2010(2):140-141.
[4] 张时民.尿干化学分析技术进展和展望[J].中国医疗器械信息,2010(12):6-13.
[5] 马腾,廖海洋,黄宗伟.基于CCD的微小型快速尿液分析仪的设计[J].仪器仪表学报,2007(4):8-11.