當(dāng)前位置:首頁 > 測試測量 > 測試測量
[導(dǎo)讀] 1 系統(tǒng)總體設(shè)計  USB規(guī)范中將USB分為5個部分:控制器、控制器驅(qū)動程序、USB芯片驅(qū)動程序、USB設(shè)備以及針對不同USB設(shè)備的客戶驅(qū)動程序。根據(jù)設(shè)備對系統(tǒng)資源需求的不同,在USB規(guī)范中規(guī)定了四種不同的數(shù)

1 系統(tǒng)總體設(shè)計  


USB規(guī)范中將USB分為5個部分:控制器、控制器驅(qū)動程序、USB芯片驅(qū)動程序、USB設(shè)備以及針對不同USB設(shè)備的客戶驅(qū)動程序。根據(jù)設(shè)備對系統(tǒng)資源需求的不同,在USB規(guī)范中規(guī)定了四種不同的數(shù)據(jù)傳輸方式:等時傳輸方式(isochronous)、中斷傳輸方式(interrupt)、控制傳輸方式(control)和批(bulk)傳輸方式。這些傳輸方式各有特點,分別用于不同的場所。USB需要主機硬件、操作系統(tǒng)和外設(shè)三個方面的支持才能工作。目前,主板一般都采用支持USB功能的控制芯片組,而且也安裝了USB接口插座。根據(jù)USB規(guī)范,整個虛擬示波器系統(tǒng)的設(shè)計分為主機軟件部分和外插硬件部分(見圖1)。

本虛擬示波器的開發(fā)將三種實用儀器儀表的功能集于一體。

(1)雙通道寬帶示波器功能:波形實時顯示與運算,波形存儲打印,頻譜分析等。

(2)數(shù)字/表針雙顯高精度萬用表功能:電壓測量,電流測量,電阻測量等。

(3)高精度可自定義信號發(fā)生器功能:三角波發(fā)生,正弦波發(fā)生,方波發(fā)生,自定義波形發(fā)生等。


2 系統(tǒng)外插硬件設(shè)計


系統(tǒng)外插硬件設(shè)計結(jié)構(gòu)見圖2。


本系統(tǒng)的外插硬件中采用Philips公司的PDIUSBD12全速USB接口芯片組成USB接口單元。PDIUSBD12芯片詳細(xì)資料可查看Philips公司網(wǎng)站www.philips.com。模數(shù)轉(zhuǎn)換芯片采用MAX公司最新的AD芯片MAX108??刂茊卧捎肁T908515單片機作為控制器,控制整個硬件部分的協(xié)調(diào)工作。兩路被測信號可同時進入雙路AD單元,模數(shù)轉(zhuǎn)換后的數(shù)字信號經(jīng)過信號預(yù)處理單元,對信號作初步的處理并將信號轉(zhuǎn)變?yōu)楸阌诖鎯Φ臄?shù)據(jù)形式。此后,將數(shù)據(jù)送入高速緩存,等待USB接口單元逐步輸入主機。而系統(tǒng)輸出信號的路徑相反,最后由DA單元轉(zhuǎn)變?yōu)橛脩舳x輸出的模擬信號??刂茊卧刂艫D和DA轉(zhuǎn)換的啟動停止、信號預(yù)處理單元的處理動作、高速緩存的存取以及協(xié)助USB接口單元的輸入輸出。


3 USB驅(qū)動程序設(shè)計  


本USB驅(qū)動程序采用等時管道傳輸數(shù)據(jù),用控制管道來傳輸指令與信息。用等時管道可以實現(xiàn)主機和設(shè)備之間有規(guī)律的時間敏感性數(shù)據(jù)交換??偩€驅(qū)動程序?qū)⑹褂?0%的總線帶寬進行等時和中斷傳輸。  


打開一個USB管道,首先要知道這種USB設(shè)備的GUID和管道名稱,獲取句柄以后就可以使用ReadFile/WriteFile進行讀寫了?! ?/p>


USB驅(qū)動程序符合WDM(Windows驅(qū)動模型),本驅(qū)動程序采用微軟公司的DDK2000開發(fā),使用平臺為Windows2000。鑒于篇幅原因,此處僅提供USB驅(qū)動程序主入口例程的設(shè)計?!?/p>

WDM驅(qū)動程序的主入口例程為DriverEntry例程,I/O管理器將調(diào)用該例程。對于本W(wǎng)DM驅(qū)動程序的DriverEntry例程,其主要工作是把各種函數(shù)指針填入驅(qū)動程序?qū)ο?。這些指針為操作系統(tǒng)指明了驅(qū)動程序庫中各種子例程的位置。它們包括下面這些指針成員(驅(qū)動程序?qū)ο笾校骸 ?/p>

(1)DriverUnload指向驅(qū)動程序的清除例程。I/O管理器會在卸載驅(qū)動程序前調(diào)用該例程?! ?/p>

(2)DriverExtension→AddDevice指向驅(qū)動程序的AddDevice函數(shù)。PnP管理器將為每個硬件實例調(diào)用一次AddDevice例程?! ?/p>

(3)DriverStartIo驅(qū)動程序使用標(biāo)準(zhǔn)的IRP(interrupt request package,中斷請求包)排隊?! ?/p>

(4)MajorFunction驅(qū)動程序可能需要處理幾種類型的IRP,所以,應(yīng)該設(shè)置與那幾種IRP類型相對應(yīng)的指針元素,使它們指向相應(yīng)的派遣函數(shù)。根據(jù)虛擬儀器系統(tǒng)的實際要求,本驅(qū)動程序所要處理的主功能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。  


在主入口例程中,必須設(shè)置和這些IRP類型相對應(yīng)的指針元素,使它們指向相應(yīng)的派遣函數(shù)。


4 客戶服務(wù)軟件設(shè)計 

整個客戶服務(wù)軟件使用VC++編寫,分以下幾個主要模塊設(shè)計。


4.1 驅(qū)動層與應(yīng)用層通信模塊  


如果通信功能塊直接放在應(yīng)用程序主線程中實現(xiàn),那么,當(dāng)應(yīng)用程序與驅(qū)動程序進行數(shù)據(jù)通信時,主界面就會凍結(jié)。為了解決這個問題,我們直接創(chuàng)建一個子線程來單獨完成與驅(qū)動程序的通信任務(wù),讓主界面專心于響應(yīng)視窗界面的訊息。在子線程中通過調(diào)用Windows API函數(shù)來實現(xiàn)對USB設(shè)備進行IO操作。其中,DeviceIoControl()函數(shù)用于傳送設(shè)備配置信息;CreateFile()用于創(chuàng)建設(shè)備對象;WriteFile()和ReadFile()用于對USB設(shè)備讀寫數(shù)據(jù)。


4.2 控制面板模塊  


在客戶服務(wù)界面上我們創(chuàng)建了RUN、STOP、SINGLE、頻譜分析、LOAD和SAVE6個主控功能按鈕,來實現(xiàn)其主要控制功能。這一部分設(shè)計系統(tǒng)完成啟動、停止、單步、存儲和裝入數(shù)據(jù)文件等等控制功能。


4.3 波形實時顯示模塊  


對顯示窗口按用戶習(xí)慣進行定制,并且按控制面板的指定參數(shù)來顯示波形、刷新波形和對波形進行一定的運算。


4.4 FFT模塊  


利用快速傅里葉變換(FFT)進行頻譜分析。本軟件中頻譜分析采用按時間抽取FFT算法,然后將幅值頻譜分析和相位頻譜分析結(jié)果在用戶界面上以坐標(biāo)曲線形式顯示。4.5 其它模塊  


包括波形存取、打印、重放,以及數(shù)字/表針雙顯高精度萬用表和高精度可自定義信號發(fā)生器功能模塊。


5 結(jié)束語  


隨著USB2.0標(biāo)準(zhǔn)的提出,USB的應(yīng)用范圍越來越廣,已經(jīng)涉及到幾乎所有計算機外設(shè)。USB的特點為解決當(dāng)前虛擬儀器的一些問題提供了新思路。本文是將USB接口引入虛擬儀器、儀表系統(tǒng)的一次探索性研究。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉