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