久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8806|回復: 3
打印 上一主題 下一主題
收起左側

Quartus EDA交通燈控制系統的FPGA調試與設計報告

[復制鏈接]
跳轉到指定樓層
樓主
ID:314026 發表于 2018-4-22 21:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
前言
從最早的手牽皮帶到20世紀50年代的電氣控制,從采用計算機控制到現代化的電子定時監控,交通信號燈在科學化、自動化上不斷地更新、發展和完善。
交通指揮燈是非裔美國人加萊特?摩根在1923年發明的。此前,鐵路交通已經使用自動轉換的燈光信號有一段時間了。但是由于火車是按固定的時刻表以單列方式運行的,而且火車要停下來不是很容易,因此鐵路上使用的信號只有一種命令:通行。公路交通的紅綠燈則不一樣,它的職責在很大程度上是要告訴汽車司機把車輛停下來。新式的紅綠燈能將闖紅燈的人拍照下來。犯事的司機不久就會收到罰款單。有的紅綠燈還具備監測車輛行駛速度的功能。
目前城市交通控制研究的新發展主要體現在城市交通網絡的各個方面:
   區域交通信號燈和城市快速公路匝道口的新的控制方法上;實現區域和快速公路的集成控制;采用動態路由導航與交通網絡控制結合:以實現先進車輛控制系統AvcS為主的智能交通系統(ITS);以實現先進交通管理系統ATMS和先進駕駛員信息系統ATIS為主的城市多智能體交通控制系統;以及一些輔助的交通策略如道路自動計費、公共交通優先等。
   可以說,在近百年的發展中,道路交通信號控制系統經歷了無感應控制到有感應控制、手動控制到自動控制再到智能控制、單點控制(點控)到干線控制(線控)再到區域控制和網絡控制(面控)的過程。
目錄

前言              1

一、實驗目的              3

二、題目:交通燈控制器              3

2.1 系統功能設計要求              3

2.2  數碼管顯示              3

2.3  計數              3

三、設計原理              3

3.1 交通燈控制器的狀態轉換              4

3.2電路符號              4

3.3 顯示模塊              4

四、使用軟件Quartus              4

4.1 Quartus簡介              5

五、設計方法              5

5.1 準備工作              5

5.2  設計輸入              6

5.3  編譯、綜合              9

六、仿真準備              10

6.1 進行仿真               10

6.2設置節點               10

6.3 設置End Time               10

七、仿真波形              11

7.1 功能仿真               11

實驗總結和心得              12


EDA設計專周
  • 實習目的
熟悉Quartus||的使用方法和步驟,熟悉FPGA硬件的調試方法。
  • 題目:交通燈控制器
實現十字路口的雙向交通燈控制
2.1  系統功能設計要求
東西南北各設有一個紅、黃、綠指示燈;一個2位7段數碼管
東西方向:綠燈37秒-黃燈3秒-紅燈20秒。
南北方向:綠燈17秒-黃燈3秒-紅燈40秒。
當前信號燈狀態顯示
當前信號燈剩余時間計數和動態顯示
2.2  數碼管顯示
用兩組數碼管,以倒計時方式顯示兩個方向允許通行或禁止通行的剩余時間。
2.3 計數
能實現正常的倒計時顯示功能。能實現總體清理功能,計數器有初始狀態
開始計數,對應狀態的指示燈亮。
三、設計原理
3.1 交通燈控制器的狀態轉換
根據論文題目要求,將紅綠燈的狀態轉換列成如
工作狀態
南北方向
東西方向
S0
綠燈亮(17s)
紅燈亮(20s)
S1
黃燈亮(3s)
紅燈亮(20s)
S2
紅燈亮(40s)
綠燈亮(37s)
S3
紅燈亮(40s)
黃燈亮(3s)

3.2 電路符號
Clk為系統時鐘信號輸入端。r1 為東西方向紅燈信號輸出端,y1為東西方向黃燈信號輸出端,g1為東西方向綠燈信號輸出端。r2為南北方向紅燈信號輸出端,y2為南北方向黃燈信號輸出端,g2為南北方向綠燈信號輸出端。Digit1為十位數七段碼,digit2為個位數七段碼。
3.3 顯示模塊
     顯示模塊由兩部分組成,一是由七段數碼管組成的倒計時顯示器,每個方向兩個七段數碼管;二是由發光二極管代替的交通燈,每個方向3個發光二極管。
四、使用軟件:Quartus
4.1 Quartus簡介
Quartus II 是Altera公司的綜合性PLD/FPGA開發軟件,原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware 支持Description Language)等多種設計輸入形式,內嵌自有的綜合器以及仿真器,可以完Quartus II可以在Windows、Linux以及Unix上使用,除了可以使用Tcl腳本完成設計流程外,提供了完善的用戶圖形界面設計方式。具有運行速度快,界面成從設計輸入到硬件配置的完整PLD設計流程。
Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫,使用戶可以充分利用成熟的模塊,簡化了設計的復雜性、加快了設計速度。對第三方EDA工具的良好支持也使用戶可以在設計流程的各個階段使用熟悉的第三方EDA工具。此外,Quartus II 通過和DSP Builder工具與Matlab/Simulink相結合,可以方便地實現各種DSP應用系統;支持Altera的片上可編程系統(SOPC)開發,集系統級設計、嵌入式軟件開發、可編程邏輯設計于一體,是一種綜合性的開發平臺。
Maxplus II 作為Altera的上一代PLD設計軟件,由于其出色的易用性而得到了廣泛的應用。目前Altera已經停止了對Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設計輔助工具,集成了SOPC和HardCopy設計流程,并且繼承了Maxplus II 友好的圖形界面及簡便的使用方法。
Altera Quartus II 作為一種可編程邏輯的設計環境, 由于其強大的設計能力和直觀易用的接口,越來越受到數字系統設計者的歡迎。
  • 設計方法
5.1   準備工作:創建Quartus II項目
菜單“File/New Project Wizard”,
逐步設置:工作目錄、項目名和實體名;是否添加設計文件;選擇器件;是否使用第三方eda工具
注意:項目名、實體名、文件名要相同!
5.2   設計輸入:采用HDL輸入方式
新建文件(菜單File/New...)選擇VHDL文件類型(VHDL  File),擴展名*.vhd
輸入VHDL設計的代碼
采用文本編輯法,即采用VHDL語言描述交通控制器,代碼如下:

5.3 編譯、綜合
在Processing菜單選擇Start Compilation 項(或者紫色的編譯按鈕),則自動進行編譯,并且軟件左側出現Status狀態窗口,給出編譯步驟和執行進度。
若設計無錯誤,則給出編譯報告和其他處理步驟的報告。
若有錯誤,則根據錯誤提示修改設計文件,重新編譯。
  • 仿真準備
6.1 進行仿真:功能仿真
新建“激勵信號”的波形文件: (菜單File/New...)選擇波形文件類型(Wector Waveform File),擴展名*.vwf,打開波形編輯窗口
6.2  設置節點
選擇要仿真的節點:在“Name”列空白處,右鍵菜單,如上圖所示。選擇菜單“Insert Node or Bus...”,在對話框選擇“Nodes Finder”按鈕
根據過濾條件,列出節點名稱:List選擇節點OK
根據需要編輯輸入端口“激勵信號”的波形
注意:保存波形文件,默認文件名即可。


6.3  設置End Time

、仿真波形
7.1功能仿真
在 Processing 菜單內選擇Simulator Tool 項,可以實現更多的仿真功能(功能仿真、時序仿真;指定仿真時間長度,其他可選項等)。
如果仿真沒有錯誤,則完成后自動打開仿真結果的波形窗口(仿真報告窗口)。


八、實驗總結和心得
短短一個星期的EDA課程設計很快就結束了,這次設計使我對EDA的認識提高了一個層次,現在我能夠熟練的使用Quartus2,能夠用VHDL語言編寫簡單的、實用的小程序。這次EDA課程設計重點學習了交通燈程序的編寫、調試。在整個課程設計的過程中,我查閱了大量關于交通燈設計的資料。
在設計的過程還應該多聯系下實際情況,要了解實際情況下交通信號燈的工作情況,才能更好的完成此次的課程設計。在今后的工作學習中,我們不能僅僅把目光停留在課本上,而要更多的把理論聯系到實際。


  1. library ieee;

  2. use ieee.std_logic_1164.all;

  3. use ieee.std_logic_unsigned.all;

  4. entity traffic is

  5. port(clk:in std_logic;

  6.       r1,r2,y1,y2,g1,g2:out std_logic;

  7.       cou:out integer range 0 to 37;

  8.       digit1,digit2:out std_logic_vector(6 downto 0));

  9. end traffic;

  10. architecture behavior of traffic is

  11. constant timemax:integer:=37;

  12. signal coun:integer range 0 to timemax;

  13. constant timeRG:integer:=17;

  14. constant timeRY:integer:=3;

  15. constant timeGR:integer:=37;

  16. constant timeYR:integer:=3;

  17. type state is (RG,RY,GR,YR);

  18. signal pr_state,nx_state :state;

  19. signal time:integer range 0 to timemax;

  20. signal temp1:integer range 0 to 10;

  21. signal temp2:integer range 0 to 10;

  22. begin

  23.   process(clk)

  24.   variable count:integer range 0 to timemax;

  25.   begin

  26.   if(clk'event and clk='1')then

  27.   count:=count+1;

  28.   if (count=time)then

  29.   pr_state<=nx_state;

  30.   count:=0;

  31.   end if;

  32. end if;

  33. coun<=count;

  34. cou<=coun;

  35. end process;

  36. process(pr_state)

  37. begin

  38. case pr_state is

  39. when RG=>

  40. r1<='1';r2<='0';y1<='0';y2<='0';g1<='0';g2<='1';

  41. nx_state<=RY;

  42. time <=timeRG;

  43. when RY=>

  44. r1<='1';r2<='0';y1<='0';y2<='1';g1<='0';g2<='0';

  45. nx_state<=GR;

  46. time <=timeRY;

  47.   when GR=>

  48. r1<='0';r2<='1';y1<='0';y2<='0';g1<='1';g2<='0';

  49. nx_state<=YR;

  50. time <=timeGR;

  51. when YR=>

  52. r1<='0';r2<='1';y1<='1';y2<='0';g1<='0';g2<='0';

  53. nx_state<=RG;

  54. time <=timeYR;

  55. end case;

  56. end process;

  57. process(coun)

  58. begin

  59. temp1<=coun/10;

  60. temp2<=coun mod 10;

  61. case temp1 is

  62. when 0=>digit1<="1111110";

  63. when 1=>digit1<="0110000";

  64. when 2=>digit1<="1101101";

  65. when 3=>digit1<="1111001";

  66. when 4=>digit1<="0110011";

  67. when 5=>digit1<="1011011";

  68. when 6=>digit1<="1011111";

  69. when 7=>digit1<="1110000";

  70. when 8=>digit1<="1111111";

  71. when 9=>digit1<="1111011";

  72. when others=>null;

  73. end case;

  74. case temp2 is

  75. when 0=>digit2<="1111110";

  76. when 1=>digit2<="0110000";

  77. when 2=>digit2<="1101101";

  78. when 3=>digit2<="1111001";

  79. when 4=>digit2<="0110011";

  80. when 5=>digit2<="1011011";

  81. when 6=>digit2<="1011111";

  82. when 7=>digit2<="1110000";

  83. when 8=>digit2<="1111111";

  84. when 9=>digit2<="1111011";

  85. when others=>null;

  86. end case;

  87. end process;

  88. end behavior;
復制代碼


完整的Word格式文檔51黑下載地址:
新建 Microsoft Office Word 2007 文檔.docx (390.63 KB, 下載次數: 85)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:314026 發表于 2018-4-22 21:06 | 只看該作者
有詳細的Quartus操作步驟
回復

使用道具 舉報

板凳
ID:657257 發表于 2019-12-6 10:40 | 只看該作者
啥都有 發表于 2018-4-22 21:06
有詳細的Quartus操作步驟

如果只有一個數碼管要怎么做
回復

使用道具 舉報

地板
ID:888508 發表于 2021-5-18 01:23 來自手機 | 只看該作者
啥都有 發表于 2018-4-22 21:06
有詳細的Quartus操作步驟

樓主 還能看quartues的步驟嗎
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品在线播放 | 在线免费黄色小视频 | 伊人艹 | 亚洲精品久久久久久国产精华液 | 99在线免费观看视频 | 成人免费网站视频 | 久久久人成影片免费观看 | 国产精品区一区二 | 免费国产一区 | 欧美视频 | 欧美一区二区三区视频 | www精品美女久久久tv | 在线观看中文字幕 | 东京久久 | aaaaaaa片毛片免费观看 | 久久不卡 | 亚洲精品一区二区 | 福利网站导航 | 国产男人的天堂 | 成年人在线观看 | 91亚洲精品在线观看 | 久久久精品在线 | 精品久久久久久久久久久 | 久久国产精品首页 | 精品国产亚洲一区二区三区大结局 | 成人国产免费观看 | 99精品欧美| 99精品电影 | 免费精品久久久久久中文字幕 | 日韩一区二区在线播放 | 精品99久久 | www.日韩系列 | 一区二区在线看 | 嫩草视频在线 | 欧美aⅴ片 | 日韩精品在线一区 | 国内精品久久影院 | 成年人精品视频在线观看 | 久热久热 | 国产亚洲第一页 | 欧洲亚洲一区二区三区 |