极品馒头泬19p,国产精品亚洲一区二区三区,狠狠色噜噜狠狠狠7777奇米,国产精品视频一区二区三区无码,国产欧美日韩久久久久

【E433】基于FPGA的雙通道DDS信號發(fā)生器

2021-08-22 16:38:44      索煒達電子      685     

項目編號:E433

文件大?。?33K

源碼說明:帶中文注釋

開發(fā)環(huán)境:Verilog

簡要概述

目錄結構

-hdk

--Gerber_PCB.zip PCB制版文件

--Schematic.pdf 原理圖

-math

--text.m 波形生成測試

--wave.m 波形生成腳本

-rtl 主要的hdl文件

-gw_dds.rar 高云ide(gowin)的工程文件

介紹

本項目以高云FPGA(GW1N-LV1)作為控制核心,外圍搭建DAC、按鍵等電路,實現(xiàn)雙通道DDS信號發(fā)生器。通過按鍵和撥碼開關,可以獨立調(diào)整每個通道的波形、頻率、相位。通過電位器,可以調(diào)整每個通道最終輸出波形的幅值。

技術指標

通道數(shù):2 調(diào)制方式:DDS 波形類型:正弦波,方波,三角波,鋸齒波 頻率范圍:1-65535Hz 頻率步進:1Hz 相位范圍:0-360度 相位步進:360/(2^8)度 輸出幅值:0-3.3V 輸出阻抗:50ohm

總體結構

本項目使用GW1N-LV1輸出雙通道DDS波形信號,模擬部分對信號進行濾波、幅度調(diào)節(jié)、輸出緩沖。

【E433】基于FPGA的雙通道DDS信號發(fā)生器

原理分析

(1)邏輯部分

1.信號發(fā)生器每個通道使用了4KB的ROM作為波形存儲器。

其中,每種波形(正弦波、方波、三角波、鋸齒波)的一個周期的幅值信息占用1024字節(jié),4種波形占用4096字節(jié)。 輸出波形,首先需要根據(jù)波形種類確定基地址;其次,頻率寄存器決定了偏移量自增的速度;相位寄存器決定了兩個通道偏移量的差值;最后,基地址與偏移量相加,得到ROM中當前時刻波形輸出的電壓值。

2.波形參數(shù)是通過外部按鍵和撥碼開關來設置的。

8位的撥碼開關是主要數(shù)據(jù)的輸入接口,用于頻率和相位具體參數(shù)的設定,數(shù)據(jù)范圍是0x00-0xFF。頻率輸入按鍵分高位按鍵和低位按鍵,按下高位按鍵表示8位撥碼開關的數(shù)據(jù)寫入頻率寄存器的高8位,按下低位按鍵表示8位撥碼開關的數(shù)據(jù)寫入頻率寄存器的低8位,高低8位寄存器共16位,可以實現(xiàn)頻率從1Hz到65535Hz的調(diào)整。 相位輸入按鍵只有一個,相位的表示方式是將360度分割成256份,通過8位撥碼開關設置當前波形的相位值。 Wave按鍵的作用是切換波形,按下按鍵,波形會以空閑、正弦波、方波、三角波、鋸齒波的順序循環(huán)切換。CH端口連接的是撥動開關,其高低電平指示頻率、相位、Wave按鍵按下后,參數(shù)應當寫入哪一個通道。

3.計數(shù)型按鍵消抖模塊。

很多MCU的軟件消抖邏輯是:采樣到電平變化后,隔一小段時間再采樣一次,如果兩次電平相同則認為按鍵穩(wěn)定。這種方法適用于通用處理器,但是放硬件邏輯上不太合適。 本項目設計了一個計數(shù)型消抖模塊。定義一個位寬為[n:0]的計數(shù)器,n的大小決定了消抖的程度,應根據(jù)按鍵的特性來選擇,太大會導致反應遲緩,太小則不足以消抖。 按鍵的高低電平?jīng)Q定了計數(shù)器在每個時鐘周期是數(shù)值+1還是-1,計數(shù)器的最高位作為消抖后的輸出。當計數(shù)器為全0,則停止-1;當計數(shù)器為全1,則停止+1。按鍵抖動會被計數(shù)器的計數(shù)過程消除,最高位01變換的分界點是計數(shù)器的中間值。

(2)模擬部分

波形信號是以8位并行的方式從FPGA輸出,然后進入8位的R2R電阻網(wǎng)絡進行數(shù)模轉(zhuǎn)換。轉(zhuǎn)換后的信號是0~3.3V的高輸出阻抗模擬電壓信號,需要進入運放和電位器進行幅值調(diào)整和輸出緩沖。

目錄│文件列表:

 └ gowin_dds

    │ gw_dds.rar

    ├ hdk

    │  │ .keep

    │  │ Gerber_PCB.zip

    │  │ PCB.pdf

    │  └ Schematic.pdf

    ├ math

    │  │ test.m

    │  │ test.txt

    │  │ wave.m

    │  └ wave.txt

    └ rtl

       │ .keep

       │ dds.v

       │ key_control.v

       │ key_filter.v

       └ top.v

TAG信號發(fā)生器
  • 9 次
  • 1 分