彩燈變換控制器設(shè)計-eda技術(shù)及應(yīng)用a課程設(shè)計說明書_第1頁
已閱讀1頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  學(xué) 號 </p><p>  EDA技術(shù)及應(yīng)用A </p><p><b>  課程設(shè)計說明書</b></p><p>  起止日期: 2015 年 12 月 28 日 至 2015 年 12 月 31 日</p><p>  計算機(jī)與信息工程學(xué)院電子信息工程系</p>

2、<p>  2015年12月31日</p><p><b>  課程設(shè)計任務(wù)書</b></p><p>  2015—2016學(xué)年第1學(xué)期</p><p>  計算機(jī)與信息工程 學(xué)院 電子信息工程 系 13電信科 專業(yè) 1 班</p><p>  課程設(shè)計名稱: EDA技術(shù)及應(yīng)用A

3、 </p><p>  設(shè)計題目: 彩燈變換控制器設(shè)計 </p><p>  完成期限: 自 2015 年 12 月 28 日至 2015 年 12 月 31 日共 1 周</p><p><b>  一

4、.課程設(shè)計依據(jù)</b></p><p>  在掌握常用數(shù)字電路原理和技術(shù)的基礎(chǔ)上,根據(jù)EDA技術(shù)及應(yīng)用課程所學(xué)知識,利用硬件描述語言(VHDL或VerilogHDL),EDA軟件(QuartusⅡ)和硬件開發(fā)平臺(達(dá)盛試驗箱CycloneⅡFPGA)進(jìn)行初步數(shù)字系統(tǒng)設(shè)計。</p><p><b>  二.課程設(shè)計內(nèi)容</b></p><

5、p>  設(shè)計彩燈控制器,實現(xiàn)16個三色LED花樣顯示,具有4種顯示模式:s0,從左到右逐個點亮LED;s1,從右到左逐個點亮LED;s2,從兩邊到中間逐個點亮;s3,從中見到兩邊逐個點亮。每個模式有4檔速度,快、稍快、中速、慢速;設(shè)計時序邏輯實現(xiàn)模式的自動循環(huán)切換,速度切換,顏色手動切換。(提示:可把各種圖形存儲在片內(nèi)ROM中,通過數(shù)據(jù)讀取實現(xiàn))。</p><p>  擴(kuò)展設(shè)計:LED通過串行移位寄存器進(jìn)行

6、連接(串行驅(qū)動采用HC595或MBI5026驅(qū)動)。</p><p><b>  三.課程設(shè)計要求</b></p><p>  1.要求獨立完成設(shè)計任務(wù)。</p><p>  2.課程設(shè)計說明書封面格式要求見《天津城建大學(xué)課程設(shè)計教學(xué)工作規(guī)范》附表1</p><p>  3.課程設(shè)計的說明書要求簡潔、通順,計算正確

7、,圖紙表達(dá)內(nèi)容完整、清楚、規(guī)范。</p><p>  4.測試要求:采用modelsim或Quartus進(jìn)行時序仿真,并在實驗箱上驗證設(shè)計結(jié)果。</p><p>  5.課設(shè)說明書要求:</p><p>  1) 說明題目的設(shè)計原理和思路、采用方法及設(shè)計流程。</p><p>  2) 對各子模塊的功能以及各子模塊之間的關(guān)系作明確的描述。

8、</p><p>  3) 對實驗和調(diào)試過程,仿真結(jié)果和時序圖進(jìn)行說明和分析。</p><p>  4) 包含系統(tǒng)框圖、電路原理圖、HDL設(shè)計程序、仿真測試圖。</p><p>  指導(dǎo)教師(簽字): </p><p>  教研室主任(簽字): </p><p&

9、gt;  批準(zhǔn)日期: 2015 年 12 月 24 日</p><p><b>  目 錄</b></p><p>  第1章 設(shè)計方案及原理1</p><p>  1.1 設(shè)計方案1</p><p>  1.2 設(shè)計原理及流程1</p><p>  第2章 設(shè)計程序3<

10、/p><p>  2.1 Verilog HDL程序3</p><p>  第3章 原理圖及仿真波形6</p><p><b>  3.1 原理圖6</b></p><p>  3.1.1頂層文件原理圖6</p><p>  3.2 仿真波形6</p><p>  3

11、.3 仿真結(jié)果分析7</p><p><b>  3.4硬件聯(lián)接8</b></p><p>  3.4.1 引腳分配8</p><p>  3.4.2 實驗箱硬件電路部分的線路連接8</p><p><b>  總 結(jié)9</b></p><p><b&g

12、t;  參考文獻(xiàn)10</b></p><p>  第1章 設(shè)計方案及原理</p><p><b>  1.1 設(shè)計方案</b></p><p>  本次課程設(shè)計采用Verilog HDL硬件描述語言編寫控制程序,應(yīng)用Quartus Ⅱ軟件實現(xiàn)仿真測試。擬定系統(tǒng)方案框圖,畫出系統(tǒng)框圖中每框的名稱、信號的流向,各框圖間的接口。使用Ve

13、rilog HDL設(shè)計軟件畫出原理圖,采用FPGA芯片對LED燈進(jìn)行控制,使其達(dá)到流水跑馬燈顯示的效果,LED燈采用共陽極接法,當(dāng)給它一個低電平時,LED點亮,我們利用移位寄存器使各輸出口循環(huán)輸出高低電平,達(dá)到控制的目的。</p><p>  1.2 設(shè)計原理及流程</p><p>  本次試驗我的內(nèi)容是彩燈變換控制器設(shè)計的設(shè)計,下面我簡單的進(jìn)行一下原理的闡述。</p>&l

14、t;p>  設(shè)計方案流程圖如圖1-1所示:</p><p>  圖1-1 方案流程圖</p><p>  彩燈控制器課程設(shè)計的要求是控制16個LED進(jìn)行花樣顯示,具有4種顯示模式,所以應(yīng)設(shè)計四種顯示模塊:第一種顯示是從左向右順序點亮LED。第二種顯示:從右向左順序點亮LED。第三種顯示:從兩邊向中間順序點亮LED。第四種顯示:從中間到兩邊順序點亮LED。每個模式有4檔速度,快、稍快、

15、中速、慢速;四種顯示模式自動循環(huán)切換,速度切換,顏色手動切換。</p><p>  為了完成要求的效果顯示,我準(zhǔn)備以下方案。由于要求比較簡單,所以不用分為很多模塊來具體控制,所以我先利用移位寄存來完成燈的點亮,并采用LED燈共陽極接法,當(dāng)給LED低電平時LED燈點亮,那么當(dāng)我們需要點亮某位LED燈時,只需在該位上賦予低電平即可。本次設(shè)計中我要實現(xiàn)16個LED燈從左到右依次點亮,那么就可以給這16個數(shù)碼燈分別賦值0

16、111111111111111,經(jīng)過一段時間的延時后再給其賦值1011111111111111,再經(jīng)過一段時間延時后再給其賦值110111111111111,依次類推,則最后一種賦值狀態(tài)為1111111111111110,這樣就實現(xiàn)要求中所要求的。同理,要實現(xiàn)數(shù)碼燈從右向左依次點亮,從中間向兩端依次點亮,從兩端向中間依次點亮都可以采用這樣賦值的方法。為了達(dá)到四種顯示模式循環(huán)切換的目的,可以將以上的所有賦值語句以順序語句的形式置于進(jìn)程中,

17、這樣在完成了一種顯示方式后就會自動進(jìn)入下一種設(shè)定好的顯示模式,如此反復(fù)循環(huán)。</p><p>  任務(wù)中要求實現(xiàn)每種模式有四種速率循環(huán)方式,這里我采用了硬件連接撥碼開關(guān)控制速率,共用慢速、中速、稍快、快四檔速度。設(shè)計中我還為程序增添了復(fù)位功能,當(dāng)需要程序復(fù)位時,只需按下rst鍵,此時程序不管走都那里,只要執(zhí)行這條語句,確定復(fù)位鍵按下時,程序立刻返回到程序執(zhí)行語句的第一步,程序接著進(jìn)行新的循環(huán)點亮。</p&g

18、t;<p><b>  第2章 設(shè)計程序</b></p><p>  2.1 Verilog HDL程序</p><p>  module muxone(clk,rst,Q,DIN,CLK);</p><p>  input clk,rst;</p><p>  input [1:0]DIN;

19、 //DIN為變換速度檔</p><p>  output signed[15:0]Q; //Q為15個LED</p><p>  output CLK; //自定義時鐘</p><p>  parameter DOUT=16'b01111111_11111111;</p><p&g

20、t;  reg CLK;</p><p>  reg [16:0]x;</p><p>  reg [1:0]cs;</p><p>  reg [15:0]Q;</p><p>  always@(posedge clk)</p><p><b>  begin</b>&

21、lt;/p><p>  x<=15'b0000000000000000;CLK=0;</p><p><b>  case(DIN)</b></p><p><b>  0:begin </b></p><p>  x<=x+1'b1;</p><p&g

22、t;  if(x==30)begin</p><p><b>  x<=15'b0;</b></p><p><b>  CLK=~CLK;</b></p><p><b>  end</b></p><p><b>  end</b><

23、;/p><p><b>  1:begin</b></p><p>  x<=x+1'b1;</p><p>  if(x==25)begin</p><p><b>  x<=15'b0;</b></p><p><b>  CLK=~CL

24、K;</b></p><p><b>  end</b></p><p><b>  end</b></p><p><b>  2:begin </b></p><p>  x<=x+1'b1;</p><p>  if(x=

25、=20)begin</p><p><b>  x<=15'b0;</b></p><p><b>  CLK=~CLK;</b></p><p><b>  end</b></p><p><b>  end</b></p>

26、<p><b>  3:begin</b></p><p>  x<=x+1'b1;</p><p>  if(x==15)begin</p><p><b>  x<=15'b0;</b></p><p><b>  CLK=~CLK;</b&

27、gt;</p><p><b>  end</b></p><p><b>  end</b></p><p>  default begin </p><p>  x<=x+1'b1;</p><p>  if(x==20)begin</p>&

28、lt;p><b>  x<=15'b0;</b></p><p><b>  CLK=~CLK;</b></p><p><b>  end</b></p><p><b>  end</b></p><p><b>  en

29、dcase</b></p><p><b>  end</b></p><p>  always@(posedge CLK or negedge rst)begin</p><p>  if(!rst)begin </p><p>  Q<=DOUT;cs<=2'b00;</p>

30、;<p><b>  end</b></p><p>  else begin</p><p><b>  case(cs)</b></p><p>  0:begin Q<=Q>>1;Q[15]<=1'b1;</p><p>  if(Q==16

31、9;b11111111_11111110)begin </p><p>  Q<=16'b11111111_11111101;</p><p>  cs<=2'b01;</p><p><b>  end</b></p><p><b>  end</b></p&g

32、t;<p>  1:begin Q<=Q<<1;Q[0]<=1'b1;</p><p>  if(Q==16'b01111111_11111111)begin</p><p>  Q<=16'b01111111_11111110;</p><p>  cs<=2'b10;</p&

33、gt;<p><b>  end</b></p><p><b>  end</b></p><p>  2:begin Q[15:8]<=Q[15:8]>>1;</p><p>  Q[7:0]<=Q[7:0]<<1;</p><p>  Q[15

34、]<=1'b1;</p><p>  Q[0]<=1'b1;</p><p>  if(Q==16'b11111110_01111111)begin</p><p>  Q<=16'b11111101_10111111;</p><p>  cs<=2'b11;</p>

35、;<p><b>  end</b></p><p><b>  end</b></p><p>  3:begin Q[15:8]<=Q[15:8]<<1;</p><p>  Q[7:0]<=Q[7:0]>>1;</p><p>  Q[8]&l

36、t;=1'b1;</p><p>  Q[7]<=1'b1;</p><p>  if(Q==16'b01111111_11111110)begin</p><p>  Q<=16'b01111111_11111111;</p><p>  cs<=2'b00;</p>

37、<p><b>  end</b></p><p><b>  end</b></p><p>  default begin</p><p><b>  Q<=DOUT;</b></p><p>  cs<=2'b00;</p>&

38、lt;p><b>  end</b></p><p><b>  endcase</b></p><p><b>  end</b></p><p><b>  end</b></p><p><b>  endmodule</b&g

39、t;</p><p>  第3章 原理圖及仿真波形</p><p><b>  3.1 原理圖</b></p><p>  3.1.1頂層文件原理圖</p><p>  編譯上述程序,并創(chuàng)建圖形的symbol,打開原理圖編輯器,命名為jie.bdf,在快捷菜單對話框中的project里選擇已生成好的命為jie的圖形sym

40、bol,根據(jù)已編程序添加引腳,得原理圖如下:</p><p>  圖3-1 頂層文件原理圖</p><p><b>  3.2 仿真波形</b></p><p>  利用編譯工具quartus II對程序進(jìn)行編譯,準(zhǔn)確無誤后進(jìn)行時序仿真,仿真結(jié)果圖如下面四個圖所示,代表了不同速率相同總時長下的移位情況,即先從左到右,再從右到左,再從中間到兩邊,

41、最后從兩邊到中間的移位寄存過程。</p><p>  圖3-2 速度最慢移位波形圖</p><p>  圖3-3 速度中速移位波形圖</p><p>  圖3-4 速度稍速移位波形圖</p><p>  圖3-5 速度最速移位波形圖</p><p>  3.3 仿真結(jié)果分析</p><p>  

42、根據(jù)程序可知,當(dāng)輸入DIN為00時選擇慢速檔,CLK的周期大約為30us,此時根據(jù)仿真結(jié)果我們可以看出,當(dāng)rst選為高電平時程序運行,隨著CLK上升沿的到來輸出Q做移位變化,開始從左向右移,然后從右向左移,然后從中間向兩邊移,最后從兩邊向中間移,之后循環(huán)顯示。因為設(shè)定了復(fù)位功能,所以無論程序運行到哪個位置時,當(dāng)按下復(fù)位鍵rst時系統(tǒng)運行停止,回到最初設(shè)定值狀態(tài),第一個燈點亮。當(dāng)輸入DIN為01時選擇中速檔,CLK的周期大約為25us,執(zhí)

43、行以上循環(huán)顯示。當(dāng)輸入DIN為10時選擇稍快檔,CLK的周期大約為20us,執(zhí)行以上循環(huán)顯示。當(dāng)輸入DIN為11時選擇最快檔,CLK的周期大約為15us,</p><p><b>  執(zhí)行以上循環(huán)顯示。</b></p><p><b>  3.4硬件聯(lián)接</b></p><p>  3.4.1 引腳分配</p>

44、<p>  仿真結(jié)束準(zhǔn)確無誤后開始硬件連接,先分配引腳信息,本次設(shè)計共需21個引腳分配引腳信息截圖如圖3-4-1所示。</p><p>  圖3-6 硬件引腳分配圖</p><p>  3.4.2 實驗箱硬件電路部分的線路連接</p><p>  再次編譯,設(shè)定好編程下載方式后,根據(jù)引腳鎖定,將導(dǎo)線與相應(yīng)數(shù)碼管及開關(guān)連接好就可以進(jìn)行硬件下載測試了。硬件

45、連接如圖3-4-2所示。最后,將程序下載入芯片后,觀察硬件運行結(jié)果,即LED燈的顯示情況。經(jīng)測試,所編寫的程序達(dá)到了課程設(shè)計的要求,并得要了相應(yīng)的結(jié)果。</p><p>  第一種顯示是從左向右逐個點亮LED。第二種顯示:從右向左逐個點亮LED。第三種顯示:從兩邊向中間逐個點亮LED。第四種顯示:從中間到兩邊逐個點亮LED。在每個顯示模式之間沒有多余顯示結(jié)果,直接進(jìn)入下一種模式,直至四種模式全部循環(huán)完再開始下一輪

46、循環(huán)。四種顯示模式通過自動切換,并帶有一位復(fù)位鍵控制系統(tǒng)的運行停止。當(dāng)rst按鍵按下時,led停止顯示,保持按下前的狀態(tài),如過不按rst,十六位led燈四種模式通過自動循環(huán)模式顯示。DIN所連接的兩個撥碼開關(guān)控制循環(huán)速度,共有慢速,中速,稍快,快四個檔速分別靠手動預(yù)置實現(xiàn)。</p><p>  圖3-7 硬件連接圖</p><p><b>  總 結(jié)</b>&l

47、t;/p><p>  為期近一周的EDA課程設(shè)計終于結(jié)束了,回顧這一周真的覺得自己受益匪淺,不僅對書本知識有了更全面更深刻的理解,還掌握了QuartusⅡ這款軟件的基本用法。為以后的工作又增加了一門新技能。在上機(jī)操作的過程中,剛開始我們遇到了很多的困難,引腳的設(shè)定,頂層文件的建立,畫圖中連線的區(qū)分,這些雖然都是小細(xì)節(jié),但都必須注意,否則就會影響整個設(shè)計的實驗,經(jīng)過對最簡單的模型的設(shè)計及仿真練習(xí)過后,我們基本掌握了軟件

48、的使用方法,通過軟件仿真及對各個參數(shù)的設(shè)置,我們不斷調(diào)試仿真出來的波形。在這個過程中我明白了,要想避免實驗中走彎路,首先程序要邏輯清晰,簡潔明了,避免不必要的嵌套與條用,其次要適當(dāng)?shù)亟o程序加上注解文字,提高可讀性,以方便之后的程序出錯時進(jìn)行查找。雖然軟件的仿真功能很強(qiáng)大,但是還是需要操作人員仔細(xì)的進(jìn)行觀察及調(diào)試的,否則也容易出現(xiàn)仿真錯誤。最后充分利用仿真軟件提供的各項編譯工具與報錯消息,按圖索驥,有方向的完成程序調(diào)試。網(wǎng)上搜集的一些資料

49、也給予了我很大的幫助。</p><p>  這次的學(xué)習(xí)開闊了我們的視野,使我們了解了更多的專業(yè)方面的實際應(yīng)用,在生產(chǎn)應(yīng)用方面的用處等,以及專業(yè)方面的發(fā)展方向等……隨著電子技術(shù)和計算機(jī)技術(shù)的不斷發(fā)展,在涉及通信、國防、航天、工業(yè)自動化、儀器儀表等領(lǐng)域的電子系統(tǒng)設(shè)計工作中,EDA技術(shù)的含量正以驚人的速度上升,它已成為當(dāng)今電子技術(shù)發(fā)展的前沿之一。EDA技術(shù)發(fā)展迅猛,完全可以用日新月異來描述。EDA技術(shù)的應(yīng)用廣泛,現(xiàn)在已

50、涉及到各行各業(yè)。EDA水平不斷提高,設(shè)計工具趨于完美的地步,所以我們更加應(yīng)該多多掌握這方面的知識。</p><p>  書本上的知識要想學(xué)會并且了解,必須在實踐中才能深入的掌握所學(xué)的知識,要不就是紙上談兵,不論說的多么華麗,只有在實踐中才能體現(xiàn)知識的價值,也才能考驗一個人的真正能力。這次EDA課設(shè)對我受益匪淺,謝謝在設(shè)計中幫助過我的老師和同學(xué),團(tuán)結(jié)的力量是偉大的。</p><p><

51、b>  參考文獻(xiàn)</b></p><p>  [1] 潘松,黃繼業(yè)編著. EDA技術(shù)與VHDL[M].北京:清華大學(xué)出版社,2005</p><p>  [2] 邊計年主編.用VHDL設(shè)計電子線路[M]. 北京:清華大學(xué)出版社,2000(8)</p><p>  [3] 王金明,楊吉斌編著.數(shù)字系統(tǒng)設(shè)計與Verilog HDL[M].北京:電子工業(yè)

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論