




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 . . . 基于EDA技術(shù)的電梯控制器實(shí)現(xiàn)與仿真六層電梯控制器的設(shè)計(jì)摘要:在現(xiàn)代社會(huì)和經(jīng)濟(jì)活動(dòng)中,計(jì)算機(jī)技術(shù)、自動(dòng)控制技術(shù)和電力電子技術(shù)得到了迅速的發(fā)展,電梯已經(jīng)成為城市物質(zhì)文明的一種標(biāo)志。在高層建筑中,電梯是不可缺少的垂直運(yùn)輸設(shè)備。隨著經(jīng)濟(jì)建設(shè)的持續(xù)高速發(fā)展,我國(guó)電梯需求量越來(lái)越大,電梯生產(chǎn)已成為我國(guó)一門極具前景的新興產(chǎn)業(yè)。針對(duì)我國(guó)電梯業(yè)現(xiàn)狀,本設(shè)計(jì)以電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)技術(shù)中的高速集成電路硬件描述語(yǔ)言(Very High Speed Integrated Circuit Hardware Descrisioon L
2、anguage)編寫六層電梯控制程序,實(shí)驗(yàn)調(diào)試平臺(tái)是Altera公司的QuartusII軟件。此程序具有VHDL語(yǔ)言設(shè)計(jì)里最為常用的三個(gè)模塊:實(shí)體entity,結(jié)構(gòu)體architecture,進(jìn)程執(zhí)行單元process。通過(guò)程序調(diào)試與運(yùn)行仿真,結(jié)果表明,本程序可以完成:電梯運(yùn)行所在樓層指示、電梯運(yùn)行方向指示、關(guān)門延時(shí)設(shè)置、看門狗報(bào)警、超載報(bào)警、故障報(bào)警等。本設(shè)計(jì)對(duì)更高層的電梯控制設(shè)計(jì)具有一定的拓展性。關(guān)鍵詞:電梯控制;程序設(shè)計(jì);EDA;VHDL;QuartusII目錄1 前言-11.1 問(wèn)題的提出-11.2 設(shè)計(jì)目的-11.3 課題的主要工作-12 總體方案的確定-12.1 PLC技術(shù)在電梯控
3、制的應(yīng)用-12.2 單片機(jī)技術(shù)在電梯控制的應(yīng)用-22.3 EDA技術(shù)在電梯控制的應(yīng)用-32.4 方案選擇-33 設(shè)計(jì)的基礎(chǔ)依據(jù)-43.1 EDA技術(shù)介紹-43.2 VHDL語(yǔ)言介紹-53.3 QuartusII軟件介紹-84 程序設(shè)計(jì)與調(diào)試-94.1 算法分析-94.1.1 電梯運(yùn)行規(guī)則-94.1.2 程序流程分析-124.2 程序設(shè)計(jì)說(shuō)明-134.2.1 端口、寄存器設(shè)計(jì)說(shuō)明-134.2.2 模塊設(shè)計(jì)說(shuō)明-144.2.3具體語(yǔ)句設(shè)計(jì)說(shuō)明-164.3 程序調(diào)試-205 程序仿真-225.1 建立波形輸入-225.2 電梯功能的實(shí)現(xiàn)與仿真結(jié)果-255.2.1 仿真步驟-255.2.2 電梯功能實(shí)
4、現(xiàn)與仿真結(jié)果分析-266 設(shè)計(jì)總結(jié)-31致-33參考文獻(xiàn)-34附錄-3538 / 42基于EDA技術(shù)的電梯控制器實(shí)現(xiàn)與仿真六層電梯控制器的設(shè)計(jì)06自動(dòng)化 黎國(guó)偉指導(dǎo)老師:王杏進(jìn) 講師1 前言1.1 問(wèn)題的提出 人和土地資源短缺的矛盾日趨激化,我國(guó)地少人多的國(guó)情,注定了我們必須合理解決人與土地的矛盾。興建高層建筑是其中的有效措施之一,隨之樓層電梯業(yè)便應(yīng)運(yùn)而生。隨著我國(guó)城鎮(zhèn)化程度的加大,電梯市場(chǎng)越來(lái)越繁華,人們對(duì)電梯的要求越來(lái)越高。如何更安全、更快捷地到達(dá)目的樓層,也就成為了人們對(duì)電梯的最為根本的要求。因此,本設(shè)計(jì)就六層電梯控制器設(shè)計(jì)為例,結(jié)合EDA技術(shù),對(duì)電梯控制進(jìn)行設(shè)計(jì)。1.2 設(shè)計(jì)的目的針對(duì)
5、我國(guó)樓層層數(shù)的基本水平,本著“一理通,百理明”的原則,本設(shè)計(jì)希望通過(guò)簡(jiǎn)單的六層電梯控制器的設(shè)計(jì),為廣大電梯設(shè)計(jì)者提供一個(gè)基礎(chǔ)。針對(duì)目前中小型電梯所能實(shí)現(xiàn)的功能,本控制器虛擬實(shí)現(xiàn)以下功能:(1) 指示電梯所在樓層;(2) 電梯基本運(yùn)行;(3) 關(guān)門延時(shí)設(shè)置;(4) 提前關(guān)門設(shè)置;(5) 看門狗設(shè)置;(6) 超載報(bào)警;(7) 故障報(bào)警。1.3 課題的主要工作利用VHDL語(yǔ)言編程實(shí)現(xiàn)六層電梯控制器各個(gè)模塊的功能,并用QuartusII對(duì)本文進(jìn)行設(shè)計(jì),討論六層電梯控制器設(shè)計(jì)的思路、示意圖、結(jié)構(gòu)圖、流程圖與程序仿真圖。將設(shè)計(jì)在EDA工具QuartusII下進(jìn)行時(shí)序仿真,得到仿真結(jié)果,驗(yàn)證六層電梯控制器設(shè)
6、計(jì)的正確性。2總體方案的確定2.1 PLC技術(shù)在電梯控制的應(yīng)用由當(dāng)初的繼電器邏輯控制電路到今天廣為應(yīng)用的可編程邏輯控制器與微機(jī)控制系統(tǒng),電梯控制的發(fā)展經(jīng)歷了相當(dāng)一段歷程。為了實(shí)現(xiàn)電梯的控制,過(guò)去大多是采用繼電器邏輯電路,這種邏輯控制方式具有原理簡(jiǎn)單、直觀的特點(diǎn),但通用性較差,對(duì)不同的樓層和不同的控制方式,其原理圖、接線圖等必須重新制作,且控制系統(tǒng)由許多繼電器觸點(diǎn)組成,接線復(fù)雜、故障率高。因此,它逐漸被可靠性高、通用性強(qiáng)的可編程序控制器與微機(jī)控制系統(tǒng)所代替。由PLC或微機(jī)實(shí)現(xiàn)繼電器的邏輯控制功能,具有較大的靈活性,不同的控制方式可用一樣的硬件,只是軟件各不一樣。只要把按鈕、限位開關(guān)、光電開關(guān)、無(wú)
7、觸點(diǎn)行程開關(guān)等電器元件作為輸入信號(hào),而把制動(dòng)器、接觸器等功率輸出元件接到輸出端,就算完成了接線任務(wù)。通常,電梯功能、層數(shù)變化時(shí),無(wú)需增減繼電器和大量的電路。PLC是一種用于自動(dòng)控制的專用微機(jī),實(shí)質(zhì)上屬于微機(jī)控制方式。PLC在設(shè)計(jì)和制造上采取了許多抗干擾措施,輸入輸出均有光電隔離。能在較惡劣的各種環(huán)境里工作、可靠性高,適合于安全性要求較高的電梯控制。PLC將CPU、存儲(chǔ)器、I/O接口等做成一體,使用方便,擴(kuò)展容易。具有繼電器系統(tǒng)的直觀、易懂、易學(xué),應(yīng)用操作和調(diào)試方便等優(yōu)勢(shì)。因此,目前在國(guó)產(chǎn)電梯與中低檔的客梯廣泛應(yīng)用了PLC控制系統(tǒng),特別適用在用電梯的技術(shù)改造。電梯既是一種特殊的起重運(yùn)輸設(shè)備,具有
8、完善的機(jī)械專用結(jié)構(gòu),又是一種比較復(fù)雜的機(jī)電一體化的大型工業(yè)產(chǎn)品,具有復(fù)雜的電氣控制系統(tǒng)。就電梯的控制方法而言,目前國(guó)產(chǎn)電梯廣泛采用可編程控制器技術(shù)的智能化控制。由于這種控制屬于隨機(jī)控制,各種輸入信號(hào)之間、輸出信號(hào)之間以與輸入信號(hào)和輸出信號(hào)之間互相關(guān)聯(lián),邏輯關(guān)系處理起來(lái)非常復(fù)雜,這就給PLC編程帶來(lái)很大難度。從這種意義上來(lái)說(shuō),PLC編程水平的高低就決定電梯運(yùn)行狀態(tài)的好壞,因此PLC應(yīng)用在電梯控制中的編程技術(shù)就成為控制電梯運(yùn)行的關(guān)鍵技術(shù)。PLC充分利用了微型計(jì)算機(jī)的原理和技術(shù),具有很強(qiáng)的邏輯處理能力,在電梯運(yùn)行控制中發(fā)揮了重要作用。由于電梯在運(yùn)行過(guò)程中各種輸入信號(hào)是隨機(jī)出現(xiàn)的,即信號(hào)的出現(xiàn)具有不確
9、定性,同時(shí)信號(hào)需要自鎖保持、互鎖保存、優(yōu)先級(jí)排隊(duì)、數(shù)據(jù)比較等,因此信號(hào)之間就存在復(fù)雜的邏輯關(guān)系。所以在電梯的運(yùn)行控制中,PLC的編程工作主要是針對(duì)各種信號(hào)進(jìn)行邏輯判斷和處理。2.2 單片機(jī)技術(shù)在電梯控制的應(yīng)用單片機(jī)體積小,處理速度快,價(jià)格低廉,功能強(qiáng)大,是合適的控制系統(tǒng)。對(duì)電梯的控制主要是選層、啟層、換速、平層、停車等幾個(gè)環(huán)節(jié),其中以選層環(huán)節(jié)最為復(fù)雜。與通常的電器控制相比,單片機(jī)系統(tǒng)不需要通過(guò)“選層器”并且配備以大量的中間繼電器作為選層電路的控制設(shè)備,避免了設(shè)備多,檢修困難,運(yùn)行維護(hù)不便,造價(jià)成本高。應(yīng)用微機(jī)控制可以取消選層器和大量中間繼電器。而且應(yīng)用單片機(jī)控制又相當(dāng)于應(yīng)用其他微機(jī)減少了外圍設(shè)
10、備的接口芯片,增強(qiáng)了可靠性。2.3 EDA技術(shù)在電梯控制的應(yīng)用EDA技術(shù)不是某一學(xué)科的分支,或某種新的技能技術(shù),它是一們綜合性學(xué)科,融合多學(xué)科于一體,打破了軟件和硬件間的壁壘,使計(jì)算機(jī)的軟件與硬件實(shí)現(xiàn)、設(shè)計(jì)效率和產(chǎn)品性能合二為一,它代表了電子設(shè)計(jì)技術(shù)和應(yīng)用技術(shù)的發(fā)展方向。VHDL具有與具體硬件電路無(wú)關(guān)和設(shè)計(jì)平臺(tái)無(wú)關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語(yǔ)言易讀性和層次化結(jié)構(gòu)化設(shè)計(jì)方面,表現(xiàn)了強(qiáng)大的生命力和應(yīng)用潛力。EDA使得設(shè)計(jì)者的工作僅限于利用硬件描述語(yǔ)言和EDA軟件來(lái)完成對(duì)系統(tǒng)硬件功能的實(shí)現(xiàn)。正因EDA在設(shè)計(jì)控制系統(tǒng)中的這些特點(diǎn),在電梯控制電路上采用EDA技術(shù)進(jìn)行開發(fā),越
11、來(lái)越受到人們的重視。2.4方案選擇對(duì)于符合市場(chǎng)需求的大規(guī)模系統(tǒng),要達(dá)到高效、高速完成,必須有多人甚至多個(gè)開發(fā)組共同并行工作才能實(shí)現(xiàn)。對(duì)于用EDA技術(shù)完成的一個(gè)確定的設(shè)計(jì),可以利用相應(yīng)的工具平臺(tái)進(jìn)來(lái)邏輯綜合和優(yōu)化,完成設(shè)計(jì)任務(wù)?;贓DA技術(shù)的VHDL語(yǔ)言對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。這為電子設(shè)計(jì)的入門者提供了便捷的幫助。相信在不遠(yuǎn)的將來(lái),我國(guó)相關(guān)的專業(yè)技術(shù)人員使用EDA技術(shù)進(jìn)行工程設(shè)計(jì),就像現(xiàn)在使用計(jì)算器一樣,雖然大部分人不能開辦集成電路制造廠,但是卻能快速、經(jīng)濟(jì)地制造(設(shè)計(jì))自己的專用集成電路或集成電子系統(tǒng)。綜
12、上比較,本設(shè)計(jì)采用EDA技術(shù)實(shí)現(xiàn)對(duì)電梯的控制。3設(shè)計(jì)的基礎(chǔ)依據(jù)現(xiàn)代電子設(shè)計(jì)技術(shù)的核心是EDA技術(shù)?;贓DA技術(shù)開發(fā)的實(shí)現(xiàn)六層電梯自動(dòng)控制與目前主流的利用可編程邏輯控制器實(shí)現(xiàn)電梯控制緊密相連。硬件描述語(yǔ)言是EDA技術(shù)的重要組成部分,VHDL是作為電子設(shè)計(jì)主流硬件的描述語(yǔ)言。使用VHDL語(yǔ)言進(jìn)行程序設(shè)計(jì),在QuartusII軟件上對(duì)程序進(jìn)行編譯、仿真。在QuartusII平臺(tái)上開發(fā)具有易學(xué)易懂、控制靈活方便、抗干擾能力強(qiáng)、運(yùn)行穩(wěn)定可靠等優(yōu)點(diǎn)。3.1 EDA技術(shù)介紹EDA是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD
13、)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來(lái)的。20世紀(jì)90年代,國(guó)際上電子和計(jì)算機(jī)技術(shù)較先進(jìn)的國(guó)家,一直在積極探索新的電子電路設(shè)計(jì)方法,并在設(shè)計(jì)方法、工具等方面進(jìn)行了徹底的變革,取得了巨大成功。在電子技術(shù)設(shè)計(jì)領(lǐng)域,可編程邏輯器件(如CPLD、FPGA)的應(yīng)用,已得到廣泛的普與,這些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來(lái)了極大的靈活性。這些器件可以通過(guò)軟件編程而對(duì)其硬件結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),從而使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過(guò)程和設(shè)計(jì)觀念,促進(jìn)了EDA技術(shù)的迅速發(fā)展。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)
14、者在EDA軟件平臺(tái)上,用硬件描述語(yǔ)言VHDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術(shù)的出現(xiàn),極提高了電路設(shè)計(jì)的效率和可操作性,減輕了設(shè)計(jì)者的勞動(dòng)強(qiáng)度。利用EDA工具,電子設(shè)計(jì)師可以從概念、算法、協(xié)議等開始設(shè)計(jì)電子系統(tǒng),大量工作可以通過(guò)計(jì)算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計(jì)、性能分析到設(shè)計(jì)出IC版圖或PCB版圖的整個(gè)過(guò)程在計(jì)算機(jī)上自動(dòng)處理完成?,F(xiàn)在對(duì)EDA的概念或疇用得很寬。包括在機(jī)械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事、等各個(gè)領(lǐng)域,都有EDA的應(yīng)用。目前EDA技術(shù)
15、已在各大公司、企事業(yè)單位和科研教學(xué)部門廣泛使用。例如在飛機(jī)制造過(guò)程中,從設(shè)計(jì)、性能測(cè)試與特性分析直到飛行模擬,都可能涉與到EDA技術(shù)。3.2 VHDL語(yǔ)言介紹VHDL(Very High Speed Integrated Circuit Hardware Description Language)語(yǔ)言于1983年由美國(guó)國(guó)防部發(fā)起創(chuàng)建,由電工和電子工程師協(xié)會(huì)(the institute of electrical and electronics engineer)進(jìn)一步發(fā)展并在1987年作為“IEEE1076”發(fā)布。從此,VHDL成為硬件描述語(yǔ)言的業(yè)界標(biāo)準(zhǔn)之一。VHDL作為一個(gè)規(guī)語(yǔ)言和建模語(yǔ)言,
16、具有很強(qiáng)的電路描述和建模能力,能從多個(gè)層次對(duì)數(shù)字系統(tǒng)進(jìn)行建模和描述,從而大大簡(jiǎn)化了硬件設(shè)計(jì)任務(wù),提高了設(shè)計(jì)效率和可靠性。VHDL具有與具體硬件電路無(wú)關(guān)和設(shè)計(jì)平臺(tái)無(wú)關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力,并在語(yǔ)言易讀性和層次化結(jié)構(gòu)化設(shè)計(jì)方面,表現(xiàn)了強(qiáng)大的生命力和應(yīng)用潛力。3.2.1VHDL的特點(diǎn)應(yīng)用VHDL進(jìn)行系統(tǒng)設(shè)計(jì),有以下幾方面的特點(diǎn):(一)功能強(qiáng)大:VHDL具有功能強(qiáng)大的語(yǔ)言結(jié)構(gòu)。它可以用明確的代碼描述復(fù)雜的控制邏輯設(shè)計(jì)。并且具有多層次的設(shè)計(jì)描述功能,支持設(shè)計(jì)庫(kù)和可重復(fù)使用的元件生成。VHDL是一種設(shè)計(jì)、仿真和綜合的標(biāo)準(zhǔn)硬件描述語(yǔ)言。(二)可移植性:VHDL語(yǔ)言是一個(gè)標(biāo)準(zhǔn)語(yǔ)言
17、,其設(shè)計(jì)描述可以為不同的EDA工具支持。它可以從一個(gè)仿真工具移植到另一個(gè)仿真工具,從一個(gè)綜合工具移植到另一個(gè)綜合工具,從一個(gè)工作平臺(tái)移植到另一個(gè)工作平臺(tái)。此外,通過(guò)更換庫(kù)再重新綜合很容易移植為ASIC設(shè)計(jì)。(三)獨(dú)立性:VHDL的硬件描述與具體的工藝技術(shù)和硬件結(jié)構(gòu)無(wú)關(guān)。設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。程序設(shè)計(jì)的硬件目標(biāo)器件有廣闊的選擇圍,可以是各系列的CPLD、FPGA與各種門陣列器件。(四)可操作性:由于VHDL具有類屬描述語(yǔ)句和子程序調(diào)用等功能,對(duì)于已完成的設(shè)計(jì),在不改變?cè)闯绦虻臈l件下,只需改變端口類屬參量或函數(shù),就能輕易地改變?cè)O(shè)計(jì)的規(guī)模和
18、結(jié)構(gòu)。(五)靈活性:VHDL最初是作為一種仿真標(biāo)準(zhǔn)格式出現(xiàn)的,有著豐富的仿真語(yǔ)句和庫(kù)函數(shù)。使其在任何大系統(tǒng)的設(shè)計(jì)中,隨時(shí)可對(duì)設(shè)計(jì)進(jìn)行仿真模擬。所以,即使在遠(yuǎn)離門級(jí)的高層次(即使設(shè)計(jì)尚未完成時(shí)),設(shè)計(jì)者就能夠?qū)φ麄€(gè)工程設(shè)計(jì)的結(jié)構(gòu)和功能的可行性進(jìn)行查驗(yàn),并做出決策。3.2.2VHDL的設(shè)計(jì)步驟采用VHDL的系統(tǒng)設(shè)計(jì),一般有以下6個(gè)步驟。1)要求的功能模塊劃分;2)VHDL的設(shè)計(jì)描述(設(shè)計(jì)輸入);3)代碼仿真模擬(前仿真);4)計(jì)綜合、優(yōu)化和布局布線;5)布局布線后的仿真模擬(后仿真);6)設(shè)計(jì)的實(shí)現(xiàn)(下載到目標(biāo)器件)。3.2.3 VHDL語(yǔ)言編程格式(1)一個(gè)完整的VHDL程序是以下五部分組成的:
19、庫(kù)(LIBRARY):儲(chǔ)存預(yù)先已經(jīng)寫好的程序和數(shù)據(jù)的集合。程序包(PACKAGE):聲明在設(shè)計(jì)中將用到的常數(shù)、數(shù)據(jù)類型、元件與子程序。實(shí)體(ENTITY):聲明到其他實(shí)體或其他設(shè)計(jì)的接口,即定義本定義的輸入輸出端口。構(gòu)造體(ARCHITECTUR):定義實(shí)體的實(shí)現(xiàn)。電路的具體描述配置(CONFIGURATION):一個(gè)實(shí)體可以有多個(gè)構(gòu)造體,可以通過(guò)配置來(lái)為實(shí)體選擇其中一個(gè)構(gòu)造體。(2)實(shí)體實(shí)體(ENTITY)是VHDL設(shè)計(jì)中最其本的組成部分之一(另一個(gè)是結(jié)構(gòu)體),VHDL表達(dá)的所有設(shè)計(jì)均與實(shí)體有關(guān)。實(shí)體類似于原理圖中的一個(gè)部件符號(hào),它并不描述設(shè)計(jì)的具體功能,只是定義所需的全部輸入/輸出信號(hào)。實(shí)
20、體格式如下:ENTITY 實(shí)體名 ISGENERIC(常數(shù)名:數(shù)據(jù)類型:設(shè)定值) 類屬說(shuō)明 PORT
21、160; 端口說(shuō)明(端口信號(hào)名1: 模式 類型;端口信號(hào)名2: 模式 類型;端口信號(hào)名3: 模式 類型;端口信號(hào)名4: 模式 類型);TYPE語(yǔ)句或常量定義
22、60; 實(shí)體申明并行語(yǔ)句 實(shí)體語(yǔ)句 END 實(shí)體名;(3)結(jié)構(gòu)體所有能被仿真的實(shí)體都由結(jié)構(gòu)體(ARCHITECTURE)描述,即結(jié)構(gòu)體描述實(shí)體的結(jié)構(gòu)或行
23、為,一個(gè)實(shí)體可以有多個(gè)結(jié)構(gòu)體,每個(gè)結(jié)構(gòu)體分別代表該實(shí)體功能的不同實(shí)現(xiàn)方案。結(jié)構(gòu)體格式:ARCHITECTURE 結(jié)構(gòu)體名 OF 實(shí)體名 IS定義語(yǔ)句(元件例化);BEGIN并行處理語(yǔ)句;END 結(jié)構(gòu)體名;3.2.4 用VHDL語(yǔ)言對(duì)FPGA和CPLD器件進(jìn)行開發(fā)時(shí)出現(xiàn)的毛刺問(wèn)題的處理在EDA環(huán)境中,毛刺是系統(tǒng)設(shè)計(jì)是否成功的關(guān)鍵。毛刺(競(jìng)爭(zhēng) 冒險(xiǎn))現(xiàn)象是長(zhǎng)期困繞電子工程師的問(wèn)題之一。由于毛刺的存在,使的系統(tǒng)存在許多不穩(wěn)定因素,經(jīng)常會(huì)造成對(duì)脈沖上下沿敏感的電路產(chǎn)生誤動(dòng)作。毛刺主要是由門電路延時(shí)與路徑延時(shí)造成的,采用傳統(tǒng)設(shè)計(jì)方法時(shí),毛刺必須在硬件測(cè)試
24、時(shí)才有機(jī)會(huì)發(fā)現(xiàn)。但在現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)時(shí),通過(guò)EDA軟件,完全可以找出毛刺產(chǎn)生的原因與產(chǎn)生的位置,并且非常準(zhǔn)確和接近實(shí)際情況。 目前常使用三種方法消除毛刺,它們分別為延時(shí)法、選通法和修改邏輯設(shè)計(jì)法。其中,修改邏輯設(shè)計(jì)能從根本上消除毛刺,但該方法要求使用者掌握電路的工作狀態(tài)與其轉(zhuǎn)換,有時(shí)需要多路輸出,使用起來(lái)有一定的復(fù)雜性。3.3 QuartusII軟件介紹Altera公司的QuartusII軟件提供了可編程片上系統(tǒng)(SOPC)設(shè)計(jì)的一個(gè)綜合開發(fā)環(huán)境。Quartus II 開發(fā)工具人機(jī)界面友好、易于使用、性能優(yōu)良,并自帶編譯、仿真功能。QuartusII軟件支持VHDL和Verilog硬件描述語(yǔ)言
25、的設(shè)計(jì)輸入、基于圖形的設(shè)計(jì)輸入方式以與集成系統(tǒng)級(jí)設(shè)計(jì)工具。QuartusII軟件可以將設(shè)計(jì)、綜合、布局和布線以與系統(tǒng)的驗(yàn)證全部都整合到一個(gè)無(wú)縫的環(huán)境之中,其中也包括和第三方EDA工具的接口。QuartusII設(shè)計(jì)軟件根據(jù)設(shè)計(jì)者需要提供了一個(gè)完整的多平臺(tái)開發(fā)環(huán)境,它包含整個(gè)FPGA和CPLD設(shè)計(jì)階段的解決方案。在實(shí)際應(yīng)用設(shè)計(jì)中,對(duì)程序原理性與可執(zhí)行性的驗(yàn)證主要集中在程序修改階段,尤其在處理的數(shù)據(jù)復(fù)雜、繁多時(shí),Quartus II自帶的波形輸入仿真就很難實(shí)現(xiàn)程序的驗(yàn)證,而且輸出的數(shù)據(jù)不能方便的以波形圖示直觀的呈現(xiàn),給程序設(shè)計(jì)者在校驗(yàn)程序階段帶來(lái)了很多的不便。再有,在很多數(shù)字電路設(shè)計(jì)中,考慮成本的問(wèn)
26、題,F(xiàn)PGA實(shí)現(xiàn)的往往是設(shè)計(jì)的核心部分,而很多的外圍電路如A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器等仍然使用傳統(tǒng)的接口芯片來(lái)實(shí)現(xiàn)。而QuartusII 設(shè)計(jì)只是針對(duì)數(shù)字信號(hào),并不支持模擬量的輸入。而僅僅為了便于程序的驗(yàn)證而用FPGA實(shí)現(xiàn)這些外圍電路,不但會(huì)大大延長(zhǎng)程序的開發(fā)周期,更會(huì)增大開發(fā)的成本。而MATLAB具有強(qiáng)大的運(yùn)算功能,可以容易的實(shí)現(xiàn)A/D、D/A轉(zhuǎn)換等外圍電路功能,并能以波形形式將結(jié)果直觀地呈現(xiàn),極方便了程序設(shè)計(jì)人員設(shè)計(jì)應(yīng)用系統(tǒng)4程序設(shè)計(jì)與調(diào)試4.1算法分析4.1.1電梯運(yùn)行規(guī)則(1)請(qǐng)求信號(hào)分析:電梯的請(qǐng)求信號(hào)分為梯請(qǐng)求和梯外請(qǐng)求,如果從這個(gè)角度就很難去進(jìn)行對(duì)電梯運(yùn)行可能情況的分析,因?yàn)殡娞?/p>
27、的運(yùn)行是根據(jù)梯和梯外的請(qǐng)求信號(hào)、行程信號(hào)進(jìn)行控制的,而梯和梯外的請(qǐng)隨機(jī)且不能以有限的規(guī)則去對(duì)其進(jìn)行說(shuō)明的。因此,很難對(duì)電梯的運(yùn)行情況作出一個(gè)統(tǒng)一的分析。出于這方面的考慮,本設(shè)計(jì)把電梯的請(qǐng)求信號(hào)劃分為上升請(qǐng)求和下降請(qǐng)求。電梯接收到請(qǐng)求信號(hào)后,都必須作預(yù)操作。使電梯進(jìn)入預(yù)上升狀態(tài)的請(qǐng)求信號(hào)就是上升請(qǐng)求信號(hào)。具體來(lái)說(shuō),就是當(dāng)電梯所在樓層低于發(fā)出請(qǐng)求的樓層所要到達(dá)的目的樓層時(shí),電梯必須在下一操作中作出上升運(yùn)行,這時(shí)的請(qǐng)求信號(hào)就是上升請(qǐng)求信號(hào)。反之,則是下降請(qǐng)求信號(hào)。(2)電梯處于各樓層時(shí)的運(yùn)行情況:處于一樓時(shí),電梯只可能接收到上升的請(qǐng)求信號(hào)。此時(shí),電梯就進(jìn)入預(yù)上升狀態(tài),準(zhǔn)備作上升運(yùn)行。如果電梯沒有接收
28、到請(qǐng)求信號(hào),電梯則在一樓待機(jī)。處于二樓到五樓時(shí),電梯可能出現(xiàn)三種情況:<1>電梯沒有接收到請(qǐng)求信號(hào),電梯返回一樓待機(jī);<2>電梯收到上升請(qǐng)求信號(hào),進(jìn)入預(yù)上升狀態(tài);<3>電梯受到下降請(qǐng)求信號(hào),進(jìn)入預(yù)下降狀態(tài)。處于六樓時(shí),電梯只可能接收到下降的請(qǐng)求信號(hào)。此時(shí),電梯就進(jìn)入預(yù)下降狀態(tài),準(zhǔn)備作下降運(yùn)行。如果電梯沒有接收到請(qǐng)求信號(hào),電梯則返回一樓待機(jī)。對(duì)上述電梯的運(yùn)行情況進(jìn)行匯總,可以得到如圖2的電梯運(yùn)行狀態(tài)圖。在電梯運(yùn)行過(guò)程中,存在一個(gè)如何處理信號(hào)優(yōu)先的問(wèn)題。電梯實(shí)際上是一個(gè)人機(jī)交互式的控制系統(tǒng),單純用順序優(yōu)先或邏輯優(yōu)先是不能滿足控制要求的,因此,控制系統(tǒng)采用隨機(jī)邏輯
29、方式控制去解決信號(hào)優(yōu)先的問(wèn)題。即在以順序邏輯控制實(shí)現(xiàn)電梯的基本控制要求的基礎(chǔ),根據(jù)隨機(jī)的輸入信號(hào),以與電梯的相應(yīng)狀態(tài)時(shí)的控制電梯的運(yùn)行。本設(shè)計(jì)采用以下規(guī)則:電梯以前一狀態(tài)為基準(zhǔn),即前一狀態(tài)為上升,則操作完所以上升請(qǐng)求再操作下降請(qǐng)求;前一狀態(tài)為下降,則反之。(3)對(duì)電梯開門、關(guān)門、報(bào)警等部信號(hào)處理分析。其流程圖如圖3所示。當(dāng)電梯接收到請(qǐng)求信號(hào)后,將以隨機(jī)邏輯控制的方式到達(dá)發(fā)出請(qǐng)求的樓層。開門使能信號(hào)促使電梯開門載客,同時(shí)驅(qū)動(dòng)關(guān)門延時(shí)信號(hào)、超重檢測(cè)以與故障檢測(cè)。在電梯進(jìn)行完關(guān)門倒數(shù)計(jì)時(shí)、超重排除以與故障排除后,關(guān)門使能信號(hào)將促使電梯關(guān)門進(jìn)入預(yù)操作狀態(tài)。如果此前出現(xiàn)提前關(guān)門信號(hào)而且電梯也已經(jīng)進(jìn)行完超
30、重排除和故障排除,電梯同樣關(guān)門進(jìn)入預(yù)操作狀態(tài)。電梯在超重檢測(cè)時(shí)發(fā)現(xiàn)超重,關(guān)門中斷信號(hào)會(huì)促使電梯發(fā)出超重報(bào)警并且進(jìn)行開門操作以減少乘客,重新進(jìn)入載客操作;電梯在故障檢測(cè)時(shí),發(fā)現(xiàn)電梯某部分出現(xiàn)故障,關(guān)門中斷信號(hào)會(huì)促使電梯發(fā)出故障報(bào)警并且進(jìn)入開門操作的同時(shí)停止關(guān)門延時(shí),作故障處理待機(jī)。電梯控制器的原理圖如圖4所示。4.1.2 程序流程分析電梯的運(yùn)行規(guī)則確立后,需對(duì)整個(gè)控制程序的設(shè)計(jì)作一個(gè)流程規(guī)。對(duì)程序進(jìn)行模塊化構(gòu)思。根據(jù)VHDL語(yǔ)言的規(guī)則,程序必須由最基本的實(shí)體和結(jié)構(gòu)體構(gòu)成。實(shí)體對(duì)控制器的端口進(jìn)行定義,結(jié)構(gòu)體對(duì)各端口的行為進(jìn)行描述。因此程序運(yùn)行需經(jīng)過(guò)以下流程:VHDL庫(kù)調(diào)用;確立控制器的端口與相關(guān)的
31、寄存器;根據(jù)電梯運(yùn)行規(guī)則,設(shè)計(jì)相關(guān)運(yùn)行描述;對(duì)電梯外信號(hào)進(jìn)行處理。具體流程圖如圖5所示。4.2 程序設(shè)計(jì)說(shuō)明4.2.1端口、寄存器設(shè)計(jì)說(shuō)明(1)由功能要求得到本程序設(shè)計(jì)的端口必須包括:輸入端口:時(shí)鐘(clk,頻率為2Hz)、超載(full)、關(guān)門中斷(deng)、提前關(guān)門(quick)、清除報(bào)警(clr)、電梯外人的上升請(qǐng)求信號(hào)(c_u1,c_u2,c_u3, ,c_u4,c_u5)、電梯外人的下降請(qǐng)求信號(hào)(c_d2,c_d3,c_d4,c_d5,c_d6)、電梯人的請(qǐng)求信號(hào)(d1,d2,d3,d4,d5,d6)、到達(dá)樓層信號(hào)(g1,g2,g3,g4,g5,g6)。輸出端口:電梯門控制信號(hào)(d
32、oor)、電梯所在樓層顯示(led)電梯外人上升請(qǐng)求信號(hào)顯示(led_c_u)、電梯外人下降請(qǐng)求信號(hào)顯示(led_c_d)、電梯請(qǐng)求信號(hào)顯示(led_d)、看門狗報(bào)警信號(hào)(wahaha)、電梯運(yùn)動(dòng)方向顯示(ud)、超載警告信號(hào)(alarm)、電機(jī)控制信號(hào)(up,down)。其分布如圖6所示。(2)程序要求的寄存器(中間信號(hào))包括:電梯人請(qǐng)求信號(hào)寄存信號(hào)(d11,d22,d33,d44,d55,d66)、電梯外人上升請(qǐng)求信號(hào)寄存信號(hào)(c_u11,c_u22,c_u33,c_u44,c_u55)、電梯外人下降請(qǐng)求信號(hào)寄存信號(hào)(c_d22,c_d33,c_d44,c_d55,c_d66)、分頻信號(hào)(
33、q)、關(guān)門延時(shí)計(jì)數(shù)器(q1)、看門狗計(jì)數(shù)器(q2)、電梯外請(qǐng)求信號(hào)寄存器(dd,cc_u,cc_d,dd_cc)、開門使能信號(hào)(opendoor)、電梯運(yùn)動(dòng)方向信號(hào)寄存器(updown)、預(yù)備上升、預(yù)備下降預(yù)操作使能信號(hào)(en_up,en_dw)。4.2.2模塊設(shè)計(jì)說(shuō)明本程序由三個(gè)基本模塊組成,包括調(diào)用VHDL庫(kù)模塊、實(shí)體設(shè)計(jì)模塊和結(jié)構(gòu)體設(shè)計(jì)模塊。而在結(jié)構(gòu)體模塊中又嵌有進(jìn)程執(zhí)行單元。(1) 調(diào)用VHDL庫(kù) 使用library語(yǔ)句,本程序應(yīng)用了VHDL庫(kù)中的“通用ieee庫(kù)”和“標(biāo)準(zhǔn)std庫(kù)” 。library ieee;use ieee.std_logic_1164.all;use ieee.
34、std_logic_unsigned.all;use ieee.std_logic_arith.all;(2) entity實(shí)體設(shè)計(jì)模塊entity dianti is port ( clk : in std_logic;-時(shí)鐘信號(hào)(頻率為2Hz) full,deng,quick,clr : in std_logic; -超載、關(guān)門中斷、提前關(guān)門、清除報(bào)警信號(hào) c_u1,c_u2,c_u3,c_u4,c_u5: in std_logic; -電梯外人的上升請(qǐng)求信號(hào) c_d2,c_d3,c_d4,c_d5,c_d6: in std_logic; -電梯外人的下降請(qǐng)求信號(hào) d1,d2,d3,d4,
35、d5,d6 : in std_logic;-電梯人的請(qǐng)求信號(hào) g1,g2,g3,g4,g5,g6 : in std_logic;-到達(dá)樓層信號(hào) door : out std_logic_vector(1 downto 0);-電梯門控制信號(hào) led : out std_logic_vector(6 downto 0);-電梯所在樓層顯示(數(shù)碼管顯示) led_c_u:out std_logic_vector(5 downto 0);-電梯外人上升請(qǐng)求信號(hào)顯示 led_c_d:out std_logic_vector(5 downto 0);-電梯外人下降請(qǐng)求信號(hào)顯示 led_d : out s
36、td_logic_vector(5 downto 0);-電梯請(qǐng)求信號(hào)顯示 wahaha : out std_logic;-看門狗報(bào)警信號(hào) ud,alarm : out std_logic;-電梯運(yùn)動(dòng)方向顯示,超載警告信號(hào)up,down : out std_logic );-電機(jī)控制信號(hào)和電梯運(yùn)動(dòng)end dianti;(3)archi結(jié)構(gòu)體設(shè)計(jì)模塊和process進(jìn)程執(zhí)行單元architecture behav of dianti issignal d11,d22,d33,d44,d55,d66:std_logic; -電梯人請(qǐng)求信號(hào)寄存信號(hào)signal c_u11,c_u22,c_u33,c
37、_u44,c_u55:std_logic;-電梯外人上升請(qǐng)求信號(hào)寄存信號(hào)signal c_d22,c_d33,c_d44,c_d55,c_d66:std_logic;-電梯外人下降請(qǐng)求信號(hào)寄存信號(hào)signal q:integer range 0 to 1;-分頻信號(hào)signal q1:integer range 0 to 6;-關(guān)門延時(shí)計(jì)數(shù)器 signal q2:integer range 0 to 9;-看門狗計(jì)數(shù)器signal dd,cc_u,cc_d,dd_cc:std_logic_vector(5 downto 0);-電梯外請(qǐng)求信號(hào)寄存器signal opendoor:std_log
38、ic;-開門使能信號(hào)signal updown:std_logic;-電梯運(yùn)動(dòng)方向信號(hào)寄存器signal en_up,en_dw:std_logic;-預(yù)備上升、預(yù)備下降預(yù)操作使能信號(hào)beginprocess(clk)begin。(進(jìn)程語(yǔ)句具體看附錄)end behav;4.2.3具體語(yǔ)句設(shè)計(jì)說(shuō)明上文已說(shuō)明了構(gòu)成VHDL程序的兩大部分實(shí)體和結(jié)構(gòu)體的相關(guān)語(yǔ)句。在這些語(yǔ)句里,賦值語(yǔ)句占了相當(dāng)一部分。在VHDL語(yǔ)言里,賦值符號(hào)一般都是“<=”符號(hào),具體形式如下:beginif clk'event and clk='1' then if clr='1' t
39、hen q1<=0;q2<=0;wahaha<='0'elsif full='1' then alarm<='1' q1<=0;if q1>=3 then door<="10"else door<="00"end if;。VHDL語(yǔ)言也具有與一般編程語(yǔ)言一樣的一些語(yǔ)句邏輯結(jié)構(gòu),如上述中的“ifthenelsifthen;”等。這是VHDL中的順序語(yǔ)句,與我們常見的C語(yǔ)言中的if作為條件語(yǔ)句不同。在結(jié)構(gòu)體中對(duì)電梯的運(yùn)行行為作出描述,其中電梯處于二樓五樓情況復(fù)雜些
40、,以下給出二樓情況的具體說(shuō)明。elsif g2='1' then led<="0010010" -電梯到達(dá)2樓,數(shù)碼管顯示2if updown='1' then -電梯前一運(yùn)動(dòng)狀態(tài)位上升 if d22='1' or c_u22='1' thend22<='0' c_u22<='0' opendoor<='1' -有當(dāng)前層的請(qǐng)求,則電梯進(jìn)入開門狀態(tài) elsif dd_cc>"00000011" then en_up&
41、lt;='1'en_dw<='0' opendoor<='0' -有上升請(qǐng)求,則電梯進(jìn)入預(yù)備上升狀態(tài) elsif dd_cc<"00000010" then en_dw<='1'en_up<='0' opendoor<='0'-有下降請(qǐng)求,則電梯進(jìn)入預(yù)備下降狀態(tài) end if; -電梯前一運(yùn)動(dòng)狀態(tài)為下降 elsif d22='1' or c_d22='1' thend22<='0' c_d2
42、2<='0'opendoor<='1' -有當(dāng)前層的請(qǐng)求,則電梯進(jìn)入開門狀態(tài)elsif dd_cc<"00000010" then en_dw<='1'en_up<='0' opendoor<='0' -有下降請(qǐng)求,則電梯進(jìn)入預(yù)備下降狀態(tài) elsif dd_cc>"00000011" thenen_up<='1'en_dw<='0' opendoor<='0' -有上升
43、請(qǐng)求,則電梯進(jìn)入預(yù)備上升狀態(tài) end if;在上述語(yǔ)句中的“elsif g2=1then led<=“0010010;”,led的賦值之所以為“0010010”是根據(jù)共陽(yáng)極七段數(shù)字顯示器的發(fā)光段排列的,如圖7所示??砂l(fā)光段a、b、c、e、g形成一個(gè)2字。以此類推,在一樓時(shí)led賦值為“100111”,三樓時(shí)為“0000110”,四樓時(shí)為在進(jìn)程執(zhí)行單元里,對(duì)電梯在樓層時(shí)的操作情況作出了描述,例如:開門、關(guān)門延時(shí)、超載報(bào)警、故障報(bào)警以與電梯的請(qǐng)求信號(hào)處理,具體說(shuō)明給出如下:process(clk)beginif clk'event and clk='1' then i
44、f clr='1' then q1<=0;q2<=0;wahaha<='0'-清除故障報(bào)警 elsif full='1' then alarm<='1' q1<=0;-超載報(bào)警if q1>=3 then door<="10" else door<="00"end if; elsif q=1 then q<=0;alarm<='0' if q2=3 then wahaha<='1' -故障報(bào)警 e
45、lse if opendoor='1' then door<="10"q1<=0;q2<=0;up<='0'down<='0'-開門操作 elsif en_up='1' then -上升預(yù)操作 if deng='1' then door<="10"q1<=0;q2<=q2+1;-關(guān)門中斷 elsif quick='1' then q1<=3;-提前關(guān)門 elsif q1=6 then door<=&q
46、uot;00"updown<='1'up<='1' -關(guān)門完畢,電梯進(jìn)入上升狀態(tài) elsif q1>=3 then door<="01"q1<=q1+1; -電梯進(jìn)入關(guān)門狀態(tài) else q1<=q1+1;door<="00" -電梯進(jìn)入等待狀態(tài) end if; elsif en_dw='1' then -下降預(yù)操作 if deng='1' then door<="10"q1<=0;q2<=q2+1; e
47、lsif quick='1' then q1<=3; elsif q1=6 then door<="00"updown<='0'down<='1' elsif q1>=3 then door<="01"q1<=q1+1; else q1<=q1+1;door<="00" end if; end if;。else q<=1;alarm<='0' -清除超載報(bào)警 if d1='1' then d
48、11<=d1; -對(duì)電梯人請(qǐng)求信號(hào)進(jìn)行檢測(cè)和寄存 elsif d2='1' then d22<=d2; elsif d3='1' then d33<=d3; elsif d4='1' then d44<=d4; elsif d5='1' then d55<=d5; elsif d6='1' then d66<=d6; end if; if c_u1='1' then c_u11<=c_u1; -對(duì)電梯外人上升請(qǐng)求信號(hào)進(jìn)行檢測(cè)和寄存elsif c_u2=
49、9;1' then c_u22<=c_u2; elsif c_u3='1' then c_u33<=c_u3; elsif c_u4='1' then c_u44<=c_u4; elsif c_u5='1' then c_u55<=c_u5; end if; if c_d2='1' then c_d22<=c_d2; -對(duì)電梯外人下降請(qǐng)求信號(hào)進(jìn)行檢測(cè)和寄存elsif c_d3='1' then c_d33<=c_d3; elsif c_d4='1' the
50、n c_d44<=c_d4; elsif c_d5='1' then c_d55<=c_d5; elsif c_d6='1' then c_d66<=c_d6;end if; dd<=d66&d55&d44&d33&d22&d11; -電梯人請(qǐng)求信號(hào)并置 cc_u<='0'&c_u55&c_u44&c_u33&c_u22&c_u11; -電梯外人上升請(qǐng)求信號(hào)并置 cc_d<=c_d66&c_d55&c_d44&
51、;c_d33&c_d22&'0' -電梯外人下降請(qǐng)求信號(hào)并置 dd_cc<=dd or cc_u or cc_d; -電梯、外人請(qǐng)求信號(hào)進(jìn)行綜合 end if; ud<=updown; -電梯運(yùn)動(dòng)狀態(tài)顯示 led_d<=dd; -電梯人請(qǐng)求信號(hào)顯示 led_c_u<=cc_u; -電梯外人上升請(qǐng)求信號(hào)顯示 led_c_d<=cc_d; -電梯外人下降請(qǐng)求信號(hào)顯示end if; 4.3 程序調(diào)試(1)建立好工作目錄,以便設(shè)計(jì)工程項(xiàng)目的存儲(chǔ),打開QuartusII軟件,其初始界面如圖8所示。(2)在工具欄中選擇“新建”按鈕。選擇“VHD
52、L File”,如圖9所示。(3) 在文本輸入界面進(jìn)行程序輸入,如圖10所示。(4) 輸入完畢后,需要對(duì)程序進(jìn)行保存。注意文件名和實(shí)體定義名必須保持一致,即dianti,文件后綴名為vhd。(5) 保存以后,對(duì)程序進(jìn)行編譯。在編譯前,需要把文件設(shè)置為頂層文件或工程文件Project。選擇菜單“Project”中的“Set as Top-Level Entity”。(6) 在“QuartusII”里選擇“Processing”下拉菜單中的“Start Compilation”,此時(shí),QuartusII軟件會(huì)對(duì)程序進(jìn)行糾錯(cuò)等處理。當(dāng)程序被確認(rèn)無(wú)誤后會(huì)出現(xiàn)如下界面,如圖11所示。編譯完成,程序調(diào)試結(jié)
53、束。5 程序仿真5.1建立波形輸入(1)編譯完成后,新建波形編輯器進(jìn)行設(shè)計(jì)仿真。選擇菜單“File” 中的“New”項(xiàng),在New窗口中選擇“Vector Waveform File”,單擊OK按鈕,即出現(xiàn)空白的波形編譯器(圖12)。(2)設(shè)置仿真時(shí)間區(qū)域,在“Edit”菜單中選擇“End Time”項(xiàng),在彈出窗口中設(shè)置,設(shè)置完后對(duì)文件進(jìn)行保存。同樣使用文件名dianti,后綴名則改為vwf。(3)將工程dianti的端口信號(hào)名選入波形編輯器中。方法是在編輯器左邊Name下的空白處右擊選擇“Insert Node Or Bus”項(xiàng),彈出對(duì)話框如圖13所示,在Node Filter框中選“Pins
54、:all”,單擊List按鈕,下方的Nodes Found 窗口中出現(xiàn)設(shè)計(jì)工程的所有端口引腳名。(5)創(chuàng)立輸入波形。從圖13左邊框中往右邊框加入需要的信號(hào)節(jié)點(diǎn),就可對(duì)輸入信號(hào)逐一賦值,便可對(duì)程序進(jìn)行仿真,觀察輸出信號(hào),得出結(jié)論。如對(duì)時(shí)鐘信賦于周期如下圖14所示。設(shè)置好的輸入波形如圖15所示。5.2電梯功能的實(shí)現(xiàn)與仿真5.2.1 仿真步驟(1)仿真器參數(shù)設(shè)置。選擇菜單“Assignment”中的“Settings”,在“Settings”窗口下選擇“Category”下的“Simulator”,右側(cè)設(shè)置如下圖16所示。(2)啟動(dòng)仿真器。現(xiàn)在所有設(shè)置進(jìn)行完畢,在菜單Processing項(xiàng)下選擇St
55、art Simulation,直到出現(xiàn)Simulation was successful,仿真結(jié)束。仿真結(jié)果如下圖17和圖18。5.2.2 電梯功能實(shí)現(xiàn)與仿真結(jié)果分析以下將以“電梯停在一樓時(shí),接受到請(qǐng)求信號(hào)c_d2、c_d3、c_u4和d6”為例,分析操作這些請(qǐng)求信號(hào)完成的過(guò)程,并在電梯運(yùn)行到四樓時(shí)對(duì)超載報(bào)警、提前關(guān)門、延時(shí)關(guān)門、故障報(bào)警進(jìn)行仿真分析。圖17 電梯控制程序仿真圖圖18電梯控制程序仿真局部放大圖1從上面兩個(gè)仿真圖可以看出:1. 電梯停在一樓時(shí),接受到請(qǐng)求信號(hào)c_d3、c_d2、c_u4和d6,并把請(qǐng)求信號(hào)寫入相應(yīng)的寄存器。led顯示電梯所在樓層;led_d、led-c_u和led_c_d顯示用戶的請(qǐng)求。2. 電梯經(jīng)過(guò)準(zhǔn)備上升狀態(tài)后,進(jìn)入上升狀態(tài),到達(dá)2樓,3樓時(shí),不停繼續(xù)前進(jìn)。3. 電梯上升到4樓時(shí),響應(yīng)請(qǐng)求(c_u4),開門載客;進(jìn)入預(yù)備上升狀態(tài)。圖19 電梯控制程序仿真局部放大圖2從上圖可以看出:1. 電梯上升到6樓時(shí),響應(yīng)請(qǐng)求(d_6),開門卸客;進(jìn)入預(yù)備下降狀態(tài)。2.電梯下降經(jīng)過(guò)5樓,4樓都不停,到達(dá)3樓
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 標(biāo)準(zhǔn)離婚合同全文
- 新能源汽車銷售代理合同
- 商品房買賣合同示例
- 畢業(yè)生檔案托管合同協(xié)議書
- 廣告投放合同「樣本」
- 多人合伙經(jīng)營(yíng)合同范例大全
- 屋頂防水修繕項(xiàng)目合同
- 戶外廣告LED大屏租賃合同
- 稻谷購(gòu)銷合同樣本
- 腎性貧血的治療課件
- 《英語(yǔ)史》課程教學(xué)大綱
- 智能鎖培訓(xùn)課程
- 小兒腸系膜淋巴結(jié)護(hù)理查房
- 【MOOC期末】《大學(xué)體育射箭》(東南大學(xué))中國(guó)大學(xué)慕課答案
- 2025年女職工權(quán)益保護(hù)法律知識(shí)競(jìng)賽題庫(kù)及答案(100題)
- 與國(guó)外客戶達(dá)成代理協(xié)議的合同協(xié)議模板中英文板
- VQ-100無(wú)人機(jī)手冊(cè)(一)
- 凈身出戶離婚協(xié)議書2025年
- 八省八校2025屆高三上學(xué)期12月聯(lián)合測(cè)評(píng)語(yǔ)文試題及參考答案
- 現(xiàn)代物流基礎(chǔ)習(xí)題+參考答案
- 科目三 贛州職業(yè)技術(shù)學(xué)院2024年單獨(dú)招生《職業(yè)適應(yīng)性測(cè)試》考試樣卷及答案(適用于“高中畢業(yè)生”)
評(píng)論
0/150
提交評(píng)論