版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 目錄</b></p><p><b> 1.設(shè)計(jì)思路1</b></p><p><b> 1.1設(shè)計(jì)思想1</b></p><p> 1.2 系統(tǒng)功能與要求1</p><p><b> 1.3總體設(shè)計(jì)2</b>
2、</p><p> 2.主要模塊設(shè)計(jì)程序4</p><p> 2.1時(shí)基脈沖發(fā)生模塊4</p><p> 2.2技術(shù)及紅綠燈控制模塊5</p><p><b> 2.3譯碼模塊9</b></p><p><b> 2.4主程序11</b></p>
3、;<p> 3. 所實(shí)現(xiàn)功能說(shuō)明14</p><p> 3.1實(shí)現(xiàn)功能14</p><p> 3.2仿真波形14</p><p> 4. 所設(shè)計(jì)原理圖及故障分析15</p><p><b> 5.心得體會(huì)17</b></p><p><b> 參考文獻(xiàn)
4、18</b></p><p> 附錄1 元件清單19</p><p><b> 附錄2 管腳20</b></p><p><b> 1.設(shè)計(jì)思路</b></p><p><b> 1.1設(shè)計(jì)思想</b></p><p> 交通
5、燈是城市交通監(jiān)管系統(tǒng)的重要組成部分,對(duì)于保證機(jī)動(dòng)車輛的安全運(yùn)行,維持城市道路的順暢起到了重要作用。目前很多城市交叉路口的交通燈實(shí)行的是定時(shí)控制,燈亮的時(shí)間是預(yù)先設(shè)定好的,在時(shí)間和空間方面的應(yīng)變性能較差,一定程度上造成了交通資源的浪費(fèi),加重了道路交通壓力。本文在EDA技術(shù)的基礎(chǔ)上,利用FPGA的相關(guān)知識(shí)設(shè)計(jì)了交通燈控制系統(tǒng),可以根據(jù)實(shí)際情況對(duì)燈亮?xí)r間進(jìn)行自由調(diào)整,整個(gè)設(shè)計(jì)系統(tǒng)通過(guò)Max+PlusⅡ軟件進(jìn)行了模擬仿真,并下載到FPGA器件中
6、進(jìn)行硬件的調(diào)試,驗(yàn)證了設(shè)計(jì)的交通信號(hào)燈控制電路完全可以實(shí)現(xiàn)預(yù)定的功能,具有一定的實(shí)用性。</p><p> 1.2 系統(tǒng)功能與要求</p><p> 交通燈控制器控制兩個(gè)主干道交叉路口的交通,路口車輛多,直行信號(hào)、左轉(zhuǎn)彎信號(hào)分開(kāi)顯示,a,b兩個(gè)主干道的通行時(shí)間相等,其中指示直行的綠燈亮30 s,指示左轉(zhuǎn)彎的綠燈亮12 s,綠燈變至紅燈時(shí),黃燈亮3 s,以便于車輛能停在停車線內(nèi),紅燈信號(hào)
7、的最后3 s相應(yīng)的黃燈也同時(shí)亮,以便提示駕駛?cè)藛T準(zhǔn)備起步。在兩個(gè)主干道路口都配備傳感器用來(lái)檢測(cè)有無(wú)車輛通行。當(dāng)兩個(gè)主干道都有車輛時(shí),自動(dòng)處于主干道a綠燈,主干道b紅燈的狀態(tài),然后輪流切換通行。當(dāng)主干道a無(wú)車輛時(shí),自動(dòng)處于主干道b綠燈,主干道a紅燈的狀態(tài);反之亦然,以提高通行效率。</p><p> 所設(shè)計(jì)的交通信號(hào)燈控制電路,主要適用于在兩條干道匯合點(diǎn)形成的十字交叉路口,路口設(shè)計(jì)兩組紅綠燈分別對(duì)兩個(gè)方向上的交通
8、運(yùn)行狀態(tài)進(jìn)行管理。交通燈的持續(xù)閃亮?xí)r間由鍵盤輸入控制。燈亮規(guī)則為:當(dāng)B方向的紅燈亮?xí)r,A方向?qū)?yīng)綠燈亮,由綠燈轉(zhuǎn)換成紅燈的過(guò)渡階段黃燈亮,即B方向紅燈亮的時(shí)間等于A方向綠燈和黃燈亮的時(shí)間之和。同理,當(dāng)A方向的紅燈變亮?xí)r,B方向的交通燈也遵循此規(guī)則。各干道上安裝有數(shù)碼管,以倒計(jì)時(shí)的形式顯示本道各信號(hào)燈閃亮的時(shí)間。當(dāng)出現(xiàn)特殊情況時(shí),各方向上均亮紅燈,倒計(jì)時(shí)停止。特殊運(yùn)行狀態(tài)結(jié)束后,控制器恢復(fù)原來(lái)的狀態(tài),繼續(xù)運(yùn)行。</p>&l
9、t;p> 圖1 十字路口示意圖</p><p><b> 1.3總體設(shè)計(jì)</b></p><p> 首先由晶振產(chǎn)生出發(fā)信號(hào),由控制器處理成1HZ的時(shí)鐘,利用此時(shí)鐘進(jìn)行計(jì)數(shù),通過(guò)判斷計(jì)數(shù)的值來(lái)控制交通燈的亮滅。通過(guò)每種燈亮的時(shí)間總數(shù)與計(jì)數(shù)值比較得到數(shù)碼管應(yīng)該顯示的數(shù)值,利用分位程序?qū)⑵浞殖墒缓蛡€(gè)位。通過(guò)譯碼電路來(lái)實(shí)現(xiàn)數(shù)碼管的顯示。本實(shí)驗(yàn)所使用的芯片為EPF
10、10K10LC84-4。整個(gè)系統(tǒng)主要由計(jì)數(shù)模塊、控制模塊、分頻模塊、分位模塊以及顯示電路構(gòu)成。其中分頻模塊主要將系統(tǒng)輸入的基準(zhǔn)時(shí)鐘信號(hào)轉(zhuǎn)換為1 Hz的激勵(lì)信號(hào),驅(qū)動(dòng)計(jì)數(shù)模塊和控制模塊工作??刂颇K根據(jù)計(jì)數(shù)器的計(jì)數(shù)情況對(duì)交通燈的亮滅及持續(xù)時(shí)間進(jìn)行控制,并通過(guò)分位電路將燈亮?xí)r間以倒計(jì)時(shí)的形式通過(guò)數(shù)碼管顯示出來(lái)。 </p><p> 由設(shè)計(jì)任務(wù)要求可知,輸入部分有:CLK時(shí)鐘頻率輸入,可由實(shí)驗(yàn)板上直接提供,為準(zhǔn)確確定
11、時(shí)間長(zhǎng)度,選擇High擋的1MHz高平信號(hào);無(wú)車狀態(tài)按鍵KEY,當(dāng)按一下鍵,表示路上無(wú)車,信息學(xué)院路道路顯示紅燈,東風(fēng)路顯示綠燈。有車時(shí)兩路紅綠交替。</p><p> 輸出部分有:東西方向和南北方向各使用4個(gè)LED顯示,紅黃綠各代表紅黃綠燈,綠燈和另一個(gè)紅燈同時(shí)亮?xí)r為左轉(zhuǎn)時(shí)間;東西方向和南北方向計(jì)時(shí)均為2位數(shù),共需要4個(gè)LED七段數(shù)碼管顯示。Time信號(hào)輸出顯示的內(nèi)容。</p><p>
12、;<b> 圖2 總體設(shè)計(jì)圖</b></p><p> 2.主要模塊設(shè)計(jì)程序</p><p> 2.1時(shí)基脈沖發(fā)生模塊</p><p> 在紅綠燈交通信號(hào)系統(tǒng)中,大多數(shù)的情況是通過(guò)自動(dòng)控制的方式指揮交通的。因此,為了避免意外事件的發(fā)生,電路必須給出一個(gè)穩(wěn)定的時(shí)鐘才能讓系統(tǒng)正常的工作。因此時(shí)鐘發(fā)生模塊最主要的功能就是產(chǎn)生一些穩(wěn)定的輸出信號(hào)
13、,并將其用做后面幾個(gè)電路的使能控制與同步信號(hào)。通過(guò)編程實(shí)現(xiàn)1Hz脈沖的產(chǎn)生,程序如下所示。</p><p> Library IEEE ; </p><p> use IEEE.std_logic_1164.all ;</p><p> ENTITY CLKGEN IS</p><p> PORT( CLK:IN ST
14、D_LOGIC;</p><p> CLK1:OUT STD_LOGIC);</p><p> END CLKGEN;</p><p> ARCHITECTURE behav OF CLKGEN IS</p><p> SIGNAL CNTER:INTEGER RANGE 0 TO 25000000;</p><p
15、><b> BEGIN</b></p><p> PROCESS(CLK) BEGIN</p><p> IF CLK'EVENT AND CLK='1' THEN</p><p> IF CNTER=25000000 THEN CNTER<=0;</p><
16、p> ELSE CNTER<=CNTER+1; </p><p><b> END IF;</b></p><p><b> END IF;</b></p><p> END PROCESS;</p><p> PROCESS(CNTER) </p>
17、<p><b> BEGIN</b></p><p> IF CNTER=12500000 THEN CLK1<='1';</p><p><b> END IF;</b></p><p> IF CNTER=25000000 THEN CLK1<='0';&
18、lt;/p><p><b> END IF;</b></p><p> END PROCESS;</p><p> END behav;</p><p> 2.2計(jì)數(shù)及紅綠燈控制模塊</p><p> 南北向和東西向各有一組紅黃綠燈,各自持續(xù)的時(shí)間為分別為25s、5s、20s。通過(guò)編程可以實(shí)
19、現(xiàn)控制各通道的計(jì)數(shù)控制且輸出為二進(jìn)制數(shù),并且可以控制各燈的亮滅情況,高電平為亮,低電平為滅。</p><p><b> 東西向模塊程序?yàn)椋?lt;/b></p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_
20、logic_unsigned.all;</p><p> entity daolu1 is</p><p><b> port(</b></p><p> clk:in std_logic;</p><p> timel:out std_logic_vector(4 downto 0);</p>
21、<p> r,g,t:out std_logic);</p><p> end daolu1;</p><p> architecture daodu of daolu1 is</p><p> type color is(green,yellow,red);</p><p><b> begin<
22、/b></p><p> process(clk)</p><p> variable reset:std_logic:='0';</p><p> variable tempr,tempg,tempt:std_logic;</p><p> variable temp_l:std_logic_vector(4
23、downto 0);</p><p> variable temp_color:color:=green;</p><p><b> begin</b></p><p> if(clk'event and clk='1')then</p><p> case temp_color is&
24、lt;/p><p> when yellow=></p><p> tempr:='1';</p><p> tempg:='0';</p><p> tempt:='0';</p><p> case reset is</p><
25、p> when '0' =></p><p> temp_l:="00100";</p><p> reset:='1';</p><p> when others =></p><p> case temp_l is</p><p>
26、; when "00000"=></p><p> temp_l:="11000";</p><p> temp_color:=red;</p><p> when others=></p><p> temp_l:=temp_l-1;</p><p>&l
27、t;b> end case;</b></p><p><b> end case;</b></p><p> when green=></p><p> tempr:='0';</p><p> tempg:='0';</p><p&
28、gt; tempt:='1';</p><p> case reset is</p><p> when '0' =></p><p> temp_l:="10011";</p><p> reset:='1';</p><p>
29、; when others =></p><p> case temp_l is</p><p> when "00000"=></p><p> temp_l:="00100";</p><p> temp_color:=yellow;</p><
30、p> when others=></p><p> temp_l:=temp_l-1;</p><p><b> end case;</b></p><p><b> end case;</b></p><p> when red=></p><
31、p> tempr:='0';</p><p> tempg:='1';</p><p> tempt:='0';</p><p> case reset is</p><p> when '0' =></p><p>
32、temp_l:="11000";</p><p> reset:='1';</p><p> when others =></p><p> case temp_l is</p><p> when "00000"=></p><p> t
33、emp_l:="10011";</p><p> temp_color:=green;</p><p> when others=></p><p> temp_l:=temp_l-1;</p><p><b> end case;</b></p><p><
34、;b> end case;</b></p><p> end case;</p><p><b> end if;</b></p><p> timel<=temp_l;</p><p><b> r<=tempr;</b></p><p
35、><b> g<=tempg;</b></p><p><b> t<=tempt;</b></p><p> end process;</p><p><b> end;</b></p><p><b> 南北向模塊程序?yàn)椋?lt;/b&
36、gt;</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity daolu2 is</p><p><b> port
37、(</b></p><p> clk:in std_logic;</p><p> time2:out std_logic_vector(4 downto 0);</p><p> r1,g1,t1:out std_logic</p><p><b> );</b></p>&
38、lt;p> end daolu2;</p><p> architecture daolu of daolu2 is</p><p> type color is(red,green,yellow);</p><p><b> begin</b></p><p> process(clk)</p&g
39、t;<p> variable reset:std_logic:='0';</p><p> variable tempr,tempg,tempt:std_logic;</p><p> variable temp_l:std_logic_vector(4 downto 0);</p><p> variable temp_co
40、lor:color:=red;</p><p><b> begin</b></p><p> if(clk'event and clk='1')then</p><p> case temp_color is</p><p> when yellow=></p>
41、<p> tempr:='1';</p><p> tempg:='0';</p><p> tempt:='0';</p><p> case reset is</p><p> when '0' =></p><p>
42、 temp_l:="00100";</p><p> reset:='1';</p><p> when others =></p><p> case temp_l is</p><p> when "00000"=></p><p>
43、 temp_l:="11000";</p><p> temp_color:=red;</p><p> when others=></p><p> temp_l:=temp_l-1;</p><p><b> end case;</b></p><p><
44、;b> end case;</b></p><p> when green=></p><p> tempr:='0';</p><p> tempg:='0';</p><p> tempt:='1';</p><p> case
45、reset is</p><p> when '0' =></p><p> temp_l:="10011";</p><p> reset:='1';</p><p> when others =></p><p> case tem
46、p_l is</p><p> when "00000"=></p><p> temp_l:="00100";</p><p> temp_color:=yellow;</p><p> when others=></p><p> temp_l:=tem
47、p_l-1;</p><p><b> end case;</b></p><p><b> end case;</b></p><p> when red=></p><p> tempr:='0';</p><p> tempg:=&
48、#39;1';</p><p> tempt:='0';</p><p> case reset is</p><p> when '0' =></p><p> temp_l:="11000";</p><p> reset:
49、='1';</p><p> when others =></p><p> case temp_l is</p><p> when "00000"=></p><p> temp_l:="10011";</p><p> temp_co
50、lor:=green;</p><p> when others=></p><p> temp_l:=temp_l-1;</p><p><b> end case;</b></p><p><b> end case;</b></p><p> end c
51、ase;</p><p><b> end if;</b></p><p> time2<=temp_l;</p><p> r1<=tempr;</p><p> g1<=tempg;</p><p> t1<=tempt;</p><p&
52、gt; end process;</p><p><b> end;</b></p><p><b> 2.3譯碼模塊</b></p><p> 計(jì)數(shù)控制電路輸出為二進(jìn)制碼,要想用數(shù)碼管顯示計(jì)數(shù)需要把二進(jìn)制碼變?yōu)槠叨未a。通過(guò)編程先把二進(jìn)制碼轉(zhuǎn)換為BCD碼再把BCD碼轉(zhuǎn)換為七段碼實(shí)現(xiàn)程序如下:</p>
53、<p> 將二進(jìn)制碼轉(zhuǎn)化為BCD碼的程序如下:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> entity yima is</p><p> port (time : in std_logic_vector(4 downto 0)
54、;</p><p> tim : out std_logic_vector(7 downto 0));</p><p><b> end yima;</b></p><p> architecture one of yima is</p><p><b> begin</b></p&
55、gt;<p> process(time)</p><p><b> begin</b></p><p> case time is</p><p> when "00000" => tim <= "00000000";</p><p> whe
56、n "00001" => tim <= "00000001";</p><p> when "00010" => tim <= "00000010";</p><p> when "00011" => tim <= "00000011&quo
57、t;;</p><p> when "00100" => tim <= "00000100";</p><p> when "00101" => tim <= "00000101";</p><p> when "00110" =>
58、 tim <= "00000110";</p><p> when "00111" => tim <= "00000111";</p><p> when "01000" => tim <= "00001000";</p><p>
59、 when "01001" => tim <= "00001001";</p><p> when "01010" => tim <= "00010000";</p><p> when "01011" => tim <= "00010001
60、";</p><p> when "01100" => tim <= "00010010";</p><p> when "01101" => tim <= "00010011";</p><p> when "01110" =
61、> tim <= "00010100";</p><p> when "01111" => tim <= "00010101";</p><p> when "10000" => tim <= "00010110";</p><p&
62、gt; when "10001" => tim <= "00010111";</p><p> when "10010" => tim <= "00011000";</p><p> when "10011" => tim <= "0001
63、1001";</p><p> when "10100" => tim <= "00100000";</p><p> when "10101" => tim <= "00100001";</p><p> when "10110&quo
64、t; => tim <= "00100010";</p><p> when "10111" => tim <= "00100011";</p><p> when "11000" => tim <= "00100100";</p>&l
65、t;p> when others => NULL;</p><p><b> end case;</b></p><p> end process;</p><p><b> end;</b></p><p> 將BCD碼轉(zhuǎn)化為七段碼的程序如下:</p><
66、p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> entity yima1 is</p><p> port (jin : in std_logic_vector(3
67、 downto 0);</p><p> chu : out std_logic_vector(6 downto 0));</p><p> end yima1;</p><p> architecture art of yima1 is</p><p><b> begin</b></p>&l
68、t;p> process (jin) is</p><p><b> begin</b></p><p> case jin is</p><p> when "0000"=>chu<="0111111";</p><p> when "000
69、1"=>chu<="0000110";</p><p> when "0010"=>chu<="1011011";</p><p> when "0011"=>chu<="1001111";</p><p> whe
70、n "0100"=>chu<="1100110";</p><p> when "0101"=>chu<="1101101";</p><p> when "0110"=>chu<="1111101";</p><
71、;p> when "0111"=>chu<="0000111";</p><p> when "1000"=>chu<="1111111";</p><p> when "1001"=>chu<="1101111";<
72、/p><p> when others=>chu<="0000000";</p><p><b> end case;</b></p><p> end process;</p><p> end architecture art;</p><p><b&
73、gt; 2.4主程序</b></p><p> 在紅綠燈交通信號(hào)系統(tǒng)中,大多數(shù)的情況是通過(guò)自動(dòng)控制的方式指揮交通的。主程序從整體上把握程序流程,程序如下所示。</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.st
74、d_logic_unsigned.all;</p><p> entity jtd is</p><p> port(clk:in std_logic;</p><p> r,g,t,r1,g1,t1:out std_logic;</p><p> dout1,dout2,dout3,dout4:out std_logic_vect
75、or(6 downto 0));</p><p> end entity jtd;</p><p> architecture art of jtd is</p><p> component clkgen daolu1 is</p><p><b> port(</b></p><p>
76、; clk:in std_logic;</p><p> clk1:out std_logic);</p><p> end componentclkgen;</p><p> component daolu1 is</p><p><b> port(</b></p><p>
77、 clk:in std_logic;</p><p> timel:out std_logic_vector(4 downto 0);</p><p> r,g,t:out std_logic);</p><p> end component daolu1;</p><p> component daolu2 is</p&
78、gt;<p><b> port(</b></p><p> clk:in std_logic;</p><p> time2:out std_logic_vector(4 downto 0);</p><p> r1,g1,t1:out std_logic);</p><p> end c
79、omponent daolu2;</p><p> component yima is</p><p> port (time : in std_logic_vector(4 downto 0);</p><p> tim : out std_logic_vector(7 downto 0));</p><p> end compo
80、nent yima;</p><p> component yima1 is</p><p> port (shr : in std_logic_vector(4 downto 0);</p><p> chu : out std_logic_vector(7 downto 0));</p><p> end component y
81、ima1;</p><p> signal ad1,ad2:std_logic_vector(4 downto 0);</p><p> signal ac1,ac2:std_logic_vector(7 downto 0);</p><p><b> begin</b></p><p> u0:clkgen p
82、ort map(clk1=>clk)</p><p> u1:daolu1 port map(clk=>clk,g=>g,t=>t,r=>r,timel=>ad1);</p><p> u2:daolu2 port map(clk=>clk,g1=>g1,t1=>t1,r1=>r1,time2=>ad2);</p&
83、gt;<p> u3:yima port map(time=>ad1,tim=>ac1);</p><p> u4:yima port map(time=>ad2,tim=>ac2);</p><p> u5:yima1 port map(shr=>ac1(3 downto 0),chu=>dout1);</p>&
84、lt;p> u6:yima1 port map(shr=>ac1(7 downto 4),chu=>dout2);</p><p> u7:yima1 port map(shr=>ac2(3 downto 0),chu=>dout3);</p><p> u8:yima1 port map(shr=>ac2(7 downto 4),chu=>
85、dout4);</p><p> end architecture art;</p><p> 3. 所實(shí)現(xiàn)功能說(shuō)明</p><p><b> 3.1實(shí)現(xiàn)功能</b></p><p> 東風(fēng)路和信息學(xué)院路各有一組綠,轉(zhuǎn)彎,紅,黃燈,各自的持續(xù)時(shí)間分別為10s,10s,25s,5s;當(dāng)無(wú)車情況時(shí),東風(fēng)路(daolu
86、1)顯示綠燈,信息學(xué)院路(daolu2)顯示紅燈。當(dāng)情況結(jié)束后,控制器恢復(fù)原來(lái)狀態(tài),繼續(xù)正常工作。用兩組數(shù)碼管,以倒計(jì)時(shí)方式顯示兩個(gè)方向允許通行或禁止通行的剩余時(shí)。</p><p><b> 3.2仿真波形</b></p><p><b> 圖3</b></p><p><b> 圖4</b>&
87、lt;/p><p> 4. 所設(shè)計(jì)原理圖及故障分析</p><p> 圖5 交通燈控制原理圖</p><p> 所設(shè)計(jì)的交通信號(hào)燈控制電路,主要適用于在兩條干道匯合點(diǎn)形成的十字交叉路口,路口設(shè)計(jì)兩組紅綠燈分別對(duì)兩個(gè)方向上的交通運(yùn)行狀態(tài)進(jìn)行管理。交通燈的持續(xù)閃亮?xí)r間由鍵盤輸入控制。燈亮規(guī)則為:當(dāng)B方向的紅燈亮?xí)r,A方向?qū)?yīng)綠燈亮,由綠燈轉(zhuǎn)換成紅燈的過(guò)渡階段黃燈亮,即
88、B方向紅燈亮的時(shí)間等于A方向綠燈和黃燈亮的時(shí)間之和。同理,當(dāng)A方向的紅燈變亮?xí)r,B方向的交通燈也遵循此規(guī)則。各干道上安裝有數(shù)碼管,以倒計(jì)時(shí)的形式顯示本道各信號(hào)燈閃亮的時(shí)間。當(dāng)出現(xiàn)特殊情況時(shí),各方向上均亮紅燈,倒計(jì)時(shí)停止。特殊運(yùn)行狀態(tài)結(jié)束后,控制器恢復(fù)原來(lái)的狀態(tài),繼續(xù)運(yùn)行。</p><p> 系統(tǒng)的硬件設(shè)計(jì)及調(diào)試:所設(shè)計(jì)的這個(gè)系統(tǒng)的主要邏輯設(shè)計(jì)由一片型號(hào)為EPlK30TC144-3芯片完成,編寫的VHDL源程序在
89、Altera公司的邏輯綜合工具M(jìn)ax+PlusⅡ下經(jīng)過(guò)編譯和功能仿真測(cè)試后,針對(duì)下載芯片進(jìn)行管腳配置,下載到EPlK30TC144-3芯片中,進(jìn)行相應(yīng)的硬件調(diào)試,調(diào)試結(jié)果與軟件仿真的結(jié)果相吻合,驗(yàn)證了設(shè)計(jì)完成了預(yù)定功能。基于VHDL設(shè)計(jì)交通燈控制器,外圍電路少、功耗低、可靠性高,便于系統(tǒng)功能的修改,設(shè)計(jì)效率高。</p><p><b> 故障及分析:</b></p><
90、p> 對(duì)程序的選擇分支認(rèn)識(shí)不清楚,case語(yǔ)句嵌套不正確,編譯后系統(tǒng)宏單元超出,修改嵌套關(guān)系后,宏單元大幅下降。</p><p> 將程序編譯引腳后,顯示不是如同波形。編寫一個(gè)5-8譯碼器加入后,可顯示正確。</p><p> 黃燈時(shí)閃爍問(wèn)題解決:在黃燈控制線輸出和時(shí)鐘信號(hào)相與。</p><p><b> 5.心得體會(huì)</b>&l
91、t;/p><p> 通過(guò)綜合實(shí)驗(yàn)的思考和設(shè)計(jì),對(duì)一個(gè)項(xiàng)目的整體設(shè)計(jì)有了進(jìn)一步認(rèn)識(shí),加深了對(duì)VHDL語(yǔ)言的了解,提高了編程能力。同時(shí),鍛煉了獨(dú)立發(fā)現(xiàn)問(wèn)題解決問(wèn)題的能力,提高了個(gè)人素質(zhì)。利用硬件描述語(yǔ)言VHDL編程,借助Altera公司的Max+PlusⅡ軟件環(huán)境下進(jìn)行了編譯及仿真測(cè)試,通過(guò)FPGA芯片實(shí)現(xiàn)了一個(gè)實(shí)用的交通信號(hào)燈控制系統(tǒng),設(shè)計(jì)由于采用了EDA技術(shù),不但大大縮短了開(kāi)發(fā)研制周期,提高了設(shè)計(jì)效率,而且使系統(tǒng)具
92、有設(shè)計(jì)靈活,實(shí)現(xiàn)簡(jiǎn)單,性能穩(wěn)定的特點(diǎn)。</p><p> 這是一次頗有收獲的實(shí)訓(xùn), 這次的實(shí)訓(xùn)中,我們更進(jìn)一步體會(huì)到自主學(xué)習(xí)和團(tuán)隊(duì)合作的樂(lè)趣與必要性。為了完成項(xiàng)目,在網(wǎng)絡(luò)上找到了許多相關(guān)資料,大大擴(kuò)充自己的知識(shí)面,使許多以前想解決卻無(wú)法解決的困難迎刃而解, 這才知道老師的良苦用心。相信以后的我不管是做網(wǎng)絡(luò)亦或是從事軟、硬件開(kāi)發(fā),都會(huì)有一個(gè)扎實(shí)的基礎(chǔ)和良好的開(kāi)發(fā)習(xí)慣的。</p><p>
93、 通過(guò)這次課程設(shè)計(jì),加強(qiáng)了我們動(dòng)手、思考和解決問(wèn)題的能力。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。</p><p> 這次課程設(shè)計(jì)終于順利完成了,我學(xué)也到很多實(shí)用的知識(shí),學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨(dú)立思考解決問(wèn)題,出現(xiàn)差錯(cuò)的隨機(jī)應(yīng)變,和與人合作共同
94、提高,都受益非淺。在此,感謝老師的細(xì)心指導(dǎo)!</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì).全國(guó)大學(xué)生電子設(shè)計(jì)獲獎(jiǎng)作品匯編[J].北京理工大學(xué)出版社,2005。</p><p> [2] 康華光 .電子技術(shù)基礎(chǔ)-數(shù)字部分[M].高等教育出版社,1998。</p><
95、p> [3] 譚會(huì)生等 . EDA技術(shù)及應(yīng)用[M].西安電子科技大學(xué)出版社,2001</p><p> [4] 潘松,等.EDA技術(shù)實(shí)用教程[M].科學(xué)出版社,2006</p><p> [5] 雷伏容 .VHDL電路設(shè)計(jì)[M].清華大學(xué)出版社,2006</p><p> [6] Charles H.Roth,等.數(shù)字系統(tǒng)設(shè)計(jì)與VHDL[M].電子工
96、業(yè)出版社,2008</p><p><b> 附錄1 元件清單</b></p><p><b> 附錄2管腳</b></p><p> CLK1綁定時(shí)鐘32MHZ</p><p> LED[0]綁定LED6;--東西道紅燈</p><p> LED[1]綁定LED7
97、;--東西道黃燈</p><p> LED[2]綁定LED8;--東西道綠燈</p><p> LED[3]綁定LED1;--南北道紅燈</p><p> LED[4]綁定LED2;--南北道黃燈</p><p> LED[5]綁定LED3;--南北道綠燈</p><p> Dout1綁定數(shù)碼管1;</
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- fpga課程設(shè)計(jì)--交通燈設(shè)計(jì)
- 基于fpga的交通燈課程設(shè)計(jì)
- 基于fpga的交通燈設(shè)計(jì)課程設(shè)計(jì)
- 基于fpga的交通燈課程設(shè)計(jì)報(bào)告
- 基于fpga的交通燈控制課程設(shè)計(jì)
- 交通燈課程設(shè)計(jì)
- 課程設(shè)計(jì)交通燈
- 課程設(shè)計(jì)—交通燈
- 交通燈課程設(shè)計(jì)
- 交通燈課程設(shè)計(jì)
- 交通燈課程設(shè)計(jì)
- 交通燈課程設(shè)計(jì)
- 交通燈設(shè)計(jì)數(shù)電交通燈課程設(shè)計(jì)數(shù)電交通燈設(shè)計(jì)
- 交通燈課程設(shè)計(jì)--plc實(shí)現(xiàn)交通燈控制設(shè)計(jì)
- 模擬交通燈課程設(shè)計(jì)--模擬交通燈的設(shè)計(jì)
- 交通燈課程設(shè)計(jì)--交通燈控制系統(tǒng)設(shè)計(jì)
- 基于fpga的交通燈控制課程設(shè)計(jì)報(bào)告
- 基于fpga的交通燈控制課程設(shè)計(jì)報(bào)告
- 交通燈課程設(shè)計(jì)--交通燈控制器
- 數(shù)電交通燈課程設(shè)計(jì)--簡(jiǎn)易交通燈的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論