摘要:傳統(tǒng)的示波器雖然功能齊全,但是體積大、重量重、成本高、等一系列問(wèn)題使應(yīng)用受到了限制。有鑒于此,便攜式數(shù)字存儲(chǔ)采集器就應(yīng)運(yùn)而生,它采用了LCD顯示、高速A/D采集與轉(zhuǎn)換、ASIC芯片等新技術(shù),具有很強(qiáng)的實(shí)用性和巨大的市場(chǎng)潛力,本文介紹的是另一種基于FPGA的簡(jiǎn)易可存儲(chǔ)示波器。通過(guò)介紹其原理,結(jié)構(gòu)圖等等讓大家了解其設(shè)計(jì)過(guò)程。
引言
傳統(tǒng)的
示波器雖然功能齊全,但是體積大、重量重、成本高、等一系列問(wèn)題使應(yīng)用受到了限制。有鑒于此,便攜式數(shù)字存儲(chǔ)采集器就應(yīng)運(yùn)而生,它采用了LCD顯示、高速A/D采集與轉(zhuǎn)換、ASIC芯片等新技術(shù),具有很強(qiáng)的實(shí)用性和巨大的市場(chǎng)潛力,也代表了當(dāng)代電子測(cè)量?jī)x器的一種發(fā)展趨勢(shì),即向功能多、體積小、重量輕、使用方便的掌上型儀器發(fā)展。
系統(tǒng)組成結(jié)構(gòu)及工作原理
系統(tǒng)的硬件部分為一塊高速的數(shù)據(jù)采集電路板。它能夠?qū)崿F(xiàn)雙通道數(shù)據(jù)輸入,每路采樣頻率可達(dá)到60Mbit/s。從功能上可以將硬件系統(tǒng)分為:信號(hào)前端放大及調(diào)理模塊、高速模數(shù)轉(zhuǎn)換模塊、FPGA邏輯控制模塊、單片機(jī)控制模塊、USB數(shù)據(jù)傳輸模塊、液晶顯示和鍵盤(pán)控制等幾部分,其結(jié)構(gòu)形式如圖1所示。
圖1系統(tǒng)原理結(jié)構(gòu)圖
輸入信號(hào)經(jīng)前置放大及增益可調(diào)電路轉(zhuǎn)換后,成為符合A/D轉(zhuǎn)換器要求的輸入電壓,經(jīng)A/D轉(zhuǎn)換后的數(shù)字信號(hào),由FPGA內(nèi)的FIFO緩存,再經(jīng)USB接口傳輸?shù)接?jì)算機(jī)中,供后續(xù)數(shù)據(jù)處理,或直接由單片機(jī)控制將采集到的信號(hào)顯示在液晶屏幕上。
高速數(shù)據(jù)采集模塊
本系統(tǒng)可實(shí)現(xiàn)雙通道同步數(shù)據(jù)采集,而且每通道
的采集速度要達(dá)到60Mbit/s,考慮到兩路數(shù)據(jù)采集應(yīng)保持同步并行,因此在設(shè)計(jì)中采用每通道都有獨(dú)自的采樣保持器和A/D轉(zhuǎn)換器。選用MAXIM公司MAX1197型A/D轉(zhuǎn)換器,它是一款雙通道、3.3V供電、每通道60Mbit/s采樣頻率的模數(shù)轉(zhuǎn)換器芯片。它內(nèi)部集成雙路差分寬帶采樣保持器和A/D轉(zhuǎn)換器,可以輸出鎖存,具有低功耗、小尺寸、高動(dòng)態(tài)性能的特點(diǎn)。
本系統(tǒng)的測(cè)量電壓的范圍可達(dá)到±300V,采用示波器探頭和電路板上分壓的方法將輸入信號(hào)*行1:1或10:1或100:1衰減,然后再通過(guò)后續(xù)電路處理以滿足A/D轉(zhuǎn)換器的輸入電壓范圍要求。
被測(cè)信號(hào)通過(guò)通用探頭和分壓器得到的輸出信號(hào),由于輸出阻抗較高,需要經(jīng)過(guò)阻抗變換成為低的輸出阻抗,以保持信號(hào)的完整性。同時(shí),對(duì)于一個(gè)系統(tǒng)來(lái)講,過(guò)載是不可避免的,在過(guò)載情況下,如果沒(méi)有保護(hù),器件很容易損壞。因此,系統(tǒng)中設(shè)計(jì)了由二極管和電阻構(gòu)成的過(guò)載保護(hù)電路,將輸入信號(hào)限制在±4.8V的范圍之間。對(duì)于阻抗變換,選擇ADI公司的高性能FET輸入單電壓反饋放大器AD8065芯片,構(gòu)成跟隨器來(lái)實(shí)現(xiàn)阻抗變換。經(jīng)過(guò)阻抗變換的信號(hào),還要通過(guò)增益調(diào)節(jié),在能使輸入到A/D轉(zhuǎn)換器的電壓滿足A/D的輸入電壓要求,采用模擬開(kāi)關(guān)和寬帶精密放大器配合,由模擬開(kāi)關(guān)選通不同的接入電阻值,從而實(shí)現(xiàn)不同的放大倍數(shù),達(dá)到程控放大的目的。增益調(diào)節(jié)電路如圖2所示,輸入保護(hù)及阻抗變換電路如圖3所示。
圖2增益調(diào)節(jié)電路
圖3輸入保護(hù)及阻抗變換電路
FPGA控制單元
可編程邏輯器件FPGA是一種半定制的ASIC,它允許電路設(shè)計(jì)者自行編程實(shí)現(xiàn)特定應(yīng)用的功能。本設(shè)計(jì)采用了原理圖輸入和VHDL語(yǔ)言輸入兩種不同的方法,控制單元承載了大部分控制任務(wù),為各個(gè)功能模塊提供相應(yīng)的控制信號(hào)以確保整個(gè)系統(tǒng)工作的正確性。具體實(shí)現(xiàn)如下幾個(gè)方面的功能:
分頻電路及產(chǎn)生A/D轉(zhuǎn)換器的控制信號(hào)
本數(shù)據(jù)采集系統(tǒng),具有比較寬的測(cè)量范圍,在FPGA內(nèi)部設(shè)計(jì)了一個(gè)分頻電路,用來(lái)實(shí)現(xiàn)針對(duì)不同頻率的被測(cè)信號(hào)選擇不同的采樣頻率,確保采集數(shù)據(jù)更加。分頻單元采用圖形輸入方法實(shí)現(xiàn)其內(nèi)部結(jié)構(gòu)圖如圖4所示。在圖4中,利用T觸發(fā)器在輸入為1時(shí),每個(gè)時(shí)鐘沿到來(lái)時(shí)輸出會(huì)發(fā)生跳變來(lái)實(shí)現(xiàn)分頻的。同時(shí)我們可以看出,T觸發(fā)器的輸入是有一些邏輯組合構(gòu)成的,這就構(gòu)成了門(mén)控時(shí)鐘。對(duì)于門(mén)控時(shí)鐘,仔細(xì)分析時(shí)鐘函數(shù),以避免毛刺的影響。而門(mén)控時(shí)鐘在滿足以下兩個(gè)條件時(shí),則可保證時(shí)鐘信號(hào)不出現(xiàn)危險(xiǎn)的毛刺,門(mén)控時(shí)鐘可以像全局時(shí)鐘一樣可靠的工作。
·驅(qū)動(dòng)時(shí)鐘的邏輯必須只包含一個(gè)“與”門(mén)或一個(gè)“或”門(mén)。如果采用任何附加邏在某些工作狀態(tài)下,會(huì)出現(xiàn)競(jìng)爭(zhēng)產(chǎn)生的毛刺。
·邏輯門(mén)的一個(gè)輸入作為實(shí)際的時(shí)鐘,而該邏輯門(mén)的所有其它輸入必須當(dāng)成地址或控制線,它們遵守相對(duì)于時(shí)鐘的建立和保持時(shí)間的約束。
對(duì)于本設(shè)計(jì)中的A/D轉(zhuǎn)換器,其控制信號(hào)只有兩個(gè):時(shí)鐘輸入信號(hào)CLK和使能輸出信號(hào)OE。CLK信號(hào)直接通過(guò)有源晶振輸入60M的信號(hào),而OE信號(hào)則通過(guò)FPGA內(nèi)部將和CLK同頻同相的時(shí)鐘信號(hào)反相后得到,這樣剛好可以滿足A/D轉(zhuǎn)換器的轉(zhuǎn)換時(shí)序關(guān)系。
圖4分頻電路內(nèi)部結(jié)構(gòu)圖
圖5分頻電路和頻率選擇電路符號(hào)圖
上述分頻電路和頻率選擇電路及A/D轉(zhuǎn)換器的控制信號(hào)產(chǎn)生電路在頂層生成了相對(duì)應(yīng)的邏輯符號(hào)如圖5所示。
FIFO功能單元設(shè)計(jì)
本系統(tǒng)的A/D采樣速率比較高,采樣周期達(dá)到16.7ns,而選用的華邦公司單片機(jī)77E58,在晶振40MHz的讀寫(xiě)周期是100ns,而且總線的傳輸速率又比較低,因此兩者在速度上無(wú)法匹配。在這種情況下,必須要在高速采集和低速處理之間建立相應(yīng)的緩沖途徑才能保證系統(tǒng)的正常工作。為此在A/D轉(zhuǎn)換器和單片機(jī)處理器中間加入一個(gè)先入先出式緩沖器(FIFO),以緩解高速信號(hào)和低速設(shè)備之間的接口矛盾。本設(shè)計(jì)中利用EP1K50QC208中自帶的EAB(嵌入式邏輯塊),通過(guò)QuartusII中的LPM工具直接生成兩個(gè)512*8位的FIFO,作為兩路A/D轉(zhuǎn)換器的數(shù)據(jù)緩沖。QuartusII中產(chǎn)生的圖形符號(hào)和其時(shí)序波形圖形如圖6所示。FIFO的輸入信號(hào)有數(shù)據(jù)輸入信號(hào),直接和A/D轉(zhuǎn)換器的輸入相連下;寫(xiě)信號(hào)和寫(xiě)使能信號(hào),寫(xiě)信號(hào)和上述頻率選擇信號(hào)相連,可以以合適的速率將數(shù)據(jù)寫(xiě)入FIFO,寫(xiě)使能設(shè)置為永遠(yuǎn)有效;讀信號(hào)和讀使能信號(hào),這都有單片機(jī)發(fā)出的控制信號(hào)給出;異步清零信號(hào)則在每次寫(xiě)FIFO前將其清空。輸出信號(hào)有數(shù)據(jù)信號(hào),和單片機(jī)的數(shù)據(jù)線相連,傳送數(shù)據(jù);滿標(biāo)志信號(hào),當(dāng)有效時(shí)停止對(duì)FIFO的寫(xiě)操作;空標(biāo)志信號(hào),當(dāng)有效時(shí)停止對(duì)FIFO的讀操作。
圖6FIFO圖形符號(hào)和其時(shí)序波形圖
圖7測(cè)頻模塊的符號(hào)圖
頻率測(cè)量模塊設(shè)計(jì) 圖8雙通道波形顯示
頻率測(cè)量模塊在本系統(tǒng)中起著非常重要的作用,它不僅決定著采樣頻率,還決定液晶顯示屏幕的基本時(shí)間基準(zhǔn)。測(cè)量頻率其實(shí)就是單位時(shí)間內(nèi)的計(jì)數(shù)。在本設(shè)計(jì)中,測(cè)頻模塊的具體設(shè)計(jì)思路為:首先將A/D轉(zhuǎn)換器轉(zhuǎn)換后的數(shù)據(jù)通過(guò)一個(gè)比較器得到測(cè)頻脈沖,由于本設(shè)計(jì)中的A/D將0V電壓轉(zhuǎn)換為0x80,為避免在0V附近的小信號(hào)振蕩造成測(cè)頻誤差,將比較器的固定比較值設(shè)定為0x88。然后將測(cè)頻脈沖通過(guò)一個(gè)D觸發(fā)器同步后便開(kāi)始計(jì)數(shù),在計(jì)數(shù)過(guò)程中為避免尖脈沖或毛刺信號(hào)造成對(duì)計(jì)數(shù)的影響,根據(jù)上次測(cè)頻的結(jié)果選擇合適的過(guò)濾脈寬,即比給定脈沖寬度小的信號(hào)脈沖將不會(huì)被計(jì)數(shù),提高了整個(gè)測(cè)量的精度。整個(gè)測(cè)頻模塊的符號(hào)圖如圖7所示。在圖7中,compare為比較模塊,然后經(jīng)過(guò)觸發(fā)器同步后,通過(guò)脈寬過(guò)濾模塊(FreLatch1)后到計(jì)數(shù)測(cè)頻模塊(MeasureFrequency),測(cè)量得到的數(shù)據(jù)通過(guò)八位寄存器counter_out1、counter_out2和counter_out3輸出。OneSecondPulse模塊為產(chǎn)生1s脈沖的模塊,為計(jì)數(shù)提供基準(zhǔn)參考脈沖。
液晶顯示及鍵盤(pán)模塊
在本次設(shè)計(jì)中,我們選用內(nèi)置SED1335控制器的液晶顯示模塊MS320240B,分辨率為320*240。不僅可以單獨(dú)的進(jìn)行文本顯示或圖形顯示,還可以進(jìn)行圖形文本合成方式顯示。在本系統(tǒng)中能夠把被測(cè)信號(hào)的波形、兩個(gè)游標(biāo)與波形相交點(diǎn)的電壓值及時(shí)間值顯示在液晶屏上。在液晶屏的顯示如圖8所示。
在實(shí)現(xiàn)人機(jī)通信功能的單片機(jī)通信輸入設(shè)備中,zui簡(jiǎn)單的是由按鍵組成的開(kāi)關(guān)矩陣構(gòu)成的鍵盤(pán),它隨時(shí)可以發(fā)出各種控制命令和進(jìn)行數(shù)據(jù)輸入。通常按鍵所用為機(jī)械開(kāi)關(guān),有很多缺點(diǎn),主要是按鍵被按下或彈起時(shí)都會(huì)有輕微的抖動(dòng),抖動(dòng)時(shí)間和開(kāi)關(guān)的機(jī)械特性有關(guān),一般為5ms~10ms。為了避免在抖動(dòng)期間掃描鍵盤(pán)得到錯(cuò)誤的行值和列值,一般在檢測(cè)到有鍵按下后延時(shí)10ms再進(jìn)行掃描。在本設(shè)計(jì)中,采用一個(gè)3*8的行列式鍵盤(pán),發(fā)出各種命令來(lái)對(duì)采集器進(jìn)行類(lèi)似于示波器按鈕的操作。
圖9簡(jiǎn)易示波器的上位機(jī)控制面板
USB通信單元
本次設(shè)計(jì)采用Cypress公司的CY7C68013芯片實(shí)現(xiàn)USB傳輸模塊的設(shè)計(jì),CY7C68013是符合USB2.0標(biāo)準(zhǔn)的芯片。通過(guò)USB總線把采集的數(shù)據(jù)實(shí)時(shí)的傳遞給計(jì)算機(jī),便于上位機(jī)也可以實(shí)時(shí)的顯示波形,還可以很方便的存儲(chǔ)數(shù)據(jù)。
上位機(jī)應(yīng)用程序設(shè)計(jì)
在上位機(jī)中利用計(jì)算機(jī)強(qiáng)大的計(jì)算能力和圖形環(huán)境,建立圖形化的軟面板來(lái)替代常規(guī)的儀器控制面板。軟面板上具有與實(shí)際儀器相似的開(kāi)關(guān)、指示燈及其它控制部件。用戶通過(guò)鼠標(biāo)或鍵盤(pán)操作軟面板,檢驗(yàn)儀器的性能和可操作性。同時(shí),用戶不用編寫(xiě)測(cè)試程序,就可以可進(jìn)行測(cè)試、測(cè)量,實(shí)現(xiàn)了測(cè)試的自動(dòng)化、智能化。
在本設(shè)計(jì)中采用LabVIEW編寫(xiě)上位機(jī)圖應(yīng)用程序。簡(jiǎn)易示波器的上位機(jī)控制面板如圖9所示,它主要實(shí)現(xiàn)雙通道波形顯示功能。顯示面板采用游標(biāo)來(lái)進(jìn)行電壓和時(shí)間的測(cè)量,可以減小人為的讀數(shù)誤差提高測(cè)量準(zhǔn)確度。當(dāng)兩個(gè)通道同時(shí)顯示時(shí),可以通過(guò)前面板上的“當(dāng)前通道選擇”按鈕來(lái)選擇要顯示的通道的參數(shù)。RUN/STOP按鍵能夠啟動(dòng)和停止數(shù)據(jù)采集顯示模塊,便于操作和讀數(shù)。前面板還帶有拖拉和縮放按鈕,方便查看圖形。
結(jié)語(yǔ)
本文是基于FPGA的簡(jiǎn)易數(shù)字示波器系統(tǒng)的硬件/軟件的設(shè)計(jì)思路和設(shè)計(jì)方案。此系統(tǒng)設(shè)計(jì)完成后,測(cè)試表明系統(tǒng)可以將采集到的數(shù)據(jù)通過(guò)軟件程序控制轉(zhuǎn)換成相應(yīng)的波形顯示出來(lái),顯示的波形和輸入信號(hào)的波形基本一致,能夠?qū)崿F(xiàn)數(shù)據(jù)采集、緩存、傳輸及波形顯示等便攜式采集系統(tǒng)的基本功能,具有非常廣闊的應(yīng)用前景。