基于FPGA的微流控芯片電泳控制系統(tǒng)設(shè)計
FPGA程序采用VerilogHDL語言在ISE6.2環(huán)境下編寫。經(jīng)ModelSim5.7g仿真無誤后,在FPGA Compile-rII3.7環(huán)境下編譯為bin文件;再經(jīng)過ISE6.2的iMPACT工具燒入FPGA的配置存儲器,上電后FPGA即可正常工作。 A/D部分的仿真波形如圖4所示。
固件在uVision2集成開發(fā)環(huán)境下采用Keil C51語言開發(fā)。固件編譯后,有兩種方法載入CY7C68013A:一種是從EEPROM載入,另一種是從上位機下載。本系統(tǒng)采用第2種方式。 Hex2c.exe將固件目標碼轉(zhuǎn)換為C語言 數(shù)組形式;EZ-Loader提供程序模板;Windows DDK將嵌入固件后的模板編譯為系統(tǒng)文件;制作相應(yīng)的inf文件,使計算機系統(tǒng)在發(fā)現(xiàn)數(shù)據(jù)采集系統(tǒng)后,自動將固件下載入CY7C68013A。
USB設(shè)備驅(qū)動程序采用Jungo公司的WinDriver軟件開發(fā)。具體實現(xiàn)過程為:連接本系統(tǒng)后運行DriverWiz-ard向?qū)?,選擇對應(yīng)的 USB設(shè)備,生成對應(yīng)的.ini文件;然后在設(shè)備診斷對話框中檢測到USB接口各端點的正確設(shè)置后,選擇適合的編譯環(huán)境即可生成驅(qū)動程序和API函數(shù)的示例代碼。
上位機軟件采用Visual C++6.0語言開發(fā),操作界面友好。由于FPGA程序并未完成對整個微流控過程的控制,所以這一任務(wù)由上位機軟件來完成。上位機可以通過狀態(tài)機模塊對其他各個控制模塊詢問狀態(tài)、施加命令,以及讀取返回數(shù)據(jù)。
4 結(jié) 論
本系統(tǒng)以FPGA芯片為控制核心,使用VerilogHDL語言編制了信號調(diào)理模塊、A/D模塊、高壓模塊、溫度控制模塊以及USB傳輸模塊的程序;另外還編寫了基于Windows XP的驅(qū)動程序與控制軟件。在選取串行控制的A/D芯片節(jié)約控制端口的同時,采用具有大量控制端口的FPGA作為系統(tǒng)的控制芯片,實現(xiàn)了同時對30個 PCR芯片的控制。該系統(tǒng)通過并行控制多個芯片,提高了PCR的檢測效率,可應(yīng)用于需大批量芯片檢測的場合。本文提出的使用FPGA控制微流控芯片的方法具有集成度高的優(yōu)點,大幅提高了芯片的檢測效率,具有較高的實用價值。
評論