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

?

基于FPGA的DDS信號發(fā)生器設(shè)計

2023-01-31 01:47:00董殿國侯文
電子制作 2023年1期
關(guān)鍵詞:累加器上位串口

董殿國,侯文

(中北大學(xué) 信息與通信工程學(xué)院,山西太原,030051)

0 引言

隨著現(xiàn)代電子技術(shù)的飛速發(fā)展,直接數(shù)字頻率合成DDS技術(shù)逐漸被廣泛使用,從其技術(shù)理論上看,具有靈活性高、變頻速度快、變頻簡單等優(yōu)點(diǎn)。從實際效果來看,變頻時分辨率高,相位噪聲低,電路集成度高、頻率穩(wěn)定等優(yōu)點(diǎn)。該技術(shù)已經(jīng)逐漸被應(yīng)用到現(xiàn)代雷達(dá)、導(dǎo)航、遙感、現(xiàn)代儀器儀表等關(guān)鍵領(lǐng)域。

使用DDS技術(shù)產(chǎn)生任意頻率波形的方案主要有三種。第一種是直接使用高性能專用DDS集成電路芯片,比如AD9833,此種方案的優(yōu)點(diǎn)是產(chǎn)生的波形頻率準(zhǔn)確,變頻時分辨率高,直接使用通訊協(xié)議控制輸入。缺點(diǎn)是,可以產(chǎn)生的波形類型受限,只有特定的幾種,且內(nèi)部配置靈活性很低。第二種是使用單片機(jī)實現(xiàn)DDS技術(shù),此種方案在低頻時配置較為簡單,易于實現(xiàn),在中高頻時配置容易受到其他模塊影響,嚴(yán)重影響波形頻率精度。第三種是基于現(xiàn)場可編程門陣列FPGA來實現(xiàn),此種方案靈活性較高,配置簡單,易于實現(xiàn),且變頻范圍廣,分辨率高,唯一缺點(diǎn)就是,浪費(fèi)FPGA內(nèi)部未使用資源,造價高昂[1]。

1 DDS基本原理和核心設(shè)計

■1.1 DDS基本原理

DDS技術(shù)原理框圖如圖1所示,主要有以下關(guān)鍵幾部分組成,N位相位累加器、頻率控制字、相位控制字、ROM查找表和時鐘源等。

圖1 DDS結(jié)構(gòu)原理圖

相位累加器在高頻時鐘下以頻率控制字的字長K做累加。累加后的相位累加器值通過高位截取后變?yōu)橄辔豢刂谱?,相位控制字即為查找表的地址。在查找表中即可找到對?yīng)波形的多位數(shù)字輸出值。這就是DDS基本工作原理。若要輸出波形,將輸出的多位二進(jìn)制數(shù)字輸出通過D/A轉(zhuǎn)換輸出對應(yīng)的模擬電壓信號,再通過一個低通濾波器輸出平滑的曲線[2]。

■ 1.2 DDS核心設(shè)計

若要實現(xiàn)更高的頻率分辨率和精度,共有兩種方式,第一,將查找表中的波形數(shù)據(jù)取的分辨率更高,取樣點(diǎn)的數(shù)據(jù)更多,這就意味著增加等倍的存儲空間;第二,增加相位累加器的位數(shù)。事實上,典型的DDS系統(tǒng)會使用非?!伴L”位數(shù)的相位累加器,比如28位、32位甚至36位,來實現(xiàn)高精度和高分辨率的信號輸出頻率。在FPGA內(nèi)部所使用的硬件資源來看,只是多使用幾個寄存器,但是對其內(nèi)部資源來講,影響微乎其微。但是從其實際意義上看,可以大大提高其頻率的精度和分辨率[3]。

表1中,f1為外部時鐘輸入經(jīng)過倍頻后的輸出頻率為120MHz,f2為外部時鐘輸入經(jīng)過PLL倍頻后的輸出頻率為500MHz,波形可調(diào)的最低頻率即為頻率的分辨率。

表1 不同情況下頻率可調(diào)節(jié)范圍和分辨率

如表1所示,相位累加器位數(shù)更高,其對應(yīng)的頻率分辨率越高,系統(tǒng)主頻經(jīng)過倍頻后的頻率越高,輸出波形的上限頻率越高。

需要注意的是,查找表地址為8位,比如當(dāng)f1=120MHz時候,在不同累加器位數(shù)下,其可調(diào)的波形分辨率不同,但是120M/28=468 75kHz是一個臨界值,當(dāng)輸出頻率小于等于468 75kHz時候,輸出的波形特征則可以完全還原查找表中的波形數(shù)據(jù)點(diǎn);當(dāng)輸出的波形頻率大于468 75kHz時候,頻率越高,輸出的波形無法還原查找表中的波形數(shù)據(jù)點(diǎn),還原度越來越低,波形特征越來越不明顯。同樣的對于f2=500MHz時候,500M/28≈1 95MHz也是可以保持原查找表中波形數(shù)據(jù)點(diǎn)的最大頻率[4]。

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

■2.1 硬件整體方案

函數(shù)信號發(fā)生器的硬件系統(tǒng)主要包括MCU控制電路,F(xiàn)PGA構(gòu)成的DDS發(fā)生器、DAC轉(zhuǎn)換和低通濾波電路,及一些用于輸入輸出的器件等。

按鍵輸入和LCD輸出顯示主要由MCU負(fù)責(zé)控制,MCU然后將輸入的信號運(yùn)算處理后發(fā)送給FPGA,F(xiàn)PGA根據(jù)輸入的各種參數(shù)在ROM表中尋址,同時輸出對應(yīng)控制的波形、頻率和幅度的數(shù)字信號,最后經(jīng)過DA轉(zhuǎn)換為對應(yīng)的模擬電壓信號,在經(jīng)過一個低通濾波器使得模擬電壓信號變得平滑。

■ 2.2 硬件模塊電路

系統(tǒng)的硬件電路主要分為兩個部分,一是系統(tǒng)主控電路,二是DDS信號發(fā)生器電路。

系統(tǒng)主控電路包括以STM32F103C8T6為主控的最小系統(tǒng)板、四路用戶按鍵輸入、OLED顯示屏輸出(SPI)、UART通信連接上位機(jī)、硬件SPI連接FPGA負(fù)責(zé)信號數(shù)據(jù)傳輸,如圖2所示。

圖2 系統(tǒng)主控電路

DDS信號發(fā)生器電路,其中的FPGA模塊的核心芯片為Lattice LCMXO2-4000HC-4MG132,其模塊上內(nèi)置8路輸出LED指示燈、4路按鍵輸入、4路撥碼輸入和兩位數(shù)碼管輸出燈資源。DAC芯片采用3PEAK的高速10位DAC芯片3PD5651E,采樣速率125MSPS,CMOS數(shù)模轉(zhuǎn)換器。本系統(tǒng)中采用12MHz的外部晶振經(jīng)過PLL倍頻為120MHz小于DAC芯片的最大采樣速率,符合使用要求。

3 系統(tǒng)軟件設(shè)計

■3.1 MCU程序流程設(shè)計

MCU主控制器主要負(fù)責(zé)系統(tǒng)中各個子任務(wù)的任務(wù)調(diào)度,系統(tǒng)的程序流程如圖3所示,系統(tǒng)上電后先對各個模塊進(jìn)行初始化,包括串口初始化、OLED顯示屏對應(yīng)SPI1外設(shè)初始化、FPGA的SPI2外設(shè)初始化、按鍵和LED輸入輸出初始化等。

圖3 MCU程序設(shè)計流程

程序中共有兩個自定義的中斷源,串口接收中斷和按鍵的外部中斷,按鍵的外部中斷用于改變波形的相關(guān)參數(shù)對應(yīng)的各個全局變量;而串口接收中斷用于接收來自上位機(jī)中的信息,一類是波形參數(shù)對應(yīng)的全局變量同步和參數(shù)顯示,另一類是接收自定義波形數(shù)據(jù)表,并且通過SPI硬件通信接口實時存入FPGA的ROM模塊中。此處有一個關(guān)鍵問題,上位機(jī)中波形參數(shù)的改變與顯示,硬件上波形參數(shù)的改變和顯示器的顯示、程序內(nèi)部波形參數(shù)對應(yīng)的全局變量,以及波形的實際輸出參數(shù),在程序的運(yùn)行過程中,需要時刻保證這四個模塊中波形參數(shù)數(shù)據(jù)的同步。即先判定數(shù)據(jù)的輸入輸出屬性,在每一個輸入模塊中添加波形參數(shù)更新標(biāo)志位,實時更新程序中的全局變量,然后再根據(jù)參數(shù)對應(yīng)的全局變量,隨即更新參數(shù)更新來源模塊之外的參數(shù)顯示模塊即可以實現(xiàn)四個模塊的實時同步。

在MCU主程序的主函數(shù)中,主任務(wù)即為循環(huán)判斷波形參數(shù)的全局變量是否改變,若改變則對串口傳輸上位機(jī)顯示、SPI2對應(yīng)的OLED顯示屏顯示、SPI1對應(yīng)的FPGA三個模塊做刷新處理;若未改變,則在間隔時間大于10s時候做刷新處理來降低容錯率。

■3.2 FPGA模塊設(shè)計

在整個系統(tǒng)中,F(xiàn)PGA模塊主要負(fù)責(zé)DDS核心數(shù)字變頻技術(shù)的實現(xiàn)。主要包括,PLL模塊、SPI通訊接收模塊、數(shù)據(jù)轉(zhuǎn)換模塊、DDS累加器模塊、ROM查找表模塊、幅度變換模塊等??偣怖怂膫€波形數(shù)據(jù)的ROM,其mif文件通過MATLAB軟件編寫,然后調(diào)用IP讀取。但是由于FPGA內(nèi)部ROM資源限制,只能采用相位截斷方法取高n為作為查詢地址使用。

FPGA的DDS系統(tǒng)模塊設(shè)計,主要由SPI通訊接收模塊負(fù)責(zé)接收MCU傳輸?shù)牟ㄐ螀?shù),包括波形類型、波形頻率和波形幅度等。然后由數(shù)據(jù)轉(zhuǎn)換模塊負(fù)責(zé)將對應(yīng)的波形類型,頻率、相位、幅度轉(zhuǎn)換為相應(yīng)的頻率控制字和相位控制字,最后將控制字直接輸入DDS累加器模塊中,相位累加器在120MHz的時鐘信號下產(chǎn)生采樣地址,通過波形類型選擇選擇對應(yīng)的ROM查找表模塊。在ROM模塊中存儲有正弦波、三角波、方波等常見波形的10位數(shù)字信號量,根據(jù)波形類型查找對應(yīng)的10位數(shù)字信號值并輸出到幅度變換模塊。幅度變換模塊同時根據(jù)輸入的幅度設(shè)定值來輸出對應(yīng)的10為數(shù)字信號量。

FPGA不同于MCU的串行運(yùn)行機(jī)制,F(xiàn)PGA內(nèi)部是通過組合邏輯和時序邏輯所構(gòu)成的并行運(yùn)行機(jī)制的電路模塊。所以在很多需要串行運(yùn)行的模塊中,就需要添加各種標(biāo)志位或者狀態(tài)機(jī)來實現(xiàn)。其中,SPI通信接收模塊、數(shù)據(jù)轉(zhuǎn)換模塊、幅度變換模塊都有關(guān)鍵的完成標(biāo)志位,方便開啟下一級模塊使用。

■3.3 上位機(jī)軟件設(shè)計

上位機(jī)軟件使用NI公司的Labview軟件開發(fā),Labview以其使用簡單、圖形化的編程方式、功能模塊封裝度高、對各類硬件采集卡和常見的標(biāo)準(zhǔn)接口適配性高等優(yōu)點(diǎn)而收到廣大工程師和相關(guān)從業(yè)者使用。通訊方式使用串行通信UART串口連接,波特率115200,停止位1位,無奇偶校驗位。為了提高調(diào)節(jié)各類參數(shù)和數(shù)據(jù)同步的響應(yīng)時間,通訊協(xié)議使用自定義方式,第一位功能碼,代表此時調(diào)節(jié)的參數(shù)類型,第二位到第九位為對應(yīng)的參數(shù)值,使用ASCII字符傳輸,第十位為CRC校驗位,校驗數(shù)據(jù)傳輸。最后一位為結(jié)束字符,用于判斷串口傳輸是否完成。

上位機(jī)軟件主要分為兩個模塊構(gòu)成,一是串口的發(fā)送和接收模塊,主要在系統(tǒng)的串口控件處發(fā)送和接收相關(guān)數(shù)據(jù);二是數(shù)據(jù)處理模塊,主要將對應(yīng)的信號參數(shù)數(shù)據(jù)實時轉(zhuǎn)換到對應(yīng)的控件顯示上,或者將對應(yīng)的控件顯示數(shù)據(jù)編碼準(zhǔn)備發(fā)送。

由于在實際測試實驗中所需的實驗波形多種多樣,且FPGA中數(shù)據(jù)存儲資源有限,所以就需要在上位機(jī)軟件中集成可以實時傳輸自定義波形數(shù)據(jù)的功能,這就是上位機(jī)軟件中另一個主要功能,由于Labview軟件可以直接與MATLAB腳本做混合程序設(shè)計,所以可以先通過在MATLAB中生成所需要波形的mif數(shù)據(jù)文件,直接在Labview上位機(jī)中導(dǎo)入生成所需的波形數(shù)據(jù),完成自定義波形數(shù)據(jù)導(dǎo)入功能。

4 結(jié)果分析

■ 4.1 基本功能實現(xiàn)

信號發(fā)生器的幅度和頻率等相關(guān)參數(shù)可以實現(xiàn)板載的手動調(diào)節(jié),同樣也可以連接計算機(jī)在上位機(jī)的視圖中調(diào)節(jié)使用。需要注意的是,上位機(jī)調(diào)節(jié)和板載調(diào)節(jié)并不是簡單孤立的,雙方在不同參數(shù)的調(diào)節(jié)過程中是同步的。

■ 4.2 性能分析

以信號發(fā)生器輸出正弦波為例,輸出不同頻率的正弦波來分析其諧波失真(THD)。在此次測量實驗中,使用泰克MDO32頻譜分析儀(模擬通道帶寬1GHz、采樣率2 5GS/s)來測量信號發(fā)生器輸出正弦波時,基波之外的高次諧波分量,來計算其諧波失真[5]:

在實驗測量中,無法計算所有的高次諧波分量,只計算了8次諧波分量,所以在(1)式中N=8。實驗測試結(jié)果如圖4所示,橫坐標(biāo)為頻率測試范圍,從1Hz到10MHz。正弦波的THD值在局部上有所波動,但是在整體上趨于平穩(wěn)。即該信號發(fā)生器的總諧波失真≤-10dB。

線性度是描述三角波的一個重要參數(shù)。在參數(shù)性能測試實驗中,本文使用NI公司的PXI-6115多功能IO采集卡(最大采樣率10MS/s)采集三角波在不同頻率下的波形數(shù)據(jù)樣點(diǎn),并計算三角波在不同頻率下的線性度。

在三角波的線性度性能測試實驗中,標(biāo)定了三角波的對稱性為50%,幅值為3Vpp,頻率從1Hz~1MHz范圍,采集其樣點(diǎn)數(shù)據(jù),并做數(shù)據(jù)分析,計算其線性度。從增長趨勢上來看,信號的頻率越高,其線性度越差,但是從頻率的整體范圍上來看,其線性度一直保持在1%以下。符合系統(tǒng)預(yù)期的三角波線性度要求。

■ 4.3 性能總結(jié)

信號發(fā)生器的最高頻率以正弦波輸出的最高頻率為12MHz;DAC芯片的采樣率為125Msps,但是FPGA的內(nèi)部主頻經(jīng)過PLL倍頻后為120MHz,所以該信號發(fā)生器的采樣率為120MSa/s;FPGA的數(shù)字信號量輸出為10bits,且DAC芯片也為10bits,則信號發(fā)生器的垂直分辨率為10bits,系統(tǒng)內(nèi)置常見的波形,正弦波、三角波、方波等,但是可以根據(jù)需要,重新生成任意波形數(shù)據(jù)樣點(diǎn)保存后并輸出。

5 結(jié)束語

本文基于DDS技術(shù),使用MCU和FPGA聯(lián)合設(shè)計的信號發(fā)生器,經(jīng)過實驗各種性能測試,結(jié)果表明,該信號發(fā)生器精度高,穩(wěn)定可靠,噪聲小,可以在各種實驗室和工業(yè)場合使用。但是,也存在波形幅度較小和頻率較高時,波形失真明顯,需要進(jìn)一步改進(jìn)。

猜你喜歡
累加器上位串口
密碼累加器研究進(jìn)展及應(yīng)用
淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
特斯拉 風(fēng)云之老阿姨上位
車迷(2018年12期)2018-07-26 00:42:22
Fpga的信號發(fā)生器設(shè)計原理
“三扶”齊上位 決戰(zhàn)必打贏
基于霍夫變換的工位點(diǎn)識別算法設(shè)計與實現(xiàn)
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測管理系統(tǒng)
USB接口的多串口數(shù)據(jù)并行接收方法探索
基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實時無線通信
地礦測繪(2015年3期)2015-12-22 06:27:26
以新思路促推現(xiàn)代農(nóng)業(yè)上位
白河县| 肃北| 康保县| 台中县| 乡城县| 奉贤区| 凤庆县| 绥化市| 洞口县| 新竹市| 当涂县| 灵山县| 西宁市| 迁安市| 闽清县| 永仁县| 皋兰县| 东安县| 南丰县| 余姚市| 丘北县| 遂溪县| 东至县| 太原市| 肃南| 民权县| 长泰县| 桐庐县| 林芝县| 安国市| 云南省| 濮阳市| 安塞县| 金坛市| 岑溪市| 自贡市| 湟中县| 同德县| 东兴市| 葫芦岛市| 齐齐哈尔市|