- 相關推薦
基于USB總線的實時數(shù)據(jù)采集系統(tǒng)設計與實現(xiàn)
摘要:介紹了基于USB總線的實時數(shù)據(jù)采集系統(tǒng)的USB設備固件程序、驅動程序、應用程序的設計與具體實現(xiàn)。關鍵詞:通用串行總線 實時數(shù)據(jù)采集 設備固件 驅動程序
在現(xiàn)代工業(yè)生產(chǎn)和科學技術研究的各行業(yè)中,通常需要對各種數(shù)據(jù)進行采集。目前通用的通過數(shù)據(jù)采集板卡采集的方法存在著以下缺點:安裝麻煩,易受機箱內環(huán)境的干擾而導致采集數(shù)據(jù)的失真?熏易受計算機插槽數(shù)量和地址、中斷資源的限制,可擴展性差。而通用串行總線USB(Universal Serial Bus)的出現(xiàn),很好地解決了上述問題,很容易實現(xiàn)便捷、低成本、易擴展、高可靠性的數(shù)據(jù)采集,代表了現(xiàn)代數(shù)據(jù)采集系統(tǒng)的發(fā)展趨勢。
1 系統(tǒng)硬件設計與實現(xiàn)
1.1 硬件總體結構
基于USB總線的實時數(shù)據(jù)采集系統(tǒng)硬件組成包括模擬開關、A/D轉換器、單片機、USB接口芯片,其硬件總體結構如圖1所示。多路模擬信號經(jīng)過模擬開關傳到A/D轉換器轉換為數(shù)字信號?熏單片機控制采集,USB接口芯片存儲采集到的數(shù)據(jù)并將其上傳至PC,同時也接收PC機USB控制器的控制信息。
1.2 PDIUSBD12芯片
USB接口芯片采用Philips公司的一種專用芯片PDIUSBD12(以下簡稱D12)。該芯片完全符合USB1.1規(guī)范,集成了SIE、320B的多配置FIFO存儲器、收發(fā)器、電壓調整器、SoftConnect、GoodLink、可編程時鐘輸出、低頻晶振和終端電阻等,支持雙電壓工作、完全自動DMA 操作、多中斷模式,內部結構如圖2所示。
單片機通過8位并行接口傳送經(jīng)過A/D轉換的采集數(shù)據(jù),存儲在FIFO存儲器中。一旦存滿,串行接口引擎SIE立刻對數(shù)據(jù)進行處理,包括同步模式識別、并/串轉換、位填充/不填充、CRC校驗、PID確認、地址識別以及握手鑒定,處理完畢后數(shù)據(jù)由模擬收/發(fā)器通過D+、D-發(fā)送至PC。上述過程遵循USB1.1協(xié)議。D12與89C51的具體實現(xiàn)電路如圖3所示。
2 系統(tǒng)軟件設計與實現(xiàn)
系統(tǒng)軟件包括USB設備固件編程、驅動程序和應用程序。其中設備固件是整個系統(tǒng)的核心,它控制芯片D12采集數(shù)據(jù)、接收并處理USB驅動程序的請求和應用程序的控制指令。
2.1 USB設備固件程序設計與實現(xiàn)
設備固件是設備運行的核心,用C語言設計。其主要功能是控制A/D模塊的數(shù)據(jù)采集;接收并處理驅動程序的請求,如請求描述符、請求或設置設備狀態(tài)、請求設備設置、請求或設置設備接口等USB1.1標準請求;控制芯片D12接收應用程序的控制指令等。其程序主框圖如圖4所示。單片機檢測到D12后進入主循環(huán)。此時PC機先發(fā)令牌包給D12,D12接收到令牌包后給單片機發(fā)中斷,單片機據(jù)中斷類型設定標志位Status;最后執(zhí)行相應標志位的中斷服務程序。單片機通過A/D模塊的中斷入口控制A/D模塊的數(shù)據(jù)采集。
[1] [2] [3]
【基于USB總線的實時數(shù)據(jù)采集系統(tǒng)設計與實現(xiàn)】相關文章:
基于USB總線通信數(shù)據(jù)采集器的設計與實現(xiàn)04-26
基于PCI總線的多路數(shù)據(jù)總線接口設計與實現(xiàn)04-28
基于TMS320F2812的數(shù)據(jù)采集系統(tǒng)設計與實現(xiàn)04-29
基于VXI總線的旋翼試驗等角度數(shù)據(jù)采集系統(tǒng)設計05-02
基于移動GIS的數(shù)字城管數(shù)據(jù)采集系統(tǒng)架構與實現(xiàn)04-28
航天器推力器測試臺高速實時數(shù)據(jù)采集系統(tǒng)的設計與實現(xiàn)04-27
小型無人機數(shù)據(jù)采集與通信系統(tǒng)的設計與實現(xiàn)05-03