(廣西師范大學(xué) 電子工程學(xué)院,廣西 桂林 541004)
流式細(xì)胞術(shù)已成為分子生物學(xué)、醫(yī)學(xué)、免疫學(xué)、病理學(xué)、植物生物學(xué)、海洋生物學(xué)等眾多領(lǐng)域中一種高速、高靈敏度分析熒光信號(hào)的研究方法[1]。流式細(xì)胞儀擁有同步采集、多參數(shù)細(xì)胞分析的優(yōu)點(diǎn),可以快速全面的檢測(cè)大細(xì)胞群。其硬件與試劑的共同發(fā)展使其能夠?qū)崿F(xiàn)對(duì)單個(gè)細(xì)胞的多參數(shù)分析,這對(duì)流式細(xì)胞儀的數(shù)據(jù)采集能力提出高速、高精度、多通道的要求。傳統(tǒng)的多通道數(shù)據(jù)采集系統(tǒng)大多數(shù)是靠模數(shù)轉(zhuǎn)換(ADC)芯片的多通道分時(shí)復(fù)用實(shí)現(xiàn),此方法難以實(shí)現(xiàn)同步和高速高精度采集[2]。此外,還有使用數(shù)據(jù)采集卡的方法,但其核心技術(shù)不公開(kāi),無(wú)法針對(duì)具體需求修改和升級(jí),而且集成度不高,價(jià)格昂貴,后期維護(hù)不便。
本文設(shè)計(jì)了一種基于FPGA和STM32控制的模數(shù)轉(zhuǎn)換多通道數(shù)據(jù)采集系統(tǒng),采用多片雙通道ADC芯片并行采集。FPGA給各ADC芯片提供驅(qū)動(dòng)信號(hào)控制數(shù)據(jù)采集,并對(duì)采集到的信號(hào)識(shí)別處理,實(shí)時(shí)緩存。STM32從FPGA上讀取數(shù)據(jù)后,經(jīng)網(wǎng)口高速傳輸至上位機(jī)作下一步分析處理。這一方法既保證了整個(gè)數(shù)據(jù)采集系統(tǒng)的同步性,又達(dá)到了高速高精度的要求,還可以根據(jù)數(shù)據(jù)采集需求的變化及時(shí)修改軟硬件設(shè)計(jì),滿足系統(tǒng)需求。
流式細(xì)胞儀多通道數(shù)據(jù)采集系統(tǒng)主要由數(shù)據(jù)采集和數(shù)據(jù)傳輸兩部分組成。數(shù)據(jù)采集部分主要由光電探測(cè)器、信號(hào)調(diào)理放大模塊和模數(shù)轉(zhuǎn)換器(ADC)組成,由FPGA對(duì)采集部分進(jìn)行控制,并且實(shí)現(xiàn)數(shù)據(jù)識(shí)別處理,STM32單片機(jī)對(duì)數(shù)據(jù)傳輸部分進(jìn)行控制。系統(tǒng)的總體結(jié)構(gòu)圖如圖1所示。
流式細(xì)胞儀的采集通道根據(jù)光信號(hào)性質(zhì)的不同可以分為散射光通道(FSC、SSC)和熒光通道(FL1~FL7)共計(jì)9路通道,因此本系統(tǒng)采用5片雙通道ADC同步采集。光信號(hào)經(jīng)過(guò)多路光電探測(cè)器后轉(zhuǎn)變?yōu)槲布?jí)模擬電流信號(hào),經(jīng)過(guò)調(diào)理放大電路進(jìn)行I/V轉(zhuǎn)換、放大濾波,形成的模擬電壓信號(hào)由ADC轉(zhuǎn)換為數(shù)字信號(hào)傳送給FPGA。通過(guò)FPGA實(shí)現(xiàn)識(shí)別處理,將脈沖參數(shù)數(shù)據(jù)通過(guò)FMC總線傳送給STM32,最終由STM32通過(guò)網(wǎng)口發(fā)送給上位機(jī)進(jìn)行處理分析。系統(tǒng)采用FPGA給每個(gè)通道提供統(tǒng)一的采樣時(shí)鐘來(lái)保證通道間的同步性,并且對(duì)ADC芯片的工作模式進(jìn)行上電配置。為了實(shí)現(xiàn)彩虹微球8峰的測(cè)量,熒光探測(cè)的動(dòng)態(tài)范圍應(yīng)達(dá)到104。而流式細(xì)胞儀探測(cè)通道量不能低于10 000個(gè)細(xì)胞每秒,就必須要求每個(gè)通道的同步采樣速率不應(yīng)該低于5 MSPS[3]。并且儀器性能需要達(dá)到國(guó)家標(biāo)準(zhǔn),即熒光檢出限應(yīng)小于200 MESF(Molecules of Equivalent Soluble Fluorochrome),熒光強(qiáng)度線性相關(guān)系數(shù)(r)應(yīng)大于0.98。
信號(hào)采集是流式細(xì)胞儀控制的中心,也是后續(xù)數(shù)據(jù)傳輸和處理的基礎(chǔ)[4-6]。本系統(tǒng)采用多通道同步ADC高速高精度的方式實(shí)現(xiàn)信號(hào)采集,信號(hào)采集部分主要由I/V轉(zhuǎn)換、程控放大、差分濾波、模數(shù)轉(zhuǎn)換器(ADC)、FPGA組成。光信號(hào)通過(guò)光電轉(zhuǎn)換后,經(jīng)由I/V轉(zhuǎn)換成模擬電壓信號(hào),經(jīng)過(guò)程控放大、差分濾波后模數(shù)轉(zhuǎn)換成數(shù)字信號(hào)作處理。由FPGA實(shí)現(xiàn)對(duì)ADC的驅(qū)動(dòng)控制和對(duì)DDR3進(jìn)行讀寫控制,并對(duì)細(xì)胞脈沖識(shí)別和細(xì)胞原始脈沖數(shù)據(jù)存儲(chǔ)以及與STM32進(jìn)行數(shù)據(jù)交互。數(shù)據(jù)采集流程框圖如圖2所示。
圖2 數(shù)據(jù)采集流程框圖
如圖3所示調(diào)理放大電路,為了能夠采集光電探測(cè)后的微弱電流信號(hào),須對(duì)其進(jìn)行I/V轉(zhuǎn)換,即將電流轉(zhuǎn)變?yōu)殡妷骸k娐分胁捎每刂坪?jiǎn)單、動(dòng)態(tài)范圍大且線性度好的反向放大電路作為次級(jí)放大電路,且在進(jìn)行I/V轉(zhuǎn)換的同時(shí)還能對(duì)電壓信號(hào)進(jìn)行放大。R4與C3組合成RC濾波電路,起到耦合隔離、濾波的作用。程控放大電路通過(guò)調(diào)節(jié)DAC內(nèi)部的阻抗以改變電壓的放大倍率,DAC內(nèi)部結(jié)構(gòu)實(shí)質(zhì)是電阻網(wǎng)絡(luò),當(dāng)上位機(jī)對(duì)DAC進(jìn)行配置時(shí),即配置DAC內(nèi)部不同的電阻組合。將DAC內(nèi)部電阻與運(yùn)放U4組合在一起構(gòu)成反向放大電路以改變放大倍數(shù),即實(shí)現(xiàn)上位機(jī)對(duì)底層模擬放大電路的增益可調(diào)的效果。
圖3 調(diào)理放大電路
在微弱電壓信號(hào)經(jīng)過(guò)程控放大后,對(duì)其進(jìn)行差分濾波,可起到去除部分共模噪聲的作用。C5和C6起到了隔直流的作用,R5、R6、C7給ADC提供驅(qū)動(dòng)電壓,R7和C8、R8和C9組合成RC濾波電路,達(dá)到耦合隔離、濾波的效果,以提高信號(hào)采集的精確度。差分濾波電路如圖4所示。
圖4 差分濾波電路
從流式細(xì)胞儀數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)需求可知,ADC芯片的采樣速度以及精確度對(duì)系統(tǒng)來(lái)說(shuō)至關(guān)重要。本系統(tǒng)采用的是ADI公司的LTC2181型號(hào)芯片。該芯片模數(shù)轉(zhuǎn)換精度為16 bit,支持雙通道同步采樣,最高采樣頻率為40 MSPS,支持SPI編程控制最高SNR為77 dB,因此可以滿足設(shè)計(jì)需求[7]。LTC2181的數(shù)據(jù)采集轉(zhuǎn)換時(shí)序如圖5所示。
圖5 LTC2181的數(shù)據(jù)采集轉(zhuǎn)換時(shí)序圖
本系統(tǒng)采用LTC2181芯片雙通道COMS輸出,根據(jù)其接口時(shí)序可知,F(xiàn)PGA的接口上只需要控制采樣時(shí)鐘信號(hào)ENC,反饋時(shí)鐘信號(hào)CLKOUT和輸出數(shù)據(jù)信號(hào)D1_0_1…D_1_14_15、D2_0_1…D2_14_15,超限信號(hào)OF2_1。ADC工作中,ENC+信號(hào)的上升沿觸發(fā)ADC采集數(shù)據(jù),并將16 Bit數(shù)據(jù)的偶數(shù)位由輸出數(shù)據(jù)信號(hào)管腳輸出;在ENC+信號(hào)的下降沿觸發(fā),由輸出數(shù)據(jù)信號(hào)管腳輸出奇數(shù)位。同時(shí)輸出的超限信號(hào)OF2_1在ENC+在高電平時(shí)代表第二通道的數(shù)據(jù)是否有效(高電平無(wú)效),在ENC+在低電平時(shí)代表第一通道的數(shù)據(jù)是否有效(低電平有效)。CLKOUT信號(hào)可以在程序中用來(lái)鎖存上述輸出管腳的數(shù)據(jù)。由數(shù)據(jù)手冊(cè)可知,ENC信號(hào)的最高采樣頻率可以達(dá)到40 MSPS,明顯高于系統(tǒng)需求5 MSPS。
為驗(yàn)證采集系統(tǒng)時(shí)序的正確性,利用嵌入式邏輯分析儀(SignalTap Ⅱ Logic Analyzer)對(duì)LTC2181數(shù)據(jù)采集的結(jié)果進(jìn)行測(cè)試,驗(yàn)證電路的行為和設(shè)計(jì)意圖,如圖6所示[8]。
圖6 嵌入式邏輯分析儀驗(yàn)證結(jié)果
圖6對(duì)LTC2181數(shù)據(jù)采集模塊進(jìn)行驗(yàn)證,模擬電壓信號(hào)經(jīng)過(guò)放大濾波之后輸出至LTC2181的輸入端,并把十六位數(shù)字信號(hào)和轉(zhuǎn)換控制信號(hào)連接到FPGA的GPIO接口,所采集的信號(hào)經(jīng)過(guò)調(diào)理處理,最終轉(zhuǎn)換的幅值在0.9 V左右,滿足LTC2181的輸入范圍。經(jīng)過(guò)測(cè)試采集到的數(shù)字信號(hào)以二進(jìn)制補(bǔ)碼編碼,并且以16進(jìn)制顯示。
FPGA采用的是Intel公司的5CEFA4F23C8型號(hào)芯片,該型號(hào)屬于CYCLONE V系列,具有49 K邏輯門,484管腳BGA封裝,224個(gè)IO口,滿足系統(tǒng)控制的需求。此外,系統(tǒng)選用的是ST公司的STM32F429型號(hào)單片機(jī)作為數(shù)據(jù)傳輸控制芯片。FMC是STM32F4系列采用的一種新型的存儲(chǔ)器擴(kuò)展技術(shù),擁有6個(gè)存儲(chǔ)區(qū)域,每個(gè)區(qū)域支持256 MB的尋址空間[9]。因此,可以將FPGA用作STM32F429的外部SRAM來(lái)配置,通過(guò)擴(kuò)展出的數(shù)據(jù)總線、地址總線、控制總線來(lái)實(shí)現(xiàn)操作,這樣既能保證有較快的操作速度,又具有很高的靈活性。FPGA與STM32接口硬件連接圖如圖7所示。
圖7 FPGA與STM32接口硬件連接圖
將FPGA直接掛載到STM32的FMC總線上,F(xiàn)MC提供了4個(gè)Bank用于連接不同的外部存儲(chǔ)器。FMC_NE1是Bank1第一區(qū)的片選信號(hào),F(xiàn)MC_RD和FMC_WR分別為接口的讀寫信號(hào)。根據(jù)所設(shè)計(jì)要求,數(shù)據(jù)位寬為32位,地址位寬為16位,將數(shù)據(jù)線[31:0],地址線[15:0]連接到FPGA的I/O端口,這樣FPGA就作為STM32的外設(shè)接入,可以通過(guò)儲(chǔ)存器讀寫指令訪問(wèn)FPGA。FPGA采集到細(xì)胞信號(hào),將INT0拉高產(chǎn)生中斷信號(hào)通知STM32,STM32開(kāi)始讀取9路數(shù)據(jù)信號(hào),讀到一個(gè)細(xì)胞的9路數(shù)據(jù)之后,STM32通過(guò)網(wǎng)口發(fā)送給上位機(jī)。當(dāng)FPGA拉低INT0時(shí),STM32停止讀取數(shù)據(jù),一旦FPGA將INT1拉高,通知STM32計(jì)數(shù)完成。
FMC接口能夠及時(shí)將數(shù)據(jù)傳輸給STM32,STM32將數(shù)據(jù)通過(guò)網(wǎng)口上傳至上位機(jī)分析處理。同時(shí)STM32通過(guò)FMC接口轉(zhuǎn)發(fā)上位機(jī)指令給底層模塊,實(shí)行對(duì)數(shù)據(jù)采集卡的各種寄存器和電路的某些狀態(tài)進(jìn)行訪問(wèn),從而控制數(shù)據(jù)采集系統(tǒng)的底層模塊。
細(xì)胞脈沖信號(hào)的采集系統(tǒng)采用了FPGA和STM32組合的方式,兩種核心器件發(fā)揮各自的優(yōu)點(diǎn),避免單一芯片在采集與處理數(shù)據(jù)上的局限性[10]。FPGA擁有靈活的邏輯可操作性,STM32擁有豐富的外設(shè)功能和數(shù)據(jù)傳輸能力,能夠高效快捷的完成信號(hào)的采集傳輸,信號(hào)采集軟件流程如圖8所示。
圖8 信號(hào)采集軟件流程
數(shù)據(jù)采集到的模擬電壓信號(hào)經(jīng)過(guò)模數(shù)轉(zhuǎn)換,傳至FPGA進(jìn)行脈沖數(shù)據(jù)識(shí)別。FPGA在內(nèi)部時(shí)鐘的驅(qū)動(dòng)下按照一定時(shí)序讀取與LTC2181連接IO口的電平,通過(guò)對(duì)一段時(shí)間連續(xù)輸入值的變化趨勢(shì)判斷出上升沿和下降沿。取上升沿與下降沿區(qū)間內(nèi)的最大值作為細(xì)胞脈沖信號(hào)的峰值,從出現(xiàn)上升沿到下降沿結(jié)束的時(shí)間與采集到的所有數(shù)據(jù),分別作為脈沖信號(hào)的寬度和面積。FPGA把識(shí)別到的參數(shù)緩存到FIFO,然后定量批次輸出。
在整個(gè)計(jì)數(shù)和數(shù)據(jù)傳輸過(guò)程中,上位機(jī)發(fā)送開(kāi)始計(jì)數(shù)命令,下位機(jī)STM32收到命令后,返回ACK信號(hào)給上位機(jī)。上位機(jī)接收到ACK信號(hào)后,STM32發(fā)送命令至FPGA啟動(dòng)ADC開(kāi)始計(jì)數(shù)并且控制液路控制板開(kāi)始形成鞘流。FPGA實(shí)現(xiàn)數(shù)據(jù)的采集,STM32讀取采集到的數(shù)據(jù)信號(hào)并不斷發(fā)送數(shù)據(jù)包給上位機(jī)。一旦上位機(jī)發(fā)送結(jié)束指令,STM32停止發(fā)送數(shù)據(jù),并且發(fā)送指令給FPGA停止計(jì)數(shù),上位機(jī)對(duì)接受到的數(shù)據(jù)進(jìn)行分析處理。STM32與上位機(jī)之間的數(shù)據(jù)傳輸流程如圖9所示。
圖9 數(shù)據(jù)傳輸流程
為了驗(yàn)證設(shè)計(jì)應(yīng)用于流式細(xì)胞儀的數(shù)據(jù)采集系統(tǒng)的有效性,實(shí)驗(yàn)中利用Spherotech公司的8峰彩虹微球來(lái)對(duì)系統(tǒng)進(jìn)行性能評(píng)估。8峰彩虹微球(RCP-30-5A)是尺寸一致但攜帶八種不同數(shù)量級(jí)熒光探針的粒子,經(jīng)過(guò)激光照射后會(huì)激發(fā)出八種不同的熒光強(qiáng)度。采用八峰試劑測(cè)量后,F(xiàn)L1熒光通道的對(duì)數(shù)直方圖如圖10所示。
圖10中橫坐標(biāo)表示熒光強(qiáng)度,縱坐標(biāo)表示粒子數(shù),熒光探測(cè)的動(dòng)態(tài)范圍能達(dá)到106。由圖10可知,儀器能較好的分出八種攜帶不同數(shù)量級(jí)熒光探針的微球。1~8峰之間能明顯區(qū)分且噪聲毛刺較少。因此,本文所設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)滿足采樣高精度的要求,同時(shí)具有足夠大的動(dòng)態(tài)范圍且高于系統(tǒng)需求104,能夠分辨更大數(shù)量級(jí)范圍內(nèi)熒光強(qiáng)度。
圖10 8峰彩虹微球測(cè)試圖
為了進(jìn)一步定量驗(yàn)證儀器性能,根據(jù)實(shí)驗(yàn)數(shù)據(jù)計(jì)算出熒光檢出限以及熒光線性,以此判斷數(shù)據(jù)采集的精確度。采用彩虹八峰微球試劑上機(jī)測(cè)試,得到圖10中1~8峰的平均熒光強(qiáng)度CH,微球說(shuō)明書(shū)中提供2~8峰的等量可溶性熒光分子(MESF)數(shù)的參考值[11]。將2~8峰的平均熒光強(qiáng)度和等量可溶性熒光分子數(shù)分別取對(duì)數(shù)作線性回歸,空白微球處(1峰)的MESF就是熒光檢出限。根據(jù)線性回歸計(jì)算出相關(guān)系數(shù)(r),可以得出熒光線性。測(cè)試數(shù)據(jù)如表1所示。
表1 熒光檢出限及熒光線性數(shù)據(jù)表
根據(jù)表1中2~8峰的LogCH值與LogMESF值得到線性回歸圖11。如圖11所示,可以計(jì)算得到線性回歸方程式,如下:
y=0.8928x+0.6186
(1)
式中,x為平均熒光強(qiáng)度的對(duì)數(shù)LogCH、y為等量可溶性熒光分子數(shù)的對(duì)數(shù)LogMESF。
由(1)式可得到空白微球處(1峰)的LogMESF等于1.855 450 188,則儀器熒光檢出限約為101.874 824 3 MESF。通過(guò)計(jì)算得到相關(guān)系數(shù)的平方(r2)為0.991 5,則熒光線性(r)約為0.995 740 93。
圖11 線性回歸圖
根據(jù)流式細(xì)胞儀國(guó)標(biāo)可知,熒光檢出限應(yīng)小于200 MESF,熒光強(qiáng)度線性相關(guān)系數(shù)(r)大于0.98。因此,實(shí)驗(yàn)證明采集的數(shù)據(jù)能達(dá)到國(guó)家標(biāo)準(zhǔn)要求,且系統(tǒng)測(cè)試效果較好,本文所設(shè)計(jì)的數(shù)據(jù)采集系統(tǒng)具有良好的線性度、靈敏度,能夠滿足流式細(xì)胞儀微弱信號(hào)的采集標(biāo)準(zhǔn)。
流式細(xì)胞儀的快速全面檢測(cè)樣本需求導(dǎo)致其對(duì)數(shù)據(jù)采集能力提出高速、高精度、多通道同步的要求。本文設(shè)計(jì)了一種基于FPGA和STM32控制的模數(shù)轉(zhuǎn)換多通道高速高精度數(shù)據(jù)采集系統(tǒng),采用多片雙通道ADC芯片并行采集,采集速率最高可達(dá)到40 MSPS,實(shí)現(xiàn)了對(duì)光電轉(zhuǎn)換后的細(xì)胞脈沖電信號(hào)的采集和傳輸。采用彩虹八峰微球上機(jī)測(cè)試,實(shí)驗(yàn)數(shù)據(jù)表明,儀器能較好的分出八種攜帶不同數(shù)量級(jí)熒光探針的微球且具有足夠大的動(dòng)態(tài)范圍,熒光檢出限為101.874 824 3 MESF,熒光線性為0.995 740 93,均能達(dá)到國(guó)家標(biāo)準(zhǔn)要求且測(cè)試效果較好。經(jīng)實(shí)際應(yīng)用該系統(tǒng)能滿足流式細(xì)胞儀數(shù)據(jù)采集高速高精度的要求,在醫(yī)療電子儀器設(shè)計(jì)領(lǐng)域具有廣闊的應(yīng)用前景。