曲天培 趙 武
摘 要:針對(duì)PCR儀嵌入式系統(tǒng)數(shù)據(jù)存儲(chǔ)的特點(diǎn),提出用USB設(shè)備作為接口的方案。詳細(xì)討論以M30627FJPGP為控制器,以CH375電路為USB設(shè)備接口的硬件系統(tǒng)設(shè)計(jì),并給出系統(tǒng)的軟件設(shè)計(jì)方案。給出USB在PCR儀嵌入式系統(tǒng)應(yīng)用中遇到的難點(diǎn)和解決方案。實(shí)際應(yīng)用證明,USB系統(tǒng)嵌入到PCR儀中方便了用戶的操作,提高了PCR儀的工作效率和儀器的可用性。
關(guān)鍵詞:PCR儀;嵌入式系統(tǒng);M30627FJPGP;USB設(shè)備;數(shù)據(jù)存儲(chǔ)
中圖分類號(hào):TP274文獻(xiàn)標(biāo)識(shí)碼:B
文章編號(hào):1004-373X(2009)10-062-03
Application of USB in PCR Instrument Embedded System
QU Tianpei1,ZHAO Wu2
(1.Chifeng Fulong Co.Ltd.,Chifeng,024000,China;2.Chifeng Hospital,Chifeng,024000,China)
Abstract:PCR-embedded system for data storage characteristics,the scheme of using USB equipment as the interface is put forward.Using M30627FJPGP as the controller,the circuit of CH375 as USB device interface,design of hardware is discussed in detail.And the design scheme of system is given,which is of USB in the application of PCR instrument embedded system.Practical application is proved,USB system embedded in PCR instrument facilitate the operation of users,efficiency of the work of PCR instrument and equipment availability are improved.
Keywords:PCR instrument;embedded system;M30627FJPGP;USB equipment;data storage
0 引 言
聚合酶鏈反應(yīng)(Polymerase Chain Reaction,PCR) 是20世紀(jì)80年代中期發(fā)展起來(lái)的體外核酸擴(kuò)增技術(shù)[1]。該技術(shù)是分子生物學(xué)發(fā)展史上的一個(gè)里程碑,它使得DNA分子可以在生物體外進(jìn)行放大擴(kuò)增。在短短的數(shù)年內(nèi),這項(xiàng)技術(shù)已廣泛應(yīng)用于生命科學(xué)的研究中,對(duì)基因克隆、DNA序列分析等現(xiàn)代分子生物學(xué)技術(shù)的發(fā)展起到了重要的作用[2]。我國(guó)目前使用的PCR儀主要依賴于進(jìn)口,為了在該技術(shù)領(lǐng)域追趕國(guó)際先進(jìn)水平,與海爾集團(tuán)聯(lián)合對(duì)PCR儀進(jìn)行了開(kāi)發(fā)研究。
隨著U盤(pán)的普遍使用和USB技術(shù)的嵌入式系統(tǒng)應(yīng)用,方便用戶進(jìn)行程序修改和程序的存儲(chǔ),PCR設(shè)計(jì)中采用可以熱插拔的USB接口,即在PCR硬件系統(tǒng)中加入了USB主控芯片,使其能夠?qū)盤(pán)等存儲(chǔ)設(shè)備進(jìn)行讀寫(xiě)操作,從而實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和轉(zhuǎn)移[3]。
1 USB系統(tǒng)的硬件設(shè)計(jì)
在數(shù)據(jù)采集系統(tǒng)中,USB的應(yīng)用大體可以采用兩種方案:一是直接采用集成USB設(shè)備接口的嵌入式微控制器;二是采用單獨(dú)的控制器和獨(dú)立的USB設(shè)備接口芯片。
為增強(qiáng)系統(tǒng)應(yīng)用的靈活性,該方案采用瑞薩單片機(jī)M30627FJPGP,加上USB設(shè)備接口芯片搭建硬件系統(tǒng),具有低成本、易移植的特點(diǎn)。設(shè)計(jì)中,USB設(shè)備接口芯片采用CH375,涉及框圖如圖1所示。CH375是一款符合USB 2.0協(xié)議的USB總線通用接口芯片,支持主機(jī)(HOST)方式和設(shè)備(SLAVE)方式,并可以動(dòng)態(tài)地切換主機(jī)和設(shè)備方式[4]。
CH375 芯片提供了通用的被動(dòng)并行接口,包括:8位雙向數(shù)據(jù)總線D0~D7、讀選通輸入引腳RD、寫(xiě)選通輸入引腳WR、片選輸入引腳CS、中斷輸出引腳INT以及地址輸入引腳A0。CH375以總線方式掛接在單片機(jī)數(shù)據(jù)總線上,并且與多個(gè)外圍器件共存。單片機(jī)通過(guò)RD,WR高位地址譯碼產(chǎn)生片選CS和地址線P68(接CH375的A0引腳)的綜合控制,完成與CH375的通信。外擴(kuò)USB電路如圖2所示。
CH375 芯片的RD和WR分別連接到單片機(jī)的讀選通輸出引腳和寫(xiě)選通輸出引腳。CS由單片機(jī)的CS4選通。INT輸出的中斷請(qǐng)求是低電平有效,可以連接到單片機(jī)的外部中斷上,單片機(jī)使用中斷方式獲知中斷請(qǐng)求。
當(dāng)CS375(即CS)為低電平時(shí),單片機(jī)可以與CH375進(jìn)行通信操作。此時(shí),當(dāng)WR為高電平,RD和P68都為低電平時(shí),CH375中的數(shù)據(jù)通過(guò)D0~D7輸出;當(dāng)RD為高電平且CS和WR及P68 都為低電平時(shí),D7~D0上的數(shù)據(jù)被寫(xiě)入CH375芯片中;當(dāng)RD為高電平且CS和WR都為低電平而A0為高電平時(shí),D7~D0上的數(shù)據(jù)被作為命令碼寫(xiě)入CH375芯片中。
CH375芯片的UD+和UD-引腳直接連接到USB總線上。CH375芯片內(nèi)置了電源上電復(fù)位電路,并可以產(chǎn)生復(fù)位信號(hào)。為確保上電復(fù)位次序,系統(tǒng)設(shè)計(jì)中,單片機(jī)的復(fù)位信號(hào)是通過(guò)CH375產(chǎn)生的,并將單片機(jī)與CH375共同接到外部復(fù)位電路上。
CH375芯片正常工作時(shí)需要外部為其提供12 MHz的時(shí)鐘信號(hào),在XI和XO引腳之間連接一個(gè)標(biāo)稱頻率為12 MHz的晶體,并且分別為XI和XO引腳對(duì)地連接一個(gè)容量為30 pF的高頻振蕩電容。
CH375芯片支持5 V電源電壓或者3.3 V電源電壓。該系統(tǒng)使用5 V工作電壓,并且V3引腳處外接容量為0.01 μF 的電源退耦電容。
2 USB系統(tǒng)的軟件設(shè)計(jì)
根據(jù)USB 2.0協(xié)議,在一個(gè)USB系統(tǒng)中,任何一次通信都是由USB主機(jī)發(fā)起的。USB設(shè)備根據(jù)主機(jī)發(fā)來(lái)的命令給予響應(yīng),執(zhí)行相應(yīng)的操作。在USB系統(tǒng)中,其軟件包括以下幾個(gè)部分:主機(jī)應(yīng)用程序、設(shè)備驅(qū)動(dòng)程序和設(shè)備固件程序。主機(jī)用于程序?yàn)橛脩籼峁┰O(shè)備應(yīng)用的操作平臺(tái)和交互界面,完成數(shù)據(jù)的處理和轉(zhuǎn)換,向設(shè)備發(fā)出控制命令等。設(shè)備驅(qū)動(dòng)程序是USB設(shè)備正常工作的基礎(chǔ),它提供了設(shè)備接入系統(tǒng)時(shí)要用到的引導(dǎo)文件、設(shè)備信息文件等。
2.1 動(dòng)態(tài)鏈接庫(kù)
系統(tǒng)應(yīng)用中CH375提供了設(shè)備方式下標(biāo)準(zhǔn)驅(qū)動(dòng)CH375WDM.INF和動(dòng)態(tài)鏈接庫(kù)CH375DLL.DLL,通過(guò)加載驅(qū)動(dòng)信息可以在應(yīng)用程序中直接調(diào)用動(dòng)態(tài)鏈接庫(kù)。CH375 在計(jì)算機(jī)端提供應(yīng)用層接口。應(yīng)用層接口是由CH375動(dòng)態(tài)鏈接庫(kù)DLL 提供的面向功能應(yīng)用的API,所有API 在調(diào)用后都有操作狀態(tài)返回,但不一定有應(yīng)答數(shù)據(jù)。CH375動(dòng)態(tài)鏈接庫(kù)提供的API包括:設(shè)備管理API、數(shù)據(jù)傳輸API、中斷處理API。
設(shè)計(jì)中采用C語(yǔ)言作為計(jì)算機(jī)端應(yīng)用軟件的開(kāi)發(fā)平臺(tái),首先需要將CH375的動(dòng)態(tài)鏈接庫(kù)、驅(qū)動(dòng)程序添加到到編譯環(huán)境中。動(dòng)態(tài)鏈接庫(kù)的使用,簡(jiǎn)化了USB設(shè)備開(kāi)發(fā)的步驟,降低了開(kāi)發(fā)難度,為系統(tǒng)調(diào)試節(jié)省了時(shí)間。
2.2 應(yīng)用程序與設(shè)備間的通信
通過(guò)動(dòng)態(tài)鏈接庫(kù)的數(shù)據(jù)傳輸函數(shù),CH375在與M30627FJPGP之間提供了端對(duì)端的連接。應(yīng)用程序與設(shè)備固件間的通信采用請(qǐng)求加應(yīng)答方式,該通信方式具有較好的交互性和可控性。請(qǐng)求加應(yīng)答方式使用一個(gè)下傳的主動(dòng)請(qǐng)求和一個(gè)上傳的被動(dòng)應(yīng)答進(jìn)行交互式的雙向數(shù)據(jù)通信,下傳與上傳一一對(duì)應(yīng),相互關(guān)聯(lián)。所有的通信都由客戶應(yīng)用程序發(fā)起,然后以接收到M30627FJPGP的應(yīng)答結(jié)束。
2.3 固件程序設(shè)計(jì)
CH375與M30627FJPGP之間設(shè)計(jì)成完全的中斷驅(qū)動(dòng)。當(dāng)單片機(jī)處理前臺(tái)任務(wù)時(shí),USB的傳輸可在后臺(tái)進(jìn)行,這就確保了最佳的傳輸速率和更好的軟件結(jié)構(gòu),同時(shí)簡(jiǎn)化了編程和調(diào)試。
后臺(tái)ISR(中斷服務(wù)程序)和前臺(tái)主程序循環(huán)之間的數(shù)據(jù)交換可以通過(guò)事件標(biāo)志和數(shù)據(jù)緩沖區(qū)來(lái)完成,其實(shí)現(xiàn)原理如圖3所示。
應(yīng)用中的單片機(jī)讀寫(xiě)U盤(pán)軟件可分成兩大部分:應(yīng)用程序和固件程序。應(yīng)用程序完成系統(tǒng)的數(shù)據(jù)采集、處理任務(wù)、外圍控制等功能,固件程序處理底層的USB通信協(xié)議、文件系統(tǒng),完成數(shù)據(jù)在USB總線上的可靠傳輸和在U盤(pán)上的存取操作。為方便在不同控制器或應(yīng)用系統(tǒng)上進(jìn)行移植,固件采取積木式結(jié)構(gòu),如圖4所示。
2.4 USB讀寫(xiě)操作
USB讀寫(xiě)操作可根據(jù)不同的系統(tǒng)要求設(shè)定執(zhí)行程序。在PCR儀系統(tǒng)設(shè)計(jì)中,M30627FJPGP將通過(guò)A/D通道采集到的數(shù)據(jù)向U盤(pán)內(nèi)指定的文件:ADC_DATA.TXT追加數(shù)據(jù)。開(kāi)機(jī)后,單片機(jī)向CH375寫(xiě)入配置字,設(shè)定其進(jìn)入主控(Host)模式,進(jìn)入數(shù)據(jù)采集狀態(tài),等待USB總線事件發(fā)生。U盤(pán)追加數(shù)據(jù)流程如圖5所示。
3 USB在PCR嵌入式系統(tǒng)中的難點(diǎn)及解決方案
傳統(tǒng)的USB主控體系結(jié)構(gòu)是PC應(yīng)用的一種理想的解決方案,而在PCR嵌入式系統(tǒng)中很難實(shí)現(xiàn),具體表現(xiàn)在:
(1) 嵌入式系統(tǒng)具有的系統(tǒng)資源容量和能力有限;
(2) 嵌入式應(yīng)用一般要對(duì)實(shí)時(shí)事件做出及時(shí)的響應(yīng)。把USB固件添加到系統(tǒng)中,就會(huì)增加復(fù)雜性,導(dǎo)致在實(shí)時(shí)應(yīng)用的設(shè)計(jì)和調(diào)試中出現(xiàn)更多中斷和實(shí)時(shí)事件;
(3) 嵌入式市場(chǎng)具有種類繁多的處理器和實(shí)時(shí)操作系統(tǒng)。將USB固件開(kāi)發(fā)和移植到任何特定處理器/實(shí)時(shí)操作系統(tǒng)平臺(tái)的努力都將花費(fèi)大量時(shí)間,而且需要工作人員在USB技術(shù)上具有很高的專業(yè)技能。
克服嵌入式裝置中USB主控設(shè)計(jì)的復(fù)雜性問(wèn)題,其方法之一是把與USB即插即用能力相關(guān)的智能揉入U(xiǎn)SB主端控制器本身之中。要做到這一點(diǎn),所采取的辦法是:
把USB主控棧和器件驅(qū)動(dòng)的共用組件嵌入到USB控制器硬件中;
將USB主控功能壓縮到語(yǔ)族與ANSI C兼容的API中,而這些API被系統(tǒng)用來(lái)獲取USB主控制器中的USB主控功能。
這種設(shè)計(jì)方法可以帶來(lái)一個(gè)無(wú)需系統(tǒng)處理器干預(yù),就能處理USB主控活動(dòng)的USB主控制器。它不僅讓系統(tǒng)資源的消耗降至最低,而且也將通過(guò)系統(tǒng)總線的USB數(shù)據(jù)流減至最小。API的設(shè)計(jì)將簡(jiǎn)單易行,并且獨(dú)立于處理器和實(shí)時(shí)操作系統(tǒng),從而有效地降低了API集移植和集成的難度[5]。
4 結(jié) 語(yǔ)
PCR儀系統(tǒng)的設(shè)計(jì),實(shí)現(xiàn)USB總線在嵌入式系統(tǒng)中的基本應(yīng)用模式。PCR儀中USB主機(jī)的實(shí)現(xiàn)方法,體現(xiàn)了USB存儲(chǔ)設(shè)備的靈活性和方便性,USB系統(tǒng)嵌入到PCR儀中方便了用戶的操作,提高了PCR儀的工作效率和儀器的可用性。
參考文獻(xiàn)
[1]Bu M,Melvin T,Ensell G,et al.Design and Theoretical Evaluation of a Novel Microfluidic Device to be Used for PCR[J].Micro.mech.Micro-eng.,2003,13:125-130.
[2]Shin Y S,Cho K,Lim S H,et al.PDMS-based Micro PCR Chip with Parylene Coating.Journal of Micro-mechanics and Micro-engineering,2003,13:768-774.
[3]Compaq,HP,Intel,et al.Universal Serial Bus Specification.Reversion 2.0.2000.
[4]USB org.On the go Supplement to the USB 2.0 Specification.Reversion 1.0.2001.
[5]CY7C68001 EZ-USB SX2TM High-speed USB Interface Device [Z].Cypress Semiconductor Corporation,2005:13-14.
[6]王浩楓.基于USB總線的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2005(16):58-59,61.
[7]張波,劉志勤,張龍.基于USB接口的數(shù)據(jù)采集設(shè)備[J].電光與控制,2006,13(5):86-89.
[8]葉超,葉道驊.基于USB接口的高密度數(shù)據(jù)采集系統(tǒng)[J].西安工業(yè)學(xué)院學(xué)報(bào),2004,24(2):160-162.
[9]姜海勛,黃盛霖,吳忠德.基于USB 2.0的通用高速數(shù)據(jù)采集實(shí)現(xiàn)[J].海軍航空工程學(xué)院學(xué)報(bào),2005,20(3):72-74.
[10]王剛,劉雅言,郭樹(shù)旭.USB接口技術(shù)在便攜式醫(yī)療儀器中的應(yīng)用[J].電子技術(shù),2004(2):10-12.
[11]秦旭,邵根富,陳尚松,等.通用串行總線(USB)在自動(dòng)測(cè)試中的開(kāi)發(fā)應(yīng)用[J].電測(cè)與儀表,2000(10):39-42.