基于高速數(shù)據(jù)采集卡的虛擬示波器的應(yīng)用畢業(yè)設(shè)計(jì)_第1頁
基于高速數(shù)據(jù)采集卡的虛擬示波器的應(yīng)用畢業(yè)設(shè)計(jì)_第2頁
基于高速數(shù)據(jù)采集卡的虛擬示波器的應(yīng)用畢業(yè)設(shè)計(jì)_第3頁
基于高速數(shù)據(jù)采集卡的虛擬示波器的應(yīng)用畢業(yè)設(shè)計(jì)_第4頁
基于高速數(shù)據(jù)采集卡的虛擬示波器的應(yīng)用畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

I本科畢業(yè)設(shè)計(jì)(論文)題目基于高速數(shù)據(jù)采集卡的虛擬示波器的設(shè)計(jì)使它可以在數(shù)據(jù)采集、分析和表達(dá)中的任意一個(gè)方面提升儀器的性能。以虛擬儀器為代表的新型儀器改變了傳統(tǒng)儀器的思想,它們充分利用了計(jì)算機(jī)強(qiáng)大的軟硬件資源,把計(jì)算機(jī)技術(shù)和測量技術(shù)緊密結(jié)合起來,是融合了電子測量、信號處理、計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的新型測量儀器,由于成本低、使用方便等優(yōu)點(diǎn)得到了廣泛的應(yīng)用。本文基于GaGe公司的高速數(shù)據(jù)采集卡CS82G和通用PC平臺,使用VC++6.0編程工具,完成了一種快速虛擬示波器的設(shè)計(jì)。首先,本文介紹了虛擬儀器的研究背景和意義以及國內(nèi)外的一些研究進(jìn)展。對虛擬儀器總體進(jìn)行了概述,討論了虛擬儀器的概念、構(gòu)成、特點(diǎn)、發(fā)展,建立了虛擬儀器的基本框架。然后對虛擬示波器的重要組成部分一數(shù)據(jù)采集系統(tǒng)進(jìn)行了探討,同時(shí)對CS82G數(shù)據(jù)采集卡進(jìn)行了深入的研究,在此基礎(chǔ)上,進(jìn)行了虛擬示波器的系統(tǒng)設(shè)計(jì)。本文的重點(diǎn)是第五章虛擬示波器的具體實(shí)現(xiàn),這部分完成了虛擬示波器各模塊的詳細(xì)設(shè)計(jì),包括數(shù)據(jù)采集模塊、用戶界面模塊、頻譜分析模塊、數(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é)和展望。本文對相關(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軟件開發(fā)環(huán)境的選擇 4.2軟件總體方案 第五章虛擬示波器系統(tǒng)的軟件具體實(shí)現(xiàn) 5.2數(shù)據(jù)采集模塊的設(shè)計(jì) 5.2.1數(shù)據(jù)采集的編程過程 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ù)、電子測量技術(shù)和通信技術(shù)而發(fā)展起來的一種新型儀器,虛擬儀器的出現(xiàn)是測量儀器領(lǐng)域的一個(gè)突破,從根本上更新了測量儀器的概念。它是在以通用計(jì)算機(jī)為核心的硬件平臺上,由用戶設(shè)計(jì)定義,具有虛擬面板,測試功能由測試軟件實(shí)現(xiàn)的一種計(jì)算機(jī)儀器系統(tǒng)。虛擬儀器技術(shù)充分利用計(jì)算機(jī)系統(tǒng)強(qiáng)大的數(shù)據(jù)處理。能力,利用軟件完成數(shù)據(jù)的采集、控制、數(shù)據(jù)分析和處理以及測試結(jié)果的顯示等,通過軟、硬件的配合實(shí)現(xiàn)傳統(tǒng)儀器的各種功能,大大突破了傳統(tǒng)儀器在數(shù)據(jù)處理、顯示、傳送、存儲等方面的限制,使用戶可以方便地對儀器進(jìn)行維護(hù)、擴(kuò)展和升級。它的優(yōu)勢在于可由用定義自己的專用儀器系統(tǒng),且功能靈活,很容易構(gòu)建,所以應(yīng)用面極為廣泛。尤其在科研、開發(fā)、測量、檢測、計(jì)量、測控等領(lǐng)域更是不可多得的好工具。虛擬儀器技術(shù)先進(jìn),十分符合國際上流行的“硬件軟件化”的發(fā)展趨勢,因而常被稱作“軟件儀器”。隨著計(jì)算機(jī)技術(shù)的廣泛應(yīng)用,傳統(tǒng)的儀器設(shè)備缺乏相應(yīng)的計(jì)算機(jī)接口,因而配合數(shù)據(jù)采集及數(shù)據(jù)而且,傳統(tǒng)儀器體積相對龐大,多種數(shù)據(jù)測量時(shí)常常感到捉襟見肘。我們常見到硬件工程師的工作臺上堆砌著紛亂的儀器,交錯(cuò)的線纜和繁多待測器件。然而在集成的虛擬測量系統(tǒng)中,我們見到的是整潔的桌面,條理的操作,不但使測量人員從繁復(fù)的儀器堆中解放出來,而且還可實(shí)現(xiàn)自動測量、自動記錄、自動數(shù)據(jù)處理。其方便之極固不必多言,而設(shè)備成本的大幅降低卻不可不提。一套完整的實(shí)驗(yàn)測量設(shè)備少則幾萬元,多則幾十萬元。在同等的性能條件下,相應(yīng)的虛擬儀器價(jià)格要低二分之一甚至更多。虛擬儀器強(qiáng)大的功能和價(jià)格優(yōu)勢,使得它在儀器計(jì)量領(lǐng)域具有很強(qiáng)的生命力和十分廣闊的前景。1.2研究的背景和意義所謂虛擬儀器就是微機(jī)化的智能電子測量儀器。虛擬儀器通過硬件功能模塊和專用軟件構(gòu)成一種良好的人機(jī)交互界面,用戶可以自定義測試功能以及使測量對象多樣化。虛擬儀器的外部接口是通過數(shù)據(jù)采集卡將信號數(shù)據(jù)采集后送入計(jì)算機(jī),各種復(fù)雜測試功能、數(shù)據(jù)分析和結(jié)果顯示則完全由計(jì)算機(jī)軟件完成。一臺性能優(yōu)良的虛擬儀器不僅可以實(shí)現(xiàn)傳統(tǒng)測量儀器的大部分測量功能,在許多方面較傳統(tǒng)儀器有無法比擬的優(yōu)點(diǎn),如使用靈活方便、測試功能豐富、價(jià)格低廉、一機(jī)多用等,這些使得虛擬儀器成為未來電子測量儀器發(fā)展的2一臺傳統(tǒng)儀器有3大功能:對被測信號的采集與控制,分析與處理,結(jié)果的表達(dá)與輸出。傳統(tǒng)儀器的這些功能都是以硬件(或固化的軟件)的形式存在的。虛擬儀器的特點(diǎn)就是將計(jì)算機(jī)技術(shù)和儀器技術(shù)有機(jī)結(jié)合,充分利用計(jì)算機(jī)技術(shù),用計(jì)算機(jī)的顯示器模擬各種儀器的控制面板,以多種形式表達(dá)輸出檢測結(jié)果;以計(jì)算機(jī)軟件實(shí)現(xiàn)各種模擬信號分析,處理,完成多種多樣的測試。在電子測量測試儀器中,示波器的使用范圍非常廣泛。傳統(tǒng)示波器包能比較單一。近年推出的數(shù)字存儲示波器,由于引入微處理器,極大地提高了測量準(zhǔn)確度,同時(shí)還具有較強(qiáng)的數(shù)字化處理功能,如FFT、信號平均和自動測頻等。不過,這種示波器在應(yīng)用上存在一些限制因素,例如價(jià)格昂貴,儀器功能和模式固定,不具備用戶對儀器進(jìn)行定義及編程的功能。本文采用基于計(jì)算機(jī)的虛擬技術(shù),設(shè)計(jì)出虛擬存儲示波器,模擬通用雙蹤示波器的面板操作和處理功能。使用個(gè)人計(jì)算機(jī)及其接口電路來采集現(xiàn)場和實(shí)驗(yàn)室信號,并通過圖形用戶界面來模仿示波器的操作面板完成試驗(yàn)采集,調(diào)理,分析處理和顯示輸出,存儲記錄等功能。當(dāng)今,對低速的虛擬儀器的研究已經(jīng)比較多,而以GaGe公司的高速卡為數(shù)據(jù)采集設(shè)備的虛擬示波器的研究與設(shè)計(jì)還未見報(bào)道。本課題研究的虛擬示波器是一種重要的虛擬儀器,主要用于超高頻信號的采集、波形顯示和頻譜分析,在雷達(dá)信號處理和激光信號處理等領(lǐng)域有著廣泛的應(yīng)用。1.3本文內(nèi)容安排本文主要基于GaGe公司PCI接口的CompuScope82G高速數(shù)據(jù)采集卡和VisualC++6.0編程工具,完成了一種快速的虛擬示波器試驗(yàn)系統(tǒng)的設(shè)計(jì)。第一章為緒論,介紹了虛擬儀器的研究背景和意義以及國內(nèi)外的一些研究進(jìn)展;第二章為虛擬儀器總體概述,討論了虛擬儀器的概念、構(gòu)成、特點(diǎn)、發(fā)展,建立了虛擬儀器的基本框架。第三章為基于數(shù)據(jù)采集卡虛擬示波器的研究,主要包括對數(shù)據(jù)采集系統(tǒng)各組成部分進(jìn)行了探討。在這基礎(chǔ)上,給出了基于數(shù)據(jù)采集卡的虛擬示波器的結(jié)構(gòu)。第四章為虛擬示波器的方案設(shè)計(jì),選擇了示波器的硬件和示波器的軟件開發(fā)環(huán)境,介紹了虛擬儀器軟件的設(shè)計(jì)方法,提出了系統(tǒng)軟件的總體設(shè)計(jì)方案。第五章為虛擬示波器的具體實(shí)現(xiàn),是本文的重點(diǎn),完成了虛擬示波器各模塊的詳細(xì)設(shè)計(jì),包括數(shù)據(jù)采集模塊、用戶界面模塊、數(shù)字濾波模塊和波形顯示模塊的設(shè)計(jì),并給出了設(shè)計(jì)結(jié)果,最后討論了軟件設(shè)計(jì)中的關(guān)鍵技術(shù)的實(shí)現(xiàn)。第六章為總結(jié)和展望,主要對本文的已做工作做了總結(jié),并對虛擬儀器的發(fā)展3前景作出了展望。4第二章虛擬儀器技術(shù)2.1虛擬儀器的基本概念虛擬儀器(VirtualInstruments,縮寫為VI)是指以通用計(jì)算機(jī)作為系統(tǒng)控制器、由軟件來實(shí)現(xiàn)人機(jī)交互和大部分儀器功能的一種計(jì)算機(jī)儀器系統(tǒng)。用戶可以通過友好的圖形界面(通常叫做虛擬前面板)操作這臺計(jì)算機(jī),就象在操作自己定制的一臺傳統(tǒng)儀器一樣。虛擬儀器的概念是對傳統(tǒng)儀器概念的重大突破,它的出現(xiàn)使測量儀器與個(gè)人計(jì)算機(jī)的界限所有的測量、控制儀器的功能可由數(shù)據(jù)采集、數(shù)據(jù)分析、結(jié)果輸出與顯示三大部分組成。在這三大功能中,數(shù)據(jù)分析、算法實(shí)現(xiàn)和結(jié)果顯示完全由基于計(jì)算機(jī)的軟件完成,只要另外提供一定的數(shù)據(jù)采集硬件、輸出端口和驅(qū)動設(shè)備,就可構(gòu)成由計(jì)算機(jī)組成的測量、控制儀器。由此可以看到虛擬儀器與傳統(tǒng)儀器的基本區(qū)別;傳統(tǒng)儀器的這些功能都是以硬件或者固化的軟件的形式存在的,而虛擬儀器的功能則是通過軟件實(shí)現(xiàn)對數(shù)據(jù)的分析處理、表達(dá)以及圖形化用戶接口(如圖2-1所示)。插入式數(shù)據(jù)采集卡數(shù)字信號處理數(shù)據(jù)表達(dá)Networking文件1/0圖2-1虛擬儀器的內(nèi)部功能劃分測試應(yīng)用程序?qū)⒖蛇x硬件(如GPIB、VXI、PXI、RS—232、DAQ板)和可重復(fù)用原碼庫函數(shù)等軟件結(jié)合在一起,實(shí)現(xiàn)儀器模塊間的通訊、定時(shí)與觸發(fā)。原代碼庫函數(shù)為用戶構(gòu)建自己的VI關(guān)系系統(tǒng)提供了基本的軟件模塊。由于VI的模塊化、開放性和靈活性,以及軟件是關(guān)鍵的特點(diǎn),當(dāng)用戶的測試、控制要求變化時(shí),可以方便的向用戶自己來增減硬、軟件模塊,或重新配置現(xiàn)有系統(tǒng)以滿足新的測試、控制要求。這樣,當(dāng)用戶從一個(gè)項(xiàng)目轉(zhuǎn)向另一個(gè)項(xiàng)目時(shí),就能簡單地構(gòu)造出新的VI系統(tǒng)而不丟失已有的硬件和軟件資源。52.2虛擬儀器的特點(diǎn)虛擬儀器是以裝有測量應(yīng)用軟件的個(gè)人電腦為核心,具有虛擬的儀器操作面板,足夠的硬件支持,有一定通信能力的測量裝置。它和傳統(tǒng)儀器相比具有以下的特點(diǎn):(1)虛擬儀器的關(guān)鍵環(huán)節(jié)是軟件。虛擬儀器系統(tǒng)中除PC機(jī)外的硬件主要用于數(shù)據(jù)的采集、輸入,至于系統(tǒng)怎樣處理數(shù)據(jù),具有怎樣的面板和數(shù)據(jù)輸出的形式等都是由軟件決定的。虛擬儀器的好壞,很大程度上取決于軟件水平的高低。(2)開發(fā)與維護(hù)的費(fèi)用低,系統(tǒng)組建時(shí)間短。當(dāng)需要增加新的測量功能,只需要增加軟件模塊或通用的硬件模塊,縮短了系統(tǒng)的更新時(shí)間,而且有利于系統(tǒng)的擴(kuò)展。應(yīng)用軟件不像傳統(tǒng)儀器的硬件那樣存在元器件老化的問題,大大節(jié)省了維護(hù)的費(fèi)用,延長設(shè)備的使用壽命。傳統(tǒng)儀器測量個(gè)體之間差異大,而虛擬儀器的應(yīng)用軟件在不同的PC機(jī)上具有相同的運(yùn)行效果,在軟件運(yùn)行這方面不存在個(gè)體的差異。因?yàn)閭鹘y(tǒng)儀器功能單一,所以對一個(gè)信號完成多個(gè)參數(shù)的測量需要多臺儀器,使測量受連接方式、電纜度等因素的影響。虛擬儀器只需對信號進(jìn)行一次采樣,多個(gè)軟件模塊對同一組數(shù)據(jù)進(jìn)行不同的處理就能實(shí)現(xiàn)多個(gè)參數(shù)的同時(shí)測量。(5)具有強(qiáng)大的數(shù)據(jù)處理功能。計(jì)算機(jī)運(yùn)算速度的大大提高和數(shù)字信號處理理論的豐富和完善,使虛擬儀器能夠快速準(zhǔn)確的處理數(shù)據(jù)。6第三章基于數(shù)據(jù)采集卡的虛擬示波器的研究基于數(shù)據(jù)采集系統(tǒng)(采集卡)的虛擬示波器是虛擬儀器的一種重要的構(gòu)成方式,其中的核心設(shè)備數(shù)據(jù)采集卡應(yīng)具有高速采樣、多種觸發(fā)、存儲數(shù)據(jù)以及與計(jì)算機(jī)之間交換數(shù)據(jù)的功能,有的數(shù)據(jù)采集卡還具有系統(tǒng)定時(shí)和系統(tǒng)同步等功能,它是外界電信號與計(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ù)直接通過PC總線傳入計(jì)算機(jī)內(nèi)存中;另外一種采用遠(yuǎn)端數(shù)據(jù)采集硬件完成數(shù)據(jù)采集,然后通過串行、并行方式或者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)由傳感器、信號調(diào)理、數(shù)據(jù)采集(DAQ)硬件、個(gè)人計(jì)算機(jī)、軟件等基本要素構(gòu)成。信號調(dià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ū)動器軟件和應(yīng)用軟件兩部分組成。3.2超高速數(shù)據(jù)采集卡CS82G本次設(shè)計(jì)中采用的CS82G是一種超高速的基于PC的數(shù)據(jù)采集卡,CS82G的硬件可以以極高的采樣率和多通道采樣模擬信號并緩存到卡上的存儲器。CS82G基于PC的一個(gè)主要優(yōu)點(diǎn)是它能夠以極高的速率把數(shù)據(jù)傳輸?shù)絇C的RAM中,數(shù)據(jù)可以從RAM中很容易地進(jìn)行分析、存儲和顯示。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),功能和模塊固定,其功能的自動測試系統(tǒng),功能及模式由用戶自己定義。(2)傳統(tǒng)示波器結(jié)構(gòu)復(fù)雜,維護(hù)困難,對工作現(xiàn)場條件有較高的要求。器結(jié)構(gòu)簡單,軟硬件維護(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開發(fā)的功能模塊軟件組成。4.1.1硬件的選擇計(jì)算機(jī)和數(shù)據(jù)采集卡組成了虛擬示波器的硬件平臺。數(shù)據(jù)采集卡是虛擬示波器的重要及計(jì)算機(jī)的內(nèi)存影響著示波器處理數(shù)據(jù)的速度;計(jì)算機(jī)的硬盤決定著它的存儲數(shù)據(jù)的容量。數(shù)據(jù)采集系統(tǒng)的任務(wù)是采集原始的模擬信號,把它們轉(zhuǎn)換為計(jì)算機(jī)可以處理的數(shù)字信號,其主要指標(biāo)有采樣精度和采樣速度。采樣精度主要由A/D轉(zhuǎn)換器的位數(shù)決定,而采樣速度由A/D轉(zhuǎn)換器最高工作頻率決定,然而,兩個(gè)指標(biāo)是相互制約的。數(shù)據(jù)采集卡的選擇主要與采樣率、采樣通道數(shù)和測量精度有關(guān)。根據(jù)第三章的分析,采樣率是指模擬量輸入通道在單位時(shí)間內(nèi)能夠采集的數(shù)據(jù)點(diǎn)數(shù),一般用Hz即采樣頻率來表示,也有的用S/s表示。采樣頻率高,就能在一定時(shí)間獲得更多的原始信號信息。為了再現(xiàn)原始信號,必須有足夠高的采樣頻率。如果信號變化比采集卡的數(shù)字化要快,或者采樣太慢,就會產(chǎn)生波形失真。根據(jù)奈奎斯特理論,采樣頻率至少是被測信號最高頻率的兩倍,才不至于產(chǎn)生波形失真。即應(yīng)選用2GHz的數(shù)據(jù)采集卡才可以完成最高頻率為1GHz的采樣通道數(shù)是系統(tǒng)可以同時(shí)進(jìn)行采樣的信號通道數(shù),在選取采集卡時(shí)需要注意以下幾點(diǎn):采樣通道數(shù)是否滿足系統(tǒng)要求;在需要差分輸入測量時(shí),板上有無差分輸入以及差分輸入的通道數(shù);在測量多通道時(shí),應(yīng)注意采集卡能否擴(kuò)展以及最多的可擴(kuò)展的通道數(shù)。4.1.2軟件開發(fā)環(huán)境的選擇在給定計(jì)算機(jī)和必要儀器硬件之后,構(gòu)成虛擬儀器的關(guān)鍵在于軟件。虛擬儀器系統(tǒng)的一個(gè)重要革新就是儀器硬件軟件化,用軟件實(shí)現(xiàn)硬件功能。虛擬儀器系統(tǒng)的核心技術(shù)是軟件技術(shù),一個(gè)現(xiàn)代化測控系統(tǒng)性能的優(yōu)劣很大程度上取決于軟件平臺的選擇與應(yīng)用軟件的設(shè)計(jì)。因此正確選擇軟件開發(fā)環(huán)境對于程序的開發(fā)和設(shè)計(jì)起著重要的作用。目前,能夠用于虛擬儀器系統(tǒng)開發(fā)、比較成熟的軟件開發(fā)平臺主要有兩大類:一類是通用的可視化軟件編程環(huán)境,主要有Microsoft公司的VisualC++和VisualBasic、Insprise公司的Delphi和C++Builder等;另一類是一些公司推出的專用于虛擬儀器開發(fā)的軟件編程環(huán)境,主要有Agilent公司(由原HP公司分離出來的一個(gè)公司)的圖形化在以上這些的軟件開發(fā)環(huán)境中,面向儀器的交互式C語言開發(fā)平臺LabWindows/CVI具有編程方法簡單直觀、提供程序代碼自動生成功能及有大量符合VPP規(guī)范的儀器驅(qū)動程序源代碼可供參考和使用等優(yōu)點(diǎn),是國內(nèi)虛擬儀器系統(tǒng)集成商使用較多的編程開發(fā)環(huán)境。AgilentVEE和LabVIEW則是一種圖形化編程環(huán)境或稱為G語言編程環(huán)境,采用了不同于文本語言的流程圖編程方法,十分適合對軟件編程了解較少的工程技術(shù)人員使用。VisualC++是一種功能齊全的面向?qū)ο蟮拈_發(fā)工具,可直接對硬件操作,支持多任務(wù)多線程。VisualC++不僅是C++語言的集成開發(fā)環(huán)境,而且與Win32緊密相連,所以利用VisualC++開發(fā)系統(tǒng)可以完成各種各樣應(yīng)用程序的開發(fā),從底層軟件直到上層面向用戶的軟件都可以用VisualC++來開發(fā)完成;而且VisualC++強(qiáng)大的調(diào)試功能也為大型復(fù)雜軟件的開發(fā)提供了有效的排錯(cuò)手段。隨著軟件版本的不斷升級,其功能也越來越強(qiáng)大,幾乎VisualC++可以說是匯集Microsoft公司技術(shù)精華的主流產(chǎn)品。它最重要的特征是提供了MFC類庫,封裝了WindowsAPI函數(shù),并建立了應(yīng)用程序框架,使開發(fā)人員可以將主要精力集中在所要解決的具體問題上,尤其是利用VisualC++的AppWizard功能生成的SDI或MDI應(yīng)用程序,進(jìn)行少量修改后,由于VisualC++的面向?qū)ο蟪绦蛟O(shè)計(jì)的特性十分適在本設(shè)計(jì)中所使用的數(shù)據(jù)采集卡的驅(qū)動程序是由C語4.2軟件總體方案虛擬示波器是采用基于計(jì)算機(jī)的虛擬技術(shù),用以模擬傳統(tǒng)示波器的面板操作和處理功能,也就是使用個(gè)人計(jì)算機(jī)及其接口電路來采集現(xiàn)場或?qū)嶒?yàn)室信號,并通過軟件的圖形用戶界面(GUI)來模仿示波器的操作面板,來完成信號的采集、分析處理和顯示輸出等功本課題設(shè)計(jì)的虛擬示波器,是在高速數(shù)據(jù)采集卡的支持下,配備一定功能的軟件,完成波形的存儲、分析、顯示等功能。傳統(tǒng)的測試儀器由信號采集、信號處理和結(jié)果顯示三大部分組成,這三部分均由硬件構(gòu)成。虛擬示波器也是由這三大部分組成,但是除了數(shù)據(jù)本次設(shè)計(jì)利用VisualC++6.0作為開發(fā)工具,采用了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,在Windows2000下進(jìn)行。軟件采用模塊化設(shè)計(jì),其總體框圖如圖4-1所示。從圖4-1可以看出軟件部分的總體框圖以及數(shù)據(jù)流、控制流的流向。其中主控模塊相當(dāng)于一個(gè)任務(wù)調(diào)度中心。當(dāng)軟件開始運(yùn)行時(shí),首先進(jìn)入主控模塊,然后啟動數(shù)據(jù)采集線程和數(shù)據(jù)處理線程,于是數(shù)據(jù)采集模塊和數(shù)據(jù)處理模塊開始工作直至用戶停止系統(tǒng)工作。數(shù)據(jù)流從數(shù)據(jù)采集模塊開始,分別流向數(shù)據(jù)存儲模塊和數(shù)據(jù)處理模塊,數(shù)據(jù)存儲模塊負(fù)責(zé)把用戶感興趣的數(shù)據(jù)存人硬盤,而數(shù)據(jù)處理模塊負(fù)責(zé)數(shù)據(jù)的實(shí)時(shí)顯示、數(shù)字濾波、頻譜分析和波形的參數(shù)計(jì)算。當(dāng)用戶需要查詢歷史信號時(shí),可以啟動歷史查詢模塊,然后把查詢到的數(shù)據(jù)送往歷史主控模塊歷史查詢模塊曲線打印模塊頻譜分析模塊數(shù)字濾波模塊實(shí)時(shí)顯示示模塊數(shù)據(jù)查詢曲線顯示模塊幫助文件模塊數(shù)據(jù)處理模塊參數(shù)計(jì)算模塊圖4-1軟件系統(tǒng)總體框圖開始開始主程序是否查看歷史數(shù)據(jù)歷史曲線顯示打印模塊消息循環(huán)數(shù)據(jù)選擇數(shù)據(jù)區(qū)間存儲數(shù)據(jù)啟動采樣數(shù)據(jù)是否收到選擇處理種類圖4-2軟件系統(tǒng)總體流程圖第五章虛擬示波器系統(tǒng)的軟件具體實(shí)現(xiàn)5.1虛擬示波器的系統(tǒng)軟件功能框圖軟件采用模塊化設(shè)計(jì),在功能上劃分為多個(gè)模塊,分別為數(shù)據(jù)采集模塊、軟面板模塊 (用戶界面模塊)、數(shù)據(jù)處理模塊、數(shù)據(jù)存儲模塊和幫助文件模塊。其中數(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)用程序會通過采集卡的驅(qū)動程序和硬件進(jìn)行通信,要發(fā)出各種控制字、參量字到儀器中去,同時(shí)又要對硬件的工作狀態(tài)進(jìn)行判斷和處理,然后讀取采樣值。如果把這個(gè)模塊程序在主線程中實(shí)現(xiàn),那么,當(dāng)應(yīng)用程序與驅(qū)動程序進(jìn)行數(shù)據(jù)通信時(shí),主界面就會凍結(jié)。為了解決這個(gè)問題,本文直接創(chuàng)建一個(gè)子線程來單獨(dú)完成與驅(qū)動程序的通信任務(wù),讓主界面專心于響應(yīng)視窗界面的信息。在主線程中通過調(diào)用StartCapture()函數(shù)啟動數(shù)據(jù)采集子線程進(jìn)行數(shù)據(jù)采集。5.2.1數(shù)據(jù)采集的編程過程(1)初始化采集卡的驅(qū)動程序和硬件文件來配置內(nèi)存區(qū)域和I/0地址,二是用戶進(jìn)行的采集卡驅(qū)動初始化,選擇(打開相應(yīng)的)采集卡,讀取配置文件等。驅(qū)動程序的初始化也可以直接調(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ù)都是通過軟件進(jìn)行設(shè)置的,驅(qū)動程序中提供了一些數(shù)據(jù)結(jié)構(gòu),通道,多通道),采樣率、輸入電壓的范圍、輸入阻抗及耦合方式、觸發(fā)源、上升沿、下降沿觸發(fā)、觸發(fā)電平、采樣深度(采樣點(diǎn)數(shù)),所有這些參數(shù)設(shè)置被綜合到一個(gè)函數(shù)中:SetBoard();對此函數(shù)進(jìn)行適當(dāng)?shù)男薷?,即可滿足采集的要求。(3)開始采集數(shù)據(jù)調(diào)用gage_start_capture()函數(shù)即開始采集數(shù)據(jù),如調(diào)用時(shí)傳給該函數(shù)的參數(shù)為非零值,且觸發(fā)條件設(shè)置為軟件觸發(fā),則調(diào)用此函數(shù)后立即開始采集數(shù)據(jù),否則就等待至觸發(fā)條件滿足時(shí)開始采集數(shù)據(jù)。當(dāng)計(jì)算機(jī)上只有一塊GaGe公司的采集卡時(shí),可以用另外兩個(gè)函數(shù)來代替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)檢測數(shù)據(jù)是否采集結(jié)束gage_abort_capture()。gage_triggered()是用來檢測采集卡是否已經(jīng)觸發(fā),如果沒有觸發(fā),則在采集卡的RAM上沒有有效數(shù)據(jù)。gage_busy()則是用來判正在采集數(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ù)為開始地址和要傳送的數(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ì)類為CscrollView,用于顯示波形;還有兩個(gè)視圖基類為CformView,一個(gè)用于動態(tài)顯示采集數(shù)據(jù)的特征參數(shù),另一個(gè)用于對示波器進(jìn)行操作。整個(gè)軟件的主界面設(shè)計(jì)如圖5-3所(1)在框架窗口類中聲明一個(gè)CSplitterWnd類對象,對MDI應(yīng)用程序,框架窗口類為CChildFrame類;對SDI應(yīng)用程序,框架窗口類為CMainFrame類。CSplitterWnd類是(2)在框架窗口類的OnCreateClient()函數(shù)中創(chuàng)建分割條窗口。(3)為分割條窗口的每個(gè)子窗口創(chuàng)建視圖。示波器主界面分為三個(gè)功能模塊,波形顯示模塊,參數(shù)顯示模塊和示波器操作模塊。在波形顯示模塊中,可以同時(shí)動態(tài)顯示兩個(gè)通道的波形。在參數(shù)顯示模塊中,可以動態(tài)顯示兩個(gè)通道的參數(shù),主要有周期、最大值、有效值、功率和頻率,當(dāng)然周期和頻率是針對周期信號來說的。在示波器操作模塊中,又可以分為兩個(gè)部分,分別是系統(tǒng)控制和通道控制。系統(tǒng)控制主要是對采樣頻率、觸發(fā)源、觸發(fā)電平、采樣深度的控制;通道控制主要實(shí)現(xiàn)兩個(gè)通道參數(shù)的設(shè)置和波形顯示的控制。通道參數(shù)主要有輸入電壓的范圍、單/雙通道選擇、輸入阻抗和交直流耦合;顯示控制包括時(shí)基控制、波形縮放和單/雙通道顯示選擇。5.4頻譜分析模塊的設(shè)計(jì)本軟件利用快速傅里葉變換(FFT)進(jìn)行頻譜分析。頻譜分析采用按時(shí)間抽取FFT算法,然后將幅值頻譜分析結(jié)果在用戶界面上以坐標(biāo)曲線形式顯示。進(jìn)行FFT時(shí)可以選擇點(diǎn)數(shù),有1024、2048、4096三種選擇,如果點(diǎn)數(shù)不夠,程序自動補(bǔ)零。初始化驅(qū)動器和硬件分配存儲空間開始采集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)算。依次類推,經(jīng)過M-1次分解,最后將N點(diǎn)DFT分解成N/2個(gè)2點(diǎn)DFT.5.4.1設(shè)計(jì)結(jié)果頻譜顯示模塊主要完成對不同通道信號頻譜的顯示,它由參數(shù)設(shè)置對話框和頻譜顯示對話框組成。參數(shù)設(shè)置對話框主要完成通道和采樣點(diǎn)數(shù)的選擇,如圖5-5所示。開始開始倒序輸出結(jié)束圖5-4DIT-FET運(yùn)算和程序框圖圖5-6鋸齒波的頻譜圖5.4.2數(shù)字濾波模塊的設(shè)計(jì)在虛擬示波器中,對被測信號背景噪聲干擾的抑制是非常重要的一個(gè)任務(wù),一般情況下,采用數(shù)字濾波可以較好地清除干擾。濾波器的設(shè)計(jì)采用了經(jīng)典的設(shè)計(jì)方法,首先根據(jù)指標(biāo)設(shè)計(jì)出巴特沃斯濾波器,然后利用雙線性變換法設(shè)計(jì)數(shù)字低通濾波器,這部分的內(nèi)容在一般的數(shù)字信號處理著作中都有詳盡的介紹。數(shù)字濾波模塊主要完成對不同通道的濾波和濾波前后波形的顯示,圖5-8為濾波器的控制對話框,它主要完成通道的選擇、濾波器類型的選擇和一些參數(shù)的輸入。濾波前后波形的顯示仍在主界面中的波形顯示區(qū)進(jìn)行,圖5-9為鋸齒波通過低通濾波器,其中下面的波形為輸入的鋸齒波,上面的波形為鋸齒波濾波后的波形。圖5-8濾波器的控制對話框圖5-9鋸齒波通過低通濾波器后的波形5.6波形顯示模塊的設(shè)計(jì)5.6.1數(shù)據(jù)內(nèi)插技術(shù)要想觀察采集好的波形,就必須采用某種方式將采集好的數(shù)據(jù)顯示出來,這就要用到數(shù)據(jù)內(nèi)插技術(shù)。選擇不同的內(nèi)插技術(shù)會對存儲帶寬帶來不同的影響。常用的內(nèi)插技術(shù)有:直接點(diǎn)顯示、矢量內(nèi)插和正弦內(nèi)插。(1)直接點(diǎn)顯示直接點(diǎn)顯示是在顯示器上直接按點(diǎn)顯示,顯示效果較為直觀,但該方式也存在著嚴(yán)重的不足。當(dāng)采樣點(diǎn)較少時(shí),觀察者會把相鄰的兩個(gè)點(diǎn)連起來,隨著信號頻率的增加,很可能得出錯(cuò)誤的結(jié)果。因此,要得到正確的結(jié)果就必須采集更多的點(diǎn),但是太多的點(diǎn)反而會影響觀察結(jié)果。一般情況下,每個(gè)周期要求20~25個(gè)點(diǎn)。(2)矢量內(nèi)插顯示矢量內(nèi)插是在采集點(diǎn)之間采用直線擬合方式畫線顯示的方法。它可以消除視覺上混淆,矢量越短效果就越好。對正弦信號而言,如果每周期只有兩個(gè)采樣點(diǎn),那么矢量內(nèi)插就沒有什么效果。一般當(dāng)采樣點(diǎn)增加到10個(gè)以上時(shí),才能得到較為準(zhǔn)確的正弦波。因此,采用矢量內(nèi)插的方法,可以將有效存儲帶寬提高兩倍以上。矢量內(nèi)插法適合于顯示脈沖和(3)正弦內(nèi)插顯示正弦內(nèi)插法是用sin(x)/x函數(shù)曲線將各采樣點(diǎn)連接起來。正弦內(nèi)插器基本上可看作是理想的矩形濾波器,它與矢量法相比不但可以產(chǎn)生精確的波形,也可以得到較高分辨率正弦內(nèi)插法分兩步來完成。首先,在每個(gè)己采樣點(diǎn)之后插入L-1個(gè)零值,這時(shí)產(chǎn)生的新序列的奈奎斯特頻率已經(jīng)提高了L倍,然后我們就可以通過適當(dāng)?shù)臄?shù)字濾波器來獲取原我們可以采用有限長脈沖響應(yīng)(FIR)數(shù)字濾波器來近似該理想濾波器。因此,正弦內(nèi)插法本質(zhì)上是一個(gè)線性濾波器。這種方法對于顯示正弦波特別有效,它一般只需每個(gè)周期有2.5個(gè)采樣點(diǎn)。當(dāng)脈沖信號的上升與下降時(shí)間大于采樣周期的1.7倍時(shí),正弦內(nèi)插法對脈沖信號也十分有效。但是,對于變化很快的脈沖信號,該方法就不可能精確的恢復(fù)該信5.6.2波形顯示技術(shù)虛擬示波器的工作原理是對信號波形進(jìn)行密集的采樣,采樣值被數(shù)字化并被存儲,然后從存儲器中讀出,重建波形并用清晰的、均勻一致軌跡映現(xiàn)在屏幕上。由于檢測的波形經(jīng)數(shù)字化后只是一連串離散的數(shù)據(jù),因此,如何重建波形是設(shè)計(jì)虛擬示波器的關(guān)鍵問題。虛擬示波器與傳統(tǒng)示波器的一大區(qū)別在于它沒有掃描電路,它也不是基于示波管的線它屬于軟件處理的范疇。與數(shù)字示波器類似,虛擬示波器也有一個(gè)不工作區(qū)的問題,捕捉信號需要時(shí)間(包括采樣時(shí)間和轉(zhuǎn)換時(shí)間),還有一些附加時(shí)間(包括存儲波形、處理波形和顯示等)。當(dāng)虛擬示波器進(jìn)行上述工作時(shí)它便停止了波形的采集。根據(jù)這個(gè)特點(diǎn),我們在波形的重現(xiàn)上面采動方式。(1)照像方式照像方式是把信號波形一幅一幅地取樣回來,在此同時(shí),也將波形一幅一幅地送至屏幕去顯示。前后兩幅波形在時(shí)間上不連續(xù),中間有一段時(shí)間差。這種捕捉信息的方式類似留有一段視覺時(shí)間,以便看到穩(wěn)定的波形,這種采樣方法適合于捕捉快速信號的波形。采樣波形的最大頻率取決于A/D板卡的采集速率。(2)滾動方式滾動方式是通過繪圖方法滾動數(shù)字化波形,使其連續(xù)不斷地被顯示在屏幕上,它的工作方式很象圖表記錄儀。它的工作原理是每隔一個(gè)時(shí)鐘周期取樣一次,接著將波形從右到左滾動一位(屏幕的一個(gè)點(diǎn)距),滾動模式適合于觀察變化緩慢的信號、隨機(jī)信號和非重復(fù)信號。傳統(tǒng)的滾動顯示方式是這樣實(shí)現(xiàn)的,設(shè)采樣值在數(shù)組data[]中保存。在顯示波形的過程中,采樣數(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處,對應(yīng)的縱坐標(biāo)為Vt在本次設(shè)計(jì)中采用了新的算法來實(shí)現(xiàn)波形的動態(tài)顯示,新的算法改變了滾動方式只能觀察變化緩慢的信號的限制,使示波器的動態(tài)顯示波形效果得到了很大的改觀。算法核心思想如下:(1)得到所采集數(shù)據(jù)塊的第一個(gè)和最后一個(gè)數(shù)據(jù)點(diǎn)的橫坐標(biāo)m_xMin和m_xMax,m_xMax—mxMin為波形的邏輯寬度。圖的寬度。(3)為了提高畫圖的效率,只需畫出滾動視圖可視部分的圖形,也就是剪裁區(qū)的圖形,因此要得到剪裁區(qū)。(4)畫出坐標(biāo)和剪裁區(qū)內(nèi)的一段波形。度的快慢。這樣視圖滾動以后相應(yīng)的剪裁區(qū)也會發(fā)生改變,促使動態(tài)畫出新的波形。下面是波形顯示的主要代碼{/*得到第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è)定滾動視圖的寬度*//*得到裁剪區(qū)矩形*/pDC->GetClipBox(&m_Cli/*畫出坐標(biāo)*//*畫出一段波形*//*得到滾動視圖*/View1=(CGraphView*)this->m_SW1.Ge/*根據(jù)采樣間隔不斷滾動視圖,動態(tài)顯示波形*/This->m_SW1.DoScrollBy(Vi}5.6.3設(shè)計(jì)結(jié)果波形顯示模塊主要負(fù)責(zé)兩個(gè)通道信號的波形滾動顯示,工具欄上的按鈕可以控制波形滾動的啟動和停止,測試者如果發(fā)現(xiàn)感興趣的波形可以停止?jié)L動,以便進(jìn)行仔細(xì)的分析,設(shè)計(jì)效果如圖5-11所示。文拌編輯查看義解購0圖5-11波形顯示模塊設(shè)計(jì)效果Windows中,一個(gè)可執(zhí)行程序的運(yùn)行時(shí)刻實(shí)例稱為進(jìn)程(process)。一個(gè)進(jìn)程可以有多個(gè)同線程可以采用定時(shí)器、中斷、休眠、同步對象等方法同步??量獭_@樣的功能模塊如果用單任務(wù)操作系統(tǒng)(如Dos)或非搶先式操作系統(tǒng)(如在不同于數(shù)據(jù)采集線程的單獨(dú)線程中實(shí)現(xiàn),然后通過上面提到的優(yōu)先級調(diào)度、線程同步等機(jī)制保證數(shù)據(jù)采集線程不被耗時(shí)的顯示線程所延誤。在數(shù)據(jù)采集和顯示任務(wù)由不同的線程完成的前提下,采集線程的執(zhí)行和休眠可以采用定時(shí)器或中斷調(diào)度等方式主動控制。而顯(1)將顯示線程的優(yōu)先級設(shè)置成低于數(shù)據(jù)采集線程的優(yōu)先級,那么顯示線程將始終(2)使用自定義消息,在采集線程每次休眠之前調(diào)用PostMessage()函數(shù)發(fā)出一個(gè)消在本次設(shè)計(jì)中,除了一個(gè)處理用戶輸入消息的用戶界面線程(User_Interface發(fā)控制、通道控制、時(shí)基控制、增益控制等有關(guān)示波器的操作和控制。一個(gè)輔助線程用于數(shù)據(jù)采集,另外一個(gè)輔助線程用于數(shù)據(jù)處理,其中最主要的是波形顯示。軟件的多線程設(shè)計(jì)框圖如圖5-15所示。由于CS82G的存儲器為單口存儲器,我們只能采用單緩沖區(qū)的工作方式,就是說,每采集一定長度的點(diǎn)后,采集線程休眠,并喚醒數(shù)據(jù)處理線程,當(dāng)數(shù)據(jù)處理線程有信號時(shí),再喚醒采集線程,循環(huán)進(jìn)行,直至用戶發(fā)出中止命令。該方法的關(guān)鍵在于線程的同步,就是要保證在采集線程寫內(nèi)存的時(shí)候,數(shù)據(jù)處理線程不能讀內(nèi)存,反之亦然,否則,會產(chǎn)生錯(cuò)誤。可以采用臨界區(qū)或者Event同步對象來實(shí)現(xiàn),為了保證在一次采集中采集線程不被中斷,而不僅僅是出于內(nèi)存訪問保護(hù)的考慮,我們選擇Event同步對象數(shù)據(jù)存儲參數(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)用戶的操作或進(jìn)行數(shù)據(jù)顯示。否則,程序在采集數(shù)據(jù)時(shí)就不能響應(yīng)用戶的操作;在響應(yīng)用戶操作時(shí)就不能進(jìn)行數(shù)據(jù)采集。尤其當(dāng)采集的數(shù)據(jù)量很大,數(shù)據(jù)處理任務(wù)很重時(shí),如果不5.7小結(jié)本課題在VisualC++6.0開發(fā)環(huán)境下,利用CS82G高速數(shù)據(jù)采集卡開發(fā)出了雙通道(1)兩通道同時(shí)進(jìn)行數(shù)據(jù)采集,將采集到的數(shù)據(jù)實(shí)時(shí)地在示波器中以時(shí)域信號顯示,并可把采集到的數(shù)據(jù)很方便的存儲于計(jì)算機(jī)軟硬盤中。(2)顯示信號的最高頻率是300MHz,最高采樣頻率為2GHz。(3)可對兩個(gè)通道進(jìn)行頻譜分析和數(shù)字濾波,包括高通和低通濾波。(4)可以通過軟件控制采樣率、觸發(fā)源、觸發(fā)電平、時(shí)基、波形縮放、放大器增益、輸入阻抗等。(5)示波器分辨率是8位,時(shí)基為0.5~26ns,電壓靈敏度為0.2mv。本課題開發(fā)的虛擬示波器除了通用功能以外,還具有傳統(tǒng)示波器所沒有的優(yōu)點(diǎn),與傳統(tǒng)示波器比較,其優(yōu)點(diǎn)主要表現(xiàn)在:(1)捕捉的波形可以保存在磁盤中或打印出來備份,可將存儲的樣板波形與實(shí)測波(2)測量準(zhǔn)確度高,虛擬示波器采用自動測量,能減少輸入放大器和示波管線性度(3)波形均勻、穩(wěn)定、無閃爍,同時(shí)還能跟隨觀察窗口的放大、縮小,而放大、縮(4)通過用戶編程模塊,可擴(kuò)充用戶自己的數(shù)據(jù)處理和分析功能,因此,虛擬示波(5)窗口顯示模式。虛擬示波器可將多個(gè)通道的實(shí)測波形同時(shí)映現(xiàn)在屏幕的不同窗口中。這一功能使虛擬示波器可用于對控制系統(tǒng)多個(gè)工作部位的工況進(jìn)行監(jiān)視。(6)成本低。PC機(jī)在價(jià)格上通常只有數(shù)據(jù)存儲示波器的1/5到1/10左右,此外,第六章總結(jié)和展望6.1總結(jié)虛擬儀器技術(shù)強(qiáng)調(diào)利用計(jì)算機(jī)的強(qiáng)大資源使本來需要硬件實(shí)現(xiàn)的技術(shù)軟件化,在相同的硬件模塊條件下通過調(diào)用不同軟件來實(shí)現(xiàn)不同的儀器功能,完成多種參數(shù)測試,以便最大限度地降低系統(tǒng)成本,增強(qiáng)系統(tǒng)功能與靈活性。本文所做的主要工作為:(1)研究了虛擬儀器的當(dāng)今發(fā)展,介紹了虛擬儀器概念和特點(diǎn),與傳統(tǒng)儀器進(jìn)行了比較。并跟蹤國際上的最新技術(shù),從構(gòu)成形式上劃分出的四種常見的體系結(jié)構(gòu),然后根據(jù)實(shí)際需求,選擇了以計(jì)算機(jī)數(shù)據(jù)采集卡(PC-DAQ)為體系結(jié)構(gòu)的虛擬儀器進(jìn)行了深入研究。(2)對CS82G高速數(shù)據(jù)采集卡的硬件和SDK進(jìn)行了深

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論