基于USB2.0接口的生物阻抗分析儀的研制
生物阻抗技術(shù)是一種無(wú)損傷的技術(shù),測(cè)量時(shí)對(duì)人體沒(méi)有任何傷害和副作用,是人體醫(yī)學(xué)發(fā)展的一個(gè)方向之一[1]。生物阻抗分析儀的機(jī)理[2]在于:生物組織對(duì)外加電流場(chǎng)具有不同導(dǎo)電作用,當(dāng)在人體表面加一固定頻率的低電平電流時(shí),含水 70 %以上的肌肉組織是良好導(dǎo)體,而含水較少的脂肪組織近似為絕緣體,因此通過(guò)測(cè)出阻抗值可用于計(jì)算出身體成份以及電阻抗的醫(yī)學(xué)成像[3]。
目前市場(chǎng)上已經(jīng)有多種生物阻抗分析儀器,但成本昂貴,使用煩瑣,設(shè)計(jì)復(fù)雜,難以在家庭保健方面得到普及。因此,本設(shè)計(jì)提出了新的思路并研制出一種高性能的小型生物阻抗分析儀,可以多頻點(diǎn)測(cè)量人體各區(qū)間段的阻抗模值和相位信息。該儀器具有集成度高,成本較低,使用方便,安全可靠的優(yōu)點(diǎn)。
1.系統(tǒng)硬件結(jié)構(gòu)和原理
1.1系統(tǒng)原理
高集成度阻抗分析芯片AD5933是一個(gè)高精度的阻抗變換系統(tǒng),含有一個(gè)片上頻率發(fā)生器和一個(gè)12位、1MHz采樣率的ADC(模數(shù)轉(zhuǎn)換器)。片上頻率發(fā)生器可在任意指定頻率上發(fā)出激勵(lì)信號(hào),通過(guò)前置放大器的增益控制到達(dá)目標(biāo)阻抗,返回的信號(hào)經(jīng)ADC采樣后送到片上的DSP引擎,此DSP引擎執(zhí)行FFT操作,計(jì)算出每一輸出頻率上阻抗的實(shí)部和虛部。
本系統(tǒng)采用了上下位機(jī)的設(shè)計(jì)方法[4],整個(gè)系統(tǒng)全部由上位機(jī)PC通過(guò)USB發(fā)送相應(yīng)命令來(lái)控制,通過(guò)PC應(yīng)用程序?qū)卟轭l率起點(diǎn)、終點(diǎn)和步長(zhǎng)設(shè)置好,通過(guò)USB接口發(fā)送到下位機(jī),下位機(jī)解析相應(yīng)的協(xié)議后,轉(zhuǎn)換成對(duì)AD5933的控制指令,配置AD5933完成相應(yīng)的操作,下位機(jī)則使用了ARM7內(nèi)核的LPC2148芯片作為主控制器,經(jīng)I2C總線控制AD5933芯片,該芯片通過(guò)四電極法的模擬前端并使用片內(nèi)DSP計(jì)算出人體的特性阻抗,主控制器通過(guò)I2C接口將其取回,數(shù)據(jù)經(jīng)USB接口傳送至上位機(jī)PC作顯示和分析,最終完成對(duì)人體阻抗模值和相位的掃頻測(cè)量。同時(shí)系統(tǒng)在人體和PC之間采用了安全隔離措施,保證了測(cè)試人體的安全。本設(shè)計(jì)中為了方便校準(zhǔn)測(cè)量,使用了I2C總線接口的E2PROM存儲(chǔ)校準(zhǔn)所獲得的參數(shù),另外本設(shè)計(jì)利用PCA9535芯片將I2C信號(hào)轉(zhuǎn)為I/O信號(hào)作為控制位控制選取測(cè)量所需要的前端電極,這樣就可以同時(shí)測(cè)量人體多個(gè)區(qū)間段的阻抗信息[5]。
1.2系統(tǒng)硬件結(jié)構(gòu)
整個(gè)系統(tǒng)硬件框架如圖1所示:
圖1 硬件框架圖
1.2.1 USB通信:
本設(shè)計(jì)采用LPC2148片上集成的USB2.0控制器來(lái)完成USB通信,該控制器支持16個(gè)邏輯端點(diǎn),在設(shè)計(jì)中使用控制端點(diǎn)0和批量端點(diǎn)2,并采用全速模式進(jìn)行USB通信。
1.2.2 隔離:
為保證被測(cè)生物體與PC機(jī)電壓隔開(kāi),采用隔離技術(shù),包括電源隔離和I2C信號(hào)的隔離兩個(gè)部分。I2C信號(hào)的隔離采用ADUM2251,該芯片提供了一個(gè)雙向通道和一個(gè)單向通道來(lái)實(shí)現(xiàn)I2C接口的隔離。該芯片具有很強(qiáng)的隔離和保護(hù)性能,額定的隔離電壓為5000V,并可以持續(xù)1分鐘時(shí)間。電源隔離采用DC/DC電源隔離模塊,該模塊內(nèi)置EMI濾波單元,輸入過(guò)壓、過(guò)流及輸出短路、過(guò)載保護(hù)電路。
1.2.3 測(cè)量前端電極:
采用了四電極法[6],即采用一對(duì)激勵(lì)電極提供激勵(lì)電流,以及一對(duì)電極測(cè)量人體上的電壓降。激勵(lì)電極采用了壓流轉(zhuǎn)換設(shè)計(jì),將AD5933所發(fā)出的激勵(lì)電壓信號(hào)轉(zhuǎn)換為交流恒流信號(hào),經(jīng)過(guò)電平抬升至2.5V的多頻率恒流經(jīng)過(guò)人體[7],測(cè)量電極所測(cè)得的在人體上產(chǎn)生的電壓通過(guò)高輸入阻抗和高共模抑制比的差分放大器,送至后端作AD轉(zhuǎn)換處理和阻抗特性計(jì)算,保證測(cè)量的準(zhǔn)確性。與比較簡(jiǎn)單的兩電極法相比具有更好的精確程度,整個(gè)測(cè)量電極模擬前端如圖2所示。
圖2 四電極法模擬前端
2.軟件設(shè)計(jì)
2.1 軟件系統(tǒng)流程
軟件系統(tǒng)流程如圖3所示:
圖3 軟件系統(tǒng)流程圖[!--empirenews.page--]
2.2 下位機(jī)固件程序設(shè)計(jì)
下位機(jī)固件程序主要實(shí)現(xiàn)主控制器經(jīng)I2C控制AD5933,E2PROM的存儲(chǔ),以及PCA9535的控制,通過(guò)USB與上位機(jī)通信,以及總的協(xié)調(diào)控制。
2.2.1 AD5933控制
該部分軟件的主要是控制AD5933進(jìn)行頻率掃描并獲取阻抗,測(cè)量溫度等。AD5933的初始化設(shè)置參數(shù)由PC主機(jī)應(yīng)用程序通過(guò)USB接口傳遞至下位機(jī),下位機(jī)解析指令再通過(guò)I2C接口寫(xiě)入AD5933片內(nèi)寄存器。
程序流程如圖4所示:
圖4 AD5933控制部分工作流程
2.2.2 USB數(shù)據(jù)通信
USB數(shù)據(jù)通信部分需要完成的任務(wù)包括:
(1)由主機(jī)向下位機(jī)發(fā)送各種控制命令,用于傳輸配置參數(shù)、啟動(dòng)各種操作等,并獲取下位機(jī)當(dāng)前的工作狀態(tài);
(2)當(dāng)下位機(jī)完成掃頻或溫度測(cè)量時(shí),由PC機(jī)通過(guò)USB讀取測(cè)量結(jié)果。
2.3 主機(jī)設(shè)備驅(qū)動(dòng)程序設(shè)計(jì)
主機(jī)端的設(shè)備驅(qū)動(dòng)程序?yàn)閃DM類(lèi)型。USB設(shè)備的總線驅(qū)動(dòng)程序主要由操作系統(tǒng)提供,本設(shè)計(jì)中編寫(xiě)的是功能驅(qū)動(dòng)程序,基本組成包括:驅(qū)動(dòng)程序入口例程(DriverEntry)、 即插即用例程、分發(fā)例程、 電源管理例程、卸載例程。其中分發(fā)例程主要用于處理用戶軟件發(fā)出的各種I/O請(qǐng)求,并為用戶提供操縱設(shè)備的接口。用戶的Win32應(yīng)用程序?qū)⑼ㄟ^(guò)分發(fā)例程來(lái)與特定的設(shè)備進(jìn)行通信。
2.4主機(jī)端應(yīng)用程序設(shè)計(jì)
主機(jī)端應(yīng)用程序提供了一個(gè)人機(jī)交互的界面,用于客戶控制系統(tǒng)硬件設(shè)備,讀取下位機(jī)的各種測(cè)量結(jié)果并進(jìn)行分析計(jì)算,然后以圖形化的方式予以表現(xiàn)。主要包括USB設(shè)備接口、界面控制、校準(zhǔn)處理、數(shù)據(jù)分析、數(shù)據(jù)存儲(chǔ)幾個(gè)功能模塊。
2.4.1 AD5933的校準(zhǔn)處理
根據(jù)AD5933原理特性,在阻抗測(cè)量時(shí)首先必須確定阻抗的范圍和測(cè)試頻率范圍,并進(jìn)行校準(zhǔn),通常的校準(zhǔn)方法是選擇待測(cè)阻抗范圍的中點(diǎn)值為校準(zhǔn)電阻值,將校準(zhǔn)頻率設(shè)定為測(cè)試頻率范圍的中點(diǎn),在該頻點(diǎn)計(jì)算相應(yīng)的幅度因子。但是實(shí)驗(yàn)中發(fā)現(xiàn)隨著頻率的變化,幅度因子的值會(huì)逐漸產(chǎn)生偏差。
由于考慮到每次掃頻的最大點(diǎn)數(shù)不是很多(511個(gè)),在應(yīng)用程序中,本設(shè)計(jì)采用了逐點(diǎn)校準(zhǔn)的方法,即對(duì)于確定的掃頻范圍和間隔,使用校準(zhǔn)電阻經(jīng)過(guò)掃頻,測(cè)量計(jì)算每個(gè)頻率點(diǎn)的幅度因子,并存放在一個(gè)校準(zhǔn)數(shù)組中,從而很好的減小了該頻率范圍內(nèi)幅度因子的偏差,在實(shí)驗(yàn)中取得了較好的效果
3.實(shí)驗(yàn)結(jié)果
3.1 對(duì)人體左上肢+軀干+右下肢的阻抗進(jìn)行測(cè)量
測(cè)量結(jié)果如圖。
圖5 人體阻抗測(cè)量結(jié)果
上述測(cè)量結(jié)果包含了兩個(gè)測(cè)量結(jié)果,上面的曲線代表了人體阻抗模值隨頻率變化的情況,下面的曲線代表了人體阻抗相位隨頻率變化的情況,實(shí)驗(yàn)中頻率變化的范圍取為5KHz-100KHz,步進(jìn)頻率設(shè)為在1KHz。由圖中可以發(fā)現(xiàn)出人體左上肢+軀干+右下肢的總阻抗在850Ω(5KHz處)到400Ω(100KHz)之間,且總阻抗值隨著激勵(lì)信號(hào)頻率的升高而下降,與人體阻抗信息的常識(shí)是吻合的,實(shí)驗(yàn)結(jié)果也驗(yàn)證了本設(shè)計(jì)的有效性,圖形化的界面也使得本設(shè)計(jì)使用操作方便,結(jié)果一目了然。測(cè)量的阻抗信息經(jīng)過(guò)算法的計(jì)算,則可以測(cè)定人體的成分組成,比如脂類(lèi)成分的含量多少等等[8]。
3.2 可靠性測(cè)試
由于人體阻抗在頻率50KHz的阻值在200-800歐之間,因此選取如下表所示的電阻,利用本設(shè)計(jì)測(cè)量電阻值與使用惠普4284A型LCR分析儀測(cè)量結(jié)果做一個(gè)對(duì)比:
表1 測(cè)量電阻結(jié)果
從表1可以看出本設(shè)計(jì)測(cè)量?jī)x器在測(cè)量過(guò)程中精度誤差控制在1%以內(nèi)。
4.結(jié)論
本文分析了基于USB2。0的小型生物阻抗分析儀硬件原理結(jié)構(gòu),同時(shí)分析了上位機(jī)顯示控制軟件、USB驅(qū)動(dòng)程序以及嵌入式下位機(jī)固件軟件的構(gòu)建和實(shí)現(xiàn)。該阻抗分析儀采用四電極法的激勵(lì)前端,并使用了高集成度的阻抗分析芯片,不僅在成本得到了有效控制,而且在測(cè)試結(jié)果的精度上有不錯(cuò)的表現(xiàn)。USB2。0接口的采用使得該儀器具有即插即用,測(cè)量迅速準(zhǔn)確等優(yōu)點(diǎn),另外使用了隔離技術(shù)也保證測(cè)試人體的安全??傊?,本文在小型化生物阻抗分析儀器的設(shè)計(jì)上提供了一個(gè)新的思路和較好的構(gòu)建框架。