




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、湖南文理學院課程設計報告課程名稱: 自動化專業(yè)課程設計 專業(yè)班級: 自動化 2班 學生姓名: 石 揚 指導教師: 彭 琛 完成時間: 報告成績: 評閱意見: 評閱教師 日期 基 于 F P G A 的 洗 衣 機 控 制 器 的 設 計 摘 要基于FPGA的洗衣機控制器設計,主要通過使用VerilogHDL語言,在Quartus2上完成電路設計以及程序開發(fā)模擬。實現(xiàn)以洗衣機控制器為核心,加上必要的外圍電路,能夠?qū)ο匆聶C工作狀態(tài)自由控制。全部程序由控制器模塊,分頻模塊,按鍵去抖模塊,顯示譯碼模塊組成,頂層模塊使用原理圖實現(xiàn),底層由Verilog HDL語句實現(xiàn)。核心控制器FPGA根據(jù)控制端口的信
2、號輸入,向洗衣機發(fā)出正傳,反轉(zhuǎn),待機信號,并通過數(shù)碼管和LED燈顯示當前的工作狀態(tài)以及工作時間。該洗衣機控制電路可以方便快捷的實現(xiàn)對洗衣機的控制和狀態(tài)的顯示功能,同時具有緊急暫停待機功能,保證控制的可靠性,以及洗滌循環(huán)次數(shù)報警功能,提高任務精度。 目錄一、系統(tǒng)設計11、設計要求12、總體設計方案11.設計思路12.系統(tǒng)組成1二、單元硬件電路設計21、按鍵模塊22、顯示模塊23、中心控制模塊2三、軟 件 設 計31、控制模塊程序設計32、顯示譯碼程序設計43、按鍵去抖程序設計44、分頻模塊程序設計5四、系統(tǒng)仿真測試51、控制模塊仿真52、顯示譯碼模塊仿真73、分頻模塊仿真84、按鍵去抖模塊仿真8
3、五、心得體會9六、參考文獻10七、附錄11附錄一:電路使用說明11附錄二:電路原理圖11附錄三:程序代碼121.控制器模塊程序122.顯示譯碼模塊程序153.按鍵去抖模塊程序164.分頻模塊程序17基于FPGA的洗衣機控制器的設計 一、系統(tǒng)設計1、設計要求1洗衣機的狀態(tài)為待機5s正轉(zhuǎn)60s待機5s反轉(zhuǎn)60s,并用3個LED燈和7段顯示器分別表示其工作狀態(tài)和顯示相應工作狀態(tài)下的時間。2可自行設定洗衣機的循環(huán)次數(shù),這里設置最大的循環(huán)次數(shù)為15次。3具有緊急情況的處理功能。當發(fā)生緊急情況時,立即轉(zhuǎn)入待機狀態(tài),緊急情況解除后,繼續(xù)執(zhí)行后續(xù)步驟;4洗衣機設定循環(huán)次數(shù)遞減到零時立即報警,以表示洗衣機設定的
4、循環(huán)次數(shù)已經(jīng)結(jié)束。2、總體設計方案1、設計思路題目要求設計一個洗衣機控制電路,實現(xiàn)對洗衣機工作狀態(tài)的控制。1. 中心控制模塊基本實現(xiàn)要求功能,包括計時、LED輸出、電機正反轉(zhuǎn)信號輸出、洗滌循環(huán)置數(shù)設置。2. 分頻模塊實現(xiàn)從高頻向低頻轉(zhuǎn)換,供中心控制模塊使用3按鍵去抖模塊,實現(xiàn)對按鍵的去抖功能。4. 數(shù)碼顯示電路,將10進制時間通過數(shù)碼管顯示出來。2、系統(tǒng)組成洗衣機控制電路主要由中心控制模塊、按鍵模塊,顯示模塊,時鐘分頻模塊,四部分組成組成。FPGA鍵盤模塊(按鍵,撥碼開關等)顯示模塊(數(shù)碼管,LED燈等)晶體振蕩模塊(產(chǎn)生100Hz信號)報警功能系統(tǒng)結(jié)構(gòu)框圖 二、單元硬件電路設計1、按鍵模塊設
5、有1個按鍵:add;1個撥碼開關start。add用于初始狀態(tài)下設置循環(huán)次數(shù),沒按一次循環(huán)次數(shù)加一,start用于啟動和停止洗衣機。2、顯示模塊 設有3個LED燈,兩個數(shù)碼管,一個蜂鳴器。LED燈用來表示當前狀態(tài),數(shù)碼管用來表示當前狀態(tài)所剩余時間。蜂鳴器用來表示洗衣是否完成,洗衣完成時蜂鳴器發(fā)出聲音。3、中心控制模塊中心控制模塊是以一片altera公司的Cyclone2系列FPGA為主體,配合一些外圍電路實現(xiàn)的。Cyclone2 系列FPGA采用全銅層、低K值、1.2伏SRAM工藝設計,裸片尺寸被盡可能最小的優(yōu)化。采用300毫米晶圓,以TSMC成功的90nm工藝技術(shù)為基礎,Cyclone II
6、 器件提供了4,608到68,416個邏輯單元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、專用外部存儲器接口電路、4kbit嵌入式存儲器塊、鎖相環(huán)(PLL)和高速差分I/O能力。 三、軟 件 設 計采用Quartus2作為開發(fā)工具對可編程邏輯器件FPGA的編程,底層由Verilog HDL語句實現(xiàn),頂層使用原理圖實現(xiàn)。軟件設計由控制模塊,分頻模塊,按鍵去抖模塊,顯示譯碼模塊四部分組成,由于輸入時鐘為100 HZ,因此使用分頻模塊輸出1HZ的方波,給控制模塊提供每1s自加1的信號,控制模塊輸出的計數(shù)時間輸入給數(shù)碼管顯示譯碼模塊,通過譯碼模塊定時器的值可以在數(shù)碼管上顯示,
7、控制模塊由此1hz的方波信號可以控制洗衣機的正轉(zhuǎn)、反轉(zhuǎn)、待機和報警工作方式。按鍵消抖模塊的作用是為了消除按鍵抖動而設立的。1、控制模塊程序設計控制模塊采用有限狀態(tài)機實現(xiàn)對洗衣機工作狀態(tài)的控制。狀態(tài)轉(zhuǎn)換示意圖s0: 待機狀態(tài) s1:正轉(zhuǎn)狀態(tài) s2:待機狀態(tài) s3:反轉(zhuǎn)狀態(tài)軟件流程圖循環(huán)設置循環(huán)開始待機5秒正轉(zhuǎn)60秒待機5秒反轉(zhuǎn)60秒達到循環(huán)次數(shù)最大值循環(huán)結(jié)束循環(huán)次數(shù)未到報警開始2、顯示譯碼程序設計數(shù)碼管顯示譯碼模塊主要功能是把定時器送來的值譯碼并通過數(shù)碼管顯示出來。fpga的Verilog HDL硬件語言是并行的這有別于軟件的描述語言掃描方式。3、按鍵去抖程序設計在進行獨立按鍵或者矩陣式按鍵的設
8、計的時候,我們在按下鍵盤的時候其實并不只是按下去而是有一個抖動的過程,就連松手的過程也有抖動,然而這個抖動通常被人們所忽略,從而導致輸入數(shù)據(jù)的錯誤和亂碼,因此我們必須對按鍵進行按鍵的消抖處理。fpga的Verilog HDL語言是硬件描述語言,主要運用了狀態(tài)機和延時的消抖方式。4、分頻模塊程序設計該模塊通過輸入的clock信號(100HZ)分頻后得到1HZ,供給中心控制模塊,其余模塊使用未分頻的100HZ信號。 四、系統(tǒng)仿真測試1、控制模塊仿真 頂層原理圖設計 設置循環(huán)次數(shù)為3,按start后洗衣機開始工作。循環(huán)次數(shù)由3次減為2次,從電機反轉(zhuǎn)到待機狀態(tài)待機5秒后,電機正轉(zhuǎn),開始第二次循環(huán)當按下
9、emergency緊急狀況按鈕計數(shù)器count保持不變,電機停止轉(zhuǎn)動當emergency結(jié)束后電機恢復轉(zhuǎn)動,洗衣機正常工作循環(huán)次數(shù)結(jié)束,count和times同時清零,洗衣機停止工作2、顯示譯碼模塊仿真3、分頻模塊仿真4.按鍵去抖模塊仿真 五、心得體會經(jīng)過2周的設計,通過不斷地努力與完善,終于完成了這次的專業(yè)綜合課程設計。從一開始的確定課題,到后來的資料查找、理論學習,這一切都使我的理論知識和動手能力進一步得到提高。在選擇課題、原理分析、調(diào)試過程中不可避免地遇到各種問題,這要求保持沉著冷靜,聯(lián)系書本理論知識積極地思考,遇到解決不了的可以請教同學或指導老師,雖然在設計過程中不可避免地遇到很多問題
10、,但是最后還是在老師以及同學的幫助下圓滿解決了這些問題,實現(xiàn)了整個系統(tǒng)設計與最后調(diào)試,相關指標達到期望的要求,很好地完成了。經(jīng)過這次課程設計培養(yǎng)了我的設計能力以及全面的考慮問題能力。雖然設計的過程是痛苦的但是收獲成功的喜悅卻是如此的讓人激動。相信這次課程設計對我以后的學習及工作都會產(chǎn)生積極深遠的影響。 另外。通過使用VerilogHDL語言編程實現(xiàn)了一個洗衣機控制器,實現(xiàn)了各項控制要求,該控制器操作簡單,可用于實際的洗衣機控制器設計中。在Quartus2上完成電路設計以及程序開發(fā)模擬。實現(xiàn)以洗衣機控制器為核心,加上必要的外圍電路,能夠?qū)ο匆聶C工作狀態(tài)自由控制。全部程序由控制器模塊,分頻模塊,按
11、鍵去抖模塊,顯示譯碼模塊組成,頂層模塊使用原理圖實現(xiàn),底層由Verilog HDL語句實現(xiàn)。核心控制器FPGA根據(jù)控制端口的信號輸入,向洗衣機發(fā)出正傳,反轉(zhuǎn),待機信號,通過數(shù)碼管和LED燈顯示當前的工作狀態(tài)以及工作時間。該洗衣機控制電路可以方便快捷的實現(xiàn)對洗衣機的控制和狀態(tài)的顯示功能,同時具有緊急暫停待機功能,保證控制的可靠性,以及洗滌循環(huán)次數(shù)報警功能,提高任務精度。 六、參考文獻1、黑金開發(fā)板配套教程VerilogHDL那些事兒2、康華光主編電子技術(shù)基礎數(shù)字部分(第五版)3、陳明義主編電子技術(shù)課程設計實用教程S 2002年05月第1版4、EDA先鋒工作室設計與驗證Verilog HDL 5、
12、馬建國.孟憲元編著FPGA現(xiàn)代數(shù)字系統(tǒng)設計 七、附錄附錄一:電路使用說明1.電路通電后,在start開關未閉合前可以通過add按鍵開關設置洗衣機洗滌循環(huán)次數(shù)(待機-正轉(zhuǎn)-待機-反轉(zhuǎn),為一次循環(huán))。2.設定循環(huán)次數(shù)以后,閉合start開關,洗衣機控制器開始工作。3.可以觀察到指示待機LEDSTOP燈亮5s,正轉(zhuǎn)LEDZHENG燈亮60S,待機LEDSTOP亮5s,反轉(zhuǎn)LEDFAN燈亮60s,如此循環(huán)直至工作允許時間為0,報警器發(fā)出警報。4.當按下emergency緊急情況鍵時,電機停止工作,開始進入待機狀態(tài),同時LEDSTOP亮。附錄二:電路原理圖附錄三:程序代碼1.控制器模塊程序module
13、xiyiji(add,ledzheng,ledfan,ledstop,clk,zheng,fan,start,alram,emergency,count);input add,clk,start,emergency; /add循環(huán)次數(shù),start洗衣機工作emergency緊急工作output ledzheng,ledfan,ledstop,zheng,fan,alram,count; /ledzheng正轉(zhuǎn)ledfan反轉(zhuǎn),ledstop暫停alram警報,count計數(shù)reg ledzheng,ledfan,ledstop;reg zheng,fan;reg alram;reg 3:0ti
14、m,times;reg 9:0 counter;reg 7:0 count;reg 3:0 state;parameter s0=4'b0001;parameter s1=4'b0010;parameter s2=4'b0100;parameter s3=4'b1000; /4種工作狀態(tài)always (posedge add) begin if(tim<15) /最大循環(huán)次數(shù)15次 tim<=tim+1'b1; else tim<=0; end always (posedge clk)begin if(start=0) /strart=
15、0時,賦初值 begin zheng<=0; fan<=0; count<=8'b00000000; times<=tim; alram<=1'b0; end else begin if(emergency=1) /緊急情況時,暫停 begin zheng<=1'b0; fan<=1'b0; ledstop<=1'b1; ledzheng<=1'b0; ledfan<=1'b0; end else case(state) s0:begin /狀態(tài)s0開始 if(times=0)
16、begin alram<=1'b1; count<=8'b00000000; end else begin zheng<=0;fan<=0; ledzheng<=1'b0; ledfan<=1'b0; ledstop<=1'b1; if(count=8'b00000101) /待機時間夠5秒 begin state<=s1; /狀態(tài)轉(zhuǎn)換到s1 zheng<=1;fan<=0; ledzheng<=1'b1; ledfan<=1'b0; ledstop<=
17、1'b0; count<=8'b00000001; end else count<=count+1'b1; end end s1:begin /狀態(tài)s1開始 zheng<=1;fan<=0; ledzheng<=1'b1; ledfan<=1'b0; ledstop<=1'b0; if(count=8'b00111100) /正轉(zhuǎn)夠60秒 begin state<=s2; /切換到s2 zheng<=0;fan<=0; ledzheng<=1'b0; ledfan&
18、lt;=1'b0; ledstop<=1'b1; count<=8'b00000001; end else count<=count+1'b1; end s2:begin /s2開始 zheng<=0;fan<=0; ledzheng<=1'b0; ledfan<=1'b0; ledstop<=1'b1; if(count=8'b00000101) /待機時間夠5秒 begin state<=s3; zheng<=0;fan<=1; ledzheng<=1
19、39;b0; ledfan<=1'b1; ledstop<=1'b0; count<=8'b00000001; end else count<=count+1'b1; end s3:begin /s3開始 zheng<=0;fan<=1; ledzheng<=1'b0; ledfan<=1'b1; ledstop<=1'b0; if(count=8'b00111100) /反轉(zhuǎn)夠60秒 begin times<=times-1'b1; count<=8
20、9;b00000001; state<=s0; zheng<=0;fan<=0; ledzheng<=1'b0; ledfan<=1'b0; ledstop<=1'b1; end else count<=count+1'b1; if(times=1&&count=8'b00111100) /如果循環(huán)次數(shù)結(jié)束,并且反轉(zhuǎn)夠60秒,則停止工作,報警 begin alram<=1'b1; count<=8'b00000000; end end default: begin st
21、ate<=s0; end endcase end endendmodule2.顯示譯碼模塊程序module shumaguan(qclock,code1,code2,discode,enable); input qclock; input 3:0code1,code2; output 6:0discode; output 1:0enable; reg 6:0discode; reg 1:0enable; reg 2:0count; reg 3:0code; always(posedge qclock) begin if(count=1) count<=0; else count&l
22、t;=count+1; case(count)3'b000: begin code<=code2;enable<=8'b10; end3'b001: begin code<=code1;enable<=8'b01; end endcase case(code)4'b0000:discode<=7'b1111110;4'b0001:discode<=7'b0110000;4'b0010:discode<=7'b1101101;4'b0011:discode<=7'b1111001;4'b0100:discode<=7'b0110011;4'b0101:discode<=7'b1011011;4&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園身體協(xié)調(diào)性訓練方案計劃
- 會展活動策劃與實施的心理學應用考核試卷
- 科技美術(shù)展覽的觀察與欣賞方法
- 物業(yè)單位合同范本
- 借款續(xù)約合同范本
- 養(yǎng)殖員工合同范本
- 科技引領下的媒體融合與產(chǎn)業(yè)發(fā)展
- 科技產(chǎn)品品牌的競爭力提升路徑
- 短視頻營銷與社交媒體的融合策略
- 知產(chǎn)轉(zhuǎn)讓中的技術(shù)秘密保護策略
- 比亞迪公司應收賬款管理的問題及對策分析
- 【高考真題】2024年新課標全國Ⅱ卷高考語文真題試卷(含答案)
- 旅游服務質(zhì)量評價體系
- 義烏市建筑工程質(zhì)量通病防治措施100條(2022版本)
- 蘇教版(SJ)《四年級下冊數(shù)學》補充習題
- 體育足球籃球排球體操教案
- 統(tǒng)編版高中政治必修3必背主觀題
- 保管錢財協(xié)議書的范本
- 探索2-個人信息資源的防護措施-課件-蘇科版(2023)初中信息技術(shù)七年級下冊
- 供電所安全第一課培訓
- 湖北省武漢市二月調(diào)考讀后續(xù)寫解析+課件
評論
0/150
提交評論