EDA技術(shù)課程設(shè)計(jì)彩燈控制器設(shè)計(jì)_第1頁
EDA技術(shù)課程設(shè)計(jì)彩燈控制器設(shè)計(jì)_第2頁
EDA技術(shù)課程設(shè)計(jì)彩燈控制器設(shè)計(jì)_第3頁
EDA技術(shù)課程設(shè)計(jì)彩燈控制器設(shè)計(jì)_第4頁
EDA技術(shù)課程設(shè)計(jì)彩燈控制器設(shè)計(jì)_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、eda技術(shù)課程設(shè)計(jì)課題:彩燈控制器的設(shè)計(jì)系 別: 專 業(yè): 姓 名: 學(xué) 號: 指導(dǎo)教師: 河南城建學(xué)院2011年6月24日成績評定一、指導(dǎo)教師評語(根據(jù)學(xué)生設(shè)計(jì)報(bào)告質(zhì)量、答辯情況及其平時(shí)表現(xiàn)綜合評定)。二、評分(按下表要求評定)評分項(xiàng)目設(shè)計(jì)報(bào)告評分答辯評分平時(shí)表現(xiàn)評分合 計(jì) (100分)任務(wù)完成情 況(20分)課程設(shè)計(jì)報(bào)告質(zhì)量(40分)表達(dá)情況(10分)回答問題情 況(10分)工作態(tài)度與紀(jì)律(10分)獨(dú)立工作能力(10分)得分課程設(shè)計(jì)成績評定班級 姓名 學(xué)號成績: 分(折合等級 )指導(dǎo)教師簽字 年 月 日 目 錄一、設(shè)計(jì)目的:3二、設(shè)計(jì)要求:3三、總體設(shè)計(jì)原理與內(nèi)容4四、eda程序設(shè)計(jì)及波形

2、仿真分析51、時(shí)序模塊52、顯示模塊8五、硬件實(shí)現(xiàn)10六、設(shè)計(jì)總結(jié)111、設(shè)計(jì)過程中遇到的問題及解決方法112、設(shè)計(jì)體會113、對設(shè)計(jì)的建議12七、參考文獻(xiàn)12附錄:設(shè)計(jì)生成的電路圖12一、設(shè)計(jì)目的:本程序以計(jì)算機(jī)為工作平臺,綜合運(yùn)用eda軟件工具開發(fā)環(huán)境、用硬件描述語言vhdl為設(shè)計(jì)語言,以asic來實(shí)現(xiàn)載體的設(shè)計(jì)。通過在eda中的編譯和處理、仿真下載、調(diào)試分析,接受一次電子設(shè)計(jì)藍(lán)領(lǐng)初步的設(shè)計(jì)訓(xùn)練,并使所學(xué)的知識和技能得到進(jìn)一步鞏固、深化和擴(kuò)展,以達(dá)到可以運(yùn)用eda工具設(shè)計(jì)一些簡單的電子產(chǎn)品,掌握使用eda工具設(shè)計(jì)數(shù)字系統(tǒng)的設(shè)計(jì)思想和設(shè)計(jì)方法,為繼續(xù)學(xué)習(xí)和認(rèn)識電子設(shè)計(jì)知識打下良好的基礎(chǔ)。培養(yǎng)

3、利用eda技術(shù)知識,解決電子設(shè)計(jì)自動化中常見實(shí)際問題的能力,積累實(shí)際的eda編程。通過本課程設(shè)計(jì)的學(xué)習(xí),復(fù)習(xí)所學(xué)的專業(yè)知識,使課堂學(xué)習(xí)的理論知識應(yīng)用于實(shí)踐。培養(yǎng)綜合運(yùn)用已學(xué)知識解決實(shí)際工程技術(shù)問題的能力、查閱圖書資料和各種工具書的能力、工程繪圖能力、撰寫技術(shù)報(bào)告和編制技術(shù)資料的能力,接受一次電子設(shè)計(jì)自動化方面的基本訓(xùn)練。二、設(shè)計(jì)要求:1、用eda技術(shù)設(shè)計(jì)一個(gè)彩燈控制器,使彩燈(led管)能連續(xù)發(fā)出三種以上不同的花型(自擬);2、隨著彩燈顯示圖案的變化,發(fā)出不同的音響聲。3、要求使用7段數(shù)碼管顯示當(dāng)前顯示的花型,如第一種花型顯示a1,第二種花型顯示b2,第三種花型顯示c3。三、總體設(shè)計(jì)原理與內(nèi)容

4、 彩燈控制器的設(shè)計(jì)原理分析:此設(shè)計(jì)的要求是連續(xù)發(fā)出三種以上的花型且顯示不同花型的時(shí)候發(fā)出不同的響聲??梢杂纱送茰y:如果要發(fā)出不同的響聲,必定需要由不同的輸出頻率來實(shí)現(xiàn),而顯示部分可以使用計(jì)數(shù)掃描的方法得以實(shí)現(xiàn),但是如果想聽到清晰的聲音,必然要加大輸入頻率,但輸入頻率的增加,必然導(dǎo)致顯示部分花型變換的頻率就會相應(yīng)的增加,以致花型變換過快,顯示不明顯。解決辦法:如果利用分頻器,實(shí)現(xiàn)頻率的改變,既可以發(fā)出不同的聲音,又可以滿足花型變換過快的問題。綜上,此設(shè)計(jì)的核心是分頻器的使用。具體設(shè)計(jì)方案的選定:分頻器部分的設(shè)計(jì)是利用計(jì)數(shù)器實(shí)現(xiàn)分頻,將控制器外接的頻率分為幾個(gè)我們預(yù)先設(shè)定的值。當(dāng)計(jì)數(shù)器達(dá)到預(yù)先設(shè)定

5、的值,即產(chǎn)生一個(gè)上升沿,從而實(shí)現(xiàn)分頻。顯示部分的設(shè)計(jì)是利用分頻器產(chǎn)生的低頻信號記數(shù),從而達(dá)到控制數(shù)碼管顯示時(shí),不同花色之間變換的頻率不至于太快。利用分頻器輸出的不同頻率信號,可以在花型變換的時(shí)候控制揚(yáng)聲器發(fā)出不同的聲音。 圖31 設(shè)計(jì)方案總框圖四、eda程序設(shè)計(jì)及波形仿真分析1、時(shí)序模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity xhkz isport(clk:in std_logic; clr:in std_logic;clk1_1:out std_logic;clk2_1:

6、out std_logic;clk3_1:out std_logic;clk4_1:out std_logic);end entity;architecture caideng of xhkz is signal clk1:std_logic; signal clk2:std_logic; signal clk3:std_logic; signal clk4:std_logic;beginprocess(clk,clr) variable a:std_logic_vector(6 downto 0); beginif clr=1 then 復(fù)位信號為高電平,將clk1置為低電平 clk1=0;

7、 elsif clkevent and clk=1then 如果遇到時(shí)鐘上升沿,進(jìn)行計(jì)數(shù) if a=1111100then 如果計(jì)滿“1111100”將a清零 a:=0000000; 且將clk1置為高電平 clk1=1; else 否則 計(jì)數(shù)繼續(xù) a:=a+1; clk1=0; end if; end if;end process; process(clk,clr) variable b:std_logic_vector(1 downto 0); beginif clr=1 then 復(fù)位信號 clk2=0; elseif clkevent and clk=1then 時(shí)鐘上升沿,計(jì)數(shù) if

8、 b=10then 計(jì)滿清零且將clk2置為高電平 b:=00; clk2=1; else 否則,繼續(xù)計(jì)數(shù) b:=b+1; clk2=0; end if;end if;end if;end process;process(clk,clr) variable c:std_logic_vector(1 downto 0); beginif clr=1 then clk3=0; elseif clkevent and clk=1then if c=01then c:=00; clk3=1; else c:=c+1; clk3=0; end if;end if;end if;end process;p

9、rocess(clk,clr) variable d:std_logic_vector(1 downto 0); beginif clr=1 then clk4=0; elseif clkevent and clk=1then if d=11then d:=00; clk4=0; else d:=d+1; clk4=1; end if;end if;end if;end process;clk1_1=clk1;clk2_1=clk2;clk3_1=clk3;clk4_1 start simulation選項(xiàng),即可觀察到波形仿真圖像。 圖41 時(shí)序電路波形仿真圖 通過觀察可以發(fā)現(xiàn),時(shí)鐘信號一直以

10、20ns的頻率輸入,在復(fù)位信號clr為高電平的時(shí)候,計(jì)數(shù)器中間變量a、b、c、d被置為零。當(dāng)復(fù)位信號clr不為高電平時(shí),變量a、b、c、d開始計(jì)數(shù),當(dāng)b計(jì)夠兩個(gè)時(shí)鐘周期的上升沿的時(shí)候,clk2_1被置為高電平,等待下一個(gè)時(shí)鐘上升沿來臨的時(shí)候,重新置為低電平,如此循環(huán)得到新的時(shí)鐘周期。clk1_1、clk3_1、clk4_1類似,在此重點(diǎn)解釋一下clk1_1,由于顯示模塊要使用低頻的時(shí)鐘信號,所以clk1_1的中間變量被設(shè)為記滿“1111100”才被置為高電平,用以降低頻率,延長顯示時(shí)間。2、顯示模塊library ieee;use ieee.std_logic_1164.all;use iee

11、e.std_logic_unsigned.all; entity xhkz isport(clk:in std_logic; clr:in std_logic; led7:out std_logic_vector(6 downto 0);end entity;architecture caideng of xhkz is signal n:std_logic_vector(9 downto 0); signal display:std_logic_vector(6 downto 0); beginprocess(clk,clr) isbegin if clr=1 then 復(fù)位信號為高電平,中

12、間量n清零 n=0000000000;elsif clkevent and clk = 1 then 否則如遇到時(shí)鐘上升沿,計(jì)數(shù)開始 if n=1111111111 then 計(jì)滿“1111111111” ,將中間量清零 n=0000000000; else n=0000000000 and n=0111010100 then display=0111010100 and n=1010101000 then display=1010101000 and n=1111111111thendisplay=0111001;end if;end if;end process;led7000000000

13、0 與n0111010100 與 n1010101000 與nassignments editor,在assignments editor窗口中選擇pin標(biāo)簽頁,然后可進(jìn)行分配引腳,之后進(jìn)行程序下載。圖51 軟硬結(jié)合實(shí)現(xiàn)步驟引腳的分配情況如圖所示: 圖52 引腳鎖定如上圖所示,硬件實(shí)現(xiàn)選用試驗(yàn)箱模式6方式下完成,在實(shí)驗(yàn)過程中clk的引腳選擇clock0即外接頻率源pin_y16,頻率選擇為65536hz。復(fù)位信號clr引腳用按鍵8進(jìn)行控制鎖定為pin_f14,其余數(shù)碼管的使能端引腳分配見上圖。選擇process-start compilation,重新編譯,完成后形成可配置到fpga的pan.

14、sof文件和配置到外部的pan.pof文件。編程下載,在quartus軟件中,選擇tools/programmer,在mode中選擇jtag,點(diǎn)擊”add file” 按鈕添加需要配置的xhkz.sof文件,點(diǎn)擊start按鈕對芯片進(jìn)行配置,即可觀察到實(shí)驗(yàn)結(jié)果。在實(shí)驗(yàn)箱上,我們觀察到實(shí)驗(yàn)結(jié)果按我們所設(shè)計(jì)的那樣顯示,即可顯示我們預(yù)先設(shè)定的三種花型a、b、c并且能夠按要求進(jìn)行固定頻率的變換顯示,并當(dāng)顯示不同的花型時(shí)揚(yáng)聲器發(fā)出了不同的聲音。當(dāng)按下復(fù)位鍵時(shí)我們可以看到數(shù)碼顯示管顯示暫停,且揚(yáng)聲器不再發(fā)出響聲。這些實(shí)驗(yàn)結(jié)果驗(yàn)證所設(shè)計(jì)程序的正確性,實(shí)現(xiàn)了設(shè)計(jì)內(nèi)容和要求,并且有了一定的 擴(kuò)展功能。 當(dāng)程序下

15、載完成后,調(diào)節(jié)工作方式為模式6,按下清零按鍵以后,電路按照預(yù)先設(shè)定好的程序開始工作。圖53 硬件電路實(shí)現(xiàn)1圖54 硬件電路實(shí)現(xiàn)2圖55 硬件電路實(shí)現(xiàn)3六、設(shè)計(jì)總結(jié)6.1、設(shè)計(jì)過程中遇到的問題及解決方法 此次設(shè)計(jì)的過程中遇到了較多的問題,第一,對eda編程語言的熟練程度不夠,經(jīng)常出現(xiàn)語法和句式的錯(cuò)誤。第二,就是編程的思路不是特別的清晰,導(dǎo)致中途變動程序發(fā)生了好多次。第三,軟硬結(jié)合是一個(gè)較大的問題,需要充分考慮到硬件電路的時(shí)延等問題。舉例設(shè)計(jì)過程中具體遇到的問題:由于在顯示花型的時(shí)候,揚(yáng)聲器要同時(shí)發(fā)出聲音,我在第一次設(shè)計(jì)的時(shí)候,采用了狀態(tài)機(jī)的設(shè)計(jì)方法,但狀態(tài)機(jī)在每一個(gè)狀態(tài)完成后,執(zhí)行的動作只會存在

16、一個(gè)周期的時(shí)間,而我卻把揚(yáng)聲器發(fā)出響聲放置在此,顯然在65536hz的時(shí)鐘頻率下,一個(gè)上升沿的時(shí)間任何聲音也聽不到。當(dāng)意識到這個(gè)問題后,我采用降低時(shí)鐘頻率的辦法,延長顯示的時(shí)間,另一方面采用計(jì)數(shù)的辦法,實(shí)現(xiàn)揚(yáng)聲器發(fā)出聲音的間隔,解決了揚(yáng)聲器不響的問題。6.2、設(shè)計(jì)體會通過本次課程設(shè)計(jì),我對這么課程有了初步的了解。通過與同學(xué)探討,終于把問題都解決了,并加深了對交通燈原理和設(shè)計(jì)思路的了解。同時(shí)也掌握了做課程設(shè)計(jì)的一般流程,為以后的設(shè)計(jì)積累了一定的經(jīng)驗(yàn)。做課程設(shè)計(jì)時(shí),先查閱相關(guān)知識,把原理吃透,確定一個(gè)大的設(shè)計(jì)方向,在按照這個(gè)方向分模塊的把要實(shí)現(xiàn)的功能用流程圖的形式展示。不過本次設(shè)計(jì)也存在一些不足,

17、暴露了自己對的掌握還有所欠缺。在設(shè)計(jì)過程中,分頻分的太大,頻率太小的話,揚(yáng)聲器的聲音體現(xiàn)不出顯示不同花型時(shí)的區(qū)別;頻率太大的話,數(shù)碼管顯示速度太快,嘗試分頻時(shí)使用不同的脈沖信號,但沒有成功。在反復(fù)調(diào)試中,最后還是成功了,但原理還不是很清楚。同時(shí),在課程設(shè)計(jì)過程中通過與老師、同學(xué)的交流,也了解了他們對于這門技術(shù)的看法和今后這門技術(shù)的發(fā)展方向??偟膩碚f,這次設(shè)計(jì)還是有所收獲的。6.3、對設(shè)計(jì)的建議 我們的設(shè)計(jì)由于受器件的限制,不能在花型的變換上做工作,使之顯出絢麗的圖案。對高級語法的使用還有欠缺,不能完全體現(xiàn)eda設(shè)計(jì)的優(yōu)越性。七、參考文獻(xiàn)【1】 李國麗、朱維勇、何劍春. eda與數(shù)字系統(tǒng)設(shè)計(jì).

18、2版. 機(jī)械工業(yè)出版社2009年【2】volnei a.pedroni 著喬廬峰 王志功 等譯. vhdl數(shù)字電路設(shè)計(jì)教程2010年【3】 劉洪喜,陸穎編著. vhdl電路設(shè)計(jì)實(shí)用教程 清華大學(xué)出版社附錄1:總程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all; entity xhkz isport(clk:in std_logic; clr:in std_logic; speak:out std_logic; led7:out std_logic_vector(6 downto 0);end e

19、ntity;architecture caideng of xhkz is signal clk1:std_logic; signal clk2:std_logic; signal clk3:std_logic; signal clk4:std_logic; signal n:std_logic_vector(9 downto 0); signal display:std_logic_vector(6 downto 0);beginprocess(clk,clr) variable a:std_logic_vector(6 downto 0); beginif clr=1 then clk1=

20、0; elsif clkevent and clk=1then if a=1111100then a:=0000000; clk1=1; else a:=a+1; clk1=0; end if; end if;end process; process(clk,clr) variable b:std_logic_vector(1 downto 0); beginif clr=1 then clk2=0; elseif clkevent and clk=1then if b=10then b:=00; clk2=1; else b:=b+1; clk2=0; end if;end if;end if;end process;process(clk,clr) variable c:std_logic_vector(1 downto 0); beginif clr=1 then clk3=0; elseif clkev

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論