




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)字式移相信號(hào)發(fā)生器數(shù)字式移相信號(hào)發(fā)生器 課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告 系系 別:別: 專業(yè)班級(jí):專業(yè)班級(jí): 學(xué)生姓名:學(xué)生姓名: 學(xué)生學(xué)號(hào):學(xué)生學(xué)號(hào): 指導(dǎo)教師:指導(dǎo)教師: (課程設(shè)計(jì)時(shí)間:2011 年 1 月 4 日2011 年 1 月 22 日) 前 言 eda 技術(shù)是一門涉及多學(xué)科的綜合性技術(shù),是以大規(guī)模邏輯器件為設(shè)計(jì)載 體,以硬件描述語言為系統(tǒng)邏輯表達(dá)的主要方式,以計(jì)算機(jī)、大規(guī)??删幊踢?輯器件的開發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè)計(jì)工具通過有關(guān)的開發(fā)軟件,自動(dòng)完成 用軟件方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、 布局布線及仿真,直至對(duì)特定目標(biāo)芯片的適配編譯、邏輯映射、編程
2、下載等工 作,最終形成集成電子系統(tǒng)或?qū)I(yè)集成芯片的一門新技術(shù)。 本次課程設(shè)計(jì)中我們基于 eda 技術(shù),運(yùn)用 vhdl 編制程序,完成數(shù)字式移相 頻率計(jì)的程序編輯,最終下載到 acex1k 系列 epf1k50lc208-3 芯片上,加以簡(jiǎn) 單的外圍電路,構(gòu)成數(shù)字移相信號(hào)發(fā)生器。該裝置能測(cè)出頻率在 20hz-2000khz 之間的正弦波信號(hào)頻率,并給出指定相位差的兩路同頻信號(hào)。 目目 錄錄 1.課程設(shè)計(jì)目的 1 2.題目描述及要求2 3.課程設(shè)計(jì)報(bào)告內(nèi)容 2 3.1 系統(tǒng)框圖 2 3.2 系統(tǒng)各組成部分介紹3 3.2.1 數(shù)字移相及信號(hào)產(chǎn)生模塊3 3.2.2 數(shù)字頻率計(jì)模塊7 3.2.3 顯示模
3、塊13 3.3 系統(tǒng)完整介紹15 3.4 引腳分配16 4.總結(jié)17 參考文獻(xiàn)19 1 1 課程設(shè)計(jì)目的課程設(shè)計(jì)目的 (1)進(jìn)一步加深對(duì) eda 技術(shù)的基本知識(shí)的理解,提高 vhdl 編程仿真程序的 運(yùn)用能力。 (2)培養(yǎng)根據(jù)課題需要查找參考書籍和文獻(xiàn)資料,并學(xué)習(xí)運(yùn)用的的能力, 從而更好的培養(yǎng)了自學(xué)能力和獨(dú)立思考問題和解決問題的能力。 (3)培養(yǎng)硬件設(shè)計(jì)、軟件設(shè)計(jì)及系統(tǒng)軟、硬件調(diào)試的基本思路、方法和技 巧,并能熟練使用當(dāng)前較流行的一些有關(guān)電路設(shè)計(jì)與分析方面的軟件和硬件。 (4)培養(yǎng)嚴(yán)肅認(rèn)真的工作作風(fēng)和科學(xué)態(tài)度,逐步建立正確的生產(chǎn)觀念、工 程觀念和全局觀點(diǎn)。 2 2 題目描述及要求題目描述及要求
4、 設(shè)計(jì)題目:數(shù)字式移相信號(hào)發(fā)生器 設(shè)計(jì)要求:(1)被測(cè)正弦信號(hào)頻率范圍:20hz2000khz; (2)正弦信號(hào)頻率皆采用 bcd 碼計(jì)數(shù)方式;具有正弦信號(hào)頻率 測(cè)量及數(shù)字顯示功能; (3)能夠輸出給定相位差的兩路同頻,相位測(cè)量絕對(duì)誤差 2。 3.3. 課程設(shè)計(jì)報(bào)告內(nèi)容課程設(shè)計(jì)報(bào)告內(nèi)容 3.1 系統(tǒng)框圖 系統(tǒng)整體框圖如下圖 3-1 所示: 正弦信號(hào) q1 正弦信號(hào) q2 時(shí)鐘輸入信號(hào) 移相信號(hào) 同頻方波 . 1hz 時(shí)鐘信號(hào) 圖 3-1 數(shù)字式移相頻率計(jì)的系統(tǒng)框圖 數(shù)字式移相頻率計(jì)的系統(tǒng)框圖如圖 3-1 所示,通過一給定頻率的時(shí)鐘輸入 信號(hào),使數(shù)字移相模塊(fpga)產(chǎn)生正弦信號(hào) q1,同時(shí)產(chǎn)
5、生與 q1 同頻的方波 信號(hào)送給數(shù)字頻率計(jì)模塊,測(cè)出方波頻率再通過顯示模塊譯碼后,逐一送 8 個(gè) led 顯示。同時(shí)通過鍵盤輸入二進(jìn)制的移相信號(hào)給數(shù)字移相模塊,來輸出與正 數(shù) 字 移 相 模 塊 數(shù) 字 頻 率 計(jì) 模 塊 顯 示 模 塊 弦信號(hào) q1 有指定相位差的同頻正弦信號(hào) q2。 3.2 系統(tǒng)各組成部分介紹 3.2.1 數(shù)字移相及信號(hào)產(chǎn)生模塊 該模塊的作用是產(chǎn)生兩路指定相位差的同頻信號(hào),同時(shí)輸出與之頻率相同 的正弦信號(hào)。先對(duì)正弦信號(hào)進(jìn)行一周期 64 點(diǎn)的采樣,再把采樣正弦波幅值送到 兩個(gè) frpg 的 rom 中。通過時(shí)鐘輸入信號(hào)是指針信號(hào)在“000000”到 “111111”進(jìn)行加
6、1 循環(huán)計(jì)數(shù),從而對(duì)一個(gè) rom 的值逐一讀取。另一個(gè) rom 中指針的值,則是在這個(gè)指針信號(hào)值的基礎(chǔ)上加相位偏移量 din。這樣就達(dá)到 了輸出兩路相位差的同頻信號(hào)。 因?yàn)閷?duì)正弦信號(hào)進(jìn)行 64 點(diǎn)采樣,則每相鄰兩點(diǎn)之間相位差為 360/64=5.625,所有本移相信號(hào)發(fā)生器的最小精度為 5.625。 (1)數(shù)字移相及信號(hào)產(chǎn)生模塊程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity yx2 is port(clk:in
7、std_logic; din:in std_logic_vector(5 downto 0); dout,yxdout: out std_logic_vector(7 downto 0); fsout:out std_logic); end entity yx2; architecture art of yx2 is signal q1,q2: std_logic_vector(5 downto 0); signal q3,a1,a2: std_logic_vector(6 downto 0); begin a2=0 process(clk) is begin if clkevent and
8、clk=1then if q1111111 then q1=q1+1; else q1=000000;end if; end if; end process; process(q1) is begin a1=0q3=a1+a2; q2=q3(5 downto 0); if q1100000 then fsout=1; else fsoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdo
9、utdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutdoutnull; end case; end process; process(q2) is begin case q2 is when 000000=yxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdou
10、tyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutyxdoutnull; end case; e
11、nd process; end architecture art; (2)波形仿真 控制模塊運(yùn)行波形仿真圖如圖 3-2 所示,移相信號(hào) din 為 2,則圖中輸出 倆正弦波 dout 與 yxdout 的相位差正好是 2,而輸出方波信號(hào) fsout 正好在 dout 為 0 時(shí)發(fā)生翻轉(zhuǎn),從而使 fsout 與 dout 同頻。 圖 3-2 數(shù)字移相及信號(hào)產(chǎn)生模塊運(yùn)行波形仿真圖 3.2.2 數(shù)字頻率計(jì)模塊 8 位數(shù)字頻率計(jì)的原理框圖如下圖 3-3 所示: 輸入方波信號(hào) tsten 待顯示頻率信號(hào) 1hz 信號(hào) clr_cnt load 圖 3-3 8 位數(shù)字頻率計(jì)的原理框圖 該數(shù)字頻率計(jì)通過 1
12、hz 標(biāo)準(zhǔn)信號(hào),使控制模塊控制計(jì)數(shù)器在 1s 內(nèi)對(duì)輸入方 波進(jìn)行計(jì)數(shù),從而測(cè)出其頻率,送到鎖存模塊鎖存。 (1)系統(tǒng)個(gè)組成部分 控制模塊 控制模塊是產(chǎn)生測(cè)量所需的各種控制,如圖 3-4 所示,clk 為 1hz 的標(biāo)準(zhǔn) 時(shí)鐘信號(hào);tsten 為使能信號(hào),當(dāng) clk 上升沿時(shí),發(fā)生翻轉(zhuǎn),若為高電平,計(jì) 數(shù)器開始計(jì)數(shù);load 為鎖存信號(hào),其值是 tsten 的反向信號(hào),真好當(dāng) tsten 變 為 0,一次計(jì)數(shù)完成時(shí),它就變?yōu)楦唠娖?,把?jì)數(shù)器的值鎖存;clr_cnt 為置位 信號(hào),當(dāng) clkt、sten 都為低電平時(shí),對(duì)計(jì)數(shù)器進(jìn)行置位清零,好 1 進(jìn)行下一輪 計(jì)數(shù)。 通過圖 2-4 可看出,在時(shí)鐘
13、信號(hào)的兩個(gè)周期內(nèi),完成一個(gè)計(jì)數(shù)周期(2s) , 一次計(jì)數(shù)的時(shí)間為 1s。在一個(gè)計(jì)數(shù)周期內(nèi),對(duì)待測(cè)信號(hào)的上升沿進(jìn)行計(jì)數(shù),正 好是待測(cè)信號(hào)的頻率。 控 制 模 塊 計(jì) 數(shù) 模 塊 鎖 存 模 塊 clk tsten load clr_cnt 圖 3-4 控制信號(hào)時(shí)序關(guān)系 控制模塊程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity testctl is port(clk: in std_logic; tsten: out std_logic; clr_cnt: out std_l
14、ogic; load :out std_logic); end entity testctl; architecture art of testctl is signal div2clk:std_logic; begin process(clk) is begin if clkevent and clk=1 then div2clk= not div2clk; end if; end process; process(clk,div2clk) is begin if clk=0 and div2clk=0 then clr_cnt=1; else clr_cnt=0; end if; end
15、process; load= not div2clk; tsten= div2clk; end architecture art; 波形仿真圖如下圖 3-5 所示: 3-5 控制模塊運(yùn)行波形仿真圖 控制模塊通過仿真顯示的波形圖正好與圖 2-4 的控制信號(hào)時(shí)序關(guān)系圖吻合, 符合要求。 計(jì)數(shù)模塊 計(jì)數(shù)器模塊是由 8 個(gè)帶有異步清零端,進(jìn)位信號(hào)輸出的 10 進(jìn)制計(jì)數(shù)模塊級(jí) 連而成,計(jì)數(shù)器以待測(cè)信號(hào) fsin 作為時(shí)鐘,在清零信號(hào) clr 到來時(shí),異步清零; clk 為高電平時(shí)開始計(jì)數(shù)。該計(jì)數(shù)器計(jì)數(shù)范圍為 0 到 99999999。 計(jì)數(shù)模塊程序: library ieee; use ieee.std
16、_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt10 is port(clk:in std_logic; clr: in std_logic; ena: in std_logic; cq: out std_logic_vector(3 downto 0); carry_out: out std_logic); end entity cnt10; architecture art of cnt10 is signal cqi: std_logic_vector(3 downto 0); begin process(clk,c
17、lr,ena) is begin if clr=1 then cqi=0000; elsif clkevent and clk=1then if ena=1 then if cqi1001 then cqi=cqi+0001;carry_out=0; else cqi=0000; carry_out=1; end if; end if; end if; end process; cq=cqi; end architecture art; 波形仿真如下圖 3-6 所示: 圖 3-6 十進(jìn)制計(jì)數(shù)運(yùn)行波形仿真圖 單個(gè)十進(jìn)制計(jì)數(shù)器仿真波形如圖 5-6 所示,當(dāng)使能信號(hào)為高電平是開始計(jì) 數(shù),計(jì)數(shù)到 9,
18、在下一個(gè)時(shí)鐘上升沿來臨時(shí),計(jì)數(shù)值變?yōu)?0,同時(shí)進(jìn)位信號(hào) carry_out 產(chǎn)生一個(gè)上升沿,使高位計(jì)數(shù)器計(jì)數(shù)一次。 鎖存模塊 設(shè)置鎖存器的作用在于,使顯示的數(shù)據(jù)穩(wěn)定,不會(huì)由于周期性的清零信號(hào) 而不斷閃爍。若已有 32 位 bcd 碼存在于此模塊的輸入口,在信號(hào) load 的上升 沿后即被鎖存到寄存器 reg32b 的內(nèi)部,并由 reg32b 的輸出端輸出,然后由實(shí) 驗(yàn)板上的 7 段譯碼器譯成能在數(shù)碼管上顯示輸出的相對(duì)應(yīng)的數(shù)值。 鎖存模塊程序: library ieee; use ieee.std_logic_1164.all; entity reg32b is port(load: in st
19、d_logic; din: in std_logic_vector(31 downto 0); dout: out std_logic_vector(31 downto 0 ); end entity reg32b; architecture art of reg32b is begin process(load,din) is begin if load event and load=1 then doutclk,tsten=se,clr_cnt=sc,load=sl); u1:cnt10 port map(clk=fsin,clr=sc,ena=se, cq=sd(3 downto 0),
20、carry_out=s1); u2:cnt10 port map(clk=s1,clr=sc,ena=se, cq=sd(7 downto 4),carry_out=s2); u3:cnt10 port map(s2,sc,se,sd(11 downto 8),s3); u4:cnt10 port map(s3,sc,se,sd(15 downto 12),s4); u5:cnt10 port map(s4,sc,se,sd(19 downto 16),s5); u6:cnt10 port map(s5,sc,se,sd(23 downto 20),s6); u7:cnt10 port map
21、(s6,sc,se,sd(27 downto 24),s7); u8:cnt10 port map(s7,sc,se,sd(31 downto 28),s8); u9:reg32b port map(load=sl,din=sd(31 downto 0),dout=dout ); end architecture art; 波形仿真 數(shù)字頻率計(jì)仿真波形如圖 3-8 所示: 圖 3-8 數(shù)字頻率計(jì)波形仿真圖 待測(cè)信號(hào) fsin 周期為 20ms,即 50hz,通過仿真波形可看出,數(shù)字頻率計(jì) 測(cè)出其頻率也 50hz。 數(shù)字頻率計(jì)原理圖 數(shù)字頻率計(jì)的原理圖如圖 3-9 所示,她是數(shù)字頻率計(jì)頂層程序的
22、另一種表 示。 圖 3-9 數(shù)字頻率計(jì)原理圖 3.2.3 顯示模塊 本文采用 8 個(gè)共陰極數(shù)碼管來顯示待測(cè)頻率的數(shù)值,其顯示范圍從 0 99999999。 (1)顯示模塊程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity display is port(in32:in std_logic_vector(31 downto 0); lout7:out std_logic_vector(6 downto 0); sel:out std_logic_vector(2 downto
23、0); clk:in std_logic); end display; architecture art of display is signal q:std_logic_vector(2 downto 0); signal lout4:std_logic_vector(3 downto 0); begin process (clk) begin if (clkevent and clk=1)then if (q=111) then q=000; else q=q+1; end if; end if; sellout4lout4lout4lout4lout4lout4lout4lout4lou
24、t4lout7lout7lout7lout7lout7lout7lout7lout7lout7lout7lout7lout7=0000000; end case; end process; end architecture art; (2)波形仿真 顯示模塊仿真波形如圖 3-10 所示: 圖 3-10 顯示模塊運(yùn)行波形仿真圖 輸入頻率為 8 位 bcd 碼,lout7 為晶體管段選信號(hào)。信號(hào) sel 則選擇將 lout7 送入哪一個(gè)晶體管,從而實(shí)現(xiàn)將輸入的 8 為 bcd 頻率信號(hào)逐一送入對(duì)于的晶體 管 顯示。 3.3 系統(tǒng)完整介紹 (1)系統(tǒng)原理圖 系統(tǒng)的原圖見圖 3-11,這里通過原理圖的
25、方式將各個(gè)模塊連接起來,讓其 組成數(shù)字式移相信號(hào)發(fā)生器的總程序。 (2)仿真波形 系統(tǒng)總的仿真波形見圖 3-12,給時(shí)鐘信號(hào) input 的周期為 2ms,由此產(chǎn)生 兩路同頻正弦信號(hào) q1,、q2,其頻率為 500/648hz,在 sel 進(jìn)行逐次加 1 選擇 晶體管時(shí),lout7 依次輸出 7f、3f、3f、3f、3f、3f、3f、3f,晶體管將顯示 00000008。又由于鍵盤輸入相位差為“04”則 q1、q2 的相位差為 45.62522.5。 圖 3-11 數(shù)字式移相頻率計(jì)原理圖 圖 3-12 數(shù)字式移相頻率計(jì)運(yùn)行波形仿真圖 3.4 引腳分配 引腳分配如表 3-1 所示,input 接
26、任意頻率,來決定產(chǎn)生正弦波的頻率; clk1 接 1hz 方波時(shí)鐘信號(hào);clk 接 7812hz 輸入頻率,作為顯示模塊的時(shí)鐘輸 入;jp5.0分別接 k5 到 k0 六個(gè)撥碼開關(guān);lout76.0接到 8 個(gè) led 的七段顯 示;sel2.0接 138 譯碼器,通過譯碼對(duì) 8 個(gè) led 進(jìn)行片選輸出;q17.0和 q27.0接兩個(gè) d/a 轉(zhuǎn)換的輸入端,使這兩路正弦信號(hào)由數(shù)字量轉(zhuǎn)變?yōu)槟M量, 從而能在示波器上顯示兩路正弦信號(hào)。 表 3-1 系統(tǒng)引腳分配 信號(hào)名稱信號(hào)名稱fpga i/o 名稱名稱信號(hào)名稱信號(hào)名稱fpga i/o 名稱名稱 inputpin_118lout76pin_17
27、jp0pin_111q10pin_38 jp1pin_112q11pin_39 jp2pin_113q12pin_40 jp3pin_114q13pin_41 jp4pin_115q14pin_44 jp5pin_116q15pin_45 clkpin_119q16pin_46 clk1pin_125q17pin_47 sel0pin_101q20pin_26 sel1pin_102q21pin_27 sel2pin_107q22pin_28 lout70pin_114q23pin_29 lout71pin_8q24pin_30 lout72pin_9q25pin_31 lout73pin_10q26pin_36 lout74pin_12q27pin_37 lout75pin_13 4.4. 總結(jié)總結(jié) 經(jīng)過這次數(shù)字式移相頻率計(jì)的課程設(shè)計(jì),首先讓我對(duì) max+plus ii 這一軟 件的使用從熟悉到能熟練使用,對(duì)運(yùn)用 eda 技術(shù)解決一些實(shí)際問題有了更進(jìn)一 步的了解。同時(shí)在掌握 vhdl語言的基礎(chǔ)上,培養(yǎng)了我對(duì)資料的查閱、理解 的能力,獨(dú)立思考問題、解決問題的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 供貨茶葉合同范本
- 包裝食品配送合同范例
- 合作擔(dān)保合同范例
- 合租合同范本
- 化肥合作協(xié)議合同范本
- 廠房使用合同范例
- 人工勞務(wù)合同范本封皮
- 個(gè)人汽車采購(gòu)合同范本
- 企業(yè)業(yè)務(wù)合同范本
- 合同范本征求意見
- 【講座培訓(xùn)】《中小學(xué)教育懲戒規(guī)則(試行)》解讀課件
- 中科大《無機(jī)化學(xué)》課件1氣體、液體和溶液的性質(zhì)
- 復(fù)婚合同協(xié)議書模板
- U8-EAI二次開發(fā)說明
- 2006 年全國(guó)高校俄語專業(yè)四級(jí)水平測(cè)試試卷
- 浙江省勞動(dòng)保障監(jiān)察員培訓(xùn)監(jiān)察執(zhí)法程序(林琳)
- 新人教版數(shù)學(xué)四年級(jí)下冊(cè)全冊(cè)表格式教案
- 閩教版(2020版)六年級(jí)下冊(cè)信息技術(shù)整冊(cè)教案
- 二手房買賣合同正式版空白
- 食品銷售經(jīng)營(yíng)者食品安全管理制度(零售)
- 通信電源-概述ppt課件
評(píng)論
0/150
提交評(píng)論