欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      電子設(shè)計(jì)大賽:DDS 信號(hào)發(fā)生器

      時(shí)間:2019-05-15 15:21:14下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫寫幫文庫(kù)小編為你整理了多篇相關(guān)的《電子設(shè)計(jì)大賽:DDS 信號(hào)發(fā)生器》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫(kù)還可以找到更多《電子設(shè)計(jì)大賽:DDS 信號(hào)發(fā)生器》。

      第一篇:電子設(shè)計(jì)大賽:DDS 信號(hào)發(fā)生器

      DDS 信號(hào)發(fā)生器(1022)

      產(chǎn)品應(yīng)用: 模擬傳感器信號(hào) 重現(xiàn)實(shí)際環(huán)境信號(hào) 電路功能測(cè)試 信號(hào)相位調(diào)試 科研與教育 最高輸出頻率 輸出通道數(shù) 采樣率 任意波長(zhǎng)度

      CH1 CH2MHz 2 100 MSa/s 2 pts – 4kpts 2pts – 1kpts 1 μHzmVpp ~ 10 Vpp(50 Ω),4 mV ~ 20 Vpp(高阻)mVpp ~ 3 Vpp(50 Ω),4 mV ~ 6 Vpp(高阻)14 bits 10 bits

      USB Host & Device 無(wú)

      臺(tái)式函數(shù)/任意波形發(fā)生器 寬×高×深=232mm×108mm×288mm 2.7 kg

      頻率分辨率 幅度范圍 垂直分辨率

      CH1 CH2 CH1 CH2

      標(biāo)配接口 選配接口 產(chǎn)品類別 尺寸 重量 產(chǎn)品綜述

      函數(shù)/任意波形發(fā)生器采用直接數(shù)字頻率合成(DDS)技術(shù)設(shè)計(jì),能夠產(chǎn)生精確、穩(wěn)定、低失真的輸出信號(hào)。產(chǎn)品特性

      1.采用先進(jìn)的DDS技術(shù),雙通道輸出,內(nèi)置頻率計(jì),25 MHz最高輸出頻率

      2.LCD單色液晶顯示屏

      3.5種標(biāo)準(zhǔn)波形及48種預(yù)設(shè)任意波形輸出,可編輯10組4 kpts任意波形

      4.豐富的調(diào)制功能:AM、FM、PM、FSK,以及輸出線性/對(duì)數(shù)掃描和脈沖串波形5.豐富的接口配置:標(biāo)配USB Host,USB Device

      第二篇:DDS函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)

      DDS函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)、仿真及下載

      一、實(shí)驗(yàn)設(shè)計(jì)

      ① 利用DDS(Direct DIgital Frequency Synthesis,即直接數(shù)字頻率合成)技術(shù)產(chǎn)生穩(wěn)定的正弦波,三角波和方波輸出,輸出頻率為10~1000kHz且頻率可調(diào),步進(jìn)為10Hz,1kHz,10kHz,100kHz。

      ② 用VerilogHDL進(jìn)行建模和模擬仿真,再利用FPGA進(jìn)行實(shí)現(xiàn)D/A轉(zhuǎn)換。

      ③ 下載到DE0板上利用VGA端口的一個(gè)四位孔進(jìn)行A/D轉(zhuǎn)換顯示在示波器上。

      二、實(shí)驗(yàn)原理

      一個(gè)直接數(shù)字頻率合成器由相位累加器、波形ROM、D/A轉(zhuǎn)換器和低通濾波器構(gòu)成。DDS的原理框圖如下所示:

      圖 1 直接數(shù)字頻率合成器原理圖

      其中K為頻率控制字,fc為時(shí)鐘頻率,N為相位累加器的字長(zhǎng),D為ROM數(shù)據(jù)位及D/A轉(zhuǎn)換器的字長(zhǎng)。相位累加器在時(shí)鐘 fc的控制下以步長(zhǎng)K作為累加,輸出N位二進(jìn)制碼作為波形ROM的地址,對(duì)波形ROM進(jìn)行尋址,波形ROM輸出的幅碼S(n)經(jīng)D/A轉(zhuǎn)換器變成梯形波S(t),再經(jīng)低通濾波器平滑后就可以得到合成的信號(hào)波形了。合成的信號(hào)波形形狀取決于波形ROM中存放的幅碼,因此用DDS可以產(chǎn)生任意波形?!緛?lái)自百度】

      本設(shè)計(jì)中直接利用DE0開發(fā)板通過D/A轉(zhuǎn)換得到輸出波形,省略了低通濾波器這一環(huán)節(jié)。

      DDS工作流程示意圖:

      DDS的具體實(shí)現(xiàn)框圖:

      三、實(shí)驗(yàn)內(nèi)容:

      1、相位累加器和數(shù)據(jù)鎖存器的設(shè)計(jì)

      本設(shè)計(jì)采用模24的二進(jìn)制累加器和寄存器,其中累加器和寄存器在一個(gè)模塊中,只取鎖存數(shù)據(jù)的高十位作為查表的地址值。//地址計(jì)數(shù)器模塊;

      module counter(clk,fre_word,address);input clk;

      //聲明系統(tǒng)時(shí)鐘為clk

      input [23:0] fre_word;

      //聲明24為頻率控制字

      output reg [9:0] address;

      reg [23:0] phaseadder;always @(posedge clk)begin

      phaseadder=phaseadder+fre_word;address=phaseadder[23:14];//地址取輸出鎖存后十位(對(duì)應(yīng)波形為一個(gè)周期取1024點(diǎn))

      end endmodule2、波形存儲(chǔ)器設(shè)計(jì)

      本設(shè)計(jì)要求DDS系統(tǒng)能輸出方波、三角波及正弦波三種波形??梢哉{(diào)用FPGA的LPM_ROM模塊制作三張ROM表,地址計(jì)數(shù)器可以同時(shí)訪問這三張表,再使用數(shù)據(jù)選擇器輸出指定波形。實(shí)際上,方波,三角波的實(shí)現(xiàn)算法比較簡(jiǎn)單,所以只把正弦波的算法用ROM實(shí)現(xiàn)。//方波產(chǎn)生模塊

      module squwave(clk,address,qsquare);

      input clk;

      //系統(tǒng)時(shí)鐘;input [9:0] address;

      //10位地址輸入信號(hào);

      output reg [7:0] qsquare;//輸出方波幅度信號(hào)8位寬送至DAC

      always @(posedge clk)

      if(address<=10'b01_1111_1111)qsquare[7:0]=8'b1111_1111;else qsquare[7:0]=8'b0000_0000;endmodule

      //三角波產(chǎn)生模塊

      module triawave(clk,address,qtriangle);input clk;

      input [9:0] address;output reg [7:0] qtriangle;always @(posedge clk)begin if(address<=10'b01_1111_1111)qtriangle[7:0]=address[8:1];else qtriangle[7:0]=~address[8:1];end endmodule

      //正弦波形文件制作(C語(yǔ)言)#include #include void main(){ int s;int i;FILE* fp;fp=fopen(“1024.mif”,“w+”);fprintf(fp,“--MAX+plusII-generated Memory Initialization Filen”);fprintf(fp,“--By 00022809nnnnn”);fprintf(fp,“WIDTH=8;nn”);fprintf(fp,“DEPTH=1024;nn”);fprintf(fp,“ADDRESS_RADIX=HEX;nn”);fprintf(fp,“DATA_RADIX=HEX;nn”);fprintf(fp,“CONTENT BEGINn”);for(i=0;i<1024;i++){

      s=128+sin(atan(1.0)*8/1024*i)*127;

      fprintf(fp,“%xt:t%x;n”);} fprintf(fp,“END;n”);fclose(fp);} 生成mif格式文件,然后可以調(diào)用LPM_ROM模塊實(shí)現(xiàn)正弦波產(chǎn)生模塊。

      3、波形的綜合輸出

      DDS系統(tǒng)中產(chǎn)生了三種波形,但是在每種情況下只輸出一種波形,因此要設(shè)計(jì)一個(gè)多路選擇器完成這種功能。輸出何種波形由外部開關(guān)控制。//boxing.v module boxing(clk,address,wavemode,wavevalue);

      input clk;

      input [1:0] wavemode;

      //波形模式信號(hào)

      input [9:0] address;

      //十位地址輸入信號(hào)

      output [7:0] wavevalue;

      //對(duì)應(yīng)不同的波形輸出

      reg [7:0] wavevalue;wire [7:0] q,qsquare,qtriangle;sinwave a(address,clk,q);

      //調(diào)用正弦波產(chǎn)生模塊

      squwave b(clk,address,qsquare);//調(diào)用方波產(chǎn)生模塊

      triawave c(clk,address,qtriangle);//調(diào)用三角波產(chǎn)生模塊 always @(posedge clk)case(wavemode)2'b01:wavevalue=q;//01代表正弦波

      2'b10:wavevalue=qsquare;

      //10代表方波

      2'b11:wavevalue=qtriangle;

      //11代表三角波

      endcase endmodule

      4、工作模式控制模塊的設(shè)計(jì)

      本設(shè)計(jì)包括了開關(guān)模塊和工作狀態(tài)轉(zhuǎn)換模塊。先將開關(guān)調(diào)好狀態(tài),每按一次鍵程序根據(jù)所選狀態(tài)進(jìn)行工作。(由于DE0板上時(shí)鐘為50MHz則變化較快,所以增加一個(gè)控制鍵,工程模式狀態(tài)由此鍵控制。)//控制模塊

      module control(clk1,keyin,wavemode,length,single_state,single_frc);

      input [3:0] keyin;

      //四位狀態(tài)信號(hào)輸入

      input clk1;

      //按鍵控制狀態(tài)的輸入

      input [1:0]single_state;

      //輸入的波形模式信號(hào)

      input [1:0]single_frc;

      //頻率及步進(jìn)控制信號(hào)

      output reg [1:0] wavemode;

      //波形模式輸出信號(hào)

      output reg [23:0] length;

      //輸出波形控制字

      reg [3:0] key;

      always @(posedge clk1)

      begin

      key=keyin;case(key)4'b0001: begin wavemode=2'b01;length=24'd3;end

      4'b0010: begin case(single_state)

      2'b01:wavemode=2'b01;

      2'b10:wavemode=2'b10;

      2'b11:wavemode=2'b11;

      default: begin wavemode=2'b01;end

      endcase

      end

      4'b0100: begin case(single_frc)

      1:length=24'd3;

      //10~10kHz

      2:length=24'd3355;//10kHz~100kHz

      3:length=24'd33554;//100kHz~2000kHz

      default: begin length=24'd671088;end //大于2000kHz

      endcase

      end

      4'b1000: begin case(single_frc)

      0:length=length+24'd33554;

      //步進(jìn)為100kHz

      1:length=length+24'd3;

      //

      10Hz

      2:length=length+24'd336;

      //

      1kHz

      3:length=length+24'd3355;//

      10kHz

      endcase

      end

      endcase

      end

      endmodule

      5、DDS函數(shù)信號(hào)發(fā)生器頂層設(shè)計(jì)

      頂層文件是將上述幾個(gè)模塊聯(lián)系在一起就可以得到DDS核心實(shí)現(xiàn)模塊。//頂層文件

      module dds(clk,clk1,keyin,wavevalue,single_state,single_frc);input clk,clk1;

      //系統(tǒng)時(shí)鐘和控制按鍵

      input [3:0] keyin;

      //四位狀態(tài)輸入信號(hào)

      input [1:0]single_frc;

      //頻率及步進(jìn)輸入模式信號(hào)

      input [1:0]single_state;

      //波形選擇開關(guān)

      output [7:0] wavevalue;

      //輸出波形信號(hào)

      wire [9:0] address;

      wire [1:0] wavemode;wire [23:0] length;control u1(clk1,keyin,wavemode,length,single_state,single_frc);//調(diào)用其他三個(gè)模塊

      counter u2(clk,length,address);boxing u3(clk,address,wavemode,wavevalue);endmodule

      五、實(shí)驗(yàn)操作

      操作軟件QuartusII9.1及Modelsim,這兩種軟件的用法在此不再細(xì)談。下載后示波器顯示如下:

      六、實(shí)驗(yàn)總結(jié):

      做完這次實(shí)驗(yàn),我感覺DDS對(duì)于我們這些初學(xué)者來(lái)說一時(shí)很難接受,但是我們需要通過自己以及他人的見解來(lái)不斷消化知識(shí),一點(diǎn)一點(diǎn)去理解。最后做出來(lái)波形的時(shí)候確實(shí)很高興,這是對(duì)我們這幾天的學(xué)習(xí)的肯定,以后還要不斷的去學(xué)習(xí)去理解FPGA以及VerilogHDL,堅(jiān)持不懈,不管它有多難。

      第三篇:電子設(shè)計(jì)大賽信號(hào)發(fā)生器心得總結(jié)(共)

      電子設(shè)計(jì)大賽信號(hào)發(fā)生器心得總結(jié)

      電子設(shè)計(jì)大賽結(jié)束了半個(gè)月了,也就是我們的培訓(xùn)過去半個(gè)多月了。回頭想想還是記憶猶新。這一個(gè)多月是那么短暫,卻又是那么的充實(shí),空前的充實(shí),比奮戰(zhàn)高考是還要緊張。歸根結(jié)底是我們學(xué)到了很多知識(shí),特別是實(shí)際的動(dòng)手能力。這是我們平時(shí)學(xué)不到的,或者說是能學(xué)

      到但條件是很有限的。

      我先從幾方面談?wù)勎业氖斋@。

      (1)和老師之間:

      和老師難得有這么親近的機(jī)會(huì),指導(dǎo)我們的幾個(gè)老師只是平時(shí)見過,有的教過我們課,只是授課與聽課的關(guān)系。而這次大賽是我們師生之間有個(gè)更深的一層含義—朋友,合作者。每個(gè)老師都是給我們掏心窩子的交流,督促我們學(xué)習(xí),真的是想讓我們學(xué)到點(diǎn)東西。老師一再?gòu)?qiáng)調(diào)要我們和他們交流,有時(shí)甚至是老師主動(dòng)找我們學(xué)生交流的。最后做項(xiàng)目的幾個(gè)晚上大部分老師是陪我們一起通宵的。實(shí)際上即便是我們充實(shí)的學(xué)了一個(gè)月,以我們的能力完成電子設(shè)計(jì)大賽的題可以說是不可能的。所以老師一再?gòu)?qiáng)調(diào)要和他們交流。最后完成項(xiàng)目還是靠老師的幫助,關(guān)鍵是我們必須參與進(jìn)去,過程一定要有。完成項(xiàng)目的過程中會(huì)遇到種種問題,和老師一起解決問題的過程,是最有價(jià)值的。

      (2)和同學(xué)之間

      我是計(jì)算機(jī)班的,最后參賽的共有18人,其中15人是醫(yī)電班的,三人是我班的。參賽的都是相對(duì)比較優(yōu)秀的同學(xué)。有的以前甚至沒見過?,F(xiàn)在在一起上課,討論問題,吃飯。象一個(gè)大家庭。有問題先和別的同學(xué)討論,解決不了再去找老師。大家共同分享解決問題的方法經(jīng)驗(yàn)。自己相處來(lái)的好方法和同學(xué)一起分享一下,一來(lái)別人會(huì)說我聰明,二來(lái)別人想出來(lái)好方法也會(huì)和我分享的,這樣就形成了良性循環(huán)的過程。這次大賽是和理工大學(xué)的本科生一起上課的。我們是大二-大三,他們是大三-大四,水平也相對(duì)比我們高,我有問題還是經(jīng)常請(qǐng)教他們的。還好他們都挺熱心的。我和一個(gè)叫張書平的挺熟的,他很聰明,學(xué)東西上手很快,和他一起學(xué)習(xí)也刺激的我反應(yīng)變快了。

      (3)和組員之間

      電子設(shè)計(jì)大賽我是和我班的曲世靜劉友平一組的。和他們相對(duì)熟一點(diǎn)?,F(xiàn)在想想感覺挺親的。三個(gè)人合作一個(gè)項(xiàng)目首先要團(tuán)結(jié),其次才是分工。我們?nèi)司褪且粋€(gè)團(tuán)隊(duì),一個(gè)整體。一個(gè)項(xiàng)目需要一個(gè)團(tuán)隊(duì)來(lái)完成。也就是人們常說的teamwork.。這是我們第一次團(tuán)隊(duì)合作的經(jīng)歷,以前只是概念層的teamwork,有了這次經(jīng)歷,就可以說是實(shí)踐層的teamwork了。再次強(qiáng)調(diào)一個(gè)團(tuán)隊(duì)就是一個(gè)整體,首先要團(tuán)結(jié)一致,再是合理分工。團(tuán)結(jié)不只是心理上團(tuán)結(jié)更重要的是向一個(gè)方向共同努力。合理分工真諦是同一時(shí)間每個(gè)人并行的工作。有時(shí)卻不得不串行工作。既是下一步工作是在上一部工作必須完成的基礎(chǔ)上才能開始著手的,因?yàn)橥瓿梢粋€(gè)項(xiàng)目往往有時(shí)間限制的。所以每一步都必須抓緊時(shí)間來(lái)完成,否則會(huì)耽誤下一步的工作的。通宵也是常理之中的。這是其他組員在適當(dāng)?shù)那闆r下先休息,說不定下一個(gè)晚上你就要熬夜甚至

      通宵了。

      這次培訓(xùn)我是數(shù)電組的。我們主要學(xué)的是可編程邏輯器件FPGA(field programmable gate array)的應(yīng)用。FPGA是一種集成度很高的PLD(編程邏輯器)。在一塊FPGA芯片上可以實(shí)現(xiàn)各種數(shù)字電FPGA的功能往往不局限與數(shù)字電路上,它的強(qiáng)大功能主要用于設(shè)計(jì)數(shù)字電子系統(tǒng),來(lái)優(yōu)化算法。當(dāng)然能實(shí)現(xiàn)常見的組合輯電路,時(shí)序邏輯電路。所有工作是在QUARTUS 軟件開發(fā)平臺(tái)上完成的。實(shí)現(xiàn)過程可以通過軟件編程或者圖形輸入法完成軟件系統(tǒng),然后進(jìn)

      行編譯,仿真正確后下載到FPGA芯片上,該芯片就能實(shí)現(xiàn)所要的邏輯功能。

      剛接觸FPGA是李丕丁博士給我們介紹VHDL(V-hard description language)硬件描述語(yǔ)言開始的。幾乎所有的電子系統(tǒng)都可以用VHDL編出來(lái)。當(dāng)天晚上李老師給我們留的作業(yè)是編出一個(gè)象五分頻,占空比2:3的分頻計(jì)數(shù)器出來(lái)。因?yàn)槭莿偨佑|一天做起來(lái)還是有難度的。自己先試著編了一下,結(jié)果沒能實(shí)現(xiàn),就和本科的同學(xué)交流討論了一下,取了點(diǎn)經(jīng)驗(yàn),自己也就做出來(lái)了。第二天李老師給我們畫了四個(gè)D觸發(fā)器,連接起來(lái)是一個(gè)移位寄存器,讓我們用VHDL來(lái)實(shí)現(xiàn),一開始真的是一頭霧氣水,不知道如何下手。其他同學(xué)也是這樣的反映。見到這種情況,老師們商量了一下,再把基礎(chǔ)的給我們講一下是必要的。所以我們就用VHDL從與,或,非門等基礎(chǔ)的開始一一練習(xí),再到編碼器,譯碼器,選擇器計(jì)數(shù)器。一直練習(xí)到這些基本的邏輯都能自己獨(dú)立編出來(lái)。這樣才對(duì)自己有了信心,更進(jìn)一步了解了VHDL。平時(shí)練習(xí)的很多還給自己出題目做,例如完成一個(gè)并入串出的移位寄存器等等。

      因?yàn)镕PGA的輸入輸出,以及處理的全是數(shù)字量,既是邏輯高低電平0,1。所以單獨(dú)一塊FPGA芯片是不能完成項(xiàng)目的。要完成的項(xiàng)目都會(huì)有模擬量的,比如再示波器上看到的某個(gè)波形就是一般都是模擬量。這就用到A D,DA轉(zhuǎn)換,必須也要把這個(gè)掌握起來(lái),第一周的后三天就和單片機(jī)組的一起聽莫老師講的相關(guān)的內(nèi)容。是張老師給我們講的有關(guān)下載的知識(shí),下載的應(yīng)用讓我們見識(shí)到了它的功能。下載就是把從軟件編好的程序下載到FPGA芯片上,下載線

      一端接到電腦的并行IO口上,另一端接到FPGA芯片上。操做軟件就能實(shí)現(xiàn)下載。

      卜老師給我們講了quartus的圖形輸入法,這種方法很好用,就是在軟件平臺(tái)上搭建數(shù)字電路。Quartus 自帶的元件庫(kù)是相當(dāng)豐富的,常用的,不常用的,有盡有。從元件庫(kù)中調(diào)出需用的元件,然后連接,這種方法比在面板上方便多了。電路連接好后,編譯調(diào)試,仿真成功

      后下載到FPGA上就能實(shí)現(xiàn)所要的功能。

      印象最深的的是DDS原理的應(yīng)用。DDS是直接數(shù)字頻率合成技術(shù),通過這種技術(shù)能得到任意頻率的各種波型?;驹硎穷l率初始字輸入到一累加器,累加器做循環(huán)累加,累加器的高N位作為讀取ROM的地址。ROM的M個(gè)存儲(chǔ)單元中存放波型的采樣點(diǎn)。讀取采樣值然后輸出。通過改變頻率初始字的改變,就能實(shí)現(xiàn)輸出頻率的改變。我們練習(xí)國(guó)05年電子設(shè)計(jì)大賽的A題-正弦信號(hào)發(fā)生器,要求產(chǎn)生100Hz-100MHz的正弦信號(hào)頻率步進(jìn)為100Hz。這道題就

      是DDS的原理。

      電子設(shè)計(jì)大賽我組是單單數(shù),是六組唯一沒有模電學(xué)生的。拿到題目后針對(duì)我組的情況我們選擇了信號(hào)發(fā)生器這道題目,要去產(chǎn)生方波,正弦波,三角波,頻率范圍為10hz-10mhz,低頻段10hz-khz,高頻段1khz-10mhz,步進(jìn)為1khz,波形發(fā)生系統(tǒng)正好我們練習(xí)過,和05年正弦信號(hào)發(fā)生器類似,但也有不同,要求產(chǎn)生3種波形,又要分高低頻段,這些在軟件上實(shí)現(xiàn)難度不大,用選擇器高低頻段,內(nèi)涵在于用累加器的選擇作為地址信號(hào)的選擇,波形控制是把3種波形的采樣點(diǎn)存到3個(gè)rom中,用選擇信號(hào)來(lái)選擇波形,難點(diǎn)在于控制字的輸入,累加器要接收23位數(shù)據(jù)。方案1采取23根數(shù)據(jù)位,與單片機(jī)的io口連接,但單片機(jī)資源有限,所以不能采取此方案。方案2采取分高低中3位接收數(shù)據(jù)在fpga內(nèi)部配置3個(gè)8位鎖存器,每個(gè)鎖存器的時(shí)鐘信號(hào)通過單片機(jī)做為握手信號(hào)來(lái)提供,3個(gè)8為鎖存器的輸出再接到一個(gè)鎖存器上,鎖存器的24為輸出就能得到需要的頻率控制字。

      在fpg內(nèi)部握手信號(hào)為hold,波形控制信號(hào)為s2(1,0),高低頻段控制信號(hào)為s1,這幾個(gè)信號(hào)分別由單片機(jī)提供。在調(diào)試過程中遇到了種種困難,其中第一個(gè)為數(shù)據(jù)不能讀入,最后找出來(lái)是hold信號(hào)沒有起作用,又來(lái)又發(fā)現(xiàn)高頻段波形能出來(lái),但低頻段不能出來(lái),這個(gè)問題讓人頭痛,高頻段都出來(lái)了,低頻段不可能出不來(lái),因?yàn)樵硎且粯拥?,這種情況最可能的原因還是頻率控制字的錯(cuò)誤,經(jīng)反復(fù)檢驗(yàn),發(fā)現(xiàn)問題出在單片機(jī)額po口的分時(shí)復(fù)用上,po口除了發(fā)送數(shù)據(jù)還要進(jìn)行鍵盤掃描,fpga把po對(duì)鍵盤掃描的信號(hào)也接收了過來(lái),肯定會(huì)出錯(cuò)的。因?yàn)閒pga反應(yīng)很快,采取措施是修改匯編程序,延長(zhǎng)po口對(duì)鍵盤的掃描到1妙,最后得到正確結(jié)果,下一步工作是輸出的波形信號(hào)接到da上,因?yàn)檩敵鲎畲箢l率要10mhz,考慮采用高速adv7120,數(shù)據(jù)輸入為r(7…0)b(7…0),g(7…0),這塊芯片主要用于視頻轉(zhuǎn)換,能滿足高速要求,但是控制信號(hào)太多,再焊到pcb板上很容易出錯(cuò),最后放棄使用adv7120,采樣我們熟悉的da0832,fpga的8為波形信號(hào)作為da的輸入wr信號(hào)由fpga提供,其他信號(hào)由單片機(jī)提供。Fpga每輸出8為波形信號(hào)一次,wr信號(hào)就接收延時(shí)1ms的低電平,就能完成一次轉(zhuǎn)換,輸出一位的模擬信號(hào)pcb焊接好后,進(jìn)行統(tǒng)調(diào),可喜的是方波指標(biāo)全能達(dá)到,三角波正弦波的頻率能完全符合要求,但波形明顯失真,原因出在pcb上電

      路連接不理想,但當(dāng)時(shí)已經(jīng)沒有時(shí)間在修改了,有間的話肯定能做好。

      現(xiàn)在已經(jīng)結(jié)束了,收獲的結(jié)果并不重要,收獲的整個(gè)過程才是有價(jià)值的,我們從這個(gè)過程鍛煉了很多能力,有的極其深遠(yuǎn)的意義。這個(gè)過程使我對(duì)我的將來(lái)有了一個(gè)新的認(rèn)識(shí)一個(gè)新的定位,也為我指明了方向。因?yàn)槲覍?duì)這方面感興趣,我有興趣繼續(xù)研究,有斗志躋身于電子

      這個(gè)行業(yè)。

      最后感謝老師。首先,感謝老師給我的這次機(jī)會(huì),我很珍惜。

      再感謝各位老師的辛勤栽培,在這里祝愿每個(gè)老師有個(gè)好身體,每天都有好運(yùn)氣。

      第四篇:EDA課程設(shè)計(jì)——基于DDS的正弦信號(hào)發(fā)生器設(shè)計(jì)(模版)

      頂層文件 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DDS IS

      PORT(K:IN STD_LOGIC_VECTOR(9 DOWNTO 0);

      EN:IN STD_LOGIC;

      RESET:IN STD_LOGIC;

      CLK:IN STD_LOGIC;

      Q:OUT STD_LOGIC_VECTOR(8 DOWNTO 0));END ENTITY DDS;ARCHITECTURE BEHAVE OF DDS IS

      COMPONENT SUM99 IS

      PORT(K:IN STD_LOGIC_VECTOR(9 DOWNTO 0);

      EN:IN STD_LOGIC;

      RESET:IN STD_LOGIC;

      CLK:IN STD_LOGIC;

      OUT1:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));

      END COMPONENT SUM99;

      COMPONENT REG1 IS

      PORT(D:IN STD_LOGIC_VECTOR(9 DOWNTO 0);

      CLK:IN STD_LOGIC;

      Q:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));

      END COMPONENT REG1;

      COMPONENT ROM IS

      PORT(CLK:IN STD_LOGIC;

      ADDR:IN STD_LOGIC_VECTOR(9 DOWNTO 0);

      OUTP:OUT STD_LOGIC_VECTOR(8 DOWNTO 0));

      END COMPONENT ROM;

      COMPONENT REG2 IS

      PORT(D:IN STD_LOGIC_VECTOR(8 DOWNTO 0);

      CLK:IN STD_LOGIC;

      Q:OUT STD_LOGIC_VECTOR(8 DOWNTO 0));

      END COMPONENT REG2;

      SIGNAL S1:STD_LOGIC_VECTOR(9 DOWNTO 0);

      SIGNAL S2:STD_LOGIC_VECTOR(9 DOWNTO 0);

      SIGNAL S3:STD_LOGIC_VECTOR(8 DOWNTO 0);

      BEGIN

      U0:SUM99

      PORT MAP(K=>K,EN=>EN,RESET=>RESET,CLK=>CLK,OUT1=>S1);

      U1:REG1 PORT MAP(D=>S1,CLK=>CLK,Q=>S1);

      U2:ROM PORT MAP(ADDR=>S2,CLK=>CLK,OUTP=>S3);

      U3:REG2 PORT MAP(D=>S3,CLK=>CLK,Q=>Q);END ARCHITECTURE BEHAVE;

      正弦查找表 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ROM IS PORT(ADDR:IN STD_LOGIC_VECTOR(6 DOWNTO 0);CLK:IN STD_LOGIC;OUTP:OUT SIGNED(7 DOWNTO 0));END ENTITY ROM;ARCHITECTURE ART OF ROM IS BEGIN PROCESS(CLK)IS BEGIN IF(CLK'EVENT AND CLK='1')THEN CASE ADDR IS WHEN “0000000”=>OUTP<=“00000000”;WHEN “0000001”=>OUTP<=“00000010”;WHEN “0000010”=>OUTP<=“00000011”;WHEN “0000011”=>OUTP<=“00000101”;WHEN “0000100”=>OUTP<=“00000110”;

      WHEN “0000101”=>OUTP<=“00001000”;WHEN “0000110”=>OUTP<=“00001001”;WHEN “0000111”=>OUTP<=“00001011”;WHEN “0001000”=>OUTP<=”00001101“;WHEN ”0001001“=>OUTP<=”00001110“;WHEN ”0001010“=>OUTP<=”00010000“;WHEN ”0001011“=>OUTP<=”00010001“;WHEN ”0001100“=>OUTP<=”00010011“;WHEN ”0001101“=>OUTP<=”00010100“;WHEN ”0001110“=>OUTP<=”00010110“;WHEN ”0001111“=>OUTP<=”00010111“;WHEN ”0010000“=>OUTP<=”00011001“;WHEN ”0010001“=>OUTP<=”00011011“;

      WHEN ”0010010“=>OUTP<=”00011100“;WHEN ”0010011“=>OUTP<=”00011110“;WHEN ”0010100“=>OUTP<=”00011111“;WHEN ”0010101“=>OUTP<=”00100001“;WHEN ”0010110“=>OUTP<=”00100010“;WHEN ”0010111“=>OUTP<=”00100100“;WHEN ”0011000“=>OUTP<=”00100101“;WHEN ”0011001“=>OUTP<=”00100111“;

      WHEN ”0011010“=>OUTP<=”00101001“;WHEN ”0011011“=>OUTP<=”00101010“;WHEN ”0011100“=>OUTP<=”00101100“;WHEN ”0011101“=>OUTP<=”00101101“;WHEN ”0011110“=>OUTP<=”00101111“;WHEN ”0011111“=>OUTP<=”00110000“;WHEN ”0100000“=>OUTP<=”00110010“;WHEN ”0100001“=>OUTP<=”00110011“;WHEN ”0100010“=>OUTP<=”00110101“;WHEN ”0100011“=>OUTP<=”00110110“;WHEN ”0100100“=>OUTP<=”00111000“;WHEN ”0100101“=>OUTP<=”00111001“;WHEN ”0100110“=>OUTP<=”00111011“;WHEN ”0100111“=>OUTP<=”00111100“;WHEN ”0101000“=>OUTP<=”00111110“;WHEN ”0101001“=>OUTP<=”00111111“;WHEN ”0101010“=>OUTP<=”01000001“;WHEN ”0101011“=>OUTP<=”01000011“;WHEN ”0101100“=>OUTP<=”01000100“;WHEN ”0101101“=>OUTP<=”01000110“;WHEN ”0101110“=>OUTP<=”01000111“;WHEN ”0101111“=>OUTP<=”01001001“;

      WHEN ”0110000“=>OUTP<=”01001010“;WHEN ”0110001“=>OUTP<=”01001100“;WHEN ”0110010“=>OUTP<=”01001101“;WHEN ”0110011“=>OUTP<=”01001111“;WHEN ”0110100“=>OUTP<=”01010000“;WHEN ”0110101“=>OUTP<=”01010001“;WHEN ”0110110“=>OUTP<=”01010011“;WHEN ”0110111“=>OUTP<=”01010100“;WHEN ”0111000“=>OUTP<=”01010110“;WHEN ”0111001“=>OUTP<=”01010111“;WHEN ”0111010“=>OUTP<=”01011001“;WHEN ”0111011“=>OUTP<=”01011010“;WHEN ”0111100“=>OUTP<=”01011100“;WHEN ”0111101“=>OUTP<=”01011101“;WHEN ”0111110“=>OUTP<=”01011111“;WHEN ”0111111“=>OUTP<=”01100000“;WHEN ”1000000“=>OUTP<=”01100010“;WHEN ”1000001“=>OUTP<=”01100011“;WHEN ”1000010“=>OUTP<=”01100100“;WHEN ”1000011“=>OUTP<=”01100110“;WHEN ”1000100“=>OUTP<=”01100111“;WHEN ”1000101“=>OUTP<=”01101001“;

      WHEN ”1000110“=>OUTP<=”01101010“;WHEN ”1000111“=>OUTP<=”01101100“;WHEN ”1001000“=>OUTP<=”01101101“;WHEN ”1001001“=>OUTP<=”01101110“;WHEN ”1001010“=>OUTP<=”01110000“;WHEN ”1001011“=>OUTP<=”01110001“;WHEN ”1001100“=>OUTP<=”01110011“;WHEN ”1001101“=>OUTP<=”01110100“;WHEN ”1001110“=>OUTP<=”01110101“;WHEN ”1001111“=>OUTP<=”01110111“;WHEN ”1010000“=>OUTP<=”01111000“;WHEN ”1010001“=>OUTP<=”01111010“;WHEN ”1010010“=>OUTP<=”01111011“;WHEN ”1010011“=>OUTP<=”01111100“;WHEN ”1010100“=>OUTP<=”01111110“;WHEN ”1010101“=>OUTP<=”01111111“;WHEN ”1010110“=>OUTP<=”10000000”;WHEN “1010111”=>OUTP<=“10000010”;WHEN “1011000”=>OUTP<=“10000011”;WHEN “1011001”=>OUTP<=“10000100”;WHEN “1011010”=>OUTP<=“10000110”;WHEN “1011011”=>OUTP<=“10000111”;

      WHEN “1011100”=>OUTP<=“10001000”;WHEN “1011101”=>OUTP<=“10001010”;WHEN “1011110”=>OUTP<=“10001011”;WHEN “1011111”=>OUTP<=“10001100”;WHEN “1100000”=>OUTP<=“10001110”;WHEN “1100001”=>OUTP<=“10001111”;WHEN “1100010”=>OUTP<=“10010000”;WHEN “1100011”=>OUTP<=“10010010”;WHEN “1100100”=>OUTP<=“10010011”;WHEN “1100101”=>OUTP<=“10010100”;WHEN “00001100110”=>OUTP<=“10010101”;WHEN “1100111”=>OUTP<=“10010111”;WHEN “1101000”=>OUTP<=“10011000”;WHEN “1101001”=>OUTP<=“10011001”;WHEN “1101010”=>OUTP<=“10011010”;WHEN “1101011”=>OUTP<=“10011100”;WHEN “1101100”=>OUTP<=“10011101”;WHEN “1101101”=>OUTP<=“10011110”;WHEN “1101110”=>OUTP<=“10011111”;WHEN “1101111”=>OUTP<=“10100001”;WHEN “1110000”=>OUTP<=“10100010” WHEN “1110001”=>OUTP<=“10100011”;

      WHEN “1110010”=>OUTP<=“10100100”;WHEN “1110011”=>OUTP<=“10100101”;WHEN “1110100”=>OUTP<=“10100111”;WHEN “1110101”=>OUTP<=“10101000”;WHEN “1110110”=>OUTP<=“10101001”;WHEN “1110111”=>OUTP<=“10101010”;WHEN “1111000”=>OUTP<=“10101011”;WHEN “1111001”=>OUTP<=“10101100”;WHEN “1111010”=>OUTP<=“10101110”;WHEN “1111011”=>OUTP<=“10101111”;WHEN “1111100”=>OUTP<=“10110000”;WHEN “1111101”=>OUTP<=“10110001”;WHEN “1111110”=>OUTP<=“10110010”;WHEN “1111111”=>OUTP<=“10110011”;WHEN OTHERS=>OUTP<=“ 00000000”;

      END CASE;

      END IF;END PROCESS;END ARCHITECTURE ART;

      DAC 0832的VHDL程序 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DAC0832 IS PORT(CLK:IN STD_LOGIC;

      RST:IN STD_LOGIC;

      ILE:OUT STD_LOGIC;

      CONT:OUT STD_LOGIC;DATA_OUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END ENTITY;ARCHITECTURE BEHAVE OF DAC0832 IS SIGNAL Q:INTEGER RANGE 0 TO 63;SIGNAL DATA:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN

      PROCESS(CLK)

      BEGIN

      IF RST='1'THEN Q<=0;ELSIF CLK'EVENT AND CLK='1'THEN

      IF DATA=“11111111”THEN DATA<=“00000000”;

      ELSE DATA<=DATA+1;

      END IF;

      ELSE Q<=Q+1;

      END IF;

      END PROCESS;ILE<='1';CONT<='0';DATA_OUT<=DATA;END ARCHITECTURE BEHAVE;

      頻率控制字 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY REG0 IS

      PORT(CLK:IN STD_LOGIC;

      LOCK:IN STD_LOGIC;

      Q:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));END ENTITY REG0;ARCHITECTURE ART OF REG0 IS BEGIN

      PROCESS(CLK)

      BEGIN

      IF(CLK'EVENT AND CLK='1')THEN

      IF LOCK='1'THEN

      Q<=“0000011111”;

      END IF;

      END IF;

      END PROCESS;END ARCHITECTURE ART;

      相位寄存器 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG1 IS

      PORT(D:IN STD_LOGIC_VECTOR(9 DOWNTO 0);

      CLK:IN STD_LOGIC;

      Q:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));END ENTITY REG1;ARCHITECTURE BEHAVE OF REG1 IS BEGIN

      PROCESS(CLK)IS

      BEGIN

      IF(CLK'EVENT AND CLK='1')THEN

      Q<=D;

      END IF;

      END PROCESS;END ARCHITECTURE BEHAVE;

      輸出數(shù)據(jù)寄存器 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY REG2 IS PORT(D:IN STD_LOGIC_VECTOR(8 DOWNTO 0);

      CLK:IN STD_LOGIC;

      Q:OUT STD_LOGIC_VECTOR(8 DOWNTO 0));END ENTITY REG2;ARCHITECTURE BEHAVE OF REG2 IS BEGIN

      PROCESS(CLK)IS

      BEGIN

      IF(CLK'EVENT AND CLK='1')THEN

      Q<=D;

      END IF;

      END PROCESS;END ARCHITECTURE BEHAVE;

      相位累加器 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SUM99 IS

      PORT(K:IN STD_LOGIC_VECTOR(9 DOWNTO 0);

      CLK:IN STD_LOGIC;

      EN:IN STD_LOGIC;

      RESET:IN STD_LOGIC:

      OUT1:OUT STD_LOGIC_VECTOR(9 DOWNTO 0));END ENTITY SUM99;ARCHITECTURE BEHAVE OF SUM99 IS

      SIGNAL TEMP:STD_LOGIC_VECTOR(9 DOWNTO 0);BEGIN

      PROCESS(CLK,EN,RESET)IS

      BEGIN

      IF RESET='1'THEN

      TEMP<=“0000000000”;

      ELSE

      IF CLK'EVENT AND CLK='1'THEN

      IF EN='1'THEN

      TEMP<=TEMP+K;

      END IF;

      END IF;

      END IF;

      OUT1<=TEMP;

      END PROCESS;END ARCHITECTURE BEHAVE;

      圖1.頂層電路原理圖

      圖2.dds波形仿真圖

      圖3.rom波形仿真圖

      圖4.相位寄存器reg1仿真波形圖

      圖5.寄存器reg2的波形仿真

      圖6.相位累加器仿真波形圖

      圖7.優(yōu)化過程及對(duì)比波形(A——H)

      圖A

      圖B

      圖C

      圖D

      圖E 23

      圖F

      圖G

      圖H

      第五篇:函數(shù)信號(hào)發(fā)生器設(shè)計(jì)

      函數(shù)信號(hào)發(fā)生器設(shè)計(jì)設(shè)計(jì)任務(wù)與要求

      ⑴ 設(shè)計(jì)并制作能產(chǎn)生正弦波、矩形波(方波)和三角波(鋸齒波)的函數(shù)發(fā)生器,本信號(hào)發(fā)生器可以考慮用專用集成芯片(如5G8038等)為核心實(shí)現(xiàn)。⑵ 信號(hào)頻率范圍: 1Hz∽100kHz;

      ⑶ 頻率控制方式:

      ① 手控通過改變RC參數(shù)實(shí)現(xiàn);

      ② 鍵控通過改變控制電壓實(shí)現(xiàn);

      ③ 為能方便地實(shí)現(xiàn)頻率調(diào)節(jié),建議將頻率分檔;

      ⑷ 輸出波形要求

      ① 方波上升沿和下降沿時(shí)間不得超過200nS,占空比在48%∽50%之間;② 非線性誤差≤2%;

      ③ 正弦波諧波失真度≤2%;

      ⑸ 輸出信號(hào)幅度范圍:0∽20V;

      ⑹ 信號(hào)源輸出阻抗:≤1Ω;

      ⑺ 應(yīng)具有輸出過載保護(hù)功能;

      ⑻ 具有數(shù)字顯示輸出信號(hào)頻率和電壓幅值功能。

      下載電子設(shè)計(jì)大賽:DDS 信號(hào)發(fā)生器word格式文檔
      下載電子設(shè)計(jì)大賽:DDS 信號(hào)發(fā)生器.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        DSP-任意信號(hào)發(fā)生器

        任意信號(hào)發(fā)生器 實(shí)驗(yàn)報(bào)告 姓 名: 學(xué)院(系): 專業(yè): 組員: 指導(dǎo)老師: 學(xué) 號(hào): 電子工程與光電技術(shù)學(xué)院 通信工程 一、實(shí)驗(yàn)?zāi)康?1.熟悉 DSP 硬件開發(fā)平臺(tái); 2.熟悉 DSP 集成開發(fā)......

        函數(shù)信號(hào)發(fā)生器論文

        函數(shù)信號(hào)發(fā)生器的設(shè)計(jì)與制作 系別:電子工程系 專業(yè):應(yīng)用電子技術(shù) 屆:XX屆 姓名:XXX 摘 要 本系統(tǒng)以ICL8038集成塊為核心器件,制作一種函數(shù)信號(hào)發(fā)生器,制作成本較低。適合學(xué)生學(xué)......

        函數(shù)信號(hào)發(fā)生器設(shè)計(jì)任務(wù)書

        目錄 一、設(shè)計(jì)的任務(wù)和要求............................................................................ 二、已知條件...................................................

        信號(hào)發(fā)生器設(shè)計(jì)(推薦)

        模擬課程設(shè)計(jì)題 信號(hào)發(fā)生器設(shè)計(jì) 設(shè)計(jì)一個(gè)能夠輸出正弦波、三角波和矩形波的信號(hào)源電路,電路形式自行選擇。輸出信號(hào)的頻率可通過開關(guān)進(jìn)行設(shè)定,具體要求如下: (1)輸出信號(hào)的頻率范......

        簡(jiǎn)易信號(hào)發(fā)生器設(shè)計(jì)

        《單片機(jī)原理及應(yīng)用》課程設(shè)計(jì)任務(wù)書 課程設(shè)計(jì)題目:簡(jiǎn)易信號(hào)發(fā)生器設(shè)計(jì) 一、設(shè)計(jì)目的和要求 (一)、設(shè)計(jì)目的 通過設(shè)計(jì)簡(jiǎn)易信號(hào)發(fā)生器,完成系統(tǒng)設(shè)計(jì)、編碼、調(diào)試及維護(hù)工作的實(shí)踐......

        函數(shù)信號(hào)發(fā)生器課程設(shè)計(jì)

        一 緒論 1.1 函數(shù)信號(hào)發(fā)生器的應(yīng)用意義 函數(shù)發(fā)生器一般是指能自動(dòng)產(chǎn)生正弦波、三角波、方波及鋸齒波、階梯波等電壓波形的電路或儀器。根據(jù)用途不同,有產(chǎn)生三種或多種波形的......

        低頻信號(hào)發(fā)生器2

        低頻信號(hào)發(fā)生器 目錄 產(chǎn)品簡(jiǎn)介:低頻信號(hào)發(fā)生器采用單片機(jī)波形合成發(fā)生器產(chǎn)生高精度,低失真的正弦波電壓,可用于校驗(yàn)頻率繼電器,同步繼電器等,也可作為低頻變頻電源使用。以單片機(jī)......

        DSP音頻信號(hào)發(fā)生器

        大學(xué)課程設(shè)計(jì)報(bào)告 音頻信號(hào)發(fā)生器 設(shè) 計(jì) 人: 專業(yè): 班級(jí): 學(xué)號(hào): 指導(dǎo)教師: 二零一四年 付路 電子信息工程 電子111501 201115020104 寧愛平目錄 一. 引言-------------第2頁(yè) 二.......