项目概述
我们设计的微型尿液分析仪可以检测尿液的十种参数,包括白细胞、亚硝酸盐、尿胆原、蛋白质、PH值、潜血、比重、酮体、胆红素和葡萄糖。
在用户把浸没了尿液的试纸条放入仪器后,通过LPC2148控制LED光源进行分时发光,然后反射光通过光纤照射到CCD上,经过信号的采集和模数转换,并在微处理器中经过归一化的算法,将结果输出至LCD进行显示,或者根据需要传输至PC。并可以利用以太网接口连接Internet,方便建设一个健康检测网络。不用复杂的操作便可以得到医生的诊断,十分适合家庭用户的使用。
通过设计新的仪器结构和检测方法,使仪器精度达到或超过国内医院使用较多的尿液分析仪的水平,把体积减小到170×110×120mm左右,并把测量1次所用的时间控制在10秒内。用户可以通过触摸屏进行直观的操作,也可以通过计算机网络让医生进行尿液分析结果的诊断。最终实现个人—仪器—医疗机构一体化的健康检测网络。
系统实现原理
尿液中包含了表征人体健康的多种物质,将特殊设计的试纸浸入到尿液中,试纸条上不同区域的物质会与尿液中相应的成分发生反应并表现出不同颜色。LED将光照射到试纸条上后,由于试纸条上不同区域的颜色不同,所以反射光的光谱和强度也会有所不同,用CCD来检测通过光纤传输的反射光的强度,就能得到试纸的颜色信息,从而鉴别出尿液的成分,进而获取人体的健康信息。
嵌入式尿液分析仪系统主要包含了主控制器、电源及复位、LCD触摸屏、光电检测模块、LED、CPLD、CCD、USB和以太网等8个功能部分。主控制器芯片采用了高集成度的LPC2148微处理器,芯片内部集成的USB控制器可用来供电和传输数据,内部集成的ADC可以处理CCD采集到的模拟信号,内部集成PWM功能用于驱动LED,其它通用I/O口用于控制LCD触摸屏、以太网等相关模块。LPC2148外部只用加入很少的芯片就实现了系统的功能,使体积减小,功耗降低。
硬件平台详述
图1 硬件设计框图
a) 硬件模块描述
嵌入式微型尿液分析仪系统的硬件部分主要由光电检测模块、嵌入式主控模块、LED光源模块、CCD模块组成。由主控模块进行控制另外3个模块共同工作,共同实现仪器的功能。
嵌入式主控模块采用了基于ARM7TDMI-S内核的微控制器LPC2148,集成度非常高。内嵌40kB的片内静态RAM和512kB的片内Flash存储器,片内集成ADC、DAC转换器,看门狗,实时时钟RTC,2个UART,2个I2C还有SPI等多个总线接口,及USB2.0全速接口。方便扩展 USB接口、JTAG调试接口、触摸屏,外扩芯片少,而且采用超小的LQFP64封装,使得仪器的微型化得到了保证。而且电路相对简单,降低了开发和生产的成本。芯片可以实现最高60MHz的工作频率,有着较强的功能,能够满足嵌入式系统μC/OS—II及人性化的人机界面的要求。本设计中LPC2148 所有的接口都有使用。
以太网接口部分采用了具有SPI接口的集成MAC 和10 BASE-T PHY的ENC28J60。大大地减小了主控制器I/O口的开销。ENC28J60 符合IEEE 802.3 的全部规范,采用了一系列包过滤机制以对传入数据包进行限制。 它还提供了一个内部DMA 模块,以实现快速数据吞吐和硬件支持的IP校验和计算。 与主控制器的通信通过两个中断引脚和SPI 实现,数据传输速率高达10 Mb/s。两个专用的引脚用于连接LED,进行网络活动状态指示。
LED 模块采用了20个6种波长的LED。多波长的设计使得测量更有针对性,测量数据更有效。我们的设计能够通过CCD测量的每个LED的亮度,然后由 LPC2148通过点校正功能控制通过LED电流的大小,从而使LED之间的亮度保持一致,进一步提高测量的准确性。本设计使用的网络芯片是带SPI接口的独立以太网控制器,占用MCU的I/O口较少。
CCD模块主要包括整机电源、CPLD、线阵CCD传感器、运算放大器和高精度AD转换器。
软件模块描述
本设计软件部分主要分成触摸屏及LCD模块、A/D模块、LED控制模块和网络模块。本设计采用带触摸屏的LCD显示器,主要实现菜单选择、按键操作、测量的数据及状态显示,为本设计的操作带来极大的方便,让使用者在轻松、愉快的环境下使用本产品,是本设计的一大亮点。
本设计可以采用外部A/D或LPC2148内部自带的10位A/D转换器,根据本设计对数据精度的要求,采用2148自带的A/D。该模块主要是检测 CPLD模块产生的SH信号,当该信号为高时,处理检测数据,同时设置启动A/D转换的条件,在SH下降沿到来时重新启动A/D进行下次测量,直到检测结束。在该模块中,还有一个重要的任务—数据处理,在这里,每个参数每次采集多组数据,求出平均值,同时与标准数据进行比较,判断参数是否属于正常范围,并且增加了有无试纸的软件识别。
LED控制模块是通过恒流带点校正功能的LED驱动芯片控制不同波长的LED的亮度、显示顺序及显示的时间,使光纤采集到不同参数的光信号,输入到CCD模块。
在网络传输层有两个协议传输数据,传输控制协议TCP和用户数据报协议UDP,TCP协议是面向对象的协议,可靠性高,但是费用也高;UDP协议是提供最少服务和费用的传输层协议。UDP是最简单的协议,具有以下特点:无连接、不可靠、提供应用层协议标识、提高UDP报的校验和、以及缓冲和分段。 Socket接口函数是TCP/IP的API。使用Socket接口函数编写通信的任务时,分服务器和客户机两种方式。服务器方式是先接受到数据再进行处理,而客户机则是先发生数据然后等待回应处理,它们所用到的socket API 函数是相同的。
结语
这是一种针对家庭用户设计的基于嵌入式的微型 尿液分析仪,采用了恩智浦半导体(NXP Semiconductors) 高集成度的LPC2148微处理器,芯片内部集成的USB控制器可用来供电和传输数据,内部集成的ADC可以处理CCD采集到的模拟信号,内部集成SPI 接口用于触摸屏和以太网的通讯。复位部分采用了NXP公司的74HC125。
仪器通过检测尿液中的10项成分来诊断人体的健康状况。在用户把浸过了尿液的 试纸条放入仪器后,通过LPC2148控制多波长LED进行分时发光,然后反射光通过光纤照射到CCD上,经过信号的采集和模数转换,并在LCP2148 中经过归一化的算法,将结果输出至LCD进行显示,或者根据需要传输至PC。
本仪器的创新在于整个过程使用触摸屏来进行操作,具有友好的人机交互接口。设计的一种光电检测系统,消除了传统 尿液分析仪机械传动引起的误差,并减小了体积和功耗。后续工作可以对以太网部分做进一步的研究,使得远程医疗得到实现,适合家庭用户的使用。
图4 微型尿液分析仪后视图
在设计的过程中,也遇到了很多问题。比如在调LCD的时候,由于购买的LCM的控制芯片SDE1335使用的5V电压,而LPC2148使用的是3.3V电源,数据接口需要接上拉电阻,刚开始没有发现这个问题,浪费了不少时间,后来在数据口接上10KW电阻,问题才得以解决。还有制作硬件,工艺达不到和资金问题。以及调触摸屏的时候,按键识别不稳定等很多时候会花费比较多的心思和时间,仍不能解决。感到过山穷水尽,不过大家都积极努力,而且互相鼓励,在一起交流讨论,最后都一一解决。
由于系统构架很大,而时间相对不是很充分。虽然我们尽可能地开发,不过还是有一些问题难以做得完善,比如USB通讯的多样化功能的开发,以及以太网更大的拓展。我们也会继续把开发进行下去。
参考文献:
1. 丛玉隆、马骏龙,‘当代尿液分析仪技术与临床[M]’,中国科学技术出版社, 1998: 34-57
2. Carlson DA, Statland BE, ‘Automated urinalysis[J]’, Clin Lab Med 1988,8(3):449-461
3. 周立功,‘USB 2.0与OTG规范及开发指南[M]’,北京航空航天大学出版社,2004,9
4. 前岛隆雄、橙车武同、神田博、他,‘多项目自动尿分析装置’,YELLOW IRIS概要,SPSMEX JOURNAL 1987,10、11