基于S12的簡易數(shù)字示波器的設計方案
1.引言
本文的設計方案中的數(shù)字示波器是對傳統(tǒng)高速電子束示波器的改進,它能對被測周期信號或單次非周期信號進行一次采集與儲存,便于分析波形。
目前對于數(shù)字示波器已經(jīng)有比較豐富的研究,但有時在開發(fā)設計中只需要中低端數(shù)字示波器即可達標。針對此本文給出了一種簡易數(shù)字示波器的制作設計方案,盡可能采用數(shù)字電路,結構簡單測量結果可靠且具高分辨率和低誤差的特點。
2.系統(tǒng)設計方案
本設計方案以S12單片機為主控芯片,通過程控放大電路將信號衰減放大后經(jīng)TLC5510采樣送入FIFO芯片進行緩沖存儲和整形電路,然后S12從FIFO讀取數(shù)據(jù),進行處理后將波形和峰峰值在LCD上進行顯示,另一方面從整形電路輸入S12測頻,并將頻率顯示在液晶屏上。
2.1 硬件設計
硬件設計包括程控放大、高速AD轉(zhuǎn)換與FIFO存儲、時鐘電路和電源,整形電路與單片機處理四個電路模塊,各模塊間聯(lián)系如下:
2.1.1 程控放大模塊
程控放大的作用是對輸入信號進行衰減或放大調(diào)整,使輸出信號電壓在AD轉(zhuǎn)換器輸入電壓要求范圍內(nèi)。設計采用LM6172運放組成多級運放實現(xiàn)信號的縮放,通過ULN2003驅(qū)動電磁繼電器,由單片機決定衰減系數(shù)。最后加上基線電壓(AD轉(zhuǎn)換器輸入中點)以調(diào)整信號幅度在AD轉(zhuǎn)換器采樣范圍內(nèi),送到AD芯片進行轉(zhuǎn)換和整形電路,分別進行AD轉(zhuǎn)換和將處理信號轉(zhuǎn)化成方波信號以便MCU測頻。
2.1.2 高速AD轉(zhuǎn)換與FIFO存儲模塊
AD轉(zhuǎn)換器將被測信號采樣并轉(zhuǎn)換成數(shù)字信號存入存儲器,決定數(shù)字示波器所能測量的最高頻率,根據(jù)乃奎斯特定理,采樣頻率至少是被測信號最高頻率的2倍才能再現(xiàn)出被測信號。而在數(shù)字示波器中采樣頻率至少應該是被測信號頻率的5~8倍才能還原信號的波形。為了滿足對高頻信號的采集,選用了8位TLC5510AD轉(zhuǎn)換芯片。
FIFO(先進先出存儲器)作為AD轉(zhuǎn)換與單片機之間的高速數(shù)據(jù)緩沖,具有3個標志引腳FF(滿標志)、HF(半滿標志)和EF(空標志)。MCU根據(jù)這三個標志,當滿時讀取數(shù)據(jù)進行處理,并禁止AD采樣時鐘,半滿時繼續(xù)采樣,空時則等待讀取數(shù)據(jù)。由于AD轉(zhuǎn)換較快,可在AD與FIFO間加入74VHC574鎖存器數(shù)據(jù)經(jīng)鎖存緩沖后送入FIFO.
2.1.3 時鐘電路和電源模塊
時鐘電路為AD轉(zhuǎn)換器提供采樣時鐘信號,對于1MHz以內(nèi)的信號,本設計以20MHz晶振為基準,采用計數(shù)器組成的分頻電路得到一系列不同的采樣周期,分別為20MHz、10MHz、5MHz、1MHz、500KHz、100KHz、10KHz、1KHz和500Hz共9種,分別對應著不同的水平掃速。由單片機通過數(shù)據(jù)選擇器74F151選擇不同的采樣時鐘用于AD轉(zhuǎn)換采樣信號。
為達到簡單方便的目的,本設計各模塊均采用±5V電源供電,電源模塊是將220V交流電通過變壓器后經(jīng)整流、濾波和穩(wěn)壓轉(zhuǎn)換成±5V直流穩(wěn)壓電,其中程控放大要用到運放,所以要用到±5V雙電源,其它模塊+5V穩(wěn)壓源能達到要求。
2.1.4 整形電路與單片機處理模塊
整形電路將經(jīng)程控縮放后的信號通過運放LM6172構成的比較器變成方波信號,然后送入MCU的計數(shù)器以測得信號的頻率。
單片機選用飛思卡爾公司的MC9S12DG128B,具有16路AD轉(zhuǎn)換,是數(shù)字示波器的主控器件。
首先要通過按鍵控制程控放大衰減系數(shù)和確定AD轉(zhuǎn)換器的采樣頻率,然后用計數(shù)器模塊測量經(jīng)整形信號的頻率,另一方面通過查看FIFO的標志位來禁止、讀取或等待數(shù)據(jù),將數(shù)據(jù)進行處理后通過LCD(選用12864顯示屏)顯示,包括峰峰值和頻率。MCU與個模塊之間的控制聯(lián)系在圖1中已給出。
2.2 軟件設計
軟件設計采用飛思卡爾公司的S12系列單片機,并通過PLL將總線時鐘超頻在64M,能輕松完成信號的采集,處理和顯示等功能。
2.2.1 波形處理模塊
程序開始完成各模塊初始化后單片機首先讀取FIFO全滿信號,若判斷全滿信號為高電平則開始讀取數(shù)據(jù),否則繼續(xù)檢測。讀取的數(shù)據(jù)通過處理,則送LCD顯示。由于LCD顯示命令耗時過長,于是在單片機內(nèi)存中模擬了一塊顯示區(qū)域,當數(shù)據(jù)畫滿整個顯示內(nèi)存,便將整個數(shù)據(jù)送液晶顯示,大大提高了顯示效率。
2.2.2 測頻模塊
測頻模塊我們使用了S12單片機自帶的PAI功能。當脈沖信號輸入到相應的引腳時,脈沖累加器每檢測到一個有效邊沿,則會使相應的脈沖累加計數(shù)寄存器PACNn加1.按照一定的時間間隔讀取PACNn的值就可以知道單位時間內(nèi)的脈沖數(shù),進而可以計算出脈沖的周期。
3.結語
本文所提出的基于S12的簡易便攜式數(shù)字示波器的設計方案,該方案中設計制作的數(shù)字示波器主要是克服了同類研究開發(fā)產(chǎn)品的制作和操作復雜,精確度不高的的不足。盡管如此,本設計本著簡易便攜的目的,旨在制作出簡便精確的數(shù)字示波器,盡量使用數(shù)字電路,集成度高,工作過程受環(huán)境影響小,測量數(shù)據(jù)可視化。
測試結果表明,在1MHz的測量范圍內(nèi)系統(tǒng)測量頻率誤差小于0.1%,信號幅值測量誤差小于1%.系統(tǒng)精確度較高,能滿足一般的研究開發(fā)要求,并且能夠在LCD上很好的復現(xiàn)被測信號。可作為嵌入式設備,在工業(yè)自動化和科研開發(fā)測量領域中有著廣泛的應用前景。