• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的電梯控制器

      2019-10-08 06:52:16吳雪顏
      軟件 2019年4期
      關(guān)鍵詞:狀態(tài)機(jī)

      摘 ?要: 本文介紹了基于FPGA設(shè)計的一種四層電梯控制器,使用有限狀態(tài)機(jī)實現(xiàn),采用VHDL語言對其進(jìn)行描述,通過Quartus II 13.0軟件及ModelSim軟件進(jìn)行電路的綜合與仿真,驗證了此電梯控制器設(shè)計的正確性。

      關(guān)鍵詞: FPGA;電梯控制器;VHDL;狀態(tài)機(jī)

      中圖分類號: TP342+.3 ? ?文獻(xiàn)標(biāo)識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.04.041

      本文著錄格式:吳雪顏. 基于FPGA的電梯控制器[J]. 軟件,2019,40(4):190195

      【Abstract】: The paper introduces a four-layer elevator controller design based on FPGA, which is implemented by finite state machine and described by VHDL language. Carrying on synthesis and simulation of the circuit with Quartus II 13.0 and ModelSim software, verifies correctness of the elevator controller design.

      【Key words】: FPGA; Elevator controller; VHDL; State machine

      0 ?引言

      隨著我國城市化的發(fā)展,高層建筑不斷增多,電梯已經(jīng)進(jìn)入了人們的日常生產(chǎn)生活之中,作為具有足夠安全性的動力驅(qū)動升降裝置,電梯成為高層建筑中必不可少的垂直運輸交通工具[1]??删幊踢壿嬈骷ㄈ鏔PGA、CPLD)的廣泛應(yīng)用,使得電子系統(tǒng)的設(shè)計更加方便靈活,改變了傳統(tǒng)數(shù)字系統(tǒng)設(shè)計的方法,推動了EDA技術(shù)的發(fā)展[2]。本文中的電梯控制器利用現(xiàn)場可編程門陣列(FPGA)進(jìn)行設(shè)計,并進(jìn)行了仿真。

      1 ?EDA技術(shù)

      在計算機(jī)技術(shù)的推動下,20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,EDA(Electronics Design Automation)技術(shù)就是現(xiàn)代電子設(shè)計技術(shù)的核心。EDA技術(shù)依賴功能強(qiáng)大的計算機(jī),在EDA工具軟件平臺上,對以硬件描述語言HDL(Hardware Description Language)為系統(tǒng)邏輯描述手段完成的設(shè)計文件,自動的完成邏輯化簡、邏輯分割、邏輯綜合、結(jié)構(gòu)綜合(布局布線),以及邏輯優(yōu)化和仿真測試等功能,直至實現(xiàn)既定性能的電子線路系統(tǒng)功能[3]。

      可編程邏輯器件是通過EDA技術(shù)將電子應(yīng)用系統(tǒng)的既定功能和技術(shù)指標(biāo)具體實現(xiàn)的硬件載體,F(xiàn)PGA作為實現(xiàn)這一途徑的主流器件之一,具有直接面向用戶,靈活性和通用性極大,使用方便,硬件測試和實現(xiàn)快捷等特點[4]。

      硬件描述語言(HDL)是一種用來設(shè)計數(shù)字邏輯系統(tǒng)和描述數(shù)字電路的語言[5],常用的主要有VHDL、Verilog HDL、System Verilog和Symtem C。作為一種全方位的硬件描述語言,VHDL具有與具體硬件電路無關(guān)、與設(shè)計平臺無關(guān)的特性,具有寬范圍描述能力、不依賴于特定的器件、可將復(fù)雜控制邏輯的設(shè)計用嚴(yán)謹(jǐn)簡潔的代碼進(jìn)行描述等優(yōu)點,得到眾多EDA公司的支持,在電子設(shè)計領(lǐng)域得到了廣泛應(yīng)用[6]。

      有限狀態(tài)機(jī)(Finite-state machine, FSM),簡稱狀態(tài)機(jī),是表示有限個狀態(tài)以及在這些狀態(tài)之間進(jìn)行轉(zhuǎn)移和動作等行為的數(shù)學(xué)模型[7]。在許多方面,有限狀態(tài)機(jī)都有其難以超越的優(yōu)越性,主要表現(xiàn)在它作為高效的順序控制模型,容易利用現(xiàn)成的EDA工具進(jìn)行優(yōu)化設(shè)計,系統(tǒng)性能穩(wěn)定,具有高速性能和高可靠性能。有限狀態(tài)機(jī)廣泛應(yīng)用于數(shù)字系統(tǒng)、工業(yè)自動化、計算機(jī)系統(tǒng)等領(lǐng)域[8]。

      2 ?系統(tǒng)設(shè)計及仿真

      2.1 ?硬件原理

      四層電梯的硬件原理如圖1所示,包括兩臺電機(jī),一臺用于吊升電梯轎廂,一臺用于控制電梯門的開關(guān)。轎廂和對重分別連接在曳引繩兩端,轎廂作為運載乘客或貨物及其他載荷的箱體部件,對重則具有平衡轎廂載荷和減小電機(jī)功率的作用。

      2.2 ?輸入輸出端口信號

      根據(jù)圖1可以總結(jié)出電梯控制器的輸入輸出端口信息如表1所示,其中電梯轎廂位置信號(in_ cage_pos)和電梯門開閉位置信號(in_door_pos)實際中由傳感器采集得到(對電梯控制器來說是輸入信號)。但在本設(shè)計中為了簡化仿真激勵文件,這兩個信號由轎廂電機(jī)和門控電機(jī)的控制信號(out_cage_dir, out_cage_en, out_door_dir, out_ door_en)的生效時間直接生成(比如可以用100個clk時間電梯上行或下行1層的距離,用100個clk時間電梯門可從全開狀態(tài)關(guān)閉成全閉狀態(tài))[9]。因此這兩個信號可作為內(nèi)部信號,不體現(xiàn)在端口上。但為了仿真觀測方便,把生成的這兩個信號作為輸出,并將這兩個信號的名字改為了out_cage_pos和out_door_pos。

      2.3 ?內(nèi)部信號設(shè)置

      首先,12個按鍵的請求狀態(tài)端口信號,以及 out_door_pos、out_cage_pos、out_cage_dir、out_ cage_en、out_door_dir、out_door_en 端口信號,這18個端口的方向是輸出的,由于程序內(nèi)部需要對這些信號進(jìn)行讀取,因此為他們設(shè)置內(nèi)部信號;其次開門狀態(tài)持續(xù)一定的時間后需要自動關(guān)門,這需要一個定時計數(shù)器信號。內(nèi)部信號設(shè)置如表2所示。

      2.4 ?進(jìn)程分類

      (1)號進(jìn)程為分頻時鐘產(chǎn)生進(jìn)程,當(dāng)檢測到由外部提供的時鐘信號時,則產(chǎn)生由FPGA內(nèi)部的PLL鎖相環(huán)進(jìn)行分頻處理,從而產(chǎn)生分頻時鐘信號[10]。

      (2)號進(jìn)程為door_pos,cage_pos產(chǎn)生進(jìn)程,用來產(chǎn)生轎廂的位置信息和電梯門開關(guān)的位置信息。如果復(fù)位信號rst有效,則電梯門復(fù)位至全關(guān)閉狀態(tài),轎廂初始在一層。

      如果電梯門在運動且門在關(guān)閉中,若門原本是全關(guān)閉狀態(tài)則繼續(xù)全關(guān)閉狀態(tài),否則門關(guān)閉;若門原本是全開狀態(tài)則繼續(xù)保持全開狀態(tài),否則門慢慢打開。

      如果轎廂在運動且轎廂下行,若轎廂原本在一層則繼續(xù)保持在一層,否則轎廂向下運動,若轎廂原本在四層則繼續(xù)保持在四層,否則轎廂向上運動。

      (3)號進(jìn)程為doortimer定時進(jìn)程,用于計算電梯門的等待時間。如果復(fù)位信號rst有效,則電梯門等待時間清零重新計數(shù)。

      如果門不處于全開狀態(tài),則電梯門等待時間清零重新計數(shù)。

      如果門處于全開狀態(tài),若轎廂內(nèi)按了開門按鍵,則電梯門等待時間清零重新計數(shù);若電梯門等待時間沒到限制的時間,那么繼續(xù)等待,計數(shù)累加;否則給等待計時器到達(dá)時間的標(biāo)志。

      (4)號進(jìn)程為12個按鈕請求生效和失效處理進(jìn)程,用于樓層的上下樓按鍵、轎廂內(nèi)的開關(guān)門按鍵、轎廂內(nèi)的樓層按鍵的生效和失效處理。如果復(fù)位信號rst有效,則12個按鍵請求初始不作用,為失效狀態(tài)。

      樓層的上下樓按鍵:

      若一層按上行,則一層上行請求生效,直到電梯在一層門全開狀態(tài),一層上行請求失效;

      若二層按上行,則二層上行請求生效,直到電梯在二層門全開狀態(tài),二層上行請求失效;

      若二層按下行,則二層下行請求生效,直到電梯在二層門全開狀態(tài),二層下行請求失效;

      若三層按上行,則三層上行請求生效,直到電梯在三層門全開狀態(tài),三層上行請求失效;

      若三層按下行,則三層下行請求生效,直到電梯在三層門全開狀態(tài),三層下行請求失效;

      若四層按下行,則四層下行請求生效,直到電梯在四層門全開狀態(tài),四層下行請求失效。

      轎廂內(nèi)的開關(guān)門按鍵:

      如果電梯停在任意一層按轎廂內(nèi)的開門按鍵,則開門請求生效,否則電梯門處于全打開狀態(tài),開門請求失效;

      如果電梯停在任意一層按轎廂內(nèi)的關(guān)門按鍵或電梯門等待時間到達(dá),則關(guān)門請求生效,否則門全關(guān)或開門請求生效,關(guān)門請求失效。

      轎廂內(nèi)的樓層按鍵:

      若轎廂內(nèi)按一層,轎廂內(nèi)一層指示按鍵生效,當(dāng)電梯停在一層門全開,轎廂內(nèi)一層指示按鍵失效;

      若轎廂內(nèi)按二層,轎廂內(nèi)二層指示按鍵生效,當(dāng)電梯停在二層門全開,轎廂內(nèi)二層指示按鍵失效;

      若轎廂內(nèi)按三層,轎廂內(nèi)三層指示按鍵生效,當(dāng)電梯停在三層門全開,轎廂內(nèi)三層指示按鍵失效;

      若轎廂內(nèi)按四層,轎廂內(nèi)四層指示按鍵生效,當(dāng)電梯停在四層門全開,轎廂內(nèi)四層指示按鍵失效。

      (5)號進(jìn)程為樓層顯示進(jìn)程,用于樓層的顯 ?示器的顯示控制。如果復(fù)位信號rst有效,則樓層顯示‘1。

      若轎廂位置在一層,樓層顯示‘1;

      若轎廂位置在二層,樓層顯示‘2;

      若轎廂位置在三層,樓層顯示‘3;

      若轎廂位置在四層,樓層顯示‘4。

      (其中用7位段選碼控制顯示數(shù)碼管數(shù)字“gfedcba”)

      (6)號進(jìn)程為運動控制進(jìn)程,用于產(chǎn)生cage_dir, cage_on,door_dir,door_en等運動控制的信號,確定電梯門和轎廂的運動狀態(tài)。如果復(fù)位信號rst有效,則運動狀態(tài)初始化。

      如果轎廂不運動:

      若轎廂在一層、電梯門不運動且門全關(guān)閉,當(dāng)一層按上行或轎廂內(nèi)按開門或轎廂內(nèi)按一層時門打開,當(dāng)二層按上行或下行、三層按上行或下行、四層按下行或轎廂內(nèi)按二、三、四層時轎廂上行;若門為全開狀態(tài),當(dāng)轎廂內(nèi)按關(guān)時門關(guān)閉。

      若轎廂在二層、電梯門不運動且門全關(guān)閉,當(dāng)二層按上行或下行、轎廂內(nèi)按開門或轎廂內(nèi)按二層時門打開,當(dāng)三層按上行或下行、四層按下行、轎廂內(nèi)按三層或四層時轎廂上行,當(dāng)一層按上行或轎廂內(nèi)按一層時轎廂下行;若門為全開狀態(tài),當(dāng)轎廂內(nèi)按關(guān)時門關(guān)閉。

      若轎廂在三層、電梯門不運動且門全關(guān)閉,當(dāng)三層按上行或下行、轎廂內(nèi)按開門或轎廂內(nèi)按三層時門打開,當(dāng)四層按下行或轎廂內(nèi)按四層時,轎廂上行,當(dāng)一層按上行、二層按上行或下行、轎廂內(nèi)按一層或二層時,轎廂下行;若門為全開狀態(tài),當(dāng)轎廂內(nèi)按關(guān)時門關(guān)閉。

      若轎廂在四層、電梯門不運動且門全關(guān)閉,當(dāng)四層按下行、轎廂內(nèi)按開門或按四層時門打開,當(dāng)一層按上行、二層按上行或下行、三層按上行或下行、轎廂內(nèi)按一層或二層或三層時轎廂下行;若門為全開狀態(tài),當(dāng)轎廂內(nèi)按關(guān)時門關(guān)閉。

      當(dāng)轎廂在任意一層且電梯門運動,如果門打開中,當(dāng)門的位置全開后門停止運動;如果門關(guān)閉中,當(dāng)轎廂內(nèi)按開門時門打開,當(dāng)門的位置到全關(guān)閉狀態(tài)后停止。

      如果轎廂上行時:

      若轎廂上行到一層,當(dāng)一層按上行或轎廂內(nèi)按一層時,轎廂停止運動。

      若轎廂上行到二層,當(dāng)二層按上行或轎廂內(nèi)按二層時,轎廂停止運動;當(dāng)二層按下行并且轎廂內(nèi)沒有按三層或四層、三層沒有按上行或下行、四層沒有按下行時,轎廂也停止運動。

      若轎廂上行到三層,當(dāng)三層按上行或轎廂內(nèi)按三層時,轎廂停止運動;當(dāng)三層按下行并且四層沒有按下行、轎廂內(nèi)沒有按四層時,轎廂也停止運動。

      若轎廂上行到四層,轎廂停止運動。

      如果轎廂下行時:

      若轎廂下行到一層,轎廂停止運動。

      若轎廂下行到二層,當(dāng)二層按下行或轎廂內(nèi)按二層時,轎廂停止運動;當(dāng)二層按上行并且一層沒有按上行、轎廂內(nèi)沒有按一層時,轎廂也停止運動。

      若轎廂下行到三層,當(dāng)三層按下行或轎廂內(nèi)按三層時,轎廂停止運動;當(dāng)三層按上行并且一層沒有按上行、二層沒有按上行或下行、轎廂內(nèi)沒有按一層或二層時,轎廂也停止運動。

      若轎廂下行到四層,轎廂停止運動;當(dāng)四層按下行、轎廂內(nèi)按四層時,轎廂也停止運動。

      2.5 ?仿真結(jié)果

      在Quartus II 13.0軟件開發(fā)環(huán)境下,運用ModelSim軟件進(jìn)行如下過程仿真:電梯開始時在1層處于停止?fàn)顟B(tài),一段時間后有人A在1層按下上升請求按鈕,電梯門打開,人A進(jìn)入后按下去4層的按鈕,門延時自動關(guān)閉后開始上行,上行過程中有人B在3層按下上升請求按鈕,電梯到達(dá)3層后停止,自動開門,人B進(jìn)入后按下手動關(guān)門按鈕,但門還沒關(guān)上時發(fā)現(xiàn)人C從遠(yuǎn)處跑來要乘電梯,于是按住手動開門按鈕等待人C,人C進(jìn)來后人B松開手動開門按鈕,電梯自動關(guān)門,上行至4層,電梯自動開門,延時一段時間后自動關(guān)門并停在4層。得到仿真波形如圖2所示。

      3 ?結(jié)論

      本文基于FPGA設(shè)計了一種四層電梯控制器,使用有限狀態(tài)機(jī)實現(xiàn),詳細(xì)介紹了電梯控制器系統(tǒng)的信號設(shè)置及進(jìn)程分類,由仿真波形可以看出本設(shè)計實現(xiàn)了四層電梯控制器的功能。同時此電梯控制器采用FPGA進(jìn)行設(shè)計,性能穩(wěn)定,具有高可靠性。

      參考文獻(xiàn)

      [1] 任曉峰. 大樣本檢驗數(shù)據(jù)對電梯風(fēng)險評估的應(yīng)用[J]. 電子元器件與信息技術(shù), 2018(07): 22-24+28.

      [2] 郭霞, 楊拴科, 張安莉, 等. 《模擬電子技術(shù)實用教程》教材建設(shè)與實踐[J]. 電子測試, 2018(24): 107-108+123.

      [3] 李文. 基于蟻群算法的電梯群控系統(tǒng)控制器設(shè)計[J]. 西昌學(xué)院學(xué)報(自然科學(xué)版), 2017, 31(04): 43-46.

      [4] 羅建, 姜玲. 智能電梯控制系統(tǒng)優(yōu)化設(shè)計[J]. 科學(xué)咨詢(科技·管理), 2018(01): 45+47.

      [5] 馮建文. 有限狀態(tài)機(jī)在FPGA硬件實驗中的應(yīng)用[J]. 實驗室研究與探索, 2017, 36(06): 138-141.

      [6] 蔡景新. 電梯管理對電梯運行質(zhì)量積極影響研究[J]. 新型工業(yè)化, 2018, 8(03): 47-51.

      [7] 李鵬, 楊保亮, 胡勤國, 等. 基于可編程控制器的群控電梯模型設(shè)計與實現(xiàn)[J]. 重慶文理學(xué)院學(xué)報, 2015, 34(05): 76-80.

      [8] 孫宏旭, 邢薇, 陶林. 基于有限狀態(tài)機(jī)的模型轉(zhuǎn)換方法的研究[J]. 計算機(jī)技術(shù)與發(fā)展, 2012, 22(02): 10-13+17.

      [9] 蘭夏燕, 萬舟, 許有才, 等. 基于SVD優(yōu)化EMD的電梯導(dǎo)靴振動信號故障 特征提取[J]. 軟件, 2017, 38(08): 25-31.

      [10] 羅杰, 康華光. 兩種硬件描述語言VHDL/Verilog的發(fā)展及其應(yīng)用[J]. 電氣電子教學(xué)學(xué)報, 2002(04): 1-5.

      猜你喜歡
      狀態(tài)機(jī)
      基于有限狀態(tài)機(jī)的交會對接飛行任務(wù)規(guī)劃方法
      基于狀態(tài)機(jī)比對的狀態(tài)機(jī)推斷方案
      江蘇通信(2015年5期)2015-03-16 01:16:51
      雙口RAM讀寫正確性自動測試的有限狀態(tài)機(jī)控制器設(shè)計方法
      FPGA設(shè)計中狀態(tài)機(jī)安全性研究
      基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計
      基于VHDL的一個簡單Mealy狀態(tài)機(jī)
      青海省| 友谊县| 江北区| 手游| 日喀则市| 黎城县| 宜丰县| 通海县| 彰化市| 阿尔山市| 寻乌县| 正宁县| 连南| 黔南| 尚志市| 休宁县| 周宁县| 尼玛县| 瓮安县| 保山市| 浦城县| 乐陵市| 武鸣县| 渭源县| 清流县| 肇东市| 方山县| 屏东县| 南江县| 兰溪市| 吕梁市| 安化县| 凤冈县| 颍上县| 西贡区| 应城市| 辉县市| 岳西县| 耿马| 郓城县| 繁峙县|