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