版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 . . . 目 錄1 引言12 EDA技術(shù)介紹22.1 EDA概述22.2 MAX+plus II軟件簡介23 電梯控制器設(shè)計33.1設(shè)計要求33.2電梯運行規(guī)則33.3電梯整體設(shè)計33.4端口設(shè)計說明43.5具體程序設(shè)計說明53.5.1 庫聲明部分53.5.2 實體部分53.5.3 結(jié)構(gòu)體部分54 系統(tǒng)仿真95 硬件測試116 結(jié)論12參考文獻13附錄141 引言當今世界,部分地區(qū)人口高度密集,人和土地資源短缺的矛盾日益激化。這就注定了必須合理的利用土地去解決人與土地的矛盾。而興建高層建筑是其中有效措施之一。因此能使人們快速便捷地到達目的樓層的電梯就應(yīng)運而生了。 隨著電子技術(shù)日薪月異的發(fā)展
2、,集成電路從20 世紀60年代的小規(guī)模到中規(guī)模,再到大規(guī)模集成電路,伴隨著它的高速發(fā)展,EDA技術(shù)、CPLD 技術(shù)也得到充分發(fā)展。電梯的使用越來越普遍,已從原來只在商業(yè)大廈、賓館使用,過度到在辦公室、居民樓等場所使用,并且對電梯功能的要求也不斷提高,相應(yīng)地其控制方式也在不停地發(fā)生變化。對于電梯的控制,隨著技術(shù)的不斷發(fā)展,微型計算機在電梯控制上的應(yīng)用日益廣泛,現(xiàn)在已進入全微機化控制的時代。電梯的微機化控制主要有以下幾種形式:PLC控制,單片機控制,單板機控制,單微機控制,多微機控制,人工智能控制1。隨著EDA技術(shù)的快速發(fā)展,CPLD/FPGA2已廣泛應(yīng)用于電子設(shè)計與控制的各個方面。本設(shè)計就是使用
3、一片CPLD/FPGA來實現(xiàn)對電梯的控制的。三層電梯廣泛應(yīng)用在大型的貨運之中。其使用便捷,貨運周期短,效率高成本低,對貨運事業(yè)具有相當?shù)慕?jīng)濟價值。電梯作為高層建筑物的重要交通工具與人們的工作日益緊密FPGA/CPLD作為新一代工業(yè)控制器,以其高可靠性和技術(shù)先進性,在電梯控制中得到廣泛應(yīng)用,從而使電梯由傳統(tǒng)的繼電器控制方式發(fā)展為計算機控制的一個重要方向,成為當前電梯控制和技術(shù)改造的熱點之一。電梯控制器是控制電梯按顧客要求自動上下的裝置。本文采用VHDL語言來設(shè)計實用三層電梯控制器,其代碼具有良好的可讀性和易理解性,源程序經(jīng)A1tera公司的MAX+plus II軟件仿真,目標器件選用CPLD器件
4、。通過對三層電梯控制器的設(shè)計,可以發(fā)現(xiàn)本設(shè)計有一定的擴展性,而且可以作為更多層電梯控制器實現(xiàn)的基礎(chǔ)。2 EDA技術(shù)介紹2.1 EDA概述EDA技術(shù)是20世紀90年代初從計算機輔助設(shè)計(Computer Adied Design)、計算機輔助制造(Computer Adied Manufacture)、計算機輔助測試(Computer Adied Testing)和計算機輔助工程(Computer Adied Engineering)的概念發(fā)展而來的。隨著超大規(guī)模集成電路(Very Large Scale Integration)規(guī)模和技術(shù)復雜度的急劇增長,一塊芯片集成門可達幾十萬甚至幾百萬門,
5、并且還在迅速增長,電子系統(tǒng)人工設(shè)計已十分困難,必須依靠電子設(shè)計自動化技術(shù)。EDA技術(shù)的基本特征和基本工具總的來說,現(xiàn)代EDA技術(shù)的基本特征是采用高級語言描述,具有系統(tǒng)級仿真和綜合能力。它主要采用并行工程和“自頂向下”的設(shè)計方法,使開發(fā)者從一開始就要考慮到產(chǎn)品生成周期的諸多方面,包括質(zhì)量、成本、開發(fā)時間與用戶的需求等等,然后從系統(tǒng)設(shè)計入手,在頂層進行功能方框圖的劃分和結(jié)構(gòu)設(shè)計,在方框圖一級進行仿真、糾錯、并用VHDL、Verilog-HDL、ABEL等硬件描述語言對高層次的系統(tǒng)行為進行描述,在系統(tǒng)一級進行驗證,然后再用邏輯綜合優(yōu)化工具生成具體的門級邏輯電路的網(wǎng)表3,其對應(yīng)的物理實現(xiàn)級可以是印刷電
6、路板或?qū)S眉呻娐?。利用EDA技術(shù)進行電子系統(tǒng)的設(shè)計,具有以下幾個特點:用軟件的方式設(shè)計硬件;用軟件方式設(shè)計的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由相關(guān)的開發(fā)軟件自動完成;設(shè)計過程中可用相關(guān)軟件進行各種仿真;系統(tǒng)可現(xiàn)場編程,在線升級;整個系統(tǒng)可集成在一個芯片上,具有體積小、功耗低與可靠性高的特點。因此,EDA技術(shù)是現(xiàn)代電子設(shè)計的發(fā)展趨勢。電子設(shè)計自動化(EDA)是一種實現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動化的技術(shù),它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),它吸收了計算機科學領(lǐng)域的大多數(shù)最新研究成果,以高性能的計算機作為工作平臺,促進了工程發(fā)展。2.2 MAX+plus II軟件簡介MAX+plus是Altera公司提供的
7、FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界上最大可編程邏輯器件4的供應(yīng)商之一。MAX+plus界面友好,使用便捷,被譽為業(yè)界最易用易學的EDA軟件。在MAX+plus上可以完成設(shè)計輸入、元件適配、時序仿真和功能仿真5、編程下載整個流程,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,使設(shè)計者能方便地進行設(shè)計輸入、快速處理和器件編程6。3 電梯控制器設(shè)計3.1設(shè)計要求 EDA設(shè)計實現(xiàn)一個3層電梯的控制系統(tǒng)。系統(tǒng)要求如下: (1)電梯到達樓層時,能發(fā)出指示信號(數(shù)碼管顯示樓層號); (2)能指示電梯的運行狀態(tài)(上行或下行); (3)電梯的門操作具有關(guān)門延時設(shè)置(當按下梯關(guān)門按鈕時立刻響應(yīng)關(guān)門操作,否則延
8、時固定時間后響應(yīng)關(guān)門操作); (4)正確響應(yīng)各樓層的上行和下行請求(各樓層設(shè)置上行和下行選擇按鈕)。3.2電梯運行規(guī)則電梯運行規(guī)則:當電梯處在上升模式時,只響應(yīng)比電梯所在位置高的上樓請求,由下向上逐個執(zhí)行,直到最后一個上樓請求執(zhí)行完畢。如果高層有下樓請求,直接升到有下樓請求的最高樓層,然后進入下降模式。當電梯在一樓時,不管是梯梯外,電梯都只可能接收到上升的請求信號。此時,電梯就進入預上升狀態(tài),準備作上升運行。如果電梯沒有接收到請求信號,電梯則在一樓待機。當電梯在二樓時,電梯則可能出現(xiàn)三種情況:電梯并沒有接收到梯梯外的任何請求信號時,電梯停在二樓待機;電梯接收到上升請求信號,進入預上升狀態(tài);電梯
9、接收到下降請求信號,進入預下降狀態(tài)。 當電梯在三樓時,不管是梯梯外,電梯都只可能接收到下降的請求信號。此時,電梯就進入預下降狀態(tài),準備作下降運行。如果電梯沒有接收到請求信號,電梯則停在二樓待機。3.3電梯整體設(shè)計電梯控制器采用狀態(tài)機來實現(xiàn),思路比較清晰??梢詫㈦娞莸却拿棵腌娨耘c開門、關(guān)門都看成一個獨立的狀態(tài)。由于電梯又是每秒上升或下降一層,所以就可以通過一個統(tǒng)一的1秒為周期的時鐘來觸發(fā)狀態(tài)機。根據(jù)電梯的實際工作情況,可以把狀態(tài)機設(shè)置10個狀態(tài),分別是“電梯停留在第1層”、“開門”、“關(guān)門”、“開門等待第1秒”、“開門等待第2秒”、“開門等待第3秒”、“開門等待第4秒”、“上升”、“下降”和“
10、停止狀態(tài)”。各個狀態(tài)之間的轉(zhuǎn)換條件可由上面的設(shè)計要求所決定。電梯初始狀態(tài)為一層,處在開門狀態(tài),開門指示燈亮。一層電梯入口處設(shè)有上樓請求開關(guān),二層電梯入口設(shè)有上、下樓請求開關(guān),三層電梯入口處設(shè)有下樓請求開關(guān),電梯部設(shè)有乘客到達樓層的停站請求開關(guān)與其顯示,電梯部還設(shè)有乘客關(guān)門請求。設(shè)置電梯所處位置指示(用數(shù)碼管表示)與電梯上升或下降指示。電梯到達有停站請求的樓層后,電梯門打開,開門指示燈亮。當按下梯關(guān)門按鈕時立刻響應(yīng)關(guān)門操作,否則,開門4秒后,電梯門關(guān)閉,開門指示燈滅,電梯繼續(xù)運行,直至執(zhí)行完最后一個請求信號后停在當前層。電梯控制系統(tǒng)能記憶電梯外的請求信號,并按照電梯運行規(guī)則工作,每個請求信號執(zhí)行
11、完畢后隨即清除。3.4端口設(shè)計說明由功能要求得到本程序設(shè)計的端口必須包括:時鐘信號(clk);系統(tǒng)復位信號(reset);一樓電梯外人的上升請求信號(up1);二樓電梯外人的上升請求信號(up2);二樓電梯外人的下降請求信號(down2);三樓電梯外人的下降請求信號(down2);電梯部人到達樓層的請求信號(stop1、stop2、stop3);電梯部關(guān)門請求信號(close);所有輸入信號等于1,表示有請求,等于0,表示無請求;電梯外部上升指示燈(uplight)和下降請求指示燈(downlight),它們與up1、up2、down2、down3信號相對應(yīng);電梯部乘客到達樓層的停站請求燈(s
12、toplight),該信號與stop1、stop2和stop3信號相對應(yīng);電梯運行模式指示(udsig),1代表下降模式,0代表上升模式;電梯所在樓層指示(position),表示電梯在對應(yīng)樓層;電梯所在樓層數(shù)碼管表示(dout),該信號與position信號相對應(yīng);電梯門狀態(tài)指示(doorlight),1表示開門,0表示關(guān)門。3.5具體程序設(shè)計說明整段代碼由三大部分組成:庫聲明,實體,結(jié)構(gòu)體。3.5.1 庫聲明部分調(diào)用VHDL庫,通過library語句本程序應(yīng)用了VHDL庫中的”通用ieee庫”和”標準std庫”。library ieee;use ieee.std_logic_1164.al
13、l;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;3.5.2 實體部分實體部分列出了代碼所用到的所用輸入輸出端口。結(jié)構(gòu)體部分共使用了分頻進程,電梯狀態(tài)進程,讀按鍵、控制指示燈進程和信號燈進程4個進程。主控制器系統(tǒng)由VHDL語言實現(xiàn),其輸入輸出端口定義如下:entity flift isport(clk:in std_logic; 時鐘信號 close :in std_logic; 立即關(guān)門rightlight:buffer std_logic; 門燈信號 up1:in std_logic; 樓上升按鈕 up2:in s
14、td_logic; 二樓上升按鈕 down2:in std_logic; 二樓下將按鈕 down3:in std_logic; 三樓下將按鈕uplight:buffer std_logic_vector(3 downto 1); 上升指示燈dnlight:buffer std_logic_vector(3 downto 1); 下將指示燈stop1,stop2,stop3:in std_logic; 停止按鈕stoplight:buffer std_logic_vector(3 downto 1); 停止指示燈position:buffer integer range 1 to 3; 樓層信號
15、led: buffer std_logic_vector(3 downto 0); 樓層指示燈doorlight:out std_logic; 門燈信號udsig:buffer std_logic); 電梯運行狀態(tài)3.5.3 結(jié)構(gòu)體部分 使用狀態(tài)機來實現(xiàn)電梯功能。在結(jié)構(gòu)體中,設(shè)計了倆個進程互相配合,一個是狀態(tài)機進程作為主要進程,另外一個是信號燈控制進程作為輔助進程。狀態(tài)機進程中的很多判斷條件是以信號燈進程產(chǎn)生的信號燈信號為依據(jù)的,而信號燈進程號燈的熄滅又是由狀態(tài)機進程中傳出的clearup和cleardn信號來控制。 在狀態(tài)機進程中,在電梯的上升狀態(tài)中,通過
16、對信號燈的判斷,決定下一個狀態(tài)是繼續(xù)上升還是停止;在電梯下降狀態(tài)中,也是通過對信號燈的判斷,決定下一個狀態(tài)是繼續(xù)下降還是停止;在電梯停止狀態(tài)中,判斷是最復雜的,通過對信號的判斷,決定電梯是上升、下降還是停止。在信號燈控制進程中,由于使用了專門的頻率較高的按鍵時鐘,所以使得按鍵的靈敏度增大,但是時鐘頻率不能過高,否則容易使按鍵過于靈敏。按鍵后產(chǎn)生的點亮的信號燈(邏輯值為1)用于作為狀態(tài)機進程中的判斷條件,而clearup和cleardn信號為邏輯l使得相應(yīng)的信號燈熄滅。分頻進程:該進程的目的是產(chǎn)生不同頻率的兩個時鐘,電梯控制時鐘fliclk和按鍵控制時鐘buttclk。process(clk)產(chǎn)
17、生電梯控制時鐘fliclk和按鍵控制時鐘buttclk begin if (clk'event and clk='1') then q<=q+1; end if; buttclk<=q(0); fliclk<=q(3);end process;狀態(tài)機進程:該部分是整個設(shè)計的核心,根據(jù)電梯的工作模式,將電梯的工作分為10個狀態(tài),分別為停一層stopno1、開門狀態(tài)dooropen、關(guān)門狀態(tài)doorclose、開門等待1秒wait1、開門等待2秒wait2、開門等待3秒wait3、開門等待4秒wait4、上升up、下降down和停止stop。在每個狀態(tài)下,
18、判斷輸入信號的請求,轉(zhuǎn)入下一狀態(tài)且產(chǎn)生對應(yīng)得輸出信號。停一層狀態(tài):電梯開門同時轉(zhuǎn)入下一狀態(tài)wait1。 when stoponl=>doorlight<='1' position<=1; pos:=1;state<=wait1;開門等待1秒:該狀態(tài)時重新計入上升下降請求。如果此時有關(guān)門請求,則轉(zhuǎn)入下一狀態(tài)doorclose;如果沒有請求,則下一狀態(tài)為wait2。 when wait1=>clearup<='0' cleardn<='0' if(close='1') then state&l
19、t;=doorclose; else state<=wait2; end if;開門等待2秒:如果此時有關(guān)門請求,則轉(zhuǎn)入下一狀態(tài)doorclose;如果沒有請求,則下一狀態(tài)為wait3。開門等待3秒:如果此時有關(guān)門請求,則轉(zhuǎn)入下一狀態(tài)doorclose;如果沒有請求,則下一狀態(tài)為wait4。開門等待4秒:該狀態(tài)的下一狀態(tài)為doorclose。關(guān)門狀態(tài):此時電梯開門。該狀態(tài)要分為2種情況進行分析即電梯處于上升情況或下降情況。當處于上升模式,同時電梯位于三層,如果此時電梯的部與外部都沒有請求,電梯轉(zhuǎn)為下降模式,并進入下一狀態(tài)doorclose;如果此時電梯部有在三層下的請求或三層外部有下樓請
20、求,電梯進入下一狀態(tài)dooropen;否則電梯轉(zhuǎn)為下降模式,并進入下一狀態(tài)down。 if (position=3) then if (stoplight="000" and uplight="000" and downlight="000" ) then udsig<='1' state<=doorclose; elsif(stoplight(3)='1' or downlight(3)='1') then state<=dooropen; else udsig<
21、;='1' state<=down; end if;當處于上升模式,同時電梯位于二層,如果此時電梯的部與外部都沒有請求,電梯仍為上升模式,并進入下一狀態(tài)doorclose;如果此時電梯部有在二層下的請求或二層外部有下樓請求或上樓請求,電梯進入下一狀態(tài)dooropen;如果此時電梯部有在三層下的請求或三層外部有下樓請求,電梯仍為上升模式,并進入下一狀態(tài)up;否則電梯轉(zhuǎn)為下降模式,并進入下一狀態(tài)down。 elsif (position=2) then if(stoplight="000" and uplight="000" and d
22、ownlight="000") then udsig<='0' state<=doorclose; elsif (stoplight(3)='1' or downlight(3)='1') then udsig<='0' state<=up; else udsig<='1' state<=down; end if;當處于上升模式,同時電梯位于一層,如果此時電梯的部與外部都沒有請求,電梯仍為上升模式,并進入下一狀態(tài)doorclose;如果此時電梯部有在一層下的請
23、求或一層外部有上樓請求,電梯進入下一狀態(tài)dooropen;否則電梯仍為上升模式,并進入下一狀態(tài)up。當處于下降模式,同時電梯位于一層,如果此時電梯的部與外部都沒有請求,電梯轉(zhuǎn)為上升模式,并進入下一狀態(tài)doorclose;如果此時電梯部有在一層下的請求或一層外部有上樓請求,電梯進入下一狀態(tài)dooropen;否則電梯轉(zhuǎn)為上升模式,并進入下一狀態(tài)up。當處于下降模式,同時電梯位于二層,如果此時電梯的部與外部都沒有請求,電梯仍為下降模式,并進入下一狀態(tài)doorclose;如果此時電梯部有在二層下的請求或二層外部有下樓請求或上樓請求,電梯進入下一狀態(tài)dooropen;如果此時電梯部有在一層下的請求或一層
24、外部有上樓請求,電梯仍為下降模式,并進入下一狀態(tài)down;否則電梯轉(zhuǎn)為上升模式,并進入下一狀態(tài)up。當處于下降模式,同時電梯位于三層,如果此時電梯的部與外部都沒有請求,電梯仍為下降模式,并進入下一狀態(tài)doorclose;如果此時電梯部有在三層下的請求或三層外部有下樓請求,電梯進入下一狀態(tài)dooropen;否則電梯仍為下降模式,并進入下一狀態(tài)down。上升:電梯所在樓層數(shù)加一。如果此時電梯在二層同時二層外部有上升或下降的請求或電梯部有在二層下的請求,則進入下一狀態(tài)stop。如果此時電梯在二層同時三層外部有下降的請求或電梯部有在三層下的請求,則進入下一狀態(tài)up;否則進入下一狀態(tài)stop。 when
25、 up=>position<=position+1; pos:=pos+1; if (pos=2 and (uplight(2)='1' or downlight(2)='1'or stoplight(2)='1' ) then state<=stop; elsif(pos=2 and (stoplight(3)='1' or downlight(3)='1') then state<=up; else state<=stop; end if;下降:電梯所在樓層數(shù)減一。如果此時電梯在二
26、層同時二層外部有上升或下降的請求或電梯部有在二層下的請求,則進入下一狀態(tài)stop。如果此時電梯在二層同時一層外部有上升的請求或電梯部有在一層下的請求,則進入下一狀態(tài)down;否則進入下一狀態(tài)stop。停止:該狀態(tài)的下一狀態(tài)為dooropen。開門狀態(tài):電梯開門同時清除上升下降的請求,并轉(zhuǎn)入下一狀態(tài)wait1,其它的狀態(tài)都轉(zhuǎn)入下一狀態(tài)stopup='1'。如果清除上升的信號有效,則電梯部相應(yīng)樓層停止信號清除,同時電梯外部相應(yīng)樓層上升信號清除;否則當有上升請求時相應(yīng)的電梯外部上升指示燈亮。 if(clearup='1') then stoplight(positio
27、n)<='0' uplight(position)<='0' else if(up1='1')then uplight(1)<='1' elsif(up2='1')then uplight(2)<='1' end if; end if;如果清除下降的信號有效,則電梯部相應(yīng)樓層停止信號清除,同時電梯外部相應(yīng)樓層下降信號清除;否則當有下降請求時相應(yīng)的電梯外部下降指示燈亮。如果停止信號有效,則相應(yīng)的電梯部停站請求燈亮。4 系統(tǒng)仿真電梯運行情況分析,選取幾個典型運行情況進行分析。 電
28、梯運行情況一:二層和三層都有下樓請求并都要求停在一層,初始時電梯停在一層,上升模式,并保持開門狀態(tài)。外部沒有請求時,電梯等待4秒關(guān)門。由于二層和三層都是下樓請求,而電梯此時是上升模式,則電梯到二層時不停,直接運行到三層,開門,由于沒有關(guān)門請求,電梯等待4秒自動關(guān)門,并轉(zhuǎn)為下降模式。電梯運行到二層,開門,由于沒有關(guān)門請求,電梯等待4秒自動關(guān)門。由于電梯部要求停在一層,則電梯直接運行到一層,開門,由于沒有關(guān)門請求,電梯等待4秒自動關(guān)門,并自動轉(zhuǎn)為上升模式。仿真情況如圖1所示。圖1 電梯運行情況一電梯運行情況二:電梯一層有上樓請求并要求停在三層,二層同時有下樓請求并要求停在一層,初始時電梯停在一層,
29、上升模式,并保持開門狀態(tài)。外部沒有請求時,電梯等待4秒關(guān)門。當一層外部有上樓請求時,電梯開門,由于沒有關(guān)門請求,電梯等待4秒自動關(guān)門。雖然此時二層有下樓請求,但由于此時電梯處于上升模式,所以電梯在二層不停。電梯部要求在三層停止,電梯直接運行到三層停止,開門,由于沒有關(guān)門請求,電梯等待4秒自動關(guān)門,并自動轉(zhuǎn)為下降模式。二層外部有下樓請求,則電梯運行到二層停止,開門,由于沒有關(guān)門請求,電梯等待4秒自動關(guān)門。電梯部要求在一層停,則電梯停止在一層,開門,由于沒有關(guān)門請求,電梯等待4秒自動關(guān)門,并自動轉(zhuǎn)為上升模式。仿真情況如圖2所示。圖2 電梯運行情況二 電梯運行情況三:一層有上樓請求并要求停在三層,二
30、層有上樓請求并要求停在三層,同時二層有下樓請求并要求停在一層:初始時電梯停在一層,上升模式,并保持開門狀態(tài)。外部沒有請求時,電梯等待4秒關(guān)門。當一層外部有上樓請求時,電梯開門,由于沒有關(guān)門請求,電梯等待4秒自動關(guān)門。電梯部要求停在三層同時二層外部有上樓請求,則電梯停在二層,開門,由于沒有關(guān)門請求,電梯等待4秒自動關(guān)門。電梯運行到三層,執(zhí)行部請求,開門,由于沒有關(guān)門請求,電梯等待4秒自動關(guān)門,并自動轉(zhuǎn)為下降模式。二層有下樓請求,電梯運行到二層停止,開門,由于沒有關(guān)門請求,電梯等待4秒自動關(guān)門。電梯部要求停在一層,開門,由于沒有關(guān)門請求,電梯等待4秒自動關(guān)門,并轉(zhuǎn)為上升模式。仿真情況如圖3所示。圖
31、3 電梯運行情況三5 硬件測試該硬件調(diào)試使用實驗電路結(jié)構(gòu)圖5(即選擇模式5進行硬件測試),引腳鎖定與按鍵設(shè)置如下: clk>chip=lift;input pin=126; up1>chip=lift;input pin=8;按鍵1 up2>chip=lift;input pin=9;按鍵2 down2>chip=lift;input pin=10;按鍵3 down3>chip=lift;input pin=12;按鍵4 stop1>chip=lift;input pin=13;按鍵5 stop2>chip=lift;input pin=17;按鍵6
32、stop3>chip=lift;input pin=18;按鍵7 close>chip=lift;input pin=19;按鍵8 doorlight>chip=lift;output pin=20 udsig0>chip=lift;output pin=21 udsig1>chip=lift;output pin=22 led0>chip=lift;output pin=30 led1>chip=lift;output pin=31 led2>chip=lift;output pin=32 led3>chip=lift;output pi
33、n=336 結(jié)論分析設(shè)計要求可知用狀態(tài)機實現(xiàn)電梯的控制比較簡便,通過各個狀態(tài)的分析找出關(guān)系,逐步分解各個狀態(tài),進行設(shè)計。電梯到達樓層時,能發(fā)出指示信號;能指示電梯的運行狀態(tài);電梯的門操作具有關(guān)門延時設(shè)置;正確響應(yīng)各樓層的上行和下行請求。雖然本設(shè)計能基本實現(xiàn)上述的功能,但是也存在一定的問題:仿真中參數(shù)的設(shè)置問題。參數(shù)的設(shè)置對于整個設(shè)計可謂至關(guān)重要。在程序仿真之初,這個問題就曾一度被忽視。造成在調(diào)試的過程中對信號隨意設(shè)置,導致仿真失敗,還以為是程序出錯。例如,在程序仿真之初,clk信號的周期設(shè)置為100ms,由仿真的效果看到只能實現(xiàn)最基本的樓層顯示,其他功能都失效。后來通過對clk信號的周期進行調(diào)
34、試,當其減少到25ms時,電梯的上述功能都能基本實現(xiàn);信號傳輸延時的問題。通過調(diào)試仿真觀察,可以看到本系統(tǒng)的信號延時在10ms左右。但當改變仿真時的一些參數(shù)時(如仿真時間、時鐘信號的周期、分頻信號的周期以與器件的選用等),可以發(fā)現(xiàn)延時又會發(fā)生比較細微的變化。在日常應(yīng)用中,由于選用的硬件以與使用環(huán)境的問題,延時問題可能會進一步顯著。如何解決信號的延時,也是本設(shè)計未來需解決的主要問題之一。另外Endtime的值需要設(shè)置的長一點:20us左右,這樣就可以觀察到完整的仿真結(jié)果。通過這次課程設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結(jié)合起來,從理論中
35、得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨立思考的能力。在設(shè)計的過程中遇到問題,可以說得是困難重重,第一次課程設(shè)計,難免會遇到過各種各樣的問題,同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固。參考文獻1 松,黃繼業(yè) EDA技術(shù)實用教程:科學,20022 甘歷VHDL應(yīng)用與開發(fā)實際:科學,20033 梁勇,王留奎EDA技術(shù)教程:人民郵電,20104 柳春鋒電子設(shè)計自動化(EDA):理工大學,20055 黃仁欣EDA技術(shù)實用教程:清華大學,2006.6 朱正偉EDA技術(shù)與應(yīng)用:清華大學,2005附錄library ieee;use iee
36、e.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity flift isport(clk,up1,up2,down2,down3,stop1,stop2,stop3,close:in std_logic; uplight,downlight,stoplight:buffer std_logic_vector(3 downto 1); udsig:buffer std_logic; position:buffer integer range 1 to 3; doorlight
37、:out std_logic; dout:out std_logic_vector(3 downto 0);end flift;architecture behav of flift istypestate_typeis(stoponl,dooropen,doorclose,wait1,wait2,wait3,wait4,up,down,stop); signal state:state_type:=stoponl; signal clearup,cleardn,buttclk,fliclk:std_logic; signal q:std_logic_vector(3 downto 0);be
38、ginprocess(clk) -分頻進程,產(chǎn)生電梯控制時鐘fliclk和按鍵控制時鐘buttclk begin if (clk'event and clk='1') then q<=q+1; end if; buttclk<=q(0); fliclk<=q(3);end process;cont:process(fliclk) -狀態(tài)機進程 variable pos:integer range 3 downto 1; begin if (fliclk'event and fliclk='1') then case state
39、is when stoponl=>doorlight<='1' position<=1; pos:=1;state<=wait1; when wait1=>clearup<='0' cleardn<='0' -開門等待1秒 if(close='1') then state<=doorclose; else state<=wait2; end if; when wait2=> -開門等待2秒 if(close='1') then state<=door
40、close; else state<=wait3; end if; when wait3=> -開門等待3秒 if(close='1') then state<=doorclose; else state<=wait4; end if; when wait4=>state<=doorclose; -開門等待4秒 when doorclose=>doorlight<='0' -關(guān)門狀態(tài) if (udsig='0') then -上升情況 if (position=3) then -電梯在3層 if (
41、stoplight="000" and uplight="000" and downlight="000" ) then udsig<='1' state<=doorclose; elsif(stoplight(3)='1' or downlight(3)='1') then state<=dooropen; else udsig<='1' state<=down; end if; elsif (position=2) then -電梯在2層
42、 if(stoplight="000" and uplight="000" and downlight="000") then udsig<='0' state<=doorclose; elsif(stoplight(2)='1' or downlight(2)='1' or uplight(2)='1') then state<=dooropen; elsif (stoplight(3)='1' or downlight(3)='
43、;1') then udsig<='0' state<=up; else udsig<='1' state<=down; end if; elsif (position=1) then -電梯在1層 if(stoplight="000" and uplight="000" and downlight="000")then udsig<='0' state<=doorclose; elsif(stoplight(1)='1' or
44、 uplight(1)='1') then state<=dooropen; else udsig<='0' state<=up; end if; end if; elsif (udsig='1') then -下降情況 if (position=1) then -電梯在1層 if (stoplight="000"and uplight="000" and downlight="000") then udsig<='0' state<=doo
45、rclose; elsif(stoplight(1)='1' or uplight(1)='1') then state<=dooropen; else udsig<='0' state<=up; end if; elsif(position=2) then -電梯在2層 if(stoplight="000" and uplight="000" and downlight="000") then udsig<='1' state <=door
46、close; elsif(stoplight(2)='1' or downlight(2)='1' or uplight(2)='1') then state<=dooropen; elsif(stoplight(1)='1' or uplight(1)='1') then udsig<='1' state<=down; else udsig<='0' state<=up; end if; elsif(position=3) then -電梯在3層 if
47、(stoplight ="000" and uplight="000" and downlight="000")then udsig<='1' state<=doorclose; elsif(stoplight(3)='1' or downlight(3)='1') then state<=dooropen; else udsig<='1' state<=down; end if; end if; end if;when up=>position<=position+1; pos:=pos+1; -電梯上一層 if (pos=2 and (uplight(2)='1' or downlight(2)='1'or stoplight(2)='1' )then state<=stop;elsif(pos=2
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年廉潔購銷合同范本
- 2024年度安徽省某縣高速公路路基施工合同
- 2024年度企業(yè)級云存儲服務(wù)合同
- 2024大型活動場地土方平整合同
- 2024年度果皮箱批量采購合同
- 2024年度國際教育培訓項目合作合同
- 2024年光伏產(chǎn)業(yè)股權(quán)質(zhì)押擔保合同
- 2024年度高性能計算設(shè)備采購與安裝合同
- 2024年度八寶山殯儀館鮮花制品采購合同法律適用與解釋合同
- 2024年建筑工程項目分包合同
- GB/T 27021.1-2017合格評定管理體系審核認證機構(gòu)要求第1部分:要求
- GB/T 22796-2021床上用品
- 中國聯(lián)通LAN工程施工及驗收規(guī)范
- 中間表模式接口相關(guān)-住院與his-adt方案
- 臨床PCR檢驗的室內(nèi)質(zhì)控方法課件
- 計算機解決問題的過程-優(yōu)質(zhì)課課件
- 作文講評-“忘不了……”課件
- 深基坑安全管理(安全培訓)課件
- 12月4日全國法制宣傳日憲法日憲法知識科普宣教PPT教學課件
- 血液透析營養(yǎng)管理課件
- 神經(jīng)內(nèi)科醫(yī)療質(zhì)量評價體系考核標準
評論
0/150
提交評論