新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于VHDL三層電梯控制器的設計

        基于VHDL三層電梯控制器的設計

        作者: 時間:2009-04-02 來源:網絡 收藏

        模塊(四):圖7所示的仿真,原先電梯停留在第一層,電梯外第三層有下降請求,電梯上升到三層,乘客進入電梯以后要求下降到一層,此時,二層有下降請求,接著又有上升請求,電梯首先在二層停留。然后下降到一層。隨后要響應二層上升請求,上升到二層,乘客進入電梯以后要求上升到三層,所以電梯最后的停留位置在三層。

        5 設計的擴展性
        在本設計中,因為考慮了擴展性,所以在信號定義的時候就使用了二進制的向量,而不是整數。在設計方法上也做了特殊的設計,所以使得擴展性較好。如果要實現n層電梯的控制,首先在端口的地方就要加入所有的按鍵,而指示燈只要把向量中的3改成n就可以了。同時需要在按鍵控制進程里加入其他按鍵觸發指示燈的語句。在電梯的升降狀態將3改成n,在電梯的開門狀態中將2改成n一1,在關門狀態,將position=3改成position=n,關鍵是修改position=2的部分,如果按照每層羅列,將十分煩瑣,所以得尋求各層判斷條件的共性,解決方法之一就是,新建一個全局向量one為std―logic―veoter(n downto 3)應改寫成0,然后和stoplight與fuplight向量比較,如果有更高層次的請求,那么stoplight或fuplight向量,如果stoplight和fuplight向量都小于one向量,表示沒有更高層次的內部上升請求,此時將fdnlight向量和one向量比較,如果大于,則表示高層有下降要求,電梯得上升。如果沒有任何請求信號,則電梯停止,否則電梯下降。如此就可以大大簡化程序,但是要注意的是one向量必須實時更新,以作為判斷依據,可以另外寫一個進程,用buttonclk來觸發。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 美姑县| 青神县| 卢龙县| 镇原县| 嘉义县| 应城市| 仁怀市| 鸡东县| 南昌县| 宜昌市| 永德县| 巍山| 如东县| 正镶白旗| 华池县| 汽车| 北宁市| 普宁市| 防城港市| 名山县| 石渠县| 临清市| 册亨县| 若尔盖县| 蒙自县| 峡江县| 山东| 岗巴县| 岳阳市| 建瓯市| 苏尼特右旗| 五大连池市| 镶黄旗| 甘洛县| 嵊州市| 道孚县| 丰镇市| 修武县| 临桂县| 西乡县| 博湖县|