[畢業(yè)設(shè)計(jì)精品]采用VHDL語言來設(shè)計(jì)實(shí)用三層電梯控制器.doc_第1頁
[畢業(yè)設(shè)計(jì)精品]采用VHDL語言來設(shè)計(jì)實(shí)用三層電梯控制器.doc_第2頁
[畢業(yè)設(shè)計(jì)精品]采用VHDL語言來設(shè)計(jì)實(shí)用三層電梯控制器.doc_第3頁
[畢業(yè)設(shè)計(jì)精品]采用VHDL語言來設(shè)計(jì)實(shí)用三層電梯控制器.doc_第4頁
[畢業(yè)設(shè)計(jì)精品]采用VHDL語言來設(shè)計(jì)實(shí)用三層電梯控制器.doc_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

課程設(shè)計(jì)說明書目 錄1 引言12 eda技術(shù)介紹22.1 eda概述22.2 max+plus ii軟件簡(jiǎn)介23 電梯控制器設(shè)計(jì)33.1設(shè)計(jì)要求33.2電梯運(yùn)行規(guī)則33.3電梯整體設(shè)計(jì)33.4端口設(shè)計(jì)說明43.5具體程序設(shè)計(jì)說明53.5.1 庫聲明部分53.5.2 實(shí)體部分53.5.3 結(jié)構(gòu)體部分54 系統(tǒng)仿真95 硬件測(cè)試116 結(jié)論12參考文獻(xiàn)13附錄141 引言當(dāng)今世界,部分地區(qū)人口高度密集,人和土地資源短缺的矛盾日益激化。這就注定了必須合理的利用土地去解決人與土地的矛盾。而興建高層建筑是其中有效措施之一。因此能使人們快速便捷地到達(dá)目的樓層的電梯就應(yīng)運(yùn)而生了。 隨著電子技術(shù)日薪月異的發(fā)展,集成電路從20 世紀(jì)60年代的小規(guī)模到中規(guī)模,再到大規(guī)模集成電路,伴隨著它的高速發(fā)展,eda技術(shù)、cpld 技術(shù)也得到充分發(fā)展。電梯的使用越來越普遍,已從原來只在商業(yè)大廈、賓館使用,過度到在辦公室、居民樓等場(chǎng)所使用,并且對(duì)電梯功能的要求也不斷提高,相應(yīng)地其控制方式也在不停地發(fā)生變化。對(duì)于電梯的控制,隨著技術(shù)的不斷發(fā)展,微型計(jì)算機(jī)在電梯控制上的應(yīng)用日益廣泛,現(xiàn)在已進(jìn)入全微機(jī)化控制的時(shí)代。電梯的微機(jī)化控制主要有以下幾種形式:plc控制,單片機(jī)控制,單板機(jī)控制,單微機(jī)控制,多微機(jī)控制,人工智能控制1。隨著eda技術(shù)的快速發(fā)展,cpld/fpga2已廣泛應(yīng)用于電子設(shè)計(jì)與控制的各個(gè)方面。本設(shè)計(jì)就是使用一片cpld/fpga來實(shí)現(xiàn)對(duì)電梯的控制的。三層電梯廣泛應(yīng)用在大型的貨運(yùn)之中。其使用便捷,貨運(yùn)周期短,效率高成本低,對(duì)貨運(yùn)事業(yè)具有相當(dāng)?shù)慕?jīng)濟(jì)價(jià)值。電梯作為高層建筑物的重要交通工具與人們的工作日益緊密fpga/cpld作為新一代工業(yè)控制器,以其高可靠性和技術(shù)先進(jìn)性,在電梯控制中得到廣泛應(yīng)用,從而使電梯由傳統(tǒng)的繼電器控制方式發(fā)展為計(jì)算機(jī)控制的一個(gè)重要方向,成為當(dāng)前電梯控制和技術(shù)改造的熱點(diǎn)之一。電梯控制器是控制電梯按顧客要求自動(dòng)上下的裝置。本文采用vhdl語言來設(shè)計(jì)實(shí)用三層電梯控制器,其代碼具有良好的可讀性和易理解性,源程序經(jīng)a1tera公司的max+plus ii軟件仿真,目標(biāo)器件選用cpld器件。通過對(duì)三層電梯控制器的設(shè)計(jì),可以發(fā)現(xiàn)本設(shè)計(jì)有一定的擴(kuò)展性,而且可以作為更多層電梯控制器實(shí)現(xiàn)的基礎(chǔ)。 2 eda技術(shù)介紹2.1 eda概述eda技術(shù)是20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(computer adied design)、計(jì)算機(jī)輔助制造(computer adied manufacture)、計(jì)算機(jī)輔助測(cè)試(computer adied testing)和計(jì)算機(jī)輔助工程(computer adied engineering)的概念發(fā)展而來的。隨著超大規(guī)模集成電路(very large scale integration)規(guī)模和技術(shù)復(fù)雜度的急劇增長(zhǎng),一塊芯片內(nèi)集成門可達(dá)幾十萬甚至幾百萬門,并且還在迅速增長(zhǎng),電子系統(tǒng)人工設(shè)計(jì)已十分困難,必須依靠電子設(shè)計(jì)自動(dòng)化技術(shù)。eda技術(shù)的基本特征和基本工具總的來說,現(xiàn)代eda技術(shù)的基本特征是采用高級(jí)語言描述,具有系統(tǒng)級(jí)仿真和綜合能力。它主要采用并行工程和“自頂向下”的設(shè)計(jì)方法,使開發(fā)者從一開始就要考慮到產(chǎn)品生成周期的諸多方面,包括質(zhì)量、成本、開發(fā)時(shí)間及用戶的需求等等,然后從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行功能方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在方框圖一級(jí)進(jìn)行仿真、糾錯(cuò)、并用vhdl、verilog-hdl、abel等硬件描述語言對(duì)高層次的系統(tǒng)行為進(jìn)行描述,在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證,然后再用邏輯綜合優(yōu)化工具生成具體的門級(jí)邏輯電路的網(wǎng)表3,其對(duì)應(yīng)的物理實(shí)現(xiàn)級(jí)可以是印刷電路板或?qū)S眉呻娐?。利用eda技術(shù)進(jìn)行電子系統(tǒng)的設(shè)計(jì),具有以下幾個(gè)特點(diǎn):用軟件的方式設(shè)計(jì)硬件;用軟件方式設(shè)計(jì)的系統(tǒng)到硬件系統(tǒng)的轉(zhuǎn)換是由相關(guān)的開發(fā)軟件自動(dòng)完成;設(shè)計(jì)過程中可用相關(guān)軟件進(jìn)行各種仿真;系統(tǒng)可現(xiàn)場(chǎng)編程,在線升級(jí);整個(gè)系統(tǒng)可集成在一個(gè)芯片上,具有體積小、功耗低及可靠性高的特點(diǎn)。因此,eda技術(shù)是現(xiàn)代電子設(shè)計(jì)的發(fā)展趨勢(shì)。電子設(shè)計(jì)自動(dòng)化(eda)是一種實(shí)現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動(dòng)化的技術(shù),它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),它吸收了計(jì)算機(jī)科學(xué)領(lǐng)域的大多數(shù)最新研究成果,以高性能的計(jì)算機(jī)作為工作平臺(tái),促進(jìn)了工程發(fā)展。2.2 max+plus ii軟件簡(jiǎn)介 max+plus是altera公司提供的fpga/cpld開發(fā)集成環(huán)境,altera是世界上最大可編程邏輯器件4的供應(yīng)商之一。max+plus界面友好,使用便捷,被譽(yù)為業(yè)界最易用易學(xué)的eda軟件。在max+plus上可以完成設(shè)計(jì)輸入、元件適配、時(shí)序仿真和功能仿真5、編程下載整個(gè)流程,它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程6。3 電梯控制器設(shè)計(jì)3.1設(shè)計(jì)要求 eda設(shè)計(jì)實(shí)現(xiàn)一個(gè)3層電梯的控制系統(tǒng)。系統(tǒng)要求如下: (1)電梯到達(dá)樓層時(shí),能發(fā)出指示信號(hào)(數(shù)碼管顯示樓層號(hào)); (2)能指示電梯的運(yùn)行狀態(tài)(上行或下行); (3)電梯的門操作具有關(guān)門延時(shí)設(shè)置(當(dāng)按下梯內(nèi)關(guān)門按鈕時(shí)立刻響應(yīng)關(guān)門操作,否則延時(shí)固定時(shí)間后響應(yīng)關(guān)門操作); (4)正確響應(yīng)各樓層的上行和下行請(qǐng)求(各樓層設(shè)置上行和下行選擇按鈕)。3.2電梯運(yùn)行規(guī)則 電梯運(yùn)行規(guī)則:當(dāng)電梯處在上升模式時(shí),只響應(yīng)比電梯所在位置高的上樓請(qǐng)求,由下向上逐個(gè)執(zhí)行,直到最后一個(gè)上樓請(qǐng)求執(zhí)行完畢。如果高層有下樓請(qǐng)求,直接升到有下樓請(qǐng)求的最高樓層,然后進(jìn)入下降模式。當(dāng)電梯在一樓時(shí),不管是梯內(nèi)梯外,電梯都只可能接收到上升的請(qǐng)求信號(hào)。此時(shí),電梯就進(jìn)入預(yù)上升狀態(tài),準(zhǔn)備作上升運(yùn)行。如果電梯沒有接收到請(qǐng)求信號(hào),電梯則在一樓待機(jī)。當(dāng)電梯在二樓時(shí),電梯則可能出現(xiàn)三種情況:電梯并沒有接收到梯內(nèi)梯外的任何請(qǐng)求信號(hào)時(shí),電梯停在二樓待機(jī);電梯接收到上升請(qǐng)求信號(hào),進(jìn)入預(yù)上升狀態(tài);電梯接收到下降請(qǐng)求信號(hào),進(jìn)入預(yù)下降狀態(tài)。 當(dāng)電梯在三樓時(shí),不管是梯內(nèi)梯外,電梯都只可能接收到下降的請(qǐng)求信號(hào)。此時(shí),電梯就進(jìn)入預(yù)下降狀態(tài),準(zhǔn)備作下降運(yùn)行。如果電梯沒有接收到請(qǐng)求信號(hào),電梯則停在二樓待機(jī)。3.3電梯整體設(shè)計(jì)電梯控制器采用狀態(tài)機(jī)來實(shí)現(xiàn),思路比較清晰??梢詫㈦娞莸却拿棵腌娨约伴_門、關(guān)門都看成一個(gè)獨(dú)立的狀態(tài)。由于電梯又是每秒上升或下降一層,所以就可以通過一個(gè)統(tǒng)一的1秒為周期的時(shí)鐘來觸發(fā)狀態(tài)機(jī)。根據(jù)電梯的實(shí)際工作情況,可以把狀態(tài)機(jī)設(shè)置10個(gè)狀態(tài),分別是“電梯停留在第1層”、“開門”、“關(guān)門”、“開門等待第1秒”、“開門等待第2秒”、“開門等待第3秒”、“開門等待第4秒”、“上升”、“下降”和“停止?fàn)顟B(tài)”。各個(gè)狀態(tài)之間的轉(zhuǎn)換條件可由上面的設(shè)計(jì)要求所決定。電梯初始狀態(tài)為一層,處在開門狀態(tài),開門指示燈亮。一層電梯入口處設(shè)有上樓請(qǐng)求開關(guān),二層電梯入口設(shè)有上、下樓請(qǐng)求開關(guān),三層電梯入口處設(shè)有下樓請(qǐng)求開關(guān),電梯內(nèi)部設(shè)有乘客到達(dá)樓層的停站請(qǐng)求開關(guān)及其顯示,電梯內(nèi)部還設(shè)有乘客關(guān)門請(qǐng)求。設(shè)置電梯所處位置指示(用數(shù)碼管表示)及電梯上升或下降指示。電梯到達(dá)有停站請(qǐng)求的樓層后,電梯門打開,開門指示燈亮。當(dāng)按下梯內(nèi)關(guān)門按鈕時(shí)立刻響應(yīng)關(guān)門操作,否則,開門4秒后,電梯門關(guān)閉,開門指示燈滅,電梯繼續(xù)運(yùn)行,直至執(zhí)行完最后一個(gè)請(qǐng)求信號(hào)后停在當(dāng)前層。電梯控制系統(tǒng)能記憶電梯內(nèi)外的請(qǐng)求信號(hào),并按照電梯運(yùn)行規(guī)則工作,每個(gè)請(qǐng)求信號(hào)執(zhí)行完畢后隨即清除。3.4端口設(shè)計(jì)說明由功能要求得到本程序設(shè)計(jì)的端口必須包括:時(shí)鐘信號(hào)(clk);系統(tǒng)復(fù)位信號(hào)(reset);一樓電梯外人的上升請(qǐng)求信號(hào)(up1);二樓電梯外人的上升請(qǐng)求信號(hào)(up2);二樓電梯外人的下降請(qǐng)求信號(hào)(down2);三樓電梯外人的下降請(qǐng)求信號(hào)(down2);電梯內(nèi)部人到達(dá)樓層的請(qǐng)求信號(hào)(stop1、stop2、stop3);電梯內(nèi)部關(guān)門請(qǐng)求信號(hào)(close);所有輸入信號(hào)等于1,表示有請(qǐng)求,等于0,表示無請(qǐng)求;電梯外部上升指示燈(uplight)和下降請(qǐng)求指示燈(downlight),它們與up1、up2、down2、down3信號(hào)相對(duì)應(yīng);電梯內(nèi)部乘客到達(dá)樓層的停站請(qǐng)求燈(stoplight),該信號(hào)與stop1、stop2和stop3信號(hào)相對(duì)應(yīng);電梯運(yùn)行模式指示(udsig),1代表下降模式,0代表上升模式;電梯所在樓層指示(position),表示電梯在對(duì)應(yīng)樓層;電梯所在樓層數(shù)碼管表示(dout),該信號(hào)與position信號(hào)相對(duì)應(yīng);電梯門狀態(tài)指示(doorlight),1表示開門,0表示關(guān)門。3.5具體程序設(shè)計(jì)說明整段代碼由三大部分組成:庫聲明,實(shí)體,結(jié)構(gòu)體。3.5.1 庫聲明部分調(diào)用vhdl庫,通過library語句本程序應(yīng)用了vhdl庫中的”通用ieee庫”和”標(biāo)準(zhǔn)std庫”。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;3.5.2 實(shí)體部分實(shí)體部分列出了代碼所用到的所用輸入輸出端口。結(jié)構(gòu)體部分共使用了分頻進(jìn)程,電梯狀態(tài)進(jìn)程,讀按鍵、控制指示燈進(jìn)程和信號(hào)燈進(jìn)程4個(gè)進(jìn)程。主控制器系統(tǒng)由vhdl語言實(shí)現(xiàn),其輸入輸出端口定義如下: entity flift is port(clk:in std_logic; 時(shí)鐘信號(hào) close :in std_logic; 立即關(guān)門 rightlight:buffer std_logic; 門燈信號(hào) up1:in std_logic; 樓上升按鈕 up2:in std_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; 樓層信號(hào) led: buffer std_logic_vector(3 downto 0); 樓層指示燈 doorlight:out std_logic; 門燈信號(hào) udsig:buffer std_logic); 電梯運(yùn)行狀態(tài)3.5.3 結(jié)構(gòu)體部分 使用狀態(tài)機(jī)來實(shí)現(xiàn)電梯功能。 在結(jié)構(gòu)體中,設(shè)計(jì)了倆個(gè)進(jìn)程互相配合,一個(gè)是狀態(tài)機(jī)進(jìn)程作為主要進(jìn)程,另外一個(gè)是信號(hào)燈控制進(jìn)程作為輔助進(jìn)程。狀態(tài)機(jī)進(jìn)程中的很多判斷條件是以信號(hào)燈進(jìn)程產(chǎn)生的信號(hào)燈信號(hào)為依據(jù)的,而信號(hào)燈進(jìn)程中信號(hào)燈的熄滅又是由狀態(tài)機(jī)進(jìn)程中傳出的clearup和cleardn信號(hào)來控制。 在狀態(tài)機(jī)進(jìn)程中,在電梯的上升狀態(tài)中,通過對(duì)信號(hào)燈的判斷,決定下一個(gè)狀態(tài)是繼續(xù)上升還是停止;在電梯下降狀態(tài)中,也是通過對(duì)信號(hào)燈的判斷,決定下一個(gè)狀態(tài)是繼續(xù)下降還是停止;在電梯停止?fàn)顟B(tài)中,判斷是最復(fù)雜的,通過對(duì)信號(hào)的判斷,決定電梯是上升、下降還是停止。在信號(hào)燈控制進(jìn)程中,由于使用了專門的頻率較高的按鍵時(shí)鐘,所以使得按鍵的靈敏度增大,但是時(shí)鐘頻率不能過高,否則容易使按鍵過于靈敏。按鍵后產(chǎn)生的點(diǎn)亮的信號(hào)燈(邏輯值為1)用于作為狀態(tài)機(jī)進(jìn)程中的判斷條件,而clearup和cleardn信號(hào)為邏輯l使得相應(yīng)的信號(hào)燈熄滅。 分頻進(jìn)程:該進(jìn)程的目的是產(chǎn)生不同頻率的兩個(gè)時(shí)鐘,電梯控制時(shí)鐘fliclk和按鍵控制時(shí)鐘buttclk。 process(clk) 產(chǎn)生電梯控制時(shí)鐘fliclk和按鍵控制時(shí)鐘buttclk begin if (clkevent and clk=1) then q=q+1; end if; buttclk=q(0); fliclkdoorlight=1; position=1; pos:=1;stateclearup=0; cleardn=0; if(close=1) then state=doorclose; else state=wait2; end if;開門等待2秒:如果此時(shí)有關(guān)門請(qǐng)求,則轉(zhuǎn)入下一狀態(tài)doorclose;如果沒有請(qǐng)求,則下一狀態(tài)為wait3。開門等待3秒:如果此時(shí)有關(guān)門請(qǐng)求,則轉(zhuǎn)入下一狀態(tài)doorclose;如果沒有請(qǐng)求,則下一狀態(tài)為wait4。開門等待4秒:該狀態(tài)的下一狀態(tài)為doorclose。關(guān)門狀態(tài):此時(shí)電梯開門。該狀態(tài)要分為2種情況進(jìn)行分析即電梯處于上升情況或下降情況。當(dāng)處于上升模式,同時(shí)電梯位于三層,如果此時(shí)電梯的內(nèi)部與外部都沒有請(qǐng)求,電梯轉(zhuǎn)為下降模式,并進(jìn)入下一狀態(tài)doorclose;如果此時(shí)電梯內(nèi)部有在三層下的請(qǐng)求或三層外部有下樓請(qǐng)求,電梯進(jìn)入下一狀態(tài)dooropen;否則電梯轉(zhuǎn)為下降模式,并進(jì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=1; state=down; end if;當(dāng)處于上升模式,同時(shí)電梯位于二層,如果此時(shí)電梯的內(nèi)部與外部都沒有請(qǐng)求,電梯仍為上升模式,并進(jìn)入下一狀態(tài)doorclose;如果此時(shí)電梯內(nèi)部有在二層下的請(qǐng)求或二層外部有下樓請(qǐng)求或上樓請(qǐng)求,電梯進(jìn)入下一狀態(tài)dooropen;如果此時(shí)電梯內(nèi)部有在三層下的請(qǐng)求或三層外部有下樓請(qǐng)求,電梯仍為上升模式,并進(jìn)入下一狀態(tài)up;否則電梯轉(zhuǎn)為下降模式,并進(jìn)入下一狀態(tài)down。 elsif (position=2) then if(stoplight=000 and uplight=000 and downlight=000) then udsig=0; state=doorclose; elsif (stoplight(3)=1 or downlight(3)=1) then udsig=0; state=up; else udsig=1; stateposition=position+1; pos:=pos+1; if (pos=2 and (uplight(2)=1 or downlight(2)=1or 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ù)減一。如果此時(shí)電梯在二層同時(shí)二層外部有上升或下降的請(qǐng)求或電梯內(nèi)部有在二層下的請(qǐng)求,則進(jìn)入下一狀態(tài)stop。如果此時(shí)電梯在二層同時(shí)一層外部有上升的請(qǐng)求或電梯內(nèi)部有在一層下的請(qǐng)求,則進(jìn)入下一狀態(tài)down;否則進(jìn)入下一狀態(tài)stop。停止:該狀態(tài)的下一狀態(tài)為dooropen。開門狀態(tài):電梯開門同時(shí)清除上升下降的請(qǐng)求,并轉(zhuǎn)入下一狀態(tài)wait1,其它的狀態(tài)都轉(zhuǎn)入下一狀態(tài)stopup=1。如果清除上升的信號(hào)有效,則電梯內(nèi)部相應(yīng)樓層停止信號(hào)清除,同時(shí)電梯外部相應(yīng)樓層上升信號(hào)清除;否則當(dāng)有上升請(qǐng)求時(shí)相應(yīng)的電梯外部上升指示燈亮。 if(clearup=1) then stoplight(position)=0; uplight(position)=0; else if(up1=1)then uplight(1)=1; elsif(up2=1)then uplight(2)chip=lift;input pin=126; up1chip=lift;input pin=8;按鍵1 up2chip=lift;input pin=9;按鍵2 down2chip=lift;input pin=10;按鍵3 down3chip=lift;input pin=12;按鍵4 stop1chip=lift;input pin=13;按鍵5 stop2chip=lift;input pin=17;按鍵6 stop3chip=lift;input pin=18;按鍵7 closechip=lift;input pin=19;按鍵8 doorlightchip=lift;output pin=20 udsig0chip=lift;output pin=21 udsig1chip=lift;output pin=22 led0chip=lift;output pin=30 led1chip=lift;output pin=31 led2chip=lift;output pin=32 led3chip=lift;output pin=336 結(jié)論分析設(shè)計(jì)要求可知用狀態(tài)機(jī)實(shí)現(xiàn)電梯的控制比較簡(jiǎn)便,通過各個(gè)狀態(tài)的分析找出關(guān)系,逐步分解各個(gè)狀態(tài),進(jìn)行設(shè)計(jì)。電梯到達(dá)樓層時(shí),能發(fā)出指示信號(hào);能指示電梯的運(yùn)行狀態(tài);電梯的門操作具有關(guān)門延時(shí)設(shè)置;正確響應(yīng)各樓層的上行和下行請(qǐng)求。雖然本設(shè)計(jì)能基本實(shí)現(xiàn)上述的功能,但是也存在一定的問題:仿真中參數(shù)的設(shè)置問題。參數(shù)的設(shè)置對(duì)于整個(gè)設(shè)計(jì)可謂至關(guān)重要。在程序仿真之初,這個(gè)問題就曾一度被忽視。造成在調(diào)試的過程中對(duì)信號(hào)隨意設(shè)置,導(dǎo)致仿真失敗,還以為是程序出錯(cuò)。例如,在程序仿真之初,clk信號(hào)的周期設(shè)置為100ms,由仿真的效果看到只能實(shí)現(xiàn)最基本的樓層顯示,其他功能都失效。后來通過對(duì)clk信號(hào)的周期進(jìn)行調(diào)試,當(dāng)其減少到25ms時(shí),電梯的上述功能都能基本實(shí)現(xiàn);信號(hào)傳輸延時(shí)的問題。通過調(diào)試仿真觀察,可以看到本系統(tǒng)的信號(hào)延時(shí)在10ms左右。但當(dāng)改變仿真時(shí)的一些參數(shù)時(shí)(如仿真時(shí)間、時(shí)鐘信號(hào)的周期、分頻信號(hào)的周期以及器件的選用等),可以發(fā)現(xiàn)延時(shí)又會(huì)發(fā)生比較細(xì)微的變化。在日常應(yīng)用中,由于選用的硬件以及使用環(huán)境的問題,延時(shí)問題可能會(huì)進(jìn)一步顯著。如何解決信號(hào)的延時(shí),也是本設(shè)計(jì)未來需解決的主要問題之一。另外endtime的值需要設(shè)置的長(zhǎng)一點(diǎn):20us左右,這樣就可以觀察到完整的仿真結(jié)果。 通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說得是困難重重,第一次課程設(shè)計(jì),難免會(huì)遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固。參考文獻(xiàn)1 潘松,黃繼業(yè) eda技術(shù)實(shí)用教程北京:科學(xué)出版社,20022 甘歷vhdl應(yīng)用與開發(fā)實(shí)際北京:科學(xué)出版社,20033 梁勇,王留奎eda技術(shù)教程北京:人民郵電出版社,20104 柳春鋒電子設(shè)計(jì)自動(dòng)化(eda)北京:北京理工大學(xué)出版社,20055 黃仁欣eda技術(shù)實(shí)用教程北京:清華大學(xué)出版社,2006.6 朱正偉eda技術(shù)及應(yīng)用 北京:清華大學(xué)出版社,2005 附錄library ieee;use ieee.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:out std_logic; dout:out std_logic_vector(3 downto 0);end flift;architecture behav of flift istype state_type is(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);beginprocess(clk) -分頻進(jìn)程,產(chǎn)生電梯控制時(shí)鐘fliclk和按鍵控制時(shí)鐘buttclk begin if (clkevent and clk=1) then q=q+1; end if; buttclk=q(0); fliclkdoorlight=1; position=1; pos:=1;stateclearup=0; cleardn=0; -開門等待1秒 if(close=1) then state=doorclose; else state -開門等待2秒 if(close=1) then state=doorclose; else state -開門等待3秒 if(close=1) then state=doorclose; else statestatedoorlight=0; -關(guān)門狀態(tài) if (udsig=0) then -上升情況 if (position=3) then -電梯在3層 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=1; state=down; end if; elsif (position=2) then -電梯在2層 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)=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 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=000and uplight=000 and downlight=000) then udsig=0; state=doorclose; 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 =doorclose; 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(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; stateposition=positio

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論