




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、成 績(jī) 評(píng) 定 表學(xué)生姓名田剛林班級(jí)學(xué)號(hào)1003030426專 業(yè)電子信息工程課程設(shè)計(jì)題目電梯控制器評(píng)語組長(zhǎng)簽字:成績(jī)?nèi)掌?20 年 月 日課程設(shè)計(jì)任務(wù)書學(xué) 院信息科學(xué)與工程學(xué)院專 業(yè)電子信息工程學(xué)生姓名田剛林班級(jí)學(xué)號(hào)1003030426課程設(shè)計(jì)題目 電梯控制器實(shí)踐教學(xué)要求與任務(wù): 利用EDA設(shè)計(jì)方法設(shè)計(jì)電梯控制器,設(shè)計(jì)平臺(tái)采用MAXPLUSII或QUARTUS,設(shè)計(jì)語言采用VHDL,具體功能如下(1) 每層電梯入口處設(shè)有上下請(qǐng)求開關(guān)(2) 設(shè)有電梯所處位置指示裝置及電梯運(yùn)行模式(上升或下降)指示裝置(3) 電梯到達(dá)有停站請(qǐng)求的樓層后,經(jīng)過1S電梯門打開,開門指示燈亮,開門4S后,電梯門關(guān)閉(
2、開門指示燈滅),電梯繼續(xù)運(yùn)行,并能響應(yīng)提前關(guān)門延時(shí)關(guān)門.(4)能記憶電梯內(nèi)外的所有請(qǐng)求信號(hào),并按照電梯運(yùn)行規(guī)則次序響應(yīng),每個(gè)請(qǐng)求信號(hào)保留至執(zhí)行后消除。(5)電梯初始狀態(tài)為一層開門.(6)具有超載報(bào)警和故障報(bào)警的功能.工作計(jì)劃與進(jìn)度安排:課程設(shè)計(jì)時(shí)間為10天(2周) 1、調(diào)研、查資料1天。 2、總體方案設(shè)計(jì)2天。 3、代碼設(shè)計(jì)與調(diào)試5天。 4、撰寫報(bào)告1天。 5、驗(yàn)收1天。指導(dǎo)教師: 201 年 月 日專業(yè)負(fù)責(zé)人:201 年 月 日學(xué)院教學(xué)副院長(zhǎng):201 年 月 日 摘要隨著EDA技術(shù)發(fā)展和應(yīng)用領(lǐng)域的擴(kuò)大與深入,EDA技術(shù)在電子信息、通訊、自動(dòng)控制及計(jì)算機(jī)應(yīng)用等領(lǐng)域的重要性突出。隨著技術(shù)市場(chǎng)與人
3、才市場(chǎng)對(duì)EDA的需求不斷提高,產(chǎn)品的市場(chǎng)需求和技術(shù)市場(chǎng)的要求也必然會(huì)反映到教學(xué)領(lǐng)域和科研領(lǐng)域中來。因此學(xué)好EDA技術(shù)對(duì)我們有很大的益處。電梯行業(yè)也隨著科技的發(fā)展,不斷地出現(xiàn)在人們生活的各個(gè)場(chǎng)所,因此,對(duì)電梯控制器的設(shè)計(jì)是一個(gè)很實(shí)用的例子,對(duì)我們掌握EDA技術(shù)的應(yīng)用也有很大的幫助。 關(guān)鍵詞:EDA技術(shù) 電子信息 通信 自動(dòng)控制目 錄1、 設(shè)計(jì)要求概述.1 1.1 設(shè)計(jì)要求.1 1.2 總體設(shè)計(jì)思路.1 1.3 具體設(shè)計(jì)思路.2 2、功能模塊整體結(jié)構(gòu)設(shè)計(jì).2 2.1 電梯控制器功能.2 2.2 電梯控制器設(shè)計(jì).3 3、各模塊詳細(xì)設(shè)計(jì).3 3.1底層模塊設(shè)計(jì).3 3.2 頂層模塊設(shè)計(jì).64、 邏輯仿
4、真與時(shí)序仿真的實(shí)現(xiàn).12 4.1 底層設(shè)計(jì)模塊的方針及參數(shù)設(shè)置.12 4.2 電梯分層控制模塊的仿真及參數(shù)設(shè)置.13 4.3電梯主控制器仿真波形.155、設(shè)計(jì)結(jié)論.15 5.1 設(shè)計(jì)功能實(shí)現(xiàn)情況.15 5.2 設(shè)計(jì)心得.16 6、參考文獻(xiàn) .1741 電梯控制器的設(shè)計(jì)要求與設(shè)計(jì)思路 1.1 設(shè)計(jì)要求十層電梯控制器的功能電梯控制器是控制電梯按顧客要求自動(dòng)上下的裝置。設(shè)計(jì)要求如下:(1)每層電梯入口處設(shè)有上下請(qǐng)求開關(guān),電梯內(nèi)設(shè)有顧客到達(dá)層次的停站請(qǐng)求開關(guān)。(2)設(shè)有電梯入口處位置指示裝置及電梯運(yùn)行模式(上升或下降)指示裝置。(3)電梯每秒升(降)一層樓(4)電梯到達(dá)有停站請(qǐng)求的樓層,經(jīng)過1秒電梯門
5、打開,開門指示燈亮,開門4秒后,電梯門關(guān)閉(開門指示燈滅),電梯繼續(xù)進(jìn)行,直至執(zhí)行完最后一個(gè)請(qǐng)求信號(hào)后停留在當(dāng)前層。(5)能記憶電梯內(nèi)外所有請(qǐng)求,并按照電梯運(yùn)行規(guī)則按順序響應(yīng),每個(gè)請(qǐng)求信號(hào)保留至執(zhí)行后消除。(6)電梯運(yùn)行規(guī)則當(dāng)電梯處于上升模式時(shí),只響應(yīng)比電梯所在位置高的上樓請(qǐng)求信號(hào),由下而上逐個(gè)執(zhí)行,直到最后一個(gè)上樓請(qǐng)求執(zhí)行完畢;如果高層有下樓請(qǐng)求,則直接升到有下樓請(qǐng)求的最高樓層,然后進(jìn)入下降模式。當(dāng)電梯處于下降模式時(shí)則與上升模式相反,只響應(yīng)比電梯所在位置低的下樓請(qǐng)求信號(hào),由下而下逐個(gè)執(zhí)行,直到最后一個(gè)下樓請(qǐng)求執(zhí)行完畢;如果低層有上樓請(qǐng)求,則直接降到有上樓請(qǐng)求的最低樓層,然后進(jìn)入上升模式。(7
6、)電梯初始狀態(tài)為一層開門狀態(tài) 1.2 總體設(shè)計(jì)思路實(shí)驗(yàn)?zāi)M生活中電梯運(yùn)動(dòng)控制,電梯總共十層,最簡(jiǎn)單的控制思想如下:(1)采集用戶呼叫樓層,并放入相應(yīng)的記憶單元中。(2)不考慮電梯轎廂所在樓層。若有用戶呼叫,電梯上行直到達(dá)到用戶呼叫最大層,再下行直到到達(dá)最低層,由此構(gòu)成一次行程。(3)每完成一次行程,檢測(cè)是否所用用戶呼叫均已響應(yīng)完畢。如果沒有,電梯繼續(xù)運(yùn)行,直到響應(yīng)完所有用戶呼叫。否則,電梯停止運(yùn)行。其中用戶請(qǐng)求包括外部請(qǐng)求和內(nèi)部請(qǐng)求。有外部升降請(qǐng)求信號(hào)需點(diǎn)亮相應(yīng)的外部請(qǐng)求指示燈,內(nèi)部升降請(qǐng)求信號(hào)同外呼。(4)根據(jù)電梯所在樓層,七段數(shù)碼管顯示樓層數(shù)。(5)根據(jù)用戶運(yùn)行方向,點(diǎn)亮相應(yīng)升降指示燈。(
7、6)當(dāng)電梯運(yùn)行到有相應(yīng)外部呼叫或內(nèi)部呼叫樓層時(shí),電梯停止運(yùn)行,滅掉相應(yīng)的呼叫顯示燈,電梯開關(guān)門后,繼續(xù)運(yùn)行。 1.3 具體設(shè)計(jì)思路電梯控制可以通過多種方法進(jìn)行設(shè)計(jì),其中采用狀態(tài)機(jī)來實(shí)現(xiàn),思路比較清晰??梢詫㈦娞莸却拿棵腌娨约伴_門,關(guān)門都看成一個(gè)獨(dú)立的狀態(tài)。由于電梯又是每秒上升或下降一層,所以就可以通過一個(gè)統(tǒng)一的一秒為周期的時(shí)鐘來觸發(fā)狀態(tài)機(jī)。根據(jù)電梯的實(shí)際工作情況,可以把狀態(tài)機(jī)設(shè)置10個(gè)狀態(tài),分別是“電梯停留在1層”,“開門”,“關(guān)門”,“開門等待第一秒”,“開門等待第二秒”,“開門等待第三秒”,“開門等待第四秒”,“上升”,“下降”和“停止”狀態(tài)。各個(gè)狀態(tài)之間的轉(zhuǎn)換條件可以由上面的設(shè)計(jì)要求所
8、決定。2. 功能模塊整體結(jié)構(gòu)設(shè)計(jì) 2.1 電梯控制器功能本電梯控制器分為主控制器和分控制器。主控制器是電梯內(nèi)部的控制器,每個(gè)樓層有一個(gè)分控制器。主控制器的功能:(1)完成10個(gè)樓層多用戶的載客服務(wù)控制。(2)電梯運(yùn)行時(shí)顯示電梯的運(yùn)行方向和所在的樓層。(3)當(dāng)電梯到達(dá)選擇的樓層時(shí),電梯自動(dòng)開門。(4)具有提前關(guān)電梯門和延時(shí)關(guān)電梯門的功能。(5)響應(yīng)分控制器的有效請(qǐng)求,如果到達(dá)有請(qǐng)求的樓層,電梯自動(dòng)開門。分控制器的功能:(1)顯示電梯的運(yùn)行狀態(tài)和所在的樓層。(2)顯示乘客的上升和下降請(qǐng)求。分控制器的有效請(qǐng)求原則:(1)電梯處于等待狀態(tài)時(shí),上升和下降請(qǐng)求都響應(yīng)。(2)電梯處于上升狀態(tài)時(shí),有上升請(qǐng)求的
9、分控制器所在樓層數(shù)大于電梯所在的樓層數(shù)。(3)電梯處于下降狀態(tài)時(shí),有下降請(qǐng)求的分控制器所在樓層數(shù)小于電梯所在的樓層數(shù)。2.2 電梯控制器設(shè)計(jì)控制器的功能模塊如圖2.1所示,包括主控制器、分控制器、樓層選擇器、狀態(tài)顯示器、譯碼器和樓層顯示器。乘客在電梯中選擇所要到達(dá)的樓層,通過主控制器的處理,電梯開始運(yùn)行,狀態(tài)顯示器顯示電梯的運(yùn)行狀態(tài),電梯所在的樓層數(shù)通過譯碼器譯碼從而在樓層顯示器中顯示。分控制器把有效的請(qǐng)求傳給主控的樓層數(shù)。由于分控制器相對(duì)簡(jiǎn)單很多,所以主控制器是核心部分。狀態(tài)顯示器主控制器分控制器譯碼器電梯位置顯示器樓層選擇器圖2.1 控制器的功能模塊圖3. 各模塊詳細(xì)設(shè)計(jì) 3.1底層模塊設(shè)
10、計(jì)及參數(shù)設(shè)置電梯控制計(jì)時(shí)模塊的源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity counter isport(clk,reset,clr,en:in std_logic; q:out integer range 0 to 8);end counter;architecture art of counter issignal temp:integer range 0 to 8;beginprocess(clk,rese
11、t,clr,en)beginif(clr='1')then temp<=0;elsif(rising_edge(clk)then if(reset='1')then temp<=5; elsif(en='1')then if temp=5 then temp<=temp; else temp<=temp+1; end if; end if; end if; end process; q<=temp;end art;電梯每層的分控制器源程序如下:library ieee;use ieee.std_logic_1164.
12、all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity layercontrol isport(clk,switch,upkey,downkey,opendoor:in std_logic;qin: in std_logic_vector(10 downto 1);ur,dr:out std_logic;disp1:out std_logic_vector(3 downto 0);end layercontrol;architecture art of layercontrol isconstant id:
13、std_logic_vector(10 downto 1):="0000001000"signal upkey_data:std_logic;signal downkey_data:std_logic;signal opendoor1:std_logic;signal opendoor2:std_logic;signal req_opendoor:std_logic;signal req_upr:std_logic;signal req_downr:std_logic;signal disp:std_logic_vector(3 downto 0);beginprocess
14、(clk)begin if rising_edge(clk)thenupkey_data<=upkey; downkey_data<=downkey;opendoor2<=opendoor1;opendoor1<=opendoor; end if;end process;req_opendoor<=(opendoor1 and not(opendoor2);process(switch,clk)begin if(switch='0')thenreq_upr<='0'req_downr<='0' elsif
15、(rising_edge(clk)then if(req_opendoor='1' and qin=id)then req_upr<='0' req_downr<='0' elsif(upkey='1' and upkey_data='0')then req_upr<='1' elsif(downkey='1' and downkey_data='0')then req_downr<='1' end if; end if; en
16、d process;ur<=req_upr;dr<=req_downr; with qin select disp<="0001" when "0000000001", "0010" when "0000000010", "0011" when "0000000100", "0100" when "0000001000", "0101" when "0000010000", &q
17、uot;0110" when "0000100000", "0111" when "0001000000", "1000" when "0010000000", "1001" when "0100000000", "1010" when "1000000000", "0000" when others;disp1<=disp;end art;3.2頂層模塊設(shè)計(jì)10層全自動(dòng)電梯控制器
18、頂層模塊源程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity elevator10 is port(clk:in std_logic; -時(shí)鐘信號(hào) switch:in std_logic; -電梯電源開關(guān),高電平時(shí)電梯正常工作 close:in std_logic; -強(qiáng)制關(guān)門信號(hào),高電平時(shí)電梯門立即關(guān)閉delay:in std_logic; -延時(shí)信號(hào)sel:in std_logic_vector(10 downto
19、1); -樓層選擇信號(hào) uplift:in std_logic_vector(10 downto 1); -電梯上升請(qǐng)求輸入信號(hào) downlift:in std_logic_vector(10 downto 1); -電梯下降請(qǐng)求輸入信號(hào) qout:out std_logic_vector(10 downto 1); -電梯狀態(tài)顯示輸出信號(hào) opendoor:out std_logic); -強(qiáng)制開門信號(hào)end elevator10;architecture art of elevator10 iscomponent counterport(clk,reset,clr,en:in std_lo
20、gic; q:out integer range 0 to 8);end component;type state_type is(up,m_up,down,m_down,stop,pause);signal state:state_type; -電梯的各種狀態(tài)signal clk1:std_logic; -1Hz時(shí)鐘信號(hào)signal clk4:std_logic; -4Hz時(shí)鐘信號(hào)signal req_up:std_logic; -上升請(qǐng)求信號(hào)signal req_down:std_logic; -下降請(qǐng)求信號(hào)signal runen:std_logic; -電梯運(yùn)行使能signal run
21、clr:std_logic; -電梯運(yùn)行復(fù)位signal stopen0:std_logic; -電梯停止使能signal stopen1:std_logic;signal stopclr:std_logic; -電梯停止復(fù)位signal req_upr:std_logic_vector(10 downto 1); -上升請(qǐng)求寄存器信號(hào)signal req_downr:std_logic_vector(10 downto 1); -下降請(qǐng)求寄存器信號(hào)signal position:std_logic_vector(10 downto 1); -電梯當(dāng)前位置信號(hào)signal uplift_dat
22、a:std_logic_vector(10 downto 1); -上升樓層數(shù)據(jù)顯示信號(hào)signal downlift_data:std_logic_vector(10 downto 1); -下降樓層數(shù)據(jù)顯示信號(hào)signal sel_data:std_logic_vector(10 downto 1); -選擇樓層數(shù)據(jù)顯示信號(hào)signal runtime: integer range 0 to 8; -電梯運(yùn)行時(shí)間signal opentime:integer range 0 to 8; -電梯開門時(shí)間signal openagain:std_logic; -電梯再次開門信號(hào)signal v
23、oidreset:std_logic; -電梯超載復(fù)位信號(hào)beginqout<=position;p0:process(clk) variable cnt0:integer range 0 to 4; begin if rising_edge(clk)then if cnt0=4 then clk4<='1'cnt0:=0; else clk4<='0'cnt0:=cnt0+1; end if; end if;end process;p1:process(clk4) variable cnt1:integer range 0 to 3; beg
24、in if rising_edge(clk4)then if cnt1=3 then clk1<='1'cnt1:=0; else clk1<='0'cnt1:=cnt1+1; end if; end if;end process;p2:process(switch,clk,uplift,downlift) begin if rising_edge(clk)then uplift_data<=uplift; downlift_data<=downlift; sel_data<=sel; if state=pause then req
25、_upr<=req_upr and not(position); req_downr<=req_downr and not(position); if(uplift/=uplift_data and req_up/='1' and position>uplift)then req_downr<=(req_downr or uplift); elsif(downlift/=downlift_data and req_up/='1' and position>downlift)then req_downr<=(req_downr
26、or downlift); elsif(uplift/=uplift_data and req_down/='1' and position<uplift)then req_upr<=(req_upr or uplift); elsif(downlift/=downlift_data and req_down/='1' and position<downlift)then req_upr<=(req_upr or downlift); elsif(sel/=sel_data)then if(sel<position and req_
27、up/='1')then req_downr<=(req_downr or sel); elsif(sel>position and req_down/='1')then req_upr<=(req_upr or sel); end if; end if; elsif(state=up or state=m_up)then if(uplift/=uplift_data and req_down/='1' and position<uplift)then req_upr<=(req_upr or uplift); en
28、d if; elsif(state=down or state=m_down)then if(downlift/=downlift_data and req_up/='1' and position>downlift)then req_downr<=(req_downr or downlift); end if; end if; end if;end process; req_up<='1' when req_upr/="0000000000" else '0' req_down<='1'
29、; when req_downr/="0000000000"else '0'p3:process(switch,clk) begin if(switch='0')then state<=stop;opendoor<='0'openagain<='1' elsif rising_edge(clk) then case state is when stop=>state<=pause; when pause=> if(opentime=0 and openagain='0
30、' and (req_up='1'or req_down='1') or(uplift/=uplift_data and position=uplift) or(downlift/=downlift_data and position=downlift)then opendoor<='1'stopclr<='0'stopen1<='1' end if; if(opentime=3 or (openagain='1' and (req_up='1' or re
31、q_down='1')then if(req_up='1')then state<=up;opendoor<='0'stopen1<='0'stopclr<='1'openagain<='0' elsif(req_down='1')then state<=down;opendoor<='0'stopen1<='0'stopclr<='1'openagain<='0
32、9; else state<=pause;opendoor<='0'stopen1<='0'stopclr<='1'openagain<='1' end if; end if; when up=> if(runtime=4)then runen<='0'runclr<='1' if(position=(req_upr and position)then state<=pause; else state<=m_up; end if; else
33、 runclr<='0'runen<='1' end if; when m_up=> state<=up; when down=> if(runtime=4)then runen<='0'runclr<='1' if(position=(req_downr and position)then state<=pause; else state<=m_down; end if; else runclr<='0'runen<='1' end
34、 if; when m_down=>state<=down; end case; end if;end process;p4:process(switch,clk4,delay) begin if(switch='0')then position<="0000000001" -電梯電源低電平時(shí),電梯停在第一層 elsif(rising_edge(clk4)then stopen0<=(not(delay)and stopen1); if(runtime=3) then if(state=up)then position<=(position(9 downto 1)&'0'); elsif(state=down)thenposition<=('0'&position(10 downto 2); end if; end if
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電聲器件在汽車導(dǎo)航系統(tǒng)中的應(yīng)用考核試卷
- 電氣設(shè)備在電力系統(tǒng)工程中的應(yīng)用考核試卷
- 科技樂園的未來之旅考核試卷
- 2025汽車貸款借款合同
- 2025智能保全服務(wù)合同
- 2025企業(yè)勞動(dòng)合同模板示例
- 凍庫(kù)出租合同書范例二零二五年
- 二零二五員工終止勞動(dòng)合同證明
- 2025年簽訂購(gòu)房合同時(shí)應(yīng)注意的問題整合
- 2025沙發(fā)買賣合同示范文本
- 斷親協(xié)議書模板
- TD/T 1061-2021 自然資源價(jià)格評(píng)估通則(正式版)
- 水利安全生產(chǎn)風(fēng)險(xiǎn)防控“六項(xiàng)機(jī)制”右江模式經(jīng)驗(yàn)分享
- 級(jí)進(jìn)模具畢業(yè)設(shè)計(jì)說明書
- 兒童呼吸機(jī)基本使用
- 手術(shù)替代治療方案
- 建筑工程項(xiàng)目管理績(jī)效評(píng)價(jià)指標(biāo)體系
- T-CNPPA 3025-2023 藥包材質(zhì)量協(xié)議管理指南
- 家庭教育講座活動(dòng)流程
- 大學(xué)《思想道德與法治》期末考試復(fù)習(xí)題庫(kù)(含答案)
- 麥肯錫入職培訓(xùn)第一課在線閱讀
評(píng)論
0/150
提交評(píng)論