EDA課程設(shè)計(jì) 全自動洗衣機(jī)

上傳人:仙*** 文檔編號:28589564 上傳時間:2021-09-01 格式:DOC 頁數(shù):13 大?。?46KB
收藏 版權(quán)申訴 舉報 下載
EDA課程設(shè)計(jì) 全自動洗衣機(jī)_第1頁
第1頁 / 共13頁
EDA課程設(shè)計(jì) 全自動洗衣機(jī)_第2頁
第2頁 / 共13頁
EDA課程設(shè)計(jì) 全自動洗衣機(jī)_第3頁
第3頁 / 共13頁

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《EDA課程設(shè)計(jì) 全自動洗衣機(jī)》由會員分享,可在線閱讀,更多相關(guān)《EDA課程設(shè)計(jì) 全自動洗衣機(jī)(13頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、EDA課程設(shè)計(jì) 全自動洗衣機(jī) 1 設(shè)計(jì)任務(wù)及要求 利用可編程邏輯器件豐富的內(nèi)部資源,借助EDA(電子設(shè)計(jì)自動化)工具(如MAX+plusⅡ)把家電控制器電路集成在一片F(xiàn)PGA(現(xiàn)場可編程門陣列)芯片內(nèi),這樣就無需專門的單片機(jī)和外部邏輯電路。從而減小了電路的體積、提高了系統(tǒng)的穩(wěn)定性。本次電路設(shè)計(jì)是洗衣機(jī)控制器設(shè)計(jì)。 設(shè)計(jì)的主要內(nèi)容是: (1)設(shè)計(jì)一個洗衣機(jī)控制器,使洗衣機(jī)作如下運(yùn)轉(zhuǎn):定時啟動—〉正轉(zhuǎn)20秒—〉暫停10秒—〉反轉(zhuǎn)20秒—〉暫停10秒—〉定時不到,重復(fù)上面過程。 (2)若定時到,則停止,并發(fā)出音響信號。 (3)用兩個數(shù)碼管顯示洗滌的預(yù)置時間(分鐘數(shù)),按倒計(jì)時方式對洗

2、滌過程作計(jì)時顯示,直到時間到停機(jī);洗滌過程由開始信號開始。 (4)三只LED燈表示正轉(zhuǎn)、反轉(zhuǎn)、暫停三個狀態(tài)。 設(shè)計(jì)的主要要求是: (1)根據(jù)設(shè)計(jì)題目要求編寫相應(yīng)程序代碼 (2)對編寫的VHDL程序代碼進(jìn)行編譯和仿真 (3)利用實(shí)驗(yàn)箱完成硬件驗(yàn)證(可選) (4)總結(jié)設(shè)計(jì)內(nèi)容,完成課程設(shè)計(jì)說明書 2設(shè)計(jì)原理及總體框圖 洗衣機(jī)控制器的設(shè)計(jì)主要是定時器的設(shè)計(jì),由一片F(xiàn)PGA和外圍電路構(gòu)成了電器控制部分。FPGA接收鍵盤的控制命令,控制洗衣機(jī)的進(jìn)水、排水、水位和洗衣機(jī)的工作狀態(tài)、并控制顯示工作狀態(tài)以及設(shè)定直流電機(jī)速度、正反轉(zhuǎn)控制、制動控制、起??刂坪瓦\(yùn)動狀態(tài)控制(洗衣機(jī)洗滌過程如圖2所示

3、)。對FPGA芯片的編程采用模塊化的VHDL (硬件描述語言)進(jìn)行設(shè)計(jì),設(shè)計(jì)分為三層實(shí)現(xiàn),頂層實(shí)現(xiàn)整個芯片的功能。頂層和中間層多數(shù)是由VHDL的元件例化語句實(shí)現(xiàn)。中間層由無刷直流電機(jī)控制、運(yùn)行模式選擇、洗滌模式選擇、定時器、顯示控制、鍵盤掃描、水位控制以及對直流電機(jī)控制板進(jìn)行速度設(shè)定、正反轉(zhuǎn)控制、啟??刂频饶K組成,它們分別調(diào)用底層模塊。 洗衣機(jī)控制器電路主要有五大部分組成,包括:減法計(jì)數(shù)器、時序控制電路、預(yù)置時間和編碼電路、數(shù)碼管顯示、譯碼器組成。具體電路如圖3所示: 圖3洗衣機(jī)控制器總體設(shè)計(jì)圖 3 程序設(shè)計(jì) (1)時間設(shè)置電路: library ieee; use ieee

4、.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity settime is port(load:in std_logic; k:in std_logic_vector(9 downto 0); o:out std_logic_vector(3 downto 0) ); end settime; architecture rt1 of settime is signal p1:std_logic_vector(3 downto 0); begin process(load) begin if(load

5、event and load=1) then case k is when "1000000000"=>p1<="0001"; when "0100000000"=>p1<="0010"; when "0010000000"=>p1<="0011"; when "0001000000"=>p1<="0100"; when "0000100000"=>p1<="0101"; when "0000010000"=>p1<="0110"; when "0000001000"=>p1<="0111"; when "0000000100"=>p1<="1000"; when "00

6、00000010"=>p1<="1001"; when "0000000001"=>p1<="1010"; when others=>p1<="0000"; end case; end if; end process; o<=p1; end rt1; (2)數(shù)碼管顯示 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity showtime is port ( num:

7、in std_logic_vector(3 downto 0); dout:out std_logic_vector(6 downto 0) ); end showtime; architecture a1 of showtime is begin with num select dout<="1111110" when "0000", "0110000" when "0001", "1101101" when "0010", "1111001" when "0011", "0110011" when "0100",

8、 "1011011" when "0101", "1011111" when "0110", "1110000" when "0111", "1111111" when "1000", "1111011" when "1001", "0000000" when others; end a1; (3)序電路 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned

9、.all; entity SHIXU is port(clk:in std_logic; TG:in std_logic; start:in std_logic; SHUCHU:BUFFER std_logic_VECTOR(2 DOWNTO 0) ); end SHIXU; architecture behav of SHIXU is SIGNAL QQ:STD_LOGIC_VECTOR(5 DOWNTO 0); begin process(clk,tg,QQ) begin if(tg=1)or(start=0) then shuchu<="001";QQ<="

10、111011"; else if(clkevent) and (clk=1)then if QQ="000000" then QQ<="111011" ;shuchu<="100" ; elsif QQ="111010"then shuchu<="100" ; elsif QQ="100111"then shuchu<="001"; elsif QQ="011101"then shuchu<="010"; elsif QQ="001001"then shuchu<="001"; end if; QQ<=QQ-1; end if; end if;

11、 END PROCESS; end behav; ⑷譯碼器 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity YIMA is port(run:out std_logic; rev:out std_logic; pause:out std_logic; SHURU:IN std_logic_VECTOR(2 DOWNTO 0) ); end YIMA; architecture be

12、hav of yima is begin process(shuru) begin case shuru is when "001"=>rev<=0;run<=0;pause<=1; when "010"=>rev<=1;run<=0;pause<=0; when "100"=>rev<=0;run<=1;pause<=0; when others=>rev<=0;run<=0;pause<=1; end case; end process; end behav; (5)減法計(jì)數(shù)器 library ieee; use ieee.std_logic_1164.all

13、; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity counter is port(start:IN std_logic; clk:IN std_logic; CHUSHItime:IN integer range 0 to 15; XIANSHItime:OUT integer range 0 to 15; JINWEI:BUFFER std_logic); end counter; architecture behav of counter is signal ZHONGJ

14、IANtime:integer range 0 to 15; begin process(clk) begin if(start=0)then ZHONGJIANtime<=CHUSHItime;XIANSHItime<=CHUSHItime;jinwei<=0; else if(clkevent and clk=1)then if(ZHONGJIANtime=0) then XIANSHItime<=0;JINWEI<=1; else

15、ZHONGJIANtime<=ZHONGJIANtime-1;XIANSHItime<=ZHONGJIANtime; end if; end if; end if; end process; end behav; 4 編譯及仿真 EDA工具在EDA技術(shù)應(yīng)用中占據(jù)極其重要的位置,EDA的核心是利用計(jì)算機(jī)完成電子設(shè)計(jì)全程自動化,因此基于計(jì)算機(jī)環(huán)境的EDA軟件的支持是必不可少的。此次設(shè)計(jì)所用EDA工具是由著名的Alter公司生產(chǎn)的MAX+plusⅡ工具軟件,它是一種集成的開發(fā)環(huán)

16、境,支持原理圖、VHDL和Verilog語言文本文件,以及波形文件作為設(shè)計(jì)輸入,并支持這些文件的人以混合設(shè)計(jì)。 圖4洗衣機(jī)控制器程序仿真圖 MAX+plusⅡ工具軟件具有門級仿真器,可以進(jìn)行功能仿真和時序仿真,能夠產(chǎn)生精確的仿真結(jié)果,同是還支持主流第三方EDA工具,所以可以說MAX+plusⅡ是當(dāng)今最優(yōu)秀的EDA工具軟件之一。利用MAX+plusⅡ工具軟件仿真仿真結(jié)果如圖4所示 5 硬件調(diào)試與結(jié)果分析 洗衣機(jī)接通電源,按load設(shè)置洗滌時間按start、rd置為高電平洗衣機(jī)開始工作,當(dāng)時鐘第一個上升沿到達(dá)時run(正轉(zhuǎn)功能)為高電平維持20s以后變

17、為低電平而pause(暫停功能)隨著時鐘上升沿的到來變?yōu)楦唠娖骄S持10s變?yōu)榈碗娖?,然后rev(反轉(zhuǎn)功能)開始隨著時鐘上升沿的到來變?yōu)楦唠娖焦ぷ骶S持20s后變?yōu)榈碗娖?,再停止pause置高,接下來電路一直重復(fù)上述工作,知道定時器計(jì)數(shù)結(jié)束。電路設(shè)計(jì)完成以后,按照預(yù)定設(shè)計(jì),輸入相應(yīng)數(shù)據(jù),三只LED燈按照設(shè)定時間規(guī)律間斷性亮起,數(shù)碼管也顯示輸入時間并按減數(shù)計(jì)時產(chǎn)生相應(yīng)的數(shù)字顯示,直到到達(dá)預(yù)定時間停止工作顯示零,實(shí)驗(yàn)設(shè)計(jì)達(dá)到預(yù)期效果。 6 參考文獻(xiàn) [1] 潘松著.EDA技術(shù)實(shí)用教程(第二版). 北京:科學(xué)出版社,2005. [2] 康華光主編.電子技術(shù)基礎(chǔ) 模擬部分. 北京:高教出版社,2

18、006. [3] 閻石主編.數(shù)字電子技術(shù)基礎(chǔ). 北京:高教出版社,2003. [4] 趙巖嶺 劉春等.在MAX+plusⅡ平臺下用VHDL進(jìn)行數(shù)字電路設(shè)計(jì). 西安:西電出版社,2005 心得體會 通過這次的EDA設(shè)計(jì),我可以說是受益良多。看到洗衣機(jī)控制器的題目,我首先想到的是狀態(tài)機(jī)的設(shè)計(jì),因?yàn)檎n本上說狀態(tài)機(jī)其實(shí)就是控制器,后來經(jīng)過看書覺得應(yīng)該是摩爾型狀態(tài)機(jī),可是自習(xí)分析后發(fā)現(xiàn)設(shè)計(jì)題目比較復(fù)雜,如果用狀態(tài)機(jī)的思路來設(shè)計(jì),比較困難超出了我的能力。結(jié)合以前做課程設(shè)計(jì)(數(shù)字電路設(shè)計(jì)——交通等控制器)的經(jīng)驗(yàn),如果用模塊化層次化的設(shè)計(jì)思路更清晰,設(shè)計(jì)起來也更容易,特別是更符合EDA設(shè)計(jì)的的流程,故自己開始設(shè)計(jì)各功能模塊。洗衣機(jī)控制器主要實(shí)幾種狀態(tài)的循環(huán)改變,還有計(jì)時和數(shù)碼顯示的功能,所以我覺得電路主要有五大部分組成,包括:減法計(jì)數(shù)器、時序控制電路、預(yù)置時間和編碼電路、數(shù)碼管顯示、譯碼器組成。在分析過程中,我遇到了不少困難,因?yàn)榈谝淮斡龅揭粋€比較復(fù)雜的設(shè)計(jì),剛開始不知道從哪里入手,所以借鑒了一些書和網(wǎng)上的資料,主要參看了趙巖嶺 劉春等老師編著的《在MAX+plusⅡ平臺下用VHDL進(jìn)行數(shù)字電路設(shè)計(jì)》關(guān)于控制器的一些設(shè)計(jì)方法和范例,并且在無憂電子開發(fā)網(wǎng)(

展開閱讀全文
溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!