![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
代理商售后維修區(qū)域:北京-上海-浙江-廣東-河南-杭州-鄭州-廣州-深圳-佛山-惠州-廈門-汕頭-臺(tái)灣-香港-天津-西安-寶雞-杭州-溫州-常州-無錫-蘇州-南京-鎮(zhèn)江-揚(yáng)州-南通-合肥-徐州-常熟-石家莊-太原-呼和浩特-沈陽(yáng)-長(zhǎng)春-哈爾濱-南京-合肥-福州-南昌-濟(jì)南-鄭州-武漢-長(zhǎng)沙-廣州-南寧-海口-成都-貴陽(yáng)-昆明-拉薩-西安-蘭州-西寧-銀川-烏魯木齊-杭州-沈陽(yáng)-長(zhǎng)春-哈爾濱-濟(jì)南-武漢-廣州-南寧-成都-西安-大連-寧波-廈門-青島-深圳-杭州-淮安-連云港-昆山-嘉興-湖州-秦皇島-邯鄲-邢臺(tái)-保定-張家口-承德-廊坊-呼和浩特-包頭-鞍山-大慶-錦州-鐵嶺-盤錦-湛江-蕭山-遼寧-淄博-寧夏-綿陽(yáng)-云南-朝陽(yáng)-陜西-青海-北海-唐山-吉林-蘇州-昆山-無錫-鎮(zhèn)江-常州-連云港-淮安-淮陰-鹽城-揚(yáng)州-徐州-宜興-江陰-南通-揚(yáng)州-上海-滁州-內(nèi)蒙古-新疆有銷售.北京亦莊開發(fā)區(qū),天津?yàn)I海開發(fā)區(qū),秦皇島經(jīng)濟(jì)開發(fā)區(qū),太原經(jīng)濟(jì)開發(fā)區(qū),呼和浩特經(jīng)濟(jì)開發(fā)區(qū),沈陽(yáng)經(jīng)濟(jì)開發(fā)區(qū),營(yíng)口經(jīng)濟(jì)開發(fā)區(qū),大連經(jīng)濟(jì)開發(fā)區(qū),長(zhǎng)春經(jīng)濟(jì)開發(fā)區(qū),哈爾濱經(jīng)濟(jì)開發(fā)區(qū),虹橋經(jīng)濟(jì)開發(fā)區(qū),漕河涇開發(fā)區(qū),連云港開發(fā)區(qū),南通開發(fā)區(qū),昆山開發(fā)區(qū),南京開發(fā)區(qū),杭州開發(fā)區(qū),蕭山開發(fā)區(qū),溫州開發(fā)區(qū),寧波開發(fā)區(qū),蕪湖開發(fā)區(qū),合肥開發(fā)區(qū),福州開發(fā)區(qū),福清融僑開發(fā)區(qū),東山開發(fā)區(qū),南昌開發(fā)區(qū),威海開發(fā)區(qū),煙臺(tái)開發(fā)區(qū),青島開發(fā)區(qū),鄭州開發(fā)區(qū),武漢開發(fā)區(qū),長(zhǎng)沙開發(fā)區(qū),蘿崗區(qū)開發(fā)區(qū),廣州南沙開發(fā)區(qū),惠州大亞灣開發(fā)區(qū),湛江開發(fā)區(qū),南寧開發(fā)區(qū),重慶開發(fā)區(qū),成都開發(fā)區(qū),貴陽(yáng)開發(fā)區(qū),昆明開發(fā)區(qū),拉薩開發(fā)區(qū),西安開發(fā)區(qū),蘭州開發(fā)區(qū),西寧開發(fā)區(qū),銀川開發(fā)區(qū),烏魯木齊開發(fā)區(qū),石河子開發(fā)區(qū),金橋出口加工區(qū),蘇州工業(yè)園,寧波大榭開發(fā)區(qū),廈門海滄投資區(qū),海南洋浦開發(fā)區(qū)。
萬用示波表 | 數(shù)字示波器 | 模擬示波器 | 虛擬示波器 |
波形示波器 | 信號(hào)發(fā)生器 | 函數(shù)發(fā)生器 |
基于PXI總線的數(shù)字示波器硬件與軟件結(jié)構(gòu)
硬件結(jié)構(gòu)
數(shù)字示波器硬件即通常說的數(shù)據(jù)采集板,其原理框圖如圖1所示(圖中省略電源和時(shí)鐘部分):雙通道被測(cè)信號(hào)經(jīng)過模擬信號(hào)調(diào)理通道送入高速模數(shù)轉(zhuǎn)換器,所得數(shù)字?jǐn)?shù)據(jù)先送入2個(gè)先入先出(First In First Out,F(xiàn)IFO)緩存再送給本地總現(xiàn)最后由接口芯片PCI9030送入PXI機(jī)箱中。硬件的控制和狀態(tài)讀取需要根據(jù)用戶指令由相應(yīng)的軟件完成,送入 PXI工控機(jī)的數(shù)據(jù)也要由軟件進(jìn)行處理,最后得到顯示波形和測(cè)量結(jié)果。
圖1 PXI數(shù)據(jù)采集板原理框圖
軟件構(gòu)成
Windows 系統(tǒng)為了保證系統(tǒng)的安全性、穩(wěn)定性和可移植性,對(duì)系統(tǒng)底層操作采取了屏蔽的措施,利用設(shè)備驅(qū)動(dòng)程序?qū)⒂布c用戶隔開。所以,軟件分為兩部分:底層設(shè)備驅(qū)動(dòng)程序、高層應(yīng)用軟件。設(shè)備驅(qū)動(dòng)程序從廣義上來講是指直接操作硬件的一組函數(shù),完成硬件控制和數(shù)據(jù)采集。驅(qū)動(dòng)程序在裝入后成為操作系統(tǒng)內(nèi)核的一部分。高層應(yīng)用軟件可以認(rèn)為是虛擬示波器用戶態(tài)程序,將用戶界面,即面板上各種開關(guān)、按鈕等控件以及波形、測(cè)量數(shù)據(jù)結(jié)果顯示區(qū)和數(shù)據(jù)采集、數(shù)據(jù)分析聯(lián)系在一起。當(dāng)用戶在界面上發(fā)出一定的命令后,應(yīng)用程序首先調(diào)用應(yīng)用程序接口(Application Programming Interface,API)函數(shù),相關(guān)的系統(tǒng)服務(wù)將調(diào)用內(nèi)核模式的驅(qū)動(dòng)程序?qū)崿F(xiàn)API,將命令信息轉(zhuǎn)換成數(shù)據(jù)采集板認(rèn)識(shí)的數(shù)據(jù)格式,按照數(shù)據(jù)采集板的物理地址送到底層硬件。同時(shí)數(shù)據(jù)采集板采集到的數(shù)據(jù)和底層硬件的各種狀態(tài)信息也通過API傳送給應(yīng)用程序做顯示和控制用。
驅(qū)動(dòng)程序開發(fā)
Windows 驅(qū)動(dòng)程序編制可以采用Windows設(shè)備驅(qū)動(dòng)程序開發(fā)包(Device Drivers Kit,DDK),但需要程序員了解復(fù)雜的操作系統(tǒng)內(nèi)核。簡(jiǎn)捷的方法是利用KRFTech公司的設(shè)備驅(qū)動(dòng)程序開發(fā)工具WinDriver。 WinDriver是主要用于編寫針對(duì)ISA/PCI插卡和USB等硬件設(shè)備驅(qū)動(dòng)程序的工具包。對(duì)于硬件的訪問,應(yīng)用程序從WinDriver用戶模式庫(kù)調(diào)用WinDriver的功能接口,再由這個(gè)功能調(diào)用WinDriver的內(nèi)核模塊,即WinDriver自身提供的的驅(qū)動(dòng)程序 WinDriver.vxd和WinDriver.sys去完成硬件的訪問。
分析數(shù)據(jù)采集板,知道驅(qū)動(dòng)程序要完成的基本功能包括設(shè)備初始化、對(duì)I/O和內(nèi)存的讀寫、直接存儲(chǔ)器存取(Direct Memory Access,DMA)以及中斷等操作。首先利用WinDriver完成對(duì)硬件的診斷操作,獲得數(shù)據(jù)采集板硬件參數(shù),如端口地址范圍、I/O方式、存儲(chǔ)器地址、內(nèi)存映射方式、中斷號(hào)等。然后再根據(jù)硬件的這些參數(shù)生成一些源代碼和框架函數(shù),如:
SHBK_HANDLE SHBK_LocateAndOpenBoard(DWORD dwVendorID,DWORD dwDeviceID,BOOL
fUseInt)//定位并開啟數(shù)據(jù)采集板;
void SHBK_EnableDisableInterrupts(SHBK_HANDLE hSHBK)//定義開啟或終止中斷;
DWORD SHBK_ReadPCIReg(SHBK_HANDLE hSHBK, DWORD dwReg)//讀配置寄存器;
BYTE SHBK_ReadByte (SHBK_HANDLE hSHBK, SHBK_ADDR addrSpace, DWORD dwOffset)//讀出某內(nèi)存1字節(jié)內(nèi)容,該內(nèi)存地址為基地址加偏移量dwOffset;
void SHBK_WriteByte (SHBK_HANDLE hSHBK, SHBK_ADDR addrSpace, DWORD dwOffset, BYTE
data)//向內(nèi)存寫內(nèi)容為data的1字節(jié)數(shù)據(jù)。
限于篇幅,只是舉例給出了小部分函數(shù),所有函數(shù)都未給出具體的實(shí)現(xiàn)代碼。利用所有這些框架函數(shù)可以對(duì)硬件直接進(jìn)行操作,為方便多個(gè)功能均要引用它們,將其封裝在一個(gè)動(dòng)態(tài)連接庫(kù)(Down-Line Load,DLL)中,再根據(jù)實(shí)際的硬件設(shè)計(jì)進(jìn)行調(diào)用,通過對(duì)內(nèi)存和IO進(jìn)行具體讀寫操作,編制對(duì)數(shù)據(jù)采集板硬件進(jìn)行操作的功能函數(shù),這些功能函數(shù)也被封裝在此DLL中,供給高層應(yīng)用軟件調(diào)用。
虛擬數(shù)字示波器應(yīng)用軟件設(shè)計(jì)
LabWindows/CVI 是NI公司開發(fā)的基于C語(yǔ)言的軟件開發(fā)平臺(tái),選用LabWindows/CVI用于虛擬示波器開發(fā)主要是基于LabWindows/CVI適用于各種測(cè)試、控制、故障分析及信息處理軟件的開發(fā),尤其是大型、復(fù)雜的測(cè)試軟件,使用LabWindows/CVI開發(fā)可獲得優(yōu)良的測(cè)試性能[3]。為方便用戶,設(shè)計(jì)的示波器面板使用方式與通用示波器無異,所有操作都與通用示波器類似,如圖2所示,它包含如下內(nèi)容:
(1) 控制設(shè)置區(qū):可由用戶控制相應(yīng)控件設(shè)置時(shí)基、量程、測(cè)量通道、觸發(fā)方式、觸發(fā)極性、觸發(fā)電平、觸發(fā)位置、觸發(fā)通道、耦合方式和是否平滑和反相顯示波形,另外還專門有一個(gè)自動(dòng)設(shè)置按鈕,按下此按鈕,軟件將自動(dòng)為用戶設(shè)定合適的以上參數(shù)。
(2) 波形顯示區(qū):軟面板左上部分按照標(biāo)準(zhǔn)示波器顯示規(guī)范,橫向分為10格,縱向分為8格;有可移動(dòng)的兩個(gè)光標(biāo),可供用戶在波形顯示區(qū)任意拖動(dòng)。
圖2 示波器面板
(3) 光標(biāo)及測(cè)量結(jié)果顯示區(qū):分別可顯示光標(biāo)1、2位置,光標(biāo)相對(duì)位置及相應(yīng)的時(shí)間/幅度差值。另外,還顯示出所測(cè)量信號(hào)的周期、頻率、峰峰值、有效值和平均值5個(gè)量值。
整個(gè)系統(tǒng)軟件總體模塊如圖3所示,主要包括:初始化模塊、結(jié)束程序模塊、控件消息處理模塊、波形數(shù)據(jù)采集處理顯示模塊、光標(biāo)及測(cè)量結(jié)果顯示模塊。其中后兩部分軟件模塊嚴(yán)格說來也屬于一種特殊控件的消息處理。在CVI中有一類特殊控件稱為定時(shí)器(Timer),它在用戶界面上是隱藏的,根據(jù)預(yù)先設(shè)置的時(shí)間間隔不斷產(chǎn)生消息,利用其消息回調(diào)函數(shù)處理需要重復(fù)執(zhí)行的代碼。波形采集處理顯示程序和數(shù)據(jù)顯示程序分別為20 ms和1.2 s周期循環(huán)執(zhí)行。在執(zhí)行這兩部分循環(huán)程序的同時(shí),如果示波器面板上有控件被操作,應(yīng)用程序?qū)⒃趦纱窝h(huán)中間處理控件消息,如需要還將調(diào)用底層驅(qū)動(dòng)程序?qū)τ布M(jìn)行相應(yīng)的設(shè)置,例如用戶通過鼠標(biāo)改變量程控件檔位時(shí),對(duì)該控件消息的處理是根據(jù)改變后的量程檔位設(shè)置數(shù)據(jù)采集板上模擬調(diào)理通道上相應(yīng)的衰減率。初始化模塊包括定位和開啟數(shù)據(jù)采集板、初始化用戶界面和設(shè)置相應(yīng)初始硬件參數(shù),然后可開始采集數(shù)據(jù)。另外,軟面板右下角有一個(gè)特殊按鍵“退出程序”,按下它則結(jié)束上述循環(huán),退出應(yīng)用程序。
圖3 程序總框圖
要完成如圖2所示示波器功能,最終顯示波形和數(shù)據(jù),波形數(shù)據(jù)采集處理和顯示是最重要的過程。當(dāng)面板上“RUN/STOP”鍵狀態(tài)為“RUN”后,調(diào)用驅(qū)動(dòng)程序開始數(shù)據(jù)采集過程,首先要根據(jù)觸發(fā)通道的不同和觸發(fā)方式的不同,選取不同的數(shù)據(jù)采集方式,同時(shí)根據(jù)用戶設(shè)置的觸發(fā)電平和觸發(fā)位置的不同也應(yīng)該選擇采集不同時(shí)間段的被測(cè)數(shù)據(jù)。得到的數(shù)據(jù)在送做顯示之前,采集回來的波形數(shù)據(jù)根據(jù)需要可能還要經(jīng)過一定的處理,如平滑、插值、防抖等。由于示波器的數(shù)字存儲(chǔ)功能、實(shí)時(shí)采樣特點(diǎn),以及其單次觸發(fā)、滾動(dòng)顯示、自動(dòng)時(shí)基量程、波形停留、自動(dòng)光標(biāo)測(cè)量等特點(diǎn),決定了此部分程序模塊時(shí)序復(fù)雜、分支龐多,是設(shè)計(jì)和調(diào)試的重點(diǎn)。
結(jié)束語(yǔ)
本文所述虛擬數(shù)字存儲(chǔ)示波器技術(shù)已運(yùn)用在某自動(dòng)測(cè)試系統(tǒng)中,其實(shí)現(xiàn)的示波器可雙通道同時(shí)工作于100MHz采樣頻率,檢測(cè)輸入范圍在10 mV~100V的信號(hào)(靈敏度為10mV)。該自動(dòng)測(cè)試系統(tǒng)基于測(cè)試領(lǐng)域最先進(jìn)的PXI總線技術(shù),體積小巧、使用方便,抗干擾能力強(qiáng),能滿足軍用研究所、基地維修中心等需要。
CopyRight 2013 版權(quán)所有 就是要儀器
宏勝集團(tuán)北京中儀偉信科技有限公司 |
||
京ICP備09060824號(hào)-10 京公網(wǎng)安備11010602004306號(hào)-8
|