朱思彪,王景存,危 霞,匡政政
(武漢科技大學(xué) 信息科學(xué)與工程學(xué)院,武漢430081)
全自動生化分析儀能夠快速、準(zhǔn)確地為醫(yī)生和生化檢驗人員提供檢驗數(shù)據(jù),在臨床診斷領(lǐng)域和生物化學(xué)檢驗中發(fā)揮著越來越重要的作用[1-2]。吸液操作是全自動生化分析儀的一個重要組成部分,采樣針(吸液裝置)在吸取液體樣本時,精確檢測采樣針是否精確到達樣本液面是降低污染率、 防止空吸、提高分析精度的一個重要因素[3]。因此,液面探測LLD(liquid level detection)系統(tǒng),在全自動生化分析儀的液面檢測中起到至關(guān)重要的作用。
在電容式液面?zhèn)鞲性淼幕A(chǔ)上,在此采用簡單的恒流源電路, 配以充放電控制電路、12 位A/D轉(zhuǎn)換器和FPGA 控制邏輯等電路, 完成了全自動生化分析儀的LLD 系統(tǒng)[4-5]。該系統(tǒng)具有高精度、高可靠性的特點,通過對充放電時間參數(shù)的設(shè)置,可以適用不同種類的液體樣本,也可用于需要液面檢測的其他場合。
在液面檢測電路的設(shè)計中,采樣針是液面吸液裝置的傳感和執(zhí)行部件。在此采用了電容式傳感方式,采樣針傳感器結(jié)構(gòu)如圖1 所示。

圖1 采樣針傳感器結(jié)構(gòu)Fig.1 Structure of sampling needle sensor
采樣針的結(jié)構(gòu)主要由導(dǎo)電的采樣針、 導(dǎo)電材料、樣本器皿等構(gòu)成。采樣針和導(dǎo)電材料作為電容的兩極板,并將導(dǎo)電材料接地。當(dāng)采樣針接觸液體時,采樣針的面積增大,使采樣針的電容值發(fā)生變化。若把采樣針作為一個電容器連入到電容檢測電路中,即可通過檢測其電容值的變化來確定采樣針是否到達液體表面。
液面檢測電路采用恒流源充放電控制方法來檢測電容的變化,具體的工作過程如下:由FPGA 控制產(chǎn)生一個精確的充放電控制脈沖,充電時間和充電電流恒定,因此電容的變化將引起輸出電壓的變化。當(dāng)采樣針與液體接觸時,采樣針的電容值發(fā)生變化,放大以后由FPGA 控制A/D 轉(zhuǎn)換電路進行轉(zhuǎn)換,最終傳輸?shù)組CU 中。液面檢測電路的總體設(shè)計如圖2 所示,以控制4 路液面檢測[6-7]。

圖2 液面檢測電路總體設(shè)計Fig.2 Overall design of liquid level detection circuit
液面檢測電路由恒流源電路、充放電控制電路、A/D 轉(zhuǎn)換及PFGA 控制電路組成。
液面檢測單元主要由傳感器、恒流源電路和充放電控制電路構(gòu)成。在液面檢測的過程中,需要對采樣針不斷充放電以檢測其容值的大小,恒流源電路為其提供恒定充電電流; 充放電控制電路由FPGA來控制充放電時間。在此過程中,每次的充放電時間和充電電流應(yīng)保持恒定,只有這樣其輸出電壓才能反映出容值的大小[8-9]。恒流源及充放電控制電路如圖3 所示。

圖3 恒流源及充放電控制電路Fig.3 Constant current source and charge-discharge control circuit
恒流源電路由Q1,R1,R2,VD1,VD2 組成,具體如圖3 所示。根據(jù)二極管的導(dǎo)通壓降恒定特性,二極管VD1 與VD2 串聯(lián)和精密電阻R1為三極管Q1 的Ueb提供了一個穩(wěn)定的電壓,R2起到了控制電流的負(fù)反饋作用。R1和R2為不易受溫度等因素影響的精密電阻,當(dāng)三極管Q1 的輸出電流(集電極電流)ic變大時,R2上的電壓也變大,三極管Q1 的Ueb電壓就相應(yīng)變小, 進而使三極管Q1 發(fā)射極電流ic減小。反之亦然,起到了恒流的作用。
充放電控制電路由Q2,R3,R4,R5,VD3 組成,具體如圖3 所示。采用三極管的開關(guān)特性來控制目標(biāo)電容的充放電時間,由FPGA 輸出FPGA_P0 信號用于控制三極管Q2 基極,當(dāng)此控制信號為高時,三極管導(dǎo)通,短路了恒流源的充電電流并使得采樣針放電。反之,當(dāng)控制信號為低時,三極管Q2 輸出為高,加上二極管VD3 的反向截止特性,恒流源電路為采樣針充電,充電后的電壓由Vout,0連接到放大電路,進而輸出到A/D 采樣電路。因此,通過FPGA_P0可以控制液面采樣針傳感器的充放電時間。
經(jīng)過采樣針電容傳感器輸出的電壓信號Vout,0經(jīng)過由運放組成的放大電路進行阻抗變換和放大,其輸出作為A/D 轉(zhuǎn)換器TLC2543C 的輸入。
在實際設(shè)計的生化分析儀系統(tǒng)中共有4 路采樣針,每個采樣針都有自己的恒流源、充放電控制及阻抗變換隔離電路,F(xiàn)PGA 可同時進行4 個生化樣本液 面檢 測電路 的控 制。其 中,A0,A1,A2 為FPGA 發(fā)出的控制信號, 外接74LS138 譯碼器輸出控制4 路信號FPGA_P0—FPGA_P3,分別控制4 路傳感器的充放電。Vout,0—Vout,3為4 路傳感器的輸出直接到放大電路及A/D 轉(zhuǎn)換電路。A/D 轉(zhuǎn)換及FPGA 控制電路如圖4 所示。

圖4 A/D 轉(zhuǎn)換及FPGA 控制電路Fig.4 A/D conversion and FPGA control circuit
A/D 轉(zhuǎn)換芯片采用TI 公司生產(chǎn)的TLC2543C 12 位串行模數(shù)轉(zhuǎn)換芯片,由3 個輸入/輸出控制端和1 個轉(zhuǎn)換結(jié)束標(biāo)志、11 個模擬通道組成。相比于其它AD 轉(zhuǎn)換芯片,該芯片具有占用I/O 口少、轉(zhuǎn)換速度快、精度高、體積小、耗電少等優(yōu)點。
該芯片的工作過程分為2 個周期,I/O 周期和轉(zhuǎn)換周期。①I/O 周期一般為8,12 或16 個時鐘周期,由AD_CLK 信號決定;②轉(zhuǎn)換周期為I/O 周期的最后一個AD_CLK 時鐘信號下降沿之后,EOC 變低,采樣值保持不變,轉(zhuǎn)換周期開始,片內(nèi)轉(zhuǎn)換器對采樣值進行逐次逼近式A/D 轉(zhuǎn)換,其工作由與AD_CLK 同步的內(nèi)部時鐘控制。轉(zhuǎn)換完成后EOC 變高,轉(zhuǎn)換結(jié)果鎖存在輸出數(shù)據(jù)寄存器中,待下一個I/O 周期輸出[10]。
TLC2543C 在使用時需要從DIN 端串行輸入8位數(shù)據(jù)控制字,它規(guī)定了TLC2543C 要轉(zhuǎn)換的模擬量通道、轉(zhuǎn)換后的輸出數(shù)據(jù)長度、輸出數(shù)據(jù)的格式等。其中,高4 位(D7—D4)決定通道號,對于0 通道—10 通道, 該4 位分別為0000—1010H, 當(dāng)為1011—1101 時,用于對TLC2543C 的自檢。低4 位決定輸出數(shù)據(jù)長度及格式,其中D3,D2 決定輸出數(shù)據(jù)長度,01 表示輸出數(shù)據(jù)長度為8 位,11 表示輸出數(shù)據(jù)長度為16 位, 其他為12 位;D1 決定輸出數(shù)據(jù)是高位先送出(MSB),還是低位先送出(LSB),為0則表示高位先送出;D0 決定輸出數(shù)據(jù)是單極性(二進制)還是雙極性(2 的補碼),若為單極性,該位為0,反之為1。
TLC2543C 的12 位時鐘傳送轉(zhuǎn)換過程如下:上電后, 使CS_N 變低,AD_CLK,DIN 使能,DOUT 脫離高阻狀態(tài)。12 個時鐘信號從AD_CLK 端依次加入, 控制字在時鐘信號的上升沿由DIN 送入TLC2543C,同時上一周期轉(zhuǎn)換的A/D 數(shù)據(jù)從DOUT移出到FPGA。TLC2543C 收到第4 個時鐘信號后,開始對選定通道的模擬量進行采樣保持。在第12個時鐘下降沿到來后,EOC 變低, 開始對本次采樣保持的模擬量進行A/D 轉(zhuǎn)換,轉(zhuǎn)換時間約需10 μs,轉(zhuǎn)換完成后EOC 變高,轉(zhuǎn)換的數(shù)據(jù)在輸出數(shù)據(jù)寄存器中,待下一個工作周期輸出。此后可以進行新的工作周期。TLC2543C 的12 位時鐘傳送時序如圖5所示。

圖5 使用CS_N 的12 時鐘傳輸?shù)臅r序Fig.5 Time series of 12-houlr transmission using CS_N
FPGA 邏輯設(shè)計采用Altera 公司的Cyclone Ⅲ系列的高速邏輯處理芯片EP3C25Q240C8, 充分利用FPGA 的并行數(shù)據(jù)處理能力, 同時控制4 路采樣針的數(shù)據(jù)輸入輸出。在FPGA 邏輯設(shè)計中設(shè)計時鐘分頻邏輯、多通道控制邏輯A/D 轉(zhuǎn)換邏輯、輸入輸出數(shù)據(jù)緩存等邏輯模塊。
在多通道控制設(shè)計中, 通過74LS138 譯碼器8個輸出信號來控制4 個通道充放電。多通道選擇及充放電控制見表1。

表1 多通道選擇及充放電控制Tab.1 Multi-channel selection and charge-discharge control
首先,當(dāng)ad_en 使能為高時,芯片TLC2543C 開始工作。初始A0A1A2 為000,74LS 138 譯碼器Y0輸出引腳拉低,其它引腳為高,即選擇通道0 并開始給通道0 采樣針充電,其它通道放電;在第11 時鐘下 降 沿 到來時,A0A1A2 為001,74LS 138 選擇Y1 輸出引腳拉低,其它引腳為高,此時所有通道放電;當(dāng)?shù)?2 時鐘下降沿到來時,A0A1A2 為010 選擇Y2,切換為通道1 充電。以此類推。
多通道控制邏輯設(shè)計主要是通過FPGA 控制4路采樣針的充放電及A/D 轉(zhuǎn)換,控制邏輯采用狀態(tài)機設(shè)計。狀態(tài)機的設(shè)計如圖6 所示。

圖6 多通道的狀態(tài)轉(zhuǎn)換狀態(tài)機示意圖Fig.6 Diagram of multi-channel state transformation state machine
1)IDLE 未啟動A/D 芯片或復(fù)位時,處于準(zhǔn)備就緒狀態(tài),等待使能ad_en 置1,進入IDLE_WAIT 狀態(tài)。
2)IDLE_WAIT clk1_num 為4(等待約2.4 μs)后,進入CHANNEL_PRE 狀態(tài)。
3)CHANNEL_PRE 選擇通道0, 并輸出前次AD 數(shù)據(jù)
該狀態(tài)有12 個時鐘脈沖組成。在AD_CLK 第1個脈沖上升沿到來前 (上一狀態(tài)第12 個脈沖下降沿),A2A1A0 置為000,通道0 充電。在AD_CLK 時鐘的作用下,TLC2543C 開始輸出上一時鐘周期的A/D 轉(zhuǎn)換數(shù)據(jù)輸出至FPGA,同時輸入FPGA 送來的8 位控制信號(選擇通道0 等)。在第4 個脈沖下升沿對通道0 模擬信號進行采樣保持; 在第11 個時鐘下降沿A2A1A0 置為001,所有通道放電,為下一次采樣做準(zhǔn)備; 在AD_CLK 第12 個脈沖的下降沿A2A1A0 置為010,通道1 開始充電,并開始本次采集數(shù)據(jù)的A/D 轉(zhuǎn)換。
轉(zhuǎn)換結(jié)束標(biāo)志(EOC)置1 后eoc_pos_d[29]置1(等待約0.6 μs)后進入CHANNEL_1 狀態(tài)。
4)CHANNEL_1 選擇通道1 并輸出前次AD數(shù)據(jù)
輸出通道0 的AD 數(shù)據(jù), 啟動通道1 采樣保持和AD 轉(zhuǎn)換,原理同上。
5)CHANNEL_2 選擇通道2 并輸出通道1 的AD 數(shù)據(jù)
輸出通道1 的AD 數(shù)據(jù), 啟動通道2 采樣保持和AD 轉(zhuǎn)換,原理同上。
6)CHANNEL_3 選擇通道3 并輸出通道2 的AD 數(shù)據(jù)
輸出通道2 的AD 數(shù)據(jù), 啟動通道3 采樣保持和AD 轉(zhuǎn)換,原理同上。
7)CHANNEL_0 選擇通道0 并輸出通道3 的AD 數(shù)據(jù)
輸出通道3 的AD 數(shù)據(jù), 啟動通道0 采樣保持和AD 轉(zhuǎn)換,原理同上。轉(zhuǎn)換結(jié)束標(biāo)志(EOC)置1 后eoc_pos_d[29]置1(等待0.6 μs)后進入WAIT 狀態(tài)。
8)WAIT wait_time 為1800 (等待約360 μs)時,進入IDLE 狀態(tài)。
FPGA 控制的多通道A/D 時序仿真如圖7 所示。

圖7 FPGA 控制的多通道A/D 時序Fig.7 Multi channel A/D time series controlled by FPGA
A/D 轉(zhuǎn)換數(shù)據(jù)采集是根據(jù)TLC2543C 芯片,使用CS_N 進行12 時鐘傳輸?shù)臅r序進行邏輯設(shè)計的。在控制芯片使能ad_en 為高且EOC 上升沿時,啟動A/D 芯片,等待約2.4 μs 后,連續(xù)產(chǎn)生12 個時鐘周期為0.6 μs 的時鐘信號;當(dāng)?shù)谝粋€時鐘上升沿到來時,8 位控制字從輸入數(shù)據(jù)端DIN 開始輸入到芯片TLC2543C,同時在DOUT 輸出轉(zhuǎn)換后的數(shù)據(jù);當(dāng)?shù)? 個時鐘下降沿時,開始模擬通道采樣保持;第8 個時鐘下降沿時,將輸入控制字保存;在12 個時鐘下降沿來時,開始A/D 數(shù)據(jù)轉(zhuǎn)換并使得EOC 變低;直至EOC 上升沿到來時,A/D 轉(zhuǎn)換結(jié)束并在下一個控制周期讀出轉(zhuǎn)換數(shù)據(jù)。芯片TLC2543C 的A/D 轉(zhuǎn)換數(shù)據(jù)采集邏輯的仿真時序如圖8 所示。

圖8 芯片TLC2543C 的A/D 轉(zhuǎn)換數(shù)據(jù)采集邏輯的仿真時序Fig.8 Simulation time series of A/D conversion data acquisition logic of chip TLC2543C
為了驗證液面檢測電路的有效性,分別從液體種類、容器、液面高度等3 個角度,讀取在不同情況下液面采樣針接觸液面前后的AD 值。試驗中,采用的不同容器分別為15 mm×100 mm 標(biāo)準(zhǔn)試管、200 mL標(biāo)準(zhǔn)燒杯;采樣針距液面的距離分別為2 cm 和6 cm;選取的液體分別為蒸餾水、無水乙醇。
以蒸餾水作為被測液體, 分別驗證不同容器、不同液面距離這2 種情況下,檢測出液面采樣針接觸液面前后的A/D 值。具體數(shù)據(jù)見表2。

表2 采樣針接觸蒸餾水液面前后的A/D 值Tab.2 A/D values of sampling needle before and after contacting with distilled water level
由表可知,無論試管和燒杯大小,接觸液面前后的AD 值均有顯著變化。
以無水乙醇作為被測液體, 分別不同容器、不同液面距離的情況下,檢測出液面采樣針接觸液面前后的A/D 值,具體數(shù)據(jù)見表3。

表3 采樣針接觸無水乙醇液面前后的A/D 值Tab.3 A/D values of sampling needle before and after contacting with anhydrous ethanol level
由表可知,無水乙醇作為被測液體時,試管和燒杯大小不同, 接觸液面前后的AD 值具有一定的變化,但變化范圍小于蒸餾水。
由于該方法主要檢測采樣針是否到達液面,對探入深度靈敏度不高, 僅選取蒸餾水作為被測液體,進行探入深度的試驗。取相同容器(燒杯)、相同液面高度(6 cm),不同的探入深度(0,2,4,6 cm)情況下, 測出液面采樣針探入液體不同深度的A/D值。具體數(shù)據(jù)見表4。

表4 采樣針探入蒸餾水不同深度的A/D 值Tab.4 A/D values at different depths of distilled water penetrated by sampling needle
根據(jù)測量不同情況下,由液面采樣針接觸液面前后得出的A/D 值數(shù)據(jù),分析可知:
液面采樣針在接觸液面前,A/D 值在一定范圍內(nèi)波動,變化不明顯,檢測電路具有一定的穩(wěn)定性;液面采樣針在接觸液面后,A/D 值相對于在接觸液面前變化顯著,且相對穩(wěn)定。可以明顯看出檢測電路對液面檢測具有很高的精度。對于蒸餾水和無水乙醇均能夠準(zhǔn)確地判斷出是否到達液面。
液面采樣針在接觸液面后,對相同液體,在相同容器情況下,采樣針插入深度不同,A/D 值情況雖有變化(增加或者減少),但是差異不大。因此,電路對采樣針插入深度的檢測效果不明顯,可以在后續(xù)的研究中通過改變電路參數(shù)做進一步改進。
為提高液面檢測精度,研究了用于生化分析儀的液面檢測方法,設(shè)計了液面檢測電路,并對不同的液體進行液面檢測試驗, 驗證了該電路的有效性。試驗結(jié)果表明,該液面檢測電路結(jié)構(gòu)簡單,成本低,靈敏度高;可實現(xiàn)不同液體樣本的液面檢測,且易于拓展為多路液面檢測電路,能夠滿足生化分析儀的液面檢測需求。