国产精品无人区无码AV片软件,无码中文av波多野吉衣,污污内射在线观看一区二区少妇,色色av资源网

產品推薦:水表|流量計|壓力變送器|熱電偶|液位計|冷熱沖擊試驗箱|水質分析|光譜儀|試驗機|試驗箱


儀表網>技術中心>使用指南>正文

歡迎聯系我

有什么可以幫您? 在線咨詢

基于USB接口的虛擬示波器的開發實現

   2012年04月18日 15:45  
  摘要:為了克服虛擬示波器應用中的一些缺點,在虛擬示波器中采用了一種新的總線接口標準——USB接口。主要介紹了基于USB的虛擬示波器的*優點,著重說明了系統整體設計、外插硬件設計、USB驅動軟件設計和客戶應用軟件設計。
  
  1、系統總體設計
  
  USB規范中將USB分為5個部分:控制器、控制器驅動程序、USB芯片驅動程序、USB設備以及針對不同USB設備的客戶驅動程序。根據設備對系統資源需求的不同,在USB規范中規定了四種不同的數據傳輸方式:等時傳輸方式(isochronous)、中斷傳輸方式(interrupt)、控制傳輸方式(control)和批(bulk)傳輸方式。這些傳輸方式各有特點,分別用于不同的場所。USB需要主機硬件、操作系統和外設三個方面的支持才能工作。目前,主板一般都采用支持USB功能的控制芯片組,而且也安裝了USB接口插座。根據USB規范,整個虛擬示波器系統的設計分為主機軟件部分和外插硬件部分(見圖1)。
  
  本虛擬示波器的開發將三種實用儀器儀表的功能集于一體。(1)雙通道寬帶示波器功能:波形實時顯示與運算,波形存儲打印,頻譜分析等。(2)數字/表針雙顯高精度萬用表功能:電壓測量,電流測量,電阻測量等。(3)高精度可自定義信號發生器功能:三角波發生,正弦波發生,方波發生,自定義波形發生等。
  
  2、系統外插硬件設計
  
  系統外插硬件設計結構見圖2。本系統的外插硬件中采用Philips公司的PDIUSBD12全速USB接口芯片組成USB接口單元。PDIUSBD12芯片詳細資料可查看Philips公司www.philips.com。模數轉換芯片采用MAX公司的AD芯片MAX108。控制單元采用AT908515單片機作為控制器,控制整個硬件部分的協調工作。兩路被測信號可同時進入雙路AD單元,模數轉換后的數字信號經過信號預處理單元,對信號作初步的處理并將信號轉變為便于存儲的數據形式。此后,將數據送入高速緩存,等待USB接口單元逐步輸入主機。而系統輸出信號的路徑相反,zui后由DA單元轉變為用戶定義輸出的模擬信號。控制單元控制AD和DA轉換的啟動停止、信號預處理單元的處理動作、高速緩存的存取以及協助USB接口單元的輸入輸出。
  
  3、USB驅動程序設計
  
  本USB驅動程序采用等時管道傳輸數據,用控制管道來傳輸指令與信息。用等時管道可以實現主機和設備之間有規律的時間敏感性數據交換。總線驅動程序將使用90%的總線帶寬進行等時和中斷傳輸。打開一個USB管道,首先要知道這種USB設備的GUID和管道名稱,獲取句柄以后就可以使用ReadFile/WriteFile進行讀寫了。
  
  USB驅動程序符合WDM(Windows驅動模型),本驅動程序采用微軟公司的DDK2000開發,使用平臺為Windows2000。鑒于篇幅原因,此處僅提供USB驅動程序主入口例程的設計。
  
  WDM驅動程序的主入口例程為DriverEntry例程,I/O管理器將調用該例程。對于本WDM驅動程序的DriverEntry例程,其主要工作是把各種函數指針填入驅動程序對象。這些指針為操作系統指明了驅動程序庫中各種子例程的位置。它們包括下面這些指針成員(驅動程序對象中):
  
  (1)DriverUnload指向驅動程序的清除例程。I/O管理器會在卸載驅動程序前調用該例程。
  
  (2)DriverExtension→AddDevice指向驅動程序的AddDevice函數。PnP管理器將為每個硬件實例調用一次AddDevice例程。
  
  (3)DriverStartIo驅動程序使用標準的IRP(interruptrequestpackage,中斷請求包)排隊。
  
  (4)MajorFunction驅動程序可能需要處理幾種類型的IRP,所以,應該設置與那幾種IRP類型相對應的指針元素,使它們指向相應的派遣函數。根據虛擬儀器系統的實際要求,本驅動程序所要處理的主功能IRP有:
  
  IRP-MJ-CREATE;IRP-MJ-CLOSE;
  
  IRP-MJ-DEVICE-CONTR;IRP-MJ-WRITE;
  
  IRP-MJ-READ;IRP-MJ-SYSTEM-CONTROL;
  
  IRP-MJ-PNP;IRP-MJ-POWER。
  
  在主入口例程中,必須設置和這些IRP類型相對應的指針元素,使它們指向相應的派遣函數。
  
  4、客戶服務軟件設計
  
  整個客戶服務軟件使用VC++編寫,分以下幾個主要模塊設計。
  
  4.1驅動層與應用層通信模塊
  
  如果通信功能塊直接放在應用程序主線程中實現,那么,當應用程序與驅動程序進行數據通信時,主界面就會凍結。為了解決這個問題,我們直接創建一個子線程來單獨完成與驅動程序的通信任務,讓主界面專心于響應視窗界面的訊息。在子線程中通過調用WindowsAPI函數來實現對USB設備進行IO操作。其中,DeviceIoControl()函數用于傳送設備配置信息;CreateFile()用于創建設備對象;WriteFile()和ReadFile()用于對USB設備讀寫數據。
  
  4.2控制面板模塊
  
  在客戶服務界面上我們創建了RUN、STOP、SINGLE、頻譜分析、LOAD和SAVE6個主控功能按鈕,來實現其主要控制功能。這一部分設計系統完成啟動、停止、單步、存儲和裝入數據文件等等控制功能。
  
  4.3波形實時顯示模塊
  
  對顯示窗口按用戶習慣進行定制,并且按控制面板的參數來顯示波形、刷新波形和對波形進行一定的運算。
  
  4.4FFT模塊
  
  利用快速傅里葉變換(FFT)進行頻譜分析。本軟件中頻譜分析采用按時間抽取FFT算法,然后將幅值頻譜分析和相位頻譜分析結果在用戶界面上以坐標曲線形式顯示。
  
  4.5其它模塊
  
  包括波形存取、打印、重放,以及數字/表針雙顯高精度萬用表和高精度可自定義信號發生器功能模塊。
  
  5、結束語
  
  隨著USB2.0標準的提出,USB的應用范圍越來越廣,已經涉及到幾乎所有計算機外設。USB的特點為解決當前虛擬儀器的一些問題提供了新思路。本文是將USB接口引入虛擬儀器、儀表系統的一次探索性研究。

免責聲明

  • 凡本網注明“來源:儀表網”的所有作品,均為浙江興旺寶明通網絡有限公司-儀表網合法擁有版權或有權使用的作品,未經本網授權不得轉載、摘編或利用其它方式使用上述作品。已經本網授權使用作品的,應在授權范圍內使用,并注明“來源:儀表網”。違反上述聲明者,本網將追究其相關法律責任。
  • 本網轉載并注明自其它來源(非儀表網)的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或和對其真實性負責,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品第一來源,并自負版權等法律責任。
  • 如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。
聯系我們

客服熱線: 15267989561

加盟熱線: 15267989561

媒體合作: 0571-87759945

投訴熱線: 0571-87759942

關注我們
  • 下載儀表站APP

  • Ybzhan手機版

  • Ybzhan公眾號

  • Ybzhan小程序

企業未開通此功能
詳詢客服 : 0571-87759942