亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于DDS技術(shù)和FPGA的高精度任意波形發(fā)生器設(shè)計(jì)

        2022-06-10 04:50:12陳華敏
        關(guān)鍵詞:示波器上位串口

        曹 婷, 陳華敏

        (南陽(yáng)理工學(xué)院信息工程學(xué)院 河南 南陽(yáng) 473000)

        0 引言

        信號(hào)發(fā)生器是一種可以產(chǎn)生重復(fù)或者不重復(fù)頻率電子信號(hào)的設(shè)備儀器,廣泛用于日常科研、醫(yī)療、通信、機(jī)械、航天工程以及各種維修工程,是一種常見的信號(hào)產(chǎn)生源。類似功能的還有數(shù)字型采樣器、訊號(hào)產(chǎn)生器、影像信號(hào)產(chǎn)生器[1]。自20世紀(jì)60年代以來(lái),信號(hào)發(fā)生器得到迅速的發(fā)展,無(wú)論是國(guó)內(nèi)還是國(guó)外,均對(duì)此進(jìn)行了大量的研究,相繼出現(xiàn)了掃描類信號(hào)發(fā)生器、程控信號(hào)發(fā)生器、合成信號(hào)發(fā)生器等新型種類[2]。

        傳統(tǒng)的信號(hào)發(fā)生器因含有較多模擬器件,結(jié)構(gòu)復(fù)雜,體積重量龐大,功耗很高,同時(shí)普遍存在精度不高、頻率切換速度低等缺點(diǎn)。隨著通信技術(shù)、衛(wèi)星定位系統(tǒng)、精密機(jī)械控制以及航空航天測(cè)控等領(lǐng)域?qū)y(cè)控技術(shù)要求不斷提高,對(duì)信號(hào)發(fā)生器的穩(wěn)定度、精確度和頻率帶寬等要求越來(lái)越高,而傳統(tǒng)振蕩器由于產(chǎn)生的頻率信號(hào)精度不高、太單一或者只能在較小范圍內(nèi)調(diào)節(jié)頻率,不能滿足要求。利用頻率合成技術(shù)就是解決該問(wèn)題的最好方法之一。直接數(shù)字頻率合成技術(shù) DDS ( Direct Digital Synthesizer) 是把一系列數(shù)字信號(hào)通過(guò) D/A 轉(zhuǎn)換器轉(zhuǎn)換為模擬信號(hào)的合成技術(shù),能夠在頻率帶寬比較寬的范圍內(nèi)實(shí)現(xiàn)比較高的頻率分辨率,不僅可以實(shí)現(xiàn)快速頻率切換,并且在頻率改變時(shí)能夠保持相位的連續(xù),比較容易實(shí)現(xiàn)頻率、相位和幅度的數(shù)控調(diào)制[3,4]。本文利用直接數(shù)字合成技術(shù),結(jié)合FPGA的IP核心優(yōu)勢(shì),設(shè)計(jì)了一個(gè)可以產(chǎn)生任意波形的信號(hào)發(fā)生器。

        1 系統(tǒng)總體設(shè)計(jì)

        1.1 系統(tǒng)分析

        DDS的基本工作原理是以基準(zhǔn)頻率源對(duì)相位進(jìn)行等間隔的采樣。其波形存儲(chǔ)器(即ROM查詢表)必須提前生成該波形對(duì)應(yīng)的ROM儲(chǔ)存塊,并且不能在使用過(guò)程中切換任意波形[5]。一般的DDS整體框架如圖1所示。這種設(shè)計(jì)方法使用的波形是DDS事先儲(chǔ)存好的波形,并不能實(shí)現(xiàn)真正意義上的比如像隨機(jī)數(shù)噪聲波的類似波形,局限性很大。

        圖1 常見DDS信號(hào)發(fā)生器原理框圖

        1.2 方案設(shè)計(jì)

        如果要實(shí)現(xiàn)在使用過(guò)程中任意更改波形,就應(yīng)該使用IP核中的RAM而且是雙口RAM,因?yàn)樗哂性谧x寫時(shí)可進(jìn)行異步分離,兩者互不相干的特點(diǎn),極大地方便了設(shè)計(jì)。這種設(shè)計(jì)方法核心控制由FPGA操控,復(fù)雜數(shù)據(jù)運(yùn)算由上位系統(tǒng)運(yùn)算結(jié)束后,再由串行接口回發(fā)至FPGA,F(xiàn)PGA根據(jù)接收到的回發(fā)數(shù)據(jù)與指令來(lái)進(jìn)行頻率和波形的具體調(diào)控。理論上,只要給出需要顯示的波形周期數(shù)據(jù),在一定頻率范圍內(nèi),對(duì)任意波形的實(shí)現(xiàn)是完全可調(diào)控的。

        根據(jù)采樣定理,所能得到的最大不失真頻率應(yīng)當(dāng)是采樣頻率的0.5倍[6]。為了即時(shí)生成波形數(shù)據(jù)并寫入至FPGA的RAM中,可以在上位系統(tǒng)中即時(shí)根據(jù)波形方程直接計(jì)算數(shù)據(jù)寫入RAM中,因?yàn)榭刂婆_(tái)接收的數(shù)據(jù)是一系列字符串,可以采用Mathematica Kernel將字符串轉(zhuǎn)化為函數(shù),利用外部平臺(tái)調(diào)用內(nèi)核計(jì)算并返回給上位機(jī)系統(tǒng),PC上位軟件解析框圖如圖2所示。

        圖2 PC上位軟件解析框圖

        2 波形發(fā)生器設(shè)計(jì)

        2.1 上位機(jī)設(shè)計(jì)

        2.1.1 串口編程軟件的選擇

        開發(fā)上位機(jī)有多種選擇,可以用Matlab、Mathematica、Python、Labview開發(fā),或者采用編程語(yǔ)言C/C++、VB、C#開發(fā)。每種開發(fā)方式都有自身的優(yōu)勢(shì),本設(shè)計(jì)采用C#開發(fā)上位機(jī)。

        2.1.2 頻率控制字計(jì)算

        如果直接使用FPGA計(jì)算頻率控制字,無(wú)論是VHDL還是Verilog HDL均不存在直接計(jì)算浮點(diǎn)除法的方法,且整數(shù)除法運(yùn)算時(shí)間長(zhǎng),一個(gè)周期內(nèi)不一定計(jì)算完畢。FPGA的優(yōu)勢(shì)在于并行計(jì)算,故應(yīng)充分利用FPGA的核心優(yōu)勢(shì),模塊的頻率控制字由上位軟件負(fù)責(zé)計(jì)算,再借由C#將數(shù)據(jù)進(jìn)行分割處理。

        由于串口無(wú)法一次接收32位數(shù)據(jù),所以需要對(duì)數(shù)據(jù)進(jìn)行分割,之后利用FPGA在內(nèi)部接收后對(duì)其整合即可得到一個(gè)完整的頻率控制字。

        2.1.3 波形方程回調(diào)設(shè)計(jì)

        上位機(jī)核心設(shè)計(jì)是由上位機(jī)提供方程給內(nèi)核,由內(nèi)核代為計(jì)算,計(jì)算完畢回調(diào)給上位機(jī),上位機(jī)將數(shù)據(jù)處理后再利用串口發(fā)送至下位機(jī)。

        本模塊設(shè)計(jì)使用的是Mathematica內(nèi)核,并采用C#調(diào)用。利用Mathematica實(shí)現(xiàn)多種波形諸如正弦波、方波、階梯波、三角波等,還可利用隨機(jī)數(shù)產(chǎn)生隨機(jī)噪聲波,給出任意方程均可轉(zhuǎn)換為對(duì)應(yīng)的波形數(shù)據(jù)。

        2.1.4 上位機(jī)各模塊設(shè)計(jì)

        上位機(jī)模塊由波形生成模塊、調(diào)節(jié)頻率模塊、DDS狀態(tài)顯示模塊、波形狀態(tài)顯示模塊組成。使用WPF技術(shù),采用XAML擴(kuò)展標(biāo)記語(yǔ)言來(lái)制作界面,利用C#編寫后臺(tái)邏輯,借助WPF技術(shù)致使界面與后臺(tái)完全分離。

        上位機(jī)程序的核心操作有狀態(tài)接收和頻率寫入兩種。狀態(tài)接收模塊主要接收下位機(jī)指令,在本設(shè)計(jì)中0x01是寫波形模式,0x10是寫頻率模式。頻率寫入模塊存在兩種頻率調(diào)節(jié)方式,范圍調(diào)節(jié)與精確調(diào)節(jié)。波形生成模塊是借由內(nèi)核計(jì)算,用于生成各類波形所準(zhǔn)備。頻率調(diào)節(jié)模塊用于將實(shí)際頻率轉(zhuǎn)化為FPGA可進(jìn)行相位累加的32位頻率控制字,具有在一個(gè)確定范圍調(diào)節(jié)抑或是給定頻率兩種方式。狀態(tài)顯示模塊用于顯示當(dāng)前設(shè)備的狀態(tài),包括但不限于DDS狀態(tài)、波形頻率、波形類型等。

        2.2 下位機(jī)設(shè)計(jì)

        2.2.1 串行端口模塊

        串行端口模塊主要包括發(fā)送模塊和接收模塊兩部分。發(fā)送模塊是利用FPGA向串口發(fā)送測(cè)試數(shù)據(jù)。為了便于觀察結(jié)果,將發(fā)送模塊與接收模塊連接測(cè)試,baud_set即為波特率選擇輸入,默認(rèn)空載波特率為9600 bps,產(chǎn)生4種常用波特率,為了便于觀察結(jié)果,將發(fā)送模塊與接收模塊連接測(cè)試,這樣發(fā)送的數(shù)據(jù)可以直接利用RX端接收,測(cè)試方法如圖3所示,在串口調(diào)試助手中測(cè)試結(jié)果如圖4所示。

        圖3 串口短接原理圖

        圖4 串口短接測(cè)試

        2.2.2 DDS控制模塊

        DDS控制模塊是本設(shè)計(jì)的核心,包括核心控制模塊、相位累加模塊以及雙口RAM讀寫模塊[7]。

        所謂直接數(shù)字頻率合成技術(shù),即結(jié)合相位累加概念,利用相位累加特性生成所需使用波形的一種新型頻率合成技術(shù),利用該技術(shù)可以方便地調(diào)控頻率、幅值和相位[8]。DDS輸出信號(hào)的頻率計(jì)算公式為

        (1)

        Fout為輸出頻率,B為頻率控制字,F(xiàn)dk為時(shí)鐘頻率。

        如果時(shí)鐘頻率Fdk=50 MHz,N= 8,B= 1,ROM所得到的輸出波形頻率Fout為195.3125 kHz。

        頻率控制字由PC上位機(jī)計(jì)算,計(jì)算后利用串口回發(fā)至FPGA,F(xiàn)PGA將其儲(chǔ)存在一個(gè)32位寄存器內(nèi)部。根據(jù)RS232協(xié)議,所以需要將頻率控制字轉(zhuǎn)化為32位16進(jìn)制數(shù)再將其分割為4個(gè)8位16進(jìn)制數(shù),按照順序依次發(fā)送至FPGA的寄存器內(nèi)部,寄存器根據(jù)數(shù)據(jù)接收先后將其整合為32位16進(jìn)制數(shù),再傳輸至DDS控制核心,接收成功后再利用此數(shù)據(jù)進(jìn)行相位累加位[9]。對(duì)頻率控制字的測(cè)試電路原理圖如圖5所示。

        圖5 頻率控制字測(cè)試電路

        使用串口助手對(duì)該測(cè)試電路進(jìn)行測(cè)試,如圖6所示。

        圖6 利用助手向串口發(fā)送4個(gè)8位16進(jìn)制數(shù)

        為了檢驗(yàn)數(shù)據(jù)是否接收成功,在實(shí)際使用之前,可采用邏輯分析儀與Modelsim進(jìn)行仿真。本設(shè)計(jì)仿真測(cè)試均采用SignalTap II測(cè)試,測(cè)試結(jié)果如圖7所示。

        圖7 邏輯分析儀采樣結(jié)果

        從圖7中可以看出程序正確讀取了從串口接收到的數(shù)據(jù),并將其整合為32位16進(jìn)制數(shù)據(jù)。

        2.2.3 雙口RAM讀寫模塊

        傳統(tǒng)的DDS波形儲(chǔ)存一般使用的是ROM,無(wú)法實(shí)現(xiàn)在器件運(yùn)行期間更改波形,雙口RAM可以解決這個(gè)問(wèn)題,因其具有異步讀寫的功能。

        使用quartus提供的IP核,例化一個(gè)擁有256數(shù)據(jù)深度,異步數(shù)據(jù)讀寫,8位地址寬度,M9K儲(chǔ)存類型的雙口RAM。雙口RAM用于接收來(lái)自PC發(fā)送的數(shù)據(jù),利用RAM將波形數(shù)據(jù)儲(chǔ)存在其內(nèi)部,再使用相位累加將其從RAM中都取出來(lái),經(jīng)過(guò)D/A轉(zhuǎn)化就可以生成一個(gè)完整的波形位[10]。

        2.2.4 下位機(jī)頂層設(shè)計(jì)

        下位機(jī)主程序采用模塊化設(shè)計(jì),模塊利用Rx輸入端口接收來(lái)自上位機(jī)發(fā)送的數(shù)據(jù),若接收到的是0x01則開啟DDSEND模塊的RAM功能,0x10則開啟UARTD的頻率控制字接收功能;Tx輸出端口負(fù)責(zé)發(fā)送指令通知上位機(jī),SIMG模塊負(fù)責(zé)動(dòng)態(tài)掃描顯示,接收到0x01時(shí)數(shù)碼管顯示01,接收到0x10時(shí)數(shù)碼管顯示10,初始化與復(fù)位時(shí)數(shù)碼管顯示0F,且功能切換是利用兩個(gè)key_fitler按鍵掃描模塊所實(shí)現(xiàn)。

        3 實(shí)時(shí)數(shù)據(jù)采樣波形分析

        3.1 常用輸出波形

        仿真測(cè)試采用邏輯分析儀Signal Tap Logic對(duì)系統(tǒng)進(jìn)行采樣分析,為了觀察波形,應(yīng)將采樣數(shù)據(jù)轉(zhuǎn)化為無(wú)符號(hào)的線性圖,這樣就可以將采樣的數(shù)據(jù)轉(zhuǎn)化為圖形。設(shè)置邏輯分析儀的數(shù)據(jù)采樣深度為1024個(gè)采樣點(diǎn),采樣頻率為板載頻率50 MHz。為了觀察到完整的波形,首先在頻率控制寄存器內(nèi)部寫入檢測(cè)頻率0.25 MHz,之后再寫需要顯示的波形,采用邏輯分析儀Signal Tap II對(duì)系統(tǒng)進(jìn)行采樣分析,得到的典型的正弦波如圖8所示。

        圖8 正弦波 Signal Tap II 實(shí)時(shí)數(shù)據(jù)采樣波形圖

        由圖9可以觀察到,邏輯分析儀清晰地顯示了輸出端口的波形,本設(shè)計(jì)選擇0.25 MHz作為典型頻率是因?yàn)檫壿嫹治鰞x采樣點(diǎn)數(shù)有限且采樣頻率取決于使用的采樣時(shí)鐘,若典型頻率過(guò)低則1024個(gè)點(diǎn)會(huì)采集不到完整的一個(gè)波形,頻率過(guò)高波形又太密集,所以就使用一個(gè)觀察采樣點(diǎn)效果較好的頻率,為了分析本設(shè)計(jì)的性能,利用邏輯分析儀采集常用的幾類波形,生成的正弦波光滑整潔,幾乎沒有毛刺,無(wú)論是正弦波、方波、三角波還是階梯波均顯示效果良好。

        3.2 復(fù)合函數(shù)式輸出波形

        圖9 由三角波與正弦波合成的波形

        采用上位機(jī)的任意波形生成模式,生成一個(gè)由方波與三角波合成的復(fù)合型函數(shù)式波形如圖10所示,函數(shù)方程為

        3.3 任意輸出波形

        除了常用的基礎(chǔ)波形,大多數(shù)波形均不具備函數(shù)表達(dá)式。如手動(dòng)編輯的波形、隨機(jī)數(shù)波形、音頻波形、自然波形等。這時(shí)就需要借用波形數(shù)據(jù)來(lái)產(chǎn)生對(duì)應(yīng)波形。

        圖10 由方波與三角波合成的波形

        本文設(shè)計(jì)思路是利用函數(shù)表達(dá)式生成固定的256個(gè)波形周期數(shù)據(jù)再發(fā)送至DDS用于顯示波形,最終得到的波形取決于波形數(shù)據(jù)而非方程。利用Wolfram的隨機(jī)數(shù)發(fā)生函數(shù),產(chǎn)生256個(gè)隨機(jī)數(shù)并發(fā)送至FPGA,使用Signal Tap II采集數(shù)據(jù)如圖11所示。

        圖11 隨機(jī)數(shù)波形

        3.4 手繪波形

        手繪波形也是產(chǎn)生波形的一種方式,本設(shè)計(jì)通過(guò)FPGA的ROM工具M(jìn)ifMake手繪出波形,利用生成的*.mif文件作處理后提取出相應(yīng)的數(shù)據(jù)發(fā)送至FPGA用于顯示,顯示結(jié)果如圖12所示。

        圖12 手繪波形 Signal Tap II 實(shí)時(shí)數(shù)據(jù)采樣波形圖

        可以看出,手繪波形的顯示效果很好,因?yàn)镈DS的D/A模塊處理的數(shù)據(jù)范圍為0~255,故可以直接利用波形數(shù)據(jù)的上下限來(lái)調(diào)節(jié)波形的幅值。

        3.5 示波器顯示

        為了查看實(shí)際效果,用示波器來(lái)查看輸出波形。實(shí)際性能除了與采樣深度有一定的聯(lián)系外,實(shí)際使用時(shí)還應(yīng)當(dāng)結(jié)合D/A轉(zhuǎn)換器以及高通濾波器。

        本設(shè)計(jì)使用D/A芯片是AD公司所生產(chǎn)的AD9708,濾波器是帶寬為40 MHz的七階巴特沃斯濾波器。AD9708擁有128 MSPS的采樣頻率,實(shí)測(cè)在保證波形不失真的情況下,頻率最大可達(dá)到1.95313 MHz。且波形頻率在0~2 MHz時(shí)示波器顯示效果良好,未出現(xiàn)明確失真。經(jīng)過(guò)計(jì)算得數(shù)字頻率誤差率小于1.2%。且經(jīng)過(guò)濾波器過(guò)濾高頻信號(hào),整體波形顯示平滑,顯示效果很好,截止頻率優(yōu)良,帶寬高,且具有優(yōu)良的抗干擾特性。信號(hào)發(fā)生器連接示波器顯示效果如圖13所示。

        圖13 信號(hào)發(fā)生器連接示波器示意圖

        為了檢測(cè)各種頻率下波形的顯示效果,使用數(shù)字示波器檢測(cè)各類波形的結(jié)果如圖14至圖16所示。

        圖14 頻率為500 KHz的三角波

        圖15 頻率為3.8 MHz的正弦波

        圖16 頻率為1200 Hz的復(fù)合式波形

        從示波器中可以看出,無(wú)論是基礎(chǔ)波形還是復(fù)合波形,整體波形顯示平滑,波形均未出現(xiàn)失真,帶寬高,具有優(yōu)良的抗干擾特性,顯示效果很好。表1是各種波形理論值和實(shí)測(cè)值對(duì)比及誤差率統(tǒng)計(jì)。

        理論上波形的輸出范圍在-5~5 V(10 Vpp),但由于模塊使用的5 K電位器精度不足,故在頻率過(guò)高時(shí)會(huì)出現(xiàn)消頂誤差,誤差率小于3.5%,且只有在頻率超過(guò)37 MHz時(shí)才會(huì)出現(xiàn)。串口的通訊速度為9600 bps,根據(jù)計(jì)算,在該速度下切換一次頻率所需要的時(shí)間為4.58 ms,切換一次波形所需要的時(shí)間為0.29 s。

        表1 各種波形理論值和實(shí)測(cè)值對(duì)比及誤差率

        與普通的信號(hào)發(fā)生器相比,基于FPGA的以DDS為核心技術(shù)的信號(hào)發(fā)生器能夠靈活產(chǎn)生更加精準(zhǔn)穩(wěn)定、更寬頻率范圍的正弦波、方波、三角波和鋸齒波等信號(hào)。

        4 結(jié)論

        本設(shè)計(jì)彌補(bǔ)了DDS芯片的短板,利用RAM代替ROM。配合專用的上位機(jī),可實(shí)現(xiàn)高帶寬,高精度的任意波形,結(jié)合D/A模塊可以方便地進(jìn)行幅度調(diào)節(jié),且在示波器上顯示效果直觀,信號(hào)純度好。使用FPGA芯片,結(jié)合它的并行運(yùn)算,高執(zhí)行速度,豐富的IP軟核等優(yōu)勢(shì)來(lái)設(shè)計(jì)的信號(hào)發(fā)生器無(wú)論是速度,性能還是在易用性上均優(yōu)于使用MCU所制作的信號(hào)發(fā)生器。

        猜你喜歡
        示波器上位串口
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        特斯拉 風(fēng)云之老阿姨上位
        車迷(2018年12期)2018-07-26 00:42:22
        一款教學(xué)示波器的Y通道設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2017年13期)2017-12-15 09:00:08
        可攜帶式虛擬雙蹤示波器
        電子制作(2017年20期)2017-04-26 06:57:46
        “三扶”齊上位 決戰(zhàn)必打贏
        基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時(shí)無(wú)線通信
        以新思路促推現(xiàn)代農(nóng)業(yè)上位
        基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
        久久久久久久性潮| 国产美女久久精品香蕉69| 欧美粗大猛烈老熟妇| 失禁大喷潮在线播放| 日韩www视频| 中文字幕人妻第一区| 中文字幕人妻被公上司喝醉| 色八a级在线观看| 国产成人亚洲综合无码DVD| 国产日产亚洲系列av| 伊人狼人激情综合影院| 青青草手机在线免费观看视频| 中文字幕av中文字无码亚| 果冻传媒2021精品一区| 爽爽午夜影视窝窝看片| 亚洲中文字幕无码久久2018| 国产视频一区二区三区在线看| 日本亚洲中文字幕一区| 性欧美长视频免费观看不卡| 亚洲av无码久久精品蜜桃| 欧美精品在线一区| 欧美丝袜秘书在线一区 | 国内精品视频一区二区三区| 99久久超碰中文字幕伊人| 亚洲av乱码国产精品色| 国产黄色一区二区三区av| 女优一区二区三区在线观看| 国产内射爽爽大片视频社区在线 | 无码AV大香线蕉伊人久久| 中文字幕专区一区二区| 亚洲国产精品综合久久网络| 国产在线无码制服丝袜无码| 欧美一区二区午夜福利在线yw| 亚洲av男人免费久久| 亚洲国产精品无码aaa片| 国产精品美女一区二区三区| Y111111国产精品久久久| 日本精品国产1区2区3区| av网站免费观看入口| 国产欧美日韩精品丝袜高跟鞋| 成人片黄网站色大片免费观看cn|