引言
生物阻抗技术是一种无损伤的技术,测量时对人体没有任何伤害和副作用,是人体医学发展的一个方向之一[1]。生物阻抗分析仪的机理[2]在于:生物组织对外加电流场具有不同导电作用,当在人体表面加一固定频率的低电平电流时,含水 70 %以上的肌肉组织是良好导体,而含水较少的脂肪组织近似为绝缘体,因此通过测出阻抗值可用于计算出身体成份以及电阻抗的医学成像[3]。
目前市场上已经有多种生物阻抗分析仪器,但成本昂贵,使用烦琐,设计复杂,难以在家庭保健方面得到普及。因此,本设计提出了新的思路并研制出一种高性能的小型生物阻抗分析仪,可以多频点测量人体各区间段的阻抗模值和相位信息。该仪器具有集成度高,成本较低,使用方便,安全可靠的优点。
1.系统硬件结构和原理
1.1系统原理
高集成度阻抗分析芯片AD5933是一个高精度的阻抗变换系统,含有一个片上频率发生器和一个12位、1MHz采样率的ADC(模数转换器)。片上频率发生器可在任意指定频率上发出激励信号,通过前置放大器的增益控制到达目标阻抗,返回的信号经ADC采样后送到片上的DSP引擎,此DSP引擎执行FFT操作,计算出每一输出频率上阻抗的实部和虚部。
本系统采用了上下位机的设计方法[4],整个系统全部由上位机PC通过USB发送相应命令来控制,通过PC应用程序将扫查频率起点、终点和步长设置好,通过USB接口发送到下位机,下位机解析相应的协议后,转换成对AD5933的控制指令,配置AD5933完成相应的操作,下位机则使用了ARM7内核的LPC2148芯片作为主控制器,经I2C总线控制AD5933芯片,该芯片通过四电极法的模拟前端并使用片内DSP计算出人体的特性阻抗,主控制器通过I2C接口将其取回,数据经USB接口传送至上位机PC作显示和分析,最终完成对人体阻抗模值和相位的扫频测量。同时系统在人体和PC之间采用了安全隔离措施,保证了测试人体的安全。本设计中为了方便校准测量,使用了I2C总线接口的E2PROM存储校准所获得的参数,另外本设计利用PCA9535芯片将I2C信号转为I/O信号作为控制位控制选取测量所需要的前端电极,这样就可以同时测量人体多个区间段的阻抗信息[5]。
1.2系统硬件结构
整个系统硬件框架如图1所示:
图1 硬件框架图
1.2.1 USB通信:
本设计采用LPC2148片上集成的USB2.0控制器来完成USB通信,该控制器支持16个逻辑端点,在设计中使用控制端点0和批量端点2,并采用全速模式进行USB通信。
1.2.2 隔离:
为保证被测生物体与PC机电压隔开,采用隔离技术,包括电源隔离和I2C信号的隔离两个部分。I2C信号的隔离采用ADUM2251,该芯片提供了一个双向通道和一个单向通道来实现I2C接口的隔离。该芯片具有很强的隔离和保护性能,额定的隔离电压为5000V,并可以持续1分钟时间。电源隔离采用DC/DC电源隔离模块,该模块内置EMI滤波单元,输入过压、过流及输出短路、过载保护电路。
1.2.3 测量前端电极:
采用了四电极法[6],即采用一对激励电极提供激励电流,以及一对电极测量人体上的电压降。激励电极采用了压流转换设计,将AD5933所发出的激励电压信号转换为交流恒流信号,经过电平抬升至2.5V的多频率恒流经过人体[7],测量电极所测得的在人体上产生的电压通过高输入阻抗和高共模抑制比的差分放大器,送至后端作AD转换处理和阻抗特性计算,保证测量的准确性。与比较简单的两电极法相比具有更好的精确程度,整个测量电极模拟前端如图2所示。
图2 四电极法模拟前端
2.软件设计
2.1 软件系统流程
软件系统流程如图3所示:
图3 软件系统流程图
2.2 下位机固件程序设计
下位机固件程序主要实现主控制器经I2C控制AD5933,E2PROM的存储,以及PCA9535的控制,通过USB与上位机通信,以及总的协调控制。
2.2.1 AD5933控制
该部分软件的主要是控制AD5933进行频率扫描并获取阻抗,测量温度等。AD5933的初始化设置参数由PC主机应用程序通过USB接口传递至下位机,下位机解析指令再通过I2C接口写入AD5933片内寄存器。
程序流程如图4所示:
图4 AD5933控制部分工作流程
2.2.2 USB数据通信
USB数据通信部分需要完成的任务包括:
(1)由主机向下位机发送各种控制命令,用于传输配置参数、启动各种操作等,并获取下位机当前的工作状态;
(2)当下位机完成扫频或温度测量时,由PC机通过USB读取测量结果。
2.3 主机设备驱动程序设计
主机端的设备驱动程序为WDM类型。USB设备的总线驱动程序主要由操作系统提供,本设计中编写的是功能驱动程序,基本组成包括:驱动程序入口例程(DriverEntry)、 即插即用例程、分发例程、电源管理例程、卸载例程。其中分发例程主要用于处理用户软件发出的各种I/O请求,并为用户提供操纵设备的接口。用户的Win32应用程序将通过分发例程来与特定的设备进行通信。
2.4主机端应用程序设计
主机端应用程序提供了一个人机交互的界面,用于客户控制系统硬件设备,读取下位机的各种测量结果并进行分析计算,然后以图形化的方式予以表现。主要包括USB设备接口、界面控制、校准处理、数据分析、数据存储几个功能模块。