100MHz 數字存儲示波表樣機的研究與試制----數據采集系統設計(四)
3.4.4峰值采樣
本文引用地址:http://dyxdggzs.com/article/201706/348242.htm峰值采樣是數字存儲示波器的重要技術(shù)之一,它主要用來(lái)捕捉信號波形的毛刺以及實(shí)現波形的包絡(luò )顯示。如果我們使用模擬示波器來(lái)觀(guān)察如圖3-19所示的失真正弦波,那么只有當毛刺是重復性并且與主信號同步時(shí),我們才有可能看到這個(gè)毛刺。但由于毛刺常常是源于其他的電路系統,所以這些毛刺信號往往是隨機而且與主信號不同步的。
數字存儲示波器要想準確的捕捉到毛刺,其中一個(gè)有效的方法就是提高采樣率,減少采樣點(diǎn)之間的時(shí)間間隔,使得采樣點(diǎn)能夠落在隨機出現的毛刺上。但一味追求高采樣率隨之而來(lái)的問(wèn)題就是存儲空間的不夠用,從而導致捕獲時(shí)間的減少。例如,峰值采樣的典型應用是觀(guān)察某些電路故障的長(cháng)時(shí)間記錄,從中尋找毛刺或其他不規則現象。如果我們只有5K的存儲深度,當采樣率為50MHz時(shí)可以進(jìn)行的最長(cháng)捕獲時(shí)間為100μS,而當采樣率提高到1GHz時(shí),最長(cháng)捕獲時(shí)間則縮短為5μS.所以,提高采樣率與有限的存儲深度之間存在著(zhù)矛盾。解決這一矛盾的方法就是峰值采樣。
采用峰值采樣時(shí),示波器始終以最高的采樣率采樣,在每個(gè)取樣間隔中捕獲信號波形的最大和最小值,并由正負峰值檢測器將信號的最大、最小值暫時(shí)存儲起來(lái)。當示波器要顯示采樣點(diǎn)的時(shí)候,示波器就用捕獲的信號的最大最小值來(lái)代替原來(lái)的采樣點(diǎn)數值,并將該峰值檢測器清零。因此,峰值采樣能夠幫助我們發(fā)現由于取樣間隔過(guò)寬而丟失的毛刺信號。
示波器上的峰值檢測分為硬件(模擬)峰值檢測器和數字式峰值檢測器。模擬峰值檢測器是一個(gè)專(zhuān)門(mén)的硬件電路,它以電容上電壓的形式存儲信號的峰值。這種的缺點(diǎn)是速度比較慢,它通常只能存儲寬度大于幾個(gè)微秒且具有相當幅度的毛刺。數字式峰值檢測器是圍繞AD而構成的,這時(shí)AD將以可能的最高采樣速率連續的對信號進(jìn)行采樣,然后將峰值存儲在一個(gè)專(zhuān)用的存儲器中,當要顯示采樣點(diǎn)的時(shí)候,存儲的峰值就作為該時(shí)刻的采樣值來(lái)使用。數字式峰值檢測器的優(yōu)點(diǎn)是其速度和數字化過(guò)程的速度一樣快。
本項目中,我們采用了數字式峰值檢測方式。系統框圖如圖3-20.
在實(shí)際電路設計中,由于受FPGA速度的影響,AD的采樣率不能設置為最高的100MHz,而是采用固定的10MHz.如圖所示,調理通道出來(lái)的模擬信號經(jīng)A/D采樣后并不像普通采樣那樣直接進(jìn)入FIFO,而是先經(jīng)過(guò)峰值檢測模塊篩選出最大最小值后,再將最大最小值存入FIFO.寫(xiě)FIFO的時(shí)鐘由時(shí)基檔位決定。這樣將AD采樣時(shí)鐘和寫(xiě)FIFO時(shí)鐘區分開(kāi)來(lái),使得在低時(shí)基檔位下同樣能夠捕捉到信號的毛刺。峰值檢測模塊的功能框圖如圖3-21.
由圖可知,整個(gè)峰值檢測模塊主要由兩個(gè)比較器,兩個(gè)寄存器,最大最小值選擇器以及控制電路組成。從AD送來(lái)的數據首先進(jìn)入最大最小值寄存器,作為比較的初值,再與后面送進(jìn)來(lái)的數據相比較。比較過(guò)程中的最大最小值再分別存入最大最小值寄存器。比較完一組數據后,控制電路連續發(fā)出兩個(gè)FIFO寫(xiě)脈沖,將這組存儲在最大最小值寄存器里的數據寫(xiě)入FIFO.當寫(xiě)FIFO結束以后,控制電路緊接著(zhù)再發(fā)出一個(gè)CP脈沖,將下一組的第一個(gè)數據寫(xiě)入最大最小值寄存器,作為第二組比較的初值。峰值檢測電路的時(shí)序仿真如圖3-22.
其中的peak_sel信號為峰值功能選擇信號,當peak_sel為高電平時(shí),峰值功能被選中。base_out和p_clk分別為采樣脈沖和比較脈沖,它們同為10MHz.即從AD進(jìn)來(lái)一個(gè)數據就馬上進(jìn)行比較,比較結果作為最大最小值寄存器的鎖存信號。從圖3-19可以看到,AD數據同時(shí)送入比較器和寄存器,這就保證了當比較結果為真時(shí),數據就會(huì )立即被寫(xiě)入寄存器。wclk信號為FIFO寫(xiě)時(shí)鐘,它的電路要求是必須在前一組最后一個(gè)數據采進(jìn)來(lái)之后,后一組第一個(gè)數據采進(jìn)來(lái)之前,完成兩次寫(xiě)FIFO的操作。MaxMin_sel信號為最大最小值選擇信號,當它為低電平時(shí),最大值寫(xiě)入FIFO;當它為高電平時(shí),最小值寫(xiě)入FIFO.
由于峰值檢測是以一組采樣點(diǎn)中最大最小值的形式存儲一個(gè)事件的幅值數據,所以事件的定時(shí)分辨率是無(wú)法知道的,它只能以峰值檢測間隔的分辨率來(lái)顯示檢測到的事件。例如,示波器的AD以1GSPS(1ns間隔)采樣,而峰值檢測的采速為10MSPS(100ns間隔),快速事件將以100ns分辨率進(jìn)行顯示,而不是以AD采樣的1ns.從AD來(lái)說(shuō),100ns之間有100個(gè)采樣點(diǎn),如果100個(gè)采樣點(diǎn)中不止一個(gè)快速事件,而示波器也只能捕捉到這些事件中的最大值和最小值。
3.5 SCAN方式下的數據采集
當示波器的時(shí)基檔打到某一檔位的時(shí)候,示波器開(kāi)始使用SCAN方式(即掃描方式)來(lái)顯示波形。掃描方式主要用來(lái)觀(guān)測低頻信號和變化緩慢的信號。工作在掃描方式下的示波器就像一臺圖像記錄儀,記錄筆在屏幕右端,紙由左向右移動(dòng)。當掃完一屏后,在顯示新波形的同時(shí)刪除舊波形數據,新波形與舊波形之間有一格的空白區來(lái)加以區分。由于掃描方式主要是用來(lái)觀(guān)測低頻信號和變化緩慢的信號,所以如果采用通常的觸發(fā)方式來(lái)顯示波形的話(huà),觸發(fā)條件會(huì )很難滿(mǎn)足,故示波器工作在掃描方式下時(shí)不考慮觸發(fā)信號。
本項目中,我們設計當時(shí)基檔打在100ms/div和更高的檔位時(shí)采用掃描方式。具體的實(shí)現流程如圖3-23.
從圖中我們可以看到掃描功能主要由index0,index1,index2三個(gè)計數器來(lái)完成。其中,index0中的計數值表示最新顯示數據距顯示屏左端的距離,它的范圍為0~249;index1中的計數值表示波形沒(méi)掃完一屏時(shí)距顯示屏左端的距離,范圍為1~250;index2中的計數值表示要清除的舊波形距顯示屏左端的距離,范圍為0~249.它的具體實(shí)現過(guò)程是:首先初始化,將index0,index1,index2設置為0,然后判斷是否設置為掃描模式。當確認為掃描模式后,判斷FIFO里是否采集夠100個(gè)點(diǎn)。采滿(mǎn)100個(gè)點(diǎn)后,將這100個(gè)數據存入相應的存儲空間,并使index0,index1開(kāi)始計數。當index1計數到225的時(shí)候,也就是新波形數據已經(jīng)掃描完第九格時(shí),index2開(kāi)始計數,即開(kāi)始清除顯示屏最左端第一列的最老數據,這樣保證了新波形與舊波形之間有一格的空白顯示區。當掃描完一屏后,即index1計數到250的時(shí),其值不再變化,保持250不變。注意,在掃描模式下不考慮觸發(fā)信號,AD不停的采樣,一次性寫(xiě)入FIFO 100個(gè)點(diǎn)。顯示時(shí)讀出這100個(gè)點(diǎn),從中選出最大值和最小值,再與前面最近的點(diǎn)比較,選出最終的最大最小值,顯示在同一坐標軸上。每顯示和清除一列波形,屏幕刷新一次。
3.6時(shí)基電路的實(shí)現
時(shí)基電路是數字存儲示波器的重要組成部分,它的作用主要是提供AD的采樣時(shí)鐘和FIFO的寫(xiě)時(shí)鐘。它的電路實(shí)現如圖3-24.
圖中fp0為源時(shí)鐘,它是由外部晶振提供的標準100MHz頻率信號。進(jìn)來(lái)的100MHz頻率信號經(jīng)過(guò)由四個(gè)74390和兩個(gè)T觸發(fā)器構成的二分頻、四分頻器組成的分頻網(wǎng)絡(luò ),按照1、2、5步進(jìn)的方法產(chǎn)生所需要的AD采樣頻率和FIFO寫(xiě)時(shí)鐘。在示波表的控制面板上有一個(gè)時(shí)基控制按鈕sec/div,不同的時(shí)基檔位下對應著(zhù)不同的采樣頻率。每選擇不同的時(shí)基檔位時(shí),圖中的base_sel[5..0]信號即時(shí)鐘選擇信號就會(huì )輸出不同的值以選擇與檔位相應的采樣時(shí)鐘。具體的時(shí)基檔位與采樣時(shí)鐘以及每個(gè)檔位下存儲深度的對應關(guān)系如表3-3.另外,從圖中我們還可以看到有兩個(gè)由peak_sel作為選擇信號的選擇電路。這主要是用來(lái)實(shí)現在峰值檢測時(shí)特殊的寫(xiě)FIFO時(shí)鐘和固定AD采樣頻率為10MHz.(請參考3.4.4節)
評論