關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 一種可擴展的三層電梯控制器的實現

        一種可擴展的三層電梯控制器的實現

        作者: 時間:2011-08-28 來源:網絡 收藏
        3.2 三層的結構體設計

        本文引用地址:http://www.104case.com/article/161529.htm

          首先說明一下狀態。狀態機設置了lO個狀態,分別是停留在l層(stoponl)、開門(dooropen)、關門(doorclose)、開門等待第1秒(doorwaitl)、開門等待第2秒(doorwait2)、開門等待第3秒(doorwait3)、開門等待第4秒(doorwait4)、上升(up)、下降(down)和停止(stop)。在實體說明定義完端口之后,在結構體architecture和begin之間需要有如下的定義語句,來定義狀態機。

          TYPE lift_state IS

          (stoponl,dooropen,doorclose,doorwaitl,doorwait2,doorwai t3,door。wai t4,up,down,s top):

          SIGNAL mylift:lift_state:

          在結構體中,設計了倆個進程互相配合,一個是狀態機進程作為主要進程,另外一個是信號燈控制進程作為輔助進程。狀態機進程中的很多判斷條件是以信號燈進程產生的信號燈信號為依據的,而信號燈進程中信號燈的熄滅又是由狀態機進程中傳出的clearup和cleardn信號來控制。

          在狀態機進程中,在的上升狀態中,通過對信號燈的判斷,決定下一個狀態是繼續上升還是停止;在電梯下降狀態中,也是通過對信號燈的判斷,決定下一個狀態是繼續下降還是停止;在電梯停止狀態中,判斷是最復雜的,通過對信號的判斷,決定電梯是上升、下降還是停止。

          在信號燈控制進程中,由于使用了專門的頻率較高的按鍵時鐘,所以使得按鍵的靈敏度增大,但是時鐘頻率不能過高,否則容易使按鍵過于靈敏。按鍵后產生的點亮的信號燈(邏輯值為‘1’)用于作為狀態機進程中的判斷條件,而clearup和cleardn信號為邏輯‘l’使得相應的信號燈熄滅。

          3.3 三層電梯VHDL設計

          三層電梯的VHDL描述模塊流程如圖2所示。三層電梯控制器的源代碼(見附錄)可知:

          

        三層電梯控制器的VHDL描述模塊流程

          (1)本程序設計調用了IEEE庫,IEEE庫是VHDL設計中最為常用的庫,它包含有IEEE標準的程序包和其他一些支持工業標準的程序包。本設計采用了STD_LOGIC_1164、STD_LOGIC_ARITH、STD_LOGIC_UNSIGNED程序包。

          (2)以關鍵詞ENTITY引導,END ENTITY threeflift結尾的語句部分,稱為實體。VHDL的實體描述了電路器件的外部情況及各信號端口的基本性質。本設計定義了關于三層電梯控制器用到的各類時鐘、異步復位按鍵、信號燈指示、電梯的請求。端口模式主要就是IN、BUFFER、OUT端口。及定義了各端口信號的數據類型,主要是STD_LOGIC(標準邏輯位數據類型)、INTEGER(整數類型)、STD_LOGIC_VECTOR(標準邏輯矢量數據類型)。這些都滿足上面調用的IEEE庫中的程序包。

          (3)以關鍵詞ARCHITECTURE引導,END ARCHITECTUREa結尾的語句部分,稱為結構體。結構體負責描述電路器件的內部邏輯功能或電路結構。本設計定義了lO個狀態。描述了在三層電梯中出現的各種可能的情況作為控制電梯的主要進程。信號燈控制作為輔助進程。

          3.4 三層電梯控制器的模塊

          

        三層電梯控制器的模塊


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 静安区| 焉耆| 新乐市| 内黄县| 谢通门县| 韶关市| 襄樊市| 平顶山市| 关岭| 伊宁县| 南江县| 兴安县| 苏州市| 鄯善县| 凤山县| 大石桥市| 盐源县| 长春市| 望谟县| 邢台市| 内黄县| 凤冈县| 沙田区| 灌云县| 崇仁县| 遵义市| 禄丰县| 水富县| 威远县| 镇巴县| 格尔木市| 白银市| 禄丰县| 夹江县| 岳阳市| 双辽市| 敦煌市| 梁平县| 靖安县| 昌黎县| 开江县|