新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 數(shù)字存儲(chǔ)示波器的設(shè)計(jì)

數(shù)字存儲(chǔ)示波器的設(shè)計(jì)

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

垂直靈敏度

50mV/div

0.1V/div

0.5V/div

1V/div

量程(V)

通道總增益

Div序號(hào)

表1


⑵ 給定掃描速度為200u/div,則采樣時(shí)間TS =200u×10 =2000u=2ms,由于滿(mǎn)屏采樣點(diǎn)數(shù)固定為25000點(diǎn),所以由FS×TS <25000,可得到FS < 12.5M 。由于提供的時(shí)鐘沒(méi)有12.5M,因此可選擇最接近的10MHZ作為采樣時(shí)鐘。


Timebase序號(hào)

tdiv(s)

0.1u/div

1u/div

10u/div

100u/div

采樣時(shí)鐘(HZ)

Timebase序號(hào)

tdiv(s)

500u/div

1m/div

10m/div

1s/div

采樣時(shí)鐘(HZ)

表2


圖7 示波器軟件流程圖

設(shè)計(jì)中可參考的CVI軟件和實(shí)驗(yàn)軟件平臺(tái)提供的主要函數(shù)如下表所示:


(1)

函數(shù)功能

EPP接口初始化

函數(shù)原型

void epp_init(void)

輸入?yún)?shù)

無(wú)

輸出參數(shù)

無(wú)

返回值

無(wú)

(2)

函數(shù)功能

返回控件的當(dāng)前值

函數(shù)原型

int GetCtrlVal (int panelHandle, int controlID, void *value)

輸入?yún)?shù)

panelHandle - 內(nèi)存當(dāng)中的面板句柄,即為控件所在面板的句柄值
controlID - 控件的ID值,在控件屬性面板中可以獲得

輸出參數(shù)

value 返回的控件當(dāng)前值

返回值

0 -成功 其他值-失敗

(3)

函數(shù)功能

Ain1和Ain2采集過(guò)程控制

函數(shù)原型

int sampling ( unsigned char coupling1_cw, int div1, int DC1_code,unsigned char coupling2_cw, int div2, int DC2_code,int timebase, unsigned chartri, int sampling_points,int Panel_Handle, int stop_ID, unsigned char ain1_data[], unsigned char ain2_data[],double *show_pots)

輸入?yún)?shù)

coupling1_cw,coupling2_cw == Ain1,Ain 2通道的耦合方式控制字
0:直流耦合(不隔直) 1:交流耦合(隔直)
div1,div2 == Ain1,Ain 2通道的伏格序號(hào)


Div序號(hào)

0

1

2

3

4

5

6

7

8

9

通道總增益

20

10

5

2

1

0.5

0.2

0.1

0.05

0.02

DC1_code,DC2_code == Ain1,Ain 2通道的垂直偏置,取值范圍10~4095
time_base == 時(shí)基


timebase序號(hào)

0

1

2

3

4

5

6

7

8

9

采樣時(shí)鐘

20M

20M

20M

20M

20M

20M

20M

20M

20M

20M

timebase序號(hào)

10

11

12

13

14

15

16

17

18

19

采樣時(shí)鐘

10M

5M

2.5M

1M

500K

250K

100K

50K

25K

12.5K

tri == 觸發(fā)源選擇 0:時(shí)鐘CLK1 3: 外部信號(hào) 4:內(nèi)部DDS1
5:內(nèi)部DDS2 6: 手動(dòng)
sampling_points ==采樣點(diǎn)數(shù)
Panel_Handle==中斷采集的控件面板句柄
stop_ID ==中斷采集的控件名稱(chēng)

輸出參數(shù)

ain1_data[] == Ain1的采集值
ain2_data[] == Ain1的采集值;
show_pots == 在顯示波形的graph控件上X軸的點(diǎn)數(shù)

返回值

0-采集成功;輸出值有效
1-采集不成功,被中斷;輸出值無(wú)效
8-采集不成功,EPP不能讀數(shù);輸出值無(wú)效

(4)

函數(shù)功能

由enable_timer( )函數(shù)調(diào)用來(lái)設(shè)置定時(shí)器啟動(dòng),實(shí)現(xiàn)循環(huán)采集

函數(shù)原型

int SetCtrlAttribute (int panelHandle, int controlID, int controlAttribute, ...)

輸入?yún)?shù)

panelHandle - 內(nèi)存當(dāng)中的面板句柄,即為控件所在面板的句柄值
controlID - 控件的ID值,在控件屬性面板中可以獲得
controlAttribute - 特定的控件屬性

輸出參數(shù)

無(wú)

返回值

0 -成功 其他值-失敗

(5)

函數(shù)功能

采集數(shù)據(jù)處理-根據(jù)采集的參數(shù)設(shè)置,計(jì)算信號(hào)的頻率,峰峰值,平均值和有效值

函數(shù)原型

int processing_data (unsigned char data[], int points, unsigned char coupling_cw, int div,int timebase, double *signal_fr, double *vp, double *vm, double *ve)

輸入?yún)?shù)

data[ ] - 采集數(shù)據(jù)存放數(shù)組
Points - 采集數(shù)據(jù)點(diǎn)數(shù)
coupling_cw - 耦合方式 0:直流耦合(不隔直) 1:交流耦合(隔直)
div - 垂直靈敏度(伏/格)序號(hào) 必須和采集時(shí)設(shè)置的div一致
timebase - 掃描速度(時(shí)基)序號(hào) 必須和采集時(shí)設(shè)置的timebase一致

輸出參數(shù)

signal_fr== 信號(hào)頻率Hz
vp == 峰值;
vm == 均值;
ve == 有效值;

返回值

0 -OK ,輸出值有效
1 -出錯(cuò),輸出值無(wú)效。 采樣頻率太大,應(yīng)減小時(shí)基序號(hào),以增大采樣頻率

(6)

函數(shù)功能

在圖形控件上顯示波形

函數(shù)原型

int PlotWaveform (int panelHandle, int controlID, void *yArray, int numberOfPoints, int yDataType, double yGain, double yOffset, double initialX, double xIncrement, int plotStyle, int pointStyle, int lineStyle, int pointFrequency, int color)

輸入?yún)?shù)

panelHandle - 圖形控件所在面板的句柄值
controlID - 圖形控件的ID值
*yArray - 沿Y軸分布的數(shù)據(jù)數(shù)組首地址
numberOfPoints - 需要顯示的數(shù)據(jù)點(diǎn)數(shù)
yDataType - 指定數(shù)據(jù)類(lèi)型
yGain - 指定Y軸顯示數(shù)據(jù)的增益
yOffset - 指定Y軸顯示數(shù)據(jù)的偏移量
initialX - 指定X軸的初始值
xIncrement - 指定X軸的步進(jìn)值
plotStyle - 指定顯示波形的連點(diǎn)方式
pointStyle - 指定顯示波形的點(diǎn)的形狀
lineStyle - 指定顯示波形的線條形狀
pointFrequency -當(dāng)plotStyle VAL_CONNECTED_POINTS or VAL_SCATTER時(shí) 指定點(diǎn)之間的標(biāo)記間;
color - 指定線條的顏色

輸出參數(shù)

無(wú)

返回值

整數(shù) 代表所繪圖形的句柄

5.3 在電子測(cè)量實(shí)驗(yàn)箱中示波器硬件提供32K存儲(chǔ)深度的基礎(chǔ)上設(shè)計(jì)波形存儲(chǔ)、回放功能
在5.2節(jié)設(shè)計(jì)的虛擬存儲(chǔ)示波器面板上有兩個(gè)命令按鈕(Command)控件,如圖6所示,保存波形(保存按鈕)調(diào)用ArrayToFile()函數(shù),打開(kāi)波形文件(打開(kāi)按鈕)調(diào)用FileToArray()函數(shù),波形的顯示調(diào)用PlotWaveform()函數(shù),以上函數(shù)均由CVI軟件提供,可直接使用。

六、設(shè)計(jì)結(jié)果分析

6.1 雙蹤顯示波形的觀測(cè)
由兩臺(tái)函數(shù)信號(hào)源分別產(chǎn)生兩路電壓信號(hào),一個(gè)產(chǎn)生幅度為5V,頻率為5KHz的正弦波,另一個(gè)產(chǎn)生幅度為3V,頻率為5KHz的三角波,從設(shè)計(jì)的虛擬器進(jìn)行雙蹤顯示,并畫(huà)出波形。
畫(huà)信號(hào)一波形:畫(huà)信號(hào)二波形:

6.2由函數(shù)信號(hào)源產(chǎn)生一個(gè)頻率為5KHz,幅度變化(有效值)如下表的正弦波,利用設(shè)計(jì)的虛擬數(shù)字示波器進(jìn)行有效值測(cè)量。

標(biāo)準(zhǔn)信號(hào)(V)

0.25

0.5

2.5

5

通道1(Ain1)(V)

通道2(Ain2)(V)


6.3由函數(shù)信號(hào)源產(chǎn)生一個(gè)幅度為5V,頻率變化如下表的正弦波,利用設(shè)計(jì)的虛擬數(shù)字示波器進(jìn)行頻率測(cè)量。


標(biāo)準(zhǔn)信號(hào)(KHZ)

0.01

0.1

0.5

1.0

5.0

10.0

50.0

100.0

1000.0

通道1(Ain1)(KHZ)

通道2(Ain2)(KHZ)

七、思考和練習(xí)題

1.能否用一個(gè)帶寬為20MHz的示波器觀測(cè)重復(fù)頻率為15MHz的正弦波和方波?為什么?
2.利用示波器測(cè)量各種波形參數(shù)時(shí),你如何減小其測(cè)量誤差?
3.測(cè)量方波的上升和下降時(shí)間可以有哪些方法?


上一頁(yè) 1 2 3 下一頁(yè)

關(guān)鍵詞: 數(shù)字存儲(chǔ)示波

評(píng)論


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

關(guān)閉