资讯 > 正文

基于單片机的通用示波器存儲功能擴展設計

发布时间:2006-04-22 作者:何永泰,肖麗仙

     1 引言

     目前,通用二蹤示波器如HH4310A/HH4311A、RS8等均無存儲功能,在學生實驗中能滿足信號測量的要求,但若用于測量一些非周期單脈衝信號,由于信號的突發性,這些通用的示波器往往不能對信號的波形、幅值、脈寬進行仔細的觀測。其在通用示波器中嵌入存儲功能,能极大地擴展應用范圍,具有較高的實用价值。筆者介紹一种利用SPCE061A型16位單片机在HH4310A/HH4311A型通用示波器中嵌入存儲功能的原理及實驗結果。

     2 通用示波器的基本工作原理

   通用示波器的頻率繁多,電路各不相同,但總的來說,可以歸納為3個主要組成部分:垂直系統(主要實現Y輸入信號的放大);水平系統(主要實現水平掃描和水平放大)和主机(主要包括低/高壓電源和顯示電路)。基本結构如圖1所示,各組成部分的詳細工作原理參閱參考文獻[1]。 

基于單片机的通用示波器存儲功能擴展設計如图


      3 嵌入存儲功能的原理

      在通用示波器中嵌入存儲功能的基本原理是用A/D轉換器把模擬信號轉換為數字信號,然后存儲到RAM中,需要顯示時,將RAM中的存儲的數字信號按順序讀出,通過D/A轉換器恢复模擬信號,在示波器熒光屏上顯示出來。在設計中,利用SPCE061A型16位單片机中的A/D轉換器實現對示波器的Y輸入被測信號的模/數轉換,轉換的結果存儲在SPCE061A內部的SRAM中,顯示時,經SPCE061A的D/A轉換器恢复輸入的模擬信號,SPCE061A及相關電路构成的擴展電路接在通用示波器垂直系統的Y輸入電路及前置放大器之間,如圖2所示。
 

基于單片机的通用示波器存儲功能擴展設計如图


       3.1 A/D轉換的原理及性能要求

      要實現對輸入被測信號的存儲,A/ D轉換(取樣、量化、編碼)是關鍵,根据奈奎斯特(Nyquist)取樣定理,曲江后能夠不失真地還原出原信號,必須滿足fs>2fm,即取樣頻率必須大于信號最高頻率的2倍。在SPCE061A中有7路10位逐次逼近型A/D轉換器,通用對A/D轉換器有關控制寄存器P_ADC_Ctrl($7015H)、P_ADC_MUX_Ctrl($702BH)的合理設置啟動A/D轉換,從P_ADC_MUX_Data($702CH)單元中讀出A/D轉換的值。SPCE061A中A/D轉換的最高速率為(Fosc/32/16Hz),如果速率超過此值,從P_ADC_MUX_Data中讀出數据時會發生錯誤。A/D轉換的最大頻率相應率(Fosc/32/16Hz)如表1所示。 
 

基于單片机的通用示波器存儲功能擴展設計如图

       在SPCE061A中,32768Hz的實時時鐘經過PLL倍頻電路產生系統時鐘Fosc,Fosc再經過分頻得到CPU時鐘(CPUCLK),通過對寄存器P_System Clok($7013H)的編程來完成對系統時鐘Fosc和CPU時鐘頻率的定義。默認時,Fosc、CPUCLK分別為24.576MHz和Fosc/8。

      根据A/D轉換的基本原理及SPCE061A的A/D轉換的特性,在通用示波器中嵌入的存儲功能模塊的最大不失真頻率為20kHz。

     3.2 數字信號的存儲和D/A轉換

經A/D轉換的結果需要存儲到存儲器中,其存儲容量為獲取波形的取樣點數目,用直接存放A/D變換后數据的獲取存儲單元來表示。在SPCE061A中有2K×10bit的SRAM存儲單元,實際使用的SRAM的容量主要由A/D轉換的速率和掃描因數(t/div)共同決定,其關系如下式所示:

t/div=1/fS×N (1)

       式中,fS為A/D轉換的取樣頻率,N為每格的取樣點數。由此可知,在A/D變換速率相同的條件下,存儲容量的大小決定掃描時間因數的大小。在設計中,A/D變換的速率fS最大為96kHz,若用1K的SRAM作為A/D轉換的存儲器,則最大掃描時間為10ms/div。在存儲擴展模塊中,單片机啟動A/D轉換器后,通過對P_ADC_MUX_Data($702CH)單元中A/D轉換結果的比較,當有效的轉換結果出現時,才將結果保存到SRAM中,利用這种方法能夠有效地擴大掃描時間因數,對于單脈衝信號的捕捉非常有效。ADC的部分程序如下:

_AD:
R2=[P_ADC_MUX_Ctrl]
TEST R2,0X8000 //判斷是否轉完畢
JZ_AD五
R1=[P_ADC_MUX_Data]
CMP R1,01//判斷是否有信號輸入
JB_AD
[R3]=R1 //R3為存放ADC數据地址指針
R3+=1

       在A/D轉換中,不僅A/D轉換的位數和存儲容量決定示波器的垂直和水平分辨率,而且,通過單片机對A/D轉換結果的數字信號多次取平均處理,消除隨机噪聲,可以使垂直分辨率得到提高。

      SPCE061A提供了2路D/A轉換通道,通過對寄存器P_DAC_MUX_Ctrl(702AH)單元的編程控制D/A轉換,將存儲器中的數字信號按順序轉換為模擬信號,加到示波器的Y通道放大器中,在熒光屏上重現信號的波形。

      4 示波器存儲模塊的實驗研究

     對于示波器存儲模塊的研究主要采用對同一信號進行實驗比較的方式。在實際中,利用HH4310A/HH4311A型通用示波器對信號進行1次直接測量和1次存儲測量,然后對2次測量結果(包括波形的失真度、幅值及頻率)進行比較。圖3(a)和(b)分別顯示對單脈衝信號的直接顯示波形和存儲顯示波形。 
 

如图4

      通過實驗結果的比較可以看出,在一定頻率(20kHz)以下,嵌入SPCE061A的示波器存儲模塊能夠實現對信號的不失真存儲。


     5 結束語
     通過實驗研究可以看出,利用SPCE061A可以實現對通用示波器存儲功能的擴展。通過單片机的編程可較好地實現對單次脈衝的存儲測量。雖然在SPCE061A中,A/D轉換、D/A轉換的速度和SRAM的容量限制了存儲信號的頻帶范圍,但是,其成本較低,性价比較高,具有一定的實用价值。若要擴大存儲信號帶寬的范圍,可采用高速A/D轉換器和D/A轉換器以及大容量的RAM來實現。

 

标签:示波器,單片机

相关文章