版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
I本科畢業(yè)設(shè)計(jì)(論文)題目基于高速數(shù)據(jù)采集卡的虛擬示波器的設(shè)計(jì)使它可以在數(shù)據(jù)采集、分析和表達(dá)中的任意一個(gè)方面提升儀器的性能。以虛擬儀器為代表的新型儀器改變了傳統(tǒng)儀器的思想,它們充分利用了計(jì)算機(jī)強(qiáng)大的軟硬件資源,把計(jì)算機(jī)技術(shù)和測(cè)量技術(shù)緊密結(jié)合起來(lái),是融合了電子測(cè)量、信號(hào)處理、計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的新型測(cè)量?jī)x器,由于成本低、使用方便等優(yōu)點(diǎn)得到了廣泛的應(yīng)用。本文基于GaGe公司的高速數(shù)據(jù)采集卡CS82G和通用PC平臺(tái),使用VC++6.0編程工具,完成了一種快速虛擬示波器的設(shè)計(jì)。首先,本文介紹了虛擬儀器的研究背景和意義以及國(guó)內(nèi)外的一些研究進(jìn)展。對(duì)虛擬儀器總體進(jìn)行了概述,討論了虛擬儀器的概念、構(gòu)成、特點(diǎn)、發(fā)展,建立了虛擬儀器的基本框架。然后對(duì)虛擬示波器的重要組成部分一數(shù)據(jù)采集系統(tǒng)進(jìn)行了探討,同時(shí)對(duì)CS82G數(shù)據(jù)采集卡進(jìn)行了深入的研究,在此基礎(chǔ)上,進(jìn)行了虛擬示波器的系統(tǒng)設(shè)計(jì)。本文的重點(diǎn)是第五章虛擬示波器的具體實(shí)現(xiàn),這部分完成了虛擬示波器各模塊的詳細(xì)設(shè)計(jì),包括數(shù)據(jù)采集模塊、用戶(hù)界面模塊、頻譜分析模塊、數(shù)字濾波模塊、波形顯示模塊和參數(shù)計(jì)算模塊的設(shè)計(jì),并給出了設(shè)計(jì)和實(shí)驗(yàn)結(jié)果,還討論和實(shí)現(xiàn)了軟件設(shè)計(jì)中的關(guān)鍵技術(shù),最后進(jìn)行了系統(tǒng)性能分析。文章的最后進(jìn)行了課題的總結(jié)和展望。本文對(duì)相關(guān)高速、大容量數(shù)據(jù)采集系統(tǒng)和虛擬儀器的設(shè)計(jì)有重要的參考價(jià)值。關(guān)鍵詞:虛擬儀器虛擬示波器數(shù)據(jù)采集CS82TheinstrumentationindustryisudevelopmentofPCs,ThePCrevolutionhasequifideasoftraditionalinstrumentannew-styleinstrumentthatcombinesthetechnincludingtheresearchstatusofVIinChinaandforeigncountries.Then,tofVIaresummarizedincludingtheandthedevelopmentofVI,whichestablishedtheframeworkofVI.Aexistingproblemsarepointedoutaswellasthesummaryvaluetothedesignofcorrelativefast,large-capabilitydata-acquisitionsystemaKeywords:virtualins 1 2第二章虛擬儀器技術(shù) 4 42.2虛擬儀器的特點(diǎn) 5第三章基于數(shù)據(jù)采集卡的虛擬示波器的研究 63.1基于PC的數(shù)據(jù)采集系統(tǒng) 6 6 7 3.3.2系統(tǒng)的結(jié)構(gòu)和特點(diǎn) 8第四章虛擬示波器的方案設(shè)計(jì) 94.1硬件和軟件的選擇 94.1.1硬件的選擇 94.1.2軟件開(kāi)發(fā)環(huán)境的選擇 4.2軟件總體方案 第五章虛擬示波器系統(tǒng)的軟件具體實(shí)現(xiàn) 5.2數(shù)據(jù)采集模塊的設(shè)計(jì) 5.2.1數(shù)據(jù)采集的編程過(guò)程 5.2.2采集模塊的流程圖 5.3軟面板的設(shè)計(jì) 5.4頻譜分析模塊的設(shè)計(jì) 5.4.1設(shè)計(jì)結(jié)果 V5.4.2數(shù)字濾波模塊的設(shè)計(jì) 5.6波形顯示模塊的設(shè)計(jì) 5.6.1數(shù)據(jù)內(nèi)插技術(shù) 5.6.2波形顯示技術(shù) 5.6.3設(shè)計(jì)結(jié)果 第六章總結(jié)和展望 6.2展望 參考文獻(xiàn) 1第一章緒論1.1引言虛擬儀器是隨著計(jì)算機(jī)技術(shù)、電子測(cè)量技術(shù)和通信技術(shù)而發(fā)展起來(lái)的一種新型儀器,虛擬儀器的出現(xiàn)是測(cè)量?jī)x器領(lǐng)域的一個(gè)突破,從根本上更新了測(cè)量?jī)x器的概念。它是在以通用計(jì)算機(jī)為核心的硬件平臺(tái)上,由用戶(hù)設(shè)計(jì)定義,具有虛擬面板,測(cè)試功能由測(cè)試軟件實(shí)現(xiàn)的一種計(jì)算機(jī)儀器系統(tǒng)。虛擬儀器技術(shù)充分利用計(jì)算機(jī)系統(tǒng)強(qiáng)大的數(shù)據(jù)處理。能力,利用軟件完成數(shù)據(jù)的采集、控制、數(shù)據(jù)分析和處理以及測(cè)試結(jié)果的顯示等,通過(guò)軟、硬件的配合實(shí)現(xiàn)傳統(tǒng)儀器的各種功能,大大突破了傳統(tǒng)儀器在數(shù)據(jù)處理、顯示、傳送、存儲(chǔ)等方面的限制,使用戶(hù)可以方便地對(duì)儀器進(jìn)行維護(hù)、擴(kuò)展和升級(jí)。它的優(yōu)勢(shì)在于可由用定義自己的專(zhuān)用儀器系統(tǒng),且功能靈活,很容易構(gòu)建,所以應(yīng)用面極為廣泛。尤其在科研、開(kāi)發(fā)、測(cè)量、檢測(cè)、計(jì)量、測(cè)控等領(lǐng)域更是不可多得的好工具。虛擬儀器技術(shù)先進(jìn),十分符合國(guó)際上流行的“硬件軟件化”的發(fā)展趨勢(shì),因而常被稱(chēng)作“軟件儀器”。隨著計(jì)算機(jī)技術(shù)的廣泛應(yīng)用,傳統(tǒng)的儀器設(shè)備缺乏相應(yīng)的計(jì)算機(jī)接口,因而配合數(shù)據(jù)采集及數(shù)據(jù)而且,傳統(tǒng)儀器體積相對(duì)龐大,多種數(shù)據(jù)測(cè)量時(shí)常常感到捉襟見(jiàn)肘。我們常見(jiàn)到硬件工程師的工作臺(tái)上堆砌著紛亂的儀器,交錯(cuò)的線纜和繁多待測(cè)器件。然而在集成的虛擬測(cè)量系統(tǒng)中,我們見(jiàn)到的是整潔的桌面,條理的操作,不但使測(cè)量人員從繁復(fù)的儀器堆中解放出來(lái),而且還可實(shí)現(xiàn)自動(dòng)測(cè)量、自動(dòng)記錄、自動(dòng)數(shù)據(jù)處理。其方便之極固不必多言,而設(shè)備成本的大幅降低卻不可不提。一套完整的實(shí)驗(yàn)測(cè)量設(shè)備少則幾萬(wàn)元,多則幾十萬(wàn)元。在同等的性能條件下,相應(yīng)的虛擬儀器價(jià)格要低二分之一甚至更多。虛擬儀器強(qiáng)大的功能和價(jià)格優(yōu)勢(shì),使得它在儀器計(jì)量領(lǐng)域具有很強(qiáng)的生命力和十分廣闊的前景。1.2研究的背景和意義所謂虛擬儀器就是微機(jī)化的智能電子測(cè)量?jī)x器。虛擬儀器通過(guò)硬件功能模塊和專(zhuān)用軟件構(gòu)成一種良好的人機(jī)交互界面,用戶(hù)可以自定義測(cè)試功能以及使測(cè)量對(duì)象多樣化。虛擬儀器的外部接口是通過(guò)數(shù)據(jù)采集卡將信號(hào)數(shù)據(jù)采集后送入計(jì)算機(jī),各種復(fù)雜測(cè)試功能、數(shù)據(jù)分析和結(jié)果顯示則完全由計(jì)算機(jī)軟件完成。一臺(tái)性能優(yōu)良的虛擬儀器不僅可以實(shí)現(xiàn)傳統(tǒng)測(cè)量?jī)x器的大部分測(cè)量功能,在許多方面較傳統(tǒng)儀器有無(wú)法比擬的優(yōu)點(diǎn),如使用靈活方便、測(cè)試功能豐富、價(jià)格低廉、一機(jī)多用等,這些使得虛擬儀器成為未來(lái)電子測(cè)量?jī)x器發(fā)展的2一臺(tái)傳統(tǒng)儀器有3大功能:對(duì)被測(cè)信號(hào)的采集與控制,分析與處理,結(jié)果的表達(dá)與輸出。傳統(tǒng)儀器的這些功能都是以硬件(或固化的軟件)的形式存在的。虛擬儀器的特點(diǎn)就是將計(jì)算機(jī)技術(shù)和儀器技術(shù)有機(jī)結(jié)合,充分利用計(jì)算機(jī)技術(shù),用計(jì)算機(jī)的顯示器模擬各種儀器的控制面板,以多種形式表達(dá)輸出檢測(cè)結(jié)果;以計(jì)算機(jī)軟件實(shí)現(xiàn)各種模擬信號(hào)分析,處理,完成多種多樣的測(cè)試。在電子測(cè)量測(cè)試儀器中,示波器的使用范圍非常廣泛。傳統(tǒng)示波器包能比較單一。近年推出的數(shù)字存儲(chǔ)示波器,由于引入微處理器,極大地提高了測(cè)量準(zhǔn)確度,同時(shí)還具有較強(qiáng)的數(shù)字化處理功能,如FFT、信號(hào)平均和自動(dòng)測(cè)頻等。不過(guò),這種示波器在應(yīng)用上存在一些限制因素,例如價(jià)格昂貴,儀器功能和模式固定,不具備用戶(hù)對(duì)儀器進(jìn)行定義及編程的功能。本文采用基于計(jì)算機(jī)的虛擬技術(shù),設(shè)計(jì)出虛擬存儲(chǔ)示波器,模擬通用雙蹤示波器的面板操作和處理功能。使用個(gè)人計(jì)算機(jī)及其接口電路來(lái)采集現(xiàn)場(chǎng)和實(shí)驗(yàn)室信號(hào),并通過(guò)圖形用戶(hù)界面來(lái)模仿示波器的操作面板完成試驗(yàn)采集,調(diào)理,分析處理和顯示輸出,存儲(chǔ)記錄等功能。當(dāng)今,對(duì)低速的虛擬儀器的研究已經(jīng)比較多,而以GaGe公司的高速卡為數(shù)據(jù)采集設(shè)備的虛擬示波器的研究與設(shè)計(jì)還未見(jiàn)報(bào)道。本課題研究的虛擬示波器是一種重要的虛擬儀器,主要用于超高頻信號(hào)的采集、波形顯示和頻譜分析,在雷達(dá)信號(hào)處理和激光信號(hào)處理等領(lǐng)域有著廣泛的應(yīng)用。1.3本文內(nèi)容安排本文主要基于GaGe公司PCI接口的CompuScope82G高速數(shù)據(jù)采集卡和VisualC++6.0編程工具,完成了一種快速的虛擬示波器試驗(yàn)系統(tǒng)的設(shè)計(jì)。第一章為緒論,介紹了虛擬儀器的研究背景和意義以及國(guó)內(nèi)外的一些研究進(jìn)展;第二章為虛擬儀器總體概述,討論了虛擬儀器的概念、構(gòu)成、特點(diǎn)、發(fā)展,建立了虛擬儀器的基本框架。第三章為基于數(shù)據(jù)采集卡虛擬示波器的研究,主要包括對(duì)數(shù)據(jù)采集系統(tǒng)各組成部分進(jìn)行了探討。在這基礎(chǔ)上,給出了基于數(shù)據(jù)采集卡的虛擬示波器的結(jié)構(gòu)。第四章為虛擬示波器的方案設(shè)計(jì),選擇了示波器的硬件和示波器的軟件開(kāi)發(fā)環(huán)境,介紹了虛擬儀器軟件的設(shè)計(jì)方法,提出了系統(tǒng)軟件的總體設(shè)計(jì)方案。第五章為虛擬示波器的具體實(shí)現(xiàn),是本文的重點(diǎn),完成了虛擬示波器各模塊的詳細(xì)設(shè)計(jì),包括數(shù)據(jù)采集模塊、用戶(hù)界面模塊、數(shù)字濾波模塊和波形顯示模塊的設(shè)計(jì),并給出了設(shè)計(jì)結(jié)果,最后討論了軟件設(shè)計(jì)中的關(guān)鍵技術(shù)的實(shí)現(xiàn)。第六章為總結(jié)和展望,主要對(duì)本文的已做工作做了總結(jié),并對(duì)虛擬儀器的發(fā)展3前景作出了展望。4第二章虛擬儀器技術(shù)2.1虛擬儀器的基本概念虛擬儀器(VirtualInstruments,縮寫(xiě)為VI)是指以通用計(jì)算機(jī)作為系統(tǒng)控制器、由軟件來(lái)實(shí)現(xiàn)人機(jī)交互和大部分儀器功能的一種計(jì)算機(jī)儀器系統(tǒng)。用戶(hù)可以通過(guò)友好的圖形界面(通常叫做虛擬前面板)操作這臺(tái)計(jì)算機(jī),就象在操作自己定制的一臺(tái)傳統(tǒng)儀器一樣。虛擬儀器的概念是對(duì)傳統(tǒng)儀器概念的重大突破,它的出現(xiàn)使測(cè)量?jī)x器與個(gè)人計(jì)算機(jī)的界限所有的測(cè)量、控制儀器的功能可由數(shù)據(jù)采集、數(shù)據(jù)分析、結(jié)果輸出與顯示三大部分組成。在這三大功能中,數(shù)據(jù)分析、算法實(shí)現(xiàn)和結(jié)果顯示完全由基于計(jì)算機(jī)的軟件完成,只要另外提供一定的數(shù)據(jù)采集硬件、輸出端口和驅(qū)動(dòng)設(shè)備,就可構(gòu)成由計(jì)算機(jī)組成的測(cè)量、控制儀器。由此可以看到虛擬儀器與傳統(tǒng)儀器的基本區(qū)別;傳統(tǒng)儀器的這些功能都是以硬件或者固化的軟件的形式存在的,而虛擬儀器的功能則是通過(guò)軟件實(shí)現(xiàn)對(duì)數(shù)據(jù)的分析處理、表達(dá)以及圖形化用戶(hù)接口(如圖2-1所示)。插入式數(shù)據(jù)采集卡數(shù)字信號(hào)處理數(shù)據(jù)表達(dá)Networking文件1/0圖2-1虛擬儀器的內(nèi)部功能劃分測(cè)試應(yīng)用程序?qū)⒖蛇x硬件(如GPIB、VXI、PXI、RS—232、DAQ板)和可重復(fù)用原碼庫(kù)函數(shù)等軟件結(jié)合在一起,實(shí)現(xiàn)儀器模塊間的通訊、定時(shí)與觸發(fā)。原代碼庫(kù)函數(shù)為用戶(hù)構(gòu)建自己的VI關(guān)系系統(tǒng)提供了基本的軟件模塊。由于VI的模塊化、開(kāi)放性和靈活性,以及軟件是關(guān)鍵的特點(diǎn),當(dāng)用戶(hù)的測(cè)試、控制要求變化時(shí),可以方便的向用戶(hù)自己來(lái)增減硬、軟件模塊,或重新配置現(xiàn)有系統(tǒng)以滿足新的測(cè)試、控制要求。這樣,當(dāng)用戶(hù)從一個(gè)項(xiàng)目轉(zhuǎn)向另一個(gè)項(xiàng)目時(shí),就能簡(jiǎn)單地構(gòu)造出新的VI系統(tǒng)而不丟失已有的硬件和軟件資源。52.2虛擬儀器的特點(diǎn)虛擬儀器是以裝有測(cè)量應(yīng)用軟件的個(gè)人電腦為核心,具有虛擬的儀器操作面板,足夠的硬件支持,有一定通信能力的測(cè)量裝置。它和傳統(tǒng)儀器相比具有以下的特點(diǎn):(1)虛擬儀器的關(guān)鍵環(huán)節(jié)是軟件。虛擬儀器系統(tǒng)中除PC機(jī)外的硬件主要用于數(shù)據(jù)的采集、輸入,至于系統(tǒng)怎樣處理數(shù)據(jù),具有怎樣的面板和數(shù)據(jù)輸出的形式等都是由軟件決定的。虛擬儀器的好壞,很大程度上取決于軟件水平的高低。(2)開(kāi)發(fā)與維護(hù)的費(fèi)用低,系統(tǒng)組建時(shí)間短。當(dāng)需要增加新的測(cè)量功能,只需要增加軟件模塊或通用的硬件模塊,縮短了系統(tǒng)的更新時(shí)間,而且有利于系統(tǒng)的擴(kuò)展。應(yīng)用軟件不像傳統(tǒng)儀器的硬件那樣存在元器件老化的問(wèn)題,大大節(jié)省了維護(hù)的費(fèi)用,延長(zhǎng)設(shè)備的使用壽命。傳統(tǒng)儀器測(cè)量個(gè)體之間差異大,而虛擬儀器的應(yīng)用軟件在不同的PC機(jī)上具有相同的運(yùn)行效果,在軟件運(yùn)行這方面不存在個(gè)體的差異。因?yàn)閭鹘y(tǒng)儀器功能單一,所以對(duì)一個(gè)信號(hào)完成多個(gè)參數(shù)的測(cè)量需要多臺(tái)儀器,使測(cè)量受連接方式、電纜度等因素的影響。虛擬儀器只需對(duì)信號(hào)進(jìn)行一次采樣,多個(gè)軟件模塊對(duì)同一組數(shù)據(jù)進(jìn)行不同的處理就能實(shí)現(xiàn)多個(gè)參數(shù)的同時(shí)測(cè)量。(5)具有強(qiáng)大的數(shù)據(jù)處理功能。計(jì)算機(jī)運(yùn)算速度的大大提高和數(shù)字信號(hào)處理理論的豐富和完善,使虛擬儀器能夠快速準(zhǔn)確的處理數(shù)據(jù)。6第三章基于數(shù)據(jù)采集卡的虛擬示波器的研究基于數(shù)據(jù)采集系統(tǒng)(采集卡)的虛擬示波器是虛擬儀器的一種重要的構(gòu)成方式,其中的核心設(shè)備數(shù)據(jù)采集卡應(yīng)具有高速采樣、多種觸發(fā)、存儲(chǔ)數(shù)據(jù)以及與計(jì)算機(jī)之間交換數(shù)據(jù)的功能,有的數(shù)據(jù)采集卡還具有系統(tǒng)定時(shí)和系統(tǒng)同步等功能,它是外界電信號(hào)與計(jì)算機(jī)之間的橋梁,其性能直接決定著數(shù)據(jù)采集的精度和速度,影響著虛擬示波器的整體性能。3.1基于PC的數(shù)據(jù)采集系統(tǒng)基于PC機(jī)的數(shù)據(jù)采集系統(tǒng)(DataAcQuisition,DAQ)大致有兩種,一種是采用插入PC控制槽中的插卡形式實(shí)現(xiàn)數(shù)據(jù)采集并將數(shù)據(jù)直接通過(guò)PC總線傳入計(jì)算機(jī)內(nèi)存中;另外一種采用遠(yuǎn)端數(shù)據(jù)采集硬件完成數(shù)據(jù)采集,然后通過(guò)串行、并行方式或者USB接口將數(shù)據(jù)傳回計(jì)算機(jī)。本課題采用的是第一種方式構(gòu)成的數(shù)據(jù)采集系統(tǒng),以便進(jìn)行高速、大容量的數(shù)據(jù)采集和傳輸。基于計(jì)算機(jī)的數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)如圖3-1所示,該系統(tǒng)由傳感器、信號(hào)調(diào)理、數(shù)據(jù)采集(DAQ)硬件、個(gè)人計(jì)算機(jī)、軟件等基本要素構(gòu)成。信號(hào)調(diào)理傳感器信號(hào)調(diào)理傳感器軟件數(shù)據(jù)軟件常用的數(shù)據(jù)采集硬件的功能包括模擬量輸入、模擬量輸出、數(shù)字量輸出、定時(shí)I/0和觸發(fā)等。在數(shù)據(jù)采集系統(tǒng)中,軟件起著將DAQ硬件和PC轉(zhuǎn)換成一個(gè)完整的數(shù)據(jù)采集、分析和顯示系統(tǒng)的功能。軟件主要有驅(qū)動(dòng)器軟件和應(yīng)用軟件兩部分組成。3.2超高速數(shù)據(jù)采集卡CS82G本次設(shè)計(jì)中采用的CS82G是一種超高速的基于PC的數(shù)據(jù)采集卡,CS82G的硬件可以以極高的采樣率和多通道采樣模擬信號(hào)并緩存到卡上的存儲(chǔ)器。CS82G基于PC的一個(gè)主要優(yōu)點(diǎn)是它能夠以極高的速率把數(shù)據(jù)傳輸?shù)絇C的RAM中,數(shù)據(jù)可以從RAM中很容易地進(jìn)行分析、存儲(chǔ)和顯示。CS82G可以直接插在PC的PCI插槽里,因此不需要輔助的數(shù)據(jù)接口,比如GPIB接口,這也可以解釋它的高速據(jù)傳輸率,圖3-2展示CS82G的結(jié)構(gòu)框圖。CS82G的硬件主要由前置濾波器、衰減器、可程控模擬放大電路、A/D轉(zhuǎn)換電路、7能,其結(jié)構(gòu)框圖如圖3-2所示。增益可調(diào)放大器增益可調(diào)放大器計(jì)數(shù)器-觸發(fā)器振蕩器數(shù)據(jù)緩存控制器ADC-地址線濾波ETETPCI總線FF圖3-2CS82G的系統(tǒng)框圖3.3基于數(shù)據(jù)采集卡的虛擬示波器的原理和結(jié)構(gòu)3.3.1虛擬示波器的工作原理83.3.2系統(tǒng)的結(jié)構(gòu)和特點(diǎn)基于數(shù)據(jù)采集卡的虛擬示波器由支持軟件、數(shù)據(jù)采集卡及PC機(jī)組成,其結(jié)構(gòu)如圖3-3所示。數(shù)據(jù)采集卡數(shù)據(jù)采集卡計(jì)算機(jī)計(jì)算機(jī)軟件圖3-3基于數(shù)據(jù)采集卡的虛擬示波器的結(jié)構(gòu)虛擬示波器和傳統(tǒng)示波器的根本區(qū)別在于:(1)傳統(tǒng)示波器完全用硬件實(shí)現(xiàn),功能和模塊固定,其功能的自動(dòng)測(cè)試系統(tǒng),功能及模式由用戶(hù)自己定義。(2)傳統(tǒng)示波器結(jié)構(gòu)復(fù)雜,維護(hù)困難,對(duì)工作現(xiàn)場(chǎng)條件有較高的要求。器結(jié)構(gòu)簡(jiǎn)單,軟硬件維護(hù)都很方便。9第四章虛擬示波器的方案設(shè)計(jì)4.1硬件和軟件的選擇虛擬示波器主要由儀器硬件和功能軟件兩部分組成。以DAQ方式構(gòu)成的虛擬示波器的硬件主要由計(jì)算機(jī)和模塊化硬件組成,計(jì)算機(jī)通常是個(gè)人計(jì)算機(jī),也可以是任何通用計(jì)算機(jī)。模塊化硬件主要是數(shù)據(jù)采集卡。本課題設(shè)計(jì)的虛擬示波器主要是由一塊PCI總線的高速數(shù)據(jù)采集卡、PC機(jī)和用VC++6.0開(kāi)發(fā)的功能模塊軟件組成。4.1.1硬件的選擇計(jì)算機(jī)和數(shù)據(jù)采集卡組成了虛擬示波器的硬件平臺(tái)。數(shù)據(jù)采集卡是虛擬示波器的重要及計(jì)算機(jī)的內(nèi)存影響著示波器處理數(shù)據(jù)的速度;計(jì)算機(jī)的硬盤(pán)決定著它的存儲(chǔ)數(shù)據(jù)的容量。數(shù)據(jù)采集系統(tǒng)的任務(wù)是采集原始的模擬信號(hào),把它們轉(zhuǎn)換為計(jì)算機(jī)可以處理的數(shù)字信號(hào),其主要指標(biāo)有采樣精度和采樣速度。采樣精度主要由A/D轉(zhuǎn)換器的位數(shù)決定,而采樣速度由A/D轉(zhuǎn)換器最高工作頻率決定,然而,兩個(gè)指標(biāo)是相互制約的。數(shù)據(jù)采集卡的選擇主要與采樣率、采樣通道數(shù)和測(cè)量精度有關(guān)。根據(jù)第三章的分析,采樣率是指模擬量輸入通道在單位時(shí)間內(nèi)能夠采集的數(shù)據(jù)點(diǎn)數(shù),一般用Hz即采樣頻率來(lái)表示,也有的用S/s表示。采樣頻率高,就能在一定時(shí)間獲得更多的原始信號(hào)信息。為了再現(xiàn)原始信號(hào),必須有足夠高的采樣頻率。如果信號(hào)變化比采集卡的數(shù)字化要快,或者采樣太慢,就會(huì)產(chǎn)生波形失真。根據(jù)奈奎斯特理論,采樣頻率至少是被測(cè)信號(hào)最高頻率的兩倍,才不至于產(chǎn)生波形失真。即應(yīng)選用2GHz的數(shù)據(jù)采集卡才可以完成最高頻率為1GHz的采樣通道數(shù)是系統(tǒng)可以同時(shí)進(jìn)行采樣的信號(hào)通道數(shù),在選取采集卡時(shí)需要注意以下幾點(diǎn):采樣通道數(shù)是否滿足系統(tǒng)要求;在需要差分輸入測(cè)量時(shí),板上有無(wú)差分輸入以及差分輸入的通道數(shù);在測(cè)量多通道時(shí),應(yīng)注意采集卡能否擴(kuò)展以及最多的可擴(kuò)展的通道數(shù)。4.1.2軟件開(kāi)發(fā)環(huán)境的選擇在給定計(jì)算機(jī)和必要儀器硬件之后,構(gòu)成虛擬儀器的關(guān)鍵在于軟件。虛擬儀器系統(tǒng)的一個(gè)重要革新就是儀器硬件軟件化,用軟件實(shí)現(xiàn)硬件功能。虛擬儀器系統(tǒng)的核心技術(shù)是軟件技術(shù),一個(gè)現(xiàn)代化測(cè)控系統(tǒng)性能的優(yōu)劣很大程度上取決于軟件平臺(tái)的選擇與應(yīng)用軟件的設(shè)計(jì)。因此正確選擇軟件開(kāi)發(fā)環(huán)境對(duì)于程序的開(kāi)發(fā)和設(shè)計(jì)起著重要的作用。目前,能夠用于虛擬儀器系統(tǒng)開(kāi)發(fā)、比較成熟的軟件開(kāi)發(fā)平臺(tái)主要有兩大類(lèi):一類(lèi)是通用的可視化軟件編程環(huán)境,主要有Microsoft公司的VisualC++和VisualBasic、Insprise公司的Delphi和C++Builder等;另一類(lèi)是一些公司推出的專(zhuān)用于虛擬儀器開(kāi)發(fā)的軟件編程環(huán)境,主要有Agilent公司(由原HP公司分離出來(lái)的一個(gè)公司)的圖形化在以上這些的軟件開(kāi)發(fā)環(huán)境中,面向儀器的交互式C語(yǔ)言開(kāi)發(fā)平臺(tái)LabWindows/CVI具有編程方法簡(jiǎn)單直觀、提供程序代碼自動(dòng)生成功能及有大量符合VPP規(guī)范的儀器驅(qū)動(dòng)程序源代碼可供參考和使用等優(yōu)點(diǎn),是國(guó)內(nèi)虛擬儀器系統(tǒng)集成商使用較多的編程開(kāi)發(fā)環(huán)境。AgilentVEE和LabVIEW則是一種圖形化編程環(huán)境或稱(chēng)為G語(yǔ)言編程環(huán)境,采用了不同于文本語(yǔ)言的流程圖編程方法,十分適合對(duì)軟件編程了解較少的工程技術(shù)人員使用。VisualC++是一種功能齊全的面向?qū)ο蟮拈_(kāi)發(fā)工具,可直接對(duì)硬件操作,支持多任務(wù)多線程。VisualC++不僅是C++語(yǔ)言的集成開(kāi)發(fā)環(huán)境,而且與Win32緊密相連,所以利用VisualC++開(kāi)發(fā)系統(tǒng)可以完成各種各樣應(yīng)用程序的開(kāi)發(fā),從底層軟件直到上層面向用戶(hù)的軟件都可以用VisualC++來(lái)開(kāi)發(fā)完成;而且VisualC++強(qiáng)大的調(diào)試功能也為大型復(fù)雜軟件的開(kāi)發(fā)提供了有效的排錯(cuò)手段。隨著軟件版本的不斷升級(jí),其功能也越來(lái)越強(qiáng)大,幾乎VisualC++可以說(shuō)是匯集Microsoft公司技術(shù)精華的主流產(chǎn)品。它最重要的特征是提供了MFC類(lèi)庫(kù),封裝了WindowsAPI函數(shù),并建立了應(yīng)用程序框架,使開(kāi)發(fā)人員可以將主要精力集中在所要解決的具體問(wèn)題上,尤其是利用VisualC++的AppWizard功能生成的SDI或MDI應(yīng)用程序,進(jìn)行少量修改后,由于VisualC++的面向?qū)ο蟪绦蛟O(shè)計(jì)的特性十分適在本設(shè)計(jì)中所使用的數(shù)據(jù)采集卡的驅(qū)動(dòng)程序是由C語(yǔ)4.2軟件總體方案虛擬示波器是采用基于計(jì)算機(jī)的虛擬技術(shù),用以模擬傳統(tǒng)示波器的面板操作和處理功能,也就是使用個(gè)人計(jì)算機(jī)及其接口電路來(lái)采集現(xiàn)場(chǎng)或?qū)嶒?yàn)室信號(hào),并通過(guò)軟件的圖形用戶(hù)界面(GUI)來(lái)模仿示波器的操作面板,來(lái)完成信號(hào)的采集、分析處理和顯示輸出等功本課題設(shè)計(jì)的虛擬示波器,是在高速數(shù)據(jù)采集卡的支持下,配備一定功能的軟件,完成波形的存儲(chǔ)、分析、顯示等功能。傳統(tǒng)的測(cè)試儀器由信號(hào)采集、信號(hào)處理和結(jié)果顯示三大部分組成,這三部分均由硬件構(gòu)成。虛擬示波器也是由這三大部分組成,但是除了數(shù)據(jù)本次設(shè)計(jì)利用VisualC++6.0作為開(kāi)發(fā)工具,采用了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,在Windows2000下進(jìn)行。軟件采用模塊化設(shè)計(jì),其總體框圖如圖4-1所示。從圖4-1可以看出軟件部分的總體框圖以及數(shù)據(jù)流、控制流的流向。其中主控模塊相當(dāng)于一個(gè)任務(wù)調(diào)度中心。當(dāng)軟件開(kāi)始運(yùn)行時(shí),首先進(jìn)入主控模塊,然后啟動(dòng)數(shù)據(jù)采集線程和數(shù)據(jù)處理線程,于是數(shù)據(jù)采集模塊和數(shù)據(jù)處理模塊開(kāi)始工作直至用戶(hù)停止系統(tǒng)工作。數(shù)據(jù)流從數(shù)據(jù)采集模塊開(kāi)始,分別流向數(shù)據(jù)存儲(chǔ)模塊和數(shù)據(jù)處理模塊,數(shù)據(jù)存儲(chǔ)模塊負(fù)責(zé)把用戶(hù)感興趣的數(shù)據(jù)存人硬盤(pán),而數(shù)據(jù)處理模塊負(fù)責(zé)數(shù)據(jù)的實(shí)時(shí)顯示、數(shù)字濾波、頻譜分析和波形的參數(shù)計(jì)算。當(dāng)用戶(hù)需要查詢(xún)歷史信號(hào)時(shí),可以啟動(dòng)歷史查詢(xún)模塊,然后把查詢(xún)到的數(shù)據(jù)送往歷史主控模塊歷史查詢(xún)模塊曲線打印模塊頻譜分析模塊數(shù)字濾波模塊實(shí)時(shí)顯示示模塊數(shù)據(jù)查詢(xún)曲線顯示模塊幫助文件模塊數(shù)據(jù)處理模塊參數(shù)計(jì)算模塊圖4-1軟件系統(tǒng)總體框圖開(kāi)始開(kāi)始主程序是否查看歷史數(shù)據(jù)歷史曲線顯示打印模塊消息循環(huán)數(shù)據(jù)選擇數(shù)據(jù)區(qū)間存儲(chǔ)數(shù)據(jù)啟動(dòng)采樣數(shù)據(jù)是否收到選擇處理種類(lèi)圖4-2軟件系統(tǒng)總體流程圖第五章虛擬示波器系統(tǒng)的軟件具體實(shí)現(xiàn)5.1虛擬示波器的系統(tǒng)軟件功能框圖軟件采用模塊化設(shè)計(jì),在功能上劃分為多個(gè)模塊,分別為數(shù)據(jù)采集模塊、軟面板模塊 (用戶(hù)界面模塊)、數(shù)據(jù)處理模塊、數(shù)據(jù)存儲(chǔ)模塊和幫助文件模塊。其中數(shù)據(jù)處理模塊又劃分為頻譜分析模塊、數(shù)字濾波模塊、參數(shù)計(jì)算模塊和波形顯示模塊。各個(gè)模塊之間的聯(lián)系如圖5-1所示。由于篇幅關(guān)系,本文中只給出了重要模塊的設(shè)計(jì)。5.2數(shù)據(jù)采集模塊的設(shè)計(jì)數(shù)據(jù)采集模塊是最為關(guān)鍵的一個(gè)程序模塊,這個(gè)模塊中應(yīng)用程序會(huì)通過(guò)采集卡的驅(qū)動(dòng)程序和硬件進(jìn)行通信,要發(fā)出各種控制字、參量字到儀器中去,同時(shí)又要對(duì)硬件的工作狀態(tài)進(jìn)行判斷和處理,然后讀取采樣值。如果把這個(gè)模塊程序在主線程中實(shí)現(xiàn),那么,當(dāng)應(yīng)用程序與驅(qū)動(dòng)程序進(jìn)行數(shù)據(jù)通信時(shí),主界面就會(huì)凍結(jié)。為了解決這個(gè)問(wèn)題,本文直接創(chuàng)建一個(gè)子線程來(lái)單獨(dú)完成與驅(qū)動(dòng)程序的通信任務(wù),讓主界面專(zhuān)心于響應(yīng)視窗界面的信息。在主線程中通過(guò)調(diào)用StartCapture()函數(shù)啟動(dòng)數(shù)據(jù)采集子線程進(jìn)行數(shù)據(jù)采集。5.2.1數(shù)據(jù)采集的編程過(guò)程(1)初始化采集卡的驅(qū)動(dòng)程序和硬件文件來(lái)配置內(nèi)存區(qū)域和I/0地址,二是用戶(hù)進(jìn)行的采集卡驅(qū)動(dòng)初始化,選擇(打開(kāi)相應(yīng)的)采集卡,讀取配置文件等。驅(qū)動(dòng)程序的初始化也可以直接調(diào)用InitBoard()函數(shù)或?qū)Υ撕瘮?shù)進(jìn)行適當(dāng)?shù)男薷暮笳{(diào)用(該函數(shù)的源代碼在app_supp.c文件中)。(2)設(shè)置相關(guān)參數(shù)準(zhǔn)備進(jìn)行數(shù)據(jù)采集該采集卡的所有的參數(shù)都是通過(guò)軟件進(jìn)行設(shè)置的,驅(qū)動(dòng)程序中提供了一些數(shù)據(jù)結(jié)構(gòu),通道,多通道),采樣率、輸入電壓的范圍、輸入阻抗及耦合方式、觸發(fā)源、上升沿、下降沿觸發(fā)、觸發(fā)電平、采樣深度(采樣點(diǎn)數(shù)),所有這些參數(shù)設(shè)置被綜合到一個(gè)函數(shù)中:SetBoard();對(duì)此函數(shù)進(jìn)行適當(dāng)?shù)男薷?,即可滿足采集的要求。(3)開(kāi)始采集數(shù)據(jù)調(diào)用gage_start_capture()函數(shù)即開(kāi)始采集數(shù)據(jù),如調(diào)用時(shí)傳給該函數(shù)的參數(shù)為非零值,且觸發(fā)條件設(shè)置為軟件觸發(fā),則調(diào)用此函數(shù)后立即開(kāi)始采集數(shù)據(jù),否則就等待至觸發(fā)條件滿足時(shí)開(kāi)始采集數(shù)據(jù)。當(dāng)計(jì)算機(jī)上只有一塊GaGe公司的采集卡時(shí),可以用另外兩個(gè)函數(shù)來(lái)代替gage_start_capture();即順序調(diào)用gage_init_clock()和gage_get_data();執(zhí)行這兩個(gè)函數(shù)的速度比執(zhí)行g(shù)age_start_capture()要快許多,因?yàn)間age_start_capture()要做一些額外的工作以確保多卡同時(shí)有效地工作。(4)檢測(cè)數(shù)據(jù)是否采集結(jié)束gage_abort_capture()。gage_triggered()是用來(lái)檢測(cè)采集卡是否已經(jīng)觸發(fā),如果沒(méi)有觸發(fā),則在采集卡的RAM上沒(méi)有有效數(shù)據(jù)。gage_busy()則是用來(lái)判正在采集數(shù)據(jù)時(shí),是不能讀取采集卡上的RAM的(該卡上的RAM是單端口的)??梢杂胓age_force_capture()強(qiáng)制觸發(fā)一次,或者用gage_abort_capture()結(jié)束這一次數(shù)據(jù)采(5)傳輸數(shù)據(jù)從采集卡RAM至計(jì)算機(jī)的內(nèi)存gage_transfer_buffer_3();使用它時(shí)需要傳遞的參數(shù)為開(kāi)始地址和要傳送的數(shù)據(jù)量。{/*校驗(yàn)當(dāng)前采集卡的結(jié)構(gòu)*/gage_start_capture((int16)/*計(jì)算出起始地址、觸發(fā)地址、結(jié)束地址*/gage_calculate_addresses(GAGE_CHAN_A,board.[board.srindex].sr_calc/把采集卡上的數(shù)據(jù)傳輸?shù)接?jì)算機(jī)內(nèi)存*/}5.2.2采集模塊的流程圖采集模塊的流程圖如圖5-2所示。5.3軟面板的設(shè)計(jì)類(lèi)為CscrollView,用于顯示波形;還有兩個(gè)視圖基類(lèi)為CformView,一個(gè)用于動(dòng)態(tài)顯示采集數(shù)據(jù)的特征參數(shù),另一個(gè)用于對(duì)示波器進(jìn)行操作。整個(gè)軟件的主界面設(shè)計(jì)如圖5-3所(1)在框架窗口類(lèi)中聲明一個(gè)CSplitterWnd類(lèi)對(duì)象,對(duì)MDI應(yīng)用程序,框架窗口類(lèi)為CChildFrame類(lèi);對(duì)SDI應(yīng)用程序,框架窗口類(lèi)為CMainFrame類(lèi)。CSplitterWnd類(lèi)是(2)在框架窗口類(lèi)的OnCreateClient()函數(shù)中創(chuàng)建分割條窗口。(3)為分割條窗口的每個(gè)子窗口創(chuàng)建視圖。示波器主界面分為三個(gè)功能模塊,波形顯示模塊,參數(shù)顯示模塊和示波器操作模塊。在波形顯示模塊中,可以同時(shí)動(dòng)態(tài)顯示兩個(gè)通道的波形。在參數(shù)顯示模塊中,可以動(dòng)態(tài)顯示兩個(gè)通道的參數(shù),主要有周期、最大值、有效值、功率和頻率,當(dāng)然周期和頻率是針對(duì)周期信號(hào)來(lái)說(shuō)的。在示波器操作模塊中,又可以分為兩個(gè)部分,分別是系統(tǒng)控制和通道控制。系統(tǒng)控制主要是對(duì)采樣頻率、觸發(fā)源、觸發(fā)電平、采樣深度的控制;通道控制主要實(shí)現(xiàn)兩個(gè)通道參數(shù)的設(shè)置和波形顯示的控制。通道參數(shù)主要有輸入電壓的范圍、單/雙通道選擇、輸入阻抗和交直流耦合;顯示控制包括時(shí)基控制、波形縮放和單/雙通道顯示選擇。5.4頻譜分析模塊的設(shè)計(jì)本軟件利用快速傅里葉變換(FFT)進(jìn)行頻譜分析。頻譜分析采用按時(shí)間抽取FFT算法,然后將幅值頻譜分析結(jié)果在用戶(hù)界面上以坐標(biāo)曲線形式顯示。進(jìn)行FFT時(shí)可以選擇點(diǎn)數(shù),有1024、2048、4096三種選擇,如果點(diǎn)數(shù)不夠,程序自動(dòng)補(bǔ)零。初始化驅(qū)動(dòng)器和硬件分配存儲(chǔ)空間開(kāi)始采集N觸發(fā)Y超時(shí)Y強(qiáng)迫采集Y忙超時(shí)Y放棄采集分析,處理數(shù)據(jù)傳輸數(shù)據(jù)N圖5-2數(shù)據(jù)采集程序流程圖日值0T87棋oMede數(shù)期天有平項(xiàng)oa5-3虛擬示波器的主界面由于X?(k)和X?(k)均為N/2為周期,且Wk+(N/2)=-W,所以X(k)又可表示為X(k)=X?(k)+W*X?(k).這樣,就將N點(diǎn)DFT分解為兩個(gè)N/2點(diǎn)的DFT和式5-1以及5-2的運(yùn)算。依次類(lèi)推,經(jīng)過(guò)M-1次分解,最后將N點(diǎn)DFT分解成N/2個(gè)2點(diǎn)DFT.5.4.1設(shè)計(jì)結(jié)果頻譜顯示模塊主要完成對(duì)不同通道信號(hào)頻譜的顯示,它由參數(shù)設(shè)置對(duì)話框和頻譜顯示對(duì)話框組成。參數(shù)設(shè)置對(duì)話框主要完成通道和采樣點(diǎn)數(shù)的選擇,如圖5-5所示。開(kāi)始開(kāi)始倒序輸出結(jié)束圖5-4DIT-FET運(yùn)算和程序框圖圖5-6鋸齒波的頻譜圖5.4.2數(shù)字濾波模塊的設(shè)計(jì)在虛擬示波器中,對(duì)被測(cè)信號(hào)背景噪聲干擾的抑制是非常重要的一個(gè)任務(wù),一般情況下,采用數(shù)字濾波可以較好地清除干擾。濾波器的設(shè)計(jì)采用了經(jīng)典的設(shè)計(jì)方法,首先根據(jù)指標(biāo)設(shè)計(jì)出巴特沃斯濾波器,然后利用雙線性變換法設(shè)計(jì)數(shù)字低通濾波器,這部分的內(nèi)容在一般的數(shù)字信號(hào)處理著作中都有詳盡的介紹。數(shù)字濾波模塊主要完成對(duì)不同通道的濾波和濾波前后波形的顯示,圖5-8為濾波器的控制對(duì)話框,它主要完成通道的選擇、濾波器類(lèi)型的選擇和一些參數(shù)的輸入。濾波前后波形的顯示仍在主界面中的波形顯示區(qū)進(jìn)行,圖5-9為鋸齒波通過(guò)低通濾波器,其中下面的波形為輸入的鋸齒波,上面的波形為鋸齒波濾波后的波形。圖5-8濾波器的控制對(duì)話框圖5-9鋸齒波通過(guò)低通濾波器后的波形5.6波形顯示模塊的設(shè)計(jì)5.6.1數(shù)據(jù)內(nèi)插技術(shù)要想觀察采集好的波形,就必須采用某種方式將采集好的數(shù)據(jù)顯示出來(lái),這就要用到數(shù)據(jù)內(nèi)插技術(shù)。選擇不同的內(nèi)插技術(shù)會(huì)對(duì)存儲(chǔ)帶寬帶來(lái)不同的影響。常用的內(nèi)插技術(shù)有:直接點(diǎn)顯示、矢量?jī)?nèi)插和正弦內(nèi)插。(1)直接點(diǎn)顯示直接點(diǎn)顯示是在顯示器上直接按點(diǎn)顯示,顯示效果較為直觀,但該方式也存在著嚴(yán)重的不足。當(dāng)采樣點(diǎn)較少時(shí),觀察者會(huì)把相鄰的兩個(gè)點(diǎn)連起來(lái),隨著信號(hào)頻率的增加,很可能得出錯(cuò)誤的結(jié)果。因此,要得到正確的結(jié)果就必須采集更多的點(diǎn),但是太多的點(diǎn)反而會(huì)影響觀察結(jié)果。一般情況下,每個(gè)周期要求20~25個(gè)點(diǎn)。(2)矢量?jī)?nèi)插顯示矢量?jī)?nèi)插是在采集點(diǎn)之間采用直線擬合方式畫(huà)線顯示的方法。它可以消除視覺(jué)上混淆,矢量越短效果就越好。對(duì)正弦信號(hào)而言,如果每周期只有兩個(gè)采樣點(diǎn),那么矢量?jī)?nèi)插就沒(méi)有什么效果。一般當(dāng)采樣點(diǎn)增加到10個(gè)以上時(shí),才能得到較為準(zhǔn)確的正弦波。因此,采用矢量?jī)?nèi)插的方法,可以將有效存儲(chǔ)帶寬提高兩倍以上。矢量?jī)?nèi)插法適合于顯示脈沖和(3)正弦內(nèi)插顯示正弦內(nèi)插法是用sin(x)/x函數(shù)曲線將各采樣點(diǎn)連接起來(lái)。正弦內(nèi)插器基本上可看作是理想的矩形濾波器,它與矢量法相比不但可以產(chǎn)生精確的波形,也可以得到較高分辨率正弦內(nèi)插法分兩步來(lái)完成。首先,在每個(gè)己采樣點(diǎn)之后插入L-1個(gè)零值,這時(shí)產(chǎn)生的新序列的奈奎斯特頻率已經(jīng)提高了L倍,然后我們就可以通過(guò)適當(dāng)?shù)臄?shù)字濾波器來(lái)獲取原我們可以采用有限長(zhǎng)脈沖響應(yīng)(FIR)數(shù)字濾波器來(lái)近似該理想濾波器。因此,正弦內(nèi)插法本質(zhì)上是一個(gè)線性濾波器。這種方法對(duì)于顯示正弦波特別有效,它一般只需每個(gè)周期有2.5個(gè)采樣點(diǎn)。當(dāng)脈沖信號(hào)的上升與下降時(shí)間大于采樣周期的1.7倍時(shí),正弦內(nèi)插法對(duì)脈沖信號(hào)也十分有效。但是,對(duì)于變化很快的脈沖信號(hào),該方法就不可能精確的恢復(fù)該信5.6.2波形顯示技術(shù)虛擬示波器的工作原理是對(duì)信號(hào)波形進(jìn)行密集的采樣,采樣值被數(shù)字化并被存儲(chǔ),然后從存儲(chǔ)器中讀出,重建波形并用清晰的、均勻一致軌跡映現(xiàn)在屏幕上。由于檢測(cè)的波形經(jīng)數(shù)字化后只是一連串離散的數(shù)據(jù),因此,如何重建波形是設(shè)計(jì)虛擬示波器的關(guān)鍵問(wèn)題。虛擬示波器與傳統(tǒng)示波器的一大區(qū)別在于它沒(méi)有掃描電路,它也不是基于示波管的線它屬于軟件處理的范疇。與數(shù)字示波器類(lèi)似,虛擬示波器也有一個(gè)不工作區(qū)的問(wèn)題,捕捉信號(hào)需要時(shí)間(包括采樣時(shí)間和轉(zhuǎn)換時(shí)間),還有一些附加時(shí)間(包括存儲(chǔ)波形、處理波形和顯示等)。當(dāng)虛擬示波器進(jìn)行上述工作時(shí)它便停止了波形的采集。根據(jù)這個(gè)特點(diǎn),我們?cè)诓ㄐ蔚闹噩F(xiàn)上面采動(dòng)方式。(1)照像方式照像方式是把信號(hào)波形一幅一幅地取樣回來(lái),在此同時(shí),也將波形一幅一幅地送至屏幕去顯示。前后兩幅波形在時(shí)間上不連續(xù),中間有一段時(shí)間差。這種捕捉信息的方式類(lèi)似留有一段視覺(jué)時(shí)間,以便看到穩(wěn)定的波形,這種采樣方法適合于捕捉快速信號(hào)的波形。采樣波形的最大頻率取決于A/D板卡的采集速率。(2)滾動(dòng)方式滾動(dòng)方式是通過(guò)繪圖方法滾動(dòng)數(shù)字化波形,使其連續(xù)不斷地被顯示在屏幕上,它的工作方式很象圖表記錄儀。它的工作原理是每隔一個(gè)時(shí)鐘周期取樣一次,接著將波形從右到左滾動(dòng)一位(屏幕的一個(gè)點(diǎn)距),滾動(dòng)模式適合于觀察變化緩慢的信號(hào)、隨機(jī)信號(hào)和非重復(fù)信號(hào)。傳統(tǒng)的滾動(dòng)顯示方式是這樣實(shí)現(xiàn)的,設(shè)采樣值在數(shù)組data[]中保存。在顯示波形的過(guò)程中,采樣數(shù)據(jù)依次從右向左平移,即在數(shù)組的低端data[0]不斷補(bǔ)進(jìn)最新采樣數(shù)據(jù)采樣值在屏幕上的定位映象有嚴(yán)格的要求。我們定義時(shí)間軸的中點(diǎn)為坐標(biāo)原點(diǎn),觀察窗口的范圍從-lengh至length因此,在時(shí)間軸坐標(biāo)點(diǎn)為legth-i處,對(duì)應(yīng)的縱坐標(biāo)為Vt在本次設(shè)計(jì)中采用了新的算法來(lái)實(shí)現(xiàn)波形的動(dòng)態(tài)顯示,新的算法改變了滾動(dòng)方式只能觀察變化緩慢的信號(hào)的限制,使示波器的動(dòng)態(tài)顯示波形效果得到了很大的改觀。算法核心思想如下:(1)得到所采集數(shù)據(jù)塊的第一個(gè)和最后一個(gè)數(shù)據(jù)點(diǎn)的橫坐標(biāo)m_xMin和m_xMax,m_xMax—mxMin為波形的邏輯寬度。圖的寬度。(3)為了提高畫(huà)圖的效率,只需畫(huà)出滾動(dòng)視圖可視部分的圖形,也就是剪裁區(qū)的圖形,因此要得到剪裁區(qū)。(4)畫(huà)出坐標(biāo)和剪裁區(qū)內(nèi)的一段波形。度的快慢。這樣視圖滾動(dòng)以后相應(yīng)的剪裁區(qū)也會(huì)發(fā)生改變,促使動(dòng)態(tài)畫(huà)出新的波形。下面是波形顯示的主要代碼{/*得到第1個(gè)數(shù)據(jù)的橫坐標(biāo)*/m_xMin=pMem->m_TestQF3File/*得到最后1個(gè)數(shù)據(jù)的橫坐標(biāo)*/m_xMax=pMen->m_TestQF3File/*邏輯坐標(biāo)轉(zhuǎn)換為設(shè)備坐標(biāo)*//*設(shè)定滾動(dòng)視圖的寬度*//*得到裁剪區(qū)矩形*/pDC->GetClipBox(&m_Cli/*畫(huà)出坐標(biāo)*//*畫(huà)出一段波形*//*得到滾動(dòng)視圖*/View1=(CGraphView*)this->m_SW1.Ge/*根據(jù)采樣間隔不斷滾動(dòng)視圖,動(dòng)態(tài)顯示波形*/This->m_SW1.DoScrollBy(Vi}5.6.3設(shè)計(jì)結(jié)果波形顯示模塊主要負(fù)責(zé)兩個(gè)通道信號(hào)的波形滾動(dòng)顯示,工具欄上的按鈕可以控制波形滾動(dòng)的啟動(dòng)和停止,測(cè)試者如果發(fā)現(xiàn)感興趣的波形可以停止?jié)L動(dòng),以便進(jìn)行仔細(xì)的分析,設(shè)計(jì)效果如圖5-11所示。文拌編輯查看義解購(gòu)0圖5-11波形顯示模塊設(shè)計(jì)效果Windows中,一個(gè)可執(zhí)行程序的運(yùn)行時(shí)刻實(shí)例稱(chēng)為進(jìn)程(process)。一個(gè)進(jìn)程可以有多個(gè)同線程可以采用定時(shí)器、中斷、休眠、同步對(duì)象等方法同步??量?。這樣的功能模塊如果用單任務(wù)操作系統(tǒng)(如Dos)或非搶先式操作系統(tǒng)(如在不同于數(shù)據(jù)采集線程的單獨(dú)線程中實(shí)現(xiàn),然后通過(guò)上面提到的優(yōu)先級(jí)調(diào)度、線程同步等機(jī)制保證數(shù)據(jù)采集線程不被耗時(shí)的顯示線程所延誤。在數(shù)據(jù)采集和顯示任務(wù)由不同的線程完成的前提下,采集線程的執(zhí)行和休眠可以采用定時(shí)器或中斷調(diào)度等方式主動(dòng)控制。而顯(1)將顯示線程的優(yōu)先級(jí)設(shè)置成低于數(shù)據(jù)采集線程的優(yōu)先級(jí),那么顯示線程將始終(2)使用自定義消息,在采集線程每次休眠之前調(diào)用PostMessage()函數(shù)發(fā)出一個(gè)消在本次設(shè)計(jì)中,除了一個(gè)處理用戶(hù)輸入消息的用戶(hù)界面線程(User_Interface發(fā)控制、通道控制、時(shí)基控制、增益控制等有關(guān)示波器的操作和控制。一個(gè)輔助線程用于數(shù)據(jù)采集,另外一個(gè)輔助線程用于數(shù)據(jù)處理,其中最主要的是波形顯示。軟件的多線程設(shè)計(jì)框圖如圖5-15所示。由于CS82G的存儲(chǔ)器為單口存儲(chǔ)器,我們只能采用單緩沖區(qū)的工作方式,就是說(shuō),每采集一定長(zhǎng)度的點(diǎn)后,采集線程休眠,并喚醒數(shù)據(jù)處理線程,當(dāng)數(shù)據(jù)處理線程有信號(hào)時(shí),再喚醒采集線程,循環(huán)進(jìn)行,直至用戶(hù)發(fā)出中止命令。該方法的關(guān)鍵在于線程的同步,就是要保證在采集線程寫(xiě)內(nèi)存的時(shí)候,數(shù)據(jù)處理線程不能讀內(nèi)存,反之亦然,否則,會(huì)產(chǎn)生錯(cuò)誤??梢圆捎门R界區(qū)或者Event同步對(duì)象來(lái)實(shí)現(xiàn),為了保證在一次采集中采集線程不被中斷,而不僅僅是出于內(nèi)存訪問(wèn)保護(hù)的考慮,我們選擇Event同步對(duì)象數(shù)據(jù)存儲(chǔ)參數(shù)計(jì)算頻譜分析波形顯示數(shù)字濾波數(shù)據(jù)采集圖5-12軟件多線程設(shè)計(jì)框圖采用了多線程,那么就可以用一個(gè)單獨(dú)的線程進(jìn)行數(shù)據(jù)采集,而另一個(gè)線程進(jìn)行數(shù)據(jù)顯示和處理。這樣,能最大限度的保證采集的實(shí)時(shí)性,而另外的線程同時(shí)又能及時(shí)地響應(yīng)用戶(hù)的操作或進(jìn)行數(shù)據(jù)顯示。否則,程序在采集數(shù)據(jù)時(shí)就不能響應(yīng)用戶(hù)的操作;在響應(yīng)用戶(hù)操作時(shí)就不能進(jìn)行數(shù)據(jù)采集。尤其當(dāng)采集的數(shù)據(jù)量很大,數(shù)據(jù)處理任務(wù)很重時(shí),如果不5.7小結(jié)本課題在VisualC++6.0開(kāi)發(fā)環(huán)境下,利用CS82G高速數(shù)據(jù)采集卡開(kāi)發(fā)出了雙通道(1)兩通道同時(shí)進(jìn)行數(shù)據(jù)采集,將采集到的數(shù)據(jù)實(shí)時(shí)地在示波器中以時(shí)域信號(hào)顯示,并可把采集到的數(shù)據(jù)很方便的存儲(chǔ)于計(jì)算機(jī)軟硬盤(pán)中。(2)顯示信號(hào)的最高頻率是300MHz,最高采樣頻率為2GHz。(3)可對(duì)兩個(gè)通道進(jìn)行頻譜分析和數(shù)字濾波,包括高通和低通濾波。(4)可以通過(guò)軟件控制采樣率、觸發(fā)源、觸發(fā)電平、時(shí)基、波形縮放、放大器增益、輸入阻抗等。(5)示波器分辨率是8位,時(shí)基為0.5~26ns,電壓靈敏度為0.2mv。本課題開(kāi)發(fā)的虛擬示波器除了通用功能以外,還具有傳統(tǒng)示波器所沒(méi)有的優(yōu)點(diǎn),與傳統(tǒng)示波器比較,其優(yōu)點(diǎn)主要表現(xiàn)在:(1)捕捉的波形可以保存在磁盤(pán)中或打印出來(lái)備份,可將存儲(chǔ)的樣板波形與實(shí)測(cè)波(2)測(cè)量準(zhǔn)確度高,虛擬示波器采用自動(dòng)測(cè)量,能減少輸入放大器和示波管線性度(3)波形均勻、穩(wěn)定、無(wú)閃爍,同時(shí)還能跟隨觀察窗口的放大、縮小,而放大、縮(4)通過(guò)用戶(hù)編程模塊,可擴(kuò)充用戶(hù)自己的數(shù)據(jù)處理和分析功能,因此,虛擬示波(5)窗口顯示模式。虛擬示波器可將多個(gè)通道的實(shí)測(cè)波形同時(shí)映現(xiàn)在屏幕的不同窗口中。這一功能使虛擬示波器可用于對(duì)控制系統(tǒng)多個(gè)工作部位的工況進(jìn)行監(jiān)視。(6)成本低。PC機(jī)在價(jià)格上通常只有數(shù)據(jù)存儲(chǔ)示波器的1/5到1/10左右,此外,第六章總結(jié)和展望6.1總結(jié)虛擬儀器技術(shù)強(qiáng)調(diào)利用計(jì)算機(jī)的強(qiáng)大資源使本來(lái)需要硬件實(shí)現(xiàn)的技術(shù)軟件化,在相同的硬件模塊條件下通過(guò)調(diào)用不同軟件來(lái)實(shí)現(xiàn)不同的儀器功能,完成多種參數(shù)測(cè)試,以便最大限度地降低系統(tǒng)成本,增強(qiáng)系統(tǒng)功能與靈活性。本文所做的主要工作為:(1)研究了虛擬儀器的當(dāng)今發(fā)展,介紹了虛擬儀器概念和特點(diǎn),與傳統(tǒng)儀器進(jìn)行了比較。并跟蹤國(guó)際上的最新技術(shù),從構(gòu)成形式上劃分出的四種常見(jiàn)的體系結(jié)構(gòu),然后根據(jù)實(shí)際需求,選擇了以計(jì)算機(jī)數(shù)據(jù)采集卡(PC-DAQ)為體系結(jié)構(gòu)的虛擬儀器進(jìn)行了深入研究。(2)對(duì)CS82G高速數(shù)據(jù)采集卡的硬件和SDK進(jìn)行了深
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 洛陽(yáng)文化旅游職業(yè)學(xué)院《體育法》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年植保無(wú)人機(jī)及其配件采購(gòu)合同
- 單位人員管理制度范例大全
- 地?zé)狃B(yǎng)殖基地施工合同
- 2024年快手電商合作合同樣本版B版
- 商業(yè)街區(qū)巡邏保安協(xié)議
- 大型度假村建設(shè)施工管理承包合同
- 臨時(shí)健身房租賃與教練服務(wù)合同
- 2025運(yùn)輸保險(xiǎn)合同范本
- 消防栓檢查與維護(hù)手冊(cè)
- 讀了蕭平實(shí)導(dǎo)師的《念佛三昧修學(xué)次第》才知道原來(lái)念佛門(mén)中有微妙法
- 周邊傳動(dòng)濃縮刮泥機(jī)檢驗(yàn)報(bào)告(ZBG型)(完整版)
- 紙箱理論抗壓強(qiáng)度、邊壓強(qiáng)度、耐破強(qiáng)度的計(jì)算
- 土地增值稅清算審核指南
- 死亡通知書(shū)模板
- 鷸蚌相爭(zhēng)課件
- PMC(計(jì)劃物控)面試經(jīng)典筆試試卷及答案
- 失業(yè)保險(xiǎn)金申領(lǐng)表_11979
- 《質(zhì)量管理體系文件》風(fēng)險(xiǎn)和機(jī)遇評(píng)估分析表
- 食品安全約談通知書(shū)
- 舒爾特方格A4直接打印版
評(píng)論
0/150
提交評(píng)論