国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32的多功能數(shù)字存儲(chǔ)示波器

2019-10-11 09:42:24蔣江紅張玉梅
關(guān)鍵詞:示波器波形電路

蔣江紅,張玉梅

(陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安 710119)

0 引 言

傳統(tǒng)數(shù)字存儲(chǔ)示波器普遍存在體積大、價(jià)格昂貴和不方便攜帶等問(wèn)題[1-2],主要是在一些有條件的實(shí)驗(yàn)室環(huán)境下使用,對(duì)于一些條件比較惡劣和環(huán)境復(fù)雜的場(chǎng)合,使用起來(lái)往往比較困難。為了解決這些問(wèn)題,設(shè)計(jì)了一種FPGA與STM32相結(jié)合的便攜式數(shù)字存儲(chǔ)示波器系統(tǒng)。由于示波器的性能、復(fù)雜度和成本與數(shù)據(jù)處理端信號(hào)的采樣、存儲(chǔ)和處理有關(guān)[3-4],F(xiàn)PGA與其他微處理器相比,不僅處理速度較快而且接口資源豐富[5-7],因此可以結(jié)合FPGA在邏輯控制以及高速信號(hào)采集方面的優(yōu)勢(shì)來(lái)提高數(shù)字存儲(chǔ)示波器的性能。

FPGA主要包括基準(zhǔn)時(shí)鐘、分頻器、門(mén)限生成、采樣率控制幾個(gè)功能子模塊[8-9]。另外根據(jù)μc OS II操作系統(tǒng)和μc GUI圖形界面系統(tǒng)在LCD顯示的實(shí)時(shí)性以及執(zhí)行任務(wù)的靈活性[10],采用模塊化的設(shè)計(jì)方法,極大地提高了系統(tǒng)在復(fù)雜工作環(huán)境下進(jìn)行信號(hào)檢測(cè)的效率。

1 系統(tǒng)總體方案

整個(gè)系統(tǒng)采用FPGA+STM32相結(jié)合的工作方式,STM32作為系統(tǒng)的控制核心[11],主要完成示波器的信號(hào)分析、處理、變換,系統(tǒng)功能控制和顯示操作等工作;數(shù)據(jù)信號(hào)的采集控制和顯示控制等工作由FPGA完成。系統(tǒng)總體框圖如圖1所示。

圖1 系統(tǒng)總體框圖

2 系統(tǒng)硬件設(shè)計(jì)

2.1 前端信號(hào)調(diào)理電路

系統(tǒng)中前端調(diào)理電路的作用主要是為了產(chǎn)生適合于進(jìn)行高速AD轉(zhuǎn)換的信號(hào)[12]。該部分由輸入阻抗匹配電路、放大電路、信號(hào)緩沖電路和電平平移電路組成,其中輸入阻抗匹配電路主要是為了避免由于接上的負(fù)載干擾電路的正常工作;放大電路的主要功能是適當(dāng)調(diào)整信號(hào)的幅度,以便后續(xù)電路對(duì)信號(hào)的處理;信號(hào)緩沖電路和平移電路的主要作用是對(duì)傳輸?shù)男盘?hào)進(jìn)行處理,以便產(chǎn)生適合AD轉(zhuǎn)換的信號(hào)。

2.2 上升沿觸發(fā)信號(hào)產(chǎn)生電路

比較電路是上升沿觸發(fā)信號(hào)產(chǎn)生電路的關(guān)鍵組成部分,該電路工作的過(guò)程是將輸入信號(hào)與設(shè)定的觸發(fā)電平即門(mén)限電平進(jìn)行比較,當(dāng)輸入信號(hào)的幅度大于設(shè)定的閾值時(shí),比較器輸出上升沿跳變,形成觸發(fā)信號(hào),為后續(xù)顯示提供FIFO輸出參考[13]。通過(guò)引入正反饋來(lái)形成遲滯電平,從而完成遲滯比較和消除噪聲干擾。

2.3 AD數(shù)據(jù)采集電路及采樣分析

數(shù)據(jù)采集電路中的AD芯片選用的是雙核8位單芯片模數(shù)轉(zhuǎn)換器AD9288。該芯片內(nèi)置片內(nèi)保持電路,采用100 MSPS轉(zhuǎn)換速率工作,每個(gè)通道均可以獨(dú)立工作。為了簡(jiǎn)化硬件電路的設(shè)計(jì)以及消除其他信號(hào)的干擾,AD數(shù)據(jù)采集中的采樣時(shí)鐘由FPGA提供;通過(guò)改變采樣頻率來(lái)實(shí)現(xiàn)掃描速度的改變。信號(hào)的采樣分為實(shí)時(shí)采樣和等效采樣,為了提高系統(tǒng)的性能,系統(tǒng)將兩種方式相結(jié)合,當(dāng)輸入信號(hào)頻率低于20 MHz時(shí),選用實(shí)時(shí)采樣;反之,選用等效采樣。

2.4 FPGA電路設(shè)計(jì)

FPGA電路主要包括時(shí)鐘分頻電路和FIFO電路,通過(guò)在FPGA內(nèi)部設(shè)計(jì)一個(gè)分頻電路來(lái)選擇不同的采樣頻率,確保數(shù)據(jù)采集系統(tǒng)具有較大的測(cè)量范圍,利用程序來(lái)實(shí)現(xiàn)電路的不同分頻比,從而使時(shí)鐘滿(mǎn)足AD采集需求。為了實(shí)現(xiàn)對(duì)AD采集數(shù)據(jù)的快速存儲(chǔ),設(shè)計(jì)大小為4 096 B的FIFO,AD采集電路開(kāi)啟時(shí),F(xiàn)IFO開(kāi)始存儲(chǔ)數(shù)據(jù)[14-15]。

2.5 中央控制系統(tǒng)的設(shè)計(jì)

該系統(tǒng)的中央控制器采用的是低功耗的Cortex-M3系列的STM32芯片[16],該芯片的最大工作頻率為72 MHz。中央控制器的主要功能是以一定的時(shí)鐘頻率讀取FPGA內(nèi)FIFO中的數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行相應(yīng)處理,以便重建信號(hào)波形;顯示部分使用的是具有觸摸功能的TFTLCD,分辨率為400*240,通過(guò)STM32的FSMC接口來(lái)控制該顯示器。

3 軟件設(shè)計(jì)及流程圖

3.1 FPGA的程序設(shè)計(jì)

系統(tǒng)通過(guò)FPGA進(jìn)行數(shù)據(jù)的采集和AD轉(zhuǎn)換控制,分為AD采樣控制模塊和FIFO讀寫(xiě)數(shù)據(jù)控制模塊,其中采樣控制模塊產(chǎn)生一個(gè)時(shí)鐘信號(hào),控制AD工作,以及將AD轉(zhuǎn)換后的數(shù)據(jù)寫(xiě)入到異步FIFO中;讀寫(xiě)數(shù)據(jù)控制模塊用來(lái)控制數(shù)據(jù)的讀和寫(xiě)。FPGA的程序設(shè)計(jì)流程如圖2所示。

圖2 FPGA程序設(shè)計(jì)流程

3.2 示波器參數(shù)測(cè)量的程序設(shè)計(jì)

數(shù)字存儲(chǔ)示波器的參數(shù)分為幅度參數(shù)和周期時(shí)間參數(shù),其中幅度參數(shù)是根據(jù)各通道的量程來(lái)計(jì)算,時(shí)間參數(shù)是依據(jù)時(shí)基來(lái)計(jì)算。

根據(jù)脈沖參數(shù)的定義,在參數(shù)測(cè)試中只需要知道波形頂值電壓、底值電壓、10%電壓、50%電壓、90%電壓等幾個(gè)關(guān)鍵的電壓值,就能在此基礎(chǔ)上找到對(duì)應(yīng)電壓值出現(xiàn)在待測(cè)波形數(shù)據(jù)中的相對(duì)位置,從而實(shí)現(xiàn)各參數(shù)的測(cè)試。

3.2.1 頻數(shù)直方圖密度分布眾數(shù)法

由于波形的頂值和底值可能不是波形的全局最值,為了較精確地獲取波形的底線(xiàn)和頂線(xiàn)數(shù)據(jù),采用頻數(shù)直方圖密度分布眾數(shù)法將出現(xiàn)次數(shù)比整個(gè)顯示點(diǎn)數(shù)的5%多并且反復(fù)出現(xiàn)的點(diǎn)作為最一般常見(jiàn)點(diǎn),當(dāng)這種類(lèi)型的點(diǎn)不存在時(shí),分別將正峰值和負(fù)峰值作為波形的頂值和底值。

3.2.2 周期和頻率的測(cè)量

根據(jù)定義可知,通過(guò)信號(hào)周期可以計(jì)算頻率,因此可以先測(cè)出周期,其倒數(shù)即為頻率,當(dāng)信號(hào)周期不存在,其頻率也不存在。定義計(jì)算周期的步驟為:

(1)信號(hào)的頂值和底值是通過(guò)直方圖方法來(lái)確定;

(2)計(jì)算出50%電壓值:50%電壓值=底值電壓+(頂值電壓-低值電壓)*50%;

(3)對(duì)于周期的測(cè)量需要找到連續(xù)的3個(gè)數(shù)值和50%電壓值相等的點(diǎn)的屏幕坐標(biāo);當(dāng)沒(méi)有等于50%電壓值時(shí),找到與50%電壓值最接近的點(diǎn);

(4)周期=(第三個(gè)50%點(diǎn)的坐標(biāo)-第一個(gè)50%點(diǎn)的坐標(biāo))*單位時(shí)間值。

當(dāng)時(shí)基較小,可以求出所有50%點(diǎn),通過(guò)50%點(diǎn)的平均值的算法提高精確度;當(dāng)時(shí)基較大時(shí),第三個(gè)50%點(diǎn)不是第300個(gè)點(diǎn)時(shí),由于每屏為300個(gè)點(diǎn),可以繼續(xù)尋找下一個(gè)50%點(diǎn)直到第300個(gè)點(diǎn)為止。程序流程如圖3所示。

3.3 主控制器的程序設(shè)計(jì)

主控制器軟件系統(tǒng)的主要功能是讀取FPGA中采集到的用于波形分析和重建的數(shù)據(jù),為了提高系統(tǒng)的實(shí)時(shí)性和可維護(hù)性,系統(tǒng)采用源碼公開(kāi)的UCOS多任務(wù)實(shí)時(shí)操作系統(tǒng),同時(shí)充分利用系統(tǒng)底層CPU寄存器來(lái)編寫(xiě)出高效率可靠的實(shí)時(shí)應(yīng)用層代碼。

在波形的顯示上主要采用嵌入式圖形軟件UCGUI,由于其采用模塊化的設(shè)計(jì),LCD驅(qū)動(dòng)程序包含了對(duì)LCD的全部訪(fǎng)問(wèn)接口,因此適用于任何LCD控制和CPU的任何尺寸的物理和虛擬顯示。系統(tǒng)的控制流程如圖4所示。

圖3 周期測(cè)量流程

圖4 系統(tǒng)控制流程

4 系統(tǒng)測(cè)試及誤差分析

基于以上設(shè)計(jì)和硬件平臺(tái),分別進(jìn)行了水平分辨率測(cè)試和垂直靈敏度測(cè)試。系統(tǒng)測(cè)試如圖5所示,觀察示波器產(chǎn)生的掃描電壓以及在信號(hào)上升沿開(kāi)始顯示波形。通過(guò)實(shí)際觀察能夠產(chǎn)生掃描電壓,并正常顯示波形。在垂直靈敏度測(cè)試的正弦信號(hào)頻率為10 kHz時(shí),測(cè)得的數(shù)據(jù)如表1所示。

檔位輸入Vi/V輸出Vo/V誤差=|Vi-Vo|/V?100%1 V/div76.74.20%43.85.00%22.15.00%0.1 V/div0.80.773.75%0.60.623.33%0.40.384.00%0.2 V/div0.0160.015 53.12%0.0080.008 11.25%0.0040.003 92.50%

由表1數(shù)據(jù)可知,測(cè)量結(jié)果都在測(cè)量誤差允許的范圍內(nèi),很好地完成了設(shè)計(jì)任務(wù)。

5 結(jié)束語(yǔ)

系統(tǒng)在設(shè)計(jì)中主要有以下三個(gè)難點(diǎn):系統(tǒng)前端調(diào)理電路設(shè)計(jì),該部分電路設(shè)計(jì)的好壞是整個(gè)系統(tǒng)能否正常運(yùn)行的關(guān)鍵;觸發(fā)電路的設(shè)計(jì);提高被測(cè)波形的相關(guān)參數(shù)測(cè)量的精確度一直都是重點(diǎn)解決的問(wèn)題。系統(tǒng)的創(chuàng)新主要體現(xiàn)在:一、系統(tǒng)將高速邏輯控制器件與單片機(jī)結(jié)合在一起,能夠?qū)烧叩膬?yōu)勢(shì)發(fā)揮出來(lái),分工合作使其設(shè)計(jì)的效果達(dá)到最佳;二、采用高速的AD轉(zhuǎn)換芯片,提高了系統(tǒng)的帶寬;三、將嵌入式實(shí)時(shí)操作系統(tǒng)與嵌入式圖形界面結(jié)合在一起,比較精確地重建了波形。

猜你喜歡
示波器波形電路
電路的保護(hù)
對(duì)《壓力容器波形膨脹節(jié)》2018版新標(biāo)準(zhǔn)的理解及分析
解讀電路
巧用立創(chuàng)EDA軟件和Altium Designer軟件設(shè)計(jì)電路
電子制作(2019年24期)2019-02-23 13:22:20
基于LFM波形的靈巧干擾效能分析
基于MATLAB模擬混沌電路
電子制作(2018年17期)2018-09-28 01:56:44
一款教學(xué)示波器的Y通道設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2017年13期)2017-12-15 09:00:08
可攜帶式虛擬雙蹤示波器
電子制作(2017年20期)2017-04-26 06:57:46
基于ARM的任意波形電源設(shè)計(jì)
大連臺(tái)使用CTS-1記錄波形特點(diǎn)
漳平市| 长岭县| 张家界市| 日土县| 那坡县| 五家渠市| 苍梧县| 尼勒克县| 九江市| 日土县| 南开区| 溧阳市| 益阳市| 林芝县| 女性| 申扎县| 和静县| 永吉县| 赤峰市| 关岭| 米脂县| 贵德县| 海口市| 石首市| 辉南县| 华池县| 迭部县| 山东省| 庄河市| 和政县| 东宁县| 通道| 孝昌县| 伊宁市| 博兴县| 弥渡县| 哈巴河县| 宣化县| 镇安县| 涪陵区| 神农架林区|