基于USB數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)開發(fā)
2 系統(tǒng)軟件設(shè)計(jì)
本數(shù)據(jù)采集系統(tǒng)的軟件部分主要由:固件程序設(shè)計(jì)、應(yīng)用程序設(shè)計(jì)和USB驅(qū)動(dòng)程序設(shè)計(jì)三部分組成。
2.1固件程序設(shè)計(jì)
固件程序中AD7829的轉(zhuǎn)換脈沖/CONVST是由LPC2132 的P0.18 口發(fā)出,當(dāng)AD7829轉(zhuǎn)換結(jié)束后輸出有效低電平,LPC2132接到有效電平后,發(fā)下一路地址(通過A0,A1,A2的高低電平配置)給AD7829,然后讀數(shù)據(jù),當(dāng)AD7829的/RD和/CS信號(hào)有效時(shí),將數(shù)據(jù)讀人LPC2132的數(shù)據(jù)緩沖區(qū)的同時(shí)將下一路的地址打人,這樣循環(huán)采集8路模擬輸入,直到數(shù)據(jù)采集結(jié)束。
LPC2132與ISP1581之間的通信時(shí)靠LPC2132給ISP1581發(fā)送命令和數(shù)據(jù)來實(shí)現(xiàn)的。通過ISP1581的INT中斷信號(hào)與微控制器LPC2132的EINT0口相連,當(dāng)接收或發(fā)送數(shù)據(jù)成功時(shí)會(huì)產(chǎn)生中斷,固件程序?qū)@些中斷進(jìn)行響應(yīng)并完成設(shè)備的配置。設(shè)備固件程序采用Keil C進(jìn)行編寫,包括主循環(huán)程序、中斷服務(wù)程序、USB標(biāo)準(zhǔn)請(qǐng)求處理和批量數(shù)據(jù)傳送請(qǐng)求處理4部分。如圖3所示。
圖3 固件程序框圖
2.2 應(yīng)用程序設(shè)計(jì)
應(yīng)用程序包括Win32DLL程序和用戶應(yīng)用程序。Win32動(dòng)態(tài)連接庫是包含共享函數(shù)庫的二進(jìn)制文件,可以被多個(gè)應(yīng)用程序同時(shí)使用??蛻魬?yīng)用程序則是實(shí)現(xiàn)數(shù)據(jù)采集系統(tǒng)功能的軟件程序,在本系統(tǒng)中采用Visual C++進(jìn)行編寫。
2.3 USB系統(tǒng)驅(qū)動(dòng)程序設(shè)計(jì)
USB系統(tǒng)驅(qū)動(dòng)程序采用分層結(jié)構(gòu)模型,如圖 4 所示。選用Microsoft公司提供的Windows驅(qū)動(dòng)開發(fā)工具Windows DDK。
圖 4 USB分層驅(qū)動(dòng)模型
應(yīng)用程序通過Win32 子系統(tǒng)利用一個(gè)Windows定義的軟件接口(API)來同根集線器驅(qū)動(dòng)程序進(jìn)行通信。而USB根集線器驅(qū)動(dòng)程序則要通過USBDI(通用串行總線驅(qū)動(dòng)程序接口) 來實(shí)現(xiàn)同通用串行總線驅(qū)動(dòng)程序(USBD)的通信。然后, US2BD會(huì)選擇兩種主控制器驅(qū)動(dòng)程序之一來同其下方的主控制器進(jìn)行通信。最后,主控制器驅(qū)動(dòng)程序會(huì)直接實(shí)現(xiàn)對(duì)USB 物理總線的訪問。在USB可用之前, 必須對(duì)其進(jìn)行配置和接口選擇, 然后所選擇接口的各個(gè)管道才是可用的。在USBDI的基礎(chǔ)上進(jìn)行編程將大大簡(jiǎn)化, 用戶不用關(guān)心IRP的類型, 而只需要在相應(yīng)的分發(fā)例程中通過構(gòu)造USB塊并將其通過USBDI發(fā)送下去,就可以實(shí)現(xiàn)對(duì)USB設(shè)備的控制[5]。
3 結(jié)束語
USB數(shù)據(jù)采集系統(tǒng)優(yōu)于傳統(tǒng)的實(shí)時(shí)數(shù)據(jù)采集系統(tǒng),它具有安裝方便,支持即插即用,易于擴(kuò)展,電磁干擾小,性價(jià)比高等優(yōu)點(diǎn)。系統(tǒng)采用ARM7 芯片LPC2132和USB 2.0接口控制芯片ISP1581,實(shí)現(xiàn)數(shù)據(jù)采集系統(tǒng)的軟硬件設(shè)計(jì)開發(fā)。在實(shí)驗(yàn)測(cè)試中,使用信號(hào)發(fā)生器生成8路模擬信號(hào)并將其接到數(shù)據(jù)采集系統(tǒng)的輸入端,在PC機(jī)上可顯示出對(duì)應(yīng)的8路模擬信號(hào)波形,單路采樣率為150 kSPS,達(dá)到系統(tǒng)設(shè)計(jì)的要求,證明了設(shè)計(jì)的正確性和實(shí)用性。
參考文獻(xiàn)
[1] 王立萍,吳黎明.基于嵌入式USB數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)開發(fā) [J]. 電子測(cè)量技術(shù),2007,30(9):24~26
[2] ISP1581 Users Manual [Z].Philips Corp
[3] 周立功,張華.深入淺出ARM7[M].北京:北京航空航天大學(xué)出版社,2005.52~53.
[4] 張廣利,閻有運(yùn).基于AT89S52的USB數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J] .儀器儀表用戶,2008,03:33~35.
[5] 周沖,劉鎮(zhèn).基于AT89S52的USB數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J] .科學(xué)技術(shù)與工程,2007,7(22):5935~5938
伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理
評(píng)論