資源描述:
《eda多路彩燈控制器設(shè)計(jì)報(bào)告》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、EDA課程設(shè)計(jì)多路彩燈控制設(shè)計(jì)專業(yè):電子信息工程班級(jí):2007117指導(dǎo)老師:司孝平時(shí)間:2010.12.3091)系統(tǒng)設(shè)計(jì)要求設(shè)計(jì)一個(gè)多路彩燈控制器,十六種彩燈能循環(huán)變化,有清零開關(guān),可以變化彩燈閃動(dòng)頻率即是可以選擇快慢兩種節(jié)拍。2).設(shè)計(jì)方案整個(gè)系統(tǒng)有三個(gè)輸入信號(hào),分別為控制快慢的信號(hào)OPT,復(fù)位清零信號(hào)CLR,輸出信號(hào)是16路彩燈輸出狀態(tài)。系統(tǒng)框圖如:主要模塊組成:時(shí)序控制電路模塊和顯示電路模塊,時(shí)序控制電路是根據(jù)輸入信號(hào)的設(shè)置得到相應(yīng)的輸出信號(hào),并將此信號(hào)作為顯示電路的時(shí)鐘信號(hào);顯示電路輸入時(shí)鐘信號(hào)的周期,有規(guī)律的輸出設(shè)定的六種彩燈變化類型。3)
2、.模塊設(shè)計(jì)時(shí)序控制模塊:CLK為輸入時(shí)鐘信號(hào),電路在時(shí)鐘上升沿變化;CLR為復(fù)位清零信號(hào),高電平有效,一旦有效時(shí),電路無條件的回到初始狀態(tài);OPT為頻率快慢選擇信號(hào),低電平節(jié)奏快,高電平節(jié)奏慢;CLKOUT為輸出信號(hào),CLR有效時(shí)輸出為零,否則,隨OPT信號(hào)的變化而改變。我們假設(shè)時(shí)序控制電路所產(chǎn)生的控制時(shí)鐘信號(hào)的快慢兩種節(jié)奏分別為輸入時(shí)鐘信號(hào)頻率的1/4和1/8,因而輸出時(shí)鐘控制信號(hào)可以通過對(duì)輸入時(shí)鐘的計(jì)數(shù)來獲得。當(dāng)opt為低電平時(shí),輸出沒經(jīng)過兩個(gè)時(shí)鐘周期進(jìn)行翻轉(zhuǎn),實(shí)現(xiàn)四分頻的快節(jié)奏;當(dāng)opt為高電平時(shí),輸出每經(jīng)過四個(gè)時(shí)鐘周期進(jìn)行翻轉(zhuǎn),實(shí)現(xiàn)把八分頻的慢節(jié)
3、奏。顯示控制電路的模塊框圖如圖所示,輸入信號(hào)clk和clr的定義與時(shí)序控制電路一樣,輸入信號(hào)led[15...0]能夠循環(huán)輸出16路彩燈16種不同狀態(tài)的花型。對(duì)狀態(tài)的所對(duì)應(yīng)的彩燈輸出花型定義如下:S0:0000000000000000S1:0001000100010001S2:0010001000100010S3:0011001100110011S4:0100010001000100S5:0101010101010101S6:0110011001100110S7:0111011101110111S8:1000100010001000S9:10011001
4、10011001S10:1010101010101010S11:1011101110111011S12:1100110011001100S13:1101110111011101S14:1110111011101110S15:11111111111111119s1S2S3多路彩燈在多種花型之間的轉(zhuǎn)換可以通過狀態(tài)機(jī)實(shí)現(xiàn),當(dāng)復(fù)位信號(hào)clr有效時(shí),彩燈恢復(fù)初始狀態(tài)s0,否則,每個(gè)時(shí)鐘周期,狀態(tài)都將向下一個(gè)狀態(tài)發(fā)生改變,并對(duì)應(yīng)輸出的花型,這里的時(shí)鐘周期即時(shí)時(shí)序控制電路模塊產(chǎn)生的輸出信號(hào),它根據(jù)opt信號(hào)的不同取值得到兩種快慢不同的時(shí)鐘頻率。S4S00clrS5S1
5、5s6s14S7s13S8s12S9s11s104).序控制電路模塊程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitymetronomeis--定義實(shí)體port(clk:instd_logic;--時(shí)鐘信號(hào)clr:instd_logic;--復(fù)位信號(hào)opt:instd_logic;--快慢控制信號(hào)clkout:outstd_logic--輸出時(shí)鐘信號(hào));endmetronome;architecturertlofmetronomeissigna
6、lclk_tmp:std_logic;signalcounter:std_logic_vector(1downto0);--定義計(jì)數(shù)器beginprocess(clk,clr,opt)beginifclr='1'then--清零clk_tmp<='0';counter<="00";elsifclk'eventandclk='1'thenifopt='0'then--四分頻,快節(jié)奏ifcounter="01"then9counter<="00";clk_tmp<=notclk_tmp;elsecounter<=counter+'1';endif;else-
7、-八分頻,慢節(jié)奏ifcounter="11"thencounter<="00";clk_tmp<=notclk_tmp;elsecounter<=counter+'1';endif;endif;endif;endprocess;clkout<=clk_tmp;--輸出分頻后的信號(hào)endrtl;endrtl;顯示模塊電路程序如下:libraryieee;useieee.std_logic_1164.all;entityoutputisport(clk:instd_logic;--輸入時(shí)鐘信號(hào)clr:instd_logic;--復(fù)位信號(hào)led:outstd_
8、logic_vector(15downto0));--彩燈輸出endoutput