加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

EDA程序設(shè)計(jì)-多功能信號(hào)發(fā)生器的設(shè)計(jì)

08/28 14:46
1465
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

題目:多功能信號(hào)發(fā)生器的設(shè)計(jì)

1? 系統(tǒng)設(shè)計(jì)

1.1 設(shè)計(jì)要求

1.1.1 設(shè)計(jì)任務(wù)

設(shè)計(jì)并實(shí)現(xiàn)一個(gè)基于FPGA的多功能信號(hào)發(fā)生器。

1.1.2 性能指標(biāo)要求

1.能夠產(chǎn)生兩種以上輸出波形(正弦波、三角波、鋸齒波等)。

2.輸出的波形的頻率允許有多種選擇。

3.輸出波形的幅度在 1V~5V 范圍內(nèi)。

4.輸出的波形能夠用示波器測(cè)量。

1.2 設(shè)計(jì)思路及設(shè)計(jì)框圖

1.2.1設(shè)計(jì)思路

多功能信號(hào)發(fā)生器的原理框圖如圖所示。其中,CLKGEN是分頻器,提供的50MHz的主頻率進(jìn)行分頻,以得到滿足多功能信號(hào)發(fā)生器設(shè)計(jì)需要的時(shí)鐘頻率。

之后是三選一 數(shù)據(jù)選擇器,分別為8hz,13hz,18hz。

Lpm_counter256是參數(shù)可設(shè)置的計(jì)數(shù)器,用于產(chǎn)生lpm_rom256的8位地址,并從q[7..0]端輸出。

lpm_rom只讀存儲(chǔ)器,用于存放多功能信號(hào)發(fā)生器的波形數(shù)據(jù)信號(hào)。

設(shè)計(jì)了三個(gè)波形為的正弦波,方波,三角波。結(jié)果由輸出端q[7..0]輸出到四選一選擇器,由sel[1..0]選擇控制。

1.2.2總體設(shè)計(jì)框圖

2? 各個(gè)模塊程序的設(shè)計(jì)

數(shù)據(jù)選擇器,分頻器程序見(jiàn)下表
計(jì)數(shù)器模塊:計(jì)數(shù)器的元件生成時(shí),首先在執(zhí)行File然后New,打開(kāi)一個(gè)分頻器計(jì)數(shù)器鋸齒波正弦波三角波方波輸出波形選擇器新的模塊或者原理圖文件編輯窗口,雙擊窗口并選擇libraries欄中的選著ari?themtic的lpm?couter(計(jì)數(shù)器)?lpm元件,之后點(diǎn)擊ok并在彈出窗口中完成對(duì)參數(shù)的設(shè)置之后就可得到一個(gè)計(jì)數(shù)器元件。波形?ROM模塊:為了將數(shù)據(jù)裝入ROM中,在加入并設(shè)置ROM之前,應(yīng)首先新建一個(gè)Memory?initial?izationfile文件,并設(shè)置波形最后保存后綴為,mif,生成的存儲(chǔ)器初值設(shè)定文件保存在工程的目錄中,完成存儲(chǔ)器初始值設(shè)定后,就可以加入波形只讀存儲(chǔ)器ROM,在library中選著storage中的lpm?rom即只讀存儲(chǔ)器ROM的lpm元件,輸出位為8位,字?jǐn)?shù)是256,采用但時(shí)鐘控制方式。由于我的設(shè)計(jì)出的波形有四種,所以我要加的ROM有四個(gè)元件,他們分別輸出鋸齒波,方波,正弦波還有三角波,生成四個(gè)元件后,波形ROM模塊就完成了。

3? 調(diào)試過(guò)程

QuartusII中打開(kāi)工程,連接好試驗(yàn)箱和示波器,編譯成功后將程序燒錄到硬件中,并將硬件中的輸出波形端與波形發(fā)生器相連,最后在硬件中撥動(dòng)相應(yīng)的開(kāi)關(guān),觀察波形發(fā)生器的波形,對(duì)波形進(jìn)行來(lái)回測(cè)試,即可得出結(jié)果。

4? 功能測(cè)試

4.1 測(cè)試儀器與設(shè)備

筆記本,EDA試驗(yàn)箱。

4.2 性能指標(biāo)測(cè)試

能產(chǎn)生四種波形且頻率可調(diào)。

4.3 誤差分析

無(wú)

附錄

附錄1:仿真波形圖(部分模塊)

部分程序清單:

分頻器:

module div5hz #(

parameter WIDTH=27,

parameter N=50_000_000, //開(kāi)發(fā)板上的時(shí)鐘MHz

parameter M=5_000_000???? ??????//待分頻的頻率

)

(clkin,clkout,rst_n);??? //0.1S->10Hz

input clkin,rst_n;

output reg clkout;

reg[WIDTH-1:0] cnt;

always @(posedge clkin,negedge rst_n) //50_000_000MHz

begin???????????????????????????????? //1s->1Hz 50_000_000/1=50_000_000/2=25_000_000

if(!rst_n)? cnt=0;

else if(cnt<N/(2*M)-1)? cnt=cnt+1;

else??????? cnt=0;

end

always @(posedge clkin,negedge rst_n)

begin

if(!rst_n)? clkout=0;

else if(cnt==N/(2*M)-1)? clkout=~clkout;

else clkout=clkout;

end

endmodule

數(shù)據(jù)選擇器:

`timescale 1 ps / 1 ps

// synopsys translate_on

module mux_04 (

data0x,

data1x,

data2x,

data3x,

sel,

result);

input?????? [7:0]? data0x;

input?????? [7:0]? data1x;

input?????? [7:0]? data2x;

input?????? [7:0]? data3x;

input?????? [1:0]? sel;

output???? [7:0]? result;

wire [7:0] sub_wire5;

wire [7:0] sub_wire4 = data3x[7:0];

wire [7:0] sub_wire3 = data2x[7:0];

wire [7:0] sub_wire2 = data1x[7:0];

wire [7:0] sub_wire0 = data0x[7:0];

wire [31:0] sub_wire1 = {sub_wire4, sub_wire3, sub_wire2, sub_wire0};

wire [7:0] result = sub_wire5[7:0];

  • 有需要資料的可了解一下.docx

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
XRCGB25M000F3A00R0 1 Murata Manufacturing Co Ltd Parallel - Fundamental Quartz Crystal, 25MHz Nom, ROHS AND REACH COMPLIANT, SMALL, SMD, 3 PIN

ECAD模型

下載ECAD模型
$0.34 查看
M25P05-AVMN6P 1 Rochester Electronics LLC 64KX8 FLASH 2.7V PROM, PDSO8, 0.150 INCH, ROHS COMPLIANT, PLASTIC, SOP-8
$0.79 查看
S29GL256P10FFI020 1 AMD Flash, 16MX16, 100ns, PBGA64,
$9.29 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜