《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設(shè)計應用 > USB在PCR儀嵌入式系統(tǒng)中的應用
USB在PCR儀嵌入式系統(tǒng)中的應用
摘要: 針對PCR儀嵌入式系統(tǒng)數(shù)據(jù)存儲的特點,,提出用USB設(shè)備作為接口的方案,。詳細討論以 M30627FJPGP為控制器,,以CH375電路為USB設(shè)備接口的硬件系統(tǒng)設(shè)計,,并給出系統(tǒng)的軟件設(shè)計方案。給出USB在PCR儀嵌入式系統(tǒng)應用中遇到的難點和解決方案,。實際應用證明,,USB系統(tǒng)嵌入到PCR儀中方便了用戶的操作,,提高了PCR儀的工作效率和儀器的可用性,。
Abstract:
Key words :

0 引 言

聚合酶鏈反應(Polymerase Chain Reaction,PCR)是20世紀80年代中期發(fā)展起來的體外核酸擴增技術(shù),。該技術(shù)是分子生物學發(fā)展史上的一個里程碑,,它使得DNA分子可以在生物體外進行放大擴增。在短短的數(shù)年內(nèi),,這項技術(shù)已廣泛應用于生命科學的研究中,,對基因克隆、DNA序列分析等現(xiàn)代分子生物學技術(shù)的發(fā)展起到了重要的作用,。我國目前使用的PCR儀" title="PCR儀">PCR儀主要依賴于進口,,為了在該技術(shù)領(lǐng)域追趕國際先進水平,,與海爾集團聯(lián)合對PCR儀進行了開發(fā)研究。
隨著U盤的普遍使用和USB技術(shù)的嵌入式系統(tǒng)應用,,方便用戶進行程序修改和程序的存儲,,PCR設(shè)計中采用可以熱插拔的USB接口,即在PCR硬件系統(tǒng)中加入了USB主控芯片,,使其能夠?qū)盤等存儲設(shè)備進行讀寫操作,,從而實現(xiàn)數(shù)據(jù)的存儲和轉(zhuǎn)移。

1 USB系統(tǒng)的硬件設(shè)計

在數(shù)據(jù)采集系統(tǒng)中,,USB的應用大體可以采用兩種方案:一是直接采用集成USB設(shè)備" title="USB設(shè)備">USB設(shè)備接口的嵌入式微控制器,;二是采用單獨的控制器和獨立的USB設(shè)備接口芯片。

為增強系統(tǒng)應用的靈活性,,該方案采用瑞薩單片機M30627FJPGP" title="M30627FJPGP">M30627FJPGP,,加上USB設(shè)備接口芯片搭建硬件系統(tǒng),具有低成本,、易移植的特點,。設(shè)計中,USB 設(shè)備接口芯片采用CH375,,涉及框圖如圖1所示,。CH375是一款符合USB 2.0協(xié)議的USB總線通用接口芯片,支持主機(HOST)方式和設(shè)備(SLAVE)方式,,并可以動態(tài)地切換主機和設(shè)備方式,。
 


CH375芯片提供了通用的被動并行接口,包括:8位雙向數(shù)據(jù)總線D0~D7,、讀選通輸入引腳RD,、寫選通輸入引腳WR、片選輸入引腳CS,、中斷輸出引腳 INT以及地址輸入引腳A0,。CH375以總線方式掛接在單片機數(shù)據(jù)總線上,,并且與多個外圍器件共存,。單片機通過RD,,WR高位地址譯碼產(chǎn)生片選CS和地址線P68(接CH375的A0引腳)的綜合控制,完成與CH375的通信,。外擴USB電路如圖2所示,。


CH375芯片的RD和WR分別連接到單片機的讀選通輸出引腳和寫選通輸出引腳。CS由單片機的CS4選通。INT輸出的中斷請求是低電平有效,,可以連接到單片機的外部中斷上,,單片機使用中斷方式獲知中斷請求。

當CS375(即CS)為低電平時,,單片機可以與CH375進行通信操作,。此時,當WR為高電平,,RD和P68都為低電平時,,CH375中的數(shù)據(jù)通過 D0~D7輸出;當RD為高電平且CS和WR及P68都為低電平時,,D7~D0上的數(shù)據(jù)被寫入CH375芯片中,;當RD為高電平且CS和WR都為低電平而 A0為高電平時,D7~D0上的數(shù)據(jù)被作為命令碼寫入CH375芯片中,。

CH375芯片的UD+和UD-引腳直接連接到USB總線上,。CH375芯片內(nèi)置了電源上電復位電路,并可以產(chǎn)生復位信號,。為確保上電復位次序,,系統(tǒng)設(shè)計中,單片機的復位信號是通過CH375產(chǎn)生的,,并將單片機與CH375共同接到外部復位電路上,。

CH375芯片正常工作時需要外部為其提供12 MHz的時鐘信號,在XI和XO引腳之間連接一個標稱頻率為12 MHz的晶體,,并且分別為XI和XO引腳對地連接一個容量為30 pF的高頻振蕩電容,。

CH375芯片支持5 V電源電壓或者3.3 V電源電壓。該系統(tǒng)使用5 V工作電壓,,并且V3引腳處外接容量為O.01 μF的電源退耦電容,。

2 USB系統(tǒng)的軟件設(shè)計
    根據(jù)USB 2.O協(xié)議,在一個USB系統(tǒng)中,,任何一次通信都是由USB主機發(fā)起的,。USB設(shè)備根據(jù)主機發(fā)來的命令給予響應,執(zhí)行相應的操作,。在USB系統(tǒng)中,,其軟件包括以下幾個部分:主機應用程序、設(shè)備驅(qū)動程序和設(shè)備固件程序,。主機用于程序為用戶提供設(shè)備應用的操作平臺和交互界面,,完成數(shù)據(jù)的處理和轉(zhuǎn)換,向設(shè)備發(fā)出控制命令等,。設(shè)備驅(qū)動程序是USB設(shè)備正常工作的基礎(chǔ),,它提供了設(shè)備接人系統(tǒng)時要用到的引導文件,、設(shè)備信息文件等,。
2.1 動態(tài)鏈接庫
    系統(tǒng)應用中CH375提供了設(shè)備方式下標準驅(qū)動CH375WDM.INF和動態(tài)鏈接庫 CH375DL L.DLL,,通過加載驅(qū)動信息可以在應用程序中直接調(diào)用動態(tài)鏈接庫。CH375在計算機端提供應用層接口,。應用層接口是由CH375動態(tài)鏈接庫DLL提供的面向功能應用的API,,所有API在調(diào)用后都有操作狀態(tài)返回,但不一定有應答數(shù)據(jù),。CH375動態(tài)鏈接庫提供的API包括:設(shè)備管理API,、數(shù)據(jù)傳輸 API、中斷處理API,。
    設(shè)計中采用C語言作為計算機端應用軟件的開發(fā)平臺,,首先需要將CH375的動態(tài)鏈接庫、驅(qū)動程序添加到到編譯環(huán)境中,。動態(tài)鏈接庫的使用,,簡化了USB設(shè)備開發(fā)的步驟,降低了開發(fā)難度,,為系統(tǒng)調(diào)試節(jié)省了時間,。
2.2 應用程序與設(shè)備間的通信
    通過動態(tài)鏈接庫的數(shù)據(jù)傳輸函數(shù),CH375在與M30627FJPGP之間提供了端對端的連接,。應用程序與設(shè)備固件間的通信采用請求加應答方式,,該通信方式具有較好的交互性和可控性。請求加應答方式使用一個下傳的主動請求和一個上傳的被動應答進行交互式的雙向數(shù)據(jù)通信,,下傳與上傳一一對應,,相互關(guān)聯(lián)。所有的通信都由客戶應用程序發(fā)起,,然后以接收到M30627FJPGP的應答結(jié)束,。
2.3 固件程序設(shè)計
    CH375與M30627FJPGP之間設(shè)計成完全的中斷驅(qū)動。當單片機處理前臺任務時,,USB的傳輸可在后臺進行,,這就確保了最佳的傳輸速率和更好的軟件結(jié)構(gòu),同時簡化了編程和調(diào)試,。
    后臺ISR(中斷服務程序)和前臺主程序循環(huán)之間的數(shù)據(jù)交換可以通過事件標志和數(shù)據(jù)緩沖區(qū)來完成,,其實現(xiàn)原理如圖3所示。

    應用中的單片機讀寫U盤軟件可分成兩大部分:應用程序和固件程序,。應用程序完成系統(tǒng)的數(shù)據(jù)采集,、處理任務、外圍控制等功能,,固件程序處理底層的USB通信協(xié)議,、文件系統(tǒng),完成數(shù)據(jù)在USB總線上的可靠傳輸和在U盤上的存取操作。為方便在不同控制器或應用系統(tǒng)上進行移植,,固件采取積木式結(jié)構(gòu),,如圖4所示,。

2.4 USB讀寫操作
    USB讀寫操作可根據(jù)不同的系統(tǒng)要求設(shè)定執(zhí)行程序。在PCR儀系統(tǒng)設(shè)計中,,M30627FJPGP將通過-A/D通道采集到的數(shù)據(jù)向U盤內(nèi)指定的文件: ADC_DATA.TXT追加數(shù)據(jù),。開機后,,單片機向CH375寫入配置字,設(shè)定其進入主控(Host)模式,,進人數(shù)據(jù)采集狀態(tài),等待USB總線事件發(fā)生,。U盤追加數(shù)據(jù)流程如圖5所示,。

3 USB在PCR嵌入式系統(tǒng)中的難點及解決方案
    傳統(tǒng)的USB主控體系結(jié)構(gòu)是PC應用的一種理想的解決方案,而在PCR嵌入式系統(tǒng)中很難實現(xiàn),,具體表現(xiàn)在:
    (1)嵌入式系統(tǒng)具有的系統(tǒng)資源容量和能力有限,;
    (2)嵌入式應用一般要對實時事件做出及時的響應。把USB固件添加到系統(tǒng)中,,就會增加復雜性,導致在實時應用的設(shè)計和調(diào)試中出現(xiàn)更多中斷和實時事件,;
    (3)嵌入式市場具有種類繁多的處理器和實時操作系統(tǒng)。將USB固件開發(fā)和移植到任何特定處理器/實時操作系統(tǒng)平臺的努力都將花費大量時間,,而且需要工作人員在USB技術(shù)上具有很高的專業(yè)技能。
    克服嵌入式裝置中USB主控設(shè)計的復雜性問題,,其方法之一是把與USB即插即用能力相關(guān)的智能揉入USB主端控制器本身之中。要做到這一點,,所采取的辦法是:
    把USB主控棧和器件驅(qū)動的共用組件嵌入到USB控制器硬件中,;
    將USB主控功能壓縮到語族與ANSI C兼容的API中,,而這些API被系統(tǒng)用來獲取USB主控制器中的USB主控功能。
    這種設(shè)計方法可以帶來一個無需系統(tǒng)處理器干預,,就能處理USB主控活動的USB主控制器。它不僅讓系統(tǒng)資源的消耗降至最低,,而且也將通過系統(tǒng)總線的USB 數(shù)據(jù)流減至最小,。API的設(shè)計將簡單易行,并且獨立于處理器和實時操作系統(tǒng),,從而有效地降低了API集移植和集成的難度。

4 結(jié) 語
    PCR儀系統(tǒng)的設(shè)計,,實現(xiàn)USB總線在嵌入式系統(tǒng)中的基本應用模式。PCR儀中USB主機的實現(xiàn)方法,,體現(xiàn)了USB存儲設(shè)備的靈活性和方便性,USB系統(tǒng)嵌入到PCR儀中方便了用戶的操作,,提高了PCR儀的工作效率和儀器的可用性,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。