1 概 述
微型全分析系統(tǒng)的概念由Manz于20世紀(jì)90年代初提出,是集進(jìn)樣、樣品處理、分離檢測(cè)為一體的微型檢測(cè)和分析系統(tǒng)。微流控芯片是其主要部件,采用微電子機(jī)械系統(tǒng)技術(shù)集成了微管道、微電極等多種功能元器件。微流控芯片的電泳技術(shù)是指以電場(chǎng)方式驅(qū)動(dòng)樣品在芯片的微管道中流動(dòng),然后再通過(guò)光電倍增管(Photo Multiplier Tube,PMT)將被測(cè)試樣品所產(chǎn)生的微弱信號(hào)轉(zhuǎn)換為電信號(hào),并對(duì)該信號(hào)進(jìn)行采集與處理。與常規(guī)毛細(xì)管電泳系統(tǒng)相比,該技術(shù)具有分離時(shí)間短、系統(tǒng)體積小、集成度高等優(yōu)點(diǎn),被廣泛應(yīng)用于藥品篩選以及I臨床診斷中。聚合酶鏈?zhǔn)椒磻?yīng)(Palymerase Chain Reaction,PCR)是一項(xiàng)在短時(shí)間內(nèi)體外大量擴(kuò)增特定DNA片段的分子生物學(xué)技術(shù)。目前已有的PCR控制系統(tǒng)一般采用單片機(jī)作為控制核心,成功地實(shí)現(xiàn)了對(duì)單個(gè)微流控芯片進(jìn)行控制。然而在需要高效快速、大規(guī)模應(yīng)用微流控芯片的場(chǎng)合,由于單片機(jī)的控制端口數(shù)量有限,難以實(shí)施控制。本文選取串行控制的 A/D與D/A芯片,減少了所需控制端口數(shù)量;采用具有大量控制端口的現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,FPGA)作為系統(tǒng)的控制芯片,在使用VerilogHDL語(yǔ)言對(duì)其編程后,可同時(shí)對(duì)30個(gè)PCR芯片實(shí)施控制。
2 硬件設(shè)計(jì)
系統(tǒng)以FPGA芯片為控制核心,實(shí)現(xiàn)對(duì)信號(hào)調(diào)理模塊、A/D模塊、高壓模塊、溫度控制模塊以及USB傳輸模塊的控制。具體結(jié)構(gòu)示意圖如圖1所示。虛線框內(nèi)為相應(yīng)的控制信號(hào)。
FPGA采用Xilinx公司的Spartan II 2S100-PQ208-5。PQ208表示其封裝為208引腳,“5”表示時(shí)延為5 ns。該器件密度為1O萬(wàn)門,內(nèi)置5 KB的RAM,最高工作頻率可達(dá)到125 MHz,用戶可編程使用的I/O端口數(shù)目多達(dá)196個(gè)。工作核心電壓引腳接+2.5 V電源,其輸入/輸出(I/O)引腳支持TTL、LVTTL電平邏輯,需接+3.3 V電源。程序存儲(chǔ)采用CPLD加Flash的方式。Spartan II系列的FPGA支持4種配置模式:從串行模式、主串行模式、從并行模式和邊界掃描模式。在調(diào)試時(shí)期,采用邊界掃描模式。在程序編制成功后,使用通用編程器將程序燒入由EPROM組成的配置存儲(chǔ)器,然后將3個(gè)配置引腳全設(shè)置為高電平,采用從串行模式進(jìn)行配置。
信號(hào)調(diào)理模塊由電流轉(zhuǎn)電壓I—V電路、低通濾波電路組成。I—V電路的輸入為光電倍增管的電流輸出。I—V電路芯片采用的是安森美半導(dǎo)體公司的 MC33501,該芯片的輸入偏置電流典型值為40 fA,非常適用于微弱光電流信號(hào)的測(cè)量。反饋電阻選取1 MΩ的標(biāo)稱值,可將1μA的電流轉(zhuǎn)換為1 V的電壓。轉(zhuǎn)換后的電壓信號(hào)再經(jīng)過(guò)運(yùn)算放大器OP07組成的二階巴特沃茲低通濾波器,其截止頻率可設(shè)置在1 Hz以下。A/D模塊采用TI公司的12位串行A/D轉(zhuǎn)換器ADS7818。該芯片僅8個(gè)引腳,采用串口方式控制和輸出數(shù)據(jù)。如圖2所示,對(duì)A/D模塊進(jìn)行控制只需占用FPGA的3個(gè)控制端口(CONV、CLK、DATA)。FPGA可編程使用的I/O端口數(shù)目多達(dá)196個(gè),在除去其他芯片的控制端口后,足以勝任同時(shí)控制30個(gè)A/D模塊的工作。這也意味著可同時(shí)對(duì)30個(gè)PCR芯片實(shí)施數(shù)據(jù)采集。
高壓控制模塊由TI公司的D/A芯片TLV5630和高壓模塊實(shí)現(xiàn)。高壓模塊的輸出與其輸入控制電壓成正比。TLV5630具有8通道的12位輸出,可以使高壓模塊的電壓步進(jìn)精確控制在1 V量級(jí)。FPGA通過(guò)RS232接口與溫度模塊通信,通過(guò)發(fā)送命令字與接收返回信息來(lái)控制溫度。
系統(tǒng)需要接口將數(shù)據(jù)上傳至計(jì)算機(jī),而計(jì)算機(jī)的命令參數(shù)也通過(guò)此接口下載至本系統(tǒng)中。USB2.0接口的傳輸速率達(dá)到480 Mb/s,可勝任快速傳回?cái)?shù)據(jù)的任務(wù)。本文采用USB2.0接口作為系統(tǒng)與計(jì)算機(jī)通信的接口,USB的通信芯片選用Cypress公司的 CY7C268013A,工作模式為SlaveFIFO方式。
3 程序編碼
程序編碼包括3部分:一是采用VerilogHDL語(yǔ)言對(duì)FPGA編程;二是對(duì)CY7C68013A的固件編程;三是WindowsXP環(huán)境下驅(qū)動(dòng)程序的開(kāi)發(fā)以及上位機(jī)控制軟件的編程。與系統(tǒng)結(jié)構(gòu)相對(duì)應(yīng),F(xiàn)PGA的控制模塊包括A/D模塊、D/A模塊、RS232模塊、USB模塊以及狀態(tài)機(jī)模塊。模塊共用同一個(gè)時(shí)鐘與復(fù)位信號(hào)。除狀態(tài)機(jī)模塊外,其他模塊都將信號(hào)封裝為狀態(tài)輸出、命令輸入、選通輸入、數(shù)據(jù)輸出4個(gè)部分,由狀態(tài)機(jī)模塊對(duì)其實(shí)施控制。如圖3所示,狀態(tài)機(jī)模塊讀取USB模塊從上位機(jī)得來(lái)的命令并翻譯,然后對(duì)所指定的模塊輸入命令或者讀取信息,最后返回操作成功信息。FPGA擅長(zhǎng)于高速的邏輯與時(shí)序控制,便于控制具體的芯片,但不適于整體復(fù)雜的流程控制。采用這種方式編程的好處在于,避免了FPGA復(fù)雜的流程控制編程,而將這一任務(wù)交給上位機(jī)去完成。
FPGA程序采用VerilogHDL語(yǔ)言在ISE6.2環(huán)境下編寫(xiě)。經(jīng)ModelSim5.7g仿真無(wú)誤后,在FPGA Compile-rII3.7環(huán)境下編譯為bin文件;再經(jīng)過(guò)ISE6.2的iMPACT工具燒入FPGA的配置存儲(chǔ)器,上電后FPGA即可正常工作。 A/D部分的仿真波形如圖4所示。
固件在uVision2集成開(kāi)發(fā)環(huán)境下采用Keil C51語(yǔ)言開(kāi)發(fā)。固件編譯后,有兩種方法載入CY7C68013A:一種是從EEPROM載入,另一種是從上位機(jī)下載。本系統(tǒng)采用第2種方式。 Hex2c.exe將固件目標(biāo)碼轉(zhuǎn)換為C語(yǔ)言 數(shù)組形式;EZ-Loader提供程序模板;Windows DDK將嵌入固件后的模板編譯為系統(tǒng)文件;制作相應(yīng)的inf文件,使計(jì)算機(jī)系統(tǒng)在發(fā)現(xiàn)數(shù)據(jù)采集系統(tǒng)后,自動(dòng)將固件下載入CY7C68013A。
USB設(shè)備驅(qū)動(dòng)程序采用Jungo公司的WinDriver軟件開(kāi)發(fā)。具體實(shí)現(xiàn)過(guò)程為:連接本系統(tǒng)后運(yùn)行DriverWiz-ard向?qū)Вx擇對(duì)應(yīng)的 USB設(shè)備,生成對(duì)應(yīng)的.ini文件;然后在設(shè)備診斷對(duì)話框中檢測(cè)到USB接口各端點(diǎn)的正確設(shè)置后,選擇適合的編譯環(huán)境即可生成驅(qū)動(dòng)程序和API函數(shù)的示例代碼。
上位機(jī)軟件采用Visual C++6.0語(yǔ)言開(kāi)發(fā),操作界面友好。由于FPGA程序并未完成對(duì)整個(gè)微流控過(guò)程的控制,所以這一任務(wù)由上位機(jī)軟件來(lái)完成。上位機(jī)可以通過(guò)狀態(tài)機(jī)模塊對(duì)其他各個(gè)控制模塊詢問(wèn)狀態(tài)、施加命令,以及讀取返回?cái)?shù)據(jù)。
4 結(jié) 論
本系統(tǒng)以FPGA芯片為控制核心,使用VerilogHDL語(yǔ)言編制了信號(hào)調(diào)理模塊、A/D模塊、高壓模塊、溫度控制模塊以及USB傳輸模塊的程序;另外還編寫(xiě)了基于Windows XP的驅(qū)動(dòng)程序與控制軟件。在選取串行控制的A/D芯片節(jié)約控制端口的同時(shí),采用具有大量控制端口的FPGA作為系統(tǒng)的控制芯片,實(shí)現(xiàn)了同時(shí)對(duì)30個(gè) PCR芯片的控制。該系統(tǒng)通過(guò)并行控制多個(gè)芯片,提高了PCR的檢測(cè)效率,可應(yīng)用于需大批量芯片檢測(cè)的場(chǎng)合。本文提出的使用FPGA控制微流控芯片的方法具有集成度高的優(yōu)點(diǎn),大幅提高了芯片的檢測(cè)效率,具有較高的實(shí)用價(jià)值。
發(fā)布者:小宇