<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于PCI1721的信號測試設計

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

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

本文引用地址:http://dyxdggzs.com/article/235751.htm

關(guān)鍵詞:仿真系統:信號測試;總線(xiàn)擴展;整形電路

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

1 PCI1721簡(jiǎn)介

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

1.1 板卡基本功能

板卡的基本功能如下:

1)自動(dòng)校準功能

PCI1721通過(guò)使用校準程序可以提供自動(dòng)校準功能。PCI1721內建的校準電路對模擬量輸出通道中的增益和偏移誤差進(jìn)行修正,無(wú)須調整外部設備和用戶(hù)設置。

2)PCI總線(xiàn)數據傳輸

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

3)系統重啟動(dòng)后保持輸出值

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

4)板卡ID

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

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

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

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

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

7)波形模擬量輸出

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

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

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

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

2)PCI總線(xiàn)數據傳輸

3)自動(dòng)校準功能

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

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

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

7)同步輸出功能

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

9)系統重啟動(dòng)后保持輸出設置和輸出值

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

11)板卡ID

2 軟件設計

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

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

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

 

 

具體步驟如下:

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

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

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

3)JavaScript腳本內的函數通過(guò)判斷name,調用不同的網(wǎng)頁(yè)函數,將不同波形的各項數值寫(xiě)入注冊表;

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

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

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

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

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

3 整形電路設計

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

 

 

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

4 結束語(yǔ)

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

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


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


關(guān)鍵詞: PCI1 721

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>