關(guān)于示波器的存儲深度
我在一個(gè)高大上的公司做工程師的時(shí)候并不知道這個(gè)關(guān)系式,直到我后來(lái)賣(mài)示波器才知道有這么一個(gè)關(guān)系式,而且很重要。再追溯到我讀書(shū)的時(shí)候,當然更不知道這個(gè)關(guān)系式。
做工程師的時(shí)候,我的老板告訴我,為了確保示波器能準確地捕獲電源MOS管的峰值電壓,千萬(wàn)不要在屏幕上同時(shí)看很多波形,盡量讓示波器上只顯示一個(gè)脈沖。他的做法是不斷地調節觸發(fā)電平,肉眼盯著(zhù)示波器看,直到他調節觸發(fā)電平到足夠高(多少是足夠?),認為某次“抓到”的峰值電壓應該就是最大的了。 他為什么不同時(shí)捕獲更多的波形,只要確保采樣率是最大或者足夠就好了,再打開(kāi)參數測量的統計值不是更好嗎? 但是他只相信自己的眼睛盯著(zhù)看到的那個(gè)波形,并斷定某一個(gè)波形就一定是最大的了。還好他會(huì )使用觸發(fā)電平的。我們小弟當然也就相信他是權威啦,因為他當時(shí)確實(shí)已經(jīng)是公司級的專(zhuān)家了。……
這個(gè)真實(shí)故事給了我要舉辦1000場(chǎng)示波器技術(shù)交流會(huì )的強大理由。工程師們不太愿意拿出1個(gè)小時(shí)聽(tīng)聽(tīng)示波器的基礎課程,總覺(jué)得這示波器很簡(jiǎn)單,但其實(shí)對于示波器的ABC的認知還是太少。有些人將這個(gè)作為中國工程師和國外工程師的區別之一。這個(gè)判斷多少是令人有點(diǎn)憤怒的,但確實(shí)在某種程度上真的是這樣。 甚至換一個(gè)角度說(shuō),一個(gè)公司使用示波器的專(zhuān)業(yè)程度基本能反應一個(gè)公司的研發(fā)水平的。
那么今天我們花一點(diǎn)點(diǎn)時(shí)間快速閱讀一下這篇關(guān)于示波器存儲深度的“淺淺的”文章吧。為滿(mǎn)足大家快閱讀的需求,先將文章的標題摘錄如下:
1,存儲深度的基本概念
2,示波器存儲器的物理介質(zhì)
3,存儲深度和采樣率的關(guān)系
4,最大存儲深度,當前設置的最大存儲深度,存儲深度的疊加使用,可顯示的存儲深度,可分析存儲深度,
5,存儲深度的應用價(jià)值
------------------------------------------------------------------------------------------------------
存儲深度被稱(chēng)為示波器的第三大指標。存儲深度=采樣率*采樣時(shí)間。這個(gè)關(guān)系式被筆者稱(chēng)為示波器的第一關(guān)系式。
1,存儲深度的基本概念
“存儲深度”是個(gè)翻譯過(guò)來(lái)的詞語(yǔ),英文叫“Record Length”。有的將它翻譯成“存儲長(cháng)度”,“記錄長(cháng)度”,等。它表示示波器可以保存的采樣點(diǎn)的個(gè)數。存儲深度是“1千萬(wàn)個(gè)采樣點(diǎn)”,示波器廠(chǎng)商寫(xiě)作10Mpts,10MS或10M的都有。這里,pts可以理解為points的縮寫(xiě),S理解為Samples的意思。
存儲深度表現在物理介質(zhì)上其實(shí)是某種存儲器的容量,存儲器英文就是“Memory”。該存儲器容量的大小也就是“存儲深度”。存儲器保存滿(mǎn)了,達到存儲深度的極限之后怎么辦? 我們可以將示波器的存儲器理解為環(huán)形存儲器。示波器不斷采樣得到新的采樣點(diǎn)會(huì )填充進(jìn)來(lái),老的采樣點(diǎn)會(huì )自動(dòng)地溢出,這樣周而復始的過(guò)程直到示波器被“觸發(fā)信號”“叫停”或者間隔一定長(cháng)的時(shí)間被強迫“叫停”為止。“叫停”一次,示波器就將存儲器中保存的這些采樣點(diǎn)“搬移”到示波器的屏幕上顯示。這兩次“搬移”之間等待的時(shí)間相對于采樣的時(shí)間極其漫長(cháng),被稱(chēng)為“死區時(shí)間”。
上述過(guò)程經(jīng)常被筆者這樣打比方:存儲器就像一個(gè)“水缸”,“水缸”的容量就是“存儲深度”。如果使用一個(gè)“水龍頭”以恒定的速度對水缸注水,水龍頭的水流速度就是“采樣率”。當水缸已經(jīng)被注滿(mǎn)水之后,水龍頭仍然在對水缸注水,水缸里的水有一部分會(huì )溢出來(lái),但水缸的總體容量是保持不變的。在某種條件下,水缸里的水將被全部倒出來(lái),周而復始。圖1形象地表示了這種環(huán)形存儲器的概念。
圖1 示波器的環(huán)形存儲器
2,示波器存儲器的物理介質(zhì)
存儲器的物理介質(zhì)是什么? 是否就是我們熟悉的DDR內存呢? 容量為什么那么???為什么不可以用硬盤(pán)或者SD卡等大容量介質(zhì)作為物理介質(zhì)呢? 如果是硬盤(pán)作為存儲介質(zhì),示波器不就可以作為數據記錄儀了嗎?
回答上述問(wèn)題其實(shí)并不容易!
據筆者了解,早期的示波器包括現在的高帶寬示波器使用的存儲器都是示波器廠(chǎng)商自己設計的專(zhuān)用芯片,甚至一度存儲器芯片和ADC芯片之間的配合是A公司(后來(lái)叫K公司)的一個(gè)技術(shù)瓶頸。在若干年之前,K公司的所有示波器在存儲深度達到每通道2Mpts采樣點(diǎn)之后,采樣率會(huì )自動(dòng)降低到4GS/s,直到2006年(好象是這個(gè)年份,也許更晚點(diǎn)),當年的A公司收購了某芯片公司才解決這個(gè)技術(shù)瓶頸?,F在K公司的低帶寬示波器的所有系列中,存儲深度指標一直不能突破每通道2Mpts,我猜想它可能采用的還是老款芯片。
對于高端示波器,存儲器芯片一直是核心技術(shù),對于里面的技術(shù)細節筆者知之甚少。示波器中的ADC速率太快,普通的存儲介質(zhì)根本來(lái)不及在這么短的時(shí)間內“吞吐”那么大量的數據量。
還是用具體的數字來(lái)理解高速ADC的超大數據量對存儲器“吞吐量”提出的要求。譬如ADC的采樣率是20GS/s,也就是說(shuō)每秒鐘要采樣20G個(gè)點(diǎn),而每個(gè)點(diǎn)是由8個(gè)0和1組成。如果ADC的輸出是完全按照串行數據的傳輸到存儲器中,那么傳輸速率就是160Gbps。這是什么概念? 現在的PCI-Express 3.0的速率是 8Gbps,最高速的高速芯片在單板上傳輸速率能達到25Gbps,但還不成熟,也沒(méi)有用到示波器上。高速ADC的采樣點(diǎn)怎么傳輸到存儲器中,這是一個(gè)難題! 其實(shí)這么高速的ADC也不可能是單芯片設計的,內部是由很多2.5GS/s或1.25GS/s,250MS/s的“小的”ADC“交織拼接”實(shí)現的。既然不完全是串行的方式實(shí)現,采用并行傳輸之后,傳輸到存儲器的數據又怎么校準、對齊,再通過(guò)觸發(fā)機制規整地顯示到示波器屏幕上呢? 這是示波器廠(chǎng)商的一點(diǎn)點(diǎn)小秘密。示波器發(fā)展到今天這方面門(mén)檻談不上多高,但還是有那么一點(diǎn)點(diǎn)的。
大家可能又會(huì )問(wèn)另外一個(gè)問(wèn)題,存儲器的數據又是怎么傳輸CPU中被分析、被顯示呢? 這也是一個(gè)問(wèn)題,這問(wèn)題涉及到示波器的數據處理的架構。隨著(zhù)示波器技術(shù)的發(fā)展,目前存在的兩種架構,一種是基于PC平臺的,另外一種是嵌入式的,主要是基于FPGA實(shí)現的。隨著(zhù)DDR內存速率的提高和FPGA計算能力的增強,現在基于FPGA計算平臺的存儲器芯片已經(jīng)不再神秘,多是采用工業(yè)上的DDR內存顆粒了,因此存儲深度這個(gè)指標,在不顧及存儲的采樣點(diǎn)是否真的被顯示、被分析的情況下,可以做得特別大了。但往往真實(shí)情況是,雖然存儲深度很高,但顯示的采樣點(diǎn)數和分析的采樣點(diǎn)數可能只有千分之幾,這主要取決于FPGA的“計算資源”或者說(shuō)取決于成本,換句話(huà)說(shuō),取決于示波器產(chǎn)品的定義了。當然在不顧及成本的情況下,可以向外行人吹噓一下是算法的優(yōu)勢。在這類(lèi)產(chǎn)品中,在屏幕上看到的波形對應的存儲深度并不等于采樣率乘以采樣時(shí)間,這有時(shí)侯確是讓人很糾結的。
3,存儲深度和采樣率的關(guān)系
存儲深度=采樣率*采樣時(shí)間。筆者一直執著(zhù)地將它稱(chēng)為示波器中的第一關(guān)系式,因為很多工程師在使用示波器過(guò)程中因為忘記這個(gè)關(guān)系式而產(chǎn)生錯誤。如圖2為中國首款智能示波器SDS3000的顯示界面。右下方紅色方框中,右邊兩個(gè)數值50MS/s和20ms/div相乘,再乘以10,就等于左邊的數10MS。當前采樣率為50MS/s,當前時(shí)基為20ms/div,因為水平軸是10格(有些示波器是12格或14格),因此采樣時(shí)間為200ms, 50MS/s * 200ms = 10MS。就是說(shuō)以50MS/s的采樣率捕獲200ms的波形,需要示波器的存儲幅度是10MS。這和水缸里面注水是一個(gè)概念,如果“水龍頭”的流速是每秒5千萬(wàn)(50M)滴水,那么持續向“水缸”注水200ms,水缸中就有了1千萬(wàn)(10M)滴水了。 就是這么簡(jiǎn)單的乘積關(guān)系。
評論