新聞中心

EEPW首頁 > 測試測量 > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)和FPGA的簡易數(shù)字存儲示波器設(shè)計(jì)

基于單片機(jī)和FPGA的簡易數(shù)字存儲示波器設(shè)計(jì)

作者:郭小虎,陳鵬鵬 時(shí)間:2008-11-03 來源:國外電子元器件 收藏

l 引言

本文引用地址:http://butianyuan.cn/article/89155.htm

  與傳統(tǒng)模擬相比.?dāng)?shù)字存儲不僅具有可存儲波形、體積小、功耗低,使用方便等優(yōu)點(diǎn),而且還具有強(qiáng)大的信號實(shí)時(shí)處理分析功能。在電子測量領(lǐng)域,數(shù)字存儲正在逐漸取代模擬示波器。但目前我國使用高性能數(shù)字存儲示波器主要依靠國外產(chǎn)品,而且價(jià)格昂貴。因此研究數(shù)字存儲示波器具有重要價(jià)值。借于此,提出了一種簡易數(shù)字存儲示波器的設(shè)計(jì)方案,經(jīng)測試,性能優(yōu)良。

2 數(shù)字存儲示波器基本工作原理

  數(shù)字存儲示波器與模擬示波器不同在于信號進(jìn)入示波器后立刻通過高速A/D轉(zhuǎn)換器將模擬信號前端快速采樣,存儲其數(shù)字化信號。并利用數(shù)字信號處理技術(shù)對所存儲的數(shù)據(jù)進(jìn)行實(shí)時(shí)快速處理,得到信號的波形及其參數(shù),并由示波器顯示,從而實(shí)現(xiàn)模擬示波器功能,而且測量精度高。還可存儲信號,因而,數(shù)字存儲示波器可以存儲和調(diào)用顯示特定時(shí)刻信號。

3 系統(tǒng)分析論證

3.1 A/D實(shí)時(shí)采樣

  根據(jù)奈奎斯特采樣定理,采樣速率必須高于2倍的信號最高頻率分量。對于正弦信號,一周期內(nèi)應(yīng)有2個(gè)采樣點(diǎn)。為了不失真恢復(fù)被測信號,通常一周期內(nèi)需要采樣8個(gè)點(diǎn)以上。為了配合高速模數(shù)轉(zhuǎn)換器,采用控制M/D轉(zhuǎn)換器的采樣速率,以實(shí)現(xiàn)高速實(shí)時(shí)采樣。實(shí)時(shí)采樣可以實(shí)現(xiàn)整個(gè)頻段的全速采樣,本系統(tǒng)設(shè)計(jì)選用ADI公司的12位高速A/D轉(zhuǎn)換器AD9220,其最高采樣速率可達(dá)10 MHz。

3.2 雙蹤顯示

  本系統(tǒng)設(shè)計(jì)的雙蹤顯示模塊是以高速切換模擬開關(guān)選通兩路信號進(jìn)入采樣電路,兩路波形存儲在同一個(gè)存儲器的奇、偶地址位。雙蹤顯示時(shí),先掃描奇地址數(shù)據(jù)位,再掃描偶地址數(shù)據(jù)位。采用模擬開關(guān)代替一個(gè)模數(shù)轉(zhuǎn)換器,避免兩片高速A/D轉(zhuǎn)換器相互干擾,降低系統(tǒng)調(diào)試難度,并且實(shí)現(xiàn)系統(tǒng)功能。

3.3 觸發(fā)方式

  采用內(nèi)部軟件觸發(fā)方式,通過軟件設(shè)置觸發(fā)電平,所設(shè)置的施密特觸發(fā)器參數(shù)易于修改,從而抑制比較器產(chǎn)生的毛刺。當(dāng)采樣值大于觸發(fā)電平,則產(chǎn)生一次觸發(fā)。該方式充分利用了的資源,減少外圍電路,消除硬件毛刺產(chǎn)生的干擾,易于調(diào)整觸發(fā)電壓。

3.4 波形顯示位置的調(diào)節(jié)

3.4.1 行掃描調(diào)節(jié)

  通過控制FPGA內(nèi)部雙口RAM(1 KB)的起始地址的偏移量確定來控制波形的移動(dòng)。其具體方法是將滑動(dòng)變阻器R上的電平通過模數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號傳輸給FPGA,再與初始電平數(shù)字信號(顯示位置復(fù)位時(shí),滑動(dòng)變阻器R的電平采樣值)相比較決定起始地址ADR0的偏移量。該方法可易于實(shí)現(xiàn)波形滿屏和自動(dòng)顯示功能。

3.4.2 列掃描調(diào)節(jié)

  MAXl97采樣A、B通道的Position電位器值,所得采樣值經(jīng)FPGA送至16位串行D/A轉(zhuǎn)換器,MAX542產(chǎn)生直流電平,該直流電平與列掃描波形相加送至模擬示波器顯示,實(shí)現(xiàn)波形上下移動(dòng)。為分離A、B通道,在讀A通道波形數(shù)據(jù)時(shí),F(xiàn)PGA必須將Position A電位器的值送至D/A轉(zhuǎn)換器;而在讀B通道波形數(shù)據(jù)時(shí),也必須將Position B電位器的值送至D/A轉(zhuǎn)換器,這樣可在調(diào)節(jié)某一電位器時(shí),實(shí)現(xiàn)相應(yīng)通道波形上下移動(dòng)。

3.5 波形數(shù)據(jù)存儲

  數(shù)字示波器存儲波形數(shù)據(jù)可采用外接的雙口RAM或通用靜態(tài)RAM,同時(shí)FPGA可控制RAM的地址線,從而實(shí)現(xiàn)波形數(shù)據(jù)的存儲。雙口RAM可同時(shí)進(jìn)行讀寫操作,由于本系統(tǒng)設(shè)計(jì)采用FPGA,因此可充分利用FPGA的邏輯陣列和嵌入式陣列,可將雙口RAM寫入FPGA內(nèi)部,從而無需外接RAM,減少硬件電路,提高簡易數(shù)字示波器的可靠性。

4 系統(tǒng)設(shè)計(jì)方案

  本系統(tǒng)設(shè)計(jì)框圖如圖1所示。整個(gè)系統(tǒng)是以FPGA為核心,包括前端模擬信號處理模塊、模塊、顯示模塊和鍵盤輸入模塊。而信號的前級處理模塊又包括射級跟隨器、程控放大電路、整形電路。A、B通道的信號經(jīng)前級處理變?yōu)镺~4 V,AD9220對其采樣。波形存儲控制模塊將其采樣數(shù)據(jù)寫入FPGA內(nèi)部RAM,再由波形顯示控制模塊進(jìn)行顯示。FPGA通過編程設(shè)置實(shí)現(xiàn)測頻、鍵盤掃描、顯示驅(qū)動(dòng)、波形存儲控制等功能。AT89S52控制整個(gè)系統(tǒng)鍵盤和點(diǎn)陣液晶模塊實(shí)現(xiàn)人機(jī)交互。通過面板按鍵可方便調(diào)整波形顯示方式。

 

5 硬件電路設(shè)計(jì)

5.1 程控放大電路

  采用模擬開關(guān)CD4051、寬帶運(yùn)算AD844及精密電位器實(shí)現(xiàn)10 mV/div~2 V/div的多檔垂直分辨率。FPGA含有通道選擇寄存器模塊,通過寫入通道號控制模擬開關(guān)以選通不同的反饋電阻,實(shí)現(xiàn)不同放大倍數(shù),將信號調(diào)理在滿足AD9220的0~4 V的范圍內(nèi),具體電路如圖2所示。

 

5.2 數(shù)據(jù)采集模塊

  本系統(tǒng)設(shè)計(jì)采用ADI公司的高速模數(shù)轉(zhuǎn)換器AD9220實(shí)現(xiàn)波形信號的采集,AD9220最高采樣速率可達(dá)10 MHz,采用外部晶體振蕩器8 MHz,F(xiàn)PGA內(nèi)部通過采樣實(shí)現(xiàn)波形存儲。AD9220有直流耦合和交流耦合兩種輸入方式。本系統(tǒng)設(shè)計(jì)采用直流耦合,0~5 V的輸入方式。采用內(nèi)部2.5 V參考電壓。由于系統(tǒng)垂直分辨率只需255級,故采用AD9220的高8位。數(shù)據(jù)采集電路如圖3所示。

 

5.3 FPGA設(shè)計(jì)

  系統(tǒng)采用Verilog HDL語言,在QuartusII軟件下對FPGA進(jìn)行邏輯電路的描述編程,可靈活實(shí)現(xiàn)系統(tǒng)所需電路和控制模塊。

5.3.1 觸發(fā)模塊

  單片機(jī)先向FPGA模塊寫入設(shè)置的觸發(fā)電壓,F(xiàn)PGA內(nèi)部相比較后,當(dāng)采樣值大于該觸發(fā)電壓時(shí),則產(chǎn)生一次觸發(fā)。圖4為觸發(fā)模塊。

 

5.3.2 程控放大控制模塊

  單片機(jī)首先以100 mv/div的檔位對信號采樣,通過比較與該信號最近的模擬開關(guān)的通道號,然后寫入控制字,產(chǎn)生相應(yīng)通道號,實(shí)現(xiàn)垂直分辨率的調(diào)整。

5.3.3 波形存儲控制模塊

  該模塊為RAM模塊的寫地址累加器,可控制波形的存儲。H_sering為單次和多次觸發(fā)控制引腳,當(dāng)為高電平時(shí),單次觸發(fā),停止向RAM寫入數(shù)據(jù),所顯示波形為存儲波形;為低電平時(shí),多次觸發(fā),當(dāng)檢測到一次觸發(fā)時(shí),即向RAM寫一次數(shù)據(jù),共l K個(gè)點(diǎn),并在寫操作時(shí)屏蔽觸發(fā)。寫地址先寫奇地址,存入通道一采樣后的波形數(shù)據(jù),后寫偶地址,存入通道二采樣后的波形數(shù)據(jù)。如果連續(xù)多次檢測不到觸發(fā)時(shí),向RAM中寫入全0,顯示一條直線,即實(shí)現(xiàn)自動(dòng)捕捉功能。波形存儲控制模塊如圖5所示。

 

5.3.4 波形顯示控制模塊

  該模塊為讀地址累加器,從RAM中讀取數(shù)據(jù),并產(chǎn)生行掃描和列掃描數(shù)據(jù)。通過單片機(jī)寫入累加器基地址,改變讀取數(shù)據(jù)的起始位,實(shí)現(xiàn)波形的平移。該模塊還可計(jì)算波形的峰峰值、平均值,單片機(jī)可直接讀回?cái)?shù)值。波形顯示控制模塊如圖6所示。

6 系統(tǒng)軟件設(shè)計(jì)

  系統(tǒng)軟件設(shè)計(jì)實(shí)現(xiàn)人機(jī)交互、信息提示、系統(tǒng)啟動(dòng)與復(fù)位等功能。首先系統(tǒng)初始化,顯示默認(rèn)通道波形,再等待按鍵按下。當(dāng)按鍵按下后,完成相應(yīng)功能,顯示相應(yīng)波形,然后循環(huán)等待。系統(tǒng)軟件設(shè)計(jì)流程如圖7所示。

 

7 測試結(jié)果

  使用自制的數(shù)字存儲示波器和tektronix TDSl002型數(shù)字示波器測量輸入信號,其中部分測量數(shù)據(jù)如表1所列。

 

  通過對比測試和結(jié)果分析,各種輸入信號在自制數(shù)字存儲示波器上可精確顯示波形,并且實(shí)現(xiàn)波形的雙蹤顯示及波形水平、垂直平移,頻率、平均值、峰峰值的測量,誤差小,達(dá)到一定的精度要求。


8 結(jié)語

  本系統(tǒng)設(shè)計(jì)采用單片機(jī)作為核心控制器,充分利用FPGA的可編程邏輯功能,完成相關(guān)電路設(shè)計(jì)。軟硬件有機(jī)結(jié)合實(shí)現(xiàn)簡易數(shù)字存儲示波器的設(shè)計(jì),系統(tǒng)總體功能完善,穩(wěn)定性高,使用方便。

 



關(guān)鍵詞: 單片機(jī) FPGA 放大器 示波器

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉