EDA課程設(shè)計洗衣機控制器_第1頁
EDA課程設(shè)計洗衣機控制器_第2頁
EDA課程設(shè)計洗衣機控制器_第3頁
EDA課程設(shè)計洗衣機控制器_第4頁
EDA課程設(shè)計洗衣機控制器_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、目目 錄錄 摘要摘要 洗衣機控制器洗衣機控制器 .2 2 1.1.前言前言 .3 3 2.2.總體方案設(shè)計總體方案設(shè)計 .4 4 2.1 基本原理.4 2.2 原理框圖.4 3.3.設(shè)計步驟和調(diào)試過程設(shè)計步驟和調(diào)試過程 .5 5 3.1 總體電路設(shè)計.5 3.2 模塊設(shè)計與相應(yīng)的模塊程序.6 3.2.1 數(shù)碼管顯示 .6 3.2.2 時序電路控制 .7 3.2.3 預(yù)置時間 .8 3.2.4 譯碼器 .9 3.2.5 減法計數(shù)器 .10 3.2.6 洗衣機運轉(zhuǎn)模塊 .10 3.3 仿真及仿真結(jié)果分析.14 4.4.實驗調(diào)試結(jié)果實驗調(diào)試結(jié)果 .1515 5.5.設(shè)計總結(jié)設(shè)計總結(jié) .1616 6.

2、6.參考文獻參考文獻 .1717 摘要摘要 洗衣機控制器洗衣機控制器 隨著電子技術(shù)和計算機技術(shù)的發(fā)展,電子產(chǎn)品已與生活緊密相連,與此同時 EDA 技術(shù)已經(jīng)越來越滲透到我們的生活中,給我們的生活帶來了極大的方便。電子設(shè)計自 動化(EDA)技術(shù),使得電子線路的設(shè)計人員能在計算機上完成電路的功能設(shè)計、邏輯設(shè) 計、性能分析、時序測試直至印刷電路板的自動設(shè)計。在高校電子電路課程中結(jié)合教 學(xué)內(nèi)容引人 EDA 工具軟件進行設(shè)計,使學(xué)生掌握一定的 EDA 技術(shù)和 EDA 軟件的使用方 法。設(shè)計一個洗衣機控制器,要求洗衣機有進水,洗衣(正轉(zhuǎn)、反轉(zhuǎn)、暫停三種狀態(tài)) , 放水,脫水。顯示工作時間,要洗衣機在工作時間

3、內(nèi)完成,定時到則停止,同時發(fā)出 提示音。 關(guān)鍵詞關(guān)鍵詞: :預(yù)設(shè)時間信號輸入模塊,狀態(tài)控制模塊,減法計數(shù)器模塊,VHDL 語言程序 As the electronic technology and the development of computer technology, electronic products already and life are closely linked, at the same time EDA technology already more and more the penetration to our life, brings to our life gr

4、eat convenience. Electronic design automation (EDA) technology, make the design of electronic circuit personnel on the computer can complete circuit design, the function of logical design, performance analysis, timing test until printed circuit board of automatic design. In the electronic circuit co

5、urse teaching contents in the EDA software is designed, make the student to master certain EDA technology and EDA software use method. Design a washing machine controller, a washing machine, laundry water requirements (are turning, inversion, suspended three states), match-fixing, dehydration. Displ

6、ay work time, to work in the washing machine finish, time to stop, and at the same time, a prompt. Key words:Default time signal input module,State control module, Subtraction counter module, VHDL language program; 1.1.前言前言 隨著電子技術(shù)和計算機技術(shù)的發(fā)展,電子產(chǎn)品已與生活緊密相連,電子產(chǎn)品的智 能化日益完善,電路的集成度越來越高,而產(chǎn)品的更新周期卻越來越短。與此同時 EDA

7、 技術(shù)已經(jīng)越來越滲透到我們的生活中,給我們的生活帶來了極大的方便。 目前,EDA 技術(shù)已成為電子信息類學(xué)生一門重要的專業(yè)基礎(chǔ)課程,并在教學(xué)、科研, 一級大學(xué)生電子設(shè)計競賽等活動中,起著越來越重要的作用,成為電子信息類本科生 及研究生必須掌握的基礎(chǔ)知識與基本技能。隨著 EDA 技術(shù)的應(yīng)用日益廣泛,對 EDA 課 程 教學(xué)的要求也不斷提高,以與 EDA 技術(shù)的發(fā)展相適應(yīng),正式基于以上考慮,進行 EDA 課程設(shè)計。 很多設(shè)備在嵌入電子技術(shù)后,其產(chǎn)品價值大大提高,如全自動洗衣機、數(shù)控機床 等。學(xué)習(xí) EDA 技術(shù)是十分必要的,它可以提高電子產(chǎn)品設(shè)計的速度、精度、可靠性, 擴大設(shè)計規(guī)模等,降低人們的勞動強

8、度,提高工作效率;電子技術(shù)擴大了人們的視野。 計算機技術(shù)和微電子工藝的發(fā)展,使得現(xiàn)代數(shù)字系統(tǒng)的設(shè)計和應(yīng)用進入了新的階 段。電子設(shè)計自動化(EDA)技術(shù)在數(shù)字系統(tǒng)設(shè)計中起的作用越來越重要,新的工具和 新的設(shè)計方法不斷推出,可編程邏輯器件不斷增加新的模塊,功能越來越強,硬件設(shè) 計語言也順應(yīng)形勢,推出新的標(biāo)準(zhǔn),更加好用,更加便捷。 由于 EDA 技術(shù)的發(fā)展,使得現(xiàn)代數(shù)字系用設(shè)計從設(shè)計思想,設(shè)計工具到實現(xiàn)方式 都產(chǎn)生了深刻的變化,呈現(xiàn)出新的特點,怎樣體現(xiàn)這種變化,抓住 EDA 技術(shù)和數(shù)字設(shè) 計的實質(zhì),是每個在學(xué)習(xí)的學(xué)生中都應(yīng)思考的問題,EDA 課程設(shè)計,其根本目的是在于 在有限的時間內(nèi),掌握了解數(shù)字設(shè)

9、計技術(shù)的本質(zhì)及其重點,從而數(shù)字系統(tǒng)設(shè)計和 EDA 技術(shù)的精髓。 EDA 軟件工具也在設(shè)計中起著重要的作用,好的 EDA 軟件為數(shù)字設(shè)計開發(fā)提供了平 臺和工具,它將設(shè)計者的設(shè)計思想自動、高效地轉(zhuǎn)化為物理電路和網(wǎng)表結(jié)構(gòu),并以直 觀、便捷的形式提供了仿真模擬手段。下面,將詳細介紹此次課程設(shè)計的思路,以及 設(shè)計流程。 2.2.總體方案總體方案設(shè)計設(shè)計 2.12.1 基本原理基本原理 洗衣機控制器的設(shè)計主要是定時器的設(shè)計。由一片 FPGA 和外圍電路構(gòu)成了電器控 制部分。FPGA 接收鍵盤的控制命令,控制洗衣機的進水、排水、水位和洗衣機的工作 狀態(tài)、并控制顯示工作狀態(tài)以及設(shè)定直流電機速度、正反轉(zhuǎn)控制、制

10、動控制、起???制和運動狀態(tài)控制。對芯片的編程采用模塊化的 EDA (硬件描述語言)進行設(shè)計,設(shè)計 分為三層實現(xiàn),頂層實現(xiàn)整個芯片的功能。頂層和中間層多數(shù)是由 EDA 的元件例化語 句實現(xiàn)。中間層由無刷直流電機控制、運行模式選擇、洗滌模式選擇、定時器、顯示 控制、鍵盤掃描、水位控制以及對直流電機控制板進行速度設(shè)定、正反轉(zhuǎn)控制、啟停 控制等模塊組成,它們分別調(diào)用底層模塊。 首先,從秒脈沖出來的信號,經(jīng)過一個控制電路后進入秒計數(shù)器進行秒計數(shù),進行清零,這時 用戶置入洗滌時間,并按開始按鈕,洗衣機開始工作。當(dāng)秒計數(shù)器變?yōu)榱愕臅r候,去分鐘計數(shù)器上 面借數(shù);與此同時,從十秒位轉(zhuǎn)化出來的信號進入移位寄存器

11、后,LED 燈表示出電機運轉(zhuǎn)狀態(tài);當(dāng) 用戶設(shè)定的洗滌時間結(jié)束后,電路報警并清零;同時電機指示燈熄滅。 2.22.2 原理框圖原理框圖 正轉(zhuǎn) 20 秒暫停 10 秒反轉(zhuǎn) 20 秒暫停 10 秒 定時到 停止 定時啟動 圖 2.1 系統(tǒng)總體框圖 3.3.設(shè)計步驟和調(diào)試過程設(shè)計步驟和調(diào)試過程 3.13.1 總體電路設(shè)計總體電路設(shè)計 洗衣機控制器電路主要有五大部分組成,包括:減法計數(shù)器、時序控制電路、預(yù) 置時間、數(shù)碼管顯示、譯碼器組成。 具體電路如下圖所示: 圖 3.1 系統(tǒng)總體電路 3.3.2 2 模塊設(shè)計與相應(yīng)的模塊程序模塊設(shè)計與相應(yīng)的模塊程序 3.2.13.2.1 數(shù)碼管顯示數(shù)碼管顯示 根據(jù)課程

12、設(shè)計要求,必須將洗衣機的工作狀態(tài)及工作時間在數(shù)碼管和指示燈上顯 示出來,此模塊是用來控制洗衣機的工作狀態(tài)及工作的頻率,并把工作狀態(tài)及工作時 間顯示出來 實現(xiàn)數(shù)碼管顯示 Library iee; Use ieee.std_logic_1164.all; Entity encode is Port( Bcd : in std_logic_vector(3 downto o); A,b,c,d,e,f,g: out std_logic ); End encode; Architecture rtl of encode is Signal temp:std_logic_vector(6 downto

13、0); Begin Table Bcd = temp; 0000= ; 0001= 0010= 0011= 0100= 0101= 0110= 0111= 1000= 1001= End table; a=temp(6);b=temp(5);c=temp(4);d=temp(3);e=temp(2);f=temp(1); g=temp(0); end rtl 3.2.23.2.2 時序電路控制時序電路控制 此模塊是為了實現(xiàn)洗衣機的正轉(zhuǎn)、暫轉(zhuǎn)、反轉(zhuǎn)的功能,它由一個狀態(tài)控制模塊構(gòu) 成,是典型的狀態(tài)機。 Library ieee; Use ieee.std_logic_1164.all; Use i

14、eee.std_logic_unsigned.all Entity shixu is Port(cp,en,rd:in std_logic; Q1,q2:out std_logic); End shixu; Architecture rtl of shixu is Begin Process(cp) Variable wash_time:integer range 0 to 19; Variable wash_time:integer range 0 to 9; Variable state:std_logic; Variable wash_time:integer :=21; Variabl

15、e wash_time:integer :=9; Begin If(en=0)wash_time:=19;wait_time:=9;state:=0; End if;if(en=0)then wash_time:=21;Q1=0;Q20) Then wash_time:=20;state:=not state; End if; end if; end if; If(wash_time=0)then Q1=0;Q2=0;else if (state=0) Then Q1=1;Q2=0; else Q1=0;Q2=1; End if; end if; Else Q10 and start=1) t

16、hen time_second:=time_second-1; else time_second:=59; end if; if(start=0) then time_remain0) then time_remain(3 downto 0)=time_remain(3 downto 0)-start; time_remain(3 downto 0)0) then time_remain(7 downto 4) =time_remain(7 downto 4)-start; time_remain(7 downto 4)=time_remain(7 downto 4)-1; time_rema

17、in(3 downto 0)=1001;time_second:=59;end if; end if; else if (time_second=0 and time_second=1) if(time_remain=0)then time_is_up=0;else time_is_up=1; time_second:=time_second-1;end if;end if;end if; end if;end process; end rtl; 3.2.43.2.4 譯碼譯碼器器 當(dāng)洗滌時間結(jié)束時,洗衣機就會自動發(fā)出警報聲,以此提醒用戶洗滌工作完成, 此模塊就是完成此功能。 library

18、ieee; use ieee.std_logic_1164.all; entity decoder is port( Q1,Q2: in std_logic; REV,RUN,PAUSE: out std_logic );end decoder; architecture rtl of decoder is signal choose:std_logic_vector(1 downto 0); begin choose(1)=q1;choose(0)REV=0;RUN=0;PAUSEREV=0;RUN=1;PAUSEREV=1;RUN=0;PAUSEREV=0;RUN=0;PAUSE=0; e

19、nd case; end process; REV=Q2;RUN=Q1;PAUSE=not(Q1 OR Q2); end rtl; 3.2.53.2.5 減法計數(shù)器減法計數(shù)器 由于洗衣機有工作時間,必須要一模塊來控制它的工作時間范圍,當(dāng)洗衣機開始 工作后,減法計數(shù)器即會實現(xiàn)減數(shù)功能,直到時間減到零,洗衣機便停止工作。 3.2.63.2.6 洗衣機運轉(zhuǎn)模塊洗衣機運轉(zhuǎn)模塊 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity washer_base is port(clk,clk_s,s

20、tart,cs:in std_logic;-CS 為異常判斷信號線 timer1,timer2:in std_logic_vector(4 downto 0);-洗衣時間 4/5,脫水時 間 1/5 vib_l,vib_r,over:out std_logic); end washer_base; architecture behav of washer_base is type states is(water_in,wash,water_out,dry,waiting); signal state:states; signal timer_1,timer_2:std_logic_vector

21、(4 downto 0); signal water_h,water_l,water_door,working:std_logic; signal min:std_logic_vector(4 downto 0); signal vibl,vibr:std_logic; begin states_switch:process(clk,start) begin if startevent and start=1 then stateif water_h=0 then state=wash; else stateif timer_1=00000 then state=water_out; else

22、 stateif water_l=0 then state=dry; else stateif timer_2=00000 then state=waiting; else stateif cs=0 then state=water_in; else statestate=waiting; end case; end if; end process states_switch; download:process(start) begin if startevent and start=1 then timer_1=timer1;timer_2=timer2;end if; end proces

23、s; count:process(clk_s) - 計時 variable sec:std_logic_vector( 5 downto 0); begin if state=wash then min=timer_1+timer_2; if clk_sevent and clk_s=1 then if sec= then sec:=;timer_1=timer_1-1; else sec:=sec+1;end if; end if; elsif state=dry then if clk_sevent and clk_s=1 then if sec= then sec:=;timer_2=t

24、imer_2-1; else sec:=sec+1;end if; end if; end if; end process count; vib_l=vibl;vib_r=vibr; -連接洗衣機正反轉(zhuǎn)信號與輸出端口 wash_run:process(clk_s) variable run_time:std_logic_vector(4 downto 0); begin if clk_sevent and clk=1 and cs=1 then run_time:=run_time+1; if run_time17 then vibr=1;vibl=0; else run_time then

25、vibl=1;vibr=0; end if; end if; end behav; 3.33.3 仿真及仿真結(jié)果分析仿真及仿真結(jié)果分析 EDA 工具在 EDA 技術(shù)應(yīng)用中占據(jù)極其重要的位置,EDA 的核心是利用計算機完成電 子設(shè)計全程自動化,因此基于計算機環(huán)境的 EDA 軟件的支持是必不可少的。此次設(shè)計 所用 EDA 工具是由著名的 Alter 公司生產(chǎn)的 MAXplus工具軟件,它是一種集成的開 發(fā)環(huán)境,支持原理圖、VHDL 和 Verilog 語言文本文件,以及波形文件作為設(shè)計輸入, 并支持這些文件的人以混合設(shè)計。 圖 3.2 洗衣機控制信號仿真圖 洗衣機接通電源,按 load 設(shè)置洗滌時

26、間按 start、rd 置為高電平洗衣機開始工作, 當(dāng)時鐘第一個上升沿到達時 run(正轉(zhuǎn)功能)為高電平維持 20s 以后變?yōu)榈碗娖蕉?pause(暫停功能)隨著時鐘上升沿的到來變?yōu)楦唠娖骄S持 10s 變?yōu)榈碗娖?,然?rev(反轉(zhuǎn)功能)開始隨著時鐘上升沿的到來變?yōu)楦唠娖焦ぷ骶S持 20s 后變?yōu)榈碗娖剑?再停止 pause 置高,接下來電路一直重復(fù)上述工作,知道定時器計數(shù)結(jié)束。 圖 3.3 總電路仿真波形 4.4.實驗調(diào)試結(jié)果實驗調(diào)試結(jié)果 電路設(shè)計完成以后,按照預(yù)定設(shè)計,輸入相應(yīng)數(shù)據(jù),調(diào)試電源電路,選定電容, 電壓線圈型號、參數(shù)。調(diào)試 LED 顯示電路,選定上拉電阻大?。?K) ,連接好 LE

27、D 顯示 器引腳。 組建 KEY 電路、晶振電路、完成控制信號集成放大電路參數(shù)的調(diào)試。連接各個外 圍電路與芯片對應(yīng)信號引腳,完成電路搭建 LED 燈按照設(shè)定時間規(guī)律間斷性亮起,數(shù) 碼管也顯示輸入時間并按減數(shù)計時產(chǎn)生相應(yīng)的數(shù)字顯示,直到到達預(yù)定時間停止工作 顯示零,實驗設(shè)計達到預(yù)期效果。 5.5.設(shè)計總結(jié)設(shè)計總結(jié) 本次課程設(shè)計是對所學(xué)的模擬電子技術(shù)基礎(chǔ)和數(shù)字電子技術(shù)基礎(chǔ)以及電工電子技術(shù) 實驗的高度總結(jié)應(yīng)用,在設(shè)計的過程中發(fā)現(xiàn)了自己在知識上所存在的不足,也意識到 除了必須具備專業(yè)知識以外,還必須具有塌實堅毅不服輸?shù)钠犯瘛?設(shè)計該洗衣機控制器,讓我加強了 FPGA 硬件編程的實際操作。對編程時出現(xiàn)的

28、各 種問題,找到相應(yīng)的辦法解決,并逐步完善程序 控制電路設(shè)計在一片 FPGA 芯片內(nèi),具有體積小、可靠性高、設(shè)計周期短,功能靈活的 特點。這尤其適用于小批量多品種新產(chǎn)品的開發(fā),以滿足人們追求新異、個性化的高 品質(zhì)生活的要求。 通過這次課程設(shè)計我對 FPGA 的編程更加熟悉,對定時器和計數(shù)器的設(shè)計,讓 我更加明白時序組合門電路設(shè)計思路和方法。而且自已獨立思考與設(shè)計,使我初步掌 握了 VHDL 的設(shè)計方法與一些技巧,本人從中受益匪淺。通過這個實驗設(shè)計,我更加熟 練地掌握了一些常見的數(shù)字芯片的設(shè)計方法,在設(shè)計中也參了和查閱了很多資料,從 中學(xué)到不少課本上沒有的東西。從本次課程設(shè)計的目的來看,收獲也是

29、不少的,它使 我們對課本以及以前學(xué)過的知識有了一個更好的總結(jié)與理解,也讓我們知道了,光分 開使不夠的,從外面學(xué)到的知識要把形成一各整體,這也很好的訓(xùn)練了外面對開發(fā)一 個項目應(yīng)該有怎樣的思路和準(zhǔn)備更清晰。無論是從 C 語言課程設(shè)計到金工實習(xí),還是 從電子實習(xí)到現(xiàn)在的數(shù)電課程設(shè)計,每一次自己都覺得有一個進步,雖然有些方面自 己做不出,但可以從老師和其他同學(xué)那里學(xué)到更好更多的東西,他們從另一個方面透 析了自己的困難,這是很重要的,它讓我學(xué)會了怎樣學(xué)習(xí)別人的長處并把它變成自己 的長處。有這樣的機會和收獲,要感謝老師的輔導(dǎo)以及同學(xué)的幫助,是他們讓自己有 了一個更好的認識,無論是學(xué)習(xí)還是生活,生活是實在的

30、,要踏實走路,雖然自己走 出來的路要崎嶇的多,但覺得踏實、放心。 6.6.參考文獻參考文獻 1 潘松,黃繼業(yè).EDA技術(shù)實用教程 M .北京:科學(xué)出版社, 2010. 2 楊君,王景存.基于VerilogHDL的流水線的設(shè)計方法及應(yīng)用J.武漢科技大學(xué)學(xué)報(自然科 學(xué)版) ,2002,25(4): 394396. 3王金明.數(shù)字體統(tǒng)設(shè)計與Verilog HDL M .北京:電子工業(yè)出版社.2010 4 王景存,李炳生,郝國法,等.用 FPGA 實現(xiàn)數(shù)字邏輯分析儀設(shè)計J.武漢科技大學(xué)學(xué)報(自然科學(xué) 版),2001,24(1):298 300.tgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2C

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論