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

【E2021】基于FPGA的DDS項(xiàng)目設(shè)計(jì)

2021-10-31 07:47:44      索煒達(dá)電子      1000     

項(xiàng)目編號(hào):E2020

文件大?。?M

源碼說(shuō)明:帶中文注釋

開(kāi)發(fā)環(huán)境: ISE 14.7

簡(jiǎn)要概述

信號(hào)發(fā)生器用于產(chǎn)生穩(wěn)定的頻率及幅度信號(hào)。直接數(shù)字頻率合成(DDS)技術(shù)由于其結(jié)構(gòu)簡(jiǎn)單,精度高等特點(diǎn),被廣泛應(yīng)用于信號(hào)發(fā)生電路中。本次實(shí)驗(yàn)利用搭載Xilinx公司的xc3s200a-4ft256芯片開(kāi)發(fā)板及DAC電路設(shè)計(jì)一個(gè)簡(jiǎn)易的信號(hào)發(fā)生器,該信號(hào)發(fā)生器操作簡(jiǎn)單、頻率可調(diào)節(jié)范圍廣。經(jīng)測(cè)試表明,該信號(hào)發(fā)生器低頻輸出穩(wěn)定、幅值高,可以作為頻率信號(hào)源應(yīng)用于各種電路中。


本次項(xiàng)目系統(tǒng)采用分模塊設(shè)計(jì),除 DAC、有源濾波為實(shí)際電路外,其余功能均在 FPGA 開(kāi)發(fā)板上實(shí)現(xiàn)。 主要模塊:分頻模塊、按鍵消抖模塊、按鍵控制模塊、碼制轉(zhuǎn)換模塊、數(shù)碼管動(dòng)態(tài)顯示模塊、相位累加模塊、波形產(chǎn)生模塊、波形調(diào)整模塊、數(shù)模轉(zhuǎn)換及濾波模塊。


設(shè)計(jì)報(bào)告:

【E2021】基于FPGA的DDS項(xiàng)目設(shè)計(jì)

實(shí)驗(yàn)項(xiàng)目設(shè)計(jì)平臺(tái)簡(jiǎn)介

軟件平臺(tái)

Xilinx 公司硬件設(shè)計(jì)工具 ISE 14.7(Integrated Software Environment);基于超高速集成電路硬件描述語(yǔ)言(VHDL)實(shí)現(xiàn)。

硬件平臺(tái)

  • 電子科技大學(xué) xc3s200a-4ft256 開(kāi)發(fā)板

  • RIGOL DS1102E 雙通道示波器

  • 綠揚(yáng) YB1732A 3A 直流穩(wěn)壓電源

  • 8 位的 D/A 轉(zhuǎn)換集成芯片 DAC0832

  • 德州儀器集成運(yùn)算放大器芯片 LM324N

【E2021】基于FPGA的DDS項(xiàng)目設(shè)計(jì)

【E2021】基于FPGA的DDS項(xiàng)目設(shè)計(jì)

【E2021】基于FPGA的DDS項(xiàng)目設(shè)計(jì)

【E2021】基于FPGA的DDS項(xiàng)目設(shè)計(jì)

【E2021】基于FPGA的DDS項(xiàng)目設(shè)計(jì)

【E2021】基于FPGA的DDS項(xiàng)目設(shè)計(jì)

項(xiàng)目設(shè)計(jì)過(guò)程的重點(diǎn)與難點(diǎn)

??本次實(shí)驗(yàn)重點(diǎn)在于對(duì)DDS原理的理解以及模塊化編程思維,深入理解每一個(gè)模塊,并將其用硬件描述語(yǔ)言表述出來(lái),同時(shí)要有全局觀,如何連接每一個(gè)模塊,確保其能共同工作而不發(fā)生沖突。

??難點(diǎn)在于對(duì)VHDL語(yǔ)言及ISE工具的熟練程度,事實(shí)上ISE是一款比較老的設(shè)計(jì)軟件,在綜合的過(guò)程中對(duì)于一些邏輯正確但表述略為復(fù)雜的語(yǔ)句無(wú)法正常完成綜合,這些都要化為重復(fù)的簡(jiǎn)單語(yǔ)句來(lái)完成,因此需要操作者對(duì)語(yǔ)言及軟件工具有比較深入的了解。


項(xiàng)目設(shè)計(jì)過(guò)程中遇到的主要問(wèn)題及處理方法

??模塊的連接:通過(guò)原理圖進(jìn)行連接是一種直觀且快捷的連接方法,但連接錯(cuò)誤后較難發(fā)現(xiàn),因此我采用申明和例化的方式,通過(guò)port map準(zhǔn)確地連接信號(hào)和各個(gè)模塊。

??語(yǔ)句重構(gòu):由于ISE不支持在復(fù)雜語(yǔ)句下進(jìn)行復(fù)雜語(yǔ)句的嵌套,對(duì)于按鍵控制模塊,例程給出的語(yǔ)句針對(duì)單個(gè)按鍵是正確的,但對(duì)于多個(gè)按鍵的嵌套判斷控制就無(wú)法完成綜合,因此需要將復(fù)雜語(yǔ)句重構(gòu)為簡(jiǎn)單語(yǔ)句的結(jié)合。

目錄│文件列表:

 └ fpga_dds-main

    │ TOP.ucf

    ├ DDS

    │  └ DDS

    │     │ clk_div_sim_isim_beh.exe

    │     │ DDS.gise

    │     │ DDS.xise

    │     │ dynamic_led_sim_isim_beh.exe

    │     │ encoder_sim_isim_beh.exe

    │     │ fuse.log

    │     │ fuse.xmsgs

    │     │ fuseRelaunch.cmd

    │     │ isim.cmd

    │     │ isim.log

    │     │ key_ctrl_sim_isim_beh.exe

    │     │ key_debounce_sim_isim_beh.exe

    │     │ pa.fromHdl.tcl

    │     │ pepExtractor.prj

    │     │ scan_phase_sim_isim_beh.exe

    │     │ sin_wave_sim_isim_beh.exe

    │     │ top.bgn

    │     │ top.bit

    │     │ TOP.bld

    │     │ TOP.cmd_log

    │     │ top.drc

    │     │ TOP.lso

    │     │ TOP.ncd

    │     │ TOP.ngc

    │     │ TOP.ngd

    │     │ TOP.ngr

    │     │ TOP.pad

    │     │ TOP.par

    │     │ TOP.pcf

    │     │ TOP.prj

    │     │ TOP.ptwx

    │     │ TOP.stx

    │     │ TOP.syr

    │     │ TOP.twr

    │     │ TOP.twx

    │     │ TOP.ucf

    │     │ TOP.unroutes

    │     │ TOP.ut

    │     │ TOP.xpi

    │     │ TOP.xst

    │     │ TOP_bitgen.xwbt

    │     │ TOP_envsettings.html

    │     │ TOP_guide.ncd

    │     │ TOP_map.map

    │     │ TOP_map.mrp

    │     │ TOP_map.ncd

    │     │ TOP_map.ngm

    │     │ TOP_map.xrpt

    │     │ TOP_ngdbuild.xrpt

    │     │ TOP_pad.csv

    │     │ TOP_pad.txt

    │     │ TOP_par.xrpt

    │     │ top_sim_beh.prj

    │     │ top_sim_isim_beh.exe

    │     │ top_sim_isim_beh.wdb

    │     │ TOP_summary.html

    │     │ TOP_summary.xml

    │     │ TOP_usage.xml

    │     │ TOP_vhdl.prj

    │     │ TOP_xst.xrpt

    │     │ usage_statistics_webtalk.html

    │     │ wave_adopt_sim_isim_beh.exe

    │     │ webtalk.log

    │     │ webtalk_pn.xml

    │     │ xilinxsim.ini

    │     ├ ipcore_dir

    │     │  │ coregen.cgp

    │     │  │ coregen.log

    │     │  │ create_SIN_WAVE.tcl

    │     │  │ SIN_WAVE.asy

    │     │  │ SIN_WAVE.gise

    │     │  │ SIN_WAVE.ncf

    │     │  │ SIN_WAVE.ngc

    │     │  │ SIN_WAVE.sym

    │     │  │ SIN_WAVE.vhd

    │     │  │ SIN_WAVE.vho

    │     │  │ SIN_WAVE.xco

    │     │  │ SIN_WAVE.xise

    │     │  │ SIN_WAVE_flist.txt

    │     │  │ SIN_WAVE_readme.txt

    │     │  │ SIN_WAVE_xmdf.tcl

    │     │  ├ SIN_WAVE

    │     │  │  └ doc

    │     │  │     │ dds_compiler_v4_0_vinfo.html

    │     │  │     └ dds_ds558.pdf

    │     │  ├ tmp

    │     │  │  └ _xmsgs

    │     │  │     │ pn_parser.xmsgs

    │     │  │     └ xst.xmsgs

    │     │  └ _xmsgs

    │     │     │ cg.xmsgs

    │     │     └ pn_parser.xmsgs

    │     ├ iseconfig

    │     │  │ DDS.projectmgr

    │     │  └ TOP.xreport

    │     ├ isim

    │     │  │ isim_usage_statistics.html

    │     │  │ pn_info

    │     │  ├ precompiled.exe.sim

    │     │  │  ├ ieee

    │     │  │  │  │ p_0774719531.c

    │     │  │  │  │ p_0774719531.didat

    │     │  │  │  │ p_0774719531.nt64.obj

    │     │  │  │  │ p_1242562249.c

    │     │  │  │  │ p_1242562249.didat

    │     │  │  │  │ p_1242562249.nt64.obj

    │     │  │  │  │ p_2592010699.c

    │     │  │  │  │ p_2592010699.didat

    │     │  │  │  │ p_2592010699.nt64.obj

    │     │  │  │  │ p_3499444699.c

    │     │  │  │  │ p_3499444699.didat

    │     │  │  │  │ p_3499444699.nt64.obj

    │     │  │  │  │ p_3620187407.c

    │     │  │  │  │ p_3620187407.didat

    │     │  │  │  │ p_3620187407.nt64.obj

    │     │  │  │  │ p_3972351953.c

    │     │  │  │  │ p_3972351953.didat

    │     │  │  │  └ p_3972351953.nt64.obj

    │     │  │  └ std

    │     │  │     │ textio.c

    │     │  │     │ textio.didat

    │     │  │     └ textio.nt64.obj

    │     │  ├ sin_wave_sim_isim_beh.exe.sim

    │     │  │  │ isimcrash.log

    │     │  │  │ ISimEngine-DesignHierarchy.dbg

    │     │  │  │ isimkernel.log

    │     │  │  │ libPortability.dll

    │     │  │  │ netId.dat

    │     │  │  │ sin_wave_sim_isim_beh.exe

    │     │  │  ├ tmp_save

    │     │  │  │  └ _1

    │     │  │  ├ work

    │     │  │  │  │ a_1520091539_2372691052.c

    │     │  │  │  │ a_1520091539_2372691052.didat

    │     │  │  │  │ a_1520091539_2372691052.nt64.obj

    │     │  │  │  │ a_2472967528_1607153440.c

    │     │  │  │  │ a_2472967528_1607153440.didat

    │     │  │  │  │ a_2472967528_1607153440.nt64.obj

    │     │  │  │  │ sin_wave_sim_isim_beh.exe_main.c

    │     │  │  │  └ sin_wave_sim_isim_beh.exe_main.nt64.obj

    │     │  │  └ xilinxcorelib

    │     │  │     │ a_0006162580_3212880686.c

    │     │  │     │ a_0006162580_3212880686.didat

    │     │  │     │ a_0006162580_3212880686.nt64.obj

    │     │  │     │ a_1243855295_3212880686.c

    │     │  │     │ a_1243855295_3212880686.didat

    │     │  │     │ a_1243855295_3212880686.nt64.obj

    │     │  │     │ a_1579366007_3212880686.c

    │     │  │     │ a_1579366007_3212880686.didat

    │     │  │     │ a_1579366007_3212880686.nt64.obj

    │     │  │     │ a_2178031336_3212880686.c

    │     │  │     │ a_2178031336_3212880686.didat

    │     │  │     │ a_2178031336_3212880686.nt64.obj

    │     │  │     │ a_2948401865_3212880686.c

    │     │  │     │ a_2948401865_3212880686.didat

    │     │  │     │ a_2948401865_3212880686.nt64.obj

    │     │  │     │ a_3854613474_3212880686.c

    │     │  │     │ a_3854613474_3212880686.didat

    │     │  │     │ a_3854613474_3212880686.nt64.obj

    │     │  │     │ a_3934962489_3212880686.c

    │     │  │     │ a_3934962489_3212880686.didat

    │     │  │     │ a_3934962489_3212880686.nt64.obj

    │     │  │     │ p_1837083571.c

    │     │  │     │ p_1837083571.didat

    │     │  │     │ p_1837083571.nt64.obj

    │     │  │     │ p_1849098369.c

    │     │  │     │ p_1849098369.didat

    │     │  │     │ p_1849098369.nt64.obj

    │     │  │     │ p_2602938013.c

    │     │  │     │ p_2602938013.didat

    │     │  │     │ p_2602938013.nt64.obj

    │     │  │     │ p_3155556343.c

    │     │  │     │ p_3155556343.didat

    │     │  │     │ p_3155556343.nt64.obj

    │     │  │     │ p_3160202542.c

    │     │  │     │ p_3160202542.didat

    │     │  │     │ p_3160202542.nt64.obj

    │     │  │     │ p_3381355550.c

    │     │  │     │ p_3381355550.didat

    │     │  │     │ p_3381355550.nt64.obj

    │     │  │     │ p_3743709326.c

    │     │  │     │ p_3743709326.didat

    │     │  │     └ p_3743709326.nt64.obj

    │     │  ├ top_sim_isim_beh.exe.sim

    │     │  │  │ isimcrash.log

    │     │  │  │ ISimEngine-DesignHierarchy.dbg

    │     │  │  │ isimkernel.log

    │     │  │  │ libPortability.dll

    │     │  │  │ netId.dat

    │     │  │  │ top_sim_isim_beh.exe

    │     │  │  ├ tmp_save

    │     │  │  │  └ _1

    │     │  │  ├ work

    │     │  │  │  │ a_1335952598_3212880686.c

    │     │  │  │  │ a_1335952598_3212880686.didat

    │     │  │  │  │ a_1335952598_3212880686.nt64.obj

    │     │  │  │  │ a_1503986837_3212880686.c

    │     │  │  │  │ a_1503986837_3212880686.didat

    │     │  │  │  │ a_1503986837_3212880686.nt64.obj

    │     │  │  │  │ a_1881823395_3212880686.c

    │     │  │  │  │ a_1881823395_3212880686.didat

    │     │  │  │  │ a_1881823395_3212880686.nt64.obj

    │     │  │  │  │ a_2472967528_1607153440.c

    │     │  │  │  │ a_2472967528_1607153440.didat

    │     │  │  │  │ a_2472967528_1607153440.nt64.obj

TAGDDS
  • 1 次
  • 10 分