趙瑞卿,陳小惠,林圣東
(南京郵電大學(xué), 210046)
電解質(zhì)分析儀在臨床醫(yī)學(xué)中主要用于各種離子濃度的檢測,是現(xiàn)在醫(yī)院中的必備設(shè)備。本文介紹的一種基于USB數(shù)據(jù)采集系統(tǒng)的新型電解質(zhì)分析儀,具有高輸入阻抗與高分辨率的特點,能夠與多種離子選擇電極進行配套使用,可測量K、Na、Cl、Ca等離子濃度。
在基于USB的電解質(zhì)分析儀的設(shè)計中,我們使用了Cypress公司的EZ-USB FX2LP系列芯片CY7C68013A,CY7C68013A是一種集成了USB協(xié)議的增強型51單片機,電路設(shè)計相對簡單,系統(tǒng)集成度高。通用串行總線USB接口與傳統(tǒng)計算機接口如RS232、PCI接口和PS/2接口等相比,具有速度快,可靠性高,體積小,成本低,連接方便,支持熱插拔,兼容性高,可擴展性好等優(yōu)點。與傳統(tǒng)電解質(zhì)分析儀不同,我們使用USB協(xié)議將采集到的數(shù)據(jù)傳輸?shù)接嬎銠C中,使測量結(jié)果的處理、顯示與存儲變的更加簡單,對于臨床的操作與使用來說更加方便。在AD轉(zhuǎn)換部分,選擇了16位的高精度AD轉(zhuǎn)換芯片,保證了信號精度的要求。在進樣模塊的步進電機控制部分,使用單片機與光電開關(guān)進行聯(lián)合控制,提高了儀器的可靠性。
在進樣與傳感器模塊中采集過來的微小信號,經(jīng)過調(diào)理電路對信號進行處理與放大,再經(jīng)選通后進入AD轉(zhuǎn)換芯片,將模擬信號轉(zhuǎn)換成數(shù)字信號,再經(jīng)集成有USB協(xié)議的微處理器通過USB接口控制傳輸至上位機,由上位機軟件進行處理和顯示;同時,上位機軟件通過微處理器,能夠?qū)x器的整個運作流程進行控制,實現(xiàn)相應(yīng)的功能。實際電路中主要使用的芯片有CD4051BE、AD7715和CY7C68013A等。固件程序采用KeilC51編寫,上位機程序采用VC++編寫,并運用多線程技術(shù),使數(shù)據(jù)采集與用戶界面控制互不干擾。各模塊都有各自分工,并且模塊之間相互協(xié)作,最終實現(xiàn)本儀器的整體功能。整個系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)整體設(shè)計框圖
目前國內(nèi)外電解質(zhì)分析系統(tǒng)主流的檢測方法一般為離子選擇電極法(ion selective electrode,ISE),它是通過檢測離子選擇電極和參比電極輸出之間的電壓差來得到待測離子活度的。離子選擇電極是一類化學(xué)傳感器,它的電位對溶液中給定的離子活度的對數(shù)呈線性關(guān)系,它符合能斯特方程。
由于外界因素如溫度、液體電位等因素的影響,所以在儀器的長時間間隔的測量中,要對電極進行兩點定標(biāo)。設(shè)A標(biāo)液與B標(biāo)液的質(zhì)量分?jǐn)?shù)分別為aA和aB,電位分別是EA和EB,A標(biāo)液和B標(biāo)液的電位差為ΔE標(biāo),有:
得到電極斜率K為:
上式中ΔE標(biāo)測量可得,aA和aB已知,故能求出K。
因此,由下式可以測定液體中特定離子的濃度:
K由兩點定標(biāo)時式(2)求得,ΔEX測量可得,aA已知,故可求出aX。
本模塊主要實現(xiàn)使被測液進入系統(tǒng)與傳感器進行反應(yīng)這一過程中具體硬件電路的設(shè)計,傳感器獲得的信號為模擬數(shù)據(jù),具體體現(xiàn)為高阻、微弱的電信號。在設(shè)計中,使用光電開關(guān)用來作為邏輯控制與檢測,用步進電機實現(xiàn)被測液的選擇與抽取。相對于傳統(tǒng)的緩沖寄存器、環(huán)形分配器控制邏輯以及正反轉(zhuǎn)控門組成的步進電機控制器,使用單片機和ULN2003對步進電機進行控制,這使得電路變的更加簡單,控制更加靈活。
在具體的設(shè)計中,我們使用了兩個步進電機,其中一個步進電機作為配液閥,用來選擇吸取用于定標(biāo)的A標(biāo)液與B標(biāo)液或清洗用的空氣,另一個步進電機用來吸取被測液或空氣。步進電機再配以光電開關(guān),可以很方便的使用單片機對其進行控制,實現(xiàn)功能,具體控制流程見上位機軟件部分。
USB的控制器芯片一般分為兩種:一種是內(nèi)部不集成CPU的USB接口芯片,另一種是控制器內(nèi)帶有通用功能CPU的芯片。因此,對于第一種芯片我們可以與普通的單片機共同使用,USB芯片只負(fù)責(zé)與USB相關(guān)的通信工作,使用單片機進行主控。對于使用這種芯片的方法硬件電路相對復(fù)雜,不利于設(shè)計和維護。而對于自帶CPU的USB控制器芯片,本身就是一個帶有USB功能的增強型單片機,使用方便,開發(fā)相對簡單,產(chǎn)品集成度高。
設(shè)計基于USB2.0規(guī)范的USB設(shè)備接口時,USB接口芯片選用了具有微控制器的Cypress公司的EZ-USB FX2LP系列芯片CY7C68013A。該芯片包括1個增強型8051、串行引擎(SIE)、1個USB2.0收發(fā)器、8.5KB的RAM、4KB的FIFO、I/O口、數(shù)據(jù)總線、地址總線及1個通用可編程接口。
多路傳感器采集到信號之后,經(jīng)過信號調(diào)理電路對模擬信號進行放大與處理后,通過CD4051BE芯片進行選通控制。CD4051BE芯片相當(dāng)于一個單刀8擲開關(guān),有8路輸入,1路輸出,通道選擇功能由3條地址線ABC進行控制。
AD芯片選擇的是AD7715芯片。AD7715片內(nèi)有4個寄存器,分別是通訊寄存器、設(shè)定寄存器、測試寄存器和數(shù)據(jù)寄存器。在實際設(shè)計中我們通過對寄存器進行讀寫設(shè)置來實現(xiàn)所需的模數(shù)轉(zhuǎn)換功能。
圖2 選通與AD轉(zhuǎn)換電路
Cypress公司提供了一個完整的固件程序框架,我們可以直接基于此框架開發(fā)我們的固件程序,用以簡化開發(fā)難度,提高開發(fā)效率。固件開發(fā)我們采用Keil公司的C51編譯器,集成開發(fā)環(huán)境為uVision2。固件程序的結(jié)構(gòu)框架如圖3所示。我們在文件periph.c中的DR_VendorCmnd函數(shù)中添加自定義的控制命令代碼,代碼會在CY7C68013A芯片的8051內(nèi)核中運行,最終實現(xiàn)對芯片的控制。
圖3 固件程序結(jié)構(gòu)框架
固件程序可以有兩種存儲方式。第一種固件程序存放于主機中,每次USB芯片上電后,USB主機會將程序下載到片內(nèi)的RAM中,USB芯片掉電后,RAM中的程序和數(shù)據(jù)都將丟失。第二種存儲方式是將固件程序固化到與USB芯片的IIC總線相連的片外部存儲器如EEPROM中,這樣每次USB芯片上電后會自動將固件程序從EEPROM中加載到片內(nèi)RAM中,接著USB主機復(fù)位EZ-USB,并執(zhí)行固件代碼。在實際中使用的是第二種方式。
上位機程序主要實現(xiàn)以下功能:讀取并處理采集到的數(shù)據(jù);對處理后的數(shù)據(jù)進行準(zhǔn)確顯示;實現(xiàn)用戶對整個系統(tǒng)的控制??傊?,上位機程序的編寫要做到數(shù)據(jù)處理的精確性,與人機交互界面的易操作性。在Windows下,VC++下的MFC應(yīng)用程序框架正適合我們的需求。Cypress公司提供了在VC++開發(fā)中所需要的API函數(shù),要實現(xiàn)對CY7C68013A的控制,只需要將提供的動態(tài)鏈接庫加入工程并調(diào)用相應(yīng)的函數(shù)即可。
在應(yīng)用程序的編寫中,考慮到,由于數(shù)據(jù)采集和處理過程是需要一定時間的,為了防止在這段時間內(nèi)數(shù)據(jù)采集與用戶控制界面互相干擾,采用了多線程技術(shù)。程序的主線程是用戶控制界面,新建一個輔助線程進行數(shù)據(jù)采集和處理,這樣就把數(shù)據(jù)采集和處理放在了程序的后臺,不會影響用戶控制界面。在程序的開始我們就創(chuàng)建出自動重置的事件對象以及數(shù)據(jù)采集和處理的線程,并用事件對象將此線程暫停,在用戶按下主界面的相應(yīng)按鈕之后,在其消息響應(yīng)函數(shù)中使用SetEvent函數(shù)解放輔助線程,執(zhí)行數(shù)據(jù)采集和處理,實際效果如圖4所示。
圖4 用戶控制界面實際效果圖
儀器實際測量過程中主要有進樣、一點定標(biāo)、兩點定標(biāo)和數(shù)據(jù)采集等步驟。進樣是儀器的準(zhǔn)備階段,主要用來將標(biāo)準(zhǔn)液吸入管道,排除儀器管道中殘留的空氣。兩點定標(biāo)主要用來確定電極斜率K的值,一點定標(biāo)用來確定EA的值。由于EA變化比K值受外界影響變化快,再結(jié)合實際使用情況,兩點定標(biāo)可每天測一次,一點定標(biāo)可每三十分鐘一次。在定標(biāo)結(jié)束后就可用采集數(shù)據(jù)按鈕測定待測液的濃度了。兩點定標(biāo)的流程圖如圖5所示。
圖5 兩點定標(biāo)流程圖
基于USB的電解質(zhì)分析儀,設(shè)計了硬件電路,并編寫了相應(yīng)的系統(tǒng)軟件,通過USB協(xié)議與計算機相連,實現(xiàn)了高精度的特定離子濃度采集和數(shù)據(jù)的實時顯示,同時又可以通過上位機軟件對整個儀器進行控制,用戶界面友好,并且即插即用,可移植性強。
[1]徐建麗.高精度多路數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].現(xiàn)代電子技術(shù),2010(3):99-101.
[2]武建衛(wèi),趙英凱.應(yīng)用于電解質(zhì)分析儀的信號調(diào)理電路的設(shè)計[J].傳感器與微系統(tǒng),2009(28):101-105.
[3]Cypress Semiconductor.EZ-USB FX2LP(TM) USB Microcontroller High-Speed USB Peripheral Controller Cypress Semiconductor,2008.
[4]宋成艷.基于USB接口通訊的多傳感器數(shù)據(jù)采集系統(tǒng)[J].儀表技術(shù)與傳感器,2008(11):101-103.
[5]龔志勇.USB及其在水質(zhì)監(jiān)測系統(tǒng)中的開發(fā)與應(yīng)用[D].武漢:華中科技大學(xué),2005.
[6]薛園園.USB應(yīng)用開發(fā)技術(shù)大全[M].北京:人民郵電出版社,2007.
[7]王鐵流,李宗芳,陳東升.基于STM32的USB數(shù)據(jù)采集模塊的設(shè)計與實現(xiàn)[J].測控技術(shù),2009(8):37-40.
[8]孫鑫,余安萍.VC++深入講解[M].北京:電子工業(yè)出版社,2006.