新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于PCI1721的信號測試設(shè)計

基于PCI1721的信號測試設(shè)計

作者: 時間:2014-04-01 來源:網(wǎng)絡(luò) 收藏

摘要:為提高訓(xùn)練效果,仿真訓(xùn)練系統(tǒng)中需進(jìn)行信號波形測試。在介紹板卡基本功能及主要特點(diǎn)的基礎(chǔ)上,介紹了VB編程結(jié)合 總線擴(kuò)展實(shí)現(xiàn)信號產(chǎn)生的方法,給出了信號產(chǎn)生軟件實(shí)現(xiàn)的基本方法、實(shí)現(xiàn)多通道輸出的方法以及VRML和VB交互的實(shí)現(xiàn)方法,便于以后功能擴(kuò)展。為保證輸出波形滿足要求,實(shí)現(xiàn)脈沖信號、視頻信號、檢波信號等模擬信號的選擇輸出,設(shè)計了整形電路。這樣既可以實(shí)現(xiàn)虛擬測試又可以實(shí)現(xiàn)真正測試。

本文引用地址:http://butianyuan.cn/article/235751.htm

關(guān)鍵詞:仿真系統(tǒng):信號測試;總線擴(kuò)展;整形電路

在電子設(shè)備模擬仿真系統(tǒng)中需要產(chǎn)生關(guān)鍵點(diǎn)的波形,供訓(xùn)練者測試使用,以提高模擬系統(tǒng)的仿真度。通常情況下模擬仿真系統(tǒng)由計算機(jī)和仿真機(jī)柜組成,如果在仿真機(jī)柜內(nèi)部單獨(dú)設(shè)計信號產(chǎn)生器,無疑會增加仿真系統(tǒng)研制難度與成本。本文介紹一種采用VB編程結(jié)合PCI1721總線擴(kuò)展實(shí)現(xiàn)波形測試的方法,實(shí)現(xiàn)的思路是對虛擬模型設(shè)置傳感器節(jié)點(diǎn),與VB進(jìn)行交互,通過虛擬模型的傳感器節(jié)點(diǎn),進(jìn)行波形虛擬測試,通過VB編程控制控制PCI1721輸出.配以整形電路,實(shí)現(xiàn)真正的波形測試。

1 PCI1721簡介

PCI1721是一款高性能的PCI模擬量輸出卡,每個模擬量輸出通道都帶有一個12位的雙緩沖器DAC,具有許多強(qiáng)大的獨(dú)特功能,比如最大更新速率為10 MHz的波形輸出功能、自動校準(zhǔn)功能和板卡ID等。

1.1 板卡基本功能

板卡的基本功能如下:

1)自動校準(zhǔn)功能

PCI1721通過使用校準(zhǔn)程序可以提供自動校準(zhǔn)功能。PCI1721內(nèi)建的校準(zhǔn)電路對模擬量輸出通道中的增益和偏移誤差進(jìn)行修正,無須調(diào)整外部設(shè)備和用戶設(shè)置。

2)PCI總線數(shù)據(jù)傳輸

PCI1721支持PCI總線DMA功能用于高速數(shù)據(jù)傳輸和無間隔的模擬量輸出。通過設(shè)置PC的內(nèi)存,PCI1721可執(zhí)行總線數(shù)據(jù)傳輸,而不需要CPU的干預(yù),可使CPU去執(zhí)行其它更重要的工作,比如:數(shù)據(jù)分析和圖形操作。這種功能允許用戶全速使用所有I/O功能且不丟失數(shù)據(jù)。

3)系統(tǒng)重啟動后保持輸出值

用戶可以單獨(dú)將4個通道的輸出設(shè)為不同的范圍:0~+5 V、0~+10 V、±5 V、±10 V、0~20 mA或4~20 mA,所有范圍都可以通過軟件進(jìn)行選擇。當(dāng)系統(tǒng)熱重啟動(電源不關(guān)閉)時,根據(jù)跳線設(shè)置,PCI1721能夠保持上一次的模擬量輸出設(shè)置或輸出值,或者返回到默認(rèn)配置。這種特有的功能能夠避免在系統(tǒng)意外重啟動過程中的誤操作帶來的危險。

4)板卡ID

PCI1721帶有一個DIP撥碼開關(guān),當(dāng)計算機(jī)機(jī)箱中安裝了多塊PCI1721板卡時,可使用此開關(guān)來定義每個板卡的ID。當(dāng)用戶使用多塊PCI17 21板卡構(gòu)建自己的系統(tǒng)時ID設(shè)置功能將極為有用。如果板卡的ID設(shè)置正確,用戶就可以很方便地在硬件配置和軟件編程過程中區(qū)分和訪問每塊板卡。

5)卡上FIFO(先入先出)存儲器

PCI1721卡上提供了FIFO(先入先出)存儲器,可存儲1 kb的D/A轉(zhuǎn)換值。

6)可編程定時器/計數(shù)器

PCI1721提供了可編程的定時器和計數(shù)器.用于為D/A變換提供觸發(fā)脈沖。定時器/計數(shù)器芯片為82C54,含有3個16位10 MHz時鐘。其中有一個計數(shù)器作為事件計數(shù)器,用來對輸入通道的事件進(jìn)行計數(shù)。另外兩個計數(shù)器級連在一起,用作脈沖觸發(fā)的32位定時器。

7)波形模擬量輸出

PCI1721提供4路模擬量輸出通道。它們均可產(chǎn)生連續(xù)的波形輸出,對一個模擬量輸出通道可產(chǎn)生每秒10 ms的數(shù)據(jù)輸出,用戶也可以對波形數(shù)據(jù)存儲在卡上的FIFO中,這樣可以產(chǎn)生循環(huán)的波形輸出。PCI1721卡上的FIFO可以存儲2到1 024個波形采樣。

1.2 板卡主要特點(diǎn)

板卡的主要特點(diǎn)如下:

1)10 MHz最大數(shù)字更新速率

2)PCI總線數(shù)據(jù)傳輸

3)自動校準(zhǔn)功能

4)4路模擬量輸出,帶1k FIFO

5)每個模擬量輸出通道帶一個12位DAC

6)內(nèi)部/外部觸發(fā)的實(shí)時波形輸出

7)同步輸出功能

8)靈活的輸入類型和范圍設(shè)定

9)系統(tǒng)重啟動后保持輸出設(shè)置和輸出值

10)16路D10和1個10 MHz 16位分辨率計數(shù)器

11)板卡ID

2 軟件設(shè)計

2.1 軟件實(shí)現(xiàn)的基本方法

在模擬仿真系統(tǒng)中,對所要實(shí)現(xiàn)波形測試的模型(如面板上的測試點(diǎn)),加入接觸傳感器TouchSensor節(jié)點(diǎn)。接觸傳感器的作用是檢測用戶基于指點(diǎn)設(shè)備(主要是鼠標(biāo))的動作,并將其轉(zhuǎn)換為各種事件輸出。在軟件中當(dāng)接觸傳感器檢測到的鼠標(biāo)雙擊動作,則用Script節(jié)點(diǎn)傳送一個字符串到一個腳本文件中。在這個腳本文件中,在注冊表中新建了一個注冊表項(xiàng),Setipt節(jié)點(diǎn)傳送過來的字符串,寫入該注冊表項(xiàng),以供VB來讀取。

通過VB來編寫PCI-1721板卡產(chǎn)生波形代碼。在寫波形代碼時,先對所要產(chǎn)生的信號進(jìn)行測試,確定信號的格式與參數(shù)。在編寫程序時,先將PCI1721板卡的驅(qū)動、事件等模塊添加到程序中。在VB主程序中,根據(jù)信號格式,用VB語言畫出所要產(chǎn)生的各種信號。在產(chǎn)生波形時,先將上面提到注冊表項(xiàng)的值讀出,根據(jù)判斷,確定為某個測試點(diǎn)后,輸出該測試點(diǎn)的波形。波形測試孔的觸發(fā)流程如圖1所示。

 

 

具體步驟如下:

1)在JavaScript腳本中定義一個判斷函數(shù),即function gzwx_ceshi_panduan(name);

2)通過在測試孔的節(jié)點(diǎn)Transform內(nèi)設(shè)置TouchSensor節(jié)點(diǎn),觸發(fā)Script節(jié)點(diǎn),實(shí)現(xiàn)VRML和JavaScript腳本的交互,從而調(diào)用的Java Ser ipt腳本內(nèi)的函數(shù),如:

Browser.loadURL (‘JavaScript:parent.bottomFrame.gzwx_ceshi_panduan(“A機(jī)編碼輸出”)’,‘Target=_self’);

3)JavaScript腳本內(nèi)的函數(shù)通過判斷name,調(diào)用不同的網(wǎng)頁函數(shù),將不同波形的各項(xiàng)數(shù)值寫入注冊表;

4)VB通過不斷的讀取注冊表的值,從而在示波器上得到所需要的波形。

2.2 PCI1721板卡多通道輸出實(shí)現(xiàn)

在用VB編寫PCI1721板卡波形產(chǎn)生過程中,考慮到觀察信號時,會用到信號之間的同步關(guān)系,可在PT_FAO Wave FOrm Start的Enabled Channel參數(shù)中設(shè)置值為15.4通道輸出,便于以后的擴(kuò)展。但是PCI1721板卡并不是簡簡單單的設(shè)置輸出通道參數(shù)后就會把數(shù)據(jù)從4個通道輸出,EnabledChannel參數(shù)只是將四個通道都設(shè)置為可用,從4個通道輸出不同的波形還要求將不同通道的數(shù)據(jù)先按照一定的格式放入一個總的數(shù)組,設(shè)備會按照所給的數(shù)據(jù)從不同的通道輸出。

2.3 VRML和VB的交互實(shí)現(xiàn)方法

通常虛擬訓(xùn)練軟件是用3DMAX建立模型,用VRML將各個模型節(jié)點(diǎn)聯(lián)系起來的,VRML沒有與VB交互的外部接口,所以在虛擬訓(xùn)練軟件中的模型操作與VB波形產(chǎn)生程序之間需要一個媒介來傳遞信息。采取的方法是,虛擬訓(xùn)練軟件中的模型接觸傳感器檢測到動作后,就向Script節(jié)點(diǎn)傳遞一個事件,Script接收到此事件就給腳本文件傳遞一個內(nèi)容為該模型名稱的字符串,然后腳本文件將傳遞過來的字符串寫入一個新建的注冊表值,VB則可以通過函數(shù)讀出注冊表中的字符串,針對每個模型名稱的不同,則可以調(diào)用不同的產(chǎn)生波形代碼,從而實(shí)現(xiàn)波形的測量。這種實(shí)現(xiàn)交互的方法,不僅簡單、方便,而且在程序調(diào)試過程中,方便觀察程序的執(zhí)行情況。

3 整形電路設(shè)計

所要產(chǎn)生的信號既包括模擬信號又包括數(shù)字脈沖,對于模擬信號直接輸出即可,但對于數(shù)字脈沖,由于最高采樣率為10 MHz,導(dǎo)致輸出的脈沖波形前沿上升和下降沿都比較平緩,輸出的波形達(dá)不到要求。為此設(shè)計了整形電路,如圖2所示。

 

 

74LS04是一個六路反相器,對PCI1721板卡輸出的脈沖波形進(jìn)行兩次反相,波形由模擬脈沖信號變成數(shù)字脈沖信號,使得PCI1721輸出的脈沖波形上升沿和下降沿變的陡峭,基本上達(dá)到了實(shí)際中的要求。AD7502是一個八輸入選擇器,選擇從PCI1721板卡輸出脈沖信號或視頻信號、檢波信號等。從PCI1721板卡一個通道輸出的波形一路經(jīng)過兩個非門后接到選擇器,一路直接接到選擇器,用程序控制PCI1721板卡數(shù)字輸出D0和D1,將D0和D1分別接到選擇器的地址端A0和A1,如果當(dāng)前該通道輸出信號是數(shù)字脈沖,則選擇器選擇輸出經(jīng)過兩個非門后的一路信號;如果輸出的信號是模擬信號,則選擇器選擇輸出直接接到選擇器的一路信號。

4 結(jié)束語

在模擬仿真訓(xùn)練系統(tǒng)中通過編程和擴(kuò)展PCI板卡來產(chǎn)生信號,既可以滿足訓(xùn)練中的虛擬測試,又可以滿足真正的信號波形測試,大大提高了訓(xùn)練效果。

模擬信號相關(guān)文章:什么是模擬信號


塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理
脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理


關(guān)鍵詞: PCI1 721

評論


技術(shù)專區(qū)

關(guān)閉