關(guān)于示波器的存儲深度
存儲深度的基本概念
示波器存儲器的物理介質(zhì)
存儲深度和采樣率的關(guān)系
特大存儲深度,當(dāng)前設(shè)置的特大存儲深度,存儲深度的疊加使用,可顯示的存儲深度,可分析存儲深度
存儲深度的應(yīng)用價值
存儲深度被稱為示波器的第三大指標。存儲深度=采樣率*采樣時間。這個關(guān)系式被筆者稱為示波器的一關(guān)系式。
存儲深度的基本概念
“存儲深度”是個翻譯過來的詞語,英文叫“Record Length”。有的將它翻譯成“存儲長度”,“記錄長度”,等。它表示示波器可以保存的采樣點的個數(shù)。存儲深度是“1 千萬個采樣點”,示波器廠商寫作 10 Mpts,10 MS 或 10 M 的都有。這里,pts 可以理解為 points 的縮寫,S 理解為 Samples 的意思。
存儲深度表現(xiàn)在物理介質(zhì)上其實是某種存儲器的容量,存儲器英文就是“Memory”。該存儲器容量的大小也就是“存儲深度”。存儲器保存滿了,達到存儲深度的極限之后怎么辦? 我們可以將示波器的存儲器理解為環(huán)形存儲器。示波器不斷采樣得到新的采樣點會填充進來,老的采樣點會自動地溢出,這樣周而復(fù)始的過程直到示波器被“觸發(fā)信號”“叫?!被蛘唛g隔一定長的時間被強迫“叫?!睘橹?。“叫?!币淮危静ㄆ骶蛯⒋鎯ζ髦斜4娴倪@些采樣點“搬移”到示波器的屏幕上顯示。這兩次“搬移”之間等待的時間相對于采樣的時間極其漫長,被稱為“死區(qū)時間”。
上述過程經(jīng)常被筆者這樣打比方:存儲器就像一個“水缸”,“水缸”的容量就是“存儲深度”。如果使用一個“水龍頭”以恒定的速度對水缸注水,水龍頭的水流速度就是“采樣率”。當(dāng)水缸已經(jīng)被注滿水之后,水龍頭仍然在對水缸注水,水缸里的水有一部分會溢出來,但水缸的總體容量是保持不變的。在某種條件下,水缸里的水將被全部倒出來,周而復(fù)始。
示波器存儲器的物理介質(zhì)
存儲器的物理介質(zhì)是什么?是否就是我們熟悉的 DDR 內(nèi)存呢?容量為什么那么???為什么不可以用硬盤或者 SD 卡等大容量介質(zhì)作為物理介質(zhì)呢?如果是硬盤作為存儲介質(zhì),示波器不就可以作為數(shù)據(jù)記錄儀了嗎?
回答上述問題其實并不容易!
早期的示波器包括現(xiàn)在的高帶寬示波器使用的存儲器都是示波器廠商自己設(shè)計的專用芯片,甚至一度存儲器芯片和 ADC 芯片之間的配合是 A 公司(后來叫 K 公司)的一個技術(shù)瓶頸。在若干年之前,K 公司的所有示波器在存儲深度達到每通道 2 Mpts 采樣點之后,采樣率會自動降低到 4 GS/s,直到 2006 年(好象是這個年份,也許更晚點),當(dāng)年的 A 公司收購了某芯片公司才解決這個技術(shù)瓶頸?,F(xiàn)在 K 公司的低帶寬示波器的所有系列中,存儲深度指標一直不能突破每通道 2 Mpts,我猜想它可能采用的還是老款芯片。
對于高端示波器,存儲器芯片一直是核心技術(shù),對于里面的技術(shù)細節(jié)筆者知之甚少。示波器中的 ADC 速率太快,普通的存儲介質(zhì)根本來不及在這么短的時間內(nèi)“吞吐”那么大量的數(shù)據(jù)量。
還是用具體的數(shù)字來理解高速 ADC 的超大數(shù)據(jù)量對存儲器“吞吐量”提出的要求。譬如 ADC 的采樣率是 20 GS/s,也就是說每秒鐘要采樣 20 G 個點,而每個點是由 8 個 0 和 1 組成。如果 ADC 的輸出是完全按照串行數(shù)據(jù)的傳輸?shù)酱鎯ζ髦?,那么傳輸速率就?160 Gbps。這是什么概念?現(xiàn)在的 PCI-Express 3.0 的速率是 8 Gbps,高速的高速芯片在單板上傳輸速率能達到 25 Gbps,但還不成熟,也沒有用到示波器上。高速 ADC 的采樣點怎么傳輸?shù)酱鎯ζ髦?,這是一個難題!其實這么高速的 ADC 也不可能是單芯片設(shè)計的,內(nèi)部是由很多 2.5 GS/s 或 1.25 GS/s,250 MS/s 的“小的”ADC“交織拼接”實現(xiàn)的。既然不完全是串行的方式實現(xiàn),采用并行傳輸之后,傳輸?shù)酱鎯ζ鞯臄?shù)據(jù)又怎么校準、對齊,再通過觸發(fā)機制規(guī)整地顯示到示波器屏幕上呢?這是示波器廠商的一點點小秘密。示波器發(fā)展到今天這方面門檻談不上多高,但還是有那么一點點的。
大家可能又會問另外一個問題,存儲器的數(shù)據(jù)又是怎么傳輸 CPU 中被分析、被顯示呢?這也是一個問題,這問題涉及到示波器的數(shù)據(jù)處理的架構(gòu)。隨著示波器技術(shù)的發(fā)展,目前存在的兩種架構(gòu),一種是基于 PC 平臺的,另外一種是嵌入式的,主要是基于 FPGA 實現(xiàn)的。隨著 DDR 內(nèi)存速率的提高和 FPGA 計算能力的增強,現(xiàn)在基于 FPGA 計算平臺的存儲器芯片已經(jīng)不再神秘,多是采用工業(yè)上的 DDR 內(nèi)存顆粒了,因此存儲深度這個指標,在不顧及存儲的采樣點是否真的被顯示、被分析的情況下,可以做得特別大了。但往往真實情況是,雖然存儲深度很高,但顯示的采樣點數(shù)和分析的采樣點數(shù)可能只有千分之幾,這主要取決于 FPGA 的“計算資源”或者說取決于成本,換句話說,取決于示波器產(chǎn)品的定義了。當(dāng)然在不顧及成本的情況下,可以向外行人吹噓一下是算法的優(yōu)勢。在這類產(chǎn)品中,在屏幕上看到的波形對應(yīng)的存儲深度并不等于采樣率乘以采樣時間,這有時侯確是讓人很糾結(jié)的。
存儲深度和采樣率的關(guān)系
存儲深度=采樣率*采樣時間。筆者一直執(zhí)著地將它稱為示波器中的一關(guān)系式,因為很多工程師在使用示波器過程中因為忘記這個關(guān)系式而產(chǎn)生錯誤。如 Figure 1 為中國首款智能示波器 SDS3000 的顯示界面。右下方紅色方框中,右邊兩個數(shù)值 50 MS/s 和 20 ms/div 相乘,再乘以 10,就等于左邊的數(shù) 10 MS。當(dāng)前采樣率為 50 MS/s,當(dāng)前時基為 20 ms/div,因為水平軸是 10 格(有些示波器是 12 格或 14 格),因此采樣時間為 200 ms,50 MS/s * 200 ms = 10 MS。就是說以 50 MS/s 的采樣率捕獲 200 ms 的波形,需要示波器的存儲幅度是 10 MS。這和水缸里面注水是一個概念,如果“水龍頭”的流速是每秒 5 千萬(50 M)滴水,那么持續(xù)向“水缸”注水 200 ms,水缸中就有了 1 千萬(10 M)滴水了。 就是這么簡單的乘積關(guān)系。
SDS3000 的顯示界面
這個一關(guān)系式被示波器廠商用很多美妙的比喻來強化。其中最經(jīng)典的一個比方和“蒙娜麗莎那迷人的微笑”有關(guān):當(dāng)存儲深度太低的時候,也就相當(dāng)于數(shù)碼相機的像素太低,拍攝這個名畫的照片就無法生動復(fù)現(xiàn)蒙娜麗莎那迷人的微笑,但是卻能夠逼真地拍攝出蒙娜麗莎那俏麗的鼻子,因為拍攝迷人的微笑需要拍攝完整的面部,需要更高的像素,而鼻子只是局部,像素的要求并不高。
的示意圖也清晰地演繹了這個關(guān)系式的重要性。一個圖形表明在采樣率足夠的前提下觀察多個周期的樣本,需要的存儲深度深度很長,圖示中需要 36 個采樣點。第二個圖形采樣率依然保持不變,但存儲深度變小,只有 9 個采樣點,因此只能采樣一個周期多點的波形。第三個波形仍然是存儲深度很小,只有 9 個采樣點,但仍然要采樣和一個圖形一樣多個周期的波形,其結(jié)果是采樣率變小,測量得到的波形就會失真。
采樣率和存儲深度之間關(guān)系的演繹
特大存儲深度,當(dāng)前設(shè)置的特大存儲深度,存儲深度的疊加使用,可顯示的存儲深度,可分析存儲深度
每臺示波器標配的特大存儲深度和加了選件之后的特大存儲深度可能不一樣。每臺示波器的特大存儲深度受到物理介質(zhì)限制。已經(jīng)購買的示波器特大存儲深度需要在菜單中設(shè)置。示波器廠商為了追求操作體驗,出廠默認的存儲深度往往并不是這臺示波器可達到的特大存儲深度。
一旦設(shè)置好當(dāng)前的特大存儲深度之后,調(diào)節(jié)水平時基,隨著采樣時間的增加,示波器的存儲深度會自動增加,這個過程中采樣率保持不變;存儲深度隨采樣時間增加到當(dāng)前設(shè)置的特大存儲深度后,如果繼續(xù)增加采樣時間,采樣率會自動下降,存儲深度保持不變。但是,有些情況下,因為采樣率和采樣時間的步進是在固定的若干個檔位下跳變,并不是連續(xù)細調(diào)的,兩者相乘不一定和特大存儲深度的數(shù)值相同,這時候示波器可能會自動調(diào)整當(dāng)前的采樣率或存儲深度,使得它們?nèi)邼M足乘積關(guān)系。
存儲深度、采樣率、采樣時間(水平時基)之間的關(guān)系
示波器多個通道同時工作時,采樣率和存儲深度可以工作在疊加模式。多數(shù)示波器是 2 個通道疊加,也有的是 4 個通道疊加。如 Figure 4 所示表示兩個通道疊加使用的工作原理示意圖。通道 1 和通道 2 交替采樣,一個通道延遲 1/2 的采樣周期使得采樣率加倍,示波器在采樣過程中交替讀取存儲器中的采樣點,整體存儲深度也相應(yīng)加倍。因此,為了獲得特大的采樣率和存儲深度,在只使用兩個通道進行測量時,對于兩兩疊加的模式,建議只打開 1、2 通道中的一個, 3、4 通道中的一個。
示波器來年各個通道工作在疊加模式示意圖
現(xiàn)代示波器的存儲深度雖然很高,動輒捕獲成千上萬個數(shù)據(jù)樣本,可是示波器的顯示屏在水平方向上的圖像分辨率往往只有 1280 個甚至更少的像素。示波器是如何將那么多的點擠在這么小的屏幕上顯示出來的呢?顯示的壓縮算法解決了這個問題。壓縮算法將捕獲的大量數(shù)據(jù)樣本分成很多小段,每一段只抽取特大值和特大值的數(shù)據(jù)點顯示在屏幕上,顯示屏幕上只顯示了捕獲的 1 K-1 M 數(shù)據(jù)樣本的 770 個樣本,特大值和特小值點成對地顯示在屏幕上。這種壓縮算法在顯示上加重了信號的峰峰值在視覺上的效應(yīng),表現(xiàn)為波形看起來比展開之后的局部放大的沒有被壓縮的波形有更多的噪聲,波形軌跡顯得更粗。
壓縮算法的簡單圖示
但是,也有些示波器即使采用了顯示壓縮算法,但屏幕上顯示的存儲深度并不等于當(dāng)前的采樣率乘以采樣時間。屏幕上顯示的只是部分波形,對應(yīng)的是“采樣時間”的一部分。還有一部分“采樣時間”在屏幕的“外部”!需要旋轉(zhuǎn)示波器面板上的“position”鍵將屏幕外面采集的波形“移動”到屏幕顯示的窗口。這是很令人糾結(jié)的。
有些示波器不只是無法通過壓縮算法完整地顯示捕獲到的數(shù)據(jù),也更無法對捕獲到的數(shù)據(jù)進行完整地測量和分析。這正是泰克示波器的一大“通病”。這類示波器即使存儲深度很大,但對用戶的實用價值并不是很大,波形只是被壓縮地“堆積”在那里讓用戶看一下“大概”。示波器 SDS3000 沒有這樣的問題。SDS3000 測量脈寬變化的信號,脈寬小值 13.9 ns,特大值 399.8898 us,和實際相符; 中使用 MDO3000 測量脈寬變化的信號,脈寬小值 37.32 us,特大值 37.52 us。肉眼看到屏幕上的小脈寬只有 13.9 ns左右,在屏幕中間,但是示波器無法測量出來。
SDS3000 測量脈寬變化的信號,脈寬小值 13.9 ns,特大值 399.8898 us,和實際相符
MDO3000 測量脈寬變化的信號,脈寬小值 37.32 us,特大值 37.52 us。肉眼看到屏幕上的小脈寬在屏幕中間,但是無法測量出來
存儲深度的應(yīng)用價值
有些低頻信號中有高頻噪聲,有些高速信號包含了低頻調(diào)制,有些信號的變化過程非常緩慢,有些分析本身只有樣本數(shù)足夠多才有意義,這四種情況下都需要長存儲。而前兩種情況都需要將感興趣的低頻成分完整地捕獲下來,才能進行有意義的分析。在很多的實際應(yīng)用中都屬于上述四種長存儲的應(yīng)用范疇,如電源軟啟動過程的測量,電源紋波和電源噪聲的測量,F(xiàn)FT 分析,擴頻時鐘分析,發(fā)現(xiàn)隨機或罕見的錯誤,統(tǒng)計分析,抖動追蹤分析,眼圖等。關(guān)于這方面有非常多的應(yīng)用文檔,該文不再細述。