引言
波形刷新率是評判數字示波器性能優(yōu)劣的重要指標之一,它直接體現(xiàn)了示波器抓取波形細節(jié)的能力,刷新率越高意味著捕獲異常的能力越強。目前國內示波器的最高波形刷新率在200000wfms/s左右,而高于200000wfms/s的基本上依賴進口。國內示波器刷新率做不高的主要原因有2個:
①波形合成技術和國際先進水平相比,差距還比較大;
②波形存儲采用外部存儲器。
本文通過對示波器波形合成技術的深入研究,提出一種基于FPGA的高刷新率的波形合成器,刷新率可達到400000wfms/s,該波形合成器已經成功應用在高刷新率示波器中。
1、波形三維映射模型
波形數據的三維信息包括:時間,幅度和幅度命中次數。在現(xiàn)代DSO中,可將多次觸發(fā)后采集到的多幀數據展現(xiàn)在屏幕上,并通過三維映射灰度圖來體現(xiàn)時間,幅度以及波形數據在每一個幅度上的命中次數。例如進行10次采樣每次采樣700個樣點,那么進行三維映射時,會將這10次采樣的波形進行疊加,然后將疊加后的波形數據映射到三維數據庫中。
如圖1所示,三維波形數據庫可以看作是一個m&mes;k的二維矩陣,m表示DSO屏幕的垂直分辨率(幅度),k表示DSO的水平分辨率(時間),而矩陣中元素amk表示幅度命中次數(概率),如圖所示。
圖1 三維波形數據庫
為了將三維波形數據庫中的信息轉換為方便用戶觀察的顯示畫面,需要將幅度命中次數轉換為波形灰度或顏色等級,所以波形三維映射模型實質上是一種三維波形成像技術。它直接將每次采集到得數據映射到三維數據庫(灰度圖),然后將灰度圖以人眼可以接受的速率傳送到屏幕上顯示。對于圖2這個m&mes;k矩陣,若其元素用c位存儲,則灰度圖需要的存儲空間為:m&mes;k&mes;2c/8字節(jié),國內示波器一般將這個三維數據庫(灰度圖)存放在外部存儲器中例如SRAM,SSRAM。很明顯,頻繁的訪問外部存儲器將會大大的減小數據映射速度,降低了波形刷新率。
圖2 三維數據庫矩陣
2、高刷新率波形合成器
波形刷新率WRR(WaveformRefreshRate)定義為:
WRR=1/(Tacq+Tdead) --公式(1-1)
Tacq為采集時間,即采集一幅完整波形所需的時間,它和存儲深度,采樣率等因素有關。Tdead為死區(qū)時間,主要由2部分組成:波形數據讀取時間Tr和波形數據映射時間Tmap。系統(tǒng)架構決定后,Tacq和Tr也就基本上確定了,但不同的波形合成器會導致Tmap不同,而且Tmap一般遠大于Tacq和Tr,所以刷新率可以近似等價于:
WRR=1/Tacq --公式(1-2)
所以Tmap的大小直接影響波形刷新率。
圖3 傳統(tǒng)DSO結構框圖
圖3是傳統(tǒng)DSO的內部結構框圖,采樣電路A從外部采集信號存入動態(tài)存儲器DDR,波形合成器將新的采樣數據和SRAM中舊的采樣數據進行疊加操作,最后將疊加后的數據寫回靜態(tài)存儲器SRAM。假設一幅波形有k個采樣點,則有:
Tmap=k*(trd+tmd+twr) --公式(1-3)
trd為靜態(tài)存儲器(三維數據庫)的讀取時間,tmd為修改時間,twr為寫入時間,在同步設計中,trd=trd=twr,所以公式(1-3)可以簡化為:
Tmap=3k*trd- -公式(1-4)
由于傳統(tǒng)DSO采用外部靜態(tài)存儲器SRAM存放三維數據庫(灰度圖),外部存儲器一般只有一個讀、寫端口,就會帶來下面2個問題:①每次只能映射一個波形數據,無法做到并行映射。②波形映射時,會以“讀-修改-寫”這樣的存儲操作模式,無法做到流水處理。這2個問題導致Tmap時間過長,也是國產示波器的刷新率做不到200000wfms/s以上的主要原因。
為了解決上面的瓶頸,本文提出了一種基于fpga的高刷新率波形合成器。高刷新率的DSO結構圖如下圖4所示,波形合成器B不再采用外部靜態(tài)存儲器SRAM存儲三維數據庫(灰度圖),而是采用FPGA內部的BLOCKRAM進行替代。采樣BLOCKRAM可以帶來下面的好處:首先BLOCKRAM可以配置成雙口模式有利于進行“讀-修改-寫”的流水處理,其次可以將BLOCKRAM配置成多個小存儲塊有利于波形并行映射。
圖4 高刷新率DSO結構圖
高刷新率波形合成器內部結構如圖5所示,波形合成器由n個小波形合成器G1~Gn組成,波形三維數據庫也拆分成由n個小的BRAM塊BRAM1~BRAMn組成。
Tmap=(k/n)*trd --公式(1-5)
采樣數據通過DISPATCH模塊并行的分發(fā)到各個小波形合成器中,這樣波形合成器在某一個時刻可以完成n個采樣點的并行映射。波形映射時,BRAM采用雙口模式,“讀-修改-寫”這樣的存儲操作模式,就可以做到流水處理。這就克服了上文提到的采用外部存儲器存放三維數據庫帶來的2個問題。
圖5 高刷新率波形合成器結構圖
由于高刷新率的波形合成器在某一個時刻可以完成n個采樣點的并行映射,并可以完成“讀-修改-寫”的流水處理,假設一幅波形有k個采樣點,則有:
對比公式(1-4)和公式(1-5)可以看出,和傳統(tǒng)DSO相比,基于高刷新率波形合成器的DSO的Tmap減少為原先的1/3n,刷新率約提高3n倍。從公式(1-5)可以看出,Tmap和n成反比關系,從理論上分析n→∞時,Tmap→0,意味著刷新率可以做到很大。實際應用時,n受限于FPGA的邏輯資源和BLOCKRAM資源,目前采用本文的波形合成器,最高刷新率可達400000wfms/s。但隨著這幾年FPGA工藝和技術的飛速發(fā)展,F(xiàn)PGA的邏輯資源和BLOCKRAM會越來越大,本文提出的波形合成器將會廣泛運用在高刷新率的示波器中。
3、結論
通過對波形合成技術的深入研究,提出一種高刷新率的波形合成器,示波器刷新率達到200000wfms/s以上,對高刷新率示波器以及高刷新率數據采集卡的開發(fā)有很大借鑒作用。