基于單片機的通用示波器存儲功能擴展設計
摘要:由于通用示波器沒有存儲功能,因而在單脈沖信號的捕捉和測量中受到極大的限制。介紹一種利用SPCE061A型16位單片機給通用示波器嵌入存儲功能的原理。實驗證明此設計在一定頻率范圍內(nèi)是可行的,而且成本較低,具有一定的實用價值。
關鍵詞:示波器;SPCE061A;單片機;存儲器;設計
中圖分類號:TM935.3 文獻標識碼:A 文章編號:1006-6977(2006)01-0051-03
1 引言
目前,通用二蹤示波器如HH4310A/HH4311A、RS8等均無存儲功能,在學生實驗中能滿足信號測量的要求,但若用于測量一些非周期單脈沖信號,由于信號的突發(fā)性,這些通用的示波器往往不能對信號的波形、幅值、脈寬進行仔細的觀測。其在通用示波器中嵌入存儲功能,能極大地擴展應用范圍,具有較高的實用價值。筆者介紹一種利用SPCE061A型16位單片機在HH4310A/HH4311A型通用示波器中嵌入存儲功能的原理及實驗結(jié)果。
2 通用示波器的基本工作原理
通用示波器的頻率繁多,電路各不相同,但總的來說,可以歸納為3個主要組成部分:垂直系統(tǒng)(主要實現(xiàn)Y輸入信號的放大);水平系統(tǒng)(主要實現(xiàn)水平掃描和水平放大)和主機(主要包括低/高壓電源和顯示電路)?;窘Y(jié)構(gòu)如圖1所示,各組成部分的詳細工作原理參閱參考文獻[1]。
3 嵌入存儲功能的原理
在通用示波器中嵌入存儲功能的基本原理是用A/D轉(zhuǎn)換器把仿真信號轉(zhuǎn)換為數(shù)字信號,然后存儲到RAM中,需要顯示時,將RAM中的存儲的數(shù)字信號按順序讀出,通過D/A轉(zhuǎn)換器恢復仿真信號,在示波器熒光屏上顯示出來。在設計中,利用SPCE061A型16位單片機中的A/D轉(zhuǎn)換器實現(xiàn)對示波器的Y輸入被測信號的模/數(shù)轉(zhuǎn)換,轉(zhuǎn)換的結(jié)果存儲在SPCE061A內(nèi)部的SRAM中,顯示時,經(jīng)SPCE061A的D/A轉(zhuǎn)換器恢復輸入的仿真信號,SPCE061A及相關電路構(gòu)成的擴展電路接在通用示波器垂直系統(tǒng)的Y輸入電路及前置放大器之間,如圖2所示。
3.1 A/D轉(zhuǎn)換的原理及性能要求
要實現(xiàn)對輸入被測信號的存儲,A/ D轉(zhuǎn)換(取樣、量化、編碼)是關鍵,根據(jù)奈奎斯特(Nyquist)取樣定理,曲江后能夠不失真地還原出原信號,必須滿足fs>2fm,即取樣頻率必須大于信號最高頻率的2倍。在SPCE061A中有7路10位逐次逼近型A/D轉(zhuǎn)換器,通用對A/D轉(zhuǎn)換器有關控制寄存器P_ADC_Ctrl($7015H)、P_ADC_MUX_Ctrl($702BH)的合理設置啟動A/D轉(zhuǎn)換,從P_ADC_MUX_Data($702CH)單元中讀出A/D轉(zhuǎn)換的值。SPCE061A中A/D轉(zhuǎn)換的最高速率為(Fosc/32/16Hz),如果速率超過此值,從P_ADC_MUX_Data中讀出數(shù)據(jù)時會發(fā)生錯誤。A/D轉(zhuǎn)換的最大頻率相應率(Fosc/32/16Hz)如表1所示。
在SPCE061A中,32768Hz的實時時鐘經(jīng)過PLL倍頻電路產(chǎn)生系統(tǒng)時鐘Fosc,Fosc再經(jīng)過分頻得到CPU時鐘(CPUCLK),通過對寄存器P_System Clok($7013H)的編程來完成對系統(tǒng)時鐘Fosc和CPU時鐘頻率的定義。默認時,Fosc、CPUCLK分別為24.576MHz和Fosc/8。
根據(jù)A/D轉(zhuǎn)換的基本原理及SPCE061A的A/D轉(zhuǎn)換的特性,在通用示波器中嵌入的存儲功能模塊的最大不失真頻率為20kHz。
3.2 數(shù)字信號的存儲和D/A轉(zhuǎn)換
經(jīng)A/D轉(zhuǎn)換的結(jié)果需要存儲到存儲器中,其存儲容量為獲取波形的取樣點數(shù)目,用直接存放A/D變換后數(shù)據(jù)的獲取存儲單元來表示。在SPCE061A中有2K10bit的SRAM存儲單元,實際使用的SRAM的容量主要由A/D轉(zhuǎn)換的速率和掃描因子(t/div)共同決定,其關系如下式所示:
式中,fS為A/D轉(zhuǎn)換的取樣頻率,N為每格的取樣點數(shù)。由此可知,在A/D變換速率相同的條件下,存儲容量的大小決定掃描時間因子的大小。在設計中,A/D變換的速率fS最大為96kHz,若用1K的SRAM作為A/D轉(zhuǎn)換的存儲器,則最大掃描時間為10ms/div。在存儲擴展模塊中,單片機啟動A/D轉(zhuǎn)換器后,通過對P_ADC_MUX_Data($702CH)單元中A/D轉(zhuǎn)換結(jié)果的比較,當有效的轉(zhuǎn)換結(jié)果出現(xiàn)時,才將結(jié)果保存到SRAM中,利用這種方法能夠有效地擴大掃描時間因子,對于單脈沖信號的捕捉非常有效。ADC的部分程序如下:
_AD
在A/D轉(zhuǎn)換中,不僅A/D轉(zhuǎn)換的位數(shù)和存儲容量決定示波器的垂直和水平分辨率,而且,通過單片機對A/D轉(zhuǎn)換結(jié)果的數(shù)字信號多次取平均處理,消除隨機噪聲,可以使垂直分辨率得到提高。
SPCE061A提供了2路D/A轉(zhuǎn)換通道,通過對寄存器P_DAC_MUX_Ctrl(702AH)單元的編程控制D/A轉(zhuǎn)換,將存儲器中的數(shù)字信號按順序轉(zhuǎn)換為仿真信號,加到示波器的Y通道放大器中,在熒光屏上重現(xiàn)信號的波形。
4 示波器存儲模塊的實驗研究
對于示波器存儲模塊的研究主要采用對同一信號進行實驗比較的方式。在實際中,利用HH4310A/HH4311A型通用示波器對信號進行1次直接測量和1次存儲測量,然后對2次測量結(jié)果(包括波形的失真度、幅值及頻率)進行比較。圖3(a)和(b)分別顯示對單脈沖信號的直接顯示波形和存儲顯示波形。
通過實驗結(jié)果的比較可以看出,在一定頻率(20kHz)以下,嵌入SPCE061A的示波器存儲模塊能夠?qū)崿F(xiàn)對信號的不失真存儲。
5 結(jié)束語
評論