




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上 基于FPGA(verilog)編寫的三層電梯一、需求分析;1、問題描述與要求:用Verilog語言設計一個電梯控制器,通過實驗板對設計進行演示;要求樓層的高度大于等于,并且所設計的電梯調度算法滿足提高服務質量、降低運行成本的原則,電梯每2s上升或下降一層,關門需要2s,電梯開門維持4s,電梯超載后蜂鳴器會響,報警。二、系統(tǒng)描述;1、考慮到板上的資源利用情況,設定電梯控制器適用的樓層為3層.2、在電梯的內部有一個控制面板,它負責按下請求到的樓層,并且顯示當前尚未完成的目的地請求,當?shù)竭_該樓層以后自動撤銷本樓層的請求,即將面板燈熄滅.3、除1層和3層分別只有上/下按鈕外
2、,每個樓層(電梯門口旁)的召喚面板都有兩個按鈕,分別指示上樓和下樓請求。4、電梯的外部面板會顯示電梯當前所在的樓層,及上行還是下行(暫停顯示剛才運行時的狀態(tài)).當電梯在運行時,對應的樓層燈間固定顯示一段時間進入下一樓層。 5、電梯調度方案:電梯向一個方向運行時,只對本方向前方的請求進行應答,直到本方向前方無請求時,才對反方向的請求進行應答。當前內部控制面板上有的請求,只要經(jīng)過所在樓層均會立即響應.在所有內部外部請求都已完成后,電梯轉入等待。電梯模型:(如下附圖)第層每樓層的召喚按鈕面板,顯示信息有:當前電梯所在位置(樓層)和電梯的運行方向(上下)控制信息:使用電梯的請求(向上或向下)第層第層電
3、梯電梯內部的控制面板,顯示信息有:電梯當前的位置和電梯當前的運行方向(上下),以及請求到達的樓層控制信息有:請求要到達的目的樓層三,功能模塊劃分1, 分頻模塊:50Mhz的系統(tǒng)時鐘輸入,經(jīng)過分頻后產生1KHZ的時鐘和0.5hz的時鐘,1KHZ的時鐘用于采集按鍵信號,按鍵的消抖和顯示模塊中數(shù)碼管的動態(tài)掃描。 0.5hz的時鐘用于主控制模塊的的工作時鐘,電梯每2s上升或下降一層,電梯開門維持4s,關門需要2s。2, 按鍵消抖模塊:由于按鍵在按下的過程中有抖動的現(xiàn)象,會影響信號的采集結果,所以有必要對按鍵進行消抖,消抖模塊為: 3, 報警模塊:電梯開門后,如果電梯超載則蜂鳴器響,報警 報警模塊為:4
4、, 寄存器模塊:用于對采集的按鍵信號進行保存,供后面的主控制模塊分析,采樣頻率為1khz,寄存器模塊為: 5, 主控制模塊:該模塊為整個設計的核心,控制電梯的運行情況;主控制模塊為:6, 顯示模塊:該模塊用于將主控制的模塊的輸出數(shù)據(jù)進行譯碼顯示,顯示模塊為:7, 主控制模塊的功能分析:將主控制模塊分為5個狀態(tài),idle(等待),ceng1(第一層),ceng2(第二層),ceng3(第三層),kai(開門),主要通過這幾個狀態(tài)之間的轉變來實現(xiàn)電梯的工作情況8, 板上硬件介紹:按鍵:sw1為一層的上升請求,sw2為二層的上升請求,sw3為二層的下降請求,sw4為三層的下降請求,sw5為超載信號輸
5、入,sw6為選擇第一層,sw7為選擇第二層,sw8為選擇第三層.數(shù)碼管:左邊三個數(shù)碼管分別顯示各層電梯所處的狀態(tài),為0時表示空閑等待狀態(tài),為1時表示下降,為2時表示上升,第4,5,6個數(shù)碼管為各層顯示電梯處于的層數(shù),第7個數(shù)碼管為電梯內部顯示電梯所在層數(shù),第8個數(shù)碼管為內部顯示電梯的工作方式,為0時表示空閑等待狀態(tài),為1時表示下降,為2時表示上升。Led燈:最左邊的led指示電梯門的開關情況,亮時表示處于開,滅時表示處于關;最右邊的led指示超載時的報警燈顯示四,整個設計的程序1. 分頻模塊的程序:module fenpin(clk,clk_1khz,clk0_5hz);input clk;o
6、utput clk_1khz,clk0_5hz;reg clk_1khz_r,clk0_5hz_r;reg14:0counter;reg9:0cnt;assign clk_1khz=clk_1khz_r;assign clk0_5hz=clk0_5hz_r; always(posedge clk)beginif(counter=15'd24999)beginclk_1khz_r<=clk_1khz_r;counter<=0;endelsecounter<=+counter+1'b1;endalways(posedge clk_1khz)beginif(cnt=
7、10'd999)beginclk0_5hz_r<=clk0_5hz_r;cnt<=0;endelsecnt<=cnt+1'b1;endendmodule2. 報警模塊的程序: module beep(clk,load, beep,led); input clk,load; output beep,led; reg beep_r,load_flag,load_reg;reg22:0count,count_end;assign beep=beep_r;assign led=load_reg;initialbeginbeep_r<=1'b0;load_
8、flag<=1'b0;load_reg<=1'b1;endalways(posedge clk)begincount<=count+1'b1;if(count=count_end)begincount<=0;if(load_flag=1'b1)beep_r<=beep_r;elsebeep_r<=1'b0;endendalways(count10:9 or load or load_reg)beginload_reg<=load;if(load_reg!=1'b1)beginload_flag<=1
9、'b1;count_end<=20'd12655;/gaoyinendelsebeginload_flag<=1'b0;count_end<=20'hfffff;endendendmodule3. 寄存器模塊的程序 module register(clk,clr,out1_up,out2_up,out2_down,out3_down,key1,key2,key3,out1_up_r,out2_up_r,out2_down_r,out3_down_r,key1_r,key2_r,key3_r);input clk,clr,out1_up,out2
10、_up,out2_down,out3_down,key1,key2,key3;output out1_up_r,out2_up_r,out2_down_r,out3_down_r,key1_r,key2_r,key3_r;reg out1_up_rr,out2_up_rr,out2_down_rr,out3_down_rr,key1_rr,key2_rr,key3_rr;assign out1_up_r=out1_up_rr;assign out2_up_r=out2_up_rr;assign out2_down_r=out2_down_rr;assign out3_down_r=out3_d
11、own_rr;assign key1_r=key1_rr;assign key2_r=key2_rr;assign key3_r=key3_rr;always(posedge clk)beginif(!clr)beginout1_up_rr<=1'b1;out2_up_rr<=1'b1;out2_down_rr<=1'b1;out3_down_rr<=1'b1;key1_rr<=1'b1;key2_rr<=1'b1;key3_rr<=1'b1;endelsebeginout1_up_rr<=
12、out1_up;out2_up_rr<=out2_up;out2_down_rr<=out2_down;out3_down_rr<=out3_down;key1_rr<=key1;key2_rr<=key2;key3_rr<=key3;endendendmodule4. 主控制模塊的程序 module control(clk,clr,out1_up_r,out2_up_r,out2_down_r,out3_down_r,key1_r,key2_r,key3_r,deng,LED_OUT_1,LED_OUT_2,LED_OUT_3,LED_IN,MODE_IN
13、,MODE_OUT_1,MODE_OUT_2,MODE_OUT_3);input clk,clr,out1_up_r,out2_up_r,out2_down_r,out3_down_r,key1_r,key2_r,key3_r;output deng;output 3:0LED_OUT_1,LED_OUT_2,LED_OUT_3,LED_IN,MODE_IN,MODE_OUT_1,MODE_OUT_2,MODE_OUT_3; reg3:0LED_r; reg3:0 mode;/電梯的工作模式,上升還是下降 reg x,y,led;reg2:0state;reg cnt,clk_05hz_r;r
14、eg 2:0counter4s;/4s計數(shù)器reg3:1up,down,ting;wire3:0temp;parameter idle=3'b000,ceng1=3'b001,ceng2=3'b010, ceng3=3'b011,kai=3'b100; assign temp=out1_up_r,out2_up_r,out2_down_r,out3_down_r; assign deng=led;/指示門的開關狀態(tài),亮表示開,否則關assign LED_IN=LED_r;/電梯內部指示層數(shù)assign LED_OUT_1=LED_r;/電梯外部一層指示層
15、數(shù)assign LED_OUT_2=LED_r;/電梯外部二層指示層數(shù)assign LED_OUT_3=LED_r;/電梯外部三層指示層數(shù)assign MODE_IN=mode;/電梯內部電梯狀態(tài)指示assign MODE_OUT_1=mode;/電梯外部一層狀態(tài)指示assign MODE_OUT_2=mode;/電梯外部二層狀態(tài)指示assign MODE_OUT_3=mode;/電梯外部三層狀態(tài)指示initialbeginup<=3'b000;down<=3'b000;ting<=3'b000;endalways(posedge clk or neg
16、edge clr)beginif(!clr)beginstate<=idle;endelsebeginif(out1_up_r=1'b0)up1<=1'b1;if(out2_up_r=1'b0)up2<=1'b1;if(out3_down_r=1'b0)down3<=1'b1;if(out2_down_r=1'b0)down2<=1'b1;if(key1_r=1'b0)ting1<=1'b1;if(key2_r=1'b0)ting2<=1'b1;if(key
17、3_r=1'b0)ting3<=1'b1;case(state)idle:beginLED_r<=4'd1;mode<=4'd0;/空閑led<=1'b0;/處于guanif(temp!=4'b1111)beginmode<=4'd2;/上升state<=ceng1;/任何請求都會破壞初態(tài)endelsestate<=idle;endceng1:beginLED_r<=4'd1;mode<=4'd2;/上升if(up1=1'b1 | ting1=1'b1
18、)beginstate<=kai;ting1<=1'b0;up1<=1'b0;endelse if(up2=1'b1 | ting2=1'b1)state<=ceng2;else if(down3=1'b1 | ting3=1'b1)beginstate<=ceng2;x<=1'b1;endelse if(down2=1'b1 | ting2=1'b1 )beginstate<=ceng2;mode<=4'd2;endelsestate<=idle;endcen
19、g2: beginLED_r<=4'd2;if(mode=4'd2)/上升beginif(up2=1'b1 | ting2=1'b1)beginstate<=kai;up2<=1'b0;ting2<=1'b0;endelse if(down3=1'b1 | ting3 | x=1'b1)beginstate<=ceng3;x<=1'b0;endelse if(down2=1'b1 | up1=1'b1 | ting1=1'b1)mode<=4'd1;
20、/處于下降elsebeginmode<=4'd0;state<=ceng2;endendelse if(mode=4'd1)/下降beginif(up2=1'b1)|(ting2=1'b1)| (down2=1'b1)beginstate<=kai;ting2<=1'b0;down2<=1'b0;up2<=1'b0;endelse if(up1=1'b1) | (ting1=1'b1) | (y=1'b1)beginstate<=ceng1;y<=1'
21、b0;endelse if(up2=1'b1) | (down3=1'b1) |( ting3=1'b1)beginmode<=4'd2;/上升state<=ceng3;endelsebeginmode<=4'd0;state<=ceng2;endendendceng3:begin/mode<=4'd2;/shangshenLED_r<=4'd3;if(ting3=1'b1)| (down3=1'b1)beginmode<=4'd0;state<=kai;ting3&
22、lt;=1'b0;down3<=1'b0;endelse if(down2=1'b1) | (ting2=1'b1)beginmode<=4'd1;state<=ceng2;endelse if(up1=1'b1) | (ting1=1'b1)beginmode<=4'd1;y<=1'b1;state<=ceng2;endelse if(up2=1'b1)beginmode<=4'd1;/下降state<=ceng2;endelsebeginmode<=
23、4'd0;/下降state<=ceng3;endendkai:beginif(counter4s<3'd2)/開4sbeginled<=1'b1;counter4s<=counter4s+1'b1;endelsebeginled<=1'b0;counter4s<=0;if(LED_r=4'd1)state<=ceng1;else if(LED_r=4'd2)state<=ceng2;else if(LED_r=4'd3)state<=ceng3;endenddefault:st
24、ate<=idle;endcaseendendendmodule5. 顯示模塊的程序 module dispaly(clk_1khz,LED_OUT_1,LED_OUT_2,LED_OUT_3,LED_IN,MODE_OUT_1,MODE_OUT_2,MODE_OUT_3,MODE_IN,dout,sel);input clk_1khz;input3:0LED_OUT_1,LED_OUT_2,LED_OUT_3,LED_IN,MODE_OUT_1,MODE_OUT_2,MODE_OUT_3,MODE_IN;output7:0dout,sel;reg7:0dout_r,sel_r;reg3
25、:0data;reg2:0counter;assign dout=dout_r;assign sel=sel_r;always(posedge clk_1khz)beginif(counter=3'd7)counter<=0;elsecounter<=counter+1'b1;endalways(posedge clk_1khz)begincase(counter)3'd0:data<=MODE_IN;3'd1:data<=LED_IN;3'd2:data<=LED_OUT_3;3'd3:data<=LED_OUT_2;3'd4:data<=LED_OUT_1;3'd5:data<=MODE_OUT_3;3'd6:data<=MODE_OUT_2;3'd7:data<=MODE_OUT_1;default:data<=4'b1010;endcaseendalways(posedge clk_1khz)begincase(count
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 在移動工作場景下探討智慧遠端醫(yī)服務的變革與創(chuàng)新方向
- 成人教育線上學習模式創(chuàng)新中的教師角色轉變與專業(yè)發(fā)展研究報告
- 基于數(shù)字孿生的科技園區(qū)設施智慧化管理方案
- 主題樂園項目建設方案與施工組織計劃
- 5G通信設備項目運營管理手冊(模板)
- 老舊小區(qū)改造應急預案與風險防范措施
- 基于數(shù)字化的醫(yī)療行業(yè)廣告變革探索
- 提升企業(yè)內部運營效率的數(shù)字化戰(zhàn)略設計
- 醫(yī)療設備與服務的數(shù)字孿生實踐
- 數(shù)字經(jīng)濟產業(yè)園項目實施階段的管理與控制:實施過程中的管理措施與控制手段
- 預防錯混料方案
- 環(huán)境因素對肝膽管癌信號通路的影響
- DLT 1051-2019電力技術監(jiān)督導則
- 2024社會工作者(初)《社會工作實務(初級)》考前沖刺卷(含答案)
- 建筑地基處理技術規(guī)范
- 2021-2022學年廣東省中山市八年級下學期期末考試 英語 試題
- 2023年山東煙草專賣局筆試試題
- 浙江省教學能力大賽二等獎中職語文教學實施報告現(xiàn)場展示
- 農貿市場建設項目可行性研究報告
- 計量器具周檢計劃表
- 老年人口腔功能的衰退與對策
評論
0/150
提交評論