版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計說明書</b></p><p> 名稱 交通燈控制器的設(shè)計 </p><p> 院 系 電子信息工程系 </p><p> 班 級 </p><p> 姓 名 </p><p> 學(xué)
2、 號 </p><p> 系 主 任 </p><p> 教研室主任 </p><p> 指導(dǎo)教師 </p><p><b> 目錄</b></p><p><b> 第一章 緒論3</b>&
3、lt;/p><p> 1電子設(shè)計自動化簡介3</p><p><b> 1.1概要3</b></p><p> 1.2 EDA數(shù)字系統(tǒng)設(shè)計4</p><p> 1.2.1 分析方法4</p><p> 第二章 設(shè)計要求5</p><p> 2 設(shè)計基本
4、要求5</p><p> 2.1電路工作原理5</p><p> 第三章 系統(tǒng)的設(shè)計6</p><p> 3 系統(tǒng)設(shè)計要求6</p><p> 3.1 設(shè)計思路7</p><p> 3.2 設(shè)計流程7</p><p> 3.3 系統(tǒng)結(jié)構(gòu)圖8</p>&l
5、t;p> 3.4 系統(tǒng)程序9</p><p> 3.5仿真與調(diào)試14</p><p> 第四章心得體會15</p><p><b> 參考文獻(xiàn)16</b></p><p><b> 第一章 緒論</b></p><p> 1電子設(shè)計自動化簡介&l
6、t;/p><p><b> 1.1概要</b></p><p> EDA技術(shù)是指以計算機(jī)為工作平臺,融合了應(yīng)用電子技術(shù)、計算機(jī)技術(shù)、信息處理及智能化技術(shù)的最新成果,進(jìn)行電子產(chǎn)品的自動設(shè)計。 </p><p> 利用EDA工具,電子設(shè)計師可以從概念、算法、協(xié)議等開始設(shè)計電子系統(tǒng),大量工作可以通過計算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計、性能分
7、析到設(shè)計出IC版圖或PCB版圖的整個過程的計算機(jī)上自動處理完成。 </p><p> 現(xiàn)在對EDA的概念或范疇用得很寬。包括在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)已在各大公司、企事業(yè)單位和科研教學(xué)部門廣泛使用。</p><p> 1.1.1 EDA系統(tǒng)的設(shè)計分類</p><p> 根據(jù)采用計算
8、機(jī)輔助技術(shù)的介入程度,可以分為三類:</p><p> 第一類:人工設(shè)計方法,這是一種傳統(tǒng)的設(shè)計方法,從方案的提出到驗證和修改均采用人工手段完成,尤其是系統(tǒng)的驗證需要經(jīng)過實際搭試電路完成,花費大、效率低、制造周期長。</p><p> 第二類:借助計算機(jī)來完成數(shù)據(jù)處理、模擬評價、設(shè)計驗證等部分,由人和計算機(jī)共同完成,但由于軟件匱乏,該階段許多工作尚需人工完成。</p>&
9、lt;p> 第三類:該階段的世紀(jì)方法稱為電子設(shè)計自動化,這個階段發(fā)展起來的EDA工具,目的是在設(shè)計前期將設(shè)計工程師從事的許多高層次設(shè)計由工具完成。整個設(shè)計過程或大部分設(shè)計均有計算機(jī)完成。</p><p> 1.1.2 EDA技術(shù)發(fā)展表現(xiàn)形式 </p><p> (1) CPLD/FPGA系統(tǒng):使用EDA技術(shù)開發(fā)CPLD/FPGA,使自行開發(fā)的CPLD/FPGA作為電子系統(tǒng)、控制
10、系統(tǒng)、信息處理系統(tǒng)的主體。</p><p> (2) “CPLD/FPGA+MCU”系統(tǒng):綜合應(yīng)用EDA技術(shù)與單片機(jī)技術(shù),將自行開發(fā)的“CPLD/FPGA+MCU”作為電子系統(tǒng)、控制系統(tǒng)、信息處理系統(tǒng)的主體。</p><p> (3) “CPLD/FPGA+專用DSP處理器”系統(tǒng):將EDA技術(shù)與DSP專用處理器配合使用,用“CPLD/FPGA+專用DSP處理器”構(gòu)成一個數(shù)字信號處理系統(tǒng)
11、的整體。</p><p> (4) 基于FPGA實現(xiàn)的現(xiàn)代DSP系統(tǒng):基于SOPC(a System on a Programmable Chip)技術(shù)、EDA技術(shù)與FPGA技術(shù)實現(xiàn)方式的現(xiàn)代DSP系統(tǒng)。</p><p> (5) 基于FPGA實現(xiàn)的SOC片上系統(tǒng):使用超大規(guī)模的FPGA實現(xiàn)的,內(nèi)含1個或數(shù)個嵌入式CPU或DSP,能夠?qū)崿F(xiàn)復(fù)雜系統(tǒng)功能的單一芯片系統(tǒng)。</p>
12、<p> (6) 基于FPGA實現(xiàn)的嵌入式系統(tǒng):使用CPLD/FPGA實現(xiàn)的,內(nèi)含嵌入式處理器,能滿足對象系統(tǒng)要求的特定功能的,能夠嵌入到宿主系統(tǒng)的專用計算機(jī)應(yīng)用系統(tǒng)。</p><p> 1.2 EDA數(shù)字系統(tǒng)設(shè)計</p><p> 1.2.1 分析方法</p><p> 傳統(tǒng)的電路設(shè)計方法都是自底向上進(jìn)行設(shè)計的,也就是首先確定可用的元器件,
13、然后根據(jù)這些器件進(jìn)行邏輯設(shè)計,完成各模塊后進(jìn)行連接,最后形成系統(tǒng)。 </p><p> 在基于EDA技術(shù)的系統(tǒng)設(shè)計的最重要環(huán)節(jié)——在系統(tǒng)的基本功能或行為級上對設(shè)計的產(chǎn)品進(jìn)行描述和定義時,我們采用自頂向下分析,自底向上設(shè)計的方法。所謂“自頂向下分析”,就是指將數(shù)字系統(tǒng)的整體逐步分解為各個子系統(tǒng)和模塊,若子系統(tǒng)規(guī)模較大,則還需將子系統(tǒng)進(jìn)一步分解為更小的子系統(tǒng)和模塊,層層分解,直至整個系統(tǒng)中各子系統(tǒng)關(guān)系合理,并便于邏
14、輯電路級的設(shè)計和實現(xiàn)為止。</p><p> 1.2.2 實現(xiàn)方法 </p><p> 1.硬件描述語言編程實現(xiàn)法</p><p> 2.原理圖設(shè)計實現(xiàn)法</p><p> 3.參數(shù)可設(shè)置兆功能塊實現(xiàn)法</p><p> 4.軟的或硬的IP核實現(xiàn)法</p><p><b>
15、; 第二章 設(shè)計要求</b></p><p><b> 2 設(shè)計基本要求</b></p><p> 1)設(shè)計一個十字路口的交通燈控制器,能顯示十字路口東西、南北兩個方向的紅、黃、綠燈的指示狀態(tài)。用兩組紅、黃、綠三種顏色的燈分別作為東西、南北兩個方向的紅、黃、綠燈。變化規(guī)律為:東西綠燈亮,南北紅燈亮——東西黃燈亮,南北紅燈亮——東西紅燈亮,南北綠燈亮
16、——東西紅燈亮,南北黃燈亮 ——東西綠燈亮,南北紅燈亮 ……,這樣依次循環(huán)。</p><p> 2)南北方向是主干車道,東西方向是支干車道,要求兩條交叉道路上的車輛交替運行,主干車道每次通行時間為35秒,支干車道每次通行的時間為25秒,時間可設(shè)置修改。 </p><p> 3)在綠燈轉(zhuǎn)為紅燈時,要求黃燈先亮5秒鐘,才能變換運行車道。</p><p&
17、gt; 4)要求交通控制器有復(fù)位功能,在復(fù)位信號使能的情況下能夠?qū)崿F(xiàn)交通燈的自動復(fù)位,并且要求所有交通燈的狀態(tài)變化,包括復(fù)位信號引起的均發(fā)生在時鐘脈沖的上升沿。</p><p><b> 2.1電路工作原理</b></p><p> 根據(jù)交通燈系統(tǒng)設(shè)計要求,可以用一個有限的狀態(tài)機(jī)來實現(xiàn)這個交通燈控制器。根據(jù)功能要求,明確兩組交通燈的狀態(tài),這兩組交通燈總共有四種狀
18、態(tài),分別可用st0,st1,st2,st3不表示:</p><p> st0表示主干路綠燈亮,支干路紅燈亮;</p><p> st1表示主干路黃燈亮,支干路紅燈亮;</p><p> st2表示主干路紅燈亮,支干路綠燈亮;</p><p> st3表示主干路紅燈亮,支干路黃燈亮;</p><p> 根據(jù)上述
19、四種描述列出的狀態(tài)轉(zhuǎn)換表如下表1所示及交通燈控制器狀態(tài)轉(zhuǎn)換圖如下圖1所示:</p><p> 表1 交通燈控制器狀態(tài)轉(zhuǎn)換表</p><p> 第三章 系統(tǒng)的設(shè)計</p><p><b> 3 系統(tǒng)設(shè)計要求</b></p><p> 1)設(shè)計一個十字路口的交通燈控制器,能顯示十字路口東西、南北、南北左轉(zhuǎn)三個方向的
20、紅、黃、綠燈的指示狀態(tài)。用三組紅、黃、綠三種顏色的燈分別作為東西、南北、南北左轉(zhuǎn)三個方向的紅、黃、綠燈。變化規(guī)律為:</p><p> 南北綠燈亮,南北左轉(zhuǎn)紅燈亮 ,東西紅燈亮 </p><p> 南北黃燈亮,南北左轉(zhuǎn)紅燈亮 ,東西紅燈亮 </p><p> 南北紅燈亮,南北左轉(zhuǎn)綠燈亮 ,東西紅燈亮 </p><p> 南北紅燈亮,南
21、北左轉(zhuǎn)黃燈亮 ,東西紅燈亮 </p><p> 南北紅燈亮,南北左轉(zhuǎn)紅燈亮 ,東西綠燈亮</p><p> 南北紅燈亮,南北左轉(zhuǎn)紅燈亮 ,東西黃燈亮 </p><p> 南北綠燈亮,南北左轉(zhuǎn)紅燈亮 ,東西紅燈亮這樣依次循環(huán)。 </p><p> 2)南北方向是主干車道,東西方向是支干車道,要求兩條交叉道路上的車輛交替運行,主干車
22、道每次通行時間為35秒,主干轉(zhuǎn)彎車道每次通行時間為20秒,支干車道每次通行的時間為25秒,時間可設(shè)置修改。 </p><p> 3)在綠燈轉(zhuǎn)為紅燈時,要求黃燈先亮5秒鐘,才能變換運行車道。</p><p> 4)要求交通控制器有復(fù)位功能,在復(fù)位信號使能的情況下能夠?qū)崿F(xiàn)交通燈的自動復(fù)位,并且要求所有交通燈的狀態(tài)變化,包括復(fù)位信號引起的均發(fā)生在時鐘脈沖的上升沿。</p>&l
23、t;p> 5)顯示器倒計時顯示時間</p><p><b> 3.1 設(shè)計思路</b></p><p> 1)本交通燈控制器是一個已知主、主左、支干道通行時間的系統(tǒng),為了滿足主、主左、支干道通行時間變化要求,我們可設(shè)計一個可預(yù)置主、主左、支干道通行時間的交通控制器。 </p><p> 2)交通燈控制器的電路控制主要包括置數(shù)器模塊
24、、定時計數(shù)器模塊、主控制器模塊和譯碼器模塊。置數(shù)器模塊將交通燈的點亮?xí)r間預(yù)置到置數(shù)電路中。計數(shù)器模塊以秒為單位倒計時,當(dāng)計數(shù)值減為零時,主控電路改變輸出狀態(tài),電路進(jìn)入下一個狀態(tài)的倒計時。核心部分是主控制模塊。</p><p><b> 3.2 設(shè)計流程</b></p><p> 根據(jù)設(shè)計要求和系統(tǒng)所具有功能,并參考相關(guān)的文獻(xiàn)資料,經(jīng)可行方案設(shè)計畫出如下所示的十字路
25、口交通燈控制器系統(tǒng)框圖,及為設(shè)計的總體方案,框圖如下圖(2)所示:</p><p> 圖(2)交通燈控制器系統(tǒng)框圖</p><p><b> 3.3 系統(tǒng)結(jié)構(gòu)圖</b></p><p><b> 3.4 系統(tǒng)程序</b></p><p><b> 控制器電路程序:</b>
26、;</p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY ledcontrol IS</p><p> PORT( reset
27、,clk,urgen : INSTD_LOGIC;</p><p> state : OUTSTD_LOGIC_VECTOR(2 DOWNTO 0);</p><p> sub,set1,set2,set3: OUTSTD_LOGIC);</p><p> END ledcontrol;</p><p>
28、; ARCHITECTURE a OF ledcontrol IS</p><p> SIGNAL count : STD_LOGIC_VECTOR(6 DOWNTO 0);</p><p> SIGNAL subtemp: STD_LOGIC;</p><p><b> BEGIN</b></p><p>
29、sub<=subtemp AND (NOT clk) ;</p><p> statelabel:</p><p> PROCESS (reset,clk)</p><p><b> BEGIN</b></p><p> IF reset='1' THEN<
30、;/p><p> count<="0000000";</p><p> state<="000";</p><p> set2<='1';</p><p> ELSIF clk'event AND clk='1' THEN</p>
31、<p> IF urgen='0' THEN count<=count+1;subtemp<='1';ELSE subtemp<='0';END IF;</p><p> IF count=0 then state<="000";set1<='1';set2<='1
32、39;;set3<='1';</p><p> ELSIF count=35 then state<="001";set1<='1';</p><p> ELSIF count=40 THEN state<="010";set1<='1';set2<
33、='1';</p><p> ELSIF count=60 THEN state<="011";set2<='1';</p><p> ELSIF count=65 THEN state<="100";set2<='1';set3<='1';</p
34、><p> elsif count=90 THEN state<="101";set3<='1';</p><p> ELSIF count=95 THEN count<="0000000"; ELSE set1<='0'; set2<='0';set3<='
35、0';END IF;</p><p><b> END IF; </b></p><p> END PROCESS statelabel;</p><p><b> END a;</b></p><p><b> 輸出顯示電路程序:</b></p&
36、gt;<p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p> ENTITY ledshow IS</p><p><b> PORT(</b&g
37、t;</p><p> clk,urgen: IN STD_LOGIC;</p><p> state: IN STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p> sub,set1,set2,set3: IN STD_LOGIC;</p><p> eg1,ey1,er1,edg2,edy
38、2,edr2,ng1,ny1,nr1: OUTSTD_LOGIC;</p><p> led1,led2: OUTSTD_LOGIC_VECTOR(7 DOWNTO 0));</p><p> END ledshow;</p><p> ARCHITECTURE a OF ledshow IS</p><p> SIGNAL
39、 count1,count2,count3: STD_LOGIC_VECTOR(7 DOWNTO 0); </p><p> SIGNAL setstate1,setstate2,setstate3: STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p> SIGNAL etg1,ety1,etr1,edirr1,edirg1,ediry1,norg2,nory2
40、,norr2: STD_LOGIC; </p><p><b> BEGIN</b></p><p> led1<="00000000" WHEN urgen='1' AND clk='0' ELSE </p><p> count1 WHEN state="000&
41、quot; ELSE</p><p> count1 WHEN state="001" ELSE </p><p> count2 WHEN state="010" ELSE</p><p> count2 WHEN state="011" ELSE</p><p> cou
42、nt2 WHEN state="100" ELSE</p><p><b> count1;</b></p><p> led2<="00000000" WHEN urgen='1' AND clk='0' ELSE</p><p> count3 WHEN
43、 state="000" ELSE</p><p> count3 WHEN state="001" ELSE</p><p> count3 WHEN state="010" ELSE</p><p> count3 WHEN state="011" ELSE</p>
44、<p> count3 WHEN state="100" ELSE</p><p> count3 WHEN state="101" ELSE</p><p><b> count3;</b></p><p> etg1<='1' WHEN state=&quo
45、t;000" AND urgen='0' ELSE '0';</p><p> ety1<='1' WHEN state="001" AND urgen='0' ELSE '0';</p><p> etr1<='1' WHEN state=&qu
46、ot;010" or urgen='1' OR state="011" OR state="100" OR state="101" OR state="110" OR state="111" ELSE '0';</p><p> edirg1<='1'
47、; WHEN state="010" and urgen='0' ELSE '0';</p><p> ediry1<='1' WHEN state="011" and urgen='0' ELSE '0';</p><p> edirr1<='
48、;1' WHEN state="000" OR urgen='1' OR state="001" OR state="100" OR state="101" OR state="110" OR state="111" ELSE '0';</p><p>
49、 norg2<='1' WHEN state="100" AND urgen='0' ELSE '0';</p><p> nory2<='1' WHEN state="101" and urgen='0' ELSE '0';</p><p&g
50、t; norr2<='1' WHEN state="000" OR state="001" OR state="010" OR state="011" OR state="110" OR state="111" OR urgen='1' ELSE '0';<
51、/p><p> setstate1<="00110101" WHEN state="000" ELSE</p><p> "00000101" WHEN state="001" ELSE</p><p> "00110000"WHEN state=&q
52、uot;101" ELSE</p><p> "00100000" ;</p><p> setstate2<="00010101" WHEN state="000" ELSE</p><p> "00100000" WHEN state="010
53、" ELSE</p><p> "00000101" WHEN state="011" ELSE</p><p> "00110000" WHEN state="100" ELSE</p><p> "00000000" ;</p>&l
54、t;p> setstate3<="01100101" WHEN state="000" ELSE</p><p> "00100101" WHEN state="100" ELSE</p><p> "00000101" WHEN state="101&quo
55、t; ELSE</p><p> "01100101" ;</p><p> label3: </p><p> PROCESS (sub)</p><p><b> BEGIN</b></p><p> IF sub'event AND sub='
56、;1' THEN</p><p> IF set3='1' THEN</p><p> count3<=setstate3;</p><p> elsif count3(3 downto 0)="0000" then count3<=count3-7;</p><p> ELSE
57、 count3<=count3-1; </p><p><b> END IF;</b></p><p> ng1<=norg2;</p><p> ny1<=nory2;</p><p> nr1<=norr2;</p><p><b>
58、; END IF;</b></p><p> END PROCESS label3;</p><p> label2: </p><p> PROCESS (sub)</p><p><b> BEGIN</b></p><p> IF sub'event
59、AND sub='1' THEN</p><p> IF set2='1' THEN</p><p> count2<=setstate2;</p><p> elsif count2(3 downto 0)="0000" then count2<=count2-7;</p><
60、;p> ELSE count2<=count2-1; END IF;</p><p> edg2<=edirg1;</p><p> edy2<=ediry1;</p><p> edr2<=edirr1;</p><p><b> END IF;</b><
61、/p><p> END PROCESS label2;</p><p> label1: </p><p> PROCESS (sub)</p><p><b> BEGIN</b></p><p> IF sub'event AND sub='1' THEN&
62、lt;/p><p> IF set1='1' THEN</p><p> count1<=setstate1;</p><p> elsif count1(3 downto 0)="0000" then count1<=count1-7;</p><p> ELSE count1<=c
63、ount1-1; </p><p><b> END IF;</b></p><p> eg1<=etg1;</p><p> er1<=etr1;</p><p> ey1<=ety1;</p><p><b> END IF;</b
64、></p><p> END PROCESS label1;</p><p><b> END a;</b></p><p><b> 仿真與調(diào)試</b></p><p> 系統(tǒng)總體仿真圖如圖(3)所示:</p><p> 圖(3)系統(tǒng)總體仿真圖</p&
65、gt;<p><b> 復(fù)位電路仿真圖:</b></p><p><b> 圖(4)復(fù)位仿真圖</b></p><p> 系統(tǒng)硬件管腳分配圖如下:</p><p><b> 圖(5)管腳分配圖</b></p><p><b> 心得體會<
66、/b></p><p><b> 參考文獻(xiàn)</b></p><p> 【1】孫加存《 電子設(shè)計自動化 》西安電子科技大學(xué)出版社 2008</p><p> 【2】譚會生等主編,《EDA技術(shù)及應(yīng)用》,西安電子科技大學(xué)出版社,2001</p><p> 【2】江國強(qiáng)《 EDA技術(shù)與應(yīng)用 》北京電子工業(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda課程設(shè)計(交通燈控制器)
- eda課程設(shè)計---交通燈控制器
- eda課程設(shè)計交通燈控制器
- eda課程設(shè)計交通燈控制器
- eda課程設(shè)計--交通燈控制器設(shè)計
- eda課程設(shè)計報告-- 交通燈控制器
- eda課程設(shè)計---交通燈控制器的設(shè)計
- 交通燈控制器的設(shè)計_eda課程設(shè)計
- eda課程設(shè)計---交通燈信號控制器
- eda課程設(shè)計報告-交通燈控制器1
- eda技術(shù)課程設(shè)計交通燈控制器的設(shè)計
- 交通燈課程設(shè)計--交通燈控制器
- 畢業(yè)設(shè)計-eda技術(shù)交通燈控制器(課程設(shè)計)
- 課程設(shè)計----基于eda技術(shù)的交通燈控制器的設(shè)計
- 交通燈課程設(shè)計報告---交通燈控制器
- 交通燈控制器課程設(shè)計
- 交通燈控制器課程設(shè)計
- 課程設(shè)計---交通燈控制器
- eda課程設(shè)計--交通燈控制
- 課程設(shè)計---交通燈控制器設(shè)計
評論
0/150
提交評論