• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的DDFS信號(hào)發(fā)生器設(shè)計(jì)

      2019-05-16 01:04:36張金時(shí)裴水源
      自動(dòng)化儀表 2019年2期
      關(guān)鍵詞:累加器正弦波方波

      楊 敏,王 利,張金時(shí),裴水源,羅 浩

      (中北大學(xué)機(jī)電工程學(xué)院,山西 太原 030051)

      0 引言

      由于直接頻率合成(direct digital frequency synthesizer,DDFS)技術(shù)具有頻率轉(zhuǎn)換速度快、相對(duì)帶寬寬、頻率分辨率高以及波形穩(wěn)定等優(yōu)點(diǎn),已經(jīng)廣泛用于雷達(dá)、通信、導(dǎo)航、遙控遙測(cè)、電子對(duì)抗以及現(xiàn)代化的儀器儀表工業(yè)、生物醫(yī)學(xué)檢測(cè)等領(lǐng)域[1-2]。隨著現(xiàn)場(chǎng)可編程門陣列(field programmable gate array,FPGA)技術(shù)的發(fā)展,其資源容量、工作頻率以及集成度都得到了極大的提高。由于FPGA靈活的接口和控制方式,使得其廣泛應(yīng)用于實(shí)現(xiàn)某些專用數(shù)字集成電路[3]。本文基于DDFS基本原理,采用Inter公司的FPGA芯片Cyclone IV E系列器件,完成DDFS信號(hào)發(fā)生器設(shè)計(jì)。該信號(hào)發(fā)生器可產(chǎn)生不同頻率、相位的正弦波、矩形波、三角波信號(hào)。

      1 DDFS基本工作原理

      基于FPGA的DDFS原理框如圖1所示。

      圖1 基于FPGA的DDFS原理框圖

      DDFS主要由相位累加器、波形存儲(chǔ)器、D/A轉(zhuǎn)換器、低通濾波器組成[4]。相位累加器由N位加法器和N位寄存器構(gòu)成。在系統(tǒng)時(shí)鐘作用下,相位累加器中的加法器將頻率控制字與累加寄存器輸出的相位數(shù)據(jù)進(jìn)行累加,并將得到的相位數(shù)據(jù)輸入累加器的輸入端,以便在每一個(gè)時(shí)鐘到來時(shí)與頻率控制字線性累加。相位累加器根據(jù)得到的相位碼對(duì)波形存儲(chǔ)器進(jìn)行尋址,經(jīng)查找表找出波形存儲(chǔ)器里的波形采樣值。輸出的數(shù)字信號(hào)經(jīng)過D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬信號(hào)。DAC輸出信號(hào)實(shí)際上是階梯模擬信號(hào),需在D/A轉(zhuǎn)換后利用低通濾波器對(duì)波形進(jìn)行平滑處理,濾除高頻分量,得到連續(xù)變化的波形[5-6]。

      DDFS輸出信號(hào)的頻率為[7]:

      (1)

      式中:fo為輸出信號(hào)頻率;K為頻率控制字;N為相位累加器的字長(zhǎng);fc為系統(tǒng)時(shí)鐘頻率。

      2 系統(tǒng)總體方案設(shè)計(jì)

      信號(hào)發(fā)生器系統(tǒng)框圖如圖2所示。

      圖2 信號(hào)發(fā)生器系統(tǒng)框圖

      首先,通過按鍵控制頻率字、相位字以及波形地址的選擇,并將其顯示在LCD上。其目的是與在示波器上的觀察到的波形、頻率、相位進(jìn)行比較。然后,通過12位的DAC將數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào),并經(jīng)低通濾波濾除高頻分量,得到光滑的、連續(xù)的信號(hào)波形。最后,將其輸入到示波器進(jìn)行觀察。

      本系統(tǒng)主要包括硬件設(shè)計(jì)和軟件設(shè)計(jì)兩部分。軟件設(shè)計(jì)主要基于FPGA平臺(tái)的程序部分,包括相位累加器、波形存儲(chǔ)器、按鍵設(shè)計(jì)和LCD設(shè)計(jì),使用Verilog HDL匯編語言進(jìn)行編程設(shè)計(jì)。硬件設(shè)計(jì)主要有D/A轉(zhuǎn)換和低通濾波器設(shè)計(jì)。

      本文所用的系統(tǒng)時(shí)鐘為50 MHz,相位累加器為32位。由于采用12位的DAC,所以存儲(chǔ)波形的ROM具有12 bit的輸出。將FPGA 輸出的數(shù)字信號(hào)轉(zhuǎn)換為模擬信號(hào),輸出信號(hào)頻率范圍為1 Hz~100 kHz,幅值范圍為0~5 V,波形可設(shè)為正弦波、三角波、方波。

      3 系統(tǒng)重要模塊設(shè)計(jì)

      3.1 程序固化

      當(dāng)DDFS應(yīng)用于某些領(lǐng)域如引信領(lǐng)域時(shí),要求脫離上位機(jī)。這就要求存儲(chǔ)于SDRAM中的程序可以掉電不丟失。但是SDRAM不具有記憶功能,所以先將程序存入所用開發(fā)板的EPCS flash存儲(chǔ)器中。該存儲(chǔ)器原本存放FPGA的配置文件,其內(nèi)存為16 Mbit,足夠存放編寫的程序,且其掉電后不會(huì)丟失程序。FPGA上電后,再?gòu)腅PCS flash中讀取程序并保存到SDRAM中,從而保證掉電不丟失程序。

      3.2 相位累加器

      相位累加器由32位的加法器和32位的寄存器組成。在系統(tǒng)時(shí)鐘的作用下,對(duì)頻率控制字K進(jìn)行線性累加。當(dāng)累加32次后就會(huì)產(chǎn)生一次溢出,每溢出一次即為DDFS的一個(gè)周期[8]。相位累加器的實(shí)質(zhì)是一個(gè)計(jì)數(shù)器,它累計(jì)的是每個(gè)時(shí)鐘脈沖下的頻率控制字K[9]。

      3.3 波形存儲(chǔ)器

      波形存儲(chǔ)器,又叫ROM查找表。由式(1)可知,當(dāng)增大相位累加器的位數(shù)N時(shí),就可以提高DDFS最小分辨率[10]。同時(shí),為了解決ROM空間資源占用過大的問題,可以采用相位截?cái)嗟姆椒ㄈ∠辔焕奂悠鬏敵龅母進(jìn)位作為波形存儲(chǔ)器的地址位[11]。本文采用這種方法,將相位累加器輸出的高12位作為波形ROM的取樣地址。

      在本文中,使用Matlab編寫波形信號(hào),然后將其寫入生成的.mif文件中。通過按鍵循環(huán)切換正弦波、方波、三角波,ROM查找表的地址線為14位、數(shù)據(jù)線為12位;存有正弦波、方波和三角波的數(shù)字波形信號(hào),每種波形有4 096個(gè)字節(jié),波形在ROM中存儲(chǔ)的基地址為0000H。其中:RAM地址的0000H~0FFFH為正弦波的數(shù)據(jù);1000H~1FFFH為三角波的數(shù)據(jù);2000H~2FFFH為方波的數(shù)據(jù)。各個(gè)波形的數(shù)據(jù)存儲(chǔ)地址偏移量為1000H。通過功能按鍵,獲取需要輸出的波形類型。如果輸入為0,則偏移地址0000H,選擇正弦波。同理,如輸入為1和2的偏移地址分別為1000H和2000H,則分別選擇三角波和方波。波形選擇的Verilog HDL語言如下。

      case(F_Change)

      0:Offset_add=12′h0000

      1:Offset_add=12′h1000

      2:Offset_add=12′h2000

      default:Offset_add=0

      endcase

      3.4 按鍵設(shè)計(jì)

      信號(hào)發(fā)生器使用4×4鍵盤。鍵盤主要按鍵功能如下。

      ①“0~9”:數(shù)字鍵,設(shè)定頻率字和相位字。

      ②“確定”:用于確認(rèn)設(shè)置的波形信號(hào),只有按下此鍵,波形信號(hào)才有效。

      ③“刪除”:刪除最近一位輸入的信號(hào)數(shù)字。

      ④“F”:控制輸出波形的切換。

      ⑤“←”:步進(jìn)增大控制。

      ⑥“→”:步進(jìn)減小控制。

      ⑦“+” :控制輸入頻率字和相位字遞增。

      3.5 LCD顯示設(shè)計(jì)

      人機(jī)交互界面使用的是LCD1602A液晶顯示器。

      FPGA控制LCD顯示數(shù)據(jù)主要過程為:初始化顯示屏→配置顯示屏→寫顯示數(shù)據(jù)或指令。初始化過程為:延時(shí)15 ms→寫指令38H→延時(shí)5 ms。其中,指令38H為不檢測(cè)忙信號(hào)。配置顯示屏過程為:寫指令38H→寫指令08H→寫指令01H→寫指令06H→寫指令0CH。

      指令38H:顯示模式設(shè)置。

      指令08H:顯示關(guān)閉。

      指令01H:顯示清屏。

      指令06H:顯示光標(biāo)移動(dòng)設(shè)置。

      指令0CH:顯示開及光標(biāo)設(shè)置。

      寫顯示數(shù)據(jù)或指令:通過按鍵讀取并判斷本次輸入為指令還是數(shù)據(jù)。如果是指令,則控制LCD的RS引腳為低,反之為高。

      4 輸出信號(hào)測(cè)試分析

      4.1 DDFS信號(hào)發(fā)生器的仿真驗(yàn)證

      在Quartus II 13.0平臺(tái)下,將程序編譯成功后,調(diào)用Modelsim進(jìn)行仿真,輸入的頻率控制字分別為542 488和1 717 987,波形類型為0,選擇為正弦波。

      由式(1)可以計(jì)算得:當(dāng)頻率控制字K=542 488時(shí),fo=6.06 kHz;當(dāng)頻率控制字K=1 717 987時(shí),fo=20 kHz。

      通過仿真測(cè)得的頻率分別為6.06 kHz和20 kHz,與由公式計(jì)算得到的結(jié)果相吻合。由此可知:①信號(hào)源輸出信號(hào)波形光滑,頻率穩(wěn)定度高,且仿真測(cè)試所得頻率與理論計(jì)算值的誤差較??;②正弦波在兩個(gè)不同頻率間波形切換自然,頻率轉(zhuǎn)換速度較快,滿足設(shè)計(jì)要求。

      4.2 信號(hào)發(fā)生器的試驗(yàn)驗(yàn)證

      信號(hào)發(fā)生器仿真驗(yàn)證后,將項(xiàng)目編譯生成的編程文件下載到CYCLONE器件中,對(duì)其進(jìn)行試驗(yàn)驗(yàn)證。示波器輸出波形如圖3所示。

      圖3 示波器輸出波形圖

      由圖3可知,按鍵輸入的頻率控制字依然為524 288和1 717 987,波形類型為0,選擇正弦波,便于對(duì)比仿真結(jié)果。示波器輸出的波形形狀光滑、連續(xù)、無明顯失真,且輸出波形的頻率與理論計(jì)算值及仿真測(cè)試值較為接近,輸出波形質(zhì)量好,誤差小,準(zhǔn)確率高。

      5 結(jié)束語

      隨著電子通信技術(shù)的迅速發(fā)展,對(duì)信號(hào)發(fā)生器的要求(如信號(hào)頻率范圍、帶寬和頻率分辨率)也越來越高。除此之外,對(duì)信號(hào)波型的選擇及調(diào)制特性要求也在提高[12]。本文基于FPGA設(shè)計(jì)的DDFS信號(hào)發(fā)生器,可以輸出正弦波、方波、三角波,并可靈活改變波形、

      頻率、相位,具有轉(zhuǎn)換時(shí)間短、精度高、相位變化連續(xù)等優(yōu)點(diǎn)。只要改變頻率控制字K的值,就可以改變輸出頻率的大小。該系統(tǒng)可脫離計(jì)算機(jī)獨(dú)立工作,具有相當(dāng)大的靈活性;加入按鍵與LCD顯示,使得信號(hào)發(fā)生器工作更加簡(jiǎn)單方便。該信號(hào)發(fā)生器幅值范圍為0~5 V,頻率范圍為1 Hz~100 kHz。由于硬件資源有限,頻率范圍較小,但是只要更換輸出頻率較高的DAC(即高速DAC),即可輸出頻率更大的波形。

      猜你喜歡
      累加器正弦波方波
      格上身份基簡(jiǎn)短關(guān)聯(lián)環(huán)簽名及其電子投票應(yīng)用
      無線電工程(2024年5期)2024-07-20 00:00:00
      密碼累加器研究進(jìn)展及應(yīng)用
      單相正弦波變頻電源設(shè)計(jì)與實(shí)現(xiàn)
      采用BC5016S的純正弦波逆變器設(shè)計(jì)及制作
      電子制作(2019年7期)2019-04-25 13:18:18
      碳納米管方波電沉積鉑催化劑的制備及其催化性能研究
      基于霍夫變換的工位點(diǎn)識(shí)別算法設(shè)計(jì)與實(shí)現(xiàn)
      用于時(shí)間延遲積分型圖像傳感器的流水采樣列級(jí)運(yùn)放共享累加器*
      方波外場(chǎng)下有限維量子系統(tǒng)的控制協(xié)議
      基于嵌入式技術(shù)的電網(wǎng)同步正弦波發(fā)生裝置研究
      基于Matlab的方波分解與合成仿真實(shí)驗(yàn)設(shè)計(jì)
      军事| 永兴县| 宜兴市| 宣武区| 红河县| 共和县| 邯郸县| 乃东县| 苍溪县| 镇雄县| 乐平市| 城固县| 晋中市| 瑞金市| 景德镇市| 双牌县| 江山市| 荔浦县| 烟台市| 巴彦淖尔市| 开江县| 太仆寺旗| 绥化市| 东辽县| 千阳县| 拉萨市| 莫力| 石林| 商城县| 柳州市| 泰宁县| 读书| 双峰县| 富源县| 安图县| 祁阳县| 霸州市| 偃师市| 双桥区| 夹江县| 家居|