數(shù)字存儲示波器的設(shè)計
垂直靈敏度 | 50mV/div | 0.1V/div | 0.5V/div | 1V/div |
量程(V) | ||||
通道總增益 | ||||
Div序號 |
表1
⑵ 給定掃描速度為200u/div,則采樣時間TS =200u×10 =2000u=2ms,由于滿屏采樣點數(shù)固定為25000點,所以由FS×TS <25000,可得到FS < 12.5M 。由于提供的時鐘沒有12.5M,因此可選擇最接近的10MHZ作為采樣時鐘。
Timebase序號 | ||||
tdiv(s) | 0.1u/div | 1u/div | 10u/div | 100u/div |
采樣時鐘(HZ) | ||||
Timebase序號 | ||||
tdiv(s) | 500u/div | 1m/div | 10m/div | 1s/div |
采樣時鐘(HZ) |
表2
圖7 示波器軟件流程圖
設(shè)計中可參考的CVI軟件和實驗軟件平臺提供的主要函數(shù)如下表所示:
(1) | 函數(shù)功能 | EPP接口初始化 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
函數(shù)原型 | void epp_init(void) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
輸入?yún)?shù) | 無 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
輸出參數(shù) | 無 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
返回值 | 無 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(2) | 函數(shù)功能 | 返回控件的當(dāng)前值 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
函數(shù)原型 | int GetCtrlVal (int panelHandle, int controlID, void *value) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
輸入?yún)?shù) | panelHandle - 內(nèi)存當(dāng)中的面板句柄,即為控件所在面板的句柄值 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
輸出參數(shù) | value 返回的控件當(dāng)前值 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
返回值 | 0 -成功 其他值-失敗 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(3) | 函數(shù)功能 | Ain1和Ain2采集過程控制 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
函數(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通道的耦合方式控制字
DC1_code,DC2_code == Ain1,Ain 2通道的垂直偏置,取值范圍10~4095
tri == 觸發(fā)源選擇 0:時鐘CLK1 3: 外部信號 4:內(nèi)部DDS1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
輸出參數(shù) | ain1_data[] == Ain1的采集值 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
返回值 | 0-采集成功;輸出值有效 |
(4) | 函數(shù)功能 | 由enable_timer( )函數(shù)調(diào)用來設(shè)置定時器啟動,實現(xiàn)循環(huán)采集 |
函數(shù)原型 | int SetCtrlAttribute (int panelHandle, int controlID, int controlAttribute, ...) | |
輸入?yún)?shù) | panelHandle - 內(nèi)存當(dāng)中的面板句柄,即為控件所在面板的句柄值 | |
輸出參數(shù) | 無 | |
返回值 | 0 -成功 其他值-失敗 | |
(5) | 函數(shù)功能 | 采集數(shù)據(jù)處理-根據(jù)采集的參數(shù)設(shè)置,計算信號的頻率,峰峰值,平均值和有效值 |
函數(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ù)組 | |
輸出參數(shù) | signal_fr== 信號頻率Hz | |
返回值 | 0 -OK ,輸出值有效 | |
(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 - 圖形控件所在面板的句柄值 | |
輸出參數(shù) | 無 | |
返回值 | 整數(shù) 代表所繪圖形的句柄 |
5.3 在電子測量實驗箱中示波器硬件提供32K存儲深度的基礎(chǔ)上設(shè)計波形存儲、回放功能
在5.2節(jié)設(shè)計的虛擬存儲示波器面板上有兩個命令按鈕(Command)控件,如圖6所示,保存波形(保存按鈕)調(diào)用ArrayToFile()函數(shù),打開波形文件(打開按鈕)調(diào)用FileToArray()函數(shù),波形的顯示調(diào)用PlotWaveform()函數(shù),以上函數(shù)均由CVI軟件提供,可直接使用。
6.1 雙蹤顯示波形的觀測
由兩臺函數(shù)信號源分別產(chǎn)生兩路電壓信號,一個產(chǎn)生幅度為5V,頻率為5KHz的正弦波,另一個產(chǎn)生幅度為3V,頻率為5KHz的三角波,從設(shè)計的虛擬數(shù)字存儲示波器進(jìn)行雙蹤顯示,并畫出波形。
畫信號一波形:畫信號二波形:
6.2由函數(shù)信號源產(chǎn)生一個頻率為5KHz,幅度變化(有效值)如下表的正弦波,利用設(shè)計的虛擬數(shù)字示波器進(jìn)行有效值測量。
標(biāo)準(zhǔn)信號(V) | 0.25 | 0.5 | 2.5 | 5 |
通道1(Ain1)(V) | ||||
通道2(Ain2)(V) |
6.3由函數(shù)信號源產(chǎn)生一個幅度為5V,頻率變化如下表的正弦波,利用設(shè)計的虛擬數(shù)字示波器進(jìn)行頻率測量。
標(biāo)準(zhǔn)信號(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.能否用一個帶寬為20MHz的示波器觀測重復(fù)頻率為15MHz的正弦波和方波?為什么?
2.利用示波器測量各種波形參數(shù)時,你如何減小其測量誤差?
3.測量方波的上升和下降時間可以有哪些方法?
評論